/*
  Theme Name:   Sarova Hotels
  Description:  Sarova Hotels theme for 2024 and on...
  Author:       Oncotton LTD
  Author URI:   https://oncotton.net
  Version:      1.0.0
*/


/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
button,hr,input{overflow:visible}progress,sub,sup{vertical-align:baseline}[type=checkbox],[type=radio],legend{box-sizing:border-box;padding:0}html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}details,main{display:block}hr{box-sizing:content-box;height:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:ButtonText dotted 1px}fieldset{padding:.35em .75em .625em}legend{color:inherit;display:table;max-width:100%;white-space:normal}textarea{overflow:auto}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}[hidden],template{display:none} 

:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);box-sizing:content-box}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translate3d(0px,0,0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper::before{content:'';flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper::before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper::before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:rgba(0,0,0,.15)}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}




html {
  scroll-behavior: smooth;
}

h1 {
  font-size: 1.5rem
}
h2 {
  font-size: 3.625rem;
  line-height: 1em;
  margin: 0
}
h3 {
  text-transform: uppercase;
  font-weight: 700;
  font-size: 1.125rem;
  font-family: var(--wp--preset--font-family--open-sans);

}
h3 a {
  text-decoration: none;
  font-weight: 700;
  font-size: 1rem
}

h4 {
  font-size: 2.825rem;
  line-height: 1em;
  margin: 0
}
body.home span.locality {
  display: inline-block;
  font-size: 0.825rem;
  font-weight: 700;
  text-transform: uppercase;
    position: relative;
    padding: 0 10px;
  

}
body:not(.home) span.locality {
  display: none;
}

body {overflow-x: hidden;}
.announcement-position-position-above {
  position: absolute;
  z-index: 8;
  top: 10px;
  left: 10px;
  max-width: 430px;
}
h2 + ul.wp-block-list,
h3 + ul.wp-block-list {
   padding: 0 20px !important
}

.footer .wp-block-list {
  padding: 0 !important

}
.footer ul li.wp-social-link {
  background: #fff;
  border-radius: 50%;
  padding: 10px 10px 0 10px;
  
}

.announcement-position-position-above .event-content {
  font-size: 80%;
  font-weight: 700;
}

.announcement-position-position-above .event-content span {
  font-weight: 300;
}

.announcement-position-position-above:hover {
  transform: scale(1.01) !important;
}

/* No-hero variants (keep layout) */
.no-hero-image + #contextual-area + .announcement-position-position-above {
  top: 50px;
  left: 0;
  width: 100%;
  max-width: 100%;
  box-shadow: none;
  border-bottom: 1px solid #ccc;
  position: relative;
}

.no-hero-image + #contextual-area + .announcement-position-position-under {
  padding-top: 100px;
}

.no-hero-image + #contextual-area + .announcement-position-position-above + #main {
  margin-top: 50px;
}

/* Non-home offset stays higher than local z-index 99 */
body:not(.home) .announcement-position-position-above {
  top: 223px;
  z-index: 8;
}

/* Slide internals */
.page-event-info .event-title {
  font-weight: 700;
  max-width: 450px;
}


.swiper-wrapper .page-event-info img {
  width: 20px;
}

.announcement-position-position-above .swiper-wrapper {
  align-items: start;
}

.announcement-position-position-above .page-event-info {
  border-radius: 10px !important;
  padding: 20px 0;
  background: #fff;
  align-items: start;
  box-shadow: rgba(0, 0, 0, 0.15) 1.95px 1.95px 2.6px;
  /* width: 97% !important */
}

/* Under-the-fold minor tweak */
.announcement-position-position-under a.event-banner-button {
  right: 20px;
}

/* --- CLICKABLE OVERLAY (minimal, preserves layout) --- */
.page-event-info.is-clickable { position: relative; z-index: 2; }
.page-event-info.is-clickable .slide-overlay-link {
  position: absolute;
  inset: 0;
  z-index: 3;      /* ensure link sits above title/text */
  display: block;
  background: transparent;
}
.page-event-info.is-clickable .event-banner-button { pointer-events: none; }

/* ------------------ Responsive ------------------ */

@media only screen and (max-width: 1420px) {
  body.home .announcement-position-position-above {
    top: auto;
    left: 0;
    max-width: 100%;
    bottom: 248px;
    width: 50%;
    margin: 0;
    margin-left: calc((100% - 1024px) / 2);
    position: relative;
    opacity: 0.9;
  }
  body.home .page-event-info .event-title {
    font-weight: 700;
    max-width: 100%;
  }
  body.home .announcement-position-position-above .page-event-info {
    padding: 12px 0;
  }
}

@media only screen and (max-width: 1024px) {
  body.home .announcement-position-position-above {
    margin: 0 10px;
  }
  body:not(.home) .announcement-position-position-above {
    top: 245px;
  }
}

@media only screen and (max-width: 930px) {
  body.home .announcement-position-position-above {
    width: calc(100% - 20px);
    bottom: 228px;
  }
}

@media only screen and (max-width: 906px) {
  body.home .announcement-position-position-above {
    bottom: 248px;
  }
}

@media only screen and (max-width: 840px) {
  body.home .announcement-position-position-above {
    bottom: 300px;
    z-index: 999;

  }
  body:not(.home) .announcement-position-position-above {
    top: 110px;
  }
}

@media only screen and (max-width: 706px) {
  .page-event-info .event-title span {
    display: none;
  }
}

@media only screen and (max-width: 646px) {
  
  .announcement-position-position-above {
    max-width: calc(100% - 20px);
  }
}

@media only screen and (max-width: 598px) {

  .announcement-position-position-above .page-event-info {
    align-items: center;
  }
  body.home .announcement-position-position-above .page-event-info {
    padding: 10px;
    width: calc(100% - 20px) !important;
  }
}

/* Fallback variant (no contextual-area) */
.no-hero-image + .announcement-position-position-above,
.no-hero-image + .announcement-position-position-under {
  position: relative;
  padding: 40px 0 0 0;
  top: 30px !important;
  left: 0;
  max-width: 100%;
  margin-bottom: 50px;
}
 
 .slide-counter {
   position: absolute;
   top: 10px;
   right: 10px;
   font-size: 0.9em;
   color: rgba(0, 0, 0, 0.689);
   background: var(--wp--preset--color--primary-light);
   padding: 2px 6px;
   border-radius: 10px;
   z-index: 10;
   font-size: 0.625rem;
 }
 
.locality::before,
.locality::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 40px;
    height: 1px;
    background-color: #fff;
}

.locality::before {
    left: 0;
    transform: translate(-100%, -50%);
}

.locality::after {
    right: 0;
    transform: translate(100%, -50%);
}


body.home .sarova-hotel-name {display: block}
.hero-area-text h1 {
  color: #fff;
  font-size: var(--wp--preset--font-size--extra-large);
  margin-bottom: 30px;
  line-height: 1em
}

.meeting-offers-wrapper h4 {
  
  font-weight: 700;
  font-size: 1.125rem ;
  line-height: 1em;
  margin: 0
}

.bedroom-offer-grid { background-size: cover; background-position: center; width: calc(50% - 10px);padding: 80px 60px 150px; color: #fff; box-sizing: border-box;min-height: 450px;border-bottom: solid 1px #fff;
}

.bedroom-offer-grid .text-overlay {
  display: flex; flex-direction: column; justify-content: space-between; line-height: 1em;

}

.bedroom-offer-grid .text-overlay h2 {
  max-width: 490px;
  font-size: 2.815rem
}

.book-now-primary.btn-small.btn-constant {z-index: 1}

body.home h1 {
  font-size: 2.125rem
}
strong {
  font-weight: 700
}

ul {padding: 10px 20px}
ul.sub-menu {padding: 0px 15px 0px; border-top: solid 1px #d5d5d5}
ul li {
  padding: 4px 0
}
.mt-3 {
  margin-top: 30px
}
.mt-4 {
  margin-top: 40px
}
.mt-5 {
  margin-top: 50px
}
.ms-1 {
  margin-left: 10px
}
.ms-2 {
  margin-left: 20px
}
.ms-3 {
  margin-left: 30px
}
.ms-4 {
  margin-left: 40px
}
.ms-5 {
  margin-left: 50px
}

.mb-1 {
  margin-bottom: 10px
}
.mb-2 {
  margin-bottom: 20px
}
.mb-3 {
  margin-bottom: 30px
}
.mb-4 {
  margin-bottom: 40px
}
.mb-5 {
  margin-bottom: 50px
}


.mt-1 {
  margin-top: 10px
}
.mt-2 {
  margin-top: 20px
}
/*Header*/

#masthead {
  z-index: 2
}
#sarova-content.nofocus #masthead {
  z-index: 99
}

.menu.active .current_page_parent a:after, .menu.active .current_page_item.menu-item-has-children a:after {
  border: none
}


.current_page_item ul.sub-menu li.menu-item a:after, .current_page_parent ul.sub-menu li.menu-item a:after {
  display: none !important
}
.hide-unscroll.book-now-secondary-fixed {
  margin-right: 20px
}
.current_page_item .sub-menu a {
  border-bottom: none
}


.menu li.search {
  display: none
}

.conditional-btn {
  display: none
}

.sub-menu, .conditional-btn {
  position: absolute; 
  top: -9999px; 
  left: -9999px;
}

#search-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  backdrop-filter: blur(10px);
  background: rgba(0, 0, 0, 0.4);
  z-index: 9999;
  display: none;
  justify-content: center;
  align-items: flex-start;
  padding-top: 80px;
}

#search-overlay .search-form {
  background: white;
  padding: 15px 30px;
  border-radius: 10px;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.5);
  max-width: 600px;
  width: 90%;
  display: flex;
  align-items: center;
}

#ajax-results {
background: white;
border-radius: 8px;
margin-top: 0;
box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
max-height: 340px;
overflow-y: auto;
z-index: 1000;
position: relative;
max-width: 660px;
width: 100%;
text-align: left;
left: 0;
position: absolute;
top: 61px;
}

#ajax-results a {
  text-decoration: none
}

#ajax-results ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

#ajax-results li {
  padding: 12px 15px;
  border-bottom: 1px solid #eee;
  cursor: pointer;
}

#ajax-results li:hover {
  background: #f5f5f5;
}

.search-form{
  height:30px;
  display:inline-block;
  border-radius:35px;
  background:transparent;
  line-height:30px;
  position:relative;
  width:auto;
  border: solid 1px #000
}

body.home .search-form:hover {
  border-color: var(--wp--preset--color--primary); 
  cursor: pointer !important
}
.search-form span:not(.sclose):not(.sclose-icon){
  display: inline-block;
  text-align: center;
  padding: 5px;
  line-height: 0.21em;
  font-size: 1rem;
}

.sclose {
  position: absolute;
  top: -34px;
  right: 0;
  cursor: pointer;
  background: rgba(255, 255, 255, 0.48);
  border-radius: 30px;
  padding: 5px 10px;
  font-size: 0.825rem;
  line-height: 1;
  color: #000;
  box-shadow: rgba(0, 0, 0, 0.15) 1.95px 1.95px 2.6px;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.sclose-icon {
  font-size: 1.1em;
  line-height: 1;
}

span.slens{
  position:absolute;
  z-index:1;
  right: 20px;
  top: 15px
}


input:focus {
    outline: none;
    border: none;
}



input#s {
  width: 100%;
  border: none
}

.search-form:hover {
border-color: var(--wp--preset--color--primary); !important
}

.search-form form {
  display: flex;
  width: 100%
}

.search-form form[role="search"]:focus-within {
  background: #fff;
  color: #000
}

.search-form form[role="search"] .slens svg,
.search-form form[role="search"] .sclose svg {
  fill: var(--wp--preset--color--primary); 
  transition: fill 0.2s ease; 
}

.search-form form[role="search"]:focus-within .slens svg,
.search-form form[role="search"]:focus-within .sclose svg,
.search-form form[role="search"]:hover .slens svg,
.search-form form[role="search"]:hover .sclose svg,
.image-gallery-icon svg:hover {
  fill: var(--wp--preset--color--primary)  !important; 
}


.search-form form[role="search"] svg,
.image-gallery-icon svg {
  fill: #000 !important
}

body.home .search-form form[role="search"] svg,
body.home .image-gallery-icon svg {
  fill: #000000 !important
}


#open-search:hover {
  background: var(--wp--preset--color--primary-light); 
}

.conditional-btn {
  display: none
}

.sub-menu, .conditional-btn {
  position: absolute; 
  top: -9999px; 
  left: -9999px;
}

nav ul.sub-menu li..conditional-btn a {padding:0}

 body.home #site-navigation.sticky {
   position: fixed !important;
   top: 0;
   left: 0;
   width: 100%;
   box-shadow: 0 2px 5px rgba(0,0,0,.1);
   background-color: #fff !important;
   
 }
 body.home nav#site-navigation.sticky ul li a {
   color: #000 !important
 }
 
.page-parent .current-menu-item .sub-menu, .page-child .current-menu-parent .sub-menu {
  display: flex;
  background: rgba(255, 255, 255, 0.96);
  width: 100vw;
  left: 0;
  right: 0;
  margin: 0;
  top: auto;
  justify-content: center;
  box-shadow: rgba(0, 0, 0, 0.15) 1.95px 1.95px 2.6px;
  position: fixed
}

body.home #sarova-hero-area, body.home .single-slide {
  height: calc(100vh);
}

body.home #primary {
  padding-top: 20px
}

#primary {
  padding-top: 100px
}
#sarova-hero-area + #main {padding-top: 80px}
.event-slide + #main {padding-top: 40px}

.booking-visible #main {background: #fff;
  position: relative;
  z-index: 2;}
#main {padding-top: 50px}


.single-slide, .swiper-container-hero {
  position: relative;
}



.swiper-container-hero {
  -webkit-animation: text-focus-in 0.2s cubic-bezier(0.550, 0.085, 0.680, 0.530) both;
  animation: text-focus-in 0.2s cubic-bezier(0.550, 0.085, 0.680, 0.530) both;
}
@-webkit-keyframes text-focus-in {
  0% {
    -webkit-filter: blur(8px);
            filter: blur(8px);
    opacity: 0;
  }
  100% {
    -webkit-filter: blur(0px);
            filter: blur(0px);
    opacity: 1;
  }
}
@keyframes text-focus-in {
  0% {
    -webkit-filter: blur(8px);
            filter: blur(8px);
    opacity: 0;
  }
  100% {
    -webkit-filter: blur(0px);
            filter: blur(0px);
    opacity: 1;
  }
}


/* Blur Overlay Styles */
#blur-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.3); /* Semi-transparent white */
    backdrop-filter: blur(10px);
    transition: backdrop-filter 0.3s ease;
    display: none; /* Hidden by default */
    z-index: 3;  
    display: none
}

#sarova-content.nofocus #blur-overlay {
    display: block !important
}

.blur-overlay.blur-inactive {
    backdrop-filter: none;
}

.single-slide::after, .swiper-container-hero::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(0deg, rgba(0,0,0,0.65) 0%, rgba(0,0,0,0.4) 25%, rgba(0,0,0,0) 36%, rgba(0,0,0,0) 100%);
    z-index: 1;
}

body.home .single-slide::after {
  content: none
}

body.home #sarova-hero-area::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(rgba(0, 0, 0, 0.61), rgba(0, 0, 0, 0.37) 40%, rgba(0, 0, 0, 0) 74%);    /* Adjust opacity as needed */
    z-index: 1;
}

#sarova-hero-area.no-hero-image {
  height: 0
}
#sarova-hero-area.no-hero-image:after,
#sarova-hero-area.no-hero-image #booking-form-container {
  display: none
}

#booking-form-container.show .book-widget-container {
  bottom: 20px !important
}


#booking-form-container.show div.book-cta {
  color: #000
}

#booking-form-container.show {
  z-index: 999999;
  position: fixed
}

#booking-form-container.hide {opacity: 0}
.wp-duotone-grayscale img {
    filter: grayscale(100%);
}


#contextual-area {
  position: relative;
  z-index: 4
}
.nofocus .focus-hd {display: none}
.booking-visible.nofocus #contextual-area {
  position: relative;
  z-index: 1001
}
.hero-area-text {
  position: absolute;
  bottom: 40px;
  left: 20px
}


label[for="hotel-select"] {
  display: none
}


.entry-content > .wp-block-cover.alignfull:first-child  {
   margin-top: -116px !important;
 }
 

 

/*Offers all*/

.swiper-weddings h2 {font-size: var(--wp--preset--font-size--large); margin-bottom: 20px}
.swiper-weddings .slide-content-flex {display: flex; gap: 2px}
/*.swiper-weddings .swiper-slide {filter: blur(3px); opacity: 0.3; transition: opacity 0.2s ease-in-out;}
.swiper-weddings .swiper-slide.swiper-slide-active {filter: blur(0);animation: fadeIn .4s ease-in-out forwards;}*/
.swiper-weddings .swiper-wrapper {align-items: start !important; margin: 0 30px !important
  
}

.wedding-price {
  top: 20px;
  right: 20px;
  background: var(--wp--preset--color--primary);
  padding: 8px 15px;
  border-radius: 20px;
  font-weight: 700;
  font-size: 0.825rem;
  cursor: pointer;
  position: absolute;
  color: #000;
}

.wedding-price .price-hover-details {
  display: none;
  position: absolute;
  top: 110%;
  right: 0;
  background: white;
  border-radius: 10px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);
  padding: 10px;
  color: #333;
  z-index: 10;
  min-width: 180px;
  line-height: 1.4;
  max-width: 220px;
  font-weight: 300
}

.wedding-price:hover .price-hover-details {
  display: block;
}


.swiper-pagination span:only-child {
    display: none;
}

.swiper-testimonial img {
  border-radius: 20px
}

.wedding-font {
  font-family: "Whisper", cursive !important;
  font-weight: 400;
  font-style: normal;
  font-size: 4rem !important
}

.light-bg {
  background: var(--wp--preset--color--primary-light); 
}

.swiper-weddings .light-bg {
border-radius: 10px
}

