/*
Theme Name: Zebra v1.2
Theme URI: https://restaurantzebra.ch
Author: Close-Knit Studio
Author URI: https://close-knit.studio
Description: Restaurant Zebra
Version: 1.2
License: GNU General Public License v2 or later
Text Domain: Restaurant Zebra
Tags: Restaurant, Essen, Bern
*/
@import url("css/normalize.css");
@import url("css/grid.css");
/* @import url("css/swiper-bundle.min.css"); */
@import url("css/dev.css");

:root {
  /* --primary: #ffb9ff;
  --primary-40: rgba(255, 185, 255, .4); */
  --primary-d: #0b2316;
  --primary: #153a27;
  --primary-40: #a1b0a9;
  --primary-20: #d0d8d4;
  --primary-10: #e7ebe9;
  --primary-t: rgba(21,58,39, 0.2);

  /* --secondary: #ff7731; */
  --secondary: #c3bbfa;
  --secondary-40: #e7e4fd;
  --secondary-20: #f3f1fe;
  --secondary-20t: rgba(195,182,250, 0.2);

  /* --tertiary: #d9d2cd; */
  --tertiary: #ece7dc;
  --tertiary-40: #f7f5f1;
  --tertiary-20: #fbfaf8;
  --highlight: #ee7f44;
  --green: rgba(0, 200, 100, 1);
  --red: rgba(240, 0, 50, 1);
  --black-o: #151515;
  --black: rgba(0, 0, 0, 1);
  --black-1: rgba(0, 0, 0, .1);
  --black-2: rgba(0, 0, 0, .2);
  --black-4: rgba(0, 0, 0, .4);
  --black-8: rgba(0, 0, 0, .8);
  --black-9: rgba(0, 0, 0, .9);
  --black-0: rgba(0, 0, 0, 0);
  --white: rgba(255, 255, 255, 1);
  --white-1: rgba(255, 255, 255, .1);
  --white-2: rgba(255, 255, 255, .2);
  --white-4: rgba(255, 255, 255, .4);
  --white-6: rgba(255, 255, 255, .6);
}

::selection {
  background: rgba(125, 125, 125, 0.2);
}

* {
  /* -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; */
}

/* p, a, h1, h2, h3, h4 {
  -webkit-touch-callout: text;
  -webkit-user-select: text;
  -khtml-user-select: text;
  -moz-user-select: text;
  -ms-user-select: text;
  user-select: text;
} */

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/
html, body {
  min-width: var(--min-width);
  /*height: 100% !important;*/
  background-color: var(--black);
  height: -webkit-fill-available !important;
  -webkit-tap-highlight-color: transparent;
  height: 100%;
  overflow: hidden;
}

body.is-open {
  /*touch-action: none;*/
  /*position: fixed;*/
}

#layout {
  touch-action: auto;
  overflow: hidden;
}

.is-open #layout {
  touch-action: none;
}

#wrapper {
  min-height: 100vh;
  /*transform-origin: 50% 0%;*/
  /*transform: translate3d(0, 0, 0);*/
  /*height: calc(var(--vh, 1vh) * 100);*/
  /*height: 100vh;*/
  border-radius: 0px;
  height: 100%;
  overflow: hidden;
}

#page {
  position: relative;
  width: 100%;
  height: 100%;
  pointer-events: all;
  touch-action: auto;
  overflow-x: hidden;
  background: var(--primary);
}

#content {
  position: relative !important;
  z-index: 1;
  /* min-height: 100vh; */
  padding-top: var(--p);
  background: var(--white);
}


@media only screen and (min-width: 481px) and (max-width: 960px) {
  #content {
    padding-top: 20vh;
  }
}

@media only screen and (max-width: 480px) {
  #content {
    padding-top: 24vh;
  }
}



[data-barba-namespace="Home"] #content {
  padding-top: 0 !important;
}


[data-barba-namespace="404"] {
  height: 100vh !important;
}

[data-barba-namespace="404"] #content {
  padding-top: 0 !important;
}


/* #content section:last-child {
  padding-bottom: var(--p2);
} */

#footer {
  background: var(--black);
  /* padding: 0 !important; */
  position: relative;
  height: 101vh;
  /* height: calc(100vh - var(--p2)); */
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  /* overflow: hidden; */
  padding: 0;
  /* padding-bottom: var(--p2) !important; */
}

#footer .row {
  z-index: 1;
}

#footer .row:last-child {
  padding-bottom: 0;
}

#footer_wrapper {
  background: var(--primary);
  position: absolute;
  /* Position absolutely within its parent */
  top: 0;
  /* Align to the top */
  left: 0;
  /* Align to the left */
  width: 100%;
  /* Full width of the parent */
  height: 100%;
  /* Full height of the parent */
}

.footer__bar {
  display: flex;
  justify-content: space-between;
  padding: var(--p2);
  background: rgba(200, 180, 250, .9);
  backdrop-filter: blur(24px);
}

#content svg path {
  stroke: var(--black);
}

#footer svg path {
  stroke: var(--secondary);
}

[data-theme="beige"] #footer svg path {
  stroke: var(--tertiary);
}

#footer ul {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}

/* section.horizontal {
  min-height: 100vh;
  width: 100%;
  max-width: 100vw;
  overflow-x: hidden;
  position: relative;
} */

.scrolltrigger-container {
  position: relative;
  padding: 0;
}

.horizontal-scroll {
  position: fixed !important
  /* height: 100dvh; */
  /*overflow: hidden;*/
  width: 100%;
  display: flex;
  top: 0;
  left: 0;
  margin: 0;
}

.pin-wrap {
  width: 100%;
  /* height: 100vh; */
  /* padding: 0 0 0 var(--margin) !important; */
}

.horizontal-scroll-row {
  /* display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  min-width: auto;
  flex-shrink: 0;
  position: relative;

  width: 100%;
  height: 100%; */
  /* padding: 0 var(--margin) !important; */
}

/* .horizontal-scroll-row>div {
  border: 1px solid red;
  position: relative;

  display: flex;
  align-items: start;
  padding-bottom: 0 !important;
  padding: 0;
  width: 100%;
}

.horizontal-scroll-row img {
  border: 1px solid blue;

  object-fit: cover;
  width: 100%;
  height: 100%;
}

.horizontal-scroll-row .fill {
  border: 3px solid green;
  width: 100%;
  height: 100%;
}

.horizontal-scroll-row .fill img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.lol .spacerly {
  display: flex;
  flex: 0 0 auto;
  width: var(--margin);
} */
/*--------------------------------------------------------------
# HORI MODIULES
--------------------------------------------------------------*/
.module {
  display: inline-flex;
  vertical-align: top;
  white-space: nowrap;
  height: 100%;
  margin: 0;
}

.module-image {
  padding: var(--p2);
  height: calc(100vh - var(--p2) * 2);
  display: flex;
  position: relative;
}

.module-image.--xl {
  padding: 0;
  height: 100vh;
  width: 100vw;
  display: flex;
  position: relative;
}

