/*
Theme Name: Traiteur Wille
Author: thyme.studio
Author URI: https://thyme.studio/
Description:
Tags:
Version: 2025.08
Requires at least: 5.0
Tested up to: 5.4
Requires PHP: 8.0
Text Domain: traiteurwille
*/
@import "includes/scss/fontawesome.css";
@import "includes/scss/swiper-bundle.min.css";
@import "includes/scss/maplibre.css";
*, *:before, *:after {
  box-sizing: border-box;
}

html, body, div, span, object, iframe, figure, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, code, em, img, small, strike, strong, sub, sup, tt, b, u, i, ol, ul, li, fieldset, form, label, table, caption, tbody, tfoot, thead, tr, th, td, main, canvas, embed, footer, header, nav, section, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  text-size-adjust: none;
}

footer, header, nav, section, main {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

input {
  -webkit-appearance: none;
  border-radius: 0;
}

.hide-scrollbars {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.hide-scrollbars::-webkit-scrollbar {
  display: none;
}

/* =========================
   Poppins (latin subset)
   ========================= */
/* 300
@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: local("Poppins Light"), local("Poppins-Light"),
  url("includes/fonts/poppins-v20-latin-300.woff2") format("woff2"),
  url("includes/fonts/poppins-v20-latin-300.woff") format("woff");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* 300 italic
@font-face {
  font-family: "Poppins";
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: local("Poppins Light Italic"), local("Poppins-LightItalic"),
  url("includes/fonts/poppins-v20-latin-300italic.woff2") format("woff2"),
  url("includes/fonts/poppins-v20-latin-300italic.woff") format("woff");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* 400 */
@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local("Poppins Regular"), local("Poppins-Regular"), url("includes/fonts/poppins-v20-latin-regular.woff2") format("woff2"), url("includes/fonts/poppins-v20-latin-regular.woff") format("woff");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* 600 */
@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: local("Poppins SemiBold"), local("Poppins-SemiBold"), url("includes/fonts/poppins-v20-latin-600.woff2") format("woff2"), url("includes/fonts/poppins-v20-latin-600.woff") format("woff");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* 600 italic */
@font-face {
  font-family: "Poppins";
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: local("Poppins SemiBold Italic"), local("Poppins-SemiBoldItalic"), url("includes/fonts/poppins-v20-latin-600italic.woff2") format("woff2"), url("includes/fonts/poppins-v20-latin-600italic.woff") format("woff");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* 700
@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: local("Poppins Bold"), local("Poppins-Bold"),
  url("includes/fonts/poppins-v20-latin-700.woff2") format("woff2"),
  url("includes/fonts/poppins-v20-latin-700.woff") format("woff");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* 700 italic
@font-face {
  font-family: "Poppins";
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: local("Poppins Bold Italic"), local("Poppins-BoldItalic"),
  url("includes/fonts/poppins-v20-latin-700italic.woff2") format("woff2"),
  url("includes/fonts/poppins-v20-latin-700italic.woff") format("woff");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* 800
@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: local("Poppins ExtraBold"), local("Poppins-ExtraBold"),
  url("includes/fonts/poppins-v20-latin-800.woff2") format("woff2"),
  url("includes/fonts/poppins-v20-latin-800.woff") format("woff");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* 800 italic
@font-face {
  font-family: "Poppins";
  font-style: italic;
  font-weight: 800;
  font-display: swap;
  src: local("Poppins ExtraBold Italic"), local("Poppins-ExtraBoldItalic"),
  url("includes/fonts/poppins-v20-latin-800italic.woff2") format("woff2"),
  url("includes/fonts/poppins-v20-latin-800italic.woff") format("woff");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* =========================
   Open Sans (latin subset)
   ========================= */
/* 300
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: local("Open Sans Light"), local("OpenSans-Light"),
  url("includes/fonts/open-sans-v34-latin-300.woff2") format("woff2"),
  url("includes/fonts/open-sans-v34-latin-300.woff") format("woff");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* 300 italic
@font-face {
  font-family: "Open Sans";
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: local("Open Sans Light Italic"), local("OpenSans-LightItalic"),
  url("includes/fonts/open-sans-v34-latin-300italic.woff2") format("woff2"),
  url("includes/fonts/open-sans-v34-latin-300italic.woff") format("woff");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* 400 */
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local("Open Sans Regular"), local("OpenSans-Regular"), url("includes/fonts/open-sans-v34-latin-regular.woff2") format("woff2"), url("includes/fonts/open-sans-v34-latin-regular.woff") format("woff");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* 400 italic */
@font-face {
  font-family: "Open Sans";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: local("Open Sans Italic"), local("OpenSans-Italic"), url("includes/fonts/open-sans-v34-latin-italic.woff2") format("woff2"), url("includes/fonts/open-sans-v34-latin-italic.woff") format("woff");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* 600
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: local("Open Sans SemiBold"), local("OpenSans-SemiBold"),
  url("includes/fonts/open-sans-v34-latin-600.woff2") format("woff2"),
  url("includes/fonts/open-sans-v34-latin-600.woff") format("woff");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* 600 italic
@font-face {
  font-family: "Open Sans";
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: local("Open Sans SemiBold Italic"), local("OpenSans-SemiBoldItalic"),
  url("includes/fonts/open-sans-v34-latin-600italic.woff2") format("woff2"),
  url("includes/fonts/open-sans-v34-latin-600italic.woff") format("woff");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* 700 */
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: local("Open Sans Bold"), local("OpenSans-Bold"), url("includes/fonts/open-sans-v34-latin-700.woff2") format("woff2"), url("includes/fonts/open-sans-v34-latin-700.woff") format("woff");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* 700 italic */
@font-face {
  font-family: "Open Sans";
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: local("Open Sans Bold Italic"), local("OpenSans-BoldItalic"), url("includes/fonts/open-sans-v34-latin-700italic.woff2") format("woff2"), url("includes/fonts/open-sans-v34-latin-700italic.woff") format("woff");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* 800 */
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: local("Open Sans ExtraBold"), local("OpenSans-ExtraBold"), url("includes/fonts/open-sans-v34-latin-800.woff2") format("woff2"), url("includes/fonts/open-sans-v34-latin-800.woff") format("woff");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* 800 italic */
@font-face {
  font-family: "Open Sans";
  font-style: italic;
  font-weight: 800;
  font-display: swap;
  src: local("Open Sans ExtraBold Italic"), local("OpenSans-ExtraBoldItalic"), url("includes/fonts/open-sans-v34-latin-800italic.woff2") format("woff2"), url("includes/fonts/open-sans-v34-latin-800italic.woff") format("woff");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
.fs-huge {
  font-size: clamp(2rem, 7vw, 3.5rem);
  line-height: 1.25;
}

.fs-tall {
  font-size: clamp(1.6rem, 5vw, 2rem);
  line-height: 1.25;
}

.fs-big {
  font-size: clamp(1.25rem, 4vw, 1.6rem);
  line-height: 1.25;
}

.fs-medium {
  font-size: 1.2rem;
  line-height: 1.25;
}

.fs-regular {
  font-size: 1rem;
  line-height: 1.75;
}

.fs-small {
  font-size: 0.9rem;
  line-height: 1.5;
}

.fs-tiny {
  font-size: 0.75rem;
  line-height: 1.5;
}

h1, .h1 {
  position: relative;
  margin-bottom: 0.5em;
  font-size: clamp(1.6rem, 5vw, 2rem);
  font-weight: 700;
  line-height: 1.25;
}

h2, .h2 {
  position: relative;
  margin-bottom: 0.5em;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.25;
}

h3, .h3 {
  position: relative;
  margin-top: 0.5em;
  margin-bottom: 0.5em;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.25;
}

h4, .h4,
h5, .h5,
h6, .h6 {
  position: relative;
  margin-bottom: 0.5em;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.25;
}

.title-inline {
  padding: 2.1875rem 0;
}

.bg-mud {
  background: #4b4610;
  color: #fbd8d0;
}
.bg-mud .title::after {
  background: #fbd8d0;
}
.bg-mud .btn {
  background: #fbd8d0;
  color: #4b4610;
}
.bg-olive {
  background: #958e09;
}
.bg-mud, .bg-olive {
  color: #fbd8d0;
}
.bg-mud .title::after, .bg-olive .title::after {
  background: #fbd8d0;
}
.bg-mud .btn, .bg-olive .btn {
  background: #fbd8d0;
  color: #4b4610;
}
.bg-charcoal {
  background: #11120e;
}
.bg-ash {
  background: #222222;
}
.bg-gray {
  background: #f4f4f4;
}
.bg-champagne {
  background: #fdeded;
}

.avoidbreak {
  break-inside: avoid;
}

.ul-checks {
  position: relative;
  display: block;
  margin-top: 2.1875rem;
  padding-left: 0.9375rem;
}
.ul-checks li {
  position: relative;
  display: flex;
  align-items: flex-start;
}
.ul-checks li::before {
  content: "";
  display: block;
  width: 0.5em;
  height: 1em;
  margin-right: 1em;
  margin-top: 0.2em;
  border-bottom: solid 0.125rem #fa6e50;
  border-right: solid 0.125rem #fa6e50;
  transform: rotate(45deg);
}
.ul-checks li:not(:last-of-type) {
  margin-bottom: 0.9375rem;
}

html {
  position: relative;
  display: block;
  height: 100%;
  color: #4b4610;
  font-family: Open Sans, "sans-serif";
  font-weight: 400;
  font-size: 16px;
  line-height: 1.25;
}

body {
  position: relative;
  display: block;
  height: 100%;
}

#wrapper {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 100%;
}

.error404 #wrapper {
  height: 100%;
}

#main {
  height: 100%;
  flex: 1;
}
#main > div:first-of-type .wrap {
  padding-top: 6.25rem;
}
@media only screen and (min-width: 1080px) {
  #main > div:first-of-type .wrap {
    padding-top: 2.1875rem;
  }
}

.module {
  margin-bottom: clamp(35px, 7vw, 120px);
}
.module:not(:last-of-type), .module:last-of-type.textblock {
  margin-top: clamp(35px, 7vw, 120px);
}
.module:first-of-type {
  margin-top: 0;
}
.module.bg {
  margin-top: 0;
  padding: clamp(35px, 5vw, 60px) 0 clamp(35px, 6vw, 80px);
}
.module.formular {
  padding: clamp(35px, 5vw, 60px) 0 clamp(35px, 6vw, 80px);
  margin-bottom: 0;
}
.module:last-of-type {
  margin-bottom: 0;
}
.module:last-of-type.textblock {
  margin-bottom: clamp(35px, 7vw, 120px);
}
.module.--fullscreen {
  margin-bottom: 0;
}

.wrap {
  position: relative;
  display: block;
  padding-right: 1.25rem;
  padding-left: 1.25rem;
}
.wrap-small {
  max-width: 48.75rem;
  margin: 0 auto;
}
.wrap-medium {
  max-width: 76.875rem;
  margin: 0 auto;
}

.title {
  position: relative;
  display: block;
  max-width: 48.75rem;
  margin: 0 auto 1.25rem;
  font-family: Poppins, "sans-serif";
  font-weight: 700;
}
.title::after {
  content: "";
  background: #fa6e50;
  position: relative;
  display: block;
  width: 3.125rem;
  height: 0.5rem;
  margin: 0.9375rem auto 0;
}

.buttons {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem;
  justify-content: center;
}

.btn {
  background: #fa6e50;
  display: inline-block;
  padding: 0.9375rem 1.25rem;
  border: none;
  border-radius: 0.625rem;
  color: white;
  font-size: 1rem;
  font-weight: 700;
  text-decoration: none;
  text-transform: uppercase;
}
.btn--white {
  background: white;
  position: relative;
  display: inline-block;
  color: #4b4610;
}
.btn--nude {
  background: #fbd8d0;
  position: relative;
  display: inline-block;
  color: #4b4610;
}
.btn--outline {
  background: none;
  position: relative;
  display: inline-block;
  padding: 0.8125rem 1.25rem;
  border: solid 0.125rem #fa6e50;
  color: #fa6e50;
}

iframe {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 16/9;
}

p a {
  position: relative;
  color: #fa6e50;
  font-weight: 700;
  text-decoration: none;
}
p a::after {
  content: "";
  position: absolute;
  display: block;
  width: 0%;
  bottom: -0.125rem;
  left: 0;
  border-bottom: solid 0.0625rem #fa6e50;
  transition: 0.3s ease;
}
p a:hover::after {
  width: 100%;
}

.p404 {
  background: #fdeded;
  position: relative;
  display: flex;
  height: 100%;
  min-height: 28.4375rem;
  padding: clamp(35px, 5vw, 100px) 0;
  color: #4b4610;
  text-align: center;
}
.p404 .wrap {
  display: flex;
  align-items: center;
}
.p404__content .description {
  margin-bottom: 2.1875rem;
}

#header {
  background: rgba(17, 18, 14, 0.25);
  backdrop-filter: blur(0.5rem);
  position: sticky;
  margin-top: 0;
  margin-bottom: -4.375rem;
  top: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  z-index: 100;
  transition: 0.2s ease;
}
@media only screen and (min-width: 1080px) {
  #header {
    position: sticky;
    margin-top: 0;
    margin-bottom: -4.125rem;
    top: 0;
  }
  #header .wrap {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
  }
}
#header .custom-logo-link {
  position: relative;
  display: block;
  padding: 1.25rem 0;
}
#header .custom-logo-link img {
  position: relative;
  display: block;
  width: auto;
  height: 1.875rem;
  margin: 0;
  padding: 0;
}
@media only screen and (min-width: 1080px) {
  #header .custom-logo-link img {
    width: 10rem;
    height: auto;
  }
}
#header .header-widget {
  display: none;
}
@media only screen and (min-width: 1080px) {
  #header .header-widget {
    display: block;
  }
}
#header .menu-toggle {
  position: absolute;
  display: block;
  width: 2rem;
  height: 1.25rem;
  top: 1.625rem;
  left: 1.25rem;
  z-index: 1;
  cursor: pointer;
}
#header .menu-toggle::before, #header .menu-toggle::after {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  border-bottom: solid 0.125rem white;
}
#header .menu-toggle::before {
  height: 0.6875rem;
  top: 0;
  border-top: solid 0.125rem white;
}
#header .menu-toggle::after {
  bottom: 0;
}
@media only screen and (min-width: 1080px) {
  #header .menu-toggle {
    display: none;
  }
}

