@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Playfair+Display:ital,wght@0,400..900;1,400..900&display=swap');

* {

    padding: 0;

    margin: 0;

    list-style: none;

    text-decoration: none;

    font-weight: normal;

    outline: none;

}

::placeholder {

    opacity: 1;

}

.centro {

    width: 100%;

    margin: 0 auto;

}

body {

    background-color: #f5f5f5;

    max-width: 1920px;

    margin: 0 auto;

    font-family: Arial, Helvetica, sans-serif;

    font-size: 11px;

}

header {

    max-width: 1920px;

    width: 100%;

    position: relative;

    z-index: 9999;

    position: fixed;

}

.mask_img {

    display: flex;

    align-items: center;

    justify-content: center;

    position: relative;

    overflow: hidden;

    z-index: 1;

}

.mask_img img {

    display: block;

    max-width: 100%;

    z-index: 1;

    position: relative;

    width: 100%;

    height: inherit;

    object-fit: cover;

}

header.ativo {

    background-color: #6f081f;

}

header .centro {

    display: flex;

    flex-direction: row;

    align-items: center;

    max-width: 1520px;

    padding: 25px 0;

}

header.ativo .centro {

    padding: 20px 0;

}

header .logo a {

    background: url(../imagens/logo.png) center no-repeat;

    background-size: contain !important;

    width: 100px;

    height: 102px;

    text-indent: -9999px;

    display: inline-block;

}

header.ativo .logo a {

    background: url(../imagens/logo_ativo.png) center no-repeat;

    width: 55px;

    height: 67px;

}

header nav {

    display: flex;

    flex-direction: row;

    column-gap: 64px;

    margin-left: auto;

    margin-right: 183px;

}

header nav a {

    font-family: "Montserrat", serif;

    font-weight: 400;

    font-size: 15px;

    color: #ffffff;

    text-transform: uppercase;

    display: flex;

    flex-direction: column;

    width: fit-content;

}

header nav a.selected {

    font-weight: 600;

}

header nav a.selected span {

    background-color: #ffffff;

    display: flex;

    width: 50%;

    height: 1.8px;

    margin: 0 auto;

    margin-top: 3px;

}

header .bt_menu_mobile {

    background: url(../imagens/bt_menu.png) center no-repeat;

    background-size: contain;

    width: 37px;

    height: 26px;

    text-indent: -9999px;

    cursor: pointer;

}

#banner .mask_img {

    width: 100%;

    height: 100vh;

}

#banner .sombra_banner,

#franqueado .sombra_banner {

    background: url(../imagens/sombra1_banner.png) center top no-repeat, url(../imagens/sombra2_banner.png) center no-repeat, rgba(152, 62, 65, 0.05);

    position: absolute;

    top: 0;

    left: 0;

    z-index: 3;

    display: flex;

    width: 100%;

    height: 100%;

}

#banner .conteudo,

#franqueado .conteudo {

    display: flex;

    flex-direction: column;

    align-items: center;

    width: 800px;

    position: absolute;

    left: 50%;

    transform: translateX(-50%);

    bottom: 81px;

    z-index: 4;

}

#banner .conteudo .simbolo1 {

    background: url(../imagens/simbolo.png) center no-repeat;

    background-size: contain;

    display: flex;

    width: 265px;

    height: 321px;

}

#banner h2 {

    font-family: "Playfair Display", serif;

    font-weight: 500;

    font-size: 57px;

    line-height: 68px;

    color: #ffffff;

    text-align: center;

    margin-top: 36px;

}

#banner p {

    font-family: "Montserrat", serif;

    font-weight: 400;

    font-size: 20px;

    line-height: 28px;

    color: #ffffff;

    text-align: center;

    text-transform: uppercase;

    margin-top: 14px;

}

#banner .conteudo .simbolo2 {

    background: url(../imagens/simbolo2.png) center no-repeat;

    background-size: contain;

    display: flex;

    width: 265px;

    height: 50px;

    margin-top: 34px;

}

#reserva {

    position: relative;

    margin-top: 65px;

}

.cores {

    display: grid;

    grid-template-columns: 34% 1fr;

    width: 100%;

    height: 100%;

    position: absolute;

    top: 0;

    left: 0;

    z-index: -1;

}

