/* ==========================================================
   Modern Reset (cmart)
   - Vereinheitlicht Browser Defaults
   - Barrierefrei (keine Focus-Styles entfernt)
   - Kompatibel mit Fluid Typography & Grid System
   ========================================================== */
/* 1. Box-Modell */
@import "../../node_modules/swiper/swiper-bundle.css";
*,
*::before,
*::after {
  box-sizing: border-box;
}
/* 2. Entferne Default Margin */
body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
}
/* 3. Basiswerte */
html,
body {
  min-height: 100%;
  padding: 0;
  border: 0;
  line-height: 1.5;
  font-family: var(--font-body, system-ui, sans-serif);
  color: var(--color-text, #111);
  background: var(--color-bg, #fff);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
/* 4. Listen */
ul[role="list"],
ol[role="list"] {
  list-style: none;
  margin: 0;
  padding: 0;
}
/* 5. Links */
a {
  color: inherit;
  text-decoration: none;
}
a:hover,
a:focus-visible {
  text-decoration: underline;
}
/* 6. Medien */
img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
}
img {
  height: auto;
}
/* 7. Tabellen */
table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
}
th,
td {
  text-align: left;
  vertical-align: middle;
}
/* 8. Formulare */
input,
button,
textarea,
select {
  font: inherit;
  color: inherit;
  margin: 0;
  border: none;
  background: none;
}
/* 9. Fokus sichtbar lassen */
:focus-visible {
  outline: 2px solid var(--color-accent, #3a6cf4);
  outline-offset: 2px;
}
/* 10. Root Block Elements */
:where(article, aside, nav, section, header, footer, main) {
  display: block;
}
/* 11. Utility: smoother scroll + motion respect */
html {
  scroll-behavior: smooth;
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
.hide {
  display: none;
}
#loading,
#successmessage,
#errormessage {
  display: none;
}
@keyframes bounceOut {
  from {
    transform: scale(1);
  }
  to {
    transform: scale(1.2);
  }
}
@keyframes slideInShort {
  from {
    transform: rotateX(-15deg) translateY(100px);
  }
  to {
    transform: rotateX(0) translateY(0px);
  }
}
@keyframes slideMeIn {
  from {
    transform: rotateX(-60deg) translateY(300px);
  }
  to {
    transform: rotateX(0) translateY(0px);
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
ul {
  list-style-type: none;
}
ul {
  margin: 0px;
  padding: 0px;
}
a:focus {
  outline: none;
}
:root {
  --color-sitebg: #fff;
  --color-accent: #73a6a3;
  --color-green1: #01352E;
  --color-green2: #73a6a3;
  --color-green3: #aacac7;
  --color-green4: #d5e9e7;
  --color-black: #121815;
  --color-arrow: var(--color-green3);
  --color-h1: #01352E;
  --color-h2: #01352E;
  --color-h3: #01352E;
  --color-h4: #01352E;
  --color-text: var(--color-green2);
  --logocolor: var(--color-green2);
}
/* ===================================
   TYPOGRAPHY SYSTEM (LESS, MQ-gestuft)
   - 500→1700: Variablen in Stufen (ohne calc/clamp)
   - >1700: Upscale via html { font-size } (3 Stufen)
   - Benannte Tokens + .fs-token(0…10)-Kompatibilität
   =================================== */
/* ---------- 0) FONT-FACES (Beispiel) ---------- */
/* ASans Regular */
@font-face {
  font-family: "ASans";
  font-weight: 400;
  font-style: normal;
  src: url("/public/fonts/d-regular.woff2") format("woff2"), url("/public/fonts/d-regular.woff") format("woff"), url("/public/fonts/d-regular.eot") format("embedded-opentype");
}
/* ASans Medium */
@font-face {
  font-family: "ASans";
  font-weight: 500;
  font-style: normal;
  src: url("/public/fonts/d-medium.woff2") format("woff2"), url("/public/fonts/d-medium.woff") format("woff"), url("/public/fonts/d-medium.eot") format("embedded-opentype");
}
/* ASans Bold */
@font-face {
  font-family: "ASans";
  font-weight: 700;
  font-style: normal;
  src: url("/public/fonts/d-bold.woff2") format("woff2"), url("/public/fonts/d-bold.woff") format("woff"), url("/public/fonts/d-bold.eot") format("embedded-opentype");
}
/* ASerif Regular */
@font-face {
  font-family: "ASerif";
  font-weight: 400;
  font-style: normal;
  src: url("/public/fonts/b-regular.woff2") format("woff2"), url("/public/fonts/b-regular.woff") format("woff");
}
/* ASerif Italic */
@font-face {
  font-family: "ASerif";
  font-weight: 400;
  font-style: italic;
  src: url("/public/fonts/b-italic.woff2") format("woff2"), url("/public/fonts/b-italic.woff") format("woff");
}
/* ---------- 1) DESIGN-TOKENS (Familien/Gewichte/Farben) ---------- */
:root {
  --font-sans: "ASans", system-ui, -apple-system, sans-serif;
  --font-serif: "ASerif", Georgia, serif;
  --font-mono: "MyMono", ui-monospace, monospace;
  --font-body: var(--font-sans);
  --font-headings: var(--font-sans);
  --font-code: var(--font-mono);
  --weight-light: 300;
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;
  --fs-body-lh: 1.6;
  --fs-eyebrow-lh: 1.3;
  --fs-subtitle-lh: 1.3;
  --fs-h3-lh: 1.25;
  --fs-h2-lh: 1;
  --fs-h1-lh: 0.98;
  --fs-hero-lh: 0.8;
  --fs-big-lh: 0.9;
  --fs-lead-lh: 1.22;
  --fs-button-lh: 1;
}
/* ---------- 2) PARAMS (einfach anpassbar) ---------- */
/* Baseline 1rem */
/* Start des Bands */
/* Ende des Bands */
/* Ende des Up-Scales über dem Band */
/* Anzahl Upscale-Stufen über dem Band */
/* Start-Fontsize (bei @vw-max) */
/* Ziel-Fontsize bei @up-end */
html {
  font-size: 10px;
}
/* Baseline, wächst über Upscale-Stufen */
/* ---------- 3) HELFER ---------- */
/* A) Root-Up-Scale: staffelt html { font-size } in @levels Stufen von vw_max→up_end */
/* B) Var-Scale: setzt --@name in (@levels+1) Stufen von @min→@max zwischen vw_min→vw_max */
:root {
  /* ---------- 4) TYPO-TOKENS als Var-Stufen (500→1700) ---------- */
  --fs-body: 1.6rem;
  --fs-h3: 2.8rem;
  --fs-h2: 3.6rem;
  --fs-h1: 4.4rem;
  /* Rollen */
  --fs-eyebrow: 1.8rem;
  --fs-subtitle: 1.4rem;
  --fs-lead: 2rem;
  --fs-button: 1.4rem;
}
@media (min-width: 800px) {
  :root {
    --fs-body: 1.775rem;
  }
}
@media (min-width: 1100px) {
  :root {
    --fs-body: 1.95rem;
  }
}
@media (min-width: 1400px) {
  :root {
    --fs-body: 2.125rem;
  }
}
@media (min-width: 1700px) {
  :root {
    --fs-body: 2.3rem;
  }
}
@media (min-width: 800px) {
  :root {
    --fs-h3: 3.3rem;
  }
}
@media (min-width: 1100px) {
  :root {
    --fs-h3: 3.8rem;
  }
}
@media (min-width: 1400px) {
  :root {
    --fs-h3: 4.3rem;
  }
}
@media (min-width: 1700px) {
  :root {
    --fs-h3: 4.8rem;
  }
}
@media (min-width: 800px) {
  :root {
    --fs-h2: 4.4rem;
  }
}
@media (min-width: 1100px) {
  :root {
    --fs-h2: 5.2rem;
  }
}
@media (min-width: 1400px) {
  :root {
    --fs-h2: 6rem;
  }
}
@media (min-width: 1700px) {
  :root {
    --fs-h2: 6.8rem;
  }
}
@media (min-width: 800px) {
  :root {
    --fs-h1: 5.5rem;
  }
}
@media (min-width: 1100px) {
  :root {
    --fs-h1: 6.6rem;
  }
}
@media (min-width: 1400px) {
  :root {
    --fs-h1: 7.7rem;
  }
}
@media (min-width: 1700px) {
  :root {
    --fs-h1: 8.8rem;
  }
}
@media (min-width: 800px) {
  :root {
    --fs-eyebrow: 2rem;
  }
}
@media (min-width: 1100px) {
  :root {
    --fs-eyebrow: 2.2rem;
  }
}
@media (min-width: 1400px) {
  :root {
    --fs-eyebrow: 2.4rem;
  }
}
@media (min-width: 1700px) {
  :root {
    --fs-eyebrow: 2.6rem;
  }
}
@media (min-width: 800px) {
  :root {
    --fs-subtitle: 1.55rem;
  }
}
@media (min-width: 1100px) {
  :root {
    --fs-subtitle: 1.7rem;
  }
}
@media (min-width: 1400px) {
  :root {
    --fs-subtitle: 1.85rem;
  }
}
@media (min-width: 1700px) {
  :root {
    --fs-subtitle: 2rem;
  }
}
@media (min-width: 800px) {
  :root {
    --fs-lead: 2.2rem;
  }
}
@media (min-width: 1100px) {
  :root {
    --fs-lead: 2.4rem;
  }
}
@media (min-width: 1400px) {
  :root {
    --fs-lead: 2.6rem;
  }
}
@media (min-width: 1700px) {
  :root {
    --fs-lead: 2.8rem;
  }
}
@media (min-width: 800px) {
  :root {
    --fs-button: 1.5rem;
  }
}
@media (min-width: 1100px) {
  :root {
    --fs-button: 1.6rem;
  }
}
@media (min-width: 1400px) {
  :root {
    --fs-button: 1.7rem;
  }
}
@media (min-width: 1700px) {
  :root {
    --fs-button: 1.8rem;
  }
}
/* ---------- 5) UPSCALE > 1700 via html { font-size } ---------- */
@media (min-width: 1900px) {
  html {
    font-size: 11px;
  }
}
@media (min-width: 2556px) {
  html {
    font-size: 12px;
  }
}
@media (min-width: 2884px) {
  html {
    font-size: 13px;
  }
}
@media (min-width: 3212px) {
  html {
    font-size: 14px;
  }
}
@media (min-width: 3540px) {
  html {
    font-size: 15px;
  }
}
/* ---------- 6) Base / Defaults ---------- */
html {
  font-family: var(--font-body);
  font-weight: var(--weight-regular);
  color: var(--color-text);
  font-kerning: normal;
  font-variant-ligatures: common-ligatures contextual;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
body {
  font-size: var(--fs-body);
  line-height: 1.6;
}
/* ---------- 7) Semantik ---------- */
h1 {
  font-size: var(--fs-h1);
  line-height: var(--fs-h1-lh);
}
h2 {
  font-size: var(--fs-h2);
  line-height: var(--fs-h2-lh);
}
h3 {
  font-size: var(--fs-h3);
  line-height: var(--fs-h3-lh);
}
h1,
h2,
h3 {
  font-family: var(--font-headings);
  font-weight: var(--weight-medium);
}
h1 i,
h2 i,
h3 i,
h1 em,
h2 em,
h3 em {
  font-family: var(--font-serif);
  font-weight: var(--weight-regular);
}
h4 {
  font-size: var(--fs-eyebrow);
  font-weight: var(--weight-regular);
  line-height: var(--fs-eyebrow-lh);
  text-decoration: underline;
}
/* ---------- 8) Rollen (Mixins) ---------- */
/* Utility-Klassen für Rollen */
.eyebrow,
.cm-eyebrow {
  font-size: var(--fs-eyebrow);
  font-weight: var(--weight-regular);
  line-height: var(--fs-eyebrow-lh);
  text-decoration: underline;
}
.subtitle,
.cm-subtitle {
  font-size: var(--fs-subtitle);
  font-weight: var(--weight-regular);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  line-height: var(--fs-eyebrow-lh);
  color: var(--color-accent);
}
.lead,
.cm-lead {
  font-size: var(--fs-lead);
  font-weight: var(--weight-regular);
  line-height: var(--fs-lead-lh);
}
.btn-text,
.cm-btn-text {
  font-size: var(--fs-button);
  font-weight: var(--weight-semibold);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-family: var(--font-sans);
  line-height: var(--fs-button-lh);
}
/* =========================================================
   LAYOUT SYSTEM (cm-)
   - Spacing Tokens + Mixins (stack/cluster/inset/bleed)
   - Grid mit benannten Linien (m, c, m-end)
   - Column-Mixins (.col / .col-md / .col-sm / .col-at)
   - Presets (content/narrow/wide/center/full/bleed/sidebars)
   ========================================================= */
/* ---------- PARAMS ---------- */
/* Anzahl Stufen im Band */
/* ---------- Spacing Tokens (stufig, ohne calc/clamp) ---------- */
:root {
  --var-borderradius: clamp(1.5rem, 2.3rem, 3.2rem);
  --var-buttonborderraduis: 1.1rem;
  --var-ease: cubic-bezier(0.4, 0, 0.2, 1);
  --var-margin-default: 12rem;
  --var-margin-small: 5rem;
  --var-margin-medium: 12rem;
  --var-margin-negative: -5rem;
  --var-margin-row: 2rem;
  /* Gaps – fix oder ebenfalls stufig */
  --var-row-gap: 3rem;
  --var-grid-gap: 1rem;
  /* Bodymargin – stufig */
  --var-bodymargin: 2rem;
  --var-margin-left: 1rem;
}
@media (min-width: 800px) {
  :root {
    --var-margin-default: 16.5rem;
  }
}
@media (min-width: 1100px) {
  :root {
    --var-margin-default: 21rem;
  }
}
@media (min-width: 1400px) {
  :root {
    --var-margin-default: 25.5rem;
  }
}
@media (min-width: 1700px) {
  :root {
    --var-margin-default: 30rem;
  }
}
@media (min-width: 800px) {
  :root {
    --var-margin-small: 7.5rem;
  }
}
@media (min-width: 1100px) {
  :root {
    --var-margin-small: 10rem;
  }
}
@media (min-width: 1400px) {
  :root {
    --var-margin-small: 12.5rem;
  }
}
@media (min-width: 1700px) {
  :root {
    --var-margin-small: 15rem;
  }
}
@media (min-width: 800px) {
  :root {
    --var-margin-medium: 14.5rem;
  }
}
@media (min-width: 1100px) {
  :root {
    --var-margin-medium: 17rem;
  }
}
@media (min-width: 1400px) {
  :root {
    --var-margin-medium: 19.5rem;
  }
}
@media (min-width: 1700px) {
  :root {
    --var-margin-medium: 22rem;
  }
}
@media (min-width: 800px) {
  :root {
    --var-margin-negative: -7.5rem;
  }
}
@media (min-width: 1100px) {
  :root {
    --var-margin-negative: -10rem;
  }
}
@media (min-width: 1400px) {
  :root {
    --var-margin-negative: -12.5rem;
  }
}
@media (min-width: 1700px) {
  :root {
    --var-margin-negative: -15rem;
  }
}
@media (min-width: 800px) {
  :root {
    --var-margin-row: 3rem;
  }
}
@media (min-width: 1100px) {
  :root {
    --var-margin-row: 4rem;
  }
}
@media (min-width: 1400px) {
  :root {
    --var-margin-row: 5rem;
  }
}
@media (min-width: 1700px) {
  :root {
    --var-margin-row: 6rem;
  }
}
@media (min-width: 800px) {
  :root {
    --var-row-gap: 4.75rem;
  }
}
@media (min-width: 1100px) {
  :root {
    --var-row-gap: 6.5rem;
  }
}
@media (min-width: 1400px) {
  :root {
    --var-row-gap: 8.25rem;
  }
}
@media (min-width: 1700px) {
  :root {
    --var-row-gap: 10rem;
  }
}
@media (min-width: 800px) {
  :root {
    --var-grid-gap: 1.5rem;
  }
}
@media (min-width: 1100px) {
  :root {
    --var-grid-gap: 2rem;
  }
}
@media (min-width: 1400px) {
  :root {
    --var-grid-gap: 2.5rem;
  }
}
@media (min-width: 1700px) {
  :root {
    --var-grid-gap: 3rem;
  }
}
@media (min-width: 800px) {
  :root {
    --var-bodymargin: 3.75rem;
  }
}
@media (min-width: 1100px) {
  :root {
    --var-bodymargin: 5.5rem;
  }
}
@media (min-width: 1400px) {
  :root {
    --var-bodymargin: 7.25rem;
  }
}
@media (min-width: 1700px) {
  :root {
    --var-bodymargin: 9rem;
  }
}
@media (min-width: 800px) {
  :root {
    --var-margin-left: 1.75rem;
  }
}
@media (min-width: 1100px) {
  :root {
    --var-margin-left: 2.5rem;
  }
}
@media (min-width: 1400px) {
  :root {
    --var-margin-left: 3.25rem;
  }
}
@media (min-width: 1700px) {
  :root {
    --var-margin-left: 4rem;
  }
}
/* ---------- Grid Basis ---------- */
/* ---------- SPACING UTILITIES ---------- */
/* Generischer Mixin: erzeugt BEM-artige Modifier für margin/padding-Achsen */
/* Öffentliche Utilities */
.cm-mt,
.margintop {
  margin-top: var(--var-margin-default);
}
.cm-mt--50vh,
.margintop--50vh {
  margin-top: 50vh;
}
.cm-mt--small,
.margintop--small {
  margin-top: var(--var-margin-small);
}
.cm-mt--negative,
.margintop--negative {
  margin-top: var(--var-margin-negative);
}
.cm-mt--medium,
.margintop--medium {
  margin-top: var(--var-margin-medium);
}
.cm-mt--row,
.margintop--row {
  margin-top: var(--var-margin-row);
}
.cm-pt,
.paddingtop {
  padding-top: var(--var-margin-default);
}
.cm-pt--50vh,
.paddingtop--50vh {
  padding-top: 50vh;
}
.cm-pt--small,
.paddingtop--small {
  padding-top: var(--var-margin-small);
}
.cm-pt--negative,
.paddingtop--negative {
  padding-top: var(--var-margin-negative);
}
.cm-pt--medium,
.paddingtop--medium {
  padding-top: var(--var-margin-medium);
}
.cm-pt--row,
.paddingtop--row {
  padding-top: var(--var-margin-row);
}
.cm-mb,
.marginbottom {
  margin-bottom: var(--var-margin-default);
}
.cm-mb--50vh,
.marginbottom--50vh {
  margin-bottom: 50vh;
}
.cm-mb--small,
.marginbottom--small {
  margin-bottom: var(--var-margin-small);
}
.cm-mb--negative,
.marginbottom--negative {
  margin-bottom: var(--var-margin-negative);
}
.cm-mb--medium,
.marginbottom--medium {
  margin-bottom: var(--var-margin-medium);
}
.cm-mb--row,
.marginbottom--row {
  margin-bottom: var(--var-margin-row);
}
.cm-pb,
.paddingbottom {
  padding-bottom: var(--var-margin-default);
}
.cm-pb--50vh,
.paddingbottom--50vh {
  padding-bottom: 50vh;
}
.cm-pb--small,
.paddingbottom--small {
  padding-bottom: var(--var-margin-small);
}
.cm-pb--negative,
.paddingbottom--negative {
  padding-bottom: var(--var-margin-negative);
}
.cm-pb--medium,
.paddingbottom--medium {
  padding-bottom: var(--var-margin-medium);
}
.cm-pb--row,
.paddingbottom--row {
  padding-bottom: var(--var-margin-row);
}
/* ---------- (Optional) Presets / weitere Mixins kannst du hier wie gehabt belassen ---------- */
/* z. B. .cm-grid, .cm-cluster, .cm-inset, .cm-bleed, .col/.col-md/.col-sm/.col-at, etc. */
@font-face {
  font-family: 'icomoon';
  src: url('/public/fonts/icomoon.eot?u8ox1g');
  src: url('/public/fonts/icomoon.eot?u8ox1g#iefix') format('embedded-opentype'), url('/public/fonts/icomoon.ttf?u8ox1g') format('truetype'), url('/public/fonts/icomoon.woff?u8ox1g') format('woff'), url('/public/fonts/icomoon.svg?u8ox1g#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
[class^="icon-"],
[class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.icon-gondola:before {
  content: "\e920";
}
.icon-phone:before {
  content: "\e967";
}
.icon-link:before {
  content: "\e980";
}
.icon-house:before {
  content: "\e90c";
}
.icon-home:before {
  content: "\e90e";
}
.icon-glass:before {
  content: "\e985";
}
.icon-glass-whiskey:before {
  content: "\e987";
}
.icon-facebook:before {
  content: "\e905";
}
.icon-instagram:before {
  content: "\e907";
}
.icon-spotify:before {
  content: "\e90a";
}
.icon-tripadvisor:before {
  content: "\e970";
}
.icon-youtube:before {
  content: "\e90d";
}
.icon-arrow-down:before {
  content: "\e914";
}
.icon-arrow-left:before {
  content: "\e915";
}
.icon-arrow-right:before {
  content: "\e916";
}
.icon-arrow-up:before {
  content: "\e917";
}
.icon-comment:before {
  content: "\e92a";
}
.icon-comments:before {
  content: "\e92b";
}
.icon-envelope:before {
  content: "\e92d";
}
.icon-external-link:before {
  content: "\e902";
}
.icon-external-link-square:before {
  content: "\e903";
}
.icon-map-marker:before {
  content: "\e93e";
}
.icon-map:before {
  content: "\e940";
}
.icon-money-bill:before {
  content: "\e904";
}
.icon-newspaper:before {
  content: "\e943";
}
.icon-print:before {
  content: "\e948";
}
.icon-quote-right:before {
  content: "\e906";
}
.icon-snowflake:before {
  content: "\e974";
}
.icon-tag:before {
  content: "\e950";
}
.icon-tags:before {
  content: "\e951";
}
.icon-thumbs-down:before {
  content: "\e953";
}
.icon-thumbs-up:before {
  content: "\e954";
}
.icon-toggle-off:before {
  content: "\e908";
}
.icon-toggle-on:before {
  content: "\e909";
}
.icon-trash:before {
  content: "\e90b";
}
.icon-eat:before {
  content: "\e95b";
}
#header {
  position: relative;
  margin-top: 8rem;
  margin-bottom: 4rem;
  z-index: 10;
  width: calc(100% - 2 * var(--var-bodymargin) - 2 * var(--var-grid-gap));
  display: flex;
  box-sizing: border-box;
  align-items: end;
  margin-left: calc(var(--var-bodymargin) + var(--var-grid-gap));
  justify-content: space-between;
}
@media screen and (max-width: 1200px) {
  #header {
    margin-top: 6rem;
  }
}
@media screen and (max-width: 900px) {
  #header {
    margin-top: 5rem;
  }
}
@media screen and (max-width: 730px) {
  #header {
    margin-top: 4rem;
    width: 100%;
    margin-left: 0;
    margin-bottom: 3rem;
  }
}
#header .lineleft,
#header .lineright {
  display: none;
  position: absolute;
  top: 2rem;
  font-size: 1.3rem;
  text-transform: uppercase;
}
@media screen and (max-width: 400px) {
  #header .lineleft,
  #header .lineright {
    font-size: 1.15rem;
  }
}
#header .lineleft {
  left: 2rem;
}
#header .lineright {
  right: 2rem;
}
#header > div {
  line-height: 1.2;
  margin-bottom: 2rem;
}
@media screen and (max-width: 1200px) {
  #header > div {
    margin-bottom: 1.1rem;
  }
}
#header > div a {
  color: var(--color-green2);
  text-decoration: none;
}
@media screen and (max-width: 73px) {
  #header {
    flex-wrap: wrap;
    border-bottom: 1px solid var(--color-green3);
  }
  #header #logo {
    order: 1;
    width: 100%;
    text-align: center;
  }
  #header > div {
    width: 50%;
    border-top: 1px solid var(--color-green3);
    margin-bottom: 0;
    padding: 2rem 0;
  }
  #header #headerleft {
    order: 2;
  }
  #header #headerright {
    order: 3;
  }
}
#header #headerleft {
  text-transform: uppercase;
}
#header #headerright {
  text-align: right;
}
#header #headerright a {
  display: block;
  clear: left;
}
#header #headerright .icon {
  display: none;
}
@media screen and (max-width: 1200px) {
  #header #logo svg {
    height: 9rem;
    width: auto;
    display: inline-block;
  }
}
@media screen and (max-width: 900px) {
  #header #logo svg {
    height: 8rem;
    width: auto;
    display: inline-block;
  }
}
@media screen and (max-width: 650px) {
  #header #logo svg {
    height: 7rem;
    width: auto;
    display: inline-block;
  }
}
@media screen and (max-width: 500px) {
  #header #logo svg {
    height: 6rem;
    width: auto;
    display: inline-block;
    margin-right: 1rem;
  }
}
@media screen and (max-width: 400px) {
  #header #logo svg {
    height: 5rem;
    width: auto;
    display: inline-block;
  }
}
#header #headerright a.langlink.active {
  display: none;
}
#header #headerright a.langlink .short {
  display: none;
}
@media screen and (max-width: 730px) {
  #header {
    flex-wrap: wrap;
  }
  #header #logo {
    order: 1;
    width: 100%;
    text-align: center;
  }
  #header > div {
    width: 100%;
    margin-bottom: 0;
    padding: 2rem 0;
  }
  #header #headerleft {
    display: none;
  }
  #header .lineleft,
  #header .lineright {
    display: block;
  }
  #header #headerright {
    order: 3;
    text-align: center;
  }
  #header #headerright a {
    display: inline-block;
    clear: none;
    padding: 0.5rem 1rem;
  }
  #header #headerright a.langlink {
    text-transform: uppercase;
  }
  #header #headerright a.langlink.active {
    display: none;
  }
  #header #headerright a.langlink .short {
    display: block;
  }
  #header #headerright a.langlink .long {
    display: none;
  }
  #header #headerright .icon {
    display: inline-block;
  }
  #header #headerright .text {
    display: none;
  }
}
#footer {
  padding: 5rem 0;
  display: grid;
  width: 100%;
  column-gap: var(--var-grid-gap);
  grid-template-columns: [m] var(--var-bodymargin) repeat(12, [c] 1fr) [m-end] var(--var-bodymargin);
}
#footer #footer__imprint {
  grid-column: 4 / span 10;
}
@media screen and (max-width: 900px) {
  #footer #footer__imprint {
    grid-column: 1 / -1;
    text-align: center;
  }
}
#footer #footer__imprint a {
  font-size: 1.5rem;
  text-decoration: none;
  line-height: 1;
  color: var(--color-green2);
  display: inline-block;
}
#footer #footer__imprint a + a {
  margin-left: 2rem;
}
@media screen and (max-width: 700px) {
  #footer #footer__imprint a + a {
    margin-left: 1rem;
  }
}
/* ===========================
   BUTTON SYSTEM (mit cm-)
   Beispiel-Markup:

   <a href="/kontakt" class="cm-button">
     <span class="cm-button__icon" aria-hidden="true">📎</span>
     <span class="cm-button__label">Kontakt aufnehmen</span>
   </a>

   <a href="/mehr" class="cm-button cm-button--text">
     <span class="cm-button__label">Mehr erfahren</span>
   </a>

   <button type="button" class="cm-button cm-button--light cm-button--lg">
     <span class="cm-button__label">Eintrag erstellen</span>
   </button>
   =========================== */