.mainheader,
.preheader {
  background: #222222;
  color: white;
  position: relative;
  transition: color 0.2s ease;
}
@media only screen and (min-width: 1080px) {
  .mainheader,
  .preheader {
    background: none;
  }
}
.mainheader-menu__social,
.preheader-menu__social {
  position: relative;
  display: block;
}
.mainheader-menu__social ul,
.preheader-menu__social ul {
  position: relative;
  display: inline-flex;
  gap: 0.625rem;
}
.mainheader-menu__social ul li,
.preheader-menu__social ul li {
  position: relative;
  display: block;
}
.mainheader-menu__social ul li a,
.preheader-menu__social ul li a {
  position: relative;
  display: flex;
  width: 1.25rem;
  height: 1.25rem;
  justify-content: center;
  align-items: center;
  color: #fa6e50 !important;
}

.preheader {
  display: none;
}
@media only screen and (min-width: 1080px) {
  .preheader {
    background: #11120e;
    position: relative;
    display: block;
    width: 100%;
    padding: 0.9375rem 1.25rem;
  }
  .preheader .wrap {
    display: flex;
    justify-content: space-between;
  }
  .preheader a {
    color: white;
    text-decoration: none;
  }
}
.preheader-marquee a {
  color: #fa6e50;
  text-decoration: underline;
}

