/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */
@layer properties;
@layer theme, base, components, utilities;
@layer theme {
  :root, :host {
    --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji",
      "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;
    --color-black: #000;
    --color-white: #fff;
    --spacing: 0.25rem;
    --container-5xl: 64rem;
    --container-6xl: 72rem;
    --text-base: 1rem;
    --text-base--line-height: calc(1.5 / 1);
    --text-xl: 1.25rem;
    --text-xl--line-height: calc(1.75 / 1.25);
    --font-weight-extralight: 200;
    --font-weight-light: 300;
    --font-weight-normal: 400;
    --font-weight-bold: 700;
    --font-weight-black: 900;
    --leading-normal: 1.5;
    --radius-md: 0.375rem;
    --radius-lg: 0.5rem;
    --ease-in: cubic-bezier(0.4, 0, 1, 1);
    --ease-out: cubic-bezier(0, 0, 0.2, 1);
    --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
    --default-transition-duration: 150ms;
    --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
    --color-primary-color: #00C1d5;
    --color-primary-color-light: #B1E4E3;
    --color-primary-color-dark: #CDB5A7;
    --color-secondary-color: #F5F3ED;
    --color-cta-color: #EEF7F8;
    --color-cta-color-ed: #090909;
    --color-grey: #404040;
    --color-grey-medium: #808080;
    --font-Sans: "Avenir";
    --font-Icon: "Font Awesome 6 Pro";
  }
}

/* Fancybox gallery: centered image with black side margins (no edge-to-edge fullscreen). */
.fancybox-gallery-contain {
  --fancybox-backdrop-bg: rgba(0, 0, 0, 0.72);
  --f-carousel-slide-padding: 56px;
}

.fancybox-gallery-contain .fancybox__slide {
  background: #000;
}

@media (width < 48rem) {
  .fancybox-gallery-contain {
    --f-carousel-slide-padding: 18px;
  }
}

@layer base {
  *, ::after, ::before, ::backdrop, ::file-selector-button {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0 solid;
  }
  html, :host {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }
  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }
  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }
  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }
  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }
  b, strong {
    font-weight: bolder;
  }
  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }
  small {
    font-size: 80%;
  }
  sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.5em;
  }
  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }
  :-moz-focusring {
    outline: auto;
  }
  progress {
    vertical-align: baseline;
  }
  summary {
    display: list-item;
  }
  ol, ul, menu {
    list-style: none;
  }
  img, svg, video, canvas, audio, iframe, embed, object {
    display: block;
    vertical-align: middle;
  }
  img, video {
    max-width: 100%;
    height: auto;
  }
  button, input, select, optgroup, textarea, ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    border-radius: 0;
    background-color: transparent;
    opacity: 1;
  }
  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }
  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }
  ::file-selector-button {
    margin-inline-end: 4px;
  }
  ::placeholder {
    opacity: 1;
  }
  @supports (not (-webkit-appearance: -apple-pay-button))  or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentcolor;
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }
  textarea {
    resize: vertical;
  }
  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }
  ::-webkit-datetime-edit {
    display: inline-flex;
  }
  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }
  ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }
  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }
  :-moz-ui-invalid {
    box-shadow: none;
  }
  button, input:where([type="button"], [type="reset"], [type="submit"]), ::file-selector-button {
    appearance: button;
  }
  ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
    height: auto;
  }
  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}