/* Tokens */
:root {
  --button-radius: var(--var-buttonborderraduis, 0.5rem);
  --button-ease: var(--var-ease, cubic-bezier(0.2, 0.8, 0.2, 1));
  --btn-gap: 0.6rem;
  --btn-py: 1rem;
  --btn-px: 2.3rem;
  --btn-bg: var(--color-accent);
  --btn-fg: var(--color-darkred);
  --btn-bg-light: var(--color-surface, #fff);
  --btn-fg-light: var(--color-text, #111);
}
/* Mixins (Basis blieb gleich) */
/* Hauptklasse: cm-button  (+ Alias: c-button) */
.cm-button,
.c-button {
  border: 0;
  display: flex;
  align-items: end;
  text-align: left;
  font-size: var(--fs-lead);
  font-weight: var(--weight-regular);
  line-height: var(--fs-lead-lh);
  border-bottom: 1px solid var(--color-green2);
  color: var(--color-green2);
  padding-bottom: 1.3rem;
  position: relative;
  padding-right: 3rem;
  box-sizing: border-box;
  transition: 0.2s all var(--button-ease);
}
.cm-button > span,
.c-button > span {
  display: inline-block;
  position: relative;
}
.cm-button:focus-visible,
.c-button:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}
.cm-button svg,
.c-button svg {
  position: absolute;
  top: 0;
  right: 0;
}
@media screen and (max-width: 950px) {
  .cm-button svg,
  .c-button svg {
    height: 2rem;
    width: auto;
  }
}
.cm-button .cm-button__icon,
.c-button .cm-button__icon,
.cm-button .cm-button__label,
.c-button .cm-button__label,
.cm-button::before,
.c-button::before {
  transition: 0.2s all var(--button-ease);
}
@media (hover: hover) {
  .cm-button:hover,
  .c-button:hover {
    text-decoration: none;
    filter: brightness(0.96);
  }
}
.cm-button:active,
.c-button:active {
  transform: translateY(1px);
}
.cm-button__icon,
.c-button__icon {
  line-height: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.cm-button__label,
.c-button__label {
  display: inline-block;
}
.cm-button--text,
.c-button--text {
  background: none;
  padding: 0;
  border-radius: 0;
}
.cm-button--sm,
.c-button--sm {
  --btn-py: 0.6rem;
  --btn-px: 1.2rem;
  font-size: var(--fs-button);
}
.cm-button--lg,
.c-button--lg {
  --btn-py: 1.2rem;
  --btn-px: 2.6rem;
  font-size: var(--fs-button);
}
.cm-button:disabled,
.c-button:disabled,
.cm-button[aria-disabled="true"],
.c-button[aria-disabled="true"] {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}
/* Legacy Selektoren aus deinem Projekt bleiben funktionsfähig */
.no-touch a.cm-button,
.no-touch span.cm-button {
  transition: 0.2s all var(--button-ease);
}
.no-touch a.cm-button .cm-button__icon,
.no-touch span.cm-button .cm-button__icon,
.no-touch a.cm-button .cm-button__label,
.no-touch span.cm-button .cm-button__label,
.no-touch a.cm-button::before,
.no-touch span.cm-button::before {
  transition: 0.2s all var(--button-ease);
}
@media (hover: hover) {
  .no-touch a.cm-button:hover,
  .no-touch span.cm-button:hover {
    text-decoration: none;
    filter: brightness(0.96);
  }
}
.no-touch a.cm-button:active,
.no-touch span.cm-button:active {
  transform: translateY(1px);
}
@media (hover: hover) {
  a.cm-button,
  span.cm-button {
    transition: 0.2s all var(--button-ease);
  }
  a.cm-button .cm-button__icon,
  span.cm-button .cm-button__icon,
  a.cm-button .cm-button__label,
  span.cm-button .cm-button__label,
  a.cm-button::before,
  span.cm-button::before {
    transition: 0.2s all var(--button-ease);
  }
  a.cm-button:active,
  span.cm-button:active {
    transform: translateY(1px);
  }
}
@media (hover: hover) and (hover: hover) {
  a.cm-button:hover,
  span.cm-button:hover {
    text-decoration: none;
    filter: brightness(0.96);
  }
}
/* Alias-Mixins, falls du bisher .button__light() etc. aufgerufen hast */
:root {
  --var-button-gap: 8rem;
}
@media screen and (max-width: 1200px) {
  :root {
    --var-button-gap: 6rem;
  }
}
@media screen and (max-width: 950px) {
  :root {
    --var-button-gap: 5rem;
  }
}
@media screen and (max-width: 650px) {
  :root {
    --var-button-gap: 3rem;
  }
}
.buttonwrap {
  display: grid;
  width: 100%;
  column-gap: var(--var-grid-gap);
  grid-template-columns: [m] var(--var-bodymargin) repeat(12, [c] 1fr) [m-end] var(--var-bodymargin);
}
ul.listinfos.button {
  text-align: center;
  position: relative;
  grid-column: 3 / span 10;
  display: flex;
  gap: var(--var-button-gap);
  flex-wrap: wrap;
}
@media screen and (max-width: 950px) {
  ul.listinfos.button {
    grid-column: 2 / span 12;
  }
}
ul.listinfos.button li.infobox.button {
  width: calc(100% / 3 - (2 * var(--var-button-gap) / 3));
  align-self: end;
}
@media screen and (max-width: 650px) {
  ul.listinfos.button li.infobox.button {
    width: calc(100% / 2 - (1 * var(--var-button-gap) / 2));
  }
}
@media screen and (max-width: 480px) {
  ul.listinfos.button li.infobox.button {
    width: 100%;
  }
}
ul.listinfos.button li.infobox.button div.card,
ul.listinfos.button li.infobox.button a.card {
  width: 100%;
}
.card {
  position: relative;
}
.card .cmartbge {
  z-index: 0;
}
body.editing .card .card__image.croppinginprogress {
  overflow: visible;
}
div.card,
a.card {
  height: 28rem;
  overflow: hidden;
  width: 40rem;
  display: block;
}
@media screen and (max-width: 600px) {
  div.card,
  a.card {
    height: 20rem;
  }
}
div.card .card__image,
a.card .card__image {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  overflow: hidden;
  background: var(--color-green2);
  border-radius: var(--var-borderradius);
  /* Container muss position:relative haben */
}
div.card .card__image picture,
a.card .card__image picture,
div.card .card__image video,
a.card .card__image video,
div.card .card__image img.img,
a.card .card__image img.img {
  border-radius: var(--var-borderradius);
  opacity: 0.4;
  -ms-filter: "alpha(opacity=calc(100 * @wert))";
  -khtml-opacity: 0.4;
  -moz-opacity: 0.4;
  mix-blend-mode: multiply;
}
div.card .card__image > video,
a.card .card__image > video {
  position: absolute;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
div.card .card__image > picture,
a.card .card__image > picture {
  position: absolute;
  inset: 0;
  /* top:0; right:0; bottom:0; left:0 */
  width: 100%;
  height: 100%;
  /* source lässt sich nicht stylen – bewusst weggelassen */
}
div.card .card__image > picture > img,
a.card .card__image > picture > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
div.card .card__image .filedropbox,
a.card .card__image .filedropbox {
  height: 100%;
}
div.card .card__content,
a.card .card__content {
  position: absolute;
  display: block;
  width: 100%;
  padding: 3rem 4rem 4rem 4rem;
  box-sizing: border-box;
  line-height: 1.1;
}
@media screen and (max-width: 1300px) {
  div.card .card__content,
  a.card .card__content {
    padding: 2rem;
  }
}
div.card .card__content .card__title,
a.card .card__content .card__title,
div.card .card__content h3,
a.card .card__content h3 {
  margin-bottom: 2rem;
  display: inline-block;
}
div.card .card__content p,
a.card .card__content p {
  color: #fff;
}
@media screen and (max-width: 480px) {
  div.card .card__content p,
  a.card .card__content p {
    font-size: 1.2em;
  }
}
div.card > svg,
a.card > svg {
  position: absolute;
  bottom: 3rem;
  right: 3rem;
  width: 3rem;
  height: auto;
}
a.card:hover {
  text-decoration: none;
}
#content ul.listinfos.card {
  position: relative;
  grid-column: 5 / span 9;
  display: flex;
  gap: var(--var-grid-gap);
  flex-wrap: wrap;
}
@media screen and (max-width: 950px) {
  #content ul.listinfos.card {
    grid-column: 3 / span 10;
    margin-top: 4rem;
  }
}
@media screen and (max-width: 700px) {
  #content ul.listinfos.card {
    grid-column: 2 / span 12;
  }
}
#content ul.listinfos.card li.infobox.card {
  width: calc(100% / 3 - (2 * var(--var-grid-gap) / 3));
}
@media screen and (max-width: 600px) {
  #content ul.listinfos.card li.infobox.card {
    width: calc(100% / 2 - (1 * var(--var-grid-gap) / 2));
  }
}
@media screen and (max-width: 480px) {
  #content ul.listinfos.card li.infobox.card {
    width: 100%;
  }
}
#content ul.listinfos.card li.infobox.card div.card,
#content ul.listinfos.card li.infobox.card a.card {
  width: 100%;
}
.cardswrap {
  display: grid;
  width: 100%;
  column-gap: var(--var-grid-gap);
  grid-template-columns: [m] var(--var-bodymargin) repeat(12, [c] 1fr) [m-end] var(--var-bodymargin);
}
.editing.cmart .listinfos.card.showonlyineditmode {
  display: flex !important;
}
.cardslider .swiper-wrapper .swiper-slide {
  width: auto;
}
.swiper-outter {
  width: 100%;
}
.imageslider .m {
  position: absolute;
  bottom: 4.6rem;
  z-index: 10;
  left: 50%;
  transform: translate(-50%, 0);
}
@media screen and (max-width: 800px) {
  .imageslider .m {
    bottom: 2.2rem;
  }
}
.imageslider .m svg {
  height: 4.8rem;
  width: auto;
}
@media screen and (max-width: 800px) {
  .imageslider .m svg {
    height: 3rem;
  }
}
.imageslider h2 {
  position: absolute;
  left: calc(var(--var-bodymargin) + var(--var-grid-gap));
  top: 50%;
  z-index: 10;
  transform: translate(0, -50%);
  color: var(--color-green1);
}
.imageslider .sliderarrows {
  position: absolute;
  bottom: 4rem;
  top: auto;
  left: 0;
  width: 100%;
  z-index: 20;
}
@media screen and (max-width: 800px) {
  .imageslider .sliderarrows {
    bottom: 2rem;
  }
}
.imageslider .sliderarrows > div {
  display: inline-block;
  width: 6rem;
  height: 6rem;
  box-sizing: border-box;
  font-size: 2rem;
  left: 4rem;
  border-radius: 100px;
  cursor: pointer;
  position: absolute;
  bottom: 0;
  background: #fff;
  transition: 0.2s all ease;
  color: var(--color-green2);
}
@media screen and (max-width: 800px) {
  .imageslider .sliderarrows > div {
    width: 4rem;
    height: 4rem;
    font-size: 1.5rem;
    left: 2rem;
  }
}
.imageslider .sliderarrows > div span.icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.imageslider .sliderarrows > div + div {
  left: auto;
  right: 4rem;
}
@media screen and (max-width: 800px) {
  .imageslider .sliderarrows > div + div {
    right: 2rem;
  }
}
.imageslider .sliderarrows > div:active {
  background: var(--color-green2);
  color: #fff;
}
.imageslider .sliderarrows > div.swiper-button-disabled {
  opacity: 0.25;
  -ms-filter: "alpha(opacity=calc(100 * @wert))";
  -khtml-opacity: 0.25;
  -moz-opacity: 0.25;
}
.imageslider .sliderarrows > div:hover {
  color: var(--color-green1);
  transform: scale(1.1);
}
.imageslider .swiper {
  width: 100%;
}
.imageslider .swiper-slide picture {
  width: 100%;
  display: block;
  height: 80vh;
  overflow: hidden;
}
@media screen and (max-width: 700px) {
  .imageslider .swiper-slide picture {
    height: 50rem;
  }
}
@media screen and (max-width: 500px) {
  .imageslider .swiper-slide picture {
    height: 35rem;
  }
}
.imageslider .swiper-slide picture source,
.imageslider .swiper-slide picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.imageslider--small .swiper-slide {
  width: auto;
  max-width: 80%;
}
.imageslider--small .swiper-slide picture {
  width: auto;
  display: block;
  height: 60vh;
  overflow: hidden;
  max-width: 100%;
}
.imageslider--small .swiper-slide picture source,
.imageslider--small .swiper-slide picture img {
  max-width: 100%;
  width: auto;
  height: 100%;
  object-fit: cover;
}
div.singleheadline {
  position: relative;
  float: none;
  margin: 0 auto;
  clear: left;
  display: grid;
  width: 100%;
  column-gap: var(--var-grid-gap);
  grid-template-columns: [m] var(--var-bodymargin) repeat(12, [c] 1fr) [m-end] var(--var-bodymargin);
}
div.singleheadline h1,
div.singleheadline h2,
div.singleheadline h3 {
  grid-column: 2 / span 12;
  max-width: 30ch;
  margin: 0 auto;
}
#content div.textblock,
div.textblock {
  position: relative;
  width: 100%;
}
#content div.textblock.centering,
div.textblock.centering {
  text-align: center;
}
#content div.textblock.centering p,
div.textblock.centering p {
  margin-left: auto;
  margin-right: auto;
}
#content div.textblock.style-- .textblockwrap,
div.textblock.style-- .textblockwrap,
#content div.textblock.style--default .textblockwrap,
div.textblock.style--default .textblockwrap,
#content div.textblock.default .textblockwrap,
div.textblock.default .textblockwrap {
  max-width: 70ch;
  margin: 0 auto;
}
#content div.textblock.style--bigtext .textblockwrap,
div.textblock.style--bigtext .textblockwrap {
  display: grid;
  width: 100%;
  column-gap: var(--var-grid-gap);
  grid-template-columns: [m] var(--var-bodymargin) repeat(12, [c] 1fr) [m-end] var(--var-bodymargin);
}
#content div.textblock.style--bigtext .textblockwrap h4,
div.textblock.style--bigtext .textblockwrap h4 {
  grid-column: 3 / span 2;
  color: var(--color-black);
}
@media screen and (max-width: 950px) {
  #content div.textblock.style--bigtext .textblockwrap h4,
  div.textblock.style--bigtext .textblockwrap h4 {
    grid-column: 3 / span 10;
  }
}
@media screen and (max-width: 700px) {
  #content div.textblock.style--bigtext .textblockwrap h4,
  div.textblock.style--bigtext .textblockwrap h4 {
    grid-column: 2 / span 12;
  }
}
#content div.textblock.style--bigtext .textblockwrap .textobj,
div.textblock.style--bigtext .textblockwrap .textobj {
  grid-column: 5 / span 8;
}
@media screen and (max-width: 950px) {
  #content div.textblock.style--bigtext .textblockwrap .textobj,
  div.textblock.style--bigtext .textblockwrap .textobj {
    grid-column: 3 / span 10;
    margin-top: 3rem;
  }
}
@media screen and (max-width: 700px) {
  #content div.textblock.style--bigtext .textblockwrap .textobj,
  div.textblock.style--bigtext .textblockwrap .textobj {
    grid-column: 2 / span 12;
  }
}
#content div.textblock.style--bigtext .textblockwrap .textobj p,
div.textblock.style--bigtext .textblockwrap .textobj p {
  font-size: var(--fs-h3);
  line-height: var(--fs-h3-lh);
}
#content div.textblock div.cm-text,
div.textblock div.cm-text,
#content div.textblock div.textobj,
div.textblock div.textobj {
  width: 100%;
}
#content div.textblock.style--columns.style--columns,
div.textblock.style--columns.style--columns {
  max-width: 80ch;
  margin: 0 auto;
}
@media screen and (max-width: 900px) {
  #content div.textblock.style--columns.style--columns,
  div.textblock.style--columns.style--columns {
    max-width: 80%;
  }
}
#content div.textblock.style--columns div.cm-text,
div.textblock.style--columns div.cm-text,
#content div.textblock.style--columns div.textobj,
div.textblock.style--columns div.textobj {
  column-count: 2;
  column-gap: 4em;
}
@media screen and (max-width: 700px) {
  #content div.textblock.style--columns div.cm-text,
  div.textblock.style--columns div.cm-text,
  #content div.textblock.style--columns div.textobj,
  div.textblock.style--columns div.textobj {
    column-count: 1;
  }
}
/* content-layouts.less (cmart + cb alias)
   - cb-* bleibt funktionsfähig
   - cm-* ist der neue Namensraum
*/
/* Basis-Layout-Block */
div.cb-layout,
div.cm-layout {
  width: 100%;
  clear: left;
  position: relative;
}
/* Dark/Accent Kontexte */
.cb-layout--header .cb-layout__wrap {
  display: grid;
  width: 100%;
  column-gap: var(--var-grid-gap);
  grid-template-columns: [m] var(--var-bodymargin) repeat(12, [c] 1fr) [m-end] var(--var-bodymargin);
  row-gap: 5rem;
  align-items: end;
  height: 80vh;
}
@media screen and (max-width: 1400px) {
  .cb-layout--header .cb-layout__wrap {
    height: 70vh;
    row-gap: 4rem;
  }
}
@media screen and (max-width: 550px) {
  .cb-layout--header .cb-layout__wrap {
    height: auto;
    row-gap: 2rem;
  }
}
.cb-layout--header .cb-layout__wrap h1 {
  grid-column: 2 / span 8;
  position: relative;
  z-index: 10;
  color: var(--color-green1);
}
@media screen and (max-width: 600px) {
  .cb-layout--header .cb-layout__wrap h1 {
    grid-column: 2 / span 11;
  }
}
@media screen and (max-width: 470px) {
  .cb-layout--header .cb-layout__wrap h1 {
    grid-column: 2 / span 12;
  }
}
@media screen and (max-width: 550px) {
  .cb-layout--header .cb-layout__wrap h1 {
    margin-top: 4rem;
  }
}
.cb-layout--header .cb-layout__wrap div.links {
  position: relative;
  grid-column: 3 / span 5;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  z-index: 10;
  margin-bottom: 15rem;
}
@media screen and (max-width: 1500px) {
  .cb-layout--header .cb-layout__wrap div.links {
    grid-column: 3 / span 6;
  }
}
@media screen and (max-width: 1000px) {
  .cb-layout--header .cb-layout__wrap div.links {
    grid-column: 2 / span 7;
  }
}
@media screen and (max-width: 550px) {
  .cb-layout--header .cb-layout__wrap div.links {
    margin: 0;
    grid-column: 2 / span 9;
  }
}
.cb-layout--header .cb-layout__wrap div.links > div {
  width: 45%;
  border-bottom: 1px solid var(--color-green2);
  position: relative;
  font-size: var(--fs-lead);
  line-height: var(--fs-lead-lh);
  padding-bottom: 1rem;
}
@media screen and (max-width: 880px) {
  .cb-layout--header .cb-layout__wrap div.links > div {
    width: 100%;
    max-width: 25rem;
  }
  .cb-layout--header .cb-layout__wrap div.links > div + div {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 600px) {
  .cb-layout--header .cb-layout__wrap div.links > div:first-child {
    display: none;
  }
}
.cb-layout--header .cb-layout__wrap div.links > div a {
  transition: 0.14s all var(--var-ease);
  display: block;
}
.cb-layout--header .cb-layout__wrap div.links > div a:hover {
  color: var(--color-green1);
  text-decoration: none;
}
.cb-layout--header .cb-layout__wrap div.links svg {
  position: absolute;
  top: 0;
  right: 0;
}
.cb-layout--header .cb-layout__wrap img {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 0;
  max-width: 50%;
  max-height: 110%;
}
@media screen and (max-width: 880px) {
  .cb-layout--header .cb-layout__wrap img {
    max-width: 70%;
  }
}
@media screen and (max-width: 550px) {
  .cb-layout--header .cb-layout__wrap img {
    position: relative;
    grid-column: 1 / span 14;
    right: auto;
    bottom: auto;
    max-width: none;
    max-height: none;
    width: 100%;
  }
}
.cb-layout--oeffnungszeiten .cb-layout__wrap {
  display: grid;
  width: 100%;
  column-gap: var(--var-grid-gap);
  grid-template-columns: [m] var(--var-bodymargin) repeat(12, [c] 1fr) [m-end] var(--var-bodymargin);
  background: var(--color-green3);
  color: #fff;
  padding: 14rem 0 12rem 0;
}
@media screen and (max-width: 950px) {
  .cb-layout--oeffnungszeiten .cb-layout__wrap {
    padding: 8rem 0;
  }
}
.cb-layout--oeffnungszeiten .cb-layout__wrap .m {
  grid-column: 2;
}
.cb-layout--oeffnungszeiten .cb-layout__wrap .m svg {
  max-width: 80%;
  height: auto;
}
@media screen and (max-width: 950px) {
  .cb-layout--oeffnungszeiten .cb-layout__wrap .m {
    grid-column: 2 / span 2;
  }
}
.cb-layout--oeffnungszeiten .cb-layout__wrap h4 {
  grid-column: 3 / span 2;
  color: #fff;
}
@media screen and (max-width: 1300px) {
  .cb-layout--oeffnungszeiten .cb-layout__wrap h4 {
    grid-column: 3 / span 3;
  }
}
@media screen and (max-width: 950px) {
  .cb-layout--oeffnungszeiten .cb-layout__wrap h4 {
    grid-column: 4 / span 8;
  }
}
.cb-layout--oeffnungszeiten .cb-layout__wrap .hours {
  position: relative;
  grid-column: 5 / span 4;
}
@media screen and (max-width: 1300px) {
  .cb-layout--oeffnungszeiten .cb-layout__wrap .hours {
    grid-column: 6 / span 4;
  }
}
@media screen and (max-width: 950px) {
  .cb-layout--oeffnungszeiten .cb-layout__wrap .hours {
    grid-column: 4 / span 10;
    margin-top: 10rem;
  }
}
.cb-layout--oeffnungszeiten .cb-layout__wrap .hours .switcher {
  display: block;
  position: absolute;
  top: -5rem;
  left: 0;
}
.cb-layout--oeffnungszeiten .cb-layout__wrap .hours .switcher a {
  color: #fff;
  border-radius: 8px 0px 0px 8px;
  padding: 0.5rem 1.2rem;
  border: 1px solid #fff;
  text-decoration: none;
  display: inline-block;
  line-height: 1;
  font-size: 0.8em;
}
.cb-layout--oeffnungszeiten .cb-layout__wrap .hours .switcher a.active,
.cb-layout--oeffnungszeiten .cb-layout__wrap .hours .switcher a:hover {
  background: #fff;
  color: var(--color-green2);
  text-decoration: none;
}
.cb-layout--oeffnungszeiten .cb-layout__wrap .hours .switcher a + a {
  border-radius: 0px 8px 8px 0px;
}
.cb-layout--oeffnungszeiten .cb-layout__wrap .hours .content {
  margin-top: 0 !important;
}
.cb-layout--oeffnungszeiten .cb-layout__wrap .emergency {
  grid-column: 9 / span 4;
}
@media screen and (max-width: 1300px) {
  .cb-layout--oeffnungszeiten .cb-layout__wrap .emergency {
    grid-column: 10 / span 4;
  }
}
@media screen and (max-width: 950px) {
  .cb-layout--oeffnungszeiten .cb-layout__wrap .emergency {
    grid-column: 4 / span 10;
    margin-top: 3rem;
  }
}
#content .cb-layout--team .cb-layout__wrap {
  display: grid;
  width: 100%;
  column-gap: var(--var-grid-gap);
  grid-template-columns: [m] var(--var-bodymargin) repeat(12, [c] 1fr) [m-end] var(--var-bodymargin);
  padding: 15rem 0;
}
@media screen and (max-width: 950px) {
  #content .cb-layout--team .cb-layout__wrap {
    padding: 10rem 0;
  }
}
#content .cb-layout--team .cb-layout__wrap .teambg {
  border-radius: 0 4rem 4rem 0;
  position: absolute;
  width: 80%;
  top: 0;
  left: 0;
  height: 100%;
  background: var(--color-green1);
  overflow: hidden;
}
@media screen and (max-width: 600px) {
  #content .cb-layout--team .cb-layout__wrap .teambg {
    width: 90%;
  }
}
#content .cb-layout--team .cb-layout__wrap .teambg img {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  object-fit: cover;
  opacity: 0.3;
  -ms-filter: "alpha(opacity=calc(100 * @wert))";
  -khtml-opacity: 0.3;
  -moz-opacity: 0.3;
  mix-blend-mode: multiply;
}
#content .cb-layout--team .cb-layout__wrap h2 {
  grid-column: 3 / span 4;
  position: relative;
  color: var(--color-green3);
}
@media screen and (max-width: 950px) {
  #content .cb-layout--team .cb-layout__wrap h2 {
    grid-column: 2 / span 6;
  }
}
#content .cb-layout--team .cb-layout__wrap .textobj {
  grid-column: 6 / span 3;
  position: relative;
  color: var(--color-green3);
}
#content .cb-layout--team .cb-layout__wrap .textobj p {
  line-height: 1;
}
@media screen and (max-width: 950px) {
  #content .cb-layout--team .cb-layout__wrap .textobj {
    grid-column: 3 / span 6;
    margin-top: 3rem;
  }
}
@media screen and (max-width: 600px) {
  #content .cb-layout--team .cb-layout__wrap .textobj {
    grid-column: 3 / span 8;
  }
}
#content .cb-layout--team .cb-layout__wrap .teamimg {
  grid-row: 1 / span 2;
  grid-column: 10 / span 4;
  position: relative;
  /* Container muss position:relative haben */
}
#content .cb-layout--team .cb-layout__wrap .teamimg > video {
  position: absolute;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
