﻿@import url(https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.4/css/bootstrap.min.css);
@import url(https://pro.fontawesome.com/releases/v5.15.0/css/all.css);
@import url(https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Playfair+Display+SC:ital,wght@0,400;0,700;0,900;1,400;1,700;1,900&display=swap);
@import url(https://cdnjs.cloudflare.com/ajax/libs/fancybox/3.5.7/jquery.fancybox.min.css);
/*
    font-family: "Playfair Display SC", serif;
    font-family: "Montserrat", sans-serif;
*/
a {
    cursor: pointer !important;
    -webkit-transition: all 0.2s;
    -moz-transition: all 0.2s;
    -o-transition: all 0.2s;
    transition: all 0.2s;
}
a:focus {outline: none !important;}
body, .CmsViewPage {
    font-family: "Montserrat", sans-serif;
    color: #535349;
    background: #FFF;
    font-size: 17px;
    line-height: 28px;
}
input, select, textarea,
.CmsViewPage input, .CmsViewPage select, .CmsViewPage textarea {
    font-family: "Montserrat", sans-serif;
    margin: 0;
}
img
{
	max-width: 100%;
}
a, a:focus, a:hover {
    color: #535349;
}
h1, h2, h3, h4, h5, h6,
.CmsViewPage h1, .CmsViewPage h2, .CmsViewPage h3, .CmsViewPage h4, .CmsViewPage h5, .CmsViewPage h6 {
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    /*color: #002D80;*/
}
h1 span, h2 span {
    font-size: 16px;
    font-weight: 600;
    color: #0096D8;
    display: block;
    margin-bottom: 15px;
}
h1::after, h2::after {
    content: "";
    width: 70px;
    height: 8px;
    margin: 20px 0 0;
    background: #FEE018;
    display: none;
}
/* [Banner] */
.Banner {
    width: 100%;
    height: 100%;
    overflow: hidden;
    position: relative;
    top: 0;
}
.Banner .BannerImage::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    display: block;
    background: linear-gradient(180deg,rgba(0,0,0,.2) 0,rgba(0,0,0,0));
    pointer-events: none;
    z-index: 1;
}
.BannerImage {
    height: 100vh;
    width: 100vw;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    position: relative;
}
.BannerContainer {
    position: relative;
}

.BannerLogo {
    position: absolute;
    bottom: 30px;
    right: 30px;
    border-radius: 50%;
    overflow: hidden;
    display:none;
}
/* CSS para os previews circulares (ajusta tamanhos se quiseres) */
.Banner .owl-nav .preview-thumb {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background-size: cover !important;
    background-position: center !important;
    display: inline-block;
    border: 2px solid rgba(255,255,255,0.9);
    box-shadow: 0 2px 8px rgba(0,0,0,0.3);
    vertical-align: middle;
    transition: all 0.4s;
}

/* Posicionamento dos botões (ajusta conforme design) */
.Banner { position: relative; }
.Banner .owl-nav { position: absolute; top: 50%; width: 100%; transform: translateY(-50%); pointer-events: none; }
.Banner .owl-prev, .Banner .owl-next {
  pointer-events: auto;
  background: transparent;
  border: none;
  outline: none;
}
.Banner .owl-prev { position: absolute; left: 12px; }
.Banner .owl-next { position: absolute; right: 12px; }

/* Se quiseres mostrar também ícone por cima do thumbnail */
.Banner .owl-prev i, .Banner .owl-next i { position: relative; z-index: 2; pointer-events: none; }

.Slogan {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 2;
    text-align: center;
    bottom: 0;
    margin: auto;
    height: fit-content;
    max-width: 800px;
    right: 0;
}
    .Slogan span.Title {
        font-family: "Montserrat", sans-serif;
        font-weight: 700;
        letter-spacing: 0.05em;
        text-transform: uppercase;
        display: inline-block;
        color: #FFF;
        font-size: 45px;
        padding: 10px 18px;
        text-shadow: -2px 0px 2px #000000;
    }
    .Slogan span.Description {
        display: block;
        color: #FFF;
        font-size: 26px;
        line-height: 32px;
        margin: 0;
        text-transform: uppercase;
        letter-spacing: 3px;
    }
.Slogan a {
    color: #FFF;
    padding: 10px 35px;
    border: solid 1px #FFF;
    text-transform: uppercase;
}
.owl-nav.disabled ,.owl-dots.disabled {
    display: none;
}
.BannerImage img, .BannerImage iframe {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    z-index: 0;
    position: relative;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

.BannerImage iframe {
    z-index: 1;
    /* left/right a auto deixavam o iframe na posição estática (x=0) e o
       margin:auto não centra na horizontal nesse caso: todo o excesso de
       largura era cortado à direita. */
    left: 50%;
    right: auto;
    transform: translateX(-50%);
    aspect-ratio: 21/9;
    margin: auto;
    bottom: 0;
    top: 0;
    height: auto;
    min-height: 100%;
    width: auto;
    min-width: 100%;
    pointer-events: none;
}
/* [Header] */
header {
    padding: 50px 0 0;
    font-size: 13px;
    position: absolute;
    z-index: 11;
    top: 0;
    left: 0;
    right: 0;
    bottom: unset;
    transition: all 0.4s;
}
.Fixed header {
    position: fixed;
    background: #fff;
    /*-webkit-box-shadow: 0px 7px 10px 0px rgba(0, 0, 0, 0.4);
    -moz-box-shadow: 0px 7px 10px 0px rgba(0,0,0,0.4);
    box-shadow: 0px 7px 10px 0px rgba(0, 0, 0, 0.4);*/
    padding-top: 0;
    padding-bottom: 0;
}
.HeaderLogo {
    padding: 0;
    text-align: left;
}
.Fixed .HeaderLogo {
    margin-top: 18px;
}
.HeaderLogo img {
    width: 200px;
}
.Fixed header .HeaderLogo img {
    content: url(/Images/Logo.png);
}
.Fixed header .HeaderLogo img {
    width: 120px;
}
/*.Menu {
    margin: 15px 0 10px;
    text-align: right;
} .Menu a, .Menu a:hover, .Menu a:focus {
    color: #FFF;
    font-size: 38px;
}*/
/*.MenuOn .Menu a {
    color: #002D80;
}*/
/*.Fixed .Menu a, .Fixed .Menu a:hover, .Fixed .Menu a:focus {
    color: #002D80;
}*/
.Menu .CMSMenu ul li .rmSlide {
    top: calc(100% + 15px) !important;
    left: 0 !important;
}

.Menu .CMSMenu ul li .rmSlide ul li {
    padding: 7px 15px;
    background: #fff;
    position: relative;
}

.Menu .CMSMenu ul li .rmSlide ul {
    border: 1px solid #d7d9da;
    box-shadow: 0 4px 8px rgba(0, 0, 0, .1);
    border-radius: 30px;
    background: #fff;
    width: fit-content !important;
    overflow: hidden;
    left: 0 !important;
    display: flex !important;
    flex-direction: column;
    text-align: left;
    top: 0 !important;
}

.Menu .CMSMenu ul li .rmSlide ul li:after {
    position: absolute;
    bottom: 0;
    left: 5px;
    right: 5px;
    border-bottom: 1px solid #d7d9da;
    content: " ";
}

.Menu .CMSMenu ul li .rmSlide ul li:last-child:after {
    display: none;
}
.Menu .CMSMenu {
    /* line-height: 112px; */
    width: 100%;
    margin-top: 24px;
    margin-bottom: 42px;
}
.Fixed .Menu .CMSMenu {
    margin-top:30px;
    margin-bottom:30px;
}
.Menu .CMSMenu ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
    text-align: center;
    display: flex !important;
    width: 100%;
    align-items: center;
    justify-content: space-between;
}
.Menu .CMSMenu ul li {
display: inline-block;
    flex: 0;
    font-size: 15px;
    margin: 0 10px;
    text-transform: uppercase;
    font-weight: 700;
}
.Menu .CMSMenu ul li a {
    color: #FFF;
    transition: all 0.4s;
    position:relative;
    text-decoration:none !important;
    width: auto !important;
}
.Menu ul li a::after {
    content: "";
    width: calc(100% - 5px);
    height: 2px;
    background: transparent;
    bottom: -10px;
    left: 2px;
    right: 2px;
    position: absolute;
    transition: 0.3s ease;
}

.Menu ul li a:hover::after, header .Menu ul li a.rmFocused::after {
    background: #fff;
    bottom: -5px;
}
.Fixed .Menu ul li a:hover::after, .Fixed .Menu ul li a.rmFocused::after {
    background: #002D80;
}
.Fixed .Menu .CMSMenu ul li a,
.Menu .CMSMenu ul li ul li a {
    color: #002D80;
}
.Menu ul li ul li a:hover::after, header .Menu ul li ul li a.rmFocused::after {
    display:none;
}
/* [Booking] */
.Booking {
    position: absolute;
    bottom: 20%;
    left: 0;
    right: 0;
    z-index: 3;
    max-width: calc(100% - 60px);
    margin: auto;
    -webkit-transition: all 0.4s;
    -moz-transition: all 0.4s;
    -o-transition: all 0.4s;
    transition: all 0.4s;
    background: transparent;
}
/* Booking encostado ao header a partir do momento em que ambos se interceptam.
   --HeaderHeight é calculado em js/main.js (initFixedHeader) */
.Fixed .Booking {
    position: fixed;
    top: var(--HeaderHeight, 0px);
    bottom: auto;
    max-width: 100%;
    z-index: 10;
    -webkit-box-shadow: 0px 7px 10px 0px rgba(0, 0, 0, 0.4);
    -moz-box-shadow: 0px 7px 10px 0px rgba(0,0,0,0.4);
    box-shadow: 0px 7px 10px 0px rgba(0, 0, 0, 0.4);
    background: #fff;
}
.Fixed .Booking .col-md-8 {
    width: 100%;
    left: 0;
}
/* Evita a animação do header/booking enquanto se medem as alturas.
   Inclui a subárvore do .Booking porque o botão de reserva encolhe (e perde o
   span) no estado Fixed com transição — sem isto a leitura síncrona do
   measure() apanharia a altura de partida em vez da final. */
.NoTransition header,
.NoTransition .Booking,
.NoTransition .Booking * {
    transition: none !important;
}
.Booking .container {
    padding: 0 !important;
    width:1300px;
    max-width:100%;
}
.Fixed .Booking .container {
    /*width: 100%;*/
}
/* Abaixo de 992px as colunas do motor passam a ocupar a linha toda. Como o
   .container tem padding 0, as margens negativas do .row do Bootstrap faziam a
   barra sair 15px para fora de cada lado. */
@media (max-width: 991px) {
    .Booking .row {
        margin-left: 0;
        margin-right: 0;
    }
}
.Fixed .Search,
.Fixed .Search .Button,
.Fixed .Search .Button a {
    border-radius: 0;
}
.Search {
    position: relative;
    z-index: 2;
    margin: 0;
    padding: 0;
    background: #fff;
    color: #FFF;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    color: inherit;
    border-radius: 30px;
}
    .Search .InputDate {
        float: left;
        padding: 5px 12px;
        position: relative;
        flex: 1;
    }
        .Search .InputDate:after {
            position: absolute;
            top: 10px;
            bottom: 10px;
            right: 0;
            border-right: solid 3px #002D80;
            content: " ";
        }
        .Search .InputDate:first-child {
            border-bottom-left-radius: 30px;
            border-top-left-radius: 30px;
        }
        .Search .InputDate .InputDateModal .form-group {
            display: flex;
            flex-direction: row;
            align-items: center;
            justify-content: space-between;
        }
        .Search .InputDate .InputDateModal .form-group:last-child {
            margin-bottom: 0;
        }
    .Search .InputDateModal input[type='text'] {
        border: 1px solid #002D80 !important;
        -webkit-box-shadow: -2px -2px 5px 0px rgba(0, 0, 0, .25);
        box-shadow: -2px -2px 5px 0px rgba(0, 0, 0, .25);
        border-radius: 15px;
        margin-left: 30px;
    }

    .Search .InputDate .InputDateModal .input-group {
        display: flex;
        flex-direction: row;
    }

        .Search .InputDate .InputDateModal .input-group .input-group-prepend, .Search .InputDate .InputDateModal .input-group .input-group-append {
            background: #002D80;
            color: #fff;
            width: 26px;
            height: 26px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 14px;
            border-radius: 50%;
            cursor:pointer;
        }

        .Search .InputDate .InputDateModal .input-group input {
            width: 32px;
            display: block;
            min-width: unset;
            line-height: 26px;
            height: 26px;
            vertical-align: middle;
            text-align: center;
            padding: 0;
            -webkit-appearance: none;
            appearance: none;
            box-shadow: none;
        }
/* Chrome, Safari, Edge, Opera */
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}