.swiper-offers-all {
  height: calc(100vh - 100px);
  width: calc(100% - 0px) !important;
  margin: 0 auto 0 auto;
}
.swiper-offers-all p a {color: #FFF}
.swiper-offers-all .swiper-slide img {
  z-index: -1;
  position: relative;
  opacity: .3
}
.swiper-offers-all .swiper-wrapper {
  display: block !important;
  height: auto;
}
.swiper-offers-all .swiper-slide {
  background-size: cover;
  background-repeat: no-repeat;
  background: #000
}
.swiper-offers-all .slider-text-overlay {
  color: #fff;
  margin: 0 auto;
  padding: 100px 0;
  z-index: 13;
  position: absolute;
  top: 0;
  left: 40px;
  width: 50%;
  height: 80vh
}
.swiper-offers-all h2 {
  margin: 0;
  padding: 0
}
.swiper-pagination {
  position: absolute;
  left: 0;
  bottom: 0px;
  display: flex;
  gap: 10px
}
span.swiper-pagination-bullet.swiper-pagination-bullet-active {
  background-color: var(--wp--preset--color--primary);
  opacity: 1;
}
.swiper-pagination-bullet {
  background-color: var(--wp--preset--color--primary-light);
  opacity: 1;
  height: 15px;
  width: 15px;
  border-radius: 50%
}
.swiper-pagination-custom {
  position: fixed;
  left: 10px;
  bottom: 15px;
  font-weight: 300;
  background: #fff;
  z-index: 999;
  padding: 6px;
  line-height: 1em;
  font-size: 1rem;
  height: 2em;
  width: 2em;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.swiper-testimonial .swiper-pagination {
  justify-content: center;
  position: relative;
  margin: 50px 0 0 0
}

.swiper-testimonial .swiper-pagination-bullet {
  background-color: var(--wp--preset--color--primary);
opacity: .2
}

.swiper-testimonial {text-align: center}
.swiper-testimonial .slide-content-test{
  max-width: var(--wp--style--global--content-size);
  margin: 0 auto;
  display: flex;
  text-align: left;
  gap: 40px
}
.slide-content-test img.size-portrait {border-radius: 20px}
.swiper-testimonial h2 {
  margin: 0 0 40px 0
}

.event-item {
background: rgba(255, 255, 255, 0.7);
align-items: start;
justify-content: center;
display: flex;
flex-direction: column;
padding: 30px;  
text-align: left;
border-radius: 20px;
margin: 40px 0 0 0;
max-width: 400px;
position: absolute;
z-index: 9;
left: 20px;
top: 20px;
}

.event-item svg {
  margin-left: -10px
}

.event-item h2 {
  font-size: var(--wp--preset--font-size--large)
}
.event-item p {
  margin: 0
}

/*Offers all end*/


.swiper-booking-promo {
  display: flex;
  align-items: center;
  
}

.swiper-booking-promo .swiper-slide {max-width: 431px !important}

body.home .fixed .swiper-container {
  margin-top: 0
}





.swiper-fade .swiper-slide {
    position: relative;
    overflow: hidden;
}

.swiper-fade .swiper-slide img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.swiper-fade .swiper-slide img {
    animation: kenBurnsEffect 20s ease-in 1 forwards;
}
.swiper-wrapper .page-event-info img  {
  width: 45px
  
}


@keyframes kenBurnsEffectSingle {
    0% {
        transform: scale(1) translate(0, 0);
    }
    100% {
        transform: scale(1.1) translate(1.5%, 1.5%);
    }
}


@keyframes kenBurnsEffect {
    0% {
        transform: scale(1) translate(0, 0);
    }
    50% {
        transform: scale(1.1) translate(-2%, -2%);
    }
    100% {
        transform: scale(1) translate(0, 0);
    }
}
.swiper-button-disabled {
  opacity: .3
}

div.swiper-button-next, div.swiper-button-prev {
  color: #FFF;
  top:auto;
  position: absolute;
  height: 40px;
  width: 40px;
  z-index: 9;
  bottom: 40px
}
.swiper-bedrooms div.swiper-button-next-modal, .swiper-bedrooms div.swiper-button-prev-modal {
  color: #FFF;
  top:auto;
  width: 30px;
  position: absolute;
  height: 30px;
  z-index: 9;
  bottom: 50px;
}
div.swiper-button-prev {
  right:var(--swiper-navigation-sides-offset,100px);
  left: auto
}
div.swiper-button-prev,
div.swiper-button-prev-modal {
  background-image: url("inc/img/arrows.svg");
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: center;
  transform:scaleX(-1);
  background-color: transparent
}
div.swiper-button-next,
div.swiper-button-next-modal {
  background-image: url("inc/img/arrows.svg");
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: center;
  right: var(--swiper-navigation-sides-offset,30px);
  background-color: transparent 
}

.room-modal-widget div.swiper-button-next-modal, .room-modal-widget div.swiper-button-prev-modal{
  background-image: url("inc/img/arrows-dark.svg");
  background-size: 25px

}


div.swiper-button-next::after,div.swiper-button-prev::after {
  display: none;
}
.swiper-all-bedrooms div.swiper-button-next, .swiper-all-bedrooms div.swiper-button-prev,
.swiper-weddings div.swiper-button-next, .swiper-weddings div.swiper-button-prev {
  background-image: url("inc/img/arrows-dark.svg");
  z-index: 2;
  top: 30%;
  padding: 10px;
  border-radius: 30px;
  background-size: 50%;
  bottom: auto;
  background-color: #fff;
  box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
}
.swiper-weddings div.swiper-button-next, .swiper-weddings div.swiper-button-prev {
  top: 45%;
}
.swiper-all-bedrooms div.swiper-button-next,
.swiper-weddings div.swiper-button-next {
  right:5px !important
}
.swiper-all-bedrooms div.swiper-button-prev,
.swiper-weddings div.swiper-button-prev {
  right:auto;
  left: 5px !important;
}
.swiper-all-bedrooms {
  padding: 0 20px 0 20px !important
}
.swiper-bedrooms .swiper-slide {
  min-height: 90vh;
  background-size: cover !important;
  background-repeat: no-repeat !important
}
.swiper-bedrooms .slider-text-overlay {
  position: absolute;
  bottom: 30px;
  left: 30px;
  color: #fff;
  max-width: 650px;
  z-index: 2
}
.swiper-bedrooms .slider-text-overlay h2 {
  color: #FFF
}

.slider-text-overlay a{
  text-decoration: none
}

.swiper.swiper-bedrooms {
  width: calc(100% - 0px) !important;
  height: 93vh
}

.swiper-bedrooms .swiper-slide::after {
  content: '';
  position: absolute;
  background: linear-gradient(180deg, rgba(0,0,0,0) 0%,rgba(0,0,0,0.1) 60%, rgba(0,0,0,0.6) 93%, rgba(0,0,0,0.73) 100%);
  width: 100%;
  z-index: 0;
  height: 100%;
  overflow: hidden;
  bottom: 0
}

.swiper-scrollbar {
  background: #e5e5e5;
  height: 3px;
  border-radius: 20px;
  width: 100%;
}
.swiper-scrollbar-drag {
  background: #000;
  height: 3px;
  border-radius: 20px
}

.slide-number-title {
  position: absolute;
  right: 20px;
  top: 80px;
  color: #fff;
  font-size: 0.625rem;
  background: rgba(0, 0, 0, 0.544);
  padding: 2px 10px;
  border-radius: 20px;
  min-width: 100px;
  text-align: center
}

.hero-caption {
  position: absolute;
  right: 20px;
  top: 70px;
  color: #fff;
  font-size: 0.625rem;
  background: rgba(0, 0, 0, 0.544);
  padding: 2px 10px;
  border-radius: 20px;
  min-width: 100px;
  text-align: center
}
body.home .hero-caption{display: none}

.current-menu-item a:before,nav ul li a:before{left:0;bottom:0;width:calc(100% - 15px);height:2px;background:#000;transform:translateX(-101%)}nav ul li a:after,nav ul li a:before{content:"";position:absolute;transition:transform .5s ease}


.bedroom-offer {
  position: relative;
  top: 170px;
  left: 40px;
  background: #fff;
  border-radius: 10px;
  max-width: 400px;
  font-size: 80%;
  z-index: 9;
  padding: 30px 30px 30px 60px;
  margin: 0;
  
  font-weight: 700;
}
.bedroom-offer:hover, .home-event-banner:hover {
  box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
 transform: scale(1.01) !important;
}

.bedroom-offer.animate:hover .btn-bell {
animation-name: bell-ring !important;
animation-duration: 2s !important;
animation-iteration-count:  infinite!important;
}

.home-event-banner {
  position: absolute; background: rgba(255, 255, 255, 0.801); border-radius: 10px; padding: 20px; top: 10px; left:10px; font-size: 0.825rem; max-width:320px; text-align: left;
  transition: all 0.3s ease;
  margin-right: 10px

}
.page-event-info.swiper-slide {
  opacity: 0;
}

.page-event-info.swiper-slide.swiper-slide-active {
  animation: fadeIn 1s ease-in-out forwards;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

a.event-banner-button {
 
  text-decoration: none;
  text-transform: uppercase;
  display: inline-block;
  margin-top: 10px;
  font-size: 0.825rem;
  font-weight: 700;
  flex: 0 0 auto !important;
  width: auto !important;
  align-self: flex-start;
  transition: background-color 0.3s ease, color 0.3s ease;
  }
  


.announcement-position-position-under a.event-banner-button {
  position: absolute;
top: 0; /* adjust as needed */
right: 30px;
margin-top: 0;
bottom: 0
}
.announcement-position-position-under .page-event-info, .announcement-position-position-under .event-banner-button.link-arrow {
  display: flex;
  align-items: center;
}

.announcement-position-position-under .event-banner-button.link-arrow {
  padding: 0 40px 0

}

.announcement-position-position-under .page-event-info .link-arrow:before {
top: 50%;
}

.announcement-position-position-under .page-event-info .link-arrow:after {
top: 44%;
}

a.event-banner-button:hover {
  
}

.event-content {
  padding: 5px 20px;
  font-size: 1rem
}
.event-content h3 {
  font-size: 1rem
}

.event-content p{
  padding: 5px 0;
  margin: 0 
}

.has-banner-button .event-content {
  display: flex;
  width: 100%;
  justify-content: space-between;
  flex-direction: column;
}


.bedroom-offer span {
  font-weight: 300;
  padding-left: 5px
}
.bedroom-offer.animate .btn-bell {
  position: absolute;
  color: var(--wp--preset--color--primary);
  font-size: 20px;
  animation-name: bell-ring;
  animation-duration: 2s;
  animation-iteration-count: 2;
  top: 32%;
  left: 10px
}
a.div-link {
  text-decoration: none
}
a .bedroom-offer span.link-arrow, .home-event-banner .link-arrow, .page-event-info .link-arrow {
  text-transform: uppercase;
  font-size: .725rem;
  font-weight: 700;
  position: relative;
  padding: 0 40px 0 0;
  display: block
}
.bedroom-offer span.link-arrow:after, .home-event-banner .link-arrow:after, .page-event-info .link-arrow:after {
  border-style: solid;
  border-width: 0.1em 0.1em 0 0;
  content: "";
  display: inline-block;
  height: .78em;
  left: auto;
  position: absolute;
  top: 0.15em;
  transform: rotate(-45deg);
  vertical-align: top;
  width: 0.78em;
  transition: all 0.3s ease;
  right: 5px;
  transform: rotate(45deg);
}

.home-event-banner .link-arrow:after, .page-event-info .link-arrow:after{
  top: 40%
}

.page-event-info {padding: 30px; background: var(--wp--preset--color--primary-light);}
.page-event-info h3{padding: 0 50px 0 0; margin: 0}

.bedroom-offer span.link-arrow:after {
  height: .78em;
  top: 0.6em;
  width: 0.78em;
}
.bedroom-offer span.link-arrow:before, .home-event-banner .link-arrow:before, .page-event-info .link-arrow:before {
  content: "";
  width: 20px;
  height: 1px;
  background: #000;
  position: absolute;
  top: 12px;
  margin-top: 0px;
  right: 4px;
  transition: all 0.3s ease;
}

.bedroom-offer span.link-arrow:before {
  margin-top: -1px;
}


.home-event-banner .link-arrow:before, .page-event-info .link-arrow:before {
  top: 68%
}
.bedroom-offer a.read-more {
  display: block;
  max-width: 90px;
  margin-top: 10px
}
.bedroom-offer:hover span.link-arrow:before, .event-content:hover a.link-arrow:before {
  right: 10px;
  width: 20px;
}
.bedroom-offer:hover span.link-arrow:after,
.event-content:hover a.link-arrow:after {
  right: 10px;
}
.bedroom-offer-lrg {
  color: #FFF;
  min-height: 70vh;
  margin: 0;
  padding: 40px;
  background-size: cover;
  background-repeat: no-repeat
}
.bedroom-offer-lrg .text-overlay {
  max-width: var(--wp--style--global--wide-size);
  margin: 0 auto;
  padding: 80px 0
}
.bedroom-offer-lrg h2, .bedroom-offer-lrg .offer-content {
  max-width: 50%
}
.bedroom-offer-lrg h2 {
  margin-top: 0
}

.cat-name {
  font-weight: 700;
  color: var(--wp--preset--color--primary);
}
.cat-name a {
  text-decoration: none;
  color: var(--wp--preset--color--primary);
}


@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/* Apply the animation to an element */
 .fade-in {
 opacity: 0;
 transition: opacity 0.4s ease-in-out;
}

/* Optional: To trigger the animation on hover */
.fade-in.animate-fade {
  opacity: 1;
}

.booking-form-container.show .book-widget-container{
  -webkit-animation: slide-top 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both !important;
          animation: slide-top 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both !important;

}



.trigger.animate {
  -webkit-animation: scale-up-center 0.4s cubic-bezier(0.390, 0.575, 0.565, 1.000) both;
  animation: scale-up-center 0.4s cubic-bezier(0.390, 0.575, 0.565, 1.000) both;
  opacity: 1
}
.trigger-up.animate {
  -webkit-animation: scale-up-center 0.4s cubic-bezier(0.390, 0.575, 0.565, 1.000) both;
  animation: scale-up-center 0.4s cubic-bezier(0.390, 0.575, 0.565, 1.000) both;
  opacity: 1
}


.trigger-spin.animate  {
  animation: spin 2s cubic-bezier(0.25, 0.1, 0.25, 1) 1 forwards;
}
.swiper-container.event-slide {
  position: relative
}

.swiper-container.event-slide .swiper-pagination {
  right: 20px;
  top: 20px;
  left: auto;
  bottom: auto;
  z-index: 9;
  position: absolute
}

.swiper-container.event-slide .swiper-pagination-bullet {
  background: #FFF
}

.swiper-container.event-slide .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: var(--wp--preset--color--primary);
}




/* Base style for pagination bullets */
.swiper-container.event-slide .swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  background-color: rgba(255, 255, 255, 0.7);
  border-radius: 50%;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

.swiper-container.event-slide .swiper-pagination-bullet-active {
  width: 30px; /* Wider width for active bullet */
  background-color: #fff;
  border-radius: 25px; /* Rounded rectangle */
  transition: all 0.3s ease;
}

.swiper-container.event-slide .swiper-pagination-bullet,
.swiper-container.event-slide .swiper-pagination-bullet-active {
  transition: width 0.3s ease, background-color 0.3s ease;
}

/* Optional: Add a slight scale effect on active bullet */
.swiper-container.event-slide .swiper-pagination-bullet-active {
  transform: scale(1.1);
}


/* Scale up on click */
.swiper-container.event-slide .swiper-pagination-bullet:active,
.swiper-container.event-slide .swiper-pagination-bullet:focus {
  transform: scale(1.2);
}

/* Active Pagination Bullet */
.swiper-container.event-slide .swiper-pagination-bullet-active {
  width: 30px; /* Wider width for active bullet */
  background-color: #fff;
  border-radius: 25px; /* Rounded rectangle */
  transition: all 0.3s ease;
  transform: scale(1.1);
  position: relative; /* For the ::before positioning */
  overflow: hidden; /* To hide the progress bar outside */
}

/* Progress Bar inside Active Bullet */
.swiper-container.event-slide .swiper-pagination-bullet-active::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  height: 4px; /* Thickness of the progress bar */
  width: 0%;
  background-color: #000; /* Color of the progress bar */
  /* The animation is triggered via the 'progress-active' class */
  animation: none;
}
/* Active Pagination Bullet */
.swiper-container.event-slide .swiper-pagination-bullet-active {
  width: 30px; /* Wider width for active bullet */
  background-color: #fff;
  border-radius: 25px; /* Rounded rectangle */
  transition: all 0.3s ease;
  transform: scale(1.1);
  position: relative; /* For the ::before positioning */
  overflow: hidden; /* To hide the progress bar outside */
}

/* Progress Bar inside Active Bullet */
.swiper-container.event-slide .swiper-pagination-bullet-active::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  height: 100%; 
  width: 0%; 
  background-color: var(--wp--preset--color--primary); 
  animation: none;
}

/* Trigger the Horizontal Progress Animation */
.swiper-container.event-slide .swiper-pagination-bullet-active.progress-active::before {
  animation: progress-fill-horizontal 5s linear forwards;
}


/* Keyframes for Horizontal Progress Bar Animation */
@keyframes progress-fill-horizontal {
  from { width: 0%; }
  to { width: 100%; }
}

/* When Autoplay is Stopped, Reset the Progress Bar */
.swiper-container.event-slide .swiper-container.autoplay-stopped .swiper-pagination-bullet-active::before {
  animation: none;
  width: 0%; /* Reset width to 0% */
}




.meeting-offers-list {
  margin-top: 60px;
  border-top: solid 1px rgba(255, 255, 255, 0.5);
  max-width: 540px;
  margin: 0 auto;
}

.meeting-offers-list .offer-text h3 {
  padding: 0
}
.meeting-offers-list a{
  text-decoration: none;
}
.meeting-offers-wrapper {
  transition: all .2s ease-in-out;
}

.meeting-offers-wrapper a{
  display: flex;
  align-content: space-between;
  justify-content: stretch;
  border-bottom: solid 1px rgba(255, 255, 255, 0.5);
}
.meeting-offers-wrapper h4, .meeting-offers-wrapper p {
  font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif !important; font-weight: 700;
  padding: 0;
  margin: 0
}
.meeting-offers-wrapper div {
  align-self: center;
}
.meeting-offers-wrapper .offer-text {
  flex-grow: 2;
  padding: 20px 0 20px 10px
}
.offer-more-details {padding-right: 40px; min-width: 80px}

.meeting-offers-wrapper:hover {
  cursor: pointer !important;
  transform: scale(1.05);
}

.meeting-offers-wrapper:hover .btn-bell {
  animation-name: bell-ring;
  animation-duration: 2s;
  animation-iteration-count: 2;}


.has-dark-background-color ~ .wp-block-cover__inner-container svg{
  fill: #fff
}
.accordion {
  margin-bottom: 40px
}
.accordion .accordion-item {
  border-bottom: 1px solid #a4a4a4;
}
.accordion .accordion-item button[aria-expanded=true] {
  border-bottom: 1px solid var(--wp--preset--color--dark)
}
.accordion button {
  position: relative;
  display: block;
  text-align: left;
  width: 100%;
  padding: 1em 0;
  color: var(--wp--preset--color--dark);
  font-weight: 700;
  border: none;
  background: none;
  outline: none;
}
.accordion button:hover, .accordion button:focus {
  cursor: pointer;
  color: var(--wp--preset--color--dark)
}
.accordion button:hover::after, .accordion button:focus::after {
  cursor: pointer;
  color: var(--wp--preset--color--dark)border: 1px solid var(--wp--preset--color--dark)
}
.accordion button .accordion-title {
  padding: 0.5em 2.5em 0.5em 0;
  display:block
}
.accordion button .icon {
  display: inline-block;
  position: absolute;
  top: 28px;
  right: 0;
  width: 22px;
  height: 22px;
}
.accordion button .icon::before {
  display: block;
  position: absolute;
  content: "";
  top: 9px;
  left: 5px;
  width: 10px;
  height: 2px;
  background: currentColor;
}
.accordion button .icon::after {
  display: block;
  position: absolute;
  content: "";
  top: 5px;
  left: 9px;
  width: 2px;
  height: 10px;
  background: currentColor;
}
.accordion button[aria-expanded=true] {
  color: var(--wp--preset--color--dark)
}
.accordion button[aria-expanded=true] .icon::after {
  width: 0;
}
.accordion button[aria-expanded=true] + .accordion-content {
  opacity: 1;
  max-height: 100%;
  transition: all 200ms linear;
  will-change: opacity, max-height;
}
.accordion .accordion-content {
  opacity: 0;
  max-height: 0;
  overflow: hidden;
  transition: opacity 200ms linear, max-height 200ms linear;
  will-change: opacity, max-height;
}
.accordion .accordion-content p {
  font-weight: 300;
}


.wp-block-cover .has-background-dim + .wp-block-cover__image-background + .wp-block-cover__inner-container .wp-block-buttons .wp-block-button.is-style-outline a.wp-block-button__link {
    color: #fff !important;
    height: auto !important
}

.wp-block-cover .has-background-dim + .wp-block-cover__image-background + .wp-block-cover__inner-container .wp-block-buttons .wp-block-button.is-style-outline {
    border-color: #fff !important;
}

.is-style-outline .has-dark-color {
  border: solid 1px #000
}

.wp-block-cover .has-background-dim + .wp-block-cover__image-background + .wp-block-cover__inner-container .wp-block-buttons .wp-block-button.is-style-outline .wp-block-button__link:hover {
    color: #000 !important;
}

.wp-block-cover .has-primary-background-color.has-background-dim + .wp-block-cover__image-background + .wp-block-cover__inner-container .wp-block-buttons .wp-block-button.is-style-outline .wp-block-button__link {
    color: #000 !important;
}

.wp-block-cover .has-primary-background-color.has-background-dim + .wp-block-cover__image-background + .wp-block-cover__inner-container .wp-block-buttons .wp-block-button.is-style-outline {
    border-color: #000 !important;
}

.no-padding {padding: 0 !important}

.exclusive-savings-button svg {margin-right: 5px}
/* MODAL
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.modal {
  position: fixed;
  top: 100px;
  bottom: 0;
  right: 0;
  left: 0;
  padding: 0;
  cursor: pointer;
  visibility: hidden;
  opacity: 0;
  transition: all 0.35s ease-in;
  background: #FFF;
  width: calc(50% - 40px);
  margin: 0 auto;
  box-shadow: rgba(0, 0, 0, 0.25) 0px 25px 50px -12px;
  border-radius: 20px;
  border: solid 1px #ccc;
  overflow: hidden;
  margin: 20px auto;
  max-height: 70vh
}

.modal-dialog {
  position: relative
}

.modal.is-visible {
  visibility: visible;
  opacity: 1;
  z-index: 99999
}

.modal-dialog {
  overflow: auto;
  cursor: default;
}

.rbw-modal-pdf .modal-content {padding: 40px 0 0 0 !important}

.exclusive-savings-layout {
    display: flex;
    width: 100%;
    height: 100%;
    background: #fff;
    border-radius: 25px;
    max-width: 940px;
    margin: 0 auto;
}

.exclusive-savings-image {
    width: 38%;
    overflow: hidden;
   border-radius: 25px 0 0 25px;

}
.exclusive-savings-modal.rbw-modal.rbw-modal-show .rbw-modal-content {height: auto;top: auto}

.exclusive-savings-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.reason-to-book {
    width: 62%;
    padding: 80px 40px;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    flex-direction: column;
    gap: 40px
}

/* Responsive fallback */
@media (max-width: 768px) {
    .exclusive-savings-layout {
        flex-direction: column;
    }

    .exclusive-savings-image,
    .reason-to-book {
        width: 100%;
        padding: 40px 20px
    }
}

.spinner {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.8); /* Light overlay */
    z-index: 99;
    flex-direction: column
}