@layer utilities {
  .visible {
    visibility: visible;
  }
  .absolute {
    position: absolute;
  }
  .fixed {
    position: fixed;
  }
  .relative {
    position: relative;
  }
  .static {
    position: static;
  }
  .top-0 {
    top: calc(var(--spacing) * 0);
  }
  .top-full {
    top: 100%;
  }
  .right-0 {
    right: calc(var(--spacing) * 0);
  }
  .bottom-0 {
    bottom: calc(var(--spacing) * 0);
  }
  .left-0 {
    left: calc(var(--spacing) * 0);
  }
  .z-1 {
    z-index: 1;
  }
  .z-2 {
    z-index: 2;
  }
  .z-9999 {
    z-index: 9999;
  }
  .float-left {
    float: left;
  }
  .container {
    width: 100%;
    @media (width >= 40rem) {
      max-width: 40rem;
    }
    @media (width >= 48rem) {
      max-width: 48rem;
    }
    @media (width >= 64rem) {
      max-width: 64rem;
    }
    @media (width >= 80rem) {
      max-width: 80rem;
    }
    @media (width >= 96rem) {
      max-width: 96rem;
    }
  }
  .m-0 {
    margin: calc(var(--spacing) * 0);
  }
  .-mx-\[15px\] {
    margin-inline: calc(15px * -1);
  }
  .mx-auto {
    margin-inline: auto;
  }
  .my-5 {
    margin-block: calc(var(--spacing) * 5);
  }
  .mt-0 {
    margin-top: calc(var(--spacing) * 0);
  }
  .mt-\[30px\] {
    margin-top: 30px;
  }
  .mb-10 {
    margin-bottom: calc(var(--spacing) * 10);
  }
  .mb-\[25px\] {
    margin-bottom: 25px;
  }
  .block {
    display: block;
  }
  .contents {
    display: contents;
  }
  .flex {
    display: flex;
  }
  .hidden {
    display: none;
  }
  .inline-block {
    display: inline-block;
  }
  .h-\[calc\(100vh\)\] {
    height: calc(100vh);
  }
  .w-\[90\%\] {
    width: 90%;
  }
  .w-full {
    width: 100%;
  }
  .max-w-5xl {
    max-width: var(--container-5xl);
  }
  .max-w-6xl {
    max-width: var(--container-6xl);
  }
  .max-w-\[350px\] {
    max-width: 350px;
  }
  .max-w-\[1170px\] {
    max-width: 1170px;
  }
  .min-w-\[50px\] {
    min-width: 50px;
  }
  .flex-1 {
    flex: 1;
  }
  .transform {
    transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
  }
  .cursor-pointer {
    cursor: pointer;
  }
  .flex-col {
    flex-direction: column;
  }
  .items-center {
    align-items: center;
  }
  .items-end {
    align-items: flex-end;
  }
  .items-start {
    align-items: flex-start;
  }
  .items-stretch {
    align-items: stretch;
  }
  .justify-between {
    justify-content: space-between;
  }
  .justify-center {
    justify-content: center;
  }
  .justify-end {
    justify-content: flex-end;
  }
  .justify-start {
    justify-content: flex-start;
  }
  .gap-1 {
    gap: calc(var(--spacing) * 1);
  }
  .gap-2\.5 {
    gap: calc(var(--spacing) * 2.5);
  }
  .gap-5 {
    gap: calc(var(--spacing) * 5);
  }
  .gap-10 {
    gap: calc(var(--spacing) * 10);
  }
  .gap-\[50px\] {
    gap: 50px;
  }
  .justify-self-center {
    justify-self: center;
  }
  .rounded-lg {
    border-radius: var(--radius-lg);
  }
  .border-t {
    border-top-style: var(--tw-border-style);
    border-top-width: 1px;
  }
  .border-none {
    --tw-border-style: none;
    border-style: none;
  }
  .border-cta-color-ed {
    border-color: var(--color-cta-color-ed);
  }
  .bg-\[\#00000033\] {
    background-color: #00000033;
  }
  .bg-cta-color {
    background-color: var(--color-cta-color);
  }
  .bg-primary-color {
    background-color: var(--color-primary-color);
  }
  .bg-secondary-color {
    background-color: var(--color-secondary-color);
  }
  .bg-white {
    background-color: var(--color-white);
  }
  .p-10 {
    padding: calc(var(--spacing) * 10);
  }
  .p-\[15px\] {
    padding: 15px;
  }
  .px-4 {
    padding-inline: calc(var(--spacing) * 4);
  }
  .px-5 {
    padding-inline: calc(var(--spacing) * 5);
  }
  .px-\[15px\] {
    padding-inline: 15px;
  }
  .py-2\.5 {
    padding-block: calc(var(--spacing) * 2.5);
  }
  .py-3 {
    padding-block: calc(var(--spacing) * 3);
  }
  .py-10 {
    padding-block: calc(var(--spacing) * 10);
  }
  .py-\[30px\] {
    padding-block: 30px;
  }
  .py-\[60px\] {
    padding-block: 60px;
  }
  .pt-10 {
    padding-top: calc(var(--spacing) * 10);
  }
  .pt-\[50px\] {
    padding-top: 50px;
  }
  .pt-\[150px\] {
    padding-top: 150px;
  }
  .pb-20 {
    padding-bottom: calc(var(--spacing) * 20);
  }
  .pb-\[70px\] {
    padding-bottom: 70px;
  }
  .text-center {
    text-align: center;
  }
  .text-left {
    text-align: left;
  }
  .text-right {
    text-align: right;
  }
  .text-start {
    text-align: start;
  }
  .font-Sans {
    font-family: var(--font-Sans);
  }
  .text-base {
    font-size: var(--text-base);
    line-height: var(--tw-leading, var(--text-base--line-height));
  }
  .text-\[0\.9rem\] {
    font-size: 0.9rem;
  }
  .text-\[1\.1rem\] {
    font-size: 1.1rem;
  }
  .text-\[2\.5rem\] {
    font-size: 2.5rem;
  }
  .text-\[3\.5rem\] {
    font-size: 3.5rem;
  }
  .leading-10 {
    --tw-leading: calc(var(--spacing) * 10);
    line-height: calc(var(--spacing) * 10);
  }
  .leading-none {
    --tw-leading: 1;
    line-height: 1;
  }
  .leading-normal {
    --tw-leading: var(--leading-normal);
    line-height: var(--leading-normal);
  }
  .font-normal {
    --tw-font-weight: var(--font-weight-normal);
    font-weight: var(--font-weight-normal);
  }
  .tracking-\[-0\.5px\] {
    --tw-tracking: -0.5px;
    letter-spacing: -0.5px;
  }
  .text-cta-color-ed {
    color: var(--color-cta-color-ed);
  }
  .text-grey-medium {
    color: var(--color-grey-medium);
  }
  .text-primary-color {
    color: var(--color-primary-color);
  }
  .text-white {
    color: var(--color-white);
  }
  .normal-case {
    text-transform: none;
  }
  .uppercase {
    text-transform: uppercase;
  }
  .blur {
    --tw-blur: blur(8px);
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .grayscale {
    --tw-grayscale: grayscale(100%);
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .invert {
    --tw-invert: invert(100%);
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .sepia {
    --tw-sepia: sepia(100%);
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .filter {
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .transition {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-\[0\.6s\] {
    transition-property: 0.6s;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .ease-in {
    --tw-ease: var(--ease-in);
    transition-timing-function: var(--ease-in);
  }
  .ease-in-out {
    --tw-ease: var(--ease-in-out);
    transition-timing-function: var(--ease-in-out);
  }
  .ease-out {
    --tw-ease: var(--ease-out);
    transition-timing-function: var(--ease-out);
  }
  .max-sm\:flex-wrap {
    @media (width < 40rem) {
      flex-wrap: wrap;
    }
  }
  .max-sm\:items-center {
    @media (width < 40rem) {
      align-items: center;
    }
  }
  .md\:block {
    @media (width >= 48rem) {
      display: block;
    }
  }
  .md\:w-\[40\%\] {
    @media (width >= 48rem) {
      width: 40%;
    }
  }
  .md\:w-\[60\%\] {
    @media (width >= 48rem) {
      width: 60%;
    }
  }
  .md\:flex-row {
    @media (width >= 48rem) {
      flex-direction: row;
    }
  }
  .md\:px-0 {
    @media (width >= 48rem) {
      padding-inline: calc(var(--spacing) * 0);
    }
  }
}
:root {
  --primary-color: #00C1d5;
  --primary-color-light: #B1E4E3;
  --primary-color-dark: #CDB5A7;
  --secondary-color: #F5F3ED;
  --cta-color: #EEF7F8;
  --cta-color-ed: #090909;
  --white: #ffffff;
  --grey: #404040;
  --red: #da3d3e;
  --grey-medium: #808080;
  --grey-light: #f7f7f7;
  --Sans: "Avenir";
  --Icon: "Font Awesome 6 Pro";
  --Icon-alt: "Font Awesome 6 Brands";
}
@font-face {
  font-family: 'Avenir';
  src: url('../font/AvenirRegular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Avenir';
  src: url('../fonts/AvenirBook.ttf') format('truetype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Avenir';
  src: url('../fonts/AvenirHeavy.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Avenir';
  src: url('../fonts/AvenirBlack.ttf') format('truetype');
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Font Awesome 6 Pro';
  src: url('../fonts/FontAwesome6Pro-Solid.woff') format('woff');
  font-style: normal;
  font-weight: 900;
  font-display: swap;
}
@font-face {
  font-family: "Font Awesome 6 Brands";
  src: url("../fonts/FontAwesome6Brands-Regular.woff") format("woff");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: 'Font Awesome 6 Pro';
  src: url('../fonts/FontAwesome6Pro-Light.woff') format('woff');
  font-style: normal;
  font-weight: 300;
  font-display: swap;
}
@font-face {
  font-family: 'Font Awesome 6 Pro';
  src: url('../fonts/FontAwesome6Pro-Regular.woff') format('woff');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "Font Awesome";
  src: url("../fonts/fa-light-300.woff2") format("woff2");
  font-style: normal;
  font-weight: 300;
  font-display: swap;
}
@font-face {
  font-family: "Font Awesome";
  src: url("../fonts/fa-regular-400.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "Font Awesome";
  src: url("../fonts/fa-solid-900.woff2") format("woff2");
  font-style: normal;
  font-weight: 900;
  font-display: swap;
}
@font-face {
  font-family: "Font Awesome Brands";
  src: url("../fonts/fa-brands-400.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
button, html input[type="button"], input[type="reset"], input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer;
}
html {
  font-size: 14px;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
body {
  font-family: var(--Sans), Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  color: black;
}
i.fa {
  font-style: normal;
}

/* Local Font Awesome class support (without remote kit dependency). */
i.fa-light,
i.fa-regular,
i.fa-solid,
i.fa-brands {
  display: inline-block;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
i.fa-light {
  font-family: "Font Awesome 6 Pro";
  font-weight: 300;
}
i.fa-regular {
  font-family: "Font Awesome 6 Pro";
  font-weight: 400;
}
i.fa-solid {
  font-family: "Font Awesome 6 Pro";
  font-weight: 900;
}
i.fa-brands {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
i.fa-light::before,
i.fa-regular::before,
i.fa-solid::before,
i.fa-brands::before {
  content: var(--fa-content);
}
i.fa-calendar::before {
  --fa-content: "\f133";
}
i.fa-chevron-up::before {
  --fa-content: "\f077";
}
i.fa-chevron-left::before {
  --fa-content: "\f053";
}
i.fa-chevron-right::before {
  --fa-content: "\f054";
}
i.fa-umbrella-beach::before {
  --fa-content: "\f5ca";
}
i.fa-spa::before {
  --fa-content: "\f5bb";
}
i.fa-water-ladder::before {
  --fa-content: "\f5c5";
}
i.fa-fork-knife::before {
  --fa-content: "\f2e7";
}
i.fa-martini-glass::before {
  --fa-content: "\f57b";
}
i.fa-court-sport::before {
  --fa-content: "\f45d";
}
i.fa-masks-theater::before {
  --fa-content: "\f630";
}
i.fa-handshake::before {
  --fa-content: "\f2b5";
}
i.fa-person-hiking::before {
  --fa-content: "\f6ec";
}
.text_dyn a {
  position: relative;
}
.text_dyn a:before {
  position: absolute;
  content: '';
  left: 0;
  bottom: -2px;
  background-color: var(--secondary-color);
  height: 3px;
  width: 0;
  transition: .6s;
  z-index: -1;
  transition-delay: .2s;
}
.text_dyn a:hover:before {
  width: 90%;
}
input[type="button"]:hover, input[type="reset"]:hover, input[type="submit"]:hover {
  opacity: 0.9;
}
@layer components {
  .ztextarea .accordion-content {
    display: none;
    border-style: var(--tw-border-style);
    border-width: 1px;
    border-color: var(--color-grey-medium);
    background-color: var(--color-white);
    padding: calc(var(--spacing) * 5);
  }
  .ztextarea .accordion, .ztextarea .toggler {
    padding: 5px;
  }
  .ztextarea .accordion .accordion-title, .ztextarea .toggler .accordion-title {
    margin: calc(var(--spacing) * 0);
    margin-bottom: calc(var(--spacing) * 2.5);
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    border-style: var(--tw-border-style);
    border-width: 1px;
    border-color: var(--color-grey-medium);
    padding: calc(var(--spacing) * 2.5);
    padding-inline: calc(var(--spacing) * 0);
  }
  .ztextarea .accordion .accordion-title::after, .ztextarea .toggler .accordion-title::after {
    content: "";
    height: calc(var(--spacing) * 5);
    width: calc(var(--spacing) * 5);
    background-position: center;
    background-repeat: no-repeat;
    background-image: url('../assets/images/icons/chevron-down-solid-full.svg');
  }
  .ztextarea .accordion .accordion-title.selected, .ztextarea .toggler .accordion-title.selected {
    margin: calc(var(--spacing) * 0);
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 0px;
    background-color: var(--color-primary-color);
    color: var(--color-white);
  }
  .ztextarea .accordion .accordion-title.selected::after, .ztextarea .toggler .accordion-title.selected::after {
    content: "";
    height: calc(var(--spacing) * 5);
    width: calc(var(--spacing) * 5);
    background-position: center;
    background-repeat: no-repeat;
    background-image: url('../assets/images/icons/chevron-up-solid-full.svg');
  }
  .ztextarea .accordion .accordion-content, .ztextarea .toggler .accordion-content {
    margin: calc(var(--spacing) * 0);
    margin-bottom: calc(var(--spacing) * 2.5);
    padding: calc(var(--spacing) * 0);
  }
  .zsimplebutton {
    display: inline-block;
  }
  .zsimplebutton a, .open_details, header .book_btn a, #slideshow .caption .goto a {
    display: inline-block;
    cursor: pointer;
    background-color: var(--color-cta-color-ed);
    padding-inline: 25px;
    padding-block: 15px;
    font-size: var(--text-base);
    line-height: var(--tw-leading, var(--text-base--line-height));
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    --tw-tracking: 2px;
    letter-spacing: 2px;
    color: var(--color-white);
    text-transform: uppercase;
  }
  header .book_btn a {
    background-color: var(--color-primary-color);
  }
  #slideshow .caption .goto a {
    background-color: var(--color-white);
    color: var(--color-cta-color-ed);
  }
  .tns-nav {
    position: relative;
    z-index: 2;
    margin-block: calc(var(--spacing) * 5);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: calc(var(--spacing) * 2.5);
  }
  .tns-nav button {
    height: calc(var(--spacing) * 3);
    width: calc(var(--spacing) * 3);
    border-radius: var(--radius-md);
    background-color: var(--color-white);
    opacity: 50%;
  }
  .tns-nav button.tns-nav-active {
    background-color: var(--color-white);
    opacity: 100%;
  }
  .tns-outer {
    position: relative;
  }
  .tns-controls button {
    background-color: transparent;
  }
  .tns-controls .prev,
  .tns-controls .next,
  .tns-controls [data-controls="prev"],
  .tns-controls [data-controls="next"] {
    position: absolute;
    top: calc(var(--spacing) * 0);
    bottom: calc(var(--spacing) * 0);
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: calc(var(--spacing) * 10);
    font-size: 0;
    color: var(--color-white);
  }
  .tns-controls .prev,
  .tns-controls [data-controls="prev"] {
    left: calc(var(--spacing) * 0);
  }
  .tns-controls .next,
  .tns-controls [data-controls="next"] {
    right: calc(var(--spacing) * 0);
  }
  .tns-controls .prev:before,
  .tns-controls [data-controls="prev"]:before {
    content: "";
    width: calc(var(--spacing) * 10);
    height: calc(var(--spacing) * 10);
    background-position: center;
    background-repeat: no-repeat;
    background-image: url('../assets/images/icons/angle-left-solid-full.svg');
  }
  .tns-controls .next:before,
  .tns-controls [data-controls="next"]:before {
    content: "";
    width: calc(var(--spacing) * 10);
    height: calc(var(--spacing) * 10);
    background-position: center;
    background-repeat: no-repeat;
    background-image: url('../assets/images/icons/angle-right-solid-full.svg');
  }
  .ztemplate .tns-carousel-fallback {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    gap: calc(var(--spacing) * 5);
    padding-bottom: calc(var(--spacing) * 10);
  }
  .ztemplate .tns-carousel-fallback .elem {
    flex: 0 0 100%;
    scroll-snap-align: start;
  }
  .ztemplate.template5 .tns-carousel-fallback .elem {
    flex-basis: 90%;
  }
  @media (width >= 40rem) {
    .ztemplate.template5 .tns-carousel-fallback .elem {
      flex-basis: 48%;
    }
  }
  @media (width >= 85.375rem) {
    .ztemplate.template5 .tns-carousel-fallback .elem {
      flex-basis: 32%;
    }
  }
  #slideshow .tns-nav button {
    background-color: var(--color-white);
  }
  #slideshow .tns-nav button.tns-nav-active {
    background-color: var(--color-secondary-color);
  }
  .light_bg {
    background-color: var(--color-primary-color-light);
  }
  .text_dyn p {
    margin-bottom: 15px;
  }
  .gallery {
    margin: calc(var(--spacing) * 0);
  }
  .gallery ul li img {
    border-radius: var(--radius-lg);
  }
  .gallery .tns-nav {
    margin-inline: auto;
    margin-block: 30px;
    margin-bottom: calc(var(--spacing) * 5);
  }
  .grid_gallery .gallery ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 15px;
  }
  .grid_gallery .gallery li {
    width: calc(100% / 2 - 30px);
    @media (width >= 40rem) {
      width: calc(100% / 3 - 30px);
    }
    @media (width >= 48rem) {
      width: calc(100% / 4 - 30px);
    }
  }
  #wrapper {
    position: relative;
    top: calc(var(--spacing) * 0);
    transition-property: 1.3s;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  #btn_container {
    float: left;
    display: inline-block;
    text-align: center;
  }
  #btn_container #menu_btn {
    position: relative;
    height: 50px;
    width: 50px;
    cursor: pointer;
    text-align: center;
  }
  #btn_container #menu_btn span {
    text-align: center;
    font-size: 0.8rem;
    --tw-leading: 1;
    line-height: 1;
    --tw-font-weight: var(--font-weight-normal);
    font-weight: var(--font-weight-normal);
    color: var(--color-white);
    text-transform: uppercase;
  }
  #btn_container #menu_btn .bar {
    position: relative;
    margin-top: 3px;
  }
  #btn_container #menu_btn .bar:before, #btn_container #menu_btn .bar:after {
    content: "";
    position: absolute;
    top: calc(var(--spacing) * 3);
    right: calc(var(--spacing) * 0);
    bottom: calc(var(--spacing) * 0);
    left: calc(var(--spacing) * 0);
    z-index: 1170;
    height: 3px;
    width: 30px;
    background-color: var(--color-white);
  }
  #btn_container.scrolled #menu_btn, #btn_container.scrolled #menu_btn span {
    color: var(--color-primary-color);
  }
  #btn_container.scrolled #menu_btn .bar:before, #btn_container.scrolled #menu_btn .bar:after {
    background-color: var(--color-primary-color);
  }
  #btn_container #menu_btn.fired .bar {
    top: calc(var(--spacing) * -1);
  }
  .book_btn {
    cursor: pointer;
    text-align: center;
    --tw-leading: 1;
    line-height: 1;
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    --tw-tracking: 1px;
    letter-spacing: 1px;
    text-transform: uppercase;
  }
  header {
    position: fixed;
    top: calc(var(--spacing) * 0);
    right: calc(var(--spacing) * 0);
    left: calc(var(--spacing) * 0);
    z-index: 9999;
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    background-color: #00000033;
    padding: 15px;
    transition-property: 0.6s;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  header #bar {
    display: flex;
    align-items: center;
    gap: calc(var(--spacing) * 5);
  }
  header #bar a {
    display: block;
    font-size: 1.1rem;
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    color: var(--color-white);
  }
  header #bar a:before {
    margin-right: 5px;
    font-family: var(--Icon);
    font-weight: 900;
    content: "";
  }
  header #bar .contact_mail_btn {
    display: flex;
    cursor: pointer;
    align-items: baseline;
    font-size: 1.1rem;
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    color: var(--color-white);
  }
  header #bar .section_phone, header #bar .section_mail {
    width: 150px;
  }
  header #bar .section_phone a:before {
    content: "\f2a0";
  }
  header #bar .section_mail a:before {
    content: "\f0e0";
  }
  header #bar .section_offers a:before {
    content: "\f06b";
  }
  header #bar .section_agency a:before {
    content: "\f007";
  }
  header #bar .contact_mail_btn:before {
    margin-right: 5px;
    font-family: var(--Icon);
    font-weight: 900;
    content: "\f2b6";
  }
  header .logo {
    padding-inline: calc(var(--spacing) * 5);
    padding-block: 5px;
  }
  header .logo img {
    filter: brightness(0) invert(1);
  }
  header .language_cnt {
    position: relative;
    margin: calc(var(--spacing) * 0);
    width: auto;
    text-align: center;
  }
  header .language_cnt #language_btn:after {
    margin-left: calc(var(--spacing) * 2.5);
    text-align: center;
    font-size: 1rem;
    --tw-leading: 1;
    line-height: 1;
    color: var(--color-white);
    font-family: var(--Icon);
    font-weight: 900;
    content: "\f0d7";
  }
  header .language_cnt #language {
    position: absolute;
    top: 100%;
    right: calc(var(--spacing) * 0);
    bottom: auto;
    left: calc(var(--spacing) * 0);
    z-index: 2;
    background-color: var(--color-white);
    text-align: center;
    transform: translateX(10px);
  }
  header .language_cnt #language li {
    float: none;
    text-align: center;
  }
  header .language_cnt #language li.active {
    display: none;
  }
  header .language_cnt #language li a {
    display: inline-block;
    padding-inline: 5px;
    padding-block: 3px;
    text-align: center;
    font-family: var(--font-Sans);
    font-size: 1rem;
    --tw-leading: 1;
    line-height: 1;
    color: var(--color-primary-color);
    text-transform: uppercase;
  }
  header .language_cnt #language {
    z-index: -1;
    width: 100%;
    opacity: 0%;
    transition-property: 0.3s;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  header .language_cnt #language.fired {
    z-index: 2;
    opacity: 100%;
  }
  header .language_cnt #language ul {
    margin: calc(var(--spacing) * 0);
    padding: 5px;
  }
  header .language_cnt #language,
  header .language_cnt #language ul,
  header .language_cnt #language li,
  header .language_cnt #language li a {
    background-color: var(--color-white) !important;
  }
  header.scrolled .language_cnt #language_btn {
    color: var(--color-primary-color) !important;
  }
  header.scrolled .language_cnt #language_btn:after {
    color: var(--color-primary-color) !important;
  }
  header.scrolled {
    position: fixed !important;
    background-color: var(--color-white) !important;
    padding: calc(var(--spacing) * 2.5) !important;
    color: var(--color-primary-color) !important;
    --tw-shadow: 0 0 25px var(--tw-shadow-color, rgba(0,0,0,0.15)) !important;
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow) !important;
  }
  header.scrolled #bar a, header.scrolled #bar .contact_mail_btn {
    color: var(--color-primary-color);
  }
  header.scrolled .logo {
    width: calc(var(--spacing) * 60);
  }
  header.scrolled .logo img {
    filter: none;
  }
  header.scrolled .book_btn {
    --tw-scale-x: 100%;
    --tw-scale-y: 100%;
    --tw-scale-z: 100%;
    scale: var(--tw-scale-x) var(--tw-scale-y);
    opacity: 100%;
  }
  #btn_container.scrolled {
    z-index: 999999;
  }
  .section-with-header-offset {
    padding-top: 150px !important;
  }
  #slideshow_cnt.noslide.header-offset-content {
    padding-top: 150px !important;
  }
  #btn_container #menu_btn .bar {
    position: absolute;
    top: calc(var(--spacing) * 0);
    right: calc(var(--spacing) * 0);
    left: calc(var(--spacing) * 0);
  }
  #btn_container #menu_btn .bar:before {
    top: 25px;
    margin-inline: auto;
    transition-property: 0.3s;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
    content: "";
  }
  #btn_container #menu_btn .bar:after {
    top: 35px;
    margin-inline: auto;
    transition-property: 0.3s;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
    content: "";
  }
  #btn_container #menu_btn span {
    position: absolute;
    top: calc(var(--spacing) * 2.5);
    right: calc(var(--spacing) * 0);
    left: calc(var(--spacing) * 0);
    transition-property: 0.3s;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  #btn_container #menu_btn.fired {
    padding: calc(var(--spacing) * 0);
  }
  #btn_container #menu_btn.fired span {
    opacity: 0%;
  }
  #btn_container #menu_btn.fired .bar:before {
    rotate: 45deg;
  }
  #btn_container #menu_btn.fired .bar:after {
    top: 25px;
    rotate: calc(45deg * -1);
  }
  #menu_open {
    position: fixed;
    top: calc(var(--spacing) * 0);
    bottom: calc(var(--spacing) * 0);
    left: -100%;
    z-index: 998;
    display: flex;
    width: 100%;
    align-items: flex-start;
    justify-content: center;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    transition-property: 0.6s;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  #menu_open:before {
    width: calc(var(--spacing) * 0);
    transition-property: 0.6s;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
    content: "";
  }
  #menu_open.fired {
    left: calc(var(--spacing) * 0);
  }
  #menu_open.fired:before {
    width: 100%;
  }
  #menu_open #social li a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 45px;
    width: 45px;
    border-radius: calc(infinity * 1px);
    border-style: var(--tw-border-style);
    border-width: 2px;
    border-color: var(--color-white);
    text-align: center;
    color: var(--color-white);
  }
  #menu_open #social li a:before {
    text-align: center;
    font-size: 1.3rem;
    --tw-leading: 42px;
    line-height: 42px;
    --tw-font-weight: var(--font-weight-normal);
    font-weight: var(--font-weight-normal);
    font-family: "Font Awesome Brands";
    content: none !important;
  }
  #menu_open #social li a .social-icon {
    display: inline-flex;
    width: 19px;
    height: 19px;
  }
  #menu_open #social li a .social-icon svg {
    width: 100%;
    height: 100%;
    fill: currentColor;
  }
  #menu_open #social .facebook a .social-icon {
    width: 12px;
    height: 20px;
    position: relative;
    left: 4px;
  }
  #menu_open #social .instagram a .social-icon {
    width: 19px;
    height: 19px;
  }
  #menu_open #menu_cnt {
    position: relative;
    z-index: 2;
    display: flex;
    width: 100%;
    min-height: 100%;
    max-width: min(980px, 94vw);
    align-items: flex-start;
    justify-content: space-between;
    gap: clamp(24px, 4vw, 60px);
    margin-inline: auto;
    padding: calc(var(--menu-header-height, 96px) + clamp(16px, 2.2vh, 30px)) clamp(18px, 2.6vw, 34px) calc(125px + env(safe-area-inset-bottom));
  }
  #menu_open #menu_cnt #menu1 {
    position: relative;
    flex: 1 1 52%;
    min-width: 0;
    text-align: left;
  }
  #menu_open #menu_cnt #menu1 li {
    position: relative;
    float: none;
    margin-block: clamp(8px, 1.8vh, 20px);
    display: block;
    text-align: left;
    transition-property: 0.6s;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  #menu_open #menu_cnt #menu1 li:hover {
    margin-left: calc(var(--spacing) * -2.5);
  }
  #menu_open #menu_cnt #menu1 li a {
    position: relative;
    z-index: 2;
    display: inline-block;
    padding-right: 30px;
    text-align: left;
    font-size: clamp(1.45rem, 1vw + 1.15vh, 2.2rem);
    line-height: var(--tw-leading, var(--text-xl--line-height));
    --tw-leading: 1;
    line-height: 1;
    --tw-font-weight: var(--font-weight-normal);
    font-weight: var(--font-weight-normal);
    color: var(--color-white);
  }
  #menu_open #menu_cnt #menu1 li a:before {
    position: absolute;
    bottom: calc(var(--spacing) * 0);
    left: calc(var(--spacing) * 0);
    z-index: -1;
    height: calc(var(--spacing) * 1);
    width: calc(var(--spacing) * 0);
    background-color: var(--color-secondary-color);
    transition-property: 0.6s;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
    transition-delay: 200ms;
    @media (width >= 48rem) {
      height: 7px;
    }
    content: "";
  }
  #menu_open #menu_cnt #menu1 li:hover a:before {
    width: 100%;
  }
  #menu_open #menu_cnt #contacts {
    flex: 1 1 42%;
    max-width: 360px;
    min-width: 260px;
    text-align: left;
  }
  #menu_open #menu_cnt #contacts .logo {
    text-align: left;
  }
  #menu_open #menu_cnt #contacts .section_text {
    margin-block: clamp(10px, 2vh, 20px);
    text-align: left;
    font-size: clamp(1rem, 0.5vw + 0.75vh, 1.3rem);
    --tw-leading: var(--leading-normal);
    line-height: var(--leading-normal);
    --tw-font-weight: var(--font-weight-normal);
    font-weight: var(--font-weight-normal);
    color: var(--color-white);
  }
  #menu_open #menu_cnt #contacts .section_text ul {
    list-style-type: none;
    padding-left: calc(var(--spacing) * 0);
  }
  #menu_open #menu_cnt #contacts .section_text a {
    display: inline-block;
    background-color: transparent;
    text-align: center;
    --tw-leading: 30px;
    line-height: 30px;
    --tw-font-weight: var(--font-weight-normal);
    font-weight: var(--font-weight-normal);
    color: var(--color-white);
  }
  #menu_open #menu_cnt #contacts,
  #menu_open #menu_cnt #contacts .section_text,
  #menu_open #menu_cnt #contacts .section_text .fieldvalue,
  #menu_open #menu_cnt #contacts .section_text .fieldvalue *,
  #menu_open #menu_cnt #contacts .section_text p,
  #menu_open #menu_cnt #contacts .section_text li,
  #menu_open #menu_cnt #contacts .section_text span,
  #menu_open #menu_cnt #contacts .section_text strong,
  #menu_open #menu_cnt #contacts .section_text b,
  #menu_open #menu_cnt #contacts .section_text a {
    color: var(--color-white) !important;
  }
  #menu_open #menu_cnt #contacts #social {
    margin: calc(var(--spacing) * 0);
    margin-top: calc(var(--spacing) * 7.5);
    display: flex;
    list-style-type: none;
    gap: calc(var(--spacing) * 4);
    padding-left: calc(var(--spacing) * 0);
  }
  #menu_open:before {
    position: absolute;
    bottom: calc(var(--spacing) * 0);
    left: calc(var(--spacing) * 0);
    z-index: 1;
    height: 100%;
    background-color: var(--color-primary-color);
    text-align: left;
    content: "";
  }
  #menu_open:after {
    position: absolute;
    top: 5%;
    bottom: 5%;
    left: calc(var(--spacing) * 0);
    z-index: 1;
    height: 100%;
    width: 40%;
    background-size: cover;
    background-position: right top;
    background-repeat: no-repeat;
    text-align: left;
    opacity: 0.1;
    background-image: url(../assets/images/logos/valtur_symbol.svg);
    filter: brightness(0) invert(1);
    content: "";
  }
  .heading {
    max-width: none;
    padding: 0;
  }
  .heading .section_title {
    margin: calc(var(--spacing) * 0);
    margin-bottom: calc(var(--spacing) * 2.5);
    display: flex;
    align-items: center;
    gap: calc(var(--spacing) * 2.5);
    font-size: 3.5rem;
    --tw-font-weight: var(--font-weight-normal);
    font-weight: var(--font-weight-normal);
    --tw-tracking: -1px;
    letter-spacing: -1px;
    color: var(--color-primary-color);
  }
  .heading .section_title:before {
    display: block;
    height: 50px;
    width: 50px;
    background-size: contain;
    background-position: right bottom;
    background-repeat: no-repeat;
    opacity: 100%;
    background-image: url(../assets/images/logos/valtur_symbol_light.svg);
    content: "";
  }
  .heading .section_text {
    width: 100%;
    max-width: 70%;
    margin-inline: auto;
    font-size: 1.4rem;
    --tw-leading: var(--leading-normal);
    line-height: var(--leading-normal);
    --tw-font-weight: var(--font-weight-normal);
    font-weight: var(--font-weight-normal);
    color: var(--color-cta-color-ed);
  }
  .heading.text-center .section_text,
  .heading.text-center .section_text * {
    text-align: center;
  }
  .heading.text-left .section_text,
  .heading.text-left .section_text * {
    text-align: left;
  }
  .heading.text-right .section_text,
  .heading.text-right .section_text * {
    text-align: right;
  }
  #hotels .tns-controls .prev, #hotels .tns-controls .next {
    color: var(--color-cta-color-ed);
  }
  #services {
    background-color: var(--color-cta-color);
    padding-top: calc(var(--spacing) * 10);
  }
  #services .heading {
    margin-inline: auto;
    margin-block: calc(var(--spacing) * 0);
    margin-bottom: 60px;
    text-align: center;
  }
  #services .heading .section_title {
    justify-content: center;
  }
  #services .icons {
    position: relative;
    z-index: 1;
  }
  .icons.services-icons {
    position: relative;
    z-index: 1;
  }
  .icons.services-icons.services-icons-padded {
    padding-block: calc(var(--spacing) * 6);
  }
  #services .icons.services-icons.services-icons-padded {
    padding-block: calc(var(--spacing) * 6);
  }
  #services .icons:after {
    position: absolute;
    bottom: calc(var(--spacing) * 0);
    z-index: 0;
    display: block;
    height: 110px;
    width: 100%;
    background-color: var(--color-primary-color);
    content: "";
  }
  .icons.services-icons:after {
    content: none;
    display: none;
  }
  #services .varscript {
    position: relative;
    top: -50px;
    z-index: 1;
    margin-inline: auto;
    margin-block: calc(var(--spacing) * 0);
    margin-top: 50px;
    display: flex;
    max-width: 1170px;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: calc(var(--spacing) * 10);
    border-radius: 5px;
    background-color: var(--color-secondary-color);
    padding: 30px;
    padding-inline: calc(var(--spacing) * 5);
    color: var(--color-cta-color-ed);
    --tw-shadow: 0 0 15px var(--tw-shadow-color, rgba(0,0,0,0.10));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .varscript_services_icons {
    position: relative;
    top: -50px;
    z-index: 1;
    margin-inline: auto;
    margin-block: calc(var(--spacing) * 0);
    margin-top: 50px;
    display: flex;
    max-width: 1170px;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: calc(var(--spacing) * 10);
    border-radius: 5px;
    background-color: var(--color-secondary-color);
    padding: 30px;
    padding-inline: calc(var(--spacing) * 5);
    color: var(--color-cta-color-ed);
    --tw-shadow: 0 0 15px var(--tw-shadow-color, rgba(0,0,0,0.10));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .varscript_services_icons.varscript_services_icons-flat {
    top: 0;
    margin-top: 0;
  }
  #services .varscript_services_icons-flat {
    top: 0;
    margin-top: 0;
  }
  .varscript_services_icons .icon {
    font-size: 1.2rem;
  }
  #services .icon {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: calc(var(--spacing) * 2.5);
    font-size: 1.2rem;
  }
  #services .icon i {
    width: calc(var(--spacing) * 10);
    font-size: 2rem;
    color: var(--color-cta-color-ed);
  }
  #services .ztemplate {
    width: 1170px;
  }
  #services .tns-nav {
    position: absolute;
    bottom: calc(var(--spacing) * 0);
    margin: calc(var(--spacing) * 0);
  }
  #services .tns-nav button {
    background-color: var(--color-secondary-color);
  }
  #services .tns-nav button.tns-nav-active {
    background-color: var(--color-white);
  }
  #services.related {
    background-color: transparent;
  }
  #experience {
    padding-block: 20px;
  }
  #experience .heading {
    margin: calc(var(--spacing) * 0);
    margin-inline: auto;
    text-align: center;
  }
  #experience .heading .section_title {
    justify-content: center;
  }
  #experience .ztemplate .card.full_img {
    display: block;
  }
  #experience .ztemplate:not([data-carousel]) .card.full_img {
    display: flex;
    flex-wrap: wrap;
  }
  #experience .tns-controls .prev, #experience .tns-controls .next {
    color: var(--color-cta-color-ed);
  }
  #experience .tns-controls .prev:before {
    content: "<";
    width: auto;
    height: auto;
    background-image: none;
    font-family: var(--font-heading);
  }
  #experience .tns-controls .next:before {
    content: ">";
    width: auto;
    height: auto;
    background-image: none;
    font-family: var(--font-heading);
  }
  #experience .tns-controls {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    z-index: 10;
    display: block;
    pointer-events: none;
  }
  #experience .tns-controls .prev {
    left: calc(var(--spacing) * 0);
    pointer-events: auto;
  }
  #experience .tns-controls .next {
    right: calc(var(--spacing) * 0);
    pointer-events: auto;
  }
  #experience .tns-outer {
    overflow: visible;
  }
  .other_experiences .ztemplate .card.full_img {
    flex-wrap: nowrap;
  }
  .other_experiences {
    margin-bottom: 50px;
  }
  .other_experiences .heading {
    margin: calc(var(--spacing) * 0);
    margin-inline: auto;
    display: flex;
    justify-content: center;
  }
  #location .ztemplate .title {
    margin: calc(var(--spacing) * 0);
    margin-bottom: calc(var(--spacing) * 5);
    font-size: 2.5rem;
  }
  #location .ztemplate .ztextarea {
    color: var(--color-white);
  }
  #location .ztextarea .accordion .accordion-title.selected, #location .ztextarea .toggler .accordion-title.selected {
    background-color: transparent;
  }
  #location .ztextarea .accordion .accordion-title, #location .ztextarea .toggler .accordion-title {
    margin: calc(var(--spacing) * 0);
    border-inline-style: var(--tw-border-style);
    border-inline-width: 0px;
    border-top-style: var(--tw-border-style);
    border-top-width: 0px;
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
    border-color: var(--color-white);
    padding-block: calc(var(--spacing) * 3);
    font-size: 1.1rem;
  }
  #location .ztextarea a {
    color: var(--color-white);
  }
  #location .ztextarea .accordion-content {
    --tw-border-style: none;
    border-style: none;
    background-color: transparent;
    padding-block: 15px;
    font-size: 1rem;
  }
  #location #varscript_gmap {
    overflow: hidden;
    border-radius: var(--radius-lg);
  }
  .ztemplate .title {
    margin: calc(var(--spacing) * 0);
  }
  .ztemplate .title a {
    display: block;
    width: 100%;
    font-size: 1.2em;
    --tw-leading: 1;
    line-height: 1;
    --tw-font-weight: var(--font-weight-normal);
    font-weight: var(--font-weight-normal);
    --tw-tracking: -1.5px;
    letter-spacing: -1.5px;
    color: var(--color-primary-color);
  }
  .ztemplate .ztextarea {
    margin: calc(var(--spacing) * 0);
    font-size: 1.05em;
    --tw-leading: var(--leading-normal);
    line-height: var(--leading-normal);
    --tw-font-weight: var(--font-weight-normal);
    font-weight: var(--font-weight-normal);
    color: var(--color-grey);
  }
  .ztemplate .zsimplebutton a {
    border-style: var(--tw-border-style);
    border-width: 1px;
    border-color: var(--color-primary-color);
    background-color: transparent;
    color: var(--color-primary-color);
  }
  .ztemplate .open_details {
    border-style: var(--tw-border-style);
    border-width: 1px;
    border-color: var(--color-primary-color);
    background-color: transparent;
    color: var(--color-primary-color);
  }
  .ztemplate .carousel {
    margin-inline: auto;
  }
  .ztemplate .carousel .caption-cnt {
    display: flex;
    width: 100%;
    flex-direction: column-reverse;
    align-items: center;
    justify-content: center;
    gap: calc(var(--spacing) * 5);
    @media (width >= 48rem) {
      flex-direction: row;
    }
  }
  .ztemplate .carousel .caption {
    order: 2;
    width: 100%;
    @media (width >= 48rem) {
      width: 60%;
    }
  }
  .ztemplate .carousel .caption-alt {
    order: 1;
    display: flex;
    width: 100%;
    flex-direction: column;
    gap: calc(var(--spacing) * 5);
    padding-right: 60px;
    @media (width >= 48rem) {
      width: 40%;
    }
  }
  .ztemplate .carousel img {
    height: 100%;
    min-height: 500px;
    border-radius: var(--radius-lg);
    object-fit: cover;
  }
  .ztemplate .carousel .title a {
    --tw-font-weight: var(--font-weight-normal);
    font-weight: var(--font-weight-normal);
    color: var(--color-white);
  }
  .ztemplate .carousel .ztextarea.g2 {
    font-size: 1.3rem;
  }
  .ztemplate .carousel .ztextarea {
    text-align: left;
    color: var(--color-white);
  }
  .ztemplate .carousel .ztextarea p {
    text-align: left !important;
  }
  .ztemplate .carousel .zsimplebutton a {
    border-style: var(--tw-border-style);
    border-width: 1px;
    border-color: var(--color-white);
    color: var(--color-white);
  }
  .ztemplate.carousel-lite .caption {
    width: 100%;
  }
  @media (width >= 48rem) {
    .ztemplate.carousel-lite .caption {
      width: 55%;
    }
  }
  .ztemplate.carousel-lite .caption-alt {
    width: 100%;
    padding-right: 0;
  }
  @media (width >= 48rem) {
    .ztemplate.carousel-lite .caption-alt {
      width: 45%;
    }
  }
  .ztemplate.carousel-lite .caption-alt,
  .ztemplate.carousel-lite .ztextarea,
  .ztemplate.carousel-lite .ztextarea p,
  .ztemplate.carousel-lite .title a {
    background: transparent;
    color: var(--color-white);
  }
  .ztemplate.carousel-lite .zsimplebutton a {
    color: var(--color-white);
    border-color: var(--color-white);
  }
  .ztemplate.carousel-lite .zsimplebutton a:hover {
    background-color: var(--color-white);
    color: var(--color-primary-color);
  }
  .ztemplate .card {
    position: relative;
    z-index: 2;
    clear: both;
    padding-inline: calc(var(--spacing) * 2.5);
    padding-block: calc(var(--spacing) * 5);
    text-align: center;
  }
  .ztemplate.card-grid-cols-enabled .card.alternative {
    display: grid;
    gap: calc(var(--spacing) * 5);
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .ztemplate.card-grid-cols-enabled .card.alternative .elem {
    width: 100%;
  }
  @media (width >= 64rem) {
    .ztemplate.card-grid-cols-enabled .card.alternative {
      grid-template-columns: repeat(var(--card-grid-cols, 3), minmax(0, 1fr));
    }
  }
  .ztemplate.carousel-multi .card.full_img .caption-cnt {
    position: relative;
  }
  .ztemplate.carousel-multi .card.full_img .caption {
    width: 100%;
  }
  .ztemplate.carousel-multi .card.full_img img {
    aspect-ratio: 4 / 5;
    min-height: 280px;
    max-height: 360px;
    object-fit: cover;
  }
  .ztemplate.carousel-multi .card {
    padding-block: calc(var(--spacing) * 0.25);
    padding-inline: calc(var(--spacing) * 0.25);
  }
  .ztemplate.carousel-multi .card .elem:hover {
    scale: 1.01;
  }
  .ztemplate.carousel-multi .card.full_img .caption-alt {
    position: absolute;
    inset: auto 0 0 0;
    padding: calc(var(--spacing) * 3);
    background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.65) 70%);
    align-items: center;
    text-align: center;
  }
  .ztemplate.carousel-multi .card.full_img .caption-alt,
  .ztemplate.carousel-multi .card.full_img .ztextarea,
  .ztemplate.carousel-multi .card.full_img .ztextarea p,
  .ztemplate.carousel-multi .card.full_img .title a {
    color: var(--color-white);
  }
  .ztemplate.carousel-multi .card.full_img .zsimplebutton {
    display: flex;
    justify-content: center;
  }
  .ztemplate.carousel-multi .card.full_img .zsimplebutton a {
    border-color: var(--color-white);
    color: var(--color-white);
  }
  .ztemplate.carousel-multi .card.full_img .zsimplebutton a:hover {
    background-color: var(--color-white);
    color: var(--color-primary-color);
  }
  .ztemplate.carousel-multi .tns-nav {
    margin-block: calc(var(--spacing) * 1);
    gap: calc(var(--spacing) * 1);
  }
  .ztemplate.carousel-multi .tns-item {
    padding-right: calc(var(--spacing) * 1);
  }
  .ztemplate.carousel-multi .tns-inner {
    margin: 0;
  }
  .ztemplate .card .elem {
    margin: calc(var(--spacing) * 0);
    transition-property: 0.3s;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .ztemplate .card .elem:hover {
    scale: 1.11;
  }
  .ztemplate .card .caption-cnt {
    display: block;
    list-style-type: none;
    align-items: center;
    overflow: hidden;
    background-color: var(--color-white);
    text-align: center;
    --tw-shadow: 0 0 15px var(--tw-shadow-color, rgba(0,0,0,0.08));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .ztemplate .card .caption {
    order: 1;
    width: 100%;
  }
  .ztemplate .card .caption-alt {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: calc(var(--spacing) * 5);
    padding: calc(var(--spacing) * 10);
    text-align: left;
  }
  .ztemplate .card .title {
    margin: calc(var(--spacing) * 0);
  }
  .ztemplate .card .title a {
    font-size: 1.8em;
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    --tw-tracking: -1px;
    letter-spacing: -1px;
  }
  .ztemplate .card .ztextarea {
    min-height: 70px;
  }
  .ztemplate .card .zsimplebutton {
    text-align: center;
  }
  .ztemplate .card.alternative .elem {
    --tw-scale-x: 100%;
    --tw-scale-y: 100%;
    --tw-scale-z: 100%;
    scale: none;
    transform: none;
  }
  .ztemplate .card.alternative .elem:hover {
    --tw-scale-x: 100%;
    --tw-scale-y: 100%;
    --tw-scale-z: 100%;
    scale: none;
    transform: none;
  }
  .ztemplate .card.alternative .caption-cnt {
    display: block;
    list-style-type: none;
    align-items: center;
    overflow: hidden;
    background-color: transparent;
    padding: 15px;
    text-align: center;
    --tw-shadow: 0 0 #0000;
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .ztemplate .card.alternative .caption {
    order: 1;
    width: 100%;
    overflow: hidden;
    border-radius: var(--radius-lg);
    background-color: var(--color-secondary-color);
    --tw-shadow: 0 0 #0000;
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .ztemplate .card.alternative .caption .title {
    padding: calc(var(--spacing) * 5);
  }
  .ztemplate .card.alternative .caption .ztextarea {
    min-height: 95px;
    padding-inline: calc(var(--spacing) * 5);
    padding-top: calc(var(--spacing) * 0);
    padding-bottom: calc(var(--spacing) * 5);
    text-align: left;
    background-color: var(--color-secondary-color);
  }
  .ztemplate .card.alternative .title a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 1.8rem;
  }
  .ztemplate .card.alternative .title a:after {
    font-family: var(--Icon);
    font-size: 1.2rem;
    --tw-font-weight: var(--font-weight-black);
    font-weight: var(--font-weight-black);
    color: var(--color-cta-color-ed);
    content: "\f054";
  }
  .ztemplate .card.alternative .caption-alt {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: calc(var(--spacing) * 2.5);
    padding-inline: 5px;
    padding-top: 30px;
    padding-bottom: calc(var(--spacing) * 0);
    text-align: left;
  }
  .ztemplate .card.full_img {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: calc(var(--spacing) * 10);
    @media (width < 48rem) {
      flex-direction: column;
    }
  }
  .ztemplate .card.full_img .elem {
    width: 100%;
    @media (width >= 48rem) {
      width: calc(50% - 20px);
    }
  }
  #experience .ztemplate .card.full_img {
    gap: calc(var(--spacing) * 2);
    padding-block: calc(var(--spacing) * 0);
  }
  .ztemplate.template5 .card.full_img .caption-alt {
    position: static;
    background: transparent;
    padding: 16px 0 0 0;
  }
  .ztemplate.template5 .card.full_img .ztextarea,
  .ztemplate.template5 .card.full_img .zsimplebutton {
    position: static;
    bottom: auto;
    margin-top: 12px;
    opacity: 100%;
  }
  .ztemplate.template5 .card.full_img .title {
    bottom: auto;
  }
  .ztemplate.template5 .card {
    padding-block: 0;
    padding-inline: 0;
  }
  .ztemplate.template5 .card.full_img .elem {
    width: 100%;
    @media (width >= 64rem) {
      width: calc(33.333% - 16px);
    }
  }
  #experience .tns-nav {
    margin-block: calc(var(--spacing) * 0);
  }
  .ztemplate.template5 {
    padding-bottom: calc(var(--spacing) * 0);
  }
  .ztemplate.template5 .tns-outer {
    margin-bottom: 0;
  }
  #experience .tns-nav {
    display: none;
  }
  .ztemplate .card.full_img .elem:hover {
    --tw-scale-x: 100%;
    --tw-scale-y: 100%;
    --tw-scale-z: 100%;
    scale: var(--tw-scale-x) var(--tw-scale-y);
  }
  .ztemplate .card.full_img .caption-cnt {
    position: relative;
    overflow: hidden;
    border-radius: var(--radius-lg);
    --tw-shadow: 0 0 #0000;
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .ztemplate .card.full_img .caption-cnt:hover {
    background-color: var(--color-black);
    --tw-shadow: 0 0 15px var(--tw-shadow-color, rgba(0,0,0,0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .ztemplate .card.full_img .caption-alt {
    position: absolute;
    right: calc(var(--spacing) * 0);
    bottom: calc(var(--spacing) * 0);
    left: calc(var(--spacing) * 0);
    display: block;
    height: auto;
    padding: 30px;
    padding-inline: calc(var(--spacing) * 5);
    text-align: center;
    transition-property: 0.3s;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .ztemplate .card.full_img .title {
    position: relative;
    bottom: calc(var(--spacing) * 5);
  }
  .ztemplate .card.full_img .title a {
    font-size: 2.5rem;
    --tw-tracking: -0.5px;
    letter-spacing: -0.5px;
  }
  .ztemplate .card.full_img .ztextarea {
    font-size: 1.3rem;
  }
  .ztemplate .card.full_img .elem:hover .title {
    opacity: 0%;
  }
  .ztemplate .card.full_img .ztextarea, .ztemplate .card.full_img .title a {
    --tw-font-weight: var(--font-weight-normal);
    font-weight: var(--font-weight-normal);
    color: var(--color-white);
  }
  .ztemplate .card.full_img .ztextarea, .ztemplate .card.full_img .zsimplebutton {
    position: absolute;
    bottom: -500px;
    margin-top: calc(var(--spacing) * 5);
    opacity: 100%;
    transition-property: 0.3s;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .ztemplate .card.full_img .zsimplebutton a {
    border-style: var(--tw-border-style);
    border-width: 1px;
    border-color: var(--color-white);
    background-color: transparent;
    color: var(--color-white);
  }
  .ztemplate .card.full_img .elem:hover img {
    opacity: 50%;
  }
  .ztemplate .card.full_img .elem:hover .ztextarea, .ztemplate .card.full_img .elem:hover .zsimplebutton {
    position: relative;
    bottom: calc(var(--spacing) * 5);
  }
  .ztemplate .card.full_img .elem:hover .caption-alt {
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.65) -5%, rgba(0, 0, 0, 0) 100%);
  }
  .ztemplate .card.full_img.alt {
    display: flex;
    gap: 30px;
  }
  .ztemplate .card.full_img.alt .elem {
    width: calc(1/2 * 100%);
  }
  .ztemplate .card.full_img.alt .caption-alt {
    height: 100%;
    padding: 30px;
  }
  .ztemplate .card.full_img.alt .ztextarea {
    width: 100%;
    color: var(--color-white);
  }
  #rooms .ztemplate .card {
    margin: calc(var(--spacing) * 0);
    margin-inline: auto;
    display: flex;
    align-items: stretch;
    justify-content: center;
    @media (width < 48rem) {
      flex-direction: column;
    }
  }
  #rooms .ztemplate .card .elem {
    width: 100%;
  }
  #rooms .ztemplate .card .ztextarea {
    padding-inline: calc(var(--spacing) * 5);
  }
  #rooms .ztemplate .title {
    display: block;
    width: 100%;
    font-size: 2em;
    --tw-leading: 1;
    line-height: 1;
    --tw-tracking: -0.5px;
    letter-spacing: -0.5px;
    color: var(--color-white);
  }
  #rooms .ztemplate .card .open_details {
    margin: calc(var(--spacing) * 3) calc(var(--spacing) * 4) calc(var(--spacing) * 4);
  }
  #rooms .ztemplate.card-grid-cols-enabled .card {
    display: grid;
    justify-content: initial;
  }
  .ztemplate .open_details .template_open_detail,
  .ztemplate .open_details .template_open_detail_link {
    display: block;
    width: 100%;
    padding: 14px 24px;
    text-align: center;
    font-size: 1.1rem;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--color-primary-color);
  }
  .ztemplate .open_details .template_open_detail {
    cursor: pointer;
    border-style: none;
    background-color: transparent;
  }
  #rooms .ztemplate .open_details .template_open_detail,
  #rooms .ztemplate .open_details .template_open_detail_link {
    padding: 10px 16px;
    font-size: 1rem;
    letter-spacing: 1.5px;
  }
  .ztemplate .floated {
    position: relative;
    z-index: 2;
    clear: both;
    text-align: left;
  }
  .ztemplate .floated .elem {
    margin-block: calc(var(--spacing) * 5);
  }
  .ztemplate .floated .caption-cnt {
    display: flex;
    list-style-type: none;
    align-items: center;
    gap: 60px;
    background-color: var(--color-white);
  }
  .ztemplate .floated .caption {
    order: 1;
    width: calc(1/2 * 100%);
    text-align: left;
  }
  .ztemplate .floated .caption-alt {
    order: 2;
    width: calc(1/2 * 100%);
    padding: 30px 20px;
  }
  .ztemplate .floated .odd .caption {
    order: 2;
  }
  .ztemplate .floated .odd .caption-alt {
    order: 1;
  }
  .ztemplate .floated .title {
    margin-bottom: calc(var(--spacing) * 5);
    font-size: 3rem;
    --tw-leading: 1;
    line-height: 1;
    --tw-tracking: -0.5px;
    letter-spacing: -0.5px;
    color: var(--color-white);
  }
  .ztemplate .floated .title a {
    display: block;
    color: var(--color-white);
  }
  .ztemplate .floated img {
    border-radius: var(--radius-lg);
  }
  .ztemplate .floated .ztextarea.g2 {
    margin-bottom: calc(var(--spacing) * 5);
    font-size: 1.35rem;
  }
  .ztemplate .floated .ztextarea {
    margin: calc(var(--spacing) * 0);
    font-size: 1.2em;
    --tw-font-weight: var(--font-weight-normal);
    font-weight: var(--font-weight-normal);
    color: var(--color-grey);
  }
  .ztemplate .floated .zsimplebutton {
    margin-top: calc(var(--spacing) * 5);
    text-align: center;
  }
  .ztemplate .cover {
    position: relative;
    z-index: 2;
    clear: both;
    text-align: center;
  }
  .ztemplate .cover.tns-carousel .elem {
    margin-bottom: calc(var(--spacing) * 5);
  }
  .ztemplate .cover .elem {
    margin-bottom: 50px;
    transition-property: 0.3s;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .ztemplate .cover .elem:hover {
    scale: 0.95;
  }
  .ztemplate .cover .caption-cnt {
    position: relative;
    display: flex;
    align-items: center;
    @media (width < 48rem) {
      flex-direction: column;
    }
  }
  .ztemplate .cover .caption {
    width: 100%;
    @media (width >= 48rem) {
      width: 70%;
    }
  }
  .ztemplate .cover img {
    border-radius: var(--radius-lg);
    @media (width < 48rem) {
      border-bottom-right-radius: 0;
      border-bottom-left-radius: 0;
    }
  }
  .ztemplate .cover .caption-alt {
    position: absolute;
    right: calc(var(--spacing) * 0);
    bottom: 30px;
    z-index: 1;
    display: flex;
    height: 82%;
    width: calc(1/2 * 100%);
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 30px;
    border-radius: var(--radius-lg);
    background-color: var(--color-white);
    padding: 50px;
    text-align: left;
    --tw-shadow: 0 0 15px var(--tw-shadow-color, rgba(0,0,0,0.08));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    @media (width < 48rem) {
      position: static;
    }
    @media (width < 48rem) {
      width: 100%;
    }
    @media (width < 48rem) {
      border-top-left-radius: 0;
      border-top-right-radius: 0;
    }
  }
  .ztemplate .cover .elem.odd .caption-cnt {
    justify-content: flex-end;
  }
  .ztemplate .cover .elem.odd .caption-alt {
    right: auto;
    left: calc(var(--spacing) * 0);
  }
  .ztemplate .cover .zsimplebutton {
    text-align: left;
  }
  .ztemplate .cover .zinput {
    display: flex;
    align-items: center;
    gap: calc(var(--spacing) * 2.5);
    font-size: 1.1rem;
  }
  .ztemplate .cover .zinput .fieldkey {
    color: var(--color-cta-color-ed);
  }
  .ztemplate .cover .zinput .fieldkey:after {
    content: ":";
  }
  .ztemplate .cover .zinput .fieldvalue {
    color: var(--color-white);
  }
  .ztemplate .cover .elem .varscript {
    display: none;
  }
  .ztemplate .cover .elem.c86 .varscript, .ztemplate .cover .elem.c87 .varscript {
    display: block;
  }
  .ztemplate .cover :where(.elem.c86, .elem.c87) .caption-alt {
    height: auto !important;
    max-height: 105% !important;
  }
  .ztemplate .cover :where(.elem.c86, .elem.c87) {
    margin-top: 150px !important;
  }
  .ztemplate .cover.restaurant .zinput:before {
    font-family: var(--Icon);
    width: 35px;
    text-align: center;
    font-size: 1.7rem;
    --tw-font-weight: var(--font-weight-light);
    font-weight: var(--font-weight-light);
    color: var(--color-cta-color-ed);
  }
  .ztemplate .cover.restaurant .zinput.type:before {
    content: "\e42b";
  }
  .ztemplate .cover.restaurant .zinput.guest:before {
    content: "\f0c0";
  }
  .ztemplate .cover.restaurant .zinput.location:before {
    content: "\f3c5";
  }
  .ztemplate .cover.restaurant .title:before {
    margin-bottom: 15px;
  }
  .ztemplate .cover.restaurant .caption {
    position: relative;
  }
  .ztemplate .cover.restaurant .caption-alt {
    gap: calc(var(--spacing) * 2.5);
  }
  .ztemplate .cover.restaurant .ztextarea {
    margin-block: calc(var(--spacing) * 2.5);
    font-size: 1.1rem;
  }
  .ztemplate .cover.restaurant .documents {
    position: absolute;
    bottom: calc(var(--spacing) * 5);
    left: calc(var(--spacing) * 5);
    margin: calc(var(--spacing) * 0);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: calc(var(--spacing) * 2.5);
  }
  .ztemplate .cover.restaurant .document {
    margin: calc(var(--spacing) * 0);
    border-radius: 3px;
    background-color: var(--color-white);
    padding: calc(var(--spacing) * 2.5);
  }
  .ztemplate .cover.restaurant .document a {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 1rem;
  }
  .ztemplate .cover.restaurant .document a:before {
    margin: calc(var(--spacing) * 0);
    color: var(--color-cta-color-ed);
  }
  .ztemplate .nolink .title {
    display: block;
    width: 100%;
    font-size: 2.6em;
    --tw-leading: 1;
    line-height: 1;
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    --tw-tracking: -1.5px;
    letter-spacing: -1.5px;
    color: var(--color-white);
  }
  .ztemplate .tns-controls, .ztemplate .tns-controls button {
    background-color: transparent;
  }
  .ztemplate .tns-controls .prev, .ztemplate .tns-controls .next {
    color: var(--color-white);
  }
  .ztemplate .tns-controls .prev {
    @media (width >= 64rem) {
      left: -100px;
    }
  }
  .ztemplate .tns-controls .next {
    @media (width >= 64rem) {
      right: -100px;
    }
  }
  .template_detail_wrapper {
    pointer-events: none;
    position: fixed;
    top: calc(var(--spacing) * 0);
    right: calc(var(--spacing) * 0);
    bottom: calc(var(--spacing) * 0);
    left: calc(var(--spacing) * 0);
    z-index: calc(1 * -1);
    display: flex;
    height: 100vh;
    width: 100%;
    align-items: center;
    justify-content: center;
    background-color: rgba(0,0,0,0.75);
    opacity: 0%;
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
    --tw-duration: 100ms;
    transition-duration: 100ms;
    --tw-ease: cubic-bezier(0.465,0.183,0.153,0.946);
    transition-timing-function: cubic-bezier(0.465,0.183,0.153,0.946);
    will-change: transform;
  }
  .template_detail_wrapper.opened {
    pointer-events: auto;
    z-index: 99999;
    --tw-scale-x: 100%;
    --tw-scale-y: 100%;
    --tw-scale-z: 100%;
    scale: var(--tw-scale-x) var(--tw-scale-y);
    opacity: 100%;
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
    --tw-duration: 300ms;
    transition-duration: 300ms;
    --tw-ease: cubic-bezier(0.465,0.183,0.153,0.946);
    transition-timing-function: cubic-bezier(0.465,0.183,0.153,0.946);
  }
  .template_detail_wrapper .content_detail_wrapper {
    position: relative;
    max-height: 80vh;
    width: 80%;
    max-width: 1170px;
    overflow: auto;
    border-radius: var(--radius-lg);
    background-color: var(--color-white);
    --tw-shadow: 0 0 15px var(--tw-shadow-color, rgba(0,0,0,0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    @media (width < 48rem) {
      width: 92%;
      max-height: 88vh;
    }
  }
  .template_detail_wrapper .close_detail {
    position: absolute;
    top: calc(var(--spacing) * 2.5);
    right: calc(var(--spacing) * 2.5);
    z-index: 5;
    cursor: pointer;
    border-radius: 3px;
    background-color: var(--color-primary-color);
    padding: 5px;
    color: 0;
  }
  .template_detail_wrapper .close_detail:before {
    content: "\f00d";
    font-family: var(--Icon);
    display: block;
    height: 30px;
    width: 30px;
    text-align: center;
    font-size: 1.7rem;
    --tw-leading: 30px;
    line-height: 30px;
    color: var(--color-white);
  }
  .template_detail_wrapper .detail_template {
    margin: auto;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 30px;
    padding: 30px;
    @media (width < 48rem) {
      gap: 18px;
      padding: 18px;
    }
  }
  .template_detail_wrapper .detail_template .title {
    margin-bottom: 15px;
    font-size: 2em;
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary-color);
    overflow-wrap: anywhere;
  }
  .template_detail_wrapper .detail_template .ztextarea {
    margin-bottom: calc(var(--spacing) * 5);
    font-size: 1.2em;
    --tw-leading: 1.3;
    line-height: 1.3;
    --tw-font-weight: var(--font-weight-normal);
    font-weight: var(--font-weight-normal);
    color: var(--color-grey);
  }
  .template_detail_wrapper .detail_template .caption-cnt {
    position: relative;
    width: 100%;
    @media (width >= 48rem) {
      width: calc(40% - 15px);
    }
  }
  .template_detail_wrapper .detail_template .caption-cnt img {
    width: 100%;
    border-radius: var(--radius-md);
  }
  .template_detail_wrapper .detail_template .caption-alt {
    width: 100%;
    min-width: 0;
    @media (width >= 48rem) {
      width: calc(60% - 15px);
    }
  }
  #rooms .template_detail_wrapper .detail_template img {
    max-height: calc(70vh - 100px);
    object-fit: cover;
  }
  #rooms .template_detail_wrapper .tns-outer {
    position: relative;
    overflow: visible;
  }
  #rooms .template_detail_wrapper .tns-controls {
    position: absolute;
    inset: 0;
    z-index: 12;
    pointer-events: none;
  }
  #rooms .template_detail_wrapper .tns-controls button {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;
    max-width: 38px !important;
    max-height: 38px !important;
    padding: 0 !important;
    border-radius: 9999px !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.28) !important;
    font-size: 0 !important;
    line-height: 0 !important;
  }
  #rooms .template_detail_wrapper .tns-controls .prev,
  #rooms .template_detail_wrapper .tns-controls .next,
  #rooms .template_detail_wrapper .tns-controls [data-controls="prev"],
  #rooms .template_detail_wrapper .tns-controls [data-controls="next"] {
    pointer-events: auto;
    top: 50%;
    bottom: auto;
    transform: translateY(-50%);
    border: 0 !important;
    color: #fff;
    text-align: center;
  }
  #rooms .template_detail_wrapper .tns-controls .prev,
  #rooms .template_detail_wrapper .tns-controls [data-controls="prev"] {
    left: -12px;
    color: var(--color-white);
    @media (width >= 48rem) {
      left: -12px;
    }
    @media (width < 48rem) {
      left: -8px;
    }
  }
  #rooms .template_detail_wrapper .tns-controls .next,
  #rooms .template_detail_wrapper .tns-controls [data-controls="next"] {
    right: -12px;
    color: var(--color-white);
    @media (width >= 48rem) {
      right: -12px;
    }
    @media (width < 48rem) {
      right: -8px;
    }
  }
  #rooms .template_detail_wrapper .tns-controls .prev:before,
  #rooms .template_detail_wrapper .tns-controls .next:before,
  #rooms .template_detail_wrapper .tns-controls [data-controls="prev"]:before,
  #rooms .template_detail_wrapper .tns-controls [data-controls="next"]:before {
    display: block;
    width: 18px;
    height: 18px;
    background-size: 18px 18px;
    background-position: center;
    background-repeat: no-repeat;
    filter: brightness(0) invert(1);
  }
  #rooms .template_detail_wrapper .tns-controls .prev:before,
  #rooms .template_detail_wrapper .tns-controls [data-controls="prev"]:before {
    background-image: url('../assets/images/icons/angle-left-solid-full.svg');
  }
  #rooms .template_detail_wrapper .tns-controls .next:before,
  #rooms .template_detail_wrapper .tns-controls [data-controls="next"]:before {
    background-image: url('../assets/images/icons/angle-right-solid-full.svg');
  }
  footer #social li a:before {
    font-family: "Font Awesome Brands";
    font-size: 1.3rem;
    --tw-leading: 42px;
    line-height: 42px;
    --tw-font-weight: var(--font-weight-normal);
    font-weight: var(--font-weight-normal);
  }
  footer #social .facebook a:before {
    content: "\f39e";
  }
  footer #social .instagram a:before {
    content: "\f16d";
  }
  footer #social .youtube a:before {
    content: "\f167";
  }
  footer a[href^=tel], footer a {
    color: var(--color-cta-color-ed);
  }
  footer .logo img {
    filter: brightness(0) invert(0);
  }
  #page_hotel #intro {
    position: relative;
    padding-block: calc(var(--spacing) * 10);
  }
  #page_hotel #details .section_intro {
    text-align: center;
    font-size: 16px;
    --tw-leading: 30px;
    line-height: 30px;
    --tw-font-weight: var(--font-weight-normal);
    font-weight: var(--font-weight-normal);
    color: var(--color-grey);
  }
  #page_hotel #details .text_dyn {
    text-align: left;
    font-size: 16px;
    --tw-leading: 30px;
    line-height: 30px;
    --tw-font-weight: var(--font-weight-normal);
    font-weight: var(--font-weight-normal);
    color: var(--color-grey);
  }
  #page_hotel #details .text_dyn h2 {
    text-align: left;
    font-size: 38px;
    --tw-leading: calc(var(--spacing) * 10);
    line-height: calc(var(--spacing) * 10);
    --tw-font-weight: var(--font-weight-normal);
    font-weight: var(--font-weight-normal);
    color: var(--color-grey);
  }
  #page_hotel #details .zcheckbox {
    border-radius: var(--radius-lg);
    background-color: var(--color-white);
    text-align: left;
    --tw-shadow: 0 2px 6px var(--tw-shadow-color, rgba(0,0,0,0.05));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  #page_hotel #details .zcheckbox .fieldvalue {
    position: relative;
    display: flex;
    align-items: center;
    gap: calc(var(--spacing) * 2.5);
    text-align: left;
    font-size: 1.1rem;
    --tw-leading: 1;
    line-height: 1;
    --tw-font-weight: var(--font-weight-normal);
    font-weight: var(--font-weight-normal);
    color: var(--color-grey);
  }
  #page_hotel #details .zcheckbox .fieldvalue:before {
    font-family: var(--Icon);
    width: calc(var(--spacing) * 10);
    text-align: center;
    font-size: 2rem;
    --tw-leading: 1;
    line-height: 1;
    --tw-font-weight: var(--font-weight-extralight);
    font-weight: var(--font-weight-extralight);
    color: var(--color-primary-color);
    content: "\f00c";
  }
  #page_hotel #details .zcheckbox .fieldvalue.v9:before {
    content: "\f1eb";
  }
  #page_hotel #details .zcheckbox .fieldvalue.v2:before {
    content: "\f8f4";
  }
  #page_hotel #details .zcheckbox .fieldvalue.v3:before {
    content: "\e026";
  }
  #page_hotel #details .zcheckbox .fieldvalue.v5:before {
    content: "\f26c";
  }
  #page_hotel #details .zcheckbox .fieldvalue.v4:before {
    content: "\e00c";
  }
  #page_hotel #details .zcheckbox .fieldvalue.v8:before {
    content: "\e2c5";
  }
  #page_hotel #details .zcheckbox .fieldvalue.v6:before {
    content: "\f562";
  }
  #page_hotel #details .zcheckbox .fieldvalue.v7:before {
    content: "\f77d";
  }
  #page_hotel #details .zcheckbox .fieldvalue.v10:before {
    content: "\e002";
  }
  #page_hotel #details .zcheckbox .fieldvalue.v11:before {
    content: "\e050";
  }
  #page_hotel #details .zcheckbox .fieldvalue.v15:before {
    content: "\f5bb";
  }
  #page_hotel #details .zcheckbox .fieldvalue.v13:before {
    content: "\e010";
  }
  #page_hotel #details .zcheckbox .fieldvalue.v17:before {
    content: "\e43b";
  }
  #page_hotel #details .zcheckbox .fieldvalue.v12:before {
    content: "\f5ca";
  }
  #page_hotel #details .zcheckbox .fieldvalue.v14:before {
    content: "\f521";
  }
  #page_hotel #details .zcheckbox .fieldvalue.v16:before {
    content: "\f734";
  }
  #rooms {
    padding-top: calc(var(--spacing) * 4);
    padding-bottom: calc(var(--spacing) * 10);
  }
  #details .zcheckbox {
    margin-top: 30px;
    columns: 1;
    gap: calc(var(--spacing) * 10);
    padding-inline: calc(var(--spacing) * 10);
    padding-block: 25px;
    @media (width >= 48rem) {
      columns: 2;
    }
  }
  #details .zcheckbox .fieldvalue:before {
    font-family: var(--Icon);
    display: inline-block;
    width: calc(var(--spacing) * 10);
    padding-right: 7px;
    text-align: center;
    font-size: 2rem;
    --tw-leading: 1;
    line-height: 1;
    --tw-font-weight: var(--font-weight-extralight);
    font-weight: var(--font-weight-extralight);
    color: var(--color-primary-color);
    content: "\f00c";
  }
  /* Fallback: keep service icons visible even when #page_hotel is not present. */
  #details .zcheckbox .fieldvalue.v9:before {
    content: "\f1eb";
  }
  #details .zcheckbox .fieldvalue.v2:before {
    content: "\f8f4";
  }
  #details .zcheckbox .fieldvalue.v3:before {
    content: "\e026";
  }
  #details .zcheckbox .fieldvalue.v5:before {
    content: "\f26c";
  }
  #details .zcheckbox .fieldvalue.v4:before {
    content: "\e00c";
  }
  #details .zcheckbox .fieldvalue.v8:before {
    content: "\e2c5";
  }
  #details .zcheckbox .fieldvalue.v6:before {
    content: "\f562";
  }
  #details .zcheckbox .fieldvalue.v7:before {
    content: "\f77d";
  }
  #details .zcheckbox .fieldvalue.v10:before {
    content: "\e002";
  }
  #details .zcheckbox .fieldvalue.v11:before {
    content: "\e050";
  }
  #details .zcheckbox .fieldvalue.v12:before {
    content: "\f5ca";
  }
  #details .zcheckbox .fieldvalue.v13:before {
    content: "\e010";
  }
  #details .zcheckbox .fieldvalue.v14:before {
    content: "\f521";
  }
  #details .zcheckbox .fieldvalue.v16:before {
    content: "\f734";
  }
  #details .zcheckbox .fieldvalue.v17:before {
    content: "\e43b";
  }
  #details .zcheckbox .fieldvalue {
    margin-bottom: 15px;
  }
  .section_summary {
    border-color: var(--color-grey-medium);
    text-align: center;
    font-size: 1.5rem;
    --tw-leading: var(--leading-normal);
    line-height: var(--leading-normal);
    --tw-font-weight: var(--font-weight-normal);
    font-weight: var(--font-weight-normal);
    color: var(--color-grey);
  }
  .section_summary b, .section_summary strong {
    color: var(--color-primary-color);
  }
  .noslide .section_summary strong {
    color: var(--color-white);
  }
  .section_content {
    padding-block: calc(var(--spacing) * 10);
    text-align: left;
    font-size: 1.1rem;
    --tw-leading: var(--leading-normal);
    line-height: var(--leading-normal);
    --tw-font-weight: var(--font-weight-normal);
    font-weight: var(--font-weight-normal);
    color: var(--color-grey);
  }
  .section_content .text_dyn {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: calc(var(--spacing) * 10);
  }
  .section_content .text_dyn .fieldvalue {
    margin-block: calc(var(--spacing) * 5);
    display: flex;
    width: 100%;
    flex-direction: column;
    align-items: flex-start;
    gap: 60px;
    @media (width >= 48rem) {
      flex-direction: row;
    }
  }
  .section_content .text_dyn .fieldvalue.single {
    margin: calc(var(--spacing) * 0);
    width: 100%;
    justify-content: center;
  }
  .section_content .text_dyn .fieldvalue h2 {
    margin-bottom: calc(var(--spacing) * 5);
    font-size: 2.8rem;
    --tw-tracking: -1px;
    letter-spacing: -1px;
    color: var(--color-primary-color);
  }
  .section_content .text_dyn .fieldvalue h3 {
    margin-bottom: calc(var(--spacing) * 2.5);
    font-size: 1.6rem;
    --tw-leading: var(--leading-normal);
    line-height: var(--leading-normal);
    color: var(--color-primary-color);
  }
  .section_content .text_dyn .fieldvalue h4 {
    margin-bottom: calc(var(--spacing) * 2.5);
    font-size: 1.4rem;
    --tw-leading: 1.3;
    line-height: 1.3;
    color: var(--color-primary-color);
  }
  .section_content .text_dyn .fieldvalue p {
    font-size: 1.2rem;
  }
  .section_content .text_dyn .fieldvalue img {
    float: none;
    margin: calc(var(--spacing) * 0);
    border-radius: var(--radius-lg) !important;
    @media (width < 48rem) {
      width: 100%;
    }
  }
  .section_content .text_dyn .fieldvalue img.right {
    order: 2;
  }
  #page .section_content .g6.center {
    width: 100%;
    text-align: center;
  }
  #slideshow_cnt {
    position: relative;
    max-height: calc(100vh - 65px);
    text-align: center;
  }
  #slideshow_cnt #slideshow {
    position: relative;
    max-height: calc(100vh - 65px);
    overflow: hidden;
  }
  #slideshow_cnt #slideshow .elem {
    position: relative;
    height: auto;
    max-height: calc(100vh - 65px);
  }
  #slideshow_cnt #slideshow img {
    width: 100%;
    min-width: 100%;
    object-fit: cover;
  }
  #slideshow_cnt #slideshow .caption {
    position: absolute;
    right: calc(var(--spacing) * 0);
    bottom: 10%;
    left: calc(var(--spacing) * 0);
    margin-inline: auto;
    max-width: 920px;
    color: var(--color-white);
  }
  #slideshow_cnt #slideshow .caption h3 {
    margin: calc(var(--spacing) * 0);
    font-size: 4rem;
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    --tw-tracking: -1.5px;
    letter-spacing: -1.5px;
    text-shadow: 0 0 10px var(--tw-text-shadow-color, rgba(0,0,0,0.5));
  }
  #slideshow_cnt #slideshow .caption div {
    margin-bottom: 25px;
    text-shadow: 0 0 5px var(--tw-text-shadow-color, rgba(0,0,0,0.5));
  }
  #slideshow_cnt #slideshow .caption p {
    margin: calc(var(--spacing) * 0);
    font-size: 2rem;
  }
  #slideshow_cnt #slideshow .caption .goto {
    margin: calc(var(--spacing) * 0);
    font-size: 2rem;
    --tw-shadow: 0 0 #0000;
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  #slideshow_cnt #slideshow .tns-nav {
    position: absolute;
    right: calc(var(--spacing) * 0);
    bottom: calc(var(--spacing) * 5);
    left: calc(var(--spacing) * 0);
  }
  #slideshow_cnt.noslide {
    min-height: 302px;
    overflow: hidden;
    background-color: var(--color-primary-color);
  }
  #slideshow_cnt.noslide .section_summary {
    margin-inline: auto;
    margin-block: calc(var(--spacing) * 5);
    margin-bottom: calc(var(--spacing) * 10);
    width: 80%;
    max-width: 920px;
    text-align: center;
    color: var(--color-white);
  }
  #slideshow_cnt.noslide .section_summary,
  #slideshow_cnt.noslide .section_summary * {
    color: var(--color-white) !important;
  }
  #slideshow_cnt.noslide .section_summary a {
    color: var(--color-white);
  }
  #slideshow_cnt.noslide .not_found_elem {
    font-size: 8rem;
  }
  #gallery {
    margin-bottom: 50px;
    display: flex;
    flex-wrap: wrap;
    gap: calc(var(--spacing) * 5);
  }
  #gallery .album {
    position: relative;
    width: calc(50% - 20px);
  }
  .smartphone #gallery .album {
    width: 100%;
  }
  #gallery .album img {
    border-radius: var(--radius-lg);
  }
  #gallery .album .album_summary {
    display: none;
  }
  #gallery .album_title {
    margin-top: 15px;
    width: 100%;
    text-align: center;
    font-size: 2.5rem;
    --tw-font-weight: var(--font-weight-normal);
    font-weight: var(--font-weight-normal);
    --tw-tracking: -0.5px;
    letter-spacing: -0.5px;
    color: var(--color-primary-color);
  }
  #gallery-album #slideshow_cnt {
    margin: calc(var(--spacing) * 0);
    padding-top: 150px;
    text-align: center;
    font-size: 3.5rem;
    --tw-leading: 1;
    line-height: 1;
    --tw-font-weight: var(--font-weight-normal);
    font-weight: var(--font-weight-normal);
    --tw-tracking: -0.5px;
    letter-spacing: -0.5px;
    color: var(--color-white);
  }
  #gallery-album .album-cnt {
    margin-block: 50px;
    display: flex;
    flex-wrap: wrap;
    gap: calc(var(--spacing) * 5);
  }
  #gallery-album .album-cnt a {
    width: calc(33.3333% - 20px);
  }
  .smartphone #gallery-album .album-cnt a {
    width: calc(50% - 20px);
  }
  .rel_contents {
    margin-inline: auto;
    margin-block: 60px;
  }
  .rel_contents .section_title {
    margin-inline: auto;
    margin-bottom: 30px;
    color: var(--color-white);
  }
  .rel_contents .ztemplate .elem.last {
    margin: calc(var(--spacing) * 0);
  }
  .related {
    background-color: var(--color-primary-color-dark);
  }
  #related {
    background-color: var(--color-primary-color);
    padding-block: calc(var(--spacing) * 10);
  }
  #related.rel_contents {
    margin-bottom: calc(var(--spacing) * 0);
  }
  #related .section_title {
    color: var(--color-white);
  }
  .rel_contents.light_bg {
    margin-bottom: calc(var(--spacing) * 0);
    background-color: var(--color-primary-color);
    padding-block: calc(var(--spacing) * 10);
  }
