@charset "UTF-8";
@import url("https://use.typekit.net/tgn1smm.css");
@import url("https://use.typekit.net/kwt6xfw.css");
@import url("https://use.typekit.net/rfa2avp.css");
/* primary stacks (Adobe Fonts) */
:root {
  --ff-base: futura-pt;
  --ff-head: garamond-premier-pro-display, garamond-premier-pro, serif;
  --ff-accent: futura-pt;
  --font-16: 16px;
  --font-14: 14px;
  --font-12: 12px;
  --lh-body: 1.5;
  --lh-pre: 1.6;
}

@media screen and (max-width: 768px) {
  :root {
    --font-16: 17px;
    --font-14: 15px;
    --font-12: 13px;
  }
}
html {
  -webkit-text-size-adjust: 100%;
}

body {
  font-family: var(--ff-base);
  line-height: var(--lh-body);
  font-weight: 400;
  font-size: var(--font-16);
}

h1 {
  font-family: var(--ff-head);
  font-weight: 700;
  line-height: 1.2;
  margin: 0 0 0.5em;
}

h2, h3, h4, h5, h6 {
  font-family: var(--ff-base);
  font-weight: 700;
  line-height: 1.2;
  margin: 0 0 0.5em;
}

strong, b {
  font-family: var(--ff-accent);
  font-weight: 700;
}

em, i {
  font-style: italic;
}

code, kbd, samp, pre {
  font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
  line-height: var(--lh-pre);
}

a, a:visited {
  color: #111214;
}

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
	 ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
}

