@import 'theme.css';

html, body {
    font-size: 1rem;
    color: #434343;
    font-family: 'Nunito Sans', Arial, sans-serif;
    /*background: var(--rojo);*/
}

main {
    max-width: 1920px;
    overflow-x: hidden;
}

.cookie-consent {
    width: 100%;
    z-index: 1050;
    border-top: 2px solid #041a72;
    background-color: var(--variable-color);
    color: white;
    color: #041a72;
    position: fixed;
    bottom: 0;
    padding: 2rem;
}

.cookie-consent__title {
    font-weight: bold;
    font-size: 1.3rem;
    margin: 2rem auto;
    text-align: center;
}

.cookie-consent__agree {

}

.downlinks {
    font-size: .8rem;
}

a,
a:hover,
a:active {
    text-decoration: none !important;
}

b {
    font-weight: bold;
}

a.bg-secondary:focus,
a.bg-secondary:hover,
button.bg-secondary:focus,
button.bg-secondary:hover {
    background-color: #108bc0 !important;
}

.text.clear-text * {
    font-family: 'Nunito', sans-serif !important;
    font-size: 1rem !important;
    font-weight: 300;
    line-height: 24px;
    color: #434343 !important;
}

.text strong,
.text b,
.subtitle {
    color: #129cd8;
}

.text-ucfirst {
    text-transform: lowercase;
}

.text-ucfirst::first-letter {
    text-transform: uppercase;
}

.underline {
    border-bottom: 3px solid var(--variable-color) !important;
}

.underline-thin {
    border-bottom: 1px solid var(--variable-color) !important;
}

.no-underline {
    text-decoration: none !important;
    border-bottom: none !important;
}

.overline {
    border-top: 3px solid var(--variable-color) !important;
}

.overline-thin {
    border-top: 1px solid var(--variable-color) !important;
}

.no-overline {
    text-decoration: none !important;
    border-top: none !important;
}

/* Colors */
.text-primary {
    color: #041a72 !important;
}

.text-secondary {
    color: #129cd8 !important;
}

.text-body {
    color: #434343 !important;
}

.text-green {
    color: var(--variable-color) !important;
}

.bg-primary {
    background-color: #041a72 !important;
}

.bg-secondary {
    background-color: #129cd8 !important;
}

.bg-green {
    background-color: var(--variable-color) !important;
}

.bg-body {
    background-color: #434343 !important;
}

.bg-superlight {
    background-color: #efefef !important;
}

/* Icons */
.icon {
    color: white;
    background-color: #129cd8;
    border-radius: 50%;
    padding: 10px;
}

button.btn-primary,
a.btn-primary,
.white-skin button.btn-primary,
.white-skin a.btn-primary,
.white-skin div.btn-primary {
    background-color: #041a72 !important;
}

button.btn-light-green,
a.btn-light-green {
    background-color: var(--variable-color) !important;
}

/* SIDE NAV */
.side-nav .logo-wrapper {
    border: none;
    height: auto !important;
}

.side-nav .logo-wrapper a {
    height: auto !important;
}

.side-nav .logo-wrapper a img {
    max-width: 220px;
}

.side-nav a {
    height: auto !important;
    line-height: 30px;
    color: #041a72;
}

.side-nav a:hover {
    color: #041a72 !important;
}

.side-nav .btn:hover {
    transform: scale(1.1);
}

.side-nav a.btn-checkin:hover {
    color: #fff !important;
}

.side-nav a.btn {
    height: 40px;
    line-height: 16px;
    padding-left: 2.14rem;
}

.side-nav a.btn-checkin,
.side-nav a.btn-book {
    width: 75%;
}

.side-nav span,
.side-nav a.phone[href^=tel],
.side-nav i {
    color: #129cd8 !important;
}

.side-nav .fc-comment {
    font-size: .8rem;
}

.side-nav a.all-hotels {
    color: #129cd8 !important;
    border-color: #129cd8 !important;
}

