﻿@media(max-width: 1680px) {

    #banner2 .centro,
    #experiencias .centro {
        width: calc(100% - 180px);
    }

    #banner2 .passador span {
        width: 60px;
        transform: unset;
        background-size: contain !important;
    }

    #banner2 .anterior {
        left: -80px;
    }

    #banner2 .proximo {
        right: -80px;
    }

    #galeria .mask_img {
        height: 18vw;
    }
}

@media(max-width: 1551px) {
    #conteudo_experiencia .centro {
        max-width: calc(100% - 80px);
    }

    #conteudo_experiencia .listagem_imagens {
        grid-auto-rows: 200px;
    }

    #conteudo_experiencia h2 {
        font-size: 40px;
        line-height: 46px;
    }

    #conteudo_experiencia h4 {
        font-size: 32px;
    }
}

@media(max-width: 1467px) {

    #banner .mask_video .bt_play {
        width: 55px;
        background-size: contain;
    }

    #pagamento .centro {
        width: calc(100% - 80px);
    }

    #pagamento form {
        grid-template-columns: 1fr 450px;
    }
}

@media(max-width: 1367px) {
    #conteudo_experiencia .listagem_imagens {
        grid-auto-rows: 170px;
    }
}

@media(max-width: 1000px) {

    #banner2 .centro,
    #experiencias .centro {
        width: calc(100% - 80px);
    }

    .listagem_experiencias {
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
        column-gap: 20px;
        row-gap: 30px;
    }

    .listagem_experiencias .mask_img {
        height: 220px;
    }

    .listagem_experiencias .mask_img img {
        height: inherit;
        min-height: inherit;
        object-fit: cover;
    }

    .listagem_experiencias article {
        padding-top: 20px;
        padding-right: 30px;
        padding-left: 20px;
    }

    .listagem_experiencias .bloco_preco {
        width: 280px;
    }

    .listagem_experiencias .bt_add_carrinho {
        padding-right: 60px;
        background: #dfdfdf url(../imagens/carrinho2.png) center right 20px no-repeat;
        background-size: 31px;
    }

    .listagem_experiencias .passador span {
        width: 12px;
        height: 12px;
    }

    #banner2 .passador span {
        display: none;
    }

    #reserva form {
        grid-template-columns: 1fr 1fr;
        gap: 15px;
    }

    #reserva button {
        grid-column: span 2;
        justify-content: center;
        min-height: 50px;
        padding-left: 0;
        background-size: 20px;
        font-size: 17px;
    }

    #reserva .centro {
        height: fit-content;
        padding: 24px;
        padding-top: 15px;
    }

    #banner .mask_video {
        min-height: 390px;
    }

    #banner .mask_video video {
        height: inherit;
        min-height: inherit;
        object-fit: cover;
    }

    #reserva .centro {
        max-width: calc(100% - 80px);
    }

    #experiencias h2:not(.listagem_experiencias h2) {
        font-size: 40px;
    }

    #experiencias .centro {
        padding-bottom: 0;
    }

    footer .centro {
        max-width: calc(100% - 80px);
    }

    footer .meio .div_logo {
        position: unset;
        grid-row: 1;
        transform: unset;
    }

    footer .meio .div_logo a {
        justify-content: center;
    }

    footer .meio .centro {
        display: grid;
        grid-template-columns: 1fr;
        row-gap: 40px;
        max-width: calc(100% - 80px);
        padding-top: 35px;
        padding-bottom: 30px;
    }

    footer .meio .esquerda,
    footer .meio .direita {
        width: 100%;
    }

    footer .bottom {
        height: 50px;
    }

    #conteudo_experiencia .centro {
        padding-top: 150px;
    }

    #conteudo_experiencia .box_comprar .preco .esquerda {
        width: fit-content;
        padding-right: 40px;
    }

    #conteudo_experiencia .listagem_imagens {
        grid-auto-rows: 120px;
        gap: 12px;
    }

    #conteudo_experiencia .listagem_imagens .mask_img {
        border-radius: 12px;
    }

    #conteudo_experiencia .listagem_imagens .mais_fotos {
        right: 15px;
    }

    #conteudo_experiencia h2 {
        font-size: 36px;
        line-height: 42px;
    }

    #conteudo_experiencia p {
        font-size: 19px;
        line-height: 27px;
    }

    #conteudo_experiencia .bottom {
        grid-template-columns: 1fr;
    }

    #conteudo_experiencia h3:not(#conteudo_experiencia .box_comprar .preco h3) {
        height: 25px;
        margin-bottom: 3px;
        font-size: 15px;
    }

    #conteudo_experiencia .box_comprar {
        box-sizing: border-box;
        display: grid;
        z-index: 5;
        position: relative;
        top: unset;
        bottom: 0;
        grid-template-columns: 1fr 335px;
        column-gap: 15px;
        width: 100%;
        margin-top: 20px;
        padding: 0;
        border-radius: 0;
    }

    #conteudo_experiencia .box_comprar .preco {
        padding: 0;
        box-shadow: unset;
    }

    .box_comprar .listagem_cartoes {
        grid-column: span 2;
        width: 300px;
        margin: 0 auto;
        margin-top: 15px;
    }

    #localizacao .centro {
        max-width: calc(100% - 80px);
    }

    #localizacao iframe {
        height: 400px;
    }



    #carrinho {
        padding-top: 125px;
        padding-bottom: 50px;
    }

    #carrinho .centro {
        max-width: calc(100% - 80px);
    }

    #carrinho .bloco_compra .meio {
        column-gap: 35px;
        padding: 20px;
    }

    #carrinho .bloco_compra .top {
        padding: 0 20px;
    }

    #carrinho .bloco_compra .bottom {
        padding: 0 20px;
    }

    #carrinho .bloco_valor {
        row-gap: 15px;
        flex-direction: column;
        padding: 28px;
    }

    #pagamento form {
        grid-template-columns: 1fr;
    }

    #pagamento .direita {
        grid-row-start: unset;
        grid-row-end: unset;
        grid-column: unset;
    }

    #pagamento .centro {
        padding-top: 125px;
    }

    .conteudo_form2 label.pix h3 {
        top: unset;
        background-size: contain;
    }

    #agradecimento .bottom {
        grid-template-columns: 1fr;
        row-gap: 40px;
    }

    #agradecimento .centro {
        max-width: calc(100% - 80px);
    }

    #agradecimento .conteudo {
        padding-top: 95px;
    }

    #agradecimento .top2 .status {
        right: unset;
        left: 0;
    }

    #conteudo_experiencia .box_comprar h2 {
        height: 35px;
        border-radius: 0;
    }

    #texto_politicas .centro {
        width: calc(100% - 80px) !important;
    }

    #texto_politicas {
        padding-left: 0;
    }

    #avaliacoes .centro {
        max-width: 533px;
    }

    .passador_avaliacoes .passador {
        max-width: 670px;
    }

    .passador_avaliacoes .passador span {
        width: 45px;
        height: 45px;
    }

    .passador_avaliacoes .anterior {
        left: 0;
    }

    .passador_avaliacoes .proximo {
        right: 0;
    }



    /* Limpeza de classes de menu legadas removida */

    .hide-md {
        display: none !important;
    }

    .flex-md {
        display: flex !important;
    }

    .hide-xs {
        display: none !important;
    }

    /* Limpeza de classes de menu legadas removida */

    .flex-row\@md {
        flex-direction: row !important;
    }

    .show\@md {
        display: block !important;
    }

    .flex.show\@md {
        display: flex !important;
    }

    .grid.show\@md {
        display: flex !important;
        flex-wrap: wrap;
    }

    .hide\@md {
        display: none !important;
    }

    .margin-bottom-xl\@md {
        margin-bottom: 4rem !important;
    }

    .margin-y-xl\@md {
        margin-top: 4rem !important;
        margin-bottom: 4rem !important;
    }

    .padding-top-xl\@md {
        padding-top: 4rem !important;
    }
}