#content .cb-layout--team .cb-layout__wrap .teamimg > picture {
  position: absolute;
  inset: 0;
  /* top:0; right:0; bottom:0; left:0 */
  width: 100%;
  height: 100%;
  /* source lässt sich nicht stylen – bewusst weggelassen */
}
#content .cb-layout--team .cb-layout__wrap .teamimg > picture > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#content .cb-layout--team .cb-layout__wrap .teamimg img,
#content .cb-layout--team .cb-layout__wrap .teamimg picture,
#content .cb-layout--team .cb-layout__wrap .teamimg video {
  border-radius: var(--var-borderradius);
}
@media screen and (max-width: 600px) {
  #content .cb-layout--team .cb-layout__wrap .teamimg {
    position: absolute;
    width: 15rem;
    top: 5rem;
    right: 1rem;
    height: 15rem;
  }
}
#content .cb-layout--kontakt .cb-layout__wrap {
  display: grid;
  width: 100%;
  column-gap: var(--var-grid-gap);
  grid-template-columns: [m] var(--var-bodymargin) repeat(12, [c] 1fr) [m-end] var(--var-bodymargin);
}
#content .cb-layout--kontakt .cb-layout__wrap .inner {
  grid-column: 3 / span 11;
  padding: 22rem 0 9rem 0;
  position: relative;
  z-index: 1;
  border-radius: 4rem;
  background: var(--color-green3);
  /* Container muss position:relative haben */
}
#content .cb-layout--kontakt .cb-layout__wrap .inner > video {
  position: absolute;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