/*.spinner-circle {
    border: 3px solid var(--wp--preset--color--primary-light);
    border-top: 3px solid #000;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    animation: spin 1s linear infinite;
}*/




.spinner-circle {
  animation: spin .8s linear infinite;
  padding: 20px
}
/* Spinner animation */
@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Event Icon Styling */
.event-icon {
    border-radius: 50%;  
    display: flex;
    align-items: center;  
    justify-content: center;  
    padding: 3px;
    margin-left: 10px;
}

/* Event Container Styling */
.page-event-info {
    padding: 12px 0;
    position: relative;
    margin-bottom: 20px;
    display: flex;
    gap: 0;
    align-items: center;
    width: calc(100% - 60px);
}


.page-event-info h3 {
    margin-top: 0;
}

/* Accordion Toggle Button Styling */
.accordion-toggle {
    border: none;
    cursor: pointer;
    margin-top: 10px;
    text-align: left;
    display: flex;
    align-items: center;
    background: transparent;
    padding: 0;
}

.accordion-toggle .arrow {
    border: solid #000;
    border-width: 0 2px 2px 0;
    display: inline-block;
    padding: 3px;
    transform: rotate(45deg);
    transition: transform 0.3s ease;
    margin-left: 10px;
}

.accordion-toggle.active .arrow {
    transform: rotate(-135deg);
}

/* Accordion Content Styling */
.accordion-content {
    margin-top: 10px;
    padding: 0 20px 0 0;
    animation: fadeIn 0.3s ease-in-out;
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

.accordion-content p + .wp-block-buttons, .accordion-content .wp-block-spacer + .wp-block-buttons, .accordion-content ul.wp-block-list + .wp-block-buttons {
  position: relative
}


.modal-header, .modal-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #fff
}

.modal-header {
  position: absolute;
  right: 0;
  top: 0;
  left: 0;
  border-bottom: solid 1px #ccc;
  padding: 15px 15px 10px 20px
}

.modal-header h2{
  font-size: 2rem; 
  padding: 0
}

.modal-footer {
  position: absolute;
  bottom: 0;
  top: auto;
  width: 100%;
  height: 110px;
  text-align: center;
align-items: center;
background: linear-gradient(0deg, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%);
}
  
.modal-header .close-modal {
  font-size: 1.5rem;
}

.modal p + p {
  margin-top: 1rem;
}
button.open-modal { background: none;
  color: inherit;
  border: none;
  padding: 0;
  font: inherit;
  cursor: pointer;
  outline: inherit;}

button.close-modal {  background: none;
  color: inherit;
  border: none;
  padding: 0;
  font: inherit;
  cursor: pointer;
  outline: inherit;}




/*Wordpress specific
*/

.dashed-hr {
    border: none; /* Remove default border */
    border-top: 1px dashed #fff; /* Apply dashed border to the top side */
    width: 100%; /* Adjust width as needed */
}


img.attachment-portrait.size-portrait, img.attachment-landscape.size-landscape   {
width: 100%; height: auto
}

.wp-block-columns-50 {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 2rem
}

.wp-block-column.card {
  border-radius: 30px;
  padding: 30px 0
}

.wp-block-column.card p, .wp-block-column.card h2, .wp-block-column.card h3, .wp-block-column.card h4 {
  padding: 0px 30px;
}

.wp-block-column.card ul {
  padding: 0px 30px 0 50px;
}


.wp-block-columns .wp-block-column {
  position: relative;
}

.wp-block-embed__wrapper {
  position: relative;
  padding-bottom: 56.25%; /* This maintains a 16:9 aspect ratio */
  height: 0;
  overflow: hidden;
  max-width: 100%;
}


.wp-block-embed__wrapper iframe{
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}


.notice .wp-block-columns .wp-block-column:has(a){
  padding-bottom: 0px
}



.wp-block-columns .wp-block-column .wp-block-cover  .wp-block-buttons{
  position: relative;
  bottom: 0;
}


.wp-block-cover.alignwide.is-light {
  border-radius: 0 !important
}



.wp-block-cover.alignfull.is-light {
  border-radius: 0px !important
}


.wp-block-columns.no-gap {
  gap: 0; 
  margin: 0;
   padding: 0;
   display: flex;
  align-items: stretch
}

.wp-block-columns.sm-gap {
  gap: 10px;
  margin: 0 0 10px 0;
  padding: 0;
  display: flex;
}

.wp-block-gallery.alignfull {margin-bottom: 9px}
.is-vertically-aligned-stretch .wp-block-cover {height: 100%}
/* Make each column a flex container to allow inner elements to stretch */
.wp-block-columns.no-gap .wp-block-column {
    display: flex;
    flex-direction: column;
}

/* Ensure the wp-block-cover elements fill the height of their parent column */
.wp-block-columns.no-gap .wp-block-column .wp-block-cover {
    flex: 1;
    display: flex;
    flex-direction: column;
}


.wp-block-image img {
  border-radius: 0px
}
.wp-block-columns.no-gap figure {margin: 0 !important}

.wp-block-column img {
  max-width: 100%
}
.wp-block-cover.alignfull {
  padding: 100px 0
}
.wp-block-cover.alignfull .wp-block-columns {
  gap: 70px
}
.wp-block-column.meetings {
  position: relative
}
.wp-block-columns.alignfull .wp-block-cover.alignfull .wp-block-cover__inner-container {
  padding: 60px
}
.meetings .meeting-category {
  position: absolute;
  top: 0px;
  right: 0px;
}
.meetings .meeting-category li{
  background: var(--wp--preset--color--primary-light);
  color: var(--wp--preset--color--dark);
  max-width: 80%;
  display: block;
  float: left;
  border-radius: 20px;
  padding: 5px 10px;
  font-size: 0.625rem;
  font-weight: 700;
  list-style: none;
  margin: 0 5px 5px 0;
  text-transform: uppercase;
  white-space: nowrap;
}
.meetings .meeting-category li a {
  text-decoration: none
}
#breadcrumbs {
  max-width: var(--wp--style--global--wide-size);
  margin: 20px auto 50px auto;
  padding-bottom: 10px;
  font-size: 0.825rem;
  background: rgba(255, 255, 255, 0.5);
  padding: 10px 20px;
  border-radius: 6px;
}

#breadcrumbs:after {
    content: "";
    display: block;
    width: 100%;
    height: 1px; /* Border height */
    background-color: rgba(0, 0, 0, 0.5); /* Border color */
    margin-top: 10px; /* Adjust the space between the breadcrumbs and the border */
}
 
.trigger {
  opacity: 0
}
.entry-content > *:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.is-style-wide), .wp-block-cover.alignwide {
  max-width: var(--wp--style--global--wide-size);
  margin: 0 auto
}
.wp-block-columns.alignwide, .site-main.alignwide {
  max-width: var(--wp--style--global--wide-size);
  margin: 0 auto
}
body .main-content > * {
  max-width: var(--wp--style--global--content-size);
  margin-left: auto;
  margin-right: auto;
}
body .main-content > .alignwide {
  max-width: var(--wp--style--global--wide-size);
}
body .main-content > .fullwidth {
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
}
.mobile-scroll {
  display: none
}
.notice {
  background: var(--wp--preset--color--primary-light);
  padding: 40px;
  border-radius: 20px;
  font-weight: 700;
  margin: 40px 0;
  position: relative
}
.notice-aquilla {
  background: var(--wp--preset--color--aquilla);
  padding: 20px 40px 20px 80px;
  border-radius: 20px;
  font-weight: 700;
  margin: 40px 0;
  position: relative
}
.notice-small {
  font-size: 0.825rem;
  padding: 20px 0px 20px 60px;
  margin: 0
}
/*.notice::before {
  display: block;
  content: ' ';
  background-image: url('inc/img/notice.svg');
  background-size: 48px 48px;
  height: 48px;
  width: 48px;
  position: absolute;
  left: 20px;
}
.notice-small::before {
  background-size: 28px 28px;
  height: 28px;
  width: 28px;
}*/

.notice .wp-block-columns {
  margin: 0 !important
}
.search-results-item {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  width: 100%;
  gap: 40px
}
.search-results-item article {
  display: flex;
  flex-direction: column;
  flex-basis: 25% !important;
  flex: 1;
}
.search-results-item article img {
  width: 100%;
  height: auto
}
figcaption {
  background: var(--wp--preset--color--primary-light);
  color: var(--wp--preset--color--dark);
  max-width: 80%;
  display: block;
  float: left;
  position: absolute;
  top: 20px;
  left: 20px;
  border-radius: 20px;
  padding: 10px 15px;
  font-size: 0.825rem;
  font-weight: 700
}
.wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
  background: #fff ;
  text-align: left;
  bottom: auto;
  color: #000;
  border-radius: 20px;
  height: auto;
  width: auto;
  padding: 5px 10px;
  font-weight: 300;
  font-size: 0.825rem;
  left: auto;
  right: 20px;
  text-shadow: none
}
figure {
  position: relative;
}
.wp-block-separator {height: 1px; background: rgba(0, 0, 0, 0.501);width: 100%; border: none !important; margin: 40px 0}

/*Wordpress specific BUTTONS*/


.vertical-none {
  align-items: stretch !important
}
.on-load-book-now {
  padding: 20px 20px 10px 20px !important;
  box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
  background: #fff;
  font-size: .825rem;
  width: 170px;
  border-radius: 20px;
  z-index: 1;
  margin-bottom: 10px
}
.on-load-book-now {
  animation: scale-up-center 0.4s cubic-bezier(0.390, 0.575, 0.565, 1.000) both;
}

#fixed-book-now .on-load-book-now {
  transition: opacity 0.5s ease-in-out; 
  opacity: 1; 
}

#fixed-book-now.scrolled .on-load-book-now {
  transition: opacity 0.5s ease-in-out;
  opacity: 0; 
  right: -200px
}


#fixed-book-now h3 {
  padding: 0;
  margin: 0;
}
.btn-small {
  font-size: .825rem !important;
  padding: 10px 15px !important
}

.wp-block-buttons {
  margin: 40px 0 20px 0;
}
p + .wp-block-buttons, .wp-block-spacer + .wp-block-buttons,  ul.wp-block-list + .wp-block-buttons{
   position: absolute;
   bottom: 0;
}

.wp-block-buttons:has(+ .meeting-offers-list), .notice p + .wp-block-buttons, .wp-block-cover__inner-container p + .wp-block-buttons, .wp-block-buttons.default-place { position: relative !important }

.no-gap .wp-block-column .meeting-offers-list h3 {
  padding: 0 120px 0 0;
}
.wp-block-column:has(.wp-block-buttons:last-child) {
   padding-bottom: 80px
}

.wp-block-columns.alignfull.no-gap .wp-block-column:has(.wp-block-buttons:last-child) {
   padding-bottom: 0
}



body.home .sub-page-title {display: none}


#fixed-book-now {
    transition: opacity 0.5s ease-in-out;
    position: fixed;
    bottom: 10px; 
    right: 20px;
    z-index: 999;
    width: 200px;
}

#fixed-book-now.show {
    opacity: 1; 
    z-index: 999
}



button.book-now-primary-fixed, button.book-now-secondary-fixed, .menu-item.hide-unscroll.book-now-primary-fixed a, .menu-item.hide-unscroll.book-now-secondary-fixed a {
  background: var(--wp--preset--color--accent);
  border-radius: 30px;
  border: solid 1px var(--wp--preset--color--accent);
  color: #fff;
  text-transform: uppercase;
  font-weight: 700;
  transition: background-color 0.5s;
  padding: 12px 40px;
  margin: 0;
  cursor:pointer;
  font-size: 0.825rem;
  z-index: 99;
  white-space:nowrap;
}
nav ul li.hide-unscroll {
  padding: 0
}
button.book-now-secondary-fixed, .menu-item.hide-unscroll.book-now-secondary-fixed a{
  background: var(--wp--preset--color--primary);
  color: #000;
  border: solid 1px var(--wp--preset--color--primary)
}


.menu-item.hide-unscroll.book-now-primary-fixed a, .menu-item.hide-unscroll.book-now-secondary-fixed a {margin: 0}


.btn-constant {
  box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
  transition: transform .4s, border-color 0.4s ease-in-out, opacity 0.4s ease-in-out !important;
  z-index: 2;
  position: relative;
  width: 210px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--wp--preset--color--accent);
  color: white;
  padding: 10px 20px;
  border-radius: 4px;
  cursor: pointer;
  border: solid 2px transparent; 
  justify-content: center;
  align-items: center;
  display: flex;
  border-radius: 30px
}


.btn-constant:hover {
  opacity: .95;
  border-color: #fff; /* Border fades to white on hover */
}


