/*--------- BASICS ---------*/

:root {
  scrollbar-color: var(--clr-grey) var(--clr-background);
}

html {
  scrollbar-gutter: stable;
  scrollbar-width: thin;
}

body {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
}

/*--------- GENERAL ---------*/

.hide {
  display: none !important;
}

.hidden {
  opacity: 0;
  visibility: hidden;
}

.prevent-scroll {
  overflow: hidden;
  height: 100%;
}

.full-width {
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
}

.cover {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
}

.img-css {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.block {
  display: block;
}

.float-left {
  float: left;
}

.float-right {
  float: right;
}

.center {
  text-align: center;
}

.center > * {
  margin-left: auto;
  margin-right: auto;
}

/*--------- FONT STUFF ---------*/

a {
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}

.light {
  font-weight: var(--fw-l);
}

.medium {
  font-weight: var(--fw-m);
}

.strong,
strong,
.bold {
  font-weight: var(--fw-b) !important;
}

.semibold {
  font-weight: var(--fw-sb);
}

p a {
  cursor: pointer;
  transition: opacity 0.3s;
}

/* p {
  hyphens: auto;
  hyphenate-limit-chars: 6 3 2;
} */

.hd-1,
.hd-2,
.hd-3,
.hd-4,
.hd-5,
h1,
h2,
h3,
h4,
h5 {
  line-height: 130%;
}

.hd-1,
.hd-2,
.hd-3,
.hd-4,
.hd-1 *,
.hd-2 *,
.hd-3 *,
.hd-4 * {
  hyphens: none;
}

.hd-1,
.hd-2,
.hd-3,
.hd-4 {
  text-wrap: balance;
}

.fs-xl {
  font-size: var(--fs-xl);
}

.fs-l {
  font-size: var(--fs-l);
}

.fs-m {
  font-size: var(--fs-m);
}

.fs-std {
  font-size: var(--fs-std);
}

.fs-s {
  font-size: var(--fs-s);
}

.fs-xs {
  font-size: var(--fs-xs);
}

.fw-l {
  font-weight: var(--fw-l);
}

.fw-m {
  font-weight: var(--fw-m);
}

.fw-sb {
  font-weight: var(--fw-sb);
}

.fw-b {
  font-weight: var(--fw-b);
}

/*--------- COLORS ---------*/

.clr-white {
  color: #fff;
}

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

.clr-dark-grey {
  color: var(--clr-dark-grey);
}

.clr-grey {
  color: var(--clr-grey);
}

.clr-light-grey {
  color: var(--clr-background);
}

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

@media (min-width: 45em) {
  a,
  .akkordeon-titel {
    transition: opacity, 0.3s;
    cursor: pointer;
  }
  /*   a:hover,
  .akkordeon-titel:hover {
    opacity: 0.5;
  }*/
}

.blog-content p + h2 {
  margin-top: 2em;
}

.blog-content p + h3 {
  margin-top: 1.5em;
}

.blog-content li + li,
.blog-content p + ul {
  margin-top: 0em;
}

.blog-content ul + p {
  margin-top: 1.5em;
}

.blog-content ul {
  list-style: circle;
  padding-left: 1.5rem;
}

.blog-content li {
  list-style-type: "–";
  padding-left: 10px;
}

.background-clr {
  background-color: var(--clr-grey-dark);
}

/*--------- FLEX HELPER ---------*/

.flex {
  display: flex;
}

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

.flex-baseline {
  align-items: baseline;
}

.flex-start {
  align-items: flex-start;
}

.flex-end {
  align-items: flex-end;
}

.flex-wrap {
  flex-wrap: wrap;
}

.space-between {
  justify-content: space-between;
}

.space-around {
  justify-content: space-around;
}

.columns {
  display: flex;
  flex-direction: column;
  gap: 4rem;
}

@media (min-width: 45em) {
  .columns {
    flex-direction: row;
  }
  .columns > * {
    flex: 1;
  }
}

/*--------- HIDE OBJECTS ---------*/

@media (max-width: 45em) {
  .hide-mobile {
    display: none !important;
  }
}
@media (max-width: 60em) {
  .hide-tablet {
    display: none !important;
  }
}
@media (min-width: 45em) {
  .hide-desktop {
    display: none !important;
  }
}

/*--------- CONTAINERS ---------*/

.container {
  margin: 0 auto;
  width: 100%;
  /* max-width: var(--max-width-1); */
  padding-left: var(--padding-desktop);
  padding-right: var(--padding-desktop);
}

@media (max-width: 45em) {
  .container,
  .container-mobile,
  .container-esc-right,
  .container-esc-left {
    padding-left: var(--padding-mobile);
    padding-right: var(--padding-mobile);
  }
}

/*--------- MAX WIDTH ---------*/

.max-width-1 {
  max-width: var(--max-width-1);
}
.max-width-2 {
  max-width: var(--max-width-2);
}
.max-width-3 {
  max-width: var(--max-width-3);
}

.text-width {
  max-width: 80ch;
  margin-left: auto;
  margin-right: auto;
}

/*--------- MODULES ---------*/

.module + .module,
.module + .clr-module,
.clr-module + .module {
  margin-top: var(--spacing-5);
}

.clr-module {
  padding-top: var(--spacing-6);
  padding-bottom: var(--spacing-6);
  background-color: var(--clr-dark-grey);
}

/* .module:last-child {
  margin-bottom: var(--spacing-5);
} */

.clr-module .module:last-child {
  margin-bottom: 0;
}

.clr-module:last-child,
.photo-module:last-child {
  margin-bottom: 0;
}

/*--------- FLOWS ---------*/

.adapt-flow > *:not(:last-child) {
  margin-bottom: 0.3em;
}

.gap-1 {
  gap: var(--spacing-1);
}

.gap-2 {
  gap: var(--spacing-2);
}

.gap-3 {
  gap: var(--spacing-3);
}

.hflow,
.hflow-1,
.hflow-2,
.hflow-3,
.hflow-4,
.hflow-5,
.gap-1,
.gap-2,
.gap-3 {
  display: flex;
}

.vflow-1 > * + *,
.flow-1 > * + * {
  margin-top: var(--spacing-1);
}

.vflow-2 > * + *,
.flow-2 > * + * {
  margin-top: var(--spacing-2);
}

.vflow-3 > * + *,
.flow-3 > * + * {
  margin-top: var(--spacing-3);
}

.vflow-4 > * + *,
.flow-4 > * + * {
  margin-top: var(--spacing-4);
}

.vflow-5 > * + *,
.flow-5 > * + * {
  margin-top: var(--spacing-5);
}

.hflow-1 > * + * {
  margin-left: var(--spacing-1);
}

.hflow-2 > * + * {
  margin-left: var(--spacing-2);
}

.hflow-3 > * + * {
  margin-left: var(--spacing-3);
}

.hflow-4 > * + * {
  margin-left: var(--spacing-4);
}

.hflow-5 > * + * {
  margin-left: var(--spacing-5);
}

@media (min-width: 45em) {
  .flow,
  .flow-1,
  .flow-2,
  .flow-3,
  .flow-4,
  .flow-5 {
    display: flex;
  }

  .flow-1 > * + * {
    margin-left: var(--spacing-1);
    margin-top: 0;
  }

  .flow-2 > * + * {
    margin-left: var(--spacing-2);
    margin-top: 0;
  }

  .flow-3 > * + * {
    margin-left: var(--spacing-3);
    margin-top: 0;
  }

  .flow-4 > * + * {
    margin-left: var(--spacing-4);
    margin-top: 0;
  }
  .flow-5 > * + * {
    margin-left: var(--spacing-5);
    margin-top: 0;
  }
}

.right-auto {
  margin-right: auto;
}

.left-auto {
  margin-left: auto;
}

.top-auto {
  margin-top: auto;
}

.bottom-auto {
  margin-bottom: auto;
}

/*--------- AKKORDEON ---------*/

.akkordeon-content {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 300ms;
  padding-bottom: 1rem;
  margin-bottom: 1rem;
  border-bottom: 1px solid var(--clr-primary-1);
}

.em-titel {
  cursor: pointer;
  font-weight: var(--fw-m);
}

.akkordeon-titel img {
  transition: rotate, 300ms;
}

.akkordeon-content[aria-hidden="false"],
.active-content .akkordeon-content {
  grid-template-rows: 1fr;
}

.akkordeon-content > div {
  overflow: hidden;
}

.akkordeon-content > div > p {
  padding-top: 1.2rem;
}

.akkordeon-item img {
  width: 16px;
  height: auto;
}

.active-content .akkordeon-titel img {
  transform: rotate(180deg);
}

/* ––––––––––––––– LEGAL PAGE ––––––––––––––– */

.legal-container {
  padding-top: var(--spacing-7);
  padding-bottom: var(--spacing-7);
}

.legal-container > * + * {
  margin-top: 0.5rem;
}

.legal-container h1,
.legal-container h2,
.legal-container h3,
.legal-container h4,
.legal-container h5 {
  font-weight: var(--fw-b);
}

.legal-container h1 {
  margin-bottom: 1.5rem;
  font-size: 2.5rem;
  letter-spacing: -0.5px;
}

.legal-container * + h1 {
  margin-top: 5rem;
}

.legal-container h2 {
  margin-top: 3rem;
  padding-top: 3rem;
  font-size: 2.2rem;
  letter-spacing: -0.5px;
}

.legal-container h1 + h2 {
  border-top: none;
}

.legal-container h3 {
  font-size: 1.2rem;
  text-transform: uppercase;
  margin-top: 3rem;
}

.legal-container h2 + h3 {
  margin-top: 2rem;
}

.legal-container h4 {
  margin-top: 1.2rem;
}

.legal-container ul li::before {
  content: "–";
  margin-right: 0.5rem;
}

.legal-container strong {
  font-weight: var(--fw-b) !important;
  color: inherit;
}

.legal-container a {
  color: var(--clr-primary);
  font-weight: var(--fw-m);
}

/* ––––––––––––––– SPLIDE ––––––––––––––– */

.splide__pagination {
  padding-top: 1rem;
}

.splide__pagination__page {
  background: white;
  border: none;
  padding: 0;
  height: 12px;
  width: 12px;
  border-radius: 10rem;
}

.splide__pagination__page.is-active {
  background: var(--clr-primary);
}

.splide__pagination li + li {
  margin-left: 0.7rem;
}

.splide__track {
  height: 100%;
}

.splide__slide {
  height: 100%;
  width: 100%;
}

.splide__arrows {
  display: flex;
}

.splide__arrow {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  background-color: transparent;
  border: 0;
  padding: 0;
  pointer-events: all;
}

.splide__arrow:disabled {
  opacity: 0.3;
}

.splide__arrow--prev {
  background-image: url("../images/splide-arrow-left.svg");
}

.splide__arrow--next {
  background-image: url("../images/splide-arrow-right.svg");
}

/* ––––––––––––––– BROWSER-UPDATE ––––––––––––––– */

body .buorg {
  background-color: white;
  font-size: 1rem;
  font-family: inherit;
}

body #buorgul,
body #buorgig {
  border-radius: 0;
  box-shadow: none;
}