.side-nav a.all-hotels:hover {
    background: #041a72 !important;
    color: white !important;
    border-color: #041a72 !important;
}

/* NAVBAR */
.navbar {
    max-width: 1902px;
}

.navbar .select-wrapper {
    top: -1px;
    width: 100px;
}

.navbar input.select-dropdown {
    font-weight: 300;
    color: #129cd8 !important;
}

.navbar .select-wrapper input.select-dropdown,
.navbar .datepicker.picker__input {
    top: 1px;
    border-bottom: none;
}

.navbar select.mdb-select {
    position: relative;
    top: -1px;
    width: 100px
}

.navbar input#from-date.form-control.picker__input,
.navbar input#to-date.form-control.picker__input,
.navbar input#from-date.form-control.picker__input::placeholder,
.navbar input#to-date.form-control.picker__input::placeholder,
.navbar .select-wrapper .caret,
.navbar .dropdown-content li > a,
.navbar .dropdown-content li > span {
    color: #129cd8 !important;
}

/* CONTENT */
.content-wrapper {
    padding-top: 45px;
}

/* COVERS */
.cover img {
    max-width: 100%;
}

.cover .head {
    margin: 3rem 2rem 4rem 2rem;
}

.cover .head .title {
    font-size: 2rem;
}

.cover .title {
    font-weight: 300;
    text-transform: uppercase;
}

.cover .title strong,
.cover .title b,
section .subtitle {
    display: block;
}

.Cover__FooterMessage {
    position: relative;
}

.Cover__FooterMessage i {
    line-height: 24px;
}

.Cover__FooterMessage > div {
    display: inline;
}

@media (min-width: 576px) {
    .Cover__FooterMessage {
        position: absolute;
        bottom: 0;
        left: 0;
    }
}

.ErrorCover {
    height: calc(100vh - 45px);
    max-height: 1080px;
    background-position-x: calc(-1580px + 100vw); /* -2000px + 420px */
    background-position-y: calc(-705px + 100vh); /* -1125px + 420px */
    background-repeat: no-repeat;
}

.ErrorContent {
    width: 175px;
    right: 115px;
    bottom: 10vh;
}

.ErrorContent div {
    font-size: 1.5rem;
}

.ErrorContent > h1 {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 5px solid;
    width: 60%;
}

.ErrorContent strong,
.ErrorContent b {
    font-size: 2.75rem;
    font-weight: bold;
    text-transform: uppercase;
}

@media (min-height: 680px) {
    .ErrorCover {
        background-position-y: calc(-705px + 80vh); /* -1125px + 420px */
    }

    .ErrorContent {
        bottom: 20vh;
    }
}

@media (min-height: 860px) {
    .ErrorCover {
        background-position-y: calc(-705px + 70vh); /* -1125px + 420px */
    }

    .ErrorContent {
        bottom: 30vh;
    }
}

@media (min-height: 1000px) {
    .ErrorCover {
        background-position-y: calc(-705px + 52vh); /* -1125px + 420px */
    }

    .ErrorContent {
        bottom: 35vh;
    }
}

@media (min-width: 1441px) {
    .ErrorCover {
        background-position-x: calc(-1840px + 100vw); /* -2000px + 420px */
    }
}

@media (min-width: 1920px) {
    .ErrorCover {
        background-position-x: center;
        background-position-y: center;
    }

    .ErrorContent {
        right: 360px;
    }
}

/* CONTENT   */
.header {
    text-align: center;
    font-size: 2rem;
    font-weight: 300;
    text-transform: uppercase;
    color: #041a72;
}

.banner img,
.block img {
    max-width: 100%;
}

.badge-item {
    max-width: 200px;
}

.title-small {
    font-size: 1.5rem;
}

/* HOME */
#carousel {
    position: relative;
    top: .5rem;
}

.roomlist .title {
    font-size: 2rem;
}

.roomlist .list li a {
    line-height: 1.2;
}

.roomlist .list li a:hover {
    background-color: var(--variable-color);
}

.block .title {
    font-size: 2rem;
}

