/* Inner Styles */

/* ///////////////////// */

/* -------------- */
/* SETUP */
/* DESKTOP */
/* MINI-DESKTOP */
/* TABLET */
/* MOBILE */
/* MINI-MOBILE */
/* SPECIAL BREAKPOINTS */
/* -------------- */

/* DESKTOP //////////////////////////////////////////////////////////////// */
/*
01. Inner Content
02. Components
*/

/*
-----------------------------------------------------------------------------

01. Inner Content

-----------------------------------------------------------------------------
*/

/* COOKIE BANNER REINFORCEMENT *******************************************************************************/

/*--- Closed State */

.cookie-banner.closed {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.cookie-banner.extended .cookie-main-wrap {
  display: none;
}

.cookie-banner.extended .cookie-settings-wrap {
  display: block;
}

/*--- Cookie Banner - Settings Wrap */

.cookie-banner .cookie-settings-wrap {
  display: none;
  overflow: hidden;
  position: absolute;
  height: 100%;
}

/* MODAL *******************************************************************************/

.modal {
  display: none;
  position: fixed;
  z-index: 10000;
  /* padding-top: 7rem; */
  /* Location of the box */
  left: 0;
  top: 0;
  width: 100%;
  height: 100vh;
  overflow: auto;
  background-color: rgba(255, 255, 255, 0.91);
}

.modal.visible {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

/* content wrapper */
.modal .modal__inner {
  position: relative;
  margin: auto;
  display: block;
  width: clamp(50rem, 70vw, 85rem);
  background: var(--color__light);
  -webkit-box-shadow: 0px 0.25rem 1rem -0.1rem rgba(0, 0, 0, 0.25);
  box-shadow: 0px 0.25rem 1rem -0.1rem rgba(0, 0, 0, 0.25);
}

.modal.modal--small .modal__inner {
  width: min(90%, 25rem);
  -webkit-transform: scale(0.9);
  -ms-transform: scale(0.9);
  transform: scale(0.9);
}

.modal.modal--full {
  /* padding-top: 0; */
  /* top: var(--nav_height); */
  /* height: calc(100% - var(--nav_height)); */
}

.modal.modal--full .modal__inner {
  width: 100%;
  height: 100%;
}

.modal .modal-content {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
}

/* close button */
.modal .trigger--close {
  position: absolute;
  top: 2rem;
  right: 2rem;
  color: var(--color__accent);
  -webkit-transition: 0.1s;
  -o-transition: 0.1s;
  transition: 0.1s;
  z-index: 20000;
}

.modal .trigger--close .svg-icon {
  width: 1.4rem;
  height: 1.4rem;
}

.trigger--close:hover,
.trigger--close:focus {
  -webkit-transform: scale(1.1);
  -ms-transform: scale(1.1);
  transform: scale(1.1);
  text-decoration: none;
  cursor: pointer;
}

/* HOME *******************************************************************************/

/*** Hero Scene */

.home .main__inner {
  /* override default page margin (space to nav) */
  margin-top: 0;
}

.hero-scene .flex-wrap {
  position: relative;
  height: 100vh;
  height: calc(100 * var(--vh, 1vh));
  height: 100svh;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.hero-scene .flex-wrap::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    from(rgba(255, 255, 255, 0.95)),
    color-stop(41.44%, rgba(255, 255, 255, 0.35955)),
    to(rgba(255, 255, 255, 0.15))
  );
  background: -o-linear-gradient(
    top,
    rgba(255, 255, 255, 0.95) 0%,
    rgba(255, 255, 255, 0.35955) 41.44%,
    rgba(255, 255, 255, 0.15) 100%
  );
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.95) 0%,
    rgba(255, 255, 255, 0.35955) 41.44%,
    rgba(255, 255, 255, 0.15) 100%
  );
}

.hero-scene .hero-bg {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  overflow: hidden;
  -o-object-fit: cover;
  object-fit: cover;
}

.hero-scene .scroll-hint {
  position: absolute;
  height: 15vh;
  height: 15svh;
  width: 0.125rem;
  background: var(--color__light);
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  z-index: 5;
  opacity: 0.85;
}

/* ***** News */
.mobile-container {
  display: none;
}

/* ***** Services Overview */

section.__services-overview .service-item {
  position: relative;
}

section.__services-overview .service-item__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  backdrop-filter: blur(0.5rem) brightness(1);
  -webkit-backdrop-filter: blur(0.5rem) brightness(1);
}

section.__services-overview .service-item__inner {
  position: relative;
}

@media only screen and (max-width: 110rem) {
  section.__services-overview .grid-wrap .box-lg-6 {
    -ms-grid-column-span: 6;
    grid-column-end: span 6;
  }
}

/* POSTS *******************************************************************************/

/****** Post grid */

.post-box .covered-image-wrap {
  position: relative;
}