.fixed button.book-now-primary-fixed, .fixed .is-visible button.book-now-primary-fixed, .fixed button.book-now-secondary-fixed, .menu-item.hide-unscroll a{
  display: block;
  -webkit-animation: scale-up-center 0.4s cubic-bezier(0.390, 0.575, 0.565, 1.000) both;
  animation: scale-up-center 0.4s cubic-bezier(0.390, 0.575, 0.565, 1.000) both;
  white-space:nowrap;
}

.fixed button.book-now-primary-fixed{
  -webkit-animation: unset;
  animation:unset;
}
.hide-unscroll {
  display: none
}
#site-navigation.fixed .hide-unscroll {
  display: block;
  position: fixed;
  display: block;
  top: 43px;
  right: 0px;
}



#site-navigation.fixed .hide-unscroll button.book-now-primary-fixed,
#site-navigation.fixed .hide-unscroll button.book-now-secondary-fixed{
  padding: 10px 20px;
  border-radius: 0 !important
}

#site-navigation .hide-unscroll button.book-now-primary-fixed {
    opacity: 0;
    transform: scale(0);
    transition: transform 0.5s ease-in-out, opacity 0.5s ease-in-out;
}

/* Animation for when the button is active/visible */
#site-navigation.fixed .hide-unscroll button.book-now-primary-fixed {
    opacity: 1;
    transform: scale(1);
}

/* Hide nav on scroll-down, show on scroll-up */
#site-navigation {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  transition: transform 0.3s ease;
}

#site-navigation.nav-hidden {
  transform: translateY(-100%);
}

button.btn-primary,
button.full-package-button  {   
   display: inline-block;
  border: none;
  padding: 1rem 2rem;
  margin: 0;
  text-decoration: none;
  line-height: 1;
  cursor: pointer;
  text-align: center;
  transition: background 250ms ease-in-out, transform 150ms ease;
  -webkit-appearance: none;
  -moz-appearance: none;}
  
button.book-now-primary-fixed, .fixed .is-visible button.book-now-primary-fixed, .sub-menu button.book-now-primary-fixed {
  display: none 
}


.wp-element-button, .wp-block-button__link, .gform_button, button.btn-primary, .wp-element-button, .wp-block-button__link {
  background: var(--wp--preset--color--primary);
  border-radius: 30px;
  color: var(--wp--preset--color--dark) !important;
  text-transform: uppercase;
  font-weight: 700;
  padding: 15px 40px;
  font-size: 0.825rem !important;
  transition: background-color 0.5s;
  white-space:nowrap;
  border: solid 1px var(--wp--preset--color--primary)
}

.has-background-background-color.wp-element-button  {background: #fff !important;   border: solid 1px #fff
}

.wp-element-button.btn-outline {
  background:transparent !important;
  color: #FFF !important
}
.wp-block-button.is-style-outline a.wp-block-button__link{
  background: transparent !important
}

span.has-background-dim + div.wp-block-cover__inner-container .wp-block-button.is-style-outline,
span.has-dark-background-color + div.wp-block-cover__inner-container .wp-block-button.is-style-outline {
 color: #FFF !important;
 border-color: #FFF !important
}


.gform_button {border: none; width: 200px; font-size: 1.125rem}

p + a.wp-element-button,
.entry-summary > a {
  margin-top: 20px;
  display: inline-block;
  width: auto;
  height: auto !important
}


.wp-block-button__link:hover, .wp-element-button:hover {
  background-color: var(--wp--preset--color--primary-light) !important;
  border: solid 1px var(--wp--preset--color--primary-light);
  color: #000 !important

}
.gform_button:hover {background: #000; color: #FFF}
.weather-info {color: #fff;position: absolute; left: 20px; top:10px; font-size: 0.825rem; font-weight: 700}
.weather-info img {width: 40px; height: auto}
.weather-widget {display: flex; align-items: center}


/* Define the keyframes for the reveal pop animation */
@keyframes reveal-pop {
    0% {
        opacity: 0;                
        transform: scale(0.8);    
    }
    100% {
        opacity: 1;   
        transform: scale(1);  
    }
}

.weather-widget, .search-form {
    opacity: 0;  
    animation: reveal-pop 0.2s ease-out 0.2s forwards;
}



.wp-block-button .wp-block-button__link.is-style-outline, .wp-block-button.is-style-outline>.wp-block-button__link {
  padding: 15px 40px;
  color: #000 !important
}
.btn-primary {
  background-color: var(--wp--preset--color--primary-light) !important;
}


.book-now-primary:hover {
  background: #0D4690;
  border-radius: 30px;
  border: solid 1px var(--wp--preset--color--accent);
  color: #fff;
  text-transform: uppercase;
  font-weight: 700;
  transition: background-color 0.5s;
  cursor:pointer;
  font-size: 0.825rem;
  z-index: 2;
}

.wp-block-button.pdf-download .wp-element-button, .wp-block-button.btn-secondary .wp-element-button, .wp-element-button.pdf-download,
button.full-package-button {
  background: none;
  border: solid 1px #000;
  border-radius: 30px;
  background: transparent !important

}

 .has-background-dim .is-style-outline, .has-background-dim .wp-block-button.is-style-outline {
   border: solid 1px #fff !important;
   color: #FFF !important
 }

.wp-block-button.pdf-download .wp-element-button:hover, .wp-block-button.btn-secondary .wp-element-button:hover, .btn-secondary a:hover {
  background: var(--wp--preset--color--primary-light) !important;
  transition: .2s ease-in-out;
}
.sarova-careers a:hover {
  color: #000;
background-image:url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" fill="black" 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>') !important;
background-repeat: no-repeat !important;
background-position: 10px 7px !important;
background-size: 15px !important;
transition: none !important
}
.btn-secondary .wp-element-button, .wp-block-button.pdf-download .wp-element-button {
  padding: 13px 40px
}
.wp-block-button.pdf-download .wp-element-button {position: relative; padding-right: 50px}

.wp-block-button.pdf-download .wp-element-button:after {
  display: inline-flex;
  content: '';
  background-image: url('inc/img/pdf.svg');
  background-size: 25px 25px;
  height: 25px;
  width: 25px;
  right: 15px;
  top: 8px;
  position: absolute
}
.wp-element-button.btn-outline, .wp-block-button.is-style-outline .has-background-color.has-text-color.has-link-color {
  border: solid 1px #fff ;
  color: #fff !important
}
.is-style-outline:hover {border: solid 1px var(--wp--preset--color--primary-light)}
.wp-element-button.btn-outline:hover {
  color: #000
}
#site-navigation .book-now-primary {
  display: none
}

#sarova-conten {
  width: 100vw;
  overflow-x: hidden
}
#sarova-content.fixed #site-navigation .book-now-primary {
  display: block;
  margin-right: 20px;
  -webkit-animation: scale-up-center 0.4s cubic-bezier(0.390, 0.575, 0.565, 1.000) both;
  animation: scale-up-center 0.4s cubic-bezier(0.390, 0.575, 0.565, 1.000) both;
}
.read-more {
  text-transform: uppercase;
  font-size: .825rem;
  font-weight: 700;
  position: relative
}
a.read-more {
  text-decoration: none;
  padding: 0 40px 0 0
}
.has-dark-background-color ~ .wp-block-cover__inner-container a.read-more {
  color: #fff
}
.read-more:after {
  border-style: solid;
  border-width: 0.1em 0.1em 0 0;
  content: "";
  display: inline-block;
  height: .78em;
  left: auto;
  position: absolute;
  top: 4px;
  transform: rotate(-45deg);
  vertical-align: top;
  width: 0.78em;
  transition: all 0.3s ease;
  right: 5px;
  transform: rotate(45deg);
}
.read-more:before {
  content: "";
  width: 14px;
  height: 1px;
  background: #000;
  position: absolute;
  top: 10px;
  margin-top: -1px;
  right: 4px;
  transition: all 0.3s ease;
}
.has-dark-background-color ~ .wp-block-cover__inner-container .read-more:before {
  background: #fff;
}
.has-dark-background-color ~ .wp-block-cover__inner-container a {
  color: #FFF
}
.has-dark-background-color ~ .wp-block-cover__inner-container a.wp-block-button__link {
  color: #000
}

.wp-block-button.is-style-outline:hover {border-radius: 30px !important}


.filter-instruct {padding: 40px 10px 10px; font-weight: 700; text-transform: capitalize; 
  max-width: var(--wp--style--global--wide-size);
  margin: 0 auto;
}
button.filter-cat-button, .room-type button, button.btn-outline, button.btn-no-outline {
  background-color: #FFFFFF;
  border: 1px solid #222222;
  border-radius: 30px;
  box-sizing: border-box;
  color: #222222;
  cursor: pointer;
  display: inline-block;
  line-height: 20px;
  margin: 0;
  outline: none;
  padding: 10px 23px;
  position: relative;
  text-align: center;
  text-decoration: none;
  touch-action: manipulation;
  transition: box-shadow .2s,-ms-transform .1s,-webkit-transform .1s,transform .1s;
  user-select: none;
  -webkit-user-select: none;
  width: auto;
  font-size: 0.725rem;
  text-transform: uppercase;
  margin-right: 10px
}
button.filter-cat-button, .room-type button, button.btn-outline {padding: 14px 20px}
button.filter-cat-button:focus-visible, .room-type button:focus-visible {
  box-shadow: #222222 0 0 0 2px, rgba(255, 255, 255, 0.8) 0 0 0 4px;
  transition: box-shadow .2s;
}
button.filter-cat-button:active, .room-type button:active, {
  background-color: #F7F7F7;
  border-color: #000000;
  transform: scale(.96);
}
.room-type a {text-decoration: none}
button.filter-cat-button:disabled, .room-type button:disabled {
  border-color: #DDDDDD;
  color: #DDDDDD;
  cursor: not-allowed;
  opacity: 1;
}
button.btn-no-outline {
  padding: 0;
  margin: 0  0 0 10px!important;
  border: none;
  background: none;
  display: flex
}
.me-room-slider button.btn-no-outline {
  padding: 5px 10px;
  margin: 0 0 0 10px !important;
}

button.room-gallery-button, button.room-details-button,
button.me-room-gallery-button,
button.me-room-details-button {
  border: solid 1px var(--wp--preset--color--primary);
  border-radius: 30px;
  padding: 7px 12px 5px;
  transition: background-color 0.3s ease;
  font-weight: 700;
  background: var(--wp--preset--color--primary);

}
button.room-gallery-button:hover, button.room-details-button:hover, button.me-room-gallery-button:hover, button.me-room-details-button:hover {
  background: var(--wp--preset--color--primary-light);
}

button.btn-no-outline svg {padding: 3px 5px 0 0}
.slider-text-overlay button.btn-outline {
  margin: 0
}
.title-size-cap {
  display: flex;
  align-items: center;
  width: 100%;
  flex-direction: row;
  justify-content: space-between;
}
.meeting-room-block h4 {white-space: nowrap;
  padding: 0;
  margin: 10px 0 20px 0;
  flex-grow: 2;
  line-height: 1em;
  font-size: 2rem
}


ul.icon-list {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 0px;  
    padding: 20px 0 40px;
}

ul.icon-list li {
   margin-bottom: 10px;
   border-bottom: solid 1px var(--wp--preset--color--primary-light);
   padding-bottom: 10px;
   margin-right: 40px;
   display: flex;
   align-items: center
}

.room-description-div {
  display: flex;
  gap: 0px;
  align-items: center
}

.rbw-modal-room-details .room-description-div {
  gap: 40px
}

.room-description-div > div {
    flex: auto;
}


/*Wordpress specific TITLES*/


.title-section {
  position: relative;
  height: 0;
  padding-top: 33.34%;
  min-height: 240px
}
.title-section, .title-section *, .title-section *:before {
  box-sizing: border-box;
}
.title-section:before {
  content: "";
  display: block;
  position: relative;
  height: 0px;
  top: 0;
}
.title-section:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 10%;
  height: 0;
  border-left: 1px solid var(--wp--preset--color--dark);
}
.has-dark-background-color ~ .wp-block-cover__inner-container .title-section:after {
  border-left: 1px solid #fff;
}
.has-dark-background-color ~ .wp-block-cover__inner-container h3, .has-dark-background-color ~ .wp-block-cover__inner-container h2 {
  color: #FFF
}
.title-section.animate:after {
  animation: bs-line-animation-v 0.5s forwards 0.7s;
}


@keyframes fade-out {
  100% {
    opacity: 0;
    display: none;
  }
}
@keyframes bs-line-animation-v {
  0% {
    height: 0%;
  }
  100% {
    height: 28%;
  }
}
@keyframes bs-line-animation-h {
  0% {
    width: 0%;
  }
  100% {
    width: 50%;
  }
}
.title-section p {
  text-transform: uppercase;
  font-size: 0.825em;
  position: absolute;
  left: 0%;
  bottom: 45%;
  transform: rotateZ(-90deg);
  transform-origin: 0% 50%;
  color: var(--wp--preset--color--dark);
  opacity: 0;
  font-weight: 300
}
.title-section.animate p {
  animation: bs-show-1 1s forwards 0.7s;
}
@keyframes bs-show-1 {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes bs-show-2 {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.title-section h2 {
  position: absolute;
  left: 10%;
  top: 50%;
  transform: translateY(-50%);
  opacity: 0;
  line-height: 1em;
  text-transform: capitalize;
  margin: 0
}
.title-section.animate h2 {
  animation: bs-show-1 1s forwards 0.1s;
}

/* BOOKING WIDGET */
/* ---------- ROOM CONTAINER & MODALS ---------- */
.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: .8em;
    height: 0;
    overflow: hidden;
    pointer-events: all;
    transform: scale(0);
    transform-origin: bottom center;
    transition: transform .2s ease-out;
    z-index: 10;
    bottom: 0;
    background: white;
}
.container-rooms-nr.show {
    box-shadow: 0 0 25px rgba(0,0,0,.3);
    height: auto;
    transform: scale(1);
    z-index: 99999;
    min-width: 270px;
}
.container-rooms-nr .content {
    padding: 20px;
    background-color: #fff;
}

/* ---------- ROOM & TITLE ---------- */
.container-rooms-nr .room {
    margin-bottom: 20px;
}
.container-rooms-nr .room > div {
    display: flex;
    justify-content: space-between;
    gap: 10px;
}
.room-nr-title {
    text-transform: uppercase;
    font-weight: 700;
    font-size: 1.125rem;
    margin-bottom: 10px;
}
#room-number {
    cursor: pointer;
}

/* ---------- BUTTONS ---------- */
.container-rooms-nr button {
    padding: 10px;
    cursor: pointer;
    border-radius: 5px;
}
.container-rooms-nr button#close-overlay {
  background-color: var(--wp--preset--color--primary);
    color: #292929;
    border: none;
    float: right;
    border-radius: 30px;
    font-weight: 800;
    min-width: 100px;
}
.container-rooms-nr button#add-room {
    background-color: var(--wp--preset--color--primary-light);
    color: #292929;
    border: none;
    border-radius: 30px;
}
.container-rooms-nr button.remove-room {
    background-color: transparent;
    color: #292929;
    border: 1px solid #efefef;
    float: right;
    border-radius: 30px;
    font-size: 11px;
    padding: 6px 10px;
}

/* ---------- QUANTITY CONTROL ---------- */
.container-rooms-nr .quantity-control {
    display: flex;
    align-items: center;
}
.container-rooms-nr .quantity-btn {
    background-color: var(--wp--preset--color--primary-light);
    color: #292929;
    border: none;
    padding: 10px 15px;
    cursor: pointer;
    border-radius: 50%;
}
.container-rooms-nr .quantity-btn:disabled {
    background-color: #ccc;
    cursor: not-allowed;
}
.container-rooms-nr .quantity-control input {
    text-align: center;
    border: none;
    margin: 0;
    font-weight: 800;
    width: 30px;
}

/* ---------- FORMS ---------- */
.form-group {
    gap: 20px;
}
.form-group > div {
    display: flex;
    flex-direction: column;
}
.form-group label {
    display: block;
}

/* ---------- TOASTS ---------- */
#toast-container, .container-rooms-nr, .toast {
    position: absolute;
}
#toast-container {
    z-index: 1000;
    display: flex;
    justify-content: center;
    align-items: start;
    width: 100%;
    top: -100px;
    max-width: 340px;
}
.toast {
    background-color: #ff4f4f;
    color: #fff;
    padding: 10px 20px;
    border-radius: 5px;
    box-shadow: 0 0 10px rgba(0,0,0,.1);
    opacity: 0;
    transition: opacity .5s ease-in-out;
}
.toast.show {
    opacity: 1;
}

/* ---------- SELECTS ---------- */
.child-age-select {
    appearance: none;
    padding: 10px 25px 10px 10px;
    border: 1px solid #cecece;
    border-radius: 8px;
    background-color: #fff;
    font-size: 14px;
    color: #333;
    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-position: right 10px center;
    background-size: 10px 10px;
    cursor: pointer;
    width: 100%;
    margin-top: 10px;
}
.child-age-select:focus {
    border-color: var(--wp--preset--color--primary-light);
    outline: 0;
}

/* ---------- OTHER LABELS & GROUPS ---------- */
#occupants #overlay-container label {
    background: 0 0;
    padding-left: 0;
}
#occupants label,
.promo-code label,
.sarova-date label {
    font-size: var(--wp--preset--font-size-extra-small);
    
}
.child-nr-box,
.room-done {
    padding-top: 10px;
}
#booking-form-container.show{bottom:0;right:0;left:0}

#booking-form-container.show .book-widget-container {
bottom: 20px!important;
}
.exclusive-savings-button:hover {
  cursor: pointer !important
}
/* ---------- HEADINGS ---------- */
#rooms-container h3 {
    margin: 0;
    padding: 0 0 10px;
}

.room-booking-widget {
  display: flex;
  justify-content: center;
  margin: 0 40px 0 40px;
  background: #fff;
  z-index: 1;
  position: relative;
  font-size: 0.825rem;
  bottom: 29vh;
  left: 0;
  right: 0;
  box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
  border-radius: 10px;
  width: 95%;
  max-width: var(--wp--style--global--wide-size);
  margin: 0 auto;
  line-height: 1.3em
}

.room-booking-widget {
animation: animate_up .6s;
-webkit-animation: animate_up .6s;
}

.rbw-modal .room-booking-widget {
  font-size: 1.125rem
}

