
:root {
    --header-bar-height: 80px;
    --menus-header-height: 40px;
    --header-icons-top-space: 24px;
    --header-icons-size: 24px;
    --menu-left-width: 400px;
}


/* animations */

@keyframes open_top_menu {
    0% {transform:translateY(-100%)}
    to {transform:translateY(0)}
}
@keyframes close_top_menu {
    0% {transform:translateY(0);}
    to {transform:translateY(-100%);}
}

@keyframes open_right_menu {
    0% {transform:translateX(400px);}
    to {transform:translateX(0px);}
}
@keyframes close_right_menu {
    0% {transform:translateX(0px)}
    to {transform:translateX(400px)}
}


.submenu-chevron {
    display: none;
}

@media (max-width: 768px) {
    .hidden-on-mobile {
        display: none !important;
    }
}

@media (min-width: 769px) {
    .hidden-on-desktop {
        display: none !important;
    }
}
.font-popppins {
  font-family: "Poppins", sans-serif;
  font-optical-sizing: auto;
  font-weight: normal;
  font-style: normal;
}
.font-work-inter {
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: normal;
  font-style: normal;
}
.font-rubik-distressed-regular {
  font-family: "Rubik Distressed", system-ui;
  font-weight: 400;
  font-style: normal;
}

body, p, span {
      font-family: "Inter", sans-serif;    
}
.font-rubik, .font-oozing, .font-broken15, .font-plex {
      font-family: "Poppins", sans-serif;
      font-optical-sizing: auto;
      font-weight: normal;
      font-style: normal;
      font-variation-settings:
        "wdth" 100;
      /* font-family: Plex, sans-serif !important; */
}
#fs-video-title div strong {
    font-family: "Rubik Distressed", system-ui !important;
}
h1, h1 p, #fs-video-title div p {
    font-size: 3.8rem !important;
    line-height: 4.2rem !important;
}
h2, .contenido-entradas h2 {
    font-size: 2.5rem !important;
    font-weight: 800 !important;
    line-height: 2.8rem !important;
}
p {
    font-size: 1.4rem !important;
    line-height: 2rem;
}
.texto-faq p {
    font-size: 1rem !important;
    line-height: 1.5rem !important;
}
.block-base {
    font-size: .75rem !important;
}
footer .columna-footer-hijo-2 p, footer .columna-footer-hijo-2 u {
    font-size: 16px !important;
    line-height: 22px;
}
footer .columna-footer-hijo-2 a:hover {
    text-decoration: underline;
}
footer .sholeo-programa img {
    width: 200px;
    margin: auto;
}
footer .sholeo-redes {
    width: 250px;
    margin: auto;
    margin-top: 30px;
    text-align: center;
}
footer .sholeo-no-hotel p {
    margin-bottom: 20px;
}
@media (max-width: 768px) {
    footer {
        .columna-footer {
            gap: 5px;
        }
        .contenido-columna-footer-hijo-1 {
            grid-template-columns: 1fr;
        }
        .contenido-columna-footer-hijo-1 .sholeo, .contenido-columna-footer-hijo-1 .marca, .contenido-columna-footer-hijo-1 .legal {
            text-align: center;
        }
    }
}
@media (min-width: 1440px) {
    .block-9xl {
        font-size: 5rem;
        line-height: 1;
    }
}
@media (min-width: 960px) {
    .lg\:w-\[28rem\] {
        width: 38rem;
    }
}
@media (min-width: 960px) {
    .lg\:w-96 {
        width: 40rem;
    }
}
@media (max-width: 768px) {
    h1, h1 p, #fs-video-title div p {
        font-size: 2.5rem !important;
        line-height: 3rem !important;
    }
    h2, .contenido-entradas h2 {
        font-size: 1.9rem !important;
        font-weight: 800 !important;
        line-height: 2.5rem !important;
        padding-left: 20px;
        padding-right: 20px;
    }
    header .main-header .logo-home img {
        width: 90px;
    }
    header .menu-bar-items {
        padding: 0px;
    }
    .servicios p {
        font-size: 1rem !important;
    }
    .faq-carousel .text-sh-blue {
        font-size: 1.5rem !important;
    }
    .text-sh-yellow {
        font-size: 1.5rem !important;
    }
    .texto-faq p {
        font-size: .875rem !important;
        line-height: 1.25rem !important;
    }
    .ofertas h2 {
        font-size: 1.5rem !important;
    }
}
.top-bar {
    height: var(--header-bar-height);
    background-color: #fff;
}