.post-box .covered-image-wrap::after,
.post-box .covered-video-wrap::after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 60%;
  bottom: 0;
  left: 0;
  background: var(--gradient__light-alpha);
  pointer-events: none;
  transform: translate3d(0, 0, 0);
  will-change: transform;
}

.post-box .title-wrap {
  position: absolute;
  z-index: 1;
  top: unset;
  bottom: 0;
  left: 0;
  margin: 0;
  padding: 1.5em;
  height: auto;
  width: 100%;
  pointer-events: none;
}

.post-box .title {
  font-weight: 400;
}

/**/

.post-box .videopress-wrap {
  position: absolute;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

@media (pointer: coarse) {
  .post-box .videopress-wrap {
    pointer-events: none;
  }
}

.post-box .videopress-wrap .video-js {
  position: absolute;
  /* default value for 16:9 videos -> 240%, will be adjusted by JS */
  width: 240%;
  height: 100%;
  min-width: 100%;
}

.post-box .svg-icon.icon--eye {
  display: inline-block;
  margin-right: 0.1em;
  height: 1em;
  width: 1.5em;
  -webkit-transform: scale(0.75) translateY(0.2em);
  -ms-transform: scale(0.75) translateY(0.2em);
  transform: scale(0.75) translateY(0.2em);
  -webkit-transform-origin: center left;
  -ms-transform-origin: center left;
  transform-origin: center left;
}

.post-box .svg-icon .fill {
  fill: var(--color__primary);
}

.home .post-box .videopress-wrap > div {
  /* disable mouse events by videopress to prevent conflicts with swiper js */
  pointer-events: none;
}

/**/

.grid-wrap .empty-notice {
  display: none;
}

.fma-wrap .fma-control-active {
  border-color: var(--color__accent);
}

/* SINGLE POST *******************************************************************************/

/* COURSES *******************************************************************************/

.course-filter .mixitup-control-active {
  border-color: var(--color__accent);
}

/**/

.course-box__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  height: 100%;
}

.course-box .course-image-wrapper {
  position: relative;
}

.course-box .course-label-wrapper {
  position: absolute;
  width: calc(100% - 2em);
  bottom: 0;
  left: 0;
  margin: 0 0 1em 1em;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;

  font-family: var(--font-family-monospace);
  font-size: var(--fsize__s);
  letter-spacing: 0.1875em;
  z-index: 2;
}

.course-box .course-price,
.course-box .course-cat {
  color: var(--color__light);
  line-height: 1.65em;
  padding: 0.5em 1em;
  background-color: var(--color__accent);
  border: var(--border__regular);
  border-color: var(--color__accent);
}

.course-box .course-price {
  white-space: nowrap;
}

.course-box .course-cat {
  padding: 0.5em 0;
  border-color: transparent;
  background-color: transparent;
}

.course-box .covered-image-wrap::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  display: inline-block;
  height: 100%;
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    color-stop(60%, rgba(255, 255, 255, 0)),
    to(rgb(0, 0, 0))
  );
  background: -o-linear-gradient(top, rgba(255, 255, 255, 0) 60%, rgb(0, 0, 0) 100%);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 60%, rgb(0, 0, 0) 100%);
  width: 100%;
}

.course-box .course-description-wrapper {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  background-color: var(--color__accentLight);
  padding: 0em 2em 2em;
}

/* GENERAL FORM STYLES *******************************************************************************/

.field-wrap {
  margin-bottom: 3em;
}

/****** Labels */

.field-wrap > label {
  display: block;
  margin-bottom: 0.5em;
  font-size: var(--fsize__s);
  color: var(--color__primary);
  font-family: "Soehne", sans-serif;
  font-weight: 400;
}

/* 
.form-wrap span.label,
.form-wrap label {
  margin-bottom: 0.35em;
  display: inline-block;
  font-size: var(--fsize__s);
  color: var(--color__accent);
  font-family: "Soehne", sans-serif;
  font-weight: 300;
} */

/****** Input fields  */

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
.field-wrap.dropdown select,
textarea {
  font-size: var(--fsize__s);
  border-top: 0;
  border-left: 0;
  border-right: 0;
  border-bottom: var(--border__regular);
  padding: 0.2em 0.6em 0.6em 0;
  border-radius: 0;
  background: transparent;
  color: var(--color__accent);
}

.search-form input[type="search"] {
  -moz-appearance: none;
  /* older firefox */
  -webkit-appearance: none;
  /* safari, chrome, edge and ie mobile */
  appearance: none;
  /* rest */
  border-radius: var(--radius__regular);
  margin-bottom: 0;
  background: var(--color__light);
}

input,
select,
textarea {
  color: var(--color__accent);
  width: 100%;
}

.field-wrap.textarea {
  margin: 2em 0 0 0;
}

textarea {
  border: var(--border__regular);
  line-height: 1.5625em;
  height: 16em;
  max-height: 30em;
  margin: 0;
  resize: none;
  padding: 0.6em;
}