.rbw-modal.rbw-modal-pdf .modal-content {
  height: 90vh
}


.booking-scroll.animate .room-booking-widget {
  opacity: 0
}
.booking-scroll .room-booking-widget {
  opacity: 1
}
.room-booking-widget, .room-booking-widget * {
  box-sizing: border-box;
}
.room-booking-widget .awards {
  padding: 20px 10px;
  background: var(--wp--preset--color--primary-light);
  border-bottom-left-radius: 10px;
  border-top-left-radius: 10px;
  margin-right: 40px;
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.room-booking-widget .account-edit a {
  text-decoration: none
}
  /* Define the keyframes for the animation */
  @keyframes fadeInSlideDown {
      0% {
          opacity: 0;
          transform: translateY(-100px); /* Start from 100px above */
      }
      100% {
          opacity: 1;
          transform: translateY(0); /* End at the original position */
      }
  }
  /* Define the fade-out and slide-up keyframes */
  @keyframes fadeOutSlideUp {
      0% {
          opacity: 1;
          transform: translateY(0); /* Start at the original position */
      }
      100% {
          opacity: 0;
          transform: translateY(-100px); /* Slide up 100px */
      }
  }
div.rbw-modal .room-booking-widget {
  bottom: auto;
}
div.rbw-modal .room-booking-widget .rbw-size > div:nth-child(1) {
  display: inline-block;
}




.rbw-modal-book-table {
  align-items: center;
  display: flex;
  justify-content: center;
  text-align: center;
  flex-direction: column;
}

div.rbw-modal .room-booking-widget {
  box-shadow: none;
  display: flex;
  flex-direction: row-reverse;
  width: 100%;
  max-width: 800px;
  position: relative;
  left: 50%;
  margin-left: 0px;
  margin-right: 0px;
  max-height: calc(100vh - 130px);
  overflow-y: auto;
  top: 50%;
  transform: translateX(-50%) translateY(-40%);
  background: none !important;
  background-color: transparent !important;
}

div.rbw-modal .room-booking-widget .rbw-size > div:nth-child(1) > div:nth-child(2) {
  margin-bottom: 30px;
  padding-right: 0px;
}

div.rbw-modal .room-booking-widget .rbw-size > div:nth-child(1) > div:nth-child(2) .rbw-label {
  padding-top: 20px;
}

div.rbw-modal .room-booking-widget .rbw-size .rbw-input {
  padding-left: 0px;
  padding-right: 0px;
  padding-bottom: 20px;
  display: inline-block;
  width: 33%;
  vertical-align: top;
}

div.rbw-modal .room-booking-widget .rbw-size .rbw-input:nth-child(3),
div.rbw-modal .room-booking-widget .rbw-size .rbw-input:nth-child(4) {
  padding-right: 5px;

}

div.rbw-modal .room-booking-widget .rbw-size .rbw-input:nth-child(4),
div.rbw-modal .room-booking-widget .rbw-size .rbw-input:nth-child(5) {
  padding-left: 5px;

}

div.rbw-modal .room-booking-widget .rbw-size .rbw-promo-code {
  padding-left: 0px;
  padding-right: 0px;
  border-bottom: 2px solid #000000;

}

div.rbw-modal .amend-booking {
  position: fixed;
  right: 100px;
  top: 10px;
text-decoration: none;
font-size: 0.825rem
}

div.rbw-modal .rbw-size > div:nth-child(1) > div {padding: 0}


div.rbw-modal .room-booking-widget .account-edit {
  left: 0px !important;
  width: 100% !important;

}

div.rbw-modal .rbw-label {
  margin-top: 0px;
  margin-bottom: 5px;

}



div.rbw-modal .room-booking-widget .awards {
 width: calc(100%) !important;
 background: transparent;
 border-radius: 30px;
 padding: 10px !important;
 margin: 20px auto !important;
 text-align: center !important;
 
  }
  .rbw-size div.awards > div {
    text-align: center !important;

  }
  
 div.rbw-modal .room-booking-widget .awards .trustscore {
   align-items: center
 }
  
  

div.rbw-modal .room-booking-widget .rbw-size > div:nth-child(1) {
  flex-direction: column;
  width: 100%;
}

div.rbw-modal .room-booking-widget .rbw-size > div:nth-child(1) > div:not(.rbw-input) {
  width: 100%;

}

body.rbw-showing-modal {
  overflow: hidden !important;
  width: auto !important;
  height: auto !important;
}

/* Overlay */
.rbw-modal.rbw-modal-show {
  position: fixed;
  inset: 0;
  z-index: 99999999;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.55);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  padding: 24px;
  overflow: auto;
}

/* Modal panel */
.rbw-modal.rbw-modal-show .modal-content,
.rbw-modal.rbw-modal-show .rbw-modal-content {
  position: relative;
  width: min(900px, 92vw);
  max-width: 800px;
  background: #fff;
  border-radius: 30px;
  box-shadow: rgba(0, 0, 0, 0.27) 0px 7px 29px 0px;
  max-height: calc(100vh - 48px);
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  transform: translateY(24px);
  animation: rbwModalIn 0.35s ease-out forwards;
  will-change: transform, opacity;
}

/* Gallery modal: bypass the height chain entirely — set swiper directly to viewport height */
.rbw-modal.rbw-modal-room-gallery.rbw-modal-show .modal-content,
.rbw-modal.rbw-modal-room-gallery.rbw-modal-show .rbw-modal-content,
.rbw-modal.rbw-modal-me-room-gallery.rbw-modal-show .modal-content,
.rbw-modal.rbw-modal-me-room-gallery.rbw-modal-show .rbw-modal-content {
  width: 100% !important;
  max-width: 100% !important;
  height: calc(100vh - 80px) !important;
  max-height: none !important;
  padding: 0 !important;
  overflow: hidden !important;
}
.rbw-modal-room-gallery .room-modal-widget,
.rbw-modal-me-room-gallery .room-modal-widget {
  height: 100% !important;
  flex-direction: column !important; /* override the row rule at line ~4265 */
  overflow: hidden !important;
}
/* Swiper container gets viewport-based height directly — no chain dependency */
.rbw-modal-room-gallery .swiper-container,
.rbw-modal-me-room-gallery .swiper-container {
  height: calc(100vh - 80px) !important;
}
/* Swiper wrapper must stretch slides, not centre them */
.rbw-modal-room-gallery .swiper-wrapper,
.rbw-modal-me-room-gallery .swiper-wrapper {
  align-items: stretch !important;
  height: 100% !important;
}
.rbw-modal-room-gallery .swiper-slide,
.rbw-modal-me-room-gallery .swiper-slide {
  height: 100% !important;
}
.room-modal-widget {
  height: calc(100vh - 140px) !important;
}

/* Remove conflicting "force visible" rules (do NOT set opacity:1!important here) */
.rbw-modal .modal-content,
.rbw-modal .rbw-modal-content {
  visibility: visible !important;
}

/* Fade overlay itself (optional, subtle) */
.rbw-modal.rbw-modal-show {
  opacity: 0;
  animation: rbwOverlayIn 0.25s ease-out forwards;
}

.rbw-modal-book-table .modal-content {
  height: 80vh
}

/* Keyframes */
@keyframes rbwOverlayIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}

@keyframes rbwModalIn {
  from {
    opacity: 0;
    transform: translateY(28px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Close button */
.rbw-close-button {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 10;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  background-color: transparent;
  transition: transform 0.25s ease;
  z-index: 999
}

.rbw-close-button img {
  width: 40px;
}

.rbw-close-button:hover {
  transform: rotate(90deg);
}

/* PDF modal: full height, inner widget handles scroll */
.rbw-modal.rbw-modal-pdf.rbw-modal-show .modal-content {
  padding: 0;
  overflow: hidden;
  max-height: calc(100vh - 48px);
}

/* Inner scroll area */
.room-modal-widget {
  height: 100%;
  overflow: auto;
  display: flex;
  flex-direction: column;
  -webkit-overflow-scrolling: touch;
}

/* PDF iframe */
#pdf-iframe {
  width: 100% !important;
  height: 100%;
}

/* Swiper containers inside modal */
.modal-content .swiper-container {
  height: 100%;
}

/* Swiper arrows */
.rbw-modal .swiper-button-prev-modal,
.rbw-modal .swiper-button-next-modal {
  background-image: url("inc/img/arrows-dark.svg");
  background-size: 70% auto;
}

.rbw-modal .swiper-button-prev-modal,
.rbw-modal .swiper-button-next-modal {
  position: fixed !important;
  bottom: 10px !important;
  background-color: rgba(255, 255, 255, 1) !important;
  padding: 10px;
  height: 40px;
  width: 40px;
  z-index: 9;
  border-radius: 50%;
}

.rbw-modal .swiper-button-prev-modal { right: 70px !important; }
.rbw-modal .swiper-button-next-modal { right: 10px !important; }

/* Existing layout */
.reason-to-book > div { flex: 1; align-items: start; }
.reason-to-book p { margin: 10px 0 0; }
.reason-to-book h2 { font-size: var(--wp--preset--font-size--medium); }
.reason-to-book img { max-width: 40px; }

.room-modal-widget .room-description-details {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.room-modal-widget .room-description-details > div {
  flex: 1 1 calc(50% - 20px);
  box-sizing: border-box;
  background: var(--wp--preset--color--primary-light);
  border-radius: 20px;
  padding: 20px;
}

.room-modal-widget .room-description-details > div h5 {
  padding: 0 0 20px 0;
  margin: 0;
}

.room-description-details ul { margin: 0; padding: 0 0 0 20px; }
.sitemap h5 { padding: 0; }
.rbw-modal-room-details .modal-content {padding: 0 40px}
.rbw-modal-room-details .room-description-div {padding: 40px 0; flex-direction: column}
/* Line animation kept */
.line {
  width: 100%;
  height: 1px;
  margin-top: 40px;
  background-color: rgba(0, 0, 0, 0.428);
  position: relative;
  bottom: 0;
  transform: scaleX(0);
  transform-origin: left;
  will-change: transform;
  animation: drawLine 0.4s 0.4s forwards;
}
@keyframes drawLine {
  to { transform: scaleX(1); }
}

/* Simple fade-in */
@keyframes rbwFadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}

/* Mobile tweaks */
@media only screen and (max-width: 768px) {
  .rbw-modal.rbw-modal-show {
    padding: 16px;
  }

  .rbw-modal.rbw-modal-show .modal-content,
  .rbw-modal.rbw-modal-show .rbw-modal-content {
    width: 100%;
    max-width: 100%;
    padding: 20px;
    max-height: calc(100vh - 32px);
  }

  .rbw-modal-show .column {
    min-height: 20px;
    margin-bottom: 30px;
  }

  .reason-to-book {
    gap: 0px;
    flex-direction: column;
    display: flex;
  }

  .reason-to-book img {
    width: 40px;
    height: auto;
    margin-top: 0;
  }

  .reason-to-book h2 {
    font-size: var(--wp--preset--font-size--large);
  }

  .line {
    position: relative;
  }
}
#sarovamodal-wrapper { 
  position: fixed; inset: 0; 
  display: none; 
  align-items: center; 
  justify-content: center; 
  z-index: 10000; 
}
#sarovamodal-wrapper.is-open { display: flex; }
.pm-overlay {
  position: absolute; inset: 0;
  background: rgba(0,0,0,0.6);
}
.pm-content {
  position: relative;
  background: #fff;
  max-width: 90%;
  max-height: 90%;
  overflow-y: auto;
  padding: 2rem;
  border-radius: 8px;
  z-index: 1;
}
.pm-close {
  position: absolute;
  top: .5rem; right: .5rem;
  background: none; border: none;
  font-size: 1.5rem; cursor: pointer;
}
.pm-thumb img { max-width: 100%; height: auto; margin-bottom: 1rem; }


.wp-block-cover.festive-hero {
  position: relative;
  overflow: hidden;
}

/* Triangle background */
.wp-block-cover.festive-hero::before {
  content: "";
  position: absolute;
  top: 110px;  /* offset for hidden navbar */
  right: 0;
  width: 0;
  height: 0;
  border-top: 120px solid var(--wp--preset--color--primary);
  border-left: 120px solid transparent;
  z-index: 1;
}

/* Text inside triangle */
.wp-block-cover.festive-hero::after {
  content: "Available throughout December";
  position: absolute;
  top: 109px; 
  right: 0;    
  z-index: 2;
  color: #333;
  font-weight: 700;
  font-size: 12px;
  line-height: 1.2;
  max-width: 100px; /* keeps text inside triangle */
  text-align: right;
  transform: rotate(45deg);  /* align with hypotenuse */

}


 
/* M&E–––––––––––––––––––––––––––––––––––––––––––––––––– */
.room-name-size {
  display: flex;
  justify-content: space-between;
  margin: 10px 0;
  align-items: start;
  line-height: 2em;
  gap: 5px
}
.room-name-size > div:first-of-type {  flex-grow: 2;
}
.room-name-size h4 {
  padding: 0;
  margin: 0 0 20px 0;
  flex-grow: 2;
  line-height: 1em;
  font-size: 2rem
}
.room-sqm {
  font-size: 0.825rem;
  font-weight: 800;
opacity: .5
}
.spec-item {
  display: flex;
  font-size: 1rem;
  gap: 0px;
  max-width: 100%;
  overflow: scroll;
  max-width: 100%;
}
.spec-item ul li{
  list-style: none;
  padding: 0;
  margin: 0;
}
.spec-item ul {
  padding: 0;
  margin: 0;
}
.spec-item ul li {
  display: flex;
  justify-content: space-between;
  padding: 3px 0;
  flex-wrap: nowrap;
  white-space: nowrap
}
.spec-item ul li span.room-desc-accordian {
  padding-right: 20px;
  opacity: .5;
}

.room-slider-type, .pill-overlay {position: absolute !important; padding: 0; right: 0; top: -10px; left: auto !important; float: none !important}
.room-type  {
  background: var(--wp--preset--color--primary-light);
  color: var(--wp--preset--color--dark);
  max-width: 80%;
  display: block;
  float: left;
  position: relative;
  top: 10px;
  left: 0;
  border-radius: 20px;
  padding: 5px 10px;
  font-size: 0.825rem;
  font-weight: 700;
  margin-right: 10px
}
.img-desc-flex {
  display: flex;
  position: absolute;
  bottom: 24px;
  left: 60px;
}

.room-buttons {
  display: flex;
}

.room-info {
display: flex;
flex-direction: column-reverse;
align-items: start;
justify-content: start;
margin-top: 20px;
}

.swiper-slide .image-caption {
    padding: 5px 10px; 
    background: var(--wp--preset--color--primary-light);
    color: var(--wp--preset--color--dark);
    border-radius: 20px;
    font-size: 0.825rem;
    font-weight: 700;
    margin-right: 10px
}


.swiper-all-bedrooms .swiper-slide .room-type {
  padding: 5px 10px;
  margin: 10px;
}

.swiper-all-bedrooms .swiper-wrapper {
  align-items: start;
}

.spec-item div {
  border-right: solid 1px #000;
  padding: 0 15px 30px 15px
}
.spec-item img {
  width: 180px;
  height: 130px;
  margin-top: 10px
}
.slider-text-overlay {
  padding: 0 0 20px 0;
}

.slider-text-overlay p {
  max-width: 70%
}
div.meeting-offers-list:not(.wp-block-column .meeting-offers-list) {
  display: flex;
  justify-content: space-evenly;
  gap: 40px;
  margin: 0 40px
}
div.meeting-offers-list:not(.wp-block-column .meeting-offers-list) .meeting-offers-wrapper {
  padding: 20px;
  border-radius: 20px;
  background: #fff;
  width: 100%;
  border: solid 1px #e5e5e5
}
div.meeting-offers-list:not(.wp-block-column .meeting-offers-list) .meeting-offers-wrapper:hover {
  box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
  opacity: 1
}


.meeting-offers-list .meeting-offers-wrapper a {
  flex-direction: column;
}

.wp-block-cover__inner-container .meeting-offers-list .meeting-offers-wrapper a {
  flex-direction: row;
}

.wp-block-cover__inner-container .meeting-offers-list .meeting-offers-wrapper .offer-text {
  text-align: left;
  padding: 20px 0;
  max-width: 340px
}

.wp-block-cover__inner-container .meeting-offers-list .meeting-offers-wrapper .btn-bell {
  margin-right: 10px
}

.wp-block-cover__inner-container .meeting-offers-list .meeting-offers-wrapper .offer-more-details {
  min-width: 30px;
  height: 15px
}

.meeting-offers-list .meeting-offers-wrapper .offer-text {
  padding: 0 0 20px 0;
  text-align: center
}

.meeting-offers-list .meeting-offers-wrapper h3 {
  margin: 0
}

.single-offer-view p {
  padding: 10px 0
}

.related-posts-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr); /* Create a grid with 2 equal columns */
    gap: 20px; /* Space between the grid items */
}

.related-posts {
  margin-top: 60px;
  padding-top: 40px;
  border-top: solid 1px #000 
}

.related-post-thumbnail img {
    max-width: 100%;
    height: auto;
}

.related-post-title {
    margin-top: 10px;
  
}

.related-post-title a {
    text-decoration: none;

}

.related-post-title a:hover {
}



/* Style the link within the heading */
.wp-block-image + h3.wp-block-heading > a, a.read-more-compact {
    position: relative; 
    display: inline-block;  
    color: inherit; 
    width: 100%
}

/* Insert the SVG arrow as a pseudo-element */
.wp-block-image + h3.wp-block-heading > a::after,  a.read-more-compact::after{
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    width: 16px; /* Adjust the size as needed */
    height: 16px;
    transform: translateY(-50%); 
    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='m67.34 15.898c-0.63672-0.76563-1.5703-1.2266-2.5664-1.2695-0.99609-0.046875-1.9648 0.32812-2.6719 1.0352-0.70312 0.70313-1.0781 1.6719-1.0352 2.668 0.046875 0.99609 0.50781 1.9297 1.2734 2.5664l25.512 25.543h-84.32c-1.8906 0.097656-3.3711 1.6602-3.3711 3.5547 0 1.8906 1.4805 3.4531 3.3711 3.5547h84.32l-25.551 25.508c-1.3359 1.3984-1.3359 3.6016 0 5 0.66016 0.66406 1.5625 1.0391 2.5 1.0391s1.8359-0.375 2.5-1.0391l31.602-31.602-0.003906 0.003907c0.67969-0.65625 1.0664-1.5586 1.0664-2.5 0-0.94531-0.38672-1.8477-1.0664-2.5z'/%3E%3C/svg%3E%0A");
    background-size: contain;
    background-repeat: no-repeat;
    transition: transform 0.3s ease; /* Smooth animation */
}