.module_image__img {
  display: flex;
}

.--xs .module_image__img {
  height: 33.3%;
}

.--sm .module_image__img {
  /*height: 50%;*/
  height: 50%;
}

.--md .module_image__img {
  height: 66.6%;
}

.--ml .module_image__img {
  height: 83.3%;
}

.--lg .module_image__img {
  height: 100%;
}

.--xl .module_image__img {
  height: 100%;
}

.--sm .module_image__img {
  /*height: 50%;*/
  height: 50%;
}

.--md .module_image__img {
  height: 66.6%;
}

.--ml .module_image__img {
  height: 83.3%;
}

.--lg .module_image__img {
  height: calc(100% - var(--p4));
}

.--xl .module_image__img {
  height: 100%;
}

.module-image .module_image__img img {
  width: auto;
  height: 100%;
}

.module-image.--xl .module_image__img img {
  object-fit: cover;
  width: 100vw;
  height: auto;
}

.--top {
  align-items: flex-start !important;
}

.--center {
  align-items: center !important;
}

.--bottom {
  align-items: flex-end !important;
}

.module-spacer--xs,
.module-spacer--sm,
.module-spacer--md,
.module-spacer--lg {
  width: 10vw;
  height: 100%;
}

.module-spacer--sm {
  width: 16vw;
}

.module-spacer--md {
  width: 26vw;
}

.module-spacer--lg {
  width: 36vw;
}

.module-text {
  height: 100%;
  display: flex;
  white-space: normal;
  justify-content: space-between;
  flex-direction:row;
}

.module-text__text {
  height: calc(100% - var(--p2) * 2);
  padding: var(--p2) 0;
  display: flex;
  white-space: normal;
  justify-content: space-between;
  flex-direction: column;
}

.module-text__text>div {
  height: auto;
  justify-content: space-between;
  flex-direction: column;
}

.module-text__text>div>div {
  padding-bottom: var(--p) !important;
}

.module-text.--sm .text__text {
  padding: var(--p2);
}

.module-caption.--sm .module-text__text {
  width: 20vw;
}

.module-text.--md .module-text__text {
  width: 36vw;
}

.module-text.--lg .module-text__text {
  width: 64vw;
}

.module-text.--xl .module-text__text {
  width: calc(50vw - var(--p2))
  /* padding: var(--p2) 10vw var(--p2) var(--p2); */
}

/* @media only screen and (min-width: 1441px) and (max-width: 1680px) {
  .module-text.--xl .module-text__text {
    width: calc(50vw - var(--p2))
  }
} */

@media only screen and (min-width: 481px) and (max-width: 960px) {

  .module-text__text>div {
    padding-top: 140px;
  }

  .module-text.--xl .module-text__text {
    width: calc(75vw - var(--p2))
  }
}

@media only screen and (max-width:480px) {
  .module-text__text>div {
    padding-top: 100px;
  }
  .module-text.--xl .module-text__text {
    width: calc(88vw - var(--p2))
  }
}
/* .pin-wrap>div:last-child {
  padding: 0 var(--gutter-half);
}

.pin-wrap>div:first-child {
  padding: 0 var(--gutter-half);
} */
/*--------------------------------------------------------------
# Section
--------------------------------------------------------------*/
[data-barba-namespace="Home"] section.entry {
  padding-top: 0;
}

section.entry {
  padding-top: 20vh;
}

section.entry>.row {
  padding-top: 0;
}

/*--------------------------------------------------------------
# Bulletpoints
--------------------------------------------------------------*/
ul.bullet {}

ul.bullet>li {
  display: flex;
  padding-bottom: .2em;
}

ul.bullet>li:last-child {
  padding-bottom: 0;
}

ul.bullet {
  counter-reset: list-number;
}

ul.bullet>li::before {
  padding-right: var(--gutter-half);
  counter-increment: list-number;
  content: counter(list-number);
}

/*--------------------------------------------------------------
# States
--------------------------------------------------------------*/
.is-loading {
  cursor: wait !important;
  pointer-events: none !important;
}

.is-loading body {
  overflow: hidden;
  pointer-events: none !important;
}

.is-loaded {
  pointer-events: none !important;
}

.is-loaded body a {
  pointer-events: none !important;
}

/*--------------------------------------------------------------
# Padding
--------------------------------------------------------------*/
.--p-0 {
  padding: 0 !important;
}

.--p {
  padding: var(--p);
}

.--p2 {
  padding: var(--p2);
}

.--ptb {
  padding-top: var(--p);
  padding-bottom: var(--p);
}

.--plr {
  padding-left: var(--p2);
  padding-right: var(--p2);
  padding-bottom: 0;
}

.--p-std {
  padding: var(--p) var(--p2);
}

.--pb {
  padding-bottom: var(--p);
}

.--pb-2 {
  padding-bottom: var(--p2);
}

.--pb-4 {
  padding-bottom: var(--p4);
}

.--pb-6 {
  padding-bottom: calc(var(--p) * 6);
}

.--pb-8 {
  padding-bottom: var(--p8);
}

.--pb-12 {
  padding-bottom: calc(var(--p) * 12);
}

.--pb-16 {
  padding-bottom: calc(var(--p) * 16);
}

.--pb-24 {
  padding-bottom: calc(var(--p) * 24);
}

.--pb-36 {
  padding-bottom: calc(var(--p) * 36);
}

.--pb-48 {
  padding-bottom: calc(var(--p) * 48);
}


.--pt {
  padding-top: var(--p);
}

.--pt-2 {
  padding-top: var(--p2);
}

.--pt-8 {
  padding-top: var(--p8);
}

.--pt-12 {
  padding-top: calc(var(--p) * 12);
}

.--pt-24 {
  padding-top: calc(var(--p) * 24);
}

.--pt-36 {
  padding-top: calc(var(--p) * 36);
}




/*--------------------------------------------------------------
# Short
--------------------------------------------------------------*/
.--blur {
  filter: blur(48px);
}

/*--------------------------------------------------------------
# Typeface
--------------------------------------------------------------*/
@font-face {
  font-family: "ABCProphet-Regular";
  src: url("./assets/fonts/ABCProphet-Regular.eot");
  /* IE9 Compat Modes */
  src: url("./assets/fonts/ABCProphet-Regular.eot?#iefix") format("embedded-opentype"),
    /* IE6-IE8 */
    url("./assets/fonts/ABCProphet-Regular.woff2") format("woff2"),
    /* Super Modern Browsers */
    url("./assets/fonts/ABCProphet-Regular.woff") format("woff"),
    /* Pretty Modern Browsers */
    url("./assets/fonts/ABCProphet-Regular.ttf") format("truetype");
  /* Safari, Android, iOS */
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "ABCProphet-Medium";
  src: url("./assets/fonts/ABCProphet-Medium.eot");
  /* IE9 Compat Modes */
  src: url("./assets/fonts/ABCProphet-Medium.eot?#iefix") format("embedded-opentype"),
    /* IE6-IE8 */
    url("./assets/fonts/ABCProphet-Medium.woff2") format("woff2"),
    /* Super Modern Browsers */
    url("./assets/fonts/ABCProphet-Medium.woff") format("woff"),
    /* Pretty Modern Browsers */
    url("./assets/fonts/ABCProphet-Medium.ttf") format("truetype");
  /* Safari, Android, iOS */
  font-style: normal;
  font-display: swap;
}