.mainheader {
  position: fixed;
  display: block;
  width: 20rem;
  height: 100vh;
  padding: 2.1875rem;
  top: 0;
  left: 0;
  font-family: Poppins, "sans-serif";
  transform: translateX(-20rem);
  transition: transform 0.4s ease;
  z-index: 100;
  overflow-x: hidden;
  overflow-y: scroll;
}
@media only screen and (min-width: 1080px) {
  .mainheader {
    position: relative;
    display: inline-flex;
    width: auto;
    height: auto;
    padding: 1.5625rem;
    transform: translateX(0);
    overflow-x: visible;
    overflow-y: visible;
  }
}
.mainheader > nav {
  position: relative;
  display: block;
  margin: 0 -0.625rem;
}
@media only screen and (min-width: 1080px) {
  .mainheader > nav {
    margin: 0;
  }
}
.mainheader > nav:first-of-type {
  position: relative;
  display: block;
  padding-top: 1.5625rem;
  border-top: solid 0.0625rem rgba(255, 255, 255, 0.5);
}
@media only screen and (min-width: 1080px) {
  .mainheader > nav:first-of-type {
    padding-top: 0;
    border-top: none;
  }
}
.mainheader > nav:last-of-type {
  position: relative;
  display: block;
  padding-top: 2.1875rem;
  padding-bottom: 1.5625rem;
  border-bottom: solid 0.0625rem rgba(255, 255, 255, 0.5);
}
@media only screen and (min-width: 1080px) {
  .mainheader > nav:last-of-type {
    display: none;
  }
}
.mainheader .menu {
  position: relative;
}
@media only screen and (min-width: 1080px) {
  .mainheader .menu {
    display: inline-flex;
    flex-wrap: wrap;
    gap: clamp(20px, 5vw, 50px);
  }
}
.mainheader .menu > li {
  position: relative;
  display: block;
}
.mainheader .menu > li:not(:last-of-type) {
  margin-bottom: 0.625rem;
}
@media only screen and (min-width: 1080px) {
  .mainheader .menu > li:not(:last-of-type) {
    margin-bottom: 0;
  }
}
.mainheader .menu > li > a {
  position: relative;
  display: inline-block;
  padding: 0.625rem;
  font-weight: 700;
  text-transform: uppercase;
  color: inherit;
  text-decoration: none;
  letter-spacing: 0.0625rem;
}
@media only screen and (min-width: 1080px) {
  .mainheader .menu > li > a {
    padding: 0;
    font-size: 0.9rem;
  }
}
.mainheader .menu > li.--open .sub-menu {
  display: block;
}
.mainheader .menu > li.--open .sub-menu-trigger::before {
  transform: rotate(45deg);
}
.mainheader .menu > li:hover .sub-menu {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
.mainheader .sub-menu {
  position: relative;
  display: none;
  padding: 0.625rem;
}
@media only screen and (min-width: 1080px) {
  .mainheader .sub-menu {
    position: absolute;
    display: block;
    padding: 2.5rem 1.25rem 1.25rem;
    opacity: 0;
    transform: translateY(1.25rem);
    transition: 0.3s ease;
    pointer-events: none;
  }
  .mainheader .sub-menu::before {
    content: "";
    background: none;
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    top: 0.625rem;
    left: 0.625rem;
    border-top: solid 0rem transparent;
    border-right: solid 0.625rem transparent;
    border-bottom: solid 0.625rem #fa6e50;
    border-left: solid 0.625rem transparent;
  }
  .mainheader .sub-menu::after {
    content: "";
    background: #fa6e50;
    position: absolute;
    display: block;
    width: 100%;
    height: calc(100% - 20px);
    top: 1.25rem;
    left: 0;
  }
}
@media only screen and (min-width: 1080px) {
  .mainheader .sub-menu__dynamic {
    display: flex;
    width: 35.625rem;
  }
}
.mainheader .sub-menu__dynamic .widget {
  color: #fa6e50;
}
@media only screen and (min-width: 1080px) {
  .mainheader .sub-menu__dynamic .widget {
    z-index: 1;
    padding: 0 1.25rem 0 0.625rem;
    color: white;
  }
  .mainheader .sub-menu__dynamic .widget:first-of-type {
    padding-left: 0.3125rem;
  }
  .mainheader .sub-menu__dynamic .widget:not(:first-of-type) {
    margin-left: 0.625rem;
  }
  .mainheader .sub-menu__dynamic .widget:not(:last-of-type)::after {
    content: "";
    position: absolute;
    display: block;
    width: 0;
    height: 100%;
    top: 0;
    right: 0;
    border-left: solid 0.0625rem white;
  }
}
.mainheader .sub-menu__dynamic .widget:not(:last-of-type) {
  position: relative;
  display: block;
  margin-bottom: 2.1875rem;
}
@media only screen and (min-width: 1080px) {
  .mainheader .sub-menu__dynamic .widget:not(:last-of-type) {
    margin-bottom: 0.3125rem;
  }
}
.mainheader .sub-menu__dynamic .widget__title {
  position: relative;
  display: block;
  margin-bottom: 0.9375rem;
  margin-left: 0.625rem;
  color: #fa6e50;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.0625rem;
}
@media only screen and (min-width: 1080px) {
  .mainheader .sub-menu__dynamic .widget__title {
    color: white;
    margin-bottom: 0.9375rem;
    margin-left: 0;
  }
}
.mainheader .sub-menu__dynamic .widget__title::after {
  content: "";
  display: block;
  width: 3.125rem;
  margin-top: 1.25rem;
  border-bottom: solid 0.0625rem white;
}
@media only screen and (min-width: 1080px) {
  .mainheader .sub-menu__dynamic .widget__title::after {
    margin-top: 0.9375rem;
  }
}
.mainheader .sub-menu__dynamic .widget .sub-menu {
  opacity: 1;
  pointer-events: auto;
}
@media only screen and (min-width: 1080px) {
  .mainheader .sub-menu__dynamic .widget ul {
    display: block;
    gap: 0;
  }
}
.mainheader .sub-menu__dynamic .widget ul li {
  margin-bottom: 0.3125rem;
}
.mainheader .sub-menu__dynamic .widget ul li a {
  padding: 0.3125rem 0.625rem;
  text-transform: none;
  font-weight: 400;
  line-height: 1.25;
}
@media only screen and (min-width: 1080px) {
  .mainheader .sub-menu__dynamic .widget ul li a {
    padding-left: 0;
  }
}
@media only screen and (min-width: 1080px) {
  .mainheader .sub-menu__dynamic .widget ul li a {
    color: white;
  }
}
@media only screen and (min-width: 1080px) {
  .mainheader .sub-menu > li {
    position: relative;
    padding: 0;
    margin: 0;
    z-index: 1;
  }
  .mainheader .sub-menu > li:not(:last-of-type) {
    margin-bottom: 0.625rem;
  }
}
.mainheader .sub-menu > li > a {
  position: relative;
  display: inline-block;
  padding: 0.625rem;
  color: #fa6e50;
  text-decoration: none;
  letter-spacing: 0.0625rem;
}
@media only screen and (min-width: 1080px) {
  .mainheader .sub-menu > li > a {
    position: relative;
    display: inline-block;
    padding: 0.25rem;
    margin: 0;
    font-size: 0.9rem;
    color: white;
  }
}
.mainheader .sub-menu-trigger {
  position: absolute;
  display: block;
  width: 1.8125rem;
  top: 0.1875rem;
  right: 0;
  aspect-ratio: 1;
}
.mainheader .sub-menu-trigger::before {
  content: "";
  position: absolute;
  display: block;
  width: 0.625rem;
  aspect-ratio: 1;
  top: 0.5625rem;
  left: 0.4375rem;
  border-bottom: solid 0.1875rem white;
  border-right: solid 0.1875rem white;
  transform: rotate(-45deg);
  transition: transform 0.2s ease;
}

.--header-fixed #header {
  background: white;
  border-bottom: solid 0.0625rem #f4f4f4;
  box-shadow: 0 0.0625rem 0.3125rem 0 rgba(34, 34, 34, 0.125);
}
.--header-fixed #header .mainheader,
.--header-fixed #header .preheader {
  color: #11120e;
}

.overflow {
  background: rgba(17, 18, 14, 0.5);
  position: fixed;
  display: block;
  width: 100vw;
  height: 100vh;
  backdrop-filter: blur(0.5rem);
  z-index: 50;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s ease;
}
@media only screen and (min-width: 1080px) {
  .overflow {
    display: none;
  }
}

.--menu-open {
  overflow: clip;
}
.--menu-open #header {
  pointer-events: none;
}
.--menu-open .mainheader {
  transform: translateX(0);
  pointer-events: auto;
}
.--menu-open .overflow {
  opacity: 1;
  pointer-events: auto;
}
@media only screen and (min-width: 1080px) {
  .--menu-open .overflow {
    display: none;
  }
}