.cores .claro {

    background-color: #f5f5f5;

}

.cores .escuro {

    background-color: #6f081f;

}

#reserva .centro {

    max-width: 1450px;

    display: grid;

    grid-template-columns: 618px 1fr;

    align-items: center;

    column-gap: 138px;

    padding: 45px 0;

}

#pag_quem_somos #reserva .centro {
    margin-bottom: 73px;
}

#reserva .mask_img {

    width: 100%;

    height: 273px;

}

#reserva .direita {

    max-width: 500px;

}

#reserva h2,

#cardapio h2,

#historia h2,

#conteudo_cardapio h2 {

    font-family: "Playfair Display", serif;

    font-weight: 500;

    font-size: 45px;

    line-height: 52px;

    color: #ffffff;

}

#reserva p,

#cardapio p,

#historia p,

#conteudo_cardapio p:not(#conteudo_cardapio .rodizio p, #conteudo_cardapio .a_la_carte p) {

    font-family: "Montserrat", serif;

    font-weight: 300;

    font-size: 20px;

    line-height: 28px;

    color: #ffffff;

    margin-top: 24px;

}

.bt_padrao {

    background: url(../imagens/seta_bt_padrao.png) center right 19px no-repeat;

    background-size: 18px;

    display: flex;

    align-items: center;

    width: fit-content;

    height: 50px;

    padding-left: 19px;

    padding-right: 53px;

    border: 1px solid #ffffff;

    box-sizing: border-box;

    font-family: "Montserrat", serif;

    font-weight: 400;

    font-size: 15px;

    color: #ffffff;

    text-transform: uppercase;

    margin-top: 29px;

}

#cardapio .centro {

    max-width: 1080px;

    padding-top: 77px;

    padding-bottom: 73px;

}

#cardapio h2,

#conteudo_cardapio h2 {

    color: #2c2c2c;

    text-align: center;

}

#cardapio p,

#conteudo_cardapio p:not(#conteudo_cardapio .rodizio p, #conteudo_cardapio .a_la_carte p) {

    font-size: 19px;

    color: #2c2c2c;

    text-align: center;

    max-width: 550px;

    margin: 0 auto;

    margin-top: 18px;

}

.listagem_cardapio {

    display: grid;

    grid-template-columns: 1fr;

    gap: 30px;

    margin-top: 48px;

}

.listagem_cardapio .mask_img {

    width: 100%;

    height: 450px;

}

.listagem_cardapio .mask_img article {

    background: url(../imagens/sombra_cardapio.png) center bottom no-repeat;
    background-size: cover;
    display: flex;

    flex-direction: column;

    justify-content: flex-end;

    width: 100%;

    height: 100%;

    padding-bottom: 38px;

    box-sizing: border-box;

    position: absolute;

    top: 0;

    left: 0;

    z-index: 3;

}

.listagem_cardapio .mask_img article h3 {

    font-family: "Playfair Display", serif;

    font-weight: 500;

    font-size: 22px;

    color: #ffffff;

    text-align: center;

}

.listagem_cardapio .mask_img article .linha {

    background-color: #e8a57b;

    display: flex;

    width: 100px;

    height: 2px;

    margin: 0 auto;

    margin-top: 17px;

}

#historia {

    position: relative;

}

#historia .centro {

    max-width: 1520px;

    display: grid;

    grid-template-columns: 1fr 522px;

    align-items: center;

    column-gap: 150px;

}

#historia .cores {

    grid-template-columns: 70% 1fr;

}

#historia .esquerda {

    padding-left: 327px;

}

#historia .mask_img {

    width: 100%;

    height: 550px;

    margin-top: 70px;

    margin-bottom: -100px;

}

footer {

    background-color: #343434;

    margin-top: 178px;

}

footer .centro {

    max-width: 1450px;

}

footer .top {

    display: grid;

    grid-template-columns: 300px 200px 350px 1fr;

    column-gap: 100px;

    padding-top: 50px;

    padding-bottom: 56px;

    border-bottom: 2px solid #6f6f6f;

}

footer .logo {

    background: url(../imagens/simbolo.png) center no-repeat;

    background-size: contain;

    width: 81px;

    height: 100px;

    margin-bottom: 15px;

}