textarea:focus,
input:focus {
  color: var(--color__accent);
  outline: unset;
  border-top: 0;
  border-left: 0;
  border-right: 0;
  border-bottom: var(--border__regular);
}

textarea:focus {
  border: var(--border__regular);
}

::-webkit-input-placeholder {
  /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: var(--color__accent);
  opacity: 1;
  /* Firefox */
}

::-moz-placeholder {
  /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: var(--color__accent);
  opacity: 1;
  /* Firefox */
}

:-ms-input-placeholder {
  /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: var(--color__accent);
  opacity: 1;
  /* Firefox */
}

::-ms-input-placeholder {
  /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: var(--color__accent);
  opacity: 1;
  /* Firefox */
}

::placeholder {
  /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: var(--color__accent);
  opacity: 1;
  /* Firefox */
}

:-ms-input-placeholder {
  /* Internet Explorer 10-11 */
  color: var(--color__accent);
}

::-ms-input-placeholder {
  /* Microsoft Edge */
  color: var(--color__accent);
}

/* --- Radio & Checkbox */

input[type="radio"],
input[type="checkbox"] {
  display: none;
}

.field-wrap .option-wrap {
  display: inline-block;
  margin: 0.4rem 1rem 0 1.6rem;
  position: relative;
  font-size: var(--fsize__s);
  cursor: pointer;
}

.field-wrap.checkbox .option-wrap {
  display: block;
}

.field-wrap .option-wrap label {
  cursor: pointer;
}

.field-wrap .option-caption {
  position: relative;
}

.field-wrap .option-caption::before {
  content: "";
  position: absolute;
  left: -1.7em;
  top: 0.2em;
  height: 1em;
  width: 1em;
  border-radius: 0;
  background: var(--color__light);
  border: var(--border__regular);
}

.field-wrap .option-wrap input:checked ~ label .option-caption::before {
  background: var(--color__accent);
}

.field-wrap .option-wrap * {
  font-size: var(--fsize_s);
  color: var(--color__accent);
}

/****** Submit button */

input[type="submit"],
.field-wrap input[type="submit"] {
  float: right;
  background: var(--color__accentLight);
  color: var(--color__accent);
  border: var(--border__regular);
  border-color: var(--color__accentLight);
  display: inline-block;
  padding: 0.5em 1em;
  margin-top: 1em;
  width: auto;
  font-family: "Soehne", sans-serif;
  font-weight: 300;
  font-size: var(--fsize__s--cap);
  line-height: 1.65em;
  letter-spacing: 0.23em;
  text-transform: uppercase;
  cursor: pointer;
}

/****** error handling */

.form-wrap .error-msg {
  display: block;
  width: 100%;
  color: var(--color__error);
  font-size: var(--fsize__s);
  margin-top: 0.2em;
}

.form-wrap input.has-error {
  border-color: var(--color__error);
}

/****** success handling */

form.submitted {
  display: none;
}

/****** hide google recaptcha */

.grecaptcha-badge {
  display: none;
}

/* PASSWORD FORM STYLES *******************************************************************************/

.post-password-form p:nth-of-type(1) {
  display: none;
}

span.custom-password-message {
  display: block;
  margin: auto;
  max-width: 10em;
  padding: 0.125em;
  border-radius: var(--radius__regular);
  background: rgba(255, 255, 255, 0.17);
  color: var(--color__primary);
}

.post-password-form label {
  font-size: 0rem;
}

.post-password-form label input {
  font-size: 1.875rem;
  padding: 0.25em 0.9375em;
  text-align: center;
}

.post-password-required input[type="submit"] {
  position: relative;
  float: unset;
  margin: 1.5625em auto;
  display: block;
}

/* IMPRINT + DATA PRIVACY *******************************************************************************/

/* 404 *******************************************************************************/

.error-404 {
  text-align: center;
}

.error-404 h1 {
  font-size: 20vw;
  margin: 0;
}

/*
-----------------------------------------------------------------------------

02. Components

-----------------------------------------------------------------------------
*/

/****** Layout */

.content-wrap [class*="block--"] {
  max-width: var(--innerwrap__width);
  padding: 0 var(--innerwrap__px);
  margin: 3em auto;
}

.content-wrap [class*="block--"].full {
  max-width: 100%;
}

.content-wrap [class*="block--"].pxy0 {
  padding: 0;
}

.content-wrap [class*="block--"].px0 {
  padding-left: 0;
  padding-right: 0;
}

/****** Image */

.block--single-image img {
  min-width: 100%;
}

/****** Text & Text and Image */

.block--text p:first-child,
.block--text_and_image .box-text h1:first-of-type,
.block--text_and_image .box-text h2:first-of-type,
.block--text_and_image .box-text h3:first-of-type,
.block--text_and_image .box-text p:first-of-type {
  margin-top: 0;
}