/* Font-weight  --fw-r --fw-r */
.--regular {
  font-family: "ABCProphet-Regular";
}

.--bold, b, strong {
  font-family: "ABCProphet-Medium";
}

/*--------------------------------------------------------------
# Typography Crop
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Typography
--------------------------------------------------------------*/
/* Paragraph */
body,
button,
input,
select,
ul,
textarea,
p {
  font-family: "ABCProphet-Regular";
  font-size: calc(16px + (16 - 12) * ((100vw - 300px) / (1800 - 300)));
  line-height: 1;
  letter-spacing: -0.02em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-variant-numeric: tabular-nums;
}

.tabular-num {
  font-variant-numeric: tabular-nums;
}

.tabular-num:not(":") {
  font-variant-numeric: normal;
}

/* Ascender & Descender */
h1, h2, h3, h4, h5, p {
  margin-block-start: -.05em;
  margin-block-end: -0.13em;
  /* margin-block-start: 0;
  margin-block-end: 0; */
}

h1, h2, h3, h4, h5 {
  font-family: "ABCProphet-Medium";
  line-height: 1;
  letter-spacing: -.04em;
  clear: both;
  font-weight: normal;
  /*text-transform: uppercase;*/
}

h3 {
  font-family: "ABCProphet-Regular";
}

h4, h5 {
  font-family: "ABCProphet-Medium";
}

.logo {
  font-family: "ABCProphet-Medium";
  font-size: calc(2em + (36 - 24) * ((100vw - 300px) / (1800 - 300)));
  color: var(--secondary);
  letter-spacing: -.04em;
  font-weight: 500;
}

.logo_img {
  /* position: fixed; */
  z-index: 99;
  /* left: var(--p4);
  bottom: var(--p4); */
  background-image: url("https://zbr.close-knit.ch/wp-content/themes/zbr/assets/img/ZBR_Head_white.svg");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  width: 80px;
  height: 80px;
}

h4, h5, p {
  font-size: inherit;
  margin-inline-start: -.01em;
  padding-bottom: .1em;
  /* ascent-override:5px; */
}

h4+p, h5+p {
  /* padding-top: .9em; */
}

h4+p.l2, h4+p.l1, h4+ul {
  padding-top: .2em;
}

p+h4, p+h5 {
  padding-top: var(--p2);
}

p:first-child, p+p {
  /*padding-bottom: 1.16em;*/
}

p:last-of-type {
  padding-bottom: 0;
}

.l5 {
  font-size: calc(6em + (168 - 84) * ((100vw - 300px) / (1800 - 300)));
  line-height: 1;
  margin-inline-start: -0.07em;
}

@media screen and (max-width:960px) {
  .l5 {
    font-size: calc(4.5em + (168 - 84) * ((100vw - 300px) / (1800 - 300)));
  }
}

@media screen and (min-width:1440px) {
  .l5 {
    font-size: 190px;
  }
}

.l1 {
  font-family: "ABCProphet-Regular";
  /* font-size: clamp(3rem, 6vw + 1rem, 7.5rem); */
  font-size: calc(3em + (124 - 64) * ((100vw - 300px) / (1800 - 300)));
  letter-spacing: -.05em;
  line-height: .9;
  margin-inline-start: -.05em;
  padding-bottom: .16em;
  /* transition: font-variation-settings 0.3s ease;
  animation-name: font-animation;
  animation-duration: 1.5s;
  animation-direction: alternate;
  animation-iteration-count: infinite;
  animation-timing-function: ease-in-out; */
}

h1 {
  font-family: "ABCProphet-Regular";
  font-size: calc(5.5em + (124 - 64) * ((100vw - 300px) / (1800 - 300)));
  letter-spacing: -.05em;
  line-height: .9;
  margin-inline-start: -.1em;
  padding-bottom: .16em;
  /* transition: font-variation-settings 0.3s ease;
  animation-name: font-animation;
  animation-duration: 1.5s;
  animation-direction: alternate;
  animation-iteration-count: infinite;
  animation-timing-function: ease-in-out; */
}

@keyframes font-animation {
  from {
    font-variation-settings: "wght"200, "ital"0, "NORD"100;
  }

  to {
    font-variation-settings: "wght"600, "ital"0, "NORD"800;
  }
}

@media only screen and (min-width: 960px) and (max-width: 1440px) {
  h1, .l1  {
    font-size: calc(3em + (64 - 36) * ((100vw - 300px) / (1800 - 300)));
  }
}

@media screen and (max-width:960px) {
  h1, .l1  {
    font-size: calc(3em + (124 - 64) * ((100vw - 300px) / (1800 - 300)));
  }
}

h1:last-child, h2:last-child, h3:last-child, h4:last-child {
  padding-bottom: 0em;
}

h2, .l2 {
  font-family: "ABCProphet-Regular";
  font-size: calc(3em + (64 - 36) * ((100vw - 300px) / (1800 - 300)));
  letter-spacing: -.05em;
  line-height: .9;
  margin-inline-start: -.05em;
  padding-bottom: .16em;
}

@media screen and (max-width:960px) {
  h2, .l2  {
    font-size: calc(2em + (64 - 36) * ((100vw - 300px) / (1800 - 300)));
  }
}

h3, .l3 {
  font-size: calc(1em + (36 - 24) * ((100vw - 300px) / (1800 - 300)));
  line-height: 1;
  margin-inline-start: -.01em;
  padding-bottom: .16em;
}

@media screen and (min-width:1440px) {
  h3 {}
}

.s1 {
  font-size: 0.7em;
  margin-block-end: -0.2em;
  padding-bottom: 0.3em;
}

h5 {
  font-family: "ABCProphet-Medium";
  color: rgba(0,0,0,0.3)
}

/* Text-transform */
.--tu {
  text-transform: uppercase;
}

.--tn {
  text-transform: none;
}

/*--------------------------------------------------------------
# Button
--------------------------------------------------------------*/
button, .btn {
  display: inline-block;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  background: var(--primary);
  padding: var(--p2) var(--p4);
  margin: 0;
  font-size: 0.7em;
  line-height: 1;
  border-radius: var(--br);
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  font-weight: normal;
  color: var(--white);
}

button, button:hover, button:focus, button:active, button:visited {
  /* outline: 0; */
  text-decoration: none;
}

form button:focus, form button:active, form button:visited {
  outline: 0;
  text-decoration: none;
}

button:hover {
  background: var(--secondary);
  color: var(--primary);
}

.form button:hover {
  background: var(--highlight);
  color: var(--primary);
}

.btn.--s {
  padding: var(--p) var(--p2);
}

