@keyframes scale-up-center {
  from { transform: scale(0.5); }
  to { transform: scale(1); }
}

@keyframes slide-top {
  0% {
    -webkit-transform: translateY(100px);
    transform: translateY(100px);
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

/* =========================
   FONT: Legitima (optimized)
   ========================= */
@font-face {
  font-family: Legitima;
  src:
    url("../fonts/Legitima-Regular.woff2") format("woff2"),
    url("../fonts/Legitima-Regular.woff") format("woff");
  font-display: swap;
  font-weight: 400;
  font-style: normal;

  /* CLS protection */
  ascent-override: 92%;
  descent-override: 22%;
  line-gap-override: 0%;
  size-adjust: 100%;
}

/* =========================
   CRITICAL ABOVE THE FOLD
   ========================= */

.sub-page-title{display:none}

body{
  padding:0;
  margin:0
}

body,
span.locality{
  font-family:HelveticaNeue-Light,"Helvetica Neue Light","Helvetica Neue",Helvetica,Arial,"Lucida Grande",sans-serif!important
}

h1,
h2,
h4{
  font-family:"Legitima",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol",serif!important;
  font-weight:400;
  font-style:normal
}

.menu .menu-logo{display:none;padding:1rem 1.25rem}
@media (max-width:840px){
  .menu.active .menu-logo{display:block}
}

.menu .menu-logo .custom-logo{
  max-width:70px;
  height:auto;
  display:block;
  margin:0 auto
}

.swiper-container-hero.single-slide .swiper-slide{opacity:1}
.swiper-container-hero.single-slide .swiper-wrapper{transform:none}
.swiper-container-hero.single-slide .swiper-pagination{display:none}

body.home #masthead{
  position:absolute;
  top:0;
  width:100%;
  background:0 0;
  z-index:9999;
  text-align:center;
  padding:20px 0 0
}

#masthead{
  z-index:3!important;
  position:relative
}

.booking-columns{
  flex:1 1 auto;
  min-width:200px
}

.promo-code.booking-columns{width:100px}

body.home .site-brand{
  flex-direction:column;
  align-items:center;
  margin:10vh 0 20px 0
}

nav ul li{
  list-style:none;
  padding:0 15px 0 0;
  margin:0;
  line-height:.3em;
  min-width:80px;
  color:#000
}

#site-navigation{
  z-index:1000;
  background-color:#fff
}