/* Firefox */
input[type="number"] {
    -moz-appearance: textfield;
}
.Search .InputDateModal .form-label {
    width: 80px;
    font-weight: 600;
    margin-right: auto;
}
        .Search .InputDate.InputDatePromocode {
    border-right: 0;
}
.Search .InputDate input, .Search .InputDate select, .Search .InputDate button {
    background: no-repeat;
    border: 0;
    text-align: center;
    font-size: 14px;
    font-weight: 500;
    min-width: 150px;
    width: auto;
    font-family: "Montserrat", sans-serif;
}
.Search .InputDate > input, .Search .InputDate > select, .Search .InputDate > button {
    width: 100%;
    margin-bottom: 5px;
    padding-right: 36px;
    outline-width: 0;
    text-align: center;
    white-space: nowrap;
}
.Search .InputDate select {
    /*height: 31px;*/
    appearance: none;
} .Search .InputDate select option {
        color:#000;
    }
.Search .InputDate > span {
    display: block;
    text-align: center;
    text-transform: uppercase;
    margin-bottom: 0;
    font-weight: 600;
    font-size: 14px;
}
.Search .InputDate > i {
    position: absolute;
    right: 15px;
    bottom: 10px;
    color: #002D80;
    font-size: 28px;
    width: 36px;
    height: 28px;
    text-align: right;
    pointer-events: none;
}
.Search .InputDate .InputDateModal {
    opacity: 0;
    pointer-events: none;
    transition: all 0.4s;
    font-size: 14px;
    position: absolute;
    top: 100%;
    left: 50%;
    transform: scale(0) translateX(-50%);
    transform-origin: top left;
    right: unset;
    width: fit-content;
    margin: auto;
    background: #fff;
    border-radius: 30px;
    padding: 15px;
    -webkit-box-shadow: -10px 10px 10px 0px rgba(0, 0, 0, .25);
    box-shadow: -10px 10px 10px 0px rgba(0, 0, 0, .25);
}
.Search .InputDate.InputDateOpen .InputDateModal {
    opacity: 1;
    pointer-events: all;
    transform: scale(1) translateX(-50%);
}
.Search .nice-select {
    height: 28px !important;
    line-height: 28px !important;
    margin-bottom: 5px;
    padding-right: 36px;
}

    .Search .nice-select:after {
        display: none !important;
    }
    .Search .nice-select > span {
        font-weight: 500;
        text-align: center;
        white-space: nowrap;
        text-overflow: ellipsis;
        max-width: 100%;
    }
    .Search .nice-select .list {
        border-radius: 30px;
        margin: auto;
        left: 0;
        right: 0;
        width: fit-content;
    }
    .Search .Button {
        float: right;
        border-bottom-right-radius: 30px;
        border-top-right-radius: 30px;
        border-radius: 30px;
        overflow: hidden;
        flex-shrink: 0;
    }
.Search .InputDate.InputDateLast:after {
    display: none;
}
.Search .Button a {
    font-size: 24px;
    font-weight: 700;
    text-transform: uppercase;
    text-align: center;
    background: #002D80;
    color: #FFF !important;
    display: block;
    text-decoration: none;
    padding: 5px 45px 0px;
    margin: auto;
    margin-right: -1px;
    height: 73px;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border: 1px solid #002D80;
    overflow: hidden;
    border-radius: 30px;
} .Search .Button a span {
    display: block;
    font-size: 10px;
    color: rgba(255, 255, 255, .5);
} .BookingFeatures {
    position: relative;
    background: #0047AB;
    color: #FFF;
    padding: 21px 0;
    text-align: center;
} .BookingFeaturesItem {
    display: flex;
    justify-content: center;
    align-items: center;
} .BookingFeatures i, .BookingFeatures span{
    margin-right: 15px;
    font-size: 32px;
    display: inline-block;
} .BookingFeatures label{
    font-weight: 200;
    display: inline-block;
    margin: 0;
    padding: 0;
}
.CMSEditMode header {
    pointer-events: none;
}
.Search .Button a:hover, .Search .Button a:focus {
    background: #fff !important;
    color: #002D80 !important;
}

.Search .Button a:hover span, .Search .Button a:focus span {
    color: rgba(0, 45, 128, .5);
}
.Languages {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    display: block;
    text-align: right;
}
header .LanguagesMenu {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    width: fit-content;
    background: #fff;
    border-radius: 5px;
    overflow: hidden;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    position: relative;
}
.LanguagesMenu > span {
    font-size: 13px;
    font-weight: 400;
    line-height: 1;
    text-transform: uppercase;
    display: block;
    margin-right: 5px;
}
.LanguagesMenu > span:last-child {
    margin-right:0;
}
.LanguagesMenu span span, .LanguagesMenu span a {
    color: #002D80;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    text-decoration: none;
}
.LanguagesMenu .active, .LanguagesMenu a:hover {
    /* color: #fff; */
    /* background: #002D80; */
    font-weight: 600;
}
/* [Main] */
main {
    position: relative;
    background: #FFF;
    padding: 0 0 40px;
    overflow: hidden;
} main h1{
    margin-bottom: 30px;
}

    main img {
        border: 1px solid #d7d9da;
        box-shadow: 0 4px 8px rgba(0, 0, 0, .1);
        border-radius: 30px;
    }
    main .btn, .SectionsAll .btn {
        background: #002D80 !important;
        color: #fff !important;
        border: 1px solid #002D80;
        transition: all 0.4s;
    }
        main .btn:hover, .SectionsAll .btn:hover,
        main .btn:focus, .SectionsAll .btn:focus {
            background: #fff !important;
            color: #002D80 !important;
        }
    main .HomeText {
        position: relative;
        padding: 30px 0 0 0px;
        z-index: 2;
        line-height: 40px;
        text-align: center;
    }
        main .HomeText h1 {
            color: inherit;
            margin-bottom: 0;
            margin-top: 0;
        }

            main .HomeText h1 span {
                color: inherit;
                font-size: 25px;
                font-weight: 500;
            }
            main .HomeImages {
    padding: 60px 0;
} .HotelListings {
    padding: 0;
    text-align: center;
}
.Hotel {
    width: 100%;
    display: inline-block;
    margin: 0 20px;
    /* -webkit-box-shadow: 0 3px 10px 4px rgba(0, 0, 0, 0.04); */
    /* box-shadow: 0 3px 10px 4px rgba(0, 0, 0, 0.04); */
    border: 1px solid #3D3535;
    border-radius: 30px;
    overflow: hidden;
    position: relative;
}
.HotelDescription {
    padding: 25px;
    text-align: left;
    padding-bottom: 0;
} .HotelDescription h2 {
    margin: 0 0 15px;
    font-size: 24px;
    position: absolute;
    top: 20px;
    left: 40px;
    color: #fff;
} .HotelDescription h2::after{
    display: none;
} .HotelDescription span{
    color: #0096D8;
    margin: 0 0 15px;
    display: block;
} .HotelDescription p {
    /*height: 78px;*/
    margin-bottom: 25px;
    /*overflow: hidden;*/
    font-size: 15px;
    line-height: 20px;
    /*display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;*/
}
    .HotelDescription p strong {
        font-size: 36px;
    }
    .HotelDescription p strong {
        font-size: 36px;
    }

    .HotelDescription .row {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: center;
    }

    .HotelDescription a {
        display: inline-block;
        background: #002D80;
        border-color: #002D80;
        color: #FFF !important;
        text-align: center;
        text-decoration: none;
        padding: 4px 0;
        text-transform: uppercase;
        float: right;
        padding: 10px 10px;
        font-weight: 500;
        border-radius: 10px;
        border: 1px solid;
        transition: all 0.4s;
    }
        .HotelDescription a:hover, .HotelDescription a:focus {
            color: #002D80 !important;
            background: #FFF !important;
            border-color: #002D80 !important;
        }
.HotelListings .HotelImage img {
    aspect-ratio: 16 / 9;
    object-fit: cover;
}
.HotelListings .HotelImage {
    -webkit-box-shadow: 0 3px 10px 4px rgba(0, 0, 0, .25);
    box-shadow: 0 3px 10px 4px rgba(0, 0, 0, .25);
    border-radius: 30px;
    position:relative;
    overflow:hidden;
}
.HotelListings .Hotel .HotelImage:after {
    content: " ";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 0;
    transition: all 0.4s;
    pointer-events: none;
    background: #002D80;
}

.HotelListings .Hotel:hover .HotelImage:after {
    opacity: 0.25;
}
.HotelListings ul {
    margin: 20px 0 0;
    padding: 0;
    list-style-type: none;
    text-align: center;
} .HotelListings ul li{
    border: solid 1px #FEE018;
    width: 12px;
    height: 12px;
    display: inline-block;
    border-radius: 50%;
    margin: 0 3px;
} .HotelListings ul li.active{
    background: #FEE018;
}
.HotelListings .HotelsList.owl-carousel .owl-item {
    padding-right: 30px;
}
.HotelListings .RoomsListAll.HotelsList {
    margin-top: 15px;
}
/*NEWSLETTERSECTION*/
section.NewsletterSection {
    background: #F0F0F0;
    padding: 0px;
}
.NewsletterSectionForm {
    padding: 10px 0;
}
section.NewsletterSection h2 {
    font-weight: 500;
}
.NewsletterSectionImage {
    position: relative;
    height: 100%;
}

    .NewsletterSectionImage img {
        width: 100%;
        position: absolute;
        top: -20px;
        right: 0;
        left: 0;
        bottom: -20px;
        -webkit-box-shadow: 0 3px 10px 4px rgba(0, 0, 0, .25);
        box-shadow: -10px 10px 10px 0px rgba(0, 0, 0, .25);
        min-height: calc(100% + 40px);
        object-fit: cover;
        object-position: center;
        border-radius: 5px;
        overflow: hidden;
    }
.NewsletterLeftSectionTitle {
    font-size: 48px;
    text-transform: uppercase;
    font-weight: 500;
    /* border-right: 1px solid #002D80; */
    text-align: center;
    line-height: 1;
}


.NewsletterLeftSection:after {
    content: " ";
    position: absolute;
    border-right: 3px solid #002D80;
    top: 0;
    bottom: 0;
    left: 50%;
    height: 100%;
}

.NewsletterLeftSection {
    display: flex;
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
}

.NewsletterLeftSectionDescription {
    font-size: 18px;
    font-weight: 500;
}

.NewsletterSectionForm .NewsletterForm {
    margin-top: 45px;
}
.NewsletterFormField input[type='text'] {
    width: 100%;
    border: 0;
    -webkit-box-shadow: 0 3px 10px 4px rgba(0, 0, 0, .25);
    box-shadow: -5px 5px 10px 0px rgba(0, 0, 0, .25);
    padding: 15px 30px;
    border-radius: 15px;
    margin-bottom: 15px;
}

.NewsletterSectionForm .NewsletterForm a {
    color: #002D80;
    text-decoration: none;
}

    .NewsletterSectionForm .NewsletterForm a.SearchButton {
        display: block;
        background: #002D80;
        color: #FFF;
        text-align: center;
        text-decoration: none;
        padding: 4px 0;
        text-transform: uppercase;
        padding: 15px 10px;
        font-weight: 500;
        border-radius: 10px;
        position: absolute;
        top: 0;
        right: 15px;
    }

.NewsletterSectionForm .NewsletterForm .Login a {
    color: #002D80;
    text-decoration: none !important;
}
/* [NewsletterIntegration] */
/* ============================================================
   Sunsol Hoteles — Benchmark Email Form (frmLB572311)
   Override: aplica o mesmo look & feel da área Newsletter
   Adicionar a seguir ao bloco /*NEWSLETTERSECTION*/ no Estilos.css
============================================================ */
/* --- Wrapper externo e container do provider --- */
/* O div[align="center"] e o frmLB572311 têm estilos inline:
   este bloco sobrepõe-os com !important */
[name="frmLB572311"] {
    display: block !important;
    width: 100% !important;
}

.bmform_outer572311,
#tblFormData572311 {
    width: 100% !important;
    background: transparent !important;
}

.bmform_inner572311 {
    width: 100% !important;
    border: none !important;
    background: transparent !important;
}