.btn {
  margin: 0 var(--p025) 0 0;
}

.btn:last-child {
  margin: 0;
}

/*--------------------------------------------------------------
# Loader
--------------------------------------------------------------*/
#loader {
  /* mix-blend-mode: difference; */
  transform: translate3d(0, 0, 0);
  padding: calc(var(--p2)*0.75) 0;
  width: 100vw;
  height: 100vh;
  position: fixed;
  z-index: 99;
  pointer-events: none;
  /* align-items: flex-start;
  display: flex;
  justify-content: center; */
}

#loader p {
  display: none;
}

#loader .bg {
  /* backdrop-filter: blur(100px); */
  position: fixed;
  top: 0;
  left: 0;
  background-color: var(--black);
  width: 100vw;
  height: 100vh;
}

/*--------------------------------------------------------------
# Theme Color
--------------------------------------------------------------*/
.--primary {
  color: var(--primary) !important;
}

.--secondary {
  color: var(--secondary) !important;
}

.--tertiary {
  color: var(--tertiary) !important;
}

.--highlight {
  color: var(--highlight) !important;
}

.--white {
  color: var(--white);
}

.--black {
  color: var(--primary);
}

[data-theme="white"] #content {
  background: var(--white) !important;
  color: var(--primary) !important;
}

[data-theme="white"] p a::after, [data-theme="white"] p a::before, [data-theme="white"] a:hover::before, [data-theme="white"] a:hover::after {
  background: var(----primary) !important;
}

[data-theme="white"] p a::before, [data-theme="white"] a:hover::before {
  background: var(--primary) !important;
}

[data-theme="pink"] #content {
  background: var(--secondary) !important;
  color: var(--primary) !important;
}

/* [data-theme="pink"] p a::after, [data-theme="pink"] p a::before, [data-theme="pink"] a:hover::before, [data-theme="pink"] a:hover::after {
  background: var(--primary) !important;
} */

[data-theme="pink"] p a.hover::after {
  background: var(--highlight) !important;
}

[data-theme="pink"] p a::before, [data-theme="pink"] a:hover::before {
  background: var(--primary) !important;
}

[data-theme="pink"] #footer p a::after, [data-theme="pink"] #footer p a::before, [data-theme="pink"] #footer a:hover::before, [data-theme="pink"] #footer a:hover::after {
  background: var(--white) !important;
}

[data-theme="orange"] #content {
  background: var(--secondary) !important;
  color: var(--black) !important;
}

[data-theme="orange"] p a::after, [data-theme="orange"] p a::before, [data-theme="orange"] a:hover::before, [data-theme="orange"] a:hover::after {
  background: var(--secondary);
}

[data-theme="beige"] #content {
  background: var(--tertiary) !important;
  color: var(--primary) !important;
}

[data-theme="beige"] p a::after, [data-theme="beige"] p a::before, [data-theme="beige"] a:hover::before, [data-theme="beige"] a:hover::after {
  background: var(--primary) !important;
}

[data-theme="beige"] #footer p a::after, [data-theme="beige"] #footer p a::before, [data-theme="beige"] #footer a:hover::before, [data-theme="beige"] #footer a:hover::after {
  background: var(--white) !important;
}

[data-theme="black"] {
  color: var(--white) !important;
}

[data-theme="black"] #content {
  background: var(--black) !important;
}

[data-theme="black"] p a::after, [data-theme="black"] p a::before, [data-theme="black"] a:hover::before, [data-theme="black"] a:hover::after {
  background: var(--white);
  /* background: var(--white) !important; */
}

/*--------------------------------------------------------------
# Elements
--------------------------------------------------------------*/
hr {
  background-color: #ccc;
  border: 0;
  height: 1px;
  margin-bottom: 1.5em;
}

ul,
ol {
  padding: 0;
  margin: 0;
}

ul {
  width: 100%;
  list-style: none;
}

ul>li>p {
  padding-bottom: .3em;
}

nav>ul>li p {
  padding-bottom: .2em !important;
}

ul li a {
  line-height: 1;
  /*display: inline-block;*/
  text-decoration: none;
  position: relative;
}

ol {
  list-style: decimal;
}

li>ul,
li>ol {
  margin-bottom: 0;
  margin-left: 0;
}

dt {
  font-weight: 700;
}

dd {
  margin: 0 1.5em 1.5em;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
  max-width: 100%;
}

figure {
  margin: 0;
}

table {
  margin: 0 0 1.5em;
  width: 100%;
}

code {
  font-family: "ABCProphet-Medium";
  display: inline-flex;
  font-size: 1rem;
  background-color: var(--black-1);
  border-radius: var(--br);
  padding: var(--p025);
  padding-left: var(--p);
  align-items: center;
  margin: 0 0 var(--p05) 0;
}

code span {
  font-family: "Courier";
  letter-spacing: -0.04em;
  display: inline-flex;
  background-color: #fff;
  border-radius: var(--br);
  padding: var(--p05);
  margin-left: var(--p);
}

* {
  /* -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;*/
}

/* img {
  pointer-events: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -o-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-user-drag: none;
  -khtml-user-drag: none;
  -moz-user-drag: none;
  -o-user-drag: none;
  -ms-user-drag: none;
  user-drag: none;
} */
/*--------------------------------------------------------------
# Alignments
--------------------------------------------------------------*/
.--at {
  align-items: flex-start !important;
}

.--ab {
  align-items: flex-end !important;
}

.--top-self {
  align-self: flex-start;
}

.--center-self {
  align-self: center;
}

.--right-self {
  align-self: flex-end;
}

.--bottom-self {
  display: inline-flex;
  align-self: flex-end;
}

.--left {
  justify-content: flex-start;
}

.--center {
  display: flex;
  justify-content: center;
  align-items: center !important;
}

.--right {
  display: flex;
  justify-content: flex-end;
}

.--reverse {
  flex-direction: row-reverse;
}

.--j-center {
  justify-content: center;
}

.--a-right {
  text-align: right;
}

.--ta-c {
  text-align: center;
}

.--nowrap {
  white-space: nowrap;
}

.--sb {
  display: flex;
  justify-content: space-between;
}

.--ac {
  display: flex;
  align-items: center;
}

.--fd-r {
  flex-direction: row;
}

.--fd-c {
  flex-direction: column;
}

/*--------------------------------------------------------------
# Round Corners
--------------------------------------------------------------*/
.--br {
  border-radius: var(--br);
}

.--br2 {
  border-radius: var(--br2);
}

.--br3 {
  border-radius: var(--br3);
}

.--br4 {
  border-radius: var(--br4);
}

/*--------------------------------------------------------------
# Utilis
--------------------------------------------------------------*/
.--ns {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-user-drag: none; /* Disable image dragging on WebKit browsers */
  pointer-events: none;
}

/*--------------------------------------------------------------
# Links
--------------------------------------------------------------*/
a, a:hover, a:focus, a:active, a:visited {
  cursor: pointer;
  color: inherit;
  outline: 0;
  text-decoration: none;
}