footer .top h3 {

    font-family: "Playfair Display", serif;

    font-weight: 500;

    font-size: 20px;

    color: #ffffff;

    margin-top: 7px;

}

footer .sociais {

    display: flex;

    flex-direction: row;

    column-gap: 8px;

    margin-top: 17px;

}

footer .sociais a {

    display: flex;

    width: 32px;

    height: 32px;

    background-size: contain !important;

}

footer .sociais .facebook {

    background: url(../imagens/icon_face.png) center no-repeat;

}

footer .sociais .instagram {

    background: url(../imagens/icon_insta.png) center no-repeat;

}

footer nav {

    display: flex;

    flex-direction: column;

    row-gap: 12px;

    margin-top: 18px;

}

footer nav a,

footer nav p {

    font-family: "Montserrat", serif;

    font-weight: 300;

    font-size: 16px;

    line-height: 22px;

    color: #ffffff;

}

footer .mapa_site nav a {

    max-width: 150px;

}

footer .endereco nav a {

    max-width: 300px;

}

footer .bottom {

    padding: 18px 0;

}

footer .bottom h3, footer .bottom h3 a {

    font-family: "Montserrat", serif;

    font-weight: 300;

    font-size: 16px;

    color: #ffffff;

    text-align: center;

}

footer .bottom h3 a {

    text-decoration: underline;

}

#conteudo_historia .cores {

    grid-template-columns: 1fr;

    height: 420px;

}

#conteudo_historia .centro {

    max-width: 1080px;

    display: flex;

    flex-direction: column;

    row-gap: 60px;

    padding-top: 188px;

}

#conteudo_historia .top {

    display: grid;

    grid-template-columns: 575px 1fr;

    column-gap: 47px;

}

#conteudo_historia .top .mask_img {

    width: calc(100% + 35px);

    height: 610px;

    margin-left: -35px;

}

#conteudo_historia .top article {

    padding-top: 120px;

    margin-right: -35px;

}

#conteudo_historia .meio {

    display: grid;

    grid-template-columns: 1fr 482px;

    align-items: center;

    column-gap: 47px;

}

#conteudo_historia .meio .mask_img {

    width: 100%;

    height: 372px;

}

#conteudo_historia .bottom {

    display: grid;

    grid-template-columns: 540px 1fr;

    align-items: center;

    column-gap: 47px;

}

#conteudo_historia .bottom .mask_img {

    width: 100%;

    height: 396px;

}

#conteudo_historia h2 {

    font-family: "Playfair Display", serif;

    font-weight: 500;

    font-size: 55px;

    line-height: 62px;

    color: #ffffff;

}

#conteudo_historia p {

    font-family: "Montserrat", serif;

    font-weight: 300;

    font-size: 19px;

    line-height: 30px;

    color: #2c2c2c;

}

#conteudo_historia .top p {

    font-weight: 400;

    font-size: 20px;

    margin-top: 92px;

}

#pag_quem_somos #reserva {

    margin-top: 78px;

}

#pag_quem_somos footer {

    margin-top: 15px;

}

#pag_cardapio header {

    background-color: #6f081f;

}

#conteudo_cardapio .centro {

    max-width: 1080px;

    padding-top: 191px;

}

#conteudo_cardapio .rodizio {

    display: grid;

    grid-template-columns: 525px 1fr;

    align-items: center;

    column-gap: 50px;

    margin-top: 48px;

}

#conteudo_cardapio .a_la_carte {

    display: grid;

    grid-template-columns: 1fr 525px;

    align-items: center;

    column-gap: 50px;

    margin-top: 63px;

}

#conteudo_cardapio h3 {

    font-family: "Playfair Display", serif;

    font-weight: 500;

    font-size: 22px;

    color: #2c2c2c;

}

#conteudo_cardapio h4 {

    font-family: "Playfair Display", serif;

    font-weight: 400;

    font-size: 16px;

    color: #2c2c2c;

    margin-top: 2px;

}

#conteudo_cardapio .linha {

    background-color: #e8a57b;

    display: flex;

    width: 100px;

    height: 2px;

    margin-top: 13px;

    margin-bottom: 22px;

}