/* Animate the arrow slightly to the left on hover */
.wp-block-image + h3.wp-block-heading > a:hover::after, a.read-more-compact:hover::after {
    transform: translate(-5px, -50%); /* Move left by 5px while keeping it vertically centered */
}

.image-gallery-icon {
  font-size: 0.725rem;
  padding: 0 7px 10px; height: 20px;
  font-weight: 700;
  text-transform: uppercase;
  background-color: transparent;
  transition: all 0.3s ease-in-out;
}
.image-gallery-icon svg {
  padding: 6px 0 0
}


.image-gallery-icon a {
  display: flex;
  text-decoration: none;
  color: #ffffff;
}


/*Footer*/

.footer .wp-duotone-grayscale img {
  border-radius: 10px
}

a.back-top {
  color: #fff;
  font-weight: 700;
  display: flex;
  align-items: center;
  padding: 10px;
  margin-right: -10px;
  transition: background-color 0.3s ease, border-radius 0.3s ease; /* Add transition for smooth animation */
}
a.back-top:hover {
  background: #4f4f4f;
  border-radius: 30px;
}

footer .address svg {
  position: relative;
  top: 3px
}
footer a.back-top:before{
display: none
}

a.back-top svg {
  margin-left: 10px;
  fill: #fff
}
a.post-edit-link {
  display: block;
  font-weight: 800; 
  margin: 20px 0;
  background: rgb(237, 108, 108);
  padding: 10px;
  border-radius: 30px;
  color: #fff
}

footer .wp-block-gallery.has-nested-images .wp-block-image img {
  max-width: 90px !important; 
  height: auto
}
footer .wp-block-gallery.has-nested-images {
  max-width: 410px
}
footer .wp-block-gallery figure.wp-block-image {
  margin: 0 !important
}
footer {
  background: var(--wp--preset--color--dark);
  padding: 100px 0 0 0;
  color: rgba(255, 255, 255, 0.703);
  font-size: .9rem;
  margin-top: 10px;
  line-height: 1.5em
}
/* Define the spin animation */
@keyframes spin {
    from {
        transform: rotateY(0deg);
    }
    to {
        transform: rotateY(180deg);
    }
}

footer svg.sarova-logo-title {opacity: .7}
footer svg.sarova-logo-title:hover {
    animation: spin 1s cubic-bezier(0.25, 0.1, 0.25, 1) 1;
}



footer .widget.widget_nav_menu .book-now-primary-fixed {display: none !important}
footer a{
  color: rgba(255, 255, 255, 0.703);
  text-decoration: none;
}
footer ul {
  padding: 0;
  margin: 0
}
footer ul li {
  list-style: none;
  padding: 0;
  margin: 0
}

 
footer .container {
  display: flex;
  align-items: flex-start;
  gap: 80px;
  max-width: var(--wp--style--global--wide-size);
  margin: 40px auto 80px auto;
}
footer .widget {
  max-width: var(--wp--style--global--wide-size);
  margin: 0 auto;
}
}
footer .wp-block-columns {
gap: 80px
}
footer ul li strong {
display: block
}
footer h2.wp-block-heading {
padding: 30px 0 10px 0
}
footer .container div {
display: block
}

.footer-copyright {
border-top: solid 1px #555;
color: var(--wp--preset--color--light);

}

.footer-copyright div {
  max-width: var(--wp--style--global--wide-size);
  margin: 40px auto 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 30px
}
footer img {
max-width: 30px;
}
.book-hero-mobile {
display: none
}
button.book-now-primary-fixed {
right: 20px
}
footer a {
position: relative;
color: inherit;
text-decoration: none;
display: inline-block;
overflow: hidden;
}
footer a:before, footer a:after {
content: "";
position: absolute;
transition: transform 0.5s ease;
}
footer a:before{
left: 0;
bottom: 0;
width: 100%;
height: 1px;
background: #fff;
transform: translateX(-101%);
}
footer a:hover:before {
transform: translateX(0);
}
footer a strong {
display: block
}
footer .hotel-selector {
  display: none
}

footer ul li.telephone {
  margin-top: 20px
}

/* Basic input styles */
.gform_submission_error, .validation_message {color: rgb(163, 7, 7) !important;}
.gform_footer {margin-top: 20px}
.gform_required_legend, .gfield.gfield--type-honeypot, .field_admin_only {display: none !important; }
.gform_wrapper .gform_fields{
grid-column-gap: 40px;
-ms-grid-columns: (1fr 2%) [12];
grid-row-gap: 16px;
display: grid;
grid-template-columns: repeat(12,1fr);
grid-template-rows: repeat(auto-fill,auto);
width: 100%;
}
.gform_wrapper .gfield {
grid-column: 1/-1;
min-width: 0;
}
.gform_wrapper .gfield.gfield--width-half {
grid-column: span 6
}

.gfield {
  display: flex;
  flex-direction: column-reverse;
  position: relative;
  padding-top: 1.4rem;
  margin-top: 1rem

}
.gfield textarea {width: 94%; background: transparent; border-bottom: solid 2px  var(--wp--preset--color--primary); padding: 20px; border-color:  var(--wp--preset--color--primary);margin-top: 15px}

.gfield label {
  position: absolute;
  top: 0;
  transition: .25s ease;
  font-weight: 700;
}

.gfield input {
  border: 0;
  z-index: 1;
  background-color: transparent;
  border-bottom: 2px solid var(--wp--preset--color--primary); 
  width: calc(100% - 20px);
  padding: 10px;
  transition: .1s ease-in-out;
    }
    
    .ginput_container {
      overflow: hidden
    }

.gfield input:focus, .gfield textarea:focus, .ginput_container select:focus {
      background-color: rgba(255, 255, 255, 0.4);
      border: solid 1px var(--wp--preset--color--primary);
    outline: none;border-radius: 4px;
    box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
   }

    
.ginput_container select {
      appearance: none;
      -webkit-appearance: none;
      width: 100%;
      padding: 10px;
      background-color: transparent;
      border: solid 0px;
      border-bottom: 2px solid var(--wp--preset--color--primary);
      border-radius: 0;
      color: #000;
      cursor: pointer;
      position: relative;
    }
    
.ginput_container_select:before, .ginput_container_select:after {
      --size: 0.3rem;
      position: absolute;
      content: "";
      right: 1rem;
      pointer-events: none;
    }
    
.ginput_container_select:before {
      border-left: var(--size) solid transparent;
      border-right: var(--size) solid transparent;
      border-bottom: var(--size) solid black;
      top: 60%;
    }
    
.ginput_container_select:after {
      border-left: var(--size) solid transparent;
      border-right: var(--size) solid transparent;
      border-top: var(--size) solid black;
      top: 75%;
    }
    
 
/* Default state: show the list */
    #hotel-list {
        display: block;
    }
    
    #hotel-select {
        display: none;
    }
    
    /* Style for the dropdown list */
    .dropdown-list {
        list-style: none;
        padding: 0;
        margin: 0;
    }
    
    .dropdown-list li {
        margin: 5px 0;
    }


.wp-block-spacer.is-style-small, .wp-block-spacer.is-style-responsive-small {height: 20px !important}
.wp-block-spacer.is-style-medium, .wp-block-spacer.is-style-responsive-medium {height: 40px !important}
.wp-block-spacer.is-style-large, .wp-block-spacer.is-style-responsive-large {height: 80px !important}
.wp-block-spacer.is-style-x-large, .wp-block-spacer.is-style-responsive-x-large {height: 160px !important}
.swiper-wrapper {
  display: flex;
  align-items: center
}
.rbw-modal-room-gallery .room-modal-widget {
  flex-direction: row
}
.bedroom-offer-lrg .text-overlay {
  display: flex; justify-content: center !important; flex-direction: column; min-height: 70vh; line-height: 1em; color: #fff; padding: 20px;
}
.entry-content .filter-pills	{
      display: flex;
      flex-direction: row;
      overflow: auto;
      white-space: nowrap;
      left: 0;
      right: 0;
      width: auto;
      justify-content: start;
      -webkit-overflow-scrolling: touch;
     -ms-overflow-style: none;
     scrollbar-width: none; /* Firefox */
      }
      
.filter-pills::-webkit-scrollbar {
         display: none; 
       }

    .filter-cat-button {
      margin: 10px;
      padding: 10px;
      font-size: 1.2em;
    }

    .filter-cat-button.active {
      font-weight: bolder;
      background-color: #2c3034;
      color: white;
    }

.bedroom-type {
  overflow: hidden
}

label[for="hotel-select"] {
  display: none
}


#primary .entry-content > .rbw-modal {
  margin: 0 !important
}
    ul.bedroom-type-image {
      padding: 0;
      list-style: none;
      display: grid;
      grid-template-columns: 66.667% 33.334%;
      grid-gap: 15px;
    }


    ul.bedroom-type-image li:first-of-type {
      grid-row: span 2;
    }

    ul.bedroom-type-image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    .room-extra-details {
      display: flex;
      width: 100%;
      border: solid 1px var(--wp--preset--color--primary-light);
      border-left: 0px; border-right: 0px;
      padding: 30px 0;
      font-size: 0.825rem;
      margin: 30px 0 60px;
      text-align: left;
      gap: 40px
    }

    .room-extra-details .room-extra-details-single {
      flex-grow: 1;
      font-weight: 700;
    }

    .room-extra-details .room-extra-details-single span{
      font-weight: 300;
      white-space: nowrap;
      margin-bottom: 10px;
      display: block
    }


    .bedroom-type .room-details button {

    }
    .room-gallery {position: relative}
    .number-images {
      background: rgba(255, 255, 255, 1);
      color: #000;
      font-size: .725rem;
      padding: 10px 20px 10px 20px;
      display: inline-block;
      border-radius: 40px;
      position: absolute;
      bottom: 50px;
      left: 20px;
      font-weight: 700
    }

    .number-images svg {
      position: relative;
      top: 4px;
      padding-right: 5px;
    }
.is-content-justification-right {
  justify-content: end
}



.menu-item.sm-only {
  display: none
}

.room-modal-widget .room-description-details>div {
    min-width: 160px
}

.bedroom-offers-container {
  gap: 1px;
  margin-bottom: -9px
}

.rbw-modal-space.offer-modal {
  display: flex;
  
}

 div.rbw-modal.all-offers-modal .room-modal-widget {
  display: flex;
  left: 40px !important;
  right: 0 !important;
  max-height: auto;
  overflow-y: auto;
  top: 0 !important;
  bottom: 0 !important;
  transform: none !important;
  justify-content: center;
  
}


div.rbw-modal.rbw-modal-show .modal-content.modal-small {
  height: auto;
  margin: 0;
  top: 0;
  bottom: 0;
}


/*Responsive*/

@media only screen and (min-width: 1200px) {
.room-modal-widget .room-description-details>div {
    flex: 1 1 calc(25% - 20px);}
}

@media only screen and (max-width: 1155px) {
  .img-desc-flex {
  right: 60px;
}
}

@media only screen and (max-width: 1280px) {

.wp-block-columns.alignwide, .site-main.alignwide, body .is-layout-constrained > .alignwide,.entry-content > *:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.is-style-wide) {
  margin: 0 20px
}

.entry-content > *:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.is-style-wide) {
  margin: 0 20px
}

.rbw-modal.all-offers-modal.rbw-modal-show {margin: 0 !important}


.bedroom-offers-container {flex-wrap: wrap !important}
.bedroom-offers-container .bedroom-offer-grid {
  padding: 80px 30px 70px;
}

.bedroom-offers-container h2 {
  font-size: 2.5rem
}

.wp-block-cover.alignfull .wp-block-columns.alignwide {
  margin: 0 20px!important
}
footer.footer .widget_block, .footer-copyright {padding: 0 40px}
  
.title-section {
  margin-left: 20px !important
}
.booking {
  margin-right: 20px;
  margin-left: 20px
}

body .main-content > .alignwide {
  margin: 0 40px
}
#breadcrumbs {
  margin: 0px 20px 50px 20px
}
}
@media only screen and (max-width: 1100px) {
  
  .bedroom-offers-container {
     display: flex;
     flex-wrap: wrap !important;  
   }
   
   .bedroom-offers-container > * {
     flex: 1 1 calc(50% - 16px) !important;  
     box-sizing: border-box;  
   }
   


body.home .fixed .site-brand span {
  font-size: 1.125rem;
  left: 60px
}
button.book-now-primary-fixed {
  font-size: 0.725rem;
  padding: 10px
}
.room-name-size { flex-direction: column;}
button.btn-no-outline {margin: 0 0 10px 0 !important}
}
@media only screen and (max-width: 1073px) {
nav ul.menu {
   max-width: 100%
 }
 
#sarova-content.nofocus #blur-overlay {
     display: none
 }

}
@media only screen and (min-width: 841px) {
    .sub-page-title {display: none !important}
}

@media only screen and (max-width: 940px) {
  .bedroom-offer-lrg .text-overlay {
   padding: 0;
  }
  .no-gap .wp-block-column .meeting-offers-list h3 {
    padding: 0;
  }
  .slider-text-overlay p {
    max-width: 100%
  }
  
  
.bedroom-offer-lrg h2, .bedroom-offer-lrg .offer-content {
  max-width: 100%
}
footer {
  padding-left: 40px;
  padding-right: 40px 
}
.modal-book .modal-book-image {
  display: none
}
button.book-now-primary-fixed, button.book-now-secondary-fixed, .menu-item.hide-unscroll.book-now-primary-fixed a, .menu-item.hide-unscroll.book-now-secondary-fixed a {padding: 8px 9px; font-weight: 700; font-size: 0.725rem}

.wp-block-gallery.has-nested-images.columns-3 figure.wp-block-image:not(#individual-image) {
  width: calc(50% - var(--wp--style--unstable-gallery-gap, 16px)*.66667);}
}

@media only screen and (max-width: 790px) {
.wp-block-gallery.has-nested-images.columns-3 figure.wp-block-image:not(#individual-image) {
    width: calc(100% - var(--wp--style--unstable-gallery-gap, 16px)*.66667);}
}
@media only screen and (max-width: 770px) {
.exclusive-savings-image {display: none}}

/* ── Swiper global defaults (must be top-level, outside any media query) ── */
.swiper-container { overflow: hidden }
.swiper-wrapper img, .single-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
/* Gallery modals override: contain full image, no cropping.
   Higher specificity (2 classes) beats the cover rule above. */
.rbw-modal .swiper-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
/* Gallery modal image-container must fill the slide height.
   Placed here (outside all media queries) so it applies on desktop too. */
.rbw-modal-room-gallery .image-container,
.rbw-modal-me-room-gallery .image-container {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

@media only screen and (max-width: 840px) {
.wp-block-spacer.is-style-responsive-small {height: 2px !important}
.wp-block-spacer.is-style-responsive-medium  {height: 20px !important}
.wp-block-spacer.is-style-responsive-large  {height: 50px !important}
.wp-block-spacer.is-style-responsive-x-large  {height: 80px !important}
.wp-block-cover.festive-hero::before {
  top: 161px
}
.wp-block-cover.festive-hero::after {
  top: 160px;
}

.header-search {
  display: none !important
}

.related-posts-grid {
    display: flex;
    flex-direction: column
}
.site-brand img {
    margin: 0 10px 0 10px;
}
body.home .site-brand a {
  height: 240px
}
.site-brand a {
margin: 0;
align-items: center;
display: flex;
flex-direction: row;
height: 25px;
padding-right: 10px}

.menu-item.sm-only {
  display: block
}

#site-navigation ul.menu li {
  padding: 10px 0
}

#primary .entry-content .filter-pills {
  margin: 0 !important;
}

#primary .entry-content .filter-pills .filter-cat-button-all {
  margin-left: 20px
}



.bedroom-offer-grid {
 padding: 60px 30px 120px;
}


#sarova-hero-area.hero-full-height, .hero-full-height .single-slide, #sarova-hero-area.hero-full-height .swiper-slide, #sarova-hero-area.hero-full-height .swiper-wrapper {
  height: 100vh
}

  
  #fixed-book-now {
    right: 20px !important;
    left: auto !important;
  }
  
  #fixed-book-now h2 {font-size: 1rem !important}
  
  
  .on-load-book-now {
width: calc(100% - 20px);
text-align: center;
    padding: 20px 10px 10px 10px !important;
  }
  
  
.site-brand {font-size: 1rem;
  flex-direction: row;
  justify-content: start;
  align-items: center;
  margin-right: 60px;
  line-height: 1em
}

body.home .site-brand img {
  padding-right: 0
}

#hotel-list {
      display: none;
  }
  
   #hotel-select {
      display: block;
      width: 100%;
      padding: 10px;
      font-size: 1em;
      margin-top: 10px;
      color: white;
      background: transparent;
      border: 1px solid white;
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none;
      padding-right: 30px; /* Add padding to avoid text overlapping with the arrow */
      position: relative; /* Ensure the arrow is positioned correctly */
  }
  
  #hotel-select option {
      color: black; 
      background: white; 
  }
  
  #hotel-select option:disabled {
      color: grey;
  }
  
  #hotel-select::after {
      content: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEuMzU1NCA1LjE0NDRMMi41MTY4IDQuMDAyMzRMMTAgMTEuNDk4TDcuMTM0NyAxNC4zNDdMMi41MTY4IDkuNzI3NzNMMS4zNTU0IDguNTY2MzZMNi4xMzgzIDMuNzkyNDhMMi4zMzg5IDMuNzkzMDhDMy4yMzg5IDMuMjA0NDkgNC4zNjM5IDMgNS41IDEuMzU1NEM2LjYzNiAwIDcuNTc5MS4zNTU0IDguNTg5NCAxLjI5MDFMMTMuNDM0NiA2LjEzODNMMTQuNTk2IDcuMjk5NEw5Ljc3MzExIDEyLjEyMmwtMi44NTMyIDIuODUzMkwxLjM1NTQgNS4xNDQ0WiIgZmlsbD0id2hpdGUiLz4KPC9zdmc+Cg==');
      position: absolute;
      right: 10px;
      top: 50%;
      transform: translateY(-50%);
      pointer-events: none; /* Ensure the arrow doesn't block the select interaction */
  }

  button.book-now-primary-fixed { 
    position: fixed;!important;
    margin-top: 15px!important;
  }
  

  
  #sarova-content.fixed a.book-hero-mobile { animation: fade-out 0.5s forwards;}
  div.rbw-modal .room-booking-widget:after {
      display: none;  
  }
  .title-section {min-height: auto}
  .wp-block-columns .wp-block-column:has(a) {padding-bottom: 0}
  .swiper-scrollbar {margin: 0 0 20px;
  }

  .modal {position: fixed;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    padding: 0;
    cursor: pointer;
    visibility: hidden;
    opacity: 0;
    transition: all 0.35s ease-in;
    background: #FFF;
    width: 100%;
    margin: 0 auto;
    box-shadow: rgba(0, 0, 0, 0.25) 0px 25px 50px -12px;
    border-radius: 0px;
    border: solid 1px #ccc;
    overflow: hidden;
    margin: 0;
    max-height: 100vh;}
  
  
  