.book-now-primary{
  background:var(--wp--preset--color--accent);
  border-radius:30px;
  border:solid 1px var(--wp--preset--color--accent);
  color:#fff;
  text-transform:uppercase;
  font-weight:600;
  transition:background-color .5s;
  padding:12px 30px;
  cursor:pointer;
  font-size:.825rem;
  z-index:2;
  width:100%
}
nav#site-navigation {
    width: 100%;
    position: relative;
    transition: all 0.3s ease;
    z-index: 1000;
}
nav#site-navigation.sticky {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    background-color: #fff;
}
nav ul li a {
    text-decoration: none;
}
body.home nav ul li a {
    text-decoration: none;
    color: #fff !important;
}
.booking-visible .home-hero,
.booking-visible .swiper-container-hero,
body:not(.home) .swiper-container-hero {
    height: calc(100vh - 150px);
}
body.home .fixed nav ul li a {
    text-decoration: none;
    color: #000 !important;
}
#site-navigation ul.menu li {
    position: static !important;
}
#site-navigation ul.menu li.current_page_item .sub-menu,
#site-navigation ul.menu li.current_page_ancestor .sub-menu {
    position: absolute !important;
    top: 100%;
    width: 100%;
}
body:not(.home) #masthead {
    background-color: #fff;
}
.sub-page-title {
    padding-left: 10px;
}
body.home .site-brand img {
    width: 90px;
    height: auto;
}
body.home .site-brand span {
    color: #fff;
}
.site-brand a {
    text-decoration: none;
    flex-direction: column;
    display: flex;
    margin: 0;
}
.site-brand {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 20px 0 10px;
    margin: 0;
}
.site-brand img {
    height: 30px;
    width: auto;
    margin-bottom: 7px;
}
.sarova-hotel-name {
    display: flex;
    justify-content: center;
}
.sub-page-title {
    opacity: 0.5;
    padding-left: 10px;
}
nav ul li a {
    position: relative;
    color: inherit;
    text-decoration: none;
    line-height: 1.2em;
    display: inline-block;
    padding-top: 10px;
    padding-bottom: 8px;
    overflow: hidden;
}
nav ul li ul.sub-menu li a {
    max-width: 400px;
}
nav ul li a:after,
nav ul li a:before {
    content: "";
    position: absolute;
    transition: transform 0.5s ease;
}
nav ul.sub-menu li a {
    line-height: 1em;
}
ul.sub-menu li {
    padding: 0 15px;
}
.current-menu-item a:before,
nav ul li a:before {
    left: 0;
    bottom: 0;
    width: 100%;
    height: 2px;
    background: #000;
    transform: translateX(-101%);
}
body.home .current-menu-item a:before,
body.home nav ul li a:before {
    background: #fff;
}
li.current-menu-item a:before,
nav ul li a:hover:before,
nav ul li.current-menu-item .sub-menu a:hover:before {
    transform: translateX(0);
}
li.current-menu-item .sub-menu a:before {
    transform: translateX(-101%);
}
nav ul li:hover {
    opacity: 1;
}
.mobile-menu {
    display: none;
}
body.home #site-navigation {
    background: 0 0;
}
#site-navigation {
    align-items: center;
}
body.home .site-brand img {
    margin: 0 auto 10px auto;
    filter: invert(1);
}
.sub-menu-title {
    display: none;
}
.sub-menu-title h1 {
    margin: 0;
    padding: 0;
    font-size: 1rem;
    font-weight: 300;
}
.sub-menu-title h1 a {
    text-decoration: none;
}
body.home .site-brand img {
    margin: 0 auto 10px;
    filter: invert(1);
}
body.home h1 {
    font-size: 2.125rem;
}
.site-brand {
    display: inline-flex;
    justify-content: center;
}
body.home .site-brand span {
    color: #fff;
}
body.home .home-hero {
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
}
.home-hero {
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}
span.locality {
    display: inline-block;
    font-size: 0.825rem;
    font-weight: 600;
    text-transform: uppercase;
    position: relative;
    padding: 0 10px;
}
.locality::before {
    left: 0;
    transform: translate(-100%, -50%);
}
.locality::after,
.locality::before {
    content: "";
    position: absolute;
    top: 50%;
    width: 40px;
    height: 1px;
    background-color: #fff;
}
.container-rooms-nr {
    border-radius: 10px;
    color: var(--color-fg-default);
    cursor: default;
    display: inline-block;
    font-family:
        -apple-system,
        BlinkMacSystemFont,
        Segoe UI,
        Roboto,
        Helvetica Neue,
        Arial,
        sans-serif;
    font-size: 0.8em;
    height: 0;
    overflow: hidden;
    pointer-events: all;
    transform: scale(0);
    transform-origin: bottom center;
    transition: transform 0.2s ease-out;
    z-index: 10;
    bottom: 0;
}
body:not(.home) .home-hero picture {
    width: 100%;
    height: calc(100vh - 145px);
    object-fit: cover;
    display: block;
}
.home-hero::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: calc(100vh);
}
.header-search {
    float: right;
    justify-content: end;
    text-align: right;
    padding: 0;
    position: absolute;
    top: 10px;
    right: 10px;
}
body.home #site-navigation {
    background: #fff0;
    width: 100%;
    position: relative;
    transition: all 0.3s ease;
    z-index: 1000;
}
#masthead {
    text-align: center;
}
#site-navigation {
    align-items: center;
}
.rating-units {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    line-height: 1;
}
.rating-unit {
    position: relative;
    display: inline-block;
    width: 1em;
    height: 1em;
    font-size: 14px;
    line-height: 1;
    color: transparent;
    overflow: hidden;
}
.rating-unit::before {
    content: "☆";
    position: absolute;
    left: 0;
    top: 0;
    color: #000;
}
.rating-unit.is-full::after {
    content: "★";
    position: absolute;
    left: 0;
    top: 0;
    color: #000;
}
.rating-unit.is-half::after {
    content: "★";
    position: absolute;
    left: 0;
    top: 0;
    width: 0.5em;
    color: #000;
    overflow: hidden;
}
.rating-unit,
.rating-unit::after,
.rating-unit::before {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
nav ul.menu {
    font-weight: 400;
    text-transform: capitalize;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    font-size: 1rem;
    padding: 15px 0;
    margin: 0 auto;
}
nav ul li {
    list-style: none;
    padding: 0 15px 0 0;
    margin: 0;
    line-height: 0.3em;
    min-width: 80px;
    color: #000;
    position: relative;
}
nav ul li:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    width: 1px;
    height: 0.8em;
    background-color: rgba(0, 0, 0, 0.8);
}
body.home nav ul li:not(:last-child)::after {
    background-color: rgba(255, 255, 255, 0.8);
}
body.home nav.sticky ul li:not(:last-child)::after {
    background-color: rgba(0, 0, 0, 0.8);
}
body.home nav ul li {
    color: #fff;
}
body.home nav ul li a {
    text-decoration: none;
    color: #fff !important;
    line-height: 1.2em;
    display: inline-block;
    padding-top: 6px;
    padding-bottom: 6px;
    overflow: hidden;
}
nav ul li a {
    position: relative;
    color: inherit;
    text-decoration: none;
    line-height: 1.2em;
    display: inline-block;
    padding-top: 10px;
    padding-bottom: 8px;
    overflow: hidden;
}
.conditional-btn,
.sub-menu {
    position: absolute;
    top: -9999px;
    left: -9999px;
}
.weather-info {
    color: #fff;
    position: absolute;
    left: 20px;
    top: 10px;
    font-size: 0.825rem;
    font-weight: 600;
}
.weather-info img {
    width: 40px;
    height: auto;
}
.book-widget-container {
    box-shadow: rgba(0, 0, 0, 0.2) 0 20px 30px;
    margin: 0 auto;
    max-width: 1024px;
    border-radius: 8px;
    position: absolute;
    bottom: 20px;
    left: 0;
    right: 0;
    z-index: 1001;
    width: 100%;
    animation: 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) both slide-top !important;
}
.booking-form {
    padding: 0 10px;
    display: flex;
    position: relative;
    padding: 0;
    font-size: 1rem;
}
.sarova-booking-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex: 1;
    background: #fff;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
}
.book-widget-container div.book-cta {
    display: none;
}
.sarova-booking-container > div {
    flex: 2 1 auto;
    position: relative;
}
.promo-button {
    flex: 0 0 auto;
    margin-left: auto;
    margin-right: 10px;
}
label.no-show {
    display: none !important;
}
#occupants label,
.promo-code label,
.sarova-date label {
    font-size: 0.875rem;
}
#occupants label,
.sarova-date label {
    padding-left: 25px;
    background-repeat: no-repeat;
    background-position: left center;
    background-size: 18px 18px;
    display: inline-block;
}
button,
input,
optgroup,
select,
textarea {
    font-family: inherit;
    font-size: 100%;
    line-height: 1.15;
    margin: 0;
}
.hero-overlay {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100vh;
    background: rgba(0, 0, 0, 0.4);
    z-index: 2;
    pointer-events: none;
}
.exclusive-savings-modal {
    display: none;
}
.btn-constant {
    animation: scale-up-center 0.4s cubic-bezier(0.39, 0.575, 0.565, 1) both;
}
.btn-constant svg {
    width: 20px;
    margin-right: 10px;
}
.booking-form input {
    display: block;
    box-sizing: border-box;
    padding: 25px 5px 20px 10px;
    border-width: medium 1px medium medium;
    border-style: none solid none none;
    border-color: currentcolor #cecece currentcolor currentcolor;
    border-image: none;
    background: #fff;
    border: none;
    border-right: 1px solid #cecece;
    background: #fff;
}
input#datepicker {
    background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg width='100pt' height='100pt' version='1.1' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m37.5 10.418c0-2.3008-1.8672-4.168-4.168-4.168s-4.1641 1.8672-4.1641 4.168v2.1055c-2.0664 0.035156-3.9023 0.10937-5.5195 0.27734-3 0.3125-5.7148 0.98828-8.1328 2.6602-1.6484 1.1406-3.0781 2.5703-4.2188 4.2227-1.6758 2.4141-2.3516 5.1328-2.6641 8.1289-0.27344 2.6328-0.29687 5.8477-0.30078 9.6875v0.64062 0.4375 24.215c0 5.6445 0 10.297 0.49609 13.977 0.51953 3.8672 1.6523 7.2812 4.3867 10.016s6.1484 3.8672 10.016 4.3867c3.6797 0.49609 8.332 0.49609 13.977 0.49609h25.586c5.6445 0 10.297 0 13.977-0.49609 3.8672-0.51953 7.2812-1.6523 10.016-4.3867s3.8672-6.1484 4.3867-10.016c0.49609-3.6797 0.49609-8.332 0.49609-13.977v-24.215-0.37891-0.69922c-0.003907-3.8398-0.027344-7.0547-0.30078-9.6875-0.3125-2.9961-0.98828-5.7148-2.6641-8.1289-1.1406-1.6523-2.5703-3.082-4.2188-4.2227-2.418-1.6719-5.1328-2.3477-8.1328-2.6602-1.6172-0.16797-3.4531-0.24219-5.5195-0.27734v-2.1055c0-2.3008-1.8633-4.168-4.1641-4.168s-4.168 1.8672-4.168 4.168v2.082h-25zm45.832 27.082c-0.003906-3.9023-0.027343-6.6641-0.25391-8.8203-0.24219-2.3164-0.67578-3.4609-1.2266-4.2539-0.57031-0.82422-1.2852-1.5391-2.1094-2.1133-0.79297-0.54688-1.9375-0.98047-4.2539-1.2227-1.2969-0.13672-2.8086-0.19922-4.6562-0.23047v2.0586c0 2.3008-1.8633 4.1641-4.1641 4.1641s-4.168-1.8633-4.168-4.1641v-2.0859h-25v2.0859c0 2.3008-1.8672 4.1641-4.168 4.1641s-4.1641-1.8633-4.1641-4.1641v-2.0586c-1.8477 0.03125-3.3594 0.09375-4.6562 0.23047-2.3164 0.24219-3.4609 0.67578-4.2539 1.2227-0.82422 0.57422-1.5391 1.2891-2.1094 2.1133-0.55078 0.79297-0.98438 1.9375-1.2266 4.2539-0.22656 2.1562-0.25 4.918-0.25391 8.8203zm-66.664 8.332v16.668c0 6.0117 0.007812 10.098 0.41797 13.16 0.39844 2.9414 1.0938 4.3047 2.0234 5.2305 0.92578 0.92969 2.2891 1.625 5.2305 2.0234 3.0625 0.41016 7.1484 0.41797 13.16 0.41797h25c6.0117 0 10.098-0.007812 13.16-0.41797 2.9414-0.39844 4.3047-1.0938 5.2305-2.0234 0.92969-0.92578 1.625-2.2891 2.0234-5.2305 0.41016-3.0625 0.41797-7.1484 0.41797-13.16v-16.668z' fill-rule='evenodd'/%3E%3C/svg%3E%0A");
    background-repeat: no-repeat;
    background-size: 20px;
    padding-left: 39px;
    background-position: 10px 55%;
    width: 100%;
}
#occupants.booking-columns input#room-number {
    background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg width='100pt' height='100pt' version='1.1' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cg%3E%3Cpath d='m50 0c-15.539 0-28.18 12.641-28.18 28.18 0 15.535 12.641 28.176 28.18 28.176s28.18-12.641 28.18-28.18c0-15.535-12.641-28.176-28.18-28.176zm0 46.59c-4.8828 0-9.5664-1.9375-13.02-5.3906s-5.3945-8.1367-5.3945-13.02c0-4.8867 1.9414-9.5664 5.3945-13.02s8.1367-5.3945 13.02-5.3945 9.5664 1.9414 13.02 5.3945c3.4531 3.4492 5.3945 8.1328 5.3945 13.02-0.007812 4.8789-1.9492 9.5586-5.4023 13.012-3.4492 3.4531-8.1289 5.3945-13.012 5.3984z'/%3E%3Cpath d='m94.914 82.934c-2.5156-9.3281-7.8906-17.637-15.367-23.758-1-0.82422-2.2852-1.2148-3.5742-1.0898-1.2891 0.125-2.4766 0.75781-3.2969 1.7578-1.7148 2.082-1.418 5.1562 0.66797 6.8711 5.9062 4.8359 10.156 11.398 12.145 18.77 0.30859 1.1211 0.070313 2.3203-0.64844 3.2344-0.72656 0.95703-1.8594 1.5195-3.0625 1.5156-2.6992 0-4.8828 2.1875-4.8828 4.8828 0 2.6953 2.1836 4.8828 4.8828 4.8828 4.2461 0.015625 8.25-1.9648 10.82-5.3477 2.5664-3.3242 3.4258-7.6641 2.3164-11.719z'/%3E%3Cpath d='m64.223 90.234h-45.996c-1.1914 0.011719-2.3164-0.54297-3.0273-1.4961-0.73828-0.96484-0.98047-2.2188-0.65234-3.3867 2.0039-7.3008 6.2188-13.801 12.07-18.602 1-0.82422 1.6328-2.0117 1.7539-3.3047 0.125-1.2891-0.26953-2.5742-1.0938-3.5742-0.82422-0.99609-2.0117-1.6289-3.3008-1.75-1.2891-0.125-2.5742 0.26953-3.5742 1.0938-7.4023 6.082-12.738 14.309-15.27 23.547-1.1367 4.0938-0.29297 8.4805 2.2734 11.863 2.5703 3.3828 6.5703 5.3711 10.82 5.375h45.996c2.6992 0 4.8828-2.1875 4.8828-4.8828 0-2.6953-2.1836-4.8828-4.8828-4.8828z'/%3E%3C/g%3E%3C/svg%3E%0A");
    background-repeat: no-repeat;
    background-size: 15px;
    padding-left: 30px;
    background-position: 10px 55%;
    width: 100%;
}
.booking-form input:hover {
    background-color: rgba(248, 246, 239, 1);
}
input#promo-code {
    border: none;
}
#datepicker {
    border-top-left-radius: 8px;
}
.book-now-primary {
    padding: 13px;
}
.book-now-primary {
    background: #1554b1;
    border-radius: 30px;
    border: solid 1px #1554b1;
    color: #fff;
    text-transform: uppercase;
    font-weight: 600;
    transition: background-color 0.5s;
    padding: 12px 30px;
    cursor: pointer;
    font-size: 0.825rem;
    z-index: 2;
    width: 100%;
}
#booking-form-container.hide {
    position: fixed;
    bottom: -100%;
}
#booking-form-container.hide {
    opacity: 0;
}
body.home .search-form {
    border: 2px solid #fff;
}
.sarova-careers a {
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #fff;
    border-radius: 30px;
    padding: 9px 13px 9px 30px;
    line-height: 1em;
    text-decoration: none;
    color: #fff;
    font-size: 0.825rem;
    font-weight: 600;
    background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" fill="white" width="18" height="18" viewBox="0 0 100 100" aria-hidden="true"><path d="m50 10c-9.9492 0-18.27 6.9961-20.406 16.312-1.1641-0.20312-2.3711-0.3125-3.5938-0.3125-11.562 0-21 9.4375-21 21 0 10.535 7.8633 19.211 18 20.688v19.312c0 1.6562 1.3438 3 3 3h48c1.6562 0 3-1.3438 3-3v-19.312c10.137-1.4766 18-10.152 18-20.688 0-11.562-9.4375-21-21-21-1.2227 0-2.4297 0.10938-3.5938 0.3125-2.1367-9.3164-10.457-16.312-20.406-16.312zm0 6c8.0547 0 14.527 6.2734 14.938 14.219 0.054688 0.94141 0.54688 1.8047 1.3359 2.3281 0.78516 0.52344 1.7734 0.64453 2.6641 0.32812 1.5938-0.57031 3.2891-0.875 5.0625-0.875 8.3203 0 15 6.6797 15 15s6.6797 15-15 15c-1.6562 0-3 1.3438-3 3v19h-42v-4h35c0.80469 0.011719 1.5781-0.30078 2.1484-0.86328 0.57422-0.5625 0.89453-1.332 0.89453-2.1367s-0.32031-1.5742-0.89453-2.1367c-0.57031-0.5625-1.3438-0.875-2.1484-0.86328h-35v-9c0-1.6562-1.3438-3-3-3-8.3203 0-15-6.6797-15-15s6.6797-15 15-15c1.7734 0 3.4688 0.30469 5.0625 0.875 0.89062 0.31641 1.8789-0.19531 2.6641-0.32812 0.78906-0.52344 1.2812-1.3867 1.3359-2.3281 0.41016-7.9453 6.8828-14.219 14.938-14.219z"/></svg>');
    background-repeat: no-repeat;
    background-position: 10px 7px;
    background-size: 15px;
    transition:
        color 0.3s,
        border-color 0.3s;
}
.booking-form #close-booking-form {
    display: none;
}
.show .booking-form #close-booking-form {
    display: block;
    position: absolute;
    top: -20px;
    right: -20px;
    box-shadow: rgba(0, 0, 0, 0.15) 1.95px 1.95px 2.6px;
    background: #ece8da;
    border: none;
    font-size: 20px;
    cursor: pointer;
    border-radius: 50%;
    line-height: 1em;
    z-index: 9999;
    font-weight: 600;
    padding: 6px 13px 10px;
}
#occupants label,
.sarova-date label {
    padding-left: 25px;
    background-repeat: no-repeat;
    background-position: left center;
    background-size: 18px 18px;
    display: inline-block;
}
label.no-show {
    display: none !important;
}
.sarova-booking-promo-section {
    padding: 8px 20px;
    display: flex;
    gap: 30px;
    align-items: center;
    margin: 0 auto;
    font-size: 0.875rem;
    overflow: hidden;
    border-top-width: 1px;
    border-top-style: solid;
    border-top-color: rgba(0, 0, 0, 0.1);
    color: #292929;
    justify-content: center;
    background: #ece8da;
    border-bottom-right-radius: 8px;
    border-bottom-left-radius: 8px;
    line-height: 1.2em;
}
.sarova-booking-promo-section a {
    color: #292929;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 10px;
}
#fixed-book-now {
    transition: opacity 0.5s ease-in-out;
    position: fixed;
    bottom: 10px;
    right: 20px;
    z-index: 999;
}
.trustscore {
    display: flex;
    gap: 10px;
    align-items: center;
}
.exclusive-savings-button {
    all: unset !important;
    background: 0 0 !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
    color: inherit !important;
    font: inherit !important;
    cursor: pointer;
}
.exclusive-savings-button svg {
    margin-right: 5px;
    position: relative;
    top: 2px;
}
body:not(.home) .single-slide {
    position: relative;
    height: 70vh;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}