.main-header {
    height: var(--header-bar-height);
    backdrop-filter: none;
    background-color: transparent;
    border-radius: 0;
    box-shadow: none;
    padding: 0;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    max-width: 100%;
    align-items: center;
    position: relative;
    transition-duration: .3s;
}


.main-header .menu-top {
    justify-content: space-between;
    align-items: center;
    background-color: transparent;
    display: flex;
    padding: 5px 10px 5px 120px;
    transition-duration: .3s;
    width: 100%;
}

.main-header .logo-home {
    width: 160px;
    margin-top: 10px;
    margin-left: 10px;
    z-index: 500;
    margin-bottom: 10px;
    margin-right: 10px;
}


.main-header .logo-home img {
    height: auto;
    max-width: 100%;
    max-height: calc(var(--header-bar-height) - 20px);
}

.header-block-right{
    display: flex;
    justify-content: space-between;
}

.header-block-right-item {
padding: 10px;
}


.menu-bar-items {
    padding-left: 64px;
    display: flex;
    align-items: center;
    flex-direction: row;
    position: absolute;
    width: 100%;
}
.menu-right-footer .fixed-links {
    top: -10px !important;
    position: relative;
}
ul.right-lang-selector li {
    display: inline;
    margin-right: 20px;
}
.menu-right-locations {
    margin-bottom: 10px;
}

.menu-right-locations:after {
    content: "";
    border-bottom: 1px solid #d8dad3;
    width: 100px;
    display: block;
    text-align: center;
    margin: auto;
    margin-top: 10px;
}


.menu-right .menu-right-modal-shadow,
.location-selection .location-selection-modal-shadow {
    position: fixed;
    width: 100%;
    height: 100vh;
    top: 0;
    left: 0;
    z-index: 900;
    background-color: rgba(0,0,0,.65);
    display: none;
}

.menu-right.deployed .menu-right-modal-shadow,
.location-selection.deployed .location-selection-modal-shadow {
    display: block;
}

.location-selection .location-selection-block {

    position: fixed;
    width: 100%;
    height: auto;
    overflow: hidden;
    top: 0;
    left: 0;
    z-index: 1000;
    border: solid 1px transparent;
    border-bottom-right-radius: .8rem;
    border-bottom-left-radius: .8rem;
    margin: 0;
    padding: 0;
    background-color: #fff;
    animation: close_top_menu cubic-bezier(.785,.135,.15,.86) forwards;
    animation-duration: .5s;
}
.location-selection.deployed .location-selection-block {
    animation: open_top_menu cubic-bezier(.785,.135,.15,.86) forwards;
    animation-duration: .5s;
}




.location-selection-content {
    padding-top: 0;
    padding-right: 10px;
    padding-bottom: 0;
    padding-left: 10px;
}

.menu-right-header-close-icon,
.location-selection-close-icon {
    /*
    position: absolute;
    top: var(--header-icons-top-space);
    right: 24px;
     */

}

.location-selection .menu-destinos-container .menu-item-has-children ul.sub-menu {
    margin-top: 10px;
}

.menu-right-header-icon,
.location-selection-close-icon {
    /*
    cursor: pointer;

     */
    height: var(--header-icons-size);
    width: var(--header-icons-size);
}

.menu-right-header-icon.hidden,
.location-selection-close-icon.hidden {
    display: none;
}


.menu-right-header-back-icon {
    /*
    position: absolute;
    top: var(--header-icons-top-space);
    left: 24px;
     */
}

.menu-right-locations-container li .sub-menu {
    margin-top: 10px;
}

.location-selection .menu-destinos-container .menu-item-has-children > a {
    margin-bottom: .8rem;
    color: #67686a;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 24px;
    pointer-events: none;
    cursor: default;

}

.location-selection .menu-destinos-container .sub-menu a {
    display: block;
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    line-height: 28px;
    letter-spacing: .054px;
    cursor: pointer;
    margin-bottom: .5rem;
    margin-left: 1.5rem;

}
.locations-button-container .locations-button {
    font-size: 16px;
    font-weight: 500;
    text-decoration: underline;
    width: auto;
    background-color: #fff;
    font-weight: bold;
}
#menu-destinos > li {
    margin-bottom: 20px;
}
.locations-button-container .arrow-down {
    display: inline-block;
    height: var(--header-icons-size);
    width: var(--header-icons-size);
}

.header-hamburguer {
    background-color: #fff;
    margin-right: 24px;
}

.header-hamburguer .ham-bar {
    --tw-bg-opacity: 1;
    background-color: #000;
    height: 2px;
}




/*** MENU RIGHT ***/