/* --- Cabeçalho do provider — ocultar ---
   A secção já tem o <h2> "Stay informed about our special promotions" */
.bmform_head572311 {
    display: none !important;
}

/* --- Corpo do form — remover estilo do provider --- */
.bmform_body572311 {
    background: transparent !important;
    padding: 0 !important;
    font-family: inherit !important;
    font-size: inherit !important;
    color: inherit !important;
}

/* --- Texto introdutório — ocultar ---
   A secção já tem o contexto descritivo */
.bmform_introtxt572311 {
    display: none !important;
}

/* --- Labels dos campos --- */
.bmform_frmtext572311 {
    display: block !important;
    float: none !important;
    font-family: inherit !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #002D80 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    padding: 0 0 6px 5px !important;
    width: auto !important;
}

/* Primeiro label sem margem superior extra */
#tblFieldData572311 > .bmform_frmtext572311:first-child {
    margin-top: 0 !important;
}

/* --- Campos de texto (input type=text) --- */
.bmform_frm572311 {
    display: block !important;
    float: none !important;
    width: 100% !important;
    border: 0 !important;
    -webkit-box-shadow: -5px 5px 10px 0px rgba(0, 0, 0, .25) !important;
    box-shadow: -5px 5px 10px 0px rgba(0, 0, 0, .25) !important;
    padding: 7px 10px !important;
    border-radius: 15px !important;
    margin-bottom: 5px !important;
    font-family: inherit !important;
    font-size: 14px !important;
    font-style: normal !important;
    font-weight: normal !important;
    color: #333 !important;
    background: #fff !important;
    box-sizing: border-box !important;
    outline: none !important;
}

    .bmform_frm572311:focus {
        -webkit-box-shadow: -5px 5px 15px 0px rgba(0, 45, 128, .30) !important;
        box-shadow: -5px 5px 15px 0px rgba(0, 45, 128, .30) !important;
    }

/* --- Data de Nascimento — dropdowns --- */
[name="ddlddfield19_2XKQ"],
[name="ddlmmfield19_2XKQ"],
[name="ddlyyfield19_2XKQ"] {
    border: 0 !important;
    -webkit-box-shadow: -5px 5px 10px 0px rgba(0, 0, 0, .25) !important;
    box-shadow: -5px 5px 10px 0px rgba(0, 0, 0, .25) !important;
    padding: 10px 12px !important;
    border-radius: 10px !important;
    font-family: inherit !important;
    font-size: 14px !important;
    color: #333 !important;
    background: #fff !important;
    margin-top: 0 !important;
    margin-bottom: 15px !important;
    outline: none !important;
    cursor: pointer !important;
}

/* Distribuição dos três selects lado a lado */
[name="ddlddfield19_2XKQ"] {
    width: 14% !important;
    margin-right: 2% !important;
}

[name="ddlmmfield19_2XKQ"] {
    width: 16% !important;
    margin-right: 2% !important;
}

[name="ddlyyfield19_2XKQ"] {
    width: 14% !important;
}


/* --- Botão de submissão --- */
.bmform_button572311 {
    text-align: left !important;
    width: 48%;
    display: inline-block;
    margin-left: 4%;
    padding-top: 0 !important;
}

.bmform_submit572311 {
    display: block !important;
    width: 100% !important;
    background: #002D80 !important;
    background-image: none !important;
    color: #FFF !important;
    text-align: center !important;
    text-transform: uppercase !important;
    padding: 15px 10px !important;
    font-weight: 500 !important;
    font-family: inherit !important;
    font-size: 14px !important;
    letter-spacing: 1px !important;
    border-radius: 10px !important;
    border: none !important;
    cursor: pointer !important;
    transition: background 0.2s ease !important;
    border-color: #002D80 !important;
    border: 1px solid !important;
    transition: all 0.4s;
}

    .bmform_submit572311:hover, .bmform_submit572311:focus {
        color: #002D80 !important;
        background: #FFF !important;
        border-color: #002D80 !important;
    }


/* --- Rodapé e tabela "* Required Field" --- */
.bmform_footer572311 {
    display: none !important;
}

#tblRequiredField572311 {
    width: 100% !important;
    margin-top: 8px !important;
}

    #tblRequiredField572311 td {
        font-family: inherit !important;
        font-size: 11px !important;
        color: #888 !important;
        text-align: right !important;
    }