@media (min-width: 768px) {
    .flex-row\@sm {
        flex-direction: row !important;
    }
}

@media(max-width: 600px) {
    #reserva form {
        grid-template-columns: 1fr;
    }

    #reserva button {
        grid-column: unset;
    }

    footer .meio .centro {
        row-gap: 30px;
        max-width: calc(100% - 40px);
    }

    footer .meio .esquerda,
    footer .meio .direita {
        row-gap: 30px;
        flex-direction: column;
    }

    footer .meio h2:not(footer .meio h2.logo) {
        margin-bottom: 15px;
    }

    footer .meio h2 span {
        margin-top: 10px;
    }

    footer .top .centro {
        row-gap: 10px;
        flex-direction: column;
        height: unset;
        padding: 20px 0;
    }

    footer .sociais {
        position: unset;
        transform: unset;
    }

    footer .meio .logo {
        width: 120px;
        height: 125px;
        background-size: contain;
    }

    footer .meio .div_logo a {
        margin-top: 20px;
    }

    #banner .mask_video .bt_play {
        width: 50px;
    }

    #reserva .centro {
        max-width: calc(100% - 40px);
        padding-top: 25px;
        border-radius: 22px;
    }

    #reserva .data,
    #reserva .quantidade {
        width: fit-content;
        margin: 0 auto;
    }

    #reserva h2 {
        margin-top: 0;
    }

    #experiencias h2:not(.listagem_experiencias h2) {
        font-size: 32px;
        line-height: 38px;
    }

    #banner2 .centro,
    #experiencias .centro {
        width: calc(100% - 40px);
    }

    #avaliacoes .centro {
        max-width: calc(100% - 80px);
    }

    .passador_avaliacoes .passador {
        max-width: calc(100% - 30px);
    }

    .listagem_avaliacoes li {
        width: calc(100vw - 140px);
    }

    #conteudo_experiencia .centro {
        max-width: calc(100% - 40px);
        padding-top: 150px;
    }

    #conteudo_experiencia .listagem_imagens {
        grid-template-columns: repeat(3, 1fr);
        grid-auto-rows: 100px;
    }

    #conteudo_experiencia .listagem_imagens li:nth-last-child(2),
    #conteudo_experiencia .listagem_imagens li:nth-last-child(3) {
        display: none;
    }

    #conteudo_experiencia .box_comprar .preco {
        display: flex;
        flex-direction: column;
    }

    #conteudo_experiencia .box_comprar .preco h5 {
        left: 0;
    }

    #conteudo_experiencia .box_comprar {
        grid-template-columns: 1fr;
    }

    .box_comprar .listagem_cartoes {
        grid-column: unset;
    }

    #conteudo_experiencia .esquerda ul li.horarios {
        justify-content: unset;
    }

    #avaliacoes h2,
    #localizacao h2 {
        font-size: 32px;
        line-height: 38px;
    }

    #localizacao p {
        font-size: 17px;
        line-height: 25px;
    }

    #localizacao .centro {
        max-width: calc(100% - 40px);
    }

    #localizacao iframe {
        height: 280px;
    }



    #conteudo_experiencia .box_comprar .preco {
        align-items: unset;
    }

    footer .centro {
        max-width: calc(100% - 40px);
    }

    #conteudo_experiencia .geral {
        max-width: calc(100vw - 40px);
        margin: 0;
        overflow: hidden;
    }

    #conteudo_experiencia h2 {
        font-size: 32px;
        line-height: 36px;
    }

    #texto_politicas .centro {
        width: calc(100% - 40px) !important;
    }

    #texto_politicas {
        padding-top: 110px;
    }

    #texto_politicas h2 {
        font-size: 26px !important;
    }

    #pag_modal_compra .form {
        max-width: calc(100% - 40px);
        padding-bottom: 0px;
    }

    #pag_modal_compra .centro {
        width: 100%;
        max-height: unset;
        margin-top: 0;
    }

    #pag_modal_compra main {
        align-items: flex-start;
        height: 100dvh;
        min-height: -webkit-fill-available;
        background-color: #f4f4f4;
    }

    #pag_modal_compra {
        overflow: auto;
    }

    .barra_footer .direita {
        display: flex;
        row-gap: 8px;
        flex-direction: column;
        width: 100%;
    }

    .barra_footer .direita button {
        justify-content: center;
        width: 100%;
        text-align: center;
    }

    #pag_modal_compra .mc-calendar--modal {
        border: 1px solid #21285c;
        box-shadow: unset;
    }

    .passos_compra .conteudo .calendario {
        margin-top: 8px;
    }

    .passos_compra .conteudo .calendario #calendario {
        left: 0;
    }

    .barra_footer {
        row-gap: 7px;
        flex-direction: column;
        align-items: flex-start;
        width: calc(100% + 40px);
        margin-left: -20px;
    }

    .barra_footer button,
    #carrinho .bloco_valor button,
    #carrinho .bloco_valor a {
        line-height: 18px;
    }

    .barra_footer {
        position: relative;
    }

    #pag_modal_compra h2 {
        max-width: calc(100% - 40px);
    }

    #pag_modal_compra h2.mc-display__year {
        margin-bottom: 0;
        text-align: left;
    }

    .cart_box {
        right: 300px !important;
        width: 300px !important;
    }

    #box_passos .siteblindado {
        max-width: 130px !important;
    }

    .fazer_login form div.grupo-meio,
    .fazer_login form div.grupo-meio-75,
    .fazer_login form div.grupo-meio-25 {
        grid-template-columns: 1fr;
        row-gap: 10px;
    }

    #carrinho .centro {
        max-width: calc(100% - 40px);
    }

    #carrinho .bloco_compra .top {
        row-gap: 8px;
        flex-direction: column;
        align-items: flex-start;
        height: fit-content;
        padding: 10px 20px;
    }

    #carrinho .bloco_compra .meio {
        display: grid;
        grid-template-columns: 1fr;
        row-gap: 10px;
        align-items: flex-start;
    }

    #carrinho .bloco_compra .contador {
        grid-row: 3;
    }

    #carrinho .bloco_compra .contador {
        flex-direction: row-reverse;
        justify-content: flex-end;
        gap: 14px;
    }

    #carrinho .bloco_compra .contador .menos {
        transform: rotate(90deg);
    }

    #carrinho .bloco_compra .contador .mais {
        transform: rotate(90deg);
    }

    #carrinho .bloco_compra .meio .mask_img,
    .conteudo_form3 .top_conteudo .mask_img {
        width: 100%;
        height: 195px;
    }

    .conteudo_form3 .top_conteudo {
        grid-template-columns: 1fr;
        row-gap: 15px;
    }

    #pagamento .centro {
        max-width: calc(100% - 40px);
    }

    #pagamento .bloco_dados .top,
    #pagamento .bloco_forma_pagamento .top,
    #pagamento .bloco_resumo .top {
        box-sizing: border-box;
        min-height: 50px;
        padding: 10px 20px;
    }

    .conteudo_form3 {
        padding: 0 20px;
        padding-top: 15px;
    }

    .box_cupom label button {
        font-size: 15px;
    }

    .box_cupom label {
        grid-template-columns: 1fr 80px;
    }

    .conteudo_form3 .top_conteudo article {
        display: grid;
        grid-template-columns: 1fr;
    }

    .conteudo_form3 .top_conteudo article span.totais {
        position: unset;
        grid-row: 4;
    }

    .dados_cartao label.w_1 {
        width: 44% !important;
    }

    #agradecimento .esquerda .div1 {
        grid-template-columns: 1fr;
        row-gap: 30px;
    }

    #agradecimento .centro {
        max-width: calc(100% - 40px);
    }

    #agradecimento .top2 .status {
        box-sizing: border-box;
        max-width: 100vw;
    }

    #agradecimento .conteudo {
        padding: 20px;
        padding-top: 95px;
    }

    #agradecimento .top {
        padding: 0 20px;
    }

    #agradecimento .direita {
        padding: 20px;
        padding-bottom: 40px;
    }

    .conteudo_form2 label h5 {
        bottom: -30px;
    }
}