.menu-right .menu-right-content {
    position: fixed;
    width: var(--menu-left-width);
    max-width: 100vw;
    height: 100vh;
    overflow-y: auto;
    overflow-x: hidden;
    top: 0;
    right: 0;
    z-index: 999;
    border: solid 1px transparent;
    margin: 0;
    margin-left: 10px;
    padding: 0;
    background-color: #fff;
    animation: close_right_menu cubic-bezier(.785,.135,.15,.86) forwards;
    animation-duration: .5s;
    box-shadow: none;
}
.menu-right.deployed .menu-right-content {
    animation: open_right_menu cubic-bezier(.785,.135,.15,.86) forwards;
    animation-duration: .5s;
    box-shadow: 0 .4rem 1rem 0 rgba(0,0,0,.2);
}
.sub-menu.open,
.menu-right-locations-container,
.menu-right-footer,
.menu-right-body {
    padding-left: 20px;
    padding-right: 20px;
}




.menu-right-header,
.location-selection-header {
    height: var(--menus-header-height);
    background-color: #fff;
    text-align: right;
    margin-left: 20px;
    margin-right: 20px;
    padding-top: 10px;
    display: flex;
    justify-content: right;
}

.menu-right-header {
    justify-content: space-between;
}

.menu-right-header-back-icon {
    display: inline-block;
    width: var(--header-icons-size);
    cursor: pointer;
}
.menu-right-locations-container ul {
    padding-left: 20px;
}
.menu-right-header-title {
    display: inline-block;
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    text-overflow: ellipsis;
}

.location-selection-header-close-icon,
.menu-right-header-close-icon {
    display: inline-block;
    width: var(--header-icons-size);
    cursor: pointer;
}


.menu-right .menu-right-locations-container,
.menu-right .menu-right-links-container ul ul{
    position: fixed;
    width: var(--menu-left-width);
    max-width: 100vw;
    height: calc(100vh - var(--menus-header-height));
    overflow-y: auto;
    overflow-x: hidden;
    top: var(--menus-header-height);
    right: 0;
    z-index: 1000;
    border: solid 1px transparent;
    margin: 0;
    background-color: #fff;
    animation: close_right_menu cubic-bezier(.785,.135,.15,.86) forwards;
    animation-duration: .5s;
    box-shadow: none;
}

.menu-right .menu-right-locations-container.open,
.menu-right .menu-right-links-container ul ul.open{
    animation: open_right_menu cubic-bezier(.785,.135,.15,.86) forwards;
    animation-duration: .5s;
}



.menu-right-footer {
    position: absolute;
    bottom: 0;
    padding-bottom: 40px;
}

.menu-right-footer li {
    list-style: none;
}


.menu-right .fixed-links li,
.menu-right-locations > li,
.menu-right .menu-right-links-container > ul li {
    padding-bottom: 5px;
    padding-top: 10px;
    display: flex;
    justify-content: space-between;
    width: 100%;
    color: #000;
}

.menu-right-locations-container > ul > li {
    padding-bottom: 5px;
    padding-top: 10px;
}
.menu-right .menu-right-links-container > ul li a {
    font-size: 16px !important;
}
.submenu-chevron.locations-chevron,
.menu-right .menu-right-links-container .menu-item-has-children .submenu-chevron {
    display: inline-block;
    margin-top: 4px;
    margin-left: 5px;
}
.menu-right-links-container li ul.sub-menu.open {
    padding-left: 40px;
}
.menu-right .menu-right-links-container > ul li a:hover {
    text-decoration: underline;
}
#into-menu-locations-button:hover {
    text-decoration: underline;
}
.menu-right .menu-right-locations-container .menu-item-has-children > a {
    margin-bottom: .8rem;
    color: #67686a;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 24px;
    pointer-events: none;
    cursor: default;

}

.menu-right .menu-right-locations-container .sub-menu a {
    display: block;
    font-style: normal;
    letter-spacing: .054px;
    cursor: pointer;
    margin-bottom: .5rem;
    margin-left: 1.5rem;

}



/* language selector*/



.lang-selector {
    position: relative;
}

.lang-selector-button {

}

.lang-selector-options {
    display: none;

}

.lang-selector-options.open {
    position: absolute;
    display: inline-block;
    margin-left: 20px;
}

.lang-selector-option {}

.lang-selector-option.current a {
    font-weight: bold;
    cursor: default;
}

.community-logo {
    max-width: 100px;
    vertical-align: bottom;
    display: inline-block;
}

.h-screen {
    height: calc(100vh - var(--header-bar-height));
}

.MwiMs {
    fill: rgb(0, 0, 0) !important;
}