/* --- Span do required (*) inline nos labels --- */
.bmform_frmtext572311 span[style*="CC0000"] {
    color: #CC0000 !important;
    font-size: 14px !important;
}
/*Services*/
section.ServicesSection {
    padding: 60px 0;
    text-align: center;
    overflow: hidden;
}
.Service {
    border-radius: 30px;
    overflow: hidden;
    position: relative;
    -webkit-box-shadow: 0 3px 10px 4px rgba(0, 0, 0, .25);
    box-shadow: -10px 10px 10px 0px rgba(0, 0, 0, .25);
}
.Service .ServiceImage {
    overflow:hidden;
    position:relative;
}
.Service .ServiceImage img {
    width: 100%;
    min-height: 100%;
    object-fit: cover;
}
.Service h2 {
    font-size: 12px;
    text-transform: uppercase;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: #002a85a9;
    -webkit-backdrop-filter: blur(.5px);
    backdrop-filter: blur(.5px);
    margin: 0;
    padding: 16px;
    z-index: 2;
    color: #fff;
    transition: opacity .3s ease;
    text-align: center;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ServiceDescription {
    font-size: 16px;
    font-weight: 500;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    opacity: 0;
    pointer-events: none;
    z-index: 3;
    transition: opacity .3s ease;
    background: #002a85;
    color: #fff;
    padding: 24px;
}
.Service:hover .ServiceDescription {
    opacity: 1;
    pointer-events:all;
}
.ServicesList {
    padding: 0 60px;
    overflow: visible;
}

.ServicesList.owl-carousel .owl-stage-outer {
    overflow: visible;
}
/*SealsSection*/
section.SealsSection {
    padding: 60px 0;
}

section.SealsSection .row {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
}

.SealsSection h2 {
    font-size: 40px;
}

.SealsSection {
    text-transform: uppercase;
    font-size: 12px;
    line-height: 2;
    font-weight: 600;
}
.SealsSectionImage img {
    padding: 0 30px;
    max-width: 100%;
    width: 100%;
    object-fit: cover;
    object-position: center;
}

.SealsSectionImage {
    border-right: 2px solid #002D80;
}
/*Advantages*/
.AdvantagesSectionBG {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    object-fit: cover;
    z-index: -1;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: bottom right;
}

section.AdvantagesSection {
    position: relative;
    position: relative;
    padding: 0/* 45px*/;
}
.AdvantagesSection h2 {
    font-size: 20px;
}

    .AdvantagesSection h2 span {
        font-size: 53px;
        color: inherit;
    }
.AdvantagesSection img {
    width:100%;
}
ul.AdvantagesList {
    list-style-type: none;
    padding: 0;
    margin-top: 15px;
}

    ul.AdvantagesList li {
        display: inline-flex;
        flex-direction: column;
        width: 105px;
        margin-right: 30px;
        text-align: center;
        line-height: 2;
    }

        ul.AdvantagesList li img {
            width: 70px;
            margin: auto;
            margin-bottom: 5px;
        }

        ul.AdvantagesList li span {
            font-size: 12px;
            white-space: normal;
            width: 100%;
            font-weight: 700;
        }
/*SocialsSection*/
section.SocialsSection {
    text-align: center;
    background: #F0F0F0;
    padding: 0 60px;
    -webkit-box-shadow: 0 3px 10px 4px rgba(0, 0, 0, .25);
    box-shadow: -10px 10px 10px 0px rgba(0, 0, 0, .25);
}

.SocialsSection h2 {
    font-size: 24px;
}

.SocialsSection h2 span {
    font-size: 60px;
    color: inherit;
}

.SocialsSection .SocialsSectionRowImage img {
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
    object-position: center;
}
.SocialsSection .SocialsSectionRowImage {
    border-radius: 30px;
    -webkit-box-shadow: 0 3px 10px 4px rgba(0, 0, 0, .25);
    box-shadow: -10px 10px 10px 0px rgba(0, 0, 0, .25);
    margin-bottom: 15px;
    position: relative;
    width:100%;
    overflow:hidden;
}
section.SocialsSection {
    font-size: 22px;
    font-weight: 600;
}
.SocialsSectionRow > [class*='col-']:after {
    content: "\f16d";
    font-family: "Font Awesome 5 Brands";
    font-weight: 400;
    position: absolute;
    bottom: 30px;
    right: 30px;
    color: #fff;
}
section.SocialsSection .row {
    margin-bottom:15px;
}
section.SocialsSection a {
    color: #000;
}

    .SocialsSectionRow .SocialsSectionRowImage:after {
        content: " ";
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        opacity: 0;
        transition: all 0.4s;
        pointer-events: none;
        background: #002D80;
    }
    .SocialsSectionRow .SocialsSectionRowImage:hover:after {
        opacity:0.25;
    }
/* [Special Offers] */
.SpecialOffers h2::after {
    left: 50%;
    position: absolute;
    margin-left: -35px;
}
.SpecialOffers {
    text-align: center;
    position: relative;
    padding: 60px 45px 60px;
    background: #f6f8fb;
    overflow: hidden;
}
.SpecialOffers .fa-chevron-left {
    position: absolute;
    top: 44%;
    font-size: 40px;
    left: -40px;
    color: #FFF;
    z-index: 3;
}
.SpecialOffers .fa-chevron-right {
    position: absolute;
    top: 44%;
    font-size: 40px;
    right: -40px;
    color: #FFF;
    z-index: 3;
}
.SpecialOffer {
    clear: both;
    display: flex;
    flex-direction: row;
    align-items: stretch;
    justify-content: space-between;
}
.specialoffers_carousel {
    width: 170% !important;
    margin-left: -35%;
}
.SpecialOffer.SpecialOfferLeft {
    position: absolute;
    -ms-transform: scale(0.7);
    transform: scale(0.7);
    left: 0;
    top: 0;
    width: 1140px;
    margin-left: -1040px;
}
.SpecialOffer.SpecialOfferRight {
    position: absolute;
    -ms-transform: scale(0.7);
    transform: scale(0.7);
    right: 0;
    top: 0;
    width: 1140px;
    margin-right: -1040px;
}
.SpecialOffer .itemImage {
    width: 60% !important;
    object-fit: cover;
    object-position: center;
}
.SpecialOffer .Description {
    position: relative;
    width: 40%;
    background: #FFF;
    color: #535349;
    padding: 50px;
    text-align: center;
}
.SpecialOffer .Description h3 {
    margin: 0 0 15px;
    padding: 0;
    font-weight: 300;
    font-size: 24px;
    font-family: "Cinzel", sans-serif;
    height: 88px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}
.special-offer-price small {
    font-size: 65%;
    font-style: italic;
    color: #bc211f;
    text-decoration: line-through;
    display: inline-block;
}
.SpecialOffer .Description h3 a {
    color: #002D80;
}
.SpecialOffer .Description .Date {
    margin: 0 0 25px;
    font-weight: 400;
    font-size: 16px;
    display: block;
    color: #535349;
    height: 28px;
    height: 28px;
}
.SpecialOffer .Description .PromotionDetail {
    font-weight: 400;
    font-size: 16px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    width: 100%;
    height: 84px;
}
.SpecialOffer .Description .Since {
    text-align: center;
    width: 100%;
    font-weight: 400;
    font-size: 22px;
    line-height: 30px;
    color: #002D80;
    white-space: nowrap;
}
.SpecialOffer .Description .Since .OldPrice {
    text-decoration: line-through;
    font-size: 14px;
}
.SpecialOffer .Description .BtnBook {
    width: 100%;
    margin-top: 30px;
}
.SpecialOffer .Description .SearchButton {
    font-size: 18px;
    font-weight: 400;
    text-transform: uppercase;
    text-align: center;
    background: #002D80;
    border: 1px solid #002D80;
    color: #FFF;
    display: block;
    text-decoration: none;
    padding: 9px;
    margin: auto;
}
.SpecialOffer .Description .SearchButton:hover , .SpecialOffer .Description .SearchButton:focus {
    background: #fff;
    color: #002D80;
    text-decoration:none;
}
.specialoffers_carousel {
    margin-top: 60px;
    margin-bottom: 0px;
}

.specialoffers_carousel .SpecialOffer {
    border: 1px solid #002D80;
}

.specialoffers_carousel .owl-item.active.center {
    transform: scale(1) !important;
}

.specialoffers_carousel .owl-item {
    transform: scale(.6) !important;
    transition: all 0.4s;
}
.specialoffers_carousel:not(.owl-carousel) {
    width: 100% !important;
    margin-left: 0 !important;
}
.specialoffers_carousel:not(.owl-carousel) .SpecialOffer {
    margin-top:60px;
    margin-bottom:60px;
}
.specialoffers_carousel:not(.owl-carousel) .SpecialOffer:first-child {
    margin-top:0;
}
.specialoffers_carousel:not(.owl-carousel) .SpecialOffer:last-child {
    margin-bottom:0;
}
/* [Location] */
.Location {
    padding: 0;
    position: relative;
    overflow: hidden;
    background: #E9E9E9;
} .LocationImages {
    position: relative;
    height: 100%;
    width: 100%;
    min-height:300px;
} .LocationImages img {
    width: 100%;
    height: 100%;
    object-fit: cover;
} .LocationImages .Caption {
    position: absolute;
    top: 100px;
    left: 100px;
} .LocationImages .Caption span:not(.fas) {
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    display: inline-block;
    color: #002D80;
    background: #FEE018;
    font-size: 26px;
    padding: 10px 18px;
} .LocationImages ul {
    position: absolute;
    left: 50%;
    bottom: 30px;
    margin: 0;
    padding: 0;
    list-style-type: none;
    text-align: center;
} .LocationImages ul li{
    border: solid 1px #FEE018;
    width: 12px;
    height: 12px;
    display: inline-block;
    border-radius: 50%;
    margin: 0 3px;
} .LocationImages ul li.active{
    background: #FEE018;
} .LocationText {
    padding: 60px;
} .LocationText h2 {
    margin-bottom: 40px;
} .LocationText a {
    font-size: 20px;
    font-weight: 400;
    text-transform: uppercase;
    text-align: center;
    background: #0096D8;
    color: #FFF;
    display: inline-block;
    text-decoration: none;
    padding: 8px 45px 7px;
    margin: auto;
}
/* [Footer] */
footer {
    background: #D3CFCF;
    padding: 30px 0 90px;
    font-size: 14px;
    color: #003084;
    z-index: 0;
    position: relative;
} footer h2 {
    margin: 0 0 35px;
    color: #FFF;
    font-size: 20px;
} footer .Ul ul {
    margin: 0;
    padding: 0;
}
    footer .Ul ul li {
        margin: 0 6px;
        padding: 0;
        list-style-type: none;
        float: none;
        /*width: 100%;*/
    }
    footer .Ul ul li:last-child {
        margin-right: 0;
    }
    footer .Institutional.Ul .CMSMenu {
        float: right;
    }
    footer .Ul ul li a {
        color: #003084;
    } footer .Ul ul li a .rmText {
    display: inline-block;
} /*footer .Ul ul li a::before{
    content: "-";
    display: inline-block;
    margin-right: 5px;
}*/ footer .Ul ul::after {
    display: block;
    content: "";
    clear: both;
} .Social {
    font-size: 16px;
    /*margin: 25px 0 0;*/
    margin:0;
} .Social ul {
    margin: 0;
    padding: 0;
} .Social ul li{
    margin: 0 10px 0 0;
    padding: 0;
    display: inline-block;
} .Social ul li a{
    color: #002D80;
    background: transparent;
    display: block;
    width: 35px;
    height: 35px;
    text-align: center;
    padding: 5px 0 0;
    border-radius: 50%;
} .Social ul li a i{
    margin: 0;
    width: auto;
} .Newsletter {
	line-height: 22px;
} .Newsletter a.SearchButton, .Newsletter a.SearchButton:hover {
	color: #FFF;
} .Newsletter input[type="text"] {
    display: block;
    font-style: italic;
    font-weight: 300;
    text-align: center;
    border: 0;
    border-bottom: solid 1px #FFF;
    background: none;
    color: #FFF;
    padding: 8px 10px;
    width: 100%;
} .NewsletterForm {
	text-align: left;
}
.NewsletterFormRow {
    display: flex;
    flex-direction: row;
    align-items: center;
    flex-wrap:wrap;
} .NewsletterForm label {
	font-weight: 400;
} .NewsletterForm a {
	color: #FFF;
    text-decoration: underline;
} .NewsletterForm input[type='checkbox'] {
	margin-right:5px;
} .NewsletterForm .Login {
	float: none;
	text-align: left;
	padding-top: 10px;
	margin: 0;
	max-width: 100%;
	display: inline-block;
	width: 100%;
} .NewsletterForm .Login img {
	float: right;
    height: auto;
    margin: 0;
} .NewsletterForm .Login i {
    float: none;
} .NewsletterForm .Login a {
	color:#FFF;
	text-decoration: underline;
    margin-left: 5px;
} .NewsletterForm .Login i {
	color: #FFF;
	font-size: 10px;
	background: #FEE018;
	width: 20px;
    height: 20px;
    -webkit-border-radius: 35px;
    -moz-border-radius: 35px;
    border-radius: 35px;
    text-align: center;
    padding: 4px 0 0;
} .Newsletter .SearchButton {
    background: #FEE018;
    color: #FFF;
    font-size: 20px;
    text-transform: uppercase;
    padding: 15px 0 12px;
    display: block;
    font-weight: 400;
    text-decoration: none;
    text-align: center;
}
footer hr {
    margin-top: 10px;
    margin-bottom: 10px;
    border-top: 1px solid transparent;
} .Copyright {
    text-align: left;
    font-size: 13px;
    padding: 8px 0 0;
} .Powered {
    text-align: right;
    font-size: 13px;
} .Powered a{
    color: #003084;
        font-weight: 600;
} .MenuOn .Logo img, .Fixed.MenuOn .Logo img {
    filter: brightness(0) invert(1);
} .MenuOn header .BookNow a {
    border-color: #fff;
    background: transparent;
} .MenuOn header .BookNow a:hover {
    background: #fff;
    color: #8AC53F;
}
/* [Menu] */
.Menu-Open {
    position: fixed;
    right: -300px;
    top: 0;
    width: 300px;
    height: 100%;
    padding: 130px 0 0;
    background: #fff;
    z-index: 999;
    overflow: hidden;
    -webkit-transition: all 0.4s;
    -moz-transition: all 0.4s;
    -o-transition: all 0.4s;
    transition: all 0.4s;
    -webkit-box-shadow: 0px 7px 10px 0px rgba(0, 0, 0, 0.4);
    -moz-box-shadow: 0px 7px 10px 0px rgba(0,0,0,0.4);
    box-shadow: 0px 7px 10px 0px rgba(0, 0, 0, 0.4);
}
    .Menu-Open .MenuToggler {
        position: absolute;
        top: 0;
        font-size: 32px;
        left: 0;
        right: 0;
        margin: auto;
        display: inline-block;
        width: fit-content;
        top: 50px;
    }
    .Menu-Open hr {
        display:none;
    }
    .CMSMenu {
        padding: 0px;
    }
.MenuOn .Menu-Open {
    top: 0;
    right: 0;
} .Menu-Open .RadMenu {
    float: none !important
} .MenuRight {
    padding: 0 0 0 70px;
} .Menu-Open ul {
    margin: 0;
    padding: 0;
    padding: 0 !important;
    float: none !important;
    list-style-type: none;
} .Menu-Open ul li {
    margin: 0 70px 0 0;
    padding: 0;
    position: relative;
    float: none !important;
    clear: initial !important;
    width: 100%;
}
    .Menu-Open ul li a {
        color: #002D80;
        font-size: 16px;
        line-height: 32px;
        font-weight: 300;
        width: 100% !important;
        position: relative;
        text-decoration: none !important;
        text-align:left;
    }
.Menu-Open .rMenu:hover ul li a, .Menu-Open .rMenu:hover ul li i {
    color: #002D80;
}
.Menu-Open ul li:hover a, .Menu-Open ul li:hover i, .Menu-Open ul li a.rmFocused {
    text-decoration: none !important;
    color: #002D80 !important;
} .Menu-Open ul li a span {
    display: initial !important;
    position: relative;
} .Menu-Open ul li a span:after {
    content: '';
    position: absolute;
    width: 0;
    height: 1px;
    display: block;
    top: 32px;
    right: 0;
    background: #fff;
    transition: width .2s ease;
    -webkit-transition: width .2s ease;
} .Menu-Open ul li ul li a span:after {
    top: 22px;
} .Menu-Open ul li a:hover span:after, .Menu-Open ul li a:focus span:after, .Menu-Open ul li a.rmFocused span:after {
    width: 100%;
    left: 0;
    background: #fff;
} .Menu-Open ul li i{
    position: absolute;
    right: 0;
    top: 16px;
    color: #FFF;
    font-size: 24px;
    cursor: pointer;
} .Menu-Open ul li > .rmSlide {
    position: relative !important;
    visibility: visible !important;
    display: block !important;
    width: auto !important;
    height: 0 !important;
    left: initial !important;
    top: initial !important;
    float: none !important;
    overflow: hidden !important;
} .Menu-Open ul li > .rmSlide.Active {
    height: auto !important;
} .Menu-Open ul li > .rmSlide > ul {
    display: block !important;
    width: auto !important;
    left: initial !important;
    padding: 0 0 15px 15px !important;
} .Menu-Open ul li > .rmSlide > ul::before {
    display: none;
} .Menu-Open ul li > .rmSlide > ul li{
    float: none;
    width: 100%;
    margin: 0;
} .Menu-Open ul li > .rmSlide > ul li a {
    font-size: 18px;
    line-height: 36px;
    text-transform: initial;
} .MenuOn header {
    z-index: 10;
} .MenuOn header .GoMenu span {
    background: #fff;
}
  /*[Video]*/
.VideoSection {
    overflow: hidden;
}
.VideoSection iframe {
    aspect-ratio: 21 / 9;
    display: block;
    width: 100%;
    height: auto;
}
/* [Internal] */
.Internal main {
    margin: 30px 0;
}

.SectionsAll .RoomInfoContent {
    display: block;
}

.SectionsAll .RoomInfoContent .btn {
    width: 49%;
}

.btn {
    border-radius: 10px;
}
/* [RoomsAll] */
.RoomsListAllLinks {
    text-align: center;
    margin: 45px 0 0;
} .RoomsListAllLinks a, .Internal main .RoomsListAllLinks a {
        padding: 10px 20px;
        color: #580424 !important;
        border: 1px solid #580424;
        margin: 15px;
        background: #fff;
        text-transform: uppercase;
        font-size: 16px;
        font-weight: 700;
        border-radius: 5px;
        transition: all 0.2s ease-in-out;
        text-decoration: none !important;
    } .RoomsListAllLinks a:hover, .Internal main .RoomsListAllLinks a:hover {
            background: #580424;
            color: #fff !important;
        } .RoomsListAllLinks a:after {
            display: none;
        } .RoomsListAll {
    margin: 45px 0 0;
    margin-left: 0;
    margin-right: 0;
} .RoomsListAll .RoomsContainer {
        display: flex;
        flex-direction: row;
        border: 1px solid #d7d9da;
        box-shadow: 0 4px 8px rgba(0, 0, 0, .1);
        border-radius: 30px;
        overflow: hidden;
        margin-bottom: 5rem;
        min-height: 300px;
    } .RoomsListAll > .RoomsContainer:nth-child(even) .RoomInfo {
        order: 1;
    } .RoomsListAll > .RoomsContainer:nth-child(odd) .RoomInfo {
        order: 2;
    } .RoomsListAll > .RoomsContainer:nth-child(even) .RoomImage {
        order: 2;
    } .RoomsListAll > .RoomsContainer:nth-child(odd) .RoomImage {
        order: 1;
    } .RoomsListAll .RoomsContainer .RoomInfo {
        background: #f8f8f8;
        width: 50%;
        position: relative;
        display: flex;
        align-items: flex-start;
        justify-content: stretch;
        flex-direction: column;
        padding: 30px;
        font-size: 14px;
    } .RoomsListAll .RoomsContainer .RoomInfo h2 {
            font-size: 20px;
            margin: 0;
            margin-bottom: 15px;
            text-transform: none;
            line-height: 30px;
        }
        .RoomsListAll .RoomsContainer .RoomInfo h2:empty, .RoomsListAll .RoomsContainer .RoomInfo p:empty {
            display: none;
        }
        .RoomsListAll .RoomsContainer .RoomInfo h3 {
            font-weight: 300;
            margin: 30px 0 10px;
            font-size: 24px;
        } .RoomsListAll .RoomsContainer .RoomInfo .Beds {
            position: absolute;
            right: 30px;
            top: 50px;
            color: #bfb290;
            text-transform: uppercase;
            font-size: 14px;
        } .RoomsListAll .RoomsContainer .RoomInfo .Beds i {
                margin-right: 10px;
            } .RoomsListAll .RoomsContainer ul li {
        width: 49%;
        margin-bottom: 0;
    } .RoomsListAll .RoomsContainer .RoomImage {
        width: 50%;
        height: auto;
    } .RoomsListAll .RoomsContainer .RoomImage .RoomGallery {
            flex: 1;
            display: flex;
            overflow: hidden;
            width: 100%;
            height: 100%;
        } .RoomsListAll .RoomsContainer .RoomImage .RoomGallery .owl-stage-outer {
                flex: 1;
                display: flex;
                width: 100%;
                flex-direction: column;
            } .RoomsListAll .RoomsContainer .RoomImage .RoomGallery .owl-stage-outer .owl-stage {
                    flex: 1;
                    display: flex;
                    flex-direction: row;
                    font-size: 0;
                } .RoomsListAll .RoomsContainer .RoomImage .RoomGallery .owl-stage-outer .owl-stage .owl-item {
                        flex: 1;
                        overflow: hidden;
                    }
                    .RoomsListAll .RoomsContainer .RoomImage .RoomGallery .owl-stage-outer .owl-stage .owl-item img {
                        width: 100%;
                        height: 100%;
                        object-fit: cover;
                        position: absolute;
                        top: 0;
                        left: 0;
                        right: 0;
                        bottom: 0;
                    } .RoomsListAll .RoomsContainer .RoomImage .RoomGallery.owl-theme .owl-nav {
                position: absolute;
                bottom: 60px;
                width: 130px;
                right: 0;
                margin-bottom: 10px;
                margin-right: 10px;
            } .RoomsListAll .RoomsContainer .RoomImage .RoomGallery.owl-theme .owl-nav button {
                    position: absolute;
                    background: rgb(0 45 128 / 75%);
                    color: #FFF;
                    width: 60px;
                    height: 60px;
                    border-radius: 50%;
                    margin: 0;
                    transition: all 0.4s;
                }
                .RoomsListAll .RoomsContainer .RoomImage .RoomGallery.owl-theme .owl-nav button:hover {
                    background: rgb(0 45 128 / 100%);
                }
                .RoomsListAll .RoomsContainer .RoomImage .RoomGallery.owl-theme .owl-nav button i {
                    padding: 8px 0 0;
                    font-size: 22px;
                } .RoomsListAll .RoomsContainer .RoomImage .RoomGallery.owl-theme .owl-nav button.owl-prev {
                        left: 0;
                    } .RoomsListAll .RoomsContainer .RoomImage .RoomGallery.owl-theme .owl-nav button.owl-next {
                        right: 0;
                    } .RoomInfo ul {
    list-style-type: none;
    margin: 15px 0;
    padding: 0;
    text-align: left;
    font-weight: 400;
} .RoomInfo ul li {
        display: inline-block;
        width: 49%;
        font-size: 14px;
        line-height: 32px;
        vertical-align: top;
        margin-bottom: 10px;
    }
    .RoomInfo ul li i, .RoomInfo ul li span {
        width: 20px;
        text-align: center;
        float: none;
        padding: 0 0 0;
        margin: 0 10px 0 0;
        color: #002D80;
        display: inline-block;
        height: auto;
    }
.RoomImage img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    min-height: 300px;
    border-radius: 0;
}
.RoomInfo .lnkBookNow {
    margin: 0;
    margin-left: auto;
    display: block;
    background: #002D80;
    color: #FFF;
    border-color: #002D80;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    padding: 15px 10px;
    font-weight: 500;
    border-radius: 10px;
    font-size: 20px;
    transition: all 0.4s;
    border: 1px solid;
}
    .RoomInfo .lnkBookNow:hover, .RoomInfo .lnkBookNow:focus {
        color: #002D80 !important;
        border-color: #002D80 !important;
        background: #FFF !important;
    }