p a {
  display: inline-table;
  position: relative;
  overflow: hidden;
}

p a.multi, p a.hover  {
  display: inline;
}

p a {
  text-decoration: none;
  position: relative;
  margin-bottom: 0px;
  padding-bottom: 0px;
  color: inherit;
  transition: 300ms ease;
  cursor: pointer;
}

p a::before, p a:hover::before {
  content: "";
  position: absolute;
  right: 0px;
  width: 100%;
  bottom: 1px;
  background: var(--primary);
  opacity: 0.2;
  height: 1px;
}

p a::after {
  content: "";
  position: absolute;
  right: 0px;
  width: 0px;
  bottom: 1px;
  background: var(--primary);
  height: 1px;
  transition-property: width;
  transition-duration: 300ms;
  transition-timing-function: ease;
}

p.s1 a::before, p.s1 a::after, .s1 p a::before, .s1 p a::after {
  bottom: 0px !important;
}

p.l2 a::after, p.l2 a::before {
  bottom: .05em;
  height: 0.03em;
}



p a:focus::after, p a:hover::after {
  left: 0px;
  right: auto;
  width: 100%;
}

nav p a::after {
  /* background: var(--white); */
}

a.hover {
  z-index: 1;
}

a.hover:hover {
  z-index: 1;
  /* color: var(--black) !important;
  transition: all 0.3s cubic-bezier(0.25, 1, 0.5, 1); */
}

a.hover::after {
  border-radius: 1px;
  content: "";
  position: absolute;
  top: -1px;
  right: 0em;
  left: 0em;
  height: 100%;
  width: 100%;
  z-index: -1;
  background: var(--primary);
  transform-origin: center top;
  transform: scale3d(1, 0, 1);
  transition: transform .3s cubic-bezier(0.25, 1, 0.5, 1);
}

a.hover:hover::after {
  width: 100%;
  background: var(--primary);
  transform-origin: center bottom;
  transform: scale3d(1.06, 1, 1.06);
  transition: transform .3s cubic-bezier(0.25, 1, 0.5, 1);
}

a.hover::before {
  opacity: 0.4 !important;
  content: "";
  display: block;
  position: absolute;
  right: 0;
  z-index: -1;
  bottom: 2px;
  height: 1px;
  width: 100%;
  background: var(--primary);
  opacity: 0.3;
  transition: transform 3.3s cubic-bezier(0.25, 1, 0.5, 1);
}

a.hover:hover::before {
  bottom: 2px;
  background: var(--primary);
  transition: transform 3.3s cubic-bezier(0.25, 1, 0.5, 1);
}

p.l2 a.hover::after {
  top: .16em;
  height: 75%;
}

p.l2 a.hover::before {
  /* background: var(--white-4) !important; */
  bottom: .21em;
  height: 0.03em;;
}


/*
V1
p a::before, p a::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 4px;
  height: 1px;
  width: 100%;
  opacity: 1 !important;
  transition: width 0s ease;
  pointer-events: none;
  z-index:
}

p a::after {
  background: var(--black);
  left: 0;
  right: auto;
  transition: width 0.3s ease;
}

p a:hover::before {
  background: var(--black);
  width: 0%;
  transition: width 0.3s ease;
}

p a:hover::after {
  width: 0%;
  background: var(--black);
  transition: width 0s ease;
} */
p a.multi span {
  background: linear-gradient(0deg, transparent, transparent), linear-gradient(0deg, var(--primary), var(--primary));
  background-position: 100% 82%, 100% 82%;
  background-repeat: no-repeat;
  background-size: 100% 0.03em, 0 0.03em;
  color: inherit;
  transition: background-size 0.6s cubic-bezier(0.16, 1, 0.3, 1);
  transition-delay: 0.05s;
}

p a.multi {
  background: linear-gradient(0deg, var(--primary-t), var(--primary-t)), linear-gradient(0deg, var(--primary-t), var(--primary-t));
  background-position: 100% 82%, 100% 82%;
  background-repeat: no-repeat;
  background-size: 0 0.03em, 100% 0.03em;
}

p a.multi:hover span {
  background-position: 100% 82%, 0 82%;
  background-size: 0 0.03em, 100% 0.03em;
}

p a.multi::before, p a.multi:hover::before, p a.multi::after, p a.multi:hover::after {
  display: none;
}

/*--------------------------------------------------------------
# Form
--------------------------------------------------------------*/
form {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  width: 100%;
}

.form {
  color: var(--primary);
}

.form input, .form textarea {
  font-size: 1em !important;
  outline: none;
  padding: 12px;
  border: 1px solid var(--black-2);
  border-radius: var(--br);
  margin-bottom: 6px;
  width: 100%;
  box-sizing: border-box;
  color: var(--primary);
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  resize: none;
}

.form input::placeholder, .form textarea::placeholder {
  color: var(--primary) !important;
  opacity: .2 !important;
}

.form label {
  display: inline-block;
  font-size: 0.7em;
  margin-block-start: -0.1em;
  padding-bottom: .5em;
  letter-spacing: 0;
  /* text-transform: uppercase; */
}

.form .info {
  display: inline-flex;
  overflow: hidden;
  height: 1.2em;
}

.form .info span {
  transform: translateY(1.2em);
  font-size: 1em;
}

input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
  /* Edge */
  color: var(--primary);
}

input:-webkit-autofill, input:-webkit-autofill:focus,
textarea:-webkit-autofill, textarea:-webkit-autofill:focus {
  background-color: var(--white) !important;
  color: var(--primary) !important;
  box-shadow: 0 0 0 1000px var(--white) inset !important;
}

input:hover, textarea:hover, input:focus, textarea:focus {
  border: 1px solid var(--highlight);
}

input:focus, textarea:focus {
  border: 1px solid var(--highlight);
}

input, input:hover, input:focus, input:active, input:visited {
  background: transparent !important;
}

textarea, textarea:hover, textarea:focus, textarea:active, textarea:visited {
  background: transparent !important;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus {
  font-size: 1em !important;
}

.form__loader {
  display: flex;
  margin: 0;
  padding: var(--p);
  justify-content: center;
  opacity: 0;
  visibility: hidden
}

.form__loader-circle {
  box-sizing: border-box;
  width: var(--p2);
  height: var(--p2);
  border: 2px solid #000;
  border-radius: 50%;
  border-left-color: transparent;
  border-bottom-color: transparent;
  background: none;
  margin: 0;
  animation: clockwise 300ms linear infinite;
  /* animation: rotate 1000ms cubic-bezier(0.65, 0, 0.35, 1) infinite; */
}

@keyframes clockwise {
  0% {
    transform: rotate(0deg)
  }

  100% {
    transform: rotate(360deg)
  }
}

@keyframes rotate {
  0% {
    transform: rotate(0)
  }

  50% {
    transform: rotate(-90deg)
  }

  100% {
    transform: rotate(0)
  }
}


#teaser r .cc__c {
  /* background: none; */
}