@media(max-width: 375px) {
    #pagamento .centro {
        width: 100%;
        max-width: 100%;
    }

    #agradecimento .centro {
        width: 100%;
        max-width: 100%;
    }
}









































































@media (max-width: 1440px) {
    #cards_enoturismo .center article .direita h2 {
        font-size: 32px;
        line-height: 35px;
    }

    #cards_enoturismo .center article .direita p {
        font-size: 16px;
        line-height: 22px;
    }

    #cards_enoturismo .center article .esquerda .marcacao span {
        width: 14px;
        height: 14px;
    }

    #exp_enoturismo {
        padding: 0 20px;
    }

    #exp_enoturismo .center div h3.tipo,
    #cards_enoturismo .center-interno article .direita h3 {
        font-size: 14px;
        letter-spacing: 2.1px;
    }

    #cards_enoturismo .center-interno article .direita h3 {
        margin-bottom: 7px;
    }

    #cards_enoturismo .center article .esquerda ul li {
        padding-top: 70%;
    }

    #cards_enoturismo .center::after {
        bottom: 80px;
    }

    #cards_enoturismo .center .passador {
        display: none;
    }

    #cards_enoturismo .center,
    #cards_enoturismo .center .center-interno {
        padding: 0;
    }

    #cards_enoturismo .center .center-interno {
        padding: 0 20px;
    }
}