.RoomInfoContent {
    width: 100%;
    flex: 1;
    display: flex;
    flex-direction: column;
    text-align: left;
    justify-content:center;
}

.RoomInfoContent p {
    flex: 1;
}
/*[HotelsContacts]*/
.HotelsContacts .RoomImage iframe {
    width: 100%;
    height: 100%;
    border: 0;
    min-height: 350px;
}
.HotelContacts h2 {
    font-size: 20px;
    margin: 0;
    margin-bottom: 15px;
    text-transform: none;
    line-height: 30px;
}

.HotelContactsText p:last-child {
    margin-bottom: 0;
}
/* OurProperties */
.OurProperties {
    position: relative;
    overflow: hidden;
}
.OurPropertiesContainer .HotelContactsText .btn {
    width: 100%;
    display: inline-block;
    background: #002D80;
    color: #FFF;
    text-align: center;
    text-decoration: none;
    padding: 4px 0;
    text-transform: uppercase;
    float: right;
    padding: 10px 10px;
    font-weight: 500;
    border-radius: 10px;
}
.OurPropertiesFancy.OurProperties {
    cursor: unset;
    /*width: 100%;
    height: 100%;
    margin: auto;*/
    /*max-width: fit-content;
    max-height: fit-content;
    display: inline-block;*/
}


.OurPropertiesFancy.OurProperties > .fa-search,
.OurPropertiesFancy.OurProperties:after {
    display: none !important;
}
.OurProperties img.MainImage {
    width: 75%;
    margin: auto;
    display: block;
}
.HotelPosition img {
    height: 24px;
}
.HotelPosition {
    max-width: 12.5%;
    cursor:pointer;
}

.HotelPosition img {
    object-fit: contain;
    object-position: center;
}

.HotelPositionRow {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
}

.HotelPositionRow img:first-child {
    margin-right: 5px;
}
.msdw-hotspot-wrapper-reverse .HotelPositionRow {
    flex-direction: row-reverse;
}

.msdw-hotspot-wrapper-reverse .HotelPositionRow img {
    margin-right: 0;
    margin-left: 10px;
}
.OurProperties > .fa-search {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    display: block;
    font-size: 3.76rem;
    width: 64px;
    height: 64px;
    line-height: 1;
    color: #fff;
    z-index: 2;
    opacity: 0;
    transition: all 0.4s;
    pointer-events: none;
    text-shadow: 1px 1px 5px rgba(0,0,0,.5);
}

.OurProperties:hover > .fa-search {
    opacity: 1;
}

.OurProperties .FancyboxImage {
    display: none;
}

.msdw-hotspot-wrapper {
    position: absolute;
    height: 30px;
    overflow: visible;
    z-index: 0;
}

.msdw-hotspot-wrapper {
    /*pointer-events: none;*/
}

    .msdw-hotspot-wrapper svg {
        pointer-events: auto;
    }

.msdw-hotspot-wrapper-right {
}

.msdw-hotspot-wrapper-left {
}

    .msdw-hotspot-wrapper-left .msdw-hotspot-icon {
        left: unset;
        right: 0;
    }

    .msdw-hotspot-wrapper-left .msdw-hotspot-info::before {
        left: unset;
        right: 0;
    }

    .msdw-hotspot-wrapper-left .msdw-hotspot-info {
        padding-left: unset;
        padding-right: 150px;
        flex-direction: row-reverse;
    }

.msdw-hotspot-caption {
    margin-left: 15px;
}

.msdw-hotspot-wrapper-left .msdw-hotspot-caption {
    margin-left: unset;
    margin-right: 15px;
}

.msdw-hotspot {
    display: block;
    width: 30px;
    height: 30px;
    overflow: hidden;
}

    .msdw-hotspot:active, .msdw-hotspot:hover, .msdw-hotspot:focus {
        width: auto;
        height: auto;
        background-color: rgba(0, 0, 0, 0.01);
        -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
        -webkit-user-select: none;
        -webkit-touch-callout: none;
    }

        .msdw-hotspot:active .msdw-hotspot-info, .msdw-hotspot:hover .msdw-hotspot-info, .msdw-hotspot:focus .msdw-hotspot-info {
            -webkit-animation: animBlock 0.15s;
            animation: animBlock 0.15s;
        }

.msdw-hotspot-icon {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
    background: #fff;
    border-radius: 50%;
    z-index: 3;
}

.msdw-hotspot-wrapper:hover {
    z-index: 3;
}

.msdw-hotspot-info {
    position: relative;
    padding: 0;
    width: auto;
    text-align: center;
    display: flex;
    flex-direction: row;
    align-items: center;
    /* white-space: nowrap; */
    padding-left: 150px;
    transform: translateY(calc(-50% + 15px));
    transition: opacity 0.4s;
    opacity: 0;
    pointer-events: none;
    z-index: 2;
    max-width: 600px;
}

    .msdw-hotspot-info:after {
        content: " ";
        position: absolute;
        top: -15px;
        bottom: -15px;
        left: 135px;
        right: -15px;
        background: #fff;
        z-index: -1;
        pointer-events: none;
        border-radius: 15px;
        border: 2px solid #eee;
    }

.msdw-hotspot-wrapper-left .msdw-hotspot-info:after {
    left: -15px;
    right: 135px;
}

.OurProperties .OurPropertiesItem_Toggle {
    display: none;
}

.OurPropertiesItem_Toggle:hover ~ .msdw-hotspot-info {
    opacity: 1;
}

.OurPropertiesItem_Toggle {
    cursor: pointer;
}

.msdw-hotspot-info::before {
    content: "";
    width: 135px;
    height: 1px;
    position: absolute;
    bottom: 50%;
    left: 0;
    background-color: #4D532E;
    z-index: 1;
}

.OurPropertiesFancy.OurProperties > img {
    /*width: fit-content;
    height: fit-content;*/
    /*object-fit: contain;*/
    /*max-height: 100%;
    max-width: 100%;*/
}

.msdw-hotspot-slides {
    flex-shrink: 0;
}

.msdw-hotspot-info img {
    display: block;
    background-color: #fff;
    width: 150px;
    height: 150px;
    object-fit: cover;
    border-radius: 50%;
    /*border: 1px solid #eee;*/
    flex-shrink: 0;
}

.OurPropertiesFancy.OurProperties .OurPropertiesItem_Toggle {
    display: block;
}

.OurPropertiesFancy.OurProperties .FancyboxImage {
    display: block;
}

.OurPropertiesFancy.OurProperties .MainImage {
    display: none;
}

.fancybox-skin {
    padding: 0 !important;
}

.OurPropertiesFancy.OurProperties > img {
    /*    width: fit-content;
    height: fit-content;
    object-fit: contain;
    max-height: 100%;
    max-width: 100%;*/
}
.OurHotels h2 {
    text-align: center;
    font-size: 30px;
}
.OurPropertiesContainer {
    padding: 60px 0;
}
.OurPropertiesContainer .HotelContactsText {
    padding-top:0;
    padding-bottom:0;
}
.HotelPosition img.OurPropertiesItem_Image[src*='ecoland'] {
    transform: translateY(-15px);
}
.HotelContactsButtonContainer {
    padding:30px;
    padding-bottom:30px;
}
.HotelContactsButtonContainer a {
    display: inline-block;
    background: #002D80;
    color: #FFF !important;
    text-align: center;
    text-decoration: none;
    padding: 4px 0;
    text-transform: uppercase;
    padding: 10px 10px;
    font-weight: 500;
    border-radius: 10px;
    width: 100%;
    border-color: #002D80;
    border: 1px solid;
    transition: all 0.4s;
}