/* Sections
	 ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
  overflow-x: hidden;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
	 ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
	 ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
	 ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type=checkbox],
[type=radio] {
  box-sizing: border-box;
  padding: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

/* Interactive
	 ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
	 ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

#page:has(.fd-calendar-page-widget) main#primary {
  position: relative;
  z-index: 1001;
}

#wpadminbar {
  position: fixed !important;
}

.container {
  max-width: 1262px;
  width: 100%;
  margin: 0 auto;
  padding: 0 15px;
}

.grecaptcha-badge {
  display: none !important;
}

/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
  box-sizing: inherit;
}

html {
  box-sizing: border-box;
}

:root {
  --vh: 1vh;
}

.compensate-scrollbar {
  padding-right: var(--sbw, 0);
}

body.logged-in.admin-bar .site-header {
  top: 32px;
}
@media screen and (max-width: 782px) {
  body.logged-in.admin-bar .site-header {
    top: 46px;
  }
}
body.no-scroll {
  overflow: hidden;
}

.site-header {
  position: sticky;
  z-index: 1030;
  left: 0;
  top: 0;
  right: 0;
  width: 100%;
  padding: 0;
  height: 62px;
  border-bottom: 1px solid #D8D9DC;
  background-color: #FFFFFF;
  display: flex;
  align-items: center;
  contain: layout;
}
.site-header .header-container {
  position: relative;
  z-index: 10000;
  display: flex;
  gap: 70px;
  align-items: center;
  width: 100%;
  height: 100%;
  max-width: 1262px;
  margin: 0 auto;
  padding: 0 15px;
}
@media screen and (max-width: 1210px) {
  .site-header .header-container {
    gap: 16px;
  }
}
@media screen and (max-width: 1070px) {
  .site-header .header-container {
    gap: 16px;
    padding: 0 16px;
    justify-content: space-between;
  }
}
.site-header .header-container .site-logo {
  width: 112px;
  height: 24px;
}
.site-header .header-container .site-logo, .site-header .header-container .site-logo a, .site-header .header-container .site-logo img {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 1070px) {
  .site-header .header-container .site-logo {
    width: 102px;
    height: 22px;
  }
}
.site-header .header-container #site-navigation, .site-header .header-container #site-navigation .menu-header-menu-container {
  height: 100%;
}
.site-header .header-container #site-navigation #header-menu.menu > li > *:not(a) {
  opacity: 0;
  transition: opacity 0.3s ease;
}
.site-header .header-container #site-navigation.nav-loaded #header-menu.menu > li > *:not(a) {
  opacity: 1;
}
.site-header .header-container #site-navigation #header-menu.menu {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0;
  list-style-type: none;
  height: 100%;
}
.site-header .header-container #site-navigation #header-menu.menu a {
  display: flex;
  align-items: center;
  gap: 2px;
  text-decoration: none;
  font-family: var(--ff-base), sans-serif;
  font-weight: 400;
  font-size: var(--font-16);
  line-height: 26px;
  color: #111214;
  transition: all 0.2s ease;
}
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item > a {
  padding: 10px;
  height: 100%;
  position: relative;
}
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item > a::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 2px;
  background-color: transparent;
  pointer-events: none;
  transition: background-color 0.2s ease;
}
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item > a:hover {
  color: #3C4678;
}
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item > a:hover::after {
  background-color: #48BBB9;
}
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item > a .dropdown-arrow {
  margin-left: 2px;
  display: flex;
  align-items: center;
}
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item > a .dropdown-arrow, .site-header .header-container #site-navigation #header-menu.menu > li.menu-item > a .dropdown-arrow svg {
  will-change: transform;
  transition: transform 0.2s ease;
}
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item {
  height: 100%;
}
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item.dynamic-destinations > a[aria-expanded=true]::after, .site-header .header-container #site-navigation #header-menu.menu > li.menu-item.has-dropdown.dropdown-open > a::after {
  background-color: #48BBB9;
}
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item.dynamic-destinations > a[aria-expanded=true] .dropdown-arrow svg, .site-header .header-container #site-navigation #header-menu.menu > li.menu-item.has-dropdown.dropdown-open > a .dropdown-arrow svg {
  transform: rotate(180deg);
}
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item.has-dropdown:not(.customer-info-menu) {
  position: relative;
}
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item.has-dropdown:not(.customer-info-menu) > .sub-menu {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  background-color: #fff;
  z-index: 11;
  border-radius: 12px;
  padding: 8px 0;
  margin: 0;
  list-style-type: none;
  border: 1px solid #f0f0f0;
  min-width: 202px;
  opacity: 0;
  transform: translateY(-5px);
  pointer-events: none;
  visibility: hidden;
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
}
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item.has-dropdown:not(.customer-info-menu) > .sub-menu.open {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
  visibility: visible;
}
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item.has-dropdown:not(.customer-info-menu) > .sub-menu .sub-menu-item a {
  display: flex;
  align-items: center;
  padding: 6px 16px;
  font-weight: 400;
  font-size: var(--font-16);
  transition: all 0.15s ease;
  line-height: 26px;
  color: #111214;
  height: auto;
}
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item.has-dropdown:not(.customer-info-menu) > .sub-menu .sub-menu-item a:hover {
  background-color: #f8f9fa;
  color: #3C4678;
}
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item.has-dropdown:not(.customer-info-menu) > .sub-menu .sub-menu-item a .menu-icon {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item.has-dropdown:not(.customer-info-menu) > .sub-menu .sub-menu-item a .menu-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item.customer-info-menu > ul.sub-menu,
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item > .destinations-dropdown {
  position: absolute;
  top: calc(100% + 1px);
  left: 0;
  right: 0;
  background-color: #fff;
  z-index: 11;
  border-radius: 0 0 30px 30px;
  padding: 24px 27px;
  list-style-type: none;
  overflow-y: auto;
  max-height: 50vh;
  max-width: 1262px;
  margin: 0 auto;
  opacity: 0;
  transform: translateY(-5px);
  pointer-events: none;
  visibility: hidden;
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
}
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item.customer-info-menu > ul.sub-menu.open,
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item > .destinations-dropdown.open {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
  visibility: visible;
}
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item.customer-info-menu > ul.sub-menu .destinations-dropdown,
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item > .destinations-dropdown .destinations-dropdown {
  opacity: 1;
  visibility: visible;
}
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item.customer-info-menu > ul.sub-menu .destinations-container,
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item > .destinations-dropdown .destinations-container {
  display: grid;
  grid-template-columns: 170px 1fr;
  gap: 32px;
}
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item.customer-info-menu > ul.sub-menu .destinations-container .destinations-list:not(.active),
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item > .destinations-dropdown .destinations-container .destinations-list:not(.active) {
  display: none;
}
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item.customer-info-menu > ul.sub-menu .destinations-container .destinations-list .destination-tab,
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item > .destinations-dropdown .destinations-container .destinations-list .destination-tab {
  position: relative;
  cursor: pointer;
  padding: 6px 38px 6px 16px;
  font-weight: 400;
  font-size: var(--font-16);
  line-height: 26px;
  color: #111214;
  transition: all 0.15s ease;
}
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item.customer-info-menu > ul.sub-menu .destinations-container .destinations-list .destination-tab::after,
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item > .destinations-dropdown .destinations-container .destinations-list .destination-tab::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  user-select: none;
  opacity: 0;
  right: 20px;
  will-change: right;
  background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M6.91107 4.4107C7.23651 4.08527 7.76414 4.08527 8.08958 4.4107L13.0896 9.4107C13.415 9.73614 13.415 10.2638 13.0896 10.5892L8.08958 15.5892C7.76414 15.9147 7.23651 15.9147 6.91107 15.5892C6.58563 15.2638 6.58563 14.7361 6.91107 14.4107L11.3218 9.99996L6.91107 5.58921C6.58563 5.26378 6.58563 4.73614 6.91107 4.4107Z' fill='%2348BBB9'/%3E%3C/svg%3E%0A");
}
@media (hover: hover) {
  .site-header .header-container #site-navigation #header-menu.menu > li.menu-item.customer-info-menu > ul.sub-menu .destinations-container .destinations-list .destination-tab:hover,
  .site-header .header-container #site-navigation #header-menu.menu > li.menu-item > .destinations-dropdown .destinations-container .destinations-list .destination-tab:hover {
    color: #3C4678;
    background-color: #EEFAF9;
  }
  .site-header .header-container #site-navigation #header-menu.menu > li.menu-item.customer-info-menu > ul.sub-menu .destinations-container .destinations-list .destination-tab:hover::after,
  .site-header .header-container #site-navigation #header-menu.menu > li.menu-item > .destinations-dropdown .destinations-container .destinations-list .destination-tab:hover::after {
    right: 16px;
    opacity: 1;
  }
}
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item.customer-info-menu > ul.sub-menu .destinations-container .destinations-list .destination-tab.active,
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item > .destinations-dropdown .destinations-container .destinations-list .destination-tab.active {
  color: #3C4678;
  background-color: #EEFAF9;
}
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item.customer-info-menu > ul.sub-menu .destinations-container .destinations-list .destination-tab.active::after,
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item > .destinations-dropdown .destinations-container .destinations-list .destination-tab.active::after {
  right: 16px;
  opacity: 1;
}
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item.customer-info-menu > ul.sub-menu .destinations-container .destinations-content .destination-details,
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item > .destinations-dropdown .destinations-container .destinations-content .destination-details {
  position: relative;
  overflow: hidden;
}
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item.customer-info-menu > ul.sub-menu .destinations-container .destinations-content .destination-details .destination-detail-content,
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item > .destinations-dropdown .destinations-container .destinations-content .destination-details .destination-detail-content {
  position: absolute;
  inset: 0;
  display: flex;
  gap: 48px;
  opacity: 0;
  transform: translateY(-5px);
  pointer-events: none;
  transition: opacity 0.2s ease, transform 0.2s ease;
}
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item.customer-info-menu > ul.sub-menu .destinations-container .destinations-content .destination-details .destination-detail-content.is-active,
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item > .destinations-dropdown .destinations-container .destinations-content .destination-details .destination-detail-content.is-active {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item.customer-info-menu > ul.sub-menu .destinations-container .destinations-content .destination-details .destination-detail-content.is-entering,
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item > .destinations-dropdown .destinations-container .destinations-content .destination-details .destination-detail-content.is-entering {
  opacity: 0;
  transform: translateY(-5px);
}
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item.customer-info-menu > ul.sub-menu .destinations-container .destinations-content .destination-details .destination-detail-content.is-leaving,
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item > .destinations-dropdown .destinations-container .destinations-content .destination-details .destination-detail-content.is-leaving {
  opacity: 0;
  transform: translateY(-6px);
  pointer-events: none;
}
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item.customer-info-menu > ul.sub-menu .destinations-container .destinations-content .destination-details .destination-detail-content.hidden,
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item > .destinations-dropdown .destinations-container .destinations-content .destination-details .destination-detail-content.hidden {
  display: none;
}
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item.customer-info-menu > ul.sub-menu .destinations-container .destinations-content .destination-details .destination-detail-content .resorts-section,
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item > .destinations-dropdown .destinations-container .destinations-content .destination-details .destination-detail-content .resorts-section {
  flex-grow: 1;
}
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item.customer-info-menu > ul.sub-menu .destinations-container .destinations-content .destination-details .destination-detail-content .resorts-section-title,
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item > .destinations-dropdown .destinations-container .destinations-content .destination-details .destination-detail-content .resorts-section-title {
  padding: 0 8px;
  margin: 0 0 8px;
  font-weight: 700;
  font-size: var(--font-16);
  line-height: 26px;
  color: #111214;
}
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item.customer-info-menu > ul.sub-menu .destinations-container .destinations-content .destination-details .destination-detail-content .resorts-section .resorts-grid,
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item > .destinations-dropdown .destinations-container .destinations-content .destination-details .destination-detail-content .resorts-section .resorts-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 0 40px;
}
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item.customer-info-menu > ul.sub-menu .destinations-container .destinations-content .destination-details .destination-detail-content .resorts-section .resort-item .resort-link,
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item > .destinations-dropdown .destinations-container .destinations-content .destination-details .destination-detail-content .resorts-section .resort-item .resort-link {
  display: inline-flex;
  padding: 6px 16px;
  font-weight: 400;
  font-size: var(--font-16);
  line-height: 26px;
  color: #3C4678;
  transition: opacity 0.2s ease;
}
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item.customer-info-menu > ul.sub-menu .destinations-container .destinations-content .destination-details .destination-detail-content .resorts-section .resort-item .resort-link:hover,
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item > .destinations-dropdown .destinations-container .destinations-content .destination-details .destination-detail-content .resorts-section .resort-item .resort-link:hover {
  opacity: 0.8;
  text-decoration: underline;
}
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item.customer-info-menu > ul.sub-menu .destinations-container .destinations-content .destination-details .destination-detail-content .destination-header,
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item > .destinations-dropdown .destinations-container .destinations-content .destination-details .destination-detail-content .destination-header {
  position: relative;
  overflow: hidden;
  border-radius: 12px;
  width: 287px;
  height: 224px;
  flex-shrink: 0;
}
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item.customer-info-menu > ul.sub-menu .destinations-container .destinations-content .destination-details .destination-detail-content .destination-header .destination-main-link,
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item.customer-info-menu > ul.sub-menu .destinations-container .destinations-content .destination-details .destination-detail-content .destination-header .destination-main-image,
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item.customer-info-menu > ul.sub-menu .destinations-container .destinations-content .destination-details .destination-detail-content .destination-header .destination-main-image img,
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item > .destinations-dropdown .destinations-container .destinations-content .destination-details .destination-detail-content .destination-header .destination-main-link,
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item > .destinations-dropdown .destinations-container .destinations-content .destination-details .destination-detail-content .destination-header .destination-main-image,
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item > .destinations-dropdown .destinations-container .destinations-content .destination-details .destination-detail-content .destination-header .destination-main-image img {
  display: block;
  width: 100%;
  overflow: hidden;
  height: 100%;
  border-radius: 12px;
  will-change: transform;
  transition: transform 0.3s ease-in-out;
}
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item.customer-info-menu > ul.sub-menu .destinations-container .destinations-content .destination-details .destination-detail-content .destination-header .destination-main-image a,
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item > .destinations-dropdown .destinations-container .destinations-content .destination-details .destination-detail-content .destination-header .destination-main-image a {
  width: 100%;
  height: 100%;
}
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item.customer-info-menu > ul.sub-menu .destinations-container .destinations-content .destination-details .destination-detail-content .destination-header .destination-main-image img,
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item > .destinations-dropdown .destinations-container .destinations-content .destination-details .destination-detail-content .destination-header .destination-main-image img {
  will-change: transform;
  transform: scale(1.01);
  width: 100% !important;
  aspect-ratio: auto !important;
  object-fit: cover;
}
@media (hover: hover) {
  .site-header .header-container #site-navigation #header-menu.menu > li.menu-item.customer-info-menu > ul.sub-menu .destinations-container .destinations-content .destination-details .destination-detail-content .destination-header:hover .destination-main-image img,
  .site-header .header-container #site-navigation #header-menu.menu > li.menu-item > .destinations-dropdown .destinations-container .destinations-content .destination-details .destination-detail-content .destination-header:hover .destination-main-image img {
    transform: scale(1.1);
  }
}
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item.customer-info-menu > ul.sub-menu .destinations-container .destinations-content .destination-details .destination-detail-content .destination-header .destination-main-info,
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item > .destinations-dropdown .destinations-container .destinations-content .destination-details .destination-detail-content .destination-header .destination-main-info {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
}
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item.customer-info-menu > ul.sub-menu .destinations-container .destinations-content .destination-details .destination-detail-content .destination-header .destination-main-info .destination-main-link,
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item > .destinations-dropdown .destinations-container .destinations-content .destination-details .destination-detail-content .destination-header .destination-main-info .destination-main-link {
  position: absolute;
  inset: 0;
  user-select: none;
  opacity: 0;
  font-size: 0;
}
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item.customer-info-menu > ul.sub-menu .destinations-container .destinations-content .destination-details .destination-detail-content .destination-header .destination-main-info .destination-main-link-text,
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item > .destinations-dropdown .destinations-container .destinations-content .destination-details .destination-detail-content .destination-header .destination-main-info .destination-main-link-text {
  pointer-events: none;
  user-select: none;
  position: relative;
  padding: 8px 32px 8px 38px;
  background: linear-gradient(82.87deg, #EA4E51 0%, #F1A75A 94.44%);
  border-radius: 0 0 12px 12px;
  margin: 0;
  width: 100%;
  font-family: var(--ff-base);
  font-weight: 700;
  font-size: var(--font-16);
  line-height: 26px;
  color: #FFFFFF;
}
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item.customer-info-menu > ul.sub-menu .destinations-container .destinations-content .destination-details .destination-detail-content .destination-header .destination-main-info .destination-main-link-text::before,
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item > .destinations-dropdown .destinations-container .destinations-content .destination-details .destination-detail-content .destination-header .destination-main-info .destination-main-link-text::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  left: 12px;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.5 8.33337C2.5 4.19124 5.85786 0.833374 10 0.833374C14.1421 0.833374 17.5 4.19124 17.5 8.33337C17.5 10.4385 16.5443 12.2836 15.2436 13.9726C14.1566 15.3839 12.7653 16.7632 11.3755 18.1409L11.3746 18.1419C11.1121 18.4021 10.8496 18.6623 10.5893 18.9226C10.2638 19.2481 9.73618 19.2481 9.41074 18.9226C9.15022 18.6621 8.887 18.4012 8.6243 18.1407C7.23455 16.763 5.84337 15.3839 4.75643 13.9726C3.45569 12.2836 2.5 10.4385 2.5 8.33337ZM12.5 8.33337C12.5 9.71409 11.3807 10.8334 10 10.8334C8.61929 10.8334 7.5 9.71409 7.5 8.33337C7.5 6.95266 8.61929 5.83337 10 5.83337C11.3807 5.83337 12.5 6.95266 12.5 8.33337Z' fill='white'/%3E%3C/svg%3E%0A");
}
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item.customer-info-menu > ul.sub-menu .destinations-container .destinations-content .destination-details .destination-detail-content .destination-header .destination-main-info .destination-main-link-text::after,
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item > .destinations-dropdown .destinations-container .destinations-content .destination-details .destination-detail-content .destination-header .destination-main-info .destination-main-link-text::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  right: 12px;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.2559 4.4107C11.9305 4.08527 11.4028 4.08527 11.0774 4.4107C10.752 4.73614 10.752 5.26378 11.0774 5.58921L14.6548 9.16663H3.33333C2.8731 9.16663 2.5 9.53972 2.5 9.99996C2.5 10.4602 2.8731 10.8333 3.33333 10.8333H14.6548L11.0774 14.4107C10.752 14.7361 10.752 15.2638 11.0774 15.5892C11.4028 15.9147 11.9305 15.9147 12.2559 15.5892L17.2559 10.5892C17.5814 10.2638 17.5814 9.73614 17.2559 9.4107L12.2559 4.4107Z' fill='white'/%3E%3C/svg%3E%0A");
}
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item.customer-info-menu > ul.sub-menu .destinations-container .destinations-content .destination-details .destination-detail-content.measure,
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item > .destinations-dropdown .destinations-container .destinations-content .destination-details .destination-detail-content.measure {
  position: static !important;
  visibility: hidden !important;
  opacity: 0 !important;
  transform: none !important;
  display: block !important;
  pointer-events: none !important;
}
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item.customer-info-menu > ul.sub-menu .destinations-container:has(.destinations-list.active .no-destinations),
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item > .destinations-dropdown .destinations-container:has(.destinations-list.active .no-destinations) {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0;
}
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item.customer-info-menu > ul.sub-menu {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item.customer-info-menu > ul.sub-menu li a {
  display: flex;
  align-items: center;
  padding: 8px 12px;
  gap: 12px;
  border: 1px solid #ECECED;
  border-radius: 8px;
  font-weight: 400;
  font-size: var(--font-16);
  line-height: 26px;
  color: #3C4678;
  transition: all 0.15s ease;
}
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item.customer-info-menu > ul.sub-menu li a * {
  pointer-events: none;
}
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item.customer-info-menu > ul.sub-menu li a img {
  display: flex;
  width: 40px !important;
  height: 40px !important;
  border-radius: 50%;
  aspect-ratio: 1 !important;
  overflow: hidden;
}
.site-header .header-container #site-navigation #header-menu.menu > li.menu-item.customer-info-menu > ul.sub-menu li a:hover {
  background-color: #f8f9fa;
  color: #3C4678;
}
.site-header .header-container #mobile-overlay {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  height: calc(100vh - 62px);
  z-index: 300;
  display: flex;
  flex-direction: column;
  pointer-events: none;
  background: rgba(0, 0, 0, 0);
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.site-header .header-container #mobile-overlay.overlay-hidden {
  opacity: 0;
  visibility: hidden;
}
.site-header .header-container #mobile-overlay .overlay-panel {
  position: relative;
  background: #fff;
  width: 100%;
  max-width: none;
  border-radius: 0;
  padding: 0;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  height: 100%;
  transform: translateX(100%);
  will-change: transform;
  transition: transform 0.35s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.site-header .header-container #mobile-overlay .overlay-panel #overlay-content {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.site-header .header-container #mobile-overlay .overlay-panel #overlay-content .mobile-menu-wrapper {
  height: 100%;
  display: flex;
  flex-direction: column;
  position: relative;
  overflow-y: auto;
  padding: 16px;
}
.site-header .header-container #mobile-overlay .overlay-panel #overlay-content .mobile-menu-wrapper .mobile-menu-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.site-header .header-container #mobile-overlay .overlay-panel #overlay-content .mobile-menu-wrapper .mobile-menu-item .menu-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 10px;
  text-decoration: none;
  font-family: "Futura Md BT", var(--ff-base), sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 26px;
  color: #111214;
  cursor: default;
  transition: color 0.2s ease;
  border-radius: 8px;
}
.site-header .header-container #mobile-overlay .overlay-panel #overlay-content .mobile-menu-wrapper .mobile-menu-item .menu-link:active {
  background-color: #f8f8f8;
  color: #3C4678;
}
.site-header .header-container #mobile-overlay .overlay-panel #overlay-content .mobile-menu-wrapper .mobile-menu-item .menu-link .menu-arrow {
  flex-shrink: 0;
}
.site-header .header-container #mobile-overlay .overlay-panel #overlay-content .mobile-menu-wrapper .mobile-menu-item .menu-link .menu-arrow svg {
  display: block;
}
.site-header .header-container #mobile-overlay .overlay-panel #overlay-content .mobile-menu-wrapper .mobile-menu-item .mobile-submenu {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #fff;
  transform: translateX(100%);
  will-change: transform;
  transition: transform 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
  z-index: 10;
  display: flex;
  flex-direction: column;
  padding: 16px 16px 90px;
}
.site-header .header-container #mobile-overlay .overlay-panel #overlay-content .mobile-menu-wrapper .mobile-menu-item .mobile-submenu.active {
  transform: translateX(0);
}
.site-header .header-container #mobile-overlay .overlay-panel #overlay-content .mobile-menu-wrapper .mobile-menu-item .mobile-submenu .submenu-header {
  position: relative;
}
.site-header .header-container #mobile-overlay .overlay-panel #overlay-content .mobile-menu-wrapper .mobile-menu-item .mobile-submenu .submenu-header .back-button {
  display: flex;
  align-items: center;
  padding: 8px 10px;
  gap: 8px;
  font-family: "Futura Bk", "Futura", sans-serif;
  font-weight: 400;
  font-size: var(--font-16);
  line-height: 26px;
  color: #3D414F;
  background-color: transparent;
  border: none;
  outline: none;
}
.site-header .header-container #mobile-overlay .overlay-panel #overlay-content .mobile-menu-wrapper .mobile-menu-item .mobile-submenu .submenu-header .back-button svg {
  width: 24px;
  height: 24px;
}
.site-header .header-container #mobile-overlay .overlay-panel #overlay-content .mobile-menu-wrapper .mobile-menu-item .mobile-submenu .submenu-header h2 {
  font-family: "Futura", var(--ff-base), sans-serif;
  font-weight: 700;
  font-size: 18px;
  line-height: 30px;
  letter-spacing: -0.5px;
  color: #3C4678;
  padding: 12px 10px;
  margin: 0;
}
.site-header .header-container #mobile-overlay .overlay-panel #overlay-content .mobile-menu-wrapper .mobile-menu-item .mobile-submenu .submenu-content {
  flex: 1;
  overflow-y: auto;
}
.site-header .header-container #mobile-overlay .overlay-panel #overlay-content .mobile-menu-wrapper .mobile-menu-item .mobile-submenu .submenu-content .submenu-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.site-header .header-container #mobile-overlay .overlay-panel #overlay-content .mobile-menu-wrapper .mobile-menu-item .mobile-submenu .submenu-content .submenu-list .submenu-item .submenu-link {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 10px;
  gap: 2px;
  font-weight: 400;
  font-size: var(--font-16);
  line-height: 26px;
  text-decoration: none;
  color: #3C4678;
}
.site-header .header-container #mobile-overlay .overlay-panel #overlay-content .mobile-menu-wrapper .mobile-menu-item .mobile-submenu .submenu-content .submenu-list .submenu-item .submenu-link:hover {
  color: #3C4678;
}
.site-header .header-container #mobile-overlay .overlay-panel #overlay-content .mobile-menu-wrapper .mobile-menu-item .mobile-submenu .submenu-content .submenu-list .submenu-item .submenu-link .menu-icon {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.site-header .header-container #mobile-overlay .overlay-panel #overlay-content .mobile-menu-wrapper .mobile-menu-item .mobile-submenu .submenu-content .submenu-list .submenu-item .submenu-link .menu-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.site-header .header-container #mobile-overlay .overlay-panel #overlay-content .mobile-menu-wrapper .mobile-menu-item .mobile-submenu .submenu-content .submenu-list.customer-info-list .submenu-item .submenu-link .menu-icon {
  background: transparent;
}
.site-header .header-container #mobile-overlay .overlay-panel #overlay-content .mobile-menu-wrapper .mobile-menu-item .mobile-submenu .submenu-content .submenu-list.customer-info-list .submenu-item .submenu-link .menu-icon img {
  width: 40px;
  height: 40px;
}
.site-header .header-container #mobile-overlay .overlay-panel #overlay-content .mobile-menu-wrapper .mobile-menu-item .mobile-submenu .submenu-content .destinations-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.site-header .header-container #mobile-overlay .overlay-panel #overlay-content .mobile-menu-wrapper .mobile-menu-item .mobile-submenu .submenu-content .destinations-list.hidden {
  display: none;
}
.site-header .header-container #mobile-overlay .overlay-panel #overlay-content .mobile-menu-wrapper .mobile-menu-item .mobile-submenu .submenu-content .destinations-list .destination-item .destination-link {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 10px;
  gap: 2px;
  font-family: "Futura Md BT", var(--ff-base), sans-serif;
  font-weight: 400;
  font-size: var(--font-16);
  line-height: 26px;
  color: #111214;
  text-decoration: none;
  cursor: default;
}
.site-header .header-container #mobile-overlay .overlay-panel #overlay-content .mobile-menu-wrapper .mobile-menu-item .mobile-submenu .submenu-content .destinations-list .destination-item .destination-link:active {
  color: #3C4678;
}
.site-header .header-container #mobile-overlay .overlay-panel #overlay-content .mobile-menu-wrapper .mobile-menu-item .mobile-submenu .submenu-content .destinations-list .destination-item .destination-link .menu-arrow {
  flex-shrink: 0;
}
.site-header .header-container #mobile-overlay .overlay-panel #overlay-content .mobile-menu-wrapper .mobile-menu-item .mobile-submenu .submenu-content .destination-detail-submenu {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #fff;
  transform: translateX(100%);
  will-change: transform;
  transition: transform 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
  z-index: 20;
  display: flex;
  flex-direction: column;
}
.site-header .header-container #mobile-overlay .overlay-panel #overlay-content .mobile-menu-wrapper .mobile-menu-item .mobile-submenu .submenu-content .destination-detail-submenu.active {
  transform: translateX(0);
}
.site-header .header-container #mobile-overlay .overlay-panel #overlay-content .mobile-menu-wrapper .mobile-menu-item .mobile-submenu .submenu-content .destination-detail-submenu .destination-detail-content .destination-hero {
  position: relative;
  height: 224px;
  overflow: hidden;
  border-radius: 12px;
}
.site-header .header-container #mobile-overlay .overlay-panel #overlay-content .mobile-menu-wrapper .mobile-menu-item .mobile-submenu .submenu-content .destination-detail-submenu .destination-detail-content .destination-hero .destination-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.site-header .header-container #mobile-overlay .overlay-panel #overlay-content .mobile-menu-wrapper .mobile-menu-item .mobile-submenu .submenu-content .destination-detail-submenu .destination-detail-content .destination-hero .destination-overlay {
  position: absolute;
  top: 24px;
  left: 24px;
  right: 24px;
}
.site-header .header-container #mobile-overlay .overlay-panel #overlay-content .mobile-menu-wrapper .mobile-menu-item .mobile-submenu .submenu-content .destination-detail-submenu .destination-detail-content .destination-hero .destination-overlay h3 {
  font-family: "Futura Md BT", var(--ff-base), sans-serif;
  font-weight: 700;
  font-size: 32px;
  line-height: 40px;
  color: #FFFFFF;
  margin: 0;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}
.site-header .header-container #mobile-overlay .overlay-panel #overlay-content .mobile-menu-wrapper .mobile-menu-item .mobile-submenu .submenu-content .destination-detail-submenu .destination-detail-content .destination-hero .about-button {
  position: absolute;
  z-index: 1;
  bottom: 0;
  left: 0;
  right: 0;
  display: flex;
  align-items: center;
  padding: 16px 24px;
  background: linear-gradient(82.87deg, #EA4E51 0%, #F1A75A 94.44%);
  color: #FFFFFF;
  text-decoration: none;
  font-family: "Futura Md BT", var(--ff-base), sans-serif;
  font-weight: 700;
  font-size: var(--font-16);
  line-height: 26px;
}
.site-header .header-container #mobile-overlay .overlay-panel #overlay-content .mobile-menu-wrapper .mobile-menu-item .mobile-submenu .submenu-content .destination-detail-submenu .destination-detail-content .destination-hero .about-button .icon-location, .site-header .header-container #mobile-overlay .overlay-panel #overlay-content .mobile-menu-wrapper .mobile-menu-item .mobile-submenu .submenu-content .destination-detail-submenu .destination-detail-content .destination-hero .about-button .icon-arrow {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
}
.site-header .header-container #mobile-overlay .overlay-panel #overlay-content .mobile-menu-wrapper .mobile-menu-item .mobile-submenu .submenu-content .destination-detail-submenu .destination-detail-content .destination-hero .about-button .icon-location svg, .site-header .header-container #mobile-overlay .overlay-panel #overlay-content .mobile-menu-wrapper .mobile-menu-item .mobile-submenu .submenu-content .destination-detail-submenu .destination-detail-content .destination-hero .about-button .icon-arrow svg {
  display: block;
}
.site-header .header-container #mobile-overlay .overlay-panel #overlay-content .mobile-menu-wrapper .mobile-menu-item .mobile-submenu .submenu-content .destination-detail-submenu .destination-detail-content .destination-hero .about-button .icon-arrow {
  margin-left: auto;
}
.site-header .header-container #mobile-overlay .overlay-panel #overlay-content .mobile-menu-wrapper .mobile-menu-item .mobile-submenu .submenu-content .destination-detail-submenu .destination-detail-content .resorts-section {
  padding: 24px 0;
}
.site-header .header-container #mobile-overlay .overlay-panel #overlay-content .mobile-menu-wrapper .mobile-menu-item .mobile-submenu .submenu-content .destination-detail-submenu .destination-detail-content .resorts-section h3 {
  font-family: "Futura Md BT", var(--ff-base), sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 28px;
  color: #111214;
  margin: 0;
  padding: 8px;
}
.site-header .header-container #mobile-overlay .overlay-panel #overlay-content .mobile-menu-wrapper .mobile-menu-item .mobile-submenu .submenu-content .destination-detail-submenu .destination-detail-content .resorts-section .resorts-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
}
.site-header .header-container #mobile-overlay .overlay-panel #overlay-content .mobile-menu-wrapper .mobile-menu-item .mobile-submenu .submenu-content .destination-detail-submenu .destination-detail-content .resorts-section .resorts-list li a {
  display: block;
  padding: 6px 16px;
  font-family: "Futura Md BT", var(--ff-base), sans-serif;
  font-weight: 400;
  font-size: var(--font-16);
  line-height: 26px;
  color: #3C4678;
  text-decoration: none;
  transition: opacity 0.2s ease;
}
.site-header .header-container #mobile-overlay .overlay-panel #overlay-content .mobile-menu-wrapper .mobile-menu-item .mobile-submenu .submenu-content .destination-detail-submenu .destination-detail-content .resorts-section .resorts-list li a:hover {
  opacity: 0.8;
  text-decoration: underline;
}
.site-header .header-container #mobile-overlay .overlay-panel #overlay-content .mobile-menu-wrapper .mobile-menu-item .mobile-submenu .submenu-content .destination-detail-submenu .destination-detail-content .resorts-section p {
  font-family: "Futura Md BT", var(--ff-base), sans-serif;
  font-weight: 400;
  font-size: var(--font-16);
  line-height: 26px;
  color: #8B8D95;
}
.site-header .header-container #mobile-overlay .overlay-panel #overlay-content .mobile-menu-wrapper .mobile-menu-item .mobile-submenu .submenu-content .view-all-destinations {
  margin: 24px 0;
  display: flex;
}
.site-header .header-container #mobile-overlay .overlay-panel #overlay-content .mobile-menu-wrapper .mobile-menu-item .mobile-submenu .submenu-content .view-all-destinations .view-all-btn {
  display: flex;
  gap: 8px;
  justify-content: center;
  align-items: center;
  max-width: 100%;
  width: 100%;
  height: 40px;
  background-color: #3C4678;
  border-radius: 6px;
  text-decoration: none;
  color: #fff;
}
.site-header .header-container #mobile-overlay .overlay-panel #overlay-content .mobile-menu-wrapper .mobile-menu-item .mobile-submenu .submenu-content .view-all-destinations .view-all-btn span {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 480px) {
  .site-header .header-container #mobile-overlay .overlay-panel #overlay-content .mobile-menu-wrapper .mobile-menu-item .mobile-submenu .submenu-content .view-all-destinations .view-all-btn {
    max-width: 100%;
    justify-content: center;
  }
}
.site-header .header-container #mobile-overlay .overlay-panel #overlay-content .mobile-menu-wrapper .mobile-menu-item.customer-info-menu .mobile-submenu .submenu-content .submenu-list .submenu-item .submenu-link {
  justify-content: flex-start;
  gap: 12px;
  padding: 8px 12px;
  border: 1px solid #ECECED;
  border-radius: 8px;
  color: #3C4678;
}
.site-header .header-container #mobile-overlay .overlay-panel #overlay-content .mobile-menu-wrapper .mobile-menu-item.customer-info-menu .mobile-submenu .submenu-content .submenu-list .submenu-item .submenu-link * {
  pointer-events: none;
}
.site-header .header-container #mobile-overlay .overlay-panel #overlay-content .mobile-menu-wrapper .mobile-menu-item.customer-info-menu .mobile-submenu .submenu-content .submenu-list .submenu-item .submenu-link .menu-icon {
  width: 40px;
  height: 40px;
}
.site-header .header-container #mobile-overlay .overlay-panel #overlay-content .mobile-menu-wrapper .mobile-menu-item.customer-info-menu .mobile-submenu .submenu-content .submenu-list .submenu-item:not(:last-child) {
  margin-bottom: 8px;
}
.site-header .header-container #mobile-overlay .overlay-panel #overlay-content .mobile-menu-wrapper .mobile-menu-footer .external-link {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 16px 10px;
  text-decoration: none;
  font-family: "Futura Md BT", var(--ff-base), sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 26px;
  color: #111214;
  cursor: default;
  transition: color 0.2s ease;
  border-radius: 8px;
}
.site-header .header-container #mobile-overlay .overlay-panel #overlay-content .mobile-menu-wrapper .mobile-menu-footer .external-link:active {
  background-color: #f8f8f8;
  color: #3C4678;
}
.site-header .header-container #mobile-overlay .overlay-panel #overlay-content .mobile-menu-wrapper .mobile-menu-footer .external-link .icon {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
}
.site-header .header-container #mobile-overlay .overlay-panel #overlay-content .mobile-menu-wrapper .mobile-menu-footer .external-link .icon svg {
  display: block;
}
.site-header .header-container #mobile-overlay:not(.overlay-hidden) {
  pointer-events: auto;
  opacity: 1;
  visibility: visible;
  background: rgba(0, 0, 0, 0.4);
}
.site-header .header-container #mobile-overlay:not(.overlay-hidden) .overlay-panel {
  transform: translateX(0);
}
@media screen and (max-width: 1070px) {
  .site-header .header-container #mobile-overlay {
    align-items: flex-end;
  }
  .site-header .header-container #mobile-overlay .overlay-panel {
    max-width: 520px;
  }
}
@media screen and (max-width: 570px) {
  .site-header .header-container #mobile-overlay .overlay-panel {
    max-width: 100%;
  }
}
.site-header .header-container .action-block {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-left: auto;
}
@media screen and (max-width: 1210px) {
  .site-header .header-container .action-block {
    gap: 12px;
  }
}
@media screen and (max-width: 1070px) {
  .site-header .header-container .action-block {
    margin-left: 0;
  }
}
.site-header .header-container .action-block .search-btn {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  margin: 0;
}
.site-header .header-container .action-block .search-btn svg {
  width: 20px;
  height: 20px;
}
.site-header .header-container .action-block .origin-select-container {
  position: relative;
  display: flex;
  align-items: center;
}
.site-header .header-container .action-block .origin-select-container .custom-dropdown {
  position: relative;
}
.site-header .header-container .action-block .origin-select-container .custom-dropdown .dropdown-trigger {
  display: flex;
  align-items: center;
  border: none;
  background-color: transparent;
  cursor: pointer;
  width: 100%;
  min-height: 40px;
  box-shadow: none;
  outline: none;
  padding: 0;
}
.site-header .header-container .action-block .origin-select-container .custom-dropdown .dropdown-trigger[aria-expanded=true] .dropdown-arrow {
  transform: rotate(180deg);
}
.site-header .header-container .action-block .origin-select-container .custom-dropdown .dropdown-trigger .selected-option {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1;
}
.site-header .header-container .action-block .origin-select-container .custom-dropdown .dropdown-trigger .selected-option .flag-icon {
  width: 24px !important;
  height: 24px !important;
  object-fit: contain;
  aspect-ratio: 1 !important;
  flex-shrink: 0;
}
.site-header .header-container .action-block .origin-select-container .custom-dropdown .dropdown-trigger .selected-option .origin-name {
  font-family: var(--ff-base), sans-serif;
  font-weight: 400;
  font-size: var(--font-14);
  line-height: 20px;
  color: #111214;
  flex: 1;
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.site-header .header-container .action-block .origin-select-container .custom-dropdown .dropdown-trigger .selected-option .dropdown-arrow {
  flex-shrink: 0;
  will-change: transform;
  transition: transform 0.2s ease;
}
.site-header .header-container .action-block .origin-select-container .custom-dropdown .dropdown-trigger .selected-option.mobile-selected-option {
  gap: 4px;
}
.site-header .header-container .action-block .origin-select-container .custom-dropdown .dropdown-trigger .selected-option.mobile-selected-option .origin-name {
  display: none;
}
.site-header .header-container .action-block .origin-select-container .custom-dropdown .dropdown-trigger .selected-option.mobile-selected-option .flag-icon {
  width: 32px !important;
  height: 32px !important;
}
.site-header .header-container .action-block .origin-select-container .custom-dropdown .dropdown-menu {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  left: auto;
  display: flex;
  flex-direction: column;
  padding: 8px 0;
  min-width: 177px;
  background-color: #FFFFFF;
  border: 1px solid #D8D9DC;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.05);
  border-radius: 12px;
  z-index: 1000;
  max-height: 240px;
  overflow-y: auto;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
}
@media screen and (max-width: 1070px) {
  .site-header .header-container .action-block .origin-select-container .custom-dropdown .dropdown-menu {
    right: 0;
    left: auto;
  }
}
.site-header .header-container .action-block .origin-select-container .custom-dropdown .dropdown-menu.show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.site-header .header-container .action-block .origin-select-container .custom-dropdown .dropdown-menu::-webkit-scrollbar {
  width: 6px;
}
.site-header .header-container .action-block .origin-select-container .custom-dropdown .dropdown-menu::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 3px;
}
.site-header .header-container .action-block .origin-select-container .custom-dropdown .dropdown-menu::-webkit-scrollbar-thumb {
  background: #c1c1c1;
  border-radius: 3px;
}
.site-header .header-container .action-block .origin-select-container .custom-dropdown .dropdown-menu::-webkit-scrollbar-thumb:hover {
  background: #a8a8a8;
}
.site-header .header-container .action-block .origin-select-container .custom-dropdown .dropdown-menu .dropdown-option {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 16px;
  cursor: pointer;
  transition: background-color 0.15s ease;
}
.site-header .header-container .action-block .origin-select-container .custom-dropdown .dropdown-menu .dropdown-option:hover {
  background-color: #F8F9FA;
}
.site-header .header-container .action-block .origin-select-container .custom-dropdown .dropdown-menu .dropdown-option.selected {
  background-color: #EEFAF9;
  color: #3C4678;
}
.site-header .header-container .action-block .origin-select-container .custom-dropdown .dropdown-menu .dropdown-option .flag-icon {
  width: 24px !important;
  height: 24px !important;
  object-fit: contain;
  aspect-ratio: 1 !important;
  flex-shrink: 0;
}
.site-header .header-container .action-block .origin-select-container .custom-dropdown .dropdown-menu .dropdown-option .origin-name {
  font-family: var(--ff-base), sans-serif;
  font-weight: 400;
  font-size: var(--font-14);
  line-height: 20px;
  color: #111214;
  flex: 1;
  text-align: left;
}
.site-header .header-container .action-block .origin-select-container .custom-dropdown .dropdown-menu .dropdown-option .check-icon {
  flex-shrink: 0;
  opacity: 0;
  transition: opacity 0.2s ease;
}
.site-header .header-container .action-block .origin-select-container .custom-dropdown .dropdown-menu .dropdown-option.selected .check-icon {
  opacity: 1;
}
.site-header .header-container .action-block .origin-select-container select.origin-select {
  display: none;
}
@media screen and (max-width: 1070px) {
  .site-header .header-container .action-block .origin-select-container .selected-option .origin-name {
    display: none;
  }
  .site-header .header-container .action-block .origin-select-container .origin-label {
    display: none;
  }
}
.site-header .header-container .action-block .external-link {
  flex-shrink: 0;
}
.site-header .header-container .action-block .external-link a {
  position: relative;
  display: inline-flex;
  gap: 6px;
  align-items: center;
  text-decoration: none;
  font-weight: 400;
  font-size: var(--font-16);
  line-height: 26px;
  color: #111214;
  transition: all 0.3s ease-in-out;
}
.site-header .header-container .action-block .external-link a::before {
  content: "";
  position: relative;
  width: 20px;
  height: 20px;
  display: inline-flex;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Cpath fill='%23B1B3B9' fill-rule='evenodd' d='M5.833 7.917a4.167 4.167 0 1 1 8.333 0 4.167 4.167 0 0 1-8.333 0Z' clip-rule='evenodd'/%3E%3Cpath fill='%23B1B3B9' fill-rule='evenodd' d='M10 .833a9.167 9.167 0 1 0 0 18.334A9.167 9.167 0 0 0 10 .833ZM2.5 10a7.5 7.5 0 1 1 13.218 4.853 4.158 4.158 0 0 0-3.218-1.52h-5a4.159 4.159 0 0 0-3.218 1.52A7.47 7.47 0 0 1 2.5 10Z' clip-rule='evenodd'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.site-header .header-container .action-block .external-link:hover {
  opacity: 0.8;
}
.site-header .header-container .action-block #mobile-menu-open {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  background: none;
  border: none;
  padding: 0;
  border-radius: 50%;
}
.site-header .header-container .action-block #mobile-menu-open .burger {
  width: 20px;
  height: 14px;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.site-header .header-container .action-block #mobile-menu-open .burger-line {
  width: 100%;
  height: 2px;
  background-color: #3C4678;
  transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transform-origin: center;
}
.site-header .header-container .action-block #mobile-menu-open .burger-line.top {
  transform-origin: 50% 50%;
}
.site-header .header-container .action-block #mobile-menu-open .burger-line.middle {
  transform-origin: 50% 50%;
}
.site-header .header-container .action-block #mobile-menu-open .burger-line.bottom {
  transform-origin: 50% 50%;
}
.site-header .header-container .action-block #mobile-menu-open[aria-expanded=true] .burger-line.top {
  transform: translateY(6px) rotate(45deg);
}
.site-header .header-container .action-block #mobile-menu-open[aria-expanded=true] .burger-line.middle {
  opacity: 0;
  transform: scaleX(0);
}
.site-header .header-container .action-block #mobile-menu-open[aria-expanded=true] .burger-line.bottom {
  transform: translateY(-6px) rotate(-45deg);
}

.search-modal {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  height: calc(var(--vh) * 100);
  z-index: 99;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  pointer-events: none;
  user-select: none;
}
.search-modal:not(.hidden) {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  user-select: auto;
}
.search-modal .search-modal-overlay {
  position: absolute;
  z-index: 1;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
}
@media (hover: hover) {
  .search-modal .search-modal-overlay {
    cursor: pointer;
  }
}
.search-modal .search-modal-content {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 491px;
  margin: 32px 16px 0;
  transform: translateY(-20px);
  transition: transform 0.3s ease;
}
@media screen and (max-width: 540px) {
  .search-modal .search-modal-content {
    transform: translateY(-10px);
    max-width: 100%;
    margin: 39px 16px 0;
  }
}
.search-modal:not(.hidden) .search-modal-content {
  transform: translateY(0);
}
.search-modal .search-modal-header {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 16px;
}
.search-modal .search-modal-form {
  width: 100%;
}
.search-modal .search-input-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 0 8px 12px;
  gap: 10px;
  isolation: isolate;
  height: 42px;
  background: #FFFFFF;
  border-radius: 8px;
  box-sizing: border-box;
  position: relative;
  width: 100%;
  max-width: 491px;
}
.search-modal .search-input-wrapper .search-input-container {
  display: flex;
  align-items: center;
  gap: 8px;
  height: 26px;
  width: 100%;
}
.search-modal .search-input-wrapper .search-input-container .search-input-inner {
  display: flex;
  align-items: center;
  padding: 0;
  gap: 8px;
  width: 100%;
  height: 26px;
}
.search-modal .search-input-wrapper .search-input-container .search-input-inner .search-icon {
  width: 20px;
  height: 20px;
}
.search-modal .search-input-wrapper .search-input-container .search-input-inner label, .search-modal .search-input-wrapper .search-input-container .search-input-inner label .search-modal-input {
  width: 100%;
  height: 26px;
}
.search-modal .search-input-wrapper .search-input-container .search-input-inner label .search-modal-input {
  font-family: "Futura Bk", var(--ff-base), sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: var(--font-16);
  line-height: 26px;
  color: #111214;
  border: none;
  outline: none;
  background: transparent;
}
.search-modal .search-input-wrapper .search-input-container .search-input-inner label .search-modal-input::placeholder {
  color: #646772;
}
.search-modal .search-input-wrapper .search-input-container .search-input-inner label .search-modal-input:focus {
  outline: none;
}
.search-modal .search-input-wrapper .search-input-container .search-submit-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 4px 12px;
  gap: 4px;
  width: 98px;
  height: 42px;
  background: #3C4678;
  border-radius: 0 6px 6px 0;
  border: none;
  cursor: pointer;
  z-index: 1;
  transition: background-color 0.2s ease;
}
.search-modal .search-input-wrapper .search-input-container .search-submit-btn:hover {
  background: #2f3a63;
}
.search-modal .search-input-wrapper .search-input-container .search-submit-btn:focus {
  outline: none;
  background: #445081;
}
.search-modal .search-input-wrapper .search-input-container .search-submit-btn .search-submit-icon {
  width: 20px;
  height: 20px;
  flex: none;
  order: 0;
  flex-grow: 0;
}
.search-modal .search-input-wrapper .search-input-container .search-submit-btn .search-submit-text {
  width: 50px;
  height: 26px;
  font-family: "Futura Md BT", var(--ff-base), sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: var(--font-16);
  line-height: 26px;
  display: flex;
  align-items: center;
  text-align: center;
  color: #FFFFFF;
  flex: none;
  order: 1;
  flex-grow: 0;
}

@media screen and (max-width: 1070px) {
  .desktop-only {
    display: none !important;
  }
}
@media screen and (min-width: 1071px) {
  .mobile-only {
    display: none !important;
  }
}
footer.footer {
  background-color: #3C4678;
  padding: 120px 0 40px;
}
footer.footer a {
  color: #ffffff;
}
footer.footer .footer-top {
  display: flex;
  align-items: flex-start;
  gap: 40px;
}
footer.footer .footer-top .footer-info {
  display: flex;
  flex-direction: column;
  gap: 48px;
  flex-shrink: 0;
  width: 204px;
}
@media screen and (max-width: 768px) {
  footer.footer .footer-top .footer-info {
    width: 100%;
  }
}
footer.footer .footer-top .footer-info .footer-logo {
  display: block;
}
footer.footer .footer-top .footer-info .footer-logo img {
  height: 56px;
  width: auto;
}
footer.footer .footer-top .footer-info .footer-info-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}
footer.footer .footer-top .footer-info .footer-info-list li a {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #FFFFFF;
  text-decoration: none;
  font-family: "Futura Md BT", var(--ff-base), sans-serif;
  font-weight: 400;
  font-size: var(--font-14);
  line-height: 24px;
  transition: opacity 0.3s ease;
}
footer.footer .footer-top .footer-info .footer-info-list li a:hover {
  opacity: 0.8;
}
footer.footer .footer-top .footer-info .footer-info-list li a svg {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}
footer.footer .footer-top .footer-menu {
  display: flex;
  gap: 40px;
  list-style: none;
  margin: 0 0 0 auto;
  max-width: 899px;
  width: 100%;
  padding: 0;
}
footer.footer .footer-top .footer-menu > div {
  flex: 1;
  min-width: 0;
}
footer.footer .footer-top .footer-menu > div > p {
  font-weight: 600;
  font-size: var(--font-16);
  line-height: 26px;
  color: #FFFFFF;
  margin: 0 0 4px;
}
footer.footer .footer-top .footer-menu > div > a {
  display: inline-block;
  font-weight: 400;
  font-size: var(--font-14);
  line-height: 24px;
  color: #FFFFFF;
}
footer.footer .footer-top .footer-menu > div .sub-menu {
  list-style: none;
  margin: 0;
  padding: 0;
}
footer.footer .footer-top .footer-menu > div .sub-menu li {
  padding: 4px 0;
}
footer.footer .footer-top .footer-menu > div .sub-menu li a {
  color: #FFFFFF;
  font-family: "Futura Bk", "Futura", sans-serif;
  font-weight: 400;
  font-size: var(--font-14);
  line-height: 24px;
  text-decoration: none;
  transition: opacity 0.3s ease;
}
footer.footer .footer-top .footer-menu > div .sub-menu li a:hover {
  opacity: 0.8;
  text-decoration: underline;
}
footer.footer .footer-top .footer-menu > div .sub-menu li .sub-menu {
  display: none;
}
footer.footer .footer-top .footer-social {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
}
footer.footer .footer-top .footer-social > p {
  font-weight: 600;
  font-size: var(--font-16);
  line-height: 26px;
  color: #FFFFFF;
  margin: 0 0 4px;
}
footer.footer .footer-top .footer-social ul {
  display: flex;
  flex-direction: column;
  gap: 0;
  list-style: none;
  margin: 0;
  padding: 0;
}
footer.footer .footer-top .footer-social ul li a {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 4px 0;
  color: #FFFFFF;
  text-decoration: none;
  font-family: "Futura Bk", "Futura", sans-serif;
  font-weight: 400;
  font-size: var(--font-14);
  line-height: 24px;
  transition: opacity 0.3s ease;
}
footer.footer .footer-top .footer-social ul li a:hover {
  opacity: 0.8;
}
footer.footer .footer-top .footer-social ul li a img {
  width: 24px;
  height: 24px;
}
@media screen and (max-width: 870px) {
  footer.footer .footer-top {
    flex-wrap: wrap;
  }
  footer.footer .footer-top .footer-info {
    width: 100%;
  }
  footer.footer .footer-top .footer-menu {
    margin: 0;
    max-width: 100%;
    width: 100%;
  }
}
@media screen and (max-width: 650px) {
  footer.footer .footer-top .footer-menu {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 32px;
  }
}
footer.footer .footer-middle {
  display: flex;
  gap: 16px;
  margin-bottom: 32px;
  padding-top: 28px;
}
footer.footer .footer-middle strong {
  display: block;
  font-family: "Futura", sans-serif;
  font-weight: 700;
  margin-bottom: 8px;
  color: #FFFFFF;
  font-size: var(--font-14);
  line-height: 24px;
}
footer.footer .footer-middle p {
  color: #FFFFFF;
  font-weight: 400;
  font-size: var(--font-14);
  line-height: 24px;
  margin: 0;
}
footer.footer .footer-middle p a {
  color: #FFFFFF;
  text-decoration: underline;
}
footer.footer .footer-middle p a:hover {
  opacity: 0.8;
}
footer.footer .footer-middle .list-certificate {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  list-style: none;
  margin: 32px 24px 0 0;
  padding: 0;
  flex-shrink: 0;
}
footer.footer .footer-middle .list-certificate li a, footer.footer .footer-middle .list-certificate li img {
  display: block;
}
footer.footer .footer-middle .list-certificate li img {
  height: 42px;
  width: 92px;
  object-fit: contain;
}
@media screen and (max-width: 767px) {
  footer.footer .footer-middle {
    flex-direction: column;
    margin-bottom: 28px;
  }
  footer.footer .footer-middle strong {
    font-weight: 700;
    font-size: var(--font-12);
    line-height: 18px;
    color: #FFFFFF;
  }
  footer.footer .footer-middle .list-certificate {
    margin: 0 0 24px;
    flex-direction: row;
  }
}
footer.footer .footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.3);
  padding-top: 32px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px 24px;
}
footer.footer .footer-bottom .footer-bottom-top {
  width: 100%;
  display: block;
}
footer.footer .footer-bottom .footer-bottom-left {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}
footer.footer .footer-bottom .footer-bottom-left img {
  height: 27px;
  width: auto;
  margin-bottom: 8px;
}
footer.footer .footer-bottom .footer-bottom-left .copyright {
  color: #FFFFFF;
  font-family: "Futura Md BT", var(--ff-base), sans-serif;
  font-weight: 400;
  font-size: var(--font-12);
  line-height: 18px;
  margin: 0;
}
footer.footer .footer-bottom .footer-bottom-left .site-by {
  color: #FFFFFF;
  font-family: "Futura Md BT", var(--ff-base), sans-serif;
  font-weight: 400;
  font-size: var(--font-12);
  line-height: 18px;
  margin: 0;
}
footer.footer .footer-bottom .footer-bottom-left .site-by a {
  color: #FFFFFF;
  text-decoration: underline;
}
footer.footer .footer-bottom .footer-bottom-left .site-by a:hover {
  opacity: 0.8;
}
footer.footer .footer-bottom .footer-bottom-right ul {
  display: flex;
  gap: 24px;
  list-style: none;
  margin: 0;
  padding: 0;
}
footer.footer .footer-bottom .footer-bottom-right ul li a {
  font-weight: 400;
  font-size: var(--font-14);
  line-height: 150%;
  text-decoration-line: underline;
  color: #FFFFFF;
}
footer.footer .footer-bottom .footer-bottom-right ul li a:hover {
  opacity: 0.8;
}
@media screen and (max-width: 720px) {
  footer.footer .footer-bottom {
    flex-direction: column;
    gap: 12px;
  }
  footer.footer .footer-bottom .footer-bottom-left {
    order: 1;
    margin-top: 12px;
  }
  footer.footer .footer-bottom .footer-bottom-right ul {
    flex-direction: column;
    gap: 8px;
  }
}
footer.footer:has(.mobile-book-now-btn) {
  position: relative;
  z-index: 1001;
}

#sb_instagram {
  display: flex;
  flex-direction: column-reverse;
  margin-bottom: -42px !important;
  padding: 0 !important;
}
@media screen and (max-width: 470px) {
  #sb_instagram {
    padding: 0 38px !important;
  }
}
#sb_instagram .sbi-owl-dots {
  display: none;
}
#sb_instagram #sbi_images {
  padding: 0;
}
#sb_instagram #sbi_load {
  margin-bottom: 20px;
}
#sb_instagram #sbi_load .sbi_follow_btn.sbi_custom {
  margin: 0;
}
#sb_instagram #sbi_load .sbi_follow_btn.sbi_custom a {
  font-weight: 400;
  font-size: 18px;
  line-height: 30px;
  display: flex;
  align-items: center;
  text-align: center;
  letter-spacing: -0.5px;
  margin: 0 !important;
  padding: 0 !important;
}
#sb_instagram #sbi_load .sbi_follow_btn.sbi_custom a svg {
  color: #48BBB9;
  width: 20px;
  height: 20px;
}
#sb_instagram #sbi_load .sbi_follow_btn.sbi_custom a, #sb_instagram #sbi_load .sbi_follow_btn.sbi_custom a:hover {
  background: none !important;
  color: #3C4678 !important;
  box-shadow: none !important;
}

.sidebar-search {
  position: relative;
  z-index: 10;
}

.fd-search-widget {
  max-width: 1262px;
  padding: 0 15px;
  width: 100%;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.fd-search-widget .fd-search-tabs {
  display: inline-flex;
  align-items: flex-start;
  background-color: #D8D9DC;
  border-radius: 12px 12px 0 0;
}
.fd-search-widget .fd-search-tabs .fd-search-tab {
  margin: 0;
  display: flex;
  height: 38px;
  width: auto;
  min-width: 155px;
  cursor: pointer;
  background-color: #F1EFEB;
  border: none;
  justify-content: center;
  align-items: center;
  padding: 9px 20px;
  gap: 10px;
  font-weight: 700;
  font-size: var(--font-12);
  line-height: 18px;
  color: #646772;
  white-space: nowrap;
  text-transform: uppercase;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
@media screen and (max-width: 374px) {
  .fd-search-widget .fd-search-tabs .fd-search-tab {
    min-width: auto;
    padding: 8px;
    gap: 4px;
    max-width: none !important;
    flex: 1;
  }
}
.fd-search-widget .fd-search-tabs .fd-search-tab svg {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  transition: transform 0.3s ease;
}
.fd-search-widget .fd-search-tabs .fd-search-tab svg path {
  fill: #8B8D95;
}
.fd-search-widget .fd-search-tabs .fd-search-tab:hover {
  background-color: #E5E3DF;
}
.fd-search-widget .fd-search-tabs .fd-search-tab:first-child {
  border-radius: 12px 0 0 0;
}
.fd-search-widget .fd-search-tabs .fd-search-tab:last-child {
  border-radius: 0 12px 0 0;
}
.fd-search-widget .fd-search-tabs .fd-search-tab:last-child svg {
  width: 16px;
  height: 16px;
}
.fd-search-widget .fd-search-tabs .fd-search-tab.active {
  background-color: #FFFFFF;
  color: #3C4678;
}
.fd-search-widget .fd-search-tabs .fd-search-tab.active svg path {
  fill: #3C4678;
}
.fd-search-widget .fd-search-body {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
  padding: 20px 24px;
  width: 100%;
  background-color: #FFFFFF;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.05);
  border-radius: 0 12px 12px 12px;
  position: relative;
}
.fd-search-widget .fd-search-body.transitioning {
  pointer-events: none;
}
.fd-search-widget .fd-search-body .fd-search-content {
  grid-column: 1;
  grid-row: 1;
  width: 100%;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.15s ease, visibility 0.15s ease;
  display: flex;
  align-items: flex-end;
}
@media screen and (max-width: 374px) {
  .fd-search-widget .fd-search-body .fd-search-content {
    align-items: flex-start;
  }
}
.fd-search-widget .fd-search-body .fd-search-content .fd-search-form {
  position: relative;
  width: 100%;
  transition: padding 0.15s ease;
}
.fd-search-widget .fd-search-body .fd-search-content.active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  z-index: 1;
}
.fd-search-widget .fd-search-body .fd-search-content.active[data-content=flights] .fd-search-form {
  padding-top: 42px;
}
.fd-search-widget .fd-search-fields {
  display: flex;
  gap: 8px;
  width: 100%;
  align-items: flex-end;
}
.fd-search-widget .fd-field-group {
  display: flex;
  flex-direction: column;
  gap: 8px;
  position: relative;
  width: 100%;
  flex-grow: 1;
  transition: all 0.3s ease;
}
.fd-search-widget .fd-field-group.nights-field {
  max-width: 149px;
}
.fd-search-widget .fd-field-group.nights-field.hidden {
  display: none;
}
.fd-search-widget .fd-field-group.invalid .fd-field-input {
  border-color: #EA4E51;
  animation: shake 0.5s ease;
}
.fd-search-widget .fd-field-group.loading {
  opacity: 0.5;
  pointer-events: none;
}
.fd-search-widget .fd-field-group .fd-error-msg {
  position: absolute;
  top: 100%;
  left: 0;
  color: #EA4E51;
  font-size: var(--font-12);
  text-transform: lowercase;
  animation: slideDown 0.3s ease;
}
.fd-search-widget .fd-field-label {
  font-weight: 700;
  font-size: var(--font-12);
  line-height: 18px;
  color: #3D414F;
  pointer-events: none;
  user-select: none;
}
.fd-search-widget .fd-field-input {
  position: relative;
  display: flex;
  align-items: center;
  height: 42px;
  padding: 0;
  background-color: #FFFFFF;
  border: 1px solid #D8D9DC;
  border-radius: 12px;
  gap: 8px;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.fd-search-widget .fd-field-input.loading {
  opacity: 0.7;
  pointer-events: none;
}
.fd-search-widget .fd-field-input .fd-input {
  width: 100%;
  height: 42px;
  padding: 0 38px;
  border: none;
  outline: none;
  background-color: transparent;
  font-size: var(--font-16);
  line-height: 26px;
  color: #111214;
  cursor: pointer;
}
.fd-search-widget .fd-field-input .fd-input::placeholder {
  color: #8B8D95;
}
.fd-search-widget .fd-field-input > svg {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  flex-shrink: 0;
  pointer-events: none;
  user-select: none;
  transition: transform 0.3s ease;
}
.fd-search-widget .fd-field-input > svg:first-of-type {
  left: 12px;
}
.fd-search-widget .fd-field-input > svg:last-of-type {
  right: 12px;
  width: 20px;
  height: 20px;
  color: #B1B3B9;
  transition: transform 0.3s ease;
}
.fd-search-widget .fd-field-input:hover {
  border-color: #48BBB9;
}
.fd-search-widget .fd-field-input:focus-within {
  border-color: #48BBB9;
  box-shadow: 0 0 0 3px rgba(72, 187, 185, 0.1);
}
.fd-search-widget .fd-dropdown {
  position: absolute;
  top: calc(100% + 20px);
  bottom: auto;
  left: 0;
  right: 0;
  z-index: 1000;
  background-color: #FFFFFF;
  border: 1px solid #D8D9DC;
  border-radius: 12px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.05);
  padding: 8px 0;
  display: none;
  max-height: 300px;
  overflow-y: auto;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-10px);
  transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.fd-search-widget .fd-dropdown.active {
  display: block;
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  animation: slideDown 0.3s ease;
}
.fd-search-widget .fd-field-input.active > svg:last-of-type {
  transform: translateY(-50%) rotate(180deg);
}
.fd-search-widget .fd-group-label {
  padding: 4px 16px;
  opacity: 0.5;
  font-size: var(--font-14);
  cursor: default;
}
.fd-search-widget .fd-dropdown-item {
  position: relative;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  display: flex;
  align-items: center;
  padding: 8px 16px;
  cursor: pointer;
  font-size: var(--font-16);
  line-height: 26px;
  color: #111214;
}
.fd-search-widget .fd-dropdown-item:hover:not(.disabled) {
  background-color: #F6F6FB;
  padding-left: 20px;
}
.fd-search-widget .fd-dropdown-item.disabled {
  cursor: default;
  font-style: italic;
  justify-content: center;
  opacity: 0.7;
  user-select: none;
}
.fd-search-widget .fd-dropdown-item.selected {
  background-color: #EEFAF9;
  color: #3C4678;
}
.fd-search-widget .fd-dropdown-item.selected .check-icon {
  opacity: 1;
  transform: translateY(-50%) scale(1);
}
.fd-search-widget .fd-dropdown-item .item-content {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1;
}
.fd-search-widget .fd-dropdown-item .check-icon {
  position: absolute;
  right: 16px;
  top: 50%;
  opacity: 0;
  transform: translateY(-50%) scale(0.8);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.fd-search-widget .fd-dropdown-item .flag-icon {
  width: 20px;
  height: 15px;
  object-fit: cover;
  border-radius: 2px;
}
.fd-search-widget .fd-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 32px 20px;
  text-align: center;
  gap: 12px;
}
.fd-search-widget .fd-loading span {
  color: #64748B;
  font-size: var(--font-14);
  font-weight: 500;
  opacity: 0;
  animation: fadeInText 0.6s ease-in-out 0.3s forwards;
}
.fd-search-widget .fd-loading .fd-spinner-smooth {
  width: 32px;
  height: 32px;
  border: 3px solid #E2E8F0;
  border-top: 3px solid #3C4678;
  border-radius: 50%;
  animation: smoothSpin 1s cubic-bezier(0.68, -0.55, 0.265, 1.55) infinite;
  position: relative;
}
.fd-search-widget .fd-loading .fd-spinner-smooth::before {
  content: "";
  position: absolute;
  top: -3px;
  left: -3px;
  right: -3px;
  bottom: -3px;
  border: 2px solid transparent;
  border-left: 2px solid rgba(72, 187, 185, 0.3);
  border-radius: 50%;
  animation: smoothSpin 2s linear infinite reverse;
}
.fd-search-widget .fd-guests-dropdown,
.fd-search-widget .fd-passengers-dropdown {
  width: 296px;
  min-height: 200px;
  padding: 16px;
}
@media screen and (max-width: 374px) {
  .fd-search-widget .fd-guests-dropdown,
  .fd-search-widget .fd-passengers-dropdown {
    width: 100%;
  }
}
.fd-search-widget .fd-room {
  display: flex;
  flex-direction: column;
  padding: 0 0 8px;
  margin: 0 0 8px;
  animation: fadeIn 0.3s ease;
  border-bottom: 1px solid #D8D9DC;
}
.fd-search-widget .fd-room .fd-room-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.fd-search-widget .fd-room .fd-room-header .fd-room-title {
  font-weight: 700;
  font-size: var(--font-14);
  line-height: 24px;
  color: #3C4678;
  text-transform: uppercase;
}
.fd-search-widget .fd-room .fd-room-header .fd-remove-room {
  border: none;
  background: none;
  font-weight: 400;
  font-size: var(--font-12);
  line-height: 18px;
  display: flex;
  align-items: center;
  color: #EA4E51;
  transition: all 0.3s ease;
  cursor: pointer;
}
.fd-search-widget .fd-room .fd-room-header .fd-remove-room:hover {
  opacity: 0.8;
}
.fd-search-widget .fd-room[data-room="1"] .fd-remove-room {
  display: none;
}
.fd-search-widget .fd-guest-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 4px 0;
  gap: 4px;
  height: 48px;
}
.fd-search-widget .fd-guest-row .fd-guest-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 400;
  font-size: var(--font-16);
  line-height: 26px;
  color: #3D414F;
}
.fd-search-widget .fd-guest-row .fd-guest-label .age-range {
  font-size: var(--font-14);
  line-height: 24px;
  color: #646772;
}
.fd-search-widget .fd-guest-row .fd-guest-controls {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 4px;
  width: 114px;
  height: 40px;
  border: 1px solid #EEE9E6;
  border-radius: 8px;
}
.fd-search-widget .fd-guest-row .fd-guest-controls .fd-guest-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 32px;
  height: 32px;
  background-color: #EEE9E6;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  font-size: var(--font-16);
  color: #3C4678;
  transition: all 0.15s ease;
}
.fd-search-widget .fd-guest-row .fd-guest-controls .fd-guest-btn:hover {
  background-color: #E0E0E0;
}
.fd-search-widget .fd-guest-row .fd-guest-controls .fd-guest-btn:disabled {
  opacity: 0.5;
  pointer-events: none;
  user-select: none;
}
.fd-search-widget .fd-guest-row .fd-guest-controls .fd-guest-count {
  width: 10px;
  font-weight: 400;
  font-size: var(--font-16);
  line-height: 26px;
  color: #111214;
}
.fd-search-widget .fd-add-room-btn {
  margin-top: 8px;
  border: none;
  cursor: pointer;
  background: none;
  display: flex;
  width: 100%;
  align-items: center;
  gap: 4px;
  font-weight: 400;
  font-size: var(--font-16);
  line-height: 26px;
  color: #3C4678;
}
.fd-search-widget .fd-add-room-btn span {
  width: 20px;
  height: 20px;
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  color: #48BBB9;
}
.fd-search-widget .fd-add-room-btn:hover {
  opacity: 0.8;
}
.fd-search-widget .fd-add-room-btn:disabled {
  opacity: 0.5;
  pointer-events: none;
}
.fd-search-widget .fd-dropdown-actions {
  display: flex;
  gap: 8px;
  position: sticky;
  z-index: 1;
  inset: -16px;
  background-color: #fff;
  padding: 8px 16px;
  margin: 0 -16px;
}
.fd-search-widget .fd-dropdown-actions button {
  flex: 1;
  height: 40px;
  border-radius: 6px;
  font-size: var(--font-16);
  line-height: 26px;
  cursor: pointer;
  transition: all 0.15s ease;
}
.fd-search-widget .fd-dropdown-actions button.cancel {
  background: transparent;
  border: 1px solid #3C4678;
  color: #3C4678;
}
.fd-search-widget .fd-dropdown-actions button.cancel:hover {
  background-color: #F6F6FB;
}
.fd-search-widget .fd-dropdown-actions button.done {
  background-color: #3C4678;
  border: 1px solid #3C4678;
  color: #FFFFFF;
}
.fd-search-widget .fd-dropdown-actions button.done:hover {
  background-color: #2A2F5A;
}
.fd-search-widget .fd-flight-type {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  display: flex;
  gap: 24px;
}
.fd-search-widget .fd-flight-type .fd-radio-group {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}
.fd-search-widget .fd-flight-type .fd-radio-group input[type=radio] {
  position: relative;
  display: inline-flex;
  appearance: none;
  width: 16px;
  height: 16px;
  border: 1px solid #D8D9DC;
  cursor: pointer;
}
.fd-search-widget .fd-flight-type .fd-radio-group input[type=radio], .fd-search-widget .fd-flight-type .fd-radio-group input[type=radio]::before {
  transition: all 0.3s ease;
  border-radius: 50%;
  flex-shrink: 0;
}
.fd-search-widget .fd-flight-type .fd-radio-group input[type=radio]::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 8px;
  height: 8px;
  transform: translate(-50%, -50%) scale(0);
  background-color: #48BBB9;
}
.fd-search-widget .fd-flight-type .fd-radio-group input[type=radio]:checked {
  border-color: #48BBB9;
}
.fd-search-widget .fd-flight-type .fd-radio-group input[type=radio]:checked::before {
  transform: translate(-50%, -50%) scale(1);
}
.fd-search-widget .fd-flight-type .fd-radio-group span {
  font-weight: 400;
  cursor: pointer;
  font-size: var(--font-16);
  line-height: 26px;
  user-select: none;
  color: #646772;
}
.fd-search-widget .fd-search-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 42px;
  max-width: 98px;
  width: 100%;
  padding: 0;
  background-color: #3C4678;
  border: none;
  border-radius: 6px;
  color: #FFFFFF;
  font-weight: 400;
  font-size: var(--font-16);
  line-height: 26px;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  white-space: nowrap;
}
.fd-search-widget .fd-search-btn svg {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}
.fd-search-widget .fd-search-btn:hover {
  background-color: #3DA5A3;
}
.fd-search-widget .fd-search-btn:active {
  transform: translateY(0);
}
.fd-search-widget .fd-search-btn:disabled {
  background-color: #D8D9DC;
  color: #8B8D95;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}
.fd-search-widget .fd-error {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px 20px;
  color: #EF4444;
  font-size: var(--font-14);
  font-weight: 500;
  text-align: center;
}
.fd-search-widget .fd-no-results {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  color: #64748B;
  font-size: var(--font-14);
  font-style: italic;
}
.fd-search-widget.fd-search-widget--vertical .fd-search-tabs {
  width: 100%;
}
.fd-search-widget.fd-search-widget--vertical .fd-search-tabs .fd-search-tab {
  max-width: 50%;
  width: 100%;
}
.fd-search-widget.fd-search-widget--vertical .fd-search-body {
  padding: 16px;
  border-radius: 0 0 12px 12px;
}
.fd-search-widget.fd-search-widget--vertical .fd-search-fields {
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 16px 8px;
}
.fd-search-widget.fd-search-widget--vertical .fd-search-fields .fd-field-group {
  transition: none;
}
.fd-search-widget.fd-search-widget--vertical .fd-search-fields .fd-field-group.departure-field, .fd-search-widget.fd-search-widget--vertical .fd-search-fields .fd-field-group.destination-field {
  max-width: 100%;
}
.fd-search-widget.fd-search-widget--vertical .fd-search-fields .fd-field-group.date-field {
  max-width: calc(56% - 4px);
}
.fd-search-widget.fd-search-widget--vertical .fd-search-fields .fd-field-group.date-field:has(+ .nights-field[style^="display: none;"]) {
  max-width: 100%;
}
.fd-search-widget.fd-search-widget--vertical .fd-search-fields .fd-field-group.nights-field {
  max-width: calc(44% - 4px);
}
.fd-search-widget.fd-search-widget--vertical .fd-search-fields .fd-field-group.guests-field, .fd-search-widget.fd-search-widget--vertical .fd-search-fields .fd-field-group.passengers-field {
  max-width: 100%;
}
.fd-search-widget.fd-search-widget--vertical .fd-search-fields .fd-field-group .fd-field-input {
  border-radius: 8px;
}
.fd-search-widget.fd-search-widget--vertical .fd-search-fields .fd-search-btn {
  max-width: 100%;
}
@media screen and (max-width: 991px) {
  .fd-search-widget.fd-search-widget--horizontal .fd-search-fields {
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .fd-search-widget.fd-search-widget--horizontal .fd-search-fields .fd-field-group {
    transition: none;
  }
  .fd-search-widget.fd-search-widget--horizontal .fd-search-fields .fd-field-group.departure-field, .fd-search-widget.fd-search-widget--horizontal .fd-search-fields .fd-field-group.destination-field {
    max-width: calc(50% - 4px);
  }
  .fd-search-widget.fd-search-widget--horizontal .fd-search-fields .fd-field-group.date-field, .fd-search-widget.fd-search-widget--horizontal .fd-search-fields .fd-field-group.nights-field, .fd-search-widget.fd-search-widget--horizontal .fd-search-fields .fd-field-group.guests-field, .fd-search-widget.fd-search-widget--horizontal .fd-search-fields .fd-field-group.passengers-field {
    max-width: calc(33.33% - 5.5px);
  }
  .fd-search-widget.fd-search-widget--horizontal .fd-search-fields .fd-field-group .fd-field-input {
    border-radius: 8px;
  }
  .fd-search-widget.fd-search-widget--horizontal .fd-search-fields .fd-search-btn {
    max-width: calc(33.3% - 6px);
    margin-left: auto;
  }
}
@media screen and (max-width: 555px) {
  .fd-search-widget.fd-search-widget--horizontal .fd-search-tabs {
    width: 100%;
  }
  .fd-search-widget.fd-search-widget--horizontal .fd-search-tabs .fd-search-tab {
    max-width: 50%;
    width: 100%;
  }
  .fd-search-widget.fd-search-widget--horizontal .fd-search-body {
    padding: 16px;
    border-radius: 0 0 12px 12px;
  }
  .fd-search-widget.fd-search-widget--horizontal .fd-search-fields {
    gap: 16px 8px;
  }
  .fd-search-widget.fd-search-widget--horizontal .fd-search-fields .fd-field-group.departure-field, .fd-search-widget.fd-search-widget--horizontal .fd-search-fields .fd-field-group.destination-field {
    max-width: 100%;
  }
  .fd-search-widget.fd-search-widget--horizontal .fd-search-fields .fd-field-group.date-field {
    max-width: calc(56% - 4px);
  }
  .fd-search-widget.fd-search-widget--horizontal .fd-search-fields .fd-field-group.date-field:has(+ .nights-field[style^="display: none;"]) {
    max-width: 100%;
  }
  .fd-search-widget.fd-search-widget--horizontal .fd-search-fields .fd-field-group.nights-field {
    max-width: calc(44% - 4px);
  }
  .fd-search-widget.fd-search-widget--horizontal .fd-search-fields .fd-field-group.passengers-field, .fd-search-widget.fd-search-widget--horizontal .fd-search-fields .fd-field-group.guests-field {
    max-width: 100%;
  }
  .fd-search-widget.fd-search-widget--horizontal .fd-search-fields .fd-search-btn {
    max-width: 100%;
  }
}
@media screen and (max-width: 374px) {
  .fd-search-widget .fd-search-fields .fd-field-group.date-field, .fd-search-widget .fd-search-fields .fd-field-group.nights-field {
    max-width: 100% !important;
  }
}

.fd-tooltip {
  position: fixed;
  bottom: 30px;
  left: 30px;
  background-color: #3C4678;
  color: #FFFFFF;
  padding: 8px 16px;
  border-radius: 8px;
  font-size: var(--font-14);
  z-index: 10000;
  opacity: 0;
  transform: translateY(-5px);
  transition: all 0.3s ease;
  pointer-events: none;
}
.fd-tooltip::after {
  content: "";
  position: absolute;
  bottom: -6px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 6px solid #3C4678;
}
.fd-tooltip.show {
  opacity: 1;
  transform: translateY(0);
}

body .air-datepicker-global-container {
  z-index: 1050;
}
body .air-datepicker {
  width: 318px;
  min-height: 307px;
  padding: 16px 0;
  background: #fff;
  border: 1px solid #f6f6fb;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.05) !important;
  border-radius: 12px;
  pointer-events: none;
  user-select: none;
}
body .air-datepicker.-active- {
  pointer-events: auto;
  user-select: auto;
}
@media screen and (max-width: 768px) {
  body .air-datepicker {
    touch-action: manipulation;
    user-select: none;
  }
}
body .air-datepicker--pointer {
  display: none;
}
body .air-datepicker--navigation {
  padding: 0 16px 12px;
}
body .air-datepicker .air-datepicker-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
body .air-datepicker .air-datepicker-nav--action svg path {
  stroke: #3c4678;
}
body .air-datepicker .air-datepicker-nav--action.-disabled- svg path {
  stroke: #afb1c5;
}
body .air-datepicker .air-datepicker-nav--title {
  display: flex;
  align-items: center;
  gap: 4px;
  color: #3c4678;
  font-weight: 400;
  font-size: var(--font-12);
  line-height: 18px;
}
body .air-datepicker .air-datepicker-nav--title i {
  font-style: normal;
  color: #3c4678;
}
body .air-datepicker--content {
  padding: 0 16px;
}
body .air-datepicker .air-datepicker-body--day-names {
  height: 40px;
  display: grid;
  grid-template-columns: repeat(7, 40px);
  justify-content: space-between;
  align-items: center;
}
body .air-datepicker .air-datepicker-body--day-names .air-datepicker-body--day-name {
  width: 40px;
  height: 40px;
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #afb1c5;
  font-weight: 500;
  font-size: var(--font-12);
  line-height: 18px;
  letter-spacing: 0.2px;
}
body .air-datepicker .air-datepicker-body--cells.-days- {
  display: grid;
  grid-template-columns: repeat(7, 40px);
  gap: 4px 0;
  grid-auto-rows: 40px;
  justify-content: space-between;
}
body .air-datepicker .air-datepicker-cell.-day- {
  width: 40px;
  height: 40px;
  border-radius: 9999px;
  font-weight: 500;
  font-size: var(--font-12);
  letter-spacing: 0.2px;
  color: #3c4678;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  background: transparent;
  transition: all 0.2s ease;
}
@media screen and (max-width: 768px) {
  body .air-datepicker .air-datepicker-cell.-day- {
    touch-action: manipulation;
    cursor: pointer;
    -webkit-tap-highlight-color: rgba(60, 70, 120, 0.1);
  }
}
body .air-datepicker .air-datepicker-cell.-day-.-other-month- {
  opacity: 0.5;
}
body .air-datepicker .air-datepicker-cell.-day-:not(.-disabled-):not(.-selected-) {
  color: #fff;
  background: #3c4678;
}
body .air-datepicker .air-datepicker-cell.-day-:not(.-disabled-):not(.-selected-):hover {
  color: #fff;
  background: #48bbb9;
}
body .air-datepicker .air-datepicker-cell.-day-.-current- {
  color: #3c4678;
  background: #eefaf9;
}
body .air-datepicker .air-datepicker-cell.-day-.-selected- {
  color: #fff !important;
  background: #48bbb9 !important;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fadeInText {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes smoothSpin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes shake {
  0%, 100% {
    transform: translateX(0);
  }
  10%, 30%, 50%, 70%, 90% {
    transform: translateX(-5px);
  }
  20%, 40%, 60%, 80% {
    transform: translateX(5px);
  }
}
@keyframes slideDown {
  from {
    opacity: 0;
    transform: translateY(-5px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.ip-popup {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 10000;
  background: rgba(0, 0, 0, 0);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.ip-popup.show {
  opacity: 1;
  visibility: visible;
  background: rgba(0, 0, 0, 0.6);
}
.ip-popup .popup-content {
  background: white;
  border-radius: 16px;
  padding: 32px;
  max-width: 480px;
  width: 100%;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
  transform: scale(0.9) translateY(20px);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.ip-popup.show .popup-content {
  transform: scale(1) translateY(0);
}
.ip-popup .popup-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}
.ip-popup .popup-header h3 {
  font-size: 24px;
  color: #3C4678;
  margin: 0;
}
.ip-popup .close-popup {
  background: none;
  border: none;
  font-size: 24px;
  color: #999;
  cursor: pointer;
  padding: 0;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color 0.2s ease;
}
.ip-popup .close-popup svg {
  flex-shrink: 0;
}
@media (hover: hover) {
  .ip-popup .close-popup:hover {
    color: #666;
  }
}
.ip-popup .popup-description {
  color: #646772;
  margin: 0 0 24px;
  line-height: 1.5;
}
.ip-popup .origin-options {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 24px;
}
.ip-popup .origin-radio {
  display: flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  background-color: #ffffff;
  padding: 12px;
  border: 1px solid #D8D9DC;
  border-radius: 8px;
}
.ip-popup .origin-radio input {
  position: relative;
  appearance: none;
  margin: 0 0 0 auto;
  width: 24px;
  height: 24px;
  border: 1px solid #D8D9DC;
  background-color: #FFFFFF;
}
.ip-popup .origin-radio input, .ip-popup .origin-radio input::before {
  flex-shrink: 0;
  transition: all 0.3s ease-in-out;
  border-radius: 50%;
}
.ip-popup .origin-radio input::before {
  content: "";
  position: absolute;
  transform: translate(-50%, -50%) scale(0);
  background-color: #48BBB9;
  opacity: 0;
  left: 50%;
  top: 50%;
  width: 12px;
  height: 12px;
}
.ip-popup .origin-radio input:checked {
  border-color: #48BBB9;
}
.ip-popup .origin-radio input:checked::before {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}
.ip-popup .origin-radio img {
  width: 24px;
  height: 24px;
  object-fit: contain;
  flex-shrink: 0;
}
.ip-popup .origin-radio span {
  font-size: var(--font-16);
  font-weight: 500;
  color: #111214;
}
@media (hover: hover) {
  .ip-popup .origin-radio:hover {
    background-color: #EEFAF9;
    border-color: #48BBB9;
  }
}
.ip-popup .origin-radio.selected {
  background-color: #EEFAF9;
  border-color: #48BBB9;
}
.ip-popup .popup-note {
  display: flex;
  gap: 8px;
  font-weight: 400;
  font-size: var(--font-14);
  line-height: 24px;
  color: #646772;
  margin-bottom: 20px;
}
.ip-popup .popup-note svg {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  margin-top: 4px;
}
.ip-popup .confirm-selection {
  width: 100%;
  padding: 14px;
  background: #3C4678;
  color: white;
  border: none;
  border-radius: 8px;
  font-size: var(--font-16);
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
@media (hover: hover) {
  .ip-popup .confirm-selection:hover {
    background: #2f3a63;
  }
}

.destinations-section .origin-group.hidden {
  display: none !important;
}
.destinations-section .origin-group.active {
  display: block;
}
.destinations-section .destinations-header {
  padding: 82px 0 43px;
  background-image: url("data:image/svg+xml,%3Csvg width='1440' height='280' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 .367889h1440V241L0 279.5V.367889Z' fill='%23FAF9F7'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: cover;
}
@media screen and (max-width: 991px) {
  .destinations-section .destinations-header {
    padding: 48px 0;
  }
}
.destinations-section .destinations-header .destinations-title {
  font-family: var(--ff-head);
  font-style: italic;
  font-weight: 600;
  font-size: 64px;
  line-height: 74px;
  letter-spacing: -2px;
  color: #3C4678;
  margin: 0 0 20px;
}
@media screen and (max-width: 991px) {
  .destinations-section .destinations-header .destinations-title {
    font-size: 40px;
    line-height: 50px;
    letter-spacing: -2px;
  }
}
.destinations-section .destinations-header .destinations-subtitle {
  font-weight: 400;
  font-size: 18px;
  line-height: 30px;
  letter-spacing: -0.5px;
  color: #3D414F;
  margin: 0;
}
.destinations-section .destinations-grid {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 64px 0 40px;
}
@media screen and (max-width: 991px) {
  .destinations-section .destinations-grid {
    padding: 21px 0 12px;
  }
}
.destinations-section .destinations-row {
  display: grid;
  gap: 24px;
  align-items: stretch;
}
@media screen and (max-width: 767px) {
  .destinations-section .destinations-row {
    display: flex;
    flex-direction: column;
  }
}
.destinations-section .destinations-row.two-cards {
  grid-template-columns: 1fr 1fr;
}
@media screen and (max-width: 1024px) {
  .destinations-section .destinations-row.two-cards {
    grid-template-columns: 1fr;
  }
}
.destinations-section .destinations-row.three-cards {
  grid-template-columns: repeat(3, 1fr);
}
@media screen and (max-width: 1024px) {
  .destinations-section .destinations-row.three-cards {
    grid-template-columns: 1fr 1fr;
  }
  .destinations-section .destinations-row.three-cards .destination-card:last-child {
    grid-column: 1/-1;
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
  }
}
@media screen and (max-width: 767px) {
  .destinations-section .destinations-row.three-cards {
    grid-template-columns: 1fr;
  }
  .destinations-section .destinations-row.three-cards .destination-card:last-child {
    max-width: none;
    margin: 0;
  }
}
.destinations-section .destinations-row.four-cards {
  grid-template-columns: repeat(4, 1fr);
}
@media screen and (max-width: 1024px) {
  .destinations-section .destinations-row.four-cards {
    grid-template-columns: 1fr 1fr;
  }
}
@media screen and (max-width: 767px) {
  .destinations-section .destinations-row.four-cards {
    grid-template-columns: 1fr;
  }
}
.destinations-section .destinations-row.single-card {
  justify-content: flex-start;
  grid-template-columns: 1fr;
  max-width: none;
  margin: 0;
}
.destinations-section .destinations-row.single-card .destination-card {
  max-width: 50%;
}
@media screen and (max-width: 768px) {
  .destinations-section .destinations-row.single-card .destination-card {
    max-width: 100%;
  }
}
.destinations-section .destinations-row.mixed-layout {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 24px;
}
@media screen and (max-width: 1024px) {
  .destinations-section .destinations-row.mixed-layout {
    grid-template-columns: 1fr;
  }
}
.destinations-section .destinations-row.mixed-layout .destination-card.featured {
  grid-row: 1/3;
}
.destinations-section .destinations-row.mixed-layout .destination-card.small {
  min-height: 240px;
}
.destinations-section .destination-card {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  padding: 24px 24px 32px;
  min-height: 480px;
  border-radius: 16px;
  overflow: hidden;
  transition: all 0.3s ease;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .destinations-section .destination-card {
    min-height: 441px;
    padding: 24px;
  }
}
.destinations-section .destination-card:hover {
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
}
.destinations-section .destination-card:hover .destination-image img {
  transform: scale(1.05);
}
.destinations-section .destination-card:hover .destination-name .destination-arrow {
  opacity: 1 !important;
  transform: translateX(0) !important;
}
.destinations-section .destination-card.featured {
  min-height: 600px;
}
@media screen and (max-width: 768px) {
  .destinations-section .destination-card.featured {
    min-height: 400px;
  }
}
.destinations-section .destination-card.small {
  min-height: 240px;
}
@media screen and (max-width: 768px) {
  .destinations-section .destination-card.small {
    min-height: 280px;
  }
}
.destinations-section .destination-card.focused {
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
}
.destinations-section .destination-card.placeholder {
  visibility: hidden;
  pointer-events: none;
}
.destinations-section .destination-card .destination-link {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  padding: 32px;
  text-decoration: none;
  color: inherit;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  .destinations-section .destination-card .destination-link {
    padding: 24px;
  }
}
@media screen and (max-width: 480px) {
  .destinations-section .destination-card .destination-link {
    padding: 20px;
  }
}
.destinations-section .destination-card .destination-image {
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: 16px;
  overflow: hidden;
}
.destinations-section .destination-card .destination-image::before {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.5) 100%);
}
.destinations-section .destination-card .destination-image img {
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: auto !important;
  object-fit: cover;
  transition: opacity 0.4s, transform 0.6s ease;
  transform: scale(1.01);
  will-change: transform;
}
.destinations-section .destination-card .destination-image img.loaded {
  opacity: 1;
}
.destinations-section .destination-card .destination-image img.error {
  opacity: 0.5;
}
.destinations-section .destination-card .destination-period {
  position: absolute;
  top: 24px;
  left: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 14px;
  background: linear-gradient(82.87deg, #EA4E51 0%, #F1A75A 94.44%);
  border-radius: 999px;
  font-family: "Futura", sans-serif;
  font-weight: 700;
  font-size: var(--font-12);
  line-height: 1.4;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: #FFFFFF;
  z-index: 3;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .destinations-section .destination-card .destination-period {
    top: 20px;
    left: 20px;
    padding: 4px 12px;
    font-size: 11px;
  }
}
.destinations-section .destination-card .destination-content {
  position: relative;
  z-index: 10;
  width: 100%;
}
.destinations-section .destination-card .destination-content .destination-name {
  font-weight: 700;
  font-size: 40px;
  line-height: 52px;
  color: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  margin: 0 0 10px;
}
@media screen and (max-width: 991px) {
  .destinations-section .destination-card .destination-content .destination-name {
    font-size: 32px;
    line-height: 42px;
  }
}
.destinations-section .destination-card .destination-content .destination-name .destination-arrow {
  width: 32px;
  height: 32px;
  opacity: 0;
  transform: translateX(-10px);
  transition: all 0.3s ease;
  flex-shrink: 0;
}
.destinations-section .destination-card .destination-content .destination-name .destination-arrow svg {
  width: 100%;
  height: 100%;
}
.destinations-section .destination-card .destination-content .destination-description {
  font-weight: 400;
  font-size: var(--font-16);
  line-height: 26px;
  color: #FFFFFF;
}
.destinations-section .no-destinations,
.destinations-section .destinations-error {
  text-align: center;
  padding: 80px 20px;
  color: #646772;
  font-size: 18px;
}
@media screen and (max-width: 768px) {
  .destinations-section .no-destinations,
  .destinations-section .destinations-error {
    padding: 60px 20px;
    font-size: var(--font-16);
  }
}
.destinations-section .no-destinations .error-icon,
.destinations-section .destinations-error .error-icon {
  margin-bottom: 16px;
  color: #EA4E51;
}
.destinations-section .no-destinations .retry-btn,
.destinations-section .destinations-error .retry-btn {
  margin-top: 16px;
  padding: 12px 24px;
  background: #48BBB9;
  color: white;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  font-size: var(--font-14);
  font-weight: 600;
  transition: background 0.2s ease;
}
.destinations-section .no-destinations .retry-btn:hover,
.destinations-section .destinations-error .retry-btn:hover {
  background: #3A9B99;
}
.destinations-section .destinations-grid.loading .destination-card:not(.skeleton) {
  display: none;
}
.destinations-section .destination-card.skeleton {
  pointer-events: none;
  background: #f5f5f5;
}
.destinations-section .destination-card.skeleton .skeleton-bg {
  background: #f0f0f0;
  position: relative;
  overflow: hidden;
  border-radius: 4px;
}
.destinations-section .destination-card.skeleton .skeleton-shimmer {
  position: absolute;
  top: 0;
  left: -100%;
  height: 100%;
  width: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.6), transparent);
  animation: shimmerDestination 1.5s infinite;
}
.destinations-section .destination-card.skeleton .destination-image {
  background: #e0e0e0;
}
.destinations-section .destination-card.skeleton .skeleton-title {
  height: 24px;
  width: 70%;
  margin-bottom: 12px;
}
@media screen and (max-width: 768px) {
  .destinations-section .destination-card.skeleton .skeleton-title {
    height: 20px;
    width: 80%;
  }
}
.destinations-section .destination-card.skeleton .skeleton-text {
  height: 16px;
  margin-bottom: 8px;
  border-radius: 4px;
}
@media screen and (max-width: 768px) {
  .destinations-section .destination-card.skeleton .skeleton-text {
    height: 14px;
  }
}
.destinations-section .destination-card.skeleton .skeleton-text.short {
  width: 60%;
}
.destinations-section .destination-card.skeleton .skeleton-text.medium {
  width: 85%;
}
@keyframes shimmerDestination {
  0% {
    left: -100%;
  }
  100% {
    left: 100%;
  }
}
.destinations-section + .acf-block--newsletter {
  padding: 40px 0;
}
.destinations-section .origin-group {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.destinations-section .origin-group.hidden {
  display: none !important;
}
.destinations-section .origin-group.active {
  display: flex;
}

.destination-page .destination-hero {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  padding: 40px 0;
  width: 100%;
  height: 422px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (max-width: 991px) {
  .destination-page .destination-hero {
    height: 380px;
  }
}
@media screen and (max-width: 555px) {
  .destination-page .destination-hero {
    height: 265px;
    padding: 16px 0 32px;
  }
}
.destination-page .destination-hero__content {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.destination-page .destination-hero .destination-breadcrumbs .breadcrumbs-wrapper {
  display: flex;
  justify-content: center;
  width: 100%;
  margin: 0 auto;
}
.destination-page .destination-hero .destination-breadcrumbs .breadcrumb-link {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 0;
  gap: 8px;
  height: 24px;
  text-decoration: none;
  color: #FFFFFF;
  font-style: normal;
  font-weight: 400;
  font-size: var(--font-14);
  line-height: 24px;
  text-align: center;
  transition: opacity 0.2s ease;
}
.destination-page .destination-hero .destination-breadcrumbs .breadcrumb-link:hover {
  opacity: 0.8;
}
.destination-page .destination-hero .destination-breadcrumbs .breadcrumb-link svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}
@media screen and (max-width: 991px) {
  .destination-page .destination-hero .destination-breadcrumbs .breadcrumb-link {
    font-size: var(--font-12);
    line-height: 18px;
  }
}
.destination-page .destination-hero__main {
  margin-top: auto;
}
.destination-page .destination-hero__title {
  font-family: var(--ff-head);
  font-style: italic;
  font-weight: 600;
  font-size: 64px;
  line-height: 74px;
  letter-spacing: -2px;
  color: #FFFFFF;
  text-shadow: -4px -4px 20px rgba(0, 0, 0, 0.4), 4px 4px 20px rgba(0, 0, 0, 0.4);
  margin: 0;
}
@media screen and (max-width: 1024px) {
  .destination-page .destination-hero__title {
    font-size: 48px;
    line-height: 56px;
  }
}
@media screen and (max-width: 768px) {
  .destination-page .destination-hero__title {
    font-size: 36px;
    line-height: 42px;
    letter-spacing: -1px;
  }
}
@media screen and (max-width: 480px) {
  .destination-page .destination-hero__title {
    font-size: 28px;
    line-height: 32px;
  }
}
.destination-page .destination-hero__image-credit {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 4px 12px;
  gap: 10px;
  position: absolute;
  width: auto;
  min-width: 171px;
  height: 32px;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 3;
}
.destination-page .destination-hero__image-credit span {
  font-style: normal;
  font-weight: 400;
  font-size: var(--font-14);
  line-height: 24px;
  color: #FFFFFF;
  white-space: nowrap;
}
.destination-page .destination-hero .container {
  width: 100%;
  height: 100%;
}
.destination-page .destination-content {
  position: relative;
  z-index: 10;
}
.destination-page .destination-layout {
  display: grid;
  grid-template-columns: 760px 424px;
  gap: 48px;
  margin-top: 48px;
}
@media screen and (max-width: 1280px) {
  .destination-page .destination-layout {
    grid-template-columns: 1fr 424px;
    gap: 32px;
  }
}
@media screen and (max-width: 1024px) {
  .destination-page .destination-layout {
    display: flex;
    flex-direction: column;
    gap: 32px;
  }
}
@media screen and (max-width: 767px) {
  .destination-page .destination-layout {
    gap: 16px;
  }
}
.destination-page .destination-main {
  min-width: 0;
}
.destination-page .destination-tabs-nav {
  margin-bottom: 24px;
}
.destination-page .destination-tabs-nav .tabs-nav-wrapper {
  display: inline-flex;
  overflow-x: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
  width: 100%;
  scroll-behavior: smooth;
}
.destination-page .destination-tabs-nav .tabs-nav-wrapper::-webkit-scrollbar {
  display: none;
}
.destination-page .destination-tabs-nav .tab-nav-btn {
  padding: 11px 20px;
  display: flex;
  align-items: center;
  gap: 8px;
  border: none;
  border-bottom: 2px solid #B1B3B9;
  transition: all 0.2s ease;
  white-space: nowrap;
  background-color: transparent;
  color: #646772;
  font-size: 18px;
  line-height: 30px;
  letter-spacing: -0.5px;
}
@media (hover: hover) {
  .destination-page .destination-tabs-nav .tab-nav-btn {
    cursor: pointer;
  }
  .destination-page .destination-tabs-nav .tab-nav-btn:hover {
    color: #3C4678;
    background-color: rgba(60, 70, 120, 0.05);
  }
}
.destination-page .destination-tabs-nav .tab-nav-btn .tab-icon {
  position: relative;
  display: flex;
  align-items: center;
  width: 20px;
  height: 20px;
}
.destination-page .destination-tabs-nav .tab-nav-btn .tab-icon svg {
  width: 100%;
  height: 100%;
}
.destination-page .destination-tabs-nav .tab-nav-btn .tab-icon svg.when-active {
  position: absolute;
  inset: 0;
  opacity: 0;
}
.destination-page .destination-tabs-nav .tab-nav-btn.active {
  color: #3C4678;
  border-color: #48BBB9;
}
.destination-page .destination-tabs-nav .tab-nav-btn.active .tab-icon svg {
  transition: all 0.2s ease;
  opacity: 0;
}
.destination-page .destination-tabs-nav .tab-nav-btn.active .tab-icon svg.when-active {
  opacity: 1;
}
.destination-page .destination-tabs-content .tab-content {
  display: none;
}
.destination-page .destination-tabs-content .tab-content:first-child {
  display: block;
}
.destination-page .section-header h2, .destination-page .section-header h3 {
  font-weight: 700;
  font-size: 40px;
  line-height: 52px;
  color: #3C4678;
  margin: 0 0 16px;
}
@media screen and (max-width: 991px) {
  .destination-page .section-header h2, .destination-page .section-header h3 {
    font-size: 28px;
    line-height: 38px;
  }
}
.destination-page .tab-overview .overview-about {
  margin-bottom: 32px;
}
.destination-page .tab-overview .overview-about .about-content {
  font-weight: 400;
  font-size: var(--font-16);
  line-height: 26px;
  color: #3D414F;
}
.destination-page .tab-overview .overview-about .about-content p {
  margin: 0 0 16px;
}
.destination-page .tab-overview .overview-about .about-content p:last-child {
  margin: 0;
}
.destination-page .tab-overview .overview-about .about-content .read-more-link,
.destination-page .tab-overview .overview-about .about-content .read-less-link {
  color: #3C4678;
  font-weight: 600;
  text-decoration: none;
}
@media (hover: hover) {
  .destination-page .tab-overview .overview-about .about-content .read-more-link,
  .destination-page .tab-overview .overview-about .about-content .read-less-link {
    cursor: pointer;
  }
  .destination-page .tab-overview .overview-about .about-content .read-more-link:hover,
  .destination-page .tab-overview .overview-about .about-content .read-less-link:hover {
    text-decoration: underline;
  }
}
.destination-page .tab-overview .overview-tips {
  margin-bottom: 32px;
}
.destination-page .tab-overview .overview-tips .tips-grid {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0;
  gap: 8px;
}
.destination-page .tab-overview .overview-tips .tip-card {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 4px 0;
  gap: 12px;
  border-radius: 8px;
  flex: none;
  align-self: stretch;
}
.destination-page .tab-overview .overview-tips .tip-card:hover {
  transform: none;
}
.destination-page .tab-overview .overview-tips .tip-icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.destination-page .tab-overview .overview-tips .tip-icon svg {
  width: 40px;
  height: 40px;
}
.destination-page .tab-overview .overview-tips .tip-content {
  flex: 1;
}
.destination-page .tab-overview .overview-tips .tip-content p {
  margin: 0;
  font-weight: 400;
  font-size: var(--font-16);
  line-height: 26px;
  color: #111214;
}
.destination-page .tab-overview .overview-reviews {
  margin-bottom: 24px;
}
.destination-page .tab-overview .overview-reviews .reviews-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 24px;
}
@media screen and (max-width: 768px) {
  .destination-page .tab-overview .overview-reviews .reviews-header {
    flex-direction: column;
    gap: 16px;
  }
}
.destination-page .tab-overview .overview-reviews .reviews-header h2 {
  margin: 0;
}
.destination-page .tab-overview .overview-reviews .feefo-header {
  display: flex;
  align-items: center;
}
.destination-page .tab-overview .overview-reviews .feefo-header > svg {
  display: inline-flex;
  height: 24px;
  width: 100px;
}
.destination-page .tab-overview .overview-reviews .feefo-header .feefo-rating {
  display: flex;
  align-items: center;
  gap: 5px;
  margin: 0 16px 0 22px;
}
@media screen and (max-width: 600px) {
  .destination-page .tab-overview .overview-reviews .feefo-header .feefo-rating {
    margin: 0 12px;
    gap: 1px;
  }
}
@media screen and (max-width: 470px) {
  .destination-page .tab-overview .overview-reviews .feefo-header .feefo-rating {
    margin: 0 6px;
  }
}
.destination-page .tab-overview .overview-reviews .feefo-header .feefo-rating .star {
  width: 32px;
  height: 32px;
  flex-shrink: 0;
}
@media screen and (max-width: 600px) {
  .destination-page .tab-overview .overview-reviews .feefo-header .feefo-rating .star {
    width: 28px;
    height: 28px;
  }
}
@media screen and (max-width: 470px) {
  .destination-page .tab-overview .overview-reviews .feefo-header .feefo-rating .star {
    width: 24px;
    height: 24px;
  }
}
.destination-page .tab-overview .overview-reviews .feefo-header .rating-text {
  letter-spacing: 1px;
  font-weight: 700;
  font-size: var(--font-16);
  line-height: 1.2;
  color: #292F36;
  text-transform: uppercase;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.destination-page .tab-overview .overview-reviews .feefo-header .rating-text .rating-number {
  font-size: var(--font-14);
  color: #6F7782;
  font-weight: 600;
  letter-spacing: -0.5px;
}
@media screen and (max-width: 600px) {
  .destination-page .tab-overview .overview-reviews .feefo-header .rating-text {
    font-size: var(--font-14);
    letter-spacing: 0.5px;
  }
  .destination-page .tab-overview .overview-reviews .feefo-header .rating-text .rating-number {
    font-size: var(--font-12);
  }
}
@media screen and (max-width: 470px) {
  .destination-page .tab-overview .overview-reviews .feefo-header .rating-text {
    margin-left: 4px;
  }
}
.destination-page .tab-overview .overview-reviews .reviews-carousel .carousel-wrapper {
  position: relative;
}
.destination-page .tab-overview .overview-reviews .reviews-carousel .carousel-wrapper .overview-reviews-swiper {
  margin: 0 -15px;
  padding: 0 15px 48px;
}
@media screen and (max-width: 600px) {
  .destination-page .tab-overview .overview-reviews .reviews-carousel .carousel-wrapper .overview-reviews-swiper {
    padding: 0 15px 15px;
  }
}
.destination-page .tab-overview .overview-reviews .reviews-carousel .swiper-slide {
  display: flex;
  height: auto;
}
.destination-page .tab-overview .overview-reviews .reviews-carousel .review-card {
  background: #FFFFFF;
  border-radius: 20px;
  padding: 32px;
  height: auto;
  display: flex;
  flex-direction: column;
  gap: 16px;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.07), 0px 0px 6px rgba(0, 0, 0, 0.07);
  transition: box-shadow 0.3s ease;
}
.destination-page .tab-overview .overview-reviews .reviews-carousel .review-card, .destination-page .tab-overview .overview-reviews .reviews-carousel .review-card * {
  user-select: none;
}
@media (hover: hover) {
  .destination-page .tab-overview .overview-reviews .reviews-carousel .review-card:hover {
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0px 10px 10px -5px rgba(0, 0, 0, 0.04);
  }
}
@media screen and (max-width: 600px) {
  .destination-page .tab-overview .overview-reviews .reviews-carousel .review-card {
    padding: 16px;
    box-sizing: border-box;
    height: 100%;
  }
}
.destination-page .tab-overview .overview-reviews .reviews-carousel .review-rating {
  display: flex;
  align-items: center;
  gap: 3px;
}
.destination-page .tab-overview .overview-reviews .reviews-carousel .review-rating .star {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}
@media screen and (max-width: 600px) {
  .destination-page .tab-overview .overview-reviews .reviews-carousel .review-rating .star {
    width: 28px;
    height: 28px;
  }
}
.destination-page .tab-overview .overview-reviews .reviews-carousel .review-text {
  font-weight: 400;
  font-size: var(--font-16);
  line-height: 26px;
  color: #3C4678;
}
.destination-page .tab-overview .overview-reviews .reviews-carousel .review-text p {
  margin: 0;
}
.destination-page .tab-overview .overview-reviews .reviews-carousel .review-author {
  margin-top: auto;
}
.destination-page .tab-overview .overview-reviews .reviews-carousel .review-author .author-name {
  font-weight: 400;
  font-size: 18px;
  line-height: 30px;
  letter-spacing: -0.5px;
  color: #3D414F;
  margin-bottom: 2px;
}
@media screen and (max-width: 600px) {
  .destination-page .tab-overview .overview-reviews .reviews-carousel .review-author .author-name {
    font-weight: 400;
    font-size: var(--font-16);
    line-height: 26px;
    margin: 0;
  }
}
.destination-page .tab-overview .overview-reviews .reviews-carousel .review-author .author-route {
  font-weight: 400;
  font-size: var(--font-16);
  line-height: 22px;
  color: #475569;
}
@media screen and (max-width: 600px) {
  .destination-page .tab-overview .overview-reviews .reviews-carousel .review-author .author-route {
    font-size: var(--font-14);
    line-height: 24px;
  }
}
.destination-page .tab-overview .overview-reviews .carousel-navigation {
  position: absolute;
  z-index: 2;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: space-between;
  left: -21px;
  right: -21px;
  pointer-events: none;
}
@media screen and (max-width: 600px) {
  .destination-page .tab-overview .overview-reviews .carousel-navigation {
    position: static;
    transform: none;
  }
}
.destination-page .tab-overview .overview-reviews .carousel-navigation .carousel-btn {
  pointer-events: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  background-color: #FFFFFF;
  border: 1px solid #ECECED;
  border-radius: 50%;
  box-shadow: -4px 4px 12px rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease;
  scale: 1;
  opacity: 1;
}
.destination-page .tab-overview .overview-reviews .carousel-navigation .carousel-btn * {
  pointer-events: none;
}
.destination-page .tab-overview .overview-reviews .carousel-navigation .carousel-btn svg {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}
@media (hover: hover) {
  .destination-page .tab-overview .overview-reviews .carousel-navigation .carousel-btn {
    cursor: pointer;
  }
  .destination-page .tab-overview .overview-reviews .carousel-navigation .carousel-btn:hover {
    background-color: #ECECED;
    box-shadow: -6px 6px 16px rgba(0, 0, 0, 0.12);
  }
}
.destination-page .tab-overview .overview-reviews .carousel-navigation .carousel-btn:active {
  background-color: #ECECED;
}
.destination-page .tab-overview .overview-reviews .carousel-navigation .carousel-btn.swiper-button-disabled {
  opacity: 0.5;
  user-select: none;
  pointer-events: none;
}
.destination-page .tab-overview .overview-scenes .scenes-slider {
  position: relative;
}
.destination-page .tab-overview .overview-scenes .scenes-slider .scenes-swiper {
  margin-bottom: 6px;
  height: 406px;
  border-radius: 16px;
  overflow: hidden;
}
@media screen and (max-width: 600px) {
  .destination-page .tab-overview .overview-scenes .scenes-slider .scenes-swiper {
    height: 231px;
  }
}
.destination-page .tab-overview .overview-scenes .scenes-slider .scenes-swiper .scene-card {
  height: 100%;
  background: white;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}
.destination-page .tab-overview .overview-scenes .scenes-slider .scenes-swiper .scene-image {
  height: 100%;
  overflow: hidden;
}
.destination-page .tab-overview .overview-scenes .scenes-slider .scenes-swiper .scene-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.destination-page .tab-overview .overview-scenes .scenes-slider .scenes-swiper .scene-description {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 8px 16px;
  background: rgba(0, 0, 0, 0.4);
  border-radius: 0 0 16px 16px;
}
.destination-page .tab-overview .overview-scenes .scenes-slider .scenes-swiper .scene-description, .destination-page .tab-overview .overview-scenes .scenes-slider .scenes-swiper .scene-description p {
  font-weight: 400;
  font-size: var(--font-14);
  line-height: 24px;
  color: #FFFFFF;
}
.destination-page .tab-overview .overview-scenes .scenes-slider .scenes-swiper .scene-description p {
  margin: 0;
}
.destination-page .tab-overview .overview-scenes .scenes-slider .scenes-swiper .swiper-button-prev,
.destination-page .tab-overview .overview-scenes .scenes-slider .scenes-swiper .swiper-button-next {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 0;
  gap: 10px;
  position: absolute;
  width: 40px;
  height: 40px;
  top: calc(50% - 20px);
  background: rgba(0, 0, 0, 0.5);
  border-radius: 999px;
  z-index: 2;
  margin-top: 0;
}
.destination-page .tab-overview .overview-scenes .scenes-slider .scenes-swiper .swiper-button-prev:after,
.destination-page .tab-overview .overview-scenes .scenes-slider .scenes-swiper .swiper-button-next:after {
  display: none;
}
.destination-page .tab-overview .overview-scenes .scenes-slider .scenes-swiper .swiper-button-prev svg,
.destination-page .tab-overview .overview-scenes .scenes-slider .scenes-swiper .swiper-button-next svg {
  width: 28px;
  height: 28px;
  flex: none;
  order: 0;
  flex-grow: 0;
}
.destination-page .tab-overview .overview-scenes .scenes-slider .scenes-swiper .swiper-button-prev {
  left: 13px;
}
.destination-page .tab-overview .overview-scenes .scenes-slider .scenes-swiper .swiper-button-next {
  right: 13px;
  transform: rotate(-180deg);
}
.destination-page .tab-overview .overview-scenes .scenes-slider .scenes-thumbs-swiper .swiper-slide {
  height: 96px;
  border: 2px solid transparent;
  transition: all 0.3s ease-in-out;
  border-radius: 8px;
  overflow: hidden;
  cursor: pointer;
}
@media screen and (max-width: 600px) {
  .destination-page .tab-overview .overview-scenes .scenes-slider .scenes-thumbs-swiper .swiper-slide {
    height: 54px;
  }
}
.destination-page .tab-overview .overview-scenes .scenes-slider .scenes-thumbs-swiper .swiper-slide.swiper-slide-thumb-active {
  border: 2px solid #3C4678;
}
.destination-page .tab-overview .overview-scenes .scenes-slider .scenes-thumbs-swiper .scene-thumb {
  display: flex;
  height: 100%;
  width: 100%;
}
.destination-page .tab-overview .overview-scenes .scenes-slider .scenes-thumbs-swiper .scene-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.destination-page .tab-overview.reviews-static .reviews-carousel .carousel-navigation {
  display: none;
}
.destination-page .tab-overview.reviews-static .reviews-carousel .overview-reviews-swiper {
  cursor: default;
}
.destination-page .tab-flights .flights-header {
  margin-bottom: 24px;
}
.destination-page .tab-flights .flights-header .flights-description p {
  margin: 0;
  font-weight: 400;
  font-size: var(--font-16);
  line-height: 26px;
  color: #333333;
}
.destination-page .tab-flights .flights-header .flights-description p:not(:last-child) {
  margin-bottom: 12px;
}
.destination-page .tab-flights .flights-schedule-wrapper {
  margin-bottom: 40px;
}
.destination-page .tab-flights .flights-schedule-wrapper .flights-tabs {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  padding: 0;
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .destination-page .tab-flights .flights-schedule-wrapper .flights-tabs {
    margin-bottom: 24px;
  }
}
@media screen and (max-width: 767px) {
  .destination-page .tab-flights .flights-schedule-wrapper .flights-tabs {
    display: none;
  }
}
.destination-page .tab-flights .flights-schedule-wrapper .flights-dropdown {
  display: none;
  position: relative;
}
@media screen and (max-width: 767px) {
  .destination-page .tab-flights .flights-schedule-wrapper .flights-dropdown {
    display: inline-block;
    margin-bottom: 24px;
  }
}
.destination-page .tab-flights .flights-schedule-wrapper .flights-dropdown .flights-dropdown-trigger {
  box-sizing: border-box;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  padding: 8px 16px;
  gap: 10px;
  height: 42px;
  background: #FFFFFF;
  border: 1px solid #D8D9DC;
  border-radius: 8px;
  font-weight: 400;
  font-size: var(--font-16);
  line-height: 26px;
  color: #111214;
  cursor: pointer;
  transition: all 0.2s ease;
}
.destination-page .tab-flights .flights-schedule-wrapper .flights-dropdown .flights-dropdown-trigger .flights-tab-content {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 0;
  gap: 12px;
  height: 26px;
}
.destination-page .tab-flights .flights-schedule-wrapper .flights-dropdown .flights-dropdown-trigger .flights-tab-icon {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 0;
  gap: 6px;
  width: auto;
  height: 26px;
}
.destination-page .tab-flights .flights-schedule-wrapper .flights-dropdown .flights-dropdown-trigger .flights-tab-icon svg {
  width: 20px;
  height: 20px;
  flex: none;
  order: 0;
  flex-grow: 0;
}
.destination-page .tab-flights .flights-schedule-wrapper .flights-dropdown .flights-dropdown-trigger .dropdown-arrow {
  width: 20px;
  height: 20px;
  flex: none;
  order: 1;
  flex-grow: 0;
  transition: transform 0.2s ease;
}
.destination-page .tab-flights .flights-schedule-wrapper .flights-dropdown .flights-dropdown-trigger:hover {
  background: #F9FAFB;
}
.destination-page .tab-flights .flights-schedule-wrapper .flights-dropdown .flights-dropdown-options {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: #FFFFFF;
  border: 1px solid #D8D9DC;
  border-top: none;
  border-radius: 0 0 8px 8px;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
  z-index: 100;
  max-height: 200px;
  overflow-y: auto;
}
.destination-page .tab-flights .flights-schedule-wrapper .flights-dropdown .flights-dropdown-option {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 8px 16px;
  width: 100%;
  background: #FFFFFF;
  font-weight: 400;
  font-size: var(--font-16);
  line-height: 26px;
  color: #111214;
  cursor: pointer;
  transition: all 0.2s ease;
  border-bottom: 1px solid #F3F4F6;
}
.destination-page .tab-flights .flights-schedule-wrapper .flights-dropdown .flights-dropdown-option:last-child {
  border-bottom: none;
}
.destination-page .tab-flights .flights-schedule-wrapper .flights-dropdown .flights-dropdown-option:hover {
  background: #F9FAFB;
}
.destination-page .tab-flights .flights-schedule-wrapper .flights-dropdown.open .flights-dropdown-trigger {
  border-radius: 8px 8px 0 0;
  border-bottom-color: transparent;
}
.destination-page .tab-flights .flights-schedule-wrapper .flights-dropdown.open .flights-dropdown-trigger .dropdown-arrow {
  transform: rotate(180deg);
}
.destination-page .tab-flights .flights-schedule-wrapper .flights-dropdown.open .flights-dropdown-options {
  display: block;
}
.destination-page .tab-flights .flights-schedule-wrapper .flights-tab {
  display: flex;
  align-items: center;
  padding: 11px 20px;
  gap: 8px;
  height: 52px;
  background: transparent;
  border: none;
  border-radius: 0;
  font-weight: 400;
  font-size: 18px;
  line-height: 30px;
  letter-spacing: -0.5px;
  color: #646772;
  cursor: pointer;
  transition: all 0.2s ease;
}
.destination-page .tab-flights .flights-schedule-wrapper .flights-tab:hover {
  color: #3C4678;
}
.destination-page .tab-flights .flights-schedule-wrapper .flights-tab.active {
  background: #EEE9E6;
  color: #3C4678;
}
.destination-page .tab-flights .flights-schedule-wrapper .flights-tab:first-child {
  border-radius: 12px 0 0 0;
}
.destination-page .tab-flights .flights-schedule-wrapper .flights-tab:not(.active) {
  border-radius: 0;
}
@media screen and (max-width: 767px) {
  .destination-page .tab-flights .flights-schedule-wrapper .flights-tab {
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    padding: 8px 16px;
    gap: 10px;
    width: 100%;
    height: 42px;
    background: #FFFFFF;
    border: 1px solid #D8D9DC;
    border-radius: 8px;
    font-weight: 400;
    font-size: var(--font-16);
    line-height: 26px;
    color: #111214;
    margin-bottom: 0;
    cursor: pointer;
  }
  .destination-page .tab-flights .flights-schedule-wrapper .flights-tab:not(.active) {
    display: none;
  }
  .destination-page .tab-flights .flights-schedule-wrapper .flights-tab:not(.active):hover {
    background: #F9FAFB;
  }
  .destination-page .tab-flights .flights-schedule-wrapper .flights-tab.active {
    position: relative;
    background: #FFFFFF;
    color: #111214;
    border-radius: 8px;
    z-index: 10;
    justify-content: space-between;
  }
  .destination-page .tab-flights .flights-schedule-wrapper .flights-tab.active .flights-tab-content {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 0;
    gap: 12px;
    flex: 1;
    height: 26px;
  }
  .destination-page .tab-flights .flights-schedule-wrapper .flights-tab.active .flights-tab-icon {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 0;
    gap: 6px;
    width: auto;
    height: 26px;
  }
  .destination-page .tab-flights .flights-schedule-wrapper .flights-tab.active .flights-tab-icon svg {
    width: 20px;
    height: 20px;
    flex: none;
    order: 0;
    flex-grow: 0;
  }
  .destination-page .tab-flights .flights-schedule-wrapper .flights-tab.active .flights-tab-text {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 0;
    gap: 4px;
    height: 26px;
    flex: 1;
  }
  .destination-page .tab-flights .flights-schedule-wrapper .flights-tab.active::after {
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.24408 7.41074C5.56951 7.08531 6.09715 7.08531 6.42259 7.41074L10 10.9882L13.5774 7.41074C13.9028 7.08531 14.4305 7.08531 14.7559 7.41074C15.0814 7.73618 15.0814 8.26382 14.7559 8.58926L10.5893 12.7559C10.2638 13.0814 9.73618 13.0814 9.41074 12.7559L5.24408 8.58926C4.91864 8.26382 4.91864 7.73618 5.24408 7.41074Z' fill='%23B1B3B9'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    flex: none;
    order: 1;
    flex-grow: 0;
    transition: transform 0.2s ease;
  }
  .destination-page .tab-flights .flights-schedule-wrapper .flights-tab .flights-tab-content {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 0;
    gap: 12px;
    flex: 1;
    height: 26px;
  }
  .destination-page .tab-flights .flights-schedule-wrapper .flights-tab .flights-tab-content .flights-tab-icon {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 0;
    gap: 6px;
    width: auto;
    height: 26px;
  }
  .destination-page .tab-flights .flights-schedule-wrapper .flights-tab .flights-tab-content .flights-tab-icon svg {
    width: 20px;
    height: 20px;
    flex: none;
    order: 0;
    flex-grow: 0;
  }
  .destination-page .tab-flights .flights-schedule-wrapper .flights-tab .flights-tab-content .flights-tab-text {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 0;
    gap: 4px;
    height: 26px;
    flex: 1;
  }
  .destination-page .tab-flights .flights-schedule-wrapper .flights-tab:first-child {
    border-radius: 8px;
  }
  .destination-page .tab-flights .flights-schedule-wrapper .flights-tab:last-child:not(.active) {
    border-radius: 0 0 8px 8px;
  }
  .destination-page .tab-flights .flights-schedule-wrapper .flights-tab:not(.active):not(:last-child) {
    border-radius: 0;
  }
}
.destination-page .tab-flights .flights-schedule-wrapper .flights-schedule-container .schedule-loading {
  text-align: center;
  padding: 24px;
}
.destination-page .tab-flights .flights-schedule-wrapper .flights-schedule-container .schedule-loading .loading-spinner {
  width: 40px;
  height: 40px;
  border: 3px solid #e5e7eb;
  border-top: 3px solid #48bbb9;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  margin: 0 auto 16px;
}
.destination-page .tab-flights .flights-schedule-wrapper .flights-schedule-container .flight-schedule-table {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0;
  width: 100%;
  border-radius: 12px;
}
.destination-page .tab-flights .flights-schedule-wrapper .flights-schedule-container .flight-schedule-table .table-column {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0;
  width: 100%;
  flex: none;
  align-self: stretch;
  flex-grow: 0;
}
.destination-page .tab-flights .flights-schedule-wrapper .flights-schedule-container .flight-schedule-table .table-column.departures-column .table-header {
  border-radius: 12px 12px 0 0;
}
.destination-page .tab-flights .flights-schedule-wrapper .flights-schedule-container .flight-schedule-table .table-column.returns-column .table-header {
  border-radius: 12px 12px 0 0;
}
.destination-page .tab-flights .flights-schedule-wrapper .flights-schedule-container .flight-schedule-table .table-column .table-header {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 12px 24px;
  height: 42px;
  background: #EEE9E6;
  flex: none;
  align-self: stretch;
  flex-grow: 0;
}
.destination-page .tab-flights .flights-schedule-wrapper .flights-schedule-container .flight-schedule-table .table-column .table-header .header-title {
  font-family: "Futura", sans-serif;
  font-style: normal;
  font-weight: 700;
  font-size: var(--font-12);
  line-height: 18px;
  color: #3C4678;
  flex: none;
  flex-grow: 0;
}
.destination-page .tab-flights .flights-schedule-wrapper .flights-schedule-container .flight-schedule-table .table-column.departures-column .table-header {
  border-radius: 0 12px 0 0;
}
@media screen and (max-width: 767px) {
  .destination-page .tab-flights .flights-schedule-wrapper .flights-schedule-container .flight-schedule-table .table-column.departures-column .table-header {
    border-radius: 12px 12px 0 0;
  }
}
.destination-page .tab-flights .flights-schedule-wrapper .flights-schedule-container .flight-schedule-table .table-column.returns-column .table-header {
  border-radius: 0;
  border-left: 1px solid #D8D9DC;
}
.destination-page .tab-flights .flights-schedule-wrapper .flights-schedule-container .flight-schedule-table .departure-flights, .destination-page .tab-flights .flights-schedule-wrapper .flights-schedule-container .flight-schedule-table .return-flights {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0;
  width: 100%;
  flex: none;
  align-self: stretch;
  flex-grow: 0;
}
.destination-page .tab-flights .flights-schedule-wrapper .flights-schedule-container .flight-schedule-table .return-flights .no-flights-text {
  border-radius: 0 0 12px 12px;
}
.destination-page .tab-flights .flights-schedule-wrapper .flights-schedule-container .flight-schedule-table .no-flights-text {
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-style: solid;
  border-color: #D8D9DC;
  border-width: 0 1px 1px 1px;
  width: 100%;
  padding: 24px;
  font-size: var(--font-16);
}
.destination-page .tab-flights .flights-schedule-wrapper .flights-schedule-container .flight-schedule-table .flight-item {
  box-sizing: border-box;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  padding: 20px;
  gap: 16px;
  border-style: solid;
  border-color: #D8D9DC;
  flex: none;
  align-self: stretch;
  flex-grow: 0;
  background: #ffffff;
  transition: all 0.3s ease;
}
@media screen and (max-width: 767px) {
  .destination-page .tab-flights .flights-schedule-wrapper .flights-schedule-container .flight-schedule-table .flight-item {
    padding: 20px 16px;
  }
}
.destination-page .tab-flights .flights-schedule-wrapper .flights-schedule-container .flight-schedule-table .flight-item .flight-schedule {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  gap: 16px;
}
@media screen and (max-width: 666px) {
  .destination-page .tab-flights .flights-schedule-wrapper .flights-schedule-container .flight-schedule-table .flight-item .flight-schedule {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 20px;
  }
}
.destination-page .tab-flights .flights-schedule-wrapper .flights-schedule-container .flight-schedule-table .flight-item .flight-left-info {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  min-width: 140px;
}
@media screen and (max-width: 666px) {
  .destination-page .tab-flights .flights-schedule-wrapper .flights-schedule-container .flight-schedule-table .flight-item .flight-left-info {
    gap: 0;
  }
}
.destination-page .tab-flights .flights-schedule-wrapper .flights-schedule-container .flight-schedule-table .flight-item .flight-left-info .flight-day {
  font-weight: 400;
  font-size: var(--font-16);
  line-height: 26px;
  color: #646772;
  margin: 0 0 4px;
}
.destination-page .tab-flights .flights-schedule-wrapper .flights-schedule-container .flight-schedule-table .flight-item .flight-left-info .flight-date {
  font-weight: 700;
  font-size: var(--font-16);
  line-height: 26px;
  color: #3C4678;
}
.destination-page .tab-flights .flights-schedule-wrapper .flights-schedule-container .flight-schedule-table .flight-item .flight-left-info .flight-departure {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
}
.destination-page .tab-flights .flights-schedule-wrapper .flights-schedule-container .flight-schedule-table .flight-item .flight-left-info .flight-departure .flight-time {
  font-weight: 600;
  font-size: var(--font-16);
  line-height: 24px;
  color: #3C4678;
}
.destination-page .tab-flights .flights-schedule-wrapper .flights-schedule-container .flight-schedule-table .flight-item .flight-left-info .flight-departure .flight-location {
  font-weight: 400;
  font-size: var(--font-12);
  line-height: 16px;
  color: #6B7280;
}
.destination-page .tab-flights .flights-schedule-wrapper .flights-schedule-container .flight-schedule-table .flight-item .flight-right-info {
  display: flex;
  align-items: center;
  gap: 16px;
}
.destination-page .tab-flights .flights-schedule-wrapper .flights-schedule-container .flight-schedule-table .flight-item .flight-right-info .flight-arrival, .destination-page .tab-flights .flights-schedule-wrapper .flights-schedule-container .flight-schedule-table .flight-item .flight-right-info .flight-departure {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (max-width: 666px) {
  .destination-page .tab-flights .flights-schedule-wrapper .flights-schedule-container .flight-schedule-table .flight-item .flight-right-info {
    width: 100%;
    gap: 0;
  }
}
.destination-page .tab-flights .flights-schedule-wrapper .flights-schedule-container .flight-schedule-table .flight-item .flight-route-visual {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 145px;
  gap: 11px;
}
@media screen and (max-width: 666px) {
  .destination-page .tab-flights .flights-schedule-wrapper .flights-schedule-container .flight-schedule-table .flight-item .flight-route-visual {
    width: auto;
    flex-grow: 1;
  }
}
@media screen and (max-width: 500px) {
  .destination-page .tab-flights .flights-schedule-wrapper .flights-schedule-container .flight-schedule-table .flight-item .flight-route-visual {
    width: 145px;
  }
}
.destination-page .tab-flights .flights-schedule-wrapper .flights-schedule-container .flight-schedule-table .flight-item .flight-route-visual .flight-duration {
  font-weight: 400;
  font-size: var(--font-12);
  line-height: 18px;
  text-align: center;
  color: #646772;
}
.destination-page .tab-flights .flights-schedule-wrapper .flights-schedule-container .flight-schedule-table .flight-item .flight-details {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0;
  gap: 4px;
  width: 100%;
  height: 56px;
  flex: none;
  align-self: stretch;
  flex-grow: 0;
}
.destination-page .tab-flights .flights-schedule-wrapper .flights-schedule-container .flight-schedule-table .flight-item .flight-details .flight-time {
  font-weight: 400;
  font-size: 18px;
  line-height: 30px;
  letter-spacing: -0.5px;
  color: #3C4678;
}
.destination-page .tab-flights .flights-schedule-wrapper .flights-schedule-container .flight-schedule-table .flight-item .flight-details .flight-route {
  font-size: var(--font-16);
  line-height: 26px;
  color: #646772;
}
.destination-page .tab-flights .flights-schedule-wrapper .flights-schedule-container .flight-schedule-table .departures-column .flight-item {
  border-width: 0 1px 1px 1px;
}
.destination-page .tab-flights .flights-schedule-wrapper .flights-schedule-container .flight-schedule-table .returns-column .flight-item {
  border-width: 0 1px 1px 1px;
}
.destination-page .tab-flights .flights-schedule-wrapper .flights-schedule-container .flight-schedule-table .returns-column .flight-item:last-child {
  border-radius: 0 0 12px 12px;
}
.destination-page .tab-flights .flights-schedule-wrapper .flights-schedule-container .no-flights {
  text-align: center;
  padding: 24px 16px;
  color: #6b7280;
}
.destination-page .tab-flights .flights-schedule-wrapper .flights-schedule-container .no-flights-message {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 24px 16px;
  color: #6b7280;
  gap: 16px;
}
.destination-page .tab-flights .flights-schedule-wrapper .flights-schedule-container .no-flights-message svg {
  opacity: 0.6;
}
.destination-page .tab-flights .flights-schedule-wrapper .flights-schedule-container .no-flights-message h4 {
  font-weight: 600;
  font-size: 18px;
  line-height: 26px;
  color: #3C4678;
  margin: 0;
}
.destination-page .tab-flights .flights-schedule-wrapper .flights-schedule-container .no-flights-message p {
  font-weight: 400;
  font-size: var(--font-14);
  line-height: 20px;
  color: #6B7280;
  margin: 0;
  max-width: 300px;
}
.destination-page .tab-flights .flights-info .section-header {
  margin-bottom: 16px;
  display: flex;
  justify-content: space-between;
  gap: 8px;
}
.destination-page .tab-flights .flights-info .section-header h2 {
  margin: 0;
}
.destination-page .tab-flights .flights-info .section-header .flight-info-link {
  font-weight: 400;
  font-size: var(--font-16);
  line-height: 26px;
  display: flex;
  align-items: center;
  color: #3C4678;
  gap: 4px;
  text-decoration: none;
}
.destination-page .tab-flights .flights-info .section-header .flight-info-link svg {
  width: 20px;
  height: 20px;
}
.destination-page .tab-flights .flights-info .flight-info-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
}
.destination-page .tab-flights .flights-info .info-block {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 16px;
  gap: 16px;
  border: 1px solid #D8D9DC;
  border-radius: 8px;
}
.destination-page .tab-flights .flights-info .info-block h4 {
  display: flex;
  align-items: center;
  margin: 0;
  font-weight: 700;
  font-size: var(--font-16);
  line-height: 26px;
  color: #3C4678;
  gap: 16px;
}
.destination-page .tab-flights .flights-info .info-block .info-content p {
  font-weight: 400;
  font-size: var(--font-16);
  line-height: 26px;
  color: #3D414F;
  margin: 0;
}
.destination-page .tab-flights .flights-info .info-block .airport-website-link {
  font-size: var(--font-16);
  line-height: 26px;
  display: flex;
  align-items: center;
  color: #3C4678;
  gap: 4px;
  text-decoration: none;
}
.destination-page .tab-flights .flights-info .info-block .airport-website-link svg {
  width: 20px;
  height: 20px;
}
.destination-page .tab-flights .flights-info .info-block .airport-website-link:hover {
  text-decoration: underline;
}
@media screen and (max-width: 767px) {
  .destination-page .tab-flights .flights-info {
    display: flex;
    flex-direction: column;
  }
  .destination-page .tab-flights .flights-info .section-header {
    display: contents;
  }
  .destination-page .tab-flights .flights-info .section-header h2 {
    margin-bottom: 16px;
  }
  .destination-page .tab-flights .flights-info .section-header .flight-info-link {
    order: 1;
    margin-top: 16px;
  }
}
.destination-page .tab-resorts .resorts-header {
  margin-bottom: 12px;
}
.destination-page .tab-resorts .resorts-header h2 {
  margin: 0;
}
.destination-page .tab-resorts .resorts-map-view .map-container {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}
.destination-page .tab-resorts .resorts-map-view .map-container #resorts-google-map {
  border-radius: 12px;
}
.destination-page .tab-resorts .resorts-map-view .map-loading {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: #f9fafb;
  z-index: 10;
}
.destination-page .tab-resorts .resorts-map-view .map-loading .loading-spinner {
  width: 40px;
  height: 40px;
  border: 3px solid #e5e7eb;
  border-top: 3px solid #48bbb9;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  margin-bottom: 16px;
}
.destination-page .tab-resorts .resorts-map-view .resort-tooltip {
  position: absolute;
  background: white;
  border-radius: 8px;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
  padding: 16px;
  max-width: 250px;
  z-index: 1000;
}
.destination-page .tab-resorts .resorts-map-view .resort-tooltip .tooltip-image img {
  width: 100%;
  height: 120px;
  object-fit: cover;
  border-radius: 6px;
  margin-bottom: 12px;
}
.destination-page .tab-resorts .resorts-map-view .resort-tooltip .tooltip-title {
  font-weight: 600;
  color: #3c4678;
  margin-bottom: 8px;
}
.destination-page .tab-resorts .resorts-map-view .resort-tooltip .tooltip-transfer {
  font-size: var(--font-12);
  color: #6b7280;
}
.destination-page .tab-resorts .resorts-card-view {
  margin: 32px 0 16px;
}
@media screen and (max-width: 767px) {
  .destination-page .tab-resorts .resorts-card-view {
    margin: 24px 0 0;
  }
}
.destination-page .tab-resorts .resorts-card-view .resorts-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.destination-page .tab-resorts .resorts-card-view .resort-card {
  position: relative;
  height: 208px;
  border-radius: 12px;
  overflow: hidden;
}
.destination-page .tab-resorts .resorts-card-view .resort-card .resort-link {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  background: linear-gradient(135deg, #6b7280 0%, #7d7f88 100%);
  width: 100%;
  height: 100%;
}
.destination-page .tab-resorts .resorts-card-view .resort-card .resort-image {
  width: 100%;
  height: 100%;
  z-index: 1;
}
.destination-page .tab-resorts .resorts-card-view .resort-card .resort-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.destination-page .tab-resorts .resorts-card-view .resort-card::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 76.86%, rgba(0, 0, 0, 0.6) 100%);
  z-index: 2;
}
.destination-page .tab-resorts .resorts-card-view .resort-card .resort-content {
  position: absolute;
  inset: 0;
  z-index: 3;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  height: 100%;
  width: 100%;
  padding: 12px;
  gap: 12px;
}
.destination-page .tab-resorts .resorts-card-view .resort-card .resort-content .resort-transfer {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 2px 10px;
  gap: 4px;
  background: rgba(0, 0, 0, 0.5);
  border-radius: 999px;
  width: fit-content;
  height: 22px;
  font-weight: 400;
  font-size: var(--font-12);
  line-height: 18px;
  text-align: center;
  color: #FFFFFF;
}
.destination-page .tab-resorts .resorts-card-view .resort-card .resort-content .resort-transfer svg {
  width: 16px;
  height: 16px;
}
.destination-page .tab-resorts .resorts-card-view .resort-card .resort-content .resort-footer {
  margin-top: auto;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.destination-page .tab-resorts .resorts-card-view .resort-card .resort-content .resort-title {
  font-weight: 700;
  font-size: var(--font-16);
  line-height: 26px;
  color: #FFFFFF;
  margin: 0;
}
.destination-page .tab-resorts .resorts-card-view .resort-card .resort-content .resort-book-now {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 16px;
  gap: 6px;
  background: #EA4E51;
  border-radius: 999px;
  font-weight: 700;
  font-size: var(--font-14);
  line-height: 22px;
  color: #FFFFFF;
  transition: background 0.2s ease, transform 0.2s ease;
  white-space: nowrap;
}
.destination-page .tab-resorts .resorts-card-view .resort-card .resort-link:hover .resort-book-now,
.destination-page .tab-resorts .resorts-card-view .resort-card .resort-link:focus-visible .resort-book-now {
  background: #D63E41;
  transform: translateY(-1px);
}
.destination-page .tab-travel-guide .travel-facts {
  margin-bottom: 24px;
}
.destination-page .tab-travel-guide .travel-facts .facts-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
@media screen and (max-width: 767px) {
  .destination-page .tab-travel-guide .travel-facts .facts-grid {
    flex-direction: column;
  }
}
.destination-page .tab-travel-guide .travel-facts .fact-card {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  padding: 16px;
  gap: 12px;
  border: 1px solid #ECECED;
  border-radius: 12px;
  flex: 1 1 calc(50% - 4px);
}
.destination-page .tab-travel-guide .travel-facts .fact-icon {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
}
.destination-page .tab-travel-guide .travel-facts .fact-icon svg, .destination-page .tab-travel-guide .travel-facts .fact-icon img {
  width: 48px;
  height: 48px;
}
.destination-page .tab-travel-guide .travel-facts .fact-content .fact-label {
  font-weight: 700;
  font-size: var(--font-16);
  line-height: 26px;
  color: #3D414F;
  margin-bottom: 2px;
}
.destination-page .tab-travel-guide .travel-facts .fact-content .fact-text p {
  font-weight: 400;
  font-size: var(--font-16);
  line-height: 26px;
  color: #111214;
  margin: 0;
}
.destination-page .tab-travel-guide .travel-facts .fact-content .fact-text ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0 30px;
  margin: 0;
  padding: 0;
  list-style-type: none;
}
.destination-page .tab-travel-guide .travel-facts .fact-content .fact-text ul > li {
  position: relative;
  font-weight: 400;
  font-size: var(--font-16);
  line-height: 26px;
  color: #111214;
}
.destination-page .tab-travel-guide .travel-facts .fact-content .fact-text ul > li:not(:last-child)::after {
  content: "";
  position: absolute;
  left: calc(100% + 12px);
  top: 10px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #D8D9DC;
}
@media screen and (max-width: 767px) {
  .destination-page .tab-travel-guide .travel-facts .fact-content .fact-text ul > li:not(:last-child)::after {
    content: none;
  }
}
.destination-page .tab-travel-guide .travel-events {
  margin-bottom: 24px;
}
.destination-page .tab-travel-guide .travel-events .events-content {
  font-weight: 400;
  font-size: var(--font-16);
  line-height: 26px;
  color: #333333;
}
.destination-page .tab-travel-guide .travel-events .events-content p {
  margin: 0 0 8px;
}
.destination-page .tab-travel-guide .travel-events .events-content p strong {
  display: inline-block;
  width: 100%;
  font-weight: 700;
  margin: 0 0 4px;
}
.destination-page .tab-travel-guide .travel-events .events-content p:last-child {
  margin-bottom: 0;
}
.destination-page .tab-travel-guide .travel-transport {
  margin-bottom: 24px;
}
.destination-page .tab-travel-guide .travel-transport .transport-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
}
.destination-page .tab-travel-guide .travel-transport .transport-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 16px;
  gap: 12px;
  border: 1px solid #ECECED;
  border-radius: 12px;
}
.destination-page .tab-travel-guide .travel-transport .transport-icon {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
}
.destination-page .tab-travel-guide .travel-transport .transport-icon svg {
  width: 100%;
  height: 100%;
}
.destination-page .tab-travel-guide .travel-transport .transport-content .transport-title {
  font-weight: 700;
  font-size: var(--font-16);
  line-height: 26px;
  color: #3D414F;
  margin: 0 0 2px;
}
.destination-page .tab-travel-guide .travel-transport .transport-content .transport-description {
  font-weight: 400;
  font-size: var(--font-16);
  line-height: 26px;
  color: #333333;
}
.destination-page .tab-travel-guide .travel-transport .transport-content .transport-description p {
  margin: 0;
}
.destination-page .tab-travel-guide .travel-faq .faq-accordion {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0;
  gap: 8px;
  width: 100%;
  max-width: 760px;
}
.destination-page .tab-travel-guide .travel-faq .faq-accordion .faq-item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0;
  width: 100%;
  background: #FAF9F7;
  border-radius: 8px;
  overflow: hidden;
  transition: all 0.3s ease;
}
.destination-page .tab-travel-guide .travel-faq .faq-accordion .faq-item:first-child {
  border-top: none;
}
.destination-page .tab-travel-guide .travel-faq .faq-accordion .faq-question {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  padding: 12px;
  gap: 8px;
  width: 100%;
  height: 50px;
  background: #FAF9F7;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s ease;
  box-sizing: border-box;
}
.destination-page .tab-travel-guide .travel-faq .faq-accordion .faq-question:hover {
  background: #F5F4F2;
}
.destination-page .tab-travel-guide .travel-faq .faq-accordion .faq-question.expanded {
  border-radius: 8px 8px 0 0;
  background: #FAF9F7;
}
.destination-page .tab-travel-guide .travel-faq .faq-accordion .faq-question.expanded .question-text {
  color: #EA4E51;
}
.destination-page .tab-travel-guide .travel-faq .faq-accordion .faq-question.expanded .question-icon svg {
  transform: rotate(45deg);
}
.destination-page .tab-travel-guide .travel-faq .faq-accordion .faq-question.expanded .question-icon svg path {
  fill: #EA4E51;
}
.destination-page .tab-travel-guide .travel-faq .faq-accordion .faq-question .question-text {
  font-style: normal;
  font-weight: 700;
  font-size: var(--font-16);
  line-height: 26px;
  color: #3C4678;
  margin: 0;
  flex-grow: 1;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .destination-page .tab-travel-guide .travel-faq .faq-accordion .faq-question .question-text {
    font-size: var(--font-14);
    line-height: 24px;
  }
}
.destination-page .tab-travel-guide .travel-faq .faq-accordion .faq-question .question-icon {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.3s ease;
}
.destination-page .tab-travel-guide .travel-faq .faq-accordion .faq-question .question-icon svg {
  width: 20px;
  height: 20px;
  transition: all 0.3s ease;
}
.destination-page .tab-travel-guide .travel-faq .faq-accordion .faq-question .question-icon svg path {
  fill: #3C4678;
  transition: fill 0.2s ease;
}
.destination-page .tab-travel-guide .travel-faq .faq-accordion .faq-answer {
  padding: 16px 12px;
  width: 100%;
  display: none;
  overflow: hidden;
  background: #FFFFFF;
  transition: max-height 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), padding 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  border-radius: 0 0 8px 8px;
  will-change: max-height, padding;
}
.destination-page .tab-travel-guide .travel-faq .faq-accordion .faq-answer.show {
  display: block;
}
.destination-page .tab-travel-guide .travel-faq .faq-accordion .faq-answer .answer-content {
  width: 100%;
}
.destination-page .tab-travel-guide .travel-faq .faq-accordion .faq-answer .answer-content p {
  font-style: normal;
  font-weight: 400;
  font-size: var(--font-16);
  line-height: 26px;
  color: #111214;
  margin: 0 0 12px 0;
}
.destination-page .tab-travel-guide .travel-faq .faq-accordion .faq-answer .answer-content p:last-child {
  margin-bottom: 0;
}
.destination-page .destination-sidebar {
  position: relative;
}
.destination-page .destination-sidebar.fixed-sidebar {
  position: sticky;
  top: 24px;
}
@media screen and (max-width: 1024px) {
  .destination-page .destination-sidebar {
    margin-top: 24px;
  }
}
@media screen and (max-width: 767px) {
  .destination-page .destination-sidebar {
    margin-top: 8px;
  }
}
.destination-page .destination-sidebar h3 {
  font-weight: 400;
  margin-bottom: 24px;
  font-size: 24px;
  line-height: 34px;
  letter-spacing: -1px;
  color: #3C4678;
}
@media screen and (min-width: 992px) {
  .destination-page .destination-sidebar .sidebar-book-title {
    display: none;
  }
}
.destination-page .destination-sidebar .fd-search-widget {
  padding: 0;
  border: 1px solid #D8D9DC;
  border-radius: 12px;
}
.destination-page .destination-sidebar-content {
  position: sticky;
  top: 120px;
}
.destination-page .no-wrapper {
  text-align: center;
  padding: 24px 16px;
}
.destination-page .no-wrapper .no-content-message svg {
  color: #d1d5db;
  margin-bottom: 16px;
}
.destination-page .no-wrapper .no-content-message h3 {
  font-size: 24px;
  color: #6b7280;
  margin-bottom: 12px;
}
.destination-page .no-wrapper .no-content-message p {
  color: #9ca3af;
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
@media screen and (max-width: 768px) {
  .destination-page .destination-hero__info .info-grid {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .destination-page .destination-tabs-nav .tab-nav-btn {
    padding: 11px 10px;
  }
  .destination-page .tab-overview .overview-tips .tips-grid {
    grid-template-columns: 1fr;
  }
  .destination-page .tab-flights .flights-info .flight-info-grid {
    grid-template-columns: 1fr;
  }
  .destination-page .tab-resorts .resorts-card-view .resorts-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
  }
  .destination-page .tab-resorts .resorts-card-view .resorts-grid .resort-card {
    height: 159px;
  }
  .destination-page .tab-resorts .resorts-card-view .resorts-grid .resort-card .resort-content {
    gap: 10px;
  }
  .destination-page .tab-resorts .resorts-card-view .resorts-grid .resort-card .resort-content .resort-title {
    font-size: var(--font-14);
    line-height: 24px;
  }
  .destination-page .tab-resorts .resorts-card-view .resorts-grid .resort-card .resort-content .resort-book-now {
    padding: 4px 12px;
    font-size: var(--font-12);
    line-height: 20px;
  }
  .destination-page .tab-travel-guide .travel-facts .facts-grid,
  .destination-page .tab-travel-guide .travel-transport .transport-grid {
    grid-template-columns: 1fr;
  }
}
@media screen and (max-width: 500px) {
  .destination-page .tab-resorts .resorts-card-view .resorts-grid .resort-card .resort-content .resort-book-now {
    display: none;
  }
}
@media screen and (max-width: 374px) {
  .destination-page .tab-resorts .resorts-card-view .resorts-grid .resort-card .resort-content .resort-transfer {
    font-size: 10px;
  }
  .destination-page .tab-resorts .resorts-card-view .resorts-grid .resort-card .resort-content .resort-title {
    font-size: 12px;
  }
}
.destination-page .sidebar-deals {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0;
  gap: 16px;
  margin: 32px 0;
}
.destination-page .sidebar-deals .sidebar-section-header h3 {
  font-weight: 400;
  font-size: 18px;
  line-height: 30px;
  letter-spacing: -0.5px;
  color: #3C4678;
  margin: 0;
}
.destination-page .sidebar-deals .deals-list {
  display: flex;
  padding: 0;
  gap: 8px;
  width: 100%;
}
.destination-page .sidebar-deals .deal-card {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  padding: 16px;
  isolation: isolate;
  height: 170px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  box-shadow: 6px 6px 14px rgba(60, 70, 120, 0.15);
  border-radius: 12px;
  overflow: hidden;
  flex: 0 1 50%;
}
.destination-page .sidebar-deals .deal-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 63.53%, rgba(0, 0, 0, 0.4) 100%);
  z-index: 1;
  transition: all 0.3s ease-in-out;
}
.destination-page .sidebar-deals .deal-card .deal-link {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 3;
  text-decoration: none;
}
.destination-page .sidebar-deals .deal-card .deal-label {
  position: relative;
  z-index: 5;
  font-weight: 700;
  font-size: var(--font-12);
  line-height: 18px;
  color: #FFFFFF;
}
@media (hover: hover) {
  .destination-page .sidebar-deals .deal-card:hover::before {
    opacity: 0.7;
  }
}
.destination-page .sidebar-deals .deals-more {
  margin-top: 16px;
  text-align: center;
}
.destination-page .sidebar-deals .deals-more .view-all-deals {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #3C4678;
  text-decoration: none;
  font-weight: 500;
  font-size: var(--font-16);
  padding: 8px 16px;
  border: 1px solid #3C4678;
  border-radius: 8px;
  transition: all 0.2s ease;
}
.destination-page .sidebar-deals .deals-more .view-all-deals:hover {
  background: #3C4678;
  color: white;
}
.destination-page .sidebar-deals .deals-more .view-all-deals svg {
  width: 16px;
  height: 16px;
}
.destination-page .sidebar-insights {
  margin: 32px 0;
}
.destination-page .sidebar-insights .sidebar-section-header h3 {
  font-weight: 400;
  font-size: 18px;
  line-height: 30px;
  letter-spacing: -0.5px;
  color: #3C4678;
  margin: 0 0 16px 0;
}
.destination-page .sidebar-insights .insights-list {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}
.destination-page .sidebar-insights .insight-card {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 0 12px 0 0;
  gap: 12px;
  width: 100%;
  height: 80px;
  border: 1px solid #D8D9DC;
  border-radius: 8px;
  box-sizing: border-box;
}
.destination-page .sidebar-insights .insight-card .insight-link {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
  width: 100%;
  height: 100%;
  text-decoration: none;
}
.destination-page .sidebar-insights .insight-card .insight-image {
  width: 103px;
  height: 80px;
  flex-shrink: 0;
  border-radius: 8px 0 0 8px;
  overflow: hidden;
}
.destination-page .sidebar-insights .insight-card .insight-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.destination-page .sidebar-insights .insight-card .insight-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 100%;
}
.destination-page .sidebar-insights .insight-card .insight-title {
  font-weight: 700;
  font-size: var(--font-16);
  line-height: 26px;
  color: #3D414F;
  margin: 0;
}
.destination-page .sidebar-insights .insight-card .insight-meta {
  margin-top: 4px;
}
.destination-page .sidebar-insights .insight-card .insight-meta time {
  font-weight: 400;
  font-size: var(--font-12);
  line-height: 18px;
  color: #646772;
}
.destination-page .sidebar-insights .insights-more {
  margin-top: 16px;
  text-align: center;
}
.destination-page .sidebar-insights .insights-more .view-all-insights {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #3C4678;
  text-decoration: none;
  font-weight: 500;
  font-size: var(--font-16);
  padding: 8px 16px;
  border: 1px solid #3C4678;
  border-radius: 8px;
  transition: all 0.2s ease;
}
.destination-page .sidebar-insights .insights-more .view-all-insights:hover {
  background: #3C4678;
  color: white;
}
.destination-page .sidebar-insights .insights-more .view-all-insights svg {
  width: 16px;
  height: 16px;
}

.resort-page .resort-hero {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  padding: 40px 0;
  width: 100%;
  height: 422px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (max-width: 1024px) {
  .resort-page .resort-hero {
    padding: 32px 48px;
    height: 380px;
  }
}
@media screen and (max-width: 768px) {
  .resort-page .resort-hero {
    padding: 24px 20px;
    height: 320px;
  }
}
@media screen and (max-width: 555px) {
  .resort-page .resort-hero {
    height: 265px;
    padding: 16px 16px 32px;
  }
}
.resort-page .resort-hero .resort-hero-content {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.resort-page .resort-hero .resort-hero-content .resort-breadcrumbs .breadcrumb-link {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 0;
  gap: 8px;
  height: 24px;
  text-decoration: none;
  color: #FFFFFF;
  font-style: normal;
  font-weight: 400;
  font-size: var(--font-14);
  line-height: 24px;
  text-align: center;
  transition: opacity 0.2s ease;
}
.resort-page .resort-hero .resort-hero-content .resort-breadcrumbs .breadcrumb-link:hover {
  opacity: 0.8;
}
.resort-page .resort-hero .resort-hero-content .resort-breadcrumbs .breadcrumb-link svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}
@media screen and (max-width: 991px) {
  .resort-page .resort-hero .resort-hero-content .resort-breadcrumbs .breadcrumb-link {
    font-size: var(--font-12);
    line-height: 18px;
  }
}
.resort-page .resort-hero .resort-hero-content .resort-title {
  font-family: var(--ff-head);
  font-style: italic;
  font-weight: 600;
  font-size: 64px;
  line-height: 74px;
  letter-spacing: -2px;
  color: #FFFFFF;
  text-shadow: -4px -4px 20px rgba(0, 0, 0, 0.4), 4px 4px 20px rgba(0, 0, 0, 0.4);
  margin: auto 0 0;
}
@media screen and (max-width: 991px) {
  .resort-page .resort-hero .resort-hero-content .resort-title {
    font-size: 40px;
    line-height: 50px;
  }
}
.resort-page .resort-layout {
  display: grid;
  grid-template-columns: 760px 424px;
  gap: 48px;
  margin-top: 48px;
}
@media screen and (max-width: 1280px) {
  .resort-page .resort-layout {
    grid-template-columns: calc(60% - 16px) calc(40% - 16px);
    gap: 32px;
  }
}
@media screen and (max-width: 1024px) {
  .resort-page .resort-layout {
    display: flex;
    flex-direction: column;
  }
}
@media screen and (max-width: 991px) {
  .resort-page .resort-layout {
    margin-top: 16px;
    gap: 12px;
  }
}
.resort-page .resort-main {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0;
  gap: 32px;
  width: 100%;
}
.resort-page .resort-main h2, .resort-page .resort-main h3, .resort-page .resort-main h4 {
  font-weight: 700;
  font-size: 40px;
  line-height: 52px;
  color: #3C4678;
  margin: 0 0 16px;
  align-self: stretch;
}
@media screen and (max-width: 991px) {
  .resort-page .resort-main .section-header h3 {
    font-weight: 400;
    font-size: 28px;
    line-height: 38px;
    margin: 0 0 12px;
  }
}
.resort-page .resort-main .resort-info {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0;
  gap: 12px;
}
.resort-page .resort-main .resort-info .resort-description {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0;
  gap: 12px;
}
.resort-page .resort-main .resort-info .resort-description p {
  font-weight: 400;
  font-size: var(--font-16);
  line-height: 26px;
  color: #3D414F;
  margin: 0;
}
.resort-page .resort-main .resort-info .resort-description ul, .resort-page .resort-main .resort-info .resort-description ol {
  font-weight: 400;
  font-size: var(--font-16);
  line-height: 26px;
  color: #3D414F;
  margin: 0;
  padding-left: 20px;
}
.resort-page .resort-main .resort-info .transfer-info {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0;
  margin-top: 32px;
}
.resort-page .resort-main .resort-info .transfer-info .transfer-options {
  display: flex;
  align-items: flex-start;
  padding: 0;
  gap: 24px;
}
@media screen and (max-width: 768px) {
  .resort-page .resort-main .resort-info .transfer-info .transfer-options {
    flex-direction: column;
    gap: 8px;
  }
}
.resort-page .resort-main .resort-info .transfer-info .transfer-options .transfer-option .transfer-type {
  font-weight: 700;
}
.resort-page .resort-main .resort-info .transfer-info .transfer-options .transfer-option .transfer-time {
  font-weight: 400;
}
.resort-page .resort-main .resort-info .transfer-info .transfer-options .transfer-option .transfer-type,
.resort-page .resort-main .resort-info .transfer-info .transfer-options .transfer-option .transfer-time {
  font-size: var(--font-16);
  line-height: 26px;
  color: #333333;
}
.resort-page .resort-main .resort-photos {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0;
  gap: 8px;
  width: 100%;
}
.resort-page .resort-main .resort-photos h3 {
  font-weight: 700;
  font-size: 40px;
  line-height: 52px;
  color: #3C4678;
  margin: 0 0 16px;
}
@media screen and (max-width: 991px) {
  .resort-page .resort-main .resort-photos h3 {
    font-size: 32px;
    line-height: 42px;
  }
}
.resort-page .resort-main .resort-photos .resort-photos-slider {
  position: relative;
  width: 100%;
}
.resort-page .resort-main .resort-photos .resort-photos-slider .resort-swiper {
  overflow: hidden;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .resort-page .resort-main .resort-photos .resort-photos-slider .resort-swiper {
    display: none;
  }
}
.resort-page .resort-main .resort-photos .resort-photos-slider .resort-swiper .swiper-slide .photo-item {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  height: 326px;
  border-radius: 12px;
  overflow: hidden;
  cursor: default;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  position: relative;
}
.resort-page .resort-main .resort-photos .resort-photos-slider .resort-swiper .swiper-slide .photo-item .resort-photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.3s ease;
  border-radius: 12px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.resort-page .resort-main .resort-photos .resort-photos-slider .mobile-photos-grid {
  display: none;
}
@media screen and (max-width: 768px) {
  .resort-page .resort-main .resort-photos .resort-photos-slider .mobile-photos-grid {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
}
.resort-page .resort-main .resort-photos .resort-photos-slider .mobile-photos-grid .photo-item {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  height: 326px;
  border-radius: 12px;
  overflow: hidden;
  cursor: default;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  position: relative;
}
@media screen and (max-width: 768px) {
  .resort-page .resort-main .resort-photos .resort-photos-slider .mobile-photos-grid .photo-item {
    height: 472px;
  }
}
.resort-page .resort-main .resort-photos .resort-photos-slider .mobile-photos-grid .photo-item .resort-photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.3s ease;
  border-radius: 12px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.resort-page .resort-main .resort-photos .resort-photos-slider .resort-slider-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 48px;
  height: 48px;
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid #E5E7EB;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  z-index: 2;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 768px) {
  .resort-page .resort-main .resort-photos .resort-photos-slider .resort-slider-nav {
    display: none;
  }
}
.resort-page .resort-main .resort-photos .resort-photos-slider .resort-slider-nav:hover {
  background: white;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.resort-page .resort-main .resort-photos .resort-photos-slider .resort-slider-nav.resort-prev {
  left: -24px;
}
.resort-page .resort-main .resort-photos .resort-photos-slider .resort-slider-nav.resort-next {
  right: -24px;
}
.resort-page .resort-main .resort-photos .resort-photos-slider .resort-slider-nav.swiper-button-disabled {
  opacity: 0.3;
  cursor: not-allowed;
}
.resort-page .resort-main .resort-location {
  margin-bottom: 40px;
}
.resort-page .resort-main .resort-location h3 {
  color: #3C4678;
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 20px;
}
.resort-page .resort-main .resort-location .resort-map {
  height: 400px;
  border-radius: 12px;
  overflow: hidden;
  position: relative;
}
.resort-page .resort-main .resort-location .resort-map .map-loading {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: white;
  padding: 20px;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  z-index: 10;
}
.resort-page .resort-sidebar .sidebar-map-widget,
.resort-page .resort-sidebar .search-widget,
.resort-page .resort-sidebar .resort-location-widget {
  margin-bottom: 24px;
}
.resort-page .resort-sidebar h3 {
  font-weight: 400;
  margin-bottom: 24px;
  font-size: 24px;
  line-height: 34px;
  letter-spacing: -1px;
  color: #3C4678;
}
@media screen and (min-width: 992px) {
  .resort-page .resort-sidebar .sidebar-book-title {
    display: none;
  }
}
.resort-page .resort-sidebar .sidebar-map-widget {
  position: sticky;
  top: 20px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
  width: 420px;
  height: 374.66px;
}
@media screen and (max-width: 1200px) {
  .resort-page .resort-sidebar .sidebar-map-widget {
    width: 100%;
    height: auto;
  }
}
.resort-page .resort-sidebar .sidebar-map-widget h3 {
  font-weight: 400;
  font-size: 18px;
  line-height: 30px;
  letter-spacing: -0.5px;
  color: #231F20;
  margin: 0 0 16px;
  text-align: left;
}
.resort-page .resort-sidebar .sidebar-map-widget .resort-sidebar-map {
  height: 321px;
  background: #DAECFF;
  border-radius: 16px;
  overflow: hidden;
  position: relative;
}
@media screen and (max-width: 1200px) {
  .resort-page .resort-sidebar .sidebar-map-widget .resort-sidebar-map {
    width: 100%;
    height: 250px;
  }
}
@media screen and (max-width: 768px) {
  .resort-page .resort-sidebar .sidebar-map-widget .resort-sidebar-map {
    height: 200px;
  }
}
.resort-page .resort-sidebar .fd-search-widget {
  padding: 0;
  border: 1px solid #D8D9DC;
  border-radius: 12px;
}
.resort-page .resort-sidebar .search-widget-container {
  position: relative;
  z-index: 2;
  margin-bottom: 32px;
}
.resort-page .resort-sidebar .resort-location-widget .resort-map {
  position: relative;
  height: 320px;
  border-radius: 16px;
  overflow: hidden;
  background: #DAECFF;
}

.resort-single-marker {
  display: flex;
  align-items: center;
  gap: 4px;
  position: absolute;
  pointer-events: none;
  will-change: transform;
}
.resort-single-marker .marker-icon {
  display: flex;
  align-items: center;
  justify-content: center;
}
.resort-single-marker .marker-text {
  font-weight: 700;
  font-size: 12.9176px;
  line-height: 19px;
  text-align: center;
  color: #3C4678;
  white-space: nowrap;
}

.search-section {
  padding-top: 56px;
}
.search-section .search-layout {
  display: flex;
  align-items: flex-start;
  gap: 56px;
}
@media screen and (max-width: 991px) {
  .search-section .search-layout {
    flex-direction: column;
    gap: 16px;
  }
}
.search-section .search-main {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0;
  gap: 16px;
  max-width: 824px;
  width: 100%;
  flex: 1;
}
@media screen and (max-width: 991px) {
  .search-section .search-main {
    max-width: 100%;
  }
}
.search-section .search-main .search-page-header {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 16px 0 0;
  gap: 16px;
  width: 100%;
}
@media screen and (max-width: 991px) {
  .search-section .search-main .search-page-header {
    padding: 0;
  }
}
.search-section .search-main .search-page-header .search-page-title {
  width: 100%;
  font-style: normal;
  font-family: var(--base-font);
  font-weight: 700;
  font-size: 40px;
  line-height: 52px;
  color: #3C4678;
  margin: 0;
}
@media screen and (max-width: 991px) {
  .search-section .search-main .search-page-header .search-page-title {
    font-size: 28px;
    line-height: 38px;
    color: #3C4678;
  }
}
.search-section .search-main .search-page-header .search-results-count {
  width: 100%;
  height: 26px;
  font-style: normal;
  font-weight: 400;
  font-size: var(--font-16);
  line-height: 26px;
  color: #3D414F;
  margin: 0;
}
.search-section .search-main .search-results-list {
  width: 100%;
}
.search-section .search-main .search-results-list .search-result-item {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 24px 0;
  width: 100%;
  border-bottom: 1px solid #D8D9DC;
}
@media screen and (max-width: 991px) {
  .search-section .search-main .search-results-list .search-result-item {
    padding: 20px 0 24px;
  }
}
.search-section .search-main .search-results-list .search-result-item .search-result-title {
  margin: 0;
}
.search-section .search-main .search-results-list .search-result-item .search-result-title a {
  font-weight: 400;
  font-size: 18px;
  line-height: 30px;
  letter-spacing: -0.5px;
  text-decoration-line: underline;
  color: #3C4678;
}
.search-section .search-main .search-results-list .search-result-item .search-result-title a mark {
  background-color: #F9FCCA;
  color: inherit;
  padding: 0;
}
.search-section .search-main .search-results-list .search-result-item .search-result-description {
  width: 100%;
  font-weight: 400;
  font-size: var(--font-16);
  line-height: 26px;
  color: #000000;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.search-section .search-main .search-results-list .search-result-item .search-result-description mark {
  background-color: #F9FCCA;
  color: inherit;
  padding: 0;
}
.search-section .search-main .search-results-list .search-result-item .search-result-description p {
  margin: 0;
}
.search-section .search-main .search-results-list .no-search-results {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 80px 0;
  gap: 16px;
  width: 100%;
}
@media screen and (max-width: 991px) {
  .search-section .search-main .search-results-list .no-search-results {
    padding: 94px 0;
  }
}
.search-section .search-main .search-results-list .no-search-results .search-icon {
  width: 100px;
  height: 100px;
}
.search-section .search-main .search-results-list .no-search-results h2 {
  font-weight: 700;
  font-size: 24px;
  line-height: 34px;
  letter-spacing: -1px;
  color: #3C4678;
}
.search-section .search-main .search-results-list .no-search-results p {
  max-width: 356px;
  width: 100%;
  font-weight: 400;
  font-size: var(--font-16);
  line-height: 26px;
  text-align: center;
  color: #111214;
}
.search-section .search-main .search-results-list .search-pagination {
  margin-top: 40px;
}
.search-section .search-main .search-results-list .search-pagination .pagination-wrapper {
  display: flex;
  align-items: center;
  gap: 24px;
  padding: 12px 0;
}
@media screen and (max-width: 767px) {
  .search-section .search-main .search-results-list .search-pagination .pagination-wrapper {
    flex-direction: column;
    gap: 16px;
  }
}
.search-section .search-main .search-results-list .search-pagination .pagination-prev a,
.search-section .search-main .search-results-list .search-pagination .pagination-next a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 24px;
  background: #3C4678;
  color: white;
  text-decoration: none;
  border-radius: 8px;
  font-weight: 600;
  font-size: var(--font-14);
  transition: all 0.3s ease;
}
.search-section .search-main .search-results-list .search-pagination .pagination-prev a:hover,
.search-section .search-main .search-results-list .search-pagination .pagination-next a:hover {
  background: #2f3a63;
  transform: translateY(-1px);
}
.search-section .search-main .search-results-list .search-pagination .pagination-info span {
  font-size: var(--font-14);
  color: #3D414F;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .search-section .search-main .search-results-list .search-pagination .pagination-info {
    order: -1;
  }
}
.search-section .search-sidebar {
  position: sticky;
  top: 100px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  max-width: 352px;
  width: 100%;
}
.search-section .search-sidebar .search-sidebar-widget {
  display: flex;
  align-items: center;
  border: 1px solid #B1B3B9;
  border-radius: 8px;
}
.search-section .search-sidebar .search-sidebar-widget .search-form {
  width: 100%;
}
.search-section .search-sidebar .search-sidebar-widget .search-form .search-form-group {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 0;
  gap: 8px;
  width: 100%;
  border: none;
  background: transparent;
}
.search-section .search-sidebar .search-sidebar-widget .search-form .search-form-group label {
  flex-grow: 1;
  position: relative;
  display: flex;
  align-items: center;
  padding-left: 8px;
}
.search-section .search-sidebar .search-sidebar-widget .search-form .search-form-group label::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 12px;
  width: 20px;
  height: 20px;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M9.16406 1.66666c-4.14213 0-7.5 3.35786-7.5 7.5 0 4.14214 3.35787 7.50004 7.5 7.50004 1.77084 0 3.39834-.6138 4.68144-1.6401l3.0626 3.0626c.3255.3255.8531.3255 1.1786 0 .3254-.3254.3254-.853 0-1.1785l-3.0627-3.0626c1.0263-1.2831 1.6401-2.9106 1.6401-4.68144 0-4.14214-3.3579-7.5-7.50004-7.5Zm-5.83333 7.5c0-3.22166 2.61167-5.83334 5.83333-5.83334 3.22164 0 5.83334 2.61168 5.83334 5.83334C14.9974 12.3883 12.3857 15 9.16406 15c-3.22166 0-5.83333-2.6117-5.83333-5.83334Z' fill='%2348BBB9'/%3E%3C/svg%3E");
}
.search-section .search-sidebar .search-sidebar-widget .search-form .search-form-group label .search-field {
  padding: 8px 8px 8px 32px;
  width: 100%;
  font-weight: 400;
  font-size: var(--font-16);
  line-height: 26px;
  color: #111214;
  border: none;
  outline: none;
  background: transparent;
  font-family: var(--ff-base), sans-serif;
}
.search-section .search-sidebar .search-sidebar-widget .search-form .search-form-group .search-submit {
  display: none;
}
.search-section .search-sidebar .search-sidebar-widget .search-form .search-form-group .search-submit-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 4px 12px;
  gap: 4px;
  width: 98px;
  height: 42px;
  background: #3C4678;
  border-radius: 0 6px 6px 0;
  border: none;
  cursor: pointer;
  z-index: 1;
  transition: background-color 0.2s ease;
}
.search-section .search-sidebar .search-sidebar-widget .search-form .search-form-group .search-submit-btn:hover {
  background: #2f3a63;
}
.search-section .search-sidebar .search-sidebar-widget .search-form .search-form-group .search-submit-btn:focus {
  outline: none;
  background: #445081;
}
.search-section .search-sidebar .search-sidebar-widget .search-form .search-form-group .search-submit-btn .search-submit-text {
  font-weight: 400;
  font-size: var(--font-16);
  line-height: 26px;
  text-align: center;
  color: #FFFFFF;
}
.search-section .search-sidebar .search-contact-widget {
  padding: 20px;
  border: 1px solid #D8D9DC;
  border-radius: 8px;
}
.search-section .search-sidebar .search-contact-widget h3 {
  font-weight: 700;
  font-size: var(--font-16);
  line-height: 26px;
  color: #3C4678;
  margin: 0 0 8px;
}
.search-section .search-sidebar .search-contact-widget p {
  font-weight: 400;
  font-size: var(--font-16);
  line-height: 26px;
  color: #3C4678;
  margin: 0 0 16px;
}
.search-section .search-sidebar .search-contact-widget .contact-info .contact-details {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.search-section .search-sidebar .search-contact-widget .contact-info .contact-details .contact-phone a,
.search-section .search-sidebar .search-contact-widget .contact-info .contact-details .contact-email a {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 400;
  font-size: var(--font-14);
  line-height: 24px;
  color: #3D414F;
  text-decoration: none;
}
.search-section .search-sidebar .search-contact-widget .contact-info .contact-details .contact-phone a::before,
.search-section .search-sidebar .search-contact-widget .contact-info .contact-details .contact-email a::before {
  content: "";
  width: 20px;
  height: 20px;
  display: inline-block;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}
.search-section .search-sidebar .search-contact-widget .contact-info .contact-details .contact-phone.contact-phone a::before,
.search-section .search-sidebar .search-contact-widget .contact-info .contact-details .contact-email.contact-phone a::before {
  background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.98356 7.37769c.58 1.20802 1.37066 2.34022 2.37197 3.34151 1.00127 1.0013 2.13357 1.792 3.34157 2.372.1039.0499.1558.0748.2216.094.2336.0681.5205.0192.7183-.1225.0557-.0399.1033-.0875.1986-.1828.2913-.2913.437-.437.5835-.5322.5524-.3592 1.2646-.3592 1.817 0 .1464.0952.2921.2409.5835.5322l.1623.1624c.4429.4429.6643.6643.7846.9022.2393.4729.2393 1.0315 0 1.5044-.1203.2379-.3417.4593-.7846.9022l-.1313.1313c-.4414.4414-.662.6621-.9621.8306-.3329.187-.85.3215-1.2318.3203-.3441-.001-.5793-.0677-1.0497-.2012-2.5278-.7175-4.91313-2.0712-6.90312-4.0612-1.98998-1.99-3.34371-4.37531-4.06118-6.90314-.13351-.47037-.20026-.70555-.20129-1.04968-.00113-.38185.13334-.89892.32035-1.23185.16854-.30002.38922-.5207.83057-.96205l.13136-.13136c.44287-.44287.66431-.66431.90212-.78459.47297-.23923 1.03153-.23923 1.50449 0 .23782.12028.45925.34172.90212.78459l.16239.16239c.29134.29134.43701.437.53225.58349.35916.55241.35916 1.26456 0 1.81696-.09524.14649-.24091.29216-.53225.58349-.09526.09526-.14289.14289-.18275.19857-.14168.19786-.1906.48474-.12249.71837.01916.06574.0441.1177.09399.2216Z' stroke='%2348BBB9' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.search-section .search-sidebar .search-contact-widget .contact-info .contact-details .contact-phone.contact-email a::before,
.search-section .search-sidebar .search-contact-widget .contact-info .contact-details .contact-email.contact-email a::before {
  background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m17.916 15-5.5357-5.00001m-4.7619 0L2.08271 15m-.41669-9.16667 6.8041 4.76287c.55097.3857.82646.5785 1.12612.6532.26469.066.54156.066.80626 0 .2996-.0747.5751-.2675 1.1261-.6532l6.8041-4.76287M5.66602 16.6667h8.66668c1.4001 0 2.1002 0 2.635-.2725.4704-.2397.8528-.6222 1.0925-1.0926.2725-.5347.2725-1.2348.2725-2.6349V7.33333c0-1.40013 0-2.1002-.2725-2.63498-.2397-.4704-.6221-.85285-1.0925-1.09254-.5348-.27248-1.2349-.27248-2.635-.27248H5.66602c-1.40014 0-2.1002 0-2.63498.27248-.47041.23969-.85286.62214-1.09254 1.09254-.27248.53478-.27248 1.23485-.27248 2.63498v5.33337c0 1.4001 0 2.1002.27248 2.6349.23968.4704.62213.8529 1.09254 1.0926.53478.2725 1.23484.2725 2.63498.2725Z' stroke='%2348BBB9' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
@media screen and (max-width: 991px) {
  .search-section .search-sidebar {
    position: static;
    display: contents;
  }
  .search-section .search-sidebar .search-sidebar-widget {
    order: -1;
    width: 100%;
  }
  .search-section .search-sidebar .search-contact-widget {
    width: 100%;
  }
}
.search-section + .acf-block.acf-block--newsletter {
  padding: 56px 0 40px;
}

.mobile-book-now-btn {
  position: fixed;
  bottom: 16px;
  right: 16px;
  transform: translateY(100px);
  z-index: 1000;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 7px 16px;
  gap: 4px;
  background: #EA4E51;
  border: none;
  border-radius: 999px;
  cursor: pointer;
  transition: all 0.3s ease;
  opacity: 0;
  visibility: hidden;
}
@media screen and (min-width: 769px) {
  .mobile-book-now-btn {
    display: none;
  }
}
.mobile-book-now-btn.visible {
  transform: translateY(0);
  opacity: 1;
  visibility: visible;
}
.mobile-book-now-btn:hover {
  background: #D63E41;
}
.mobile-book-now-btn:active {
  transform: translateY(2px);
}
.mobile-book-now-btn .btn-text {
  width: 80px;
  height: 26px;
  font-style: normal;
  font-weight: 700;
  font-size: var(--font-16);
  line-height: 26px;
  color: #FFFFFF;
}
.mobile-book-now-btn svg {
  width: 20px;
  height: 20px;
  transition: transform 0.3s ease;
}
.mobile-book-now-btn.arrow-up svg {
  transform: rotate(180deg);
}

.holiday-deals-section .holiday-deals-header {
  padding: 82px 0 43px;
  background-image: url("data:image/svg+xml,%3Csvg width='1440' height='280' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 .367889h1440V241L0 279.5V.367889Z' fill='%23FAF9F7'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: cover;
}
@media screen and (max-width: 991px) {
  .holiday-deals-section .holiday-deals-header {
    padding: 48px 0;
  }
}
.holiday-deals-section .holiday-deals-header .holiday-deals-title {
  font-family: var(--ff-head);
  font-style: italic;
  font-weight: 600;
  font-size: 64px;
  line-height: 74px;
  letter-spacing: -2px;
  color: #3C4678;
  margin: 0 0 20px;
}
@media screen and (max-width: 991px) {
  .holiday-deals-section .holiday-deals-header .holiday-deals-title {
    font-size: 40px;
    line-height: 50px;
    letter-spacing: -2px;
  }
}
.holiday-deals-section .holiday-deals-header .holiday-deals-subtitle {
  font-weight: 400;
  font-size: 18px;
  line-height: 30px;
  letter-spacing: -0.5px;
  color: #3D414F;
  margin: 0;
  max-width: 550px;
}
.holiday-deals-section .holiday-deals-grid {
  display: flex;
  flex-direction: column;
  gap: 104px;
  padding: 64px 0 40px;
}
@media screen and (max-width: 991px) {
  .holiday-deals-section .holiday-deals-grid {
    padding: 52px 0 0;
    gap: 80px;
  }
}
.holiday-deals-section .no-deals {
  font-weight: 400;
  font-size: 32px;
  line-height: 42px;
  color: #3C4678;
  padding: 104px 0 4px;
  text-align: center;
}
.holiday-deals-section + .acf-block--newsletter {
  padding: 104px 0 80px;
}
@media screen and (max-width: 991px) {
  .holiday-deals-section + .acf-block--newsletter {
    padding: 67px 0 40px;
  }
}

.holiday-deal-card {
  display: flex;
  width: 100%;
  height: 448px;
  border: 1px solid #B1B3B9;
  border-radius: 16px;
}
.holiday-deal-card:nth-child(even) {
  flex-direction: row-reverse;
}
.holiday-deal-card:nth-child(even) .deal-image {
  border-radius: 0 16px 16px 0;
}
.holiday-deal-card .deal-image {
  display: block;
  position: relative;
  width: 640px;
  flex-shrink: 0;
  height: 100%;
  background-size: cover;
  background-position: center;
  border-radius: 16px 0 0 16px;
}
@media screen and (max-width: 1170px) {
  .holiday-deal-card .deal-image {
    width: 50%;
  }
}
.holiday-deal-card .deal-content {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  padding: 48px 32px 32px;
  gap: 24px;
  width: 100%;
}
.holiday-deal-card .deal-content .deal-label {
  position: absolute;
  top: -19px;
  left: 32px;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 6px 10px;
  gap: 10px;
  background-color: #EA4E51;
  border-radius: 8px 0;
  font-weight: 700;
  font-size: var(--font-16);
  line-height: 26px;
  color: #FFFFFF;
  text-transform: uppercase;
}
@media screen and (max-width: 374px) {
  .holiday-deal-card .deal-content .deal-label {
    font-size: 12px;
  }
}
.holiday-deal-card .deal-content .deal-info {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.holiday-deal-card .deal-content .deal-info .deal-title {
  font-weight: 700;
  font-size: 40px;
  line-height: 52px;
  color: #3C4678;
  margin: 0;
  text-wrap: balance;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.holiday-deal-card .deal-content .deal-info .deal-description {
  font-weight: 400;
  font-size: 18px;
  line-height: 30px;
  letter-spacing: -0.5px;
  color: #3D414F;
  text-wrap: balance;
  display: -webkit-box;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.holiday-deal-card .deal-content .deal-info .deal-description p {
  margin: 0;
}
.holiday-deal-card .deal-content .deal-button {
  background-color: #3C4678;
  transition: all 0.25s ease-in-out;
  border-radius: 8px;
  padding: 6px 16px;
  text-decoration: none;
}
.holiday-deal-card .deal-content .deal-button .button-text {
  font-weight: 400;
  font-size: 18px;
  line-height: 30px;
  letter-spacing: -0.5px;
  color: #FFFFFF;
}
.holiday-deal-card .deal-content .deal-button:hover {
  background-color: #2a3056;
}
@media screen and (max-width: 800px) {
  .holiday-deal-card {
    height: auto;
  }
  .holiday-deal-card, .holiday-deal-card:nth-child(even) {
    flex-direction: column-reverse;
  }
  .holiday-deal-card .deal-image, .holiday-deal-card:nth-child(even) .deal-image {
    width: 100%;
    height: 400px;
    border-radius: 0 0 16px 16px;
  }
  .holiday-deal-card .deal-content {
    padding: 32px 24px 24px;
  }
  .holiday-deal-card .deal-content .deal-label {
    left: 24px;
  }
  .holiday-deal-card .deal-content .deal-info .deal-title {
    font-size: 28px;
    line-height: 38px;
  }
}
@media screen and (max-width: 600px) {
  .holiday-deal-card .deal-image, .holiday-deal-card:nth-child(even) .deal-image {
    height: 284px;
  }
}

.holiday-deal-page .holiday-deal-hero {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  padding: 40px 0;
  width: 100%;
  height: 422px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 69.19%, rgba(0, 0, 0, 0.5) 100%);
}
.holiday-deal-page .holiday-deal-hero::before {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 69.19%, rgba(0, 0, 0, 0.5) 100%);
}
.holiday-deal-page .holiday-deal-hero .container {
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 991px) {
  .holiday-deal-page .holiday-deal-hero {
    height: 380px;
  }
}
@media screen and (max-width: 555px) {
  .holiday-deal-page .holiday-deal-hero {
    height: 265px;
    padding: 16px 0 32px;
  }
}
.holiday-deal-page .holiday-deal-hero .hero-content {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.holiday-deal-page .holiday-deal-hero .hero-breadcrumbs .breadcrumb-link {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 0;
  gap: 8px;
  width: auto;
  height: 24px;
  text-decoration: none;
  color: #FFFFFF;
  font-style: normal;
  font-weight: 400;
  font-size: var(--font-14);
  line-height: 24px;
  transition: opacity 0.2s ease;
}
.holiday-deal-page .holiday-deal-hero .hero-breadcrumbs .breadcrumb-link:hover {
  opacity: 0.8;
}
.holiday-deal-page .holiday-deal-hero .hero-breadcrumbs .breadcrumb-link svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}
@media screen and (max-width: 991px) {
  .holiday-deal-page .holiday-deal-hero .hero-breadcrumbs .breadcrumb-link {
    font-size: var(--font-12);
    line-height: 18px;
  }
}
.holiday-deal-page .holiday-deal-hero .hero-main {
  margin-top: auto;
}
.holiday-deal-page .holiday-deal-hero .hero-title {
  font-family: var(--ff-head);
  font-style: italic;
  font-weight: 600;
  font-size: 64px;
  line-height: 74px;
  letter-spacing: -2px;
  color: #FFFFFF;
  text-shadow: -4px -4px 20px rgba(0, 0, 0, 0.4), 4px 4px 20px rgba(0, 0, 0, 0.4);
  margin: 0;
}
@media screen and (max-width: 991px) {
  .holiday-deal-page .holiday-deal-hero .hero-title {
    font-size: 40px;
    line-height: 50px;
  }
}
.holiday-deal-page .holiday-deal-hero .container {
  width: 100%;
  height: 100%;
}
.holiday-deal-page .holiday-deal-content {
  padding: 56px 0 104px;
}
@media screen and (max-width: 1440px) {
  .holiday-deal-page .holiday-deal-content {
    padding: 56px 0 104px;
  }
}
@media screen and (max-width: 968px) {
  .holiday-deal-page .holiday-deal-content {
    padding: 40px 0 80px;
  }
}
.holiday-deal-page .holiday-deal-content .deal-layout {
  display: flex;
  gap: 48px;
  max-width: 1232px;
  margin: 0 auto;
}
@media screen and (max-width: 968px) {
  .holiday-deal-page .holiday-deal-content .deal-layout {
    flex-direction: column;
    gap: 40px;
  }
}
.holiday-deal-page .holiday-deal-content + .acf-block--newsletter {
  padding: 0 0 80px;
}
.holiday-deal-page .deal-main {
  flex: 1;
  max-width: 764px;
}
.holiday-deal-page .deal-main .deal-section {
  margin-bottom: 32px;
}
.holiday-deal-page .deal-main .deal-section:last-child {
  margin-bottom: 0;
}
.holiday-deal-page .deal-main .deal-section.about-offer {
  margin-bottom: 24px;
}
.holiday-deal-page .deal-main .deal-section h2 {
  font-weight: 700;
  font-size: 40px;
  line-height: 52px;
  color: #3C4678;
  margin: 0 0 12px;
}
@media screen and (max-width: 991px) {
  .holiday-deal-page .deal-main .deal-section h2 {
    font-size: 32px;
    line-height: 42px;
  }
}
.holiday-deal-page .deal-main .deal-section .content p {
  font-size: var(--font-16);
  line-height: 26px;
  color: #333333;
  margin: 0 0 16px;
}
.holiday-deal-page .deal-main .deal-section .content p:last-child {
  margin-bottom: 0;
}
.holiday-deal-page .deal-main .deal-section .content ul, .holiday-deal-page .deal-main .deal-section .content ol {
  padding: 0 0 0 30px;
  margin: 0;
}
.holiday-deal-page .deal-main .deal-section .content ul li, .holiday-deal-page .deal-main .deal-section .content ol li {
  font-weight: 400;
  font-size: var(--font-16);
  line-height: 26px;
  color: #3D414F;
}
.holiday-deal-page .deal-main .deal-section .content ul li:not(:last-child), .holiday-deal-page .deal-main .deal-section .content ol li:not(:last-child) {
  margin-bottom: 12px;
}
.holiday-deal-page .deal-sidebar {
  width: 420px;
  flex-shrink: 0;
}
@media screen and (max-width: 968px) {
  .holiday-deal-page .deal-sidebar {
    width: 100%;
  }
}
.holiday-deal-page .deal-sidebar .sidebar-section {
  background: #FAF9F7;
  border-radius: 12px;
  padding: 16px;
  margin-bottom: 24px;
}
.holiday-deal-page .deal-sidebar .sidebar-section:last-child {
  margin-bottom: 0;
}
.holiday-deal-page .deal-sidebar .sidebar-section h3 {
  font-weight: 700;
  font-size: 18px;
  line-height: 30px;
  letter-spacing: -0.5px;
  color: #3C4678;
  margin: 0 0 16px;
}
.holiday-deal-page .deal-sidebar .sidebar-section .sidebar-content p {
  font-weight: 400;
  font-size: var(--font-16);
  line-height: 26px;
  color: #111214;
  margin: 0;
}
.holiday-deal-page .deal-sidebar .sidebar-section .sidebar-content p a[href^="tel:"] {
  display: inline-flex;
  align-items: center;
  position: relative;
  font-weight: 400;
  font-size: 24px;
  letter-spacing: -1px;
  color: #EA4E51;
  text-decoration: none;
}
.holiday-deal-page .deal-sidebar .sidebar-section .sidebar-content p a[href^="tel:"]::before {
  content: "";
  position: relative;
  width: 24px;
  height: 24px;
  margin-right: 8px;
  background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.38028 8.85323c.69599 1.44957 1.64482 2.80827 2.84632 4.00987 1.2016 1.2015 2.5603 2.1503 4.0099 2.8463.1247.0599.187.0898.2659.1128.2804.0818.6246.0231.862-.147.0669-.0478.124-.105.2383-.2193.3496-.3496.5244-.5244.7002-.6387.6629-.431 1.5175-.431 2.1804 0 .1758.1143.3506.2891.7002.6387l.1948.1949c.5315.5314.7972.7972.9415 1.0825.2871.5676.2871 1.2379 0 1.8054-.1443.2854-.41.5511-.9415 1.0826l-.1576.1576c-.5296.5296-.7944.7944-1.1545.9967-.3995.2244-1.02.3858-1.4782.3844-.4129-.0012-.6952-.0813-1.2596-.2415-3.0334-.861-5.8958-2.4855-8.28374-4.8735-2.38798-2.3879-4.01245-5.2503-4.87342-8.28369-.16021-.56444-.24032-.84667-.24154-1.25961-.00137-.45823.15999-1.07872.38441-1.47822.20225-.36003.46706-.62485.99669-1.15447l.15763-.15763c.53144-.53145.79717-.79717 1.08255-.94151.56756-.28707 1.23782-.28707 1.80538 0 .28538.14434.55111.41006 1.08255.94151l.19487.19487c.3496.3496.52441.5244.63869.70018.431.66289.431 1.51747 0 2.18036-.11428.17578-.28909.35059-.63869.70019-.11431.11431-.17147.17147-.21931.23828-.17001.23743-.22871.58169-.14699.86204.023.0789.05293.14124.1128.26593Z' stroke='%2348BBB9' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  flex-shrink: 0;
}
.holiday-deal-page .deal-sidebar .sidebar-section .sidebar-content p a[href^="tel:"]:hover {
  text-decoration: underline;
}
.holiday-deal-page .deal-sidebar .sidebar-section.specifications .specifications-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.holiday-deal-page .deal-sidebar .sidebar-section.specifications .specifications-list li {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: var(--font-16);
  line-height: 26px;
  color: #111214;
  margin-bottom: 8px;
}
.holiday-deal-page .deal-sidebar .sidebar-section.specifications .specifications-list li p {
  margin: 0;
}
.holiday-deal-page .deal-sidebar .sidebar-section.specifications .specifications-list li:last-child {
  margin-bottom: 0;
}
.holiday-deal-page .deal-sidebar .sidebar-section.specifications .specifications-list li::before {
  content: "";
  position: relative;
  width: 20px;
  height: 20px;
  background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23a)'%3E%3Cpath d='m6.2513 9.99996 2.5 2.50004 5-5.00004m4.5833 2.5c0 4.60234-3.7309 8.33334-8.3333 8.33334-4.60237 0-8.33333-3.731-8.33333-8.33334 0-4.60237 3.73096-8.33333 8.33333-8.33333 4.6024 0 8.3333 3.73096 8.3333 8.33333Z' stroke='%2348BBB9' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='a'%3E%3Cpath fill='%23fff' d='M0 0h20v20H0z'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  flex-shrink: 0;
}
.holiday-deal-page .deal-sidebar .sidebar-section.already-booked h3 {
  margin: 0 0 12px;
}

.single-holiday-deal .site-main {
  padding-top: 0;
}

.custom-toc {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: 0;
  gap: 16px;
  margin: 0 auto;
  border-radius: 12px;
}
.custom-toc .toc-title {
  width: 113px;
  height: 30px;
  font-style: normal;
  font-weight: 700;
  font-size: 18px;
  line-height: 30px;
  letter-spacing: -0.5px;
  color: #3C4678;
  margin: 0;
}
.custom-toc .toc-list {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0;
  list-style: none;
  margin: 0;
  max-height: 420px;
  overflow-y: auto;
}
.custom-toc .toc-list::-webkit-scrollbar {
  width: 4px;
}
.custom-toc .toc-list::-webkit-scrollbar-track {
  background: #F1F3F9;
  border-radius: 2px;
}
.custom-toc .toc-list::-webkit-scrollbar-thumb {
  background: #C7D2FE;
  border-radius: 2px;
}
.custom-toc .toc-list::-webkit-scrollbar-thumb:hover {
  background: #A5B4FC;
}
.custom-toc .toc-list .toc-item {
  margin: 0;
  padding: 0;
  width: 100%;
}
.custom-toc .toc-list .toc-item.toc-level-3 {
  margin-left: 16px;
}
.custom-toc .toc-list .toc-item.toc-level-3 .toc-link span {
  font-size: var(--font-14);
  color: #6B7280;
}
.custom-toc .toc-list .toc-item.toc-level-4 {
  margin-left: 32px;
}
.custom-toc .toc-list .toc-item.toc-level-4 .toc-link span {
  font-size: 13px;
  color: #9CA3AF;
}
.custom-toc .toc-list .toc-link {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 8px;
  gap: 10px;
  text-decoration: none;
  transition: background-color 0.2s ease;
}
.custom-toc .toc-list .toc-link span {
  width: 298px;
  font-style: normal;
  font-weight: 400;
  font-size: var(--font-16);
  line-height: 26px;
  color: #3D414F;
}
@media screen and (min-width: 768px) and (hover: hover) {
  .custom-toc .toc-list .toc-link:hover {
    text-decoration: none;
    background: #F8F9FC;
    border-radius: 4px;
  }
}
@media screen and (min-width: 768px) {
  .custom-toc .toc-list .toc-link.active {
    background: #EEF0FA;
    border-radius: 4px;
  }
  .custom-toc .toc-list .toc-link.active span {
    color: #3C4678;
  }
}
@media screen and (max-width: 767px) {
  .custom-toc .toc-list .toc-link {
    text-decoration: underline;
  }
}
.custom-toc.toc-scrolling .toc-link:hover {
  background: transparent !important;
}
.custom-toc.toc-scrolling .toc-link {
  pointer-events: none;
}
.custom-toc.toc-scrolling .toc-link.active {
  pointer-events: auto;
  background: #EEF0FA;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 80px;
}

@media screen and (min-width: 992px) {
  .e-con-inner .elementor-element .sticky-sidebar {
    position: sticky !important;
    top: 80px !important;
    z-index: 10 !important;
  }
}
.blog-listing-section .blog-listing-header {
  padding: 82px 0 43px;
  background-image: url("data:image/svg+xml,%3Csvg width='1440' height='280' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 .367889h1440V241L0 279.5V.367889Z' fill='%23FAF9F7'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: cover;
}
@media screen and (max-width: 991px) {
  .blog-listing-section .blog-listing-header {
    padding: 48px 0;
  }
}
.blog-listing-section .blog-listing-header .blog-listing-title {
  font-family: var(--ff-head);
  font-style: italic;
  font-weight: 600;
  font-size: 64px;
  line-height: 74px;
  letter-spacing: -2px;
  color: #3C4678;
  margin: 0 0 20px;
}
@media screen and (max-width: 991px) {
  .blog-listing-section .blog-listing-header .blog-listing-title {
    font-size: 40px;
    line-height: 50px;
    letter-spacing: -2px;
  }
}
.blog-listing-section .blog-listing-header .blog-listing-subtitle {
  font-weight: 400;
  font-size: 18px;
  line-height: 30px;
  letter-spacing: -0.5px;
  color: #3D414F;
  margin: 0;
}
.blog-listing-section .blog-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  margin: 40px 0 48px;
  align-items: center;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .blog-listing-section .blog-controls {
    margin: 24px 0 16px;
  }
}
.blog-listing-section .blog-search {
  display: flex;
  align-items: center;
  padding: 8px 12px;
  gap: 8px;
  background-color: #FFFFFF;
  border: 1px solid #8C8F94;
  border-radius: 8px;
  max-width: 400px;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .blog-listing-section .blog-search {
    display: none;
  }
}
.blog-listing-section .blog-search svg {
  width: 20px;
  height: 20px;
}
.blog-listing-section .blog-search .blog-search-input {
  font-weight: 400;
  font-size: var(--font-16);
  line-height: 26px;
  color: #646772;
  border: none;
  outline: none;
}
@media screen and (max-width: 768px) {
  .blog-listing-section .blog-filters {
    width: 100%;
  }
}
.blog-listing-section .blog-filters .blog-filter-tags {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 12px 8px;
}
@media screen and (max-width: 1280px) {
  .blog-listing-section .blog-filters .blog-filter-tags {
    width: 100%;
    height: auto;
  }
}
@media screen and (max-width: 768px) {
  .blog-listing-section .blog-filters .blog-filter-tags {
    display: none;
  }
}
.blog-listing-section .blog-filters .blog-filter-tags .blog-tag-filter {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-width: 51px;
  padding: 6px 12px;
  border: 1px solid #3C4678;
  border-radius: 999px;
  font-weight: 500;
  font-size: var(--font-16);
  line-height: 150%;
  color: #3C4678;
  cursor: pointer;
  background-color: #fff;
  transition: all 0.3s ease-in-out;
}
@media (hover: hover) {
  .blog-listing-section .blog-filters .blog-filter-tags .blog-tag-filter:hover {
    background-color: #f2f2f2;
  }
}
.blog-listing-section .blog-filters .blog-filter-tags .blog-tag-filter.active {
  background-color: #3C4678;
  color: #FFFFFF;
}
.blog-listing-section .blog-filters .blog-filter-select {
  display: none;
  position: relative;
}
@media screen and (max-width: 768px) {
  .blog-listing-section .blog-filters .blog-filter-select {
    display: block;
    width: 100%;
    max-width: 100%;
  }
}
.blog-listing-section .blog-filters .blog-filter-select .filter-select-container {
  display: flex;
  align-items: center;
  padding: 8px 12px;
  gap: 10px;
  width: 100%;
  height: 42px;
  background: #FFFFFF;
  border: 1px solid #D8D9DC;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.3s ease;
}
.blog-listing-section .blog-filters .blog-filter-select .filter-select-container.open {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
.blog-listing-section .blog-filters .blog-filter-select .filter-select-container .filter-text-icons {
  display: flex;
  flex-direction: row;
  align-items: center;
  width: 100%;
}
.blog-listing-section .blog-filters .blog-filter-select .filter-select-container .filter-text-icons .filter-text .filter-selected-text {
  width: 100%;
  height: 26px;
  font-style: normal;
  font-weight: 400;
  font-size: var(--font-16);
  line-height: 26px;
  display: flex;
  align-items: center;
  text-align: center;
  color: #111214;
}
.blog-listing-section .blog-filters .blog-filter-select .filter-select-container .filter-dropdown-arrow {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  transition: transform 0.3s ease;
}
.blog-listing-section .blog-filters .blog-filter-select .filter-select-container .filter-dropdown-arrow.rotated {
  transform: rotate(180deg);
}
.blog-listing-section .blog-filters .blog-filter-select .filter-dropdown {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 8px 0px;
  isolation: isolate;
  position: absolute;
  width: 100%;
  min-width: 177px;
  height: auto;
  max-height: 371px;
  left: 0;
  top: 100%;
  background: #FFFFFF;
  border: 1px solid #D8D9DC;
  box-shadow: 0px 4px 16px rgba(0, 0, 0, 0.05);
  border-radius: 12px;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  z-index: 100;
  overflow-y: auto;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: all 0.3s ease;
  flex: none;
  order: 2;
  flex-grow: 0;
}
.blog-listing-section .blog-filters .blog-filter-select .filter-dropdown.open {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.blog-listing-section .blog-filters .blog-filter-select .filter-dropdown .filter-dropdown-label {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  padding: 8px 16px;
  gap: 16px;
  width: 100%;
  height: 42px;
  cursor: pointer;
  transition: background-color 0.2s ease;
  flex: none;
  order: 0;
  align-self: stretch;
  flex-grow: 0;
}
.blog-listing-section .blog-filters .blog-filter-select .filter-dropdown .filter-dropdown-label:hover {
  background: #F8F9FA;
}
.blog-listing-section .blog-filters .blog-filter-select .filter-dropdown .filter-dropdown-label span {
  height: 26px;
  font-style: normal;
  font-weight: 400;
  font-size: var(--font-16);
  line-height: 26px;
  display: flex;
  align-items: center;
  text-align: center;
  color: #111214;
  flex: none;
  order: 0;
  flex-grow: 0;
}
.blog-listing-section .blog-filters .blog-filter-select .filter-dropdown .filter-dropdown-label .form-control-element {
  margin: 0 0 0 auto;
  width: 24px;
  height: 24px;
  flex: none;
  order: 1;
  flex-grow: 0;
  position: relative;
}
.blog-listing-section .blog-filters .blog-filter-select .filter-dropdown .filter-dropdown-label .form-control-element .checkbox-outer {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  border: 1px solid #D8D9DC;
  border-radius: 4px;
  background: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
}
.blog-listing-section .blog-filters .blog-filter-select .filter-dropdown .filter-dropdown-label .form-control-element .checkbox-outer.checked {
  background: #48BBB9;
  border-color: #48BBB9;
}
.blog-listing-section .blog-filters .blog-filter-select .filter-dropdown .filter-dropdown-label .form-control-element .checkbox-outer.checked .checkbox-icon {
  opacity: 1;
}
.blog-listing-section .blog-filters .blog-filter-select .filter-dropdown .filter-dropdown-label .form-control-element .checkbox-outer .checkbox-icon {
  width: 20px;
  height: 20px;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.blog-listing-section .blog-posts-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px 32px;
  transition: opacity 0.3s ease;
}
.blog-listing-section .blog-posts-grid.loading {
  opacity: 0.6;
  pointer-events: none;
  position: relative;
}
.blog-listing-section .blog-posts-grid.loading::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 40px;
  height: 40px;
  border: 3px solid #f3f3f3;
  border-top: 3px solid #3C4678;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  transform: translate(-50%, -50%);
  z-index: 10;
}
.blog-listing-section .blog-posts-grid:has(.no-blog-posts) {
  grid-template-columns: 1fr;
}
@media screen and (max-width: 1280px) {
  .blog-listing-section .blog-posts-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 768px) {
  .blog-listing-section .blog-posts-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}
.blog-listing-section .blog-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0;
  background: #FFFFFF;
  border: 1px solid #D8D9DC;
  border-radius: 20px;
}
.blog-listing-section .blog-card .blog-card-link {
  display: flex;
  flex-direction: column;
  width: 100%;
  text-decoration: none;
  color: inherit;
}
.blog-listing-section .blog-card .blog-card-image {
  width: 100%;
  height: 217px;
  overflow: hidden;
}
.blog-listing-section .blog-card .blog-card-image img {
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: 1 !important;
  object-fit: cover;
  border-radius: 12px 12px 0 0;
}
.blog-listing-section .blog-card .blog-card-content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 20px;
  width: 100%;
  height: 282px;
}
@media screen and (max-width: 768px) {
  .blog-listing-section .blog-card .blog-card-content {
    height: auto;
  }
}
.blog-listing-section .blog-card .blog-card-content .blog-card-title {
  width: 100%;
  font-weight: 700;
  font-size: 18px;
  line-height: 30px;
  letter-spacing: -0.5px;
  color: #3C4678;
  margin: 0 0 8px 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.blog-listing-section .blog-card .blog-card-content .blog-card-excerpt {
  width: 100%;
  font-weight: 400;
  font-size: var(--font-16);
  line-height: 26px;
  color: #3D414F;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.blog-listing-section .blog-card .blog-card-content .blog-card-bottom {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
  margin-top: auto;
}
@media screen and (max-width: 768px) {
  .blog-listing-section .blog-card .blog-card-content .blog-card-bottom {
    margin-top: 16px;
  }
}
.blog-listing-section .blog-card .blog-card-content .blog-card-bottom .blog-card-tags {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-start;
  align-content: flex-start;
  padding: 0;
  gap: 4px;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .blog-listing-section .blog-card .blog-card-content .blog-card-bottom .blog-card-tags {
    display: none;
  }
}
.blog-listing-section .blog-card .blog-card-content .blog-card-bottom .blog-card-tags .blog-card-tag {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 2px 12px;
  height: 22px;
  background: #EEF0FA;
  border-radius: 999px;
  font-weight: 400;
  font-size: var(--font-12);
  line-height: 18px;
  color: #3C4678;
}
.blog-listing-section .blog-card .blog-card-content .blog-card-bottom .blog-card-date {
  width: 100%;
  height: 18px;
  font-weight: 400;
  font-size: var(--font-12);
  line-height: 18px;
  color: #646772;
  margin: 0;
}
.blog-listing-section .no-posts-found {
  text-align: center;
  padding: 80px 20px;
}
.blog-listing-section .no-posts-found h2 {
  font-size: 24px;
  color: #3C4678;
  margin-bottom: 16px;
}
.blog-listing-section .no-posts-found p {
  font-size: var(--font-16);
  color: #3D414F;
  max-width: 400px;
  margin: 0 auto;
  line-height: 1.6;
}
.blog-listing-section .blog-load-more-container {
  display: flex;
  justify-content: center;
}
.blog-listing-section .blog-load-more-container .blog-load-more-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: var(--font-16);
  line-height: 26px;
  color: #3C4678;
  cursor: pointer;
  background-color: transparent;
  border: none;
  padding: 0;
  outline: none;
}
.blog-listing-section .blog-load-more-container .blog-load-more-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.blog-listing-section .blog-load-more-container .blog-load-more-btn .load-more-text {
  display: flex;
  align-items: center;
}
.blog-listing-section .blog-load-more-container .blog-load-more-btn .load-more-spinner {
  display: flex;
  align-items: center;
  gap: 8px;
}
.blog-listing-section .blog-load-more-container .blog-load-more-btn .load-more-spinner::before {
  content: "";
  width: 16px;
  height: 16px;
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-top: 2px solid #3C4678;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}
.blog-listing-section .no-blog-posts {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 64px 15px;
}
.blog-listing-section .no-blog-posts svg {
  width: 100px;
  height: 100px;
  flex-shrink: 0;
  margin-bottom: 12px;
}
.blog-listing-section .no-blog-posts .no-results-title {
  font-weight: 400;
  font-size: 32px;
  line-height: 42px;
  color: #3C4678;
  margin: 0 0 16px;
}
.blog-listing-section .no-blog-posts .no-results-description {
  max-width: 414px;
  font-weight: 400;
  font-size: var(--font-16);
  line-height: 26px;
  text-align: center;
  color: #3D414F;
  margin: 0 auto;
}
.blog-listing-section .blog-error {
  background: #fee;
  color: #c33;
  padding: 16px;
  border-radius: 8px;
  text-align: center;
}
.blog-listing-section .blog-loading {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.9);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  z-index: 99;
}
.blog-listing-section .blog-loading .loading-spinner {
  width: 40px;
  height: 40px;
  border: 3px solid #f3f3f3;
  border-top: 3px solid #3C4678;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  margin-bottom: 16px;
}
.blog-listing-section .blog-loading p {
  color: #666;
  margin: 0;
  font-size: 18px;
  font-weight: 500;
}

.blog-bottom-blocks .acf-block.acf-block--newsletter {
  padding: 80px 0;
}
.blog-bottom-blocks .wp-block-group {
  margin-bottom: 0;
}
.blog-bottom-blocks .wp-block-group__inner-container {
  padding-top: 0;
  padding-bottom: 0;
}

.single-post-hero {
  padding: 80px 0;
  gap: 80px;
  background: #3C4678;
  min-height: 520px;
}
@media screen and (max-width: 991px) {
  .single-post-hero {
    padding: 48px 0;
    min-height: auto;
  }
}
.single-post-hero .container {
  display: flex;
  align-items: center;
  gap: 80px;
  width: 100%;
}
@media screen and (max-width: 1070px) {
  .single-post-hero .container {
    flex-direction: column;
  }
}
@media screen and (max-width: 991px) {
  .single-post-hero .container {
    gap: 24px;
  }
}
.single-post-hero .hero-content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  max-width: 519px;
  width: 100%;
}
@media screen and (max-width: 1070px) {
  .single-post-hero .hero-content {
    max-width: none;
    gap: 32px;
  }
}
.single-post-hero .hero-text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  width: 100%;
}
.single-post-hero .hero-top {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 32px;
  width: 100%;
}
@media screen and (max-width: 991px) {
  .single-post-hero .hero-top {
    gap: 24px;
  }
}
.single-post-hero .back-to-blog {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: #FFFFFF;
  text-decoration: none;
  font-weight: 400;
  font-size: var(--font-14);
  line-height: 24px;
  transition: opacity 0.3s ease;
}
.single-post-hero .back-to-blog:hover {
  opacity: 0.8;
}
.single-post-hero .back-to-blog svg {
  width: 20px;
  height: 20px;
}
.single-post-hero .back-to-blog svg path {
  stroke: #FFFFFF;
}
.single-post-hero .single-post-title {
  font-family: var(--ff-head);
  font-style: italic;
  font-weight: 600;
  font-size: 64px;
  line-height: 74px;
  letter-spacing: -2px;
  color: #FFFFFF;
  margin: 0;
  width: 100%;
}
@media screen and (max-width: 991px) {
  .single-post-hero .single-post-title {
    font-size: 40px;
    line-height: 50px;
  }
}
.single-post-hero .single-post-description {
  font-weight: 400;
  font-size: var(--font-16);
  line-height: 26px;
  color: #FFFFFF;
  margin: 0;
  width: 100%;
}
.single-post-hero .single-post-description p {
  margin: 0;
}
.single-post-hero .single-post-meta .single-post-date {
  font-weight: 400;
  font-size: var(--font-14);
  line-height: 24px;
  color: #FFFFFF;
}
.single-post-hero .single-post-featured-image {
  max-width: 633px;
  width: 100%;
  height: 360px;
  border-radius: 12px;
  overflow: hidden;
}
@media screen and (max-width: 1070px) {
  .single-post-hero .single-post-featured-image {
    width: 100%;
    max-width: 768px;
  }
}
@media screen and (max-width: 555px) {
  .single-post-hero .single-post-featured-image {
    height: 205px;
  }
}
.single-post-hero .single-post-featured-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.single-post-content {
  padding: 48px 0;
}
.single-post-content .container {
  max-width: 808px;
  margin: 0 auto;
  padding: 0 20px;
}
.single-post-content .single-post-article {
  width: 100%;
  max-width: 808px;
  margin-bottom: 56px;
}
.single-post-content .single-post-article > * {
  width: 100%;
  margin: 0;
}
.single-post-content .single-post-article p {
  font-style: normal;
  font-weight: 400;
  font-size: var(--font-16);
  line-height: 26px;
  color: #111214;
  margin: 0 0 16px;
}
.single-post-content .single-post-article h1 {
  font-family: var(--ff-head);
  font-style: italic;
  font-weight: 600;
  font-size: 64px;
  line-height: 74px;
  letter-spacing: -2px;
  color: #3C4678;
  margin: 0 0 24px;
}
@media screen and (max-width: 768px) {
  .single-post-content .single-post-article h1 {
    font-size: 40px;
    line-height: 50px;
  }
}
.single-post-content .single-post-article h2 {
  font-family: var(--ff-base);
  font-style: normal;
  font-weight: 500;
  font-size: 48px;
  line-height: 58px;
  letter-spacing: 0px;
  color: #3C4678;
  margin: 0 0 24px;
}
@media screen and (max-width: 768px) {
  .single-post-content .single-post-article h2 {
    font-size: 32px;
    line-height: 42px;
  }
}
.single-post-content .single-post-article h3 {
  font-family: var(--ff-base);
  font-style: normal;
  font-weight: 500;
  font-size: 40px;
  line-height: 52px;
  letter-spacing: 0px;
  color: #3C4678;
  margin: 0 0 24px;
}
@media screen and (max-width: 768px) {
  .single-post-content .single-post-article h3 {
    font-size: 28px;
    line-height: 38px;
  }
}
.single-post-content .single-post-article h4 {
  font-family: var(--ff-base);
  font-style: normal;
  font-weight: 500;
  font-size: 32px;
  line-height: 44px;
  letter-spacing: 0px;
  color: #3C4678;
  margin: 0 0 24px;
}
@media screen and (max-width: 768px) {
  .single-post-content .single-post-article h4 {
    font-size: 24px;
    line-height: 32px;
  }
}
.single-post-content .single-post-article h5 {
  font-family: var(--ff-base);
  font-style: normal;
  font-weight: 500;
  font-size: 28px;
  line-height: 40px;
  letter-spacing: 0px;
  color: #3C4678;
  margin: 0 0 24px;
}
@media screen and (max-width: 768px) {
  .single-post-content .single-post-article h5 {
    font-size: 22px;
    line-height: 30px;
  }
}
.single-post-content .single-post-article h6 {
  font-family: var(--ff-base);
  font-style: normal;
  font-weight: 500;
  font-size: 24px;
  line-height: 36px;
  letter-spacing: 0;
  color: #3C4678;
  margin: 0 0 24px;
}
@media screen and (max-width: 768px) {
  .single-post-content .single-post-article h6 {
    font-size: 20px;
    line-height: 28px;
  }
}
.single-post-content .single-post-article .wp-block-image {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  margin: 32px 0;
}
@media screen and (max-width: 768px) {
  .single-post-content .single-post-article .wp-block-image {
    margin: 24px 0;
  }
}
.single-post-content .single-post-article .wp-block-image img {
  width: 100%;
  object-fit: cover;
  border-radius: 12px;
  margin: 0;
}
@media screen and (max-width: 768px) {
  .single-post-content .single-post-article .wp-block-image img {
    height: 240px;
  }
}
.single-post-content .single-post-article .wp-block-image .wp-element-caption {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 8px;
  width: 100%;
  min-height: 18px;
  position: relative;
  padding-left: 10px;
  font-style: normal;
  font-weight: 400;
  font-size: var(--font-12);
  line-height: 18px;
  color: #3D414F;
  margin: 0;
}
.single-post-content .single-post-article .wp-block-image .wp-element-caption::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 2px;
  height: 100%;
  background: #48BBB9;
}
.single-post-content .single-post-article .wp-block-columns {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 40px;
  width: 100%;
  margin: 32px 0;
}
@media screen and (max-width: 768px) {
  .single-post-content .single-post-article .wp-block-columns {
    flex-direction: column;
    gap: 24px;
  }
}
.single-post-content .single-post-article .wp-block-columns .wp-block-column p {
  margin: 0 0 8px;
}
.single-post-content .single-post-article .wp-block-columns .wp-block-column p:last-child {
  margin-bottom: 0;
}
.single-post-content .single-post-article .wp-block-columns .wp-block-column .wp-block-heading {
  margin: 0 0 16px;
}
.single-post-content .single-post-article .wp-block-columns .wp-block-column .wp-block-heading:not(:first-child) {
  margin: 32px 0 16px;
}
.single-post-content .single-post-article .wp-block-columns .wp-block-column .wp-block-image {
  margin: 0;
}
.single-post-content .single-post-article .wp-block-columns .wp-block-column .wp-block-image img {
  width: 100%;
  height: 400px;
  object-fit: cover;
  border-radius: 12px;
}
.single-post-content .single-post-article .wp-block-columns .wp-block-column .wp-block-image .wp-element-caption {
  margin-top: 8px;
}
.single-post-content .single-post-article ul, .single-post-content .single-post-article ol {
  font-style: normal;
  font-weight: 400;
  font-size: var(--font-16);
  line-height: 26px;
  color: #111214;
  padding-left: 24px;
  margin: 24px 0;
}
.single-post-content .single-post-article ul li, .single-post-content .single-post-article ol li {
  margin-bottom: 8px;
}
.single-post-content .single-post-article ul li:last-child, .single-post-content .single-post-article ol li:last-child {
  margin-bottom: 0;
}
.single-post-content .single-post-article blockquote {
  border-left: 4px solid #3C4678;
  padding: 16px 24px;
  background: #f8f9fa;
  font-style: italic;
  margin: 0;
}
.single-post-content .single-post-article a {
  color: #3C4678;
  text-decoration: underline;
}
.single-post-content .single-post-article a:hover {
  color: #2a3056;
}
.single-post-content .single-post-article strong, .single-post-content .single-post-article b {
  font-weight: 600;
}
.single-post-content .single-post-article em, .single-post-content .single-post-article i {
  font-style: italic;
}
.single-post-content .single-post-tags {
  width: 100%;
  margin-bottom: 40px;
}
.single-post-content .single-post-tags .tags-wrapper {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 16px;
  width: 100%;
  padding-top: 40px;
  border-top: 1px solid #C1C1C1;
}
@media screen and (max-width: 480px) {
  .single-post-content .single-post-tags .tags-wrapper {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }
}
.single-post-content .single-post-tags .single-post-tag {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 4px 12px;
  gap: 8px;
  height: 32px;
  background: #EEF0FA;
  border-radius: 999px;
  font-style: normal;
  font-weight: 400;
  font-size: var(--font-14);
  line-height: 24px;
  color: #3C4678;
  white-space: nowrap;
}
.single-post-content .single-post-share {
  margin-top: 40px;
}
.single-post-content .single-post-share .share-title {
  margin: 0 0 16px;
  font-weight: 700;
  font-size: var(--font-16);
  line-height: 26px;
  color: #3C4678;
}
.single-post-content .single-post-share .share-buttons {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}
.single-post-content .single-post-share .share-buttons .share-btn {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 4px;
  width: 32px;
  height: 32px;
  background: #FFFFFF;
  border-radius: 64px;
  border: none;
  text-decoration: none;
  cursor: pointer;
  flex: none;
  flex-grow: 0;
  position: relative;
}
.single-post-content .single-post-share .share-buttons .share-btn.copied .copy-success-text {
  opacity: 1;
  visibility: visible;
}
.single-post-content .single-post-share .share-buttons .share-btn .copy-success-text {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  margin-top: 8px;
  padding: 4px 8px;
  background: #10B981;
  color: #FFFFFF;
  font-size: var(--font-12);
  line-height: 1.2;
  border-radius: 4px;
  white-space: nowrap;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
  z-index: 10;
}
.single-post-content .single-post-share .share-buttons .share-btn .copy-success-text::before {
  content: "";
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 4px 4px 4px;
  border-color: transparent transparent #10B981 transparent;
}
.single-post-content .single-post-share .share-buttons .share-btn svg {
  width: 24px;
  height: 24px;
  flex: none;
  order: 0;
  flex-grow: 0;
  flex-shrink: 0;
}
.single-post-content .single-post-share .share-buttons .share-btn svg path {
  fill: #48BBB9;
}
@media screen and (max-width: 480px) {
  .single-post-content .single-post-share {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }
  .single-post-content .single-post-share .share-title {
    width: auto;
    height: auto;
  }
  .single-post-content .single-post-share .share-buttons {
    width: auto;
  }
}

.related-posts-section {
  background: #F1EFEB;
  padding: 104px 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 48px;
  overflow: hidden;
}
.related-posts-section .related-posts-header {
  margin-bottom: 64px;
}
.related-posts-section .related-posts-title {
  margin: 0;
  font-weight: 500;
  font-size: 48px;
  line-height: 58px;
  color: #3C4678;
}
.related-posts-section .related-posts-slider-wrapper {
  position: relative;
  display: block;
  width: 100%;
}
.related-posts-section .related-posts-swiper {
  padding: 0 0 17px;
  overflow: visible;
}
.related-posts-section .related-posts-swiper .swiper-wrapper {
  display: flex;
}
.related-posts-section .related-posts-swiper .swiper-slide {
  height: auto;
}
.related-posts-section .related-posts-navigation {
  position: absolute;
  z-index: 2;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: space-between;
  left: -21px;
  right: -21px;
  pointer-events: none;
}
@media screen and (max-width: 991px) {
  .related-posts-section .related-posts-navigation {
    position: static;
    transform: none;
    margin-top: 16px;
    left: 0;
    right: 0;
    justify-content: center;
    gap: 20px;
  }
}
@media screen and (max-width: 600px) {
  .related-posts-section .related-posts-navigation {
    justify-content: space-between;
  }
}
.related-posts-section .related-posts-btn {
  pointer-events: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  background-color: #FFFFFF;
  border: 1px solid #ECECED;
  border-radius: 50%;
  box-shadow: -4px 4px 12px rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease;
  scale: 1;
  opacity: 1;
}
.related-posts-section .related-posts-btn * {
  pointer-events: none;
}
.related-posts-section .related-posts-btn svg {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}
@media (hover: hover) {
  .related-posts-section .related-posts-btn {
    cursor: pointer;
  }
  .related-posts-section .related-posts-btn:hover {
    background-color: #ECECED;
    box-shadow: -6px 6px 16px rgba(0, 0, 0, 0.12);
  }
}
.related-posts-section .related-posts-btn:active {
  background-color: #ECECED;
}
.related-posts-section .related-posts-btn.swiper-button-disabled {
  opacity: 0.5;
  user-select: none;
  pointer-events: none;
}
@media screen and (max-width: 991px) {
  .related-posts-section {
    padding: 48px 0 64px;
  }
  .related-posts-section .container {
    display: flex;
    flex-direction: column;
  }
  .related-posts-section .container .related-posts-header {
    display: contents;
  }
  .related-posts-section .container .related-posts-title {
    margin-bottom: 40px;
  }
}

.related-post-card {
  background-color: #fff;
  border: 1px solid #D8D9DC;
  height: 100%;
  border-radius: 20px;
  overflow: hidden;
}
.related-post-card__link {
  display: flex;
  flex-direction: column;
  height: 100%;
  color: inherit;
  text-decoration: none;
}
.related-post-card__thumb {
  height: 217px;
  flex-shrink: 0;
  position: relative;
}
.related-post-card__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.related-post-card__thumb--placeholder {
  background: #f2f2f2;
}
.related-post-card__body {
  padding: 20px;
  display: flex;
  flex-direction: column;
  height: 100%;
  transition: all 0.3s ease-in-out;
}
.related-post-card__title {
  margin: 0;
  color: #3C4678;
  font-weight: 700;
  font-size: 18px;
  line-height: 30px;
  letter-spacing: -0.5px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  transition: all 0.3s ease-in-out;
}
@media screen and (max-width: 991px) {
  .related-post-card__title {
    font-size: var(--font-16);
    line-height: 26px;
  }
}
.related-post-card__excerpt {
  margin: 8px 0 16px;
  color: #3D414F;
  font-weight: 400;
  font-size: var(--font-16);
  line-height: 26px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  max-height: 80px;
}
@media screen and (max-width: 991px) {
  .related-post-card__excerpt {
    max-height: 72px;
    font-size: var(--font-14);
    line-height: 24px;
  }
}
.related-post-card__bottom {
  margin-top: auto;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.related-post-card__tags {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-start;
  align-content: flex-start;
  padding: 0;
  gap: 4px;
  width: 100%;
}
.related-post-card__tag {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 2px 12px;
  height: 22px;
  background: #EEF0FA;
  border-radius: 999px;
  font-weight: 400;
  font-size: var(--font-12);
  line-height: 18px;
  color: #3C4678;
}
.related-post-card__date {
  font-size: var(--font-12);
  line-height: 18px;
  color: #646772;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
body.modal-open {
  overflow: hidden;
}

.check-availability-btn {
  position: absolute;
  top: 100%;
  right: 15px;
  width: 192px;
  height: 32px;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 4px 12px;
  gap: 4px;
  background: #EA4E51;
  border: none;
  border-radius: 0 0 8px 8px;
  cursor: pointer;
  z-index: 1;
  transition: background-color 0.2s ease;
}
.check-availability-btn span {
  font-weight: 700;
  font-size: var(--font-14);
  line-height: 24px;
  display: flex;
  align-items: center;
  text-align: center;
  color: #FFFFFF;
  text-transform: uppercase;
}
.check-availability-btn .icon-arrow {
  width: 16px;
  height: 16px;
  flex: none;
  order: 1;
  display: block;
}
.check-availability-btn .icon-close {
  width: 16px;
  height: 16px;
  flex: none;
  order: 1;
  display: none;
}
.check-availability-btn.active .icon-arrow {
  display: none;
}
.check-availability-btn.active .icon-close {
  display: block;
}
.check-availability-btn:hover {
  background: #d63e41;
}

.check-availability-modal {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  height: calc(var(--vh) * 100);
  z-index: 99;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.check-availability-modal, .check-availability-modal .fd-search-content.active {
  pointer-events: none !important;
  user-select: none !important;
}
.check-availability-modal.active {
  opacity: 1;
  visibility: visible;
}
.check-availability-modal.active, .check-availability-modal.active .fd-search-content.active {
  pointer-events: auto !important;
  user-select: auto !important;
}
.check-availability-modal .modal-overlay {
  position: absolute;
  z-index: 1;
  inset: 0;
  background: rgba(0, 0, 0, 0.6509803922);
}
@media (hover: hover) {
  .check-availability-modal .modal-overlay {
    cursor: pointer;
  }
}
.check-availability-modal .modal-content {
  position: relative;
  z-index: 2;
  width: 100%;
  transform: translateY(-20px);
  transition: transform 0.3s ease;
}
@media screen and (max-width: 768px) {
  .check-availability-modal .modal-content {
    transform: translateY(-10px);
  }
}
.check-availability-modal.active .modal-content {
  transform: translateY(0);
}
.check-availability-modal .modal-search {
  width: 100%;
  min-height: 194px;
  background: #FAF9F7;
  box-shadow: 0 7px 15px rgba(0, 0, 0, 0.11);
  isolation: isolate;
}
.check-availability-modal .modal-search .search-container {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 24px 104px;
  gap: 10px;
  margin: 0 auto;
  width: 100%;
}
@media screen and (max-width: 555px) {
  .check-availability-modal .fd-search-widget .fd-dropdown.fd-guests-dropdown {
    top: auto;
    bottom: calc(100% + 20px);
  }
}

@media screen and (max-width: 768px) {
  .check-availability-btn {
    right: 26px;
    padding: 4px 8px;
  }
  .check-availability-btn span {
    font-size: var(--font-12);
    line-height: 20px;
  }
  .check-availability-btn .icon-arrow,
  .check-availability-btn .icon-close {
    width: 14px;
    height: 14px;
  }
  .check-availability-modal .modal-search .search-container {
    padding: 48px 0 24px;
  }
}
.fd-calendar-page-widget {
  position: relative;
  z-index: 1002;
  margin: 40px auto;
  padding: 0;
}
.fd-calendar-page-widget .fd-calendar-page-filters {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin: 0 auto 32px auto;
}
.fd-calendar-page-widget .fd-calendar-page-filters .fd-filters-row {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  padding: 0;
  gap: 24px;
  width: 100%;
}
.fd-calendar-page-widget .fd-calendar-page-filters .fd-filters-row--bottom {
  justify-content: space-between;
  margin-top: 40px;
}
@media screen and (max-width: 560px) {
  .fd-calendar-page-widget .fd-calendar-page-filters .fd-filters-row--bottom {
    align-items: center;
  }
}
.fd-calendar-page-widget .fd-calendar-page-filters .fd-filters-row--bottom .fd-filter-col {
  display: flex;
  min-width: 25%;
  justify-content: center;
}
.fd-calendar-page-widget .fd-calendar-page-filters .fd-filters-row--bottom .fd-filter-col:first-child {
  justify-content: flex-start;
}
.fd-calendar-page-widget .fd-calendar-page-filters .fd-filters-row--bottom .fd-filter-col:last-child {
  justify-content: flex-end;
}
@media screen and (max-width: 374px) {
  .fd-calendar-page-widget .fd-calendar-page-filters .fd-filters-row--bottom .fd-filter-col:first-child, .fd-calendar-page-widget .fd-calendar-page-filters .fd-filters-row--bottom .fd-filter-col:last-child {
    order: 1;
  }
}
@media screen and (max-width: 768px) {
  .fd-calendar-page-widget .fd-calendar-page-filters .fd-filters-row:not(.fd-filters-row--bottom) {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }
}
@media screen and (max-width: 560px) {
  .fd-calendar-page-widget .fd-calendar-page-filters .fd-filters-row {
    gap: 8px;
  }
}
@media screen and (max-width: 374px) {
  .fd-calendar-page-widget .fd-calendar-page-filters .fd-filters-row {
    flex-wrap: wrap;
  }
}
.fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-inputs-group {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  padding: 0;
  gap: 12px;
}
@media screen and (max-width: 374px) {
  .fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-inputs-group {
    flex-direction: column;
    width: 100%;
  }
}
.fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0;
  gap: 8px;
  position: relative;
}
.fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group.fd-filter-origin, .fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group.fd-filter-destination {
  min-width: 200px;
}
@media screen and (max-width: 500px) {
  .fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group.fd-filter-origin, .fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group.fd-filter-destination {
    min-width: auto;
  }
}
.fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group.fd-filter-month {
  margin-right: 12px;
}
.fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group.fd-filter-month .fd-field-input, .fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group.fd-filter-year .fd-field-input {
  background: transparent;
  border: none;
  box-shadow: none;
  padding: 0;
  height: 32px;
}
@media (hover: hover) {
  .fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group.fd-filter-month .fd-field-input:hover, .fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group.fd-filter-year .fd-field-input:hover {
    border: none;
    box-shadow: none;
  }
}
.fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group.fd-filter-month .fd-field-input.active, .fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group.fd-filter-year .fd-field-input.active {
  border: none;
  box-shadow: none;
}
.fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group.fd-filter-month .fd-field-input .fd-input, .fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group.fd-filter-year .fd-field-input .fd-input {
  padding: 0;
  font-weight: 700;
  font-size: 20px;
  line-height: 32px;
  letter-spacing: -1px;
  color: #3C4678;
  text-align: center;
  width: auto;
}
.fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group.fd-filter-month .fd-field-input .dropdown-arrow, .fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group.fd-filter-year .fd-field-input .dropdown-arrow {
  position: static;
  transform: none;
  flex-shrink: 0;
  transition: transform 0.3s ease;
}
.fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group.fd-filter-month .fd-field-input.active .fd-input, .fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group.fd-filter-year .fd-field-input.active .fd-input {
  color: #EA4E51;
}
.fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group.fd-filter-month .fd-field-input.active .dropdown-arrow, .fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group.fd-filter-year .fd-field-input.active .dropdown-arrow {
  transform: rotate(180deg);
}
.fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group.fd-filter-month .fd-field-input {
  min-width: 70px;
  gap: 8px;
  display: flex;
  align-items: center;
}
.fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group.fd-filter-month .fd-field-input .fd-input {
  display: block;
  max-width: 100px;
  text-align: right;
}
@media screen and (max-width: 560px) {
  .fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group.fd-filter-month .fd-field-input .fd-input {
    width: 100%;
    max-width: none;
  }
}
.fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group.fd-filter-year .fd-field-input {
  min-width: 80px;
  gap: 8px;
  display: flex;
  align-items: center;
}
.fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group.fd-filter-year .fd-field-input .fd-input {
  width: 52px;
  display: block;
}
@media screen and (max-width: 560px) {
  .fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group.fd-filter-year .fd-field-input .fd-input {
    width: 100%;
    max-width: none;
  }
}
.fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group .fd-field-label {
  font-weight: 700;
  font-size: var(--font-14);
  line-height: 24px;
  color: #3C4678;
}
.fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group .fd-field-input {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  height: 42px;
  padding: 0;
  background-color: #FFFFFF;
  border: 1px solid #D8D9DC;
  border-radius: 12px;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
@media (hover: hover) {
  .fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group .fd-field-input:hover {
    border-color: #48BBB9;
  }
}
.fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group .fd-field-input.active {
  border-color: #48BBB9;
  box-shadow: 0 0 0 3px rgba(72, 187, 185, 0.12);
}
.fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group .fd-field-input .fd-input {
  width: 100%;
  height: 100%;
  padding: 0 40px 0 16px;
  border: none;
  outline: none;
  background-color: transparent;
  font-weight: 400;
  font-size: var(--font-16);
  line-height: 26px;
  color: #111214;
  cursor: pointer;
}
.fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group .fd-field-input .fd-input::placeholder {
  color: #8B8D95;
}
.fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group .fd-field-input .dropdown-arrow {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  transition: transform 0.3s ease;
  width: 21px;
  height: 20px;
}
.fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group .fd-field-input .dropdown-arrow path {
  fill: #8B8D95;
}
.fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group .fd-field-input.active .dropdown-arrow {
  transform: translateY(-50%) rotate(180deg);
}
.fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group .fd-dropdown {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  right: 0;
  min-width: 177px;
  z-index: 14;
  background-color: #FFFFFF;
  border: 1px solid #D8D9DC;
  border-radius: 12px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.05);
  padding: 8px 0;
  display: none;
  max-height: 300px;
  overflow-y: auto;
  opacity: 0;
  transform: translateY(-10px);
  transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}
@media screen and (max-width: 374px) {
  .fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group .fd-dropdown {
    min-width: auto;
  }
}
.fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group .fd-dropdown.active {
  display: block;
  opacity: 1;
  transform: translateY(0);
}
.fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group .fd-dropdown .fd-dropdown-item {
  position: relative;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  display: flex;
  align-items: center;
  padding: 8px 16px;
  cursor: pointer;
  font-size: var(--font-16);
  line-height: 26px;
  color: #111214;
}
@media (hover: hover) {
  .fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group .fd-dropdown .fd-dropdown-item:hover {
    background-color: #F6F6FB;
    padding-left: 20px;
  }
}
.fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group .fd-dropdown .fd-dropdown-item.is-past {
  display: none;
}
.fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group .fd-dropdown .fd-dropdown-item.selected {
  background-color: #EEFAF9;
  color: #48BBB9;
}
.fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group .fd-dropdown .fd-dropdown-item.selected::after {
  content: "";
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path fill="%2348BBB9" d="M17.256 4.41a.833.833 0 0 1 0 1.18l-9.167 9.166a.833.833 0 0 1-1.178 0l-4.167-4.167a.833.833 0 1 1 1.179-1.178L7.5 12.988l8.577-8.577a.833.833 0 0 1 1.179 0Z"/></svg>');
  background-size: contain;
  background-repeat: no-repeat;
}
.fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group .fd-dropdown .fd-dropdown-item .item-content {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1;
}
.fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group .fd-dropdown .fd-dropdown-item .item-content .flag-icon {
  width: 24px;
  height: 16px;
  object-fit: cover;
  border-radius: 2px;
}
.fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group .fd-dropdown .fd-dropdown-item .item-content .origin-name,
.fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group .fd-dropdown .fd-dropdown-item .item-content .destination-name,
.fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group .fd-dropdown .fd-dropdown-item .item-content .month-name,
.fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group .fd-dropdown .fd-dropdown-item .item-content .year-name {
  flex: 1;
}
.fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group.fd-filter-types label {
  font-weight: 400;
  font-size: var(--font-14);
  line-height: 24px;
  color: #8B8D95;
}
.fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group.fd-filter-types .fd-checkbox-group {
  display: flex;
  align-items: flex-end;
  gap: 14px;
}
.fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group.fd-filter-types .fd-checkbox-group .fd-checkbox-label {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 0;
  gap: 8px;
  height: 26px;
  cursor: pointer;
}
.fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group.fd-filter-types .fd-checkbox-group .fd-checkbox-label input[type=checkbox] {
  width: 16px;
  height: 16px;
  border: 1px solid #48BBB9;
  background: #fff;
  border-radius: 4px;
  margin: 0;
  appearance: none;
  position: relative;
  transition: all 0.3s ease-in-out;
}
.fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group.fd-filter-types .fd-checkbox-group .fd-checkbox-label input[type=checkbox]::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 8px;
  height: 6px;
  background: #48BBB9;
  border: 2px solid #FFFFFF;
  border-top: none;
  border-right: none;
  transform: translate(-50%, -60%) rotate(-45deg);
  opacity: 0;
  transition: opacity 0.2s;
}
.fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group.fd-filter-types .fd-checkbox-group .fd-checkbox-label input[type=checkbox]:checked {
  background: #48BBB9;
}
.fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group.fd-filter-types .fd-checkbox-group .fd-checkbox-label input[type=checkbox]:checked::before {
  opacity: 1;
}
.fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group.fd-filter-types .fd-checkbox-group .fd-checkbox-label .fd-checkbox-text {
  width: auto;
  height: 26px;
  font-weight: 400;
  font-size: var(--font-16);
  line-height: 26px;
  color: #646772;
}
.fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group.fd-filter-prev-month a, .fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group.fd-filter-next-month a {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  text-decoration: none;
  transition: all 0.2s ease;
}
@media (hover: hover) {
  .fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group.fd-filter-prev-month a:hover, .fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group.fd-filter-next-month a:hover {
    transform: translateX(0);
  }
  .fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group.fd-filter-prev-month a:hover svg path, .fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group.fd-filter-next-month a:hover svg path {
    fill: #48BBB9;
  }
  .fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group.fd-filter-prev-month a:hover span, .fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group.fd-filter-next-month a:hover span {
    color: #48BBB9;
  }
}
.fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group.fd-filter-prev-month a span, .fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group.fd-filter-next-month a span {
  font-weight: 400;
  font-size: var(--font-16);
  line-height: 26px;
  color: #3C4678;
  transition: color 0.2s ease;
}
.fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group.fd-filter-prev-month a svg, .fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group.fd-filter-next-month a svg {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}
.fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group.fd-filter-prev-month a svg path, .fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group.fd-filter-next-month a svg path {
  transition: fill 0.2s ease;
}
@media screen and (max-width: 560px) {
  .fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group.fd-filter-prev-month a, .fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group.fd-filter-next-month a {
    white-space: nowrap;
    gap: 4px;
  }
  .fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group.fd-filter-prev-month a svg, .fd-calendar-page-widget .fd-calendar-page-filters .fd-filter-group.fd-filter-next-month a svg {
    width: 16px;
    height: 16px;
  }
}
.fd-calendar-page-widget .fd-calendar-month-controls {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 0 12px;
  gap: 12px;
  margin: 0 auto 24px;
  width: 186px;
  height: 32px;
  flex: none;
  order: 1;
  flex-grow: 0;
}
.fd-calendar-page-widget .fd-calendar-month-controls.active {
  width: 191px;
}
.fd-calendar-page-widget .fd-calendar-month-controls .fd-month-selector {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 0;
  gap: 8px;
  width: 70px;
  height: 32px;
  flex: none;
  order: 0;
  flex-grow: 0;
  cursor: pointer;
}
.fd-calendar-page-widget .fd-calendar-month-controls .fd-month-selector.active {
  width: 75px;
}
.fd-calendar-page-widget .fd-calendar-month-controls .fd-month-selector.active .fd-month-name {
  width: 47px;
  color: #EA4E51;
}
.fd-calendar-page-widget .fd-calendar-month-controls .fd-month-selector .fd-month-name {
  width: 42px;
  height: 32px;
  font-family: "Futura", sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 32px;
  display: flex;
  align-items: center;
  text-align: center;
  letter-spacing: -1px;
  color: #3C4678;
  flex: none;
  order: 0;
  flex-grow: 0;
}
.fd-calendar-page-widget .fd-calendar-month-controls .fd-month-selector .fd-dropdown-icon {
  width: 20px;
  height: 20px;
  flex: none;
  order: 1;
  flex-grow: 0;
  transition: transform 0.3s ease;
}
.fd-calendar-page-widget .fd-calendar-month-controls .fd-month-selector .fd-dropdown-icon svg {
  width: 21px;
  height: 20px;
}
.fd-calendar-page-widget .fd-calendar-month-controls .fd-month-selector .fd-dropdown-icon svg path {
  fill: #8B8D95;
}
.fd-calendar-page-widget .fd-calendar-month-controls .fd-month-selector.active .fd-dropdown-icon {
  transform: rotate(180deg);
}
.fd-calendar-page-widget .fd-calendar-month-controls .fd-year-selector {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 0;
  gap: 8px;
  width: 80px;
  height: 32px;
  flex: none;
  order: 1;
  flex-grow: 0;
  cursor: pointer;
}
.fd-calendar-page-widget .fd-calendar-month-controls .fd-year-selector .fd-year-name {
  width: 52px;
  height: 32px;
  font-family: "Futura", sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 32px;
  display: flex;
  align-items: center;
  text-align: center;
  letter-spacing: -1px;
  color: #3C4678;
  flex: none;
  order: 0;
  flex-grow: 0;
}
.fd-calendar-page-widget .fd-calendar-month-controls .fd-year-selector .fd-dropdown-icon {
  width: 20px;
  height: 20px;
  flex: none;
  order: 1;
  flex-grow: 0;
  transition: transform 0.3s ease;
}
.fd-calendar-page-widget .fd-calendar-month-controls .fd-year-selector .fd-dropdown-icon svg {
  width: 21px;
  height: 20px;
}
.fd-calendar-page-widget .fd-calendar-month-controls .fd-year-selector .fd-dropdown-icon svg path {
  fill: #8B8D95;
}
.fd-calendar-page-widget .fd-calendar-month-controls .fd-year-selector.active .fd-dropdown-icon {
  transform: rotate(180deg);
}
.fd-calendar-page-widget .fd-calendar-next-month {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 0;
  gap: 8px;
  margin: 0 auto;
  width: 116px;
  height: 30px;
  cursor: pointer;
  margin-bottom: 24px;
}
.fd-calendar-page-widget .fd-calendar-next-month .fd-next-month-text {
  width: 84px;
  height: 30px;
  font-weight: 400;
  font-size: 18px;
  line-height: 30px;
  display: flex;
  align-items: center;
  text-align: center;
  letter-spacing: -0.5px;
  color: #3C4678;
}
.fd-calendar-page-widget .fd-calendar-next-month .fd-next-month-icon {
  width: 24px;
  height: 24px;
}
.fd-calendar-page-widget .fd-calendar-next-month .fd-next-month-icon::before {
  content: "▶";
  font-weight: 400;
  font-size: var(--font-14);
  display: flex;
  align-items: center;
  text-align: center;
  color: #3C4678;
}
.fd-calendar-page-widget .fd-calendar-page-container {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0;
  gap: 24px;
  border-radius: 12px;
  margin: 0 auto;
  background: #ffffff;
}
.fd-calendar-page-widget .fd-calendar-loading {
  display: none;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 80px 20px;
  color: #6B7280;
}
.fd-calendar-page-widget .fd-calendar-loading .fd-spinner {
  width: 40px;
  height: 40px;
  border: 4px solid #E5E7EB;
  border-top: 4px solid #48BBB9;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  margin-bottom: 16px;
}
.fd-calendar-page-widget .fd-calendar-loading span {
  font-size: var(--font-16);
  font-weight: 500;
}
.fd-calendar-page-widget .fd-calendar-no-flights {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 80px 20px;
  text-align: center;
}
.fd-calendar-page-widget .fd-calendar-no-flights h3 {
  color: #3C4678;
  font-size: 24px;
  margin-bottom: 12px;
}
.fd-calendar-page-widget .fd-calendar-no-flights p {
  color: #6B7280;
  font-size: var(--font-16);
  max-width: 400px;
  line-height: 1.5;
}
.fd-calendar-page-widget .fd-calendar-page-grid-container {
  width: 100%;
}
.fd-calendar-page-widget .fd-calendar-page-grid {
  width: 100%;
  padding: 0;
  border-radius: 8px;
  align-self: stretch;
  position: relative;
  overflow: hidden;
}
.fd-calendar-page-widget .fd-calendar-page-grid.is-loading {
  pointer-events: none;
}
.fd-calendar-page-widget .fd-calendar-page-grid.is-loading::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 32px;
  height: 32px;
  border: 3px solid #E5E7EB;
  border-top-color: #48BBB9;
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
  z-index: 100;
}
.fd-calendar-page-widget .fd-calendar-page-grid .fd-calendar-month {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0;
  align-self: stretch;
  width: 100%;
}
.fd-calendar-page-widget .fd-calendar-page-grid .fd-calendar-month.fade-out {
  opacity: 0;
}
.fd-calendar-page-widget .fd-calendar-page-grid .fd-calendar-month .fd-calendar-month-header {
  display: none;
}
.fd-calendar-page-widget .fd-calendar-page-grid .fd-calendar-month .fd-calendar-week-header {
  box-sizing: border-box;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 0;
  background: #F1EFEB;
  border-width: 0 1px;
  border-style: solid;
  border-color: #ECECED;
  align-self: stretch;
}
.fd-calendar-page-widget .fd-calendar-page-grid .fd-calendar-month .fd-calendar-week-header .fd-calendar-day-header {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 8px;
  gap: 10px;
  width: 176px;
  height: 42px;
  flex-grow: 1;
  font-weight: 400;
  font-size: var(--font-16);
  line-height: 26px;
  text-align: center;
  color: #646772;
}
@media screen and (max-width: 1290px) {
  .fd-calendar-page-widget .fd-calendar-page-grid .fd-calendar-month .fd-calendar-week-header .fd-calendar-day-header {
    width: 156px;
  }
}
.fd-calendar-page-widget .fd-calendar-page-grid .fd-calendar-month .fd-calendar-week-header .fd-calendar-day-header:last-child {
  color: #646772;
}
.fd-calendar-page-widget .fd-calendar-page-grid .fd-calendar-month .fd-calendar-week-header .fd-calendar-day-header:nth-child(6) {
  color: #3C4678;
}
.fd-calendar-page-widget .fd-calendar-page-grid .fd-calendar-month .fd-calendar-grid {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0;
  width: 100%;
}
.fd-calendar-page-widget .fd-calendar-page-grid .fd-calendar-month .fd-calendar-grid .fd-calendar-week {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  padding: 0;
  background: #FFFFFF;
  width: 100%;
}
.fd-calendar-page-widget .fd-calendar-page-grid .fd-calendar-month .fd-calendar-grid .fd-calendar-week:last-child {
  border-radius: 0 0 12px 12px;
}
.fd-calendar-page-widget .fd-calendar-page-grid .fd-calendar-month .fd-calendar-grid .fd-calendar-day {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 2px;
  gap: 2px;
  width: 176px;
  height: 176px;
  background: #FFFFFF;
  border: 1px solid #ECECED;
  position: relative;
}
@media screen and (max-width: 1290px) {
  .fd-calendar-page-widget .fd-calendar-page-grid .fd-calendar-month .fd-calendar-grid .fd-calendar-day {
    width: 100%;
    height: 156px;
  }
}
.fd-calendar-page-widget .fd-calendar-page-grid .fd-calendar-month .fd-calendar-grid .fd-calendar-day.fd-calendar-week:last-child .fd-calendar-page-widget .fd-calendar-page-grid .fd-calendar-month .fd-calendar-grid .fd-calendar-day {
  height: 140px;
}
.fd-calendar-page-widget .fd-calendar-page-grid .fd-calendar-month .fd-calendar-grid .fd-calendar-day:first-child.fd-calendar-week:last-child .fd-calendar-page-widget .fd-calendar-page-grid .fd-calendar-month .fd-calendar-grid .fd-calendar-day {
  border-radius: 0 0 0 12px;
}
.fd-calendar-page-widget .fd-calendar-page-grid .fd-calendar-month .fd-calendar-grid .fd-calendar-day:last-child.fd-calendar-week:last-child .fd-calendar-page-widget .fd-calendar-page-grid .fd-calendar-month .fd-calendar-grid .fd-calendar-day {
  border-radius: 0 0 12px 0;
}
.fd-calendar-page-widget .fd-calendar-page-grid .fd-calendar-month .fd-calendar-grid .fd-calendar-day.fd-calendar-day-empty {
  background: #FFFFFF;
  pointer-events: none;
}
.fd-calendar-page-widget .fd-calendar-page-grid .fd-calendar-month .fd-calendar-grid .fd-calendar-day.fd-calendar-day-past .fd-calendar-flights {
  opacity: 0.3;
  pointer-events: none;
}
.fd-calendar-page-widget .fd-calendar-page-grid .fd-calendar-month .fd-calendar-grid .fd-calendar-day.fd-calendar-day-other-month {
  pointer-events: none;
}
.fd-calendar-page-widget .fd-calendar-page-grid .fd-calendar-month .fd-calendar-grid .fd-calendar-day .fd-calendar-day-number {
  font-weight: 400;
  font-size: var(--font-14);
  line-height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  white-space: nowrap;
  text-align: center;
  color: #111214;
  margin-bottom: 0;
  position: relative;
}
.fd-calendar-page-widget .fd-calendar-page-grid .fd-calendar-month .fd-calendar-grid .fd-calendar-day .fd-calendar-day-number.fd-date-different-month {
  color: #B1B3B9;
  width: auto;
}
.fd-calendar-page-widget .fd-calendar-page-grid .fd-calendar-month .fd-calendar-grid .fd-calendar-day .fd-calendar-day-number.fd-date-today {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 0 2px;
  gap: 10px;
  width: 28px;
  height: 28px;
  background: #EEF0FA;
  border-radius: 999px;
  color: #3C4678;
}
.fd-calendar-page-widget .fd-calendar-page-grid .fd-calendar-month .fd-calendar-grid .fd-calendar-day .fd-calendar-day-number.fd-date-sunday {
  color: #3C4678;
}
.fd-calendar-page-widget .fd-calendar-page-grid .fd-calendar-month .fd-calendar-grid .fd-calendar-day .fd-calendar-holidays {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-top: 6px;
}
.fd-calendar-page-widget .fd-calendar-page-grid .fd-calendar-month .fd-calendar-grid .fd-calendar-day .fd-calendar-holidays .fd-calendar-holiday {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 0 8px;
  gap: 6px;
  min-height: 20px;
  font-family: "Inter", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: var(--font-12);
  line-height: 20px;
  letter-spacing: -0.01em;
  color: #111214;
}
.fd-calendar-page-widget .fd-calendar-page-grid .fd-calendar-month .fd-calendar-grid .fd-calendar-day .fd-calendar-holidays .fd-calendar-holiday .fd-calendar-holiday-dot {
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background-color: #EA4E51;
  flex-shrink: 0;
}
.fd-calendar-page-widget .fd-calendar-page-grid .fd-calendar-month .fd-calendar-grid .fd-calendar-day .fd-calendar-holidays .fd-calendar-holiday .fd-calendar-holiday-name {
  display: inline-flex;
  align-items: center;
}
.fd-calendar-page-widget .fd-calendar-page-grid .fd-calendar-month .fd-calendar-grid .fd-calendar-day .fd-calendar-flights {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0;
  gap: 2px;
  align-self: stretch;
}
.fd-calendar-page-widget .fd-calendar-page-grid .fd-calendar-month .fd-calendar-grid .fd-calendar-day .fd-calendar-flights .fd-calendar-flight-group {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 4px;
  gap: 10px;
  border-radius: 2px;
  align-self: stretch;
  cursor: pointer;
  transition: all 0.2s ease;
}
.fd-calendar-page-widget .fd-calendar-page-grid .fd-calendar-month .fd-calendar-grid .fd-calendar-day .fd-calendar-flights .fd-calendar-flight-group.flight-type-outbound {
  background: #FFD4D2;
}
.fd-calendar-page-widget .fd-calendar-page-grid .fd-calendar-month .fd-calendar-grid .fd-calendar-day .fd-calendar-flights .fd-calendar-flight-group.flight-type-returns {
  background: #FEE6C9;
}
.fd-calendar-page-widget .fd-calendar-page-grid .fd-calendar-month .fd-calendar-grid .fd-calendar-day .fd-calendar-flights .fd-calendar-flight-group .fd-origin-name {
  font-weight: 400;
  font-size: var(--font-12);
  line-height: 18px;
  display: flex;
  align-items: center;
  color: #111214;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 65px;
}
.fd-calendar-page-widget .fd-calendar-page-grid .fd-calendar-month .fd-calendar-grid .fd-calendar-day .fd-calendar-flights .fd-calendar-flight-group .fd-flight-arrow {
  position: relative;
  width: 12px;
  height: 12px;
  display: flex;
}
.fd-calendar-page-widget .fd-calendar-page-grid .fd-calendar-month .fd-calendar-grid .fd-calendar-day .fd-calendar-flights .fd-calendar-flight-group .fd-calendar-flight-destination {
  font-weight: 400;
  font-size: var(--font-12);
  line-height: 18px;
  display: flex;
  align-items: center;
  color: #111214;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 85px;
}
.fd-calendar-page-widget .fd-search-widget {
  padding: 0;
  border: 1px solid #D8D9DC;
  border-radius: 12px;
}
.fd-calendar-page-widget #fd-flight-card {
  box-sizing: border-box;
  position: absolute;
  display: none;
  flex-direction: column;
  align-items: flex-end;
  padding: 0;
  max-width: 455px;
  width: 100%;
  height: 196px;
  background: #FFFFFF;
  border: 1px solid #ECECED;
  box-shadow: 4px 4px 18px rgba(0, 0, 0, 0.12);
  border-radius: 12px;
  z-index: 1001;
  overflow: hidden;
}
.fd-calendar-page-widget #fd-flight-card .fd-flight-card-header {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  padding: 8px 12px;
  height: 42px;
  background: #FEE6C9;
  border-radius: 12px 12px 0px 0px;
  align-self: stretch;
}
.fd-calendar-page-widget #fd-flight-card .fd-flight-card-header .fd-flight-card-route {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 0;
  gap: 8px;
  width: 60%;
}
.fd-calendar-page-widget #fd-flight-card .fd-flight-card-header .fd-flight-card-route .fd-route-from,
.fd-calendar-page-widget #fd-flight-card .fd-flight-card-header .fd-flight-card-route .fd-route-to {
  font-weight: 400;
  font-size: var(--font-16);
  line-height: 26px;
  color: #111214;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: inline-block;
  width: auto;
}
@media screen and (max-width: 374px) {
  .fd-calendar-page-widget #fd-flight-card .fd-flight-card-header .fd-flight-card-route .fd-route-from,
  .fd-calendar-page-widget #fd-flight-card .fd-flight-card-header .fd-flight-card-route .fd-route-to {
    font-size: 13px;
  }
}
.fd-calendar-page-widget #fd-flight-card .fd-flight-card-header .fd-flight-card-route .fd-route-arrow {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}
.fd-calendar-page-widget #fd-flight-card .fd-flight-card-header .fd-flight-card-date {
  height: 26px;
  font-weight: 400;
  font-size: var(--font-16);
  line-height: 26px;
  color: #111214;
}
@media screen and (max-width: 374px) {
  .fd-calendar-page-widget #fd-flight-card .fd-flight-card-header .fd-flight-card-date {
    font-size: 13px;
  }
}
.fd-calendar-page-widget #fd-flight-card .fd-flight-card-times {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  padding: 16px;
  align-self: stretch;
}
.fd-calendar-page-widget #fd-flight-card .fd-flight-card-times .fd-time-block {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 0;
  gap: 12px;
}
.fd-calendar-page-widget #fd-flight-card .fd-flight-card-times .fd-time-block.fd-departure .fd-flag-container {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 0;
  width: 25px;
  height: 20px;
}
.fd-calendar-page-widget #fd-flight-card .fd-flight-card-times .fd-time-block.fd-departure .fd-flag-container img {
  width: 25px;
  height: 20px;
  border-radius: 0;
}
.fd-calendar-page-widget #fd-flight-card .fd-flight-card-times .fd-time-block.fd-departure .fd-time-info {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0;
  height: 50px;
}
.fd-calendar-page-widget #fd-flight-card .fd-flight-card-times .fd-time-block.fd-departure .fd-time-info .fd-time-value {
  font-weight: 700;
  font-size: 18px;
  line-height: 30px;
  letter-spacing: -0.5px;
  color: #3C4678;
  align-self: stretch;
}
@media screen and (max-width: 374px) {
  .fd-calendar-page-widget #fd-flight-card .fd-flight-card-times .fd-time-block.fd-departure .fd-time-info .fd-time-value {
    font-size: 14px;
  }
}
.fd-calendar-page-widget #fd-flight-card .fd-flight-card-times .fd-time-block.fd-departure .fd-time-info .fd-location-code {
  font-weight: 400;
  font-size: var(--font-14);
  line-height: 24px;
  color: #4B5563;
  align-self: stretch;
}
@media screen and (max-width: 374px) {
  .fd-calendar-page-widget #fd-flight-card .fd-flight-card-times .fd-time-block.fd-departure .fd-time-info .fd-location-code {
    font-size: 13px;
  }
}
@media screen and (max-width: 374px) {
  .fd-calendar-page-widget #fd-flight-card .fd-flight-card-times .fd-time-block.fd-departure {
    flex-direction: column-reverse;
  }
  .fd-calendar-page-widget #fd-flight-card .fd-flight-card-times .fd-time-block.fd-departure * {
    align-items: center;
    text-align: center;
  }
}
.fd-calendar-page-widget #fd-flight-card .fd-flight-card-times .fd-time-block.fd-duration {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0;
  gap: 1px;
  margin: 0 auto;
  width: 78px;
  height: 47px;
}
.fd-calendar-page-widget #fd-flight-card .fd-flight-card-times .fd-time-block.fd-duration .fd-duration-label {
  width: 78px;
  height: 20px;
  font-weight: 400;
  font-size: var(--font-14);
  line-height: 24px;
  text-align: center;
  color: #6B7280;
  align-self: stretch;
}
.fd-calendar-page-widget #fd-flight-card .fd-flight-card-times .fd-time-block.fd-duration .fd-duration-value {
  width: 78px;
  height: 26px;
  font-weight: 400;
  font-size: var(--font-16);
  line-height: 26px;
  text-align: center;
  color: #111214;
  align-self: stretch;
}
@media screen and (max-width: 374px) {
  .fd-calendar-page-widget #fd-flight-card .fd-flight-card-times .fd-time-block.fd-duration .fd-duration-value {
    font-size: 14px;
  }
}
.fd-calendar-page-widget #fd-flight-card .fd-flight-card-times .fd-time-block.fd-arrival .fd-time-info {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  padding: 0;
}
.fd-calendar-page-widget #fd-flight-card .fd-flight-card-times .fd-time-block.fd-arrival .fd-time-info .fd-time-value {
  font-weight: 700;
  font-size: 18px;
  line-height: 30px;
  text-align: right;
  letter-spacing: -0.5px;
  color: #3C4678;
  align-self: stretch;
}
@media screen and (max-width: 374px) {
  .fd-calendar-page-widget #fd-flight-card .fd-flight-card-times .fd-time-block.fd-arrival .fd-time-info .fd-time-value {
    font-size: 14px;
  }
}
.fd-calendar-page-widget #fd-flight-card .fd-flight-card-times .fd-time-block.fd-arrival .fd-time-info .fd-location-code {
  font-weight: 400;
  font-size: var(--font-14);
  line-height: 24px;
  text-align: right;
  color: #4B5563;
  align-self: stretch;
}
@media screen and (max-width: 374px) {
  .fd-calendar-page-widget #fd-flight-card .fd-flight-card-times .fd-time-block.fd-arrival .fd-time-info .fd-location-code {
    font-size: 13px;
  }
}
.fd-calendar-page-widget #fd-flight-card .fd-flight-card-times .fd-time-block.fd-arrival .fd-flag-container {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 0;
  width: 25px;
  height: 20px;
}
.fd-calendar-page-widget #fd-flight-card .fd-flight-card-times .fd-time-block.fd-arrival .fd-flag-container img {
  width: 25px;
  height: 20px;
  border-radius: 0;
}
@media screen and (max-width: 374px) {
  .fd-calendar-page-widget #fd-flight-card .fd-flight-card-times .fd-time-block.fd-arrival {
    flex-direction: column;
  }
  .fd-calendar-page-widget #fd-flight-card .fd-flight-card-times .fd-time-block.fd-arrival .fd-time-info, .fd-calendar-page-widget #fd-flight-card .fd-flight-card-times .fd-time-block.fd-arrival .fd-time-info .fd-time-value {
    align-items: center;
    text-align: center;
  }
}
.fd-calendar-page-widget #fd-flight-card .fd-flight-card-actions {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  padding: 16px;
  align-self: stretch;
}
.fd-calendar-page-widget #fd-flight-card .fd-flight-card-actions .fd-flight-card-btn {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 0;
  gap: 8px;
  margin: 0 auto;
  width: 423px;
  height: 40px;
  background: #3C4678;
  border-radius: 6px;
  flex-grow: 1;
  border: none;
  cursor: pointer;
  font-weight: 400;
  font-size: var(--font-16);
  line-height: 26px;
  text-align: center;
  color: #FFFFFF;
  transition: all 0.3s ease;
}
@media (hover: hover) {
  .fd-calendar-page-widget #fd-flight-card .fd-flight-card-actions .fd-flight-card-btn:hover {
    background: #2f3660;
  }
}
.fd-calendar-page-widget #fd-flight-card .fd-flight-card-actions .fd-flight-card-btn:active {
  transform: translateY(0);
}
@media screen and (max-width: 560px) {
  .fd-calendar-page-widget #fd-flight-card {
    position: fixed !important;
    top: auto !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100%;
    max-width: 100%;
    height: auto;
    border-radius: 0;
  }
  .fd-calendar-page-widget #fd-flight-card .fd-flight-card-header {
    border-radius: 0;
  }
}
.fd-calendar-page-widget .fd-booking-modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 11;
}
.fd-calendar-page-widget .fd-booking-modal.active {
  display: flex;
  align-items: center;
  justify-content: center;
}
.fd-calendar-page-widget .fd-booking-modal .fd-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 12;
}
.fd-calendar-page-widget .fd-booking-modal .fd-modal-content {
  z-index: 13;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 32px;
  gap: 24px;
  position: relative;
  max-width: 488px;
  width: 100%;
  max-height: 90vh;
  background: #FFFFFF;
  border-radius: 16px;
}
.fd-calendar-page-widget .fd-booking-modal .fd-modal-header {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  padding: 0;
  gap: 10px;
  align-self: stretch;
}
.fd-calendar-page-widget .fd-booking-modal .fd-modal-title {
  font-weight: 700;
  font-size: 20px;
  line-height: 32px;
  letter-spacing: -1px;
  color: #3C4678;
  margin: 0;
}
.fd-calendar-page-widget .fd-booking-modal .fd-modal-close {
  margin: 0 0 0 auto;
  width: 32px;
  height: 32px;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (hover: hover) {
  .fd-calendar-page-widget .fd-booking-modal .fd-modal-close:hover {
    opacity: 0.7;
  }
}
.fd-calendar-page-widget .fd-booking-modal .fd-modal-body {
  width: 100%;
  flex: 1;
}
.fd-calendar-page-widget .fd-booking-modal .fd-modal-body .fd-search-widget .fd-guests-dropdown {
  top: auto !important;
  bottom: calc(100% + 20px) !important;
}
@media screen and (max-width: 560px) {
  .fd-calendar-page-widget .fd-booking-modal.active {
    align-items: flex-end;
  }
  .fd-calendar-page-widget .fd-booking-modal .fd-modal-content {
    max-width: 100%;
    border-radius: 16px 16px 0 0;
    padding: 24px 16px 16px;
  }
}
@media screen and (max-width: 560px) and (max-width: 374px) {
  .fd-calendar-page-widget .fd-booking-modal .fd-modal-content {
    max-height: 70vh;
    overflow-y: auto;
  }
}
.fd-calendar-page-widget .fd-calendar-page-grid {
  display: block;
}
.fd-calendar-page-widget .fd-calendar-page-list {
  display: none;
}
.fd-calendar-page-widget .fd-calendar-page-list .fd-mobile-empty {
  font-weight: 400;
  font-size: var(--font-14);
  line-height: 24px;
  color: #3C4678;
  margin: 12px auto;
  text-align: center;
}
@media screen and (min-width: 993px) {
  .fd-calendar-page-widget .fd-calendar-page-grid {
    display: block;
  }
  .fd-calendar-page-widget .fd-calendar-page-list {
    display: none !important;
  }
}
@media screen and (max-width: 992px) {
  .fd-calendar-page-widget .fd-calendar-page-grid {
    display: none !important;
  }
  .fd-calendar-page-widget .fd-calendar-page-list {
    display: block !important;
  }
  .fd-calendar-page-widget .fd-mobile-day {
    margin-bottom: 20px;
  }
  .fd-calendar-page-widget .fd-mobile-day__title {
    font-weight: 400;
    font-size: var(--font-14);
    line-height: 24px;
    color: #3C4678;
    margin: 0 0 21px;
  }
  .fd-calendar-page-widget .fd-mobile-day__list {
    display: grid;
    gap: 2px;
  }
  .fd-calendar-page-widget .fd-mobile-day__list .fd-calendar-flight-group {
    padding: 8px;
    border-radius: 2px;
  }
  .fd-calendar-page-widget .fd-mobile-day__list .fd-calendar-flight-group, .fd-calendar-page-widget .fd-mobile-day__list .fd-calendar-flight-group .group-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
  }
  .fd-calendar-page-widget .fd-mobile-day--past {
    opacity: 0.5;
    pointer-events: none;
  }
  .fd-calendar-page-widget .fd-mobile-day--past .fd-mobile-day__title {
    color: #98A0BC;
  }
  .fd-calendar-page-widget .fd-mobile-day--past .fd-calendar-flight-group {
    cursor: default;
    opacity: 0.6;
  }
  .fd-calendar-page-widget .fd-mobile-day--past .fd-calendar-flight-group--past {
    background-color: #E8EBF3 !important;
    color: #98A0BC;
  }
}
@media screen and (max-width: 768px) {
  .fd-calendar-page-widget .fd-calendar-page-filters {
    margin-bottom: 20px;
    width: 100%;
    max-width: none;
  }
  .fd-calendar-page-widget .fd-calendar-page-filters .fd-filters-row .fd-filter-group {
    width: 100%;
  }
  .fd-calendar-page-widget .fd-calendar-page-container {
    border-radius: 16px;
    width: 100%;
  }
  .fd-calendar-page-widget .fd-calendar-page-grid {
    padding: 20px;
    width: 100%;
  }
  .fd-calendar-page-widget .fd-calendar-page-grid .fd-calendar-month {
    width: 100%;
  }
  .fd-calendar-page-widget .fd-calendar-page-grid .fd-calendar-month .fd-calendar-week-header {
    width: 100%;
  }
  .fd-calendar-page-widget .fd-calendar-page-grid .fd-calendar-month .fd-calendar-week-header .fd-calendar-day-header {
    padding: 12px 4px;
    font-size: var(--font-12);
  }
  .fd-calendar-page-widget .fd-calendar-page-grid .fd-calendar-month .fd-calendar-grid {
    width: 100%;
  }
  .fd-calendar-page-widget .fd-calendar-page-grid .fd-calendar-month .fd-calendar-grid .fd-calendar-week {
    width: 100%;
  }
  .fd-calendar-page-widget .fd-calendar-page-grid .fd-calendar-month .fd-calendar-grid .fd-calendar-day {
    min-height: 100px;
    padding: 8px;
  }
  .fd-calendar-page-widget .fd-calendar-page-grid .fd-calendar-month .fd-calendar-grid .fd-calendar-day .fd-calendar-day-number {
    font-size: var(--font-12);
    margin-bottom: 8px;
  }
  .fd-calendar-page-widget .fd-calendar-page-grid .fd-calendar-month .fd-calendar-grid .fd-calendar-day .fd-calendar-flights .fd-calendar-flight-group {
    padding: 6px 8px;
    margin-bottom: 4px;
    height: 22px;
  }
  .fd-calendar-page-widget .fd-calendar-page-grid .fd-calendar-month .fd-calendar-grid .fd-calendar-day .fd-calendar-flights .fd-calendar-flight-group .fd-calendar-flight-destination {
    font-size: 10px;
  }
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.fd-sales-banner {
  position: relative;
  z-index: 1105;
  display: flex;
  justify-content: center;
  background: #EA4E51;
  box-shadow: 0 2px 20px rgba(0, 0, 0, 0.08);
  isolation: isolate;
  color: #FFFFFF;
}
.fd-sales-banner.is-hidden {
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease;
}
.fd-sales-banner__inner {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 12px 0;
}
.fd-sales-banner__content {
  width: 100%;
  font-weight: 400;
  font-size: var(--font-16);
  line-height: 26px;
  text-align: center;
}
.fd-sales-banner__content, .fd-sales-banner__content p {
  margin: 0 !important;
}
.fd-sales-banner__content p + p {
  margin-top: 6px !important;
}
.fd-sales-banner__content a {
  color: inherit;
  text-decoration: underline;
  transition: opacity 0.2s ease;
}
.fd-sales-banner__content a:hover, .fd-sales-banner__content a:focus-visible {
  opacity: 0.85;
}
.fd-sales-banner__close {
  position: absolute;
  top: 50%;
  right: clamp(16px, 8vw, 104px);
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border: none;
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
  color: #FFFFFF;
  transition: opacity 0.2s ease;
}
.fd-sales-banner__close:hover, .fd-sales-banner__close:focus-visible {
  opacity: 0.75;
}
.fd-sales-banner__close-icon {
  width: 20px;
  height: 20px;
  display: block;
}
@media screen and (max-width: 767px) {
  .fd-sales-banner {
    align-items: stretch;
  }
  .fd-sales-banner__inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    padding: 12px 0;
  }
  .fd-sales-banner__content {
    text-align: left;
    font-size: var(--font-14);
    line-height: 24px;
    padding-right: 32px;
  }
  .fd-sales-banner__close {
    right: 0;
  }
}

/* Text meant only for screen readers. */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}
.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  clip-path: none;
  color: #21759b;
  display: block;
  font-size: 0.875rem;
  font-weight: 700;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
  outline: 0;
}

/*# sourceMappingURL=style.css.map */