.room-booking-widget {width: 100%}
.menu-item.hide-unscroll {position: fixed; 
  top: 0;
  right: 70px
}

.meeting-offers-wrapper a {
    padding: 20px 0
  }
  
body.page-child .meeting-offers-list .meeting-offers-wrapper a {
  padding: 0
}
.meeting-offers-wrapper .offer-text {
  font-size: 0.825rem
}
.meeting-offers-wrapper .offer-text h4 {padding-bottom: 10px}
.offer-more-details {padding-right: 20px; font-size: 0.625rem}
.wp-block-columns .wp-block-column .wp-block-buttons {
  position: relative
}
  
.ms-1, .ms-2, .ms-3, .ms-4, .ms-5 {
  margin-left: 0
}
.wp-element-button {
  margin-bottom: 10px
}

button.filter-cat-button, .room-type button {
  margin-top: 5px;
  margin-bottom: 20px
}
.swiper-all-bedrooms {
  padding: 0 !important
}
.swiper-button-next, .swiper-button-prev {
  display: none
}

.swiper-scrollbar {
  width: 100%
}

body.page-child .meeting-offers-list {
  flex-direction: column;
  margin: 0 !important;
  gap: 10px
}

body.page-child .meeting-offers-list .meeting-offers-wrapper {
  padding: 20px;
  border-radius: 20px;
  width: calc(100% - 40px);
}

.menu.active .nav ul li.hide-unscroll {
padding: 0
}
body:not(.home) nav ul li::after {
  display: none;
}

.menu.active .hide-unscroll, button.book-now-primary-fixed {display: block}

.modal-book {
  display: block
}
.modal {
  padding: 0;
}
.modal-dialog {
  padding: 40px;
  border-radius: 0
}
body.page-parent .fixed #site-navigation li.menu-item.current_page_item ul.sub-menu, body.page-child .fixed #site-navigation li.menu-item.current-page-parent ul.sub-menu {
  height: auto
}
body.page-parent .fixed #site-navigation li.menu-item.current_page_item, body.page-child .fixed #site-navigation li.menu-item.current-page-parent {
  position: relative
}
h2 {
  font-size: 2.5rem
}
.menu li.search {
  display: block;
  margin-top: 20px
}
.title-section h2 {
  font-size: 2.625rem
}
.wp-block-spacer.hide-sm {
  display: none
}

.wp-block-spacer.hide-half-sm {
  height: 40px !important
}


.wp-block-cover.alignfull .wp-block-columns {
  gap: 40px
}

.wp-block-cover.alignfull .wp-block-columns.alignwide {margin: 20px 0 0 0 !important}

footer .wp-block-gallery  {flex-wrap: nowrap !important}

nav ul li a:before, .current-menu-item a:before{
  height: 0;
  transform: none;
}
.fixed #masthead {
  height: auto
}
body.page-child .fixed #site-navigation li.menu-item.current_page_parent ul.sub-menu {
  top: 43px;
  left: 0;
  right: auto;
  width: 100%;
  justify-content: start;
}
.page-parent .fixed .sub-menu, .page-child .fixed .sub-menu {
  padding-bottom: 0 !important
}


nav ul.sub-menu li a {
  padding: 0
}
button.book-now-primary-fixed {
  right: 80px;
  font-size: 0.825rem
}
.fixed nav ul{
  margin-right: 0
}
body.home .book-hero-mobile {
  display: block;
  position: absolute;
  bottom: 100px;
  text-decoration: none;
  padding: 15px 60px !important;
  font-size: 1rem !important;
  -webkit-animation: scale-up-center 0.4s cubic-bezier(0.390, 0.575, 0.565, 1.000) both;
  animation: scale-up-center 0.4s cubic-bezier(0.390, 0.575, 0.565, 1.000) both;
  width: 50%;
  text-align: center;
}


.swiper-offers-all .slider-text-overlay {width: 80%}



#breadcrumbs {
  margin: 20px 20px 60px 20px
}
body.home .site-brand.home {
  margin-top: 10vh;
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  height: 140px
}
body.home .fixed .site-brand.home {
  margin-top: 0
}


.entry-content {
  padding-top: 0
}
.room-booking-widget {
  bottom: 0;
  position: relative;
  margin: 0;
  border-radius: 0;
  font-size: 1rem;
}
body.home .room-booking-widget {
  position: fixed;
  bottom: 0
}

.menu.active ul.sub-menu {
  display: none
}



.room-booking-widget div button {
  text-align: center !important;
}
.modal-book-widget .rbw-size {
  width: 100%
}


body.home .site-brand a{
flex-direction: column
}


 .sub-menu-title {
 max-width: 80px;
 line-height: .7em;
 margin-top: -4px; 
}
body.home .fixed .site-brand span {
  top: 20px;
  left: 50px;
}
//*.swiper-container {
  height: calc(100vh - 60px);
  padding-top: 60px
}*//
.swiper-bedrooms .slider-text-overlay {
  max-width: 70vw;
  left: 20px;
  bottom: 20px
}
div.swiper-button-next, div.swiper-button-prev {
  width: calc(var(--swiper-navigation-size)/ 20 * 15)
}
div.swiper-button-prev {
  right: var(--swiper-navigation-sides-offset,80px)
}
#masthead {
  padding: 0;
  position: fixed;
  width: 100%;
  text-align: left
}
.fixed #site-navigation, .page-parent .fixed .sub-menu, .page-child .fixed .sub-menu {
  animation: none;
  -webkit-animation: none
}
.modal-book .book-now-primary {
  padding: 20px 40px;
  text-align: center !important;
  font-size: 1rem;
  width: 100%
}
#sarova-content.fixed #site-navigation .book-now-primary {
  margin-right: 75px;
  height: 40px
}
.fixed nav ul {
  justify-content: center
}
body.home nav ul li a, nav ul li a {
  color: #000 !important;
  font-size: 1.225rem;
  padding-bottom: 5px;
  padding-top: 0 !important;
  font-weight: 300 !important
}
nav ul li {
  line-height: 1em
}
.bedroom-offer {
  top: 0;
  left: 0;
  max-width: 100%;
  max-width: calc(100% - 40px);
  background: var(--wp--preset--color--primary-light);
  border-radius: 0;
  z-index: 1
}
.meeting-offers-wrapper div {
  align-self: center
}
body.home .slider-text-overlay p {
  display: none
}
.wp-block-cover.alignfull {
  padding: 30px
}
.bedroom-offer-lrg .text-overlay {
  padding: 20px 0
}
.cat-name {
  font-size: 0.825rem
}

nav ul {
  flex-direction: column;
  padding-top: 40px
}
footer .container {
  flex-direction: column;
  gap: 40px
}
.footer-copyright {
  margin: 0 -40px;
  padding: 0 40px;
}
.swiper.swiper-bedrooms {
  height: 80vh
}
.swiper.swiper-bedrooms {
  border-radius: 0;
  width: 100% !important;
  margin-bottom: 20px;
  margin-top: 20px
}

.wp-block-column:has(.wp-block-buttons:last-child) {
  padding-bottom: 0
}
.swiper-weddings .swiper-slide.swiper-slide-active {animation: none}
.swiper.swiper-weddings .slide-content-text {padding: 0 40px; min-height: 610px}
.swiper-weddings .swiper-slide {filter: blur(0); opacity: 1;}
.swiper-bedrooms .swiper-slide {
  min-height: auto
}
.wp-block-buttons.is-content-justification-right {
  justify-content: start !important
}

#masthead .menu.active {
    left: 0
  }
  nav ul li {
    line-height: 3.125rem
 }
 
 nav ul li ul.sub-menu li {
   line-height: 2.125em
  }
  

footer .menu {
  position: relative;
  left: 0;
  background: transparent;
  text-align: left
}

.nav-item {
  margin: 2.5rem 0;
}

body.home .fixed .bar, body.home .mobile-menu.active .bar {
  background-color: #000 
}


.bar {
  position: absolute;
  left: 21%;
  top: 49%;
  width: 32px;
  height: 3px;
  background-color: #000;
  transition: all 400ms cubic-bezier(0.84, 0.06, 0.52, 1.8);
}


.mobile-menu .bar:nth-child(1) {
  transform: translateY(-8px);
  animation-delay: 100ms;
}

.mobile-menu .bar:nth-child(3) {
  transform: translateY(8px);
  animation-delay: 250ms;
}



.mobile-menu.active .bar:nth-child(1) {
  transform: rotate(40deg);
}

.mobile-menu.active .bar:nth-child(3) {
  transform: rotate(-40deg);
}

.mobile-menu.active .bar:nth-child(2) {
  opacity: 0;
}


.menu.active .book-now-primary-fixed {display: none !important}
.fixed #site-navigation {
  height: 60px
}
.fixed .menu {
  top: 0;
  z-index: 3
}
.mobile-menu.active {
  z-index: 999
}
.badge-gallery {
  flex-direction: row;
  margin: 0;
  flex-wrap: wrap;
  gap: 30px;
  justify-content: space-evenly;
  padding: 0 10px
}
.badge-gallery li {
  padding: 20px 0
}
.badge-gallery li img {
  max-width: 100px
}
.swiper-bedrooms .slider-text-overlay h2 {
  font-size: 2.125rem;
  margin: 0
}
body.page-parent .fixed .menu.active #site-navigation li.menu-item.current_page_item, body.page-child .fixed #site-navigation li.menu-item.current_page_item {
  position: relative
}
nav ul {
  flex-wrap: nowrap;
  justify-content: start
}
.slide-number-title {
  top: 130px
}
nav ul li a {
  max-width: 100%
}
.page-parent .current-menu-item .sub-menu, .page-child .current-menu-parent .sub-menu{
  position: fixed;
  z-index: 999999;
  background: #fff;
  display: flex;
  flex-direction: row;
  overflow: auto;
  white-space: nowrap;
  left: 0;
  top: 48px;
  right: 0;
  width: auto;
  width: 100%;
  justify-content: start;
      -webkit-overflow-scrolling: touch;
      -ms-overflow-style: none;
      scrollbar-width: none; /* Firefox */
}

  
#sarova-hero-area:not(:has(.swiper-container-hero, .single-slide)) + #primary {
     padding-top: 140px !important;
 }

.sub-menu::-webkit-scrollbar {
   display: none; 
 }

ul.sub-menu li {
  padding: 0px 20px 0px 0
}
nav ul li {
  min-width: auto
}
body.page-parent .fixed #site-navigation li.menu-item.current_page_item ul.sub-menu, body.page-child .fixed #site-navigation li.menu-item.current_page_item ul.sub-menu {
  top: 48px;
  justify-content: start;
  padding-bottom: 5px !important;
}


.site-brand {
  text-align: left
}
body.home .site-brand {
  text-align: center
}
body.page-parent #site-navigation .sub-menu-title, body.page-child #site-navigation .sub-menu-title {
  z-index: 0
}
.menu.active, .menu {
  padding-top: 0
}
.current_page_item .sub-menu a, .current_page_parent .sub-menu a {
  font-size: 0.825rem;
  font-weight: 300;
}
nav ul li {
  padding: 0 20px
}
body.page-parent #site-navigation .sub-menu-title, body.page-child .fixed #site-navigation .sub-menu-title,body.page-parent .fixed #site-navigation .sub-menu-title, body.page-child #site-navigation .sub-menu-title{
  display: block;
  position: absolute;
  left: 55px;
  top: 23px;
  z-index: 0;
  font-weight: 700;
  text-transform: uppercase;
}
.sub-menu-title h1 {
  font-size: 0.825rem
}
.downArrow{
  position: fixed;
  bottom: 45%;
  left: 50%;
}
.bounce {
  -moz-animation: bounce 3s infinite;
  -webkit-animation: bounce 3s infinite;
  animation: bounce 3s infinite;
}
@-moz-keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    -moz-transform: translateY(0);
    transform: translateY(0);
  }
  40% {
    -moz-transform: translateY(-30px);
    transform: translateY(-30px);
  }
  60% {
    -moz-transform: translateY(-15px);
    transform: translateY(-15px);
  }
}
@-webkit-keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  40% {
    -webkit-transform: translateY(-30px);
    transform: translateY(-30px);
  }
  60% {
    -webkit-transform: translateY(-15px);
    transform: translateY(-15px);
  }
}
@keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  40% {
    -moz-transform: translateY(-30px);
    -ms-transform: translateY(-30px);
    -webkit-transform: translateY(-30px);
    transform: translateY(-30px);
  }
  60% {
    -moz-transform: translateY(-15px);
    -ms-transform: translateY(-15px);
    -webkit-transform: translateY(-15px);
    transform: translateY(-15px);
  }
}

.wp-block-cover.alignfull {
  margin-top: 20px !important;
}
  .btn-constant {
  animation: scale-up-center 0.4s cubic-bezier(0.390, 0.575, 0.565, 1.000) both;
  box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
  width: 100%
}
#fixed-book-now {
  right: 20px;
  left: 20px;
}
.announcement-position-position-above {z-index: 2}


@media only screen and (min-width: 641px) {
  .rbw-modal .swiper-slide img {
    max-height: 84vh
  }
  body.home .wp-block-spacer.is-style-responsive-x-large {height: 60px !important}

}
@media only screen and (max-width: 820px) {

  body:not(.home) .announcement-position-position-above,
  .no-hero-image + #contextual-area + .announcement-position-position-above {
    top: 120px
  }
  .no-hero-image + #contextual-area + .announcement-position-position-above + #main {
    margin-top: 100px
  }
  
  
}




@media only screen and (max-width: 580px) {
  .entry-content > .wp-block-cover.alignfull.festive-hero:first-child {margin-top: 10px !important;
  }
  .wp-block-cover.festive-hero::before {
    top: 36px
  }
  .wp-block-cover.festive-hero::after { 
    top: 35px;
  }
  .announcement-position-position-under {
    top: 192px;
    position: relative;
    z-index: 3;

  }

  .announcement-position-position-under .event-banner-button {
    top: 0;
    bottom: 0;
  }
  .announcement-position-position-under a.event-banner-button {
    top: 0;
    bottom: 0;
    right: 0
  }
  
  .swiper-wrapper .page-event-info img {
    width: 25px;
    padding: 5px 0;
  }
  .announcement-position-position-above .event-content {
    padding: 0 10px
  }
  
  .announcement-position-position-under .page-event-info .link-arrow:after {
  top: 45%;
  }
 
  .booking-visible .event-slide + #main {padding-top: 0}
  .home-hero {padding-top: 0 !important}
  
  
  .swiper-weddings .swiper-wrapper {
    margin: 0 0 0 10px !important
}
  #booking-form-container.show {
    bottom: 0;
    top: 100vh 
  }
  
  
  .exclusive-savings-button {padding-left: 27px !important}
  .exclusive-savings-button svg {    
    margin-right: -20px;
        left: -27px;
        position: relative;
        top: 5px;
    }
    

  .show .booking-form #close-booking-form {
  top: -45px;
  right: 0;
  }
  .sarova-hotel-name {
    display: flex;
    justify-content: start;
    flex-direction: column;
    align-items: start;
    max-width: 80%
  }

#site-navigation ul.menu li:not(:last-child) a, body.home #site-navigation.sticky ul.menu li:not(:last-child) a { 
  border: none
}
 .no-hero-image + #contextual-area + .announcement-position-position-above {
   top: 120px;
 }
 
.no-hero-image + #contextual-area + .announcement-position-position-above + #main{
    margin-top: 100px;
  }
  
  
 .announcement-position-position-above .page-event-info {
   padding: 10px 0;
 }
.event-icon {
  padding: 5px
}


 .no-hero-image + .announcement-position-position-above,
 .no-hero-image + .announcement-position-position-under {
position: relative;
 padding: 40px 0 0 0;
 top: 100px !important;
 max-width: 100%;
 width: 100%;
 margin-bottom: 100px;
 }
 
#main {
  background: #fff;
  position: relative;
  z-index: 99
}
.no-hero-image #main {
  padding-top: 140px
}

#primary .entry-content > .filters-container {margin: 0 !important;}
#primary .entry-content > .filters-container .filter-pills {padding: 0 !important;}
#primary .entry-content > .filters-container .filter-instruct {padding-left: 20px}
#primary .entry-content > .rbw-modal {
  padding: 20px !important
}


.footer .wp-block-gallery {
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* Two equal-width columns */
  gap: 20px; /* Add some space between items */
}

.footer .wp-block-gallery figure {
  margin: 0; /* Remove default figure margin */
  display: block;
}



div.rbw-modal.rbw-modal-show .modal-content {
  border-radius: 20px;
  width: calc(100%);
}

div.rbw-modal.rbw-modal-room-details.rbw-modal-show .modal-content,
div.rbw-modal.rbw-modal-book-table.rbw-modal-show .modal-content,
div.rbw-modal.rbw-modal-pdf.rbw-modal-show .modal-content {
  border-radius: 20px;
  width: calc(100% - 40px);
}
.swiper.swiper-weddings .slide-content-text {
padding: 20px;
}
.swiper-weddings img.attachment-portrait.size-portrait{
  height: 240px
}