.HotelContactsButtonContainer a:hover, .HotelContactsButtonContainer a:focus {
    color: #002D80 !important;
    background: #FFF !important;
    border-color: #002D80 !important;
}
.HotelContactsImageContainer {
    position: relative;
}
.HotelContactsImage {
    aspect-ratio: 16/9;
    object-fit: cover;
    object-position: center;
}
.HotelContactsImageContainer .HotelContactsLogo {
    position: absolute;
    top: 30px;
    left: 30px;
    z-index: 1;
    filter: brightness(0) invert(1);
    height: 30px;
    max-width: calc(100% - 60px);
    object-fit: contain;
    object-position: center;
}
/*Gallery*/
.GalleryImageThumb img {
    aspect-ratio: 4 / 3;
    object-fit: cover;
    object-position: center;
    margin-bottom: 30px;
}
/*Sections*/
.SectionsAll.RoomsListAll .RoomsContainer ul li:before {
    content: "\f00c";
    font-family: "Font Awesome 5 Pro";
    font-weight: 900;
    width: 20px;
    text-align: center;
    float: none;
    padding: 0 0 0;
    margin: 0 10px 0 0;
    color: #002D80;
    display: inline-block;
    height: auto;
}
/*Activities*/
.RestaurantsAll.RoomsListAll .RoomsContainer ul li,
.EventsAll.RoomsListAll .RoomsContainer ul li,
.ActivitiesAll.RoomsListAll .RoomsContainer ul li {
    width: 100%;
    margin-bottom: 10px;
}
.RestaurantsAll.RoomsListAll .RoomsContainer ul li:last-child,
.EventsAll.RoomsListAll .RoomsContainer ul li:last-child,
.ActivitiesAll.RoomsListAll .RoomsContainer ul li:last-child {
    margin-bottom:0;
}
.RestaurantsAll.RoomsListAll .RoomInfoContent p,
.EventsAll.RoomsListAll .RoomInfoContent p,
.ActivitiesAll.RoomsListAll .RoomInfoContent p {
    flex: 0;
}
/* Hotel Template*/
.HotelTemplate.HotelTemplateInternal {
}

.HotelTemplate.HotelTemplateInternal .Section01, .HotelTemplate.HotelTemplateInternal .Section03, .HotelTemplate.HotelTemplateInternal .Section05 {
    /*background: #EFEFEF;*/
    position: relative;
    z-index: 2;
}
.HotelTemplate.HotelTemplateInternal .Section02, .HotelTemplate.HotelTemplateInternal .Section04 {
    background: #FFF;
    position: relative;
    z-index: 2;
}
.HotelTemplate.HotelTemplateInternal section[class*='Section0'] {
    /*padding: 60px 0;*/
    text-align: center;
}
.HotelText {
    padding: 50px 100px 0 50px;
}
/* Em mobile os 150px de padding horizontal deixavam a coluna de texto com
   apenas 180px úteis dos 330 disponíveis */
@media (max-width: 767px) {
    .HotelText {
        padding: 30px 0 0;
    }
}
/* Barra do hotel: cola-se por baixo do header + .Booking quando estes ficam
   fixos. Sticky (e não fixed) para não sair do fluxo e não provocar salto.
   As variáveis são calculadas em js/main.js (initFixedHeader) */
.HotelHeader {
    border-bottom: 1px solid rgb(221 221 221);
    min-height: 52px;
    line-height: 52px;
    z-index: 9;
    position: -webkit-sticky;
    position: sticky;
    top: calc(var(--HeaderHeight, 0px) + var(--BookingHeight, 0px));
    background: #fff;
}
.HotelMenuToggle {
    display: none;
    float: right;
    background: none;
    border: 0;
    padding: 0 5px;
    font-size: 20px;
    line-height: inherit;
    color: #002D80;
}
.HotelTemplate footer,
.Internal footer {
    /*padding-top: 90px;*/
}
.HotelTemplateInternal .HotelText {
    text-align: center;
    padding-left: 0;
    padding-right: 0;
}
.HotelHeader h1 {
    font-size: 18px;
    margin: 0;
    line-height: inherit;
}

.HotelHeader .CMSMenu {
    float: right;
}

.HotelHeader .CMSMenu > ul > li {
    margin-right: 15px;
    margin-left: 15px;
    text-transform: uppercase;
    font-size: 14px;
    font-weight: 700;
}

.HotelHeader .CMSMenu > ul > li:last-child {
    margin-right: 0;
}

.HotelHeader .CMSMenu > ul > li:first-child {
    margin-left: 0;
}

    .HotelHeader .CMSMenu a {
        color: inherit;
        position: relative;
        text-decoration: none !important;
        transition: 0.3s ease;
    }
        .HotelHeader .CMSMenu a.rmFocused, .HotelHeader .CMSMenu a:hover {
            color: #002D80;
        }
        .HotelHeader .CMSMenu ul li a::after {
        content: "";
        width: calc(100% - 5px);
        height: 2px;
        background: transparent;
        bottom: 0px;
        left: 2px;
        right: 2px;
        position: absolute;
        transition: 0.3s ease;
    }

    .HotelHeader .CMSMenu ul li a:hover::after, .HotelHeader .CMSMenu ul li a.rmFocused::after {
        background: #002D80;
        bottom: 10px;
    }

/* 992–1199px: reduzir ligeiramente para os links caberem numa linha */
@media (min-width: 992px) and (max-width: 1199px) {
    .HotelHeader .CMSMenu > ul > li {
        font-size: 13px;
        margin-left: 9px;
        margin-right: 9px;
    }
}

/* Abaixo de 992px o menu do hotel passa a hamburguer com expansão para baixo */
@media (max-width: 991px) {
    .HotelMenuToggle {
        display: block;
    }
    /* As colunas do Bootstrap são position:relative e serviriam de referência
       ao dropdown; queremos que este se alinhe pela barra toda */
    .HotelHeader .col-md-3,
    .HotelHeader .col-md-9 {
        position: static;
    }
    .HotelHeader .CMSMenu {
        display: none;
        float: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: #fff;
        border-bottom: 1px solid rgb(221 221 221);
        box-shadow: 0 4px 8px rgba(0, 0, 0, .1);
        z-index: 2;
    }
    .HotelHeader.is-open .CMSMenu {
        display: block;
    }
    .HotelHeader .CMSMenu > ul {
        display: block;
        width: 100%;
    }
    .HotelHeader .CMSMenu > ul > li {
        display: block;
        float: none;
        margin: 0;
        padding: 0 15px;
        border-top: 1px solid rgb(238 238 238);
    }
    .HotelHeader .CMSMenu > ul > li:first-child {
        border-top: 0;
    }
    .HotelHeader .CMSMenu > ul > li a {
        display: block;
    }
    .HotelHeader .CMSMenu ul li a::after {
        display: none;
    }
}

.HotelContacts {
    padding: 0;
    border: 1px solid #d7d9da;
    box-shadow: 0 4px 8px rgba(0, 0, 0, .1);
    border-radius: 30px;
    width: 100%;
    margin: auto;
    overflow: hidden;
    min-height: 100%;
}

.HotelContacts .HotelContactsImage img {
    width: 100%;
    object-fit: cover;
    aspect-ratio: 16/9;
}

section.Breadcrumbs, section.Breadcrumbs a {
    font-size: 14px;
    color: #000;
}

section.Breadcrumbs a {
    font-weight: 400;
}

section.Breadcrumbs .CMSSiteMapPath > span:last-child {
    font-weight: 700;
}
section.Breadcrumbs {
    padding: 20px 0;
}
.HotelContactsText {
    padding: 30px;
    font-size: 14px;
}
.HotelAddress h2 {
    font-size: 20px;
    margin: 0;
    text-transform: none;
    line-height: 30px;
    padding: 30px;
    padding-bottom: 15px;
    text-align: left;
}
/*Pools*/
section.PoolsSection {
    position: relative;
    padding: 90px 0;
    color: #fff;
}

.PoolsSectionImage img {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    pointer-events: none;
}

.PoolsSectionImage:after {
    content: " ";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #000;
    opacity: 0.25;
}

.PoolsSection h1 span, .PoolsSection h2 span {
    color: #fff;
    font-size: 14px;
    margin-bottom: 5px;
    text-transform: uppercase;
}

.PoolsSection h2 {
    font-size: 64px;
    text-transform: none;
    font-weight: 400;
}

.PoolsSection .h3, .PoolsSection h3 {
    font-weight: 500;
    text-transform: none;
}

/* ═══════════════════════════════════════════════════════════════════
       PISCINAS – formato tipo Habitaciones, distribución 80/20
       ═══════════════════════════════════════════════════════════════════ */

/*
     * Cada tarjeta de piscina sigue el mismo patrón que las habitaciones:
     * [──────── 80% imagen ────────][── 20% info ──]
     *
     * El cliente pidió "un solo campo para todas", es decir una única
     * tarjeta que agrupa todas las piscinas del hotel.
     */
.piscinas-section {
    width: 1200px;
    max-width: 100%;
    margin: auto;
    padding-left: 15px;
    padding-right: 15px;
}
.piscinas-section .section-title {
    margin-top: 0;
}

.piscina-card {
    display: flex;
    width: 100%;
    min-height: 320px;
    border-radius: 30px;
    overflow: hidden;
    box-shadow: 0 4px 8px rgba(0, 0, 0, .1);
    margin-bottom: 60px;
    margin-top: 60px;
    border: 1px solid #d7d9da;
}

/* ── 80% imagen ── */
.piscina-card__gallery {
    flex: 0 0 75%;
    position: relative;
    overflow: hidden;
}

    .piscina-card__gallery img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
        transition: transform .5s ease;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
    }

.piscina-card:hover .piscina-card__gallery img {
    transform: scale(1.03);
}

/* ── 20% información ── */
.piscina-card__info {
    flex: 0 0 25%;
    background: #f8f8f8;
    width: 50%;
    position: relative;
    padding: 30px;
    font-size: 14px;
}

    .piscina-card__info h3 {
        font-size: 16px;
        font-weight: 500;
        line-height: 1.4;
        text-transform: none;
        margin-top: 0;
        margin-bottom: 15px;
    }
        .piscina-card__info h3 span {
            font-size: 13px;
        }
    .piscina-card__info p {
        font-size: 12.5px;
        line-height: 1.75;
        color: rgba(255,255,255,.88);
    }

    .piscina-card__info ul {
        font-size: 12.5px;
        line-height: 1.9;
        color: rgba(255,255,255,.82);
        padding-left: 0;
    }

        .piscina-card__info ul li::before {
            content: '✦';
            color: #c8a96e;
            font-size: 9px;
            margin-right: 7px;
            vertical-align: middle;
        }
.piscina-card__info h2 {
    font-size: 20px;
    margin: 0;
    margin-bottom: 15px;
    text-transform: none;
    line-height: 30px;
}

.piscina-card__info h2 span {
    font-size: 75%;
    color: inherit;
    margin-bottom: 0;
    font-weight: 400;
}
/* Spa: a imagem só existe em formato desktop (1920x405) e o conteúdo relevante
   — logótipo, claim e handle — está no terço esquerdo. Abaixo de 992px recorta-se
   pela esquerda, em vez de encolher a imagem toda, para esse conteúdo continuar
   legível. Mesma abordagem usada em .AdvantagesSection img. */
@media (max-width: 991px) {
    .SpaSection {
        overflow: hidden;
    }
    .SpaSection img {
        width: 100%;
        max-width: unset;
        aspect-ratio: 3 / 1;
        object-fit: cover;
        object-position: left center;
    }
}
@media (max-width: 767px) {
    .SpaSection img {
        aspect-ratio: 16 / 9;
        max-height: 210px;
    }
}
/* Media Center: os banners dos hotéis são 2160x650 com logótipo, selo e morada
   no terço esquerdo. Mesmo tratamento da imagem do Spa — recortar pela esquerda
   em vez de encolher. O Videos.jpg fica de fora porque o título atravessa a
   largura toda e o recorte cortaria o texto. */
@media (max-width: 991px) {
    img[src^="/Images/Media-Center/"]:not([src$="Videos.jpg"]) {
        width: 100%;
        max-width: unset;
        aspect-ratio: 3 / 1;
        object-fit: cover;
        object-position: left center;
    }
}
@media (max-width: 767px) {
    img[src^="/Images/Media-Center/"]:not([src$="Videos.jpg"]) {
        aspect-ratio: 16 / 9;
    }
}
/* ─── Responsive ─────────────────────────────────────────────────── */
@media (max-width: 768px) {
    .piscina-card {
        flex-direction: column;
    }

    .piscina-card__gallery {
        flex: none;
        height: 240px;
    }

    .piscina-card__info {
        flex: none;
        /* anula o width: 50% da regra base, que em coluna deixava o bloco a meio */
        width: 100%;
        padding: 20px;
    }
}
/* [Calendar] */
.ui-datepicker {
    background: #EFEFEF;
    border-radius: 30px;
    -webkit-box-shadow: -10px 10px 10px 0px rgba(0, 0, 0, .25);
    box-shadow: -10px 10px 10px 0px rgba(0, 0, 0, .25);
    overflow: hidden;
}

    .ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span {
        display: block;
        left: 50%;
        margin-left: -8px;
        margin-top: -8px;
        position: absolute;
        top: 50%;
        line-height: 16px;
    }

.ui-widget-header .ui-icon {
    background-image: url(images/ui-icons_222222_256x240.png);
    width: 16px;
}