/* ROOMTYPES */
.roomtype {
    cursor: pointer;
}

.roomtype h3.title {
    font-size: 1.5rem;
}

.roomtype-detail .subtitle {
    font-size: 1.5rem;
}

.feature-icon-wrapper img {
    max-width: 36px;
}

.roomtype:hover p {
    background: var(--variable-color);
    padding-left: 1rem;
    padding-right: 1rem;
    -webkit-transition: all .2s ease-in-out;
    -o-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out;
}

.roomtype .show-hover {
    display: none;
}

.roomtype:hover .hide-hover {
    display: none;
}

.roomtype:hover .show-hover {
    display: inline;
}

.featured img {
    width: 100%;
}

.opinion {
    color: #07a64f;
    font-size: .9rem;
}

.quotation {
    quotes: "\201C" "\201D" "\2018" "\2019";
    line-height: 1.4;
}

.quotation:before {
    content: open-quote;
    display: inline;
    height: 0;
    line-height: 0;
    left: -10px;
    position: relative;
    top: 20px;
    color: #07a64f;
    font-size: 3rem;
}

.quotation::after {
    content: close-quote;
    display: inline;
    height: 0;
    line-height: 0;
    left: 5px;
    position: relative;
    top: 20px;
    color: #07a64f;
    font-size: 3rem;
}

.quotation > div {
    display: inline;
}

.opinion img {
    max-width: 200px;
}

/* EVENTS */
.event-dates .event-date {
    padding: .25rem .5rem;
    cursor: pointer;
}

.event-dates .event-date:hover,
.event-date-selected {
    padding: .25rem .5rem;
    background: #041a72;
    border-radius: .25rem;
    color: white !important;
}

.event-booking {
    border-top: 3px solid var(--variable-color);
}

.event-booking .date {
    border-bottom: 1px solid transparent;
    padding-bottom: .40rem !important;
    width: 24.5%;
}

.event-booking .date a,
.event-booking .date a:active,
.event-booking .date a:hover {
    color: #434343;
    text-decoration: none;
}

.event-booking .date a:hover {
    border-bottom: 1px solid #434343;
}

.featured_cont {
    overflow: hidden;
}

.event-cover-wrapper img,
.featured_cont img,
.featured-wrapper img,
.activity img {
    max-width: 100%;
}

.download-list-title {
    font-size: 1.5rem;
}

.download-title {
    font-size: 1.3rem;
}

.featured_cont.right img {
    float: right;
}

.featured_cont.left img {
    float: left;
}

.download,
.download:active,
.download:focus {
    color: #434343 !important;
}

.download:hover {
    color: #129cd8 !important;
}

/* DEALS */
.deal-detail img {
    max-width: 100%;
}

.conditions .number {
    font-size: 1.2rem;
    color: var(--variable-color);
    font-weight: bold;
}

.tw-advertisement {
    bottom: 0;
    width: 100%;
    font-size: 1.2rem;
}
.relatedDeal {
    width: 100%;
    height: 100%;
}
.relatedDeal > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}


/* SERVICES */
.recomendation .fa {
    font-size: 2rem;
    color: var(--variable-color);
}