body #buorgul {
  background: var(--clr-primary);
}

body #buorgig {
  background-color: var(--clr-grey);
}

/* ––––––––––––––– MAPBOX ––––––––––––––– */

.mapboxgl-ctrl.mapboxgl-ctrl-attrib {
  background-color: transparent !important;
}

.mapboxgl-ctrl.mapboxgl-ctrl-attrib * {
  color: white !important;
}

.mapboxgl-popup-content {
  border-radius: 16px !important;
  padding: 1rem !important;
}

.mapboxgl-popup-close-button {
  font-size: 1.5rem !important;
  top: 5px !important;
  right: 5px !important;
  color: var(--clr-grey) !important;
}

a.mapboxgl-ctrl-logo {
  width: 70px !important;
  background-size: contain;
}

.mapboxgl-popup-tip {
  margin-top: -1px !important;
}

.marker {
  height: 4rem;
  width: 4rem;
  background-image: url("../images/map-marker.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

/* ––––––––––––––– LENIS SMOOTH SCROLL ––––––––––––––– */

/* 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;
}

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

/*--------- GUTENBERG BLOCKS ---------*/

.wp-block-gallery,
.blog-content p:has(img) {
  margin: var(--spacing-4) 0;
  display: flex;
  gap: 0.5rem;
}
/* 
.wp-block-gallery figure {
  flex: 1 1 50%;
  align-self: stretch;
}
*/
.wp-block-gallery figure img,
.blog-content > p > img {
  max-height: 20rem;
  height: 100%;
  width: auto;
  object-fit: cover;
}