.footer {
  background: #11120e;
  position: relative;
  display: block;
  padding-top: 2.1875rem;
  padding-bottom: 2.1875rem;
  color: rgba(244, 244, 244, 0.9);
  font-family: "Open Sans", "sans-serif";
  text-align: center;
}
.footer a {
  color: #fa6e50;
  text-decoration: none;
}
.footer-branding {
  position: relative;
  display: block;
  width: 10rem;
  margin: 0 auto 1.25rem;
}
.footer-branding img {
  position: relative;
  display: block;
  width: 100%;
}
.footer-info, .footer-openinghours {
  position: relative;
  display: block;
  margin-bottom: 1.875rem;
}
.footer-info .widget__title, .footer-openinghours .widget__title {
  position: relative;
  display: block;
  margin-bottom: 0.625rem;
  font-size: 1.2rem;
  font-weight: 700;
  color: #fa6e50;
}
.footer-info {
  margin-bottom: 0.625rem;
}
.footer-menu__main {
  position: relative;
  display: block;
}
.footer-menu__main ul {
  position: relative;
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: center;
}
.footer-menu__main ul li {
  text-transform: uppercase;
}
.footer-menu__main ul li a {
  position: relative;
  display: block;
  padding: 0.375rem;
  color: inherit;
  text-decoration: none;
  font-weight: 700;
  letter-spacing: 0.0625rem;
}
.footer-menu__social {
  position: relative;
  display: block;
  margin-bottom: 1.25rem;
  text-align: center;
}
.footer-menu__social ul {
  position: relative;
  display: inline-flex;
  gap: 0.3125rem;
}
.footer-menu__social ul li {
  position: relative;
  display: block;
}
.footer-menu__social ul li a {
  position: relative;
  display: flex;
  width: 1.25rem;
  height: 1.25rem;
  justify-content: center;
  align-items: center;
}

#backtotop {
  position: relative;
  display: block;
  width: 2.5rem;
  height: 2.5rem;
  margin: 0 auto 3.125rem;
  cursor: pointer;
}
#backtotop::before, #backtotop::after {
  content: "";
  position: absolute;
  display: block;
  width: 0.9375rem;
  top: 0.3125rem;
  left: 0.75rem;
  aspect-ratio: 1;
  border-top: solid 0.125rem white;
  border-right: solid 0.125rem white;
  transform: rotate(-45deg);
}
#backtotop::after {
  top: 0.9375rem;
}