.service-col {
    height: 200px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

.service {
    position: relative;
    overflow: hidden;
    cursor: pointer;
    -webkit-transition: all .2s ease-in-out;
    -o-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out;
}

.service.service-one {
    height: 100%;
}

.service .description {
    position: relative;
    top: -120px;
    height: 100px;
    overflow: hidden;
    -webkit-transition: all .2s ease-in-out;
    -o-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out;
}

.service .title a {
    position: relative;
    top: -120px;
    font-size: 1.5rem;
    -webkit-transition: all .2s ease-in-out;
    -o-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out;
}

.service.service-one .title a {
    top: 0px;
}

.service:hover {
    background: white;
}

.service.service-one:hover {
    height: 100%;
    background: rgba(255, 255, 255, 0.8);
}

.service:hover .description {
    top: 0px;
    color: #434343;
}

.service.service-one:hover .title a,
.service:hover .title a {
    top: 0px;
    color: #129cd8 !important;
}

.service-one-text {
    max-height: 200px;
    overflow: hidden;
}

.carousel-wrapper {
    max-width: 530px;
}

.carousel-wrapper img {
    max-width: 100%;
}

/* CONTACT */
.contact .cover {
    height: auto;
    max-height: inherit;
}

.contact .cover img {
    max-width: 100%;
}

.main-contact-info i.icon {
    width: 36px;
    height: 36px;
}

.main-contact-info i.icon.fa-map-marker {
    padding-left: .8rem;
}

.main-contact-info .text {
    font-size: .9rem;
}

.contact-form .invalid-feedback {
    display: block;
}

.contact-form label {
    color: #434343;
}

.contact-form .form-control {
    border-color: #434343 !important;
}

.contact-form input[type=text] {
    background: white;
    transition: background .4s;
}

.contact-form input[type=text] + label {
    color: #434343;
    padding-left: 0.5rem;
    transition: color .4s;
}

/* HOW TO GET THERE */
.md-accordion .card .btCollapse {
    float: right;
    font-size: .9rem !important;
    padding: 5px 8px;
    background: var(--variable-color);
    color: white;
    position: relative;
    top: 3px;
}

.md-accordion .card .fa-angle-down {
    float: none;
}

.md-accordion .card h2 {
    font-size: 1.2rem;
}

ul.nav-tabs a img {
    width: 48px;
}

ul.nav-tabs a img.iconImg {
    display: inline;
}

ul.nav-tabs a img.iconImg-active {
    display: none;
}

ul.nav-tabs a.active img.iconImg {
    display: none;
}

ul.nav-tabs a.active img.iconImg-active {
    display: inline;
}

.md-tabs .nav-item.open .nav-link,
.md-tabs .nav-link.active {
    background-color: #129cd8;
    color: #fff;
    transition: all 1s;
    border-radius: 0;
}

.md-accordion .card,
.md-accordion .card:first-of-type,
.md-accordion .card:not(:first-of-type):not(:last-of-type) {
    border-bottom: none;
}

.md-accordion .card .card-header {
    border-bottom: 2px solid var(--variable-color);
}

.md-accordion .card .card-body {
    position: relative;
    top: 1px;
}

.TCall {
    cursor: pointer;
    position: fixed;
    top: 60px;
    right: -255px;
    display: block;
    z-index: 9999;
    width: 300px;
    -webkit-transition: right .4s;
    -moz-transition: right .4s;
    -ms-transition: right .4s;
    -o-transition: right .4s;
    transition: right .4s;
    overflow: hidden;
    height: 55px;
}

.TCall--active {
    height: 260px;
}

.TCall--shadow {
    box-shadow: 0 8px 17px 0 rgba(0, 0, 0, .2), 0 6px 20px 0 rgba(0, 0, 0, .19) !important;
}

.TCall__Header {
    background-color: var(--variable-color);
    color: white;
    padding: 1rem 1.2rem;
}

.TCall__Title {
    font-size: 1.2rem;
}

.TCall__Body {
    background: white;
    position: relative;
    top: -200px;
    z-index: -10;
    padding: 1rem;
    -webkit-transition: all .2s;
    -moz-transition: all .2s;
    -ms-transition: all .2s;
    -o-transition: all .2s;
    transition: all .2s;
    height: 214px;
}

.TCall__Close {
    position: absolute;
    right: 1rem;
    top: 1.1rem
}

.TCall--active .TCall__Close {
    display: block;
}

.TCall:not(.TCall--active) .TCall__Close {
    display: none;
}

.TCall:hover,
.TCall--active {
    right: 0px;
}

.TCall--active .TCall__Body {
    top: 0px;
}

.TCall__SubmitText {
    display: inline;
}

.TCall__SubmitLoading {
    display: none;
}

.TCall--connecting .TCall__SubmitText {
    display: none;
}

.TCall--connecting .TCall__SubmitLoading {
    display: inline;
}

.TCall--calling.TCall--active {
    height: 120px;
}

.TCall--calling .TCall__Body {
    display: none;
}

.TCall--calling .TCall__Footer {
    display: block;
    background: white;
    padding: 1rem;
    font-size: 1.5rem;
}

@media (max-width: 767px) {
    .servicetype-features {
        border-top: none !important;
    }
}

@media (min-width: 576px) {
    .tw-advertisement {
        font-size: 1.4rem;
    }

    #roomtype-carousel {
        width: 530px;
        display: block !important;
        margin: auto;
    }

    .md-accordion .card h2 {
        font-size: 1.5rem;
    }

    ul.nav-tabs a img {
        width: 64px;
    }

    .DigitalMenu__LogoWrp {
        height: 435px;
    }

    .DigitalMenu__Logo {
        background-color: transparent !important;
        max-width: 55% !important;
    }

}