#conteudo_cardapio .rodizio p,

#conteudo_cardapio .a_la_carte p {

    font-family: "Montserrat", serif;

    font-weight: 300;

    font-size: 17px;

    line-height: 28px;

    color: #2c2c2c;

}

#conteudo_cardapio p strong {

    font-weight: 500;

}

#conteudo_cardapio .imagens {

    display: grid;

    grid-auto-rows: 430px;

    gap: 13px;

}

#conteudo_cardapio .imagens .mask_img {

    width: 100%;

    height: 100%;

}

#conteudo_cardapio .rodizio .imagens {

    grid-auto-rows: 450px;

}

#pag_cardapio footer {

    margin-top: 65px;

}

#pag_reserva header {

    background-color: #343434 !important;

}

#pag_reserva main {

    padding-top: 200px;

}

#pag_reserva #reserva {

    margin-top: 0;

}

#pag_reserva #reserva .mask_img {

    height: 768px;

}

#pag_reserva #reserva .centro {

    grid-template-columns: 699px 1fr;

    column-gap: 57px;

}

#pag_reserva #reserva .direita {

    max-width: unset;

}

#reserva .valor {

    display: flex;

    flex-direction: row;

    align-items: center;

    margin-top: 52px;

}

#reserva .valor h3,

#reserva .valor h3 b {

    font-family: "Montserrat", serif;

    font-weight: 600;

    font-size: 20px;

    line-height: 28px;

    color: #ffffff;

    margin-bottom: 16px;

}

#reserva .valor h3 b {

    font-size: 40px;

}

#reserva .valor p {

    font-size: 18px;

    margin-top: -3px;

}

#reserva .valor p b {

    font-family: "Montserrat", serif;

    font-weight: 500;

    font-size: 18px;

    line-height: 28px;

    color: #ffffff;

}

#reserva .valor .bt_padrao {

    background: #ffffff url(../imagens/seta_vermelha.png) center right 19px no-repeat;

    background-size: 18px;

    color: #6f081f;

    margin-top: 0;

}

#reserva .pagamento {

    background: url(../imagens/cadeado.png) center left no-repeat;

    background-size: 37px;

    display: flex;

    align-items: center;

    height: 45px;

    padding-left: 55px;

    font-size: 18px;

    margin-top: 32px;

}

#pag_reserva footer {

    margin-top: 50px;

}

#franqueado .mask_img:not(#franqueado .listagem_imagens .mask_img) {

    background-color: #000000;

    width: 100%;

    height: 838px;

}

#franqueado .mask_img img:not(#franqueado .listagem_imagens .mask_img img) {

    opacity: 0.6;

}

#franqueado .conteudo {

    background-color: #6f081f;

    display: grid;

    grid-template-columns: 50% 1fr;

    column-gap: 106px;

    width: 100%;

    max-width: 1450px;

    padding: 48px;

    box-sizing: border-box;

    bottom: 78px;

}

#franqueado h2 {

    font-family: "Playfair Display", serif;

    font-weight: 500;

    font-size: 45px;

    color: #ffffff;

    margin-bottom: 50px;

}

#franqueado p,

#franqueado p b {

    font-family: "Montserrat", serif;

    font-weight: 300;

    font-size: 19px;

    line-height: 28px;

    color: #ffffff;

    margin-top: 24px;

}

#franqueado p b {

    font-weight: 500;

}

#franqueado form {

    background-color: #ffffff;

    display: flex;

    flex-direction: column;

    row-gap: 11px;

    padding: 35px;

}

#franqueado form label {

    display: flex;

    flex-direction: column;

    row-gap: 3px;

    font-family: "Montserrat", serif;

    font-weight: 400;

    font-size: 15px;

    line-height: 20px;

    color: #3c3c3c;

}

#franqueado form input {

    background-color: #f0f0f0;

    display: flex;

    width: 100%;

    height: 45px;

    border: none;

    font-family: "Montserrat", serif;

    font-weight: 400;

    font-size: 15px;

    line-height: 20px;

    color: #3c3c3c;

    text-indent: 18px;

}