.editorial-mediatext {
  position: relative;
  display: block;
}
.editorial-mediatext .swiper-pagination {
  background: rgba(17, 18, 14, 0.2);
  position: absolute;
  display: inline-block;
  width: auto;
  padding: 0.3125rem;
  bottom: 1.5625rem;
  left: auto;
  right: auto;
  border-radius: 6.25rem;
  backdrop-filter: blur(0.5rem);
}
.editorial-mediatext .swiper-pagination .swiper-pagination-bullet {
  background: none;
  width: 0.625rem;
  height: 0.625rem;
  border: solid 0.125rem #fdeded;
}
.editorial-mediatext .swiper-pagination .swiper-pagination-bullet-active {
  background: #fdeded;
}
.editorial-mediatext .wrap {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
@media only screen and (min-width: 768px) {
  .editorial-mediatext .wrap {
    gap: clamp(30px, 10vw, 60px);
  }
}
@media only screen and (min-width: 1080px) {
  .editorial-mediatext .wrap {
    gap: clamp(30px, 10vw, 60px);
  }
}
.editorial-mediatext__content {
  text-align: center;
}
@media only screen and (min-width: 1080px) {
  .editorial-mediatext__content {
    position: relative;
    display: flex;
    width: calc(40% - clamp(30px, 10vw, 60px));
    text-align: left;
    flex-direction: column;
    justify-content: center;
  }
  .editorial-mediatext__content .title {
    margin-top: 0;
    margin-right: 0;
    margin-left: 0;
  }
  .editorial-mediatext__content .title::after {
    margin: 1.25rem 0 0;
  }
}
.editorial-mediatext__content .buttons {
  margin-top: 2.1875rem;
}
.editorial-mediatext__media {
  position: relative;
  display: block;
  width: 100vw;
  margin: 0 -1.25rem;
}
.editorial-mediatext__media.--video {
  display: flex;
  align-items: center;
  aspect-ratio: 16/9;
}
@media only screen and (min-width: 768px) {
  .editorial-mediatext__media {
    width: 100%;
    margin: 0;
  }
}
@media only screen and (min-width: 1080px) {
  .editorial-mediatext__media {
    position: relative;
    display: block;
    width: calc(60% - 20px);
  }
}
@media only screen and (min-width: 1080px) {
  .editorial-mediatext.--reverse .wrap {
    flex-direction: row-reverse;
  }
}
.editorial-mediatext .gallery {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  min-height: 100%;
  margin-bottom: 2.1875rem;
}
@media only screen and (min-width: 768px) {
  .editorial-mediatext .gallery {
    margin-bottom: 0;
  }
}
@media only screen and (min-width: 1080px) {
  .editorial-mediatext .gallery .swiper-wrapper {
    position: sticky;
    margin-top: 0;
    top: 6.25rem;
  }
}
.editorial-mediatext .gallery-item {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}
.editorial-mediatext .gallery-item img {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
}
.editorial-mediatext .gallery-item figcaption {
  position: relative;
  display: block;
  width: 100%;
  padding: 1.25rem;
  color: #fa6e50;
  font-size: 1rem;
  line-height: 1.2;
  font-weight: 700;
}
@media only screen and (min-width: 768px) {
  .editorial-mediatext .gallery-item figcaption {
    font-size: 1.2rem;
    padding: 1.25rem 0 1.25rem clamp(20px, 5vw, 60px);
  }
}
.editorial-mediatext .gallery-item figcaption::before {
  content: "";
  background: #fa6e50;
  position: relative;
  display: block;
  width: 3.125rem;
  height: 0.5rem;
  margin: 0.625rem 0;
}
.editorial-mediatext .gallery-item figcaption a {
  color: inherit;
}
.editorial-mediatext.--background-media, .editorial-mediatext.--fullscreen {
  background: #4b4610;
  padding: 0;
  overflow: clip;
}
.editorial-mediatext.--background-media .wrap, .editorial-mediatext.--fullscreen .wrap {
  padding: 0;
  max-width: none;
  justify-content: flex-end;
}
.editorial-mediatext.--background-media .editorial-mediatext__content, .editorial-mediatext.--fullscreen .editorial-mediatext__content {
  width: 100%;
  margin: clamp(35px, 5vw, 60px) clamp(20px, 4vw, 60px);
  padding: 2.1875rem 2.1875rem 3.75rem;
  color: #fbd8d0;
}
@media only screen and (min-width: 1080px) {
  .editorial-mediatext.--background-media .editorial-mediatext__content, .editorial-mediatext.--fullscreen .editorial-mediatext__content {
    max-width: 31.25rem;
  }
}
.editorial-mediatext.--background-media .editorial-mediatext__content .title, .editorial-mediatext.--fullscreen .editorial-mediatext__content .title {
  margin-right: 0;
  margin-left: 0;
}
.editorial-mediatext.--background-media .editorial-mediatext__content .title::after, .editorial-mediatext.--fullscreen .editorial-mediatext__content .title::after {
  background: #fbd8d0;
}
.editorial-mediatext.--background-media .gallery, .editorial-mediatext.--fullscreen .gallery {
  height: 100%;
}
.editorial-mediatext.--background-media .gallery-item, .editorial-mediatext.--fullscreen .gallery-item {
  width: 100%;
}
.editorial-mediatext.--background-media .gallery-item img, .editorial-mediatext.--fullscreen .gallery-item img {
  height: 100%;
  object-position: center;
  object-fit: cover;
}
.editorial-mediatext.--fullscreen .editorial-mediatext__media {
  position: relative;
  margin: 0;
  aspect-ratio: 3/2;
}
.editorial-mediatext.--fullscreen .editorial-mediatext__media .swiper-wrapper, .editorial-mediatext.--fullscreen .editorial-mediatext__media figure {
  height: 100% !important;
}
@media only screen and (min-width: 1080px) {
  .editorial-mediatext.--fullscreen .editorial-mediatext__media {
    position: absolute;
    width: calc(100% - 590px);
    height: auto;
    top: 0;
    left: 0;
    bottom: 0;
    overflow: clip;
    aspect-ratio: auto;
    container: mediatext/size;
  }
}
@container mediatext (max-aspect-ratio: 16/9) {
  .editorial-mediatext.--fullscreen .editorial-mediatext__media iframe {
    width: auto;
    height: 150%;
    left: -56.25%;
    top: 0;
    aspect-ratio: 16/9;
  }
}
.editorial-mediatext.--fullscreen.--reverse .wrap {
  justify-content: flex-end;
}
@media only screen and (min-width: 1080px) {
  .editorial-mediatext.--fullscreen.--reverse .editorial-mediatext__media {
    left: auto;
    right: 0;
  }
}
.editorial-mediatext.--background-media {
  background: #11120e;
}
.editorial-mediatext.--background-media .editorial-mediatext__content {
  background: rgba(75, 70, 16, 0.8);
  border-radius: 0.9375rem;
  backdrop-filter: blur(0.5rem);
}
.editorial-mediatext.--background-media .editorial-mediatext__media {
  position: absolute;
  width: 100%;
  height: 100%;
  margin: 0;
  top: 0;
  left: 0;
  container: mediatext/size;
}
.editorial-mediatext.--background-media .editorial-mediatext__media iframe {
  pointer-events: none;
}
@container mediatext (max-aspect-ratio: 16/9) {
  .editorial-mediatext.--background-media .editorial-mediatext__media iframe {
    width: auto;
    height: 150%;
    left: -25%;
    top: -25%;
    aspect-ratio: 16/9;
  }
}

.locations-preview {
  position: relative;
  display: block;
  overflow: clip;
}
.locations-preview__title {
  position: relative;
  margin-bottom: 3.125rem;
  text-align: center;
}
.locations-preview__items {
  position: relative;
  display: block;
}
@media only screen and (min-width: 768px) {
  .locations-preview .swiper-wrapper {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    gap: 1.25rem;
  }
}

.location-preview {
  position: relative;
  display: block;
  padding-top: 2.1875rem;
  width: 75%;
}
@media only screen and (min-width: 768px) {
  .location-preview {
    width: calc((100% - 40px) / 3);
  }
}
.location-preview a {
  color: inherit;
  text-decoration: none;
}
.location-preview__thumbnail {
  position: relative;
  display: block;
  width: 100%;
  margin-bottom: 1.25rem;
  aspect-ratio: 1;
  overflow: clip;
}
@media only screen and (min-width: 768px) {
  .location-preview__thumbnail {
    aspect-ratio: 3/2;
  }
}
.location-preview__thumbnail img {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: scale(1);
  transition: transform 0.3s ease;
}
.location-preview__thumbnail-overlay {
  background: rgba(17, 18, 14, 0.7);
  position: absolute;
  display: flex;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  justify-content: center;
  align-items: center;
  backdrop-filter: blur(0.3125rem);
  pointer-events: none;
  opacity: 0;
  transition: 0.4s ease;
}
.location-preview__thumbnail-overlay span {
  font-weight: 700;
  text-transform: uppercase;
  color: #fa6e50;
}
.location-preview__title {
  position: relative;
  display: block;
  margin-bottom: 0.625rem;
  font-weight: 700;
}
.location-preview__title::before {
  content: "";
  background: #fa6e50;
  position: relative;
  display: block;
  width: 3.125rem;
  height: 0.5rem;
  margin: 1.25rem 0;
}
.location-preview:hover .location-preview__thumbnail img {
  transform: scale(1.3);
}
.location-preview:hover .location-preview__thumbnail-overlay {
  opacity: 1;
}

.categories-preview {
  position: relative;
  display: block;
  overflow: clip;
}
.categories-preview__title {
  position: relative;
  text-align: center;
}
.categories-preview__items {
  position: relative;
  display: block;
}
@media only screen and (min-width: 768px) {
  .categories-preview .swiper-wrapper {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    gap: 1.25rem;
  }
}

.category-preview {
  background: none;
  position: relative;
  display: flex;
  margin-top: 2.1875rem;
  padding: 0 1.25rem 2.1875rem;
  width: 75%;
  aspect-ratio: 2/3;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
}
@media only screen and (min-width: 768px) {
  .category-preview {
    width: calc((100% - 40px) / 3);
  }
}
.category-preview a {
  color: inherit;
  text-decoration: none;
}
.category-preview__thumbnail {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  overflow: clip;
}
.category-preview__thumbnail img {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: scale(1);
  transition: transform 0.3s ease;
}
.category-preview__btn {
  position: relative;
  z-index: 1;
}
.category-preview:hover .category-preview__thumbnail img {
  transform: scale(1.3);
}

.textblock {
  position: relative;
  display: block;
  text-align: center;
}
.textblock__desc {
  max-width: 48.75rem;
  margin: 0 auto;
}
.textblock__desc.--multi-column {
  max-width: none;
}
.textblock__desc.--multi-column p {
  break-inside: avoid;
}
@media only screen and (min-width: 768px) {
  .textblock__desc.--multi-column {
    text-align: left;
    column-count: 2;
    column-gap: clamp(35px, 10vw, 120px);
  }
}
.textblock-usps {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  padding-top: 2.1875rem;
  gap: 3.125rem;
}
@media only screen and (min-width: 768px) {
  .textblock-usps {
    gap: 1.25rem;
  }
}
.textblock-usp {
  position: relative;
  display: block;
  width: calc(50% - 25px);
}
@media only screen and (min-width: 768px) {
  .textblock-usp {
    background: #f4f4f4;
    width: calc((100% - 60px) / 4);
    padding: 0.625rem 1.25rem 1.875rem;
    border-radius: 0.5rem;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
  }
}
.textblock-usp__title {
  font-weight: 700;
  line-height: 1.25;
  flex: 1;
}
.textblock-usp__description {
  font-size: 0.9rem;
}
.textblock .buttons {
  position: relative;
  display: block;
  margin-top: 2.1875rem;
}
.textblock p {
  position: relative;
  display: block;
}
.textblock p:not(:last-of-type) {
  margin-bottom: 1em;
}

.faqs {
  position: relative;
  display: block;
}
.faqs .title {
  text-align: center;
}
.faqs-items {
  position: relative;
  display: block;
  padding-top: 2.1875rem;
}
.faqs-item {
  position: relative;
  display: block;
  padding: 2.1875rem 0;
  border-bottom: solid 0.0625rem #4b4610;
}
.faqs-item:first-of-type {
  border-top: solid 0.0625rem #4b4610;
}
.faqs-item__question {
  position: relative;
  display: block;
  padding-right: 3.4375rem;
  font-weight: 700;
  cursor: pointer;
}
.faqs-item__question::before {
  content: "";
  background: #fa6e50;
  position: absolute;
  display: block;
  width: 0.125rem;
  height: 1.25rem;
  top: 0.125rem;
  right: 0.5625rem;
  z-index: 1;
}
.faqs-item__question::after {
  content: "";
  background: #fa6e50;
  position: absolute;
  display: block;
  width: 1.25rem;
  height: 0.125rem;
  top: 0.6875rem;
  right: 0;
}
.faqs-item__answer {
  position: relative;
  display: none;
  padding-top: 2.1875rem;
}
.faqs-item.--active .faqs-item__answer {
  display: block;
}
.faqs-item.--active .faqs-item__question::before {
  content: none;
}

.testimonies {
  position: relative;
  display: block;
  text-align: center;
  overflow: clip;
}
.testimonies .swiper-pagination {
  position: relative;
  display: block;
  margin-top: 2.1875rem;
  padding: 0;
  top: auto;
  left: auto;
  bottom: auto;
}
.testimonies .swiper-pagination .swiper-pagination-bullet {
  background: none;
  width: 0.625rem;
  height: 0.625rem;
  border: solid 0.125rem #11120e;
}
.testimonies .swiper-pagination .swiper-pagination-bullet-active {
  background: #11120e;
}
.testimonies .swiper-button-prev,
.testimonies .swiper-button-next {
  display: none;
}
@media only screen and (min-width: 1080px) {
  .testimonies .swiper-button-prev,
  .testimonies .swiper-button-next {
    display: block;
    border: solid 0.125rem #fa6e50;
    aspect-ratio: 1;
    width: 3.125rem;
    height: 3.125rem;
    border-radius: 100%;
    z-index: 10;
  }
  .testimonies .swiper-button-prev::after,
  .testimonies .swiper-button-next::after {
    color: #fa6e50;
    font-size: 1.25rem;
    font-weight: 900;
    line-height: 2.25;
  }
}

.testimony {
  position: relative;
  display: block;
  width: 100%;
  padding-top: 2.1875rem;
  opacity: 0;
  transition: opacity 0.2s ease;
}
.testimony.swiper-slide-active {
  opacity: 1;
}
.testimony__message {
  position: relative;
  display: block;
  max-width: 48.75rem;
  margin: 0 auto;
}
.testimony__ranking {
  position: relative;
  display: inline-flex;
  margin-top: 2.1875rem;
  gap: 0.125rem;
}
.testimony__ranking .star {
  position: relative;
  display: block;
  width: 1.25rem;
}
.testimony__ranking .star svg {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
}
.testimony__ranking .star svg path {
  fill: #fa6e50;
}
.testimony__name {
  position: relative;
  display: block;
  margin-top: 1.25rem;
  font-weight: 700;
}

.counter {
  position: relative;
  display: block;
  padding: 5rem 0;
  text-align: center;
  font-weight: 700;
  color: #fbd8d0;
}
.counter .wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 3.125rem;
}
.counter-item {
  position: relative;
  display: block;
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .counter-item {
    width: calc((100% - 50px) / 2);
  }
}
@media only screen and (min-width: 1080px) {
  .counter-item {
    width: calc((100% - 150px) / 4);
  }
}
.counter-item__prefix {
  position: relative;
  display: block;
  font-weight: 700;
}
.counter-item__prefix::after {
  content: "";
  background: #fbd8d0;
  position: relative;
  display: block;
  width: 3.125rem;
  height: 0.5rem;
  margin: 0.625rem auto 0.3125rem;
}
.counter-item__suffix {
  position: relative;
  display: block;
  font-weight: 700;
}
.counter-item__suffix::before {
  content: "";
  background: #fbd8d0;
  position: relative;
  display: block;
  width: 3.125rem;
  height: 0.5rem;
  margin: 0.625rem auto 0.9375rem;
}