#content .cb-layout--kontakt .cb-layout__wrap .inner > picture {
  position: absolute;
  inset: 0;
  /* top:0; right:0; bottom:0; left:0 */
  width: 100%;
  height: 100%;
  /* source lässt sich nicht stylen – bewusst weggelassen */
}
#content .cb-layout--kontakt .cb-layout__wrap .inner > picture > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#content .cb-layout--kontakt .cb-layout__wrap .inner img,
#content .cb-layout--kontakt .cb-layout__wrap .inner picture,
#content .cb-layout--kontakt .cb-layout__wrap .inner video {
  border-radius: 4rem;
}
@media screen and (max-width: 1200px) {
  #content .cb-layout--kontakt .cb-layout__wrap .inner {
    padding: 17rem 0 8rem 0;
  }
}
@media screen and (max-width: 900px) {
  #content .cb-layout--kontakt .cb-layout__wrap .inner {
    padding: 14rem 0 8rem 0;
  }
}
@media screen and (max-width: 700px) {
  #content .cb-layout--kontakt .cb-layout__wrap .inner {
    grid-column: 3 / span 12;
    border-radius: 4rem 0 0 4rem;
  }
  #content .cb-layout--kontakt .cb-layout__wrap .inner img,
  #content .cb-layout--kontakt .cb-layout__wrap .inner picture,
  #content .cb-layout--kontakt .cb-layout__wrap .inner video {
    border-radius: 4rem 0 0 4rem;
  }
}
#content .cb-layout--kontakt .cb-layout__wrap h2 {
  position: relative;
  z-index: 10;
  color: var(--color-green1);
  margin-left: calc(100% / 10 * -1);
}
#content .cb-layout--kontakt .cb-layout__wrap .content {
  z-index: 10;
  margin-top: 8rem;
  margin-left: 10%;
  color: #fff;
  position: relative;
  font-size: var(--fs-lead);
  line-height: var(--fs-lead-lh);
  line-height: 1.34;
}
#content .cb-layout--kontakt .cb-layout__wrap .cm-button {
  width: 25rem;
  max-width: 80%;
  z-index: 10;
  margin-top: 8rem;
  padding-right: 4rem;
  box-sizing: border-box;
  --color-arrow: #fff;
  border-bottom-color: #fff;
  color: #fff;
  margin-left: 10%;
}
.cm-abstand {
  clear: left;
  position: relative;
  width: 100%;
  box-sizing: border-box;
}
.cm-abstand.cm-pt--row > img,
.cm-abstand.cm-pt--small > img,
.cm-abstand.paddingtop--row > img,
.cm-abstand.paddingtop--small > img {
  display: none;
}
#content div.cmartcols {
  width: 100%;
  clear: left;
  position: relative;
  min-height: 5em;
}
#content div.cmartcols .cmartcols__inner {
  display: flex;
  flex-wrap: wrap;
  gap: 7rem;
  justify-content: center;
}
#content div.cmartcols .cmartcols__item {
  position: relative;
}
#content div.cmartcols .cmartcols__item .textblockwrap {
  width: 100%;
  display: block;
  margin: 0;
}
#content div.cmartcols--1 .cmartcols__item,
#content div.cmartcols-- .cmartcols__item {
  width: 100%;
}
@media screen and (max-width: 1000px) {
  #content div.cmartcols--2 .cmartcols__inner {
    justify-content: space-around;
    gap: 1rem;
  }
}
#content div.cmartcols--2 div.textblock {
  position: relative;
  clear: left;
  width: 100%;
}
#content div.cmartcols--2.centerpadding .cmartcols__inner {
  gap: 20rem;
}
@media screen and (max-width: 1000px) {
  #content div.cmartcols--2.centerpadding .cmartcols__inner {
    gap: 3rem;
  }
}
#content div.cmartcols--2.centerpadding .cmartcols__inner .cmartcols__item.col2 {
  margin-top: 10rem;
}
@media screen and (max-width: 1000px) {
  #content div.cmartcols--2.centerpadding .cmartcols__inner .cmartcols__item.col2 {
    margin-top: 5rem;
  }
}
#content div.cmartcols--2 .cmartcols__item {
  width: 58rem;
}
@media screen and (max-width: 1000px) {
  #content div.cmartcols--2 .cmartcols__item {
    width: 70%;
  }
}
@media screen and (max-width: 1000px) {
  #content div.cmartcols--2 .cmartcols__item.col2 {
    margin-top: 5rem;
  }
}
@media screen and (max-width: 800px) {
  #content div.cmartcols--3 .cmartcols__inner {
    justify-content: space-around;
    gap: 1rem;
  }
}
#content div.cmartcols--3 .cmartcols__item {
  width: 25%;
}
@media screen and (max-width: 1200px) {
  #content div.cmartcols--3 .cmartcols__item.col1 {
    width: 80%;
  }
  #content div.cmartcols--3 .cmartcols__item.col2,
  #content div.cmartcols--3 .cmartcols__item.col3 {
    width: 40%;
    margin-top: 5rem;
  }
}
@media screen and (max-width: 800px) {
  #content div.cmartcols--3 .cmartcols__item.col1,
  #content div.cmartcols--3 .cmartcols__item.col2,
  #content div.cmartcols--3 .cmartcols__item.col3 {
    width: 70%;
    margin-top: 4rem;
  }
}
.cm-slideshow {
  width: 100%;
  position: relative;
}
.cm-slideshow .swiper-outter {
  position: relative;
  display: grid;
  width: 100%;
  column-gap: var(--var-grid-gap);
  grid-template-columns: [m] var(--var-bodymargin) repeat(12, [c] 1fr) [m-end] var(--var-bodymargin);
}
.cm-slideshow div.swiper {
  grid-column: 3 / span 10;
}
@media screen and (max-width: 1600px) {
  .cm-slideshow div.swiper {
    grid-column: 3 / span 11;
  }
}
.cm-slideshow div.swiper .swiper-slide {
  border-radius: clamp(2rem, 3rem, 3.6rem);
}
.cm-slideshow div.swiper .swiper-slide video,
.cm-slideshow div.swiper .swiper-slide picture,
.cm-slideshow div.swiper .swiper-slide img {
  border-radius: clamp(2rem, 3rem, 3.6rem);
}
.cmart .cm-slideshow {
  min-height: 10rem;
}
.cmartbge {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.cmartbge.cmartbge--picture {
  background-repeat: no-repeat;
}
.cmartbge {
  z-index: -1;
}
.sonnegg-bg-skier-dunkel {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  --logocolor: #000;
  opacity: 0.2;
  -ms-filter: "alpha(opacity=calc(100 * @wert))";
  -khtml-opacity: 0.2;
  -moz-opacity: 0.2;
}
.sonnegg-bg-skier-dunkel svg {
  width: 50%;
  position: absolute;
  height: auto;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
#content .tabs {
  clear: left;
  position: relative;
  width: 100%;
}
#content .tabs ul.listinfos.tabs {
  margin-bottom: 0;
  position: absolute;
  z-index: 20;
  width: auto;
  text-align: center;
  left: 50%;
  top: -3em;
  transform: translate(-50%, 0);
}
#content .tabs ul.listinfos.tabs li.infobox {
  position: relative;
  clear: none;
  width: auto;
  display: inline-block;
}
#content .tabs ul.listinfos.tabs li.infobox + li {
  margin-left: 1rem;
}
#content .tabs ul.listinfos.tabs li.infobox a.infoboxtitle,
#content .tabs ul.listinfos.tabs li.cms_add_item {
  display: inline-block;
  font-size: 1.8rem !important;
  line-height: normal;
  padding: 0.7rem 0.9rem !important;
  background: transparent;
  color: #fff;
  background: var(--cmart-color);
  border-radius: var(--cmart-borderradius);
  text-decoration: none;
  clear: none;
}
#content .tabs ul.listinfos.tabs li.cms_add_item {
  margin-top: 0;
  width: auto;
}
#content .tabs ul.listinfos.tabs li.infobox a.infoboxtitle:hover,
#content .tabs ul.listinfos.tabs li.cms_add_item:hover {
  color: #fff;
  background: var(--cmart-color-dark);
}
#content .tabs ul.listinfos.tabs li.infobox:hover .cms_editbox .cms_editbox_title {
  display: block;
}
#content .tabs ul.listinfos.tabs li.infobox.active a.infoboxtitle {
  border: 2px solid var(--cmart-color);
  background: transparent;
}
#content .tabs div.tab {
  width: 100%;
  box-sizing: border-box;
  padding: 20px;
  position: relative;
  clear: left;
  display: none;
  min-height: 10em;
}
#content .tabs div.tab li.cmart_positionselector {
  width: 80%;
  margin: 1rem auto;
}
#content .tabs div.tab.active {
  display: block;
}
#content .tabs div.infobox.tabnav .cms_editbox .cms_editbox_title {
  display: none;
}
#content .tabs .bgimage {
  top: 0;
  left: 0;
}
#content .tabs--default .tabsnavigation {
  position: absolute;
  top: 5vh;
  left: 0;
  width: 100%;
  text-align: center;
  z-index: 20;
}
#content .tabs--default .tabsnavigation > div {
  border: 1px solid var(--color-accent);
  border-radius: 11px;
  padding: 3px;
  background: var(--color-darkred);
  max-width: 95%;
  box-sizing: border-box;
}
#content .tabs--default .tabsnavigation div,
#content .tabs--default .tabsnavigation a {
  display: inline-flex;
  position: relative;
}
#content .tabs--default .tabsnavigation a {
  font-size: var(--fs-eyebrow);
  font-weight: var(--weight-regular);
  line-height: var(--fs-eyebrow-lh);
  text-decoration: underline;
  text-decoration: none;
  border-radius: 8px;
  color: var(--color-accent);
  padding: 1rem 4rem;
}
@media screen and (max-width: 1000px) {
  #content .tabs--default .tabsnavigation a {
    padding: 1rem 2rem;
  }
}
#content .tabs--default .tabsnavigation a:hover {
  text-decoration: none;
}
#content .tabs--default .tabsnavigation a:not(.active):hover {
  background: rgba(0, 0, 0, 0.2);
}
#content .tabs--default .tabsnavigation a.active {
  background: var(--color-accent);
  color: var(--color-darkred);
}
#content .tabs--default div.tab {
  position: relative;
  width: 100%;
  padding: 0;
}
#content .tabs--default div.tab .tab__content {
  width: 100%;
  clear: left;
}
#content .tabs--default div.tab .tab__content .tabcontentbox {
  width: 100%;
  box-sizing: border-box;
}
#content .tabs--default div.tab .tab__content .cols_2_normal .contentbox {
  padding: 0 3em;
}
#content .template_inner .tabs .innercenter {
  width: 100%;
  margin: 0;
}
#content ul.accordion,
.accordions {
  position: relative;
  width: 80%;
  margin: 0 auto;
  max-width: 100rem;
}
#content ul.accordion .accordion,
.accordions .accordion {
  position: relative;
  clear: left;
  display: block;
  box-sizing: border-box;
  transition: 0.2s all ease;
}
#content ul.accordion .accordion + .accordion,
.accordions .accordion + .accordion {
  margin-top: 2rem;
}
#content ul.accordion li.accordion:not(.active):hover,
.accordions li.accordion:not(.active):hover {
  background: #f6f5f5;
}
#content ul.accordion .accordion__title,
.accordions .accordion__title,
#content ul.accordion .accordiontitle,
.accordions .accordiontitle {
  display: block;
  width: 100%;
  box-sizing: border-box;
  text-decoration: none;
  padding: 2rem 7rem 2rem 3rem;
  position: relative;
  font-weight: normal;
  color: var(--color-black);
  line-height: 100%;
  clear: left;
}
#content ul.accordion .accordion__title .icon,
.accordions .accordion__title .icon,
#content ul.accordion .accordiontitle .icon,
.accordions .accordiontitle .icon {
  position: absolute;
  top: 50%;
  right: 3rem;
  line-height: 100%;
  transform: translateY(-50%);
  float: right;
  font-size: 0.4em;
  color: var(--color-accent);
}
#content ul.accordion .accordion__title strong,
.accordions .accordion__title strong,
#content ul.accordion .accordiontitle strong,
.accordions .accordiontitle strong {
  width: 80%;
  font-weight: normal;
  line-height: normal;
}
#content ul.accordion .accordion__content,
.accordions .accordion__content,
#content ul.accordion .accordioncontent,
.accordions .accordioncontent {
  display: none;
  clear: left;
  width: 100%;
  box-sizing: border-box;
  padding: 0 3rem 3rem 3rem;
}
#content ul.accordion .accordion__content .textblockwrap,
.accordions .accordion__content .textblockwrap,
#content ul.accordion .accordioncontent .textblockwrap,
.accordions .accordioncontent .textblockwrap {
  display: block;
}
#content ul.accordion .accordion__content table.roomrateslist,
.accordions .accordion__content table.roomrateslist,
#content ul.accordion .accordioncontent table.roomrateslist,
.accordions .accordioncontent table.roomrateslist {
  margin: 0;
}
#content ul.accordion .accordion__content,
.accordions .accordion__content {
  min-height: 0;
}
#content ul.accordion .accordion.active,
.accordions .accordion.active {
  background: #f5f4f4;
}
#content ul.accordion .accordion.active .accordion__title,
.accordions .accordion.active .accordion__title,
#content ul.accordion .accordion.active .accordiontitle,
.accordions .accordion.active .accordiontitle {
  background: transparent;
}
#content ul.accordion .accordion.active .accordion__title .accordion__icon,
.accordions .accordion.active .accordion__title .accordion__icon,
#content ul.accordion .accordion.active .accordiontitle .accordion__icon,
.accordions .accordion.active .accordiontitle .accordion__icon {
  transform: translateY(-50%) rotate(180deg);
}
#content ul.accordion .accordion.active .accordion__title:hover,
.accordions .accordion.active .accordion__title:hover,
#content ul.accordion .accordion.active .accordiontitle:hover,
.accordions .accordion.active .accordiontitle:hover {
  background: transparent;
}
#content ul.accordion .accordion.active .accordion__content,
.accordions .accordion.active .accordion__content,
#content ul.accordion .accordion.active .accordioncontent,
.accordions .accordion.active .accordioncontent {
  display: block;
}
li.infobox.accordion {
  border: 1px solid var(--color-black);
  border-radius: var(--var-borderradius);
}
.bg-- li.infobox.accordion {
  border: 1px solid var(--color-black);
}
#content .bg--dark ul.accordion li.infobox.accordion,
#content .bg--accent ul.accordion li.infobox.accordion,
#content .bg--dark .accordions li.infobox.accordion,
#content .bg--accent .accordions li.infobox.accordion {
  border-color: var(--color-accent-light);
}
#content .bg--dark ul.accordion li.infobox.accordion:not(.active):hover,
#content .bg--accent ul.accordion li.infobox.accordion:not(.active):hover,
#content .bg--dark .accordions li.infobox.accordion:not(.active):hover,
#content .bg--accent .accordions li.infobox.accordion:not(.active):hover {
  background: var(--color-accent-dark);
}
#content .bg--dark ul.accordion li.infobox.accordion .accordion__title,
#content .bg--accent ul.accordion li.infobox.accordion .accordion__title,
#content .bg--dark .accordions li.infobox.accordion .accordion__title,
#content .bg--accent .accordions li.infobox.accordion .accordion__title {
  color: #fff;
}
#content .bg--dark ul.accordion li.infobox.accordion .accordion__icon,
#content .bg--accent ul.accordion li.infobox.accordion .accordion__icon,
#content .bg--dark .accordions li.infobox.accordion .accordion__icon,
#content .bg--accent .accordions li.infobox.accordion .accordion__icon {
  color: var(--color-accent-light);
}
#content .bg--dark ul.accordion li.infobox.accordion:hover .accordion__icon,
#content .bg--accent ul.accordion li.infobox.accordion:hover .accordion__icon,
#content .bg--dark .accordions li.infobox.accordion:hover .accordion__icon,
#content .bg--accent .accordions li.infobox.accordion:hover .accordion__icon {
  color: #fff;
}
#content .bg--dark ul.accordion li.infobox.accordion.active,
#content .bg--accent ul.accordion li.infobox.accordion.active,
#content .bg--dark .accordions li.infobox.accordion.active,
#content .bg--accent .accordions li.infobox.accordion.active {
  background: var(--color-accent-dark);
}
#content .bg--dark ul.accordion li.infobox.accordion.active p,
#content .bg--accent ul.accordion li.infobox.accordion.active p,
#content .bg--dark .accordions li.infobox.accordion.active p,
#content .bg--accent .accordions li.infobox.accordion.active p,
#content .bg--dark ul.accordion li.infobox.accordion.active li,
#content .bg--accent ul.accordion li.infobox.accordion.active li,
#content .bg--dark .accordions li.infobox.accordion.active li,
#content .bg--accent .accordions li.infobox.accordion.active li,
#content .bg--dark ul.accordion li.infobox.accordion.active h2,
#content .bg--accent ul.accordion li.infobox.accordion.active h2,
#content .bg--dark .accordions li.infobox.accordion.active h2,
#content .bg--accent .accordions li.infobox.accordion.active h2,
#content .bg--dark ul.accordion li.infobox.accordion.active h3,
#content .bg--accent ul.accordion li.infobox.accordion.active h3,
#content .bg--dark .accordions li.infobox.accordion.active h3,
#content .bg--accent .accordions li.infobox.accordion.active h3 {
  color: var(--color-lightgrey);
}
#content .bg--lightgrey ul.accordion li.infobox.accordion:not(.active):hover,
#content .bg--hellbeige ul.accordion li.infobox.accordion:not(.active):hover,
#content .bg--lightgrey .accordions li.infobox.accordion:not(.active):hover,
#content .bg--hellbeige .accordions li.infobox.accordion:not(.active):hover {
  background: #fff;
}
#content .bg--lightgrey ul.accordion li.infobox.accordion.active,
#content .bg--hellbeige ul.accordion li.infobox.accordion.active,
#content .bg--lightgrey .accordions li.infobox.accordion.active,
#content .bg--hellbeige .accordions li.infobox.accordion.active {
  background: #fff;
}
ul.listinfos.slider li.infobox {
  position: relative;
  clear: left;
  width: 100%;
  box-sizing: border-box;
  padding: 4em;
  border: 1px solid #ddd;
  margin: 0 0 1em 0;
}
ul.listinfos.slider {
  z-index: 100;
}
ul.listinfos.slider li.infobox {
  padding: 2em;
  box-sizing: border-box;
  position: relative;
  border-bottom: 1px solid #ddd;
  margin-bottom: 2em;
  width: 100%;
  clear: left;
  background: #fff;
}
ul.listinfos.slider li.infobox p {
  font-size: 1.5em;
  line-height: 130%;
}
ul.listinfos.slider li.infobox .picconnection {
  position: relative;
}
li.content.slider > div.cms_editbox {
  top: 50% !important;
}
li.content.slider .cmart_list_editor {
  padding: 15em 5em;
  background: #444;
}
ul.listpictures {
  width: 100%;
  position: relative;
  text-align: center;
}
ul.listpictures li {
  position: relative;
  display: inline-block;
  float: none;
  width: 32%;
  margin: 0.5%;
  height: 32em;
}
@media screen and (max-width: 1000px) {
  ul.listpictures li {
    height: 25em;
  }
}
@media screen and (max-width: 700px) {
  ul.listpictures li {
    height: 20em;
    width: 48%;
  }
}
ul.listpictures li a.lightbox {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
}
ul.listpictures li a.lightbox img {
  position: relative;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: 0.4s all ease;
}
ul.listpictures li a.lightbox .title {
  display: none;
}
ul.listpictures li a.lightbox:hover img {
  opacity: 0.5;
  -ms-filter: "alpha(opacity=calc(100 * @wert))";
  -khtml-opacity: 0.5;
  -moz-opacity: 0.5;
}
ul.listpictures li.gallerypicture a.lightbox {
  background: #232222;
}
ul.listpictures li.gallerypicture a.lightbox img.gallpicture {
  transition: opacity 0.2s ease;
  -moz-transition: opacity 0.2s ease;
  /* Firefox 4 */
  -webkit-transition: opacity 0.2s ease;
  /* Safari and Chrome */
  -o-transition: opacity 0.2s ease;
  /* Opera */
}
ul.listpictures li.gallerypicture a.lightbox .zoomer {
  display: none;
}
ul.listpictures li.gallerypicture a.lightbox:hover img.gallpicture {
  opacity: 0.3;
  -ms-filter: "alpha(opacity=calc(100 * @wert))";
  -khtml-opacity: 0.3;
  -moz-opacity: 0.3;
}
ul.listpictures li.gallerypicture a.lightbox:hover .zoomer {
  display: block;
  color: #fff;
  font-size: 2em;
}
div.singlepicture,
a.singlepicture {
  width: 100%;
  clear: left;
  min-height: 8em;
  position: relative;
  display: block;
}
div.singlepicture span.title,
a.singlepicture span.title {
  display: none;
}
div.singlepicture > a.lightbox,
a.singlepicture > a.lightbox,
div.singlepicture > a.zmartbox,
a.singlepicture > a.zmartbox {
  width: 100%;
}
div.singlepicture img.img,
a.singlepicture img.img,
div.singlepicture picture,
a.singlepicture picture,
div.singlepicture picture img,
a.singlepicture picture img,
div.singlepicture picture source,
a.singlepicture picture source,
div.singlepicture video,
a.singlepicture video,
div.singlepicture video source,
a.singlepicture video source {
  transition: 0.15s all ease-in-out;
  -moz-transition: 0.15s all ease-in-out;
  /* Firefox 4 */
  -webkit-transition: 0.15s all ease-in-out;
  /* Safari and Chrome */
  -o-transition: 0.15s all ease-in-out;
  /* Opera */
  max-width: 100%;
}
div.singlepicture.centering,
a.singlepicture.centering {
  text-align: center;
}
div.singlepicture.centering img.img,
a.singlepicture.centering img.img,
div.singlepicture.centering picture,
a.singlepicture.centering picture,
div.singlepicture.centering picture img,
a.singlepicture.centering picture img,
div.singlepicture.centering picture source,
a.singlepicture.centering picture source,
div.singlepicture.centering video,
a.singlepicture.centering video,
div.singlepicture.centering video source,
a.singlepicture.centering video source {
  float: none;
  text-align: center;
}
div.singlepicture span.image,
a.singlepicture span.image {
  position: relative;
  width: 100%;
  display: block;
}
div.singlepicture.width100 img.img,
a.singlepicture.width100 img.img,
div.singlepicture.width100 video,
a.singlepicture.width100 video,
div.singlepicture.width100 picture,
a.singlepicture.width100 picture {
  width: 100%;
}
div.singlepicture.width100 img.img img,
a.singlepicture.width100 img.img img,
div.singlepicture.width100 video img,
a.singlepicture.width100 video img,
div.singlepicture.width100 picture img,
a.singlepicture.width100 picture img,
div.singlepicture.width100 img.img source,
a.singlepicture.width100 img.img source,
div.singlepicture.width100 video source,
a.singlepicture.width100 video source,
div.singlepicture.width100 picture source,
a.singlepicture.width100 picture source {
  width: 100%;
}
a.singlepicture {
  min-height: 8em;
}
a.singlepicture.noshadow {
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}
a.singlepicture.centering {
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.cmart.editing .imageslider {
  min-height: 150px;
}
.listediting .swiper {
  display: none !important;
}
.cm-existingcontent .cmart-info {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
body.cmart.editing .cm-existingcontent::before {
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 55;
  content: ' ';
  background: var(--cmart-color);
  opacity: 0.1;
  -ms-filter: "alpha(opacity=calc(100 * @wert))";
  -khtml-opacity: 0.1;
  -moz-opacity: 0.1;
}
div.cm-reviews {
  position: relative;
  z-index: 10;
  display: grid;
  width: 100%;
  column-gap: var(--var-grid-gap);
  grid-template-columns: [m] var(--var-bodymargin) repeat(12, [c] 1fr) [m-end] var(--var-bodymargin);
}
div.cm-reviews .cm-reviews__headline {
  grid-column: 3 / span 12;
}
div.cm-reviews .cm-reviews__headline .cm-eyebrow {
  color: var(--color-accent);
}
div.cm-reviews .cm-reviews__headline h2 {
  text-indent: -1em;
  margin: var(--var-row-gap) 0;
}
@media screen and (max-width: 600px) {
  div.cm-reviews .cm-reviews__headline h2 {
    text-indent: -0.5em;
  }
}
div.cm-reviews .cm-reviews__text {
  grid-column: 3 / span 3;
}
div.cm-reviews .cm-reviews__slider {
  grid-column: 7 / span 8;
}
@media screen and (max-width: 860px) {
  div.cm-reviews .cm-reviews__headline {
    grid-column: 2 / span 12;
  }
  div.cm-reviews .cm-reviews__svg {
    grid-column: 2 / span 1;
  }
  div.cm-reviews .cm-reviews__text {
    grid-column: 3 / span 4;
  }
}
@media screen and (max-width: 600px) {
  div.cm-reviews .cm-reviews__headline {
    grid-column: 2 / span 12;
  }
  div.cm-reviews .cm-reviews__svg {
    grid-column: 3 / span 2;
  }
  div.cm-reviews .cm-reviews__text {
    grid-column: 3 / span 8;
  }
  div.cm-reviews .cm-reviews__slider {
    margin-top: 5rem;
    grid-column: 2 / span 13;
  }
}
div.cm-reviews .swiper-slide {
  margin-right: 3rem;
  width: 36rem;
  max-width: 90%;
  box-sizing: border-box;
  padding: clamp(1rem, 2.1rem, 3.6rem);
  border: 1px solid var(--color-accent);
  border-radius: var(--var-borderradius);
}
@media screen and (max-width: 1000px) {
  div.cm-reviews .swiper-slide {
    width: 33rem;
  }
}
@media screen and (max-width: 600px) {
  div.cm-reviews .swiper-slide {
    width: 28rem;
  }
}
div.cm-reviews .swiper-slide .content .review__stars,
div.cm-reviews .swiper-slide .content .review__source {
  display: inline-block;
}
div.cm-reviews .swiper-slide .content .review__text {
  margin-bottom: 2rem;
  color: var(--color-accent);
  font-family: var(--font-serif);
  font-size: var(--fs-body);
  line-height: var(--fs-body-lh);
  font-style: italic;
}
div.cm-reviews .swiper-slide .content .review__stars {
  margin-right: 2rem;
}
div.cm-reviews .swiper-slide:nth-child(2n) {
  margin-top: -5vh;
}
div.cm-reviews .swiper-slide:nth-child(3n) {
  margin-top: 3vh;
}
div.cm-reviews .swiper-arrow {
  z-index: 30;
}
div.cm-reviews .reviewswiper {
  position: relative;
}
div.cm-reviews .reviewswiper .swiper {
  margin-top: -5vh;
  padding-top: 5vh;
}
div.cm-reviews .slidearrows {
  width: 12rem;
  left: -14rem;
  position: absolute;
  bottom: 0;
}
div.cm-reviews .slidearrows > div {
  font-size: 1.8rem;
  color: var(--color-accent);
  cursor: pointer;
  line-height: normal;
  display: inline-block;
  padding: 2rem;
}
body.compensate-for-scrollbar {
  overflow: hidden;
}
.fancybox-active {
  height: auto;
}
.fancybox-is-hidden {
  left: -9999px;
  margin: 0;
  position: absolute !important;
  top: -9999px;
  visibility: hidden;
}
.fancybox-container {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
  height: 100%;
  left: 0;
  position: fixed;
  -webkit-tap-highlight-color: transparent;
  top: 0;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  width: 100%;
  z-index: 99992;
}
.fancybox-container * {
  box-sizing: border-box;
}
.fancybox-outer,
.fancybox-inner,
.fancybox-bg,
.fancybox-stage {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}
.fancybox-outer {
  -webkit-overflow-scrolling: touch;
  overflow-y: auto;
}
.fancybox-bg {
  background: #232222;
  opacity: 0;
  transition-duration: inherit;
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.47, 0, 0.74, 0.71);
}
.fancybox-is-open .fancybox-bg {
  opacity: 0.87;
  transition-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1);
}
.fancybox-infobar,
.fancybox-toolbar,
.fancybox-caption,
.fancybox-navigation .fancybox-button {
  direction: ltr;
  opacity: 0;
  position: absolute;
  transition: opacity 0.25s, visibility 0s linear 0.25s;
  visibility: hidden;
  z-index: 99997;
}
.fancybox-show-infobar .fancybox-infobar,
.fancybox-show-toolbar .fancybox-toolbar,
.fancybox-show-caption .fancybox-caption,
.fancybox-show-nav .fancybox-navigation .fancybox-button {
  opacity: 1;
  transition: opacity 0.25s, visibility 0s;
  visibility: visible;
}
.fancybox-infobar {
  color: #ccc;
  font-size: 13px;
  -webkit-font-smoothing: subpixel-antialiased;
  height: 44px;
  left: 0;
  line-height: 44px;
  min-width: 44px;
  mix-blend-mode: difference;
  padding: 0 10px;
  pointer-events: none;
  text-align: center;
  top: 0;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.fancybox-toolbar {
  right: 0;
  top: 0;
}
.fancybox-stage {
  direction: ltr;
  overflow: visible;
  -webkit-transform: translate3d(0, 0, 0);
  z-index: 99994;
}
.fancybox-is-open .fancybox-stage {
  overflow: hidden;
}
.fancybox-slide {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  display: none;
  height: 100%;
  left: 0;
  outline: none;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  padding: 44px;
  position: absolute;
  text-align: center;
  top: 0;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  white-space: normal;
  width: 100%;
  z-index: 99994;
}
.fancybox-slide::before {
  content: '';
  display: inline-block;
  height: 100%;
  margin-right: -0.25em;
  vertical-align: middle;
  width: 0;
}
.fancybox-is-sliding .fancybox-slide,
.fancybox-slide--previous,
.fancybox-slide--current,
.fancybox-slide--next {
  display: block;
}
.fancybox-slide--next {
  z-index: 99995;
}
.fancybox-slide--image {
  overflow: visible;
  padding: 44px 0;
}
.fancybox-slide--image::before {
  display: none;
}
.fancybox-slide--html {
  padding: 6px 6px 0 6px;
}
.fancybox-slide--iframe {
  padding: 44px 44px 0;
}
.fancybox-content {
  background: #fff;
  display: inline-block;
  margin: 0 0 6px 0;
  max-width: 100%;
  overflow: auto;
  padding: 0;
  padding: 24px;
  position: relative;
  text-align: left;
  vertical-align: middle;
}
.fancybox-slide--image .fancybox-content {
  -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.14, 1);
  animation-timing-function: cubic-bezier(0.5, 0, 0.14, 1);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  background: transparent;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  left: 0;
  margin: 0;
  max-width: none;
  overflow: visible;
  padding: 0;
  position: absolute;
  top: 0;
  -webkit-transform-origin: top left;
  -ms-transform-origin: top left;
  transform-origin: top left;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  z-index: 99995;
}
.fancybox-can-zoomOut .fancybox-content {
  cursor: -webkit-zoom-out;
  cursor: zoom-out;
}
.fancybox-can-zoomIn .fancybox-content {
  cursor: -webkit-zoom-in;
  cursor: zoom-in;
}
.fancybox-can-drag .fancybox-content {
  cursor: -webkit-grab;
  cursor: grab;
}
.fancybox-is-dragging .fancybox-content {
  cursor: -webkit-grabbing;
  cursor: grabbing;
}
.fancybox-container [data-selectable='true'] {
  cursor: text;
}
.fancybox-image,
.fancybox-spaceball {
  background: transparent;
  border: 0;
  height: 100%;
  left: 0;
  margin: 0;
  max-height: none;
  max-width: none;
  padding: 0;
  position: absolute;
  top: 0;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  width: 100%;
}
.fancybox-spaceball {
  z-index: 1;
}
.fancybox-slide--html .fancybox-content {
  margin-bottom: 6px;
}
.fancybox-slide--video .fancybox-content,
.fancybox-slide--map .fancybox-content,
.fancybox-slide--iframe .fancybox-content {
  height: 100%;
  margin: 0;
  overflow: visible;
  padding: 0;
  width: 100%;
}
.fancybox-slide--video .fancybox-content {
  background: #000;
}
.fancybox-slide--map .fancybox-content {
  background: #e5e3df;
}
.fancybox-slide--iframe .fancybox-content {
  background: #fff;
  height: 92%;
  margin-bottom: 44px;
  width: 99%;
}
.fancybox-video,
.fancybox-iframe {
  background: transparent;
  border: 0;
  height: 100%;
  margin: 0;
  overflow: hidden;
  padding: 0;
  width: 100%;
}
.fancybox-iframe {
  vertical-align: top;
}
.fancybox-error {
  background: #fff;
  cursor: default;
  max-width: 400px;
  padding: 40px;
  width: 100%;
}
.fancybox-error p {
  color: #444;
  font-size: 16px;
  line-height: 20px;
  margin: 0;
  padding: 0;
}
/* Buttons */
.fancybox-button {
  background: rgba(30, 30, 30, 0.6);
  border: 0;
  border-radius: 0;
  cursor: pointer;
  display: inline-block;
  height: 44px;
  margin: 0;
  outline: none;
  padding: 10px;
  transition: color 0.2s;
  vertical-align: top;
  width: 44px;
}
.fancybox-button,
.fancybox-button:visited,
.fancybox-button:link {
  color: #ccc;
}
.fancybox-button:focus,
.fancybox-button:hover {
  color: #fff;
}
.fancybox-button.disabled,
.fancybox-button.disabled:hover,
.fancybox-button[disabled],
.fancybox-button[disabled]:hover {
  color: #888;
  cursor: default;
}
.fancybox-button svg {
  display: block;
  overflow: visible;
  position: relative;
  shape-rendering: geometricPrecision;
}
.fancybox-button svg path {
  fill: transparent;
  stroke: currentColor;
  stroke-linejoin: round;
  stroke-width: 3;
}
.fancybox-button--play svg path:nth-child(2) {
  display: none;
}
.fancybox-button--pause svg path:nth-child(1) {
  display: none;
}
.fancybox-button--play svg path,
.fancybox-button--share svg path,
.fancybox-button--thumbs svg path {
  fill: currentColor;
}
.fancybox-button--share svg path {
  stroke-width: 1;
}
/* Navigation arrows */
.fancybox-navigation .fancybox-button {
  height: 70px;
  opacity: 0;
  padding: 6px;
  position: absolute;
  top: 50%;
  width: 70px;
}
.fancybox-navigation svg {
  width: 50%;
  margin-left: 21%;
  margin-top: 21%;
}
.fancybox-show-nav .fancybox-navigation .fancybox-button {
  transition: opacity 0.25s, visibility 0s, color 0.25s;
}
.fancybox-navigation .fancybox-button::after {
  content: '';
  left: -35px;
  padding: 50px;
  position: absolute;
  top: -35px;
}
.fancybox-navigation .fancybox-button--arrow_left {
  background: transparent;
  left: 6px;
}
.fancybox-navigation .fancybox-button--arrow_right {
  background: transparent;
  right: 6px;
}
/* Close button on the top right corner of html content */
.fancybox-close-small {
  background: transparent;
  border: 0;
  border-radius: 0;
  color: #555;
  cursor: pointer;
  height: 44px;
  margin: 0;
  padding: 6px;
  position: absolute;
  right: 0;
  top: 0;
  width: 44px;
  z-index: 10;
}
.fancybox-close-small svg {
  fill: transparent;
  opacity: 0.8;
  stroke: currentColor;
  stroke-width: 1.5;
  transition: stroke 0.1s;
}
.fancybox-close-small:focus {
  outline: none;
}
.fancybox-close-small:hover svg {
  opacity: 1;
}
.fancybox-slide--image .fancybox-close-small,
.fancybox-slide--video .fancybox-close-small,
.fancybox-slide--iframe .fancybox-close-small {
  color: #ccc;
  padding: 5px;
  right: -12px;
  top: -44px;
}
.fancybox-slide--image .fancybox-close-small:hover svg,
.fancybox-slide--video .fancybox-close-small:hover svg,
.fancybox-slide--iframe .fancybox-close-small:hover svg {
  background: transparent;
  color: #fff;
}
.fancybox-is-scaling .fancybox-close-small,
.fancybox-is-zoomable.fancybox-can-drag .fancybox-close-small {
  display: none;
}
/* Caption */
.fancybox-caption {
  bottom: 0;
  color: #fff;
  font-size: 14px;
  font-weight: 400;
  left: 0;
  line-height: 1.5;
  padding: 25px 44px 25px 44px;
  right: 0;
}
.fancybox-caption::before {
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAEtCAQAAABjBcL7AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAHRJREFUKM+Vk8EOgDAIQ0vj/3+xBw8qIZZueFnIKC90MCAI8DlrkHGeqqGIU6lVigrBtpCWqeRWoHDNqs0F7VNVBVxmHRlvoVqjaYkdnDIaivH2HqZ5+oZj3JUzWB+cOz4G48Bg+tsJ/tqu4dLC/4Xb+0GcF5BwBC0AA53qAAAAAElFTkSuQmCC);
  background-repeat: repeat-x;
  background-size: contain;
  bottom: 0;
  content: '';
  display: block;
  left: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: -25px;
  z-index: -1;
}
.fancybox-caption::after {
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
  content: '';
  display: block;
  left: 44px;
  position: absolute;
  right: 44px;
  top: 0;
}
.fancybox-caption a,
.fancybox-caption a:link,
.fancybox-caption a:visited {
  color: #ccc;
  text-decoration: none;
}
.fancybox-caption a:hover {
  color: #fff;
  text-decoration: underline;
}
/* Loading indicator */
.fancybox-loading {
  -webkit-animation: fancybox-rotate 1s infinite linear;
  animation: fancybox-rotate 1s infinite linear;
  background: transparent;
  border: 5px solid rgba(100, 100, 100, 0.5);
  border-radius: 100%;
  border-top-color: #fff;
  height: 60px;
  left: 50%;
  margin: -30px 0 0 -30px;
  opacity: 0.6;
  padding: 0;
  position: absolute;
  top: 50%;
  width: 60px;
  z-index: 99999;
}
.fancybox-loading.fancybox-loading1 {
  margin: -30px 0 0 -30px;
}
@-webkit-keyframes fancybox-rotate {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
@keyframes fancybox-rotate {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
/* Transition effects */
.fancybox-animated {
  transition-timing-function: cubic-bezier(0, 0, 0.25, 1);
}
/* transitionEffect: slide */
.fancybox-fx-slide.fancybox-slide--previous {
  opacity: 0;
  -webkit-transform: translate3d(-100%, 0, 0);
  transform: translate3d(-100%, 0, 0);
}
.fancybox-fx-slide.fancybox-slide--next {
  opacity: 0;
  -webkit-transform: translate3d(100%, 0, 0);
  transform: translate3d(100%, 0, 0);
}
.fancybox-fx-slide.fancybox-slide--current {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}
/* transitionEffect: fade */
.fancybox-fx-fade.fancybox-slide--previous,
.fancybox-fx-fade.fancybox-slide--next {
  opacity: 0;
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}
.fancybox-fx-fade.fancybox-slide--current {
  opacity: 1;
}
/* transitionEffect: zoom-in-out */
.fancybox-fx-zoom-in-out.fancybox-slide--previous {
  opacity: 0;
  -webkit-transform: scale3d(1.5, 1.5, 1.5);
  transform: scale3d(1.5, 1.5, 1.5);
}
.fancybox-fx-zoom-in-out.fancybox-slide--next {
  opacity: 0;
  -webkit-transform: scale3d(0.5, 0.5, 0.5);
  transform: scale3d(0.5, 0.5, 0.5);
}
.fancybox-fx-zoom-in-out.fancybox-slide--current {
  opacity: 1;
  -webkit-transform: scale3d(1, 1, 1);
  transform: scale3d(1, 1, 1);
}
/* transitionEffect: rotate */
.fancybox-fx-rotate.fancybox-slide--previous {
  opacity: 0;
  -webkit-transform: rotate(-360deg);
  -ms-transform: rotate(-360deg);
  transform: rotate(-360deg);
}
.fancybox-fx-rotate.fancybox-slide--next {
  opacity: 0;
  -webkit-transform: rotate(360deg);
  -ms-transform: rotate(360deg);
  transform: rotate(360deg);
}
.fancybox-fx-rotate.fancybox-slide--current {
  opacity: 1;
  -webkit-transform: rotate(0deg);
  -ms-transform: rotate(0deg);
  transform: rotate(0deg);
}
/* transitionEffect: circular */
.fancybox-fx-circular.fancybox-slide--previous {
  opacity: 0;
  -webkit-transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0);
  transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0);
}
.fancybox-fx-circular.fancybox-slide--next {
  opacity: 0;
  -webkit-transform: scale3d(0, 0, 0) translate3d(100%, 0, 0);
  transform: scale3d(0, 0, 0) translate3d(100%, 0, 0);
}
.fancybox-fx-circular.fancybox-slide--current {
  opacity: 1;
  -webkit-transform: scale3d(1, 1, 1) translate3d(0, 0, 0);
  transform: scale3d(1, 1, 1) translate3d(0, 0, 0);
}
/* transitionEffect: tube */
.fancybox-fx-tube.fancybox-slide--previous {
  -webkit-transform: translate3d(-100%, 0, 0) scale(0.1) skew(-10deg);
  transform: translate3d(-100%, 0, 0) scale(0.1) skew(-10deg);
}
.fancybox-fx-tube.fancybox-slide--next {
  -webkit-transform: translate3d(100%, 0, 0) scale(0.1) skew(10deg);
  transform: translate3d(100%, 0, 0) scale(0.1) skew(10deg);
}
.fancybox-fx-tube.fancybox-slide--current {
  -webkit-transform: translate3d(0, 0, 0) scale(1);
  transform: translate3d(0, 0, 0) scale(1);
}
/* Share */
.fancybox-share {
  background: #f4f4f4;
  border-radius: 3px;
  max-width: 90%;
  padding: 30px;
  text-align: center;
}
.fancybox-share h1 {
  color: #222;
  font-size: 35px;
  font-weight: 700;
  margin: 0 0 20px 0;
}
.fancybox-share p {
  margin: 0;
  padding: 0;
}
.fancybox-share__button {
  border: 0;
  border-radius: 3px;
  display: inline-block;
  font-size: 14px;
  font-weight: 700;
  line-height: 40px;
  margin: 0 5px 10px 5px;
  min-width: 130px;
  padding: 0 15px;
  text-decoration: none;
  transition: all 0.2s;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  white-space: nowrap;
}
.fancybox-share__button:visited,
.fancybox-share__button:link {
  color: #fff;
}
.fancybox-share__button:hover {
  text-decoration: none;
}
.fancybox-share__button--fb {
  background: #3b5998;
}
.fancybox-share__button--fb:hover {
  background: #344e86;
}
.fancybox-share__button--pt {
  background: #bd081d;
}
.fancybox-share__button--pt:hover {
  background: #aa0719;
}
.fancybox-share__button--tw {
  background: #1da1f2;
}
.fancybox-share__button--tw:hover {
  background: #0d95e8;
}
.fancybox-share__button svg {
  height: 25px;
  margin-right: 7px;
  position: relative;
  top: -1px;
  vertical-align: middle;
  width: 25px;
}
.fancybox-share__button svg path {
  fill: #fff;
}
.fancybox-share__input {
  background: transparent;
  border: 0;
  border-bottom: 1px solid #d7d7d7;
  border-radius: 0;
  color: #5d5b5b;
  font-size: 14px;
  margin: 10px 0 0 0;
  outline: none;
  padding: 10px 15px;
  width: 100%;
}
/* Thumbs */
.fancybox-thumbs {
  background: #fff;
  bottom: 0;
  display: none;
  margin: 0;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar;
  padding: 2px 2px 4px 2px;
  position: absolute;
  right: 0;
  -webkit-tap-highlight-color: transparent;
  top: 0;
  width: 212px;
  z-index: 99995;
}
.fancybox-thumbs-x {
  overflow-x: auto;
  overflow-y: hidden;
}
.fancybox-show-thumbs .fancybox-thumbs {
  display: block;
}
.fancybox-show-thumbs .fancybox-inner {
  right: 212px;
}
.fancybox-thumbs > ul {
  font-size: 0;
  height: 100%;
  list-style: none;
  margin: 0;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 0;
  position: absolute;
  position: relative;
  white-space: nowrap;
  width: 100%;
}
.fancybox-thumbs-x > ul {
  overflow: hidden;
}
.fancybox-thumbs-y > ul::-webkit-scrollbar {
  width: 7px;
}
.fancybox-thumbs-y > ul::-webkit-scrollbar-track {
  background: #fff;
  border-radius: 10px;
  box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
}
.fancybox-thumbs-y > ul::-webkit-scrollbar-thumb {
  background: #2a2a2a;
  border-radius: 10px;
}
.fancybox-thumbs > ul > li {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  cursor: pointer;
  height: 75px;
  margin: 2px;
  max-height: calc(100% - 8px);
  max-width: calc(50% - 4px);
  outline: none;
  overflow: hidden;
  padding: 0;
  position: relative;
  -webkit-tap-highlight-color: transparent;
  width: 100px;
}
.fancybox-thumbs-loading {
  background: rgba(0, 0, 0, 0.1);
}
.fancybox-thumbs > ul > li {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
.fancybox-thumbs > ul > li:before {
  border: 4px solid #4ea7f9;
  bottom: 0;
  content: '';
  left: 0;
  opacity: 0;
  position: absolute;
  right: 0;
  top: 0;
  transition: all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  z-index: 99991;
}
.fancybox-thumbs .fancybox-thumbs-active:before {
  opacity: 1;
}
/* Styling for Small-Screen Devices */
@media all and (max-width: 800px) {
  .fancybox-thumbs {
    width: 110px;
  }
  .fancybox-show-thumbs .fancybox-inner {
    right: 110px;
  }
  .fancybox-thumbs > ul > li {
    max-width: calc(100% - 10px);
  }
}
.flatpickr-calendar {
  background: transparent;
  opacity: 0;
  display: none;
  text-align: center;
  visibility: hidden;
  padding: 0;
  -webkit-animation: none;
  animation: none;
  direction: ltr;
  border: 0;
  font-size: 14px;
  line-height: 24px;
  border-radius: 5px;
  position: absolute;
  width: 307.875px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
  background: #fff;
  -webkit-box-shadow: 1px 0 0 #e6e6e6, -1px 0 0 #e6e6e6, 0 1px 0 #e6e6e6, 0 -1px 0 #e6e6e6, 0 3px 13px rgba(0, 0, 0, 0.08);
  box-shadow: 1px 0 0 #e6e6e6, -1px 0 0 #e6e6e6, 0 1px 0 #e6e6e6, 0 -1px 0 #e6e6e6, 0 3px 13px rgba(0, 0, 0, 0.08);
}
.flatpickr-calendar.open,
.flatpickr-calendar.inline {
  opacity: 1;
  max-height: 640px;
  visibility: visible;
}
.flatpickr-calendar.open {
  display: inline-block;
  z-index: 99999;
}
.flatpickr-calendar.animate.open {
  -webkit-animation: fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1);
  animation: fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1);
}
.flatpickr-calendar.inline {
  display: block;
  position: relative;
  top: 2px;
}
.flatpickr-calendar.static {
  position: absolute;
  top: calc(100% + 2px);
}
.flatpickr-calendar.static.open {
  z-index: 999;
  display: block;
}
.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7) {
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
}
.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1) {
  -webkit-box-shadow: -2px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
  box-shadow: -2px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
}
.flatpickr-calendar .hasWeeks .dayContainer,
.flatpickr-calendar .hasTime .dayContainer {
  border-bottom: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.flatpickr-calendar .hasWeeks .dayContainer {
  border-left: 0;
}
.flatpickr-calendar.showTimeInput.hasTime .flatpickr-time {
  height: 40px;
  border-top: 1px solid #e6e6e6;
}
.flatpickr-calendar.noCalendar.hasTime .flatpickr-time {
  height: auto;
}
.flatpickr-calendar:before,
.flatpickr-calendar:after {
  position: absolute;
  display: block;
  pointer-events: none;
  border: solid transparent;
  content: '';
  height: 0;
  width: 0;
  left: 22px;
}
.flatpickr-calendar.rightMost:before,
.flatpickr-calendar.rightMost:after {
  left: auto;
  right: 22px;
}
.flatpickr-calendar:before {
  border-width: 5px;
  margin: 0 -5px;
}
.flatpickr-calendar:after {
  border-width: 4px;
  margin: 0 -4px;
}
.flatpickr-calendar.arrowTop:before,
.flatpickr-calendar.arrowTop:after {
  bottom: 100%;
}
.flatpickr-calendar.arrowTop:before {
  border-bottom-color: #e6e6e6;
}
.flatpickr-calendar.arrowTop:after {
  border-bottom-color: #fff;
}
.flatpickr-calendar.arrowBottom:before,
.flatpickr-calendar.arrowBottom:after {
  top: 100%;
}
.flatpickr-calendar.arrowBottom:before {
  border-top-color: #e6e6e6;
}
.flatpickr-calendar.arrowBottom:after {
  border-top-color: #fff;
}
.flatpickr-calendar:focus {
  outline: 0;
}
.flatpickr-wrapper {
  position: relative;
  display: inline-block;
}
.flatpickr-months {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.flatpickr-months .flatpickr-month {
  background: transparent;
  color: rgba(0, 0, 0, 0.9);
  fill: rgba(0, 0, 0, 0.9);
  height: 28px;
  line-height: 1;
  text-align: center;
  position: relative;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  overflow: hidden;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}
.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month {
  text-decoration: none;
  cursor: pointer;
  position: absolute;
  top: 0px;
  line-height: 16px;
  height: 28px;
  padding: 10px;
  z-index: 3;
  color: rgba(0, 0, 0, 0.9);
  fill: rgba(0, 0, 0, 0.9);
}
.flatpickr-months .flatpickr-prev-month.disabled,
.flatpickr-months .flatpickr-next-month.disabled {
  display: none;
}
.flatpickr-months .flatpickr-prev-month i,
.flatpickr-months .flatpickr-next-month i {
  position: relative;
}
.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month.flatpickr-prev-month {
  /*
      /*rtl:begin:ignore*/
  /*
      */
  left: 0;
  /*
      /*rtl:end:ignore*/
  /*
      */
}
/*
      /*rtl:begin:ignore*/
/*
      /*rtl:end:ignore*/
.flatpickr-months .flatpickr-prev-month.flatpickr-next-month,
.flatpickr-months .flatpickr-next-month.flatpickr-next-month {
  /*
      /*rtl:begin:ignore*/
  /*
      */
  right: 0;
  /*
      /*rtl:end:ignore*/
  /*
      */
}
/*
      /*rtl:begin:ignore*/
/*
      /*rtl:end:ignore*/
.flatpickr-months .flatpickr-prev-month:hover,
.flatpickr-months .flatpickr-next-month:hover {
  color: #959ea9;
}
.flatpickr-months .flatpickr-prev-month:hover svg,
.flatpickr-months .flatpickr-next-month:hover svg {
  fill: #f64747;
}
.flatpickr-months .flatpickr-prev-month svg,
.flatpickr-months .flatpickr-next-month svg {
  width: 14px;
  height: 14px;
}
.flatpickr-months .flatpickr-prev-month svg path,
.flatpickr-months .flatpickr-next-month svg path {
  -webkit-transition: fill 0.1s;
  transition: fill 0.1s;
  fill: inherit;
}
.numInputWrapper {
  position: relative;
  height: auto;
}
.numInputWrapper input,
.numInputWrapper span {
  display: inline-block;
}
.numInputWrapper input {
  width: 100%;
}
.numInputWrapper input::-ms-clear {
  display: none;
}
.numInputWrapper span {
  position: absolute;
  right: 0;
  width: 14px;
  padding: 0 4px 0 2px;
  height: 50%;
  line-height: 50%;
  opacity: 0;
  cursor: pointer;
  border: 1px solid rgba(57, 57, 57, 0.15);
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.numInputWrapper span:hover {
  background: rgba(0, 0, 0, 0.1);
}
.numInputWrapper span:active {
  background: rgba(0, 0, 0, 0.2);
}
.numInputWrapper span:after {
  display: block;
  content: "";
  position: absolute;
}
.numInputWrapper span.arrowUp {
  top: 0;
  border-bottom: 0;
}
.numInputWrapper span.arrowUp:after {
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-bottom: 4px solid rgba(57, 57, 57, 0.6);
  top: 26%;
}
.numInputWrapper span.arrowDown {
  top: 50%;
}
.numInputWrapper span.arrowDown:after {
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 4px solid rgba(57, 57, 57, 0.6);
  top: 40%;
}
.numInputWrapper span svg {
  width: inherit;
  height: auto;
}
.numInputWrapper span svg path {
  fill: rgba(0, 0, 0, 0.5);
}
.numInputWrapper:hover {
  background: rgba(0, 0, 0, 0.05);
}
.numInputWrapper:hover span {
  opacity: 1;
}
.flatpickr-current-month {
  font-size: 135%;
  line-height: inherit;
  font-weight: 300;
  color: inherit;
  position: absolute;
  width: 75%;
  left: 12.5%;
  padding: 6.16px 0 0 0;
  line-height: 1;
  height: 28px;
  display: inline-block;
  text-align: center;
  -webkit-transform: translate3d(0px, 0px, 0px);
  transform: translate3d(0px, 0px, 0px);
}
.flatpickr-current-month span.cur-month {
  font-family: inherit;
  font-weight: 700;
  color: inherit;
  display: inline-block;
  margin-left: 0.5ch;
  padding: 0;
}
.flatpickr-current-month span.cur-month:hover {
  background: rgba(0, 0, 0, 0.05);
}
.flatpickr-current-month .numInputWrapper {
  width: 6ch;
  width: 7ch\0;
  display: inline-block;
}
.flatpickr-current-month .numInputWrapper span.arrowUp:after {
  border-bottom-color: rgba(0, 0, 0, 0.9);
}
.flatpickr-current-month .numInputWrapper span.arrowDown:after {
  border-top-color: rgba(0, 0, 0, 0.9);
}
.flatpickr-current-month input.cur-year {
  background: transparent;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: inherit;
  cursor: text;
  padding: 0 0 0 0.5ch;
  margin: 0;
  display: inline-block;
  font-size: inherit;
  font-family: inherit;
  font-weight: 300;
  line-height: inherit;
  height: auto;
  border: 0;
  border-radius: 0;
  vertical-align: initial;
}
.flatpickr-current-month input.cur-year:focus {
  outline: 0;
}
.flatpickr-current-month input.cur-year[disabled],
.flatpickr-current-month input.cur-year[disabled]:hover {
  font-size: 100%;
  color: rgba(0, 0, 0, 0.5);
  background: transparent;
  pointer-events: none;
}
.flatpickr-weekdays {
  background: transparent;
  text-align: center;
  overflow: hidden;
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  height: 28px;
}
.flatpickr-weekdays .flatpickr-weekdaycontainer {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}
span.flatpickr-weekday {
  cursor: default;
  font-size: 90%;
  background: transparent;
  color: rgba(0, 0, 0, 0.54);
  line-height: 1;
  margin: 0;
  text-align: center;
  display: block;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  font-weight: bolder;
}
.dayContainer,
.flatpickr-weeks {
  padding: 1px 0 0 0;
}
.flatpickr-days {
  position: relative;
  overflow: hidden;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  width: 307.875px;
}
.flatpickr-days:focus {
  outline: 0;
}
.dayContainer {
  padding: 0;
  outline: 0;
  text-align: left;
  width: 307.875px;
  min-width: 307.875px;
  max-width: 307.875px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: inline-block;
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-around;
  justify-content: space-around;
  -webkit-transform: translate3d(0px, 0px, 0px);
  transform: translate3d(0px, 0px, 0px);
  opacity: 1;
}
.dayContainer + .dayContainer {
  -webkit-box-shadow: -1px 0 0 #e6e6e6;
  box-shadow: -1px 0 0 #e6e6e6;
}
.flatpickr-day {
  background: none;
  border: 1px solid transparent;
  border-radius: 150px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #393939;
  cursor: pointer;
  font-weight: 400;
  width: 14.2857143%;
  -webkit-flex-basis: 14.2857143%;
  -ms-flex-preferred-size: 14.2857143%;
  flex-basis: 14.2857143%;
  max-width: 39px;
  height: 39px;
  line-height: 39px;
  margin: 0;
  display: inline-block;
  position: relative;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  text-align: center;
}
.flatpickr-day.inRange,
.flatpickr-day.prevMonthDay.inRange,
.flatpickr-day.nextMonthDay.inRange,
.flatpickr-day.today.inRange,
.flatpickr-day.prevMonthDay.today.inRange,
.flatpickr-day.nextMonthDay.today.inRange,
.flatpickr-day:hover,
.flatpickr-day.prevMonthDay:hover,
.flatpickr-day.nextMonthDay:hover,
.flatpickr-day:focus,
.flatpickr-day.prevMonthDay:focus,
.flatpickr-day.nextMonthDay:focus {
  cursor: pointer;
  outline: 0;
  background: #e6e6e6;
  border-color: #e6e6e6;
}
.flatpickr-day.today {
  border-color: #959ea9;
}
.flatpickr-day.today:hover,
.flatpickr-day.today:focus {
  border-color: #959ea9;
  background: #959ea9;
  color: #fff;
}
.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected.inRange,
.flatpickr-day.startRange.inRange,
.flatpickr-day.endRange.inRange,
.flatpickr-day.selected:focus,
.flatpickr-day.startRange:focus,
.flatpickr-day.endRange:focus,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover,
.flatpickr-day.selected.prevMonthDay,
.flatpickr-day.startRange.prevMonthDay,
.flatpickr-day.endRange.prevMonthDay,
.flatpickr-day.selected.nextMonthDay,
.flatpickr-day.startRange.nextMonthDay,
.flatpickr-day.endRange.nextMonthDay {
  background: #569ff7;
  -webkit-box-shadow: none;
  box-shadow: none;
  color: #fff;
  border-color: #569ff7;
}
.flatpickr-day.selected.startRange,
.flatpickr-day.startRange.startRange,
.flatpickr-day.endRange.startRange {
  border-radius: 50px 0 0 50px;
}
.flatpickr-day.selected.endRange,
.flatpickr-day.startRange.endRange,
.flatpickr-day.endRange.endRange {
  border-radius: 0 50px 50px 0;
}
.flatpickr-day.selected.startRange + .endRange:not(:nth-child(7n+1)),
.flatpickr-day.startRange.startRange + .endRange:not(:nth-child(7n+1)),
.flatpickr-day.endRange.startRange + .endRange:not(:nth-child(7n+1)) {
  -webkit-box-shadow: -10px 0 0 #569ff7;
  box-shadow: -10px 0 0 #569ff7;
}
.flatpickr-day.selected.startRange.endRange,
.flatpickr-day.startRange.startRange.endRange,
.flatpickr-day.endRange.startRange.endRange {
  border-radius: 50px;
}
.flatpickr-day.inRange {
  border-radius: 0;
  -webkit-box-shadow: -5px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
  box-shadow: -5px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
}
.flatpickr-day.disabled,
.flatpickr-day.disabled:hover,
.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay,
.flatpickr-day.notAllowed,
.flatpickr-day.notAllowed.prevMonthDay,
.flatpickr-day.notAllowed.nextMonthDay {
  color: rgba(57, 57, 57, 0.3);
  background: transparent;
  border-color: transparent;
  cursor: default;
}
.flatpickr-day.disabled,
.flatpickr-day.disabled:hover {
  cursor: not-allowed;
  color: rgba(57, 57, 57, 0.1);
}
.flatpickr-day.week.selected {
  border-radius: 0;
  -webkit-box-shadow: -5px 0 0 #569ff7, 5px 0 0 #569ff7;
  box-shadow: -5px 0 0 #569ff7, 5px 0 0 #569ff7;
}
.flatpickr-day.hidden {
  visibility: hidden;
}
.rangeMode .flatpickr-day {
  margin-top: 1px;
}
.flatpickr-weekwrapper {
  display: inline-block;
}
.flatpickr-weekwrapper .flatpickr-weeks {
  padding: 0 12px;
  -webkit-box-shadow: 1px 0 0 #e6e6e6;
  box-shadow: 1px 0 0 #e6e6e6;
}
.flatpickr-weekwrapper .flatpickr-weekday {
  float: none;
  width: 100%;
  line-height: 28px;
}
.flatpickr-weekwrapper span.flatpickr-day,
.flatpickr-weekwrapper span.flatpickr-day:hover {
  display: block;
  width: 100%;
  max-width: none;
  color: rgba(57, 57, 57, 0.3);
  background: transparent;
  cursor: default;
  border: none;
}
.flatpickr-innerContainer {
  display: block;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  overflow: hidden;
}
.flatpickr-rContainer {
  display: inline-block;
  padding: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.flatpickr-time {
  text-align: center;
  outline: 0;
  display: block;
  height: 0;
  line-height: 40px;
  max-height: 40px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  overflow: hidden;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.flatpickr-time:after {
  content: "";
  display: table;
  clear: both;
}
.flatpickr-time .numInputWrapper {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  width: 40%;
  height: 40px;
}
.flatpickr-time .numInputWrapper span.arrowUp:after {
  border-bottom-color: #393939;
}
.flatpickr-time .numInputWrapper span.arrowDown:after {
  border-top-color: #393939;
}
.flatpickr-time.hasSeconds .numInputWrapper {
  width: 26%;
}
.flatpickr-time.time24hr .numInputWrapper {
  width: 49%;
}
.flatpickr-time input {
  background: transparent;
  -webkit-box-shadow: none;
  box-shadow: none;
  border: 0;
  border-radius: 0;
  text-align: center;
  margin: 0;
  padding: 0;
  height: inherit;
  line-height: inherit;
  color: #393939;
  font-size: 14px;
  position: relative;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.flatpickr-time input.flatpickr-hour {
  font-weight: bold;
}
.flatpickr-time input.flatpickr-minute,
.flatpickr-time input.flatpickr-second {
  font-weight: 400;
}
.flatpickr-time input:focus {
  outline: 0;
  border: 0;
}
.flatpickr-time .flatpickr-time-separator,
.flatpickr-time .flatpickr-am-pm {
  height: inherit;
  display: inline-block;
  line-height: inherit;
  color: #393939;
  font-weight: bold;
  width: 2%;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-align-self: center;
  -ms-flex-item-align: center;
  align-self: center;
}
.flatpickr-time .flatpickr-am-pm {
  outline: 0;
  width: 18%;
  cursor: pointer;
  text-align: center;
  font-weight: 400;
}
.flatpickr-time input:hover,
.flatpickr-time .flatpickr-am-pm:hover,
.flatpickr-time input:focus,
.flatpickr-time .flatpickr-am-pm:focus {
  background: #f3f3f3;
}
.flatpickr-input[readonly] {
  cursor: pointer;
}
@-webkit-keyframes fpFadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fpFadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.flatpickr-calendar {
  background: transparent;
  opacity: 0;
  display: none;
  text-align: center;
  visibility: hidden;
  padding: 0;
  -webkit-animation: none;
  animation: none;
  direction: ltr;
  border: 0;
  font-size: 14px;
  line-height: 24px;
  border-radius: 5px;
  position: absolute;
  width: 307.875px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
  -webkit-box-shadow: 0 3px 13px rgba(0, 0, 0, 0.08);
  box-shadow: 0 3px 13px rgba(0, 0, 0, 0.08);
}
.flatpickr-calendar.open,
.flatpickr-calendar.inline {
  opacity: 1;
  max-height: 640px;
  visibility: visible;
}
.flatpickr-calendar.open {
  display: inline-block;
  z-index: 99999;
}
.flatpickr-calendar.animate.open {
  -webkit-animation: fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1);
  animation: fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1);
}
.flatpickr-calendar.inline {
  display: block;
  position: relative;
  top: 2px;
}
.flatpickr-calendar.static {
  position: absolute;
  top: calc(100% + 2px);
}
.flatpickr-calendar.static.open {
  z-index: 999;
  display: block;
}
.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7) {
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
}
.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1) {
  -webkit-box-shadow: -2px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
  box-shadow: -2px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
}
.flatpickr-calendar .hasWeeks .dayContainer,
.flatpickr-calendar .hasTime .dayContainer {
  border-bottom: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.flatpickr-calendar .hasWeeks .dayContainer {
  border-left: 0;
}
.flatpickr-calendar.showTimeInput.hasTime .flatpickr-time {
  height: 40px;
  border-top: 1px solid #eceef1;
}
.flatpickr-calendar.showTimeInput.hasTime .flatpickr-innerContainer {
  border-bottom: 0;
}
.flatpickr-calendar.showTimeInput.hasTime .flatpickr-time {
  border: 1px solid #eceef1;
}
.flatpickr-calendar.noCalendar.hasTime .flatpickr-time {
  height: auto;
}
.flatpickr-calendar:before,
.flatpickr-calendar:after {
  position: absolute;
  display: block;
  pointer-events: none;
  border: solid transparent;
  content: '';
  height: 0;
  width: 0;
  left: 22px;
}
.flatpickr-calendar.rightMost:before,
.flatpickr-calendar.rightMost:after {
  left: auto;
  right: 22px;
}
.flatpickr-calendar:before {
  border-width: 5px;
  margin: 0 -5px;
}
.flatpickr-calendar:after {
  border-width: 4px;
  margin: 0 -4px;
}
.flatpickr-calendar.arrowTop:before,
.flatpickr-calendar.arrowTop:after {
  bottom: 100%;
}
.flatpickr-calendar.arrowTop:before {
  border-bottom-color: #eceef1;
}
.flatpickr-calendar.arrowTop:after {
  border-bottom-color: #eceef1;
}
.flatpickr-calendar.arrowBottom:before,
.flatpickr-calendar.arrowBottom:after {
  top: 100%;
}
.flatpickr-calendar.arrowBottom:before {
  border-top-color: #eceef1;
}
.flatpickr-calendar.arrowBottom:after {
  border-top-color: #eceef1;
}
.flatpickr-calendar:focus {
  outline: 0;
}
.flatpickr-wrapper {
  position: relative;
  display: inline-block;
}
.flatpickr-months {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.flatpickr-months .flatpickr-month {
  border-radius: 5px 5px 0 0;
  background: #eceef1;
  color: #5a6171;
  fill: #5a6171;
  height: 28px;
  line-height: 1;
  text-align: center;
  position: relative;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  overflow: hidden;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}
.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month {
  text-decoration: none;
  cursor: pointer;
  position: absolute;
  top: 0px;
  line-height: 16px;
  height: 28px;
  padding: 10px;
  z-index: 3;
  color: #5a6171;
  fill: #5a6171;
}
.flatpickr-months .flatpickr-prev-month.disabled,
.flatpickr-months .flatpickr-next-month.disabled {
  display: none;
}
.flatpickr-months .flatpickr-prev-month i,
.flatpickr-months .flatpickr-next-month i {
  position: relative;
}
.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month.flatpickr-prev-month {
  /*
      /*rtl:begin:ignore*/
  /*
      */
  left: 0;
  /*
      /*rtl:end:ignore*/
  /*
      */
}
/*
      /*rtl:begin:ignore*/
/*
      /*rtl:end:ignore*/
.flatpickr-months .flatpickr-prev-month.flatpickr-next-month,
.flatpickr-months .flatpickr-next-month.flatpickr-next-month {
  /*
      /*rtl:begin:ignore*/
  /*
      */
  right: 0;
  /*
      /*rtl:end:ignore*/
  /*
      */
}
/*
      /*rtl:begin:ignore*/
/*
      /*rtl:end:ignore*/
.flatpickr-months .flatpickr-prev-month:hover,
.flatpickr-months .flatpickr-next-month:hover {
  color: #bbb;
}
.flatpickr-months .flatpickr-prev-month:hover svg,
.flatpickr-months .flatpickr-next-month:hover svg {
  fill: #f64747;
}
.flatpickr-months .flatpickr-prev-month svg,
.flatpickr-months .flatpickr-next-month svg {
  width: 14px;
  height: 14px;
}
.flatpickr-months .flatpickr-prev-month svg path,
.flatpickr-months .flatpickr-next-month svg path {
  -webkit-transition: fill 0.1s;
  transition: fill 0.1s;
  fill: inherit;
}
.numInputWrapper {
  position: relative;
  height: auto;
}
.numInputWrapper input,
.numInputWrapper span {
  display: inline-block;
}
.numInputWrapper input {
  width: 100%;
}
.numInputWrapper input::-ms-clear {
  display: none;
}
.numInputWrapper span {
  position: absolute;
  right: 0;
  width: 14px;
  padding: 0 4px 0 2px;
  height: 50%;
  line-height: 50%;
  opacity: 0;
  cursor: pointer;
  border: 1px solid rgba(72, 72, 72, 0.15);
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.numInputWrapper span:hover {
  background: rgba(0, 0, 0, 0.1);
}
.numInputWrapper span:active {
  background: rgba(0, 0, 0, 0.2);
}
.numInputWrapper span:after {
  display: block;
  content: "";
  position: absolute;
}
.numInputWrapper span.arrowUp {
  top: 0;
  border-bottom: 0;
}
.numInputWrapper span.arrowUp:after {
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-bottom: 4px solid rgba(72, 72, 72, 0.6);
  top: 26%;
}
.numInputWrapper span.arrowDown {
  top: 50%;
}
.numInputWrapper span.arrowDown:after {
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 4px solid rgba(72, 72, 72, 0.6);
  top: 40%;
}
.numInputWrapper span svg {
  width: inherit;
  height: auto;
}
.numInputWrapper span svg path {
  fill: rgba(90, 97, 113, 0.5);
}
.numInputWrapper:hover {
  background: rgba(0, 0, 0, 0.05);
}
.numInputWrapper:hover span {
  opacity: 1;
}
.flatpickr-current-month {
  font-size: 135%;
  line-height: inherit;
  font-weight: 300;
  color: inherit;
  position: absolute;
  width: 75%;
  left: 12.5%;
  padding: 6.16px 0 0 0;
  line-height: 1;
  height: 28px;
  display: inline-block;
  text-align: center;
  -webkit-transform: translate3d(0px, 0px, 0px);
  transform: translate3d(0px, 0px, 0px);
}
.flatpickr-current-month span.cur-month {
  font-family: inherit;
  font-weight: 700;
  color: inherit;
  display: inline-block;
  margin-left: 0.5ch;
  padding: 0;
}
.flatpickr-current-month span.cur-month:hover {
  background: rgba(0, 0, 0, 0.05);
}
.flatpickr-current-month .numInputWrapper {
  width: 6ch;
  width: 7ch\0;
  display: inline-block;
}
.flatpickr-current-month .numInputWrapper span.arrowUp:after {
  border-bottom-color: #5a6171;
}
.flatpickr-current-month .numInputWrapper span.arrowDown:after {
  border-top-color: #5a6171;
}
.flatpickr-current-month input.cur-year {
  background: transparent;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: inherit;
  cursor: text;
  padding: 0 0 0 0.5ch;
  margin: 0;
  display: inline-block;
  font-size: inherit;
  font-family: inherit;
  font-weight: 300;
  line-height: inherit;
  height: auto;
  border: 0;
  border-radius: 0;
  vertical-align: initial;
}
.flatpickr-current-month input.cur-year:focus {
  outline: 0;
}
.flatpickr-current-month input.cur-year[disabled],
.flatpickr-current-month input.cur-year[disabled]:hover {
  font-size: 100%;
  color: rgba(90, 97, 113, 0.5);
  background: transparent;
  pointer-events: none;
}
.flatpickr-weekdays {
  background: #eceef1;
  text-align: center;
  overflow: hidden;
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  height: 28px;
}
.flatpickr-weekdays .flatpickr-weekdaycontainer {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}
span.flatpickr-weekday {
  cursor: default;
  font-size: 90%;
  background: #eceef1;
  color: #5a6171;
  line-height: 1;
  margin: 0;
  text-align: center;
  display: block;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  font-weight: bolder;
}
.dayContainer,
.flatpickr-weeks {
  padding: 1px 0 0 0;
}
.flatpickr-days {
  position: relative;
  overflow: hidden;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  width: 307.875px;
  border-left: 1px solid #eceef1;
  border-right: 1px solid #eceef1;
}
.flatpickr-days:focus {
  outline: 0;
}
.dayContainer {
  padding: 0;
  outline: 0;
  text-align: left;
  width: 307.875px;
  min-width: 307.875px;
  max-width: 307.875px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: inline-block;
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-around;
  justify-content: space-around;
  -webkit-transform: translate3d(0px, 0px, 0px);
  transform: translate3d(0px, 0px, 0px);
  opacity: 1;
}
.dayContainer + .dayContainer {
  -webkit-box-shadow: -1px 0 0 #eceef1;
  box-shadow: -1px 0 0 #eceef1;
}
.flatpickr-day {
  background: none;
  border: 1px solid transparent;
  border-radius: 150px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #484848;
  cursor: pointer;
  font-weight: 400;
  width: 14.2857143%;
  -webkit-flex-basis: 14.2857143%;
  -ms-flex-preferred-size: 14.2857143%;
  flex-basis: 14.2857143%;
  max-width: 39px;
  height: 39px;
  line-height: 39px;
  margin: 0;
  display: inline-block;
  position: relative;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  text-align: center;
}
.flatpickr-day.inRange,
.flatpickr-day.prevMonthDay.inRange,
.flatpickr-day.nextMonthDay.inRange,
.flatpickr-day.today.inRange,
.flatpickr-day.prevMonthDay.today.inRange,
.flatpickr-day.nextMonthDay.today.inRange,
.flatpickr-day:hover,
.flatpickr-day.prevMonthDay:hover,
.flatpickr-day.nextMonthDay:hover,
.flatpickr-day:focus,
.flatpickr-day.prevMonthDay:focus,
.flatpickr-day.nextMonthDay:focus {
  cursor: pointer;
  outline: 0;
  background: #e2e2e2;
  border-color: #e2e2e2;
}
.flatpickr-day.today {
  border-color: #bbb;
}
.flatpickr-day.today:hover,
.flatpickr-day.today:focus {
  border-color: #bbb;
  background: #bbb;
  color: #fff;
}
.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected.inRange,
.flatpickr-day.startRange.inRange,
.flatpickr-day.endRange.inRange,
.flatpickr-day.selected:focus,
.flatpickr-day.startRange:focus,
.flatpickr-day.endRange:focus,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover,
.flatpickr-day.selected.prevMonthDay,
.flatpickr-day.startRange.prevMonthDay,
.flatpickr-day.endRange.prevMonthDay,
.flatpickr-day.selected.nextMonthDay,
.flatpickr-day.startRange.nextMonthDay,
.flatpickr-day.endRange.nextMonthDay {
  background: var(--color-accent);
  -webkit-box-shadow: none;
  box-shadow: none;
  color: #fff;
  border-color: var(--color-accent);
}
.flatpickr-day.selected.startRange,
.flatpickr-day.startRange.startRange,
.flatpickr-day.endRange.startRange {
  border-radius: 50px 0 0 50px;
}
.flatpickr-day.selected.endRange,
.flatpickr-day.startRange.endRange,
.flatpickr-day.endRange.endRange {
  border-radius: 0 50px 50px 0;
}
.flatpickr-day.selected.startRange + .endRange:not(:nth-child(7n+1)),
.flatpickr-day.startRange.startRange + .endRange:not(:nth-child(7n+1)),
.flatpickr-day.endRange.startRange + .endRange:not(:nth-child(7n+1)) {
  -webkit-box-shadow: -10px 0 0 var(--color-accent);
  box-shadow: -10px 0 0 var(--color-accent);
}
.flatpickr-day.selected.startRange.endRange,
.flatpickr-day.startRange.startRange.endRange,
.flatpickr-day.endRange.startRange.endRange {
  border-radius: 50px;
}
.flatpickr-day.inRange {
  border-radius: 0;
  -webkit-box-shadow: -5px 0 0 #e2e2e2, 5px 0 0 #e2e2e2;
  box-shadow: -5px 0 0 #e2e2e2, 5px 0 0 #e2e2e2;
}
.flatpickr-day.disabled,
.flatpickr-day.disabled:hover,
.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay,
.flatpickr-day.notAllowed,
.flatpickr-day.notAllowed.prevMonthDay,
.flatpickr-day.notAllowed.nextMonthDay {
  color: rgba(72, 72, 72, 0.3);
  background: transparent;
  border-color: transparent;
  cursor: default;
}
.flatpickr-day.disabled,
.flatpickr-day.disabled:hover {
  cursor: not-allowed;
  color: rgba(72, 72, 72, 0.1);
}
.flatpickr-day.week.selected {
  border-radius: 0;
  -webkit-box-shadow: -5px 0 0 var(--color-accent), 5px 0 0 var(--color-accent);
  box-shadow: -5px 0 0 var(--color-accent), 5px 0 0 var(--color-accent);
}
.flatpickr-day.hidden {
  visibility: hidden;
}
.rangeMode .flatpickr-day {
  margin-top: 1px;
}
.flatpickr-weekwrapper {
  display: inline-block;
}
.flatpickr-weekwrapper .flatpickr-weeks {
  padding: 0 12px;
  border-left: 1px solid #eceef1;
}
.flatpickr-weekwrapper .flatpickr-weekday {
  float: none;
  width: 100%;
  line-height: 28px;
}
.flatpickr-weekwrapper span.flatpickr-day,
.flatpickr-weekwrapper span.flatpickr-day:hover {
  display: block;
  width: 100%;
  max-width: none;
  color: rgba(72, 72, 72, 0.3);
  background: transparent;
  cursor: default;
  border: none;
}
.flatpickr-innerContainer {
  display: block;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  overflow: hidden;
  background: #fff;
  border-bottom: 1px solid #eceef1;
}
.flatpickr-rContainer {
  display: inline-block;
  padding: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.flatpickr-time {
  text-align: center;
  outline: 0;
  display: block;
  height: 0;
  line-height: 40px;
  max-height: 40px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  overflow: hidden;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  background: #fff;
  border-radius: 0 0 5px 5px;
}
.flatpickr-time:after {
  content: "";
  display: table;
  clear: both;
}
.flatpickr-time .numInputWrapper {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  width: 40%;
  height: 40px;
}
.flatpickr-time .numInputWrapper span.arrowUp:after {
  border-bottom-color: #484848;
}
.flatpickr-time .numInputWrapper span.arrowDown:after {
  border-top-color: #484848;
}
.flatpickr-time.hasSeconds .numInputWrapper {
  width: 26%;
}
.flatpickr-time.time24hr .numInputWrapper {
  width: 49%;
}
.flatpickr-time input {
  background: transparent;
  -webkit-box-shadow: none;
  box-shadow: none;
  border: 0;
  border-radius: 0;
  text-align: center;
  margin: 0;
  padding: 0;
  height: inherit;
  line-height: inherit;
  color: #484848;
  font-size: 14px;
  position: relative;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.flatpickr-time input.flatpickr-hour {
  font-weight: bold;
}
.flatpickr-time input.flatpickr-minute,
.flatpickr-time input.flatpickr-second {
  font-weight: 400;
}
.flatpickr-time input:focus {
  outline: 0;
  border: 0;
}
.flatpickr-time .flatpickr-time-separator,
.flatpickr-time .flatpickr-am-pm {
  height: inherit;
  display: inline-block;
  line-height: inherit;
  color: #484848;
  font-weight: bold;
  width: 2%;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-align-self: center;
  -ms-flex-item-align: center;
  align-self: center;
}
.flatpickr-time .flatpickr-am-pm {
  outline: 0;
  width: 18%;
  cursor: pointer;
  text-align: center;
  font-weight: 400;
}
.flatpickr-time input:hover,
.flatpickr-time .flatpickr-am-pm:hover,
.flatpickr-time input:focus,
.flatpickr-time .flatpickr-am-pm:focus {
  background: #efefef;
}
.flatpickr-input[readonly] {
  cursor: pointer;
}
@-webkit-keyframes fpFadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fpFadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
span.flatpickr-day.selected {
  font-weight: bold;
}
html,
body {
  margin: 0;
  padding: 0;
  min-height: 100%;
}
body {
  background: #fff;
  color: var(--color-text);
  display: block;
  min-height: 100vh;
  padding-top: 0.1px;
}
#pageload {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2000;
  background: var(--color-green1);
}
.mobile {
  display: none;
}
@media screen and (max-width: 800px) {
  .mobile {
    display: block;
  }
}
.desktop {
  display: block;
}
@media screen and (max-width: 800px) {
  .desktop {
    display: none;
  }
}
sup {
  vertical-align: super;
  font-size: 0.7em;
  line-height: 0;
}
a {
  text-decoration: none;
  color: var(--color-accent);
}
a:hover {
  text-decoration: underline;
}
#wrap {
  min-height: 100%;
  text-align: left;
  position: relative;
  width: 100%;
}
#page_wrap {
  position: relative;
  width: 100%;
}
div#page {
  position: relative;
  width: 100%;
}
/* =========================================
   contents.less (cmart)
   - Media Helpers (absolute / cover)
   - Spacing Utilities (margin/padding Mods)
   - Centering Helpers
   - Background Helper + Dark Context
   - Text Blocks, Lists, Embeds
   ========================================= */
/* ========== MEDIA HELPERS ========== */
/* Vollflächiges Media (Video & Picture) in absolut positionierten Containern */
/* Als Klasse verwendbar, wenn du nur Background-Bilder nutzt */
.cm-bgimage,
.bgimage {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center center;
}
/* Absolut gefülltes Bild/Video (Alternative) */
.cm-text-center,
.textcentering {
  text-align: center;
}
/* ========== BACKGROUND HELPERS ========== */
.cm-bg--white {
  background: #fff;
}
.cm-bg--hellbeige {
  background: var(--color-lightgrey);
}
.cm-bg--black {
  background: var(--color-black);
}
.cm-bg--dark {
  background: var(--color-black);
}
.cm-bg--accent {
  background: var(--color-accent);
}
.cm-bg--transparent {
  background: transparent;
}
/* Dunkler Kontext – Typo auf hell setzen */
.cm-bg--dark h1,
.cm-bg--accent h1,
.cm-bg--black h1,
.darkbg h1,
.cm-bg--dark h2,
.cm-bg--accent h2,
.cm-bg--black h2,
.darkbg h2,
.cm-bg--dark h3,
.cm-bg--accent h3,
.cm-bg--black h3,
.darkbg h3,
.cm-bg--dark p,
.cm-bg--accent p,
.cm-bg--black p,
.darkbg p,
.cm-bg--dark ul li::before,
.cm-bg--accent ul li::before,
.cm-bg--black ul li::before,
.darkbg ul li::before {
  color: #fff;
}
.lightboxopener {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: transparent;
  cursor: pointer;
  z-index: 30;
}
body.cmart.editing .lightboxopener {
  display: none;
}
/* ========== CONTENT LISTS & TEXT ========== */
li.content {
  position: relative;
  width: 100%;
  clear: left;
}
#content {
  /* Haupttextbereiche */
  /* Abstand zwischen aufeinanderfolgenden Blöcken */
}
#content ul.pageContents {
  position: relative;
  width: 100%;
  clear: left;
}
#content .cm-text-center,
#content .textcentering {
  text-align: center;
}
#content .cm-text-center p,
#content .textcentering p {
  text-align: center;
}
#content .cm-text,
#content .textobj {
  /* Basis-Elemente */
  /* Abstände zwischen Elementen */
  /* Verhindere zusätzliche p-Margins in verschachtelten Strukturen */
  /* Unordered Lists mit Icon Marker */
  /* Bilder im Fließtext */
}
#content .cm-text p,
#content .textobj p,
#content .cm-text li,
#content .textobj li,
#content .cm-text td,
#content .textobj td {
  font-size: var(--fs-body);
  line-height: var(--fs-body-lh);
  max-width: 65ch;
}
#content .cm-text li p,
#content .textobj li p {
  font-size: 1em;
}
#content .cm-text p i,
#content .textobj p i,
#content .cm-text p em,
#content .textobj p em {
  font-style: normal;
}
#content .cm-text p + ul,
#content .textobj p + ul,
#content .cm-text p + p,
#content .textobj p + p,
#content .cm-text ul + p,
#content .textobj ul + p,
#content .cm-text ul + h2,
#content .textobj ul + h2,
#content .cm-text ul + h3,
#content .textobj ul + h3,
#content .cm-text ul + h4,
#content .textobj ul + h4,
#content .cm-text p + h2,
#content .textobj p + h2,
#content .cm-text p + h3,
#content .textobj p + h3 {
  margin-top: 1em;
}
#content .cm-text h2 + p,
#content .textobj h2 + p,
#content .cm-text h3 + p,
#content .textobj h3 + p,
#content .cm-text h4 + p,
#content .textobj h4 + p,
#content .cm-text h2 + ul,
#content .textobj h2 + ul,
#content .cm-text h3 + ul,
#content .textobj h3 + ul,
#content .cm-text h4 + ul,
#content .textobj h4 + ul {
  margin-top: 3rem;
}
#content .cm-text h1 p,
#content .textobj h1 p,
#content .cm-text h2 p,
#content .textobj h2 p,
#content .cm-text h3 p,
#content .textobj h3 p,
#content .cm-text h4 p,
#content .textobj h4 p,
#content .cm-text p p,
#content .textobj p p,
#content .cm-text ul p,
#content .textobj ul p {
  margin-bottom: 0;
}
#content .cm-text ul,
#content .textobj ul {
  list-style: none;
  position: relative;
  width: 100%;
  margin-left: 0;
}
#content .cm-text ul li,
#content .textobj ul li {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  margin-bottom: 0;
  padding: 0.3em 0.5em 0.3em 1.4em;
  line-height: 1.4;
}
#content .cm-text ul li::before,
#content .textobj ul li::before {
  content: "\e916";
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  /* bleibt projekt-spezifisch */
  position: absolute;
  top: 0.8em;
  left: 0;
  width: 1.4em;
  height: 1.6em;
  font-size: 0.8em;
  color: var(--color-accent-light);
}
#content .cm-text img,
#content .textobj img {
  position: relative;
  max-width: 100%;
  height: auto;
}
#content .textblock + .textblock {
  margin-top: 1.5em;
}
#content .cm-text + .cm-text,
#content .textobj + .textobj {
  margin-top: 1.5em;
}
/* ========== RESPONSIVE EMBEDS ========== */
.cm-responsive-video {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%;
  /* 16:9 */
  padding-top: 25px;
  height: 0;
  overflow: hidden;
}
.cm-responsive-video iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
/* ===== Aliases (falls alte Klassennamen noch im Markup sind) ===== */
/* Erlaubt sanften Umstieg ohne sofortiges Refactor aller Templates */
/* NEU (ohne Deprecation) */
.absoluteimage {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  /* nur direkte Medien-Kinder */
}
.absoluteimage > img,
.absoluteimage > picture,
.absoluteimage > picture > img,
.absoluteimage > video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/* echte Mixins → mit () aufrufen */
.absolutemedia {
  /* Container muss position:relative haben */
}
.absolutemedia > video {
  position: absolute;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.absolutemedia > picture {
  position: absolute;
  inset: 0;
  /* top:0; right:0; bottom:0; left:0 */
  width: 100%;
  height: 100%;
  /* source lässt sich nicht stylen – bewusst weggelassen */
}
.absolutemedia > picture > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