div.rbw-modal.rbw-modal-show .modal-content {
  padding: 20px
}
.rbw-modal.rbw-modal-show {
  padding: 0
}
 .swiper-weddings .slide-content-text div {
   padding: 0 !important
 }
 
.meeting-offers-list {
  flex-direction: column;
  width: calc(100%);
}
.meeting-offers-wrapper a {
  padding: 0
}

 #primary .entry-content > iframe {
     margin: 0 !important
   }

  .column-reverse-sm {
    flex-direction: column-reverse;
  }

body.home #primary {
    padding-top: 150px
  }
  
  #primary {
    padding-top: 150px
  }
body.home .page-event-info + #primary, .page-event-info + #primary  {
  padding-top: 0 !important
}
#sarova-hero-area + #primary {
    padding-top: 40px
  }
  
 .gfield input {
width: calc(100% - 20px) !important;
}

.gfield textarea {
width: calc(100% - 40px) !important;
}
  #contextual-area h1{
font-size: var(--wp--preset--font-size--large);
margin-bottom: 0;
line-height: 2.3em
  }
  .swiper-bedrooms .swiper-slide::after {
    display: none
  }
  div.meeting-offers-list:not(.wp-block-column .meeting-offers-list) .meeting-offers-wrapper {
    width: calc(100% - 40px);
  }
  .me-room-slider button.btn-no-outline {
    margin: 0 0 0 0 !important;
  }
  .room-extra-details {gap: 0}
  .room-extra-details .room-extra-details-single span {
    margin-bottom: 0
  }
  .desktop-gallery.desktop-gallery-hide-sm {display: none}
.desktop-gallery picture:not(:first-child) {
      display: none;
  }
.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) {
  width: 90%
}
ul.icon-list {
grid-template-columns: 1fr;
}
  
.wp-element-button, .wp-block-button__link, .gform_button, button.btn-primary, .wp-element-button, .wp-block-button__link {
  padding: 12px 18px
}

  .fixed .site-brand span {
    top: 25px;
    left: 70px !important;
    max-width: 80px;
    text-align: left;
    line-height: .8em;
    margin-top: -3px;
  }
  
  .wp-block-columns.alignfull .wp-block-cover.alignfull .wp-block-cover__inner-container {padding: 0}
  footer.footer .widget_block, .footer-copyright {padding: 0}
 .wp-block-columns  {gap: 0}
  .badge-gallery li img {
    max-width: 80px
  }
    .wp-block-cover.alignfull .wp-block-columns {
gap: 0
}
  
  .read-more:after {
    height: .78em;
    top: 1px;
    width: 0.78em;
    right: 5px;

  }
  .read-more:before {
    top: 6px
  }

.bedroom-type .room-extra-details {
  margin-bottom: 30px !important;
  padding-bottom: 20px;
  border-bottom: solid 1px var(--wp--preset--color--primary-light);
}
  
  .footer-copyright {padding: 0 20px}
  .gform_wrapper .gform_fields {display: flex;
    flex-direction: column
  }
 .footer-copyright div {
   gap: 40px;
   align-items: start
} 


 
a.back-top {
  white-space: nowrap;
padding: 0}
.meeting-offers-wrapper {
  flex-direction: column;
  padding-bottom: 20px;
}
.meeting-offers-wrapper .offer-text {
  padding: 0px 10px 10px
}
button.close-modal {
  right: -20px;
  top: -20px
}
.modal-book .rbw-size > div:nth-child(1) > div:nth-child(2), .modal-book .rbw-size > div:nth-child(1) > div:nth-child(4) {
  padding-right: 0
}

.title-section {
  flex-basis: 100% !important;
  padding-top: 0;
  margin-left: 0 !important;
  height: 120px
}
.title-section:before {
  display: none;
}
.title-section:after {
  display: none;
}
.title-section p:before {
  content: "";
  position: absolute;
  height: 0px;
  animation: bs-line-animation-h 1.5s forwards 0.5s;
  width: 0%;
  border-top: #cccccc 1px solid;
  top: 100%;
}
.title-section p {
  width: 100%;
  bottom: auto;
  transform: none;
  position: relative;
  left: auto;
  animation: bs-show-2 1s forwards 0.5s;
  margin: 0px;
}
.title-section h2 {
  transform: none;
  position: relative;
  padding-top: 10px;
  animation: bs-show-2 1s forwards 1.3s;
  top: auto;
  left: auto;
  margin: 0px;
}
.search-results-item article {
  flex-basis: 100% !important
}
.hero-area-text button.wp-element-button {
    margin: 20px 0 0
  }
  
  button.filter-cat-button { padding: 5px 15px
  }
  
  ul.bedroom-type-image {
    display: block;
    margin: 0 -20px 40px -20px;
  }
  ul.bedroom-type-image li { list-style: none }
  ul.bedroom-type-image li:first-child img { width: 100%; height: auto; object-fit: cover }
  ul.bedroom-type-image li.desktop-only-image { display: none }
  .room-extra-details {margin: 0; border: none; padding: 0}
  .is-content-justification-right {
    justify-content: start
  }
  
  .room-extra-details {
    text-align: left;
    flex-wrap: wrap;
    flex-direction: column;
  }
  .room-extra-details-single {padding: 8px 0}
  
}



@media screen and (max-height: 680px) {
  .announcement-position-position-above .event-title span {
    display: none
  }
  .swiper-wrapper .page-event-info img {
    width: 25px;
  }
  body.home .announcement-position-position-above {
    bottom: 195px
  }
}

@media screen and (max-height: 680px) and (max-width: 840px) {
  body.home .announcement-position-position-above {
    bottom: 265px
  }
}

@media screen and (max-height: 680px) and (max-width: 580px) {
  body.home .announcement-position-position-above {
    bottom: 295px
  }
}



/* Animated scroll arrow fade in */
@keyframes fadeIn {
  from { opacity: 0.3; }
  to   { opacity: 1; }
}

/* Fade in & move down/up */
@keyframes fade_move_down {
  0%   { transform: translateY(-20px); opacity: 0; }
  50%  { opacity: 1; }
  100% { transform: translateY(20px); opacity: 0; }
}

/* Slide right → left with fade */
@keyframes nav_right {
  0%   { transform: translateX(0); opacity: 0; }
  50%  { opacity: 1; }
  100% { transform: translateX(-110px); opacity: 0; }
}

/* Slide down from above */
@keyframes animate_down {
  0%   { top: -60px; }
  100% { top: 0; }
}

/* Slide up from below with fade */
@keyframes animate_up {
  0%   { opacity: 0; transform: translateY(100px); }
  100% { opacity: 1; transform: translateY(0); }
}

/* Fade out & slide up */
@keyframes fadeOutUp {
  from { opacity: 1; transform: translateY(0); }
  to   { opacity: 0; transform: translateY(-120px); }
}

/* Vertical line grow */
@keyframes bs-line-animation-v {
  from { height: 0; }
  to   { height: 28%; }
}

/* Horizontal line grow */
@keyframes bs-line-animation-h {
  from { width: 0; }
  to   { width: 50%; }
}

/* Simple fade‐in for text */
@keyframes bs-show-1 {
  from { opacity: 0; }
  to   { opacity: 1; }
}
@keyframes bs-show-2 {
  from { opacity: 0; }
  to   { opacity: 1; }
}

/* Bell‐ring wobble */
@keyframes bell-ring {
  0%, 25%, 100% { transform: rotate(0deg); }
  5%, 15%       { transform: rotate(25deg); }
  10%, 20%      { transform: rotate(-25deg); }
}

/* Flip in from bottom */
@keyframes flip-horizontal-bottom {
  from { transform: rotateX(-180deg); }
  to   { transform: rotateX(0);     }
}


/* Ken Burns pan+zoom */
@keyframes kenburns {
  0%   { opacity: 0; transform: scale3d(1.1,1.1,1.1) translate3d(0,-20px,0); }
  95%  { opacity: 1; transform: scale3d(1.1,1.1,1.1) translate3d(-70px,-20px,0); }
  100% { opacity: 0; transform: scale3d(1.2,1.2,1.2) translate3d(-75px,-25px,0); }
}

/* Slow Ken Burns variant */
@keyframes kenburnslow {
  to { transform: scale3d(1.12,1.12,1.12) translate3d(10px,-30px,0); }
}

/* Highlight style for “open-modal” button */
.open-modal {
  font-weight: bold;
  background: var(--blue);
  color: var(--white);
  padding: 0.75rem 1.75rem;
  margin-bottom: 1rem;
  border-radius: 5px;
}


    
    
    .icon-list {padding: 0}
    .icon-list li {list-style: none;
      list-style-type: none;
      margin-bottom: 0.5rem;
   background-repeat: no-repeat;
   padding: 0px 0 0px 35px;
   background-size: 20px 20px;
   background-position: left 40%;
   line-height: 1.2em;
    }
    
    .icon-room-service {
      background-image: url('inc/img/icon-room-service.svg');
    }
 .icon-conditioning {
       background-image: url('inc/img/icon-air.svg');
     }
 .icon-music {
       background-image: url('inc/img/icon-music.svg');
     }
 .icon-bidet {
       background-image: url('inc/img/icon-bidet.svg');
     }
 .icon-blackout {
       background-image: url('inc/img/icon-blackout.svg');
     }
 .icon-civil {
       background-image: url('inc/img/icon-civil.svg');
     }
 .icon-work-desk {
       background-image: url('inc/img/icon-work-desk.svg');
     }
 .icon-health {
       background-image: url('inc/img/icon-health.svg');
     }
 .icon-wren {
       background-image: url('inc/img/icon-health.svg');
     }
 .icon-coat {
       background-image: url('inc/img/icon-coat.svg');
     }
 .icon-bedroom-choice {
       background-image: url('inc/img/icon-bedroom-choice.svg');
     }
 .icon-dance {
       background-image: url('inc/img/icon-dance.svg');
     }
 .icon-king-double {
       background-image: url('inc/img/icon-bedroom-choice.svg');
     }
 .icon-twin-double {
       background-image: url('inc/img/icon-bedroom-choice.svg');
     }
 .icon-king-twin-double {
       background-image: url('inc/img/icon-bedroom-choice.svg');
     }
 .icon-dvd {
       background-image: url('inc/img/icon-dvd.svg');
     }
 .icon-socket {
       background-image: url('inc/img/icon-socket.svg');
     }
 .icon-leather-chair {
       background-image: url('inc/img/icon-leather-chair.svg');
     }
 .icon-flipchart {
       background-image: url('inc/img/icon-flipchart.svg');
     }
 .icon-tv {
       background-image: url('inc/img/icon-tv.svg');
     }
 .icon-wifi {
       background-image: url('inc/img/icon-wifi.svg');
     }
 .icon-phone-uk {
       background-image: url('inc/img/icon-phone.svg');
     }
 .icon-flex-seating {
       background-image: url('inc/img/icon-flex-seating.svg');
     }
 .icon-guild {
       background-image: url('inc/img/icon-guild.svg');
     }
 .icon-hairdryer {
       background-image: url('inc/img/icon-hairdryer.svg');
     }
 .icon-interconnecting {
       background-image: url('inc/img/icon-interconnecting.svg');
     }
 .icon-iron {
       background-image: url('inc/img/icon-iron.svg');
     }
 .icon-king-bed {
       background-image: url('inc/img/icon-bedroom-choice.svg');
     }
 .icon-laundry {
       background-image: url('inc/img/icon-laundry.svg');
     }
 .icon-lcd {
       background-image: url('inc/img/icon-tv.svg');
     }
 .icon-make-up {
       background-image: url('inc/img/icon-make-up.svg');
     }
 .icon-mood-light {
       background-image: url('inc/img/icon-mood-light.svg');
     }
 .icon-daylight {
       background-image: url('inc/img/icon-daylight.svg');
     }
 .icon-nespresso {
       background-image: url('inc/img/icon-nespresso.svg');
     }
 .icon-pa {
       background-image: url('inc/img/icon-pa.svg');
     }
 .icon-safe {
       background-image: url('inc/img/icon-safe.svg');
     }
 .icon-lounge {
       background-image: url('inc/img/icon-lounge.svg');
     }
 .icon-slipper {
       background-image: url('inc/img/icon-slipper.svg');
     }
 .icon-smoke-free {
       background-image: url('inc/img/icon-smoke-free.svg');
     }
 .icon-sofa-bed {
       background-image: url('inc/img/icon-sofa-bed.svg');
     }
 .icon-sofa {
       background-image: url('inc/img/icon-sofa-bed.svg');
     }
 .icon-soundproof {
       background-image: url('inc/img/icon-soundproof.svg');
     }
 .icon-shower, .icon-showersep {
       background-image: url('inc/img/icon-shower.svg');
     }
 .icon-stationery {
       background-image: url('inc/img/icon-stationery.svg');
     }
 .icon-water {
       background-image: url('inc/img/icon-water.svg');
     }
 .icon-sweets {
       background-image: url('inc/img/icon-sweets.svg');
     }
 .icon-tea {
       background-image: url('inc/img/icon-tea.svg');
     }
 .icon-tea-machine {
       background-image: url('inc/img/icon-tea.svg');
     }
 .icon-telephone {
       background-image: url('inc/img/icon-telephone.svg');
     }
 .icon-bathrobes {
       background-image: url('inc/img/icon-bathrobes.svg');
     }
 .icon-video {
       background-image: url('inc/img/icon-video.svg');
     }
 .icon-quiet {
       background-image: url('inc/img/icon-soundproof.svg');
     }
 .icon-walk-in-shower {
       background-image: url('inc/img/icon-shower.svg');
     }
 .icon-uhd75 {
       background-image: url('inc/img/icon-tv.svg');
     }



     @media only screen and (max-width: 540px) {
       .weather-info {display: none}
     }
     
     
div.rbw-modal {
       position: absolute;
       left: 0px;
       top: 0px;
       width: 100%;
       height: 100vh;
       opacity: 0;
       pointer-events: none;
       cursor: inherit;
       background: none;
       background-color: transparent;
       box-sizing: border-box;
       padding: 0 40px;
       display: none
     
     }
     
     
     .rbw-modal .swiper-slide {
       display: flex;
       align-items: center;
       justify-content: center;
       overflow: hidden;
     }

     div.rbw-modal.rbw-modal-show {
       pointer-events: auto;
       z-index: 99999999;
       justify-content: center;
       align-items: center;
       position: fixed;
       opacity: 1;
       animation: fadeIn .4s ease-in-out forwards;       
       top:0
       }

       .rbw-modal.rbw-modal-show .rbw-modal-content {
         overflow-y: scroll;
         align-items: normal;
         height: 90vh;
         top: 5vh;
         position: relative;
         animation:  slide-top 0.4s ease-out forwards;
         box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;

       }
.line {display: none}
       
       .rbw-close-button {
         top: 2vh;
         position: absolute
}


       
       
       
       #ui-datepicker-div {
         background: #ffffff;
         border: 1px solid #ccc; 
         box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); 
         padding: 20px; 
         border-radius: 10px; 
         font-size: 14px; 
         z-index: 1000;
       }
       
       .ui-datepicker-header {
         background-color: #fff; 
         color: #333; 
         font-weight: bold; 
         padding: 5px 10px;
         text-align: center; 
         border-bottom: 1px solid #ccc; 
       }
       
       .ui-datepicker-title {
         font-size: 16px; /* Adjust title size */
       }
       .ui-datepicker-calendar {background: #fff;
       width: 100%}
       #ui-datepicker-div table td {    padding: 10px; }
       
       #gform_3 input {color: #fff; font-weight: 800; width: 100%}
       #gform_3 .gform_submission_error, #gform_3 .validation_message {
       background: rgba(236, 209, 209, 0.82);
       padding: 10px;
       border-radius: 10px;
       color: #931111;
       }
       
       .gform_wrapper.gravity-theme #gform_3 .gform_fields {
         grid-column-gap: 5%;
       }
       
       .gform_submission_error.hide_summary {
       background: rgba(236, 209, 209, 0.82);
       padding: 10px;
       border-radius: 10px;
       color: #931111;}
       #gform_submit_button_3:hover {
         background: #FFF
       }
       
       .ui-datepicker-unselectable.ui-state-disabled {background: rgb(249, 249, 249);color: rgb(158, 158, 158);}
       table.ui-datepicker-calendar {-webkit-border-horizontal-spacing: 0px;
       -webkit-border-vertical-spacing: 0px;}
       #ui-datepicker-div table td {padding: 10px;
       border-bottom: solid 2px #fff;}
       #ui-datepicker-div table td a {text-decoration: none}
       .ui-datepicker-current-day {background: var(--wp--preset--color--primary);}
       
       /* Styling the Datepicker Header */
       .ui-datepicker-header {
           display: flex;
           align-items: center;
           justify-content: start;
           padding: 10px 0;
       }
       
       /* Previous and Next Buttons */
       .ui-datepicker-prev,
       .ui-datepicker-next {
           display: flex;
           align-items: center;
           justify-content: center;
           width: 30px;
           height: 30px;
           color: white;
           text-decoration: none;
           border-radius: 50%;
           cursor: pointer;
           transition: background-color 0.3s ease;
       }
       
       /* Disabled State for Previous Button */
       .ui-datepicker-prev.ui-state-disabled {
           cursor: not-allowed;
       }
       
  
       /* Icon Inside Buttons */
       .ui-icon {
           font-size: 16px;
           width: 0;
           height: 0;
           border-style: solid;
       }
       
       /* Previous Arrow */
       .ui-datepicker-prev .ui-icon {
           border-width: 5px 7px 5px 0;
           border-color: transparent #000 transparent transparent;
       }
       
       /* Next Arrow */
       .ui-datepicker-next .ui-icon {
           border-width: 5px 0 5px 7px;
           border-color: transparent transparent transparent #000;
       }
       
       /* Title Styling */
       .ui-datepicker-title {
           text-align: center;
           font-size: 16px;
           font-weight: bold;
           color: #333; /* Dark text */
       }
       
       .ui-datepicker-header .ui-state-disabled {
         opacity: .1
       }
       
       
       .ui-datepicker-title .ui-datepicker-month {
           margin-right: 5px;
       }
       
       .ui-datepicker-title .ui-datepicker-year {
           font-weight: normal;
           color: #555; /* Slightly lighter text */
       }
       
       
    