.block--text p:last-child,
.block--text_and_image p:last-child {
  margin-bottom: 0;
}

/****** Text and Image (no specific styles) */

/****** Text and Image -- Fullwidth */

.block--text_and_image--fullwidth .box-image {
  position: absolute;
  top: 0;
  left: unset;
  right: calc(var(--innerwrap__side-margin) * -1);
  width: 50vw;
  height: 100%;
}

.block--text_and_image--fullwidth.left .wysiwyg {
  padding-right: 5em;
}

.block--text_and_image--fullwidth.right .wysiwyg {
  padding-left: 5em;
}

.block--text_and_image--fullwidth.right .box-image {
  right: unset;
  left: calc(var(--innerwrap__side-margin) * -1);
  -webkit-box-ordinal-group: 3;
  -ms-flex-order: 2;
  order: 2;
}

.block--text_and_image--fullwidth.right .wysiwyg {
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 1;
  order: 1;
}

/****** Buttons */

.content-wrap [class*="block--"].block--buttons {
  margin-top: -0.5em;
}

.content-wrap .block--buttons > * {
  display: inline-block;
  margin-right: 0.5em;
  margin-top: 0.5em;
}

/****** Product Box */

.block--productbox .product-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  height: 100%;
}

.block--productbox .product-box .text-box {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
}