body:not(.home) .swiper-container-hero,
body:not(.home) .single-slide {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}
.single-slide img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: auto;
    min-width: 100%;
    min-height: 100%;
    object-fit: cover;
}
.single-slide img {
    -webkit-animation: text-focus-in 0.2s cubic-bezier(0.55, 0.085, 0.68, 0.53) both;
    animation: text-focus-in 0.2s cubic-bezier(0.55, 0.085, 0.68, 0.53) both;
}
@media only screen and (max-width: 1024px) {
    .book-widget-container {
        margin: 0 10px;
        width: calc(100% - 22px);
    }
}
@media only screen and (max-width: 840px) {
    #masthead {
        z-index: 9999 !important;
        position: relative;
    }
    .home-hero img,
    .booking-visible .swiper-container-hero,
    body:not(.home) .booking-visible .single-slide,
    .booking-visible .home-hero {
        position: relative;
        height: calc(100vh);
    }
    #site-navigation ul.menu li.current_page_item .sub-menu,
    #site-navigation ul.menu li.current_page_ancestor .sub-menu {
        position: fixed !important;
        top: 48px;
    }
    .promo-code.booking-columns {
        width: auto;
    }
    .sarova-booking-container {
        flex-wrap: wrap;
    }
    form.sarova-booking-container .promo-button,
    form.sarova-booking-container .promo-button button.book-now-primary {
        width: calc(100% - 20px);
        margin: 0 10px 10px;
    }
    .sarova-booking-container > div {
        margin: 0;
    }
    #masthead .menu {
        position: fixed;
        left: -100%;
        top: 0;
        flex-direction: column;
        background-color: #fff;
        width: 100%;
        text-align: center;
        transition: 0.3s;
        height: 100vh;
        justify-content: center;
    }
    body.home .mobile-menu {
        background: rgb(255 255 255);
        display: block;
        position: fixed;
        right: 10px;
        top: 10px;
        height: 45px;
        width: 55px;
        z-index: 1000;
        cursor: pointer;
        border-radius: 10px;
        transition: all 0.2s ease-in-out;
        box-shadow: 0 0 30px rgb(0 0 0 / 0.1);
    }
    .mobile-menu {
        display: block;
        position: fixed;
        right: 10px;
        top: 10px;
        height: 45px;
        width: 55px;
        z-index: 1000;
        cursor: pointer;
        transition: all 0.2s ease-in-out;
    }
    #masthead .menu {
        position: fixed;
        left: -100%;
        top: 0;
        flex-direction: column;
        background-color: #fff;
        width: 100%;
        text-align: center;
        transition: 0.3s;
        height: 100vh;
        justify-content: center;
    }
    .bar {
        position: absolute;
        left: 21%;
        top: 46%;
        width: 32px;
        height: 3px;
        background-color: #000;
        transition: 0.4s cubic-bezier(0.84, 0.06, 0.52, 1.8);
    }
    .mobile-menu .bar:nth-child(1) {
        transform: translateY(-8px);
        animation-delay: 0.1s;
    }
    .mobile-menu .bar:nth-child(3) {
        transform: translateY(8px);
        animation-delay: 250ms;
    }
    .header-search {
        right: 80px;
        top: 15px;
    }
}
@media only screen and (max-width: 768px) {
    .promo-code.booking-columns {
        width: auto;
    }
}
@media only screen and (max-width: 580px) {
    .header-search {
        display: none !important;
    }
    :not(.booking-visible) .home-hero {
        height: calc(90vh - 150px);
    }
    .book-widget-container {
        bottom: -180px;
    }
    .booking-visible #main {
        padding-top: 210px;
    }
    .book-widget-container div.book-cta {
        position: relative;
        top: -31px;
        color: #fff;
        height: 1px;
        font-size: 1.125rem;
        left: 11px;
        margin-top: -40px;
        text-transform: uppercase;
        font-weight: 600;
    }
    #occupants.booking-columns input#room-number {
        border-top-right-radius: 10px;
    }
    .sarova-careers,
    .weather-info {
        display: none;
    }
    .sarova-booking-container {
        border-radius: 10px;
        flex-direction: column;
        align-items: normal;
        padding: 0;
        gap: 0;
    }
    .sarova-booking-container > div {
        flex: 1 1 0%;
        width: 100%;
        position: relative;
    }
    .booking-form {
        background: #fff;
        border-radius: 10px;
        width: 100%;
        margin-bottom: 10px;
        border: solid 1px #cecece;
    }
    #datepicker {
        border-top-right-radius: 8px;
        border-top-left-radius: 8px;
    }
    .sarova-booking-promo-section {
        font-size: 0.825rem;
        padding: 15px 10px;
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
        justify-content: start;
        border: none;
        font-weight: 600;
        margin: 0;
        border-radius: 10px;
    }
    .booking-form input {
        border-width: medium medium 1px;
        border-style: none none solid;
        border-color: currentcolor currentcolor #cecece;
        border-image: none;
    }
    .book-widget-container {
        box-shadow: none !important;
    }
    .booking-visible .sarova-hero-area {
        height: 100vh;
    }
    body:not(.home) .swiper-container-hero {
        position: relative;
        height: calc(100vh);
        overflow: hidden;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .single-slide img {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 100%;
        height: auto;
        min-width: 100%;
        min-height: 100%;
        object-fit: cover;
    }
    .single-slide img {
        -webkit-animation: text-focus-in 0.2s cubic-bezier(0.55, 0.085, 0.68, 0.53) both;
        animation: text-focus-in 0.2s cubic-bezier(0.55, 0.085, 0.68, 0.53) both;
    }
    #promo-code {
        width: 100%;
        text-align: center;
    }
    .book-widget-container div.book-cta {
        display: block;
    }
}
#open-search {
    background: #fff;
    padding: 8px 10px;
    border-radius: 50%;
    cursor: pointer;
    border: none;
    font-size: 1rem;
    line-height: 14px;
    align-items: center;
    justify-content: center;
}
.header-search {
    justify-content: end;
    text-align: right;
    padding: 0;
    position: absolute;
    top: 10px;
    right: 10px;
    display: flex;
    gap: 10px;
}
#site-navigation ul.menu li a {
    display: flex;
    align-items: center;
    justify-content: center;
}
#site-navigation ul.menu li:not(:last-child) a,
body.home #site-navigation.sticky ul.menu li:not(:last-child) a {
    border-right: 1px solid rgba(0, 0, 0, 0.2);
    padding-right: 15px;
}
body.home #site-navigation ul.menu li:not(:last-child) a {
    border-right: 1px solid rgba(255, 255, 255, 0.8);
}
body.home .home-hero {
    height: 100vh;
}
.home-hero {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(-50vw + 50%);
    padding: 0;
    overflow: hidden;
    height: calc(100vh - 150px);
    position: relative;
    display: flex;
    align-items: stretch;
}
.home-hero img {
    width: 100vw;
    height: 100%;
    object-fit: cover;
    display: block;
    position: absolute;
    left: 0;
    top: 0;
}