#page.resort #related_hotels, #showcase #related_hotels, .related_hotels {
  @media (width >= 48rem) {
    padding-inline: 100px;
  }
}
#page.resort #related_hotels .ztemplate .card, #showcase #related_hotels .ztemplate .card, .related_hotels .ztemplate .card {
  display: grid;
  width: 100%;
  gap: calc(var(--spacing) * 5);
  grid-template-columns: repeat(1, minmax(0, 1fr));
  @media (width >= 48rem) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
#page.resort #related_hotels .ztemplate .card .elem, #showcase #related_hotels .ztemplate .card .elem, .related_hotels .ztemplate .card .elem {
  width: 100%;
}
#page.resort #related_hotels .ztemplate .card.alternative img,
#showcase #related_hotels .ztemplate .card.alternative img,
.related_hotels .ztemplate .card.alternative img {
  aspect-ratio: 4 / 3;
}
  .section_title {
    margin-bottom: calc(var(--spacing) * 5);
    text-align: center;
    font-size: 3rem;
    --tw-tracking: -1px;
    letter-spacing: -1px;
    color: var(--color-grey);
  }
  #contact_form label, #contact_form .form .newsletter label {
    align-items: center;
  }
  .body_page_contact form .privacy_field {
    margin-bottom: calc(var(--spacing) * 0);
  }
  #contact_form.light_bg {
    background-color: var(--color-white);
  }
  .overlay_.home_fired {
    left: calc(var(--spacing) * 0);
    opacity: 100%;
  }
  #template16 .tns-nav {
    display: none;
  }
  footer {
    padding-inline: 15px;
    padding-block: calc(var(--spacing) * 10);
    padding-bottom: calc(var(--spacing) * 20);
  }
  footer a:hover {
    color: var(--color-black);
    text-decoration-line: underline;
  }
  footer .facebook a:hover, footer .instagram a:hover {
    color: var(--color-white);
    text-decoration-line: none;
  }
  #menu_open #contacts a:hover {
    color: var(--color-white);
    text-decoration-line: underline;
  }
  #template5 .caption-1 img {
    filter: brightness(0.7);
  }
  #page {
    position: relative;
    text-align: left;
  }
  .slick-arrow {
    z-index: 583;
    margin: calc(var(--spacing) * 0);
    cursor: pointer;
    --tw-border-style: none;
    border-style: none;
    background-color: transparent;
    text-align: center;
    color: 0;
  }
  .slick-dots {
    margin: auto;
    list-style-type: none;
    padding: calc(var(--spacing) * 0);
    text-align: center;
  }
  .slick-dots li {
    display: inline-block;
  }
  .slick-dots li button {
    --tw-border-style: none;
    border-style: none;
    padding: calc(var(--spacing) * 0);
    color: 0;
  }
}
@property --tw-rotate-x {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-y {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-z {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-x {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-y {
  syntax: "*";
  inherits: false;
}
@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-leading {
  syntax: "*";
  inherits: false;
}
@property --tw-font-weight {
  syntax: "*";
  inherits: false;
}
@property --tw-tracking {
  syntax: "*";
  inherits: false;
}
@property --tw-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false;
}
@property --tw-ease {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-ring-inset {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0px;
}
@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}
@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-scale-x {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-scale-y {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-scale-z {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-duration {
  syntax: "*";
  inherits: false;
}
@property --tw-text-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-text-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@layer properties {
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
    *, ::before, ::after, ::backdrop {
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-border-style: solid;
      --tw-leading: initial;
      --tw-font-weight: initial;
      --tw-tracking: initial;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --tw-ease: initial;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-scale-x: 1;
      --tw-scale-y: 1;
      --tw-scale-z: 1;
      --tw-duration: initial;
      --tw-text-shadow-color: initial;
      --tw-text-shadow-alpha: 100%;
    }
  }
}
 
#page .fieldvalue,
#page .section_summary,
#page .section_text,
#page .ztextarea .fieldvalue {
  padding-block: calc(var(--spacing) * 4);
}
:root{--footer-max:72rem}.footer{padding-left:20px;padding-right:20px}.footer .container{max-width:var(--footer-max);margin-left:auto;margin-right:auto}.footer-row .container{max-width:var(--footer-max);margin-left:auto;margin-right:auto}.footer-row{position:relative;max-width:var(--footer-max);margin-left:auto;margin-right:auto;padding-left:20px;padding-right:20px}.footer-row::before{content:"";position:absolute;top:0;bottom:0;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;background-color:var(--color-secondary-color);z-index:-1}.full-bg-row{position:relative;max-width:var(--footer-max);margin-left:auto;margin-right:auto;padding-left:20px;padding-right:20px}.full-bg-row::before{content:"";position:absolute;top:0;bottom:0;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;background-color:inherit;z-index:-1}.full-bg-row .accordion-title,.full-bg-row .accordion-content,.full-bg-row .accordion-content *{color:var(--color-white)!important}.full-bg-row .accordion-content{background-color:transparent;border-color:rgba(255,255,255,0.3);font-size:var(--text-sm);line-height:1.6}.full-bg-row .accordion-title{border-bottom:1px solid rgba(255,255,255,0.6);margin:12px 0;padding-bottom:12px;width:100%;display:flex;align-items:center;justify-content:space-between;background:transparent;font-size:1.05rem}.full-bg-row .accordion-title::after{content:"▾";font-size:1rem;line-height:1;margin-left:12px}.full-bg-row .accordion-title.selected::after{content:"▴"}.footer img{filter:grayscale(100%) brightness(0);max-width:200px;width:100%;height:auto}.footer-boxed{width:100%}
/* Width helpers for CMS-authored classes. */
.mw-100 { max-width: 100px !important; width: 100%; }
.mw-150 { max-width: 150px !important; width: 100%; }
.mw-200 { max-width: 200px !important; width: 100%; }
.mw-250 { max-width: 250px !important; width: 100%; }
.mw-300 { max-width: 300px !important; width: 100%; }
.mw-350 { max-width: 350px !important; width: 100%; }
.mw-400 { max-width: 400px !important; width: 100%; }
.mw-450 { max-width: 450px !important; width: 100%; }
.mw-500 { max-width: 500px !important; width: 100%; }
/* Template utility classes not present in generated tailwind output. */
.pt-28 { padding-top: 7rem !important; }

/* Keep header transparent at top and white only in affix state. */
header:not(.scrolled) {
  background-color: #00000033 !important;
}
@media (width < 48rem) {
  header:not(.scrolled) .logo {
    width: min(240px, 68vw);
    padding-inline: 0 !important;
  }
  header:not(.scrolled) .logo img {
    width: 100%;
  }
}
header:not(.scrolled) #bar a,
header:not(.scrolled) #bar .contact_mail_btn,
header:not(.scrolled) #language_btn,
header:not(.scrolled) #language_btn:after,
header:not(.scrolled) #btn_container #menu_btn span {
  color: var(--color-white) !important;
}
header:not(.scrolled) #btn_container #menu_btn .bar:before,
header:not(.scrolled) #btn_container #menu_btn .bar:after {
  background-color: var(--color-white) !important;
}
header:not(.scrolled) .logo img {
  filter: brightness(0) invert(1) !important;
}
header .logo img {
  transform: translateY(-10px) !important;
}
header.scrolled .logo img {
  transform: translateY(-10px) !important;
}
header.scrolled {
  background-color: var(--color-white) !important;
}

.footer-bottom-row {
  margin-bottom: 72px !important;
}

.footer.footer-row .footer-location-text {
  width: 100%;
  max-width: 320px;
  margin-inline: auto;
}

.footer.footer-row .footer-location-text,
.footer.footer-row .footer-location-text *,
.footer.footer-row .footer-location-text p,
.footer.footer-row .footer-location-text a {
  text-align: left !important;
}

.footer.footer-row .footer-location-inner,
.footer.footer-row .footer-location-inner *,
.footer.footer-row .footer-location-inner p,
.footer.footer-row .footer-location-inner a {
  font-size: 0.95rem;
  line-height: 1.45;
}

.footer.footer-row .footer-legal-text {
  width: 100%;
  max-width: 680px;
  margin-inline: auto;
}

.footer.footer-row .footer-legal-text,
.footer.footer-row .footer-legal-text *,
.footer.footer-row .footer-legal-text p,
.footer.footer-row .footer-legal-text a {
  text-align: left !important;
}

.footer.footer-row .footer-legal-inner,
.footer.footer-row .footer-legal-inner *,
.footer.footer-row .footer-legal-inner p,
.footer.footer-row .footer-legal-inner a {
  font-size: 0.82rem;
  line-height: 1.4;
}

/* Keep first section content below the fixed header on pages without media hero. */
.section-with-header-offset,
#slideshow_cnt.noslide.header-offset-content {
  padding-top: 150px !important;
}

.services-submenu .services-submenu-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  column-gap: 3rem;
  row-gap: 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.services-submenu .services-submenu-item {
  display: inline-flex;
}
.services-submenu .services-submenu-link {
  display: inline-block;
  font-size: 1.4rem;
  line-height: 1.3;
  font-weight: 700;
  color: var(--color-primary-color);
}

/* Restore template5 experience cards with overlay caption on image. */
#experience .ztemplate.template5 .card.full_img .caption-alt {
  position: absolute;
  right: calc(var(--spacing) * 0);
  bottom: calc(var(--spacing) * 0);
  left: calc(var(--spacing) * 0);
  padding: 30px;
  padding-inline: calc(var(--spacing) * 5);
  text-align: center;
  background: transparent;
}
#experience .ztemplate.template5 .card.full_img .title {
  position: relative;
  bottom: calc(var(--spacing) * 5);
}
#experience .ztemplate.template5 .card.full_img .ztextarea,
#experience .ztemplate.template5 .card.full_img .zsimplebutton {
  position: absolute;
  bottom: -500px;
  margin-top: calc(var(--spacing) * 5);
  opacity: 100%;
}
#experience .ztemplate.template5 .card.full_img .elem:hover .ztextarea,
#experience .ztemplate.template5 .card.full_img .elem:hover .zsimplebutton {
  position: relative;
  bottom: calc(var(--spacing) * 5);
}
#experience .ztemplate.template5 .card.full_img .elem:hover .caption-alt {
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.65) -5%, rgba(0, 0, 0, 0) 100%);
}
#experience .ztemplate.template5 .card.full_img .caption-alt,
#experience .ztemplate.template5 .card.full_img .caption-alt *,
#experience .ztemplate.template5 .card.full_img .elem:hover .caption-alt,
#experience .ztemplate.template5 .card.full_img .elem:hover .caption-alt * {
  color: var(--color-white) !important;
}
#experience .ztemplate.template5.sequence-layout .card.full_img {
  display: flex !important;
  width: 100%;
  flex-wrap: wrap;
  justify-content: center;
  margin-inline: auto;
}
#experience .ztemplate.template5.sequence-layout .card.full_img .elem {
  width: 100% !important;
}
@media (min-width: 768px) {
  #experience .ztemplate.template5.sequence-layout .card.full_img .elem {
    width: calc(50% - 4px) !important;
  }
}
@media (min-width: 1200px) {
  #experience .ztemplate.template5.sequence-layout .card.full_img .elem {
    width: calc(33.333% - 4px) !important;
  }
}