.ui-icon-circle-triangle-w {
    background-position: -80px -192px;
}

.ui-icon-circle-triangle-e {
    background-position: -48px -192px;
}

.ui-datepicker-header, .ui-datepicker-calendar thead {
    border-bottom: solid 1px #D5D5D5;
}

.ui-datepicker td span, .ui-datepicker td a {
    text-align: center !important;
}

.ui-datepicker td a {
    color: #1a0908 !important;
}

.ui-datepicker-unselectable span {
    color: #D5D5D5;
}

.ui-datepicker-current-day a, a.ui-state-hover {
    color: #1a0908;
    background: #D5D5D5;
}

.ui-datepicker .ui-datepicker-prev-hover {
    left: 2px !important;
    top: 2px !important;
}

.ui-datepicker .ui-datepicker-next-hover {
    right: 2px !important;
    top: 2px !important;
}

.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next {
}
/* [CMSEditMode] */
.bEditMode .CMS-ContentBody {
    position:relative;
}
.CMSEditMode.bEditMode .Banner {
    height:300px;
}
.CMSEditMode.bEditMode .Banner .BannerImage {
    max-height: 300px;
}
.CMSEditMode .Booking {
    bottom: unset;
    top: 80vh;
}

.CMSEditMode .owl-carousel {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    overflow: hidden;
}
.CMSEditMode .RoomsListAll.ServicesList {
    gap: 60px;
}

.CMSEditMode .RoomsListAll.ServicesList .Service {
    flex-shrink: 0;
    width: 300px;
}
.CMSEditMode.bEditMode .Booking {
    top: unset;
    position: relative;
}
.CMSEditMode .Banner .BannerImage {
    display: none;
    max-width: 100%;
}

    .CMSEditMode .Banner .BannerImage:first-child {
        display: block;
        overflow: hidden;
    }
.CmsViewPage a, .CmsViewPage a:focus, .CmsViewPage a:hover {
    color: #535349;
    font-weight: inherit;
}
.CmsViewPage a[target]:not(.btn) {
    font-weight: inherit;
}
/* [RadTreeView] */
main .RadTreeView_Default, main .RadTreeView_Default a.rtIn, main .RadTreeView_Default .rtEdit .rtIn input {
    font-size: 14px !important;
    line-height: 1.43 !important;
    font-weight: 300 !important;
    color: #636363 !important;
    text-align: left;
}
main .RadTreeView_Default .rtSelected .rtIn, main .RadTreeView_Default .rtHover .rtIn {
    background: none;
    border: 0;
    padding: 2px 3px 3px;
    text-decoration: underline;
}
main .RadTreeView_Default .rtLines .rtTop, main .RadTreeView_Default .rtLines .rtMid, main .RadTreeView_Default .rtLines .rtBot, main .RadTreeView_Default .rtLines .rtLI, main .RadTreeView_Default .rtLines .rtFirst .rtUL {
    background: none !important;
}
main .RadTreeView .rtPlus, main .RadTreeView .rtMinus {
    background: none !important;
}
main .RadTreeView_Default .rtSp, main .RadTreeView_Default .rtPlus, main .RadTreeView_Default .rtMinus{
    display: inline-block !important;
    width: 25px !important;
}
main .RadTreeView_Default .rtPlus, main .RadTreeView_Default .rtMinus {
    display: inline-block !important;
    width: 30px !important;
    height: 20px;
    background: #FFF !important;
    position: relative;
    z-index: 9;
    margin: 6px 0 0 -30px;
}
/* A seta corre dentro da caixa de 25px do .rtSp. Estava em position:absolute
   sem ancoragem, pelo que todas as setas se sobrepunham num só ponto,
   posicionadas a partir do .HomeText em vez do próprio span. */
main .RadTreeView_Default .rtSp {
    position: relative;
}
main .RadTreeView_Default .rtSp:before {
    display: inline-block;
    font-family: "Font Awesome 5 Pro";
    font-size: 14px !important;
    line-height: 1.43 !important;
    content: "\f061";
}
main .RadTreeView_Default .rtPlus:before {
    display: block;
    font-family: "Font Awesome 5 Pro";
    font-size: 0.71rem;
    content: "\f067";
    position: absolute;
    margin: -6px 0 0 6px;
}
main .RadTreeView_Default .rtMinus:before {
    display: block;
    font-family: "Font Awesome 5 Pro";
    font-size: 0.71rem;
    content: "\f068";
    position: absolute;
    margin: -6px 0 0 6px;
}
/* [Bootstrap Helpers] */
.NoPadding {
    padding: 0 !important;
    margin: 0 !important;
} .NoPaddingRight {
    padding-right: 0 !important;
    margin-right: 0 !important;
} .NoPaddingLeft {
    padding-left: 0 !important;
    margin-left: 0 !important;
} .Equal {
   display: -webkit-box;      /* OLD - iOS 6-, Safari 3.1-6 */
   display: -moz-box;         /* OLD - Firefox 19- (buggy but mostly works) */
   display: -ms-flexbox;      /* TWEENER - IE 10 */
   display: -webkit-flex;     /* NEW - Chrome */
   display: flex;
   flex-wrap:wrap;
} .Equal > [class*='col-'] {
   display: flex;
   flex-direction: column;
}
  /* MENU MOBILE */
  /* ─── HAMBURGER BUTTON ─── */
.MobileMenuToggle {
    text-align: right;
}
.HamburgerBtn {
    background: none;
    border: none;
    cursor: pointer;
    padding: 10px 4px;
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    gap: 6px;
    width: 36px;
}
.HamburgerBtn span {
    display: block;
    width: 100%;
    height: 2px;
    background: #fff;
    transition: all 0.35s ease;
    transform-origin: center;
}
.HamburgerBtn.is-open span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
.HamburgerBtn.is-open span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.HamburgerBtn.is-open span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }
.Fixed .HamburgerBtn span {
    background: #002D80;
}
/* ─── FULLSCREEN SPLIT MENU ─── */
.NavOverlay {
    position: fixed;
    inset: 0;
    z-index: 9999999999;
    display: flex;
    clip-path: circle(0% at calc(100% - 50px) 40px);
    transition: clip-path 0.6s cubic-bezier(0.22,1,0.36,1);
}
.NavOverlay.is-open {
    clip-path: circle(150% at calc(100% - 50px) 40px);
}

/* Painel esquerdo — navegação */
.NavLeft {
    width: 55%;
    background: #002D80;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 80px 60px 60px;
    position: relative;
    background-image: url(/Images/costa.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: bottom left;
}

/* Painel direito — imagem/detalhe */
.NavRight {
    width: 45%;
    background: #F2E4D7;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    padding: 50px 40px;
}
/* Imagem de fundo do painel direito */
.NavRight::before {
    content: "";
    position: absolute;
    inset: 0;
    background: url('/Images/Mobile.jpg') center center / cover no-repeat;
    opacity: 0.35;
}
/* Padrão decorativo no lugar da imagem (placeholder) */
.NavRight::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
    repeating-linear-gradient(
        45deg,
        transparent,
        transparent 40px,
        rgba(156,91,52,.06) 40px,
        rgba(156,91,52,.06) 80px
    );
}

/* Botão fechar */
.NavClose {
    position: absolute;
    top: 31px; right: 15px;
    background: rgba(255,255,255,.15);
    border: 1px solid rgba(255,255,255,.3);
    cursor: pointer;
    color: #fff;
    font-size: 16px;
    width: 40px; height: 40px;
    display: flex; align-items: center; justify-content: center;
    border-radius: 50%;
    transition: background 0.2s, transform 0.2s;
    z-index: 2;
}
.NavClose:hover {
    background: rgba(255,255,255,.25);
    transform: rotate(90deg);
}

/* Logo topo esquerdo dentro do menu */
.NavMenuLogo {
    position: absolute;
    top: 28px; left: 60px;
}
.NavMenuLogo .LCLogo img {
    filter: brightness(0) invert(1);
    height: 80px;
}
/* Subtítulo de secção */
.NavSectionLabel {
    font-family: "Lato", sans-serif;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    color: rgba(255,255,255,.5);
    margin-bottom: 28px;
}

/* Items de navegação */
.NavLinks {
    list-style: none;
    margin: 0;
    padding: 0;
}
.NavLinks ::marker {
    color: #fff;
}
.NavLinks li {
    opacity: 0;
    transform: translateX(-20px);
    transition: opacity 0.35s ease, transform 0.35s ease;
}
.NavOverlay.is-open .NavLinks li { opacity: 1; transform: translateX(0); }
.NavOverlay.is-open .NavLinks li:nth-child(1) { transition-delay: 0.18s; }
.NavOverlay.is-open .NavLinks li:nth-child(2) { transition-delay: 0.24s; }
.NavOverlay.is-open .NavLinks li:nth-child(3) { transition-delay: 0.30s; }
.NavOverlay.is-open .NavLinks li:nth-child(4) { transition-delay: 0.36s; }
.NavOverlay.is-open .NavLinks li:nth-child(5) { transition-delay: 0.42s; }
.NavOverlay.is-open .NavLinks li:nth-child(6) { transition-delay: 0.48s; }
.NavOverlay.is-open .NavLinks li:nth-child(7) { transition-delay: 0.54s; }
.NavOverlay.is-open .NavLinks li:nth-child(8) { transition-delay: 0.60s; }
.NavOverlay.is-open .NavLinks li:nth-child(9) { transition-delay: 0.66s; }
.NavOverlay.is-open .NavLinks li:nth-child(10) { transition-delay: 0.72s; }

.NavLinks li a {
    font-size: clamp(18px, 2.5vw, 26px);
    font-weight: 500;
    color: rgba(255,255,255,.85);
    text-transform: uppercase;
    text-decoration: none;
    display: block;
    padding: 6px 0;
    letter-spacing: 0.04em;
    border-bottom: 1px solid rgba(255,255,255,.12);
    transition: color 0.2s, padding-left 0.2s;
    width: 100% !important;
}
.NavLinks li:last-child a { border-bottom: none; }
.NavLinks li a:hover {
    color: #fff;
    padding-left: 10px;
}