#teaser  .newsletter__top {
  display: flex;
  flex-direction: row;
  padding-bottom: var(--p);
}

#teaser .newsletter__bottom {
  display: flex;
  flex-direction: row;
  /* gap: var(--p025); */
  width: 100%;
  /* background-color: rgba(0, 0, 0, .9) !important; */
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  /* padding: var(--p05); */
  /* padding: var(--p025); */
}


#teaser .form input[type="email"] {
  width: 100%;
  margin-bottom: 0;
  color: var(--secondary) !important;
  border: 1px solid var(--primary) !important;
  border-right: none !important;
  padding: 0 calc(var(--p) - 4px);
  font-size: 0.7em !important;
  border-top-right-radius: 0px;
  /* background-color: rgba(0, 0, 0, 1) !important; */
  /* backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px); */
}

/* #newsletter input[type="email"]:hover {
  border: red !important;
} */

#teaser .form button:hover {
  background: var(--secondary);
  /* padding: var(--p) var(--p2); */
}

#teaser .form input::placeholder, #teaser .form textarea::placeholder {
  color: var(--secondary) !important;
  opacity: .5 !important;
  transition: opacity 0.4s cubic-bezier(0.16, 1, 0.3, 1);

}

#teaser .form input:focus::placeholder, #teaser .form textarea:focus::placeholder {
  opacity: 0 !important;
}

#teaser .form label {
  margin-block-start: 0.2em;
  padding: 0;
}


/*--------------------------------------------------------------
# Image Ratio
--------------------------------------------------------------*/
.ar-1-1 {
  aspect-ratio: 1 / 1;
}

.ar-2-3 {
  aspect-ratio: 2 / 3;
}

.--3-2, .--16-9, .--1-1, .--2-3 {
  position: relative;
  overflow: hidden;
}

.--3-2:before, .--16-9:before, .--1-1:before, .--2-3:before {
  content: "";
  display: block;
  box-sizing: content-box;
  width: 100%;
  height: 0;
  padding-bottom: 66.6%;
}

.--3-2 img, .--16-9 img, .--1-1 img, .--2-3 img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.--3-2:before {
  padding-bottom: 66.6%;
}

.--16-9:before {
  padding-bottom: 56.25%;
}

.--1-1:before {
  padding-bottom: 100%;
}

.--2-3:before {
  padding-bottom: 200%;
}



/*--------------------------------------------------------------
# Menu
--------------------------------------------------------------*/
#m *, .menu__overlay * {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

#m {
  position: fixed;
  display: flex;
  z-index: 100;
  justify-content: flex-end;
  /* justify-content: center; */
  top: 0;
  z-index: 101;
  transform-origin: top;
  right: 0;
  /* right: calc((100vw - var(--max-width)) / 2);
  transform: translateX(-100%); */
  padding: var(--margin);
  pointer-events: none;
  width: calc(100vw - var(--margin) * 2);
}

#m.menu #nav {
  display: flex;
  flex-direction: column;
}

#m.menu #nav li>p {
  /* pointer-events: auto; */
  display: inline-block;
}

#m.menu #nav li>p a::before {
  background: none;
}

#m.menu a {
  pointer-events: auto;
}

#m .menu {
  width: calc((100vw - var(--margin) * 2 - var(--gutter) * 2) / 4 + var(--gutter-half));
  display: flex;
  color: var(--white);
  background: var(--black-o);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  pointer-events: auto !important;
}


@media only screen and (min-width: 1441px) and (max-width: 1680px) {
  #m .menu {
  width: calc((100vw - var(--margin) * 2 - var(--gutter) * 2) / 3 + var(--gutter-half));
  }
}

@media only screen and (min-width: 960px) and (max-width: 1440px) {
  #m .menu {
  width: calc((100vw - var(--margin) * 2 - var(--gutter) * 2) / 2 + var(--gutter-half));
  }
}

@media only screen and (max-width:960px) {
  #m .menu {
    width: calc(100vw - var(--margin) * 2);
  }
}

#m svg path {
  stroke: var(--white);
}

/* #m .menu>div {
  display: flex;
  justify-content: space-between;
  padding: var(--p05) var(--p);
} */
#m .menu__top, #m .menu__reservation {
  display: flex;
  justify-content: space-between;
  overflow: hidden;
  /* text-transform: uppercase; */
}

#m .menu__bottom {
  display: flex;
  justify-content: center;
  overflow: hidden;
  background: none !important;
  height: 0;
}

#m .menu__bottom>div{
  display: flex;
  justify-content: center;
  height: 28px;
}

#m .menu__reservation>div {
  height: calc(28px + var(--p05) * 2 ) !important;
}

@media screen and (max-width:1440px) {
  #m .menu__reservation>div {
    height: auto !important;
  }
}

#m .menu__loader {
  position: relative;
  display: flex;
  align-self: center;
  background: var(--white-1);
  height: 1px;
  width: calc(100% - 4px);
}

#m .menu__loader .bar {
  top: 0;
  left: 0;
  position: absolute;
  display: block;
  background: var(--white);
  height: 1px;
  width: calc(50% - 4px);
}

#m .menu__divider {
  position: relative;
  display: flex;
  align-self: center;
  background: var(--white-1);
  height: 1px;
  width: calc(100% - 4px);
}

#m .menu__top>div, #m .menu__main>div, #m .menu__bottom>div {
  padding: var(--p);
}

.menu__top p {
  display: flex;
  justify-content: center;
  align-items: center;
}

.menu__reservation>div {
  width: 100%;
  padding: var(--p05) !important;
}

.btn__reservation {
  width: 100% !important;
  color: white;
  background: none;
}

.btn__reservation:hover {
  width: 100% !important;
  color: var(--primary);
  background: var(--secondary);
}

#m .menu__top .open-status {
  display: block;
  width: 6px;
  height: 6px;
  border-radius: 4px;
  margin-right: var(--p);
  margin-bottom: 2px;
  background: var(--green);
}

#m .menu__top .open-status::after {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  border-radius: 4px;
  margin-right: 8px;
  margin-bottom: 2px;
  background: var(--secondary);
  animation: blink 2s infinite;
}

#m .menu__top .open-status[data-open="open"] {
  background: var(--green);
}

#m .menu__top .open-status[data-open="closed"] {
  background: var(--red);
}

@keyframes blink {
  25% {
    opacity: 1;
  }

  50% {
    opacity: 0;
  }

  75% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

#m .menu__main {
  display: flex;
  justify-content: space-between;
}

#m .menu>div>div {
  display: flex;
  justify-content: center;
  align-items: center;
}

.menu_head path {
  stroke: var(--primary);
}

#m .menu .menu__logo p {
  font-size: 1.6em;
  padding-bottom: 1px;
}

#m .menu .menu__logo_head {
  position: relative;
  display: flex;
  width: 40px;
  justify-content: flex-start;
}

#m .menu .menu__logo_head>div {
  width: 28px;
  height: 28px;
}