.formular {
  position: relative;
  display: block;
  text-align: center;
  color: white;
  overflow: clip;
}
.formular__placeholder {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.formular__placeholder svg {
  position: relative;
  display: block;
  width: auto;
  height: 100%;
  margin: 0 0 0 auto;
  opacity: 0.125;
}
.formular__placeholder .fill-lobster {
  fill: #fa6e50;
}
.formular__placeholder .fill-mud {
  fill: #4b4610;
}
.formular-wrapper {
  background: white;
  position: relative;
  display: block;
  width: 100%;
  margin-top: 2.1875rem;
  aspect-ratio: 3/2;
}
.formular-form {
  position: relative;
  display: block;
  padding: clamp(15px, 4vw, 35px);
  color: #4b4610;
  text-align: left;
}
.formular-form__title {
  position: relative;
  display: block;
  margin-bottom: 0.3125rem;
  color: #958e09;
  font-size: clamp(1.6rem, 5vw, 2rem);
}
.formular-form-header {
  position: relative;
  display: block;
  margin-bottom: 3.125rem;
}
.formular-form-pagination {
  position: relative;
  display: block;
  margin-bottom: 1.25rem;
  color: #222222;
  font-size: 0.9rem;
  font-weight: 700;
}
.formular.newsletter .formular-wrapper {
  background: none;
}

.step {
  position: relative;
  display: block;
  max-height: 0;
  opacity: 0;
  pointer-events: none;
}
.step__title {
  position: relative;
  display: block;
  margin-bottom: 2.1875rem;
  font-size: 1.2rem;
}
.step-main {
  position: relative;
}
.step-main fieldset {
  display: flex;
  margin: 0.9375rem -0.3125rem;
  flex-wrap: wrap;
}
.step .buttons {
  position: relative;
  display: flex;
  justify-content: space-between;
}
.step .buttons .btn {
  cursor: pointer;
}
.step .btn--prev {
  background: none;
  border: solid 0.0625rem #fa6e50;
  color: #fa6e50;
}
.step:first-of-type .btn--next {
  margin: 0 0 0 auto;
}
.step:first-of-type .btn--prev {
  display: none;
}
.step--active {
  max-height: 625rem;
  opacity: 1;
  pointer-events: all;
}

.field {
  position: relative;
  display: block;
  width: 100%;
  padding: 0.3125rem;
  margin-bottom: 0.625rem;
  box-sizing: border-box;
}
.field a {
  position: relative;
  display: inline-block;
  padding: 0 0.25rem;
  color: #fa6e50;
}
.field__title {
  margin: 0 0.3125rem 0.625rem;
  font-size: 1rem;
}
.field--w20 {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .field--w20 {
    width: 20%;
  }
}
.field--w25 {
  width: 50%;
}
@media only screen and (min-width: 768px) {
  .field--w25 {
    width: 25%;
  }
}
.field--w40 {
  width: 50%;
}
@media only screen and (min-width: 768px) {
  .field--w40 {
    width: 40%;
  }
}
.field--w50 {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .field--w50 {
    width: 50%;
  }
}
.field--w60 {
  width: 60%;
}
.field--w80 {
  width: 80%;
}
.field select,
.field input[type=text],
.field input[type=tel],
.field input[type=number],
.field input[type=date],
.field input[type=time],
.field input[type=email],
.field textarea {
  background: none;
  display: block;
  width: 100%;
  padding: 0.625rem 0.9375rem;
  margin: 0;
  border: solid 0.0625rem rgba(17, 18, 14, 0.25);
  border-radius: 0;
  color: #4b4610;
  font-family: inherit;
  font-size: 1rem;
  appearance: none;
}
.field select.--error,
.field input[type=text].--error,
.field input[type=tel].--error,
.field input[type=number].--error,
.field input[type=date].--error,
.field input[type=time].--error,
.field input[type=email].--error,
.field textarea.--error {
  background: rgba(250, 110, 80, 0.1);
  border-color: #fa6e50 !important;
}
.field select:focus,
.field input[type=text]:focus,
.field input[type=tel]:focus,
.field input[type=number]:focus,
.field input[type=date]:focus,
.field input[type=time]:focus,
.field input[type=email]:focus,
.field textarea:focus {
  outline: none;
}
.field select:required + label::after,
.field input[type=text]:required + label::after,
.field input[type=tel]:required + label::after,
.field input[type=number]:required + label::after,
.field input[type=date]:required + label::after,
.field input[type=time]:required + label::after,
.field input[type=email]:required + label::after,
.field textarea:required + label::after {
  content: "*";
  color: #fa6e50;
  font-weight: 700;
}
.field select + label,
.field input[type=text] + label,
.field input[type=tel] + label,
.field input[type=number] + label,
.field input[type=date] + label,
.field input[type=time] + label,
.field input[type=email] + label,
.field textarea + label {
  background: white;
  position: absolute;
  display: inline-block;
  padding: 0 0.1875rem;
  top: -0.25rem;
  left: 0.625rem;
  font-size: 0.75rem;
}
.field input[type=checkbox] {
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  top: 0;
  left: 0;
  opacity: 0;
  pointer-events: none;
}
.field input[type=checkbox]:required + label::after {
  content: "*";
  color: #fa6e50;
  font-weight: 700;
}
.field input[type=checkbox] + label {
  position: relative;
  display: inline-flex;
  align-items: flex-start;
  font-size: 1rem;
  line-height: 1.25;
  cursor: pointer;
}
.field input[type=checkbox] + label::before {
  content: "";
  position: relative;
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  aspect-ratio: 1;
  margin-right: 0.3125rem;
  border: solid 0.0625rem rgba(17, 18, 14, 0.25);
}
.field input[type=checkbox].--error + label {
  background: rgba(250, 110, 80, 0.25);
}
.field input[type=checkbox]:checked + label::after {
  content: "";
  position: absolute;
  display: block;
  width: 0.5rem;
  height: 0.8125rem;
  top: 0.125rem;
  left: 0.375rem;
  border-right: solid 0.1875rem #fa6e50;
  border-bottom: solid 0.1875rem #fa6e50;
  transform: rotate(45deg);
}
.field #email-repeat {
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  opacity: 0;
  top: 0;
  left: 0;
  pointer-events: none;
}
.field #email-repeat + label {
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  opacity: 0;
  top: 0;
  left: 0;
  pointer-events: none;
}

.newsletter-signup {
  background: white;
  max-width: 30rem;
  margin: 0 auto;
  padding: clamp(15px, 4vw, 35px);
  color: #11120e;
}
.newsletter-signup .field {
  padding-top: 0;
  padding-bottom: 0;
}
.newsletter-signup .field input {
  position: relative;
  display: block;
}
.newsletter-signup .field input::placeholder {
  font-size: inherit;
  font-family: inherit;
}
.newsletter-signup .field input + label {
  display: inline-flex;
  width: 100%;
  font-size: 0.9rem;
  line-height: 1.5;
  align-items: flex-start;
}
.newsletter-signup .field input + label span {
  text-align: left;
}
.newsletter-signup .field input + label::before {
  margin-right: 0.625rem;
}
.newsletter-signup .field input + label a {
  color: #fa6e50;
  text-decoration: underline;
}
.newsletter-signup .buttons {
  margin-top: 1.25rem;
}
.newsletter-signup .buttons .btn {
  width: 100%;
  cursor: pointer;
}
.newsletter-signup .buttons .btn:disabled {
  opacity: 0.5;
  pointer-events: none;
}