/* Tighten spacing when map row is immediately before the footer. */
section:has(iframe[src*="google.com/maps/embed"]) > div[data-row] {
  padding-bottom: 0 !important;
}
section:has(iframe[src*="google.com/maps/embed"]) + section .footer.footer-row {
  padding-top: 2rem !important;
}

/* Services icon-list fallback when section id is missing/inconsistent. */
.icons.services-icons > .varscript {
  position: relative;
  top: -50px;
  z-index: 1;
  margin-inline: auto;
  margin-block: calc(var(--spacing) * 0);
  margin-top: 50px;
  display: flex;
  max-width: 1170px;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: calc(var(--spacing) * 10);
  border-radius: 5px;
  background-color: var(--color-secondary-color);
  padding: 30px;
  padding-inline: calc(var(--spacing) * 5);
  color: var(--color-cta-color-ed);
  --tw-shadow: 0 0 15px var(--tw-shadow-color, rgba(0,0,0,0.10));
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
.icons.services-icons > .varscript.varscript_services_icons-flat {
  top: 0;
  margin-top: 0;
}
.icons.services-icons.services-icons-padded {
  padding-block: calc(var(--spacing) * 12) !important;
}
.icons.services-icons > .varscript {
  padding: 40px !important;
  padding-inline: calc(var(--spacing) * 10) !important;
  row-gap: calc(var(--spacing) * 8);
  column-gap: calc(var(--spacing) * 14);
}
.icons.services-icons .icon {
  justify-content: center !important;
  text-align: center;
  min-width: 140px;
}
.icons.services-icons .icon i {
  color: var(--color-primary-color);
  font-size: 28px;
  margin-bottom: 10px;
}

/* Mobile hardening: prevent horizontal overflow and improve header/menu/booking usability. */
@media (width < 48rem) {
  html,
  body {
    overflow-x: hidden;
  }

  header {
    padding: 10px 12px !important;
  }

  header:not(.scrolled) .logo {
    width: min(210px, 58vw);
  }

  #menu_open {
    align-items: flex-start;
    justify-content: flex-start;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  #menu_open:after {
    display: none;
  }

  #menu_open #menu_cnt {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    width: 100%;
    min-height: 100%;
    max-width: none;
    gap: calc(var(--spacing) * 6);
    padding: 110px 22px calc(100px + env(safe-area-inset-bottom));
  }

  #menu_open #menu_cnt #menu1,
  #menu_open #menu_cnt #contacts {
    width: 100%;
    max-width: none;
  }

  #menu_open #menu_cnt #menu1 ul {
    margin: 0;
    width: 100%;
    padding-left: 0;
  }

  #menu_open #menu_cnt #menu1 li {
    margin: 0;
    padding: 10px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  }

  #menu_open #menu_cnt #menu1 li:hover {
    margin-left: 0;
  }

  #menu_open #menu_cnt #menu1 li a {
    display: block;
    width: 100%;
    padding-right: 0;
    font-size: clamp(1.15rem, 5.6vw, 1.5rem);
    line-height: 1.2;
  }

  #menu_open #menu_cnt #menu1 li a:before {
    display: none;
  }

  #menu_open #menu_cnt #contacts {
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    padding-top: 8px;
  }

  #menu_open #menu_cnt #contacts .section_text {
    margin: 0;
    font-size: 1rem;
    line-height: 1.45;
  }

  #menu_open #menu_cnt #contacts #social {
    margin-top: 18px;
    flex-wrap: wrap;
  }

  [data-booking-engine] > div:nth-of-type(1) {
    display: none !important;
  }

  [data-booking-engine] > div:nth-of-type(2) {
    display: block !important;
  }

  [data-booking-engine] > div:nth-of-type(2) a {
    min-height: 56px;
    padding-bottom: calc(12px + env(safe-area-inset-bottom));
  }
}