@media (max-width: 1279px) {

    #cards_enoturismo .center,
    #exp_enoturismo .center {
        box-sizing: border-box;
        width: 100%;
        padding: 0 20px;
    }

    #cards_enoturismo {
        margin-top: -247px;
    }

    #cards_enoturismo .center .center-interno {
        padding: 0;
    }

    #cards_enoturismo .center .center-interno::after {
        display: none;
        bottom: -40px;
    }

    #cards_enoturismo .center article {
        box-sizing: border-box;
        display: flex;
        row-gap: 35px;
        flex-direction: column-reverse;
        max-width: 700px;
        margin: 0 auto;
        padding: 30px;
    }

    #cards_enoturismo .center .passador {
        display: none;
    }

    #cards_enoturismo .center article div.direita,
    #cards_enoturismo .center article div.esquerda {
        width: 100%;
        padding: 0;
    }

    #cards_enoturismo .center article .esquerda ul {
        max-width: calc(100vw - 120px);
    }
}


@media (max-width: 1000px) {
    #site-footer .topo {
        flex-direction: column;
        padding-bottom: 40px;
        gap: 30px;
        text-align: center;
    }

    #site-footer .topo__acoes {
        flex-direction: column;
        gap: 24px;
    }

    #site-footer .marcas {
        flex-direction: column;
        margin-bottom: 20px;
        padding: 40px 0;
        gap: 32px;
        text-align: center;
    }

    #site-footer .marcas__logos {
        justify-content: center;
        gap: 40px;
    }

    #menu-mobile .menu-interno {
        flex-direction: column;
        overflow-y: auto;
    }

    #menu-mobile .menu-painel {
        align-items: flex-start;
        justify-content: flex-start;
        width: 100%;
        height: 100%;
        padding: 30px 40px;
    }

    #menu-mobile .menu-imagem {
        display: none;
    }

    #menu-mobile .menu-logo {
        width: 80%;
        margin-bottom: 40px;
    }

    #menu-mobile .menu-lista {
        align-items: flex-start;
        width: 100%;
    }

    #menu-mobile .menu-lista>li {
        width: 100%;
    }

    #menu-mobile .menu-lista>li>a {
        font-size: 28px;
        text-align: left;
    }

    #menu-mobile .submenu {
        display: block;
        visibility: visible;
        position: static;
        flex-direction: column;
        align-items: flex-start;
        width: 100%;
        height: auto;
        margin-top: 10px;
        padding: 0 0 0 20px;
        gap: 20px;
        opacity: 1;
        pointer-events: all;
        transition: none;
    }

    #menu-mobile.exibir-marcas .submenu {
        display: block;
    }

    #menu-mobile .submenu li a {
        font-size: 22px;
        text-align: left;
    }

    #menu-mobile .bt_fechar_menu {
        top: 36px;
        right: 20px;
        background-color: transparent;
    }

    #header.transparente .logo {
        z-index: 10;
        position: absolute;
        top: 50%;
        left: 50%;
        height: 100px;
        margin: 0;
        transform: translate(-50%, -50%);
    }

    #header.transparente .acoes {
        justify-content: space-between;
        gap: 0;
        width: 100%;
    }

    #header.transparente .bt_carrinho {
        order: -1;
        padding: 12px 19px;
    }

    #header.transparente .bt_menu_mobile {
        padding: 12px 19px;
    }

    #header .logo-vertical {
        height: 70px;
    }

    #header .logo-horizontal {
        height: 35px;
    }

    #header .centro {
        padding: 0 20px;
    }

}

@media (max-width: 768px) {
    #site-footer .grade {
        display: none;
    }

    #site-footer .acordeao {
        display: block;
    }
}

@media (max-width: 600px) {

    #header .acoes,
    #header .botoes-conta-carrinho {
        gap: 12px;
    }

    #site-footer {
        padding: 48px 20px;
    }

    #site-footer .marcas__logos img {
        width: 160px;
        height: auto;
    }

    #site-footer .base {
        flex-direction: column;
        gap: 24px;
        border-top: none;
        text-align: center;
    }

    #site-footer .copyright {
        order: 1;
        text-align: center;
    }

    #site-footer .privacidade {
        order: 2;
        text-align: center;
    }

    #site-footer .dev {
        order: 3;
        margin-top: 10px;
    }
}

@media (max-width: 400px) {

    #header .bt_conta {
        display: none;
    }