.feedback .stars-wrapper {
  position: relative;
  display: flex;
  gap: 0.625rem;
}
.feedback .stars-wrapper input {
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  opacity: 0;
  top: 0;
  left: 0;
}
.feedback .stars-wrapper input + label {
  cursor: pointer;
}
.feedback .stars-wrapper input + label svg {
  position: relative;
  display: block;
  width: 1.25rem;
  aspect-ratio: 1;
}
.feedback .stars-wrapper input + label svg polygon {
  fill: rgba(75, 70, 16, 0.2);
}
.feedback .stars-wrapper input.active + label svg polygon {
  fill: #fa6e50;
}
.feedback .stars-wrapper input.--error + label svg polygon {
  fill: rgba(250, 110, 80, 0.2);
}
.feedback .notice {
  position: relative;
  display: block;
  padding: 0 0.3125rem;
  margin-bottom: 0.625rem;
  color: #958e09;
  font-size: 0.75rem;
}

#map {
  background: #ccc;
  position: relative;
  display: block;
  width: 100%;
  height: clamp(300px, 40vw, 600px);
}

.locations-content {
  background: #fa6e50;
  position: relative;
  margin-bottom: 2.1875rem;
  padding: 2.1875rem 0 6.25rem;
  color: white;
}
.locations-content .wrap {
  position: relative;
  display: flex;
  flex-wrap: wrap;
}
@media only screen and (min-width: 1080px) {
  .locations-content .wrap {
    gap: 3.75rem;
  }
  .locations-content .wrap > div {
    width: calc(50% - 30px);
  }
}
.locations-list {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 0.9375rem;
}

.location {
  position: relative;
  display: block;
  width: 100%;
  margin-bottom: 2.1875rem;
  font-size: 0.9rem;
  line-height: 1.25;
}
@media only screen and (min-width: 768px) {
  .location {
    width: calc((100% - 30px) / 3);
  }
}
@media only screen and (min-width: 768px) {
  .location {
    width: calc((100% - 45px) / 4);
  }
}
.location a {
  display: inline-block;
  color: inherit;
  text-decoration: none;
}
.location a.map-links {
  display: block;
  margin: 0 -0.3125rem 0.125rem;
  padding: 0.1875rem 0.3125rem;
}
.location--exclusive {
  color: #fa6e50;
}
.location--exclusive .location__title::before {
  background: #fa6e50;
}
.location__thumb {
  position: relative;
  display: block;
  width: 100%;
  margin-bottom: 0.9375rem;
  aspect-ratio: 3/2;
  overflow: clip;
}
.location__thumb > a {
  width: 100%;
  height: 100%;
}
.location__thumb-overlay {
  background: rgba(17, 18, 14, 0.7);
  position: absolute;
  display: flex;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  justify-content: center;
  align-items: center;
  backdrop-filter: blur(0.3125rem);
  pointer-events: none;
  opacity: 0;
  transition: 0.4s ease;
}
.location__thumb-overlay span {
  font-weight: 700;
  text-transform: uppercase;
  color: #fa6e50;
}
.location__thumb img {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: scale(1);
  transition: 0.4s ease;
}
.location__title {
  position: relative;
  display: block;
  font-weight: 700;
}
.location__title::before {
  content: "";
  background: #4b4610;
  position: relative;
  display: block;
  width: 3.125rem;
  height: 0.5rem;
  margin: 0.9375rem 0 0.3125rem;
}
.location__type, .location__address {
  margin-bottom: 0.9375rem;
}
.location:hover .location__thumb img {
  transform: scale(1.2);
}
.location:hover .location__thumb-overlay {
  opacity: 1;
}