@media (width >= 48rem) {
  [data-booking-engine] > div:nth-of-type(1) {
    display: flex !important;
  }

  [data-booking-engine] > div:nth-of-type(2) {
    display: none !important;
  }
}

/* Contact form block */
.cg-contact-form {
  margin-inline: auto;
  max-width: 920px;
  border-radius: 8px;
  background-color: var(--color-secondary-color);
  padding: 28px;
  color: var(--color-cta-color-ed);
  box-shadow: 0 0 18px rgba(0, 0, 0, 0.06);
}

.cg-contact-form .form-title {
  margin: 0 0 24px;
  text-align: center;
  font-size: 2rem;
  line-height: 1.1;
  font-weight: 700;
  color: var(--color-primary-color);
}

.cg-contact-form .caption-fields {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 16px;
}

.cg-contact-form .form_element_title {
  margin-bottom: 6px;
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--color-cta-color-ed);
}

.cg-contact-form input[type="text"],
.cg-contact-form input[type="email"],
.cg-contact-form input[type="tel"],
.cg-contact-form textarea {
  width: 100%;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 6px;
  background: var(--color-white);
  padding: 10px 12px;
  font-size: 1rem;
  color: var(--color-cta-color-ed);
}

.cg-contact-form textarea {
  min-height: 140px;
  resize: vertical;
}