@media (min-width: 768px) {
    .navbar .form-inline {
        width: calc(100% - 25px);
    }

    .cover .head .title {
        font-size: 3rem;
    }

    .tw-advertisement {
        font-size: 1.6rem;
    }

    #roomtype-carousel {
        width: 460px;
        display: block !important;
        margin: auto;
    }

    .opinion {
        color: #07a64f;
        font-size: 1.1rem;
    }

    .quotation:before {
        font-size: 3.2rem;
    }

    .quotation::after {
        font-size: 3.2rem;
    }

    .md-accordion .card h2 {
        font-size: 1.6rem;
    }
}

@media (min-width: 992px) {
    .navbar .form-inline button[type=submit] {
        position: relative;
        right: -3px;
    }

    .header {
        font-size: 2.2rem;
    }

    .overline-lg {
        border-top: 3px solid var(--variable-color) !important;
    }

    form select.mdb-select {
        display: none !important;
    }

    .contact .cover {
        min-height: 20vh !important;
    }

    .featured .featured-info {
        max-width: 75%;
    }

    .main-contact-info i.icon {
        width: 42px;
        height: 42px;
        font-size: 1.3rem;
        padding: .6rem;
    }

    .main-contact-info i.icon.fa-phone {
        padding: .7rem;
    }

    .main-contact-info i.icon.fa-map-marker {
        padding-left: 0.9rem;
    }

    .main-contact-info .text {
        font-size: 1.1rem;
    }

    .event-detail-info {
        height: 270px;
    }

    .event-detail-info .button-row {
        border-top: 3px solid var(--variable-color);
    }

    .event-detail-info .outdated .btn {
        display: inline !important;
        width: auto;
        margin-right: 0 !important;
        float: right;
    }

    .outdated .col {
        border-bottom: 3px solid var(--variable-color);
    }

    .event-detail-booking-form button {
        width: auto !important;
        display: inline-block !important;
    }
}

@media (min-width: 1010px) {
    .select-wrapper.adultos,
    .select-wrapper.ninos,
    .people-separator {
        display: block !important;
    }

    .people-separator {
        font-size: 1.5rem
    }
}

@media (min-width: 1441px) {
    .navbar .form-inline {
        margin-left: 196px !important;
        max-width: 1724px;
    }
}

@media (min-width: 1200px) {
    main {
        padding-right: 15px;
    }

    .header {
        font-size: 2.5rem;
    }

    .contact .cover {
        min-height: 30vh !important;
    }

    .roomtype h3.title {
        font-size: 1.75rem;
    }

    #roomtype-carousel {
        width: 530px;
        display: block !important;
        margin: auto;
    }

    .opinion {
        color: #07a64f;
        font-size: 1.5rem;
    }

    .quotation:before {
        top: 30px;
        font-size: 5rem;
    }

    .quotation::after {
        top: 30px;
        font-size: 5rem;
    }

    .event-detail-info {
        height: 300px;
    }
}

@media (min-width: 1905px) {
    .TCall {
        left: 1605px;
    }
}