/* Rodapé esquerdo */
.NavLeftFooter {
    margin-top: 40px;
    display: flex;
    align-items: center;
    gap: 20px;
    opacity: 0;
    transition: opacity 0.4s ease 0.55s;
}
.NavOverlay.is-open .NavLeftFooter { opacity: 1; }
.LangLinks {
    font-size: 13px;
    color: rgba(255,255,255,.3);
    margin: 0;
}
.LangLinks span {
    margin: 0 1px;
    opacity: 1;
    text-transform: uppercase;
    position: relative;
    display: inline-block;
}
.LangLinks a { color: rgba(255,255,255,.7); text-decoration: none; }
.LangLinks a:hover { color: #fff; }
.NavOverlay .LanguagesMenu span span, .NavOverlay .LanguagesMenu span a {
    color: #fff;
}
.NavSocial { display: flex; gap: 8px; }
.NavSocial a {
    width: 30px; height: 30px;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,.35);
    color: rgba(255,255,255,.75);
    display: flex; align-items: center; justify-content: center;
    font-size: 12px;
    text-decoration: none;
    transition: border-color 0.2s, color 0.2s;
}
.NavSocial a:hover { border-color: #fff; color: #fff; }
.NavSocial > ul {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
    gap: 8px;
}
.NavLeft .LCMenu {
    margin-top: 50px;
}
/* Conteúdo painel direito */
.NavRightContent {
    position: relative;
    z-index: 2;
    text-align: center;
}
.NavRightContent .Tagline {
    
    font-size: 14px;
    color: #002D80;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 16px;
    display: block;
}
.NavRightContent .BookBtn {
    font-family: "Lato", sans-serif;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #fff;
    border: 1px solid #002D80;
    background: #002D80;
    padding: 12px 30px;
    display: inline-block;
    text-decoration: none;
    transition: background 0.2s, color 0.2s;
}
.NavRightContent .BookBtn:hover { background: #fff; color: #002D80; }

.NavRightContent .ContactInfo {
    font-size: 13px;
    color: #002D80;
    margin-top: 20px;
    line-height: 22px;
    opacity: 0;
    transition: opacity 0.4s ease 0.6s;
}
.NavOverlay.is-open .NavRightContent .ContactInfo { opacity: 1; }
.NavRightContent .ContactInfo a { color: #002D80; text-decoration: none; }
.NavRightContent .ContactInfo i { margin-right: 6px; }

/* Logo painel direito (topo) */
.NavRightLogo {
    position: absolute;
    top: 36px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
    text-align: center;
    opacity: 0;
    transition: opacity 0.4s ease 0.3s;
}
.NavOverlay.is-open .NavRightLogo { opacity: 1; }
.NavRightLogo img {
    height: 80px;
}
  /* =====================================================================
   RESPONSIVE — SunSol Hoteles
   Breakpoints:
     XS  : ≤ 767px
     SM  : 768px – 991px
     MD  : 992px – 1199px
     LG  : 1200px – 1365px
     XL  : ≥ 1366px  (custom, Bootstrap 3 não tem)
   ===================================================================== */


/* ─── 1. HEADER + MENU ──────────────────────────────────────────────── */

/* ── XL: ≥ 1366px ── */
@media (min-width: 1366px) and (max-width: 1919px) {
    .NewsletterLeftSectionTitle {
        font-size: 34px;
    }

    .NewsletterLeftSectionDescription {
        font-size: 16px;
    }
    .ServiceDescription {
        font-size: 11px;
        line-height: 1.43;
    }
}

/* ── LG: 1200px – 1365px ── (base desktop, sem alterações de mérito) */
@media (min-width: 1200px) and (max-width: 1365px) {
    .NewsletterLeftSectionTitle {
        font-size: 34px;
    }

    .NewsletterLeftSectionDescription {
        font-size: 16px;
    }
    .ServiceDescription {
        font-size: 13px;
        line-height: 1.43;
    }
    .SpecialOffer .Description {
        padding: 25px;
    }
}
/* ── MD: 992px – 1199px ── */
@media (min-width: 992px) and (max-width: 1199px) {
    .Menu .CMSMenu ul li {
        font-size: 13px;
        margin: 0 6px;
    }
    .HeaderLogo img {
        width: 160px;
    }
    .Search .InputDate.InputDateLast {
        display: none;
    }

    .Search .InputDate:nth-child(2):after {
        display: none;
    }
    .NewsletterLeftSection {
        margin-bottom: 30px;
    }

    .NewsletterLeftSection:after {
        bottom: 30px;
        height: calc(100% - 30px);
    }
    .ServiceDescription {
        font-size: 14px;
        line-height: 1.43;
    }
    .HotelContacts {
        display: flex;
        flex-direction: row;
        align-items: stretch;
        min-height: unset;
    }

    .HotelContactsImageContainer img.HotelContactsImage {
        width: 100%;
        min-height: 100%;
        object-fit: cover;
        aspect-ratio: unset;
    }

    .HotelContactsImageContainer {
        width: 50%;
    }

    .HotelContactsInformationContainer {
        width: 50%;
    }

    .MobileMenuToggle {
        width: auto;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        padding-right: 30px;
    }
    .NavMenuLogo .LCLogo img {
        filter: brightness(0) invert(1);
    }
    .SpecialOffer .Description {
        padding: 25px;
    }
}

/* ── SM: 768px – 991px ── */
@media (min-width: 768px) and (max-width: 991px) {
    header {
        padding-top: 20px;
    }
    .Menu .CMSMenu {
        margin-top: 14px;
        margin-bottom: 22px;
    }
    .Menu .CMSMenu ul li {
        font-size: 11px;
        margin: 0 4px;
    }
    .HeaderLogo img {
        width: 130px;
    }
    .Fixed .HeaderLogo img {
        width: 100px;
    }

    .Search .InputDate.InputDateLast {
        display: none;
    }

    .Search .InputDate:nth-child(2):after {
        display: none;
    }

    .NewsletterLeftSection {
        margin-bottom: 30px;
    }

        .NewsletterLeftSection:after {
            bottom: 30px;
            height: calc(100% - 30px);
        }

    .ServiceDescription {
        font-size: 14px;
        line-height: 1.43;
    }

    .HotelContacts {
        display: flex;
        flex-direction: row;
        align-items: stretch;
        min-height: unset;
    }

    .HotelContactsImageContainer img.HotelContactsImage {
        width: 100%;
        min-height: 100%;
        object-fit: cover;
        aspect-ratio: unset;
    }

    .HotelContactsImageContainer {
        width: 50%;
    }

    .HotelContactsInformationContainer {
        width: 50%;
    }
    .Search .InputDate > span {
        font-size: 12px;
    }

    .Search .InputDate > input, .Search .InputDate > select, .Search .InputDate > button {
        font-size: 12px;
    }

    .Search .nice-select {
        font-size: 12px;
    }

    .Search .InputDate > i {
        font-size: 24px;
        width: 28px;
        height: 28px;
    }
    .Search .InputDate {
        padding: 5px;
    }
    .Search {
        font-size: 0;/* Retira espaço em branco a mais entre os elementos interiores e o parent*/
    }
    .AdvantagesSection img {
        width: 160%;
        max-width: unset;
    }

    .AdvantagesSection {
        overflow: hidden;
    }
    .SealsSectionImage {
        border-right: 0;
        margin-bottom: 30px;
        text-align: center;
    }

    .SealsSectionSuccesses {
        text-align: center;
    }

    .MobileMenuToggle {
        width: auto;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        padding-right: 30px;
    }

    .NavMenuLogo .LCLogo img {
        filter: brightness(0) invert(1);
    }

    .SpecialOffer .Description {
        padding: 25px;
    }
}

/* ── XS: ≤ 767px ── */
@media (max-width: 767px) {

    /* --- Header geral --- */
    header {
        padding: 0;
        position: fixed;
    }
    header .container {
        padding-left: 15px;
        padding-right: 15px;
    }
    header .container > .row {
        display: flex;
        flex-direction: row;
        align-items: center;
        min-height: 58px;
    }

    /* Colunas do header em mobile */
    header .col-md-3 {
        width: auto;
        flex: 1;               /* logo ocupa espaço restante */
        float: none;
    }
    header .col-md-9 {
        display: none;         /* menu desktop oculto */
    }
    header .col-xs-2 {
        width: auto;
        float: none;
        padding: 0;
    }
    /*Special offers*/
    .SpecialOffer {
        flex-direction: column-reverse;
    }
    .SpecialOffer .Description {
        padding: 25px;
        width:100%;
    }
    .SpecialOffer .itemImage {
        width:100% !important;
    }
    .specialoffers_carousel {
        width: 100% !important;
        margin-left: 0;
    }
    .SpecialOffers {
        padding: 20px 22px 20px;
    }
    .SpecialOffers h2 {
        font-size: 20px;
    }

    /* --- Logo mobile --- */
    .HeaderLogo {
        padding: 10px 0;
    }
    .HeaderLogo img {
        width: auto;
        height: 80px;
    }
    .Fixed .HeaderLogo {
        margin-top: 0;
    }
    .Fixed header .HeaderLogo img {
        width: auto;
        content: url(/Images/Logo.png);  /* troca para logo escuro no Fixed */
    }

    /* --- Header fixo em mobile --- */
    .Fixed header {
        padding: 0;
        background: #fff;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
    }


    .Search .InputDate.InputDateLast {
        display: none;
    }

    .Search .InputDate:nth-child(2):after {
        display: none;
    }

    .NewsletterLeftSection {
        margin-bottom: 30px;
    }

    .NewsletterLeftSection:after {
        bottom: 30px;
        height: calc(100% - 30px);
        display:none;
    }
    .NewsletterLeftSectionTitle {
        margin-bottom: 15px;
        font-size: 22px;
    }
    section.ServicesSection h2 {
        font-size: 24px;
    }
    .bmform_Container {
        width: 100% !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
    }

    .bmform_button572311 {
        width: 100%;
        margin-left: 0;
    }

    [name="ddlddfield19_2XKQ"], [name="ddlmmfield19_2XKQ"], [name="ddlyyfield19_2XKQ"] {
        width: 32% !important;
    }
    section.NewsletterSection h2 {
        font-size: 22px;
        text-align: center;
    }

    .NewsletterLeftSectionDescription {
        font-size: 16px;
        text-align: center;
    }
    section.SocialsSection {
        padding: 0 20px;
    }
    .SocialsSection h2 {
        font-size: 20px;
    }

    .SocialsSection h2 span {
        font-size: 32px;
        margin-top: 10px;
    }
    .ServiceDescription {
        font-size: 13px;
        line-height: 1.43;
    }
    section.ServicesSection .Service h2 {
        font-size: 12px;
    }
    .HotelContacts {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        min-height: unset;
    }

    .HotelContactsImageContainer img.HotelContactsImage {
        width: 100%;
        min-height: 100%;
        object-fit: cover;
        aspect-ratio: unset;
    }

    .HotelContactsImageContainer {
        width: 100%;
    }

    .HotelContactsInformationContainer {
        width: 100%;
    }
    .OurPropertiesContainer > .row {
        flex-direction: column-reverse;
    }

    .OurProperties {
        margin-bottom: 30px;
    }

    .OurProperties img.MainImage {
        width: 100%;
    }
    .Search .InputDate > span {
        font-size: 12px;
    }

    .Search .InputDate > input, .Search .InputDate > select, .Search .InputDate > button {
        font-size: 12px;
    }

    .Search .nice-select {
        font-size: 12px;
    }

    .Search .InputDate > i {
        font-size: 24px;
        width: 28px;
        height: 28px;
    }

    .Search .InputDate {
        padding: 5px;
        display: none;
    }

    .Search {
        font-size: 0; /* Retira espaço em branco a mais entre os elementos interiores e o parent*/
    }

    .AdvantagesSection img {
        width: 100%;
        max-width: unset;
        aspect-ratio: 16 / 9;
        object-fit: cover;
        object-position: -252px center;
        max-height: 210px;
    }

    .AdvantagesSection {
        overflow: hidden;
    }

    .SealsSectionImage {
        border-right: 0;
        margin-bottom: 30px;
        text-align: center;
    }

    .SealsSectionSuccesses {
        text-align: center;
    }
    .Search .Button {
        width: 100%;
    }

    .Search .Button a {
        width: 100%;
        transition:all 0.4s;
    }
    .Fixed .Search .Button a {
        height: 50px;
    }

    .NavLeft {
        width: 100%;
        padding: 80px 32px 50px 15px;
    }

    .NavRight {
        display: none;
    }

    .MobileMenuToggle {
        display: flex;
        align-items: center;
        justify-content: flex-end;
    }
    .NavMenuLogo .LCLogo img {
        filter: brightness(0) invert(1);
    }
    .NavMenuLogo {
        position: absolute;
        top: 10px;
        left: 15px;
    }
    .NavLeft {
        background-size: 200% auto;
    }
    /*Banner*/
    .Slogan span.Title {
        font-size: 24px;
        line-height: 28px;
    }

    .Slogan span.Description {
        font-size: 16px;
        line-height: 20px;
        letter-spacing: 2px;
    }

    .Slogan {
        padding-left: 70px;
        padding-right: 70px;
    }
    .NewsletterSectionImage img {
        position: relative;
        top: -30px;
        bottom: 0;
    }
    /*Main*/
    main .HomeText h1 {
        font-size: 24px;
    }

    main .HomeText h1 span {
        font-size: 18px;
    }

    /* Alvo tátil: com o padding do Bootstrap os botões ficavam a 34px */
    main .btn,
    .SectionsAll .btn {
        padding: 11px 16px;
        margin-bottom: 15px;
    }
    .SectionsAll .RoomInfoContent .btn {
        width: 100%;
    }
    /* Mesmo padrão do .HotelText: 30px de cada lado deixavam 268px úteis de 328.
       Selector completo para bater a especificidade da regra base. */
    .RoomsListAll .RoomsContainer .RoomInfo {
        padding: 20px;
    }

    .Social {
        text-align: center;
    }

    footer .Institutional.Ul .CMSMenu ul {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        margin: auto;
        float: none;
    }

    footer .Institutional.Ul .CMSMenu {
        float: none;
        margin-top: 30px;
    }

    .Copyright {
        text-align: center;
    }

    .Powered {
        text-align: center;
    }

    .RoomsListAll .RoomsContainer {
        flex-direction: column;
    }

    .RoomsListAll .RoomsContainer .RoomInfo, .RoomsListAll .RoomsContainer .RoomImage {
        width: 100%;
    }

    .RoomsListAll .RoomsContainer .RoomImage {
        order: 1 !important;
        min-height: 200px;
        display: flex;
        flex-direction: column;
    }

    .RoomsListAll .RoomsContainer .RoomInfo {
        order: 2 !important;
    }
        .RoomsListAll .RoomsContainer ul li {
            width: 100%;
        }
    .Fixed .Search .Button a span {
        display:none;
    }
}