.cg-contact-form__privacy label,
.cg-contact-form__newsletter label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 0.95rem;
  line-height: 1.45;
}

.cg-contact-form__privacy .show_privacy a {
  text-decoration: underline;
}

.cg-contact-form__honeypot {
  display: none;
}

.cg-contact-form__actions {
  display: flex;
  justify-content: center;
}

.cg-contact-form__submit {
  min-width: 180px;
  border: 0;
  background-color: var(--color-primary-color);
  color: var(--color-white);
  padding: 12px 26px;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  cursor: pointer;
  transition: opacity 0.2s ease;
}

.cg-contact-form__submit:hover {
  opacity: 0.9;
}

.cg-contact-form__submit:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.cg-contact-form .form_messages {
  margin-top: 14px;
  text-align: center;
  font-weight: 700;
}

.cg-contact-form .form_messages.success {
  color: #0b8f36;
}

.cg-contact-form .form_messages.error {
  color: #b41010;
}

@media (width >= 48rem) {
  .cg-contact-form .caption-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cg-contact-form .element_3,
  .cg-contact-form__message,
  .cg-contact-form__privacy,
  .cg-contact-form__newsletter,
  .cg-contact-form__actions,
  .cg-contact-form .form_messages {
    grid-column: 1 / -1;
  }
}