.DigitalMenu {
    max-width: 700px !important;
    margin: 0 auto;
    min-height: 100vh;
}

.DigitalMenu__Logo {
    padding: 3rem;
    background-color: white;
    max-width: 100%;
}

.DigitalMenu__IndexButton {
    background-color: var(--digitalMenu-indexBtn);
    font-size: 1.4rem !important;
}

.DigitalMenu__IndexButtonImg {
    height: 5rem;
    width: auto;
}

.DigitalMenu .navbar img {
    height: 2rem;
}

.DigitalMenu .Shrink {
    font-size: 1.2rem;
    height: 1.4em;
    border: 1px solid black;
}

.DigitalMenu .Enlarge {
    font-size: 1.7rem;
    height: 1.3em;
    border: 1px solid black;
}

.DigitalMenu .MenuButton {
    background: var(--digitalMenu-secondary);
    border: 1px solid white;
}

.DigitalMenu .Active {
    background: var(--digitalMenu-primary);
}

.DigitalMenu .Category__Title > span {
    color: var(--digitalMenu-primary);
    font-size: 2rem;
    border-bottom: 5px solid var(--digitalMenu-secondary);
}

.DigitalMenu .Category__SubTitle > span {
    color: var(--digitalMenu-primary);
    font-size: 1.5rem;
    border-bottom: 3px solid var(--digitalMenu-secondary);
}

.DigitalMenu .Included {
    color: #a99d97;
    font-size: 0.8rem;
}

.FontSizeTitlePlus {
    font-size: 2rem;
}

.FontSizeDescriptionPlus {
    font-size: 1.5rem;
}


a[aria-expanded=true] .fa-chevron-right {
    display: none;
}

a[aria-expanded=false] .fa-chevron-down {
    display: none;
}

.DigitalMenu .Category__Item hr {
    width: 85%;
    border-top: 3px solid var(--digitalMenu-primary);
}

.DigitalMenu .Category__Item .Icon {
    height: 1.7rem;
}

.DigitalMenu .Category__Item a {
    color: black;
    text-decoration: underline !important;
}

.DigitalMenu .CategoryItem__Title {
    font-size: 1.5rem;
}

.DigitalMenu .CategoryItem__Price {
    color: var(--digitalMenu-price);
    font-size: 1.6rem;
}

.DigitalMenu .Allergens {
    background: var(--digitalMenu-primary);
}

.DigitalMenu .Allergens__Icon {
    height: 1.5rem;
    width: auto;
}

.DigitalMenu .Allergens__Bnt {
    color: var(--digitalMenu-primary);
}

.DigitalMenu .Back__Bnt {
    background: var(--digitalMenu-primary);
    color: white;
}

.DigitalMenu .Allergens__Title {
    font-size: 1.8rem;
    font-weight: bold;
    color: var(--digitalMenu-primary);
}

.DigitalMenu .CategoryItem__Units {
    font-size: 0.8rem;
    color: #a99d97;
}

@media (max-width: 576px) {
    .DigitalMenu .MenuButton a {
        font-size: 0.7rem;
    }
}

@media (max-width: 768px) {
    .DigitalMenu .MenuButton a {
        font-size: 0.8rem;
    }
}

@media (max-width: 769px) {
    .DigitalMenu .MenuButton a {
        font-size: 1rem;
    }
}

.body-blackout {
    position: fixed;
    z-index: 1010;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, .65);
    display: none;

}

.body-blackout .is-blacked-out {
    display: block;
}

.popup-trigger {
    display: inline-block;
    cursor: pointer;
}

.popup-trigger i {
    padding: .1rem;
}

.Modal {
    width: 90%;
    background-color: #fff;
    padding: 45px;
    opacity: 0;
    pointer-events: none;
    z-index: 1011;
}

.Modal .is--visible {
    opacity: 1;
    pointer-events: auto;
}

.Modal__Close {
    position: absolute;
    right: 11px;
    top: -15px;
    cursor: pointer;
    background-color: var(--digitalMenu-primary);
}