.block--productbox .product-box .price {
  z-index: 1;
  top: unset;
  bottom: 1em;
  left: 1em;
  width: auto;
  height: auto;
  max-width: 80%;
  padding: 0.5em 1em;
  overflow: hidden;
  -o-text-overflow: ellipsis;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* .block--productbox .product-box .covered-image-wrap::after {
  position: absolute;
  content: "";
  background: -o-linear-gradient(76.07deg, #000000 20.31%, rgba(0, 0, 0, 0) 48.39%);
  background: linear-gradient(13.93deg, #000000 20.31%, rgba(0, 0, 0, 0) 48.39%);
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
} */

/****** Gallery slider */

.content-wrap .slider-wrap {
  position: relative;
  padding: 0;
}

.content-wrap .slider-wrap .swiper {
  overflow: hidden;
}

.content-wrap .slider-wrap .swiper-slide {
  cursor: pointer;
}

.content-wrap .slider-wrap .swiper-slide .img-fill {
  overflow: hidden;
  text-align: center;
  float: left;
  width: 100%;
  display: block;
  position: relative;
  background: var(--color__primary);
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.content-wrap .slider-wrap .swiper-slide .img-fill img {
  position: absolute;
  height: 100%;
  top: 50%;
  left: 50%;
  max-width: none !important;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.content-wrap .slider-wrap .swiper-slide .caption,
.slider-wrap .slider-lightbox .caption {
  position: absolute;
  bottom: 0;
  left: 0;
  margin: 1em;
  text-align: left;
}

.swiper-button-next:after,
.swiper-button-prev:after {
  font-size: var(--isize__regular);
  color: var(--color__accent);
}

.swiper-button-prev,
.swiper-rtl .swiper-button-next {
  left: 1.5rem;
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
  right: 1.5rem;
}

.swiper-pagination-bullet {
  width: 0.75rem;
  height: 0.75rem;
  background: var(--color__light);
  opacity: 0.2;
}

.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 0.25rem;
}

.swiper-pagination-bullet-active {
  background: var(--color__light);
  opacity: 1;
}

/*--- slider lightbox */

.slider-wrap .slider-lightbox {
  overflow: hidden;
}

.slider-lightbox-wrap {
  z-index: 99999;
  position: fixed;
  inset: 0;
  width: 100vw;
  height: calc(var(--vh, 1vh) * 100);
  visibility: hidden;
  pointer-events: none;
  -webkit-transition: opacity 0.25s ease-out;
  -o-transition: opacity 0.25s ease-out;
  transition: opacity 0.25s ease-out;
}

.slider-lightbox-wrap .bg {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--color__primary);
  opacity: 0.9;
}

.slider-lightbox-wrap.active {
  visibility: visible;
  pointer-events: all;
}

.slider-lightbox-wrap-close {
  z-index: 99;
  position: absolute;
  width: 3rem;
  height: 3rem;
  background: transparent;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  right: 0.937rem;
  top: 0.937rem;
  padding: 0;
  border: 0;
  cursor: pointer;
}

.slider-lightbox-wrap-close:focus {
  outline: none;
}

.slider-lightbox-wrap-close:before {
  font-size: var(--isize__small);
  color: var(--color__light);
  font-family: "Icons Base";
  /* insert 'Icons Base Rounded' for rounded version */
  content: "\004a";
}

.slider-lightbox-wrap .slider-wrap {
  position: absolute;
  width: min(90rem, 100vw);
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.slider-lightbox-wrap .img-fill {
  max-width: 85%;
  margin: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  max-height: calc(var(--vh, 1vh) * 75);
  height: calc(var(--vh, 1vh) * 75);
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slider-lightbox-wrap .img-fill img {
  -o-object-fit: contain;
  object-fit: contain;
  height: 100%;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slider-lightbox-wrap .swiper-button-prev,
.slider-lightbox-wrap .swiper-rtl .swiper-button-next {
  left: 2rem;
  right: auto;
}

.slider-lightbox-wrap .swiper-button-next,
.slider-lightbox-wrap .swiper-rtl .swiper-button-prev {
  right: 2rem;
  left: auto;
}

/****** Video iframe */

.video-wrap iframe {
  border: 0;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

/****** Accordion */

.content-wrap .block--accordion {
  margin-bottom: 0;
}

.content-wrap .block--accordion + .block--accordion {
  margin-top: 0;
}

.content-wrap .block--accordion .accordion-content__inner [class*="block--"] {
  margin-top: 0;
  padding: 0;
}

.accordion-content p:last-child {
  padding-bottom: 1.5em;
  margin-bottom: 0;
}

.content-wrap .block--accordion .accordion-content__inner [class*="block--"]:last-child {
  padding-bottom: 0;
  margin-bottom: 1.75em;
}

.content-wrap .block--accordion .accordion-content__inner [class*="block--"]:last-child p {
  margin-bottom: 0;
  padding-bottom: 0;
}

.accordion-wrap {
  padding: 0;
  border-top: 0.125rem solid var(--color__secondary);
  border-bottom: 0.125rem solid var(--color__secondary);
}

.block--accordion ~ .block--accordion .accordion-wrap,
.accordion-wrap ~ .accordion-wrap {
  border-top: 0;
}

.accordion-trigger {
  padding: 1.5em 2em 1.5em 0;
  position: relative;
  cursor: pointer;
}

.accordion-trigger .title svg {
  position: absolute;
  display: inline-block;
  margin-left: 1em;
  -webkit-transform: translateY(0.5em);
  -ms-transform: translateY(0.5em);
  transform: translateY(0.5em);
  -webkit-transition: -webkit-transform 0.3s ease-out;
  transition: -webkit-transform 0.3s ease-out;
  -o-transition: transform 0.3s ease-out;
  transition: transform 0.3s ease-out;
  transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;
}

.accordion-trigger.open .title svg {
  -webkit-transform: translateY(0.5em) rotate(180deg);
  -ms-transform: translateY(0.5em) rotate(180deg);
  transform: translateY(0.5em) rotate(180deg);
}

.accordion-trigger h3 {
  margin: 0;
}

.accordion-content {
  padding: 0;
}

/****** Overlay popup */
.overlay-popup-wrap {
  position: fixed;
  z-index: 100000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100vh;
  overflow: auto;
}

.overlay-popup {
  position: absolute;
  top: 10%;
  left: 50%;
  width: 35rem;
  max-width: 90vw;
  margin: auto;
  border: 2px solid var(--color__accent);
  background-color: var(--color__light);
  text-align: center;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
}

.overlay-popup p {
  font-size: 1.3em;
}

/****** Coach Map */

.coach-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  cursor: pointer;
  -webkit-transition: all 0.15s ease-out;
  -o-transition: all 0.15s ease-out;
  transition: all 0.15s ease-out;
}

.coach-item:hover,
.coach-item.hovering {
  background: var(--color__accentLight);
}

.coach-item .coach-item__img {
  width: 6rem;
}

.coach-item .coach-item__info {
  padding: 0.25em 0;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  margin-left: 1em;
  line-height: 1.5;
}

/**/

.coach-lightbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.coach-lightbox .coach-lightbox__img {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 35%;
  flex: 0 0 35%;
  height: inherit;
}

.coach-lightbox .coach-lightbox__info {
  position: relative;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  padding: 3rem 3rem 2rem 3rem;
}

.coach-lightbox .coach-lightbox__info .description {
  display: block;
  width: 100%;
  padding-right: 2rem;
  padding-bottom: 2rem;
  max-height: 30rem;
  overflow: scroll;
  -ms-scroll-chaining: none;
  overscroll-behavior: contain;
  scrollbar-width: 3px;
}

.coach-lightbox .coach-lightbox__info .description h3 {
  color: var(--color__primary);
}

.coach-lightbox .coach-lightbox__info .description::after {
  /* scroll overflow indicator */
  content: "";
  display: block;
  position: absolute;
  bottom: 2rem;
  left: 0;
  height: 3rem;
  width: 100%;
  z-index: 2;
  background: -webkit-gradient(
    linear,
    left bottom,
    left top,
    from(rgba(255, 255, 255, 1)),
    to(rgba(255, 255, 255, 0))
  );
  background: -o-linear-gradient(bottom, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
  background: linear-gradient(0deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
}

/**/

.coach-map-container #coach-map {
  position: relative;
  height: auto;
}

.coach-map-container #coach-map::before {
  /* determing the aspect ratio */
  content: "";
  display: block;
  width: 100%;
  padding-top: calc(10 / 16 * 100%);
}

.coach-map-container #coach-map > * {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.coach-map-container .gm-style iframe + div {
  /* hide google maps style on focus */
  border: none !important;
}

.coach-map-container .custom-pin-icon {
  --scale_factor: 0.7;
  /* proportions should match the svg viewbox */
  height: calc(70px * var(--scale_factor));
  width: calc(60px * var(--scale_factor));
}

.coach-map-container .custom-pin-icon svg,
.coach-map-container .custom-pin-icon.highlight svg .pin-shape {
  -webkit-transition: all 0.15s ease-out;
  -o-transition: all 0.15s ease-out;
  transition: all 0.15s ease-out;
}

.coach-map-container .custom-pin-icon.highlight svg {
  -webkit-transform: translateY(-10%);
  -ms-transform: translateY(-10%);
  transform: translateY(-10%);
}

.coach-map-container .custom-pin-icon.highlight svg .pin-shape {
  fill: #e4ab18;
}

/* HEADER SCENE COMPONENTS *******************************************************************************/

[class*="header--"] {
  position: relative;
}

.header__inner {
  position: relative;
  width: 100%;
  height: auto;
  max-width: 80em;
  margin: auto;
  padding: 5em 2em;
}

/****** BG-Image | header--bg-img */

.header--bg-img .img-wrap {
  height: 30rem;
  width: 100%;
}

.header--bg-img .covered-image-wrap {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
}

/****** Text with BG-Image | header--text-bg-img */

.header--text-bg-img .header__inner {
  background: transparent;
  min-height: 30rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.header--text-bg-img h1.title {
  z-index: 1;
  position: relative;
  margin: 0;
}

.header--text-bg-img .covered-image-wrap {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
}

/****** Success stories & latest news swiper */

.sec-wrap.success-stories .swiper,
.sec-wrap.latest-news .swiper {
  /* make swiper track visible */
  overflow: visible;
}

.sec-wrap.success-stories .swiper-slide,
.sec-wrap.latest-news .swiper-slide {
  padding-right: max(1rem, 2.5vw);
  width: clamp(15rem, 18vw, 28rem);
}

.sec-wrap.success-stories .swiper-slide .title,
.sec-wrap.latest-news .swiper-slide .title {
  width: calc(100% - 3rem);
}

/****** Testimonial Slider */

.sec-wrap.testimonial-wrap .swiper {
  position: relative;
  margin-left: 4rem;
  margin-right: 4rem;
}

.sec-wrap.testimonial-wrap .swiper-wrapper {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.sec-wrap.testimonial-wrap .cite {
  display: block;
}

.sec-wrap.testimonial-wrap .swiper-nav--prev,
.sec-wrap.testimonial-wrap .swiper-nav--next {
  position: absolute;
  left: var(--innerwrap__px);
  top: calc(50% - 1.75 * var(--fsize__p));
  -webkit-transform: translateY(-50%) rotate(180deg);
  -ms-transform: translateY(-50%) rotate(180deg);
  transform: translateY(-50%) rotate(180deg);
  width: 3rem;
  height: 3.5rem;
  z-index: 10;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.sec-wrap.testimonial-wrap .swiper-nav--next {
  -webkit-transform: translateY(-50%) rotate(0deg);
  -ms-transform: translateY(-50%) rotate(0deg);
  transform: translateY(-50%) rotate(0deg);
  right: var(--innerwrap__px);
  left: auto;
}

.sec-wrap.testimonial-wrap .swiper-nav--prev svg,
.sec-wrap.testimonial-wrap .swiper-nav--next svg {
  -webkit-transform: scale(0.5);
  -ms-transform: scale(0.5);
  transform: scale(0.5);
}

/* MINI-DESKTOP //////////////////////////////////////////////////////////////// */
/*
01. Inner Content
02. Components
*/

@media only screen and (max-width: 80em) {
  /*
  -----------------------------------------------------------------------------

  01. Inner Content

  -----------------------------------------------------------------------------
  */

  /* POSTS *******************************************************************************/

  /****** Post grid */

  .post-box .title-wrap {
    width: 100%;
  }

  /*
  -----------------------------------------------------------------------------

  02. Components

  -----------------------------------------------------------------------------
  */

  /****** Text and Image -- Fullwidth */

  .block--text_and_image--fullwidth.left .wysiwyg {
    padding-right: var(--innerwrap__px);
  }

  .block--text_and_image--fullwidth.right .wysiwyg {
    padding-left: var(--innerwrap__px);
  }

  /* COACH MAP */

  .coach-map-container #coach-map::before {
    /* determing the aspect ratio */
    padding-top: calc(1 / 1 * 100%);
  }
}

/* TABLET //////////////////////////////////////////////////////////////// */
/*
01. Inner Content
02. Components
*/

@media only screen and (max-width: 55em) {
  /*
  -----------------------------------------------------------------------------

  01. Inner Content

  -----------------------------------------------------------------------------
  */

  /* HOME *******************************************************************************/

  /* ***** News */
  .desktop-container {
    display: none;
  }

  .mobile-container {
    display: block;
  }

  /* MODAL *******************************************************************************/

  /* content wrapper */
  .modal .modal__inner {
    width: 85vw;
  }

  .modal .trigger--close svg line {
    stroke: #fff;
  }

  @media only screen and (max-width: 110rem) {
    section.__services-overview .grid-wrap .box-md-12 {
      -ms-grid-column-span: 12;
      grid-column-end: span 12;
    }
  }

  /*  IMPRINT + DATA PRIVACY *******************************************************************************/

  /*
  -----------------------------------------------------------------------------

  02. Components

  -----------------------------------------------------------------------------
  */

  /****** Layout */

  .content-wrap [class*="block--"] {
    margin: var(--innerwrap__py) auto;
  }

  /****** Accordion (enforce no margin) */

  .content-wrap .block--accordion {
    margin-bottom: 0;
  }

  .content-wrap .block--accordion + .block--accordion {
    margin-top: 0;
  }

  /****** Text and Image */

  .content-wrap .block--text_and_image .box-text {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }

  /****** Gallery slider */

  .content-wrap .slider-wrap .swiper-slide .img-fill {
    height: 62vw;
  }

  .swiper-button-prev,
  .swiper-rtl .swiper-button-next {
    /* left: 0; */
  }

  .swiper-button-next,
  .swiper-rtl .swiper-button-prev {
    /* right: 0; */
  }

  /****** Text and Image -- Fullwidth */

  .block--text_and_image--fullwidth.left .box-image,
  .block--text_and_image--fullwidth.right .box-image {
    position: relative;
    top: unset;
    left: unset;
    right: unset;
    width: 100vw;
    height: 62vw;
    margin-left: calc(var(--innerwrap__px) * -1);
    margin-right: calc(var(--innerwrap__px) * -1);
  }

  .block--text_and_image--fullwidth.left .wysiwyg,
  .block--text_and_image--fullwidth.right .wysiwyg {
    padding-left: 0;
    padding-right: 4rem;
  }

  /* COURSES *******************************************************************************/

  .course-filter .mixitup-control-active {
    border-color: var(--color__accent);
  }

  /**/

  .course-box .course-label-wrapper {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .course-box .course-description-wrapper {
    padding: 0em 1.5em 1.5em;
  }

  /* COACH MAP */

  .coach-lightbox {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .coach-lightbox::after {
    /* scroll overflow indicator */
    content: "";
    display: block;
    position: absolute;
    bottom: 0rem;
    left: 0;
    height: 3rem;
    width: 100%;
    z-index: 2;
    background: -webkit-gradient(
      linear,
      left bottom,
      left top,
      from(rgba(255, 255, 255, 1)),
      to(rgba(255, 255, 255, 0))
    );
    background: -o-linear-gradient(bottom, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
    background: linear-gradient(0deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
  }

  .coach-lightbox .coach-lightbox__img {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 40vw;
    flex: 0 0 40vw;
    width: 100%;
  }

  .coach-lightbox .coach-lightbox__info {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    position: relative;
    max-height: calc(90dvh - 40vw);
    overflow: scroll;
    -ms-scroll-chaining: none;
    overscroll-behavior: contain;
    scrollbar-width: 3px;
  }

  /**/

  .coach-lightbox .coach-lightbox__info .description {
    overflow: visible;
    max-height: none;
    padding-right: 0;
    padding-bottom: 0;
  }

  .coach-lightbox .coach-lightbox__info .description::after {
    /* scroll overflow indicator */
    display: none;
  }

  /**/

  .coach-map-container #coach-map::before {
    /* determing the aspect ratio */
    padding-top: calc(3 / 4 * 100%);
  }

  /* HEADER SCENE COMPONENTS *******************************************************************************/

  /****** BG-Image | header--bg-img */

  .header--bg-img .img-wrap {
    height: 20rem;
    width: 100%;
  }

  /****** Text with BG-Image | header--text-bg-img */

  .header--text-bg-img .sec-wrap__inner {
    min-height: 20rem;
  }
}

/* MOBILE //////////////////////////////////////////////////////////////// */
/*
01. Inner Content
02. Components
*/

@media only screen and (max-width: 36em) {
  /*
  -----------------------------------------------------------------------------

  01. Inner Content

  -----------------------------------------------------------------------------
  */

  /* MODAL *******************************************************************************/

  /* content wrapper */
  .modal .modal__inner {
    width: calc(100vw - 2 * var(--innerwrap__px));
  }

  /* POSTS *******************************************************************************/

  /****** Success stories & latest news swiper */

  .sec-wrap.success-stories .swiper-slide .title,
  .sec-wrap.latest-news .swiper-slide .title {
    width: calc(100% - 1.5rem);
  }

  /****** Post grid */

  .post-box .title {
    /* padding: 0.75em; */
    width: 95%;
  }

  /* SINGLE POST *******************************************************************************/

  /*  IMPRINT + DATA PRIVACY *******************************************************************************/

  /*
  -----------------------------------------------------------------------------

  02. Components

  -----------------------------------------------------------------------------
  */

  /****** Gallery slider */

  .swiper-button-prev,
  .swiper-rtl .swiper-button-next {
    left: 1rem;
  }

  .swiper-button-next,
  .swiper-rtl .swiper-button-prev {
    right: 1rem;
  }

  .slider-lightbox-wrap .img-fill {
    max-width: 90%;
  }

  .slider-lightbox-wrap .swiper-button-prev,
  .slider-lightbox-wrap .swiper-rtl .swiper-button-next {
    left: 2.5rem;
  }

  .slider-lightbox-wrap .swiper-button-next,
  .slider-lightbox-wrap .swiper-rtl .swiper-button-prev {
    right: 2.5rem;
  }

  /****** Accordion */

  .accordion-trigger {
    padding: 1.25em 2.5em 1.25em 0;
  }

  .accordion-trigger .title svg {
    right: 0.1em;
    margin-left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
  }

  .accordion-trigger.open .title svg {
    -webkit-transform: translateY(-50%) rotate(180deg);
    -ms-transform: translateY(-50%) rotate(180deg);
    transform: translateY(-50%) rotate(180deg);
  }

  /* .accordion-trigger {
    padding: 1em 3.25em 1em 1.25em;
  } */

  /* .accordion-trigger::after {
    font-family: "Icons Base";
    content: "\0045";
    position: absolute;
    right: 0.85em;
    top: 51%;
    font-size: min(1.85rem, 7vw);
    transform: translateY(-50%);
  } */
  /* 
  .accordion-content {
    padding: 0 1.25em;
  } */

  .accordion-content p:last-child {
    padding-bottom: 1.25em;
  }

  .content-wrap .block--accordion .accordion-content__inner [class*="block--"]:last-child {
    margin-bottom: 1.25em;
  }

  /****** Text and Image -- Fullwidth */

  .block--text_and_image--fullwidth.left .wysiwyg,
  .block--text_and_image--fullwidth.right .wysiwyg {
    padding-right: 0;
  }

  /****** Testimonial Slider */

  .sec-wrap.testimonial-wrap .swiper {
    margin-left: 2rem;
    margin-right: 2rem;
    padding-bottom: 4.5rem;
  }

  .sec-wrap.testimonial-wrap .swiper-nav--prev,
  .sec-wrap.testimonial-wrap .swiper-nav--next {
    top: auto;
    bottom: var(--innerwrap__py);
    left: calc(var(--innerwrap__px) + 1rem);
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg);
  }

  .sec-wrap.testimonial-wrap .swiper-nav--next {
    -webkit-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    transform: rotate(0deg);
    left: calc(var(--innerwrap__px) + 7rem);
  }

  .sec-wrap.testimonial-wrap .swiper-nav--prev svg,
  .sec-wrap.testimonial-wrap .swiper-nav--next svg {
    -webkit-transform: scale(0.4);
    -ms-transform: scale(0.4);
    transform: scale(0.4);
  }

  /****** Coach Map */

  .coach-lightbox .coach-lightbox__info {
    padding: 1.5rem 1.5rem 1rem 1.5rem;
  }

  /**/
  .coach-map-container #coach-map {
    width: 100vw;
    margin-left: calc(var(--innerwrap__px) * -1);
  }
}

/* MINI-MOBILE //////////////////////////////////////////////////////////////// */
/*
01. Inner Content
02. Components
*/

@media only screen and (max-width: 27em) {
  /*
  -----------------------------------------------------------------------------

  01. Inner Content

  -----------------------------------------------------------------------------
  */

  /****** Testimonial Slider */

  .sec-wrap.testimonial-wrap .swiper {
    margin-left: 1rem;
    margin-right: 1rem;
  }

  .sec-wrap.testimonial-wrap .swiper-nav--prev,
  .sec-wrap.testimonial-wrap .swiper-nav--next {
    left: calc(var(--innerwrap__px));
  }

  .sec-wrap.testimonial-wrap .swiper-nav--next {
    left: calc(var(--innerwrap__px) + 6rem);
  }

  /* SINGLE POST *******************************************************************************/

  /*  IMPRINT + DATA PRIVACY *******************************************************************************/

  /*
  -----------------------------------------------------------------------------

  02. Components

  -----------------------------------------------------------------------------
  */
}

/* SPECIAL BREAKPOINTS //////////////////////////////////////////////////////// */