.video_cnt .hero-video-frame {
  top: 50%;
  left: 50%;
  width: 100vw;
  height: 56.25vw;
  min-width: 177.78vh;
  min-height: 100vh;
  transform: translate(-50%, -50%);
}

/* Pixel-perfect mobile refinements */
@media (width < 48rem) {
  .section-with-header-offset,
  #slideshow_cnt.noslide.header-offset-content {
    padding-top: 98px !important;
  }

  #page .section_summary,
  #page .section_content,
  #page .section_text {
    padding-inline: 16px;
  }

  header {
    min-height: 72px;
  }

  header #bar {
    justify-content: center;
  }

  header:not(.scrolled) .logo {
    width: min(198px, 54vw);
  }

  header.scrolled .logo {
    width: min(160px, 42vw);
    padding-inline: 0;
  }

  header .language_cnt #language_btn {
    padding-inline: 10px;
  }

  header .language_cnt #language {
    left: auto;
    right: 0;
    min-width: 64px;
  }

  .video_cnt {
    height: 100dvh !important;
    min-height: 100dvh;
  }

  .video_cnt .hero-video-frame {
    min-height: 100dvh;
  }

  #slideshow_cnt,
  #slideshow_cnt #slideshow,
  #slideshow_cnt #slideshow .elem {
    max-height: calc(100dvh - 65px);
  }

  #slideshow_cnt #slideshow .caption {
    bottom: 8%;
    width: 100%;
    max-width: none;
    padding-inline: 18px;
  }

  #slideshow_cnt #slideshow .caption h3 {
    font-size: clamp(1.85rem, 9vw, 2.8rem);
    letter-spacing: -0.5px;
  }

  #slideshow_cnt #slideshow .caption p {
    font-size: clamp(1rem, 4.8vw, 1.3rem);
  }

  .cg-contact-form {
    padding: 20px 16px;
    border-radius: 6px;
  }

  .cg-contact-form .form-title {
    margin-bottom: 18px;
    font-size: clamp(1.5rem, 7vw, 1.9rem);
  }

  .cg-contact-form__privacy label,
  .cg-contact-form__newsletter label {
    font-size: 0.9rem;
    line-height: 1.35;
  }

  .cg-contact-form__actions {
    justify-content: stretch;
  }

  .cg-contact-form__submit {
    width: 100%;
    min-width: 0;
  }

  footer .container,
  footer .footer-boxed {
    padding-inline: 15px !important;
  }

  footer .footer-boxed > .flex {
    justify-content: center !important;
  }

  footer .py-2\.5 {
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
  }

  footer .logo {
    margin-inline: auto;
  }

  footer #social ul {
    justify-content: center !important;
  }

  #bottom {
    gap: 20px !important;
  }

  #bottom > .py-2\.5 {
    width: 100%;
    gap: 12px;
  }

  .footer.footer-row {
    text-align: center !important;
  }

  .footer.footer-row > [data-column] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center !important;
  }

  .footer.footer-row .block,
  .footer.footer-row .block *,
  .footer.footer-row p,
  .footer.footer-row a,
  .footer.footer-row ul,
  .footer.footer-row li {
    text-align: center !important;
  }

  .footer.footer-row ul {
    margin-inline: auto;
    padding-left: 0;
  }

  .footer.footer-row .footer-location-text,
  .footer.footer-row .footer-location-text *,
  .footer.footer-row .footer-location-text p,
  .footer.footer-row .footer-location-text a {
    text-align: left !important;
  }

  .footer.footer-row .footer-legal-text,
  .footer.footer-row .footer-legal-text *,
  .footer.footer-row .footer-legal-text p,
  .footer.footer-row .footer-legal-text a {
    text-align: left !important;
  }

  /* Location block: keep readable side gutters for "Come arrivare" content on mobile. */
  #location .ztemplate.template21,
  #location .ztemplate .caption-cnt,
  #location .ztemplate .caption {
    padding-inline: 16px;
  }

  #location .ztextarea .accordion,
  #location .ztextarea .toggler {
    padding-inline: 0;
  }

  #location .ztextarea .accordion .accordion-title,
  #location .ztextarea .toggler .accordion-title,
  #location .ztextarea .accordion-content {
    padding-inline: 4px;
  }

  /* Mock migration row (no #location id): add gutters to the left text column. */
  .full-bg-row[data-row] > [data-column]:first-child {
    padding-inline: 16px !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    box-sizing: border-box;
  }

  .full-bg-row[data-row] > [data-column]:first-child .ztextarea,
  .full-bg-row[data-row] > [data-column]:first-child .accordion,
  .full-bg-row[data-row] > [data-column]:first-child .toggler {
    max-width: 100%;
    box-sizing: border-box;
  }

  .full-bg-row[data-row] > [data-column]:first-child .fieldvalue,
  .full-bg-row[data-row] > [data-column]:first-child p,
  .full-bg-row[data-row] > [data-column]:first-child li,
  .full-bg-row[data-row] > [data-column]:first-child .accordion-title,
  .full-bg-row[data-row] > [data-column]:first-child .accordion-content {
    width: auto;
    max-width: 100%;
    padding-inline: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box;
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  .full-bg-row[data-row] > [data-column]:first-child .fieldvalue,
  .full-bg-row[data-row] > [data-column]:first-child .accordion-content,
  .full-bg-row[data-row] > [data-column]:first-child .accordion-content p {
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
  }

  .full-bg-row[data-row] > [data-column]:first-child .accordion-content p,
  .full-bg-row[data-row] > [data-column]:first-child .accordion-content p * {
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  .full-bg-row[data-row] > [data-column]:first-child .accordion-content strong,
  .full-bg-row[data-row] > [data-column]:first-child .accordion-content b,
  .full-bg-row[data-row] > [data-column]:first-child .accordion-content a,
  .full-bg-row[data-row] > [data-column]:first-child .accordion-content span {
    display: inline !important;
  }
}