#franqueado form button[type="submit"] {

    background-color: #6f081f;

    display: flex;

    align-items: center;

    justify-content: center;

    border: none;

    width: 100%;

    height: 50px;

    font-family: "Montserrat", serif;

    font-weight: 500;

    font-size: 16px;

    color: #ffffff;

    text-transform: uppercase;

    cursor: pointer;

    margin-top: 8px;

}

#franqueado .listagem_imagens {

    display: grid;

    grid-template-columns: repeat(5, 1fr);

    gap: 15px;

    margin-top: 15px;

}

#franqueado .listagem_imagens .mask_img {

    width: 100%;

    height: 372px;

}

#pag_franqueado footer {

    margin-top: 15px;

}

#menu_mobile {

    display: none;

    flex-direction: column;

    align-items: flex-start;

    padding: 40px;

    position: fixed;

    top: 0;

    bottom: 0;

    right: 0;

    z-index: 9999;

    background: #6f081f;

    width: 100%;

    max-width: 460px;

}

#menu_mobile.aberto {

    display: flex;

}

header #menu_mobile .logo a {

    position: relative;

    top: 0;

    left: 0;

    transform: unset;

    background: url(../imagens/logo.png) center no-repeat;

    background-size: contain !important;

    width: 100px;

    height: 102px;

} 

#menu_mobile nav {

    display: flex;

    flex-direction: column;

    align-items: flex-start;

    row-gap: 16px;

    margin-top: 32px;

    margin-left: 0;

    margin-right: 0;

}

#menu_mobile .bt_fechar_mobile {

    display: inline-block;

    width: 20px;

    height: 20px;

    position: absolute;

    top: 20px;

    right: 20px;

    background: url(../imagens/fechar_mobile.png) center no-repeat;

    background-size: contain;

    text-indent: -9999px;

}

#franqueado .listagem_imagens .mask_img {

    height: 19.3vw;

}
/*
#######################################################
  #### MODAL RESERVA
#######################################################
*/
#modal_reserva{
    background: rgba(0,0,0,0.9);
    width: 100%;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    z-index: 9999;
    overflow: auto;
    padding-top: 60px;
    display: none;
}
#modal_reserva .content{
    max-width: 1150px;
    margin: 0 auto;
    display: flex;
    align-items:center;  
}
#modal_reserva .content .modal_left{
    background: #fff;
    width: 44%;
    min-height: 100px;
    border-top: 10px solid #ee3236;
    padding-top: 35px;
    padding-bottom: 5px;
}
#modal_reserva .content .modal_left h2{
    color: #737373;
    font-size: 22px;
    text-transform: uppercase;
    padding-left: 40px;
    font-family: 'Montserrat';
    font-weight: 300;
}
#modal_reserva .content .modal_left p{
    color: #737373;
    font-size: 14px;
    padding-left: 40px;
    font-family: 'Montserrat';
    font-weight: 300;
    line-height: 22px;
    padding-right: 40px;
    padding-bottom: 10px;
}
#modal_reserva .content .modal_left p.aviso{
    display: table;
}
#modal_reserva .content .modal_left ul{
    padding-left: 16px;
    padding-top: 16px;
    position: relative;
    top: -20px;
}
#modal_reserva .content .modal_left ul li{
    display: inline-block;
    width: 22%;
    float: left;
    list-style-type: none;
    text-align: center;
}
#modal_reserva .content .modal_left ul li b{
    font-family: 'Montserrat';
    text-transform: uppercase;
    font-size: 11px;
    font-weight: normal;
    line-height: 10px;
}
#modal_reserva .content .modal_left ul li span{
  display:flex;
  justify-content:center;
  align-items:center;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    border: 2px solid #c3c3c3;
    text-align: center;
    margin: 0 auto 8px auto;
    background: #f4f4f4;
}
#modal_reserva .content .modal_left ul li span img{ 
    display: inline;
}
#modal_reserva .content .modal_left ul li{
    color: #9d9d9d;
    font-size: 15px;
    font-family: 'Montserrat';
    font-weight: 300;
    line-height: 18px;
    padding-bottom: 10px;
}
#modal_reserva .content .modal_right{
    background: #595959;
    width: 56%;
    min-height: 100px;
    border-top: 10px solid #ee3236;
    border-bottom: 10px solid #ee3236;
    padding-top: 55px;
    padding-bottom: 5px;
    text-align: right;
    position: relative;
}
#modal_reserva .content .modal_right h2{
    padding-right: 75px;
    color: #b0b0b0;
    text-transform: uppercase;
    font-family: 'Montserrat';
    font-weight: 800;
    font-weight: normal;
    font-size: 42px;
}
#modal_reserva .content .modal_right form{
    margin-right: 75px;
    padding-top: 15px;
    padding-bottom: 55px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 10px;
    row-gap: 10px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
