@charset "UTF-8";
/** ! ==================================================
 * Global Settings
 * ================================================== */
/** ! ==================================================
 * Mixins
 * Usage: @include mixin($args)
 * ================================================== */
/**
* Generate spacing classes
* - Uses $spacings mapping to determine properties to render
* - Uses $steps mapping to determine amount of spacing-steps for each property
* - Will also generate breakpoints for each step
*/
/** ! ==================================================
 * SASS Functions
 * Can be called wherever a css value can be used
 * ================================================== */
/** ! ==================================================
 * Global placeholder selectors
 * Only compiled to CSS when used with @extend
 * ================================================== */
.guard, body::after, .visually-hidden,
.sr-only {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

/** ! ==================================================
 * Global Font Settings
 * Royalty-free Google Fonts
 *
 * Nunito Sans => https://fonts.google.com/specimen/Nunito+Sans?query=nunito
 * Nunito => https://fonts.google.com/specimen/Nunito?query=nunito
 * ================================================== */
/* nunito-200 - latin */
@font-face {
  font-family: Nunito;
  font-style: normal;
  font-weight: 200;
  src: local(""), url("../fonts/nunito-v25-latin-200.woff2") format("woff2"), url("../fonts/nunito-v25-latin-200.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* nunito-300 - latin */
@font-face {
  font-family: Nunito;
  font-style: normal;
  font-weight: 300;
  src: local(""), url("../fonts/nunito-v25-latin-300.woff2") format("woff2"), url("../fonts/nunito-v25-latin-300.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* nunito-regular - latin */
@font-face {
  font-family: Nunito;
  font-style: normal;
  font-weight: 400;
  src: local(""), url("../fonts/nunito-v25-latin-regular.woff2") format("woff2"), url("../fonts/nunito-v25-latin-regular.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* nunito-600 - latin */
@font-face {
  font-family: Nunito;
  font-style: normal;
  font-weight: 600;
  src: local(""), url("../fonts/nunito-v25-latin-600.woff2") format("woff2"), url("../fonts/nunito-v25-latin-600.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* nunito-700 - latin */
@font-face {
  font-family: Nunito;
  font-style: normal;
  font-weight: 700;
  src: local(""), url("../fonts/nunito-v25-latin-700.woff2") format("woff2"), url("../fonts/nunito-v25-latin-700.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* nunito-500 - latin */
@font-face {
  font-family: Nunito;
  font-style: normal;
  font-weight: 500;
  src: local(""), url("../fonts/nunito-v25-latin-500.woff2") format("woff2"), url("../fonts/nunito-v25-latin-500.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* nunito-800 - latin */
@font-face {
  font-family: Nunito;
  font-style: normal;
  font-weight: 800;
  src: local(""), url("../fonts/nunito-v25-latin-800.woff2") format("woff2"), url("../fonts/nunito-v25-latin-800.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* nunito-900 - latin */
@font-face {
  font-family: Nunito;
  font-style: normal;
  font-weight: 900;
  src: local(""), url("../fonts/nunito-v25-latin-900.woff2") format("woff2"), url("../fonts/nunito-v25-latin-900.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* nunito-200italic - latin */
@font-face {
  font-family: Nunito;
  font-style: italic;
  font-weight: 200;
  src: local(""), url("../fonts/nunito-v25-latin-200italic.woff2") format("woff2"), url("../fonts/nunito-v25-latin-200italic.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* nunito-300italic - latin */
@font-face {
  font-family: Nunito;
  font-style: italic;
  font-weight: 300;
  src: local(""), url("../fonts/nunito-v25-latin-300italic.woff2") format("woff2"), url("../fonts/nunito-v25-latin-300italic.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* nunito-italic - latin */
@font-face {
  font-family: Nunito;
  font-style: italic;
  font-weight: 400;
  src: local(""), url("../fonts/nunito-v25-latin-italic.woff2") format("woff2"), url("../fonts/nunito-v25-latin-italic.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* nunito-500italic - latin */
@font-face {
  font-family: Nunito;
  font-style: italic;
  font-weight: 500;
  src: local(""), url("../fonts/nunito-v25-latin-500italic.woff2") format("woff2"), url("../fonts/nunito-v25-latin-500italic.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* nunito-600italic - latin */
@font-face {
  font-family: Nunito;
  font-style: italic;
  font-weight: 600;
  src: local(""), url("../fonts/nunito-v25-latin-600italic.woff2") format("woff2"), url("../fonts/nunito-v25-latin-600italic.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* nunito-700italic - latin */
@font-face {
  font-family: Nunito;
  font-style: italic;
  font-weight: 700;
  src: local(""), url("../fonts/nunito-v25-latin-700italic.woff2") format("woff2"), url("../fonts/nunito-v25-latin-700italic.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* nunito-800italic - latin */
@font-face {
  font-family: Nunito;
  font-style: italic;
  font-weight: 800;
  src: local(""), url("../fonts/nunito-v25-latin-800italic.woff2") format("woff2"), url("../fonts/nunito-v25-latin-800italic.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* nunito-900italic - latin */
@font-face {
  font-family: Nunito;
  font-style: italic;
  font-weight: 900;
  src: local(""), url("../fonts/nunito-v25-latin-900italic.woff2") format("woff2"), url("../fonts/nunito-v25-latin-900italic.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* nunito-sans-200 - latin */
@font-face {
  font-family: "Nunito Sans";
  font-style: normal;
  font-weight: 200;
  src: local(""), url("../fonts/nunito-sans-v12-latin-200.woff2") format("woff2"), url("../fonts/nunito-sans-v12-latin-200.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* nunito-sans-200italic - latin */
@font-face {
  font-family: "Nunito Sans";
  font-style: italic;
  font-weight: 200;
  src: local(""), url("../fonts/nunito-sans-v12-latin-200italic.woff2") format("woff2"), url("../fonts/nunito-sans-v12-latin-200italic.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* nunito-sans-300 - latin */
@font-face {
  font-family: "Nunito Sans";
  font-style: normal;
  font-weight: 300;
  src: local(""), url("../fonts/nunito-sans-v12-latin-300.woff2") format("woff2"), url("../fonts/nunito-sans-v12-latin-300.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* nunito-sans-300italic - latin */
@font-face {
  font-family: "Nunito Sans";
  font-style: italic;
  font-weight: 300;
  src: local(""), url("../fonts/nunito-sans-v12-latin-300italic.woff2") format("woff2"), url("../fonts/nunito-sans-v12-latin-300italic.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* nunito-sans-regular - latin */
@font-face {
  font-family: "Nunito Sans";
  font-style: normal;
  font-weight: 400;
  src: local(""), url("../fonts/nunito-sans-v12-latin-regular.woff2") format("woff2"), url("../fonts/nunito-sans-v12-latin-regular.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* nunito-sans-italic - latin */
@font-face {
  font-family: "Nunito Sans";
  font-style: italic;
  font-weight: 400;
  src: local(""), url("../fonts/nunito-sans-v12-latin-italic.woff2") format("woff2"), url("../fonts/nunito-sans-v12-latin-italic.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* nunito-sans-600 - latin */
@font-face {
  font-family: "Nunito Sans";
  font-style: normal;
  font-weight: 600;
  src: local(""), url("../fonts/nunito-sans-v12-latin-600.woff2") format("woff2"), url("../fonts/nunito-sans-v12-latin-600.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* nunito-sans-600italic - latin */
@font-face {
  font-family: "Nunito Sans";
  font-style: italic;
  font-weight: 600;
  src: local(""), url("../fonts/nunito-sans-v12-latin-600italic.woff2") format("woff2"), url("../fonts/nunito-sans-v12-latin-600italic.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* nunito-sans-700italic - latin */
@font-face {
  font-family: "Nunito Sans";
  font-style: italic;
  font-weight: 700;
  src: local(""), url("../fonts/nunito-sans-v12-latin-700italic.woff2") format("woff2"), url("../fonts/nunito-sans-v12-latin-700italic.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* nunito-sans-800italic - latin */
@font-face {
  font-family: "Nunito Sans";
  font-style: italic;
  font-weight: 800;
  src: local(""), url("../fonts/nunito-sans-v12-latin-800italic.woff2") format("woff2"), url("../fonts/nunito-sans-v12-latin-800italic.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* nunito-sans-700 - latin */
@font-face {
  font-family: "Nunito Sans";
  font-style: normal;
  font-weight: 700;
  src: local(""), url("../fonts/nunito-sans-v12-latin-700.woff2") format("woff2"), url("../fonts/nunito-sans-v12-latin-700.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* nunito-sans-900 - latin */
@font-face {
  font-family: "Nunito Sans";
  font-style: normal;
  font-weight: 900;
  src: local(""), url("../fonts/nunito-sans-v12-latin-900.woff2") format("woff2"), url("../fonts/nunito-sans-v12-latin-900.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* nunito-sans-900italic - latin */
@font-face {
  font-family: "Nunito Sans";
  font-style: italic;
  font-weight: 900;
  src: local(""), url("../fonts/nunito-sans-v12-latin-900italic.woff2") format("woff2"), url("../fonts/nunito-sans-v12-latin-900italic.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* nunito-sans-800 - latin */
@font-face {
  font-family: "Nunito Sans";
  font-style: normal;
  font-weight: 800;
  src: local(""), url("../fonts/nunito-sans-v12-latin-800.woff2") format("woff2"), url("../fonts/nunito-sans-v12-latin-800.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/** ! ==================================================
 * BASE / Configurations, Mixins etc.
 * ================================================== */ /** ! ==================================================
 * HELPERS/Helpers
 * ================================================== */
hr,
.hr {
  border: none;
  border-top: 1px solid #e0e0e0;
  margin: 0.75em 0;
}

.hr--large {
  margin: 4em 0;
}

.limiter, .intro__section--large {
  max-width: 700px !important;
}

.limiter--small, .intro__section {
  max-width: 650px;
}

.no-scrolling {
  overflow: hidden;
}

.is-block {
  display: block;
}

.is-relative {
  position: relative;
}

.is-absolute {
  position: absolute !important;
}

.is-clickable {
  cursor: pointer;
}

.is-centered, .flickity-prev-next-button .flickity-button-icon {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

.is-full-width {
  width: 100%;
  display: block;
}

.is-fullscreen {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

.is-disabled, .input-text:disabled, input[type=text]:disabled,
input[type=password]:disabled,
input[type=email]:disabled,
input[type=tel]:disabled,
input[type=number]:disabled,
input[type=date]:disabled, textarea:disabled, input[type=file]:disabled, .select select:disabled, .checkbox input:disabled ~ .checkbox__label, .checkbox input:disabled ~ .checkbox__input, .radio input:disabled ~ .radio__label, .radio input:disabled ~ .radio__input, .switch input:disabled ~ .switch__label, .switch input:disabled ~ .switch__input, .btn[disabled], .btn[aria-busy=true] {
  opacity: 0.5;
  cursor: not-allowed;
}

.is-none {
  display: none !important;
}

.is-invalid, [aria-invalid=true].input-text, input[aria-invalid=true][type=text],
input[aria-invalid=true][type=password],
input[aria-invalid=true][type=email],
input[aria-invalid=true][type=tel],
input[aria-invalid=true][type=number],
input[aria-invalid=true][type=date], textarea[aria-invalid=true], input[aria-invalid=true][type=file], .select select[aria-invalid=true], .checkbox input[aria-invalid=true] ~ .checkbox__input, .radio input[aria-invalid=true] ~ .radio__input, .switch input[aria-invalid=true] ~ .switch__input {
  border-color: #da606b;
  animation: invalidShake 300ms;
  animation-delay: 250ms;
}
@keyframes invalidShake {
  25% {
    transform: translateX(4px);
  }
  50% {
    transform: translateX(-4px);
  }
  75% {
    transform: translateX(4px);
  }
}

.is-transparent {
  background-color: transparent;
}

.is-fixed {
  position: fixed;
}

.is-sticky {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  background-color: white;
  z-index: 30;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.25);
}

.is-mobile {
  display: none;
}
@media only screen and (max-width:30em) {
  .is-mobile {
    display: block;
  }
}

.is-medium {
  display: none;
}
@media only screen and (max-width:48em) {
  .is-medium {
    display: block;
  }
}

.is-smalldesk {
  display: none;
}
@media only screen and (max-width:64em) {
  .is-smalldesk {
    display: block;
  }
}

.is-large {
  display: none;
}
@media only screen and (max-width:64em) {
  .is-large {
    display: block;
  }
}

.hide-on-mobile {
  display: block;
}
@media only screen and (max-width:30em) {
  .hide-on-mobile {
    display: none !important;
  }
}

.show-on-mobile {
  display: none;
}
@media only screen and (max-width:30em) {
  .show-on-mobile {
    display: block !important;
  }
}

.hide-on-medium {
  display: block;
}
@media only screen and (max-width:48em) {
  .hide-on-medium {
    display: none !important;
  }
}

td.hide-on-medium,
th.hide-on-medium {
  display: table-cell;
}
@media only screen and (max-width:48em) {
  td.hide-on-medium,
  th.hide-on-medium {
    display: none !important;
  }
}

.show-on-medium {
  display: none;
}
@media only screen and (max-width:48em) {
  .show-on-medium {
    display: block;
  }
}

.hide-on-large {
  display: block;
}
@media only screen and (max-width:64em) {
  .hide-on-large {
    display: none;
  }
}

.show-on-large {
  display: none !important;
}
@media only screen and (max-width:64em) {
  .show-on-large {
    display: block !important;
  }
}

.text-align-left {
  text-align: left;
}

.text-align-right {
  margin-left: auto;
  text-align: right;
}

.text-align-center {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

.text-align-justify {
  text-align: justify;
}

.float-right {
  float: right;
}

.float-left {
  float: left;
}

.no-border {
  border: none !important;
}

.no-overflow {
  overflow: hidden !important;
}

.visible-overflow {
  overflow: visible !important;
}

.is-scroll {
  overflow: scroll;
}

.is-scroll-y {
  overflow-y: scroll;
}

.is-scroll-y-auto {
  overflow-y: auto;
}

.is-overflow-x-hidden {
  overflow-x: hidden;
}

.show-scrollbar::-webkit-scrollbar, .carousel-cell .carousel-figcaption::-webkit-scrollbar, .action-overlay__cart::-webkit-scrollbar {
  -webkit-appearance: none;
}
.show-scrollbar::-webkit-scrollbar:vertical, .carousel-cell .carousel-figcaption::-webkit-scrollbar:vertical, .action-overlay__cart::-webkit-scrollbar:vertical {
  width: 11px;
}
.show-scrollbar::-webkit-scrollbar:horizontal, .carousel-cell .carousel-figcaption::-webkit-scrollbar:horizontal, .action-overlay__cart::-webkit-scrollbar:horizontal {
  height: 11px;
}
.show-scrollbar::-webkit-scrollbar-thumb, .carousel-cell .carousel-figcaption::-webkit-scrollbar-thumb, .action-overlay__cart::-webkit-scrollbar-thumb {
  border-radius: 8px;
  border: 2px solid white;
  background-color: rgba(0, 0, 0, 0.5);
}

.smooth-edge::before, .tab-nav::before, .filter::before, .slider-testimonal__items::before, .nav--swipe::before, .smooth-edge::after, .tab-nav::after, .filter::after, .slider-testimonal__items::after, .nav--swipe::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  pointer-events: none;
  z-index: 5;
  width: 50px;
}
.smooth-edge::before, .tab-nav::before, .filter::before, .slider-testimonal__items::before, .nav--swipe::before {
  left: 0;
  background: linear-gradient(-90deg, var(--background-clean, rgba(255, 255, 255, 0) 0), var(--background-clean, white 100%));
}
.smooth-edge::after, .tab-nav::after, .filter::after, .slider-testimonal__items::after, .nav--swipe::after {
  right: 0;
  background: linear-gradient(90deg, var(--background-clean, rgba(255, 255, 255, 0) 0), var(--background-clean, white 100%));
}

.js-hide-on-logged-in,
.js-show-on-logged-in {
  display: none !important;
}
.js-hide-on-logged-in.active,
.js-show-on-logged-in.active {
  display: block !important;
}

/** ! ==================================================
 * HELPERS/Spacing
 * ================================================== */
.m-0 {
  margin: 0em;
}
@media only screen and (max-width:48em) {
  .m-0 {
    margin: 0em;
  }
}
@media only screen and (max-width:30em) {
  .m-0 {
    margin: 0em;
  }
}

.m-025 {
  margin: 0.375em;
}
@media only screen and (max-width:48em) {
  .m-025 {
    margin: 0.28125em;
  }
}
@media only screen and (max-width:30em) {
  .m-025 {
    margin: 0.1875em;
  }
}

.m-03 {
  margin: 0.45em;
}
@media only screen and (max-width:48em) {
  .m-03 {
    margin: 0.3375em;
  }
}
@media only screen and (max-width:30em) {
  .m-03 {
    margin: 0.225em;
  }
}

.m-04 {
  margin: 0.6em;
}
@media only screen and (max-width:48em) {
  .m-04 {
    margin: 0.45em;
  }
}
@media only screen and (max-width:30em) {
  .m-04 {
    margin: 0.3em;
  }
}

.m-05 {
  margin: 0.75em;
}
@media only screen and (max-width:48em) {
  .m-05 {
    margin: 0.5625em;
  }
}
@media only screen and (max-width:30em) {
  .m-05 {
    margin: 0.375em;
  }
}

.m-075 {
  margin: 1.125em;
}
@media only screen and (max-width:48em) {
  .m-075 {
    margin: 0.84375em;
  }
}
@media only screen and (max-width:30em) {
  .m-075 {
    margin: 0.5625em;
  }
}

.m-1 {
  margin: 1.5em;
}
@media only screen and (max-width:48em) {
  .m-1 {
    margin: 1.125em;
  }
}
@media only screen and (max-width:30em) {
  .m-1 {
    margin: 0.75em;
  }
}

.m-2 {
  margin: 3em;
}
@media only screen and (max-width:48em) {
  .m-2 {
    margin: 2.25em;
  }
}
@media only screen and (max-width:30em) {
  .m-2 {
    margin: 1.5em;
  }
}

.m-3 {
  margin: 4.5em;
}
@media only screen and (max-width:48em) {
  .m-3 {
    margin: 3.375em;
  }
}
@media only screen and (max-width:30em) {
  .m-3 {
    margin: 2.25em;
  }
}

.m-4 {
  margin: 6em;
}
@media only screen and (max-width:48em) {
  .m-4 {
    margin: 4.5em;
  }
}
@media only screen and (max-width:30em) {
  .m-4 {
    margin: 3em;
  }
}

.m-5 {
  margin: 7.5em;
}
@media only screen and (max-width:48em) {
  .m-5 {
    margin: 5.625em;
  }
}
@media only screen and (max-width:30em) {
  .m-5 {
    margin: 3.75em;
  }
}

.m-6 {
  margin: 9em;
}
@media only screen and (max-width:48em) {
  .m-6 {
    margin: 6.75em;
  }
}
@media only screen and (max-width:30em) {
  .m-6 {
    margin: 4.5em;
  }
}

.m-7 {
  margin: 10.5em;
}
@media only screen and (max-width:48em) {
  .m-7 {
    margin: 7.875em;
  }
}
@media only screen and (max-width:30em) {
  .m-7 {
    margin: 5.25em;
  }
}

.m-8 {
  margin: 12em;
}
@media only screen and (max-width:48em) {
  .m-8 {
    margin: 9em;
  }
}
@media only screen and (max-width:30em) {
  .m-8 {
    margin: 6em;
  }
}

.m-9 {
  margin: 13.5em;
}
@media only screen and (max-width:48em) {
  .m-9 {
    margin: 10.125em;
  }
}
@media only screen and (max-width:30em) {
  .m-9 {
    margin: 6.75em;
  }
}

.m-10 {
  margin: 15em;
}
@media only screen and (max-width:48em) {
  .m-10 {
    margin: 11.25em;
  }
}
@media only screen and (max-width:30em) {
  .m-10 {
    margin: 7.5em;
  }
}

.mt-0 {
  margin-top: 0em;
}
@media only screen and (max-width:48em) {
  .mt-0 {
    margin-top: 0em;
  }
}
@media only screen and (max-width:30em) {
  .mt-0 {
    margin-top: 0em;
  }
}

.mt-025 {
  margin-top: 0.375em;
}
@media only screen and (max-width:48em) {
  .mt-025 {
    margin-top: 0.28125em;
  }
}
@media only screen and (max-width:30em) {
  .mt-025 {
    margin-top: 0.1875em;
  }
}

.mt-03 {
  margin-top: 0.45em;
}
@media only screen and (max-width:48em) {
  .mt-03 {
    margin-top: 0.3375em;
  }
}
@media only screen and (max-width:30em) {
  .mt-03 {
    margin-top: 0.225em;
  }
}

.mt-04 {
  margin-top: 0.6em;
}
@media only screen and (max-width:48em) {
  .mt-04 {
    margin-top: 0.45em;
  }
}
@media only screen and (max-width:30em) {
  .mt-04 {
    margin-top: 0.3em;
  }
}

.mt-05 {
  margin-top: 0.75em;
}
@media only screen and (max-width:48em) {
  .mt-05 {
    margin-top: 0.5625em;
  }
}
@media only screen and (max-width:30em) {
  .mt-05 {
    margin-top: 0.375em;
  }
}

.mt-075 {
  margin-top: 1.125em;
}
@media only screen and (max-width:48em) {
  .mt-075 {
    margin-top: 0.84375em;
  }
}
@media only screen and (max-width:30em) {
  .mt-075 {
    margin-top: 0.5625em;
  }
}

.mt-1 {
  margin-top: 1.5em;
}
@media only screen and (max-width:48em) {
  .mt-1 {
    margin-top: 1.125em;
  }
}
@media only screen and (max-width:30em) {
  .mt-1 {
    margin-top: 0.75em;
  }
}

.mt-2 {
  margin-top: 3em;
}
@media only screen and (max-width:48em) {
  .mt-2 {
    margin-top: 2.25em;
  }
}
@media only screen and (max-width:30em) {
  .mt-2 {
    margin-top: 1.5em;
  }
}

.mt-3 {
  margin-top: 4.5em;
}
@media only screen and (max-width:48em) {
  .mt-3 {
    margin-top: 3.375em;
  }
}
@media only screen and (max-width:30em) {
  .mt-3 {
    margin-top: 2.25em;
  }
}

.mt-4 {
  margin-top: 6em;
}
@media only screen and (max-width:48em) {
  .mt-4 {
    margin-top: 4.5em;
  }
}
@media only screen and (max-width:30em) {
  .mt-4 {
    margin-top: 3em;
  }
}

.mt-5 {
  margin-top: 7.5em;
}
@media only screen and (max-width:48em) {
  .mt-5 {
    margin-top: 5.625em;
  }
}
@media only screen and (max-width:30em) {
  .mt-5 {
    margin-top: 3.75em;
  }
}

.mt-6 {
  margin-top: 9em;
}
@media only screen and (max-width:48em) {
  .mt-6 {
    margin-top: 6.75em;
  }
}
@media only screen and (max-width:30em) {
  .mt-6 {
    margin-top: 4.5em;
  }
}

.mt-7 {
  margin-top: 10.5em;
}
@media only screen and (max-width:48em) {
  .mt-7 {
    margin-top: 7.875em;
  }
}
@media only screen and (max-width:30em) {
  .mt-7 {
    margin-top: 5.25em;
  }
}

.mt-8 {
  margin-top: 12em;
}
@media only screen and (max-width:48em) {
  .mt-8 {
    margin-top: 9em;
  }
}
@media only screen and (max-width:30em) {
  .mt-8 {
    margin-top: 6em;
  }
}

.mt-9 {
  margin-top: 13.5em;
}
@media only screen and (max-width:48em) {
  .mt-9 {
    margin-top: 10.125em;
  }
}
@media only screen and (max-width:30em) {
  .mt-9 {
    margin-top: 6.75em;
  }
}

.mt-10 {
  margin-top: 15em;
}
@media only screen and (max-width:48em) {
  .mt-10 {
    margin-top: 11.25em;
  }
}
@media only screen and (max-width:30em) {
  .mt-10 {
    margin-top: 7.5em;
  }
}

.mb-0 {
  margin-bottom: 0em;
}
@media only screen and (max-width:48em) {
  .mb-0 {
    margin-bottom: 0em;
  }
}
@media only screen and (max-width:30em) {
  .mb-0 {
    margin-bottom: 0em;
  }
}

.mb-025 {
  margin-bottom: 0.375em;
}
@media only screen and (max-width:48em) {
  .mb-025 {
    margin-bottom: 0.28125em;
  }
}
@media only screen and (max-width:30em) {
  .mb-025 {
    margin-bottom: 0.1875em;
  }
}

.mb-03 {
  margin-bottom: 0.45em;
}
@media only screen and (max-width:48em) {
  .mb-03 {
    margin-bottom: 0.3375em;
  }
}
@media only screen and (max-width:30em) {
  .mb-03 {
    margin-bottom: 0.225em;
  }
}

.mb-04 {
  margin-bottom: 0.6em;
}
@media only screen and (max-width:48em) {
  .mb-04 {
    margin-bottom: 0.45em;
  }
}
@media only screen and (max-width:30em) {
  .mb-04 {
    margin-bottom: 0.3em;
  }
}

.mb-05 {
  margin-bottom: 0.75em;
}
@media only screen and (max-width:48em) {
  .mb-05 {
    margin-bottom: 0.5625em;
  }
}
@media only screen and (max-width:30em) {
  .mb-05 {
    margin-bottom: 0.375em;
  }
}

.mb-075 {
  margin-bottom: 1.125em;
}
@media only screen and (max-width:48em) {
  .mb-075 {
    margin-bottom: 0.84375em;
  }
}
@media only screen and (max-width:30em) {
  .mb-075 {
    margin-bottom: 0.5625em;
  }
}

.mb-1, .intro {
  margin-bottom: 1.5em;
}
@media only screen and (max-width:48em) {
  .mb-1, .intro {
    margin-bottom: 1.125em;
  }
}
@media only screen and (max-width:30em) {
  .mb-1, .intro {
    margin-bottom: 0.75em;
  }
}

.mb-2 {
  margin-bottom: 3em;
}
@media only screen and (max-width:48em) {
  .mb-2 {
    margin-bottom: 2.25em;
  }
}
@media only screen and (max-width:30em) {
  .mb-2 {
    margin-bottom: 1.5em;
  }
}

.mb-3 {
  margin-bottom: 4.5em;
}
@media only screen and (max-width:48em) {
  .mb-3 {
    margin-bottom: 3.375em;
  }
}
@media only screen and (max-width:30em) {
  .mb-3 {
    margin-bottom: 2.25em;
  }
}

.mb-4 {
  margin-bottom: 6em;
}
@media only screen and (max-width:48em) {
  .mb-4 {
    margin-bottom: 4.5em;
  }
}
@media only screen and (max-width:30em) {
  .mb-4 {
    margin-bottom: 3em;
  }
}

.mb-5 {
  margin-bottom: 7.5em;
}
@media only screen and (max-width:48em) {
  .mb-5 {
    margin-bottom: 5.625em;
  }
}
@media only screen and (max-width:30em) {
  .mb-5 {
    margin-bottom: 3.75em;
  }
}

.mb-6 {
  margin-bottom: 9em;
}
@media only screen and (max-width:48em) {
  .mb-6 {
    margin-bottom: 6.75em;
  }
}
@media only screen and (max-width:30em) {
  .mb-6 {
    margin-bottom: 4.5em;
  }
}

.mb-7 {
  margin-bottom: 10.5em;
}
@media only screen and (max-width:48em) {
  .mb-7 {
    margin-bottom: 7.875em;
  }
}
@media only screen and (max-width:30em) {
  .mb-7 {
    margin-bottom: 5.25em;
  }
}

.mb-8 {
  margin-bottom: 12em;
}
@media only screen and (max-width:48em) {
  .mb-8 {
    margin-bottom: 9em;
  }
}
@media only screen and (max-width:30em) {
  .mb-8 {
    margin-bottom: 6em;
  }
}

.mb-9 {
  margin-bottom: 13.5em;
}
@media only screen and (max-width:48em) {
  .mb-9 {
    margin-bottom: 10.125em;
  }
}
@media only screen and (max-width:30em) {
  .mb-9 {
    margin-bottom: 6.75em;
  }
}

.mb-10 {
  margin-bottom: 15em;
}
@media only screen and (max-width:48em) {
  .mb-10 {
    margin-bottom: 11.25em;
  }
}
@media only screen and (max-width:30em) {
  .mb-10 {
    margin-bottom: 7.5em;
  }
}

.ml-0 {
  margin-left: 0em;
}
@media only screen and (max-width:48em) {
  .ml-0 {
    margin-left: 0em;
  }
}
@media only screen and (max-width:30em) {
  .ml-0 {
    margin-left: 0em;
  }
}

.ml-025 {
  margin-left: 0.375em;
}
@media only screen and (max-width:48em) {
  .ml-025 {
    margin-left: 0.28125em;
  }
}
@media only screen and (max-width:30em) {
  .ml-025 {
    margin-left: 0.1875em;
  }
}

.ml-03 {
  margin-left: 0.45em;
}
@media only screen and (max-width:48em) {
  .ml-03 {
    margin-left: 0.3375em;
  }
}
@media only screen and (max-width:30em) {
  .ml-03 {
    margin-left: 0.225em;
  }
}

.ml-04 {
  margin-left: 0.6em;
}
@media only screen and (max-width:48em) {
  .ml-04 {
    margin-left: 0.45em;
  }
}
@media only screen and (max-width:30em) {
  .ml-04 {
    margin-left: 0.3em;
  }
}

.ml-05 {
  margin-left: 0.75em;
}
@media only screen and (max-width:48em) {
  .ml-05 {
    margin-left: 0.5625em;
  }
}
@media only screen and (max-width:30em) {
  .ml-05 {
    margin-left: 0.375em;
  }
}

.ml-075 {
  margin-left: 1.125em;
}
@media only screen and (max-width:48em) {
  .ml-075 {
    margin-left: 0.84375em;
  }
}
@media only screen and (max-width:30em) {
  .ml-075 {
    margin-left: 0.5625em;
  }
}

.ml-1 {
  margin-left: 1.5em;
}
@media only screen and (max-width:48em) {
  .ml-1 {
    margin-left: 1.125em;
  }
}
@media only screen and (max-width:30em) {
  .ml-1 {
    margin-left: 0.75em;
  }
}

.ml-2 {
  margin-left: 3em;
}
@media only screen and (max-width:48em) {
  .ml-2 {
    margin-left: 2.25em;
  }
}
@media only screen and (max-width:30em) {
  .ml-2 {
    margin-left: 1.5em;
  }
}

.ml-3 {
  margin-left: 4.5em;
}
@media only screen and (max-width:48em) {
  .ml-3 {
    margin-left: 3.375em;
  }
}
@media only screen and (max-width:30em) {
  .ml-3 {
    margin-left: 2.25em;
  }
}

.ml-4 {
  margin-left: 6em;
}
@media only screen and (max-width:48em) {
  .ml-4 {
    margin-left: 4.5em;
  }
}
@media only screen and (max-width:30em) {
  .ml-4 {
    margin-left: 3em;
  }
}

.ml-5 {
  margin-left: 7.5em;
}
@media only screen and (max-width:48em) {
  .ml-5 {
    margin-left: 5.625em;
  }
}
@media only screen and (max-width:30em) {
  .ml-5 {
    margin-left: 3.75em;
  }
}

.ml-6 {
  margin-left: 9em;
}
@media only screen and (max-width:48em) {
  .ml-6 {
    margin-left: 6.75em;
  }
}
@media only screen and (max-width:30em) {
  .ml-6 {
    margin-left: 4.5em;
  }
}

.ml-7 {
  margin-left: 10.5em;
}
@media only screen and (max-width:48em) {
  .ml-7 {
    margin-left: 7.875em;
  }
}
@media only screen and (max-width:30em) {
  .ml-7 {
    margin-left: 5.25em;
  }
}

.ml-8 {
  margin-left: 12em;
}
@media only screen and (max-width:48em) {
  .ml-8 {
    margin-left: 9em;
  }
}
@media only screen and (max-width:30em) {
  .ml-8 {
    margin-left: 6em;
  }
}

.ml-9 {
  margin-left: 13.5em;
}
@media only screen and (max-width:48em) {
  .ml-9 {
    margin-left: 10.125em;
  }
}
@media only screen and (max-width:30em) {
  .ml-9 {
    margin-left: 6.75em;
  }
}

.ml-10 {
  margin-left: 15em;
}
@media only screen and (max-width:48em) {
  .ml-10 {
    margin-left: 11.25em;
  }
}
@media only screen and (max-width:30em) {
  .ml-10 {
    margin-left: 7.5em;
  }
}

.mr-0 {
  margin-right: 0em;
}
@media only screen and (max-width:48em) {
  .mr-0 {
    margin-right: 0em;
  }
}
@media only screen and (max-width:30em) {
  .mr-0 {
    margin-right: 0em;
  }
}

.mr-025 {
  margin-right: 0.375em;
}
@media only screen and (max-width:48em) {
  .mr-025 {
    margin-right: 0.28125em;
  }
}
@media only screen and (max-width:30em) {
  .mr-025 {
    margin-right: 0.1875em;
  }
}

.mr-03 {
  margin-right: 0.45em;
}
@media only screen and (max-width:48em) {
  .mr-03 {
    margin-right: 0.3375em;
  }
}
@media only screen and (max-width:30em) {
  .mr-03 {
    margin-right: 0.225em;
  }
}

.mr-04 {
  margin-right: 0.6em;
}
@media only screen and (max-width:48em) {
  .mr-04 {
    margin-right: 0.45em;
  }
}
@media only screen and (max-width:30em) {
  .mr-04 {
    margin-right: 0.3em;
  }
}

.mr-05 {
  margin-right: 0.75em;
}
@media only screen and (max-width:48em) {
  .mr-05 {
    margin-right: 0.5625em;
  }
}
@media only screen and (max-width:30em) {
  .mr-05 {
    margin-right: 0.375em;
  }
}

.mr-075 {
  margin-right: 1.125em;
}
@media only screen and (max-width:48em) {
  .mr-075 {
    margin-right: 0.84375em;
  }
}
@media only screen and (max-width:30em) {
  .mr-075 {
    margin-right: 0.5625em;
  }
}

.mr-1 {
  margin-right: 1.5em;
}
@media only screen and (max-width:48em) {
  .mr-1 {
    margin-right: 1.125em;
  }
}
@media only screen and (max-width:30em) {
  .mr-1 {
    margin-right: 0.75em;
  }
}

.mr-2 {
  margin-right: 3em;
}
@media only screen and (max-width:48em) {
  .mr-2 {
    margin-right: 2.25em;
  }
}
@media only screen and (max-width:30em) {
  .mr-2 {
    margin-right: 1.5em;
  }
}

.mr-3 {
  margin-right: 4.5em;
}
@media only screen and (max-width:48em) {
  .mr-3 {
    margin-right: 3.375em;
  }
}
@media only screen and (max-width:30em) {
  .mr-3 {
    margin-right: 2.25em;
  }
}

.mr-4 {
  margin-right: 6em;
}
@media only screen and (max-width:48em) {
  .mr-4 {
    margin-right: 4.5em;
  }
}
@media only screen and (max-width:30em) {
  .mr-4 {
    margin-right: 3em;
  }
}

.mr-5 {
  margin-right: 7.5em;
}
@media only screen and (max-width:48em) {
  .mr-5 {
    margin-right: 5.625em;
  }
}
@media only screen and (max-width:30em) {
  .mr-5 {
    margin-right: 3.75em;
  }
}

.mr-6 {
  margin-right: 9em;
}
@media only screen and (max-width:48em) {
  .mr-6 {
    margin-right: 6.75em;
  }
}
@media only screen and (max-width:30em) {
  .mr-6 {
    margin-right: 4.5em;
  }
}

.mr-7 {
  margin-right: 10.5em;
}
@media only screen and (max-width:48em) {
  .mr-7 {
    margin-right: 7.875em;
  }
}
@media only screen and (max-width:30em) {
  .mr-7 {
    margin-right: 5.25em;
  }
}

.mr-8 {
  margin-right: 12em;
}
@media only screen and (max-width:48em) {
  .mr-8 {
    margin-right: 9em;
  }
}
@media only screen and (max-width:30em) {
  .mr-8 {
    margin-right: 6em;
  }
}

.mr-9 {
  margin-right: 13.5em;
}
@media only screen and (max-width:48em) {
  .mr-9 {
    margin-right: 10.125em;
  }
}
@media only screen and (max-width:30em) {
  .mr-9 {
    margin-right: 6.75em;
  }
}

.mr-10 {
  margin-right: 15em;
}
@media only screen and (max-width:48em) {
  .mr-10 {
    margin-right: 11.25em;
  }
}
@media only screen and (max-width:30em) {
  .mr-10 {
    margin-right: 7.5em;
  }
}

.mx-0 {
  margin-left: 0em;
  margin-right: 0em;
}
@media only screen and (max-width:48em) {
  .mx-0 {
    margin-left: 0em;
    margin-right: 0em;
  }
}
@media only screen and (max-width:30em) {
  .mx-0 {
    margin-left: 0em;
    margin-right: 0em;
  }
}

.mx-025 {
  margin-left: 0.375em;
  margin-right: 0.375em;
}
@media only screen and (max-width:48em) {
  .mx-025 {
    margin-left: 0.28125em;
    margin-right: 0.28125em;
  }
}
@media only screen and (max-width:30em) {
  .mx-025 {
    margin-left: 0.1875em;
    margin-right: 0.1875em;
  }
}

.mx-03 {
  margin-left: 0.45em;
  margin-right: 0.45em;
}
@media only screen and (max-width:48em) {
  .mx-03 {
    margin-left: 0.3375em;
    margin-right: 0.3375em;
  }
}
@media only screen and (max-width:30em) {
  .mx-03 {
    margin-left: 0.225em;
    margin-right: 0.225em;
  }
}

.mx-04 {
  margin-left: 0.6em;
  margin-right: 0.6em;
}
@media only screen and (max-width:48em) {
  .mx-04 {
    margin-left: 0.45em;
    margin-right: 0.45em;
  }
}
@media only screen and (max-width:30em) {
  .mx-04 {
    margin-left: 0.3em;
    margin-right: 0.3em;
  }
}

.mx-05 {
  margin-left: 0.75em;
  margin-right: 0.75em;
}
@media only screen and (max-width:48em) {
  .mx-05 {
    margin-left: 0.5625em;
    margin-right: 0.5625em;
  }
}
@media only screen and (max-width:30em) {
  .mx-05 {
    margin-left: 0.375em;
    margin-right: 0.375em;
  }
}

.mx-075 {
  margin-left: 1.125em;
  margin-right: 1.125em;
}
@media only screen and (max-width:48em) {
  .mx-075 {
    margin-left: 0.84375em;
    margin-right: 0.84375em;
  }
}
@media only screen and (max-width:30em) {
  .mx-075 {
    margin-left: 0.5625em;
    margin-right: 0.5625em;
  }
}

.mx-1 {
  margin-left: 1.5em;
  margin-right: 1.5em;
}
@media only screen and (max-width:48em) {
  .mx-1 {
    margin-left: 1.125em;
    margin-right: 1.125em;
  }
}
@media only screen and (max-width:30em) {
  .mx-1 {
    margin-left: 0.75em;
    margin-right: 0.75em;
  }
}

.mx-2 {
  margin-left: 3em;
  margin-right: 3em;
}
@media only screen and (max-width:48em) {
  .mx-2 {
    margin-left: 2.25em;
    margin-right: 2.25em;
  }
}
@media only screen and (max-width:30em) {
  .mx-2 {
    margin-left: 1.5em;
    margin-right: 1.5em;
  }
}

.mx-3 {
  margin-left: 4.5em;
  margin-right: 4.5em;
}
@media only screen and (max-width:48em) {
  .mx-3 {
    margin-left: 3.375em;
    margin-right: 3.375em;
  }
}
@media only screen and (max-width:30em) {
  .mx-3 {
    margin-left: 2.25em;
    margin-right: 2.25em;
  }
}

.mx-4 {
  margin-left: 6em;
  margin-right: 6em;
}
@media only screen and (max-width:48em) {
  .mx-4 {
    margin-left: 4.5em;
    margin-right: 4.5em;
  }
}
@media only screen and (max-width:30em) {
  .mx-4 {
    margin-left: 3em;
    margin-right: 3em;
  }
}

.mx-5 {
  margin-left: 7.5em;
  margin-right: 7.5em;
}
@media only screen and (max-width:48em) {
  .mx-5 {
    margin-left: 5.625em;
    margin-right: 5.625em;
  }
}
@media only screen and (max-width:30em) {
  .mx-5 {
    margin-left: 3.75em;
    margin-right: 3.75em;
  }
}

.mx-6 {
  margin-left: 9em;
  margin-right: 9em;
}
@media only screen and (max-width:48em) {
  .mx-6 {
    margin-left: 6.75em;
    margin-right: 6.75em;
  }
}
@media only screen and (max-width:30em) {
  .mx-6 {
    margin-left: 4.5em;
    margin-right: 4.5em;
  }
}

.mx-7 {
  margin-left: 10.5em;
  margin-right: 10.5em;
}
@media only screen and (max-width:48em) {
  .mx-7 {
    margin-left: 7.875em;
    margin-right: 7.875em;
  }
}
@media only screen and (max-width:30em) {
  .mx-7 {
    margin-left: 5.25em;
    margin-right: 5.25em;
  }
}

.mx-8 {
  margin-left: 12em;
  margin-right: 12em;
}
@media only screen and (max-width:48em) {
  .mx-8 {
    margin-left: 9em;
    margin-right: 9em;
  }
}
@media only screen and (max-width:30em) {
  .mx-8 {
    margin-left: 6em;
    margin-right: 6em;
  }
}

.mx-9 {
  margin-left: 13.5em;
  margin-right: 13.5em;
}
@media only screen and (max-width:48em) {
  .mx-9 {
    margin-left: 10.125em;
    margin-right: 10.125em;
  }
}
@media only screen and (max-width:30em) {
  .mx-9 {
    margin-left: 6.75em;
    margin-right: 6.75em;
  }
}

.mx-10 {
  margin-left: 15em;
  margin-right: 15em;
}
@media only screen and (max-width:48em) {
  .mx-10 {
    margin-left: 11.25em;
    margin-right: 11.25em;
  }
}
@media only screen and (max-width:30em) {
  .mx-10 {
    margin-left: 7.5em;
    margin-right: 7.5em;
  }
}

.my-0 {
  margin-top: 0em;
  margin-bottom: 0em;
}
@media only screen and (max-width:48em) {
  .my-0 {
    margin-top: 0em;
    margin-bottom: 0em;
  }
}
@media only screen and (max-width:30em) {
  .my-0 {
    margin-top: 0em;
    margin-bottom: 0em;
  }
}

.my-025 {
  margin-top: 0.375em;
  margin-bottom: 0.375em;
}
@media only screen and (max-width:48em) {
  .my-025 {
    margin-top: 0.28125em;
    margin-bottom: 0.28125em;
  }
}
@media only screen and (max-width:30em) {
  .my-025 {
    margin-top: 0.1875em;
    margin-bottom: 0.1875em;
  }
}

.my-03 {
  margin-top: 0.45em;
  margin-bottom: 0.45em;
}
@media only screen and (max-width:48em) {
  .my-03 {
    margin-top: 0.3375em;
    margin-bottom: 0.3375em;
  }
}
@media only screen and (max-width:30em) {
  .my-03 {
    margin-top: 0.225em;
    margin-bottom: 0.225em;
  }
}

.my-04 {
  margin-top: 0.6em;
  margin-bottom: 0.6em;
}
@media only screen and (max-width:48em) {
  .my-04 {
    margin-top: 0.45em;
    margin-bottom: 0.45em;
  }
}
@media only screen and (max-width:30em) {
  .my-04 {
    margin-top: 0.3em;
    margin-bottom: 0.3em;
  }
}

.my-05 {
  margin-top: 0.75em;
  margin-bottom: 0.75em;
}
@media only screen and (max-width:48em) {
  .my-05 {
    margin-top: 0.5625em;
    margin-bottom: 0.5625em;
  }
}
@media only screen and (max-width:30em) {
  .my-05 {
    margin-top: 0.375em;
    margin-bottom: 0.375em;
  }
}

.my-075 {
  margin-top: 1.125em;
  margin-bottom: 1.125em;
}
@media only screen and (max-width:48em) {
  .my-075 {
    margin-top: 0.84375em;
    margin-bottom: 0.84375em;
  }
}
@media only screen and (max-width:30em) {
  .my-075 {
    margin-top: 0.5625em;
    margin-bottom: 0.5625em;
  }
}

.my-1 {
  margin-top: 1.5em;
  margin-bottom: 1.5em;
}
@media only screen and (max-width:48em) {
  .my-1 {
    margin-top: 1.125em;
    margin-bottom: 1.125em;
  }
}
@media only screen and (max-width:30em) {
  .my-1 {
    margin-top: 0.75em;
    margin-bottom: 0.75em;
  }
}

.my-2 {
  margin-top: 3em;
  margin-bottom: 3em;
}
@media only screen and (max-width:48em) {
  .my-2 {
    margin-top: 2.25em;
    margin-bottom: 2.25em;
  }
}
@media only screen and (max-width:30em) {
  .my-2 {
    margin-top: 1.5em;
    margin-bottom: 1.5em;
  }
}

.my-3 {
  margin-top: 4.5em;
  margin-bottom: 4.5em;
}
@media only screen and (max-width:48em) {
  .my-3 {
    margin-top: 3.375em;
    margin-bottom: 3.375em;
  }
}
@media only screen and (max-width:30em) {
  .my-3 {
    margin-top: 2.25em;
    margin-bottom: 2.25em;
  }
}

.my-4 {
  margin-top: 6em;
  margin-bottom: 6em;
}
@media only screen and (max-width:48em) {
  .my-4 {
    margin-top: 4.5em;
    margin-bottom: 4.5em;
  }
}
@media only screen and (max-width:30em) {
  .my-4 {
    margin-top: 3em;
    margin-bottom: 3em;
  }
}

.my-5 {
  margin-top: 7.5em;
  margin-bottom: 7.5em;
}
@media only screen and (max-width:48em) {
  .my-5 {
    margin-top: 5.625em;
    margin-bottom: 5.625em;
  }
}
@media only screen and (max-width:30em) {
  .my-5 {
    margin-top: 3.75em;
    margin-bottom: 3.75em;
  }
}

.my-6 {
  margin-top: 9em;
  margin-bottom: 9em;
}
@media only screen and (max-width:48em) {
  .my-6 {
    margin-top: 6.75em;
    margin-bottom: 6.75em;
  }
}
@media only screen and (max-width:30em) {
  .my-6 {
    margin-top: 4.5em;
    margin-bottom: 4.5em;
  }
}

.my-7 {
  margin-top: 10.5em;
  margin-bottom: 10.5em;
}
@media only screen and (max-width:48em) {
  .my-7 {
    margin-top: 7.875em;
    margin-bottom: 7.875em;
  }
}
@media only screen and (max-width:30em) {
  .my-7 {
    margin-top: 5.25em;
    margin-bottom: 5.25em;
  }
}

.my-8 {
  margin-top: 12em;
  margin-bottom: 12em;
}
@media only screen and (max-width:48em) {
  .my-8 {
    margin-top: 9em;
    margin-bottom: 9em;
  }
}
@media only screen and (max-width:30em) {
  .my-8 {
    margin-top: 6em;
    margin-bottom: 6em;
  }
}

.my-9 {
  margin-top: 13.5em;
  margin-bottom: 13.5em;
}
@media only screen and (max-width:48em) {
  .my-9 {
    margin-top: 10.125em;
    margin-bottom: 10.125em;
  }
}
@media only screen and (max-width:30em) {
  .my-9 {
    margin-top: 6.75em;
    margin-bottom: 6.75em;
  }
}

.my-10 {
  margin-top: 15em;
  margin-bottom: 15em;
}
@media only screen and (max-width:48em) {
  .my-10 {
    margin-top: 11.25em;
    margin-bottom: 11.25em;
  }
}
@media only screen and (max-width:30em) {
  .my-10 {
    margin-top: 7.5em;
    margin-bottom: 7.5em;
  }
}

.p-0 {
  padding: 0em;
}
@media only screen and (max-width:48em) {
  .p-0 {
    padding: 0em;
  }
}
@media only screen and (max-width:30em) {
  .p-0 {
    padding: 0em;
  }
}

.p-025 {
  padding: 0.375em;
}
@media only screen and (max-width:48em) {
  .p-025 {
    padding: 0.28125em;
  }
}
@media only screen and (max-width:30em) {
  .p-025 {
    padding: 0.1875em;
  }
}

.p-03 {
  padding: 0.45em;
}
@media only screen and (max-width:48em) {
  .p-03 {
    padding: 0.3375em;
  }
}
@media only screen and (max-width:30em) {
  .p-03 {
    padding: 0.225em;
  }
}

.p-04 {
  padding: 0.6em;
}
@media only screen and (max-width:48em) {
  .p-04 {
    padding: 0.45em;
  }
}
@media only screen and (max-width:30em) {
  .p-04 {
    padding: 0.3em;
  }
}

.p-05 {
  padding: 0.75em;
}
@media only screen and (max-width:48em) {
  .p-05 {
    padding: 0.5625em;
  }
}
@media only screen and (max-width:30em) {
  .p-05 {
    padding: 0.375em;
  }
}

.p-075 {
  padding: 1.125em;
}
@media only screen and (max-width:48em) {
  .p-075 {
    padding: 0.84375em;
  }
}
@media only screen and (max-width:30em) {
  .p-075 {
    padding: 0.5625em;
  }
}

.p-1 {
  padding: 1.5em;
}
@media only screen and (max-width:48em) {
  .p-1 {
    padding: 1.125em;
  }
}
@media only screen and (max-width:30em) {
  .p-1 {
    padding: 0.75em;
  }
}

.p-2 {
  padding: 3em;
}
@media only screen and (max-width:48em) {
  .p-2 {
    padding: 2.25em;
  }
}
@media only screen and (max-width:30em) {
  .p-2 {
    padding: 1.5em;
  }
}

.p-3 {
  padding: 4.5em;
}
@media only screen and (max-width:48em) {
  .p-3 {
    padding: 3.375em;
  }
}
@media only screen and (max-width:30em) {
  .p-3 {
    padding: 2.25em;
  }
}

.p-4 {
  padding: 6em;
}
@media only screen and (max-width:48em) {
  .p-4 {
    padding: 4.5em;
  }
}
@media only screen and (max-width:30em) {
  .p-4 {
    padding: 3em;
  }
}

.p-5 {
  padding: 7.5em;
}
@media only screen and (max-width:48em) {
  .p-5 {
    padding: 5.625em;
  }
}
@media only screen and (max-width:30em) {
  .p-5 {
    padding: 3.75em;
  }
}

.p-6 {
  padding: 9em;
}
@media only screen and (max-width:48em) {
  .p-6 {
    padding: 6.75em;
  }
}
@media only screen and (max-width:30em) {
  .p-6 {
    padding: 4.5em;
  }
}

.p-7 {
  padding: 10.5em;
}
@media only screen and (max-width:48em) {
  .p-7 {
    padding: 7.875em;
  }
}
@media only screen and (max-width:30em) {
  .p-7 {
    padding: 5.25em;
  }
}

.p-8 {
  padding: 12em;
}
@media only screen and (max-width:48em) {
  .p-8 {
    padding: 9em;
  }
}
@media only screen and (max-width:30em) {
  .p-8 {
    padding: 6em;
  }
}

.p-9 {
  padding: 13.5em;
}
@media only screen and (max-width:48em) {
  .p-9 {
    padding: 10.125em;
  }
}
@media only screen and (max-width:30em) {
  .p-9 {
    padding: 6.75em;
  }
}

.p-10 {
  padding: 15em;
}
@media only screen and (max-width:48em) {
  .p-10 {
    padding: 11.25em;
  }
}
@media only screen and (max-width:30em) {
  .p-10 {
    padding: 7.5em;
  }
}

.pt-0 {
  padding-top: 0em;
}
@media only screen and (max-width:48em) {
  .pt-0 {
    padding-top: 0em;
  }
}
@media only screen and (max-width:30em) {
  .pt-0 {
    padding-top: 0em;
  }
}

.pt-025 {
  padding-top: 0.375em;
}
@media only screen and (max-width:48em) {
  .pt-025 {
    padding-top: 0.28125em;
  }
}
@media only screen and (max-width:30em) {
  .pt-025 {
    padding-top: 0.1875em;
  }
}

.pt-03 {
  padding-top: 0.45em;
}
@media only screen and (max-width:48em) {
  .pt-03 {
    padding-top: 0.3375em;
  }
}
@media only screen and (max-width:30em) {
  .pt-03 {
    padding-top: 0.225em;
  }
}

.pt-04 {
  padding-top: 0.6em;
}
@media only screen and (max-width:48em) {
  .pt-04 {
    padding-top: 0.45em;
  }
}
@media only screen and (max-width:30em) {
  .pt-04 {
    padding-top: 0.3em;
  }
}

.pt-05 {
  padding-top: 0.75em;
}
@media only screen and (max-width:48em) {
  .pt-05 {
    padding-top: 0.5625em;
  }
}
@media only screen and (max-width:30em) {
  .pt-05 {
    padding-top: 0.375em;
  }
}

.pt-075 {
  padding-top: 1.125em;
}
@media only screen and (max-width:48em) {
  .pt-075 {
    padding-top: 0.84375em;
  }
}
@media only screen and (max-width:30em) {
  .pt-075 {
    padding-top: 0.5625em;
  }
}

.pt-1 {
  padding-top: 1.5em;
}
@media only screen and (max-width:48em) {
  .pt-1 {
    padding-top: 1.125em;
  }
}
@media only screen and (max-width:30em) {
  .pt-1 {
    padding-top: 0.75em;
  }
}

.pt-2 {
  padding-top: 3em;
}
@media only screen and (max-width:48em) {
  .pt-2 {
    padding-top: 2.25em;
  }
}
@media only screen and (max-width:30em) {
  .pt-2 {
    padding-top: 1.5em;
  }
}

.pt-3 {
  padding-top: 4.5em;
}
@media only screen and (max-width:48em) {
  .pt-3 {
    padding-top: 3.375em;
  }
}
@media only screen and (max-width:30em) {
  .pt-3 {
    padding-top: 2.25em;
  }
}

.pt-4 {
  padding-top: 6em;
}
@media only screen and (max-width:48em) {
  .pt-4 {
    padding-top: 4.5em;
  }
}
@media only screen and (max-width:30em) {
  .pt-4 {
    padding-top: 3em;
  }
}

.pt-5 {
  padding-top: 7.5em;
}
@media only screen and (max-width:48em) {
  .pt-5 {
    padding-top: 5.625em;
  }
}
@media only screen and (max-width:30em) {
  .pt-5 {
    padding-top: 3.75em;
  }
}

.pt-6 {
  padding-top: 9em;
}
@media only screen and (max-width:48em) {
  .pt-6 {
    padding-top: 6.75em;
  }
}
@media only screen and (max-width:30em) {
  .pt-6 {
    padding-top: 4.5em;
  }
}

.pt-7 {
  padding-top: 10.5em;
}
@media only screen and (max-width:48em) {
  .pt-7 {
    padding-top: 7.875em;
  }
}
@media only screen and (max-width:30em) {
  .pt-7 {
    padding-top: 5.25em;
  }
}

.pt-8 {
  padding-top: 12em;
}
@media only screen and (max-width:48em) {
  .pt-8 {
    padding-top: 9em;
  }
}
@media only screen and (max-width:30em) {
  .pt-8 {
    padding-top: 6em;
  }
}

.pt-9 {
  padding-top: 13.5em;
}
@media only screen and (max-width:48em) {
  .pt-9 {
    padding-top: 10.125em;
  }
}
@media only screen and (max-width:30em) {
  .pt-9 {
    padding-top: 6.75em;
  }
}

.pt-10 {
  padding-top: 15em;
}
@media only screen and (max-width:48em) {
  .pt-10 {
    padding-top: 11.25em;
  }
}
@media only screen and (max-width:30em) {
  .pt-10 {
    padding-top: 7.5em;
  }
}

.pb-0 {
  padding-bottom: 0em;
}
@media only screen and (max-width:48em) {
  .pb-0 {
    padding-bottom: 0em;
  }
}
@media only screen and (max-width:30em) {
  .pb-0 {
    padding-bottom: 0em;
  }
}

.pb-025 {
  padding-bottom: 0.375em;
}
@media only screen and (max-width:48em) {
  .pb-025 {
    padding-bottom: 0.28125em;
  }
}
@media only screen and (max-width:30em) {
  .pb-025 {
    padding-bottom: 0.1875em;
  }
}

.pb-03 {
  padding-bottom: 0.45em;
}
@media only screen and (max-width:48em) {
  .pb-03 {
    padding-bottom: 0.3375em;
  }
}
@media only screen and (max-width:30em) {
  .pb-03 {
    padding-bottom: 0.225em;
  }
}

.pb-04 {
  padding-bottom: 0.6em;
}
@media only screen and (max-width:48em) {
  .pb-04 {
    padding-bottom: 0.45em;
  }
}
@media only screen and (max-width:30em) {
  .pb-04 {
    padding-bottom: 0.3em;
  }
}

.pb-05 {
  padding-bottom: 0.75em;
}
@media only screen and (max-width:48em) {
  .pb-05 {
    padding-bottom: 0.5625em;
  }
}
@media only screen and (max-width:30em) {
  .pb-05 {
    padding-bottom: 0.375em;
  }
}

.pb-075 {
  padding-bottom: 1.125em;
}
@media only screen and (max-width:48em) {
  .pb-075 {
    padding-bottom: 0.84375em;
  }
}
@media only screen and (max-width:30em) {
  .pb-075 {
    padding-bottom: 0.5625em;
  }
}

.pb-1 {
  padding-bottom: 1.5em;
}
@media only screen and (max-width:48em) {
  .pb-1 {
    padding-bottom: 1.125em;
  }
}
@media only screen and (max-width:30em) {
  .pb-1 {
    padding-bottom: 0.75em;
  }
}

.pb-2 {
  padding-bottom: 3em;
}
@media only screen and (max-width:48em) {
  .pb-2 {
    padding-bottom: 2.25em;
  }
}
@media only screen and (max-width:30em) {
  .pb-2 {
    padding-bottom: 1.5em;
  }
}

.pb-3 {
  padding-bottom: 4.5em;
}
@media only screen and (max-width:48em) {
  .pb-3 {
    padding-bottom: 3.375em;
  }
}
@media only screen and (max-width:30em) {
  .pb-3 {
    padding-bottom: 2.25em;
  }
}

.pb-4 {
  padding-bottom: 6em;
}
@media only screen and (max-width:48em) {
  .pb-4 {
    padding-bottom: 4.5em;
  }
}
@media only screen and (max-width:30em) {
  .pb-4 {
    padding-bottom: 3em;
  }
}

.pb-5 {
  padding-bottom: 7.5em;
}
@media only screen and (max-width:48em) {
  .pb-5 {
    padding-bottom: 5.625em;
  }
}
@media only screen and (max-width:30em) {
  .pb-5 {
    padding-bottom: 3.75em;
  }
}

.pb-6 {
  padding-bottom: 9em;
}
@media only screen and (max-width:48em) {
  .pb-6 {
    padding-bottom: 6.75em;
  }
}
@media only screen and (max-width:30em) {
  .pb-6 {
    padding-bottom: 4.5em;
  }
}

.pb-7 {
  padding-bottom: 10.5em;
}
@media only screen and (max-width:48em) {
  .pb-7 {
    padding-bottom: 7.875em;
  }
}
@media only screen and (max-width:30em) {
  .pb-7 {
    padding-bottom: 5.25em;
  }
}

.pb-8 {
  padding-bottom: 12em;
}
@media only screen and (max-width:48em) {
  .pb-8 {
    padding-bottom: 9em;
  }
}
@media only screen and (max-width:30em) {
  .pb-8 {
    padding-bottom: 6em;
  }
}

.pb-9 {
  padding-bottom: 13.5em;
}
@media only screen and (max-width:48em) {
  .pb-9 {
    padding-bottom: 10.125em;
  }
}
@media only screen and (max-width:30em) {
  .pb-9 {
    padding-bottom: 6.75em;
  }
}

.pb-10 {
  padding-bottom: 15em;
}
@media only screen and (max-width:48em) {
  .pb-10 {
    padding-bottom: 11.25em;
  }
}
@media only screen and (max-width:30em) {
  .pb-10 {
    padding-bottom: 7.5em;
  }
}

.pl-0 {
  padding-left: 0em;
}
@media only screen and (max-width:48em) {
  .pl-0 {
    padding-left: 0em;
  }
}
@media only screen and (max-width:30em) {
  .pl-0 {
    padding-left: 0em;
  }
}

.pl-025 {
  padding-left: 0.375em;
}
@media only screen and (max-width:48em) {
  .pl-025 {
    padding-left: 0.28125em;
  }
}
@media only screen and (max-width:30em) {
  .pl-025 {
    padding-left: 0.1875em;
  }
}

.pl-03 {
  padding-left: 0.45em;
}
@media only screen and (max-width:48em) {
  .pl-03 {
    padding-left: 0.3375em;
  }
}
@media only screen and (max-width:30em) {
  .pl-03 {
    padding-left: 0.225em;
  }
}

.pl-04 {
  padding-left: 0.6em;
}
@media only screen and (max-width:48em) {
  .pl-04 {
    padding-left: 0.45em;
  }
}
@media only screen and (max-width:30em) {
  .pl-04 {
    padding-left: 0.3em;
  }
}

.pl-05 {
  padding-left: 0.75em;
}
@media only screen and (max-width:48em) {
  .pl-05 {
    padding-left: 0.5625em;
  }
}
@media only screen and (max-width:30em) {
  .pl-05 {
    padding-left: 0.375em;
  }
}

.pl-075 {
  padding-left: 1.125em;
}
@media only screen and (max-width:48em) {
  .pl-075 {
    padding-left: 0.84375em;
  }
}
@media only screen and (max-width:30em) {
  .pl-075 {
    padding-left: 0.5625em;
  }
}

.pl-1 {
  padding-left: 1.5em;
}
@media only screen and (max-width:48em) {
  .pl-1 {
    padding-left: 1.125em;
  }
}
@media only screen and (max-width:30em) {
  .pl-1 {
    padding-left: 0.75em;
  }
}

.pl-2 {
  padding-left: 3em;
}
@media only screen and (max-width:48em) {
  .pl-2 {
    padding-left: 2.25em;
  }
}
@media only screen and (max-width:30em) {
  .pl-2 {
    padding-left: 1.5em;
  }
}

.pl-3 {
  padding-left: 4.5em;
}
@media only screen and (max-width:48em) {
  .pl-3 {
    padding-left: 3.375em;
  }
}
@media only screen and (max-width:30em) {
  .pl-3 {
    padding-left: 2.25em;
  }
}

.pl-4 {
  padding-left: 6em;
}
@media only screen and (max-width:48em) {
  .pl-4 {
    padding-left: 4.5em;
  }
}
@media only screen and (max-width:30em) {
  .pl-4 {
    padding-left: 3em;
  }
}

.pl-5 {
  padding-left: 7.5em;
}
@media only screen and (max-width:48em) {
  .pl-5 {
    padding-left: 5.625em;
  }
}
@media only screen and (max-width:30em) {
  .pl-5 {
    padding-left: 3.75em;
  }
}

.pl-6 {
  padding-left: 9em;
}
@media only screen and (max-width:48em) {
  .pl-6 {
    padding-left: 6.75em;
  }
}
@media only screen and (max-width:30em) {
  .pl-6 {
    padding-left: 4.5em;
  }
}

.pl-7 {
  padding-left: 10.5em;
}
@media only screen and (max-width:48em) {
  .pl-7 {
    padding-left: 7.875em;
  }
}
@media only screen and (max-width:30em) {
  .pl-7 {
    padding-left: 5.25em;
  }
}

.pl-8 {
  padding-left: 12em;
}
@media only screen and (max-width:48em) {
  .pl-8 {
    padding-left: 9em;
  }
}
@media only screen and (max-width:30em) {
  .pl-8 {
    padding-left: 6em;
  }
}

.pl-9 {
  padding-left: 13.5em;
}
@media only screen and (max-width:48em) {
  .pl-9 {
    padding-left: 10.125em;
  }
}
@media only screen and (max-width:30em) {
  .pl-9 {
    padding-left: 6.75em;
  }
}

.pl-10 {
  padding-left: 15em;
}
@media only screen and (max-width:48em) {
  .pl-10 {
    padding-left: 11.25em;
  }
}
@media only screen and (max-width:30em) {
  .pl-10 {
    padding-left: 7.5em;
  }
}

.pr-0 {
  padding-right: 0em;
}
@media only screen and (max-width:48em) {
  .pr-0 {
    padding-right: 0em;
  }
}
@media only screen and (max-width:30em) {
  .pr-0 {
    padding-right: 0em;
  }
}

.pr-025 {
  padding-right: 0.375em;
}
@media only screen and (max-width:48em) {
  .pr-025 {
    padding-right: 0.28125em;
  }
}
@media only screen and (max-width:30em) {
  .pr-025 {
    padding-right: 0.1875em;
  }
}

.pr-03 {
  padding-right: 0.45em;
}
@media only screen and (max-width:48em) {
  .pr-03 {
    padding-right: 0.3375em;
  }
}
@media only screen and (max-width:30em) {
  .pr-03 {
    padding-right: 0.225em;
  }
}

.pr-04 {
  padding-right: 0.6em;
}
@media only screen and (max-width:48em) {
  .pr-04 {
    padding-right: 0.45em;
  }
}
@media only screen and (max-width:30em) {
  .pr-04 {
    padding-right: 0.3em;
  }
}

.pr-05 {
  padding-right: 0.75em;
}
@media only screen and (max-width:48em) {
  .pr-05 {
    padding-right: 0.5625em;
  }
}
@media only screen and (max-width:30em) {
  .pr-05 {
    padding-right: 0.375em;
  }
}

.pr-075 {
  padding-right: 1.125em;
}
@media only screen and (max-width:48em) {
  .pr-075 {
    padding-right: 0.84375em;
  }
}
@media only screen and (max-width:30em) {
  .pr-075 {
    padding-right: 0.5625em;
  }
}

.pr-1 {
  padding-right: 1.5em;
}
@media only screen and (max-width:48em) {
  .pr-1 {
    padding-right: 1.125em;
  }
}
@media only screen and (max-width:30em) {
  .pr-1 {
    padding-right: 0.75em;
  }
}

.pr-2 {
  padding-right: 3em;
}
@media only screen and (max-width:48em) {
  .pr-2 {
    padding-right: 2.25em;
  }
}
@media only screen and (max-width:30em) {
  .pr-2 {
    padding-right: 1.5em;
  }
}

.pr-3 {
  padding-right: 4.5em;
}
@media only screen and (max-width:48em) {
  .pr-3 {
    padding-right: 3.375em;
  }
}
@media only screen and (max-width:30em) {
  .pr-3 {
    padding-right: 2.25em;
  }
}

.pr-4 {
  padding-right: 6em;
}
@media only screen and (max-width:48em) {
  .pr-4 {
    padding-right: 4.5em;
  }
}
@media only screen and (max-width:30em) {
  .pr-4 {
    padding-right: 3em;
  }
}

.pr-5 {
  padding-right: 7.5em;
}
@media only screen and (max-width:48em) {
  .pr-5 {
    padding-right: 5.625em;
  }
}
@media only screen and (max-width:30em) {
  .pr-5 {
    padding-right: 3.75em;
  }
}

.pr-6 {
  padding-right: 9em;
}
@media only screen and (max-width:48em) {
  .pr-6 {
    padding-right: 6.75em;
  }
}
@media only screen and (max-width:30em) {
  .pr-6 {
    padding-right: 4.5em;
  }
}

.pr-7 {
  padding-right: 10.5em;
}
@media only screen and (max-width:48em) {
  .pr-7 {
    padding-right: 7.875em;
  }
}
@media only screen and (max-width:30em) {
  .pr-7 {
    padding-right: 5.25em;
  }
}

.pr-8 {
  padding-right: 12em;
}
@media only screen and (max-width:48em) {
  .pr-8 {
    padding-right: 9em;
  }
}
@media only screen and (max-width:30em) {
  .pr-8 {
    padding-right: 6em;
  }
}

.pr-9 {
  padding-right: 13.5em;
}
@media only screen and (max-width:48em) {
  .pr-9 {
    padding-right: 10.125em;
  }
}
@media only screen and (max-width:30em) {
  .pr-9 {
    padding-right: 6.75em;
  }
}

.pr-10 {
  padding-right: 15em;
}
@media only screen and (max-width:48em) {
  .pr-10 {
    padding-right: 11.25em;
  }
}
@media only screen and (max-width:30em) {
  .pr-10 {
    padding-right: 7.5em;
  }
}

.px-0 {
  padding-left: 0em;
  padding-right: 0em;
}
@media only screen and (max-width:48em) {
  .px-0 {
    padding-left: 0em;
    padding-right: 0em;
  }
}
@media only screen and (max-width:30em) {
  .px-0 {
    padding-left: 0em;
    padding-right: 0em;
  }
}

.px-025 {
  padding-left: 0.375em;
  padding-right: 0.375em;
}
@media only screen and (max-width:48em) {
  .px-025 {
    padding-left: 0.28125em;
    padding-right: 0.28125em;
  }
}
@media only screen and (max-width:30em) {
  .px-025 {
    padding-left: 0.1875em;
    padding-right: 0.1875em;
  }
}

.px-03 {
  padding-left: 0.45em;
  padding-right: 0.45em;
}
@media only screen and (max-width:48em) {
  .px-03 {
    padding-left: 0.3375em;
    padding-right: 0.3375em;
  }
}
@media only screen and (max-width:30em) {
  .px-03 {
    padding-left: 0.225em;
    padding-right: 0.225em;
  }
}

.px-04 {
  padding-left: 0.6em;
  padding-right: 0.6em;
}
@media only screen and (max-width:48em) {
  .px-04 {
    padding-left: 0.45em;
    padding-right: 0.45em;
  }
}
@media only screen and (max-width:30em) {
  .px-04 {
    padding-left: 0.3em;
    padding-right: 0.3em;
  }
}

.px-05 {
  padding-left: 0.75em;
  padding-right: 0.75em;
}
@media only screen and (max-width:48em) {
  .px-05 {
    padding-left: 0.5625em;
    padding-right: 0.5625em;
  }
}
@media only screen and (max-width:30em) {
  .px-05 {
    padding-left: 0.375em;
    padding-right: 0.375em;
  }
}

.px-075 {
  padding-left: 1.125em;
  padding-right: 1.125em;
}
@media only screen and (max-width:48em) {
  .px-075 {
    padding-left: 0.84375em;
    padding-right: 0.84375em;
  }
}
@media only screen and (max-width:30em) {
  .px-075 {
    padding-left: 0.5625em;
    padding-right: 0.5625em;
  }
}

.px-1 {
  padding-left: 1.5em;
  padding-right: 1.5em;
}
@media only screen and (max-width:48em) {
  .px-1 {
    padding-left: 1.125em;
    padding-right: 1.125em;
  }
}
@media only screen and (max-width:30em) {
  .px-1 {
    padding-left: 0.75em;
    padding-right: 0.75em;
  }
}

.px-2 {
  padding-left: 3em;
  padding-right: 3em;
}
@media only screen and (max-width:48em) {
  .px-2 {
    padding-left: 2.25em;
    padding-right: 2.25em;
  }
}
@media only screen and (max-width:30em) {
  .px-2 {
    padding-left: 1.5em;
    padding-right: 1.5em;
  }
}

.px-3 {
  padding-left: 4.5em;
  padding-right: 4.5em;
}
@media only screen and (max-width:48em) {
  .px-3 {
    padding-left: 3.375em;
    padding-right: 3.375em;
  }
}
@media only screen and (max-width:30em) {
  .px-3 {
    padding-left: 2.25em;
    padding-right: 2.25em;
  }
}

.px-4 {
  padding-left: 6em;
  padding-right: 6em;
}
@media only screen and (max-width:48em) {
  .px-4 {
    padding-left: 4.5em;
    padding-right: 4.5em;
  }
}
@media only screen and (max-width:30em) {
  .px-4 {
    padding-left: 3em;
    padding-right: 3em;
  }
}

.px-5 {
  padding-left: 7.5em;
  padding-right: 7.5em;
}
@media only screen and (max-width:48em) {
  .px-5 {
    padding-left: 5.625em;
    padding-right: 5.625em;
  }
}
@media only screen and (max-width:30em) {
  .px-5 {
    padding-left: 3.75em;
    padding-right: 3.75em;
  }
}

.px-6 {
  padding-left: 9em;
  padding-right: 9em;
}
@media only screen and (max-width:48em) {
  .px-6 {
    padding-left: 6.75em;
    padding-right: 6.75em;
  }
}
@media only screen and (max-width:30em) {
  .px-6 {
    padding-left: 4.5em;
    padding-right: 4.5em;
  }
}

.px-7 {
  padding-left: 10.5em;
  padding-right: 10.5em;
}
@media only screen and (max-width:48em) {
  .px-7 {
    padding-left: 7.875em;
    padding-right: 7.875em;
  }
}
@media only screen and (max-width:30em) {
  .px-7 {
    padding-left: 5.25em;
    padding-right: 5.25em;
  }
}

.px-8 {
  padding-left: 12em;
  padding-right: 12em;
}
@media only screen and (max-width:48em) {
  .px-8 {
    padding-left: 9em;
    padding-right: 9em;
  }
}
@media only screen and (max-width:30em) {
  .px-8 {
    padding-left: 6em;
    padding-right: 6em;
  }
}

.px-9 {
  padding-left: 13.5em;
  padding-right: 13.5em;
}
@media only screen and (max-width:48em) {
  .px-9 {
    padding-left: 10.125em;
    padding-right: 10.125em;
  }
}
@media only screen and (max-width:30em) {
  .px-9 {
    padding-left: 6.75em;
    padding-right: 6.75em;
  }
}

.px-10 {
  padding-left: 15em;
  padding-right: 15em;
}
@media only screen and (max-width:48em) {
  .px-10 {
    padding-left: 11.25em;
    padding-right: 11.25em;
  }
}
@media only screen and (max-width:30em) {
  .px-10 {
    padding-left: 7.5em;
    padding-right: 7.5em;
  }
}

.py-0 {
  padding-top: 0em;
  padding-bottom: 0em;
}
@media only screen and (max-width:48em) {
  .py-0 {
    padding-top: 0em;
    padding-bottom: 0em;
  }
}
@media only screen and (max-width:30em) {
  .py-0 {
    padding-top: 0em;
    padding-bottom: 0em;
  }
}

.py-025 {
  padding-top: 0.375em;
  padding-bottom: 0.375em;
}
@media only screen and (max-width:48em) {
  .py-025 {
    padding-top: 0.28125em;
    padding-bottom: 0.28125em;
  }
}
@media only screen and (max-width:30em) {
  .py-025 {
    padding-top: 0.1875em;
    padding-bottom: 0.1875em;
  }
}

.py-03 {
  padding-top: 0.45em;
  padding-bottom: 0.45em;
}
@media only screen and (max-width:48em) {
  .py-03 {
    padding-top: 0.3375em;
    padding-bottom: 0.3375em;
  }
}
@media only screen and (max-width:30em) {
  .py-03 {
    padding-top: 0.225em;
    padding-bottom: 0.225em;
  }
}

.py-04 {
  padding-top: 0.6em;
  padding-bottom: 0.6em;
}
@media only screen and (max-width:48em) {
  .py-04 {
    padding-top: 0.45em;
    padding-bottom: 0.45em;
  }
}
@media only screen and (max-width:30em) {
  .py-04 {
    padding-top: 0.3em;
    padding-bottom: 0.3em;
  }
}

.py-05 {
  padding-top: 0.75em;
  padding-bottom: 0.75em;
}
@media only screen and (max-width:48em) {
  .py-05 {
    padding-top: 0.5625em;
    padding-bottom: 0.5625em;
  }
}
@media only screen and (max-width:30em) {
  .py-05 {
    padding-top: 0.375em;
    padding-bottom: 0.375em;
  }
}

.py-075 {
  padding-top: 1.125em;
  padding-bottom: 1.125em;
}
@media only screen and (max-width:48em) {
  .py-075 {
    padding-top: 0.84375em;
    padding-bottom: 0.84375em;
  }
}
@media only screen and (max-width:30em) {
  .py-075 {
    padding-top: 0.5625em;
    padding-bottom: 0.5625em;
  }
}

.py-1 {
  padding-top: 1.5em;
  padding-bottom: 1.5em;
}
@media only screen and (max-width:48em) {
  .py-1 {
    padding-top: 1.125em;
    padding-bottom: 1.125em;
  }
}
@media only screen and (max-width:30em) {
  .py-1 {
    padding-top: 0.75em;
    padding-bottom: 0.75em;
  }
}

.py-2 {
  padding-top: 3em;
  padding-bottom: 3em;
}
@media only screen and (max-width:48em) {
  .py-2 {
    padding-top: 2.25em;
    padding-bottom: 2.25em;
  }
}
@media only screen and (max-width:30em) {
  .py-2 {
    padding-top: 1.5em;
    padding-bottom: 1.5em;
  }
}

.py-3 {
  padding-top: 4.5em;
  padding-bottom: 4.5em;
}
@media only screen and (max-width:48em) {
  .py-3 {
    padding-top: 3.375em;
    padding-bottom: 3.375em;
  }
}
@media only screen and (max-width:30em) {
  .py-3 {
    padding-top: 2.25em;
    padding-bottom: 2.25em;
  }
}

.py-4 {
  padding-top: 6em;
  padding-bottom: 6em;
}
@media only screen and (max-width:48em) {
  .py-4 {
    padding-top: 4.5em;
    padding-bottom: 4.5em;
  }
}
@media only screen and (max-width:30em) {
  .py-4 {
    padding-top: 3em;
    padding-bottom: 3em;
  }
}

.py-5 {
  padding-top: 7.5em;
  padding-bottom: 7.5em;
}
@media only screen and (max-width:48em) {
  .py-5 {
    padding-top: 5.625em;
    padding-bottom: 5.625em;
  }
}
@media only screen and (max-width:30em) {
  .py-5 {
    padding-top: 3.75em;
    padding-bottom: 3.75em;
  }
}

.py-6 {
  padding-top: 9em;
  padding-bottom: 9em;
}
@media only screen and (max-width:48em) {
  .py-6 {
    padding-top: 6.75em;
    padding-bottom: 6.75em;
  }
}
@media only screen and (max-width:30em) {
  .py-6 {
    padding-top: 4.5em;
    padding-bottom: 4.5em;
  }
}

.py-7 {
  padding-top: 10.5em;
  padding-bottom: 10.5em;
}
@media only screen and (max-width:48em) {
  .py-7 {
    padding-top: 7.875em;
    padding-bottom: 7.875em;
  }
}
@media only screen and (max-width:30em) {
  .py-7 {
    padding-top: 5.25em;
    padding-bottom: 5.25em;
  }
}

.py-8 {
  padding-top: 12em;
  padding-bottom: 12em;
}
@media only screen and (max-width:48em) {
  .py-8 {
    padding-top: 9em;
    padding-bottom: 9em;
  }
}
@media only screen and (max-width:30em) {
  .py-8 {
    padding-top: 6em;
    padding-bottom: 6em;
  }
}

.py-9 {
  padding-top: 13.5em;
  padding-bottom: 13.5em;
}
@media only screen and (max-width:48em) {
  .py-9 {
    padding-top: 10.125em;
    padding-bottom: 10.125em;
  }
}
@media only screen and (max-width:30em) {
  .py-9 {
    padding-top: 6.75em;
    padding-bottom: 6.75em;
  }
}

.py-10 {
  padding-top: 15em;
  padding-bottom: 15em;
}
@media only screen and (max-width:48em) {
  .py-10 {
    padding-top: 11.25em;
    padding-bottom: 11.25em;
  }
}
@media only screen and (max-width:30em) {
  .py-10 {
    padding-top: 7.5em;
    padding-bottom: 7.5em;
  }
}

.no-gap {
  margin: 0 !important;
  padding: 0 !important;
}

.no-padding {
  padding: 0 !important;
}

.no-margin {
  margin: 0 !important;
}

@media only screen and (max-width:30em) {
  .mobile-no-margin {
    margin: 0 !important;
  }
}

@media only screen and (max-width:30em) {
  .mobile-no-margin {
    padding: 0 !important;
  }
}

.spacings--pt-none {
  padding-top: 0 !important;
}
.spacings--pt-small {
  padding-top: 1em !important;
}
.spacings--pt-medium {
  padding-top: 2em !important;
}
.spacings--pt-large {
  padding-top: 3em !important;
}
.spacings--pb-none {
  padding-bottom: 0 !important;
}
.spacings--pb-xs {
  padding-bottom: 0.5em !important;
}
.spacings--pb-small {
  padding-bottom: 1em !important;
}
.spacings--pb-medium {
  padding-bottom: 2em !important;
}
@media only screen and (max-width:30em) {
  .spacings--pb-medium {
    padding-bottom: 1em !important;
  }
}
.spacings--pb-large {
  padding-bottom: 3em !important;
}
.spacings--mt-none {
  margin-top: 0 !important;
}
.spacings--mt-small {
  margin-top: 1em !important;
}
.spacings--mt-medium {
  margin-top: 2em !important;
}
@media only screen and (max-width:30em) {
  .spacings--mt-medium {
    margin-top: 0 !important;
  }
}
.spacings--mt-large {
  margin-top: 3em !important;
}
.spacings--mb-none {
  margin-bottom: 0 !important;
}
.spacings--mb-small {
  margin-bottom: 1em !important;
}
.spacings--mb-medium {
  margin-bottom: 2em !important;
}
@media only screen and (max-width:30em) {
  .spacings--mb-medium {
    margin-bottom: 1em !important;
  }
}
.spacings--mb-large {
  margin-bottom: 3em !important;
}

/** ! ==================================================
 * HELPERS/Animations
 * Fancy CSS Animations & Microinteractions
 * ================================================== */
.animated-bg {
  overflow: hidden;
}
.animated-bg:hover {
  background-color: transparent;
}
.animated-bg::after {
  content: "";
  position: absolute;
  background-color: #333;
  transition: 300ms ease;
}
.animated-bg--l::after {
  top: 0;
  left: auto;
  right: 0;
  width: 0;
  height: 100%;
}
.animated-bg--l:hover::after {
  left: 0;
  right: auto;
  width: 100%;
}
.animated-bg--r::after {
  top: 0;
  left: 0;
  right: auto;
  width: 0;
  height: 100%;
}
.animated-bg--r:hover::after {
  left: auto;
  right: 0;
  width: 100%;
}
.animated-bg--t::after {
  top: auto;
  left: 0;
  bottom: 0;
  height: 0;
  width: 100%;
}
.animated-bg--t:hover::after {
  top: 0;
  bottom: auto;
  height: 100%;
}
.animated-bg--b::after {
  top: 0;
  left: 0;
  bottom: auto;
  height: 0;
  width: 100%;
}
.animated-bg--b:hover::after {
  top: auto;
  bottom: 0;
  height: 100%;
}
.animated-bg span {
  position: relative;
  z-index: 2;
}

.btn--primary-outline.animated-bg::after {
  background-color: #00549e;
}

.btn--secondary-outline.animated-bg::after {
  background-color: #00853f;
}

.animate-arrow {
  overflow: hidden;
}
.animate-arrow .icon {
  transition: 200ms ease;
}
.animate-arrow--r .arrow-hover {
  transform: translate(-250%, -50%);
}
.animate-arrow--r:hover .arrow-start {
  transform: translate(250%, -50%);
}
.animate-arrow--r:hover .arrow-hover {
  transform: translate(-50%, -50%);
}
.animate-arrow--l .arrow-hover {
  transform: translate(250%, -50%);
}
.animate-arrow--l:hover .arrow-start {
  transform: translate(-250%, -50%);
}
.animate-arrow--l:hover .arrow-hover {
  transform: translate(-50%, -50%);
}
.animate-arrow--t .arrow-hover {
  transform: translate(-50%, -250%);
}
.animate-arrow--t:hover .arrow-start {
  transform: translate(-50%, 250%);
}
.animate-arrow--t:hover .arrow-hover {
  transform: translate(-50%, -50%);
}
.animate-arrow--b .arrow-hover {
  transform: translate(-50%, 250%);
}
.animate-arrow--b:hover .arrow-start {
  transform: translate(-50%, -250%);
}
.animate-arrow--b:hover .arrow-hover {
  transform: translate(-50%, -50%);
}

.animate-circle {
  position: relative;
  display: inline-block;
  width: 52px;
  height: 52px;
  color: #333;
}
.animate-circle:hover {
  color: #333;
}
.animate-circle:hover circle {
  stroke-dashoffset: 0;
  stroke-dasharray: 160;
}
.animate-circle circle {
  stroke-dasharray: 160;
  stroke-dashoffset: 160;
  transition: 800ms ease-in-out;
}

.animate-download {
  position: relative;
  display: inline-block;
  width: 52px;
  height: 52px;
  overflow: hidden;
  color: #fff;
}
.animate-download:hover {
  color: #fff;
}
.animate-download circle {
  stroke-dashoffset: 160;
  stroke-dasharray: 160;
}
.animate-download .icon--done {
  transform: translate(-50%, -250%);
}
.animate-download.is-animated circle {
  animation: download 3s ease forwards;
}
.animate-download.is-animated .icon--download {
  animation: btnDownload 150ms ease 3s forwards;
}
.animate-download.is-animated .icon--done {
  animation: btnDone 150ms ease 3100ms forwards;
}

.animate-progress.is-animated .progress__bar span {
  animation: progressBar 800ms ease-in-out forwards;
}
.animate-progress.is-animated .progress__done {
  animation: progressDone 100ms ease-in-out 900ms forwards;
}

.animate-submit .animate-submit__icon {
  position: absolute;
  right: 16px;
  top: 50%;
  margin-top: -8px;
  opacity: 0;
  transition: 200ms ease;
  transform: translateX(-35%);
}
.animate-submit.is-animated {
  padding-right: 3em;
  cursor: not-allowed;
}
.animate-submit.is-validated .animate-submit__loader {
  transform: translateX(0%);
  opacity: 1;
  transition-delay: 200ms;
}
.animate-submit.is-validated .animate-submit__loader .icon {
  animation: submitLoader 400ms ease-in-out infinite;
}
.animate-submit.is-done .animate-submit__done {
  transform: translateX(0%);
  opacity: 1;
}
.animate-submit.is-error .animate-submit__error {
  transform: translateX(0%);
  opacity: 1;
}

.form__field.is-animated {
  position: relative;
  margin-top: 0.5em;
}
.form__field.is-animated input {
  outline: none;
}
.form__field.is-animated span {
  pointer-events: none;
  position: absolute;
  left: 0.5em;
  top: 50%;
  transform: translateY(-50%);
  color: #858585;
  transition: 100ms ease;
}
.form__field.is-animated span.is-selected {
  top: 0%;
  color: #00549e;
  font-size: 75%;
}

.progress {
  position: relative;
  width: 300px;
  height: 20px;
  background-color: #ebebeb;
}
.progress .progress__bar {
  position: relative;
  height: 20px;
  overflow: hidden;
}
.progress .progress__bar span {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: #00549e;
  transform: translateX(-100%);
}
.progress .progress__done {
  position: absolute;
  top: 0;
  right: -24px;
  transform: translateX(-100%);
  opacity: 0;
}

.is-loading .loading-ellipsis {
  display: inline-block;
}

.loading-ellipsis {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  background: #00549e;
}
.loading-ellipsis.is-loading {
  display: inline-block;
}
.loading-ellipsis__wrapper {
  display: flex;
  position: absolute;
  width: 70px;
  height: 15px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.loading-ellipsis__wrapper span {
  position: absolute;
  top: 0;
  width: 13px;
  height: 13px;
  border-radius: 50%;
  background: #fff;
  animation-timing-function: cubic-bezier(0, 1, 1, 0);
}
.loading-ellipsis__wrapper span:nth-child(1) {
  left: 8px;
  animation: loading-ellipsis1 0.6s infinite;
}
.loading-ellipsis__wrapper span:nth-child(2) {
  left: 8px;
  animation: loading-ellipsis2 0.6s infinite;
}
.loading-ellipsis__wrapper span:nth-child(3) {
  left: 32px;
  animation: loading-ellipsis2 0.6s infinite;
}
.loading-ellipsis__wrapper span:nth-child(4) {
  left: 56px;
  animation: loading-ellipsis3 0.6s infinite;
}

.blob-animation {
  animation: blobAnimation 1s forwards;
}

/** ! ==================================================
 * CSS Keyframes
 * ================================================== */
@keyframes download {
  0% {
    stroke-dashoffset: 160;
  }
  25% {
    stroke-dashoffset: 120;
  }
  50% {
    stroke-dashoffset: 90;
  }
  75% {
    stroke-dashoffset: 40;
  }
  100% {
    stroke-dashoffset: 5;
  }
}
@keyframes btnDownload {
  to {
    transform: translate(-50%, 175%);
  }
}
@keyframes btnDone {
  to {
    transform: translate(-50%, -50%);
  }
}
@keyframes progressBar {
  to {
    transform: translateX(0%);
  }
}
@keyframes progressDone {
  to {
    transform: translateX(0%);
    opacity: 1;
  }
}
@keyframes submitLoader {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
@keyframes loading-ellipsis1 {
  0% {
    transform: scale(0);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes loading-ellipsis3 {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(0);
  }
}
@keyframes loading-ellipsis2 {
  0% {
    transform: translate(0, 0);
  }
  100% {
    transform: translate(24px, 0);
  }
}
@keyframes blobAnimation {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.2);
  }
  100% {
    transform: scale(1);
  }
}
/** ! ==================================================
 * HELPERS/Settings for touch devices
 * ================================================== */
.is-touch .nav__primary ul li.nav__item.is-dropdown a.dropdown-link {
  display: none;
}
.is-touch .nav__primary ul li.nav__item.is-dropdown span.dropdown-touch {
  display: inline-block;
}
.is-touch .video__load {
  display: block;
}

/** ! ==================================================
 * HELPERS
 * ================================================== */ /** ! ==================================================
 * CONTENT/Colors
 *  color classes
 * ================================================== */
::-moz-selection {
  color: #fff;
  background: #00549e;
}

::selection {
  color: #fff;
  background: #00549e;
}

.color-bg-white {
  background-color: #fff !important;
}

.color-bg-black {
  background-color: #333;
}

.color-bg-gray-1 {
  background-color: #444;
}

.color-bg-gray-2 {
  background-color: #727171;
}

.color-bg-gray-3 {
  background-color: #858585;
}

.color-bg-gray-4 {
  background-color: #acacac;
}

.color-bg-gray-5 {
  background-color: #ebebeb;
}

.color-bg-primary {
  background-color: #00549e;
}

.color-bg-secondary {
  background-color: #00853f;
}

.color-bg-tertiary {
  background-color: #313945;
}

.color-bg-text {
  background-color: #333;
}

.color-bg-text-light {
  background-color: #858585;
}

.color-bg-border {
  background-color: #acacac;
}

.color-font-white {
  color: #fff;
}

.color-font-black {
  color: #333;
}

.color-font-text {
  color: #333;
}

.color-font-light {
  color: #858585;
}

.color-font-gray-1 {
  color: #444;
}

.color-font-gray-2 {
  color: #727171;
}

.color-font-gray-3 {
  color: #858585;
}

.color-font-gray-4 {
  color: #acacac;
}

.color-font-gray-5 {
  color: #ebebeb;
}

.color-font-primary {
  color: #00549e;
}

.color-font-secondary {
  color: #00853f;
}

.color-font-tertiary {
  color: #313945;
}

.color-font-error {
  color: #da606b;
}

/** ! ==================================================
 * CONTENT/Typo
 *  Typography
 * ================================================== */
* {
  text-rendering: geometricprecision;
}

h1,
.h1,
.slider-hero__headline,
.hero__headline,
h2,
.h2,
.checkout .checkout__sidebar-headline,
.product__headline,
.lp-card__headline,
.job-select .fake-select__label,
.intro__headline--small,
.intro__subline,
.card__headline,
.footer__socialMedia .headline,
.article__headline,
h3,
.h3,
.orders__headline,
.action-overlay__headline,
.search-entry__headline,
.faq__headline,
h4,
.h4,
.card__headline--small,
h5,
.h5,
.cookieModal__settingHeadline,
.intro__headline,
h6,
.h6,
.product__variant-headline,
[data-shopware-wishlist=overlay] .shopware-item__headline,
[data-shopware-cart=overlay] .shopware-item__headline,
.shopware-item__headline,
.toc__headline,
.slider-cards__headline,
.slider-hero__headline--small,
.slider-testimonal__headline,
.sidebar__headline {
  margin-top: 0;
  font-family: "Nunito", "Times New Roman", serif;
  word-break: break-word;
  letter-spacing: 0.4px;
  font-weight: 900;
  color: #333;
}
h1 span,
.h1 span,
.slider-hero__headline span,
.hero__headline span,
h2 span,
.h2 span,
.checkout .checkout__sidebar-headline span,
.product__headline span,
.lp-card__headline span,
.job-select .fake-select__label span,
.intro__headline--small span,
.intro__subline span,
.card__headline span,
.footer__socialMedia .headline span,
.article__headline span,
h3 span,
.h3 span,
.orders__headline span,
.action-overlay__headline span,
.search-entry__headline span,
.faq__headline span,
h4 span,
.h4 span,
.card__headline--small span,
h5 span,
.h5 span,
.cookieModal__settingHeadline span,
.intro__headline span,
h6 span,
.h6 span,
.product__variant-headline span,
[data-shopware-wishlist=overlay] .shopware-item__headline span,
[data-shopware-cart=overlay] .shopware-item__headline span,
.shopware-item__headline span,
.toc__headline span,
.slider-cards__headline span,
.slider-hero__headline--small span,
.slider-testimonal__headline span,
.sidebar__headline span {
  font-family: inherit;
}

h1,
.h1,
.slider-hero__headline,
.hero__headline {
  margin-bottom: 0.6em;
  font-size: 40px;
  font-size: calc(20px + (40 - 20) * ((100vw - 320px) / (1680 - 320)));
  font-size: clamp(1.25rem, 2.9197080292vw, 2.5rem);
  line-height: calc(10px + 2ex + 2px);
}
@media only screen and (max-width:48em) {
  h1,
  .h1,
  .slider-hero__headline,
  .hero__headline {
    line-height: 1.4em;
  }
}

h2,
.h2,
.checkout .checkout__sidebar-headline,
.product__headline,
.lp-card__headline,
.job-select .fake-select__label,
.intro__headline--small,
.intro__subline,
.card__headline,
.footer__socialMedia .headline,
.article__headline {
  margin-bottom: 1em;
  font-size: 22px;
  font-size: calc(16px + (22 - 16) * ((100vw - 320px) / (1680 - 320)));
  font-size: clamp(1rem, 1.6058394161vw, 1.375rem);
  line-height: calc(2px + 2ex + 2px);
  font-weight: 900;
}

h3,
.h3,
.orders__headline,
.action-overlay__headline,
.search-entry__headline,
.faq__headline {
  margin-bottom: 1em;
  font-size: 19px;
  font-size: calc(16px + (19 - 16) * ((100vw - 320px) / (1680 - 320)));
  font-size: clamp(1rem, 1.3868613139vw, 1.1875rem);
  line-height: calc(2px + 2ex + 2px);
  font-weight: 700;
  letter-spacing: 0.35px;
}
@media only screen and (max-width:48em) {
  h3,
  .h3,
  .orders__headline,
  .action-overlay__headline,
  .search-entry__headline,
  .faq__headline {
    margin-top: 1em;
  }
}

h4,
.h4,
.card__headline--small {
  margin-bottom: 0.65em;
  font-size: 16px;
  font-size: 1rem;
  line-height: calc(2px + 2ex + 2px);
}
@media only screen and (max-width:64em) {
  h4,
  .h4,
  .card__headline--small {
    margin-top: 1em;
    margin-bottom: 1em;
    font-size: 0.875rem;
  }
}

h5,
.h5,
.cookieModal__settingHeadline,
.intro__headline {
  margin-bottom: 0.65em;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: calc(2px + 2ex + 2px);
  text-transform: uppercase;
  color: #acacac;
  font-weight: 700;
  letter-spacing: 2px;
}
@media only screen and (max-width:64em) {
  h5,
  .h5,
  .cookieModal__settingHeadline,
  .intro__headline {
    margin-top: 0.875rem;
    margin-bottom: 1em;
  }
}

h6,
.h6,
.product__variant-headline,
[data-shopware-wishlist=overlay] .shopware-item__headline,
[data-shopware-cart=overlay] .shopware-item__headline,
.shopware-item__headline,
.toc__headline,
.slider-cards__headline,
.slider-hero__headline--small,
.slider-testimonal__headline,
.sidebar__headline {
  margin-bottom: 0.65em;
  line-height: calc(2px + 2ex + 2px);
  font-weight: 900;
}
@media only screen and (max-width:64em) {
  h6,
  .h6,
  .product__variant-headline,
  [data-shopware-wishlist=overlay] .shopware-item__headline,
  [data-shopware-cart=overlay] .shopware-item__headline,
  .shopware-item__headline,
  .toc__headline,
  .slider-cards__headline,
  .slider-hero__headline--small,
  .slider-testimonal__headline,
  .sidebar__headline {
    margin-top: 0.875rem;
    margin-bottom: 1em;
  }
}

.fontsize-xsmall, .product__payment-icon, .product__variant-hint, .order__product-description, .order__product-details, .order__product-variant *, .shopware-item .shopware-item__select, figcaption, .search-entry__subline, .pagination *, .breadcrumb__link, .banner-product__price .tax-hint, .banner-product__price .price-from, .video .nocookie__text, .slider-hero__subline--small, .slider-hero__counter, .nav-footer__link, .nav__pills ul a,
.nav__pills ul button, .form__link, .fieldset legend, .field__error, .field label, .field label abbr, .msg .msg__content p, .msg .msg__action a, .msg-small .msg-small__headline, .msg-small p, .nav .dropdown a, code, .badge.badge--large {
  font-size: 12px;
  font-size: 0.75rem;
}
.fontsize-xsmall::after, .product__payment-icon::after, .product__variant-hint::after, .order__product-description::after, .order__product-details::after, .order__product-variant ::after, .shopware-item .shopware-item__select::after, figcaption::after, .search-entry__subline::after, .pagination ::after, .breadcrumb__link::after, .banner-product__price .tax-hint::after, .banner-product__price .price-from::after, .video .nocookie__text::after, .slider-hero__subline--small::after, .slider-hero__counter::after, .nav-footer__link::after, .nav__pills ul a::after,
.nav__pills ul button::after, .form__link::after, .fieldset legend::after, .field__error::after, .field label::after, .field label abbr::after, .msg .msg__content p::after, .msg .msg__action a::after, .msg-small .msg-small__headline::after, .msg-small p::after, .nav .dropdown a::after, code::after, .badge.badge--large::after {
  height: 1px;
}

.fontsize-xxsmall {
  font-size: 10px;
  font-size: 0.625rem;
}
.fontsize-xxsmall::after {
  height: 1px;
}

.fontsize-small, #cookieModal .text p,
#cookieModal .text span, #cookieModal .setup .text, .cookieModal__settingsEntry, .checkout__subline, .checkout__payment-infos, .product__label, .product__download, .product__additional-info, .product__tax-hint, .product__delivery-infos *, .product__delivery-time, .order__info *, .order__button, .order__product-title, .order__summary *, .lp-card__text *, table.shopware-cart th,
table.shopware-cart td, table.shopware-cart .btn, .banner-product__label, .banner-product__subline, .banner-product__additional-info, .block-type-text--small *, .notification__content, .form__radio-box, .forms-addresses__label, .cards-credits__label, .btn.btn--textLink {
  font-size: 13px;
  font-size: 0.8125rem;
}
.fontsize-small::after, #cookieModal .text p::after,
#cookieModal .text span::after, #cookieModal .setup .text::after, .cookieModal__settingsEntry::after, .checkout__subline::after, .checkout__payment-infos::after, .product__label::after, .product__download::after, .product__additional-info::after, .product__tax-hint::after, .product__delivery-infos ::after, .product__delivery-time::after, .order__info ::after, .order__button::after, .order__product-title::after, .order__summary ::after, .lp-card__text ::after, table.shopware-cart th::after,
table.shopware-cart td::after, table.shopware-cart .btn::after, .banner-product__label::after, .banner-product__subline::after, .banner-product__additional-info::after, .block-type-text--small ::after, .notification__content::after, .form__radio-box::after, .forms-addresses__label::after, .cards-credits__label::after, .btn.btn--textLink::after {
  height: 1px;
}

.fontsize-regular, .checkout .checkout__completion-step span, .checkout .checkout__sidebar-cost-position, .button-add-to-cart, .product__subline, .orders__subline, .lp-card__action, [data-shopware-wishlist=overlay] .shopware-item__content *,
[data-shopware-cart=overlay] .shopware-item__content *, .filter-row__resetButton, .searchbar__label, .fake-select__label, .keyfacts .keyfact *, .block-type-text--regular *, .radio .radio__label--regular, .forms-addresses__content, .hero__user-name, .btn.btn--small, .btn--logout, .table td, .table th, h6,
.h6,
.product__variant-headline,
[data-shopware-wishlist=overlay] .shopware-item__headline,
[data-shopware-cart=overlay] .shopware-item__headline,
.shopware-item__headline,
.toc__headline,
.slider-cards__headline,
.slider-hero__headline--small,
.slider-testimonal__headline,
.sidebar__headline {
  font-size: 14px;
  font-size: 0.875rem;
}

.fontsize-medium, .tab-nav__link, .product__description, .banner__subline, .mega-menu .headline, .mega-menu .text, .slider-cards__headline, .slider-cards__action, .checkbox .checkbox__label, .cards-credits__text, .cards-credits__price, .card__links *, .table__caption {
  font-size: 15px;
  font-size: 0.9375rem;
}

.fontsize-flow-text, .block-type-list li, p {
  font-size: 16px;
  font-size: 1rem;
}

.fontsize-default, .checkout__headline, .banner-product__price .value[data-price-from]::before, .nav li.nav__item .dropdown-touch, .btn.btn--large {
  font-size: 18px;
  font-size: 1.125rem;
}

.fontsize-lead, .alphabetical-jobs__alpha, .block-type-text--lead *, .accordion .accordion__item .accordion__button {
  font-size: 20px;
  font-size: calc(16px + (20 - 16) * ((100vw - 320px) / (1680 - 320)));
  font-size: clamp(1rem, 1.4598540146vw, 1.25rem);
}

.fonttransform--upper {
  text-transform: uppercase;
}

p {
  margin-top: 0;
  margin-bottom: 1em;
  line-height: 1.6em;
  color: #333;
  font-weight: 400;
}

ul,
ol {
  margin-top: 0;
  margin-bottom: 1em;
  padding-left: 1.5em;
}
ul.list-unstyled,
ol.list-unstyled {
  padding-left: 0;
  list-style: none;
}
ul.list-inline,
ol.list-inline {
  padding-left: 0;
  list-style: none;
}
ul.list-inline li,
ol.list-inline li {
  display: inline-block;
  margin-bottom: 0;
  margin-right: 0.5em;
}
ul li,
ol li {
  margin-bottom: 0.2em;
  font-size: 16px;
  font-size: 1rem;
  color: #333;
  padding-inline-start: 0.25em;
}

.badge {
  display: inline-block;
  padding: 3px 8px;
  background-color: #acacac;
  font-size: 12px;
  font-size: 0.75rem;
  font-weight: 600;
  vertical-align: middle;
}
.badge--rounded {
  padding: 3px 12px;
  border-radius: 8px;
}
.badge.badge--large {
  padding: 0.75em 1em;
}
.badge.badge--dark {
  background-color: #333;
  color: white;
}
.badge.badge--primary {
  background-color: #00549e;
  color: white;
}
.badge.badge--secondary {
  background-color: #00853f;
  color: white;
}

strong,
b {
  font-weight: 800;
}

em,
i {
  font-style: italic;
}

span {
  display: inline-block;
  font-family: "Nunito Sans", "Helvetica", "Arial", sans-serif;
  color: #333;
  letter-spacing: 0.4px;
}

code {
  padding: 2px 10px;
  border: 1px solid #acacac;
  background-color: #ebebeb;
}

.text-uppercase {
  text-transform: uppercase;
}

.text-italic {
  font-style: italic;
}

.fontweight-bold {
  font-weight: 800 !important;
}

.fontweight-semi-bold {
  font-weight: 700 !important;
}

.fontweight-medium {
  font-weight: 600 !important;
}

.fontweight-regular, .checkout__subline {
  font-weight: 400 !important;
}

.fontweight-light {
  font-weight: 300 !important;
}

.fontweight-thin {
  font-weight: 100 !important;
}

abbr[title] {
  border-bottom: 0;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

/** ! ==================================================
 * CONTENT/Image
 *
 * ================================================== */
figure {
  margin: 0;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

.lazy-load {
  display: block;
  padding-bottom: var(--ratio);
  background-color: #ebebeb;
  overflow: hidden;
}
.lazy-load.lazy-loaded {
  padding: 0;
}
.lazy-load.lazy-loaded img {
  opacity: 1;
  transition: opacity 300ms;
}
.lazy-load img {
  opacity: 0;
}

.img-left,
.img-right {
  width: 100%;
  max-width: 380px;
}
@media only screen and (max-width:48em) {
  .img-left,
  .img-right {
    max-width: 600px;
  }
}

.img-left {
  float: left;
  margin: 0 1.5em 0.5em 0;
}
@media only screen and (max-width:48em) {
  .img-left {
    float: none;
    margin: 1.5em auto;
  }
}

.img-right {
  float: right;
  margin: 0 0 0.5em 1.5em;
}
@media only screen and (max-width:48em) {
  .img-right {
    float: none;
    margin: 1.5em auto;
  }
}

.img img,
.img picture {
  max-width: 100%;
}
@media only screen and (max-width:30em) {
  .img img,
  .img picture {
    max-width: 100%;
  }
}
.img--small img,
.img--small picture,
.img--small a {
  width: 100px;
}
@media only screen and (max-width:30em) {
  .img--small a,
  .img--small picture {
    width: 100%;
  }
  .img--small img {
    width: 66%;
  }
  .img--small.img--center img,
  .img--small.img--center picture,
  .img--small.img--center a {
    width: 100px;
  }
  .img--small.img--center img img,
  .img--small.img--center picture img,
  .img--small.img--center a img {
    width: 100%;
    margin-bottom: 0;
  }
}
.img--medium img,
.img--medium picture,
.img--medium a {
  width: 200px;
}
@media only screen and (max-width:30em) {
  .img--medium a,
  .img--medium picture {
    width: 100%;
  }
  .img--medium img {
    width: 66%;
  }
  .img--medium.img--center picture {
    display: flex;
    justify-content: center;
  }
}
.img--regular img,
.img--regular picture,
.img--regular a {
  width: 400px;
}
@media only screen and (max-width:30em) {
  .img--regular img,
  .img--regular picture,
  .img--regular a {
    width: 100%;
  }
}
.img--large img,
.img--large picture,
.img--large a {
  width: 550px;
}
@media only screen and (max-width:30em) {
  .img--large img,
  .img--large picture,
  .img--large a {
    width: 100%;
  }
}
@media only screen and (max-width:30em) {
  .img--large, .img--regular {
    width: 100%;
  }
  .img--large picture,
  .img--large img, .img--regular picture,
  .img--regular img {
    width: 100%;
    max-width: 100%;
  }
}
.img--left {
  align-items: flex-start;
}
.img--center {
  align-items: center;
}
.img--right {
  align-items: flex-end;
}

.bgimage-wrapper {
  position: relative;
  background-color: #00549e;
}

.bgimage {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  background-color: #ebebeb;
  aspect-ratio: 16/9;
}
@supports not (aspect-ratio: 16/9) {
  .bgimage::before {
    float: left;
    padding-bottom: calc(100% / 16/9);
    content: "";
  }
  .bgimage::after {
    display: block;
    content: "";
    clear: both;
  }
}
.bgimage--faded {
  opacity: 0.35;
}

.icon {
  display: inline-block;
  width: 16px;
  height: 16px;
}
.icon--group {
  margin: 0 5px;
}
.icon--btn-left {
  margin: -3px 3px -3px 0;
}
.icon--btn-right {
  margin: -3px 0 -3px 3px;
}
.icon--10 {
  width: 10px;
  height: 10px;
}
.icon--12 {
  width: 12px;
  height: 12px;
}
.icon--24 {
  width: 24px;
  height: 24px;
}
.icon--28 {
  width: 28px;
  height: 28px;
}
.icon--32 {
  width: 32px;
  height: 32px;
}
.icon--48 {
  width: 48px;
  height: 48px;
}
.icon--64 {
  width: 64px;
  height: 64px;
}

.icon-text-align {
  display: flex;
  align-items: center;
}
.icon-text-align .icon {
  margin-right: 5px;
}

.icon-pseudo {
  position: relative;
  margin-left: 1.5em;
}
.icon-pseudo::before {
  content: "";
  position: absolute;
  top: 0.2em;
  left: -1.5em;
  width: 1em;
  height: 1em;
  background-size: 1em 1em;
  background-repeat: no-repeat;
  display: inline-block;
}
.icon-pseudo.icon-pseudo--check::before {
  background-image: url("/build/img/icons/icon-check-success.png");
}
.icon-pseudo.icon-pseudo--info::before {
  background-image: url("/build/img/icons/icon-info.png");
}
.icon-pseudo--large {
  margin-left: 2em;
}
.icon-pseudo--large::before {
  width: 1.25em;
  height: 1.25em;
  background-size: 1.25em 1.25em;
}

.shape__cirlce-striped {
  height: 175px;
  width: 175px;
  border-radius: 50%;
}
.shape__circle-orange {
  height: 175px;
  width: 176px;
}
.shape__rectangle-striped {
  height: 175px;
  width: 175px;
  border-radius: 35%;
}

.image-source figure.img {
  width: 400px;
  height: 300px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  margin-bottom: 2em;
}
@media only screen and (max-width: 879px) {
  .image-source figure.img {
    height: unset;
  }
}
.image-source figure.img img {
  max-width: 100%;
  max-height: 270px;
  -o-object-fit: cover;
     object-fit: cover;
}
.image-source figure.img figcaption {
  text-align: center;
}

/** ! ==================================================
 * CONTENT/Links
 *
 * ================================================== */
a {
  color: #333;
  transition: 300ms ease-in-out;
  text-decoration: none;
  width: -moz-fit-content;
  width: fit-content;
}
a:hover {
  cursor: pointer;
}
a:focus {
  outline: none;
  box-shadow: 0 0 1px 3px rgba(242, 143, 32, 0.4);
  border-color: #f28f20 !important;
}
.js-focus-visible a:focus:not(.focus-visible) {
  box-shadow: none;
}

.link-base {
  color: #00549e !important;
}

.link--primary, .lp-card__action, .slider-cards__action, .card__action {
  color: #00549e;
  font-family: "Nunito", "Times New Roman", serif;
  font-weight: 700;
  margin-top: auto;
  transition: opacity 0s;
}
@media only screen and (max-width:30em) {
  .link--primary, .lp-card__action, .slider-cards__action, .card__action {
    position: unset;
  }
  .link--primary::after, .lp-card__action::after, .slider-cards__action::after, .card__action::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity 0s;
    top: 0;
    left: 0;
  }
}

.link--secondary {
  color: #00853f;
}

.skip-links {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 99;
}
.skip-links a {
  position: absolute;
  top: 0.5em;
  left: 0.5em;
  height: 1px;
  width: 1px;
  clip: rect(1px, 1px, 1px, 1px);
  padding: 10px;
  overflow: hidden;
  white-space: nowrap;
  background-color: white;
}
.skip-links a:focus {
  position: absolute;
  height: auto;
  width: auto;
  clip: auto;
  overflow: auto;
  outline: none;
  box-shadow: 0 0 1px 3px rgba(242, 143, 32, 0.4);
  border-color: #f28f20 !important;
}
.js-focus-visible .skip-links a:focus:not(.focus-visible) {
  box-shadow: none;
}

a.anchor {
  display: block;
  position: relative;
  visibility: hidden;
  top: -175px;
}

.link--lined {
  border-bottom: 2px solid currentcolor;
}
.link--lined:hover, .link--lined:focus {
  text-decoration: none;
}
.link--icon {
  display: flex;
  align-items: center;
}
.link--icon .icon {
  margin-left: 0.25em;
}

.link-underline, .block:not(.block-type-button, .block-type-select-field, .block-type-image, .block-type-download) a:not(.btn, .img), .btn.btn--textLink {
  text-decoration: none;
  position: relative;
  display: inline-block;
}
.link-underline:hover, .block:not(.block-type-button, .block-type-select-field, .block-type-image, .block-type-download) a:hover:not(.btn, .img), .btn.btn--textLink:hover {
  text-decoration: underline;
  text-decoration-thickness: 0.125em;
  -webkit-text-decoration-color: currentColor;
          text-decoration-color: currentColor;
}

.darken-animation, [data-shopware-wishlist=overlay] .shopware-item__button,
[data-shopware-cart=overlay] .shopware-item__button, .filter-row__resetButton {
  transition: ease-in-out 300ms;
}
.darken-animation:hover, [data-shopware-wishlist=overlay] .shopware-item__button:hover,
[data-shopware-cart=overlay] .shopware-item__button:hover, .filter-row__resetButton:hover {
  color: #333;
  transition: ease-in-out 300ms;
}
.darken-animation::after, [data-shopware-wishlist=overlay] .shopware-item__button::after,
[data-shopware-cart=overlay] .shopware-item__button::after, .filter-row__resetButton::after {
  display: none;
}

.overlay-link, .search-entry__link {
  position: unset;
}
.overlay-link::before, .search-entry__link::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}
.overlay-link::after, .search-entry__link::after {
  display: none;
}

/** ! ==================================================
 * CONTENT/Table
 *
 * ================================================== */
.table-wrapper {
  overflow: hidden;
}
@media only screen and (max-width:37.5em) {
  .table-wrapper {
    box-shadow: -5px 0 5px 0 rgba(0, 0, 0, 0.22) inset;
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
  }
}

.table {
  margin-bottom: 1.5em;
  width: 100%;
  min-width: 480px;
  background-color: transparent;
  border-collapse: collapse;
  border-spacing: 0;
  max-width: 100%;
  border-bottom: 1px solid #ebebeb;
}
.table__margin-bottom-small {
  margin-bottom: 0.75em;
}
.table__caption {
  text-align: start;
  padding-bottom: 0.75em;
  font-weight: 800;
  margin-top: 1em;
}
.table td {
  padding: 0.25em 1em;
  border: 1px solid #ebebeb;
  line-height: 1.5em;
  text-align: start;
  vertical-align: middle;
}
.table td strong {
  font-weight: 800;
}
.table th {
  position: relative;
  background-color: #727171;
  border: none;
  font-weight: 800;
  line-height: 1.5em;
  padding: 0.5em 1em;
  text-align: start;
  vertical-align: middle;
  color: #fff;
}
.table th th:first-of-type {
  padding-left: 1.5em;
}
.table th:last-of-type::after {
  display: none;
}
.table th::after {
  content: "";
  position: absolute;
  width: 1px;
  height: 40%;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  background-color: #fff;
}
.table th strong {
  font-weight: 900;
}
.table tr:first-of-type th:first-of-type {
  border-top-left-radius: 5px;
}
.table tr:first-of-type th:last-of-type {
  border-top-right-radius: 5px;
}
.table .tbody tr:nth-child(2n) {
  background-color: #eaeaea;
}

.table--no-grow {
  flex-grow: 0;
  align-self: flex-start;
}

.info-table-block {
  display: inline-block;
  max-width: 100%;
  margin-top: 2em;
  margin-bottom: 1.6em;
}
.info-table-block.margin-bottom-small {
  margin-bottom: 0.5em;
}
.info-table-block .info-table-block__headline {
  padding: 1em;
  padding-bottom: 0;
  background-color: #fcead2;
  font-weight: 800;
  color: #333;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.5em;
  width: -moz-fit-content;
  width: fit-content;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}
.info-table-block .info-table-block__headline .info-icon {
  color: #f5ab64;
  height: 30px;
  width: 30px;
}
.info-table-block .info-table-block__headline .headline {
  display: inline-block;
  font-size: clamp(1rem, 1.6058394161vw, 1.375rem);
  margin-bottom: 0;
  padding: 0 1em 0 0;
}
.info-table-block .intro-text {
  background-color: #fcead2;
  padding: 1em;
  font-size: 1em;
  border-top-right-radius: 10px;
}
.info-table-block .table-container {
  background-color: #fcead2;
  padding: 0 1em 0 1em;
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
  display: flex;
  flex-direction: row;
  gap: 0.5em;
}
.info-table-block .table-container--empty {
  height: 10px;
}
@media only screen and (max-width:37.5em) {
  .info-table-block .table-container {
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
  }
}
.info-table-block .table-container .table {
  min-width: unset;
  border-bottom: none;
  width: -moz-fit-content;
  width: fit-content;
}
.info-table-block .table-container .table th {
  background-color: #f5ab64;
  color: #333;
  font-weight: 800;
}
.info-table-block .table-container .table th::after {
  display: none;
}
.info-table-block .table-container .table .tbody td {
  border: 0;
  padding-right: 0.4em;
  padding-left: 0.4em;
}
.info-table-block .table-container .table .tbody tr:nth-child(2n) {
  background-color: unset;
}
.info-table-block .table-container .table .tbody td:nth-child(2n) {
  background-color: #f7c18a;
}
.info-table-block .table-container .table .tbody tr:last-of-type td:first-of-type {
  border-bottom-left-radius: 10px;
  overflow: hidden;
}
.info-table-block .table-container .table .tbody tr:last-of-type td:last-of-type {
  border-bottom-right-radius: 10px;
  overflow: hidden;
}

.info-list-block-container {
  display: flex;
  flex-direction: row;
  gap: 3em;
  margin-bottom: 0;
}
@media only screen and (max-width:37.5em) {
  .info-list-block-container {
    flex-direction: column;
    gap: 0.5em;
  }
}
.info-list-block-container .info-list-block {
  display: inline-block;
  width: 300px;
  margin-top: 0.5em;
  margin-bottom: 1.5em;
}
.info-list-block-container .info-list-block.margin-bottom-small {
  margin-bottom: 0.5em;
}
.info-list-block-container .info-list-block .info-list-block__headline {
  height: 40px;
  font-weight: 800;
  color: #fff;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.5em;
  width: 100%;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}
.info-list-block-container .info-list-block .info-list-block__headline .headline {
  display: inline-block;
  font-size: 1em;
  padding: 0 1em;
}
.info-list-block-container .info-list-block .info-list-block__content {
  padding: 1em;
  font-size: 0.875rem;
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
  color: #fff;
}
.info-list-block-container .info-list-block .info-list-block__content ul,
.info-list-block-container .info-list-block .info-list-block__content ol {
  padding-left: 1em;
  margin-bottom: 0;
}
.info-list-block-container .info-list-block .info-list-block__content ul li,
.info-list-block-container .info-list-block .info-list-block__content ol li {
  color: #fff;
  font-size: 0.875rem;
}

/** ! ==================================================
 * CONTENT
 * ================================================== */
/** ! ==================================================
 * COMPONENTS/Slider
 * reusable slider module
 * ================================================== */
/*! ===================================================
 * Flickity v2.2.2
 * https://flickity.metafizzy.co
 * --------------------------------------------------- */
.flickity-enabled {
  position: relative;
}

.flickity-enabled:focus {
  outline: none;
}

.flickity-viewport {
  overflow: hidden;
  position: relative;
  height: 100%;
  touch-action: auto !important;
  transition: height 0.2s;
}

.flickity-slider {
  position: absolute;
  width: 100%;
  height: 100%;
}

.flickity-enabled.is-draggable {
  -webkit-tap-highlight-color: transparent;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.flickity-enabled.is-draggable .flickity-viewport {
  cursor: move;
  cursor: grab;
}

.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {
  cursor: grabbing;
}

.flickity-button {
  position: absolute;
  background: hsla(0deg, 0%, 100%, 0.75);
  border: none;
  color: #444;
}

.flickity-button:hover {
  background: white;
  cursor: pointer;
}

.flickity-button:focus {
  outline: none;
  box-shadow: 0 0 1px 3px rgba(242, 143, 32, 0.4);
  border-color: #f28f20 !important;
}
.js-focus-visible .flickity-button:focus:not(.focus-visible) {
  box-shadow: none;
}

.flickity-button:active {
  opacity: 0.6;
}

.flickity-button:disabled {
  opacity: 0.3;
  cursor: auto;
  pointer-events: none;
}

.flickity-button-icon {
  fill: currentcolor;
}

.flickity-prev-next-button {
  top: 50%;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  transform: translateY(-50%);
}

.flickity-prev-next-button.previous {
  left: 10px;
}

.flickity-prev-next-button.next {
  right: 10px;
}

.flickity-rtl .flickity-prev-next-button.previous {
  left: auto;
  right: 10px;
}

.flickity-rtl .flickity-prev-next-button.next {
  right: auto;
  left: 10px;
}

.flickity-prev-next-button .flickity-button-icon {
  width: 20px;
  height: 20px;
}

.flickity-page-dots {
  position: absolute;
  width: 100%;
  bottom: -50px;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
  line-height: 1;
}

.flickity-rtl .flickity-page-dots {
  direction: rtl;
}

.flickity-page-dots .dot {
  display: inline-block;
  width: 15px;
  height: 15px;
  margin: 0 4px;
  background: #00549e;
  border-radius: 50%;
  opacity: 0.25;
  cursor: pointer;
}
@media only screen and (max-width:30em) {
  .flickity-page-dots .dot {
    width: 10px;
    height: 10px;
  }
}

.flickity-page-dots .dot.is-selected {
  opacity: 1;
}

.flickity-enabled.is-fade .flickity-slider > * {
  pointer-events: none;
  z-index: 0;
}

.flickity-enabled.is-fade .flickity-slider > .is-selected {
  pointer-events: auto;
  z-index: 1;
}

/** ! ==================================================
 * COMPONENTS/Accordion
 * reusable material accordion
 * ================================================== */
.accordion {
  width: 100%;
}
.accordion .accordion__item {
  position: relative;
  margin-bottom: 0.5em;
  display: block;
}
.accordion .accordion__item .accordion__title {
  color: #00549e;
  font-weight: bold;
  display: inline-block;
  width: calc(100% - 40px);
}
.accordion .accordion__item .accordion__button {
  display: block;
  position: relative;
  padding: 0.75em 1em;
  background-color: #edf1f9;
  color: #00549e;
  font-weight: 400;
  border: none;
  border-radius: 10px;
  cursor: pointer;
  width: 100%;
  text-align: left;
  transition: 200ms ease-in-out;
}
.accordion .accordion__item .accordion__button .accordion__icon {
  position: absolute;
  display: block;
  top: 50%;
  right: 1em;
  transform: translateY(-50%) rotate(0deg);
  font-size: 24px;
  font-size: 1.5rem;
  transition: 200ms ease-in-out;
}
.accordion .accordion__item .accordion__button .accordion__icon:after {
  content: "▶";
  color: #00549e;
  font-size: 15px;
  transition: transform 0.3s ease;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
}
.accordion .accordion__item .accordion__button[aria-expanded=true] {
  background-color: rgba(0, 84, 158, 0.2);
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  margin-bottom: 0px;
}
.accordion .accordion__item .accordion__button[aria-expanded=true] .accordion__icon:after {
  transform: translateY(-50%) rotate(90deg);
}
.accordion .accordion__item .accordion__button:hover, .accordion .accordion__item .accordion__button:focus {
  background-color: rgba(0, 84, 158, 0.2);
  border-color: #858585;
  outline: none;
}
.accordion .accordion__item .accordion__button:focus {
  outline: none;
  box-shadow: 0 0 1px 3px rgba(242, 143, 32, 0.4);
  border-color: #f28f20 !important;
}
.js-focus-visible .accordion .accordion__item .accordion__button:focus:not(.focus-visible) {
  box-shadow: none;
}
.js-focus-visible .accordion .accordion__item .accordion__button:focus:not(.focus-visible) {
  box-shadow: none;
  border-color: transparent;
}
.accordion .accordion__item-content {
  display: none;
  overflow: hidden;
}
.accordion .accordion__item-content .accordion__item-inner {
  padding: 1.5em;
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
  background-color: #edf1f9;
  margin-bottom: 10px;
  color: #00549e;
}
.accordion .accordion__item-content .accordion__item-inner p {
  margin-top: 0;
  color: #00549e;
}
.accordion .accordion__item-content .accordion__item-inner p:last-child {
  margin-bottom: 0;
}

/** ! ==================================================
 * COMPONENTS/Button
 * Button Styling
 * ================================================== */
.btn {
  position: relative;
  display: inline-block;
  align-self: center;
  padding: 0.75em 2.35em;
  border: 2px solid transparent;
  background: #333;
  color: #fff;
  font-weight: 800;
  font-family: "Nunito", "Times New Roman", serif;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  vertical-align: middle;
  transition: 300ms ease-in-out;
  outline: none;
  white-space: nowrap;
  min-width: 160px;
  font-size: 16px;
  font-size: 1rem;
  justify-content: center;
}
@media only screen and (max-width:30em) {
  .btn {
    padding: 0.6em 1.5em;
    font-size: 14px;
    font-size: 0.875rem;
  }
}
.btn:hover {
  cursor: pointer;
}
.btn:focus:not([disabled]:not(.btn:hover)) {
  outline: none;
  border-color: #f18f20 !important;
}
.btn::after {
  display: none;
}
.btn:hover:not([disabled]) {
  color: white;
  text-decoration: none !important;
}
.btn.btn--outline {
  background-color: transparent;
  color: #333;
  border-color: #333;
}
.btn.btn--outline:hover:not([disabled]) {
  background-color: #333;
  color: #fff;
}
.btn.btn--light {
  background-color: white;
  color: #00549e;
  min-width: unset;
}
.btn.btn--light:hover:not([disabled]) {
  background-color: rgba(255, 255, 255, 0.75);
  color: #333 !important;
}
.btn.btn--light-outline {
  background-color: transparent;
  border-color: white;
}
.btn.btn--light-outline:hover:not([disabled]) {
  background-color: white;
  color: #333;
}
.btn.btn--transparent {
  background-color: transparent;
}
.btn.btn--transparent:hover:not([disabled]) {
  background-color: transparent;
  color: #333;
}
.btn.btn--primary {
  background-color: #00549e;
}
.btn.btn--primary:hover:not([disabled]) {
  background-color: color-mix(in srgb, #00549e 60%, white);
  color: #fff;
}
.btn.btn--color-white {
  color: #fff !important;
}
.btn.btn--primary-outline {
  background-color: transparent;
  border-color: #00549e;
  color: #00549e;
}
.btn.btn--primary-outline:hover:not([disabled]) {
  background: #00549e;
  color: #fff;
}
.btn.btn--primary-outline:focus:not([disabled]:not(.btn.btn--primary-outline:hover)) {
  border-color: #00549e !important;
}
.btn.btn--secondary {
  background-color: #00853f;
}
.btn.btn--secondary:hover:not([disabled]) {
  background-color: #99cfb2;
  color: #fff;
}
.btn.btn--secondary-outline {
  background-color: transparent;
  border-color: #00853f;
  color: #00853f;
}
.btn.btn--secondary-outline:hover:not([disabled]) {
  background-color: #00853f;
  color: #fff;
}
.btn.btn--small {
  padding: 0.45em 1.5em;
  font-weight: 800;
}
@media only screen and (max-width:30em) {
  .btn.btn--small {
    padding: 0.35em 1em;
  }
}
.btn.btn--xsmall {
  padding: 0.5em 1.5em;
  font-size: 12px;
  font-size: 0.75rem;
}
.btn.btn--large {
  padding: 0.5em 2em;
}
.btn.btn--rounded {
  border-radius: 32px;
}
.btn.btn--circle {
  width: 48px;
  height: 48px;
  padding: 0;
  border-radius: 50%;
}
.btn.btn--square {
  width: 48px;
  height: 48px;
  padding: 0;
}
.btn.btn--scroll-top {
  bottom: 1.5em;
  right: 1.5em;
  visibility: hidden;
  opacity: 0;
}
.btn[aria-busy=true]::before {
  content: "";
  display: block;
  width: 1.5em;
  height: 1.5em;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='24px' height='24px' viewBox='0 0 100 100' preserveAspectRatio='xMidYMid'%3E%3Ccircle cx='50' cy='50' fill='none' stroke='%23FFFFFF' stroke-width='12' r='35' stroke-dasharray='164.93361431346415 56.97787143782138'%3E%3CanimateTransform attributeName='transform' type='rotate' repeatCount='indefinite' dur='1s' values='0 50 50;360 50 50' keyTimes='0;1'%3E%3C/animateTransform%3E%3C/circle%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  float: left;
  margin: 0 0.5em 0 0;
  vertical-align: center;
  transition: 0.3s ease-in-out;
}
.btn--logout {
  font-weight: 700;
  padding: 0;
  color: #00853f;
}
.btn--logout + .form__alerts {
  display: none;
}
.btn.btn--danger {
  background-color: #da606b;
}
.btn.btn--textLink {
  padding: 0;
  margin: 0;
  border: unset;
  font-weight: 300;
  color: #00549e;
  background-color: transparent !important;
  border-radius: 0;
  min-width: unset;
  transition: ease-in-out 300ms;
}
.btn.btn--textLink::after {
  display: block;
  height: 1px;
}
.btn.btn--textLink:has(.icon-pseudo) {
  background-size: 0 2px, 0 2px;
}
.btn.btn--textLink::before {
  display: none !important;
}
.btn.btn--textLink:hover {
  color: #00549e;
}
.btn.btn--textLink:disabled {
  color: #acacac;
}
.btn.btn--textLink:disabled::after {
  display: none;
}
.btn.btn--textLink .loading-ellipsis {
  display: none;
}

.btn-menu {
  display: none;
  position: relative;
  width: 48px;
  height: 48px;
  background: transparent;
  border: 0;
  color: #333;
  transition: 300ms ease-in-out;
}
.btn-menu:hover {
  color: #333;
  opacity: 0.5;
}
.btn-menu:focus {
  outline: none;
  box-shadow: 0 0 1px 3px rgba(242, 143, 32, 0.4);
  border-color: #f28f20 !important;
}
.js-focus-visible .btn-menu:focus:not(.focus-visible) {
  box-shadow: none;
}
@media only screen and (max-width:64em) {
  .btn-menu {
    display: inline-block;
  }
}
.btn-menu--close {
  position: absolute;
  right: 2%;
  top: 0.75em;
}
@media only screen and (max-width:37.5em) {
  .btn-menu--close {
    top: 0.5em;
  }
}

.btn-scroll-top {
  position: fixed;
  bottom: 0.75em;
  right: 0.75em;
  visibility: hidden;
  opacity: 0;
}

.to-shop-margin {
  margin-top: 3em;
}

/** ! ==================================================
 * LAYOUT/Body
 * Body Styling
 * ================================================== */
*,
*::after,
*::before {
  box-sizing: border-box;
}

html,
body {
  height: 100%;
}

html {
  -ms-text-size-adjust: none;
  -webkit-text-size-adjust: none;
}

body {
  margin: 0;
  padding: 0;
  background-color: #fff;
  font-size: 100%;
  font-family: "Nunito Sans", "Helvetica", "Arial", sans-serif;
  line-height: 1.5;
  height: auto;
}
@media only screen and (max-width:64em) {
  body {
    font-size: 95%;
  }
}
@media only screen and (max-width:48em) {
  body {
    font-size: 90%;
  }
}
@media only screen and (max-width:37.5em) {
  body {
    font-size: 87.5%;
  }
}
@media only screen and (min-width:120em) {
  body::after {
    content: "mq-x-wide";
  }
}
@media only screen and (max-width:90em) {
  body::after {
    content: "mq-wide";
  }
}
@media only screen and (max-width:80em) {
  body::after {
    content: "mq-1280";
  }
}
@media only screen and (max-width:64em) {
  body::after {
    content: "mq-smalldesk";
  }
}
@media only screen and (max-width:48em) {
  body::after {
    content: "mq-medium";
  }
}
@media only screen and (max-width:37.5em) {
  body::after {
    content: "mq-narrow";
  }
}
@media only screen and (max-width:30em) {
  body::after {
    content: "mq-mobile";
  }
}

.site {
  position: relative;
  height: 100%;
  overflow: hidden;
}

.js-focus-visible :focus:not(.focus-visible) {
  outline: 0;
}

.tp-checkout .main,
.tp-checkout .site {
  overflow: unset !important;
}

/** ! ==================================================
 * LAYOUT/Container
 * reusable container module
 * ================================================== */
.container--with-sidebar {
  display: flex;
  padding: 0;
}
@media only screen and (max-width:64em) {
  .container--with-sidebar {
    flex-direction: column;
    flex-direction: column-reverse;
  }
}
.container--alert {
  padding: 1.5em;
  margin-top: 3em;
  border: 1px solid #da606b;
}

.wrapper, .layout, .layout--full-width .layout__wrapper {
  max-width: 1370px;
  margin: 0 auto;
  padding-left: 1.5em;
  padding-right: 1.5em;
  width: 100%;
}
.wrapper .wrapper, .layout .wrapper, .layout--full-width .layout__wrapper .wrapper, .wrapper .layout, .layout .layout, .layout--full-width .layout__wrapper .layout, .wrapper .layout--full-width .layout__wrapper, .layout--full-width .wrapper .layout__wrapper, .layout .layout--full-width .layout__wrapper, .layout--full-width .layout .layout__wrapper, .layout--full-width .layout__wrapper .layout__wrapper,
.wrapper .section,
.layout .section,
.layout--full-width .layout__wrapper .section {
  max-width: unset;
  margin: unset;
  padding: 0;
}
@media only screen and (max-width:90em) {
  .wrapper, .layout, .layout--full-width .layout__wrapper {
    max-width: 1235px;
  }
}
@media only screen and (max-width:30em) {
  .wrapper, .layout, .layout--full-width .layout__wrapper {
    padding-left: 16px;
    padding-right: 16px;
  }
}
.wrapper .layout, .layout .layout, .layout--full-width .layout__wrapper .layout {
  padding: 0;
}
@media only screen and (max-width:48em) {
  .wrapper--full-medium {
    max-width: unset;
    padding: 0;
  }
}

/** ! ==================================================
 * LAYOUT/Header
 * reusable header module
 * ================================================== */
.header {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  background-color: white;
  overflow: visible;
  padding-top: 2em;
  padding-bottom: 1em;
}
@media only screen and (max-width:64em) {
  .header {
    overflow: visible;
    padding: 0.5em 0;
  }
}
@media only screen and (max-width:48em) {
  .header {
    overflow: visible;
    padding-bottom: 0;
  }
}
.header .header__title a {
  color: #333;
  display: inline-block;
}
.header .header__title a::after {
  display: none;
}
.header .header__title img {
  width: 100%;
  max-width: 130px;
}
@media only screen and (max-width:64em) {
  .header .header__title img {
    max-width: 80px;
  }
}
.header .header__title--small {
  align-items: center;
  margin-right: 2em;
}
.header .header__title--small img {
  max-width: 120px;
}
@media only screen and (max-width:64em) {
  .header .header__title--small {
    max-width: 80px;
  }
}
.header--sticky {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  z-index: 10;
  padding-top: 1.5em;
  padding-bottom: 1.5em;
  max-width: unset;
  transform: translateY(-100%);
  transition: ease-in-out 300ms;
}
@media only screen and (max-width:64em) {
  .header--sticky.is-sticky {
    padding-top: 0;
    padding-bottom: 0;
  }
  .header--sticky.is-sticky.is-open {
    height: 100%;
  }
}
.header--sticky.is-sticky {
  transform: translateY(0%);
  transition: ease-in-out 300ms;
}
@media only screen and (max-width:64em) {
  .header--sticky .nav__primary {
    height: 100%;
  }
}
.header--sticky .nav__list {
  row-gap: 0.5em;
  -moz-column-gap: 0.75em;
       column-gap: 0.75em;
  justify-content: space-evenly !important;
}
.header--sticky .nav__link {
  font-size: 14px !important;
  padding: 0 !important;
}
.header--sticky .nav__link::after {
  top: 23px !important;
}
.header--sticky .header__bottom {
  width: 100%;
}
@media only screen and (max-width:64em) {
  .header--sticky .header__bottom {
    width: unset;
    order: 3;
  }
}
@media only screen and (max-width:64em) {
  .header--sticky .header__top {
    width: unset;
    margin-left: auto;
  }
}
.header--sticky .header__navigation {
  border-bottom: 0;
}
.header--sticky .mega-menu {
  width: 135%;
  left: 55%;
  top: 1em;
  margin-top: 0;
  padding-top: 1.75em;
}
.header--sticky .action-overlay {
  left: -55px;
}
.header--sticky .action-overlay::after {
  left: calc(50% + 120px);
}
@media only screen and (max-width:64em) {
  .header--sticky .action-overlay {
    left: -125px;
  }
  .header--sticky .action-overlay::after {
    left: calc(50% + 46px);
  }
}
@media only screen and (max-width:64em) {
  .header--sticky .action-overlay {
    left: 50%;
  }
}
.header__navigation {
  display: flex;
  flex-direction: column-reverse;
  width: 100%;
}
@media only screen and (max-width:64em) {
  .header__navigation {
    flex-direction: row-reverse;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid #eee;
    padding: 1.5em 0;
  }
}
@media only screen and (max-width:48em) {
  .header__navigation {
    padding: 1em 0;
    border-bottom: 0;
  }
}
.header__navigation__small {
  flex-direction: row;
  justify-content: space-between;
}
.header__top, .header__bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media only screen and (max-width:64em) {
  .header__top {
    width: 100%;
  }
}

/** ! ==================================================
 * LAYOUT/Hero
 * reusable hero module
 * ================================================== */
.hero {
  position: relative;
  background-color: #fff;
  padding-top: 20px;
  padding-bottom: 0;
  overflow: hidden;
}
@media only screen and (max-width:48em) {
  .hero {
    padding: 0;
    overflow: hidden;
  }
}
.hero h1 {
  margin-top: 0.3em;
  margin-bottom: 0;
}
.hero h1 .article__subline, .hero h1 .card__subline {
  margin-bottom: 0;
}
.hero h1.hero__tp-article {
  display: block;
}
.hero__wrapper {
  position: relative;
  background-color: #fcead2;
  height: 220px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  padding: 0 1em 0 3em;
  justify-content: space-between;
}
@media only screen and (max-width:48em) {
  .hero__wrapper {
    height: 200px;
    overflow: hidden;
    padding: 0 1.5em;
    border-radius: 0;
  }
}
@media only screen and (max-width:30em) {
  .hero__wrapper {
    padding: 0 1em !important;
    height: auto;
  }
  .hero__wrapper.has-image {
    min-height: 160px;
  }
  .hero__wrapper.hero__wrapper--full-image {
    min-height: unset;
  }
}
.hero__wrapper--small.has-image {
  height: 130px;
  padding: 0 3em;
}
@media only screen and (max-width:30em) {
  .hero__wrapper--small.has-no-image {
    padding: 1em 1.5em !important;
  }
}
.hero__wrapper--small .hero__content {
  display: flex;
  align-items: center;
  width: 100%;
  justify-content: space-between;
  flex-wrap: wrap;
  row-gap: 0.5em;
  max-width: unset;
}
.hero__wrapper--medium {
  padding: 2em 0;
}
.hero__wrapper--full-image {
  aspect-ratio: 3.68/1;
  width: 100%;
  height: auto;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  min-height: unset;
}
.hero__wrapper--large {
  height: 350px;
}
@media only screen and (max-width:48em) {
  .hero__wrapper--large {
    height: unset;
    align-items: flex-start;
    padding: 3em 1.5em;
    margin-bottom: 0;
  }
}
@media only screen and (max-width:30em) {
  .hero__wrapper--large {
    height: auto;
  }
}
.hero__wrapper--large .hero__content {
  padding: 2em 0;
}
@media only screen and (max-width:30em) {
  .hero__wrapper--large .hero__content {
    max-width: 100%;
  }
}
.hero__wrapper--large .hero__shape--circle {
  position: absolute;
  transform: translate(-50%, -65%) scale(2.2);
}
@media only screen and (max-width:48em) {
  .hero__wrapper--large .hero__shape--circle {
    transform: translate(-50%, -65%) scale(1.7);
  }
}
@media only screen and (max-width:30em) {
  .hero__wrapper--large .hero__shape--circle {
    transform: translate(-50%, -65%) scale(1.3);
  }
}
.hero__wrapper--large .hero__shape--rectangle {
  transform: scale(0.85);
  bottom: 130px;
  left: 80px;
}
@media only screen and (max-width:30em) {
  .hero__wrapper--large .hero__shape--rectangle {
    transform: scale(0.7);
    bottom: 5%;
    right: 40%;
  }
}
.hero__content {
  z-index: 2;
  max-width: 60%;
}
.hero__content--large {
  max-width: 70%;
}
@media only screen and (max-width:30em) {
  .hero__content {
    max-width: calc(100% - 120px);
  }
}
.hero__content .subline {
  margin-bottom: 2.5em;
  max-width: 60%;
}
@media only screen and (max-width:30em) {
  .hero__content .subline {
    max-width: 120px;
    margin-bottom: 3.5em;
    max-width: calc(100% - 120px);
  }
}
.hero__content:only-child .subline {
  max-width: 100% !important;
}
.hero__headline--large {
  display: flex;
  -moz-column-gap: 0.25em;
       column-gap: 0.25em;
  row-gap: 0.5em;
  flex-wrap: wrap;
  color: #333;
  margin-bottom: 0;
  font-size: 32px;
  font-size: calc(16px + (32 - 16) * ((100vw - 320px) / (1680 - 320)));
  font-size: clamp(1rem, 2.3357664234vw, 2rem);
}
.hero__headline--large:only-child {
  margin-bottom: 0;
}
.hero__image {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 400px;
  z-index: 1;
}
@media only screen and (max-width:48em) {
  .hero__image {
    right: 7%;
    align-self: end;
  }
}
@media only screen and (max-width:30em) {
  .hero__image {
    right: 0;
  }
}
.hero__image img {
  bottom: 10%;
  left: 59%;
  transform: translate(-50%, 10%);
  position: absolute;
  height: 240px;
  margin-bottom: 20px;
  width: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
@media only screen and (max-width:48em) {
  .hero__image img {
    height: 180px;
    margin-bottom: 0;
    transform: translate(-60%, 1%);
  }
}
@media only screen and (max-width:30em) {
  .hero__image img {
    height: 100px;
  }
}
.hero__image.is-clipped {
  align-self: flex-end;
}
.hero__image.is-clipped img {
  clip-path: circle(55% at 50% 80%);
  margin-bottom: 0;
  -o-object-fit: cover;
     object-fit: cover;
  height: 200px;
  max-width: 350px;
}
@media only screen and (max-width:48em) {
  .hero__image.is-clipped img {
    height: 160px;
    max-width: 225px;
  }
}
@media only screen and (max-width:30em) {
  .hero__image.is-clipped img {
    clip-path: circle(50% at 45% 80%);
    height: 100px;
    -o-object-fit: cover;
       object-fit: cover;
    max-width: 200px;
  }
}
@media only screen and (max-width:48em) {
  .hero__image--large {
    position: absolute;
    transform: translate(-50%, -50%);
  }
}
@media only screen and (max-width:30em) {
  .hero__image--large {
    right: -5%;
  }
}
.hero__image--large img {
  height: 370px;
  margin-bottom: 20px;
}
@media only screen and (max-width:48em) {
  .hero__image--large img {
    height: 240px;
    margin-bottom: 0;
  }
}
@media only screen and (max-width:30em) {
  .hero__image--large img {
    height: 220px;
  }
}
.hero__image--large.is-clipped img {
  height: 280px;
}
@media only screen and (max-width:48em) {
  .hero__image--large.is-clipped img {
    height: 220px;
    clip-path: circle(50% at 70% 70%);
  }
}
.hero .hero__image_shape_container {
  position: absolute;
  right: 19%;
  bottom: 0;
  width: 1px;
  height: 1px;
}
.hero__shape--rectangle {
  position: absolute;
  transform: scale(0.6);
  bottom: 60px;
  left: 30px;
  color: #f0ca9e;
}
@media only screen and (max-width:48em) {
  .hero__shape--rectangle {
    display: none;
  }
}
.hero__shape--circle {
  position: absolute;
  transform: translate(-50%, -60%) scale(1.5);
}
@media only screen and (max-width:48em) {
  .hero__shape--circle {
    transform: translate(-50%, -60%) scale(1.5);
    align-self: end;
  }
}
@media only screen and (max-width:30em) {
  .hero__shape--circle {
    transform: translate(-30%, -60%) scale(0.55);
  }
}
.hero__settings {
  display: flex;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  -moz-column-gap: 2em;
       column-gap: 2em;
}
.hero__settings .form {
  margin: 0;
}
.hero__form {
  position: relative;
  padding: 0 !important;
}
.hero .form--is-success .hero__button {
  display: none;
}

.tp-article .hero .article__subline, .tp-article .hero .card__subline {
  font-size: 1em;
  line-height: 1.2em;
}

/** ! ==================================================
 * LAYOUT/Main
 * reusable main module
 * ================================================== */
.main {
  position: relative;
  background-color: #fff;
  padding-top: 2em;
  padding-bottom: 0;
  overflow: hidden;
}
@media only screen and (max-width:30em) {
  .main {
    padding-top: 24px;
  }
}
.main--py-1 {
  padding-top: 1.5em;
  padding-bottom: 1.5em;
}
.main--py-2 {
  padding-top: 3em;
  padding-bottom: 3em;
}
.main--pb-2 {
  padding-bottom: 3em;
}
.main--pt-0 {
  padding-top: 0;
}
.main--py-0 {
  padding-top: 0;
  padding-bottom: 0;
}
.main--pt-05 {
  padding-top: 0.75em;
}
.main--pt-1 {
  padding-top: 1.5em;
}
.main--small {
  max-width: 1000px !important;
  margin: 0 auto;
}
@media only screen and (max-width:64em) {
  .main--small {
    max-width: 800px;
  }
}
@media only screen and (max-width:48em) {
  .main--small {
    width: 100%;
  }
}
.main--medium {
  max-width: 1050px;
  margin: 0 auto;
}

/** ! ==================================================
 * LAYOUT/Article
 * reusable article module
 * ================================================== */
.content {
  position: relative;
}
.content--centered {
  width: 100%;
  max-width: 680px;
  margin: 0 auto;
}
@media only screen and (max-width:48em) {
  .content--centered {
    max-width: 100%;
  }
}
.content--sidebar {
  padding-right: 4.5em;
}
@media only screen and (max-width:48em) {
  .content--sidebar {
    margin-bottom: 1.5em;
    padding-right: 0;
  }
}

/** ! ==================================================
 * LAYOUT/Section
 * reusable section module
 * ================================================== */
.section {
  position: relative;
  padding: 3em 0;
  max-width: 1370px;
  margin: 0 auto;
}
@media only screen and (max-width:48em) {
  .section {
    padding: 1.5em 0;
  }
}
.section--full-width {
  padding: 3em 0;
  max-width: unset;
}
.section--py-0 {
  padding-top: 0;
  padding-bottom: 0;
}
.section--pt-0 {
  padding-top: 0;
}
.section--pt-1 {
  padding-top: 1em;
}
.section--pt-2 {
  padding-top: 2em;
}
.section-news {
  background-color: rgba(0, 84, 158, 0.2);
  width: 100%;
  max-width: 100%;
  margin: 0;
}
@media only screen and (max-width:48em) {
  .section-news .cta-button {
    padding-bottom: 2em;
  }
}
@media only screen and (max-width:30em) {
  .section-news .intro__section {
    margin-bottom: -0.5em;
  }
  .section-news .cta-button {
    padding-top: 0.5em;
    padding-bottom: 0.5em;
  }
}
@media only screen and (max-width:64em) {
  .section.job-slider .cta-button {
    padding-top: 1em;
  }
}
@media only screen and (max-width:30em) {
  .section-teaser-cards .intro__section {
    margin-bottom: -1em;
  }
}

/** ! ==================================================
 * LAYOUT/Article
 * ================================================== */
.article {
  position: relative;
}
@media only screen and (max-width:48em) {
  .article {
    padding: 0 0;
  }
}
.article--small {
  padding: 0.5em 0;
}
.article__main {
  flex: 1.75;
  padding-right: 3em;
  /** to avoid margin-collapsing */
}
.article__main article {
  display: flex;
  flex-direction: column;
}
@media only screen and (max-width:64em) {
  .article__main {
    padding-right: 0;
  }
}
.article__main--larger {
  flex: 2;
  padding-right: 0;
}
.article__header {
  margin-bottom: 1.5em;
}
.article__content {
  max-width: 800px;
  padding: 1.5em 0;
}
@media only screen and (max-width:64em) {
  .article__content {
    width: unset !important;
    padding: 0;
  }
}
.article__content--medium {
  max-width: 1000px;
  width: 80%;
  margin: 0 auto;
}
.article__content--big {
  max-width: 1120px;
  width: 100%;
  margin: 0 auto 0 0;
}

.article__subline, .card__subline {
  margin-bottom: 1em;
  color: #858585;
  font-weight: 400;
  font-size: 14px;
  font-size: 0.875rem;
  letter-spacing: 0.2px;
}

h1 .article__subline, h1 .card__subline {
  font-size: 28px;
  font-size: 1.75rem;
  line-height: 1em;
}

/** ! ==================================================
 * LAYOUT/Flexbox-Grid
 *
 * ================================================== */
.row, .intro {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}
.row--gap {
  margin: 0 -1.5em;
}
.row--gap > * {
  padding: 0 1.5em 3em;
}
.row--gap-sm {
  margin: 0 -0.75em;
}
.row--gap-sm > * {
  padding: 0 0.75em 1.5em;
}

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

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

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

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

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

.align-center, .intro {
  justify-content: center;
}

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

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

.align-justify {
  justify-content: space-between !important;
}

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

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

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

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

.align-stretch {
  align-items: stretch;
}

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

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

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

.col {
  width: 100%;
  flex: 1 0 0%;
}
.col--1 {
  flex: 0 0 8.3333333333%;
  max-width: 8.3333333333%;
}
@media only screen and (max-width:64em) {
  .col--lg-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
  }
}
@media only screen and (max-width:48em) {
  .col--md-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
  }
}
@media only screen and (max-width:30em) {
  .col--sm-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
  }
}
.col--2 {
  flex: 0 0 16.6666666667%;
  max-width: 16.6666666667%;
}
@media only screen and (max-width:64em) {
  .col--lg-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
}
@media only screen and (max-width:48em) {
  .col--md-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
}
@media only screen and (max-width:30em) {
  .col--sm-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
}
.col--3 {
  flex: 0 0 25%;
  max-width: 25%;
}
@media only screen and (max-width:64em) {
  .col--lg-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
}
@media only screen and (max-width:48em) {
  .col--md-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
}
@media only screen and (max-width:30em) {
  .col--sm-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
}
.col--4 {
  flex: 0 0 33.3333333333%;
  max-width: 33.3333333333%;
}
@media only screen and (max-width:64em) {
  .col--lg-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
}
@media only screen and (max-width:48em) {
  .col--md-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
}
@media only screen and (max-width:30em) {
  .col--sm-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
}
.col--5 {
  flex: 0 0 41.6666666667%;
  max-width: 41.6666666667%;
}
@media only screen and (max-width:64em) {
  .col--lg-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }
}
@media only screen and (max-width:48em) {
  .col--md-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }
}
@media only screen and (max-width:30em) {
  .col--sm-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }
}
.col--6 {
  flex: 0 0 50%;
  max-width: 50%;
}
@media only screen and (max-width:64em) {
  .col--lg-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
}
@media only screen and (max-width:48em) {
  .col--md-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
}
@media only screen and (max-width:30em) {
  .col--sm-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
}
.col--7 {
  flex: 0 0 58.3333333333%;
  max-width: 58.3333333333%;
}
@media only screen and (max-width:64em) {
  .col--lg-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }
}
@media only screen and (max-width:48em) {
  .col--md-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }
}
@media only screen and (max-width:30em) {
  .col--sm-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }
}
.col--8 {
  flex: 0 0 66.6666666667%;
  max-width: 66.6666666667%;
}
@media only screen and (max-width:64em) {
  .col--lg-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }
}
@media only screen and (max-width:48em) {
  .col--md-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }
}
@media only screen and (max-width:30em) {
  .col--sm-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }
}
.col--9 {
  flex: 0 0 75%;
  max-width: 75%;
}
@media only screen and (max-width:64em) {
  .col--lg-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
}
@media only screen and (max-width:48em) {
  .col--md-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
}
@media only screen and (max-width:30em) {
  .col--sm-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
}
.col--10 {
  flex: 0 0 83.3333333333%;
  max-width: 83.3333333333%;
}
@media only screen and (max-width:64em) {
  .col--lg-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }
}
@media only screen and (max-width:48em) {
  .col--md-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }
}
@media only screen and (max-width:30em) {
  .col--sm-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }
}
.col--11 {
  flex: 0 0 91.6666666667%;
  max-width: 91.6666666667%;
}
@media only screen and (max-width:64em) {
  .col--lg-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }
}
@media only screen and (max-width:48em) {
  .col--md-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }
}
@media only screen and (max-width:30em) {
  .col--sm-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }
}
.col--12 {
  flex: 0 0 100%;
  max-width: 100%;
}
@media only screen and (max-width:64em) {
  .col--lg-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}
@media only screen and (max-width:48em) {
  .col--md-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}
@media only screen and (max-width:30em) {
  .col--sm-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

.flex {
  display: flex;
}
.flex.flex--column {
  flex-direction: column;
}
.flex.flex--center {
  justify-content: center;
  align-items: center;
}

.offset-1 {
  margin-left: 8.3333333333%;
}
.direction-row-reverse .offset-1 {
  margin-right: 8.3333333333%;
}

@media only screen and (max-width:64em) {
  .offset-lg-1 {
    margin-left: 8.3333333333%;
  }
}
@media only screen and (max-width:48em) {
  .offset-md-1 {
    margin-left: 8.3333333333%;
  }
}
@media only screen and (max-width:30em) {
  .offset-sm-1 {
    margin-left: 8.3333333333%;
  }
}
.offset-2 {
  margin-left: 16.6666666667%;
}
.direction-row-reverse .offset-2 {
  margin-right: 16.6666666667%;
}

@media only screen and (max-width:64em) {
  .offset-lg-2 {
    margin-left: 16.6666666667%;
  }
}
@media only screen and (max-width:48em) {
  .offset-md-2 {
    margin-left: 16.6666666667%;
  }
}
@media only screen and (max-width:30em) {
  .offset-sm-2 {
    margin-left: 16.6666666667%;
  }
}
.offset-3 {
  margin-left: 25%;
}
.direction-row-reverse .offset-3 {
  margin-right: 25%;
}

@media only screen and (max-width:64em) {
  .offset-lg-3 {
    margin-left: 25%;
  }
}
@media only screen and (max-width:48em) {
  .offset-md-3 {
    margin-left: 25%;
  }
}
@media only screen and (max-width:30em) {
  .offset-sm-3 {
    margin-left: 25%;
  }
}
.offset-4 {
  margin-left: 33.3333333333%;
}
.direction-row-reverse .offset-4 {
  margin-right: 33.3333333333%;
}

@media only screen and (max-width:64em) {
  .offset-lg-4 {
    margin-left: 33.3333333333%;
  }
}
@media only screen and (max-width:48em) {
  .offset-md-4 {
    margin-left: 33.3333333333%;
  }
}
@media only screen and (max-width:30em) {
  .offset-sm-4 {
    margin-left: 33.3333333333%;
  }
}
.offset-5 {
  margin-left: 41.6666666667%;
}
.direction-row-reverse .offset-5 {
  margin-right: 41.6666666667%;
}

@media only screen and (max-width:64em) {
  .offset-lg-5 {
    margin-left: 41.6666666667%;
  }
}
@media only screen and (max-width:48em) {
  .offset-md-5 {
    margin-left: 41.6666666667%;
  }
}
@media only screen and (max-width:30em) {
  .offset-sm-5 {
    margin-left: 41.6666666667%;
  }
}
.offset-6 {
  margin-left: 50%;
}
.direction-row-reverse .offset-6 {
  margin-right: 50%;
}

@media only screen and (max-width:64em) {
  .offset-lg-6 {
    margin-left: 50%;
  }
}
@media only screen and (max-width:48em) {
  .offset-md-6 {
    margin-left: 50%;
  }
}
@media only screen and (max-width:30em) {
  .offset-sm-6 {
    margin-left: 50%;
  }
}
.offset-7 {
  margin-left: 58.3333333333%;
}
.direction-row-reverse .offset-7 {
  margin-right: 58.3333333333%;
}

@media only screen and (max-width:64em) {
  .offset-lg-7 {
    margin-left: 58.3333333333%;
  }
}
@media only screen and (max-width:48em) {
  .offset-md-7 {
    margin-left: 58.3333333333%;
  }
}
@media only screen and (max-width:30em) {
  .offset-sm-7 {
    margin-left: 58.3333333333%;
  }
}
.offset-8 {
  margin-left: 66.6666666667%;
}
.direction-row-reverse .offset-8 {
  margin-right: 66.6666666667%;
}

@media only screen and (max-width:64em) {
  .offset-lg-8 {
    margin-left: 66.6666666667%;
  }
}
@media only screen and (max-width:48em) {
  .offset-md-8 {
    margin-left: 66.6666666667%;
  }
}
@media only screen and (max-width:30em) {
  .offset-sm-8 {
    margin-left: 66.6666666667%;
  }
}
.offset-9 {
  margin-left: 75%;
}
.direction-row-reverse .offset-9 {
  margin-right: 75%;
}

@media only screen and (max-width:64em) {
  .offset-lg-9 {
    margin-left: 75%;
  }
}
@media only screen and (max-width:48em) {
  .offset-md-9 {
    margin-left: 75%;
  }
}
@media only screen and (max-width:30em) {
  .offset-sm-9 {
    margin-left: 75%;
  }
}
.offset-10 {
  margin-left: 83.3333333333%;
}
.direction-row-reverse .offset-10 {
  margin-right: 83.3333333333%;
}

@media only screen and (max-width:64em) {
  .offset-lg-10 {
    margin-left: 83.3333333333%;
  }
}
@media only screen and (max-width:48em) {
  .offset-md-10 {
    margin-left: 83.3333333333%;
  }
}
@media only screen and (max-width:30em) {
  .offset-sm-10 {
    margin-left: 83.3333333333%;
  }
}
.offset-11 {
  margin-left: 91.6666666667%;
}
.direction-row-reverse .offset-11 {
  margin-right: 91.6666666667%;
}

@media only screen and (max-width:64em) {
  .offset-lg-11 {
    margin-left: 91.6666666667%;
  }
}
@media only screen and (max-width:48em) {
  .offset-md-11 {
    margin-left: 91.6666666667%;
  }
}
@media only screen and (max-width:30em) {
  .offset-sm-11 {
    margin-left: 91.6666666667%;
  }
}
.offset-12 {
  margin-left: 100%;
}
.direction-row-reverse .offset-12 {
  margin-right: 100%;
}

@media only screen and (max-width:64em) {
  .offset-lg-12 {
    margin-left: 100%;
  }
}
@media only screen and (max-width:48em) {
  .offset-md-12 {
    margin-left: 100%;
  }
}
@media only screen and (max-width:30em) {
  .offset-sm-12 {
    margin-left: 100%;
  }
}
/** ! ==================================================
 * LAYOUT/Footer
 * reusable footer module
 * ================================================== */
.footer {
  position: relative;
  background-color: #00853f;
  text-align: center;
  padding-top: 1.5em;
  padding-bottom: 1.5em;
}
@media only screen and (max-width:64em) {
  .footer {
    padding: 0 !important;
  }
}
.footer__wrapper {
  padding: 3em 0;
}
.footer .list {
  display: flex;
  justify-content: center;
  padding: 1em 0;
  border-top: 1px solid #41a36e;
  border-bottom: 1px solid #41a36e;
  flex-wrap: wrap;
}
.footer .list .nav__item {
  margin-left: 1em;
  margin-bottom: 0;
  list-style: none;
}
.footer .list .nav__item:first-of-type {
  list-style: none;
  margin-left: 0;
}
.footer .list .nav__item .link {
  color: #fff;
  font-family: "Nunito Sans", "Helvetica", "Arial", sans-serif;
  font-weight: 600;
  font-size: 15px;
  font-size: 0.9375rem;
  letter-spacing: 0.55px;
}
.footer .list .nav__item .link.is-active::after {
  width: 100%;
}
.footer.is-sidebar {
  display: none;
  justify-content: center;
  background-color: #fff;
  padding: 0;
  padding: 1.5em 0 !important;
}
@media only screen and (max-width:64em) {
  .footer.is-sidebar {
    display: flex;
    gap: 1.5em;
  }
}
.footer.is-sidebar .icon {
  width: 38px;
  height: 38px;
  color: #333;
}
@media only screen and (max-width:30em) {
  .footer.is-sidebar .icon {
    width: 28px;
    height: 28px;
  }
}
.footer.is-sidebar .nav__item:first-of-type, .footer.is-sidebar .nav__item:last-of-type {
  list-style: none;
}
.footer__info {
  display: flex;
  flex-direction: row;
  padding-bottom: 3em;
}
@media only screen and (max-width:64em) {
  .footer__info {
    flex-direction: column;
    padding-bottom: 3em;
  }
}
.footer__socialMedia {
  width: 27%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
@media only screen and (max-width:64em) {
  .footer__socialMedia {
    width: 100%;
    align-items: center;
  }
}
.footer__socialMedia .headline {
  color: #fff;
  margin-bottom: 1em;
  font-size: 21px;
  font-size: 1.3125rem;
}
.footer__socialMedia .icons {
  display: flex;
  flex-wrap: wrap;
}
.footer__socialMedia .icons .link {
  margin-left: 1.5em;
}
.footer__socialMedia .icons .link:first-of-type {
  margin-left: 0;
}
.footer__socialMedia .icons .link::after {
  display: none;
}
.footer__socialMedia .icon {
  color: #fff;
  width: 30px;
  height: 30px;
  transition: ease-in-out 300ms;
  opacity: 1;
}
.footer__socialMedia .icon:hover {
  transition: ease-in-out 300ms;
  opacity: 0.6;
}
.footer__socialMedia .icon--small {
  transform: scale(1.35);
}
.footer__images {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  width: 32%;
  margin-right: 3em;
}
@media only screen and (max-width:64em) {
  .footer__images {
    width: 100%;
    justify-content: center;
    padding: 3em;
  }
}
@media only screen and (max-width:48em) {
  .footer__images {
    padding: 3em 0;
  }
}
.footer__images a::after {
  display: none;
}
.footer__images .image {
  -o-object-fit: contain;
     object-fit: contain;
  max-width: 160px;
}
@media only screen and (max-width:64em) {
  .footer__images .image {
    margin-right: 1.5em;
  }
  .footer__images .image:last-of-type {
    margin: 0 0 0 1.5em;
  }
}
.footer__images .image--small {
  max-width: 90px;
}
.footer__text {
  color: #fff;
  width: 45%;
  font-size: 16px;
  font-size: 1rem;
  text-align: start;
  font-weight: 400;
  margin-bottom: 0;
  margin-left: 1em;
}
@media only screen and (max-width:64em) {
  .footer__text {
    width: 100%;
    padding: 0 3em;
    margin-left: 0;
    text-align: center;
  }
}
@media only screen and (max-width:48em) {
  .footer__text {
    padding: 0;
  }
}
.footer__copyright {
  padding-top: 1.5em;
}
.footer__copyright .text {
  color: #fff;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 300;
  margin-bottom: 0;
}

/** ! ==================================================
 * LAYOUT/Overay
 * ================================================== */
.overlay {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 20;
  background-color: #333;
  width: 100vw;
  height: 100vh;
  opacity: 0.6;
  transition: opacity ease-in-out 300ms;
}
.overlay.is-transparent {
  background-color: transparent;
}

/** ! ==================================================
 * LAYOUT
 * ================================================== */
/** ! ==================================================
 * COMPONENTS/Cards
 * reusable material cards
 * ================================================== */
.cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  grid-column-gap: 3.5em;
  grid-row-gap: 3em;
  padding: 1.5em 0;
}
@media only screen and (max-width:30em) {
  .cards {
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    grid-gap: 0.75em;
  }
}
.cards__layer {
  grid-template-columns: 57% auto;
  grid-column-gap: 1em;
}
@media only screen and (max-width:64em) {
  .cards__layer {
    grid-template-columns: 100%;
  }
}
.cards__layer--half {
  grid-template-columns: 1fr 1fr;
  gap: 1.25em;
  padding-top: 0;
}
@media only screen and (max-width:48em) {
  .cards__layer--half {
    grid-template-columns: 1fr;
  }
}
.cards__headline {
  display: grid;
  grid-column-end: span 2;
  grid-auto-flow: column;
  margin-bottom: 1em;
  width: -moz-fit-content;
  width: fit-content;
}
.cards__headline .title {
  font-family: "Nunito", "Times New Roman", serif;
  text-transform: uppercase;
  font-weight: 800;
  font-size: 11px;
  font-size: 0.6875rem;
}
@media only screen and (max-width:48em) {
  .cards__headline .title {
    display: none;
  }
}
.cards__headline--mobile {
  display: none;
}
@media only screen and (max-width:48em) {
  .cards__headline--mobile {
    display: block !important;
  }
}
.cards__headline .icon {
  color: #f18f20;
  width: 12px;
  height: 12px;
  margin-left: 0.5em;
}
.cards__sidebar {
  background-color: #fff;
  border-radius: 10px;
  border: 2px solid #ebebeb;
  padding: 1.5em;
  box-shadow: 2px 22px 50px 1px rgba(0, 0, 0, 0.1);
}
@media only screen and (max-width:48em) {
  .cards__sidebar {
    display: flex;
    flex-direction: column !important;
  }
}
.cards__sidebar .article:first-of-type {
  display: none;
}
@media only screen and (max-width:48em) {
  .cards__sidebar .article:first-of-type {
    display: flex;
  }
}
.cards--masonry {
  -moz-column-count: 2;
       column-count: 2;
  display: block;
}
@media only screen and (max-width:64em) {
  .cards--masonry {
    -moz-column-count: 1;
         column-count: 1;
  }
}
.cards--masonry .card {
  margin-bottom: 1.25em;
  -moz-column-break-inside: avoid;
       break-inside: avoid;
}

.card {
  position: relative;
  display: flex;
  flex-direction: column;
  background-color: #fff;
  border-radius: 10px;
  border: 2px solid #ebebeb;
  padding: 1.5em;
  box-shadow: 2px 22px 50px 1px rgba(0, 0, 0, 0.1);
  transition: ease-in-out 300ms;
}
@media only screen and (max-width:30em) {
  .card {
    border: 0;
  }
}
@media only screen and (max-width:30em) {
  .card {
    flex-direction: row;
    align-items: flex-start;
    text-align: start;
    padding: 1.5em 1em;
    margin-top: 1em;
  }
}
.card__main {
  display: grid;
  grid-template-columns: 35% auto;
  grid-column-gap: 2em;
  padding: 1.5em 1.5em 3em 1.5em;
  height: auto;
}
@media only screen and (max-width:48em) {
  .card__main {
    grid-column-gap: 0;
    display: none;
  }
}
.card__flex {
  display: flex;
  flex-direction: row;
  gap: 1.5em;
  margin-top: 1.125em;
}
@media only screen and (max-width:30em) {
  .card__flex {
    gap: 0;
    align-items: center;
  }
}
.card:hover {
  box-shadow: 2px 22px 50px 1px rgba(0, 0, 0, 0.2705882353);
  transition: ease-in-out 0.3s;
}
.card__small {
  padding: 1em;
  border-width: 1px;
}
@media only screen and (max-width:30em) {
  .card__small {
    padding: 0.5em 1em;
    margin-top: 0;
  }
}
.card__headline {
  display: block;
  font-weight: 800;
  margin-bottom: 0.1em;
  /* Used for layered links */
}
@media only screen and (max-width:30em) {
  .card__headline {
    margin-bottom: 0;
  }
}
.card__headline a {
  color: #333;
}
.card__headline a:focus {
  outline: none;
}
.card__headline .overlay-link {
  position: static;
  /* pseudo-element to cover card for layered links */
}
.card__headline .overlay-link::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}
@media only screen and (max-width:30em) {
  .card__center {
    flex-direction: column;
    padding: 4em 2em 2em;
  }
}
.card__subline {
  display: block;
  text-align: left;
}
@media only screen and (max-width:30em) {
  .card__subline {
    margin-bottom: 0;
  }
}
.card__subline--small {
  font-size: 14px;
  font-size: calc(12px + (14 - 12) * ((100vw - 320px) / (1680 - 320)));
  font-size: clamp(0.75rem, 1.0218978102vw, 0.875rem);
  margin-bottom: 1em;
}
.card__text {
  margin-bottom: 0;
}
@media only screen and (max-width:30em) {
  .card__text {
    display: none;
  }
}
.card__text * {
  font-size: 14px;
  font-size: 0.875rem;
}
.card__text ul {
  padding-left: 0;
  list-style-position: inside;
}
.card__text li,
.card__text a {
  color: #00549e;
}
.card__text li::after,
.card__text a::after {
  background: #00549e;
}
.card__image {
  border-radius: 10px;
  transition: ease-in-out 300ms;
  overflow: hidden;
  width: 225px;
  height: 225px;
  max-width: 100%;
}
@media only screen and (max-width:30em) {
  .card__image {
    width: 100%;
    height: auto;
  }
}
.card__image img {
  border-radius: 10px;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transform: scale(1);
  transition: transform ease-in-out 300ms;
}
.card__image--medium {
  width: 140px;
  min-width: 140px;
  height: 120px;
  border-radius: 5px;
}
@media only screen and (max-width:30em) {
  .card__image--medium {
    width: 100%;
    height: auto;
  }
}
.card__image--medium img {
  border-radius: 5px;
}
.card__image--small {
  min-width: 75px;
  width: 75px;
  height: 75px;
  background-color: #eee;
}
@media only screen and (max-width:30em) {
  .card__image--small {
    padding: 0;
  }
}
.card__image--flex1 {
  flex: 1;
}
.card__image--contain img {
  -o-object-fit: contain;
     object-fit: contain;
}
.card__image--overlaying {
  position: absolute;
  right: 25px;
  border-radius: 0;
  top: 50%;
  transform: translate(0%, -50%);
  width: unset;
  height: 280px;
}
@media only screen and (max-width:64em) {
  .card__image--overlaying {
    height: 190px;
  }
}
@media only screen and (max-width:48em) {
  .card__image--overlaying {
    right: 0;
  }
}
@media only screen and (max-width:30em) {
  .card__image--overlaying {
    position: relative;
    transform: unset;
    margin-bottom: 1.5em;
    height: 140px;
  }
}
.card__image--overlaying img {
  -o-object-fit: contain;
     object-fit: contain;
  border-radius: 0;
  max-width: 240px;
}
@media only screen and (max-width:64em) {
  .card__image--overlaying img {
    max-width: 150px;
  }
}
@media only screen and (max-width:30em) {
  .card__image--overlaying img {
    max-width: 100px;
  }
}
.card__image--overlaying a {
  position: absolute;
  height: 100%;
  width: 100%;
  left: 0;
  background-size: 0 2px, 0 2px !important;
  opacity: 0;
  transition: ease-in-out 300ms !important;
}
.card__image--overlaying a:hover {
  background-color: #eee !important;
  opacity: 0.35;
  transition: ease-in-out 300ms !important;
}
.card__content {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  margin: 1.5em;
}
.card__content p {
  margin: 0;
}
.card__content--flex1 {
  flex: 1;
}
.card__content--no-margin {
  margin: 0;
}
.card__action {
  margin-top: unset;
}
.card__action::after {
  background: #00549e;
}
.card__action--fix {
  position: relative;
  opacity: 1;
}
@media only screen and (max-width:30em) {
  .card__action--fix {
    width: -moz-fit-content;
    width: fit-content;
  }
}
.card__action--overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 0s;
  top: 0;
  left: 0;
}
.card__action--overlay:hover ~ .card__image img {
  transform: scale(1.1);
  transition: transform ease-in-out 300ms;
}
@media only screen and (max-width:30em) {
  .card__action--hide-mobile {
    display: none;
  }
}
.card__icon {
  display: flex;
  align-items: center;
  position: absolute;
  top: calc(-40px + 0.25em);
  left: 2em;
  background-color: #f18f20;
  padding: 1em;
  border-radius: 23px;
  color: #fff;
}
@media only screen and (max-width:30em) {
  .card__icon {
    position: unset;
    width: -moz-fit-content;
    width: fit-content;
    height: -moz-fit-content;
    height: fit-content;
    left: 50%;
    transform: unset;
    border-radius: 15px;
  }
}
@media only screen and (max-width:30em) {
  .card__icon--left {
    position: absolute;
    left: 4em;
    transform: translateX(-50%);
    border-radius: 15px;
  }
}
.card__icon--color-accent {
  background-color: #00853f;
}
.card__icon--color-highlight {
  background-color: #f18f20;
}
.card__icon--color-orange {
  background-color: #f18f20;
}
.card__icon .icon {
  width: 35px;
  height: 35px;
}
@media only screen and (max-width:30em) {
  .card__icon .icon {
    width: 21px;
    height: 21px;
  }
}
.card__icon .icon--large {
  width: 35px !important;
  height: 35px !important;
}
.card__label {
  position: absolute;
  top: 2em;
  right: 2em;
  background-color: #f18f20;
  padding: 0.35em 1.25em;
  border-radius: 5px;
  color: #fff;
  font-family: "Nunito", "Times New Roman", serif;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 12px;
  font-size: calc(10px + (12 - 10) * ((100vw - 320px) / (1680 - 320)));
  font-size: clamp(0.625rem, 0.8759124088vw, 0.75rem);
  letter-spacing: 0.65px;
}
@media only screen and (max-width:30em) {
  .card__label {
    top: unset;
    right: 1em;
    bottom: 0.5em;
    padding: 0.25em 1.25em;
  }
}
.card__wrapper {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  height: 100%;
  width: 100%;
}
@media only screen and (max-width:30em) {
  .card__wrapper {
    margin-left: 1em;
    justify-content: center;
    height: 100%;
  }
}
.card__wrapper--justify {
  justify-content: space-between !important;
}
@media only screen and (max-width:30em) {
  .card__wrapper--justify {
    justify-content: center !important;
  }
}
.card__wrapper--row {
  flex-direction: row;
}
.card__list {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  width: 100%;
  margin-left: 0.5em;
}
@media only screen and (max-width:64em) {
  .card__list {
    margin-left: 1em;
    justify-content: center;
  }
}
.card__links {
  list-style: none;
  padding-left: 0;
  margin: 0;
}
.card__links * {
  margin: 0;
  padding: 0;
}
.card__links li {
  padding-bottom: 0.25em;
}
.card__banner {
  box-shadow: none;
  padding: 0;
  border: none;
}
.card--bg-color-light {
  background-color: #f1f8fa;
  border: 2px solid #3fabc0;
}
.card--no-shadow {
  box-shadow: none;
}
.card--has-icon {
  margin-top: 35px;
  padding-top: 4em;
}
@media only screen and (max-width:30em) {
  .card--has-icon {
    margin-top: inherit;
    padding-top: inherit;
  }
  .card--has-icon .card__overlay-link::before {
    top: 0 !important;
    height: 100% !important;
    z-index: 1;
  }
}
.card--has-icon .card__overlay-link::before {
  top: -35px;
  height: calc(100% + 35px);
}
.card--has-fixed-icon {
  margin-top: 70px !important;
  padding-top: 4em !important;
}
.card--has-fixed-icon .card__overlay-link::before {
  top: -35px;
  height: calc(100% + 35px);
  z-index: 1;
}
.card--has-image > * {
  max-width: calc(100% - 220px);
}
@media only screen and (max-width:64em) {
  .card--has-image > * {
    max-width: calc(100% - 150px);
  }
}
@media only screen and (max-width:30em) {
  .card--has-image > * {
    max-width: unset;
  }
}
.card--small {
  display: grid;
  grid-template-columns: 20% auto;
  align-items: center;
  padding: 0.5em 0;
}
@media only screen and (max-width:64em) {
  .card--small {
    display: flex;
    flex-direction: row;
    grid-column-gap: 0;
  }
}
.card--small:focus-within {
  outline: none;
}
.card--border-bottom {
  box-shadow: none;
  border: unset;
  border-bottom: 1px solid #eee;
}
@media only screen and (max-width:64em) {
  .card--border-bottom {
    border-bottom: unset;
  }
}
.card--column-start {
  flex-direction: column !important;
  align-items: self-start !important;
}
.card__overlay-link:hover ~ .card__action {
  background-size: 100% 2px, 100% 2px !important;
}
.card__overlay-link:hover ~ .card__wrapper .card__action {
  background-size: 100% 2px, 100% 2px;
}
.card__overlay-link:hover ~ .card__image img {
  transform: scale(1.05);
  transition: transform ease-in-out 300ms;
}
.card .gray3 {
  color: #858585;
}

@media only screen and (max-width:30em) {
  .top-news .card__wrapper {
    margin-left: 0;
    height: unset;
  }
}
@media only screen and (max-width:30em) {
  .top-news .card__text {
    display: block;
    max-width: 100%;
  }
  .top-news .card__text p {
    margin-bottom: 0;
  }
}
@media only screen and (max-width:30em) {
  .top-news .card__flex {
    gap: 0.5em;
    flex-direction: column;
  }
}

@media only screen and (max-width:30em) {
  section.more-news .cards__layer--half {
    margin-top: 18px;
  }
}

.card:hover {
  box-shadow: 2px 22px 50px 1px rgba(0, 0, 0, 0.2705882353);
  transition: ease-in-out 300ms;
}

section.section-teaser-cards .cards__layer--half {
  padding-top: 24px;
  padding-top: 24px;
}
section.section-teaser-cards .card:hover {
  box-shadow: 2px 22px 50px 1px rgba(0, 0, 0, 0.2705882353);
  transition: ease-in-out 300ms;
}

section.section-news .card:hover {
  box-shadow: none;
  transform: unset;
}

/** ! ==================================================
 * COMPONENTS/Cards Credits YouBot
 * ================================================== */
.cards-credits {
  padding: 3em 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  -moz-column-gap: 3em;
       column-gap: 3em;
  row-gap: 6em;
  margin: 0 auto 3em auto;
  max-width: 1370px;
}
@media only screen and (max-width:30em) {
  .cards-credits {
    padding: 1.5em 0;
    row-gap: 4em;
  }
}
.cards-credits__item {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: #fff;
  border-radius: 10px;
  padding: 3em 2em 2em;
  flex-grow: 1;
  width: 230px;
  box-shadow: 2px 5px 20px 1px rgba(0, 0, 0, 0.1);
}
@media only screen and (max-width:48em) {
  .cards-credits__item {
    width: 100%;
  }
}
.cards-credits__item:last-of-type {
  margin-left: 3em;
}
@media only screen and (max-width: 1394px) {
  .cards-credits__item:last-of-type {
    margin-left: 0;
    width: 100%;
  }
}
.cards-credits__label {
  position: absolute;
  top: -1em;
  text-transform: uppercase;
  border-radius: 5px;
  background-color: #f18f20;
  padding: 0.25em 0.75em;
  color: #fff;
  font-family: "Nunito", "Times New Roman", serif;
  font-weight: 800;
}
.cards-credits__badge {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  background-color: #00853f;
  bottom: 30%;
  right: -15px;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  transform: rotate(-10deg);
}
.cards-credits__badge span {
  color: #fff;
  font-family: "Nunito", "Times New Roman", serif;
  font-weight: 700;
  font-size: 10px;
  text-align: center;
  line-height: 10px;
  padding-left: 1px;
}
.cards-credits__badge span:last-of-type {
  font-size: 16px;
  font-weight: 800;
  padding-top: 5px;
}
.cards-credits__headline {
  font-weight: 800;
  color: #333;
  font-family: "Nunito", "Times New Roman", serif;
  margin: 0.75em 0;
}
.cards-credits__number {
  flex-direction: column;
  align-items: center;
  display: flex;
}
@media only screen and (max-width:30em) {
  .cards-credits__number {
    flex-direction: row;
    gap: 0.5em;
  }
}
.cards-credits__number * {
  color: #00549e;
}
.cards-credits__number span:first-of-type {
  font-family: "Nunito", "Times New Roman", serif;
  font-weight: 400;
  font-size: 65px;
  font-size: 4.0625rem;
  line-height: 65px;
}
@media only screen and (max-width:30em) {
  .cards-credits__number span:first-of-type {
    font-size: 36px;
    font-size: 2.25rem;
    line-height: 36px;
  }
}
.cards-credits__number span:last-of-type {
  font-weight: 600;
  font-size: 18px;
  font-size: 1.125rem;
}
.cards-credits__divider {
  width: 80%;
  margin: 1em 0 0.5em;
}
.cards-credits__button {
  color: #fff !important;
  margin-top: auto;
}
.cards-credits__icon {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #fcead2;
  border-radius: 50%;
  width: 90px;
  height: 90px;
}
.cards-credits__icon::before {
  content: attr(data-credits-count);
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  top: 18px;
  right: 18px;
  color: #fff;
  font-size: 10px;
  background-color: #333;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  font-weight: 800;
}
.cards-credits__icon--no-dot::before {
  content: "";
  background-color: transparent;
}
.cards-credits__icon svg {
  width: 40px;
  height: 40px;
}
.cards-credits__text {
  text-align: center;
}
.cards-credits__price {
  font-family: "Nunito", "Times New Roman", serif;
  font-weight: 700;
  color: #333;
  margin-bottom: 2em;
}

/** ! ==================================================
 * COMPONENTS/Dropdown Menu
 * reusable dropdown module
 * ================================================== */
.nav .dropdown {
  position: absolute;
  left: 50%;
  top: 36px;
  width: 260px;
  margin-left: -130px;
  padding: 0;
  background-color: #fff;
  text-align: center;
  opacity: 0;
  visibility: hidden;
  transition: 250ms ease-out;
  transform: translateY(10px);
  z-index: 10;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
}
@media only screen and (max-width:48em) {
  .nav .dropdown {
    position: relative;
    left: 0;
    top: 0;
    width: auto;
    margin-left: 0;
    margin-top: 0.25em;
    transform: translateY(0);
    visibility: visible;
    opacity: 1;
    box-shadow: none;
  }
}
.nav .dropdown li {
  display: block;
  margin: 0;
  border-bottom: 1px solid #acacac;
  transition: 300ms ease-in-out;
  line-height: 1.75em;
}
@media only screen and (max-width:48em) {
  .nav .dropdown li {
    margin-bottom: 0.5em;
    border: 0;
  }
}
.nav .dropdown li.is-active a {
  color: #00549e;
}
.nav .dropdown li:last-child {
  margin-bottom: 0;
  border-bottom: 0;
}
.nav .dropdown a {
  display: block;
  padding: 1em;
  font-weight: 400;
}
@media only screen and (max-width:48em) {
  .nav .dropdown a {
    padding: 0;
  }
}
.nav li.nav__item.is-dropdown {
  position: relative;
  padding: 0.5em 0;
}
@media only screen and (max-width:48em) {
  .nav li.nav__item.is-dropdown {
    padding: 0;
  }
}
.nav li.nav__item.is-dropdown:hover ul.dropdown, .nav li.nav__item.is-dropdown:focus-within ul.dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(5px);
}
.nav li.nav__item.is-dropdown:hover .dropdown-icon, .nav li.nav__item.is-dropdown:focus-within .dropdown-icon {
  transform: rotate(180deg);
}
.nav li.nav__item .dropdown-touch {
  display: none;
  pointer-events: none;
  color: #333;
  letter-spacing: 0.025em;
}
@media only screen and (max-width:48em) {
  .nav li.nav__item .dropdown-touch {
    font-weight: 600;
  }
}
.nav li.nav__item .dropdown-icon {
  display: inline-block;
  color: #858585;
  transition: 300ms ease-in-out;
  transform-origin: 6px 14px;
}
@media only screen and (max-width:48em) {
  .nav li.nav__item .dropdown-icon {
    display: none;
  }
}

/** ! ==================================================
 * COMPONENTS/Messages
 * reusable messages module
 * ================================================== */
.form__alert[data-type=success], .form__alert--success, .msg-small.msg-small--success {
  background-color: rgba(49, 175, 138, 0.1);
  border: 2px solid #31af8a;
}

.form__alert[data-type=error], .form__alert--api-error, .form__alert--error, .msg-small.msg-small--alert {
  background-color: rgba(218, 96, 107, 0.1);
  border: 2px solid #da606b;
}

.msg-small.msg-small--info {
  background-color: rgba(172, 172, 172, 0.1);
  border: 2px solid #acacac;
}

.msg {
  position: fixed;
  left: 50%;
  top: 50%;
  width: 100%;
  max-width: 480px;
  transform: translate(-50%, -50%);
  background-color: white;
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.15);
  z-index: 70;
  opacity: 0;
  visibility: hidden;
  transition: 300ms ease-in-out;
}
@media only screen and (max-width:30em) {
  .msg {
    width: 90%;
  }
}
.msg.is-open {
  opacity: 1;
  visibility: visible;
}
.msg--info .msg__icon {
  background-color: #858585;
}
.msg--success .msg__icon {
  background-color: #31af8a;
}
.msg--alert .msg__icon {
  background-color: #da606b;
}
.msg .msg__inner {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}
.msg .msg__inner::after {
  content: "";
  clear: both;
  display: table;
}
.msg .msg__content {
  width: 75%;
  padding: 0.75em 1em;
}
.msg .msg__content .msg__headline {
  display: block;
  margin-bottom: 0.75em;
  color: #333;
  font-weight: 800;
}
.msg .msg__content p {
  margin: 0;
  line-height: 1.35em;
}
.msg .msg__icon {
  position: relative;
  width: 25%;
  color: #fff;
}
.msg .msg__icon svg {
  position: absolute;
  display: inline-block;
  left: 50%;
  top: 50%;
  width: 48px;
  height: 48px;
  margin: -24px 0 0 -24px;
  vertical-align: middle;
}
.msg .msg__action {
  margin-top: 0.5em;
  text-align: right;
}
.msg .msg__action a {
  color: #858585;
  text-transform: uppercase;
  font-weight: 800;
}
.msg .msg__action a:hover {
  opacity: 0.5;
}

.msg-small {
  position: relative;
  padding: 0.75em;
  border-radius: 3px;
}
.msg-small.msg-small--success .msg-small__close span {
  background-color: #31af8a;
}
.msg-small.msg-small--alert .msg-small__close span {
  background-color: #da606b;
}
.msg-small.msg-small--info .msg-small__close span {
  background-color: #858585;
}
.msg-small .msg-small__headline {
  display: block;
  margin-bottom: 0.25em;
  color: #333;
  font-weight: 800;
}
.msg-small .msg-small__close {
  position: absolute;
  right: 0.5em;
  top: 0.5em;
  width: 16px;
  height: 16px;
  border: 0;
  background-color: transparent;
}
.msg-small .msg-small__close:focus {
  outline: none;
  box-shadow: 0 0 1px 3px rgba(242, 143, 32, 0.4);
  border-color: #f28f20 !important;
}
.js-focus-visible .msg-small .msg-small__close:focus:not(.focus-visible) {
  box-shadow: none;
}
.msg-small .msg-small__close span {
  position: absolute;
  top: 7px;
  left: 0;
  width: 16px;
  height: 2px;
}
.msg-small .msg-small__close span:nth-child(1) {
  transform: rotate(45deg);
}
.msg-small .msg-small__close span:nth-child(2) {
  transform: rotate(-45deg);
}
.msg-small p {
  margin: 0;
  line-height: 1.25em;
}

.msg__layer {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: rgba(255, 255, 255, 0.9);
  z-index: 60;
  opacity: 0;
  visibility: hidden;
  transition: 300ms ease-in-out;
}
.msg__layer.is-open {
  opacity: 1;
  visibility: visible;
}

/** ! ==================================================
 * COMPONENTS/Form
 *
 * ================================================== */
.switch .switch__input, .radio .radio__input, .checkbox .checkbox__input, .select select, input[type=file], textarea, input[type=text],
input[type=password],
input[type=email],
input[type=tel],
input[type=number],
input[type=date], .input-checkbox, .input, .form__content .field .field__checkbox-list {
  display: block;
  position: relative;
  color: #333;
  background-color: #eaeaea;
  border-radius: 2px;
  transition: 300ms ease-in-out;
  outline: 1px solid transparent;
  border: 1px solid #acacac;
}
.switch .switch__input:hover, .radio .radio__input:hover, .checkbox .checkbox__input:hover, .select select:hover, input[type=file]:hover, textarea:hover, input[type=text]:hover,
input[type=password]:hover,
input[type=email]:hover,
input[type=tel]:hover,
input[type=number]:hover,
input[type=date]:hover, .input-checkbox:hover, .input:hover, .form__content .field .field__checkbox-list:hover {
  border-color: #717171;
}
.switch .switch__input:focus, .radio .radio__input:focus, .checkbox .checkbox__input:focus, .select select:focus, input[type=file]:focus, textarea:focus, input[type=text]:focus,
input[type=password]:focus,
input[type=email]:focus,
input[type=tel]:focus,
input[type=number]:focus,
input[type=date]:focus, .input-checkbox:focus, .input:focus, .form__content .field .field__checkbox-list:focus {
  border-color: #f28f20;
  outline: none;
  box-shadow: 0 0 1px 3px rgba(242, 143, 32, 0.4);
  border-color: #f28f20 !important;
}
.js-focus-visible .switch .switch__input:focus:not(.focus-visible), .switch .js-focus-visible .switch__input:focus:not(.focus-visible), .js-focus-visible .radio .radio__input:focus:not(.focus-visible), .radio .js-focus-visible .radio__input:focus:not(.focus-visible), .js-focus-visible .checkbox .checkbox__input:focus:not(.focus-visible), .checkbox .js-focus-visible .checkbox__input:focus:not(.focus-visible), .js-focus-visible .select select:focus:not(.focus-visible), .select .js-focus-visible select:focus:not(.focus-visible), .js-focus-visible input[type=file]:focus:not(.focus-visible), .js-focus-visible textarea:focus:not(.focus-visible), .js-focus-visible input[type=text]:focus:not(.focus-visible),
.js-focus-visible input[type=password]:focus:not(.focus-visible),
.js-focus-visible input[type=email]:focus:not(.focus-visible),
.js-focus-visible input[type=tel]:focus:not(.focus-visible),
.js-focus-visible input[type=number]:focus:not(.focus-visible),
.js-focus-visible input[type=date]:focus:not(.focus-visible), .js-focus-visible .input-checkbox:focus:not(.focus-visible), .js-focus-visible .input:focus:not(.focus-visible), .js-focus-visible .form__content .field .field__checkbox-list:focus:not(.focus-visible), .form__content .field .js-focus-visible .field__checkbox-list:focus:not(.focus-visible) {
  box-shadow: none;
}
.switch .switch__input::-moz-placeholder, .radio .radio__input::-moz-placeholder, .checkbox .checkbox__input::-moz-placeholder, .select select::-moz-placeholder, input[type=file]::-moz-placeholder, textarea::-moz-placeholder, input[type=text]::-moz-placeholder, input[type=password]::-moz-placeholder, input[type=email]::-moz-placeholder, input[type=tel]::-moz-placeholder, input[type=number]::-moz-placeholder, input[type=date]::-moz-placeholder, .input-checkbox::-moz-placeholder, .input::-moz-placeholder, .form__content .field .field__checkbox-list::-moz-placeholder {
  color: #858585;
}
.switch .switch__input::placeholder, .radio .radio__input::placeholder, .checkbox .checkbox__input::placeholder, .select select::placeholder, input[type=file]::placeholder, textarea::placeholder, input[type=text]::placeholder,
input[type=password]::placeholder,
input[type=email]::placeholder,
input[type=tel]::placeholder,
input[type=number]::placeholder,
input[type=date]::placeholder, .input-checkbox::placeholder, .input::placeholder, .form__content .field .field__checkbox-list::placeholder {
  color: #858585;
}

.select select, input[type=file], textarea, input[type=text],
input[type=password],
input[type=email],
input[type=tel],
input[type=number],
input[type=date], .input-text {
  width: 100%;
  line-height: 1.5;
  padding: 0.85em 1em;
  font-family: inherit;
  font-size: 1em;
}
.switch.switch--boxed .switch__label, .radio.radio--boxed .radio__label, .checkbox.checkbox--boxed .checkbox__label, .input-wrapper {
  background-color: #ebebeb;
  border-radius: 4px;
  padding: 0.75em;
  display: block;
  transition: 300ms ease-in-out;
}

.switch input, .switch .switch__input, .radio input, .radio .radio__input, .checkbox input, .checkbox .checkbox__input, .input-checkbox {
  position: absolute;
  left: 0;
  top: 0.1em;
  z-index: 1;
  width: 1.75em;
  height: 1.75em;
  cursor: pointer;
}

/**
 * FORM LAYOUT
 * ================================
*/
.form {
  max-width: 400px;
  margin: 0 auto;
}
@media only screen and (max-width:48em) {
  .form {
    max-width: unset;
  }
}
@media only screen and (max-width:48em) {
  .form {
    padding: 0;
  }
}
.form--no-padding {
  padding: 0;
}
.form--no-margin {
  margin: 0;
}
.form--padding-small {
  padding: 0 0.5em;
}
.form--large {
  max-width: 600px;
}
.form--xlarge {
  max-width: 800px;
}
.form--align-start {
  margin: unset;
}
.form--align-start .form__submit {
  margin-left: 0;
  margin-right: 0;
}
.form--2-columns {
  max-width: unset;
}
.form--2-columns .form__content {
  -moz-column-gap: 1.5em;
       column-gap: 1.5em;
}
.form--2-columns .field {
  flex: 1 1 calc(45% - 1.5em);
}
.form--2-columns .field__full {
  flex: 1 1 100%;
}
.form--2-columns .field__half {
  width: calc(50% - 1.5em) !important;
}
@media only screen and (max-width:48em) {
  .form--2-columns .field {
    flex: unset;
  }
}
.form--2-columns .flex-break {
  flex-basis: 100%;
  height: 0; /* Optional: to avoid adding extra space */
}
.form--is-hidden {
  display: none;
}
.form--is-visible {
  display: block;
}
.form__links {
  display: flex;
  justify-content: space-between;
  padding-bottom: 1.5em;
  width: 100%;
}
.form__link {
  color: #00549e;
  font-weight: 800;
}
.form__submit {
  display: flex;
  margin: 1em auto;
}
.form__submit--is-loading .loading-ellipsis {
  display: inline-block;
}
.form__submit--isTextLink {
  padding: 0;
  background-color: unset;
  color: #333;
}
.form.form--is-success .form__content {
  display: none;
}
.form.form--is-success .form__alert.form__alert--success {
  display: block;
}
.form.form--is-error .form__alert.form__alert--error {
  display: block;
}
.form.form--is-api-error .form__alert.form__alert--api-error {
  display: block;
}

.form__header {
  margin-bottom: 1.5em;
}

.form__alert {
  margin: 1.5em 0;
  padding: 0.75em;
  border-radius: 3px;
  display: none;
}
.form__alert a {
  text-decoration: underline;
}
.form__alert a:hover {
  color: #00549e;
}
.form__alert a::after {
  display: none;
}
.form__alert p {
  line-height: 1.7;
  margin: 0;
}
.form__alert:empty {
  display: none;
}
.form__alert.form__alert--is-visible {
  display: block;
}

.form__content {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.form__content--is-hidden {
  display: none;
}
.form__content .field {
  width: 100%;
  position: relative;
  margin-top: 0;
  margin-bottom: 1.5em;
}
.form__content .field.sources-container {
  margin-bottom: 0;
}
.form__content .field:last-child {
  margin-bottom: 0;
}
.form__content .field.field--is-hidden {
  display: none;
}
.form__content .field.field--1-2 {
  width: calc(50% - 0.75em);
}
@media only screen and (max-width:48em) {
  .form__content .field.field--1-2 {
    width: 100%;
  }
}
.form__content .field.field--1-3 {
  width: calc(33.33% - 0.75em);
}
@media only screen and (max-width:48em) {
  .form__content .field.field--1-3 {
    width: 100%;
  }
}
.form__content .field.field--2-3 {
  width: calc(66.66% - 0.75em);
}
@media only screen and (max-width:48em) {
  .form__content .field.field--2-3 {
    width: 100%;
  }
}
.form__content .field .field__checkbox-list {
  background-color: #fff !important;
  max-height: 200px;
  overflow-x: hidden;
  overflow-y: scroll;
  padding-left: 1em;
}
.form__content .field .field__checkbox-list .field {
  margin-bottom: 0;
}

.form__radio-box {
  display: flex;
  border: 1px solid #acacac;
  padding: 1em;
  width: 100%;
  margin-bottom: 1.5em;
  gap: 1em;
  align-items: flex-start;
}
.form__radio-box[disabled] {
  background-color: #eee;
}
.form__radio-box:hover {
  cursor: pointer;
}

.form__radio {
  display: flex;
  padding: 0;
  width: 100%;
  gap: 1em;
  align-items: flex-start;
}
.form__radio input {
  position: relative;
  top: 3px;
}
.form__radio:hover {
  cursor: pointer;
}

.fieldset {
  position: relative;
  display: flex;
  align-items: flex-end;
  width: 100%;
  margin: 0 0 3em;
  border: none;
  padding: 0;
}
@media only screen and (max-width:64em) {
  .fieldset {
    padding-left: 0;
  }
}
.fieldset:last-child {
  margin-bottom: 0;
}
.fieldset legend {
  padding: 0 6px;
  background-color: inherit;
  color: #858585;
}

/**
 * FORM FIELD
 * ================================
*/
.field {
  display: block;
  width: 100%;
}
.field .field__label {
  display: block;
  margin-bottom: 0.25em;
}
.field .field__label span {
  font-size: 13px;
  font-size: 0.8125rem;
  font-weight: 700;
}
.field--is-hidden {
  display: none;
}
.field--is-visible {
  display: block;
}
.field--is-invalid {
  border: 2px solid #da606b;
  padding-bottom: 5px;
}
.field--is-invalid .checkbox__input {
  left: 3px;
  top: 4px;
}
.field .field__controls {
  display: block;
}
.field .field__controls input[aria-invalid=true] ~ .field__error,
.field .field__controls select[aria-invalid=true] ~ .field__error {
  display: block;
}
.field__error {
  color: #da606b;
  display: none;
}
.field .field__error,
.field [aria-invalid=true] {
  outline-color: #da606b;
  transition: ease-in-out 300ms;
}
.field .is-required,
.field .is-optional {
  display: inline-block;
  font-size: 0.8em;
  font-weight: 400;
  vertical-align: text-top;
}
.field .is-required {
  text-decoration: none;
}
.field .is-optional {
  margin-left: 0.75em;
}
.field.has-errors .is-required {
  color: #da606b;
}
.field label {
  display: inline-block;
  margin-bottom: 0.25em;
  font-weight: 600;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.field label abbr {
  font-weight: 400;
  color: #858585;
}

/**
 * FORM CONTROLS
 * ================================
*/
/**
 * Helper
 * ================================
*/
.guard {
  position: absolute;
  left: -9999px;
}

/**
 * Input Text
 * ================================
*/
input[type=text]:-moz-read-only, input[type=password]:-moz-read-only, input[type=email]:-moz-read-only, input[type=tel]:-moz-read-only, input[type=number]:-moz-read-only, input[type=date]:-moz-read-only {
  background-color: #dedede;
  color: #858585;
  cursor: not-allowed;
}
input[type=text]:read-only,
input[type=password]:read-only,
input[type=email]:read-only,
input[type=tel]:read-only,
input[type=number]:read-only,
input[type=date]:read-only {
  background-color: #dedede;
  color: #858585;
  cursor: not-allowed;
}

input[type=radio] {
  accent-color: #00549e;
}

/**
 * Submit Button
 */
input[type=submit] {
  outline: none;
  background-color: unset;
  border: unset;
}

/**
 * Number Input
 */
input[type=number]::-webkit-inner-spin-button {
  opacity: 1;
}

/**
 * Textarea
 * ================================
*/
textarea {
  min-width: 100%;
  max-width: 100%;
  min-height: 9em;
}
textarea:-moz-read-only {
  background-color: #ebebeb;
  color: #858585;
  cursor: not-allowed;
}
textarea:read-only {
  background-color: #ebebeb;
  color: #858585;
  cursor: not-allowed;
}

/**
 * File
 * ================================
*/
input[type=file] {
  padding: 0;
}
input[type=file]::file-selector-button {
  margin-right: 0.75em;
  padding: 0.5em 0.75em;
  background-color: #ebebeb;
  border: 0;
  border-right: #858585;
  cursor: pointer;
  line-height: 1.5;
}

/**
 * Select
 * ================================
*/
.select {
  position: relative;
  display: block;
}
.select::after {
  content: "";
  display: block;
  position: absolute;
  right: 1px;
  top: 1px;
  z-index: 1;
  width: 40px;
  height: calc(100% - 2px);
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg width='42px' height='42px' viewBox='0 0 42 42' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cpath d='M24.9462117,23.6470518 L25.0303301,23.7196699 C25.2965966,23.9859365 25.3208027,24.4026002 25.1029482,24.6962117 L25.0303301,24.7803301 L21.2803301,28.5303301 C21.0140635,28.7965966 20.5973998,28.8208027 20.3037883,28.6029482 L20.2196699,28.5303301 L16.4696699,24.7803301 C16.1767767,24.4874369 16.1767767,24.0125631 16.4696699,23.7196699 C16.7359365,23.4534034 17.1526002,23.4291973 17.4462117,23.6470518 L17.5303301,23.7196699 L20.75,26.939 L23.9696699,23.7196699 C24.2359365,23.4534034 24.6526002,23.4291973 24.9462117,23.6470518 Z M21.1962117,14.3970518 L21.2803301,14.4696699 L25.0303301,18.2196699 C25.3232233,18.5125631 25.3232233,18.9874369 25.0303301,19.2803301 C24.7640635,19.5465966 24.3473998,19.5708027 24.0537883,19.3529482 L23.9696699,19.2803301 L20.75,16.061 L17.5303301,19.2803301 C17.2640635,19.5465966 16.8473998,19.5708027 16.5537883,19.3529482 L16.4696699,19.2803301 C16.2034034,19.0140635 16.1791973,18.5973998 16.3970518,18.3037883 L16.4696699,18.2196699 L20.2196699,14.4696699 C20.4859365,14.2034034 20.9026002,14.1791973 21.1962117,14.3970518 Z' id='arrows' fill='%23333333' fill-rule='nonzero'%3E%3C/path%3E%3C/svg%3E");
  background-color: #eaeaea;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
}
.select select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
}

/**
 * Checkbox
 * ================================
*/
.checkbox-group {
  display: flex;
}
.checkbox-group .checkbox {
  margin: 0.5rem;
  margin-right: 1.5em;
}

.checkbox {
  display: block;
  position: relative;
  line-height: 1.4;
  font-size: 0.9em;
  margin-bottom: 0.375em;
}
.checkbox .checkbox__label {
  position: relative;
  font-weight: 400;
  cursor: pointer;
  display: block;
  padding-left: 1.9em;
  top: 5px;
}
.checkbox .checkbox__label--small {
  font-size: 13px;
  padding-left: 2.9em;
}
.checkbox .checkbox__label--small* {
  font-size: inherit;
}
.checkbox .checkbox__label--small::after {
  height: 1px;
}
.checkbox .checkbox__label::after {
  display: none;
}
.checkbox .checkbox__link {
  color: #00549e;
}
.checkbox .checkbox__input {
  top: 50%;
  transform: translateY(-50%);
  border: 1.5px solid transparent;
  z-index: 0;
}
.checkbox .checkbox__input--pointer-none {
  pointer-events: none;
}
.checkbox .checkbox__input--align-top {
  top: 2px;
  transform: unset;
}
.checkbox .checkbox__input svg {
  display: none;
  width: calc(1.75em - 1px);
  height: calc(1.75em - 1px);
  position: absolute;
  top: 0;
  left: 0;
  color: #fff;
}
.checkbox input {
  opacity: 0;
}
.checkbox input.fake-checkbox {
  pointer-events: none;
}
.checkbox input:focus ~ .checkbox__input {
  outline: none;
  box-shadow: 0 0 1px 3px rgba(242, 143, 32, 0.4);
  border-color: #f28f20 !important;
}
.checkbox input:checked ~ .checkbox__input {
  background-color: #00549e;
  border: none;
}
.checkbox input:checked ~ .checkbox__input svg {
  display: block;
}
.checkbox input:hover ~ .checkbox__input {
  border-color: #00549e;
  transition: ease-in-out 300ms;
}
.checkbox.checkbox--boxed {
  display: block;
}
.checkbox.checkbox--boxed .checkbox__input {
  left: 0.75em;
  top: 0.75em;
}
.checkbox.checkbox--boxed .checkbox__label {
  padding-left: 3.25em;
}
.checkbox.checkbox--boxed input {
  left: 0.75em;
  top: 0.75em;
}
.checkbox.checkbox--boxed input:focus-visible ~ .checkbox__input, .checkbox.checkbox--boxed input.focus-visible ~ .checkbox__input {
  box-shadow: none;
}
.checkbox.checkbox--boxed input:focus-visible ~ .checkbox__label, .checkbox.checkbox--boxed input.focus-visible ~ .checkbox__label {
  outline: none;
  box-shadow: 0 0 1px 3px rgba(242, 143, 32, 0.4);
  border-color: #f28f20 !important;
}

/**
 * Radiogroup
 * ================================
*/
.radio-group {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  row-gap: 0.5em;
  flex-direction: column;
}
.radio-group .radio {
  margin: 0.5rem;
}

.radio {
  display: inline-block;
  position: relative;
  line-height: 1.4;
  font-size: 0.9em;
}
.radio--clean .radio__label {
  background-color: transparent !important;
}
.radio .radio__input {
  width: 15px;
  height: 15px;
  border-radius: 50%;
  border: 1px solid #858585;
  pointer-events: none;
}
.radio .radio__label {
  font-weight: 400;
  position: relative;
  cursor: pointer;
  display: block;
  padding-left: 1.8em;
  line-height: 19px;
}
.radio .radio__label--regular {
  font-family: "Nunito Sans", "Helvetica", "Arial", sans-serif;
}
.radio input {
  opacity: 0;
}
.radio input:focus ~ .radio__input {
  outline: none;
  box-shadow: 0 0 1px 3px rgba(242, 143, 32, 0.4);
  border-color: #f28f20 !important;
  box-shadow: 0 0 1px 3px rgba(242, 143, 32, 0.4), inset 0 0 0 0.3em #00549e;
}
.radio input:checked ~ .radio__input {
  box-shadow: 0 0 0 3px transparent inset, 0 0 0 1.5px #eaeaea inset;
  background-color: #00549e;
  border-color: inherit;
}
.radio.radio--boxed .radio__input {
  left: 0.75em;
  top: 0.75em;
}
.radio.radio--boxed .radio__label {
  padding-left: 3.25em;
}
.radio.radio--boxed input {
  left: 0.75em;
  top: 0.75em;
}
.radio.radio--boxed input:focus:checked ~ .radio__input {
  box-shadow: inset 0 0 0 0.3em #00549e;
}
.radio.radio--boxed input:focus ~ .radio__input {
  box-shadow: none;
}
.radio.radio--boxed input:focus ~ .radio__label {
  outline: none;
  box-shadow: 0 0 1px 3px rgba(242, 143, 32, 0.4);
  border-color: #f28f20 !important;
}

/**
 * Switch Toggle
 * ================================
*/
.switch {
  display: inline-block;
  position: relative;
  line-height: 1.4;
  font-size: 0.9em;
  margin-bottom: 0.375em;
}
.switch .switch__input {
  display: inline-table;
  background-color: #eaeaea;
  border: 1.5px solid #858585;
  border-radius: 3em;
  width: 3.5em;
  transition: background-color 300ms ease-in-out;
}
.switch .switch__input::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 0.2em;
  transform: translate(0, -50%);
  width: calc(1.75em - 0.4em);
  height: calc(1.75em - 0.4em);
  background-color: #858585;
  border-radius: 50%;
  transition: background-color 300ms ease-in-out, transform 300ms ease-in-out;
}
.switch .switch__label {
  position: relative;
  font-weight: 400;
  cursor: pointer;
  display: block;
  padding-left: 4.25em;
}
.switch input {
  width: 3.5em;
  opacity: 0;
}
.switch input:focus ~ .switch__input {
  outline: none;
  box-shadow: 0 0 1px 3px rgba(242, 143, 32, 0.4);
  border-color: #f28f20 !important;
}
.switch input:checked ~ .switch__input {
  background-color: #00549e;
  border: none;
}
.switch input:checked ~ .switch__input::before {
  background-color: #fff;
  transform: translate(calc(100% + 0.4em), -50%);
}
.switch.switch--boxed {
  display: block;
}
.switch.switch--boxed .switch__input {
  left: 0.75em;
  top: 0.75em;
}
.switch.switch--boxed .switch__label {
  padding-left: 5em;
}
.switch.switch--boxed input {
  left: 0.75em;
  top: 0.75em;
}
.switch.switch--boxed input:focus ~ .switch__input {
  box-shadow: none;
}
.switch.switch--boxed input:focus ~ .switch__label {
  outline: none;
  box-shadow: 0 0 1px 3px rgba(242, 143, 32, 0.4);
  border-color: #f28f20 !important;
}

.forms-addresses {
  position: relative;
  border: 1px solid #acacac;
  border-radius: 5px;
  margin: 1.5em 0;
  padding: 1em 1.5em;
}
.forms-addresses:first-of-type {
  margin-top: 0;
}
.forms-addresses .form {
  padding: 1.5em 0 0;
}
.forms-addresses__labels {
  position: absolute;
  top: 1.5em;
  right: 1.5em;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.5em;
  margin-bottom: 1em;
}
@media only screen and (max-width:48em) {
  .forms-addresses__labels {
    position: unset;
    align-items: start;
  }
}
.forms-addresses__labels span {
  display: flex;
  position: relative;
}
.forms-addresses__labels span::after {
  content: "/";
  position: absolute;
  right: -0.85em;
}
.forms-addresses__labels span:last-of-type::after {
  display: none;
}
.forms-addresses__label {
  color: #fff;
  padding: 0.15em 0.5em;
  font-weight: 700;
  background-color: #f18f20;
  border-radius: 5px;
  width: -moz-fit-content;
  width: fit-content;
}
.forms-addresses__content {
  display: flex;
  flex-direction: column;
}
.forms-addresses__links {
  display: flex;
  align-items: center;
  margin-top: 1em;
  flex-wrap: wrap;
}
@media only screen and (max-width:48em) {
  .forms-addresses__links {
    display: block;
  }
}
.forms-addresses__links .form {
  position: relative;
  padding: 0 8px;
}
.forms-addresses__links .form::before {
  content: "•";
  position: absolute;
  left: -3px;
  top: 0;
  font-size: 11px;
  color: #00549e;
}
.forms-addresses__links .form:first-of-type {
  margin-left: 8px;
}
@media only screen and (max-width:48em) {
  .forms-addresses__links .form {
    padding: 0 !important;
    margin: 0 !important;
  }
  .forms-addresses__links .form::before {
    display: none;
  }
}
.forms-addresses__links .form__alert {
  margin-top: 0;
}
.forms-addresses__links .btn {
  min-width: unset;
  line-height: normal;
}

.forms {
  border: 1px solid #acacac;
  border-radius: 5px;
  margin: 3em 0;
}
.forms .form {
  padding: 1em 1.5em;
}
.forms__label {
  font-weight: 700;
  background-color: #f28f20;
  color: #fff;
  padding: 0.1em 0.5em;
  margin: 1.5em 0;
  border-radius: 5px;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  width: -moz-fit-content;
  width: fit-content;
}
.forms__links {
  padding: 1em 1.5em;
  padding-top: 0.5em;
}
.forms__links .form {
  padding: 0.25em 0.5em;
}
.forms__links .form__submit {
  padding: 0;
  margin: 0;
  border-radius: unset;
  line-height: 17px;
  margin-bottom: 0.5em;
  font-weight: 700;
  transition: ease-in-out 300ms;
}
.forms__links .form__submit:hover {
  color: #00853f;
  transition: ease-in-out 300ms;
}
.forms__links .form__submit:disabled {
  color: #acacac;
}
.forms__links .form__submit .loading-ellipsis {
  display: none;
}
.forms__links .form__alert {
  margin-top: 0;
}

.radio-business-container {
  margin-bottom: 1em;
}
.radio-business-container .radio-group {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: flex-start;
  gap: 1em;
}

.radio-source-container {
  margin-bottom: 1em;
}
.radio-source-container .radio-group {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: flex-start;
}
.radio-source-container .radio-group .radio {
  width: 25%;
}
@media only screen and (max-width:48em) {
  .radio-source-container .radio-group .radio {
    width: 50%;
  }
}

.register-guest-container {
  margin-bottom: 5px;
}

.sources-container label {
  margin-bottom: 5px;
}

.submit-container {
  margin-top: 1.5em;
}

.spacer {
  margin-bottom: 1em;
}

.custom-select {
  position: relative;
  margin: 1em 0 2em;
  /* <option> colors */
}
@media only screen and (max-width:48em) {
  .custom-select {
    margin: 1em 0 0;
  }
}
.custom-select label {
  display: block;
  background-color: #fff;
  color: #333;
  cursor: pointer;
  padding: 0.5em 0.75em;
  transition: ease-in-out 300ms;
  font-size: 0.9em;
}
.custom-select label::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(0, -50%);
  background: url("/build/img/icons/icon-chevron-down.svg") no-repeat right 1em center/1.4em, linear-gradient(to left, transparent 3em, #858585 3em);
  background-size: 1em;
  width: 100%;
  height: 100%;
  border: 1px solid #acacac;
  min-height: 40px;
}
.custom-select label span {
  max-width: calc(100% - 1em);
}
.custom-select select {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  outline: 0;
  z-index: 100;
  /* Remove IE arrow */
  /* Remove focus outline */
}
.custom-select select::-ms-expand {
  display: none;
}
.custom-select select:focus {
  outline: none;
}
.custom-select select:hover {
  cursor: pointer;
}
.custom-select select:hover + label {
  background-color: #eee;
  transition: ease-in-out 300ms;
}
.custom-select option {
  color: inherit;
  background-color: #858585;
}

#confirm-delete-account-container {
  display: none;
}
#confirm-delete-account-container.visible {
  display: block;
}

.captcha {
  padding-top: 2px;
  padding-bottom: 2px;
  height: 58px;
}

.captcha-image {
  width: 140px;
  height: 100%;
}

.yb-form-button-container {
  background: none;
}

.yb-form-headline {
  flex: 1 1 100%;
}

.yb-form-subline {
  font-weight: bold;
  font-size: 16px;
  flex: 1 1 100%;
}
.yb-form-subline-package ul {
  margin-top: 1em;
}
.yb-form-subline-package img {
  max-width: 24px;
  margin-right: 0;
  position: relative;
  top: -1px;
}

.yb-form-container,
et-form-container {
  font-size: 16px;
}
.yb-form-container--choose .field .form__radio .field__label,
et-form-container--choose .field .form__radio .field__label {
  position: relative;
}
.yb-form-container--choose .field .form__radio .field__label span,
et-form-container--choose .field .form__radio .field__label span {
  font-size: 16px;
}
@media only screen and (max-width:48em) {
  .yb-form-container--choose .field .form__radio .field__label span,
  et-form-container--choose .field .form__radio .field__label span {
    max-width: 90%;
  }
}
.yb-form-container--choose .field .form__radio .field__label input[type=radio],
et-form-container--choose .field .form__radio .field__label input[type=radio] {
  position: relative;
  top: 0px;
}
@media only screen and (max-width:48em) {
  .yb-form-container--choose .field .form__radio .field__label input[type=radio],
  et-form-container--choose .field .form__radio .field__label input[type=radio] {
    top: -22px;
    margin-right: 5px;
  }
}

.yb-form-container-offer {
  display: none;
}

.yb-form-container-offer .bold,
.et-form-container-offer .bold,
.yb-form-container-package .bold {
  font-weight: bold;
}
.yb-form-container-offer .field abbr.is-required,
.et-form-container-offer .field abbr.is-required,
.yb-form-container-package .field abbr.is-required {
  vertical-align: text-bottom;
  margin-left: -3px;
}
.yb-form-container-offer .display_inline span,
.et-form-container-offer .display_inline span,
.yb-form-container-package .display_inline span {
  display: inline;
}
.yb-form-container-offer .full-flex,
.et-form-container-offer .full-flex,
.yb-form-container-package .full-flex {
  flex: 1 1 100%;
}
.yb-form-container-offer .half-flex,
.et-form-container-offer .half-flex,
.yb-form-container-package .half-flex {
  flex: 1 1 calc(45% - 1.5em);
}
.yb-form-container-offer h2,
.et-form-container-offer h2,
.yb-form-container-package h2 {
  flex: 1 1 calc(45% - 1.5em);
}
.yb-form-container-offer .col-33,
.et-form-container-offer .col-33,
.yb-form-container-package .col-33 {
  flex: 1 1 calc(32% - 0.5em);
}
.yb-form-container-offer .col-66,
.et-form-container-offer .col-66,
.yb-form-container-package .col-66 {
  flex: 1 1 calc(66% - 0.5em);
}
.yb-form-container-offer .yb-form-delivery .checkbox__label,
.et-form-container-offer .yb-form-delivery .checkbox__label,
.yb-form-container-package .yb-form-delivery .checkbox__label {
  position: relative;
  top: 5px;
}
.yb-form-container-offer .yb-radio-container,
.et-form-container-offer .yb-radio-container,
.yb-form-container-package .yb-radio-container {
  margin-bottom: 0;
}
.yb-form-container-offer .yb-radio-container .form__radio .field__label span,
.et-form-container-offer .yb-radio-container .form__radio .field__label span,
.yb-form-container-package .yb-radio-container .form__radio .field__label span {
  position: relative;
  top: 2px;
}
@media only screen and (max-width:48em) {
  .yb-form-container-offer .yb-radio-container,
  .et-form-container-offer .yb-radio-container,
  .yb-form-container-package .yb-radio-container {
    flex: 1 1 auto;
  }
}

.yb-form-container-question {
  display: none;
}

.yb-form-delivery-address {
  display: none;
}
.yb-form-delivery-address.visible {
  display: block;
}

@media only screen and (max-width:48em) {
  .yb-form-container .field,
  .et-form-container .field {
    order: 50;
  }
  .yb-form-container .field--anzahl,
  .et-form-container .field--anzahl {
    order: 1;
  }
  .yb-form-container .field--schule-bildungstraeger-unternehmen,
  .et-form-container .field--schule-bildungstraeger-unternehmen {
    order: 2;
  }
  .yb-form-container .field--anrede,
  .et-form-container .field--anrede {
    order: 3;
  }
  .yb-form-container .field--vorname,
  .et-form-container .field--vorname {
    order: 4;
  }
  .yb-form-container .field--nachname,
  .et-form-container .field--nachname {
    order: 5;
  }
  .yb-form-container .field--funktion,
  .et-form-container .field--funktion {
    order: 6;
  }
  .yb-form-container .field--strasse,
  .et-form-container .field--strasse {
    order: 7;
  }
  .yb-form-container .field--hausnummer,
  .et-form-container .field--hausnummer {
    order: 8;
  }
  .yb-form-container .field--postleitzahl,
  .et-form-container .field--postleitzahl {
    order: 9;
  }
  .yb-form-container .field--ort,
  .et-form-container .field--ort {
    order: 10;
  }
  .yb-form-container .field--e-mail,
  .et-form-container .field--e-mail {
    order: 11;
  }
  .yb-form-container .field--telefon,
  .et-form-container .field--telefon {
    order: 12;
  }
  .yb-form-container .field--wie-viele-bewerber-sollen-ungefaehr-mit-youbot-plus-arbeiten,
  .et-form-container .field--wie-viele-bewerber-sollen-ungefaehr-mit-youbot-plus-arbeiten {
    order: 19;
  }
  .yb-form-container .field--in-welchem-zeitraum-moechten-sie-youbot-plus-ungefaehr-nutzen,
  .et-form-container .field--in-welchem-zeitraum-moechten-sie-youbot-plus-ungefaehr-nutzen {
    order: 20;
  }
  .yb-form-container .field--moechten-sie-uns-noch-etwas-mitteilen,
  .et-form-container .field--moechten-sie-uns-noch-etwas-mitteilen {
    order: 21;
  }
  .yb-form-container .field--forum,
  .et-form-container .field--forum {
    order: 23;
  }
  .yb-form-container .field--schule,
  .et-form-container .field--schule {
    order: 24;
  }
  .yb-form-container .field--kollegen,
  .et-form-container .field--kollegen {
    order: 25;
  }
  .yb-form-container .field--biz-berufsinformationszentrum,
  .et-form-container .field--biz-berufsinformationszentrum {
    order: 26;
  }
  .yb-form-container .field--sonstiges,
  .et-form-container .field--sonstiges {
    order: 27;
  }
  .yb-form-container .field--sicherheitscode,
  .et-form-container .field--sicherheitscode {
    order: 41;
  }
  .yb-form-container .field--captcha,
  .et-form-container .field--captcha {
    order: 42;
  }
  .yb-form-container .field--captcha .field__label,
  .et-form-container .field--captcha .field__label {
    display: none;
  }
  .yb-form-container .yb-form-delivery,
  .et-form-container .yb-form-delivery {
    order: 13;
  }
  .yb-form-container .yb-form-delivery-address,
  .et-form-container .yb-form-delivery-address {
    order: 14;
  }
  .yb-form-container .yb-form-delivery-address.field--schule-bildungstraeger-unternehmen,
  .et-form-container .yb-form-delivery-address.field--schule-bildungstraeger-unternehmen {
    order: 15;
  }
  .yb-form-container .yb-form-delivery-address.field--name,
  .et-form-container .yb-form-delivery-address.field--name {
    order: 16;
  }
  .yb-form-container .yb-form-delivery-address.field--strasse,
  .et-form-container .yb-form-delivery-address.field--strasse {
    order: 17;
  }
  .yb-form-container .yb-form-delivery-address.field--hausnummer,
  .et-form-container .yb-form-delivery-address.field--hausnummer {
    order: 18;
  }
  .yb-form-container .yb-form-delivery-address.field--postleitzahl,
  .et-form-container .yb-form-delivery-address.field--postleitzahl {
    order: 19;
  }
  .yb-form-container .yb-form-delivery-address.field--ort,
  .et-form-container .yb-form-delivery-address.field--ort {
    order: 20;
  }
  .yb-form-container .container--privacyAndTermsOfUseAgreement,
  .et-form-container .container--privacyAndTermsOfUseAgreement {
    order: 40;
  }
  .yb-form-container .container--button-checkout,
  .et-form-container .container--button-checkout {
    order: 45;
  }
  .yb-form-container .label--source,
  .et-form-container .label--source {
    order: 22;
  }
}
.mandatory-small {
  font-size: 13px;
}
.mandatory-small--up {
  position: relative;
  top: -1em;
}

/** ! ==================================================
 * COMPONENTS/Tabs
 * reusable tabs module
 * ================================================== */
.bar {
  position: relative;
  height: 48px;
  width: 100%;
  border-top: 1px solid #acacac;
}
.bar--bottom {
  position: absolute;
  left: 0;
  bottom: 0;
  overflow: hidden;
}
.bar--fixed {
  position: fixed;
}
.bar--border {
  border: 1px solid #acacac;
}
.bar .bar__icons {
  position: absolute;
  top: 0;
}
.bar .bar__icons--center {
  left: 50%;
  transform: translateX(-50%);
}
.bar .bar__icons--right {
  right: 0;
}
.bar .bar__icons--right .bar__icon {
  border-left: 1px solid #acacac;
}
.bar .bar__icons--left {
  left: 0;
}
.bar .bar__icons--left .bar__icon {
  border-right: 1px solid #acacac;
}
.bar .bar__icon,
.bar .bar__text {
  position: relative;
  float: left;
  width: 48px;
  background-color: white;
  outline: none;
}
.bar .bar__text {
  line-height: 48px;
}
.bar .bar__icon {
  height: 48px;
  background-color: white;
  color: #333;
  border: 0;
  transition: 300ms ease-in-out;
}
.bar .bar__icon:not(.is-disabled):hover {
  background-color: #ebebeb;
}
.bar .bar__icon:not(.is-disabled):focus {
  background-color: #ebebeb;
  color: #f28f20;
}
.bar .bar__icon .icon {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

.gallery-container {
  margin-bottom: 4em;
}
.gallery-container-static {
  margin-bottom: 2em;
}
.gallery-container .gallery-img-container img {
  width: 100%;
  display: inline-block;
}

/** ! ==================================================
 * COMPONENTS/Gallery
 * reusable gallery module
 * ================================================== */
.gallery {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  grid-gap: 2.25em;
}
.gallery .gallery__image {
  position: relative;
  background-color: white;
  transition: 300ms ease-in-out;
}
.gallery .gallery__image a {
  display: block;
  color: #fff;
}
.gallery .gallery__image a:hover img {
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
}
.gallery .gallery__image a:focus {
  outline: none;
  box-shadow: 0 0 1px 3px rgba(242, 143, 32, 0.4);
  border-color: #f28f20 !important;
}
.js-focus-visible .gallery .gallery__image a:focus:not(.focus-visible) {
  box-shadow: none;
}
.gallery .gallery__image figure {
  margin: 0;
  background-color: transparent;
}
.gallery .gallery__image img {
  transition: 300ms ease-in-out;
}
.gallery .gallery__image .gallery__image-icon {
  position: absolute;
  display: block;
  bottom: 0.75em;
  right: 0.75em;
}

/** ! ==================================================
 * COMPONENTS/Modal
 * reusable modal module
 * ================================================== */
.modal {
  position: fixed;
  top: 50%;
  left: 50%;
  width: 600px;
  max-width: calc(100vw - 3em);
  padding: 1.5em;
  margin: 0;
  background-color: #fff;
  transform: translate(-50%, -50%);
  color: #333;
  opacity: 0;
  visibility: hidden;
  z-index: 200;
  border: unset;
  outline: none;
  border-radius: 10px;
  transition: ease-in-out 300ms;
}
.modal--nosize {
  max-width: 100%;
  max-height: 100%;
  min-width: 800px;
  width: auto;
}
.modal--contact {
  max-width: 1000px;
  max-height: 100%;
  min-width: 800px;
  width: 100%;
  min-width: unset;
}
.modal--1200w {
  max-width: 1200px;
  max-height: 100%;
  width: 100%;
}
.modal--align-top {
  transform: translate(-50%, 0);
  top: 0;
}
@media only screen and (max-width:48em) {
  .modal {
    min-width: unset;
    padding: 0;
    width: 100%;
  }
}
.modal::backdrop {
  background-color: #333;
  opacity: 0.6;
  transition: ease-in-out 300ms;
}
.modal[open] {
  visibility: visible;
  opacity: 1;
}
.modal[open] .modal__overlay {
  opacity: 0.6;
  transition: ease-in-out 300ms;
}
.modal .modal__header {
  height: 50px;
  display: flex;
  align-items: center;
  margin-bottom: 1.5em;
}
.modal .modal__header a {
  outline: none !important;
  border: unset !important;
  background: unset !important;
}
.modal .modal__header a:focus {
  box-shadow: none;
}
.modal--logo-center .modal__header a {
  flex-grow: 1;
  display: flex;
  justify-content: center;
}
.modal--logo-center .modal__header a .modal__logo {
  margin-right: 0;
}
.modal .modal__logo {
  margin-right: auto;
  max-height: 50px;
  width: auto;
}
.modal .modal__content a {
  color: #00549e;
}
.modal .modal__close {
  position: absolute;
  margin-left: auto;
  width: 16px;
  height: 50px;
  transition: ease-in-out 300ms;
  top: 20px;
  right: 20px;
}
.modal .modal__close:hover {
  cursor: pointer;
  transition: ease-in-out 300ms;
}
.modal .modal__close::after {
  content: "";
  background-image: url("/build/img/icons/icon-close.svg");
  position: absolute;
  top: 0;
  right: 0;
  height: inherit;
  width: inherit;
  background-repeat: no-repeat;
  background-size: contain;
}
.modal p {
  margin: 0;
}
.modal p .br {
  display: block;
  margin-bottom: 10px;
}

/** ! ==================================================
 * COMPONENTS/Navbar
 * reusable navbar
 * ================================================== */
.nav {
  position: relative;
}
.nav__list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.nav__list li {
  display: inline-block;
  margin: 0 0 0 1em;
}
.nav--swipe {
  overflow: hidden;
}
.nav--swipe .nav__list {
  flex-wrap: nowrap !important;
  flex-direction: row !important;
}
@media only screen and (max-width:30em) {
  .nav--swipe .nav__item {
    padding: 0.5em !important;
  }
}
.nav--swipe::before, .nav--swipe::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  pointer-events: none;
  z-index: 1;
  width: 100px;
}
.nav--swipe ul {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  white-space: nowrap;
  max-width: 100%;
  margin: 0;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
}

.nav__primary,
.nav__secondary {
  position: relative;
  background-color: #fff;
}
@media only screen and (max-width:64em) {
  .nav__primary,
  .nav__secondary {
    position: fixed;
    right: 0%;
    top: 0;
    width: 100%;
    height: 100%;
    padding: 0.5em 0 0 0;
    background-color: #fff;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    z-index: 200;
    transform: translateX(100%);
    transition: transform 300ms ease-in-out;
  }
  .nav__primary:focus-within, .nav__primary:focus,
  .nav__secondary:focus-within,
  .nav__secondary:focus {
    transform: translateX(0%);
  }
  .nav__primary:focus-within + .nav-layer, .nav__primary:focus + .nav-layer,
  .nav__secondary:focus-within + .nav-layer,
  .nav__secondary:focus + .nav-layer {
    visibility: visible;
    opacity: 1;
  }
}
.nav__primary.is-open,
.nav__secondary.is-open {
  transform: translateX(0%);
}
.nav__primary .nav__list,
.nav__secondary .nav__list {
  text-align: right;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media only screen and (max-width:64em) {
  .nav__primary .nav__list,
  .nav__secondary .nav__list {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }
}
@media only screen and (max-width:64em) {
  .nav__primary .nav__list li.nav__item,
  .nav__secondary .nav__list li.nav__item {
    display: flex;
    margin: 0;
    border-bottom: 1px solid #eee;
    padding: 0.75em 1.5em 0.75em 1.5em;
    padding-left: 1.5em !important;
    width: 100%;
    flex-direction: row;
    justify-content: space-between;
    flex-wrap: wrap;
  }
}
.nav__primary .nav__list li.nav__item:first-of-type,
.nav__secondary .nav__list li.nav__item:first-of-type {
  margin-left: 0;
}
@media only screen and (max-width:64em) {
  .nav__primary .nav__list li.nav__item:first-of-type,
  .nav__secondary .nav__list li.nav__item:first-of-type {
    padding-top: 0;
  }
}
.nav__primary .nav__list li.nav__item.is-active .mega-menu,
.nav__secondary .nav__list li.nav__item.is-active .mega-menu {
  display: flex;
}
@media only screen and (max-width:64em) {
  .nav__primary .nav__list li.nav__item.is-active .mega-menu,
  .nav__secondary .nav__list li.nav__item.is-active .mega-menu {
    display: none;
  }
}
.nav__primary .nav__list li.nav__item .link.is-active,
.nav__secondary .nav__list li.nav__item .link.is-active {
  color: #00853f;
}
.nav__primary .nav__list li.nav__item .special-container,
.nav__secondary .nav__list li.nav__item .special-container {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.nav__primary .nav__list li.nav__item .special-container a,
.nav__secondary .nav__list li.nav__item .special-container a {
  display: flex;
  justify-content: flex-start;
  color: #0a5aab;
}
.nav__primary .nav__list li.nav__item .special-container img,
.nav__secondary .nav__list li.nav__item .special-container img {
  height: 25px;
  width: auto;
  margin-right: 1em;
}
.nav__primary .nav__list li.nav__item .special-container .left-border,
.nav__secondary .nav__list li.nav__item .special-container .left-border {
  border-left: 1px solid #eee;
  padding-left: 1.5em !important;
  margin-left: 0.5em;
  color: #0a5aab;
}
.nav__primary .nav__list li.nav__item .special-container .left-border span,
.nav__secondary .nav__list li.nav__item .special-container .left-border span {
  font-size: 0.8em;
  color: #0a5aab;
}
.nav__primary .nav__list li.nav__item .special-container .left-border svg,
.nav__secondary .nav__list li.nav__item .special-container .left-border svg {
  height: 15px;
  width: 30px;
}
.nav__primary .nav__list .nav__link,
.nav__secondary .nav__list .nav__link {
  display: inline-block;
  color: #333;
  font-size: 18px;
  font-size: calc(14px + (18 - 14) * ((100vw - 320px) / (1680 - 320)));
  font-size: clamp(0.875rem, 1.3138686131vw, 1.125rem);
  font-weight: 800;
  font-family: "Nunito", "Times New Roman", serif;
  letter-spacing: 0.025em;
  z-index: 8;
  padding: 1em;
}
@media only screen and (max-width:64em) {
  .nav__primary .nav__list .nav__link,
  .nav__secondary .nav__list .nav__link {
    font-weight: 700;
    text-align: start;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0;
  }
}
@media only screen and (max-width:48em) {
  .nav__primary .nav__list .nav__link,
  .nav__secondary .nav__list .nav__link {
    z-index: unset;
  }
}
.nav__primary .nav__list .nav__link:hover,
.nav__secondary .nav__list .nav__link:hover {
  color: #00853f;
}
.nav__primary .nav__list .nav__link:focus,
.nav__secondary .nav__list .nav__link:focus {
  outline: none;
  box-shadow: 0 0 1px 3px rgba(242, 143, 32, 0.4);
  border-color: #f28f20 !important;
}
.js-focus-visible .nav__primary .nav__list .nav__link:focus:not(.focus-visible),
.js-focus-visible .nav__secondary .nav__list .nav__link:focus:not(.focus-visible) {
  box-shadow: none;
}
.nav__primary .nav__list .nav__link.is-active,
.nav__secondary .nav__list .nav__link.is-active {
  color: #00853f;
}
.nav__primary .nav__link,
.nav__secondary .nav__link {
  padding-right: 0;
}
.nav__primary .nav__link--lead,
.nav__secondary .nav__link--lead {
  flex-grow: 1;
}
@media only screen and (max-width:64em) {
  .nav__primary .nav__link--lead,
  .nav__secondary .nav__link--lead {
    font-size: 17px !important;
  }
}
.nav__primary .mobile__header,
.nav__secondary .mobile__header {
  display: none;
  padding: 1em 0;
}
.nav__primary .mobile__header img,
.nav__secondary .mobile__header img {
  max-width: 80px;
  margin-left: 1em;
}
@media only screen and (max-width:64em) {
  .nav__primary .mobile__header,
  .nav__secondary .mobile__header {
    display: block;
  }
  .nav__primary .mobile__header .colored-squares,
  .nav__secondary .mobile__header .colored-squares {
    position: static;
    display: flex;
    margin-top: 1em;
    height: 6px;
  }
}
.nav__primary .mobile__subnav,
.nav__secondary .mobile__subnav {
  padding-top: 1.5em;
  display: none;
}
@media only screen and (max-width:64em) {
  .nav__primary .mobile__subnav,
  .nav__secondary .mobile__subnav {
    display: block;
  }
  .nav__primary .mobile__subnav .nav__item,
  .nav__secondary .mobile__subnav .nav__item {
    border: none;
    border-top: none !important;
    padding-bottom: 0.75em;
    padding-top: 0;
  }
  .nav__primary .mobile__subnav .nav__item a,
  .nav__secondary .mobile__subnav .nav__item a {
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: 400;
    font-family: "Nunito Sans", "Helvetica", "Arial", sans-serif;
  }
  .nav__primary .mobile__subnav .nav-secondary__list,
  .nav__secondary .mobile__subnav .nav-secondary__list {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }
}
.nav__primary .mobile__subnav .slider-testimonial-container,
.nav__secondary .mobile__subnav .slider-testimonial-container {
  border-top: 1px solid #eee;
  padding-top: 1em;
  padding-bottom: 1em;
  margin-top: 1em;
}
.nav__primary .mobile__subnav .slider-testimonial-container h2.h1.text-italic,
.nav__secondary .mobile__subnav .slider-testimonial-container h2.h1.text-italic {
  font-style: unset;
  color: #333;
  font-size: 0.875rem;
  font-weight: 400;
}
.nav__primary.scroll-bar,
.nav__secondary.scroll-bar {
  display: none;
  z-index: unset;
}
@media only screen and (max-width:64em) {
  .nav__primary.scroll-bar,
  .nav__secondary.scroll-bar {
    display: none;
  }
}
.nav__primary.scroll-bar .nav__item,
.nav__secondary.scroll-bar .nav__item {
  list-style: none;
  font-weight: 800;
  margin-right: 1.5em;
  padding: 0 1.5em 0 1.5em !important;
  border-top: none !important;
  border-bottom: none !important;
}
@media only screen and (max-width:64em) {
  .nav__primary.scroll-bar .nav__item,
  .nav__secondary.scroll-bar .nav__item {
    padding: 0 !important;
  }
}
.nav__primary.scroll-bar .nav__item a,
.nav__secondary.scroll-bar .nav__item a {
  color: #333;
}
.nav__primary.scroll-bar .nav__item:first-of-type .nav__link,
.nav__secondary.scroll-bar .nav__item:first-of-type .nav__link {
  padding-left: 0;
}
.nav__primary.scroll-bar .nav__item:last-of-type .nav__link,
.nav__secondary.scroll-bar .nav__item:last-of-type .nav__link {
  padding-right: 0;
}
.nav__primary.scroll-bar .nav__item .nav__link,
.nav__secondary.scroll-bar .nav__item .nav__link {
  padding: 0.5em 1.5em;
}
@media only screen and (max-width:64em) {
  .nav__primary.scroll-bar .nav__item .nav__link,
  .nav__secondary.scroll-bar .nav__item .nav__link {
    padding: 1.5em;
  }
}
@media only screen and (max-width:30em) {
  .nav__primary.scroll-bar .nav__item .nav__link,
  .nav__secondary.scroll-bar .nav__item .nav__link {
    padding: 1em;
  }
}
.nav__primary.scroll-bar ::-webkit-scrollbar,
.nav__secondary.scroll-bar ::-webkit-scrollbar {
  display: none;
}

.sidebar-footer-button-container {
  display: none;
  position: sticky;
  bottom: 0;
  left: 0;
  width: 100%;
  justify-content: space-between;
  gap: 0.1em;
  margin-top: 1em;
}
@media only screen and (max-width:64em) {
  .sidebar-footer-button-container {
    display: flex;
  }
}
.sidebar-footer-button-container a {
  width: 50%;
}
.sidebar-footer-button-container a .btn {
  display: flex;
  align-items: center;
  gap: 0.5em;
  width: 100%;
}

.nav__primary .nav__item {
  margin: 0;
  display: flex;
  padding: 0;
}
.nav__primary .nav__item .is-visible-in-sidebar {
  display: none;
}
@media only screen and (max-width:64em) {
  .nav__primary .nav__item .is-visible-in-sidebar {
    display: block;
  }
}
.nav__primary .nav__item .is-hidden-in-sidebar {
  display: block;
}
@media only screen and (max-width:64em) {
  .nav__primary .nav__item .is-hidden-in-sidebar {
    display: none;
  }
}
.nav__primary .nav__item:first-of-type .nav__link {
  padding-left: 0;
}
.nav__primary .nav__item:last-of-type .nav__link {
  padding-right: 0;
}
.nav__primary .nav__item .toggle__icon {
  display: none;
  justify-content: flex-end;
  background-color: transparent;
  border: none;
  color: #333;
  align-items: center;
  flex-grow: 1;
}
.nav__primary .nav__item .toggle__icon .icon {
  transform: rotate(0deg);
  transition: ease-in-out 300ms;
}
.nav__primary .nav__item .toggle__icon.is-active .icon {
  transform: rotate(180deg);
  transition: ease-in-out 300ms;
}
.nav__primary .nav__item:hover > .mega-menu {
  visibility: visible;
  opacity: 1;
}
.nav__primary .nav__item:hover .nav__link {
  position: relative;
}
.nav__primary .nav__item:hover .nav__link::after {
  content: "";
  position: absolute;
  opacity: 1;
  top: 40px;
  left: 50%;
  margin-left: -11px;
  border-width: 11px;
  border-style: solid;
  border-color: #00549e transparent transparent;
  background-color: transparent;
  transform: rotate(180deg);
  transition: none !important;
  width: auto;
}
@media only screen and (max-width:64em) {
  .nav__primary .nav__item:hover .nav__link::after {
    display: none;
  }
}
.nav__primary .nav__item:hover .nav__link.is-active {
  color: #00853f;
}
.nav__primary .nav__item:hover .nav__link.is-open {
  opacity: 1;
}
.nav__primary .nav__item:hover .nav__link:nth-last-child(-n+2)::after {
  display: none;
}
.nav__primary .nav__item:nth-last-child(-n+3) .nav__link::after {
  border-color: #004582 transparent transparent;
}

.nav-secondary {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  padding: 1em 0;
}
@media only screen and (max-width:64em) {
  .nav-secondary {
    padding: 0;
  }
}
.nav-secondary__list {
  list-style: none;
  flex-direction: row;
  display: flex;
  align-items: center;
  margin: 0;
}
@media only screen and (max-width:64em) {
  .nav-secondary__list {
    display: none;
    padding-left: 1.5em;
  }
}
.nav-secondary__item {
  margin-left: 0.75em !important;
}
@media only screen and (max-width:64em) {
  .nav-secondary__item {
    margin-left: 0 !important;
  }
}
.nav-secondary__link {
  font-size: 12px;
  font-size: 0.75rem;
  font-weight: 400;
  font-family: "Nunito Sans", "Helvetica", "Arial", sans-serif;
}
.nav-secondary__link.is-active {
  color: #00853f;
}

.nav-footer__item {
  margin: 0 0.25em;
}
.nav-footer__item:last-child::after {
  content: "";
  margin-left: 0;
}
.nav-footer__item::after {
  color: white;
  margin-left: 0.5em;
  content: "·";
}
@media only screen and (max-width:64em) {
  .nav-footer__item::after {
    display: none;
  }
}
.nav-footer__link {
  color: white;
}
.nav-footer__link.is-active::after {
  width: 100%;
}
@media only screen and (max-width:64em) {
  .nav-footer__link.is-active {
    color: #00853f !important;
  }
  .nav-footer__link.is-active::after {
    width: 0;
  }
}
.nav-footer.is-sidebar {
  color: #333;
  display: flex;
  flex-direction: row;
  -moz-column-gap: 1.5em;
       column-gap: 1.5em;
  padding: 0.75em 1.5em;
  margin-top: 1em;
  justify-content: center;
  border-top: 1px solid #eee;
  border-bottom: 1px solid #eee;
}
.nav-footer.is-sidebar .nav-footer__item {
  width: unset;
  padding: 0;
  margin: 0;
}
.nav-footer.is-sidebar .nav-footer__item:first-of-type {
  list-style-type: none;
}
.nav-footer.is-sidebar .nav-footer__item:first-of-type::marker {
  content: none;
}
.nav-footer.is-sidebar .nav-footer__item::marker {
  font-size: 15px;
}
.nav-footer.is-sidebar .nav-footer__link {
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 400;
  font-family: "Nunito Sans", "Helvetica", "Arial", sans-serif;
  color: #333;
}

.nav__pills ul li {
  margin: 0 0.375em 0.75em 0;
}
.nav__pills ul li:last-child {
  margin-right: 0;
}
.nav__pills ul li.is-active a,
.nav__pills ul li.is-active button {
  background-color: #00549e;
  color: white;
}
.nav__pills ul a,
.nav__pills ul button {
  display: block;
  padding: 6px 1.5em;
  background-color: #ebebeb;
  color: #333;
  border-radius: 16px;
  border: none;
}
.nav__pills ul a:hover, .nav__pills ul a:focus,
.nav__pills ul button:hover,
.nav__pills ul button:focus {
  background-color: #00549e;
  color: white;
  opacity: 1;
  text-decoration: none;
}
.nav__pills ul a:focus,
.nav__pills ul button:focus {
  outline: none;
  box-shadow: 0 0 1px 3px rgba(242, 143, 32, 0.4);
  border-color: #f28f20 !important;
}
.js-focus-visible .nav__pills ul a:focus:not(.focus-visible),
.js-focus-visible .nav__pills ul button:focus:not(.focus-visible) {
  box-shadow: none;
}

.nav-layer {
  display: none;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100vh;
  background-color: rgba(51, 51, 51, 0.85);
  opacity: 0;
  visibility: hidden;
  z-index: 40;
  transition: 400ms ease-out;
}
@media only screen and (max-width:64em) {
  .nav-layer {
    display: block;
  }
}
.nav-layer.is-open {
  opacity: 1;
  visibility: visible;
}

.colored-squares {
  width: 100%;
  height: 10px;
  display: flex;
  justify-content: space-between;
}
.colored-squares .colored-square {
  flex-grow: 1;
}
.colored-squares .colored-square--green {
  background-color: #299046;
}
.colored-squares .colored-square--green-light {
  background-color: #7ec95c;
}
.colored-squares .colored-square--red {
  background-color: #ff392b;
}
.colored-squares .colored-square--purple {
  background-color: #7a369c;
}
.colored-squares .colored-square--purple-dark {
  background-color: #a72824;
}
.colored-squares .colored-square--orange {
  background-color: #ff8d34;
}
.colored-squares .colored-square--pink {
  background-color: #ec5f5f;
}
.colored-squares .colored-square--blue {
  background-color: #33bbc4;
}
.colored-squares .colored-square--blue-dark {
  background-color: #0a5aab;
}

@media only screen and (max-width:64em) {
  .colored-squares {
    display: none;
  }
}

.header__navigation .colored-squares-container-mobile {
  position: absolute;
  top: 0;
  right: 0;
  width: 300px;
}
.header__navigation .colored-squares-container-mobile .colored-squares {
  display: none;
}
@media only screen and (max-width:64em) {
  .header__navigation .colored-squares-container-mobile .colored-squares {
    display: flex;
    gap: 5px;
    height: 5px;
  }
}

.header--sticky .colored-squares {
  position: relative;
  top: 1.5em;
  height: 8px;
}
.header--sticky .colored-squares .colored-square {
  flex-grow: 0;
  flex-basis: 145px;
  max-width: 145px;
}
.header--sticky .colored-squares .colored-square:first-child, .header--sticky .colored-squares .colored-square:last-child {
  flex-grow: 1;
  max-width: unset;
}
.header--sticky .header__navigation .colored-squares-container-mobile {
  top: -24px;
}

/** ! ==================================================
 * COMPONENTS/Preloader
 * reusable preloader
 * ================================================== */
body.loaded .preloader--fade-out {
  opacity: 0;
  visibility: hidden;
}
body.loaded .preloader--slide-up {
  transform: translateY(-100%);
}
body.loaded .preloader--slide-down {
  transform: translateY(100%);
}
body.loaded .preloader--slide-left {
  transform: translateX(-100%);
}
body.loaded .preloader--slide-right {
  transform: translateX(100%);
}
body.loaded .preloader--scale-out {
  transform: scale(1.25);
  opacity: 0;
  visibility: hidden;
}

.preloader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: white;
  z-index: 100;
  transition: 400ms ease-out;
}

.preloader__title {
  display: block;
  position: absolute;
  left: 50%;
  top: 50%;
  width: 100%;
  transform: translate(-50%, -50%);
  color: #fff;
  font-family: "Nunito Sans", "Helvetica", "Arial", sans-serif;
  font-size: 12px;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  text-align: center;
}

/** ! ==================================================
 * COMPONENTS/Sidebar
 * reusable sidebar module
 * ================================================== */
.sidebar {
  padding: 0 0 1.5em 4em;
  flex: 1;
  top: 0;
  height: -moz-fit-content;
  height: fit-content;
  max-width: 474px;
}
@media only screen and (max-width:64em) {
  .sidebar {
    display: none;
  }
}
.sidebar__headline {
  margin-bottom: 1em;
  color: #00549e;
}
.sidebar__main {
  max-height: unset !important;
}
.sidebar__main.is-open .is-last-uncollapsed-visible .sidebar__link {
  border-bottom-right-radius: unset !important;
  border-bottom-left-radius: unset !important;
}
.sidebar__list {
  max-height: unset !important;
  padding: 0 !important;
  background-color: rgba(0, 84, 158, 0.2);
  border-radius: 10px;
}
@media only screen and (max-width:64em) {
  .sidebar__list {
    max-height: clamp(300px, 50vh, 550px) !important;
  }
}
@media only screen and (max-width:48em) {
  .sidebar__list {
    padding: 0.5em 0 !important;
  }
}
.sidebar__item {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  list-style: none;
  padding: 0;
  margin-bottom: 0;
  border-top: none;
  line-height: 1.4;
}
.sidebar__item .sidebar__separator {
  border: 1px solid #f0f7fa;
  width: 90%;
  margin-top: 0;
}
@media only screen and (max-width:64em) {
  .sidebar__item {
    visibility: hidden;
    opacity: 0;
    position: absolute;
    padding: 0;
  }
  .sidebar__item:first-of-type {
    position: relative;
    visibility: visible;
    opacity: 1;
    height: auto;
    padding: 0.75em 1.5em;
  }
}
@media only screen and (max-width:64em) and (max-width:48em) {
  .sidebar__item:first-of-type {
    padding: 0.5em 1em;
  }
}
.sidebar__item:first-of-type {
  border-top: none;
}
.sidebar__item:first-of-type .sidebar__link {
  border-top-right-radius: 10px;
  border-top-left-radius: 10px;
}
.sidebar__item:last-of-type .sidebar__link, .sidebar__item.is-last-uncollapsed-visible .sidebar__link {
  border-bottom-right-radius: 10px;
  border-bottom-left-radius: 10px;
}
.sidebar__item.is-hidden {
  visibility: hidden;
  opacity: 0;
  padding: 0;
  position: absolute;
  display: none;
}
.sidebar__item.is-visible {
  visibility: visible;
  opacity: 1;
  position: inherit;
}
.sidebar__placeholder {
  display: none !important;
}
@media only screen and (max-width:64em) {
  .sidebar__placeholder {
    display: flex !important;
    padding: 0.75em 1.5em;
  }
}
@media only screen and (max-width:48em) {
  .sidebar__placeholder {
    padding: 0.75em 1em;
  }
}
.sidebar__link {
  color: #333;
  padding: 0.75em 1.5em;
  width: 100%;
}
@media only screen and (max-width:48em) {
  .sidebar__link {
    padding: 0.75em 1em;
  }
}
.sidebar__link::after {
  display: none;
  background-color: #333;
}
.sidebar__link.is-active {
  font-weight: 700;
}
.sidebar__link:hover {
  transition: ease-in-out 300ms;
  background-color: rgba(0, 84, 158, 0.2);
}
.sidebar__button {
  position: relative;
  display: flex;
  justify-content: center;
  width: 100%;
  margin: 1.5em 0;
  align-items: center;
  color: #00853f;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 700;
}
@media only screen and (max-width:64em) {
  .sidebar__button {
    display: none;
  }
}
.sidebar__button::after {
  content: "";
  background-image: url("/build/img/icons/icon-plus.svg");
  background-repeat: no-repeat;
  height: 10px;
  width: 10px;
  margin-left: 0.4em;
  background-size: contain;
  display: inline-block;
}
.sidebar__button.show-less::after {
  background-image: url("/build/img/icons/icon-minus.svg");
}
.sidebar__icon {
  display: none !important;
  justify-content: flex-end;
  flex: 1;
  height: 100%;
  transition: ease-in-out 100ms;
  color: #858585;
}
.sidebar__icon .icon {
  transform: rotate(0deg);
  transition: ease-in-out 100ms;
}
@media only screen and (max-width:64em) {
  .sidebar__icon {
    display: flex !important;
  }
}

@media only screen and (max-width:30em) {
  .container--with-sidebar .fake-select__link {
    max-width: calc(100vw - 10px);
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    display: block;
  }
}

/** ! ==================================================
 * COMPONENTS/Slider Testimonal
 * ================================================== */
.slider-testimonal {
  position: relative;
  margin: 0 auto;
  max-width: 800px;
}
.slider-testimonal[data-slides="1"] .flickity-prev-next-button,
.slider-testimonal[data-slides="1"] .flickity-page-dots {
  display: none;
}
.slider-testimonal__items {
  margin: 2em 0;
  margin-bottom: calc(2em + 20px);
}
@media only screen and (max-width:48em) {
  .slider-testimonal__items {
    margin: 1.5em 0 4em 0;
  }
}
.slider-testimonal__items::after, .slider-testimonal__items::before {
  width: 30px;
}
.slider-testimonal__item {
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  width: 40%;
}
@media only screen and (max-width:48em) {
  .slider-testimonal__item {
    width: 100%;
  }
}
.slider-testimonal__item.is-selected img {
  width: 170px;
  height: 170px;
  margin-top: 0;
  transition: 300ms ease-in-out;
}
.slider-testimonal__item.is-selected .slider-testimonal__content,
.slider-testimonal__item.is-selected .rating {
  opacity: 1;
}
.slider-testimonal__item img {
  border-radius: 50%;
  width: 80px;
  height: 80px;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top center;
     object-position: top center;
  box-shadow: 0 1px 20px 0 rgba(0, 0, 0, 0.15);
  margin: 0.5em 0;
  margin-top: 2em;
}
.slider-testimonal__img-rectangle .slider-testimonal__item {
  width: 34%;
}
.slider-testimonal__img-rectangle img {
  border-radius: 0px;
  max-width: 180px;
  max-height: 180px;
  width: auto;
  height: auto;
}
.slider-testimonal__img-rectangle .is-selected img {
  width: auto;
  height: auto;
  max-width: 280px;
  max-height: 280px;
  margin-top: 1em;
}
.slider-testimonal__content {
  text-align: center;
  padding: 0 1em;
  transition: 300ms ease-in-out;
  opacity: 0;
  width: 150%;
}
@media only screen and (max-width:48em) {
  .slider-testimonal__content {
    max-width: 400px;
  }
}
@media only screen and (max-width:30em) {
  .slider-testimonal__content {
    max-width: 300px;
  }
}
.slider-testimonal__image {
  display: flex;
  justify-content: center;
  width: 170px;
  height: 170px;
  transition: 300ms ease-in-out;
  margin: 1em 0 0.25em;
}
.slider-testimonal__headline {
  margin-bottom: 0;
  font-weight: 800;
  font-family: "Nunito Sans", "Helvetica", "Arial", sans-serif;
}
.slider-testimonal__subline {
  font-weight: 100;
}
.slider-testimonal__btn {
  display: none;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 56px;
  height: 56px;
  border-radius: 50%;
  border: 0;
  z-index: 5;
  transition: 300ms ease-in-out;
}
.slider-testimonal__btn--prev {
  left: 1.5em;
}
.slider-testimonal__btn--next {
  right: 1.5em;
}
.slider-testimonal .flickity-page-dots .dot {
  background: var(--background, #00549e);
}

.static-testimonal__items {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  text-align: center;
}
.static-testimonal__items .static-testimonal__item {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  width: 33.33%;
}
.static-testimonal__items .static-testimonal__item img {
  max-width: min(280px, 100%);
  max-height: 280px;
}
@media only screen and (max-width:48em) {
  .static-testimonal__items .static-testimonal__item img {
    max-width: 100%;
  }
}

/** ! ==================================================
 * COMPONENTS/Slider Hero
 * ================================================== */
.slider-hero {
  position: relative;
  margin: 0 auto;
  /* CLS Optimization */
  height: 576px;
  overflow: hidden;
}
@media only screen and (max-width:64em) {
  .slider-hero {
    height: 594px;
  }
}
@media only screen and (max-width:48em) {
  .slider-hero {
    height: 500px;
  }
}
@media only screen and (max-width:30em) {
  .slider-hero {
    height: 410px;
  }
}
@media only screen and (max-width:48em) {
  .slider-hero {
    margin: 0 -1.5em;
  }
}
.slider-hero__wrapper {
  width: 100%;
  border-radius: 10px;
}
@media only screen and (max-width:48em) {
  .slider-hero__wrapper {
    border-radius: 0;
  }
}
.slider-hero__items .flickity-viewport {
  touch-action: auto !important;
  padding-top: 1em;
  border-radius: 10px;
}
@media only screen and (max-width:64em) {
  .slider-hero__items .flickity-viewport {
    padding-top: 0;
    margin-top: 0;
  }
}
@media only screen and (max-width:48em) {
  .slider-hero__items .flickity-viewport {
    padding-top: unset;
    border-radius: 0;
  }
}
.slider-hero__item {
  display: flex;
  align-items: center;
  width: 100%;
  height: 500px;
  padding: 0 3em;
}
@media only screen and (max-width:48em) {
  .slider-hero__item {
    overflow: hidden;
    padding: 0 1.5em;
  }
}
@media only screen and (max-width:30em) {
  .slider-hero__item {
    height: 410px;
    align-items: unset;
    padding: 3em 1.5em;
    border-radius: 0;
  }
}
.slider-hero__item.is-selected img {
  margin-top: 0;
}
.slider-hero__content {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding-bottom: 1em;
  padding-right: 3em;
  z-index: 1;
}
@media only screen and (max-width:48em) {
  .slider-hero__content {
    padding-right: 1.5em;
  }
}
.slider-hero__image {
  height: 100%;
  flex: 0.7;
  padding-bottom: 1em;
}
@media only screen and (max-width:48em) {
  .slider-hero__image {
    flex: 0.3;
  }
}
@media only screen and (max-width:30em) {
  .slider-hero__image {
    flex: 0;
  }
}
.slider-hero__image img {
  position: absolute;
  right: 0;
  bottom: 0;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0;
  margin-bottom: 1em;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: top center;
     object-position: top center;
  height: 100%;
}
@media only screen and (max-width:64em) {
  .slider-hero__image img {
    height: 80%;
  }
}
@media only screen and (max-width:48em) {
  .slider-hero__image img {
    right: -5%;
    height: 60%;
    margin-bottom: 0;
  }
}
@media only screen and (max-width:30em) {
  .slider-hero__image img {
    height: unset;
    width: 60%;
    right: -10%;
  }
}
.slider-hero__image--no-overflow {
  height: unset;
}
.slider-hero__image--no-overflow img {
  position: unset;
  margin-bottom: 0;
  max-height: 300px;
}
@media only screen and (max-width:48em) {
  .slider-hero__image--no-overflow img {
    height: unset;
    max-width: 200px;
    position: absolute;
    right: 1em;
    bottom: 1em;
  }
}
@media only screen and (max-width:30em) {
  .slider-hero__image--no-overflow img {
    max-width: 150px;
  }
}
.slider-hero__headline {
  margin-bottom: 0.25em;
  font-size: 54px;
  font-size: calc(22px + (54 - 22) * ((100vw - 320px) / (1680 - 320)));
  font-size: clamp(1.375rem, 3.9416058394vw, 3.375rem);
}
@media only screen and (max-width:48em) {
  .slider-hero__headline {
    margin-bottom: 0.75em;
  }
}
.slider-hero__headline--small {
  margin-bottom: 0;
}
.slider-hero__subline {
  font-weight: 400;
  margin-bottom: 2.5em;
  max-width: 75%;
  font-size: 16px;
  font-size: calc(14px + (16 - 14) * ((100vw - 320px) / (1680 - 320)));
  font-size: clamp(0.875rem, 1.1678832117vw, 1rem);
}
@media only screen and (max-width:48em) {
  .slider-hero__subline {
    max-width: 60%;
    margin-bottom: 1.5em;
  }
}
@media only screen and (max-width:48em) {
  .slider-hero__subline--full {
    max-width: unset;
  }
}
.slider-hero__button {
  align-self: flex-start;
}
.slider-hero__tabs {
  display: flex;
  flex-direction: row;
}
@media only screen and (max-width:48em) {
  .slider-hero__tabs {
    display: none;
  }
}
.slider-hero__tab {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding-top: 1.5em;
  flex: 1;
  cursor: pointer;
}
.slider-hero__tab * {
  pointer-events: none;
}
.slider-hero__tab::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background-color: #f18f20;
  height: 5px;
  width: 0%;
  transition: width 300ms ease-in-out;
}
.slider-hero__tab.is-selected::before {
  width: 100%;
  transition: width 300ms ease-in-out;
}
.slider-hero__progress {
  position: absolute;
  display: flex;
  justify-content: center;
  top: calc(3% + 1em);
  right: 2%;
  height: 30px;
  width: 30px;
}
@media only screen and (max-width:48em) {
  .slider-hero__progress {
    top: unset;
    bottom: 12%;
    right: unset;
    left: 1.5em;
  }
}
.slider-hero__ring {
  position: absolute;
  color: #f18f20;
  z-index: 2;
}
.slider-hero__ring circle {
  transform: rotate(-90deg);
  transform-origin: 50% 50%;
}
@media only screen and (max-width:48em) {
  .slider-hero__ring circle {
    transform: rotate(-90deg) scale(0.75);
  }
}
.slider-hero__ring--lighten {
  color: #f5b163;
  z-index: 1;
}
.slider-hero__counter {
  display: flex;
  position: absolute;
  top: calc(3% + 1em + 10px);
  margin-top: 0.5em;
}
@media only screen and (max-width:48em) {
  .slider-hero__counter {
    display: none;
  }
}
.slider-hero__counter * {
  color: #f18f20;
  padding-right: 0.2em;
}
.slider-hero__counter *:last-of-type {
  padding-right: 0;
}
.slider-hero .flickity-page-dots {
  display: none;
}
@media only screen and (max-width:48em) {
  .slider-hero .flickity-page-dots {
    display: block;
    position: absolute;
    bottom: 6%;
    left: 1.5em;
    width: -moz-fit-content;
    width: fit-content;
  }
}
.slider-hero .flickity-page-dots .dot {
  width: 8px;
  height: 8px;
  background: #f18f20;
}

/** ! ==================================================
 * COMPONENTS/Slider Cards
 * ================================================== */
.slider-cards {
  position: relative;
  margin: 0 auto;
  overflow: visible;
}
.slider-cards[data-slides="1"] .flickity-prev-next-button,
.slider-cards[data-slides="1"] .flickity-page-dots {
  display: none;
}
.slider-cards__items {
  width: 100%;
  margin: 1.5em auto;
}
@media only screen and (max-width:64em) {
  .slider-cards__items {
    padding: 0 25vw;
  }
}
.slider-cards__items--4-column-grid, .slider-cards__items {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  row-gap: 1.5em;
  -moz-column-gap: 1em;
       column-gap: 1em;
  padding: 0;
}
@media only screen and (max-width:64em) {
  .slider-cards__items--4-column-grid, .slider-cards__items {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media only screen and (max-width:48em) {
  .slider-cards__items--4-column-grid, .slider-cards__items {
    grid-template-columns: repeat(2, 1fr);
    row-gap: 3em;
  }
}
@media only screen and (max-width:30em) {
  .slider-cards__items--4-column-grid, .slider-cards__items {
    grid-template-columns: repeat(1, 1fr);
  }
}
.slider-cards__items--4-column-grid .slider-cards__item, .slider-cards__items .slider-cards__item {
  margin: 0 auto !important;
  width: 100%;
}
.slider-cards .flickity-viewport {
  position: relative;
  width: 100%;
  overflow: visible;
  touch-action: auto !important;
}
.slider-cards__item {
  position: relative;
  height: 415px;
  background-color: #fff;
  border-radius: 10px;
  width: calc(25% - 0.75em);
  margin-left: 1em;
  box-shadow: 2px 5px 20px 1px rgba(0, 0, 0, 0.1);
  transition: 300ms ease-in-out;
}
@media only screen and (max-width:64em) {
  .slider-cards__item {
    width: calc(300px - 1em);
  }
}
.slider-cards__item--small {
  height: 360px;
}
.slider-cards__item--medium {
  height: 380px;
}
.slider-cards__item:first-of-type {
  margin-left: 0;
}
.slider-cards__item.is-selected img {
  margin-top: 0;
}
.slider-cards__item.is-hidden {
  opacity: 0.2;
  transition: 300ms ease-in-out;
}
.slider-cards__content {
  display: flex;
  flex-direction: column;
  padding: 2.25em 1.25em 1.5em;
  height: 55%;
}
.slider-cards__content--small {
  height: 50%;
}
.slider-cards__content--medium {
  height: 55%;
}
.slider-cards__image {
  position: relative;
  height: 45%;
  background-color: #acacac;
  border-radius: 10px 10px 0 0;
  overflow: hidden;
}
.slider-cards__image--large {
  height: 50%;
}
.slider-cards__image img {
  position: absolute;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 10px 10px 0 0;
  transform: scale(1);
  transition: transform ease-in-out 300ms;
}
.slider-cards__headline {
  margin-bottom: 1em;
}
.slider-cards__text {
  font-weight: 400;
  margin-bottom: 0em;
  font-size: 14px;
  font-size: 0.875rem;
}
@media only screen and (max-width:48em) {
  .slider-cards__text {
    margin-bottom: 1.5em;
  }
}
.slider-cards__label {
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 400;
  margin-bottom: 0.5em;
}
.slider-cards__btn {
  position: absolute;
  bottom: 40%;
  padding: 1.5em;
  border-radius: 50%;
  background-color: white;
  z-index: 1;
  border: 1px solid #ebebeb;
  color: #00549e;
  box-shadow: 2px 22px 50px 1px rgba(0, 0, 0, 0.1);
  transition: ease-in-out 300ms;
}
.slider-cards__btn:disabled {
  cursor: not-allowed;
  opacity: 0.4;
  transition: ease-in-out 300ms;
}
.slider-cards__btn--next {
  right: 0;
}
.slider-cards__btn--prev {
  left: 0;
}
.slider-cards__btn .icon {
  width: 15px;
  height: 15px;
}
@media only screen and (max-width:64em) {
  .slider-cards__btn {
    display: none !important;
  }
}
.slider-cards .flickity-prev-next-button {
  display: block;
}
.slider-cards .flickity-page-dots {
  display: none;
  position: unset;
  margin: 0 auto;
  padding-top: 3em;
}
@media only screen and (max-width:64em) {
  .slider-cards .flickity-page-dots {
    display: block;
  }
}
@media only screen and (max-width:30em) {
  .slider-cards .flickity-page-dots {
    display: block;
    position: relative;
    width: calc(300px - 1em);
    left: -4em;
    top: -1em;
    margin-bottom: -2em;
  }
}
@media only screen and (max-width:360px) {
  .slider-cards .flickity-page-dots {
    left: -5em;
  }
}
.slider-cards .flickity-page-dots .dot {
  width: 10px;
  height: 10px;
}
.slider-cards__overlay-link::before {
  z-index: 1;
}
.slider-cards__overlay-link:hover ~ .slider-cards__image img {
  transform: scale(1.1);
  transition: transform ease-in-out 300ms;
}
.slider-cards__overlay-link:hover ~ .slider-cards__content .slider-cards__action {
  background-size: 100% 2px, 100% 2px;
}

/** ! ==================================================
 * COMPONENTS/Carousel
 * ================================================== */
.carousel {
  position: relative;
  margin-bottom: 1.5em;
}
.carousel .flickity-button {
  display: none;
}
.carousel-cell {
  height: 480px;
  width: 100%;
  margin-right: 10px;
  background: transparent;
  counter-increment: carousel-cell;
}
@media only screen and (max-width:64em) {
  .carousel-cell {
    height: 440px;
  }
}
@media only screen and (max-width:48em) {
  .carousel-cell {
    height: 400px;
  }
}
@media only screen and (max-width:30em) {
  .carousel-cell {
    height: 320px;
  }
}
.carousel-cell img {
  position: absolute;
  top: 0;
  -o-object-fit: contain;
     object-fit: contain;
  height: 85%;
  max-height: 400px;
  left: 50%;
  transform: translateX(-50%);
}
@media only screen and (max-width:64em) {
  .carousel-cell img {
    height: 80%;
  }
}
.carousel-cell .carousel-figcaption {
  position: absolute;
  bottom: 4%;
  height: 40px;
  overflow-y: scroll;
}
.carousel-cell .carousel-figcaption figcaption {
  padding: 0;
  padding-left: 0.5em;
}
.carousel-cell .carousel-figcaption figcaption::before {
  height: 100%;
}
.carousel-cell::before {
  display: block;
  text-align: center;
  content: counter(carousel-cell);
  line-height: 200px;
  font-size: 80px;
  color: white;
}
.carousel-nav .carousel-cell {
  height: 140px;
  width: calc(25% - 5px);
}
.carousel-nav .carousel-cell:hover {
  cursor: pointer;
}
.carousel-nav .carousel-cell::before {
  content: "";
  position: absolute;
  background-color: #eee;
  bottom: 0;
  height: 1px;
  width: 110%;
  z-index: 11111;
}
.carousel-nav .carousel-cell.is-nav-selected::after {
  content: "";
  position: absolute;
  background-color: #00549e;
  bottom: 0;
  height: 2px;
  width: 100%;
  z-index: 11111;
}
.carousel-nav .carousel-cell.is-nav-selected img {
  border: 2px solid #00549e;
}
.carousel-nav .carousel-cell img {
  height: 100px;
  border: 2px solid transparent;
  -o-object-fit: cover;
     object-fit: cover;
}
.carousel .flickity-page-dots {
  display: none;
}
.carousel--dots-style .flickity-page-dots {
  display: block;
  bottom: 10%;
}
.carousel--dots-style .flickity-page-dots .dot {
  height: 12px;
  width: 12px;
}

@media only screen and (max-width:48em) {
  .gallery-container-static {
    margin-bottom: 1em;
  }
  .gallery-container .row {
    gap: 20px;
  }
}
@media only screen and (max-width:30em) {
  .gallery-container .row {
    flex-direction: column;
  }
}
.gallery-column {
  margin-right: 10px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
}
.gallery-column .carousel-add-text {
  margin-top: 5px;
}
.gallery-column .carousel-add-text p {
  margin-bottom: -5px;
}

/** ! ==================================================
 * COMPONENTS/Tabs
 * reusable tabs module
 * ================================================== */
.tabs {
  position: relative;
}
.tabs .tab__item {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  opacity: 0;
  visibility: hidden;
  transition: 300ms ease-in-out;
}
.tabs .tab__item.is-active {
  opacity: 1;
  visibility: visible;
}
.tabs .tab__item-content {
  position: relative;
  padding: 3em;
  background-color: #ebebeb;
}
@media only screen and (max-width:30em) {
  .tabs .tab__item-content {
    padding: 1em;
  }
}

/** ! ==================================================
 * MODULES/Tooltip
 * reusable tooltip module
 * ================================================== */
[data-tooltip] {
  position: relative;
}
[data-tooltip]::before {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  border-width: 4px 6px 0;
  border-style: solid;
  border-color: #333 transparent transparent transparent;
  z-index: 10;
  opacity: 0;
  transition: 250ms ease;
}
[data-tooltip]::after {
  content: attr(data-tooltip);
  display: block;
  position: absolute;
  width: 160px;
  background-color: #333;
  color: white;
  padding: 4px 8px;
  pointer-events: none;
  font-size: 12px;
  font-size: 0.75rem;
  text-align: center;
  text-transform: none;
  opacity: 0;
  transition: 250ms ease;
  z-index: 10;
}
[data-tooltip]:hover::after, [data-tooltip]:hover::before {
  opacity: 1;
}

[data-tooltip-pos=bottom]::before {
  bottom: -8px;
  margin-bottom: -2px;
  transform: translateX(-50%) rotate(-180deg);
}
[data-tooltip-pos=bottom]::after {
  left: 50%;
  bottom: -8px;
  margin-bottom: -2px;
  transform: translate(-50%, 100%);
}
[data-tooltip-pos=bottom]:hover::after, [data-tooltip-pos=bottom]:hover::before {
  margin-bottom: 0;
}

[data-tooltip-pos=top]::before {
  top: -8px;
  margin-top: -2px;
}
[data-tooltip-pos=top]::after {
  left: 50%;
  top: -8px;
  margin-top: -2px;
  transform: translate(-50%, -100%);
}
[data-tooltip-pos=top]:hover::after, [data-tooltip-pos=top]:hover::before {
  margin-top: 0;
}

[data-tooltip-pos=left]::before {
  left: -12px;
  top: 50%;
  margin-left: -2px;
  transform: translateY(-50%) rotate(-90deg);
}
[data-tooltip-pos=left]::after {
  left: -8px;
  top: 50%;
  margin-left: -2px;
  transform: translate(-100%, -50%);
}
[data-tooltip-pos=left]:hover::after, [data-tooltip-pos=left]:hover::before {
  margin-left: 0;
}

[data-tooltip-pos=right]::before {
  left: 100%;
  top: 50%;
  margin-left: 2px;
  transform: translateY(-50%) rotate(90deg);
}
[data-tooltip-pos=right]::after {
  right: -8px;
  top: 50%;
  margin-right: -2px;
  transform: translate(100%, -50%);
}
[data-tooltip-pos=right]:hover::after, [data-tooltip-pos=right]:hover::before {
  margin-left: 0;
  margin-right: 0;
}

/** ! ==================================================
 * COMPONENTS/Video
 * reusable video module
 * ================================================== */
.video-bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.video-bg__wrapper {
  position: absolute;
  bottom: 0;
  height: auto;
  min-height: 100%;
  min-width: 100%;
  overflow: hidden;
  right: 0;
  width: auto;
  z-index: -1;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
.video-bg__layer {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 84, 158, 0.7);
  z-index: 10;
}
.video-bg video {
  position: absolute;
  bottom: 0;
  height: auto;
  min-height: 100%;
  min-width: 100%;
  overflow: hidden;
  right: 0;
  width: auto;
}

.video {
  position: relative;
  aspect-ratio: 16/9;
  width: 800px; /* Explicit width */
  height: 450px; /* Explicit height */
  background-color: unset;
  overflow: hidden;
  border-radius: 5px;
}
.video--interactive {
  aspect-ratio: 16/9.78;
  height: 486px;
  width: 800px;
}
@media only screen and (max-width:48em) {
  .video--interactive {
    width: 100%;
    height: auto;
  }
}
.video--file {
  position: unset !important;
}
.video img {
  position: absolute;
  width: 100%;
  top: 0;
  left: 0;
}
.video .video__play {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 54px;
  height: 54px;
  background-color: #333;
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.5);
  border-radius: 50%;
  border: 0;
  cursor: pointer;
  transform: translate(-50%, -50%);
  color: white;
  z-index: 2;
  font-size: 26px;
  transition: ease-in-out 300ms;
}
.video .video__play:hover {
  transition: ease-in-out 300ms;
  transform: translate(-50%, -50%) scale(1.05);
}
.video iframe,
.video video {
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
}
.video iframe {
  border: 0;
}
.video iframe[src] + button {
  display: none;
}
.video .nocookie {
  bottom: 0;
  padding: 1.5em;
  padding-bottom: 0.5em;
  height: 100%;
}
.video .nocookie__text {
  position: absolute;
  bottom: 0;
  left: 0;
  margin: 0 1em 1em;
  color: #333;
  background-color: #fff;
  padding: 1em;
  border-radius: 5px;
}
@media only screen and (max-width:48em) {
  .video .nocookie__text {
    visibility: hidden;
  }
}

.nocookie__privacy {
  padding: 2em 2em 1em;
  background-color: #fcead2;
  border-radius: 10px;
}
@media only screen and (max-width:48em) {
  .nocookie__privacy {
    display: block;
  }
  .nocookie__privacy p,
  .nocookie__privacy button {
    font-size: 0.875em;
  }
}
.nocookie__privacy--preview {
  position: relative;
  opacity: 1;
  padding: 0;
}
@media only screen and (max-width:48em) {
  .nocookie__privacy--preview {
    padding: 2em 2em 1em;
  }
  .nocookie__privacy--preview img {
    display: none;
  }
}
.nocookie__privacy--preview > div {
  position: absolute;
  bottom: 0;
  background-color: #fcead2;
  margin: 2em 2em 1em;
  padding: 2em 2em 1em;
  border-radius: 10px;
}
@media only screen and (max-width:48em) {
  .nocookie__privacy--preview > div {
    position: static;
    margin: 0;
    padding: 0;
    background-color: transparent;
  }
}

@media only screen and (max-width:48em) {
  .video {
    width: 100%;
    height: auto;
  }
  .video--interactive {
    aspect-ratio: 16/10;
  }
}
@media only screen and (max-width: 830px) {
  .video {
    width: 99%;
  }
  .video--interactive {
    aspect-ratio: 16/10;
  }
}
@media only screen and (max-width: 700px) {
  .video {
    width: 100%;
  }
  .video--interactive {
    aspect-ratio: 16/10;
  }
  .block-type-video {
    width: 100%;
  }
}
@media only screen and (max-width: 600px) {
  .video--interactive {
    aspect-ratio: 16/10.1;
  }
}
@media only screen and (max-width: 550px) {
  .video--interactive {
    aspect-ratio: 16/10.2;
  }
}
@media only screen and (max-width: 525px) {
  .video--interactive {
    aspect-ratio: 16/10.25;
  }
}
@media only screen and (max-width: 525px) {
  .video--interactive {
    aspect-ratio: 16/10.25;
  }
}
@media only screen and (max-width: 475px) {
  .video--interactive {
    aspect-ratio: 16/10.4;
  }
}
@media only screen and (max-width: 450px) {
  .video--interactive {
    aspect-ratio: 16/10.4;
  }
}
@media only screen and (max-width: 430px) {
  .video--interactive {
    aspect-ratio: 16/10.5;
  }
}
@media only screen and (max-width: 415px) {
  .video--interactive {
    aspect-ratio: 16/10.6;
  }
}
@media only screen and (max-width: 375px) {
  .video--interactive {
    aspect-ratio: 16/10.9;
  }
}
@media only screen and (max-width: 350px) {
  .video--interactive {
    aspect-ratio: 16/10.9;
  }
}
@media only screen and (max-width: 330px) {
  .video--interactive {
    aspect-ratio: 16/11;
  }
}
@media only screen and (max-width: 300px) {
  .video--interactive {
    aspect-ratio: 16/11.3;
  }
}
/** ! ==================================================
 * COMPONENTS/Mega Menu
 * ================================================== */
.mega-menu {
  position: absolute;
  top: 2em;
  display: flex;
  justify-content: center;
  visibility: hidden;
  opacity: 0;
  z-index: 101;
  flex-direction: row;
  color: #fff;
  width: 110%;
  left: 50%;
  transform: translateX(-50%);
  max-width: 1680px;
  margin-top: 1.75em;
}
@media only screen and (max-width:80em) {
  .mega-menu {
    width: 100%;
  }
}
@media only screen and (max-width:64em) {
  .mega-menu {
    position: unset;
    visibility: visible;
    opacity: 1;
    flex-direction: column;
    transform: unset;
    padding-top: 0.5em;
    display: none;
    transition: none;
  }
}
.mega-menu:hover, .mega-menu.is-active {
  visibility: visible;
  opacity: 1;
}
.mega-menu__row {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 32%;
  padding: 3em;
  background-color: #00549e;
  text-align: start;
}
.mega-menu__row:first-of-type {
  border-top-left-radius: 5px;
  border-bottom-left-radius: 5px;
}
.mega-menu__row--last {
  border-top-right-radius: 5px;
  border-bottom-right-radius: 5px;
}
.mega-menu__row--special {
  background-color: #004582;
  width: 38%;
  padding-left: 3em;
}
.mega-menu__row--special .headline {
  font-weight: 700 !important;
  font-family: "Nunito", "Times New Roman", serif;
  font-size: 18px !important;
  margin-bottom: 0.75em !important;
}
@media only screen and (max-width:64em) {
  .mega-menu__row {
    display: none;
  }
}
@media only screen and (max-width:64em) {
  .mega-menu__content {
    display: none;
  }
}
.mega-menu .headline {
  color: #fff;
  font-weight: 400;
  margin-bottom: 1em;
  font-family: "Nunito", "Times New Roman", serif;
}
.mega-menu .button {
  display: flex;
  padding: 0.75em 1.5em;
  background-color: transparent;
  border: 1.5px solid #fff;
}
.mega-menu .button:hover {
  background-color: #fff;
  color: #00549e !important;
  transition: ease-in-out 300ms;
}
@media only screen and (max-width:64em) {
  .mega-menu .button {
    padding: 0.75em 1.5em 0.75em 0.75em;
  }
}
.mega-menu .button a {
  transition: ease-in-out 300ms;
  font-weight: 800;
  font-size: 13px;
  font-size: 0.8125rem;
  margin-top: 3em;
  max-width: 130px;
  color: #fff !important;
}
@media only screen and (max-width:64em) {
  .mega-menu .button a {
    color: #00549e !important;
    margin: 0;
    font-family: "Nunito", "Times New Roman", serif;
    font-size: 14px;
    font-size: 0.875rem;
    max-width: unset;
    font-weight: 600;
    text-align: start;
  }
}
.mega-menu .text {
  color: #fff;
  font-weight: 300;
  padding-right: 3em;
}
.mega-menu__list {
  padding: 0;
  text-align: start;
  display: flex;
  flex-direction: column;
}
.mega-menu__list li {
  list-style: none;
  margin-bottom: 0.25em !important;
  margin-left: 0 !important;
  padding-left: 0;
}
.mega-menu__link {
  font-weight: 700;
  font-size: 16px;
  font-size: calc(14px + (16 - 14) * ((100vw - 320px) / (1680 - 320)));
  font-size: clamp(0.875rem, 1.1678832117vw, 1rem);
  font-family: "Nunito", "Times New Roman", serif;
  color: #fff;
}
.mega-menu__link.is-active::after {
  width: 100%;
}
@media only screen and (max-width:64em) {
  .mega-menu__link.is-active {
    color: #00853f !important;
  }
  .mega-menu__link.is-active::after {
    width: 0%;
  }
}
.mega-menu__link:hover {
  color: #fff;
  transition: ease-in-out 300ms;
}
.mega-menu__mobile {
  display: none;
}
@media only screen and (max-width:64em) {
  .mega-menu__mobile {
    display: flex;
    flex-direction: column;
    padding: 0.25em 0 0.5em;
  }
  .mega-menu__mobile .mega-menu__list {
    padding: 1em 0.5em 0.25em 1em;
    margin: 0;
  }
  .mega-menu__mobile .mega-menu__list li {
    display: list-item;
  }
  .mega-menu__mobile .mega-menu__list li::marker {
    content: "—";
    font-size: 8px;
    color: #333;
  }
  .mega-menu__mobile .mega-menu__link {
    color: #333;
    padding-left: 0.5em;
    font-weight: 400;
    font-family: "Nunito Sans", "Helvetica", "Arial", sans-serif;
  }
}
.mega-menu__mobile .headline {
  font-weight: 700;
  margin-bottom: 0;
  color: #333;
  text-align: start;
}

/** ! ==================================================
 * COMPONENTS/Notification Bar
 * ================================================== */
.notification {
  position: sticky;
  top: 0;
  z-index: 9;
  width: 100%;
  background-color: #eec340;
  visibility: visible;
  opacity: 1;
  display: flex;
  transition: top ease-in-out 300ms;
}
.notification.is-hidden {
  visibility: hidden;
  opacity: 0;
  display: none;
}
.notification__wrapper {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
.notification__content {
  display: flex;
  flex-direction: row;
  align-items: center;
  margin: 0;
  padding: 1em 0;
  font-weight: 400;
  text-align: center;
  max-width: 900px;
  margin-bottom: 0;
}
@media only screen and (max-width:48em) {
  .notification__content {
    max-width: 75%;
  }
}
.notification__content a {
  color: #333;
  border-bottom: 1.5px solid #333;
  margin-left: 1.25em;
  font-weight: 700;
  transition: ease-in-out 300ms;
  text-wrap: nowrap;
}
@media only screen and (max-width:64em) {
  .notification__content a {
    margin-left: 0;
  }
}
.notification__content a::after {
  display: none;
}
.notification__content a:hover {
  transition: ease-in-out 300ms;
  color: #00853f;
  border-bottom: 1.5px solid #00853f;
}
@media only screen and (max-width:64em) {
  .notification__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
}
.notification__button {
  border: 0;
  background-color: transparent;
  outline: 0;
  position: absolute;
  right: 1em;
  top: 50%;
  display: flex;
  color: #444;
  transform: translate(-50%, -50%) scale(1);
  transition: ease-in-out 300ms;
}
.notification__button:hover {
  transform: translate(-50%, -50%) scale(1.1);
  transition: ease-in-out 300ms;
}
.notification__icon {
  width: 12px;
  height: 12px;
}
.notification.is-visible {
  visibility: visible;
  opacity: 1;
  display: flex;
  transition: top ease-in-out 300ms;
}
@media only screen and (max-width:48em) {
  .notification.is-visible {
    display: none;
  }
}

/** ! ==================================================
 * COMPONENTS/Action Icons
 * ================================================== */
.action-icons {
  display: flex;
  flex-direction: row;
  align-items: center;
  margin-left: 1.5em;
  margin-right: 0;
  color: #333;
}
@media only screen and (max-width:64em) {
  .action-icons {
    margin-left: 0;
    margin-right: 0.5em;
    -moz-column-gap: 0.5em;
         column-gap: 0.5em;
  }
}
@media only screen and (max-width:30em) {
  .action-icons {
    -moz-column-gap: 0.35em;
         column-gap: 0.35em;
  }
}
.action-icons a::after {
  display: none;
}
.action-icons--mobile {
  display: none;
}
@media only screen and (max-width:64em) {
  .action-icons--mobile {
    display: flex;
    margin-right: 0.5em;
  }
}
.action-icons__button {
  display: flex;
  background-color: transparent;
  border: none;
  padding: 0.5em;
  transition: ease-in-out 300ms;
}
.action-icons__button[data-shopware-cart-counter]:not([data-shopware-cart-counter="0"]), .action-icons__button[data-shopware-wishlist-counter]:not([data-shopware-wishlist-counter="0"]) {
  position: relative;
}
.action-icons__button[data-shopware-cart-counter]:not([data-shopware-cart-counter="0"])::after, .action-icons__button[data-shopware-wishlist-counter]:not([data-shopware-wishlist-counter="0"])::after {
  content: attr(data-shopware-cart-counter);
  position: absolute;
  color: #fff;
  background-color: #ce4146;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  border-radius: 50%;
  top: -0.3em;
  right: -0.3em;
  height: 1.3em;
  width: 1.3em;
  font-size: 0.9em;
}
.action-icons__button[data-shopware-wishlist-counter]:not([data-shopware-wishlist-counter="0"])::after {
  content: attr(data-shopware-wishlist-counter);
}
.action-icons__button:hover {
  transition: ease-in-out 300ms;
  color: #00853f;
  border-color: #00853f;
}
.action-icons .icon {
  color: inherit;
  width: 22px;
  height: 22px;
}
@media only screen and (max-width:64em) {
  .action-icons .icon {
    width: 18px;
    height: 18px;
  }
}
.action-icons__profile {
  display: flex;
  align-items: center;
  margin-left: 1em;
  border-left: 1px solid #eaeaea;
  padding: 0.25em 0;
  padding-left: 0.5em;
  width: 173px;
  height: 55px;
}
@media only screen and (max-width:64em) {
  .action-icons__profile {
    margin-left: 0;
    border: none;
    padding-left: 0;
    width: unset;
  }
  .action-icons__profile .form {
    display: none;
  }
}
@media only screen and (max-width:64em) {
  .action-icons__profile--desktop {
    display: none;
  }
}
.action-icons__profile--hide-desktop {
  display: none;
}
@media only screen and (max-width:64em) {
  .action-icons__profile--hide-desktop {
    display: flex;
    margin-right: 0;
  }
}
.action-icons__profile--is-active {
  border: 1.5px solid #333;
  border-radius: 50%;
  padding: 12px 14px;
  margin-left: 1em;
  margin-right: 1.15em;
  width: 50px;
  height: 50px;
}
@media only screen and (max-width:64em) {
  .action-icons__profile--is-active {
    padding: 0.5em 0.5em 0 0.5em;
    color: #00853f;
    border: none;
    margin: 0;
    width: unset;
    height: unset;
  }
}
.action-icons__profile--is-active .action-icons__profile--desktop::after {
  content: "";
  position: absolute;
  display: block;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  right: -20px;
  top: 50%;
  transform: translateY(-50%);
  background-color: #00853f;
}
.action-icons__wrapper {
  position: relative;
}

.icon-home {
  width: 12px;
  height: 12px;
  position: relative;
  top: 1px;
  margin-left: 3px;
}

/** ! ==================================================
 * COMPONENTS/Blocks
 * Class names are autogenerated by kirby
 * ================================================== */
.block:not(.block-type-button, .block-type-select-field, .block-type-image, .block-type-download) a:not(.btn, .img) {
  color: #00549e;
}
.block-type-banner-e-learning, .block-type-banner-app, .block-type-banner-product {
  margin-bottom: 1.5em;
  margin-top: 2em;
}
.block-type-video {
  margin: 2em 0 1.5em;
}
@media only screen and (max-width:48em) {
  .block-type-video {
    margin-top: 1em;
  }
}
.block-type-video figure {
  margin: 0;
  max-width: 800px;
}
@media only screen and (max-width:64em) {
  .block-type-video figure {
    margin: unset;
  }
}
.block-type-heading:not(:first-of-type) h1,
.block-type-heading:not(:first-of-type) h2 {
  margin-top: 2em;
}
.block-type-heading:not(:first-of-type) h3 {
  margin-top: 1.5em;
}
.block-type-heading:not(:first-of-type) h4,
.block-type-heading:not(:first-of-type) h5,
.block-type-heading:not(:first-of-type) h6 {
  margin-top: 1.5em;
}
@media only screen and (max-width:30em) {
  .block-type-heading:not(:first-of-type) h3,
  .block-type-heading:not(:first-of-type) h4,
  .block-type-heading:not(:first-of-type) h5,
  .block-type-heading:not(:first-of-type) h6 {
    margin-top: 1em;
  }
}
.block-type-text div {
  max-width: 800px;
}
.block-type-line {
  margin: 0 0 1em 0 !important;
}
.block-type-table-block {
  overflow-x: auto;
}
.block-type-table-block table {
  max-width: -moz-fit-content;
  max-width: fit-content;
  min-width: 380px;
}
.block-type-image {
  max-width: 800px;
}
.block-type-image figure {
  margin-bottom: 2em;
}
@media only screen and (max-width:48em) {
  .block-type-image figure {
    margin-bottom: 1em;
  }
  .block-type-image figure img {
    margin-bottom: 1em;
  }
}
.block-type-image figure.img--margin-bottom-small {
  margin-bottom: 0.5em;
}
@media only screen and (max-width:48em) {
  .block-type-image figure.img--margin-bottom-small {
    margin-bottom: 0;
  }
  .block-type-image figure.img--margin-bottom-small img {
    margin-bottom: 0.5em;
  }
}
@media only screen and (max-width:48em) {
  .block-type-image {
    margin-bottom: 0;
  }
}
.block-type-image figure {
  display: flex;
  justify-content: flex-end;
  flex-direction: column;
}
.block-type-image a::after {
  display: none;
}
.block-type-banner-product {
  padding-top: 1em;
}
@media only screen and (max-width:48em) {
  .block-type-banner-product {
    padding-top: 0;
  }
}
.block-type-download {
  margin-bottom: 4em;
  width: 100%;
}
@media only screen and (max-width:48em) {
  .block-type-download {
    margin-bottom: 1em;
  }
}
.block-type-download .card__overlay-link::before {
  z-index: 0;
}
@media only screen and (max-width:48em) {
  .block-type-gallery {
    margin-bottom: 0;
  }
}
.block-type-list {
  max-width: 800px;
}
.block-type-list li {
  margin-bottom: 0.5em;
}
.block-type-slider-testimonial .intro,
.block-type-slider-testimonial .intro * {
  margin-bottom: 0;
}
.block-type-column-image {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  padding-bottom: 1em;
}
.block-type-column-image .column-3 {
  width: 27%;
}
.block-type-column-image .column-2 {
  width: 45%;
}
@media only screen and (max-width:48em) {
  .block-type-column-image .column-3,
  .block-type-column-image .column-2 {
    hyphens: auto;
  }
}
@media only screen and (max-width:30em) {
  .block-type-column-image {
    flex-direction: column;
  }
  .block-type-column-image .column-3 {
    width: 100%;
  }
  .block-type-column-image .column-2 {
    width: 100%;
  }
  .block-type-column-image img {
    width: 100%;
    max-width: 200px;
  }
  .block-type-column-image h3:not(.headline--0) {
    margin-top: 1.5em;
  }
}

.tp-article .article__header {
  margin: 0;
}
@media only screen and (max-width:30em) {
  .tp-article .block-type-image {
    margin-bottom: 0;
  }
  .tp-article .block-type-image img {
    margin-bottom: 0;
  }
}
.tp-article .layout:not(:last-of-type) {
  padding-bottom: 1em;
}
@media only screen and (max-width:48em) {
  .tp-article .layout:not(:last-of-type) {
    padding-bottom: 0;
  }
}
.tp-article .layout__colum:not(.block-type-download) p:last-of-type {
  margin-bottom: 0;
}
.tp-article .layout__colum:not(.block-type-download) .block-type-text:not(:last-of-type) {
  margin-bottom: 1em;
}

.tp-default .block-type-heading {
  max-width: 800px;
}

/** ! ==================================================
 * COMPONENTS/Table of contents
 * ================================================== */
.toc {
  margin-bottom: 1.5em;
  margin-top: 2em;
}
.toc__headline {
  margin-bottom: 1.25em;
}
.toc__list {
  font-weight: 700;
  list-style-type: none;
  list-style-position: outside;
  padding-left: 0;
}
.toc__list li {
  padding: 0.25em 0;
  padding-left: 0.5em;
  border-top: 1px solid #eee;
  margin: 0;
  font-family: "Nunito", "Times New Roman", serif;
  font-size: 16px;
  font-size: 1rem;
}
.toc__list li .link {
  color: #00549e;
  background-size: 0 2px, 0 2px !important;
  transition: ease-in-out 300ms;
  padding-left: 25px;
}
.toc__list li .link:hover {
  opacity: 0.7;
  transition: ease-in-out 300ms;
}
.toc__list li .link::after {
  display: none;
}
.toc__list li .link::before {
  content: "•";
  position: absolute;
  color: #00549e;
  left: 10px;
}
.toc__list li::marker {
  content: "";
}
.toc__list li::before {
  /* CU-86c29fakx */
  display: none;
}
.toc__list:last-child {
  border-bottom: 1px solid #eee;
}

/** ! ==================================================
 * COMPONENTS/Table of contents
 * ================================================== */
.block-quote {
  position: relative;
  display: flex;
  margin-bottom: 3em;
  background-color: #9ed5e0;
  border-radius: 10px;
  padding: 2.5em 1.5em;
}
@media only screen and (max-width:80em) {
  .block-quote {
    margin-left: 1.5em;
    margin-right: 1.5em;
  }
}
@media only screen and (max-width:48em) {
  .block-quote {
    margin-left: 0;
    margin-right: 0;
  }
}
.block-quote__headline {
  margin-bottom: 1.5em;
  margin-left: 2.5em;
  font-weight: 700;
}
.block-quote blockquote {
  margin: 0;
}
.block-quote__icon {
  position: absolute;
  width: 48px;
  height: 48px;
  top: 7%;
  left: -2%;
  transform: scale(1.4);
}
@media only screen and (max-width:48em) {
  .block-quote__icon {
    top: 5%;
    transform: scale(1);
  }
}
@media only screen and (max-width:30em) {
  .block-quote__icon {
    left: -5%;
  }
}
.block-quote__text {
  margin-bottom: 0;
}

/** ! ==================================================
 * COMPONENTS/Banner/Teaser
 * ================================================== */
.banner {
  position: relative;
  border-radius: 10px;
  background-color: #00549e;
  color: #fff;
  padding: 2em 1.5em;
  overflow: visible;
  box-shadow: 2px 22px 50px 1px rgba(0, 0, 0, 0.1);
}
.banner--bg-secondary {
  background-color: #00853f;
}
.banner--bg-secondary::after {
  display: none;
}
.banner__content {
  padding-right: 1em;
  z-index: 2;
}
@media only screen and (max-width:30em) {
  .banner__content {
    padding-right: 0;
  }
}
.banner__content * {
  color: inherit;
}
.banner__content--half {
  width: 50%;
}
@media only screen and (max-width:64em) {
  .banner__content--half {
    width: unset;
  }
}
.banner__content ul {
  padding-left: 30px;
}
.banner__content li {
  position: relative;
  list-style: none;
  color: #fff;
  padding-bottom: 0.25em;
}
.banner__content li::before {
  content: "";
  background-image: url("/build/img/icons/icon-check-white.svg");
  background-repeat: no-repeat;
  height: 15px;
  width: 15px;
  margin: 3px 0 0 -1rem;
  background-size: contain;
  display: inline-block;
  vertical-align: middle;
  position: absolute;
  left: -10px;
}
.banner__text * {
  font-weight: 400;
  font-size: 14px;
  font-size: 0.875rem;
}
.banner__text li {
  font-size: 1rem;
}
.banner__headline {
  position: relative;
  z-index: 1;
  color: inherit;
  font-weight: 600;
  font-family: "Nunito Sans", "Helvetica", "Arial", sans-serif;
  margin-bottom: 1.5em;
  font-size: 18px;
  font-size: calc(15px + (18 - 15) * ((100vw - 320px) / (1680 - 320)));
  font-size: clamp(0.9375rem, 1.3138686131vw, 1.125rem);
}
.banner__headline--bold {
  font-weight: 800;
}
.banner__headline--serif {
  margin-bottom: 0.5em;
}
.banner__headline--large {
  font-size: 22px;
  font-size: 1.375rem;
}
.banner__subline {
  color: #858585;
  margin-bottom: 1.5em;
  font-size: 13px;
  font-size: 0.8125rem;
}
.banner__button {
  display: flex;
  align-items: center;
  font-weight: 700;
  margin-top: 1em;
}
.banner__button--primary {
  color: #fff;
}
.banner__button .icon {
  margin-left: 0.5em;
}
.banner__wrapper {
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-self: center;
}
.banner__wrapper--row {
  flex-direction: row !important;
}
@media only screen and (max-width:48em) {
  .banner__wrapper {
    position: unset;
    flex-direction: column;
  }
}
.banner__image {
  display: flex;
  padding-right: 0.5em;
  z-index: 1;
  align-items: flex-end;
}
@media only screen and (max-width:64em) {
  .banner__image {
    position: absolute;
    right: 2%;
    bottom: 5%;
    padding: 0;
  }
}
@media only screen and (max-width:48em) {
  .banner__image {
    right: -3%;
    bottom: 8%;
  }
}
@media only screen and (max-width:30em) {
  .banner__image {
    right: 5%;
    bottom: 3%;
  }
}
.banner__image--small img {
  max-width: 200px !important;
  max-height: 250px !important;
}
.banner__image img {
  position: relative;
  z-index: 1;
  max-width: 270px;
  max-height: 225px;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: right bottom;
     object-position: right bottom;
}
@media only screen and (max-width:64em) {
  .banner__image img {
    max-height: 230px;
  }
}
@media only screen and (max-width:48em) {
  .banner__image img {
    max-width: 250px;
    max-height: 200px;
  }
}
@media only screen and (max-width:30em) {
  .banner__image img {
    max-width: 160px;
    max-height: 150px;
  }
}
.banner__approval {
  z-index: 1;
  position: absolute;
  width: 100px;
  bottom: 10%;
  right: 30%;
  height: -moz-fit-content;
  height: fit-content;
}
@media only screen and (max-width:64em) {
  .banner__approval {
    right: 30%;
  }
}
@media only screen and (max-width:48em) {
  .banner__approval {
    top: 10%;
    right: 5%;
    width: 80px;
  }
}
@media only screen and (max-width:30em) {
  .banner__approval {
    top: unset;
    width: 60px;
    bottom: 2%;
    right: 2%;
  }
}
.banner__circle {
  overflow: hidden;
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 10px;
}
.banner__circle::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  transform: translateY(50%) scale(1);
  top: unset;
  bottom: 5%;
  right: -5%;
  width: 300px;
  height: 300px;
  background-color: #d2e9dd;
}
.banner__circle--primary::after {
  background-color: #558dbe;
  top: -20%;
  right: -10%;
  transform: translateY(50%) scale(1.8);
}
@media only screen and (max-width:48em) {
  .banner__circle--primary::after {
    top: unset;
    right: -30%;
    transform: translateY(50%) scale(1);
  }
}
.banner.banner-facelift {
  margin-top: 15px;
}
.banner.banner-facelift .banner__approval {
  left: -40px;
  bottom: 170px;
}
@media only screen and (max-width:90em) {
  .banner.banner-facelift .banner__approval {
    display: none;
  }
}
.banner.banner-facelift img {
  max-width: 440px;
  max-height: 330px;
  top: -30px;
  left: 350px;
  position: absolute;
}
@media only screen and (max-width:90em) {
  .banner.banner-facelift .banner__image {
    position: static;
  }
  .banner.banner-facelift .banner__image img {
    left: unset;
    right: 0;
  }
}
@media only screen and (max-width:48em) {
  .banner.banner-facelift .banner__image {
    right: 5%;
    bottom: 3%;
  }
}
.banner.banner-facelift .banner__headline {
  font-size: 2em;
  margin-bottom: 0.5em;
  width: 540px;
}
@media only screen and (max-width:90em) {
  .banner.banner-facelift .banner__headline {
    width: 100%;
    padding-right: 240px;
  }
}
@media only screen and (max-width:30em) {
  .banner.banner-facelift .banner__headline {
    font-size: 1.5em;
    width: 100%;
    margin-top: 190px;
    padding-right: 0px;
  }
}
@media only screen and (max-width: 390px) {
  .banner.banner-facelift .banner__headline {
    margin-top: 180px;
  }
}
@media only screen and (max-width: 360px) {
  .banner.banner-facelift .banner__headline {
    margin-top: 160px;
  }
}
@media only screen and (max-width: 330px) {
  .banner.banner-facelift .banner__headline {
    margin-top: 130px;
  }
}
@media only screen and (max-width:30em) {
  .banner.banner-facelift.banner-facelift.banner-facelift--upright .banner__image img {
    left: 5%;
  }
}
@media only screen and (max-width: 420px) {
  .banner.banner-facelift.banner-facelift.banner-facelift--upright .banner__image img {
    left: 10%;
  }
}
@media only screen and (max-width: 390px) {
  .banner.banner-facelift.banner-facelift.banner-facelift--upright .banner__image img {
    left: 12%;
  }
}
@media only screen and (max-width: 360px) {
  .banner.banner-facelift.banner-facelift.banner-facelift--upright .banner__image img {
    left: 14%;
  }
}
@media only screen and (max-width: 390px) {
  .banner.banner-facelift.banner-facelift.banner-facelift--upright .banner__headline {
    margin-top: 190px;
  }
}
@media only screen and (max-width: 360px) {
  .banner.banner-facelift.banner-facelift.banner-facelift--upright .banner__headline {
    margin-top: 180px;
  }
}
@media only screen and (max-width: 330px) {
  .banner.banner-facelift.banner-facelift.banner-facelift--upright .banner__headline {
    margin-top: 170px;
  }
}
@media only screen and (max-width:90em) {
  .banner.banner-facelift .banner__text {
    width: 100%;
    padding-right: 240px;
  }
}
@media only screen and (max-width:30em) {
  .banner.banner-facelift .banner__text {
    padding-right: 0;
  }
}
.banner.banner-facelift .banner__text p {
  font-size: 16px;
}
@media only screen and (max-width:90em) {
  .banner .banner__headline {
    font-size: 2em;
    margin-bottom: 0.5em;
  }
  .banner .banner__text {
    font-size: 1em;
  }
  .banner .banner__text p {
    font-size: 1em;
  }
  .banner .banner__approval {
    display: none;
  }
}
@media only screen and (max-width:64em) {
  .banner .banner__headline {
    font-size: 18px;
    font-size: calc(15px + (18 - 15) * ((100vw - 320px) / (1680 - 320)));
    font-size: clamp(0.9375rem, 1.3138686131vw, 1.125rem);
    margin-bottom: 1.5em;
  }
  .banner .banner__text {
    font-size: 16px;
  }
  .banner .banner__text p {
    font-size: 16px;
  }
  .banner .banner__approval {
    display: block;
  }
}
@media only screen and (max-width:48em) {
  .banner .banner__headline {
    font-size: 2em;
    margin-bottom: 0.5em;
  }
  .banner .banner__text {
    font-size: 1em;
  }
  .banner .banner__text p {
    font-size: 1em;
  }
  .banner .banner__approval {
    display: none;
  }
}
@media only screen and (max-width:30em) {
  .banner {
    margin-top: 130px;
    padding-bottom: 20px;
  }
  .banner .banner__approval,
  .banner .banner__circle {
    display: none;
  }
  .banner .banner__image {
    left: 0;
    top: 0;
  }
  .banner .banner__image img {
    max-width: 100%;
    max-height: 300px;
    left: 15%;
    top: -100px;
    width: 70%;
    position: absolute;
  }
  .banner .banner__headline {
    margin-top: 190px;
    margin-bottom: 20px;
    font-size: 1.5em;
  }
}
@media only screen and (max-width:30em) and (max-width: 390px) {
  .banner .banner__headline {
    margin-top: 180px;
  }
}
@media only screen and (max-width:30em) {
  .banner.banner-facelift {
    margin-top: 120px;
  }
  .banner.banner-facelift .banner__image img {
    left: 10%;
    max-height: 300px;
    max-width: 100%;
    top: -100px;
    width: 70%;
    position: absolute;
  }
}
@media only screen and (max-width: 450px) {
  .banner.banner-facelift .banner__image img {
    left: 12%;
  }
}
@media only screen and (max-width: 420px) {
  .banner.banner-facelift .banner__image img {
    left: 14%;
  }
}
@media only screen and (max-width: 390px) {
  .banner.banner-facelift .banner__image img {
    left: 18%;
  }
}

/** ! ==================================================
 * COMPONENTS/Banner/Teaser
 * ================================================== */
.banner-section {
  position: relative;
  border-radius: 10px;
  background-color: #00549e;
  color: #fff;
  padding: 3em 3em 3em 4em;
  overflow: visible;
  box-shadow: 2px 22px 50px 1px rgba(0, 0, 0, 0.1);
}
@media only screen and (max-width:48em) {
  .banner-section {
    padding: 2em;
  }
}
.banner-section--medium {
  padding: 2.5em 3em;
  margin: 1.5em 0;
}
@media only screen and (max-width:48em) {
  .banner-section--medium {
    padding: 1.5em;
  }
  .banner-section--medium .banner-section__wrapper {
    flex-direction: column;
    gap: 2em;
  }
  .banner-section--medium .banner-section__wrapper * {
    align-self: flex-start;
  }
}
.banner-section--small {
  padding: 1.5em 2em;
}
.banner-section--small .banner-section__circle::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  transform: translateY(50%) scale(1);
  top: unset;
  bottom: 5%;
  right: -5%;
  width: 300px;
  height: 300px;
  background-color: #d2e9dd;
}
@media only screen and (max-width:30em) {
  .banner-section--small .banner-section__circle::after {
    bottom: -20%;
    right: -20%;
  }
}
.banner-section__content {
  z-index: 2;
  flex: 1.75;
  padding-right: 2em;
}
@media only screen and (max-width:30em) {
  .banner-section__content {
    padding-right: 0;
  }
}
.banner-section__content--small {
  flex: 1;
}
.banner-section__text, .banner-section__subline {
  font-weight: 400;
}
.banner-section__text *, .banner-section__subline * {
  font-size: 16px;
  font-size: 1rem;
  color: #fff;
}
.banner-section__text {
  margin-bottom: 2em;
}
.banner-section__text--small {
  margin-bottom: 0;
}
@media only screen and (max-width:48em) {
  .banner-section__subline {
    display: none;
  }
}
.banner-section__headline {
  position: relative;
  z-index: 1;
  color: inherit;
  font-size: 44px;
  font-size: calc(22px + (44 - 22) * ((100vw - 320px) / (1680 - 320)));
  font-size: clamp(1.375rem, 3.2116788321vw, 2.75rem);
  font-weight: 800;
  margin-bottom: 0.25em;
}
.banner-section__headline--small {
  font-size: 22px;
  font-size: calc(18px + (22 - 18) * ((100vw - 320px) / (1680 - 320)));
  font-size: clamp(1.125rem, 1.6058394161vw, 1.375rem);
}
.banner-section__wrapper {
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-self: center;
}
.banner-section__image {
  position: relative;
  flex: 1.2;
  margin: -3em;
  margin-left: 0;
}
@media only screen and (max-width:48em) {
  .banner-section__image {
    margin: -2em !important;
  }
}
@media only screen and (max-width:30em) {
  .banner-section__image {
    flex: 1.5;
  }
}
.banner-section__image--small {
  margin: -2em -2em -1.5em !important;
}
@media only screen and (max-width:30em) {
  .banner-section__image--mobile-small {
    flex: 0.5;
  }
}
.banner-section__image img {
  position: absolute;
  z-index: 1;
  bottom: 0;
  right: 0;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: right bottom;
     object-position: right bottom;
  max-height: 110%;
}
@media only screen and (max-width:48em) {
  .banner-section__image img {
    max-height: 100%;
  }
}
.banner-section__logo {
  display: none;
}
@media only screen and (max-width:48em) {
  .banner-section__logo {
    display: block;
  }
}
.banner-section__logo img {
  max-width: 130px;
  margin-bottom: 1em;
}
.banner-section__info {
  display: flex;
  gap: 1em;
  align-items: center;
  margin-bottom: 1em;
}
.banner-section__info p {
  margin: 0;
  font-size: 13px;
  font-size: 0.8125rem;
  font-style: italic;
  line-height: 1.35em;
}
.banner-section__circle {
  overflow: hidden;
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 10px;
}
.banner-section__circle--large::after {
  transform: translateY(50%) scale(1.8);
  right: 15%;
  bottom: 0;
}
@media only screen and (max-width:48em) {
  .banner-section .hide-mobile {
    display: none;
  }
}
.banner-section .hide-desktop {
  display: none;
}
@media only screen and (max-width:48em) {
  .banner-section .hide-desktop {
    display: block;
  }
}
@media only screen and (max-width:48em) {
  .banner-section .show-mobile {
    display: block !important;
  }
}

/** ! ==================================================
 * COMPONENTS/Image Text Link
 * ================================================== */
.image-text-link-wrapper {
  display: flex;
  flex-direction: row;
  justify-content: center;
}
.image-text-link-wrapper .image-text-link {
  display: flex;
  gap: 1.5em;
  align-items: center;
  max-width: 950px;
}
@media only screen and (max-width:48em) {
  .image-text-link-wrapper .image-text-link {
    flex-direction: column;
    gap: 2em;
  }
}
.image-text-link-wrapper .image-text-link__image {
  flex: 1;
}
.image-text-link-wrapper .image-text-link__image img {
  width: 100%;
  height: auto;
  max-width: 450px;
  max-height: 300px;
  border-radius: 10px;
}
.image-text-link-wrapper .image-text-link__content {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 1.5em;
}
.image-text-link-wrapper .image-text-link__headline {
  margin: 0;
  font-style: italic;
  font-size: clamp(1.25rem, 2.9197080292vw, 2.5rem);
  font-weight: 900;
}
.image-text-link-wrapper .image-text-link__button {
  align-self: flex-start;
}

/** ! ==================================================
 * COMPONENTS/Banner/Product
 * ================================================== */
.banner-products {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, 32%);
  grid-column-gap: 1.25em;
  grid-row-gap: 3em;
  padding-bottom: 1.5em;
  justify-content: center;
  grid-row-gap: 5em;
  padding-top: 1.5em;
}
@media only screen and (max-width:48em) {
  .banner-products {
    grid-row-gap: 3em;
    padding-top: 0;
  }
}
@media only screen and (max-width:64em) {
  .banner-products {
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  }
}
@media only screen and (max-width:30em) {
  .banner-products {
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    grid-gap: 0.75em;
    row-gap: 3em;
  }
}
.banner-products__shape {
  position: absolute;
  z-index: 0;
  right: -5%;
  opacity: 0.2;
}
@media only screen and (max-width:48em) {
  .banner-products__shape {
    right: -15%;
  }
}
.banner-products__shape--left {
  right: -5%;
}
.banner-products.load-more {
  margin: 4em 0 0 0;
  padding: 0;
}
.banner-products.load-more-empty {
  margin: 0;
}

.banner-product {
  position: relative;
  display: flex;
  flex-direction: column;
  max-width: 650px;
  border-radius: 10px;
  padding: 2em 1.5em 1em 1.5em;
  box-shadow: 2px 22px 50px 1px rgba(0, 0, 0, 0.1);
  overflow: visible;
  background-color: #fff;
  color: #333;
  z-index: 1;
  transition: ease-in-out 300ms;
  /* Used for layered links */
}
@media only screen and (max-width:30em) {
  .banner-product {
    padding: 0 1.5em 0 1.5em;
  }
}
.banner-product::after {
  display: none;
}
.banner-product:hover {
  box-shadow: 2px 22px 50px 1px rgba(0, 0, 0, 0.2705882353);
  transition: ease-in-out 300ms;
}
@media only screen and (max-width:64em) {
  .banner-product {
    margin-top: 75px;
    bottom: 0 !important;
    right: 0.25em !important;
  }
}
@media only screen and (max-width: 707px) {
  .banner-product {
    margin-top: 45px;
  }
}
.banner-product--small {
  margin-top: 75px;
  bottom: 0 !important;
  right: 0.25em !important;
  margin-top: 20px;
}
@media only screen and (max-width:48em) {
  .banner-product--small {
    right: 0 !important;
    margin-top: 4em;
  }
}
.banner-product__wrapper {
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-self: center;
  flex-direction: row;
  width: 100%;
}
@media only screen and (max-width:48em) {
  .banner-product__wrapper {
    position: unset;
    flex-direction: column;
  }
}
.banner-product__wrapper--small {
  position: unset;
  flex-direction: column;
}
.banner-product__wrapper--row {
  flex-direction: row !important;
}
.banner-product__wrapper--min-height {
  min-height: 70px;
}
.banner-product__headline {
  position: relative;
  color: inherit;
  font-weight: 800;
  font-family: "Nunito Sans", "Helvetica", "Arial", sans-serif;
  margin-bottom: 0.75em;
  font-size: 18px;
  font-size: calc(16px + (18 - 16) * ((100vw - 320px) / (1680 - 320)));
  font-size: clamp(1rem, 1.3138686131vw, 1.125rem);
}
.banner-product__labels {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em;
  margin-bottom: 1em;
}
.banner-product__label {
  background-color: #f18f20;
  padding: 0.15em 1em;
  border-radius: 5px;
  color: #fff;
  font-weight: 800;
  width: -moz-fit-content;
  width: fit-content;
}
.banner-product__subline {
  margin-bottom: 1em;
  font-weight: 800;
}
.banner-product__subline--light {
  font-weight: 600;
}
.banner-product__additional-info {
  display: flex;
  gap: 0.5em;
  margin-bottom: 0;
}
.banner-product__image {
  display: flex;
  align-items: flex-start;
  transform: translateX(-30%);
  margin-right: -40px;
  height: 210px;
  padding-right: 2em;
}
@media only screen and (max-width:64em) {
  .banner-product__image {
    transform: translateY(-75px);
    margin-bottom: -40px;
    margin-right: 0;
  }
}
@media only screen and (max-width:64em) and (max-width:30em) {
  .banner-product__image {
    transform: translateY(-55px);
    margin-bottom: -75px;
  }
}
@media only screen and (max-width:30em) {
  .banner-product__image {
    padding-right: 1em;
    height: 180px;
  }
}
.banner-product__image--small {
  transform: translateY(-75px);
  margin-bottom: -40px;
  margin-right: 0;
}
@media only screen and (max-width:30em) {
  .banner-product__image--small {
    transform: translateY(-55px);
    margin-bottom: -75px;
  }
}
.banner-product__image img {
  position: relative;
  z-index: 1;
  max-height: 210px;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: left bottom;
     object-position: left bottom;
}
@media only screen and (max-width:30em) {
  .banner-product__image img {
    max-height: 160px;
  }
}
.banner-product__content {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding-right: 3.5em;
  height: 100%;
}
@media only screen and (max-width:30em) {
  .banner-product__content {
    padding-right: 0;
  }
}
.banner-product__content--small {
  padding-right: 0;
}
.banner-product__price {
  display: flex;
  flex-direction: row;
  align-items: baseline;
  flex-wrap: wrap;
  -moz-column-gap: 0.5em;
       column-gap: 0.5em;
  font-family: "Nunito", "Times New Roman", serif;
  margin-bottom: 0;
  margin-top: auto;
  min-height: 45px;
}
.banner-product__price .value {
  color: #00549e;
  font-size: 30px;
  font-size: 1.875rem;
  font-weight: 800;
  position: relative;
  height: 100%;
}
.banner-product__price .value[data-price-from]::before {
  content: attr(data-price-from);
  padding-right: 0.25em;
}
.banner-product__price .tax-hint {
  font-weight: 400;
}
.banner-product__price .price-from {
  flex-basis: 100%;
}
.banner-product__price--mobile {
  display: none;
}
@media only screen and (max-width:48em) {
  .banner-product__price--mobile {
    display: flex !important;
  }
}
.banner-product__price--is-visible {
  display: flex !important;
}
.banner-product__bookmark {
  display: flex;
  align-items: center;
  margin-left: auto;
  cursor: pointer;
  color: #333;
  z-index: 2;
  transition: ease-in-out 300ms;
}
.banner-product__bookmark:hover {
  color: #00853f;
}
.banner-product__bookmark:only-child {
  position: absolute;
  right: 0;
  top: 20px;
}
.banner-product__bookmark .filled {
  opacity: 0;
  transition: ease-in-out 300ms;
}
.banner-product__bookmark--is-on-wishlist .filled {
  opacity: 1;
  color: #f18f20;
  transition: ease-in-out 300ms;
  animation: bounceDown 800ms 1;
}
@keyframes bounceDown {
  0% {
    transform: translateY(-100px);
  }
  50% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(0);
  }
}
.banner-product__button {
  display: flex;
  align-items: center;
  -moz-column-gap: 0.5em;
       column-gap: 0.5em;
  z-index: 2;
}
.banner-product--overlay-link {
  position: static;
  /* pseudo-element to cover card for layered links */
}
.banner-product--overlay-link::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}
.banner-product--overlay-link::after {
  display: none;
}
.banner-product .select2-container {
  z-index: 10001;
}
.banner-product .select2-container .selection {
  width: 100%;
}
.banner-product .select2-container .selection .select2-selection--single,
.banner-product .select2-container .selection .select2-selection__arrow {
  height: 38px;
  padding-top: 4px;
}

.select2-dropdown--below {
  border: 1px solid #aaa !important;
  border-radius: 4px !important;
}

@media only screen and (max-width:30em) {
  section.section .banner-product__image--small {
    margin-bottom: -35px;
  }
  .tp-shop .banner-product__image {
    transform: translateY(-75px);
  }
  .tp-shop .banner-product__image--small {
    margin-bottom: -55px;
  }
}
@media only screen and (max-width:64em) {
  .tp-shop .banner-products:not(.js-load-more) {
    margin-top: 2em;
  }
}
/** ! ==================================================
 * COMPONENTS/Breadcrumb
 * ================================================== */
@media only screen and (max-width:30em) {
  .breadcrumb {
    display: none;
  }
}
.breadcrumb__wrapper {
  display: inline-flex;
  align-items: flex-start;
  width: 100%;
  padding-top: 0.5em;
  padding-bottom: 0.5em;
  padding-left: initial;
  margin-bottom: 0;
}
.breadcrumb__item {
  position: relative;
  list-style: none;
  padding-right: 0.25em;
  color: #999;
  margin-bottom: 0;
  display: flex;
  align-items: flex-start;
  height: 100%;
  white-space: nowrap;
}
.breadcrumb__item:first-of-type {
  padding-left: 0;
}
.breadcrumb__item:first-of-type .breadcrumb__icon {
  display: none;
}
.breadcrumb__item:last-of-type {
  padding-right: 0;
  flex-grow: 1;
  flex-shrink: 1;
  min-width: 0;
  white-space: wrap;
}
.breadcrumb__item.is-active * {
  color: #333;
  font-weight: 400;
}
.breadcrumb__link {
  color: inherit;
  font-style: italic;
  font-weight: 300;
}
.breadcrumb__icon {
  width: 9px;
  height: 9px;
  color: inherit;
  margin-top: 0.25em;
  margin-right: 0.25em;
}
.breadcrumb--highlighted {
  border-bottom: 1px solid #ebebeb;
  border-top: 1px solid #ebebeb;
}
.breadcrumb--highlighted * {
  color: #00853f !important;
  font-weight: 800 !important;
  font-style: normal !important;
}

@media only screen and (max-width:30em) {
  .breadcrumb__wrapper {
    display: inline-block;
  }
  .breadcrumb__item {
    display: inline;
    padding-right: 0;
    padding-inline-start: 0;
  }
  .breadcrumb__item a {
    display: inline;
    hyphens: auto;
  }
  .breadcrumb__icon {
    margin-right: 0;
  }
  .tp-product .breadcrumb {
    display: flex;
  }
}
/** ! ==================================================
 * COMPONENTS/Pagination
 * ================================================== */
.pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.5em;
  padding: 0.75em 0;
  margin: 3em 0;
  color: #00853f;
  border-bottom: 1px solid #ebebeb;
  border-top: 1px solid #ebebeb;
}
.pagination.pagination--medium {
  margin: 1.5em 0;
}
.pagination * {
  color: inherit;
  font-weight: 700;
}
.pagination__item {
  display: flex;
  align-items: center;
  gap: 1.25em;
}
.pagination__item--right {
  margin-left: auto;
}
.pagination__icon {
  width: 13px;
  height: 13px;
}

/* Jobs pagination component styles */
.jobs-pagination {
  margin: 2rem 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.jobs-pagination .pagination-summary {
  margin-bottom: 1rem;
  text-align: center;
  font-size: 0.9rem;
  color: #858585;
}
.jobs-pagination .pagination {
  gap: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  list-style: none;
  padding: 0;
  margin: 0;
  border: none;
}
.jobs-pagination .pagination-item {
  margin: 0 0.25rem;
}
.jobs-pagination .pagination-item a,
.jobs-pagination .pagination-item span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 2.5rem;
  height: 2.5rem;
  padding: 0 0.5rem;
  border-radius: 5px;
  text-decoration: none;
  font-weight: 500;
  transition: all 0.2s ease;
}
.jobs-pagination .pagination-item a {
  background-color: #fff;
  color: #e07515;
  border: 0;
}
.jobs-pagination .pagination-item.is-active span {
  background-color: #e07515;
  color: #fff;
  border: 1px solid #e07515;
  border-radius: 50%;
}
@media (max-width: 450px) {
  .jobs-pagination .pagination-item {
    margin: 0;
  }
  .jobs-pagination .pagination-item:nth-child(4), .jobs-pagination .pagination-item:nth-child(5) {
    display: none;
  }
}
.jobs-pagination .pagination-ellipsis span {
  min-width: auto;
  padding: 0 0.5rem;
  color: #e07515;
}
.jobs-pagination .pagination-prev,
.jobs-pagination .pagination-next {
  padding-left: 0;
  padding-right: 0;
}
.jobs-pagination .pagination-prev a,
.jobs-pagination .pagination-next a {
  font-size: 1.2rem;
  color: #333;
}

/** ! ==================================================
 * COMPONENTS/Keyfacts block
 * ================================================== */
.keyfacts {
  display: flex;
  flex-direction: row;
  background-color: #9ed5e0;
  border-radius: 15px;
  padding: 0.75em 1.25em 0.75em 0.75em;
  margin: 2.5em 0 2em;
  margin-bottom: 5em;
  gap: 1.5em;
  flex-wrap: wrap;
}
@media only screen and (max-width:64em) {
  .keyfacts {
    padding: 0.75em 2em;
  }
}
@media only screen and (max-width:48em) {
  .keyfacts {
    flex-direction: column;
    padding: 1.25em;
    gap: 2em;
    margin-bottom: 0;
  }
}
.keyfacts .keyfact {
  display: flex;
  align-items: center;
}
@media only screen and (max-width:48em) {
  .keyfacts .keyfact {
    width: 100%;
  }
}
.keyfacts .keyfact * {
  line-height: 1.2em;
}
.keyfacts .keyfact__icon {
  width: 35px;
  height: 35px;
  margin-right: 1.25em;
}
.keyfacts .keyfact__icon--large {
  width: 45px;
  height: 45px;
}
@media only screen and (max-width:48em) {
  .keyfacts .keyfact__icon--large {
    width: 35px;
    height: 35px;
  }
}
.keyfacts .keyfact__icon--huge {
  width: 50px;
  height: 50px;
  margin-bottom: 1em;
  margin-right: 0;
}
@media only screen and (max-width:48em) {
  .keyfacts .keyfact__icon--huge {
    width: 35px;
    height: 35px;
  }
}
.keyfacts .keyfact__headline {
  margin-bottom: 0;
  font-weight: 400;
}
.keyfacts .keyfact__headline--large {
  font-weight: 800;
  font-size: 18px;
  font-size: calc(14px + (18 - 14) * ((100vw - 320px) / (1680 - 320)));
  font-size: clamp(0.875rem, 1.3138686131vw, 1.125rem);
}
.keyfacts .keyfact__value {
  font-weight: 700;
  margin-bottom: 0;
}
.keyfacts .keyfact--spacer-right:nth-of-type(2) {
  padding: 0 5em;
}
@media only screen and (max-width:64em) {
  .keyfacts .keyfact--spacer-right:nth-of-type(2) {
    padding: 0 2em;
  }
}
@media only screen and (max-width:48em) {
  .keyfacts .keyfact--spacer-right:nth-of-type(2) {
    padding: 0 1em;
  }
}
.keyfacts--bg-none {
  background-color: transparent;
}
.keyfacts--no-wrap {
  flex-wrap: nowrap;
  flex-direction: row;
}
@media only screen and (max-width:30em) {
  .keyfacts--mobile-padding {
    padding: 0;
    gap: 0.5em;
  }
}

/** ! ==================================================
 * COMPONENTS/Intro Header
 * ================================================== */
@media only screen and (max-width:48em) {
  .intro {
    margin-bottom: 0.75em;
  }
}
.intro__section {
  display: flex;
  flex-direction: column;
  text-align: center;
}
.intro__section--large {
  font-style: italic;
}
.intro__headline {
  margin-bottom: 1.25em;
}
.intro__headline--large {
  font-style: italic;
}
.intro__subline {
  font-weight: 400;
  line-height: 35px;
  margin-bottom: 0;
}
@media only screen and (max-width:30em) {
  .intro__subline {
    font-size: 16px;
    font-size: 1rem;
    line-height: inherit;
  }
}
.intro--small {
  justify-content: flex-start;
  margin: 0 auto;
}
.intro .rounded-dots {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 120px;
  margin: auto;
}
.intro .rounded-dots .rounded-dot::after {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
}
.intro .rounded-dots .rounded-dot--green::after {
  background-color: #299046;
}
.intro .rounded-dots .rounded-dot--green-light::after {
  background-color: #7ec95c;
}
.intro .rounded-dots .rounded-dot--red::after {
  background-color: #ff392b;
}
.intro .rounded-dots .rounded-dot--purple::after {
  background-color: #7a369c;
}
.intro .rounded-dots .rounded-dot--purple-dark::after {
  background-color: #a72824;
}
.intro .rounded-dots .rounded-dot--orange::after {
  background-color: #ff8d34;
}
.intro .rounded-dots .rounded-dot--pink::after {
  background-color: #ec5f5f;
}
.intro .rounded-dots .rounded-dot--blue::after {
  background-color: #33bbc4;
}
.intro .rounded-dots .rounded-dot--blue-dark::after {
  background-color: #0a5aab;
}

/** ! ==================================================
 * COMPONENTS/Ratings
 * ================================================== */
.rating {
  margin: 1.5em 0;
  opacity: 0;
  transition: 300ms ease-in-out;
}
.rating__star {
  color: #acacac;
  width: 15px;
  height: 15px;
}
.rating__star.is-checked {
  color: #ffb785;
}

/** ! ==================================================
 * COMPONENTS/ Fake select overlay
 * ================================================== */
.fake-select {
  position: relative;
  margin: 0 1.5em 1.5em 0;
  /* Customize website's scrollbar like Mac OS
  Not supports in Firefox and IE */
  /* total width */
  /* background of the scrollbar except button or resizer */
  /* scrollbar itself */
  /* set button(top and bottom of the scrollbar) */
}
@media only screen and (max-width:64em) {
  .fake-select {
    min-width: unset;
  }
}
@media only screen and (max-width:48em) {
  .fake-select {
    width: 100%;
    margin: 0 0 1.5em 0;
  }
}
.fake-select--small {
  width: 300px;
}
@media only screen and (max-width:48em) {
  .fake-select--small {
    width: 100%;
  }
}
.fake-select--grow-space {
  flex: 1;
}
@media only screen and (max-width:64em) {
  .fake-select--grow-space {
    flex: unset;
    width: 100%;
  }
}
.fake-select--small-view-only {
  display: none;
  margin-right: 0;
}
@media only screen and (max-width:64em) {
  .fake-select--small-view-only {
    display: block;
    max-width: 796px;
  }
  .fake-select--small-view-only .fake-select__wrapper {
    background-color: #d2dfec;
  }
  .fake-select--small-view-only .fake-select__wrapper ul {
    background-color: #d2dfec;
  }
  .fake-select--small-view-only .fake-select__wrapper ul .fake-select__item:first-of-type:not(.fake-select__item--no-placeholder) .fake-select__link {
    color: #333 !important;
  }
  .fake-select--small-view-only .fake-select__wrapper ul .fake-select__link:hover {
    background-color: #acc5de;
  }
}
.fake-select--margin-large {
  margin-bottom: 2em;
}
.fake-select__wrapper {
  position: relative;
  flex: 1;
  background-color: #eaeaea;
  border-radius: 10px;
  margin: 0;
  max-height: 50px;
  padding-right: 6px;
}
.fake-select__wrapper ul {
  height: 50px;
}
@media only screen and (max-width:48em) {
  .fake-select__wrapper {
    width: 100%;
  }
}
.fake-select__wrapper.is-open {
  z-index: 21;
  padding-right: 0;
  background-color: transparent !important;
}
.fake-select__wrapper.is-open ul {
  height: 100%;
}
.fake-select__wrapper.is-open .fake-select__item.is-active .fake-select__link {
  width: 100%;
  overflow: unset;
  white-space: wrap;
  display: flex;
}
.fake-select__list {
  display: flex;
  flex-direction: column;
  margin: 0;
  list-style: none;
  max-height: clamp(300px, 50vh, 550px);
  background-color: #eaeaea;
  border-radius: 10px;
  padding: 0;
}
.fake-select__item {
  display: flex;
  visibility: hidden;
  opacity: 0;
  margin: 0;
  padding: 0;
  width: 100%;
  border-top: 2px solid #fff;
}
.fake-select__item:first-of-type {
  position: relative;
  visibility: visible;
  opacity: 1;
  border-top: none;
}
.fake-select__item.is-visible {
  position: relative;
  visibility: visible;
  opacity: 1;
}
.fake-select__item.is-placeholder:not(.is-visible) {
  order: -1;
  position: unset;
}
.fake-select__item.is-placeholder:not(.is-visible) .fake-select__link {
  display: none;
}
.fake-select__item.is-placeholder *, .fake-select__item:first-of-type:not(.fake-select__item--no-placeholder) .fake-select__link {
  color: #858585 !important;
}
.fake-select__item.is-active * {
  font-weight: 800;
}
.fake-select__item.is-active:not(.is-visible) {
  order: -1;
  position: relative;
  visibility: visible;
  opacity: 1;
  border-top: 0;
}
.fake-select__item.is-active .fake-select__link {
  width: calc(100% - 40px);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: inline-block;
}
.fake-select__link {
  display: flex;
  width: 100%;
  padding: 0.75em 1.5em;
  color: #333 !important;
  transition: ease-in-out 300ms;
  background-color: transparent;
  background-size: 0 2px, 0 2px !important;
}
@media only screen and (max-width:48em) {
  .fake-select__link {
    padding: 0.75em 1em;
  }
}
.fake-select__link::after {
  display: none;
}
.fake-select__link:hover {
  transition: ease-in-out 300ms;
  background-color: #f4f4f4;
}
.fake-select__link--not-selectable {
  cursor: default;
  color: #858585 !important;
}
.fake-select__link--not-selectable:hover {
  background-color: transparent; /* Prevent hover effect */
}
.fake-select__label {
  font-weight: 800;
  margin-bottom: 0.75em;
  display: block;
}
.fake-select__input-container {
  position: relative;
  flex: 1;
  display: flex;
}
.fake-select__input {
  padding: 1em !important;
  background-color: #ebebeb !important;
  border: 1px solid #ebebeb !important;
  border-radius: 5px !important;
  -webkit-appearance: none !important;
     -moz-appearance: none !important;
          appearance: none !important;
  width: 100% !important;
  font-size: 16px !important;
  transition: border-color ease-in-out 0.3s !important;
  line-height: 1.5 !important;
  color: #333 !important;
  outline: none !important;
  height: 48px !important;
}
.fake-select__input:focus {
  border-color: #f18f20 !important;
  outline: none !important;
  transition: border-color ease-in-out 0.3s !important;
}
.fake-select__input::-moz-placeholder {
  color: #acacac !important;
}
.fake-select__input::placeholder {
  color: #acacac !important;
}
.fake-select__icon {
  position: absolute;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  width: 100%;
  height: 100%;
  right: 0;
  top: 0;
  color: #333;
  z-index: 2;
  cursor: pointer;
}
.fake-select__icon .icon {
  pointer-events: none;
  color: inherit;
  transform: rotate(0deg);
  transition: ease-in-out 300ms;
  margin-right: 1em;
}
.fake-select__icon.is-open .icon {
  transform: rotate(180deg);
  transition: ease-in-out 300ms;
}
.fake-select__icon.no-link {
  width: 100%;
}
.fake-select ::-webkit-scrollbar {
  background-color: transparent;
  width: 6px;
}
.fake-select ::-webkit-scrollbar-track {
  background-color: transparent;
  margin: 7px;
}
.fake-select ::-webkit-scrollbar-thumb {
  background-color: #babac0;
  border-radius: 18px;
  border: 4px solid transparent;
}
.fake-select ::-webkit-scrollbar-button {
  display: none;
}

.jobs-filter {
  background: #e5eef5;
}
.jobs-filter #jobs-filter {
  padding-top: 30px;
}

#jobs-filter,
#jobs-result {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 1em;
  padding-right: 25px;
  padding-left: 25px;
  padding-bottom: 25px;
}
@media only screen and (max-width:64em) {
  #jobs-filter,
  #jobs-result {
    padding-left: 5px;
  }
}
#jobs-filter .fake-select,
#jobs-result .fake-select {
  margin-right: 0;
}
#jobs-filter .fake-select__item.is-placeholder *,
#jobs-filter .fake-select__link,
#jobs-result .fake-select__item.is-placeholder *,
#jobs-result .fake-select__link {
  color: #fff !important;
  padding-right: 5px;
}
#jobs-filter .fake-select__wrapper--radius, #jobs-filter .fake-select__wrapper--kind, #jobs-filter .fake-select__wrapper--sort,
#jobs-result .fake-select__wrapper--radius,
#jobs-result .fake-select__wrapper--kind,
#jobs-result .fake-select__wrapper--sort {
  width: 200px;
  background-color: #f18f20;
}
@media only screen and (max-width:64em) {
  #jobs-filter .fake-select__wrapper--radius, #jobs-filter .fake-select__wrapper--kind, #jobs-filter .fake-select__wrapper--sort,
  #jobs-result .fake-select__wrapper--radius,
  #jobs-result .fake-select__wrapper--kind,
  #jobs-result .fake-select__wrapper--sort {
    width: 130px;
  }
}
#jobs-filter .fake-select__wrapper--radius ul, #jobs-filter .fake-select__wrapper--kind ul, #jobs-filter .fake-select__wrapper--sort ul,
#jobs-result .fake-select__wrapper--radius ul,
#jobs-result .fake-select__wrapper--kind ul,
#jobs-result .fake-select__wrapper--sort ul {
  background-color: #f18f20;
}
#jobs-filter .fake-select__wrapper--radius .fake-select__link,
#jobs-filter .fake-select__wrapper--radius .fake-select__icon, #jobs-filter .fake-select__wrapper--kind .fake-select__link,
#jobs-filter .fake-select__wrapper--kind .fake-select__icon, #jobs-filter .fake-select__wrapper--sort .fake-select__link,
#jobs-filter .fake-select__wrapper--sort .fake-select__icon,
#jobs-result .fake-select__wrapper--radius .fake-select__link,
#jobs-result .fake-select__wrapper--radius .fake-select__icon,
#jobs-result .fake-select__wrapper--kind .fake-select__link,
#jobs-result .fake-select__wrapper--kind .fake-select__icon,
#jobs-result .fake-select__wrapper--sort .fake-select__link,
#jobs-result .fake-select__wrapper--sort .fake-select__icon {
  color: #fff !important;
}
#jobs-filter .fake-select__wrapper .is-visible,
#jobs-result .fake-select__wrapper .is-visible {
  background-color: #ffe1ca;
}
#jobs-filter .fake-select__wrapper .is-visible .fake-select__link,
#jobs-result .fake-select__wrapper .is-visible .fake-select__link {
  color: #000 !important;
}
#jobs-filter .fake-select__wrapper--sort,
#jobs-result .fake-select__wrapper--sort {
  width: 180px;
}
#jobs-filter .fake-select__container--radius-location,
#jobs-result .fake-select__container--radius-location {
  display: flex;
  flex-direction: row;
}
#jobs-filter .fake-select__container--radius-location .fake-select--radius,
#jobs-result .fake-select__container--radius-location .fake-select--radius {
  margin-right: 0;
}
#jobs-filter .fake-select__container--radius-location .fake-select--radius .fake-select__wrapper--radius,
#jobs-result .fake-select__container--radius-location .fake-select--radius .fake-select__wrapper--radius {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
#jobs-filter .fake-select__container--radius-location .location-input-container .fake-select__input-container,
#jobs-result .fake-select__container--radius-location .location-input-container .fake-select__input-container {
  width: 318px;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
@media only screen and (max-width:48em) {
  #jobs-filter .fake-select__container--radius-location .location-input-container .fake-select__input-container,
  #jobs-result .fake-select__container--radius-location .location-input-container .fake-select__input-container {
    width: calc(100vw - 170px);
  }
}
#jobs-filter .fake-select__container--radius-location .location-input-container .fake-select__input-container input,
#jobs-result .fake-select__container--radius-location .location-input-container .fake-select__input-container input {
  border-top-left-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
  border-top-right-radius: 10px !important;
  border-bottom-right-radius: 10px !important;
  height: 50px !important;
  width: 250px;
  background-color: #fff !important;
}
#jobs-filter .fake-select__container--radius-location .location-input-container label,
#jobs-result .fake-select__container--radius-location .location-input-container label {
  height: 21px;
}
#jobs-filter .fake-select__container--kind-search,
#jobs-result .fake-select__container--kind-search {
  display: flex;
  flex-direction: row;
}
#jobs-filter .fake-select__container--kind-search .fake-select--kind,
#jobs-result .fake-select__container--kind-search .fake-select--kind {
  margin-right: 0;
}
#jobs-filter .fake-select__container--kind-search .fake-select--kind .fake-select__wrapper--kind,
#jobs-result .fake-select__container--kind-search .fake-select--kind .fake-select__wrapper--kind {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
#jobs-filter .fake-select__container--kind-search .search__input-container .searchbar__input-container,
#jobs-result .fake-select__container--kind-search .search__input-container .searchbar__input-container {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  height: 50px !important;
  margin-top: 6px;
}
#jobs-filter .fake-select__container--kind-search .search__input-container .searchbar__input-container input,
#jobs-result .fake-select__container--kind-search .search__input-container .searchbar__input-container input {
  background-color: #fff !important;
  border-top-left-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
  border-top-right-radius: 10px !important;
  border-bottom-right-radius: 10px !important;
  width: 250px;
}
#jobs-filter .filter-button-container,
#jobs-result .filter-button-container {
  margin-top: 8px;
}
#jobs-filter .filter-button-container .btn,
#jobs-result .filter-button-container .btn {
  background-color: #f18f20;
}
#jobs-filter .filter-button-container .btn:hover,
#jobs-result .filter-button-container .btn:hover {
  background-color: #ffe1ca;
}

/* Styles for non-selectable placeholder in fake-select component */
.fake-select__link--not-selectable {
  display: flex;
  width: 100%;
  padding: 0.75em 1.5em;
  color: #858585 !important;
  transition: ease-in-out 300ms;
  background-color: transparent;
  background-size: 0 2px, 0 2px !important;
  cursor: default;
}
@media only screen and (max-width:48em) {
  .fake-select__link--not-selectable {
    padding: 0.75em 1em;
  }
}
.fake-select__link--not-selectable::after {
  display: none;
}
.fake-select__link--not-selectable:hover {
  transition: ease-in-out 300ms;
  background-color: transparent; /* Prevent hover effect */
}

.jobs-result-orange {
  color: #f18f20 !important;
}

#jobs-filter .fake-select__container--kind-search,
#jobs-filter .fake-select__container--radius-location {
  max-width: 40%;
}
@media only screen and (max-width:90em) {
  #jobs-filter .fake-select__container--kind-search .fake-select--grow-space,
  #jobs-filter .fake-select__container--radius-location .fake-select--grow-space {
    width: unset !important;
  }
}
@media (max-width: 1110px) {
  #jobs-filter .fake-select__container--kind-search,
  #jobs-filter .fake-select__container--radius-location {
    max-width: 39%;
  }
}
@media (max-width: 1050px) {
  #jobs-filter .fake-select__container--kind-search,
  #jobs-filter .fake-select__container--radius-location {
    max-width: 38%;
  }
}
@media (max-width: 960px) {
  #jobs-filter .fake-select__container--kind-search,
  #jobs-filter .fake-select__container--radius-location {
    max-width: 37%;
  }
}
@media (max-width: 900px) {
  #jobs-filter .fake-select__container--kind-search,
  #jobs-filter .fake-select__container--radius-location {
    max-width: 36%;
  }
}
@media (max-width: 840px) {
  #jobs-filter .fake-select__container--kind-search,
  #jobs-filter .fake-select__container--radius-location {
    max-width: 35%;
  }
}
@media (max-width: 800px) {
  #jobs-filter .fake-select__container--kind-search,
  #jobs-filter .fake-select__container--radius-location {
    max-width: 34%;
  }
}
@media only screen and (max-width:48em) {
  #jobs-filter .fake-select__container--kind-search,
  #jobs-filter .fake-select__container--radius-location {
    max-width: unset;
  }
}
#jobs-filter .fake-select__container--kind-search .search__input-container .searchbar__input-container,
#jobs-filter .fake-select__container--kind-search .location-input-container,
#jobs-filter .fake-select__container--radius-location .search__input-container .searchbar__input-container,
#jobs-filter .fake-select__container--radius-location .location-input-container {
  width: 300px !important;
}
@media only screen and (max-width:90em) {
  #jobs-filter .fake-select__container--kind-search .search__input-container .searchbar__input-container,
  #jobs-filter .fake-select__container--kind-search .location-input-container,
  #jobs-filter .fake-select__container--radius-location .search__input-container .searchbar__input-container,
  #jobs-filter .fake-select__container--radius-location .location-input-container {
    width: calc(100% - 130px) !important;
  }
}
@media only screen and (max-width:48em) {
  #jobs-filter .fake-select__container--kind-search .search__input-container .searchbar__input-container,
  #jobs-filter .fake-select__container--kind-search .location-input-container,
  #jobs-filter .fake-select__container--radius-location .search__input-container .searchbar__input-container,
  #jobs-filter .fake-select__container--radius-location .location-input-container {
    width: calc(100vw - 180px) !important;
  }
}
@media only screen and (max-width:30em) {
  #jobs-filter .fake-select__container--kind-search .search__input-container .searchbar__input-container,
  #jobs-filter .fake-select__container--kind-search .location-input-container,
  #jobs-filter .fake-select__container--radius-location .search__input-container .searchbar__input-container,
  #jobs-filter .fake-select__container--radius-location .location-input-container {
    width: calc(100vw - 165px) !important;
  }
}
#jobs-filter .fake-select__container--kind-search .search__input-container .searchbar__input-container .fake-select__input-container,
#jobs-filter .fake-select__container--kind-search .location-input-container .fake-select__input-container,
#jobs-filter .fake-select__container--radius-location .search__input-container .searchbar__input-container .fake-select__input-container,
#jobs-filter .fake-select__container--radius-location .location-input-container .fake-select__input-container {
  width: 100% !important;
}
@media only screen and (max-width:48em) {
  #jobs-filter .fake-select__container--kind-search .search__input-container .searchbar__input-container .fake-select__input-container,
  #jobs-filter .fake-select__container--kind-search .location-input-container .fake-select__input-container,
  #jobs-filter .fake-select__container--radius-location .search__input-container .searchbar__input-container .fake-select__input-container,
  #jobs-filter .fake-select__container--radius-location .location-input-container .fake-select__input-container {
    width: calc(100vw - 180px) !important;
  }
}
@media only screen and (max-width:30em) {
  #jobs-filter .fake-select__container--kind-search .search__input-container .searchbar__input-container .fake-select__input-container,
  #jobs-filter .fake-select__container--kind-search .location-input-container .fake-select__input-container,
  #jobs-filter .fake-select__container--radius-location .search__input-container .searchbar__input-container .fake-select__input-container,
  #jobs-filter .fake-select__container--radius-location .location-input-container .fake-select__input-container {
    width: calc(100vw - 165px) !important;
  }
}
#jobs-filter .fake-select__container--kind-search .search__input-container .searchbar__input-container input,
#jobs-filter .fake-select__container--kind-search .location-input-container input,
#jobs-filter .fake-select__container--radius-location .search__input-container .searchbar__input-container input,
#jobs-filter .fake-select__container--radius-location .location-input-container input {
  width: 300px !important;
}
@media only screen and (max-width:90em) {
  #jobs-filter .fake-select__container--kind-search .search__input-container .searchbar__input-container input,
  #jobs-filter .fake-select__container--kind-search .location-input-container input,
  #jobs-filter .fake-select__container--radius-location .search__input-container .searchbar__input-container input,
  #jobs-filter .fake-select__container--radius-location .location-input-container input {
    width: 100% !important;
  }
}

.jobs-sort-container {
  position: relative;
  left: 25px;
}
@media only screen and (max-width:64em) {
  .jobs-sort-container {
    left: 0;
  }
}

@media only screen and (max-width:48em) {
  #jobs-result {
    flex-direction: row;
    padding-bottom: 0;
  }
  #jobs-result .result-title {
    padding-top: 10px;
  }
  #jobs-result .jobs-sort-container {
    display: flex;
    left: 0;
    justify-content: flex-end;
    padding-top: 10px;
    padding-top: 0px;
    align-items: center;
  }
  #jobs-result .jobs-sort-container .jobs-mobile-sort-icon {
    color: #f58220;
  }
  #jobs-result .jobs-sort-container .fake-select--sort {
    width: 90px;
    min-width: unset;
    margin-bottom: 0;
  }
}
@media only screen and (max-width:48em) and (max-width:48em) {
  #jobs-result .jobs-sort-container .fake-select--sort {
    width: 65px;
  }
  #jobs-result .jobs-sort-container .fake-select--sort .fake-select__wrapper--sort.is-open {
    position: relative;
    right: 115px;
  }
  #jobs-result .jobs-sort-container .fake-select--sort.fake-select-clicked-content__aktualitt {
    width: 75px;
  }
  #jobs-result .jobs-sort-container .fake-select--sort.fake-select-clicked-content__aktualitt .fake-select__wrapper--sort.is-open {
    right: 105px;
  }
  #jobs-result .jobs-sort-container .fake-select--sort.fake-select-clicked-content__entfernung {
    width: 80px;
  }
  #jobs-result .jobs-sort-container .fake-select--sort.fake-select-clicked-content__entfernung .fake-select__wrapper--sort.is-open {
    right: 100px;
  }
}
@media only screen and (max-width:48em) {
  #jobs-result .jobs-sort-container .fake-select--sort .fake-select__wrapper--sort {
    background: none;
  }
  #jobs-result .jobs-sort-container .fake-select--sort .fake-select__wrapper--sort ul {
    background: none;
  }
  #jobs-result .jobs-sort-container .fake-select--sort .fake-select__wrapper--sort ul .fake-select__link {
    color: #f58220 !important;
    font-weight: normal;
    font-size: 0.9rem;
    padding-left: 5px;
  }
  #jobs-result .jobs-sort-container .fake-select--sort .fake-select__wrapper--sort.is-open .fake-select__link {
    padding-left: 15px;
  }
}
@media only screen and (max-width:48em) and (max-width:30em) {
  #jobs-result .jobs-sort-container .fake-select--sort {
    width: 65px;
  }
  #jobs-result .jobs-sort-container .fake-select--sort .fake-select__wrapper--sort.is-open {
    position: relative;
    right: 105px;
  }
  #jobs-result .jobs-sort-container .fake-select--sort.fake-select-clicked-content__aktualitt {
    width: 75px;
  }
  #jobs-result .jobs-sort-container .fake-select--sort.fake-select-clicked-content__aktualitt .fake-select__wrapper--sort.is-open {
    right: 95px;
  }
  #jobs-result .jobs-sort-container .fake-select--sort.fake-select-clicked-content__entfernung {
    width: 80px;
  }
  #jobs-result .jobs-sort-container .fake-select--sort.fake-select-clicked-content__entfernung .fake-select__wrapper--sort.is-open {
    right: 90px;
  }
}
/** ! ==================================================
 * COMPONENTS/ Job select
 * ================================================== */
.job-select {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2.5em;
  flex-direction: row;
  padding: 3em;
  border: 1px solid #00549e;
  border-radius: 10px;
  margin: 0 !important;
  width: 100% !important;
}
@media only screen and (max-width:48em) {
  .job-select {
    flex-direction: column;
    gap: 1.5em;
    padding: 1.5em;
  }
}
.job-select .fake-select__list,
.job-select .fake-select__wrapper {
  max-width: -moz-fit-content;
  max-width: fit-content;
}
.job-select .fake-select__label {
  margin: 0;
  font-weight: 800;
}

/** ! ==================================================
 * COMPONENTS/Sticky Sidebar
 * ================================================== */
.sticky-sidebar {
  position: fixed;
  display: flex;
  flex-direction: column;
  z-index: 10;
  right: 0;
  bottom: 50%;
  transform: translateY(40%);
  background-color: #00549e;
  border-radius: 10px;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  padding: 1em 0;
  transition: ease-in-out 300ms;
  height: -moz-fit-content;
  height: fit-content;
  overflow: hidden;
}
@media only screen and (max-width:48em) {
  .sticky-sidebar {
    display: none;
  }
}
@media only screen and (max-width:48em) {
  .sticky-sidebar {
    top: unset;
    bottom: 0;
    transform: unset;
    flex-direction: row;
    width: 100%;
    border-radius: 0;
    padding: 1em;
  }
}
.sticky-sidebar.is-hidden {
  transition: ease-in-out 300ms;
  opacity: 0;
}
@media only screen and (max-width:48em) {
  .sticky-sidebar.is-hidden {
    opacity: 1;
  }
}
.sticky-sidebar__title {
  min-width: 56px;
}
.sticky-sidebar--row {
  flex-direction: row;
  padding: 0;
  top: unset;
  bottom: 5%;
  transform: unset;
  right: -100%;
  background-color: #00853f;
}
@media only screen and (max-width:48em) {
  .sticky-sidebar--row {
    padding: 1em 0;
    bottom: 0;
    background-color: #00549e;
  }
}
.sticky-sidebar--row .sticky-sidebar__item {
  padding: 0;
  flex: 1;
  white-space: nowrap;
}
@media only screen and (max-width:48em) {
  .sticky-sidebar--row .sticky-sidebar__item {
    padding: unset;
  }
}
.sticky-sidebar--row .sticky-sidebar__item:first-of-type {
  border-right: 1px solid #fff;
}
@media only screen and (max-width:48em) {
  .sticky-sidebar--row .sticky-sidebar__title {
    display: none;
  }
}
.sticky-sidebar__item {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.sticky-sidebar__item:hover {
  cursor: pointer;
}
.sticky-sidebar__item * {
  color: #fff;
}
.sticky-sidebar__button {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 65px;
  padding: 0.75em;
  gap: 0.5em;
  color: #fff;
}
@media only screen and (max-width:48em) {
  .sticky-sidebar__button {
    flex-direction: row;
    min-width: unset;
  }
}
.sticky-sidebar__button::after {
  display: none;
}
.sticky-sidebar__message {
  width: 100%;
  height: 100%;
  opacity: 0;
  position: absolute;
  right: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #edbe2f;
  border-radius: 10px;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  border: 2px solid transparent;
  color: #fff;
  transition: ease-in-out 300ms;
  transform: translateY(100%);
}
@media only screen and (max-width:48em) {
  .sticky-sidebar__message {
    border-radius: 0;
  }
}
.sticky-sidebar__message.is-active {
  opacity: 1;
  top: 0;
  transform: translateY(0%);
  transition: ease-in-out 300ms;
}
.sticky-sidebar__logo {
  display: flex;
  align-items: center;
  width: 30px;
  height: 30px;
  transition: ease-in-out 300ms;
  filter: opacity(1);
}
@media only screen and (max-width:48em) {
  .sticky-sidebar__logo {
    width: 20px;
    height: 20px;
  }
}
.sticky-sidebar__logo:hover {
  transition: ease-in-out 300ms;
  filter: opacity(0.5);
}
.sticky-sidebar__logo--small {
  height: 20px;
}
.sticky-sidebar__title {
  font-size: 10px;
  font-size: 0.625rem;
  font-weight: 400;
  text-align: center;
}

/** ! ==================================================
 * COMPONENTS/Keyfacts block
 * ================================================== */
.faqs {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5em;
  margin: 3em 0;
}
@media only screen and (max-width:64em) {
  .faqs {
    grid-template-columns: 1fr;
  }
}
@media only screen and (max-width:30em) {
  .faqs {
    margin: 1.5em 0;
  }
}
.faqs__wrapper {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5em;
  height: -moz-fit-content;
  height: fit-content;
  z-index: 1;
}
.faqs__shape {
  position: absolute;
  opacity: 0.2;
  top: -80px;
  left: -50px;
  transform: scale(0.85);
}

.faq {
  display: flex;
  flex-direction: column;
  background-color: #d5ecf1;
  border-radius: 10px;
  border: 2px solid #99d1dd;
  transition: ease-in-out 300ms;
  height: -moz-fit-content;
  height: fit-content;
}
.faq__headline {
  margin: 0;
  font-size: 16px;
  font-size: calc(14px + (16 - 14) * ((100vw - 320px) / (1680 - 320)));
  font-size: clamp(0.875rem, 1.1678832117vw, 1rem);
  font-weight: 800;
  padding-right: 1em;
}
.faq__button {
  display: flex;
  position: relative;
  text-align: start;
  border-radius: 10px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
  padding: 1.25em 1.5em;
  color: #00549e;
  transition: ease-in-out 300ms;
}
.faq__button[aria-expanded=true] {
  transition: ease-in-out 300ms;
  background-color: #f1f8fa;
}
.faq__button[aria-expanded=true] .icon--horizontal {
  transition: ease-in-out 300ms;
  transform: rotate(0deg);
}
@media only screen and (max-width:30em) {
  .faq__button {
    padding: 1em;
  }
}
.faq__button .icon {
  position: absolute;
  right: 1.5em;
  width: 15px;
  height: 15px;
  transform: rotate(0);
  transition: ease-in-out 300ms;
}
@media only screen and (max-width:30em) {
  .faq__button .icon {
    right: 1em;
    width: 12px;
    height: 12px;
  }
}
.faq__button .icon--horizontal {
  transform: rotate(90deg);
}
.faq__text {
  font-size: 13px;
  font-size: 0.8125rem;
  background-color: #f1f8fa;
  margin: 0;
}
.faq__content {
  border-radius: 10px;
  border-top-right-radius: 0;
  border-top-left-radius: 0;
  display: none;
  padding: 1.25em 1.5em;
  padding-top: 0;
  background-color: #f1f8fa;
  overflow: hidden;
}
@media only screen and (max-width:30em) {
  .faq__content {
    padding: 1em;
  }
}
.faq a {
  color: #00853f !important;
}
.faq a::after {
  width: 100%;
}

/** ! ==================================================
 * COMPONENTS/Layout Block
 * ================================================== */
.layout {
  /* CU-86byggd0a */
}
.layout .wrapper, .layout .layout--full-width .layout__wrapper, .layout--full-width .layout .layout__wrapper, .layout .layout {
  max-width: unset;
  padding: 0;
  margin: 0;
}
.layout__wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 2em;
}
@media only screen and (max-width:48em) {
  .layout__wrapper {
    flex-direction: column;
    row-gap: 0;
  }
}
.layout__wrapper--small {
  max-width: 950px !important;
  margin: 0 auto;
}
.layout__wrapper--xsmall {
  max-width: 750px !important;
  margin: 0 auto;
}
.layout__wrapper--medium {
  max-width: 1150px !important;
  margin: 0 auto;
}
.layout__wrapper--pb-0 {
  padding-bottom: 0;
}
.layout__wrapper--pb-0 .section {
  padding-bottom: 0 !important;
}
.layout__wrapper--pt-0 {
  padding-top: 0 !important;
}
.layout__wrapper--pt-0 .section {
  padding-top: 0 !important;
}
@media only screen and (max-width:30em) {
  .layout__wrapper--mobile-row-gap-small {
    row-gap: 1em;
  }
  .layout__wrapper--mobile-row-gap-medium {
    row-gap: 2em;
  }
  .layout__wrapper--mobile-row-gap-large {
    row-gap: 3em;
  }
}
.layout__column {
  display: flex;
  flex-direction: column;
  flex: 1;
}
.layout__column--1 {
  flex-basis: calc(8.3333333333% - 2em - 10px);
}
.layout__column--2 {
  flex-basis: calc(16.6666666667% - 2em - 10px);
}
.layout__column--3 {
  flex-basis: calc(25% - 2em - 10px);
}
.layout__column--4 {
  flex-basis: calc(33.3333333333% - 2em - 10px);
}
.layout__column--5 {
  flex-basis: calc(41.6666666667% - 2em - 10px);
}
.layout__column--6 {
  flex-basis: calc(50% - 2em - 10px);
}
.layout__column--7 {
  flex-basis: calc(58.3333333333% - 2em - 10px);
}
.layout__column--8 {
  flex-basis: calc(66.6666666667% - 2em - 10px);
}
.layout__column--9 {
  flex-basis: calc(75% - 2em - 10px);
}
.layout__column--10 {
  flex-basis: calc(83.3333333333% - 2em - 10px);
}
.layout__column--11 {
  flex-basis: calc(91.6666666667% - 2em - 10px);
}
.layout__column--12 {
  flex-basis: calc(100% - 2em - 10px);
}
@media only screen and (max-width:30em) {
  .layout__column .block-type-image {
    width: 100%;
  }
}
@media only screen and (max-width:48em) {
  .layout__column {
    width: 100% !important;
  }
}
.layout__column:not(:first-of-type, :last-of-type) {
  padding: 0 !important;
}
.layout__column:first-of-type:not(:only-of-type) {
  padding-right: 0;
}
.layout__column:last-of-type:not(:only-of-type) {
  padding-left: 0;
}
.layout__column--12 .block-type-text {
  max-width: unset;
}
.layout--vertical-align-end {
  align-items: flex-end;
}
.layout--vertical-align-center {
  align-items: center;
}
.layout--vertical-align-center .block-type-image {
  margin: 0;
}
@media only screen and (max-width:48em) {
  .layout--vertical-align-center .layout__column {
    align-items: center;
  }
}
.layout--vertical-align-start {
  align-items: flex-start;
}
.layout--vertical-align-start .block-type-image {
  margin: 1em;
}
.layout--horizontal-align-right .layout__column {
  align-items: flex-end;
}
.layout--horizontal-align-center {
  justify-content: center;
}
.layout--horizontal-align-center .layout__column {
  align-items: center;
}
@media only screen and (max-width:48em) {
  .layout--horizontal-align-center .layout__column {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}
.layout--horizontal-align-left .layout__column {
  align-items: flex-start;
}
.layout--full-width {
  max-width: unset;
  padding-left: 0;
  padding-right: 0;
}
@media only screen and (max-width:30em) {
  .block-type-heading {
    width: 100%;
  }
}
/** ! ==================================================
 * COMPONENTS/ Search field
 * ================================================== */
.searchbar {
  display: flex;
  justify-content: center;
  flex-direction: column;
}
.searchbar--small-height .searchbar__input,
.searchbar--small-height .searchbar__button {
  padding-top: 0.75em;
  padding-bottom: 0.75em;
}
.searchbar--overlay {
  display: none;
  position: absolute;
  z-index: 21;
  right: -0.75em;
  top: -0.5em;
  width: 50vw;
  max-width: 700px;
}
@media only screen and (max-width:64em) {
  .searchbar--overlay {
    position: fixed;
    right: 50vw;
    top: 50vh;
    transform: translate(50%, -50%);
    width: 70vw;
  }
}
@media only screen and (max-width:48em) {
  .searchbar--overlay {
    width: 90vw;
  }
}
.searchbar--grow-space {
  flex: 1;
}
@media only screen and (max-width:64em) {
  .searchbar--grow-space {
    flex: unset;
    width: 100%;
  }
}
.searchbar.is-open {
  display: flex;
}
.searchbar__form {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}
.searchbar__input-container {
  position: relative;
  flex: 1;
  display: flex;
}
.searchbar__label {
  font-weight: 800;
  margin-bottom: 0.75em;
}
.searchbar__input {
  padding: 1em 0 1em 1em;
  background-color: #ebebeb;
  border: 1px solid #ebebeb;
  border-top-left-radius: 5px;
  border-bottom-left-radius: 5px;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  -webkit-appearance: none !important;
     -moz-appearance: none !important;
          appearance: none !important;
  flex: 1;
  min-width: 0;
  font-size: 16px !important;
  transition: border-color ease-in-out 300ms;
}
@media only screen and (max-width:30em) {
  .searchbar__input {
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
    padding: 1em calc(1em + 30px) 1em 1em;
  }
}
.searchbar__input:focus {
  border-color: #f18f20;
  outline: none;
  transition: border-color ease-in-out 300ms;
}
.searchbar__input::-moz-placeholder {
  color: #acacac;
}
.searchbar__input::placeholder {
  color: #acacac;
}
.searchbar__button {
  display: flex;
  align-items: center;
  flex-direction: row;
  gap: 1em;
  background-color: #f18f20;
  color: #fff;
  padding: 1em;
  border-top-right-radius: 5px;
  border-bottom-right-radius: 5px;
  font-size: 16px !important;
  height: 100%;
  opacity: 1;
  transition: ease-in-out 300ms;
}
@media only screen and (max-width:30em) {
  .searchbar__button {
    display: none;
  }
}
.searchbar__button:hover:not(:disabled) {
  background-color: #f29a36;
  transition: ease-in-out 300ms;
}
.searchbar__icon {
  width: 18px;
  height: 18px;
}
@media only screen and (max-width:30em) {
  .searchbar__icon {
    position: absolute;
    right: calc(1em + 20px);
    color: #858585;
  }
}
.searchbar__icon--mobile {
  display: none;
}
@media only screen and (max-width:30em) {
  .searchbar__icon--mobile {
    display: block;
  }
}

.search {
  margin-top: 4em;
}
@media only screen and (max-width:48em) {
  .search {
    margin-top: 3em;
  }
}
.search__headline {
  margin-bottom: 1.5em;
}
.search__results {
  list-style: none;
  padding: 0;
  padding-right: 3em;
  display: flex;
  flex-direction: column;
  row-gap: 2em;
}
@media only screen and (max-width:48em) {
  .search__results {
    padding-right: 0;
  }
}
.search__results li {
  padding: 0;
  margin: 0;
}

.search-entry {
  position: relative;
  padding: 1em;
  border: 1px solid #eaeaea;
  border-radius: 5px;
  min-height: 80px;
  transition: ease-in-out 300ms;
  display: flex;
  gap: 1em;
}
.search-entry:hover {
  transition: ease-in-out 300ms;
  border-color: #00853f;
}
.search-entry__headline {
  color: #00549e;
  margin-bottom: 0;
}
.search-entry__header {
  margin-bottom: 0.5em;
}
.search-entry__subline {
  color: #858585;
}
.search-entry__link {
  position: unset;
}
.search-entry__link::after {
  display: none;
}
.search-entry__text {
  margin-bottom: 0;
}
.search-entry__image {
  min-width: 75px;
  width: 75px;
  height: 75px;
  background-color: #eee;
}
.search-entry__image img {
  border-radius: 10px;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  transform: scale(1);
  transition: transform ease-in-out 300ms;
}

/** ! ==================================================
 * COMPONENTS/Filter
 * ================================================== */
.filter {
  position: relative;
  overflow: hidden;
}
.filter::after {
  width: 200px !important;
  right: 0;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0, white 100%);
}
@media only screen and (max-width:48em) {
  .filter::after {
    width: 50px !important;
  }
}
.filter__item {
  display: flex;
  align-items: center;
  list-style: none;
}
.filter__item:first-of-type {
  order: -1 !important;
}
.filter__item.is-active {
  order: -1;
}
.filter__link {
  padding: 0.75em 1.45em;
  border-radius: 32px;
  background-color: #eaeaea;
  border: 1px solid #eaeaea;
  transition: ease-in-out 300ms;
}
.filter__link::after {
  display: none;
}
.filter__link:hover {
  transition: ease-in-out 300ms;
  border: 1px solid #5c5c5c !important;
}
.filter__link:hover .filter__icon-close {
  transition: ease-in-out 300ms;
  transform: scale(1.2);
}
.filter__link.is-active {
  border: 1px solid #acacac;
  font-weight: 700;
}
.filter__link.is-active .filter__icon-close {
  display: inline;
}
.filter__icon-close {
  display: none;
  margin-left: 0.25em;
  width: 10px;
  height: 10px;
  transition: ease-in-out 300ms;
}
.filter__button {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(-50%, -50%);
  z-index: 7;
  transition: ease-in-out 300ms;
  width: 18px;
  height: 18px;
}
@media only screen and (max-width:48em) {
  .filter__button {
    display: none;
  }
}
.filter__button svg {
  width: 18px;
  height: 18px;
  color: #00549e;
  transition: ease-in-out 300ms;
}
.filter__button svg:hover {
  transition: ease-in-out 300ms;
  transform: scale(1.2);
}
.filter__button--left {
  right: unset;
  left: 5px;
}
.filter__button:disabled svg {
  color: #eaeaea;
  transition: ease-in-out 300ms;
  transform: scale(1);
}
.filter__list {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  white-space: nowrap;
  -moz-column-gap: 0.75em;
       column-gap: 0.75em;
  max-width: 100%;
  margin: 0;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  padding: 1em 2em;
}
@media only screen and (max-width:48em) {
  .filter__list {
    padding: 0 0 1em;
  }
}
.filter ::-webkit-scrollbar {
  display: none;
}
.filter__checkboxes {
  display: flex;
  flex-basis: 100%;
}
@media only screen and (max-width:48em) {
  .filter__checkboxes {
    flex-wrap: wrap;
    gap: 2.5em;
    margin-top: 2em;
    margin-bottom: 1.75em;
  }
}
.filter__checkboxes .checkbox {
  margin-left: 0;
  margin-bottom: 0;
}
.filter__checkboxes .fieldset {
  margin: 0;
  width: unset;
}

.filter-row {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 2em;
  margin-bottom: 3em;
}
.filter-row__small-bottom {
  margin-bottom: 1.5em;
}
.filter-row__resetButton {
  display: none;
  color: #00853f;
  margin-left: auto;
  margin-top: auto;
  position: relative;
  white-space: nowrap;
}
@media only screen and (max-width:64em) {
  .filter-row__resetButton {
    margin-left: unset;
  }
}
.filter-row__resetButton .loading-ellipsis {
  position: absolute;
  top: 20px;
}
.filter-row__resetButton .loading-ellipsis .loading-ellipsis__wrapper span {
  background: #ebebeb;
}
.filter-row__selects {
  display: flex;
  gap: 1.5em;
  flex-wrap: wrap;
}
.filter-row__selects > div {
  margin: 0;
}
.filter-row .loading-ellipsis {
  background: unset;
  z-index: 1;
}
.filter-row .checkbox .loading-ellipsis {
  position: relative;
  left: 20px;
}
.filter-row .checkbox .loading-ellipsis .loading-ellipsis__wrapper span {
  background: #ebebeb;
}
.filter-row .searchbar__button .loading-ellipsis {
  position: relative;
}
.filter-row .searchbar__button .loading-ellipsis .loading-ellipsis__wrapper span:last-child {
  display: none;
}
@media only screen and (max-width:64em) {
  .filter-row {
    position: fixed;
    right: 0%;
    top: 0;
    width: 100%;
    height: 100%;
    padding: 0 1em 4.5em 1em;
    background-color: #fff;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    z-index: 200;
    transform: translateX(100%);
    transition: transform 300ms ease-in-out;
    gap: 0;
  }
  .filter-row:focus-within, .filter-row:focus {
    transform: translateX(0%);
  }
  .filter-row:focus-within + .nav-layer, .filter-row:focus + .nav-layer {
    visibility: visible;
    opacity: 1;
  }
}
.filter-row.is-open {
  transform: translateX(0%);
}

.search-filter--form-container {
  display: none;
}
@media only screen and (max-width:64em) {
  .search-filter--form-container {
    display: flex;
  }
  .search-filter--form-container .btn-filter--open {
    margin-left: 5px;
    background-color: #f18f20;
    color: white;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
  }
}
.search-filter--header {
  display: none;
  height: 4.5em;
  justify-content: center;
  align-items: center;
}
@media only screen and (max-width:64em) {
  .search-filter--header {
    display: flex;
  }
}
.search-filter--header h2 {
  margin-bottom: 0;
}

.filter-row.is-open .fake-select--grow-space {
  order: 2;
}
.filter-row.is-open .fake-select--grow-space.search-filter-sort {
  order: 1;
}
.filter-row.is-open .searchbar-desktop--container {
  display: none;
}
@media only screen and (max-width:64em) {
  .filter-row__resetButton {
    display: none;
  }
}
.filter-row__setButtons {
  display: none;
}
@media only screen and (max-width:64em) {
  .filter-row__setButtons {
    display: flex;
    width: 100%;
    justify-content: space-between;
  }
}
.filter-row__setButtons .loading-ellipsis {
  left: 200px;
}
.filter-row .loading-ellipsis {
  background: unset;
}
.filter-row .filter__checkboxes {
  position: relative;
  justify-content: space-between;
  align-items: center;
}
.filter-row .filter__checkboxes .loading-ellipsis {
  position: absolute;
  width: unset;
}
.filter-row .filter__checkboxes .loading-ellipsis.loading--checkbox {
  left: 350px;
  top: 9px;
}
.filter-row .filter__checkboxes .loading-ellipsis.loading--reset {
  left: -50px;
  top: 1px;
}
.filter-row .filter__checkboxes .loading-ellipsis .loading-ellipsis__wrapper span {
  background: #ebebeb;
}
.filter-row .filter__checkboxes.filter-row__setButtons .loading-ellipsis.loading--reset {
  left: 200px;
}
.filter-row .searchbar__form {
  position: relative;
}
.filter-row .searchbar__form .loading-ellipsis {
  position: absolute;
}
.filter-row .searchbar__form .loading-ellipsis .loading-ellipsis__wrapper span {
  background: white;
}

.js-filter-result-headline {
  /* Initially hidden, but JavaScript will show it when results are available */
  margin-bottom: 1rem;
  /* Special class to override display: none */
}
.js-filter-result-headline .result-title {
  /* All headline variations start hidden, JS will show the appropriate one */
  margin-bottom: 0;
  margin-top: 0;
}
.js-filter-result-headline .visible-headline {
  display: block !important;
}
.js-filter-result-headline.visible-container {
  display: flex !important;
  align-items: center;
  width: 50%;
}

.filter-tag-template {
  display: none;
}

.searchbar--mobile {
  position: relative;
}
.searchbar--mobile .loading-ellipsis {
  background-color: unset;
}

.filter-tag-container {
  display: flex;
  gap: 0.5em;
  flex-wrap: wrap;
}
.filter-tag-container .filter-tag {
  border: 1px solid gray;
  border-radius: 5px;
  display: flex;
  padding: 0 10px;
  gap: 0.5em;
  background-color: #f4f4f4;
  color: #727171;
  align-items: center;
}
.filter-tag-container .filter-tag .filter-tag-content {
  font-size: 0.8em;
  white-space: nowrap;
}
.filter-tag-container .filter-tag .loading-ellipsis {
  position: relative;
  left: -60px;
}
.filter-tag-container .filter-tag .loading-ellipsis .loading-ellipsis__wrapper span {
  background: #fff;
}

.loading--reset--large {
  background-color: unset;
}

.filter-reset-large-container {
  display: flex;
  gap: 1em;
  max-width: 100%;
  flex-wrap: wrap;
  row-gap: 0.5em;
}
.filter-reset-large-container .filter-row__resetButton {
  margin-left: 5px;
}

.filter-reset-overlay-container.filter-row__setButtons .loading-ellipsis .loading-ellipsis__wrapper span {
  background: #ebebeb;
}
.filter-reset-overlay-container.filter-row__setButtons .loading-ellipsis.loading--reset {
  left: 200px;
}
.filter-reset-overlay-container.filter-row__setButtons .loading-ellipsis.loading--reset--large {
  position: static;
  position: relative;
  left: unset;
  top: 20px;
  flex-direction: column;
  justify-content: center;
}
.filter-reset-overlay-container.filter-row__setButtons .loading-ellipsis.loading--reset--large .loading-ellipsis__wrapper {
  position: static;
  transform: translate(0%, 0%);
}

.fake-select--sort {
  min-width: 150px;
  width: 180px;
}
@media only screen and (max-width:48em) {
  .fake-select--sort {
    min-width: 200px;
  }
}
.fake-select--sort .fake-select__selected {
  min-width: auto;
}

.result-container {
  display: flex;
  width: 100%;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}
@media only screen and (max-width:48em) {
  .result-container {
    flex-wrap: nowrap;
  }
}
.result-container .js-filter-result-headline {
  flex: 1;
  margin-bottom: 0;
}
.result-container .js-filter-result-headline .result-title {
  margin-right: 1rem;
}

/** ! ==================================================
 * COMPONENTS/Media
 * ================================================== */
iframe {
  border: none;
  width: 100%;
}

.tp-test iframe {
  height: 1250px;
}

figcaption {
  padding: 1.5em 0.25em 0 0.5em;
  position: relative;
  margin-left: 10px;
  color: #727171;
  font-weight: 500;
}
figcaption::before {
  content: "";
  background-color: #eee;
  width: 5px;
  height: calc(100% - 1.5em);
  left: -10px;
  display: inline-block;
  position: absolute;
}

/** ! ==================================================
 * COMPONENTS/ Action Overlay
 * ================================================== */
.action-overlay {
  position: absolute;
  left: 50%;
  top: 140%;
  transform: translateX(-60%);
  width: 450px;
  z-index: 200;
  color: #fff;
  visibility: hidden;
  opacity: 0;
  transition: ease-in-out 300ms;
}
@media only screen and (max-width:48em) {
  .action-overlay {
    position: fixed;
    top: 0;
    right: 0;
    width: 100vw;
    transform: translateX(-50%);
    max-height: 100vh;
    overflow: auto;
  }
}
.action-overlay::after {
  content: "";
  position: absolute;
  top: 0;
  left: 60%;
  margin-left: -10px;
  border-width: 10px;
  border-style: solid;
  border-color: #fff transparent transparent;
  background-color: transparent;
  transform: rotate(180deg);
  transform-origin: top;
}
@media only screen and (max-width:48em) {
  .action-overlay::after {
    display: none;
  }
}
.action-overlay.is-open {
  visibility: visible;
  opacity: 1;
  transition: ease-in-out 300ms;
}
.action-overlay__wrapper {
  display: flex;
  flex-direction: column;
  padding: 1.5em;
  background-color: #fff;
  border-radius: 5px;
  box-shadow: -2px 0 18px 0 rgba(0, 0, 0, 0.3);
  height: 100%;
}
@media only screen and (max-width:48em) {
  .action-overlay__wrapper {
    padding: 3em 4em 4em;
  }
}
@media only screen and (max-width:48em) {
  .action-overlay__wrapper {
    padding: 2em;
    border-radius: 0;
  }
}
.action-overlay__cart {
  display: flex;
  flex-direction: column;
  max-height: 350px;
  min-height: 1em;
  overflow: auto;
}
@media only screen and (max-width:48em) {
  .action-overlay__cart {
    max-height: unset;
    height: 100%;
  }
}
.action-overlay__cart:empty::after {
  content: attr(data-empty-text);
  position: absolute;
  color: #333;
  font-size: 12px;
  font-size: 0.75rem;
}
.action-overlay__headline {
  margin-bottom: 1em;
}
.action-overlay__button {
  text-align: center;
  margin-top: 1.5em;
}
.action-overlay__button .mobile-cart-back-button {
  display: none;
}
.action-overlay__button .js-button-continue {
  display: none;
}
@media only screen and (max-width:64em) {
  .action-overlay__button {
    padding-top: 1.5em;
    position: relative;
  }
  .action-overlay__button .mobile-cart-back-button {
    display: block;
    position: absolute;
    left: 0;
    font-weight: 400;
    bottom: -4px;
    text-align: left;
    padding-left: 0;
  }
}
.action-overlay__icon-close {
  position: absolute;
  right: 5%;
  color: #333;
  transition: ease-in-out 300ms;
}
.action-overlay__icon-close:hover {
  cursor: pointer;
  transform: scale(1.15);
  transition: ease-in-out 300ms;
}
@media only screen and (max-width:48em) {
  .action-overlay__icon-close {
    right: 10%;
  }
}
@media only screen and (max-width:48em) {
  .action-overlay__icon-close {
    right: 5%;
  }
}
.action-overlay__icon-close svg {
  width: 13px;
  height: 13px;
}

/** ! ==================================================
 * COMPONENTS/ Shopping Cart, Watchlist
 * ================================================== */
[data-shopware-wishlist=overlay] .shopware-item,
[data-shopware-cart=overlay] .shopware-item {
  position: relative;
  display: flex;
  gap: 1em;
  border-bottom: 1px solid #eaeaea;
  padding: 1.5em 0;
}
@media only screen and (max-width:48em) {
  [data-shopware-wishlist=overlay] .shopware-item,
  [data-shopware-cart=overlay] .shopware-item {
    gap: 2em;
  }
}
[data-shopware-wishlist=overlay] .shopware-item:first-of-type,
[data-shopware-cart=overlay] .shopware-item:first-of-type {
  padding-top: 0;
}
[data-shopware-wishlist=overlay] .shopware-item:last-of-type,
[data-shopware-cart=overlay] .shopware-item:last-of-type {
  border-bottom: none;
}
[data-shopware-wishlist=overlay] .shopware-item:only-of-type,
[data-shopware-cart=overlay] .shopware-item:only-of-type {
  padding-bottom: 0;
}
[data-shopware-wishlist=overlay] .shopware-item__image,
[data-shopware-cart=overlay] .shopware-item__image {
  width: 70px;
  min-width: 70px;
}
@media only screen and (max-width:48em) {
  [data-shopware-wishlist=overlay] .shopware-item__image,
  [data-shopware-cart=overlay] .shopware-item__image {
    width: 80px;
  }
}
[data-shopware-wishlist=overlay] .shopware-item__content,
[data-shopware-cart=overlay] .shopware-item__content {
  height: -moz-fit-content;
  height: fit-content;
  max-width: 55%;
}
@media only screen and (max-width:48em) {
  [data-shopware-wishlist=overlay] .shopware-item__content,
  [data-shopware-cart=overlay] .shopware-item__content {
    max-width: unset;
  }
}
[data-shopware-wishlist=overlay] .shopware-item__content *,
[data-shopware-cart=overlay] .shopware-item__content * {
  color: #333;
}
[data-shopware-wishlist=overlay] .shopware-item__headline,
[data-shopware-cart=overlay] .shopware-item__headline {
  max-width: 400px;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-bottom: 0.75em;
}
[data-shopware-wishlist=overlay] .shopware-item__variant-title,
[data-shopware-cart=overlay] .shopware-item__variant-title {
  font-size: 12px;
  margin-bottom: 0.5em;
}
[data-shopware-wishlist=overlay] .shopware-item__button,
[data-shopware-cart=overlay] .shopware-item__button {
  padding: 0;
  color: #00549e;
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 10px;
  font-weight: 400;
  min-width: -moz-max-content;
  min-width: max-content;
  border: 0;
}
[data-shopware-wishlist=overlay] .shopware-item__button.shopware-item__button--border,
[data-shopware-cart=overlay] .shopware-item__button.shopware-item__button--border {
  display: inline-block;
}
[data-shopware-wishlist=overlay] .shopware-item__button.shopware-item__button--border:first-of-type,
[data-shopware-cart=overlay] .shopware-item__button.shopware-item__button--border:first-of-type {
  border-right: 1px solid #333;
  padding-right: 0.75em;
}
[data-shopware-wishlist=overlay] .shopware-item__button.shopware-item__button--border:nth-of-type(2),
[data-shopware-cart=overlay] .shopware-item__button.shopware-item__button--border:nth-of-type(2) {
  padding-left: 0.75em;
}
[data-shopware-wishlist=overlay] .shopware-item__select,
[data-shopware-cart=overlay] .shopware-item__select {
  position: absolute;
  right: 2em;
  bottom: 1em;
}
@media only screen and (max-width:48em) {
  [data-shopware-wishlist=overlay] .shopware-item__select,
  [data-shopware-cart=overlay] .shopware-item__select {
    position: unset;
    right: unset;
    bottom: unset;
    margin-top: 1em;
  }
}

.shopware-item .shopware-item__price {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: baseline;
  -moz-column-gap: 0.35em;
       column-gap: 0.35em;
  min-width: 60px;
}
.shopware-item .shopware-item__price span {
  color: #00549e;
  font-weight: 800;
}
.shopware-item .shopware-item__price span:nth-of-type(2) {
  color: #333;
  font-weight: 400;
  font-size: 11px;
}
.shopware-item .shopware-item__select {
  background-color: inherit;
  outline: none;
  padding: 0.4em 0.25em;
  border-radius: 3px;
  border-color: #acacac;
  width: 60px;
  min-width: 60px;
  padding-left: 0.5em;
}
.shopware-item__headline {
  min-width: 120px;
  hyphens: auto;
}
.shopware-item__variant-title {
  font-size: 13px;
}
.shopware-item__variant-title * {
  font-size: inherit !important;
}

table.shopware-cart {
  width: 100%;
}
table.shopware-cart thead {
  border-bottom: 1px solid #acacac;
  border-top: 1px solid #acacac;
}
table.shopware-cart th,
table.shopware-cart td {
  text-align: left;
  color: #333;
  padding: 1.5em 1em;
}
@media only screen and (max-width:48em) {
  table.shopware-cart th,
  table.shopware-cart td {
    padding: 1em;
  }
}
table.shopware-cart th {
  padding-top: 0.5em;
  padding-bottom: 0.5em;
  font-weight: 800;
  color: #333;
}
table.shopware-cart td {
  border-top: 1px solid #acacac;
  border-bottom: 1px solid #acacac;
}
table.shopware-cart .shopware-item .shopware-item__image {
  width: 80px;
}
@media only screen and (max-width:48em) {
  table.shopware-cart .shopware-item .shopware-item__image {
    width: 50px;
  }
}
table.shopware-cart .btn {
  padding: 0;
  background-color: inherit;
  font-weight: 400;
}

/** ! ==================================================
 * COMPONENTS/Cards
 * reusable material cards
 * ================================================== */
.lp-cards {
  display: grid;
  grid-column-gap: 3.5em;
  grid-row-gap: 3em;
  padding: 0;
  grid-template-columns: 1fr 1fr;
  gap: 1.25em;
}
@media only screen and (max-width:48em) {
  .lp-cards {
    grid-template-columns: 1fr;
  }
}

.lp-card {
  position: relative;
  display: flex;
  flex-direction: column;
  background-color: #fff;
  border-radius: 10px;
  border: 2px solid #ebebeb;
  padding: 1.75em;
  box-shadow: 2px 22px 50px 1px rgba(0, 0, 0, 0.1);
  transition: ease-in-out 300ms;
}
.lp-card:hover {
  box-shadow: 2px 22px 50px 1px rgba(0, 0, 0, 0.2705882353);
  transition: ease-in-out 300ms;
}
.lp-card:focus-within {
  outline: 1px solid #00549e;
}
.lp-card__headline {
  display: block;
  font-weight: 800;
  margin-bottom: 0.25em;
}
@media only screen and (max-width:30em) {
  .lp-card__headline {
    margin-bottom: 0;
  }
}
.lp-card__subline {
  display: block;
  margin-bottom: 0.75em;
  font-size: 16px;
  font-size: calc(14px + (16 - 14) * ((100vw - 320px) / (1680 - 320)));
  font-size: clamp(0.875rem, 1.1678832117vw, 1rem);
  color: #acacac;
}
.lp-card__text {
  margin-bottom: 1em;
}
@media only screen and (max-width:30em) {
  .lp-card .card__text {
    display: block;
  }
}
.lp-card__image {
  flex: 1;
}
@media only screen and (max-width:30em) {
  .lp-card__image {
    display: flex;
    align-items: flex-end;
    height: 100px;
    bottom: 1em;
    right: 1em;
    order: 1;
  }
}
.lp-card__image img {
  width: 225px;
  -o-object-fit: contain;
     object-fit: contain;
}
@media only screen and (max-width:30em) {
  .lp-card__image img {
    width: 100px;
  }
}
.lp-card__content {
  display: flex;
  flex-direction: column;
  margin-right: 1.5em;
  flex: 2;
}
@media only screen and (max-width:30em) {
  .lp-card__content {
    margin-right: unset;
    margin-top: 0.5em;
    order: 2;
  }
}
.lp-card__action {
  white-space: nowrap;
}
.lp-card__wrapper {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  height: 100%;
  width: 100%;
}
@media only screen and (max-width:30em) {
  .lp-card__wrapper {
    flex-direction: column;
  }
}
.lp-card__overlay-link:hover ~ .lp-card__wrapper .lp-card__content .card__action {
  background-size: 100% 2px, 100% 2px;
}

/** ! ==================================================
 * COMPONENTS/ Order Overview in Cockpit
 * ================================================== */
.orders {
  border: 2px solid #ebebeb;
  border-radius: 10px;
  padding: 1em 0 2em;
}
.orders__head {
  padding: 1em 2em 0;
}
.orders__headline {
  font-weight: 800;
  margin-bottom: 0.5em;
}
.order {
  padding: 1em 0;
  background-color: #f4f4f4;
  margin: 1em 0;
}
@media only screen and (max-width:48em) {
  .order {
    padding: 2em 0;
  }
}
.order > div {
  padding-right: 2em;
  padding-left: 2em;
}
@media only screen and (max-width:48em) {
  .order > div {
    padding-right: 1em;
    padding-left: 1em;
  }
}
.order:first-of-type {
  margin-top: 0;
}
.order:last-of-type {
  margin-bottom: 0;
}
.order__infos {
  display: flex;
  -moz-column-gap: 3em;
       column-gap: 3em;
  row-gap: 1em;
  padding-bottom: 0.75em;
}
@media only screen and (max-width:48em) {
  .order__infos {
    flex-wrap: wrap;
  }
}
.order__info {
  display: flex;
  flex-direction: column;
}
@media only screen and (max-width:48em) {
  .order__info {
    flex-basis: 40%;
  }
}
.order__headline {
  font-weight: 700;
}
.order__text {
  font-family: "Nunito Sans", "Helvetica", "Arial", sans-serif;
}
.order__button {
  display: flex;
  color: #00853f;
  padding: 0;
  transition: ease-in-out 300ms;
}
.order__button[aria-expanded=true]::after {
  content: attr(data-hide-content);
}
.order__button[aria-expanded=false]::after {
  content: attr(data-show-content);
}
.order__button--right-align {
  margin-left: auto;
  margin-bottom: auto;
}
@media only screen and (max-width:48em) {
  .order__button--right-align {
    margin: 0;
  }
}
.order__product {
  display: flex;
  padding: 1.5em 0;
  max-width: 650px;
}
.order__product-title {
  font-weight: 700;
}
.order__product-description {
  margin-bottom: 0;
}
.order__product-details {
  display: flex;
  margin-top: 0.25em;
  flex-wrap: wrap;
}
@media only screen and (max-width:30em) {
  .order__product-details {
    margin-top: 0.5em;
    row-gap: 0.35em;
    flex-direction: column;
  }
  .order__product-details > * {
    border: none !important;
    padding-left: 0 !important;
  }
}
.order__product-details > * {
  border-right: 1px solid #333;
  padding: 0 0.5em;
}
.order__product-details > *:last-of-type {
  padding-right: 0;
  border: none;
}
.order__product-details > *:first-of-type {
  padding-left: 0;
}
.order__product-variant * {
  font-weight: 800;
  margin-top: 0.25em;
}
.order__product-fact {
  line-height: 15px;
}
.order__product-image {
  min-height: 80px;
  min-width: 60px;
  height: 80px;
  width: 60px;
  background-color: transparent;
  margin-right: 1.5em;
}
.order__product-image img {
  -o-object-fit: contain;
     object-fit: contain;
  height: 100%;
  width: 100%;
}
.order__product-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.order__summary {
  display: flex;
  justify-content: space-between;
  max-width: 650px;
  padding-bottom: 1em;
}
@media only screen and (max-width:48em) {
  .order__summary {
    flex-direction: column;
  }
}
.order__info-detail {
  display: flex;
  flex-direction: column;
}
@media only screen and (max-width:48em) {
  .order__info-detail {
    margin-top: 1em;
  }
}
.order__info-detail--row {
  display: flex;
  justify-content: flex-end;
  gap: 2em;
}
@media only screen and (max-width:48em) {
  .order__info-detail--row {
    justify-content: space-between;
  }
}
.order__info-detail--row span:last-child {
  min-width: 60px;
  text-align: end;
}
.order__info-detail--bold * {
  font-weight: 800;
}
.order__info-links {
  margin-top: auto;
}
.order__info-link {
  color: #00853f;
}

/* Jobs Listing Styles */
.jobs-filters {
  background: #f4f4f4;
  padding: 2rem;
  border-radius: 8px;
  margin-bottom: 2rem;
}

.filter-form {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1rem;
  align-items: end;
}

.filter-group {
  display: flex;
  flex-direction: column;
}

.filter-group label {
  font-weight: 600;
  margin-bottom: 0.5rem;
  color: #333;
}

.filter-group input,
.filter-group select {
  padding: 0.75rem;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 1rem;
}

.filter-actions {
  grid-column: 1/-1;
  display: flex;
  gap: 1rem;
  justify-content: center;
  margin-top: 1rem;
}

.jobs-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 2rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #fff;
}

.jobs-count {
  font-weight: 600;
  color: #666;
}

.jobs-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  margin-bottom: 3rem;
}

.job-card {
  background: #fff;
  border: 2px solid #e5e5e5;
  border-radius: 12px;
  padding: 1.5rem;
  position: relative;
  transition: box-shadow 0.3s ease, transform 0.2s ease, border-color 0.3s ease;
  overflow: hidden;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.05);
  margin-bottom: 1rem;
  width: 100%;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  min-height: 160px; /* Set a minimum height for the card */
}
.job-card:hover {
  cursor: pointer;
}

.job-detail-card {
  background: #fff;
  padding: 1.5rem 0;
  position: relative;
  overflow: hidden;
  margin-bottom: 1rem;
  width: 100%;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  min-height: 160px; /* Set a minimum height for the card */
}
.job-detail-card .job-card-wrapper {
  align-items: flex-start;
}
.job-detail-card .job-card-wrapper .job-card-header {
  margin-bottom: 0.5em;
}
.job-detail-card .job-card-wrapper .job-description {
  margin-top: 3em;
}
.job-detail-card .job-card-wrapper .job-description h1,
.job-detail-card .job-card-wrapper .job-description h2,
.job-detail-card .job-card-wrapper .job-description h3,
.job-detail-card .job-card-wrapper .job-description h4,
.job-detail-card .job-card-wrapper .job-description h5,
.job-detail-card .job-card-wrapper .job-description h6 {
  padding-top: 2em;
}
.job-detail-card .job-card-wrapper .job-description h1:first-child,
.job-detail-card .job-card-wrapper .job-description h2:first-child,
.job-detail-card .job-card-wrapper .job-description h3:first-child,
.job-detail-card .job-card-wrapper .job-description h4:first-child,
.job-detail-card .job-card-wrapper .job-description h5:first-child,
.job-detail-card .job-card-wrapper .job-description h6:first-child {
  padding-top: 0;
}
.job-detail-card .job-card-logo-section {
  border: 1px solid #ebebeb;
  padding-right: 0;
  height: 200px;
}
.job-detail-card .job-card-logo-section::after {
  all: unset;
}
.job-detail-card .job-card-logo-section img {
  margin: unset;
  max-height: 150px;
}
.job-detail-card .job-card-meta {
  border: 0;
  padding-top: 0;
}

/* 
 * Job Card Redesign
 * - Card has a border with rounded corners
 * - Left 25% contains company logo or placeholder
 * - Right 75% has job title in orange, company name below
 * - Bottom area has location and start date
 * - Hover effects show button and raise card
 */
.job-card:hover {
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.15);
  transform: translateY(-4px);
  border-color: #f58220;
  z-index: 2;
}

.job-featured-badge {
  position: absolute;
  top: 1rem;
  right: 1rem;
  background: #007acc;
  color: white;
  padding: 0.25rem 0.75rem;
  border-radius: 12px;
  font-size: 0.875rem;
  font-weight: 600;
}

.job-card-header {
  margin-bottom: 0.75rem;
}

.job-title {
  margin: 0 30px 0.5em 0;
  color: #f58220;
}

.job-company {
  color: #333;
  font-weight: 700;
  font-size: clamp(1rem, 1.3vw, 1.1rem);
}

.job-card-meta {
  display: flex;
  justify-content: flex-start;
  gap: 1em;
  font-size: 0.85rem;
  color: #666;
  margin-top: auto;
  padding-top: 0.75rem;
  border-top: 1px solid #fff;
  margin-bottom: 0;
}

.job-card-meta > div {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

.job-excerpt {
  margin-bottom: 1rem;
  line-height: 1.5;
  color: #555;
}

.job-salary {
  font-weight: 600;
  color: #007acc;
  margin-bottom: 1rem;
}

.job-card-footer {
  display: flex;
  gap: 1rem;
  margin-top: auto;
  display: none; /* Hide the footer with the button by default */
}

/* Show footer with button on hover */
.job-card:hover .job-card-footer {
  display: flex;
}

.job-card-wrapper {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 100%; /* Ensure minimum height of the wrapper */
  position: relative; /* Add position relative for absolute positioning of wishlist */
}

/* Wishlist button positioning in top right corner */
.job-card-wishlist {
  z-index: 1;
  flex-direction: column;
  align-self: stretch;
  justify-content: space-between;
  gap: 0.5rem;
  display: inline-flex;
}
.job-card-wishlist .btn-wishlist {
  background: transparent;
  border: none;
  padding: 0 0.5rem;
  cursor: pointer;
  border-radius: 50%;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}
.job-card-wishlist .btn-wishlist:hover {
  background: rgba(255, 255, 255, 0.9);
  transform: scale(1.1);
}
.job-card-wishlist .btn-wishlist .wishlist-icon {
  width: 20px;
  height: 20px;
  color: #666;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  transition: all 0.2s ease;
}
.job-card-wishlist .btn-wishlist .wishlist-icon.wishlist-icon--in-list {
  color: #e53e3e;
  fill: currentColor;
  stroke: none;
}
.job-card-wishlist .btn-wishlist.is-in-wishlist .wishlist-icon {
  color: #e53e3e;
}

.job-card-logo-section {
  width: 25%;
  padding-right: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  position: relative;
  height: 100%;
  padding-top: 0; /* Remove top padding to eliminate gaps */
}
.job-card-logo-section img {
  max-height: 100px;
  max-width: 100%;
  height: auto;
  width: auto;
  vertical-align: middle;
}

.job-card-logo-section::after {
  content: "";
  position: absolute;
  top: -1.5rem; /* Extend above to reach the top border, matching card padding */
  right: 0;
  height: calc(100% + 3rem); /* Extend beyond parent to reach both top and bottom borders */
  width: 1px;
  background-color: #e0e0e0;
}

.job-company-logo {
  max-width: 100%;
  max-height: 100px;
  -o-object-fit: contain;
     object-fit: contain;
  transition: transform 0.3s ease;
  margin-top: 1.5rem; /* Add top margin to center the logo vertically */
}

.job-card:hover .job-company-logo {
  transform: scale(1.05);
}

.job-card-content-section {
  width: 75%;
  display: flex;
  flex-direction: column;
  padding-left: 2.5em;
  min-height: 100%; /* Ensure content takes full height */
}
@media only screen and (max-width:48em) {
  .job-card-content-section {
    padding-left: 1.25rem;
  }
}

/* Job Detail Styles */
.job-detail {
  max-width: 800px;
  margin: 0 auto;
}

.job-header {
  margin-bottom: 2rem;
  padding-bottom: 2rem;
  border-bottom: 2px solid #eee;
}

/* Job Details Page Styles */
.job-details-wrapper {
  padding: 2rem 0;
}

.job-details-card-container {
  margin-bottom: 3rem;
}
.job-details-card-container .job-details-heading {
  font-size: 1.5rem;
  color: #f58220;
  margin-bottom: 1.5rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid #e0e0e0;
}
.job-details-card-container .jobs-etrainer-banner .banner-section__image img {
  right: 120px;
}
.job-details-card-container .jobs-etrainer-banner .banner-section__comenius {
  position: absolute;
  right: 40px;
  z-index: 1;
  bottom: 0px;
}

.job-details-content {
  max-width: 900px;
  margin: 0 auto;
}
.job-details-content .job-details-section {
  margin-bottom: 3rem;
  padding: 2rem;
  background: #f9f9f9;
  border-radius: 8px;
  border-left: 4px solid #f58220;
}
.job-details-content .job-details-section h3 {
  font-size: 1.25rem;
  color: #f58220;
  margin-bottom: 1.5rem;
  font-weight: 600;
}
.job-details-content .job-details-section h4 {
  font-size: 1.1rem;
  color: #333;
  margin-bottom: 1rem;
  font-weight: 600;
}
.job-details-content .job-details-section.job-application-section {
  background: #f0f8f0;
  border-left-color: #28a745;
}
.job-details-content .job-details-section.job-application-section h3 {
  color: #28a745;
}

.job-description,
.job-requirements,
.company-description,
.additional-info {
  line-height: 1.6;
  color: #555;
}
.job-description p,
.job-requirements p,
.company-description p,
.additional-info p {
  margin-bottom: 1rem;
}

.company-name {
  color: #f58220;
  font-size: 1.2rem;
  margin-bottom: 1rem;
}

.company-logo-large {
  text-align: center;
  margin-top: 2rem;
}
.company-logo-large .company-logo-image {
  max-width: 200px;
  max-height: 120px;
  -o-object-fit: contain;
     object-fit: contain;
}

.job-info-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 1rem;
}
.job-info-grid .job-info-item {
  display: flex;
  align-items: flex-start;
  padding: 1rem;
  background: #fff;
  border-radius: 6px;
  border: 1px solid #e0e0e0;
}
.job-info-grid .job-info-item .job-info-label {
  font-weight: 600;
  color: #666;
  min-width: 150px;
  margin-right: 1rem;
}
.job-info-grid .job-info-item .job-info-value {
  color: #333;
  flex: 1;
}

.application-link {
  text-align: center;
  margin-bottom: 2rem;
}
.application-link .btn--large {
  padding: 1rem 2rem;
  font-size: 1.1rem;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.application-email {
  text-align: center;
}
.application-email p {
  color: #666;
  margin: 0;
}
.application-email a {
  color: #f58220;
  text-decoration: none;
}
.application-email a:hover {
  text-decoration: underline;
}

.job-details-navigation {
  text-align: center;
  margin-top: 3rem;
  padding-top: 2rem;
  border-top: 1px solid #e0e0e0;
}
.job-details-navigation .btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.job-company h2 {
  margin: 0 0 1rem 0;
  color: #007acc;
  font-size: clamp(1rem, 1.3vw, 1.1rem);
}

.job-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  margin-bottom: 1rem;
}

.job-meta > div {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: #666;
}

.job-featured .badge {
  background: #007acc;
  color: white;
  padding: 0.5rem 1rem;
  border-radius: 20px;
  font-weight: 600;
}

.job-content {
  margin-bottom: 3rem;
}

.job-content section {
  margin-bottom: 2rem;
}

.job-content h3 {
  color: #333;
  margin-bottom: 1rem;
  font-size: 1.25rem;
}

.job-content .text {
  line-height: 1.6;
  color: #555;
}

.job-actions {
  display: flex;
  gap: 1rem;
  margin-bottom: 2rem;
  flex-wrap: wrap;
}

.job-contact {
  background: #f9f9f9;
  padding: 1.5rem;
  border-radius: 8px;
  margin-bottom: 2rem;
}

.job-contact > div {
  margin-bottom: 0.5rem;
}

.job-taxonomies {
  margin-bottom: 2rem;
}

.taxonomy-group {
  margin-bottom: 1.5rem;
}

.taxonomy-group h4 {
  margin-bottom: 0.5rem;
  color: #666;
}

.taxonomy-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.taxonomy-tags .tag {
  background: #e5e5e5;
  padding: 0.25rem 0.75rem;
  border-radius: 12px;
  font-size: 0.875rem;
  color: #666;
}

.job-expires {
  background: #fff3cd;
  border: 1px solid #ffeaa7;
  border-radius: 4px;
  padding: 1rem;
  color: #856404;
}

/* Featured Jobs Section */
.featured-jobs {
  margin-top: 3rem;
  padding-top: 3rem;
  border-top: 2px solid #eee;
}

.featured-jobs h2 {
  margin-bottom: 2rem;
  text-align: center;
}

.featured-jobs-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 1.5rem;
}

.featured-job-card {
  background: #f8f9fa;
  padding: 1.5rem;
  border-radius: 8px;
  text-align: center;
}

.featured-job-card h3 {
  margin: 0 0 0.5rem 0;
  font-size: 1.1rem;
}

.featured-job-card a {
  color: #333;
  text-decoration: none;
}

.featured-job-card a:hover {
  color: #007acc;
}

.featured-job-card .company,
.featured-job-card .location {
  color: #666;
  font-size: 0.875rem;
  margin-bottom: 0.25rem;
}

/* No Jobs State */
.no-jobs {
  text-align: center;
  padding: 3rem;
  background: #f8f9fa;
  border-radius: 8px;
}

.no-jobs h2 {
  margin-bottom: 1rem;
  color: #666;
}

.no-jobs p {
  margin-bottom: 2rem;
  color: #777;
}

/* Pagination */
.pagination {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 3rem;
  padding-top: 2rem;
  border-top: 1px solid #fff;
}

.pagination-info {
  color: #666;
  font-weight: 600;
}

.pagination-prev,
.pagination-next {
  color: #fff;
  padding: 0.75rem 1.5rem;
  border: 0;
  text-decoration: none;
  font-weight: 600;
}

.jobs-page {
  /* Button Styles */
}
.jobs-page .btn {
  display: inline-block;
  padding: 0.75rem 1.5rem;
  border: none;
  border-radius: 10px;
  text-decoration: none;
  font-weight: 600;
  text-align: center;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.jobs-page .btn.btn-view-details {
  border: none;
  padding: 0.5rem;
  cursor: pointer;
  border-radius: 4px;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  width: 40px;
  min-width: auto;
  background-color: #f58220; /* Orange button to match the job title */
}
.jobs-page .btn.btn-view-details:hover {
  transform: scale(1.1);
}
.jobs-page .btn.btn-view-details .view-details-icon {
  width: 16px;
  height: 16px;
  color: #fff;
  fill: currentColor;
  transition: all 0.2s ease;
}
.jobs-page .btn .btn--small {
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
  background-color: #f58220; /* Orange button to match the job title */
  color: #fff;
  border: none;
  border-radius: 4px;
  text-decoration: none;
  transition: background-color 0.2s ease;
}
.jobs-page .btn .btn--small:hover {
  background-color: #e07515;
}
.jobs-page .btn-primary {
  background: #007acc;
  color: #fff;
}
.jobs-page .btn-primary:hover {
  background: #005fa3;
}
.jobs-page .btn-secondary {
  background: #6c757d;
  color: #fff;
}
.jobs-page .btn-secondary:hover {
  background: #545b62;
}

/* Job Card Variants */
.job-card--compact {
  padding: 1rem;
}

.job-card--compact .job-title {
  font-size: 1rem;
  margin-bottom: 0.25rem;
}

.job-card--compact .job-card-meta {
  gap: 0.5rem;
  font-size: 0.8rem;
}

.job-card--compact .job-company-logo {
  max-height: 60px;
}

.job-card--featured {
  border: 2px solid #f58220; /* Orange border for featured jobs */
  background: linear-gradient(135deg, #fff 0%, #fff8f3 100%);
}

.btn-details {
  padding: 0.45em;
}

.jobs-wishlist-box-container {
  position: relative;
  width: 100%;
  height: 0px;
  color: #fff;
  margin-top: 10px;
}
.jobs-wishlist-box-container .jobs-wishlist-box {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  background-color: #f58220;
  width: 150px;
  height: 50px;
  right: 0;
  top: -35px;
  border-top-left-radius: 8px;
  border-bottom-left-radius: 8px;
  z-index: 1;
}
@media only screen and (max-width:64em) {
  .jobs-wishlist-box-container .jobs-wishlist-box {
    right: -10px;
    top: -10px;
  }
}
@media only screen and (max-width:48em) {
  .jobs-wishlist-box-container .jobs-wishlist-box {
    right: 0;
    top: -15px;
  }
}
.jobs-wishlist-box-container .jobs-wishlist-box span {
  color: #fff;
}
.jobs-wishlist-box-container .jobs-wishlist-box .jobs-wishlist-heart {
  width: 16px;
  height: 16px;
  color: #333;
  fill: #f58220;
  stroke: #333;
}
.jobs-wishlist-box-container .jobs-wishlist-box .wishlist-icon-container {
  position: relative;
  display: inline-block;
  margin-top: 4px;
}
.jobs-wishlist-box-container .jobs-wishlist-box .wishlist-heart {
  color: #fff;
  fill: #fff;
  stroke: #fff;
  width: 22px;
  height: 22px;
}
.jobs-wishlist-box-container .jobs-wishlist-box .wishlist-heart.wishlist-heart--filled {
  fill: #fff;
}
.jobs-wishlist-box-container .jobs-wishlist-box .wishlist-counter {
  position: absolute;
  top: -8px;
  left: -8px;
  background: #e53e3e;
  color: #fff;
  border-radius: 50%;
  min-width: 18px;
  height: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 600;
  line-height: 1;
}

.job-card-redesigned {
  /* Force the redesign to apply */
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.08);
}

.job-partner-link-container {
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.job-partner-link-container .job-partner-link-container-intro {
  margin-top: 1em;
}
.job-partner-link-container .btn {
  background-color: #f18f20;
}

.section-banner-jobs {
  margin-bottom: 16px !important;
}

.banner-jobs-youbot {
  overflow: visible;
  position: relative;
  height: 160px;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 1.5em;
}
@media only screen and (max-width:48em) {
  .banner-jobs-youbot {
    padding-top: 1em;
    padding-left: 180px;
  }
}
.banner-jobs-youbot .banner__image {
  position: absolute;
  width: auto;
  height: 240px;
  top: -40px;
  left: -50px;
}
.banner-jobs-youbot .banner__headline {
  font-weight: 800;
  color: #ccddec;
  margin-bottom: 10px;
}
@media only screen and (max-width:48em) {
  .banner-jobs-youbot .banner__headline {
    font-size: clamp(1em, 4vw, 1.5em);
    width: 100%;
  }
}
@media only screen and (max-width: 530px) {
  .banner-jobs-youbot .banner__headline {
    margin-top: 0;
  }
}
.banner-jobs-youbot .banner__content {
  flex: 1;
  display: flex;
  justify-content: center;
  flex-direction: column;
  gap: 0;
  align-items: center;
}
@media only screen and (max-width:48em) {
  .banner-jobs-youbot .banner__content {
    align-items: flex-start;
    width: 100%;
  }
}
.banner-jobs-youbot .banner__text {
  font-size: 1rem;
  margin-bottom: 1rem;
}
@media only screen and (max-width:48em) {
  .banner-jobs-youbot .banner__text {
    display: none;
  }
}
.banner-jobs-youbot .banner__button {
  background-color: #ccddec;
  color: #0a5aab;
  padding: 0.5rem 1rem;
  border: none;
  border-radius: 10px;
  cursor: pointer;
  margin-top: 0;
}
.banner-jobs-youbot .banner__logo {
  max-width: 100%;
  height: 50px;
  vertical-align: middle;
  position: absolute;
  right: 20px;
  bottom: 20px;
}
@media only screen and (max-width:48em) {
  .banner-jobs-youbot .banner__logo {
    display: none;
  }
}

.banner-jobs-etrainer {
  overflow: visible;
  position: relative;
  height: 160px;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 1.5em;
  background-color: #ccddec;
  border: 1px solid #0a5aab;
  margin-bottom: 16px;
  margin-top: 0;
}
@media only screen and (max-width:48em) {
  .banner-jobs-etrainer {
    padding-left: 170px;
  }
}
@media only screen and (max-width:30em) {
  .banner-jobs-etrainer {
    padding-left: 145px;
  }
}
.banner-jobs-etrainer .banner__image {
  position: absolute;
  width: auto;
  height: 200px;
  top: -20px;
  left: -11px;
}
.banner-jobs-etrainer .banner__headline {
  font-weight: 800;
  color: #0a5aab;
  margin-bottom: 10px;
}
@media only screen and (max-width:48em) {
  .banner-jobs-etrainer .banner__headline {
    font-size: clamp(1em, 4vw, 1.5em);
    width: 100%;
  }
}
@media only screen and (max-width:30em) {
  .banner-jobs-etrainer .banner__headline {
    margin-top: 0;
  }
}
.banner-jobs-etrainer .banner__content {
  flex: 1;
  display: flex;
  justify-content: center;
  flex-direction: column;
  gap: 0;
  align-items: center;
  color: #0a5aab;
}
@media only screen and (max-width:48em) {
  .banner-jobs-etrainer .banner__content {
    align-items: flex-start;
    width: 100%;
  }
}
.banner-jobs-etrainer .banner__text {
  font-size: 1rem;
  margin-bottom: 1rem;
}
@media only screen and (max-width:48em) {
  .banner-jobs-etrainer .banner__text {
    display: none;
  }
}
.banner-jobs-etrainer .banner__button {
  background-color: #0a5aab;
  color: #ccddec;
  padding: 0.5rem 1rem;
  border: none;
  border-radius: 10px;
  cursor: pointer;
  margin-top: 0;
}

.banner-jobs-choose {
  overflow: visible;
  position: relative;
  height: 160px;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 1.5em;
  background-color: #299046;
  margin-bottom: 2em;
  box-shadow: none;
}
@media only screen and (max-width:64em) {
  .banner-jobs-choose {
    padding-left: 100px;
  }
}
@media only screen and (max-width:48em) {
  .banner-jobs-choose {
    margin-top: 0;
    padding-left: 150px;
  }
}
.banner-jobs-choose .banner__image {
  position: absolute;
  width: 140px;
  height: 140px;
  bottom: -15px;
  left: -15px;
  overflow: hidden;
  background-color: #fff;
}
.banner-jobs-choose .banner__image img {
  width: auto;
  height: calc(100% - 10px);
}
.banner-jobs-choose .banner__headline {
  font-weight: 800;
  color: #fff;
  margin-bottom: 10px;
}
@media only screen and (max-width:48em) {
  .banner-jobs-choose .banner__headline {
    font-size: clamp(1em, 4vw, 1.5em);
    margin-top: unset;
  }
}
@media only screen and (max-width:30em) {
  .banner-jobs-choose .banner__headline {
    width: 100%;
  }
}
.banner-jobs-choose .banner__content {
  flex: 1;
  display: flex;
  justify-content: center;
  flex-direction: column;
  gap: 0;
  align-items: center;
  color: #fff;
}
@media only screen and (max-width:30em) {
  .banner-jobs-choose .banner__content {
    align-items: flex-start;
    width: 100%;
  }
}
.banner-jobs-choose .banner__text {
  font-size: 1rem;
  margin-bottom: 1rem;
}
@media only screen and (max-width:48em) {
  .banner-jobs-choose .banner__text {
    display: none;
  }
}
.banner-jobs-choose .banner__button {
  background-color: #fff;
  color: #299046;
  padding: 0.5rem 1rem;
  border: none;
  border-radius: 10px;
  cursor: pointer;
  margin-top: 0;
}

@media only screen and (max-width:64em) {
  .banner-jobs-choose .banner__image {
    right: unset;
    top: unset;
  }
}
@media only screen and (max-width:30em) {
  .banner .banner__image img {
    max-width: 250px;
    max-height: 250px;
    left: unset;
    top: unset;
    width: auto;
    position: relative;
  }
}
.job-search-teaser {
  background-color: #ccddec;
}
.job-search-teaser .intro,
.job-search-teaser .job-search-teaser-button {
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
}
.job-search-teaser .intro h2,
.job-search-teaser .job-search-teaser-button h2 {
  display: block;
}
.job-search-teaser .subline {
  font-size: clamp(1rem, 1.6058394161vw, 1.375rem);
  font-style: italic;
  margin-bottom: 0.6em;
}

#job-search-teaser-list {
  display: flex;
  flex-wrap: wrap;
  gap: 40px 40px; /* horizontal and vertical gap between cards */
  justify-content: center;
}
#job-search-teaser-list .job-card {
  width: 600px;
  margin-bottom: 0; /* gap handles spacing */
  border: 1px solid #4481bf;
}
#job-search-teaser-list .job-card .job-card-logo-section::after {
  background-color: #4481bf;
}
#job-search-teaser-list .job-card .job-title {
  color: #f58220;
  font-size: clamp(1rem, 1.69vw, 1.25rem);
}
#job-search-teaser-list .job-card .job-card-meta {
  padding: 0;
}
#job-search-teaser-list .job-card .job-company {
  font-size: clamp(1rem, 1.3vw, 1.1rem);
}

.modal--wishlist .modal__header {
  padding-left: 21px;
}
@media only screen and (max-width:48em) {
  .modal--wishlist {
    padding: 21px 0;
  }
}

.jobs-youbot-download {
  margin-top: 3em;
  margin-bottom: 6em;
}

/** *********************************** */
/** *********************************** */
/** *********************************** */
@media only screen and (max-width:64em) {
  .wrapper-jobs {
    padding-right: 0;
  }
  .jobs-filter.filter-row {
    all: unset;
    background: #e5eef5;
    display: block;
    margin-right: 25px;
    padding-left: 10px;
    padding-right: 10px;
  }
  .jobs-youbot-download {
    margin-top: 0;
  }
  .job-details-card-container .jobs-etrainer-banner .banner-section__image img {
    right: 60px;
  }
  .job-details-card-container .jobs-etrainer-banner .banner-section__comenius {
    right: 0;
    width: 120px;
  }
  .jobs-wishlist-box-container {
    bottom: 20px;
  }
  .jobs-wishlist-box-container .jobs-wishlist-box {
    margin-top: 10px;
    height: 40px;
  }
  .result-container .js-filter-result-headline .result-title {
    width: 90%;
  }
}
@media only screen and (max-width:48em) {
  .jobs-filter.filter-row {
    all: unset;
  }
  .filter-form {
    grid-template-columns: 1fr;
  }
  .jobs-header {
    flex-direction: column;
    gap: 1rem;
    align-items: stretch;
  }
  .job-actions {
    flex-direction: column;
  }
  .job-meta {
    flex-direction: column;
    gap: 0.5rem;
  }
  .job-card-wrapper {
    flex-direction: column;
  }
  .job-card-logo-section {
    width: 100%;
    padding-right: 0;
    padding-top: 0;
    padding-bottom: 0;
    margin-bottom: 1rem;
    border-bottom: 1px solid #fff;
    min-height: 80px;
  }
  .job-card-logo-section::after {
    display: none; /* Hide vertical line on mobile */
  }
  .job-card-content-section {
    width: 100%;
    padding-left: 0; /* Remove left padding on mobile */
  }
  .job-company-logo {
    max-height: 70px;
  }
  .job-card-wishlist {
    position: absolute;
    right: 0;
    top: 0;
    margin-top: 0;
    height: 100%;
  }
  .job-card {
    padding: 1rem;
  }
  .jobs-filter.filter-row #jobs-filter {
    gap: 5px;
    padding: 0;
    padding-right: 16px;
  }
  .jobs-filter.filter-row #jobs-filter .fake-select__container--kind-search,
  .jobs-filter.filter-row #jobs-filter .fake-select__container--radius-location {
    margin: 0;
    margin-top: 10px;
  }
  .jobs-filter.filter-row #jobs-filter .fake-select__container--kind-search .fake-select,
  .jobs-filter.filter-row #jobs-filter .fake-select__container--radius-location .fake-select {
    margin: 0;
  }
  .jobs-filter.filter-row #jobs-filter .fake-select__container--kind-search .searchbar,
  .jobs-filter.filter-row #jobs-filter .fake-select__container--radius-location .searchbar {
    justify-content: flex-end;
  }
  .jobs-filter .job-info-grid {
    grid-template-columns: 1fr;
  }
  .jobs-filter .job-info-grid .job-info-item {
    flex-direction: column;
  }
  .jobs-filter .job-info-grid .job-info-item .job-info-label {
    min-width: auto;
    margin-right: 0;
    margin-bottom: 0.5rem;
  }
  .jobs-filter #jobs-filter .filter-button-container {
    width: 100%;
    margin-top: 15px;
    padding-right: 8px;
  }
}
@media only screen and (max-width:48em) and (max-width:30em) {
  .jobs-filter #jobs-filter .filter-button-container {
    padding-right: 0;
  }
}
@media only screen and (max-width:48em) {
  .jobs-filter #jobs-filter .filter-button-container button {
    width: 100%;
  }
  .jobs-filter #jobs-filter .filter-button-container button.btn {
    font-size: 1rem;
  }
}
@media only screen and (max-width:48em) {
  .result-container {
    padding: 0;
    flex-direction: column;
  }
  .result-container .js-filter-result-headline {
    width: 100%;
    max-width: calc(100vw - 180px);
  }
  .result-container .js-filter-result-headline .result-title {
    max-width: calc(100vw - 150px);
    width: 100%;
    height: 50px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}
@media only screen and (max-width:48em) {
  .job-card-content-section {
    min-height: unset;
  }
  .job-card-content-section .job-card-meta {
    margin: 0;
    margin-right: 50px;
  }
}
@media only screen and (max-width:48em) {
  .jobs-etrainer-banner {
    margin-top: 6em !important;
  }
  .jobs-etrainer-banner .banner-section {
    padding-bottom: 1em;
  }
  .jobs-etrainer-banner .banner-section .banner-section__wrapper .banner-section__headline {
    font-size: 1.5em;
    width: 100%;
    padding-right: 0px;
  }
  .jobs-etrainer-banner .banner-section .banner-section__wrapper .banner-section__text {
    margin-bottom: 0;
  }
  .jobs-etrainer-banner .banner-section .banner-section__wrapper .banner-section__image {
    position: static;
  }
  .jobs-etrainer-banner .banner-section .banner-section__wrapper .banner-section__image img {
    max-width: 440px;
    max-height: 330px;
    top: -30px;
    right: 0;
    position: absolute;
  }
}
@media only screen and (max-width:48em) {
  .job-detail-card .job-card-wishlist {
    top: 210px;
    height: calc(100% - 210px);
  }
}
@media only screen and (max-width:48em) {
  .jobs-grid {
    margin-bottom: 1em;
  }
}
@media only screen and (max-width:30em) {
  .section-banner-jobs .banner {
    margin-top: 0;
    height: 100%;
  }
  .jobs-youbot-download {
    margin-bottom: 3em;
  }
  .jobs-youbot-download .card__center {
    padding-bottom: 0;
  }
  .jobs-etrainer-banner {
    margin-top: 6em !important;
  }
  .jobs-etrainer-banner .banner-section {
    padding-bottom: 4em;
  }
  .jobs-etrainer-banner .banner-section .banner-section__wrapper {
    flex-direction: column;
  }
  .jobs-etrainer-banner .banner-section .banner-section__wrapper .banner-section__headline {
    font-size: 1.5em;
    width: 100%;
    margin-top: 190px;
    padding-right: 0px;
  }
}
@media only screen and (max-width:30em) and (max-width: 420px) {
  .jobs-etrainer-banner .banner-section .banner-section__wrapper .banner-section__headline {
    margin-top: 170px;
  }
}
@media only screen and (max-width:30em) and (max-width: 390px) {
  .jobs-etrainer-banner .banner-section .banner-section__wrapper .banner-section__headline {
    margin-top: 150px;
  }
}
@media only screen and (max-width:30em) and (max-width: 375px) {
  .jobs-etrainer-banner .banner-section .banner-section__wrapper .banner-section__headline {
    margin-top: 140px;
  }
}
@media only screen and (max-width:30em) and (max-width: 360px) {
  .jobs-etrainer-banner .banner-section .banner-section__wrapper .banner-section__headline {
    margin-top: 130px;
  }
}
@media only screen and (max-width:30em) and (max-width: 330px) {
  .jobs-etrainer-banner .banner-section .banner-section__wrapper .banner-section__headline {
    margin-top: 110px;
  }
}
@media only screen and (max-width:30em) {
  .jobs-etrainer-banner .banner-section .banner-section__wrapper .banner-section__text {
    margin-bottom: 0;
  }
}
@media only screen and (max-width:30em) {
  .jobs-etrainer-banner .banner-section .banner-section__wrapper .banner-section__image {
    position: static;
  }
  .jobs-etrainer-banner .banner-section .banner-section__wrapper .banner-section__image img {
    left: 10%;
    max-height: 300px;
    max-width: 100%;
    top: -100px;
    width: 70%;
    position: absolute;
  }
}
.initial-state,
.no-results {
  text-align: center;
  padding: 3rem 1rem;
  background-color: #f9f9f9;
  border-radius: 8px;
  margin: 2rem 0;
}
.initial-state p,
.no-results p {
  font-size: 1.2rem;
  color: #666;
}

.initial-state {
  background-color: #f5f8fa;
  border: 1px dashed #ccc;
}
.initial-state p {
  color: #555;
}

.no-results {
  background-color: #fff7f7;
  border: 1px solid #ffe0e0;
}
.no-results p {
  color: #c62828;
}

.listapi-page .fake-select__label {
  color: #d14b05;
}
.listapi-page .wrapper-dtz .fake-select__label {
  color: #ed9e14;
}
.listapi-page .search-field__container {
  display: flex;
  flex-direction: row;
}
.listapi-page .search-field__container .fake-select--autocomplete {
  margin: 0;
}
.listapi-page .search-field__container .fake-select--autocomplete .fake-select__input {
  height: 50px !important;
  border-radius: 5px 0 0 5px !important;
}
.listapi-page .search-field__container .searchbar__button {
  height: 50px;
  margin-top: 31.5px;
  background-color: #d14b05;
}
@media only screen and (max-width:30em) {
  .listapi-page .search-field__container .searchbar__button {
    display: flex !important;
  }
  .listapi-page .search-field__container .searchbar__button .searchbar__icon {
    position: static !important;
    color: #fff !important;
  }
}
.listapi-page .wrapper-dtz .search-field__container .searchbar__button {
  background-color: #ed9e14;
}
.listapi-page .wrapper-dtz .search-field__container .searchbar__button:hover {
  background-color: #bf7f0f;
}
.listapi-page .listapi-table {
  width: 100%;
  border-collapse: separate;
}
.listapi-page .listapi-table tr:first-of-type th:last-of-type {
  border-top-right-radius: 5px;
}
.listapi-page .listapi-table tr:first-of-type th:first-of-type {
  border-top-left-radius: 5px;
}
.listapi-page .listapi-table thead {
  background-color: #d14b05;
  color: white;
  height: 40px;
}
.listapi-page .listapi-table thead th {
  text-align: left;
  padding: 5px 10px;
  vertical-align: middle;
}
@media only screen and (max-width:64em) {
  .listapi-page .listapi-table thead th {
    padding: 5px 6px;
  }
}
@media only screen and (max-width:30em) {
  .listapi-page .listapi-table thead th {
    padding: 2px 5px;
  }
}
.listapi-page .listapi-table thead th.sortable {
  cursor: pointer;
  position: relative;
  padding-right: 20px;
}
.listapi-page .listapi-table thead th.sortable:hover {
  background-color: #9f3904;
}
.listapi-page .listapi-table thead th.sortable.sorted.sorted-asc::after {
  content: " ↑";
  position: absolute;
  right: 5px;
  top: 50%;
  transform: translateY(-50%);
  font-weight: bold;
}
.listapi-page .listapi-table thead th.sortable.sorted.sorted-desc::after {
  content: " ↓";
  position: absolute;
  right: 5px;
  top: 50%;
  transform: translateY(-50%);
  font-weight: bold;
}
.listapi-page .listapi-table thead th.col-state,
.listapi-page .listapi-table tbody td.col-state {
  width: 240px;
  min-width: 240px;
  max-width: 240px;
}
.listapi-page .listapi-table thead th.col-postal-code,
.listapi-page .listapi-table tbody td.col-postal-code {
  width: 80px;
  min-width: 80px;
  max-width: 80px;
}
.listapi-page .listapi-table thead th.col-phone,
.listapi-page .listapi-table tbody td.col-phone {
  width: 160px;
  min-width: 160px;
  max-width: 160px;
}
.listapi-page .listapi-table thead th.col-details,
.listapi-page .listapi-table tbody td.col-details {
  width: 100px;
  min-width: 100px;
  max-width: 100px;
}
.listapi-page .listapi-table thead th.col-city,
.listapi-page .listapi-table tbody td.col-city {
  width: calc((100% - 580px) / 2 - 50px);
}
.listapi-page .listapi-table thead th.col-seat,
.listapi-page .listapi-table tbody td.col-seat {
  width: calc((100% - 580px) / 2 + 50px);
}
.listapi-page .listapi-table tbody tr.muni-row {
  height: 40px;
  cursor: pointer;
}
.listapi-page .listapi-table tbody tr.muni-row td {
  padding: 5px 10px;
  vertical-align: middle;
}
@media only screen and (max-width:64em) {
  .listapi-page .listapi-table tbody tr.muni-row td {
    padding: 5px 6px;
  }
}
@media only screen and (max-width:30em) {
  .listapi-page .listapi-table tbody tr.muni-row td {
    padding: 2px 5px;
  }
}
.listapi-page .listapi-table tbody tr.muni-row td.bold {
  font-weight: bold;
}
.listapi-page .listapi-table tbody tr.muni-row td .row-link {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  color: inherit !important;
  text-decoration: none !important;
  cursor: inherit !important;
}
.listapi-page .listapi-table tbody tr.muni-row td .row-link:hover {
  color: inherit !important;
  text-decoration: none !important;
}
.listapi-page .listapi-table tbody tr.muni-row td .row-link:focus {
  outline: none !important;
}
.listapi-page .listapi-table tbody tr.dtz-row {
  height: 40px;
  cursor: pointer;
}
.listapi-page .listapi-table tbody tr.dtz-row td {
  padding: 5px 10px;
  vertical-align: middle;
}
@media only screen and (max-width:64em) {
  .listapi-page .listapi-table tbody tr.dtz-row td {
    padding: 5px 6px;
  }
}
@media only screen and (max-width:30em) {
  .listapi-page .listapi-table tbody tr.dtz-row td {
    padding: 2px 5px;
  }
}
.listapi-page .listapi-table tbody tr.dtz-row td.bold {
  font-weight: bold;
}
.listapi-page .listapi-table tbody tr.dtz-row td .row-link {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  color: inherit !important;
  text-decoration: none !important;
  cursor: inherit !important;
}
.listapi-page .listapi-table tbody tr.dtz-row td .row-link:hover {
  color: inherit !important;
  text-decoration: none !important;
}
.listapi-page .listapi-table tbody tr.dtz-row td .row-link:focus {
  outline: none !important;
}
.listapi-page .listapi-table .hover-underline:hover td {
  text-decoration: underline;
}
.listapi-page .listapi-table .hover-underline:hover {
  background-color: #f0f0f0;
}
.listapi-page .listapi-table tr:nth-child(even) {
  background-color: #fff7f0;
}
.listapi-page .listapi-table.dtz-table tr:nth-child(even) {
  background-color: #fef5e7;
}
@media (max-width: 359px) {
  .listapi-page .listapi-table .wrapper {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .listapi-page .listapi-table .listapi-table {
    min-width: 340px;
  }
}
@media only screen and (max-width:90em) {
  .listapi-page .listapi-table .listapi-table {
    table-layout: auto !important;
  }
}
@media (min-width: 1025px) and (max-width: 1440px) {
  .listapi-page .listapi-table .listapi-table {
    table-layout: auto !important;
  }
  .listapi-page .listapi-table .listapi-table thead th.col-state,
  .listapi-page .listapi-table .listapi-table tbody td.col-state {
    width: 180px !important;
    min-width: 180px !important;
    max-width: 180px !important;
  }
}
@media (min-width: 769px) and (max-width: 1024px) {
  .listapi-page .listapi-table .listapi-table {
    font-size: 0.9rem;
    table-layout: auto !important;
  }
  .listapi-page .listapi-table .listapi-table thead th.col-state,
  .listapi-page .listapi-table .listapi-table tbody td.col-state {
    width: 140px !important;
    min-width: 120px !important;
    max-width: 160px !important;
  }
  .listapi-page .listapi-table .listapi-table thead th.col-postal-code,
  .listapi-page .listapi-table .listapi-table tbody td.col-postal-code {
    width: 80px !important;
    min-width: 80px !important;
  }
  .listapi-page .listapi-table .listapi-table thead th.col-city,
  .listapi-page .listapi-table .listapi-table tbody td.col-city {
    width: auto !important;
    min-width: 120px !important;
  }
  .listapi-page .listapi-table .listapi-table thead th.col-seat,
  .listapi-page .listapi-table .listapi-table tbody td.col-seat {
    width: auto !important;
    min-width: 190px !important;
  }
  .listapi-page .listapi-table .listapi-table thead th.col-phone,
  .listapi-page .listapi-table .listapi-table tbody td.col-phone {
    width: 130px !important;
    min-width: 130px !important;
    max-width: 130px !important;
  }
  .listapi-page .listapi-table .listapi-table thead th.col-details,
  .listapi-page .listapi-table .listapi-table tbody td.col-details {
    width: 90px !important;
    min-width: 90px !important;
  }
}
@media only screen and (max-width:48em) {
  .listapi-page .listapi-table .listapi-table {
    font-size: 0.8rem;
    table-layout: auto !important;
  }
  .listapi-page .listapi-table .listapi-table thead th,
  .listapi-page .listapi-table .listapi-table tbody td {
    word-break: break-word;
  }
  .listapi-page .listapi-table .listapi-table thead th.col-postal-code {
    border-top-left-radius: 5px;
  }
  .listapi-page .listapi-table .listapi-table thead th.col-details {
    border-top-right-radius: 5px;
  }
}
@media only screen and (max-width:48em) and (max-width:30em) {
  .listapi-page .listapi-table thead th.col-postal-code,
  .listapi-page .listapi-table tbody td.col-postal-code {
    width: 60px !important;
    min-width: 60px !important;
    max-width: 60px !important;
  }
  .listapi-page .listapi-table thead th.col-city,
  .listapi-page .listapi-table tbody td.col-city {
    width: 100px !important;
    min-width: 100px !important;
    max-width: 100px !important;
  }
  .listapi-page .listapi-table thead th.col-seat,
  .listapi-page .listapi-table tbody td.col-seat {
    width: auto !important;
    min-width: 120px !important;
  }
  .listapi-page .listapi-table thead th.col-details,
  .listapi-page .listapi-table tbody td.col-details {
    width: 60px !important;
    min-width: 60px !important;
    max-width: 60px !important;
  }
}
.listapi-page .listapi-table .listapi-loading,
.listapi-page .listapi-table .listapi-error {
  text-align: center;
  padding: 2rem;
  font-size: 1.1rem;
}
.listapi-page .listapi-table .listapi-error {
  color: #d14b05;
}
.listapi-page .listapi-table .wrapper-dtz tr:nth-child(even) {
  background-color: #fef5e7;
}
.listapi-page .wrapper-dtz .listapi-error {
  color: #ed9e14;
}
.listapi-page .dtz-table thead {
  background-color: #ed9e14 !important;
}
.listapi-page .dtz-table thead th.sortable:hover {
  background-color: #bf7f0f !important;
}
.listapi-page .municipality-details-wrapper {
  max-width: 800px;
  margin: 0 auto;
  padding: 2rem 0;
}
.listapi-page .municipality-details-wrapper .municipality-detail-card {
  background: white;
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  overflow: hidden;
}
.listapi-page .municipality-details-wrapper .municipality-detail-card .municipality-card-wrapper {
  padding: 2rem;
}
.listapi-page .municipality-details-wrapper .municipality-detail-card .municipality-card-wrapper .municipality-card-content-section .municipality-card-header {
  margin-bottom: 1.5rem;
}
.listapi-page .municipality-details-wrapper .municipality-detail-card .municipality-card-wrapper .municipality-card-content-section .municipality-card-header .municipality-title {
  font-size: 2rem;
  font-weight: bold;
  color: #d14b05;
  margin-bottom: 0.5rem;
}
.listapi-page .municipality-details-wrapper .municipality-detail-card .municipality-card-wrapper .municipality-card-content-section .municipality-card-header .municipality-state {
  font-size: 1.1rem;
  color: #666;
}
.listapi-page .municipality-details-wrapper .municipality-detail-card .municipality-card-wrapper .municipality-card-content-section .municipality-card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-bottom: 1.5rem;
}
.listapi-page .municipality-details-wrapper .municipality-detail-card .municipality-card-wrapper .municipality-card-content-section .municipality-card-meta > div {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1rem;
}
.listapi-page .municipality-details-wrapper .municipality-detail-card .municipality-card-wrapper .municipality-card-content-section .municipality-card-meta > div .icon {
  width: 16px;
  height: 16px;
  fill: #d14b05;
}
.listapi-page .municipality-details-wrapper .municipality-detail-card .municipality-card-wrapper .municipality-card-content-section .municipality-description {
  margin-bottom: 1.5rem;
}
.listapi-page .municipality-details-wrapper .municipality-detail-card .municipality-card-wrapper .municipality-card-content-section .municipality-description h3 {
  font-size: 1.3rem;
  margin-bottom: 0.5rem;
  color: #d14b05;
}
.listapi-page .municipality-details-wrapper .municipality-detail-card .municipality-card-wrapper .municipality-card-content-section .municipality-description p {
  line-height: 1.6;
  margin-bottom: 1rem;
}
.listapi-page .municipality-details-wrapper .municipality-detail-card .municipality-card-wrapper .municipality-card-content-section .municipality-additional-info {
  margin-bottom: 1rem;
}
.listapi-page .municipality-details-wrapper .municipality-detail-card .municipality-card-wrapper .municipality-card-content-section .municipality-additional-info h4 {
  font-size: 1.1rem;
  margin-bottom: 0.25rem;
  color: #d14b05;
}
.listapi-page .municipality-details-wrapper .municipality-detail-card .municipality-card-wrapper .municipality-card-content-section .municipality-additional-info p {
  margin: 0;
  font-weight: bold;
}
.listapi-page .municipality-details-wrapper .municipality-detail-card .municipality-card-wrapper .municipality-card-content-section .municipality-website {
  margin-top: 2rem;
}
.listapi-page .municipality-details-wrapper .municipality-detail-card .municipality-card-wrapper .municipality-card-content-section .municipality-website .btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}
.listapi-page .municipality-details-wrapper .municipality-back-container {
  margin-top: 2rem;
  text-align: center;
}
.listapi-page .municipality-details-wrapper .municipality-back-container .btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}
.listapi-page.listapi-details-page .back-to-search {
  margin-top: 2rem;
  padding-top: 2rem;
  border-top: 1px solid #e0e0e0;
  text-align: center;
}
.listapi-page.listapi-details-page .back-to-search .button {
  text-decoration: none;
}
.listapi-page.listapi-details-page .back-to-search .button:hover {
  text-decoration: none;
}
.listapi-page.listapi-details-page .municipality-error {
  text-align: center;
  padding: 3rem 1rem;
}
.listapi-page.listapi-details-page .municipality-error h2 {
  color: #d32f2f;
  margin-bottom: 1rem;
}
.listapi-page.listapi-details-page .municipality-error p {
  margin-bottom: 2rem;
  color: #666;
}

.ausbildung-info-section {
  margin: 0;
}
.ausbildung-info-section .ausbildung-info-content h3 {
  color: #d32f2f;
  margin-bottom: 2rem;
}

.administrative-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  background: #f8f9fa;
  border: 1px solid #e9ecef;
  border-radius: 8px;
  max-width: 600px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.administrative-card .card-header {
  background-color: #d14b05;
  width: 100%;
  display: flex;
  border-radius: 8px 8px 0 0;
  padding: 0.5rem 0;
  color: #fff;
  font-weight: bold;
}
.administrative-card .card-header .card-header-title {
  margin-left: 1rem;
  padding: 0;
}
.administrative-card .card-content {
  flex: 1;
  display: flex;
  justify-content: space-between;
  width: 100%;
  padding: 0.5em 1em;
  position: relative;
  text-align: left;
}
.administrative-card .card-content h3 {
  color: #2c3e50;
  margin-bottom: 1rem;
  font-size: 1.5rem;
}
.administrative-card .card-content .small-data {
  font-size: 0.9rem;
}
.administrative-card .card-content .small-data.logo-space {
  padding-right: 100px;
}
.administrative-card .card-content .postal-city {
  color: #d14b05;
  font-weight: bold;
}
.administrative-card .state-logo {
  position: absolute;
  right: 10px;
  top: 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.administrative-card .state-logo .state-coat-of-arms {
  width: 80px;
  height: 80px;
  -o-object-fit: contain;
     object-fit: contain;
  border-radius: 4px;
}
@media only screen and (max-width:30em) {
  .administrative-card .state-logo .state-coat-of-arms {
    width: 50px;
    height: 50px;
  }
}
.administrative-card .state-logo .state-name {
  color: #d14b05;
  font-size: 0.8rem;
  font-weight: bold;
}
@media only screen and (max-width:48em) {
  .administrative-card {
    flex-direction: column;
    text-align: center;
  }
  .administrative-card .state-logo {
    position: absolute;
    right: 5px;
    top: 5px;
  }
}

.dtz-card .card-header {
  background-color: #ed9e14;
}

.administrative-card.dtz-card .state-logo .state-name {
  color: #ed9e14;
}

.listapi-wrapper {
  max-width: 800px;
  padding-top: 0;
  padding-bottom: 1em;
}
.listapi-wrapper--pt-2 {
  padding-top: 2em;
}
.listapi-wrapper--card {
  max-width: 600px;
}
@media only screen and (max-width:64em) {
  .listapi-wrapper {
    padding: 16px;
  }
}

.tp-listapi-details .breadcrumb {
  margin-bottom: 1rem;
}
.tp-listapi-details .dtz-vcard-navigation {
  display: flex;
  justify-content: space-between;
  max-width: 600px;
  width: 100%;
}

@media only screen and (max-width:64em) {
  .wrapper-muni .filter-row {
    all: unset;
  }
  .wrapper-muni .filter-row .filter-row__selects {
    row-gap: 0;
    -moz-column-gap: 1.5em;
         column-gap: 1.5em;
  }
  .wrapper-muni .filter-row .filter-row__selects .search-field__container {
    margin-bottom: 1.5em;
  }
  .wrapper-dtz .filter-row {
    all: unset;
  }
  .wrapper-dtz .filter-row .filter-row__selects {
    row-gap: 0;
    -moz-column-gap: 1.5em;
         column-gap: 1.5em;
  }
  .wrapper-dtz .filter-row .filter-row__selects .search-field__container {
    margin-bottom: 1.5em;
  }
}
.wrapper-dtz .dtz-details-wrapper .dtz-detail-card .dtz-card-wrapper .dtz-card-content-section .dtz-card-header .dtz-title {
  color: #ed9e14;
}
.wrapper-dtz .dtz-details-wrapper .dtz-detail-card .dtz-card-wrapper .dtz-card-content-section .dtz-card-meta > div .icon {
  fill: #ed9e14;
}
.wrapper-dtz .dtz-details-wrapper .dtz-detail-card .dtz-card-wrapper .dtz-card-content-section .dtz-description h3 {
  color: #ed9e14;
}
.wrapper-dtz .dtz-details-wrapper .dtz-detail-card .dtz-card-wrapper .dtz-card-content-section .dtz-additional-info h4 {
  color: #ed9e14;
}

.btn--dtz {
  background-color: #ed9e14;
  color: #fff;
}
.btn--dtz:hover {
  background-color: #bf7f0f;
  color: #fff;
}

/** ! ==================================================
 * COMPONENTS/Product Detail Page
 * ================================================== */
.product {
  display: flex;
  flex-direction: row;
  margin: 3em 0;
  row-gap: 4em;
  -moz-column-gap: 2em;
       column-gap: 2em;
}
@media only screen and (max-width:64em) {
  .product {
    margin: 0;
    row-gap: 1em;
  }
}
.product .article {
  padding-top: 1em;
}
@media only screen and (max-width:64em) {
  .product {
    flex-direction: column;
  }
}
.product__details {
  position: relative;
  flex-grow: 1;
}
.product__wrapper {
  max-width: 480px;
}
.product__labels_container {
  position: relative;
  bottom: -10px;
  right: -10px;
  height: 0;
  z-index: 1;
}
.product__labels {
  position: absolute;
  display: inline-block;
}
.product__label {
  font-weight: 800;
  color: #fff;
  background-color: #f18f20;
  padding: 0.25em 1.5em;
  border-radius: 5px;
  text-transform: uppercase;
  margin-bottom: 0.75em;
  text-align: center;
}
.product__headline {
  margin-bottom: 0.5em;
  font-size: clamp(1.4rem, 1.6058394161vw, 1.375rem);
}
.product__subline {
  font-weight: 800;
  margin-bottom: 1.5em;
  font-size: 1.1rem;
  line-height: 1.3em;
}
.product__description {
  margin-bottom: 1.5em;
  font-size: 1rem;
}
.product h3 {
  font-size: clamp(1rem, 1.3868613139vw, 1.1rem);
}
.product__download {
  display: flex;
  align-items: center;
  -moz-column-gap: 0.5em;
       column-gap: 0.5em;
  color: #00549e;
  font-weight: 800;
  margin-bottom: 1.5em;
}
.product__download::after {
  display: none;
}
.product__download:hover {
  color: #333;
}
.product__download .icon {
  width: 14px;
}
.product__additional-info {
  margin-bottom: 1.5em;
}
.product__price-info {
  display: flex;
  align-items: flex-end;
  -moz-column-gap: 0.5em;
       column-gap: 0.5em;
  gap: 0.75em;
  margin-bottom: 1.5em;
  margin-top: 2em;
}
.product__price {
  color: #00549e;
  font-size: 32px;
  font-size: calc(28px + (32 - 28) * ((100vw - 320px) / (1680 - 320)));
  font-size: clamp(1.75rem, 2.3357664234vw, 2rem);
  font-weight: 800;
  line-height: 21px;
}
.product__tax-hint {
  line-height: 13px;
}
.product__buttons {
  position: relative;
  display: flex;
  flex-direction: row;
  -moz-column-gap: 1.5em;
       column-gap: 1.5em;
  margin-top: 1.5em;
  margin-bottom: 1.5em;
}
.product__delivery-infos {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  -moz-column-gap: 3em;
       column-gap: 3em;
  row-gap: 1em;
}
.product__delivery-time {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  position: relative;
  padding-left: 16px;
}
.product__delivery-time::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  left: 4px;
  border-radius: 50%;
  width: 8px;
  height: 8px;
}
.product__delivery-time--green::before {
  background-color: #31af8a;
}
.product__delivery-time--yellow::before {
  background-color: #edbe2f;
}
.product__delivery-time--red::before {
  background-color: #da606b;
}
.product__delivery-free-status {
  position: relative;
  left: 15px;
}
.product__delivery-free-status:only-of-type {
  left: 25px;
}
.product__delivery-free-status::before {
  content: "";
  position: absolute;
  left: -15px;
  background-image: url("/build/img/icons/icon-package-box.svg");
  background-repeat: no-repeat;
  width: 16px;
  height: 16px;
  top: 50%;
  transform: translate(-50%, -50%) scale(0.85);
}
.product__payments {
  display: flex;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  -moz-column-gap: 0.3em;
       column-gap: 0.3em;
  row-gap: 1em;
  margin-top: 3em;
}
@media only screen and (max-width:64em) {
  .product__payments {
    margin-top: 2em;
    margin-bottom: 2em;
  }
}
.product__payment-icon {
  border: 1px solid #acacac;
  padding: 0.65em 0.75em;
  color: #444;
  border-radius: 5px;
  height: 35px;
  display: flex;
  align-items: center;
}
.product__payment-icon:hover {
  cursor: default;
}
.product__payment-icon--py-0 {
  padding-top: 5px;
  padding-bottom: 5px;
}
.product__payment-icon img {
  height: 100%;
  width: 100%;
  -o-object-fit: scale-down;
     object-fit: scale-down;
}
.product__variants {
  display: flex;
  flex-direction: row;
  gap: 0.5em;
  margin-top: 2em;
}
@media only screen and (max-width:64em) {
  .product__variants {
    gap: 1em;
  }
}
.product__variant {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  -moz-column-gap: 0.75em;
       column-gap: 0.75em;
  border: 1px solid #acacac;
  padding: 0.65em;
  min-width: 152.5px;
}
.product__variant input[type=radio] {
  width: 100%;
  height: 100%;
}
.product__variant input[type=radio]:checked {
  accent-color: #00549e;
}
.product__variant .radio__input {
  left: 0.65em;
  top: 0.65em;
}
@media only screen and (max-width:64em) {
  .product__variant .radio__input {
    display: none;
  }
}
@media only screen and (max-width:64em) {
  .product__variant {
    width: 30%;
    min-width: unset;
    display: flex;
    justify-content: center;
  }
  .product__variant.is-selected {
    border: 1px solid #00549e;
    background-color: rgba(235, 235, 235, 0.7098039216);
  }
}
.product__variant-content {
  display: flex;
  flex-direction: column;
  margin-left: 1.75em;
}
@media only screen and (max-width:64em) {
  .product__variant-content {
    margin-left: 0;
  }
}
.product__variant-headline {
  line-height: 14px;
  font-weight: 800;
  margin-bottom: 0.35em;
}
@media only screen and (max-width:64em) {
  .product__variant-headline {
    margin-top: 0.35em;
    text-align: center;
  }
}
.product__variant-text {
  display: flex;
  flex-direction: column;
  -moz-column-gap: 0.35em;
       column-gap: 0.35em;
  align-items: flex-start;
}
@media only screen and (max-width:64em) {
  .product__variant-text {
    display: flex;
    align-items: center;
  }
}
.product__variant-text * {
  margin: 0;
}
.product__variant-price {
  font-size: 20px;
  font-size: calc(16px + (20 - 16) * ((100vw - 320px) / (1680 - 320)));
  font-size: clamp(1rem, 1.4598540146vw, 1.25rem);
  color: #00549e;
  font-weight: 800;
  line-height: 23px;
}
.product__variant-hint {
  display: block;
}

.product-slider {
  background-color: #fff;
  width: 45%;
  height: -moz-fit-content;
  height: fit-content;
  padding: 3em 0;
  padding-bottom: 1em;
}
@media only screen and (max-width:64em) {
  .product-slider {
    padding-top: 0;
    padding-bottom: 0;
  }
}
@media only screen and (max-width:64em) {
  .product-slider {
    width: 100%;
  }
}
.product-slider .flickity-viewport {
  border: 1px solid #ebebeb;
  max-height: 500px;
  height: 500px !important;
}
@media only screen and (max-width:64em) {
  .product-slider .flickity-viewport {
    height: 380px !important;
  }
}
.product-slider__items {
  position: relative;
  margin-bottom: 0;
}
.product-slider__item {
  display: flex;
  justify-content: center;
  width: 85%;
}
.product-slider__item.slider-product {
  opacity: 0;
  padding: 10px;
}
.product-slider__item.slider-product.is-selected, .product-slider__item.slider-product.ap-is-selected {
  opacity: 1;
  height: calc(100% - 2px);
}
.product-slider__item:empty {
  background-color: #d1cbc4;
}
.product-slider__item img {
  min-height: 430px;
  -o-object-fit: scale-down;
     object-fit: scale-down;
  width: auto;
}
.product-slider__item img.product-image-border {
  box-shadow: 3px 3px 3px 3px rgb(175, 175, 175);
}
@media only screen and (max-width:64em) {
  .product-slider__item img {
    max-width: 300px;
    min-height: 350px;
  }
}
.product-slider__item img:hover {
  cursor: zoom-in;
}
.product-slider__button {
  display: flex;
  position: absolute;
  padding: 1em;
  top: 50%;
  transform: translate(-50%, -50%);
  left: calc(4em - 10px);
  z-index: 1;
}
.product-slider__button:disabled {
  display: none;
}
@media only screen and (max-width:64em) {
  .product-slider__button {
    display: none;
  }
}
.product-slider__button:disabled {
  cursor: not-allowed;
}
.product-slider__button:disabled svg {
  color: #acacac;
}
.product-slider__button svg {
  width: 20px;
  height: 20px;
  color: #858585;
}
.product-slider__button--next {
  right: 0;
  left: unset;
}
.product-slider__button--next:disabled {
  display: none;
}
.product-slider__tabs {
  display: flex;
  justify-content: center;
  margin: 1em 2em 0 2em;
  padding-bottom: 2em;
  overflow-x: auto;
  overflow-y: hidden;
}
.product-slider__tabs::-webkit-scrollbar {
  display: none;
}
.product-slider__tabs .product-slider__item {
  position: relative;
  width: unset;
  margin-right: 1em;
}
.product-slider__tabs .product-slider__item:hover {
  cursor: pointer;
}
.product-slider__tabs .product-slider__item * {
  pointer-events: none;
}
.product-slider__tabs .product-slider__item::after {
  content: "";
  position: absolute;
  bottom: 0px;
  width: 0%;
  left: 0;
  border-bottom: 5px solid #00853f;
  transition: width 300ms ease-in-out;
}
.product-slider__tabs .product-slider__item.ap-is-selected::after {
  width: 100%;
  transition: width 300ms ease-in-out;
}
.product-slider__tabs .product-slider__item img {
  width: 70px;
  min-width: 70px;
  min-height: 100px;
}
.product-slider .flickity-page-dots {
  display: none;
}
.product-slider .product-slider-tabs__items {
  position: relative;
}
.product-slider .product-slider-tabs__items img.product-image-border {
  box-shadow: none;
  border: 0.25px solid rgb(235, 235, 235);
}
.product-slider .product-slider-tabs__items .product-slider__tabs {
  margin-left: 0;
  margin-right: 0;
  padding-bottom: 0;
}
.product-slider .product-slider-tabs__items .product-slider__tabs .flickity-viewport {
  width: 100%;
  margin-left: 2em;
  margin-right: 2em;
  border: 0;
  height: 100px !important;
}
.product-slider .product-slider-tabs__items .product-slider__tabs .is-selected::after {
  opacity: 1 !important;
}
.product-slider .product-slider-tabs__items .product-slider__tabs .ap-is-selected::after {
  opacity: 1 !important;
}
.product-slider .product-tabs-image-slider__button {
  position: absolute;
  z-index: 1;
  left: 0;
  top: 40px;
}
.product-slider .product-tabs-image-slider__button[disabled] {
  display: none;
}
.product-slider .product-tabs-image-slider__button svg {
  width: 20px;
  height: 20px;
  color: #858585;
}
.product-slider .product-tabs-image-slider__button--next {
  right: 0;
  left: unset;
}

/** ! ==================================================
 * COMPONENTS/ Reusable generam cta elements
 * ================================================== */
.button-add-to-cart {
  display: flex;
  align-items: center;
  -moz-column-gap: 0.5em;
       column-gap: 0.5em;
  margin: 1em 0;
}
.button-add-to-cart .icon {
  width: 14px;
  height: 14px;
}

/** ! ==================================================
 * External component from https://github.com/TrySound/magnify/tree/fix-vanillajs
 * ================================================== */
.magnify {
  position: relative;
  display: inline-block;
  cursor: none;
}

.magnify img {
  position: relative;
  display: block;
}

.magnify-lens {
  position: absolute;
  z-index: 100;
  width: 250px;
  height: 175px;
  border-radius: 4px solid #ebebeb;
  pointer-events: none;
  opacity: 0;
  transition: opacity;
}
@media only screen and (max-width:48em) {
  .magnify-lens {
    display: none;
  }
}

.magnify-loading,
.magnify-error {
  background: rgba(51, 51, 51, 0.75) !important;
}

.magnify-loading::before,
.magnify-error::before {
  position: absolute;
  top: 45%;
  left: 0;
  right: 0;
  text-align: center;
  font-size: 1.25em;
  line-height: 1;
  text-shadow: 0 0 2px rgba(51, 51, 51, 0.8);
  text-transform: none;
}

.magnify-loading::before {
  content: "Loading...";
  color: #fff;
}

.magnify-error::before {
  content: "Error!";
  color: #f66;
}

.tp-checkout .header--sticky {
  display: none;
}

.checkout {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: flex-start;
  gap: 5em 3em;
  padding-top: 1em;
  padding-bottom: 6em;
}
.checkout__state {
  padding: 1.5em;
  border-radius: 5px;
  margin-bottom: 2em;
}
.checkout__state--success {
  background-color: #79d9bd;
}
.checkout__state--info {
  background-color: #edbe2f;
}
.checkout__state--error {
  background-color: #e18089;
}
.checkout__state--small {
  margin: 1em 0 0;
  padding: 0.5em;
}
.checkout__state--xsmall {
  padding: 0;
  margin: 1em 0 0;
  background-color: unset;
}
.checkout__headline {
  font-weight: 800;
  margin-bottom: 0;
}
.checkout__payment-infos {
  display: flex;
  flex-direction: column;
  margin-bottom: 1.5em;
}
.checkout form {
  max-width: none;
  padding: 0.5em 0;
  margin: 0;
}
@media only screen and (max-width:48em) {
  .checkout form .js-hide-form-company {
    display: none;
  }
}
.checkout .form__submit {
  margin-left: 0;
}
.checkout .checkout__main {
  flex: 3 0 50%;
  max-width: 100%;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  gap: 2em;
  position: relative;
  min-height: 10rem;
  overflow: visible;
}
@media only screen and (max-width:48em) {
  .checkout .checkout__main {
    overflow-x: auto;
  }
}
.checkout .checkout__completion-step {
  flex: 2 0 46%;
  display: block;
  margin: 0;
  border: 1px solid #acacac;
  border-radius: 5px;
  padding: 1.5em;
  width: 100%;
}
.checkout .checkout__completion-step .form__content {
  flex-direction: column;
}
.checkout .checkout__completion-step .form__content label {
  display: flex;
  align-items: baseline;
  gap: 1em;
  margin: 0.3em 0;
}
.checkout .checkout__completion-step .form__content label[hidden=true] {
  display: none;
}
.checkout .checkout__sidebar {
  position: sticky;
  top: 1.5em;
  flex: 0 0 33%;
}
@media only screen and (max-width:64em) {
  .checkout .checkout__sidebar {
    flex-basis: 100%;
  }
}
.checkout .checkout__sidebar .btn {
  width: 100%;
  justify-content: center;
}
.checkout .checkout__sidebar-costs {
  color: #333;
  background-color: #f4f4f4;
  border-radius: 5px;
  padding: 1.3em 1em;
  font-size: 1.1rem;
  line-height: 1.2rem;
  position: relative;
}
.checkout .checkout__sidebar-cost-position {
  display: flex;
  justify-content: space-between;
  padding: 0.25em 0;
  width: 100%;
}
.checkout .checkout__sidebar-cost-position [data-shopware-costs=shipping-costs-hint] {
  margin-right: auto;
}
.checkout .checkout__sidebar-cost-position--total {
  font-weight: 800;
  position: relative;
  padding: 2em 0 0;
}
.checkout .checkout__sidebar-cost-position--total::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 1em;
  border-top: 1px solid #acacac;
}
.checkout--login-form {
  justify-content: space-between;
  align-items: flex-end;
  width: 100%;
  row-gap: 0.5em;
  gap: 0.5em;
}
.checkout--login-form .field {
  width: auto;
  flex-grow: 1;
  margin: 0;
}
.checkout--login-form .field:first-child {
  margin-right: 1em;
}
@media only screen and (max-width:48em) {
  .checkout--login-form .field {
    width: 100%;
    margin-bottom: 1em;
  }
  .checkout--login-form .field:first-child {
    margin-right: 0;
  }
}
.checkout--login-form .button-container {
  max-width: 250px;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-end;
  height: 100%;
}
@media only screen and (max-width:30em) {
  .checkout--login-form .button-container {
    max-width: unset;
    display: flex;
    flex-direction: column;
    gap: 1em;
  }
}
.checkout--login-form .button-container .form__submit {
  margin: 0 0 0 1em;
  width: 100%;
}
@media only screen and (max-width:64em) {
  .checkout--login-form .button-container {
    flex-direction: row;
    justify-content: start;
    margin: 0;
  }
  .checkout--login-form .button-container .btn {
    margin: 0;
  }
}
.checkout--login-form .button-class {
  /* Assuming your button has a specific class */
  order: 1; /* Button appears first */
}
.checkout--login-form .form__links {
  order: 2; /* This div appears under the button */
  margin-top: 8px;
}
.checkout .payment-icon {
  width: 30px;
  height: auto;
}
.checkout .payment-gap {
  gap: 5px;
}

.toaster {
  position: fixed;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  right: 0;
  z-index: 2000;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.8em;
  margin: 1.3rem;
}
@media only screen and (max-width:64em) {
  .toaster {
    transform: unset;
    width: 100%;
    max-width: 100%;
    left: 0;
    transform: unset;
    margin-left: 0;
  }
}
.toaster--modal {
  position: sticky;
  transform: unset;
}
@media only screen and (max-width:30em) {
  .toaster--modal {
    width: 100%;
    margin-left: 0;
    transform: unset;
    max-width: unset;
  }
}
.toaster .toaster__toast {
  padding: 0.7em 1.5em;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 700;
  border-radius: 10px;
  transition: 0.2s ease;
  animation: bounce 0.2s;
  text-align: center;
}
@keyframes bounce {
  0% {
    transform: scale(1);
  }
  70% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1);
  }
}
.toaster .toaster__toast--info {
  color: #fff;
  background-color: #75c3d2;
}
.toaster .toaster__toast--success {
  color: #fff;
  background-color: #31af8a;
}
.toaster .toaster__toast--error {
  color: #fff;
  background-color: #da606b;
}
.toaster .toaster__toast--warning {
  color: #333;
  background-color: #edbe2f;
}
.toaster .toaster__toast--fade-out {
  height: 0;
  overflow: hidden;
  padding: 0;
}

.loading-spinner {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(0, 0, 0, 0.2039215686);
}
.loading-spinner .loading-spinner__inner {
  position: relative;
  width: 80px;
  height: 80px;
}
.loading-spinner .loading-spinner__inner div {
  animation: loading-spinner 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
  transform-origin: 40px 40px;
}
.loading-spinner .loading-spinner__inner div::after {
  content: " ";
  display: block;
  position: absolute;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #fff;
  margin: -4px 0 0 -4px;
}
.loading-spinner .loading-spinner__inner div:nth-child(1) {
  animation-delay: -0.036s;
}
.loading-spinner .loading-spinner__inner div:nth-child(1)::after {
  top: 63px;
  left: 63px;
}
.loading-spinner .loading-spinner__inner div:nth-child(2) {
  animation-delay: -0.072s;
}
.loading-spinner .loading-spinner__inner div:nth-child(2)::after {
  top: 68px;
  left: 56px;
}
.loading-spinner .loading-spinner__inner div:nth-child(3) {
  animation-delay: -0.108s;
}
.loading-spinner .loading-spinner__inner div:nth-child(3)::after {
  top: 71px;
  left: 48px;
}
.loading-spinner .loading-spinner__inner div:nth-child(4) {
  animation-delay: -0.144s;
}
.loading-spinner .loading-spinner__inner div:nth-child(4)::after {
  top: 72px;
  left: 40px;
}
.loading-spinner .loading-spinner__inner div:nth-child(5) {
  animation-delay: -0.18s;
}
.loading-spinner .loading-spinner__inner div:nth-child(5)::after {
  top: 71px;
  left: 32px;
}
.loading-spinner .loading-spinner__inner div:nth-child(6) {
  animation-delay: -0.216s;
}
.loading-spinner .loading-spinner__inner div:nth-child(6)::after {
  top: 68px;
  left: 24px;
}
.loading-spinner .loading-spinner__inner div:nth-child(7) {
  animation-delay: -0.252s;
}
.loading-spinner .loading-spinner__inner div:nth-child(7)::after {
  top: 63px;
  left: 17px;
}
.loading-spinner .loading-spinner__inner div:nth-child(8) {
  animation-delay: -0.288s;
}
.loading-spinner .loading-spinner__inner div:nth-child(8)::after {
  top: 56px;
  left: 12px;
}
@keyframes loading-spinner {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

/** ! ==================================================
 * COMPONENTS/ Tab Nav for YouBot Page
 * ================================================== */
.tab-nav {
  position: relative;
  display: flex;
  flex-direction: column;
  padding-bottom: 1.5em;
}
.tab-nav::after, .tab-nav::before {
  display: none;
  opacity: 0.5;
}
@media only screen and (max-width:48em) {
  .tab-nav {
    padding: 0 0 1em !important;
  }
}
.tab-nav__wrapper {
  background-color: #e6eef5;
}
.tab-nav__list {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  list-style: none;
  margin: 0;
  padding: 0 4em;
}
@media only screen and (max-width:64em) {
  .tab-nav__list {
    padding: 0 1.5em;
  }
}
@media only screen and (max-width:48em) {
  .tab-nav__list {
    white-space: nowrap;
    max-width: 100%;
    margin: 0;
    overflow-x: auto;
    overflow-y: hidden;
  }
}
@media only screen and (max-width:30em) {
  .tab-nav__list {
    padding: 0;
  }
}
.tab-nav__list li {
  text-align: center;
}
.tab-nav__item {
  margin: 0;
  padding: 0.75em 0;
}
@media only screen and (max-width:48em) {
  .tab-nav__item {
    padding: 0.75em auto;
    white-space: wrap;
    text-align: center;
  }
  .tab-nav__item:first-of-type {
    padding-left: 5px;
    padding-right: 0;
  }
}
@media only screen and (max-width:48em) {
  .tab-nav__item a {
    font-weight: 800;
    font-size: 0.83rem;
  }
}
.tab-nav__link {
  padding: 0;
  color: #00549e;
  font-weight: 800;
}
.tab-nav__link.is-open::after {
  width: 100%;
}
.tab-nav ::-webkit-scrollbar {
  display: none;
}

.header--sticky .tab-nav {
  width: 100%;
  padding-bottom: 0;
  position: relative;
  top: 1.5em;
}
.header--sticky .tab-nav .wrapper {
  max-width: unset;
  padding-left: 0;
  padding-right: 0;
}
.header--sticky .tab-nav .wrapper .tab-nav__wrapper ul {
  max-width: 1370px;
  margin-left: auto;
  margin-right: auto;
}

.tab-nav-youbot .tab-nav__wrapper {
  background-color: unset;
}
.tab-nav-youbot ul {
  gap: 0;
  padding: 0;
}
.tab-nav-youbot ul .tab-nav__item {
  padding-top: 0;
  padding-bottom: 0;
  background-color: #e6eef5;
}
.tab-nav-youbot ul .tab-nav__item:first-of-type {
  padding-left: 4em;
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
}
@media only screen and (max-width:64em) {
  .tab-nav-youbot ul .tab-nav__item:first-of-type {
    padding-left: 0;
  }
}
.tab-nav-youbot ul .tab-nav__item:first-of-type .tab-nav__link {
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
}
@media only screen and (max-width:48em) {
  .tab-nav-youbot ul .tab-nav__item:first-of-type {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }
  .tab-nav-youbot ul .tab-nav__item:first-of-type .tab-nav__link {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }
}
.tab-nav-youbot ul .tab-nav__item:last-of-type {
  padding-right: 4em;
  border-top-right-radius: 10px;
  border-bottom-right-radius: 10px;
}
@media only screen and (max-width:64em) {
  .tab-nav-youbot ul .tab-nav__item:last-of-type {
    padding-right: 0;
  }
}
@media only screen and (max-width:48em) {
  .tab-nav-youbot ul .tab-nav__item:last-of-type {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }
}
.tab-nav-youbot ul .tab-nav__item.tab_nav__item--is-open {
  background-color: #bddeea;
}
.tab-nav-youbot ul .tab-nav__item:hover {
  background-color: #bddeea;
}
.tab-nav-youbot ul .tab-nav__item .tab-nav__link {
  width: 100%;
  height: 45px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.tab-nav-youbot ul .tab-nav__item .tab-nav__link.is-open {
  background-color: #bddeea;
}
.tab-nav-youbot img {
  max-width: 77px;
  width: 100%;
}

.is-sticky .tab-nav-youbot ul .tab-nav__item {
  border-radius: 0;
}

/** ! ==================================================
 * COMPONENTS/ Alphabetical List with select fields
 * ================================================== */
.alphabetical-jobs-list {
  margin-top: 2em;
}
@media only screen and (max-width:48em) {
  .alphabetical-jobs-list {
    margin-top: 1em;
  }
}
.alphabetical-jobs-list__list {
  display: flex;
  flex-direction: row;
  justify-content: center;
  padding: 0;
  flex-wrap: wrap;
}
.alphabetical-jobs-list__item {
  list-style: none;
}
.alphabetical-jobs-list__link {
  color: #00853f;
  display: block;
  padding: 0 0.5em;
  font-weight: 400;
}
.alphabetical-jobs-list__link--is-disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}

.alphabetical-jobs {
  max-width: 950px;
  margin: 4em auto 0;
}
@media only screen and (max-width:48em) {
  .alphabetical-jobs {
    margin-top: 0;
  }
}
.alphabetical-jobs__box {
  border: 2px solid #ebebeb;
  border-radius: 10px;
  padding: 1.5em;
  margin-bottom: 3em;
}
.alphabetical-jobs__alpha {
  font-weight: 800;
  padding-bottom: 1em;
}
.alphabetical-jobs__item {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid #ebebeb;
  padding: 1.25em 0;
  row-gap: 1em;
}
.alphabetical-jobs__item .wrapper {
  max-width: unset;
  padding: 0;
  width: unset;
  margin: unset;
}
@media only screen and (max-width:48em) {
  .alphabetical-jobs__item .wrapper {
    width: 100%;
  }
}
.alphabetical-jobs__item:first-of-type {
  border-top: 1px solid #ebebeb;
}
@media only screen and (max-width:48em) {
  .alphabetical-jobs__item {
    flex-direction: column;
    align-items: flex-start;
  }
}
.alphabetical-jobs__headline {
  font-weight: 800;
}
.alphabetical-jobs .fake-select {
  margin: 0;
  margin-left: auto;
}
.alphabetical-jobs .fake-select__list {
  border-radius: 5px;
}

/** ! ==================================================
 * Cookie Banner custom from customer
 * The structure comes form Ausbildungspark
 * ================================================== */
.mt-5px {
  margin-top: 5px;
}

.mt-14px {
  margin-top: 14px;
}

#cookieWrapper {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 999;
  background: rgba(0, 0, 0, 0.5);
  display: none;
  justify-content: center;
  align-items: center;
  overflow: auto;
}
@media only screen and (max-width:30em) {
  #cookieWrapper {
    align-items: flex-end;
  }
}
#cookieWrapper * {
  font-family: "Nunito Sans", "Helvetica", "Arial", sans-serif;
}
#cookieWrapper .expand {
  display: flex;
  flex-direction: column;
  cursor: pointer;
  align-items: flex-end;
}
#cookieWrapper .expand .icon-container {
  text-align: right;
}
#cookieWrapper .expand svg {
  width: 10px;
  margin-right: 6px;
}
#cookieWrapper .js-expand-necessary-content,
#cookieWrapper .js-expand-functional-content,
#cookieWrapper .js-expand-video-content,
#cookieWrapper .js-expand-stats-content,
#cookieWrapper .js-expand-marketing-content {
  display: none;
}
#cookieWrapper .js-expand-necessary.is-expanded,
#cookieWrapper .js-expand-functional.is-expanded,
#cookieWrapper .js-expand-video.is-expanded,
#cookieWrapper .js-expand-stats.is-expanded,
#cookieWrapper .js-expand-marketing.is-expanded {
  display: none;
}

#cookieModal {
  /* position: fixed; left:0; bottom:30px; width: 100%; */
}

#cookieModal > div {
  position: relative;
  max-width: 420px;
  background: #fff;
  margin: 0 auto;
  padding: 15px 0;
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.08);
  border-radius: 5px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 260px;
}

#cookieModal > div.setup {
  padding: 0;
}

#cookieModal .image img {
  width: 50px;
  height: auto;
}

#cookieModal .image {
  position: relative;
  left: auto;
  width: 100%;
  text-align: center;
}

#cookieModal .title {
  padding: 15px;
  font-size: 20px;
  line-height: 1;
  font-weight: 800;
  font-family: "Nunito", "Times New Roman", serif;
  margin-bottom: 0;
  text-align: center;
}

#cookieModal .back {
  margin-bottom: 0;
  font-size: 14px;
  color: #00853f;
  cursor: pointer;
}

#cookieModal .text p,
#cookieModal .text span {
  font-size: 0.75em;
  line-height: 1.2em;
  margin-bottom: 0;
}

#cookieModal .start .text {
  padding: 15px;
  background: #fcead2;
  color: #333;
  line-height: 1.2;
}
#cookieModal .start .text p,
#cookieModal .start .text span {
  font-size: 0.75em;
}

#cookieModal .start .buttons {
  padding: 15px;
  display: flex;
  row-gap: 1em;
  -moz-column-gap: 0.5em;
       column-gap: 0.5em;
  flex-direction: column;
  text-align: center;
}

#cookieModal .setup .text {
  padding: 25px 30px 15px;
  background: #fcead2;
  color: #333;
  font-size: 16px;
  line-height: 1.2;
}

#cookieModal .setup .buttons {
  padding: 1.5em 0;
  display: flex;
  justify-content: center;
}

#cookieModal .buttons > button {
  display: flex;
  gap: 0.75em;
  align-items: center;
  width: 220px;
  text-decoration: none;
  white-space: nowrap;
  line-height: initial;
  font-size: 16px;
  font-size: calc(14px + (16 - 14) * ((100vw - 320px) / (1680 - 320)));
  font-size: clamp(0.875rem, 1.1678832117vw, 1rem);
}

#cookieModal .buttons > .button-primary .button-primary--accept {
  width: 16px;
  height: 16px;
}

#cookieModal .setup {
  display: none;
}

.switch {
  position: relative;
  display: inline-block;
  width: 35px;
  height: 20px;
  margin-bottom: 0 !important;
}
.switch.switch-small {
  width: 30px;
  height: 18px;
}

/* Hide default HTML checkbox */
.switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

/* The slider */
.slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ccc;
  transition: 0.4s;
}

.slider::before {
  position: absolute;
  content: "";
  height: 16px;
  width: 16px;
  left: 2px;
  bottom: 2px;
  background-color: white;
  transition: 0.4s;
}

.switch-small .slider::before {
  height: 14px;
  width: 14px;
}

input:checked + .slider {
  background-color: #00853f;
}

input:focus + .slider {
  box-shadow: 0 0 1px #00853f;
}

input:checked + .slider::before {
  transform: translateX(16px);
}

.switch-small input:checked + .slider::before {
  transform: translateX(12px);
}

/* Rounded sliders */
.slider.round {
  border-radius: 34px;
}

.slider.round::before {
  border-radius: 50%;
}

@media only screen and (max-width: 1200px) {
  body {
    font-size: 16px;
  }
  #cookieModal {
    left: 30px;
    bottom: 30px;
    width: calc(100% - 40px);
    max-height: 100vh;
    overflow-y: auto;
  }
  #cookieModal > div {
    padding: 15px 0 0;
  }
  #cookieModal > div.setup {
    padding: 0;
  }
  #cookieModal .image img {
    height: auto;
  }
  #cookieModal .start .text {
    padding: 15px;
  }
  #cookieModal .setup .text {
    padding: 25px 15px 15px;
  }
  #cookieModal .setup .buttons > .button-primary {
    margin: 0;
    max-width: calc(100% - 30px);
    box-sizing: border-box;
  }
}
.headline-container {
  height: 44px;
}

.cookieModal__settingHeadline {
  color: #333;
  text-transform: uppercase;
  width: 60%;
}
.cookieModal__settingsEntry {
  font-size: 0.75em;
  line-height: 1.2em;
  width: calc(100% - 30px);
}
.cookieModal .links {
  margin-top: 1em;
  width: 100%;
  display: flex;
  justify-content: center;
  font-size: 14px;
  gap: 1em;
}
.cookieModal .links a {
  color: #00853f;
}
.cookieModal .group-desc {
  width: 80%;
}
@media (max-width: 360px) {
  .cookieModal .group-desc {
    width: 70%;
  }
}

.info-box {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  padding: 1.5em;
  border-radius: 5px;
  margin-bottom: 2em;
}
.info-box a {
  color: #00549e;
}
.info-box--success {
  background-color: #79d9bd;
}
.info-box--info {
  background-color: #f1cb59;
}
.info-box--error {
  background-color: #e18089;
}
.info-box--small {
  margin: 1em 0 0;
  padding: 0.5em;
}
.info-box--xsmall {
  padding: 0;
  margin: 1em 0 0;
  background-color: unset;
}
.info-box__headline {
  font-weight: 800;
  margin-bottom: 0;
}
.info-box__text span {
  display: block;
}
.info-box__text a {
  color: #00853f;
}

/** ! ==================================================
 * COMPONENTS/Tags
 * reusable tags module
 * ================================================== */
.tags {
  margin-top: 10px;
}
.tags ul {
  padding-left: 0;
}
.tags ul li {
  display: inline-block;
  margin: 16px 10px 0 0;
}
@media only screen and (max-width:48em) {
  .tags ul li {
    margin: 10px 0 0 0;
  }
}
.tags ul li a {
  align-items: center;
  background: #ebebeb;
  border-radius: 5px;
  color: #727171;
  display: inline-flex;
  font-size: 1rem;
  font-weight: bold;
  height: 32px;
  padding: 0 10px;
}
@media only screen and (max-width:48em) {
  .tags ul li a {
    font-size: 0.8em;
  }
}
.tags ul li a:hover {
  background: #acacac;
  color: #444;
}

/** ! ==================================================
 * COMPONENTS/ Autocomplete dropdown
 * ================================================== */
.searchbar--autocomplete {
  position: relative;
}

.fake-select--autocomplete {
  position: relative;
}

.searchbar__autocomplete {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: white;
  border: 1px solid #ddd;
  border-top: none;
  border-radius: 0 0 4px 4px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  max-height: 300px;
  overflow-y: auto;
  z-index: 1000;
  display: none;
}
.searchbar__autocomplete.is-visible {
  display: block;
}
.searchbar__autocomplete-section {
  padding: 8px 0;
}
.searchbar__autocomplete-section:not(:last-child) {
  border-bottom: 1px solid #eee;
}
.searchbar__autocomplete-title {
  font-size: 12px;
  font-weight: 900;
  color: #666;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin: 10px 0 4px 0;
  padding: 0 12px;
}
.searchbar__autocomplete-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.searchbar__autocomplete-item {
  padding: 8px 12px;
  cursor: pointer;
  transition: background-color 0.2s ease;
  font-size: 14px;
  line-height: 1;
}
.searchbar__autocomplete-item:hover, .searchbar__autocomplete-item.is-focused {
  background-color: #f5f5f5;
}
.searchbar__autocomplete-item:active {
  background-color: #e9e9e9;
}

.searchbar__input-container,
.fake-select__input-container {
  position: relative;
  flex: 1;
}

.filter-row .js-location-input-container .fake-select__input {
  padding: 1em;
  background-color: #ebebeb;
  border: 1px solid #ebebeb;
  border-radius: 5px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 100%;
  font-size: 16px;
  transition: border-color ease-in-out 0.3s;
  line-height: 1.5;
  color: #333;
  outline: none;
}
.filter-row .js-location-input-container .fake-select__input:focus {
  border-color: #f18f20;
  outline: none;
}
.filter-row .js-location-input-container .fake-select__input::-moz-placeholder {
  color: #acacac;
}
.filter-row .js-location-input-container .fake-select__input::placeholder {
  color: #acacac;
}

@media (max-width: 768px) {
  .searchbar__autocomplete {
    max-height: 200px;
  }
  .searchbar__autocomplete-item {
    padding: 12px;
    font-size: 16px;
  }
}
/** ! ==================================================
 * COMPONENTS
 * ================================================== */
.no-js-msg {
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
  padding: 0.75em;
  color: #fff;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
  background-color: #00853f;
  border-top: 2px solid #fff;
  z-index: 99;
  height: 100px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.no-video-msg {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 90%;
  padding: 0.5em;
  background-color: black;
  transform: translate(-50%, -50%);
  color: white;
  font-size: 14px;
  font-size: 0.875rem;
  text-align: center;
}

.preloader,
.video .video__play,
.video img,
.video .video__privacy {
  display: none;
}

.slider .slider__item {
  display: none;
}

.slider .slider__item:first-of-type {
  display: block;
  width: 100%;
}

.slide-next,
.slide-prev {
  display: none;
}

.card-slider .card-slider__item {
  display: none;
}

.card-slider .card-slider__item:first-child {
  display: inline-block;
}

.tabs {
  text-align: center;
}

.tabs::after {
  font-size: 12px;
  font-size: 0.75rem;
  text-transform: uppercase;
  content: "Bitte aktivieren Sie JavaScript, um Zugriff auf die Inhalte zu haben.";
  color: #727171;
}

.form__field.is-animated span {
  top: 0%;
  color: black;
  font-size: 75%;
}

.lazy-load {
  padding-bottom: 0 !important;
}

.lazy-load img {
  opacity: 1;
}

.map {
  text-align: center;
}

.map::after {
  font-size: 12px;
  font-size: 0.75rem;
  text-transform: uppercase;
  content: "Map could not be loaded. Please enable JavaScript!";
  color: #727171;
}

#contact-form {
  padding-bottom: 2em;
}

#contact-form::after {
  margin-left: 1em;
  font-size: 14px;
  font-size: 0.875rem;
  content: "Inputs can not be sent. Please enable JavaScript!";
  color: #727171;
}

.animate-up {
  opacity: 1;
  visibility: visible;
  transform: translateY(0%);
}

.animate-stagger-up > div {
  opacity: 1;
  visibility: visible;
  transform: translateY(0%);
}

.animate-left {
  opacity: 1;
  visibility: visible;
  transform: translateX(0%);
}

.animate-right {
  opacity: 1;
  visibility: visible;
  transform: translateX(0%);
}

.slider-hero__item:not(:first-of-type) {
  display: none;
}
.slider-hero__tabs, .slider-hero__progress {
  display: none;
}
.slider-hero img {
  margin: 0 !important;
}

.slider-testimonal__items {
  display: flex;
  justify-content: center;
}
.slider-testimonal__items * {
  opacity: 1;
}
.slider-testimonal__item:not(:first-of-type) {
  display: none;
}
.slider-testimonal__item:nth-of-type(1) img {
  width: 140px;
  height: 140px;
}

.carousel-cell:not(:first-of-type) {
  display: none;
}