#m .menu__burger {
  position: relative;
  display: flex;
  width: 40px;
  height: 30px;
  justify-content: flex-start;
  display: none;
}

.menu__overlay {
  /* position: fixed; */
  z-index: 0;
  position: relative;
  color: var(--white);
  padding: 0 !important;
  /* padding: var(--p) !important; */
  /* width: 100%; */
  height: 0px;
  overflow: hidden;
}

.menu__overlay ul {
  padding: var(--p3) var(--p) var(--p4) var(--p);
  height: 100%;
}

.menu__overlay #nav li {
  overflow: hidden;
  display: block;
  text-align: center;
}

.menu__overlay #nav li a {
  /*transform: translateY(-1em);*/
  display: block;
  transform: translate(0%, -110%);
  padding: var(--p) 0;
}

.menu__overlay #nav li a p {
  transition: all .3s cubic-bezier(.3,0,.3,1);
  display: block;
}

.menu__overlay #nav li a:hover p {
  color: var(--highlight);
}

#menu__btn {
  cursor: pointer;
  pointer-events: auto;
}

#m .burger {
  position: relative;
  width: 36px;
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  height: 15px;
  padding: 0 1px;
  transition: height 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.is-open #m .burger {
  height: 9.5px;
}

#m .burger .line {
  position: relative;
  width: 100%;
  height: 1.5px;
  background: var(--white);
}


.overlay-bg {
  display: none;
  position: fixed;
  cursor: pointer;
  pointer-events: none;
  z-index: 50;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100vw;
  height: 100vh;
  background: var(--black);
  opacity: 0;
}

.menu__btn {
  outline: none;
  cursor: pointer;
  width: var(--btn-height);
  height: var(--btn-height);
  background: var(--black);
  border-radius: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.is-open .search__btn:hover {
  border-color: white !important;
}

.menu__btn span, .menu__btn span:nth-child(1) {
  position: absolute;
  display: block;
  width: 18px;
  height: 1px;
  background: white;
  transform: translateY(-3px);
}

.menu__btn span:nth-child(1) {
  transform: translateY(3px);
}

.current-menu-item {
  cursor: default;
  pointer-events: none !important;
}

.current-menu-item p a::after {
  /* visibility: none;
  display: none; */
  width: 100%;
}

.current-menu-item a, .current-menu-item {
  pointer-events: none !important;
  opacity: 1;
  color: var(--secondary) !important;
}

a.current-menu-item::after, a.current-menu-item::before {
  width: 0px !important;
}

.main-navigation {
  display: block;
  width: 100%;
}

.main-navigation ul {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
}

.main-navigation li {
  position: relative;
}

.main-navigation a {
  display: block;
  text-decoration: none;
}

.menu__services {
  padding-bottom: calc(4 * var(--p));
}

@media screen and (max-width:960px) {
  .menu__services {
    padding-bottom: calc(12 * var(--p));
  }

  .main-navigation a {
    font-size: 1.4em;
  }
}

/*--------------------------------------------------------------
# Aleno
--------------------------------------------------------------*/

iframe.aleno-reservations {
  font-family: "ABCProphet-Regular" !important;
  border: none;
  bottom: 0;
  height: 100%;
  left: 0;
  min-height: 400px;
  min-width: 300px;
  position: fixed;
  right: 0;
  top: 0;
  width: 100vw;
  z-index: 2147483647
}

iframe.aleno-reservations body, iframe.aleno-reservations html {
  font-family: "ABCProphet-Regular" !important;
}

/*--------------------------------------------------------------
# is-inview
--------------------------------------------------------------*/
.fade .word {
  position: relative;
  display: flex-inline;
}

.fade .word::after {
  content: "";
  position: absolute;
  top: 0.04em;
  bottom: 0.07em;
  right: -0.05em;
  left: -0.05em;
  z-index: 1;
  background-color: var(--black);
  border-radius: 2px;
  transform-origin: center top;
  transform: scale3d(1, 1, 1);
  transition: transform 0.8s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.fade.is-inview .word::after {
  transform: scale3d(1, 0, 1);
}

.fade.is-inview .word:nth-of-type(2n+1)::after {
  transition-delay: 0s !important;
}

.fade.is-inview .word:nth-of-type(3n+1)::after {
  transition-delay: 0.05s !important;
}

.fade.is-inview .word:nth-of-type(4n+1)::after {
  transition-delay: 0.1s !important;
}

.fade.is-inview .word:nth-of-type(5n+1)::after {
  transition-delay: 0.15s !important;
}

.fade.is-inview .word:nth-of-type(6n+1)::after {
  transition-delay: 0.2s !important;
}

.fadeY {
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1);
  transform: translateY(40px);
  opacity: 0;
}

.fadeY.is-inview {
  transition-delay: 0.1s !important;
  transform: translateY(0);
  opacity: 1;
}


/*--------------------------------------------------------------
# Job Layout
--------------------------------------------------------------*/


.job_item {
  border-top: 1px solid var(--primary-t);
}

.job_item:last-child {
  border-bottom: 1px solid var(--secondary);
}

.job_item {
  counter-reset: list-number;
}

.job_item>div {
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.job_item .row {
  padding-top: var(--p2);
  width: var(--max-width);
  background: transparent;
  transition: all .3s cubic-bezier(.3,0,.3,1);
}


/* .list_item:hover:nth-child(2n) {
    color: var(--white);
}

.list_item:nth-child(2n)::before {
    background-color: var(--black);
} */

.job_item .row:hover {
  background: var(--primary);
}

.job_pensum {

}


.job_item a {
  display: block;
}

.job_item a .job_title {
  color: var(--primary);
  transition: all .3s cubic-bezier(.3,0,.3,1);
}

.job_item a:hover .job_title {
  color: var(--white) !important;
}

.job_item a .job_pensum {
  color: var(--white);
  transition: all .3s cubic-bezier(.3,0,.3,1);
}

.job_item a:hover .job_pensum {
  color: var(--secondary);
}

/*--------------------------------------------------------------
# Separator
--------------------------------------------------------------*/
.separator {
  width: 100%;
  padding: 0;
  margin: 0;
  height: 24px;
}

.separator.--sm {
  height: 48px;
}

.separator.--md {
  height: 84px;
}

.separator.--lg {
  height: 120px;
}

.separator.--xl {
  height: 200px;
}

@media only screen and (max-width:960px) {
  .separator.--sm {
    height: 24px;
  }

  .separator.--md {
    height: 40px;
  }

  .separator.--lg {
    height: 64px;
  }

  .separator.--xl {
    height: 100px;
  }
}

/*--------------------------------------------------------------
# Video
--------------------------------------------------------------*/
video {
  width: 100%;
  height: auto;
}

/*--------------------------------------------------------------
# image
--------------------------------------------------------------*/
img {
  width: 100%;
  height: auto;
}

/*--------------------------------------------------------------
# Cookie
--------------------------------------------------------------*/
#cc {
  pointer-events: none;
  bottom: var(--p2);
  display: flex;
  flex-direction: row;
  /* transform: translateY(100%); */
  position: fixed;
  z-index: 999;
  width: calc(100% - var(--margin) * 2);
  padding: 0 var(--margin);
  overflow: hidden;
  justify-content: flex-end;
}

.cc__c {
  background: var(--black-o);
  width: calc((100vw - var(--margin) * 2 - var(--gutter) * 2) / 4 + var(--gutter-half));
}


@media only screen and (min-width: 1441px) and (max-width: 1680px) {
  .cc__c {
    width: calc((100vw - var(--margin) * 2 - var(--gutter) * 2) / 3 + var(--margin));
  }
}

@media only screen and (min-width: 960px) and (max-width: 1440px) {
  .cc__c {
    width: calc((100vw - var(--margin) * 2 - var(--gutter) * 1) / 2 + var(--margin));
  }
}

@media only screen and (max-width:960px) {
  .cc__c {
    width: calc(100vw - var(--p4) - var(--p));
    flex-basis: 100%;
    max-width: 100%;
  }
}


.cc__card {
  padding: var(--p05);
  flex-direction: row;
  /* width: 100%; */
  /* padding: var(--p) var(--p) var(--p) var(--p2); */
  color: var(--white);
  position: relative;
  z-index: 9999;
  opacity: 1;
  font-size: inherit;
  line-height: inherit;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  position: relative;
  /* height: calc(var(--p) * 2 + ); */
}

#cc .cc__card {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}

.cc__card>p {
  padding-left: var(--p);
}

.cc__button {
  pointer-events: auto;
  /* height: calc(var(--p) * 2 + ); */
}

/* .cc__button button {
  background: none;
  color: var(--white);
  border: 1px solid var(--secondary);
} */

/*--------------------------------------------------------------
# Teaser
--------------------------------------------------------------*/
#teaser {
  pointer-events: auto;
  bottom: var(--p2);
  display: flex;
  flex-direction: column;
  /* transform: translateY(100%); */
  position: fixed;
  z-index: 9999;
  width: calc(100% - var(--p2) * 2);
  padding: 0 var(--p2);
  overflow: hidden;
  align-items: flex-end;
}