#modal_reserva .content .modal_right form label {
    display: block;
    width: 100%;
    color: #fff;
    text-align: right;
    text-transform: uppercase;
    font-size: 16px;
    font-family: 'Montserrat';
    font-weight: 300;
    grid-column: span 2;
}
#modal_reserva .content .modal_right form label.metade {
    grid-column: span 1;
}
#modal_reserva .content .modal_right form label input {
    box-sizing: border-box;
    width: 100%;
}
#modal_reserva .content .modal_right form label input[type=text],
#modal_reserva .content .modal_right form label input[type=email]{
    display: block;
    width: 100%;
    margin-top: 4px;
    height: 36px;
    background: #b0b0b0;
    color: #595959;
    font-size: 14px;
    text-align: right;
    font-family: 'Montserrat';
    font-weight: 800;
    padding-right: 20px;
    border: 1px solid #fff;
}
#modal_reserva .content .modal_right form input[type=submit]{
    display: inline-block;
    background: #00a859 url(../imagens/seta_reserva.png) 92% center no-repeat;
    background-size: auto 12px;
    font-family: 'Montserrat';
    font-weight: 800;
    color: #fff;
    text-transform: uppercase;
    padding-top: 8px;
    padding-bottom: 8px;
    padding-left: 15px;
    padding-right: 25px;
    font-size: 13px;
    border: 2px solid #00a859;
    cursor: pointer;
}
#modal_reserva .content .modal_right form label select{
    display: block;
    width: calc(100% + 3%);
    margin-top: 4px;
    height: 38px;
    background: #b0b0b0 url(../imagens/seta_form.png) 6% center no-repeat;
    background-size: auto 8px;
    color: #595959;
    font-size: 14px;
    text-align: right;
    font-family: 'Montserrat';
    font-weight: 800;
    padding-right: 20px;
    -webkit-appearance: none;
    -moz-appearance: none;
    text-indent: 1px;
    text-overflow: '';  
    border: 1px solid #fff;  
}
#modal_reserva .content .modal_right form p{
    color: #fff;
    font-size: 12px;
    font-family: 'Montserrat';
    font-weight: 300;
    line-height: 14px;  
    position: relative;
    text-align: left;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    column-gap: 10px;
    grid-column: span 2;
    margin-top: 20px;
    margin-bottom: 20px;
}
#modal_reserva .content .modal_left a.bt_fechar{
    display: none;
}
#modal_reserva .content .modal_right a.bt_fechar{
    display: block;
    width: 25px;
    height: 25px;
    background: url(../imagens/bt_fechar.png) center center no-repeat;
    background-size: 25px 25px;
    position: absolute;
    right: 0;
    top: -50px;
    text-indent: -200000px;
    transition: all 0.07s ease-in;
}
#modal_reserva .content .modal_right form .bt_whats {
    display: inline-block;
    background: url(../imagens/seta_reserva.png) center right 10px no-repeat;
    background-size: auto 12px;
    font-family: 'Montserrat';
    font-weight: 800;
    color: #fff;
    text-transform: uppercase;
    padding-top: 8px;
    padding-bottom: 8px;
    padding-left: 15px;
    padding-right: 25px;
    font-size: 13px;
    border: 2px solid #fff;
    box-sizing: border-box;
    cursor: pointer;
}
#modal_reserva .content .modal_left ul li span {
    width: 55px;
    height: 55px;
}
#modal_reserva .content .modal_left ul li span img {
    max-width: 30px;
    max-height: 30px;
}
#modal_reserva .content .modal_left {
    width: 60%;
}
#modal_reserva .content .modal_left ul li {
    width: 19%;
}
#modal_reserva .content .modal_right form {
    width: calc(100% - 100px);
    margin-right: 60px;
}