.keyvisual {
  background: #222222;
  position: relative;
  display: flex;
  min-height: 80vh;
  justify-content: center;
  align-items: center;
  text-align: center;
  color: white;
  overflow: clip;
}
.keyvisual__placeholder {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.keyvisual__placeholder svg {
  position: relative;
  display: block;
  width: auto;
  height: 100%;
  margin: 0 0 0 auto;
  opacity: 0.125;
}
.keyvisual__placeholder .fill-lobster {
  fill: #fa6e50;
}
.keyvisual__placeholder .fill-mud {
  fill: #4b4610;
}
.keyvisual .wrap {
  position: relative;
  padding-bottom: 6.25rem;
  z-index: 2;
}
.keyvisual .wrap > * {
  position: relative;
  z-index: 1;
}
.keyvisual__image {
  position: relative;
  display: block;
  width: auto;
  height: 2.8125rem;
  margin-bottom: 1.25rem;
}
.keyvisual__image img {
  position: relative;
  display: block;
  width: auto;
  height: 100%;
  margin: 0 auto;
  padding: 0;
}
.keyvisual__desc {
  margin-bottom: 2.8125rem;
  font-weight: 700;
  line-height: 1.4;
}
.keyvisual .buttons {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.625rem;
}
.keyvisual-blurp {
  position: absolute;
  display: block;
  width: 9.375rem;
  bottom: -0.625rem;
  z-index: 2;
}
.keyvisual-blurp__svg {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
}
.keyvisual-blurp__btn {
  position: absolute;
  display: block;
  width: 0.9375rem;
  height: 0.9375rem;
  border-right: solid 0.125rem #958e09;
  border-bottom: solid 0.125rem #958e09;
  transform: rotate(45deg);
  margin-top: 25%;
  margin-left: 50%;
  top: -0.625rem;
  left: -0.5rem;
  cursor: pointer;
  z-index: 1;
}
.keyvisual-blurp path {
  fill: white;
}
.keyvisual .gallery {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  margin: 0;
  padding: 0;
}
.keyvisual .gallery .swiper-wrapper {
  height: 100% !important;
}
.keyvisual .gallery .swiper-wrapper .gallery-item {
  height: 100%;
}
.keyvisual .gallery .swiper-pagination {
  bottom: 4.375rem;
}
.keyvisual .gallery .swiper-pagination-bullet {
  background: white;
}
.keyvisual .gallery img {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.keyvisual.--blur .wrap::before {
  content: "";
  background: rgba(17, 18, 14, 0.5);
  position: absolute;
  display: block;
  height: 200vh;
  top: -50vh;
  right: -2.1875rem;
  left: -2.1875rem;
  backdrop-filter: blur(0.5rem);
}

.mediablock {
  position: relative;
  display: block;
}
.mediablock-items {
  position: relative;
}
@media only screen and (min-width: 768px) {
  .mediablock-items {
    display: flex;
    flex-wrap: wrap;
    gap: 1.25rem;
  }
  .mediablock-items .mediablock-item {
    position: relative;
    display: block;
    width: 100%;
  }
}
.mediablock-items.--media-per-row-2 .mediablock-item {
  width: calc((100% - 20px) / 2);
}
.mediablock-items.--media-per-row-3 .mediablock-item {
  width: calc((100% - 40px) / 3);
}
.mediablock-items.--media-per-row-4 .mediablock-item {
  width: calc((100% - 60px) / 4);
}
.mediablock-items.--media-per-row-5 .mediablock-item {
  width: calc((100% - 80px) / 5);
}
.mediablock-items.--media-per-row-6 .mediablock-item {
  width: calc((100% - 100px) / 6);
}
.mediablock-item:not(:last-of-type) {
  pointer-events: revert;
  display: block;
  margin-bottom: 1.25rem;
}
.mediablock-item iframe {
  position: relative;
  display: block;
  width: 100%;
}

.banner {
  position: relative;
  display: block;
}
.banner .wrap {
  position: relative;
}
@media only screen and (min-width: 768px) {
  .banner .wrap {
    gap: 1.875rem;
  }
}
.banner__content {
  text-align: center;
}
@media only screen and (min-width: 1080px) {
  .banner__content {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .banner__content .title {
    margin-top: 0;
  }
}
.banner__content .buttons {
  margin-top: 2.1875rem;
}
.banner.--boxed {
  max-width: calc(1230px - clamp(35px, 5vw, 60px));
  margin: clamp(35px, 5vw, 60px) auto 6.25rem;
}
.banner.--boxed .wrap {
  padding: 0 1.25rem;
}
@media only screen and (min-width: 768px) {
  .banner.--boxed .wrap {
    padding: 0 clamp(35px, 5vw, 60px);
  }
}
.banner.--boxed .banner__title {
  max-width: none;
  margin: 0 0 2.1875rem;
  text-align: left;
}
.banner.--boxed .banner__title::after {
  margin-right: auto;
  margin-left: 0;
}
.banner.--boxed .banner__desc {
  text-align: left;
}
@media only screen and (min-width: 768px) {
  .banner.--boxed .banner__desc {
    column-count: 2;
    column-gap: clamp(35px, 5vw, 60px);
  }
}

.gallery-module {
  position: relative;
  display: block;
  overflow: clip;
}
.gallery-module .wrap {
  position: relative;
  padding-bottom: 1.25rem;
}
.gallery-module__content {
  text-align: center;
}
.gallery-module__content .buttons {
  margin-top: 2.1875rem;
}
.gallery-module__media {
  position: relative;
  display: block;
  width: 100vw;
  margin: 0 -1.25rem;
}
@media only screen and (min-width: 1080px) {
  .gallery-module__media {
    width: 100%;
  }
}
.gallery-module .gallery {
  position: relative;
  display: block;
  width: 100%;
}
@media only screen and (min-width: 1080px) {
  .gallery-module .gallery {
    padding-top: 2.1875rem;
  }
}
.gallery-module .gallery-item {
  position: relative;
  display: block;
  width: calc(100% - 80px);
}
@media only screen and (min-width: 768px) {
  .gallery-module .gallery-item {
    width: calc(50% - 80px);
  }
}
@media only screen and (min-width: 1080px) {
  .gallery-module .gallery-item {
    width: calc(50% - 80px);
  }
}
.gallery-module .gallery-item img {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  aspect-ratio: 1;
  object-fit: cover;
  object-position: center;
}
@media only screen and (min-width: 1080px) {
  .gallery-module .gallery-item img {
    aspect-ratio: 3/2;
  }
}
.gallery-module .swiper-pagination {
  position: relative;
  display: block;
  margin-top: 2.1875rem;
  padding: 0;
  top: auto;
  left: auto;
  bottom: auto;
}
.gallery-module .swiper-pagination .swiper-pagination-bullet {
  background: none;
  width: 0.625rem;
  height: 0.625rem;
  border: solid 0.125rem #11120e;
}
.gallery-module .swiper-pagination .swiper-pagination-bullet-active {
  background: #11120e;
}
.gallery-module .swiper-button-prev,
.gallery-module .swiper-button-next {
  display: none;
}
@media only screen and (min-width: 1080px) {
  .gallery-module .swiper-button-prev,
  .gallery-module .swiper-button-next {
    display: flex;
    border: solid 0.125rem #fa6e50;
    aspect-ratio: 1;
    width: 3.125rem;
    height: 3.125rem;
    top: auto;
    bottom: -1.0625rem;
    border-radius: 100%;
    z-index: 10;
  }
  .gallery-module .swiper-button-prev::after,
  .gallery-module .swiper-button-next::after {
    color: #fa6e50;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 2.25;
  }
}
.gallery-module .swiper-button-prev {
  left: 30%;
}
.gallery-module .swiper-button-next {
  right: 30%;
}

.shortlinks {
  position: relative;
  display: block;
  overflow: clip;
}
.shortlinks .wrap {
  position: relative;
}
@media only screen and (min-width: 768px) {
  .shortlinks .wrap {
    gap: 1.875rem;
  }
}
.shortlinks__content {
  text-align: center;
}
@media only screen and (min-width: 1080px) {
  .shortlinks__content {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .shortlinks__content .title {
    margin-top: 0;
  }
}
.shortlinks__content .buttons {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem;
  margin-top: 2.1875rem;
  justify-content: center;
}
.shortlinks__content .buttons .btn {
  background: white;
  width: 100%;
  color: #fa6e50;
  padding: clamp(20px, 5vw, 35px);
  font-size: 1.2rem;
  text-transform: none;
}
@media only screen and (min-width: 768px) {
  .shortlinks__content .buttons .btn {
    width: auto;
  }
}

.single-location {
  /**
  .location-contents{
    .wrap{
      @include breakpoint('desktop'){
        display: flex;
        gap: rm(35);
        align-items: flex-start;
        > div{
          &:first-of-type{
            width: 40%;
          }
          &:last-of-type{
            width: 60%;
          }
        }
      }
    }
    .title{
      @include breakpoint('desktop'){
        text-align: left;
        &::after{
          margin-left: 0;
        }
      }
    }
    h2{
      font-size: $fs-big;
    }
    h3{
      font-size: $fs-medium;
    }
    p{
      font-size: $fs-regular;
      line-height: 1.5;
      &:not(:last-of-type){
        margin-bottom: 1em;
      }
    }
    &-gallery{
      position: relative;
      display: block;
      .swiper-wrapper{
        position: relative;
        display: flex;
        flex-wrap: wrap;
        gap: rm(10);
      }
      figure{
        &.portrait{
          width: calc(50% - 5px);
        }
      }
      img{
        position: relative;
        display: block;
        width: 100%;
        height: auto;
      }
    }
  }
  */
}
.single-location .main strong, .single-location .main b {
  font-weight: 700;
}
.single-location .main em, .single-location .main i {
  font-style: italic;
}
.single-location .module:nth-of-type(2) {
  margin-bottom: clamp(35px, 5vw, 60px);
}
.single-location .banner p {
  line-height: 1.2;
}
.single-location .banner__desc > ul {
  position: relative;
  display: block;
  margin-bottom: 2.1875rem;
  list-style: disc;
  padding-left: 0.9375rem;
  line-height: 1.2;
}
.single-location .banner__desc > ul > li {
  break-inside: avoid;
}
.single-location .banner__desc > ul > li:not(:last-of-type) {
  margin-bottom: 0.9375rem;
}
.single-location .banner p a, .single-location .banner ul a, .single-location .banner li a {
  position: relative;
  color: #fa6e50;
  font-weight: 700;
  text-decoration: none;
}
.single-location .banner p a::after, .single-location .banner ul a::after, .single-location .banner li a::after {
  content: "";
  position: absolute;
  display: block;
  width: 0%;
  bottom: -0.125rem;
  left: 0;
  border-bottom: solid 0.0625rem #fa6e50;
  transition: 0.3s ease;
}
.single-location .banner.--boxed .buttons {
  justify-content: flex-start;
}
@media only screen and (min-width: 768px) {
  .single-location .banner.--boxed .buttons {
    justify-content: flex-end;
  }
}
.single-location .keyvisual {
  min-height: 55vh;
}
.single-location .editorial-mediatext {
  margin-top: 0;
  margin-bottom: 0;
}
@media only screen and (min-width: 1080px) {
  .single-location .editorial-mediatext__media {
    width: calc(50% - 20px);
  }
}
@media only screen and (min-width: 1080px) {
  .single-location .editorial-mediatext__content {
    width: calc(50% - clamp(30px, 10vw, 60px));
  }
}
.single-location .editorial-mediatext h2 {
  font-size: clamp(1.25rem, 4vw, 1.6rem);
}
.single-location .editorial-mediatext h3 {
  font-size: 1.2rem;
}
.single-location .editorial-mediatext p {
  font-size: 1rem;
  line-height: 1.5;
}
.single-location .editorial-mediatext p:not(:last-of-type) {
  margin-bottom: 1em;
}

.cmplz-blocked-content-container {
  background: #222222;
}
.cmplz-blocked-content-container::after {
  content: "";
  background-image: url("assets/media/placeholder.png");
  background-repeat: no-repeat;
  background-position: bottom right;
  background-size: contain;
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

.cmplz-blocked-content-notice {
  background: none !important;
}
.cmplz-blocked-content-notice-body {
  max-width: 12.5rem;
  margin: 0 auto;
  font-size: 0.75rem !important;
  line-height: 1.25;
}
.cmplz-blocked-content-notice button {
  background: #fa6e50;
  display: inline-block;
  padding: 0.4375rem 0.75rem;
  border: none;
  border-radius: 0.625rem;
  color: white;
  font-size: 0.75rem;
  font-weight: 700;
  text-decoration: none;
  text-transform: uppercase;
  cursor: pointer;
}

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