.cc__c {
  padding: var(--p05);
}


.cc__card {
  width: calc(100% - var(--p) * 2);
  padding: var(--p) var(--p) var(--p) var(--p);
  color: var(--white);
  position: relative;
  z-index: 9999;
  opacity: 1;
  font-size: inherit;
  line-height: inherit;
  display: flex;
  flex-direction: column;
  position: relative;
  justify-content: flex-start;
  align-items: flex-start;
  transition: background-color 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.cc__card p {
  transition: color 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.cc__card {
  border-radius: var(--br);
}

.cc__c:not(:last-child) {
  border-bottom: 1px solid var(--white-1);
}



.cc__card>p, #teaser .cc__card>h4 {
  padding-left: 0;
}

.cc__card>*:last-child {
  padding-bottom: 0;
}

.cc__card>h4 {
  padding-bottom: var(--p);
}

.cc__card>p:last-child {
  padding-bottom: 0;
}

a:hover .cc__card {
  background: var(--secondary);
}

a:hover .cc__card p {
  color: var(--primary) !important;
}

/*--------------------------------------------------------------
# grecaptcha
--------------------------------------------------------------*/

.grecaptcha-badge {
    visibility: hidden !important;
}

/*--------------------------------------------------------------
# Lenis
--------------------------------------------------------------*/
html {
  scroll-behavior: initial !important;
}

html,
body {
  scroll-behavior: initial !important;
  min-height: 100% !important;
  height: auto !important;
  overflow: auto;
}

body {
  overflow-x: hidden;
}

.lenis.lenis-smooth {
  scroll-behavior: auto !important;
}

::-webkit-scrollbar {
  display: none !important;
}

#page::-webkit-scrollbar {
  display: none !important;
}

@media (pointer:none), (pointer:coarse) {
  .scrollbar {
    display: none;
  }
}

.scrollbar {
  /* mix-blend-mode: difference; */
  position: fixed;
  right: 0;
  bottom: 0;
  top: 0;
  z-index: 9999;
  padding: 0;
  width: 4px;
}



.scrollbar .inner {
  width: 4px;
  height: 100vh;
  position: relative;
}

.scrollbar .thumb {
  min-height: 40px;
  width: 4px;
  background-color: var(--black-o);
  position: absolute;
  right: 0;
  /* transition: height 0s cubic-bezier(0.16, 1, 0.3, 1), width 0.6s cubic-bezier(0.87, 0, 0.13, 1);; */
}

.lenis-scrolling .scrollbar .thumb {
  width: 4px;
}


.is-loaded .scrollbar .thumb, .is-loading .scrollbar .thumb {
  width: 0px;
}


.is-loaded #wrapper, .is-loading #wrapper {
  /*overflow: hidden;*/
}

html.lenis {
  height: auto;
}

.scroll-wrapper {
  scroll-behavior: auto;
  position: fixed;
  left: 0%;
  top: 0%;
  right: auto;
  bottom: auto;
  z-index: 2;
  width: 100%;
  height: 100%;
  overflow-y: scroll;
  overflow-x: hidden;
}

.scroll-content {
  height: auto;
}

/* IMPORTANT */
.is-mobile .scroll-wrapper {
  position: relative !important;
  height: 100% auto;
  overflow: visible !important;
}

.is-mobile .scroll-content {
  position: relative !important;
}

html.is-mobile {
  height: 100% !important;
  overflow: visible !important;
}

.is-mobile body {
  height: 100% !important;
  overflow: visible !important;
}



html.lenis {
  height: auto;
}

.lenis.lenis-smooth {
  scroll-behavior: auto;
}

.lenis.lenis-smooth [data-lenis-prevent] {
  /*overscroll-behavior: contain;*/
}

.lenis.lenis-stopped {
  overflow: hidden;
}

.lenis.lenis-scrolling iframe {
  pointer-events: none;
}

/*--------------------------------------------------------------
#
--------------------------------------------------------------*/
.pin-spacer {
  pointer-events: none;
}

.pin-spacer a {
  pointer-events: auto;
}

/*--------------------------------------------------------------
# Splitting
--------------------------------------------------------------*/
.word {
  overflow: hidden !important;
  display: inline-flex;
  height: 1.1em;
  position: relative;
  margin-block-start: -0.5em;
  margin-block-end: -0.8em;
  padding-right: 0.03em;
}

[data-scroll="y"] .word {
  background: transparent;
  color: transparent;
  overflow: hidden;
  position: relative;
}

[data-scroll="y"] .word::before {
  display: block;
  content: attr(data-word);
  position: absolute;
  color: var(--primary);
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
  transition-delay: calc(.05s + (.06s * var(--line-index)));
}

[data-scroll="y"].--white .word::before {
  color: var(--white);
}


[data-scroll="y"] .word::before {
  transform: translateY(-1.2em);
}

[data-scroll="y"] [data-scroll].is-inview.word::before {
  transform: translateY(0) !important;
}
