@charset "UTF-8";
/**
* Die get-map Funktion ermöglicht das einfache auslesen von
* verschachtelten SCSS Maps.
*
* map-deep-get($MAPNAME, MAPKEY, MAPVALUE);
*/
/**
 *
 * mq() ist ein Sass Mixin der hilft, media queries zu generieren.
 * Aus Pixelwerten werden em-based media queries und es gibt einen
 * Fallback für ältere Browser.
 *
 * Dokumentation:         https://github.com/sass-mq/sass-mq
 *
 */
/**
 * Aus den Einträgen aus der theme.json werden SASS Maps erstellt, die für
 * weitere Funktionen zur Verfügung stehen.
 */
/**
 * Diese Variablen können überall als Shortcut eingesetzt werden, sind
 * aber auch dazu da, die default UIKit Variablen zu überschreiben.
 *
 * [1]  Die Funktion palette übergibt ein Attribut, welches einer Farbe aus
 *      der theme.json color palette entsprechen muss.
 *
 * [2]  Für jedes Object in der Palette wird eine Abfrage gestartet.
 *
 * [3]  Das übergebene Attribut wird mit dem slug in der laufenden Abfrage
 *      verglichen.
 *
 * [4]  Wenn die beiden Werte übereinstimmen wird der entsprechende Farbwert
 *      übergeben.
 */
/**
 * Verwendet für Abstände wird die vr() Funktion von Typi. Diese generiert
 * aus dem Null key in der base font-map den vertikalen Rhythmus.
 * Angegeben wird der Wert asl vr(x) wobei 1x einer Baseline entspricht.
 *
 * 1 Baseline = Null Wert * Line Height Null Wert (Bsp.: 18px * 1.4)
 *
 * Dokumentation:     https://github.com/zellwk/typi
 */
/**
 *
 * [1]  Die Funktion font übergibt ein Attribut, welches einer Schriftart
 *      aus der theme.json entsprechen muss.
 *
 * [2]  Für jedes Object in der Map wird eine Abfrage gestartet.
 *
 * [3]  Das übergebene Attribut wird mit dem slug in der laufenden Abfrage
 *      verglichen.
 *
 * [4]  Wenn die beiden Werte übereinstimmen wird der entsprechende Font
 *      übergeben.
 */
/**
 * Das pseudo Mixin erlaubt das einfache erstellen von pseudo-Elementen.
 * Es kann mittels @include in Elemente eingebunden werden und akzeptiert
 * folgende Paramter:
 *    - $loc      = location (before [default] oder after)
 *    - $content  = content der mittels CSS generiert werden soll
 *    - $pos      = position (absolute [default] oder relative)
 *
 * Bsp.: @include pseudo($loc: after, $content: 'hallo', $pos: relative) { background: red; }
 *
 * Das Mixin kann durch eigene erweiternde Eigenschaften ergänzt werden.
 */
/**
 * Das paddingPage Mixin erzeugt einheitliche Innenabstände. Dabei werden
 * aus der theme.json des Child Themes Werte geholt.
 */
/**
 * Das reset Mixin entfernt default styles von Elementen.
 */
/**
 * Die svgColor Funktion wandelt Hex Farben so um, dass sie in bg-img
 * SVGs als Fill oder Stroke genutzt werden können.
 */
/**
 *
 * Typi ist eine SCSS Funktion, die Schriftgrößen sehr einfach
 * responsiv macht.
 * Typi greift auf die Breakpoints zurück, die in der
 * ../variables/breakpoints.scss $breakpoints map definiert wurden.
 *
 * Dokumentation:         https://github.com/zellwk
 * Typescale Generator:   https://www.modularscale.com
 *
 */
/**
 *
 * Um die Werte aus Adobe XD nutzen zu können, sind Mixins
 * notwendig. Diese rechnen die statischen in dynamische
 * Werte um.
 *
 */
/**
 * Das margin-bottom Mixin erzeugt automatisch einen margin-bottom Wert
 * auf Basis der typi Definitionen. Dieser Wert wird in em angegeben, um
 * sich dynamisch mit der Schriftgröße zu verändern.
 *
 * Als Argument muss der $typi Selector der gewünschten Schriftgröße
 * übergeben werden.
 *
 * [1]  Die $baseline ist das Produkt aus der base font-size und line-height.
 *      Sie ist die Grundlage für alle errechneten Abstände.
 *
 * [2]  Die $size ist die Schriftgröße aus der $typi Map des übergebenen
 *      $selector.
 *
 * [3]  Für jeden Media Query in der $breakpoints Map (breakpoints.scss)
 *      wird der entsprechende Wert aus der $typi Map verwendet.
 *
 * [4]  Ab dem medium Breakpoint werden dessen Werte als Baseline genutzt.
 */
.jed-tabs {
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.16);
}

.jed-tabs__nav-item {
  min-height: 187px;
  background-color: #F7F7F7;
  border-bottom: 1px solid transparent;
  transition: background-color .3s ease-in-out;
  overflow: hidden;
}

.jed-tabs__nav-item:hover {
  cursor: pointer;
  background-color: #FFFFFF;
}

.jed-tabs__nav-item:first-child {
  margin-left: 20px;
}

.jed-tabs__nav-item.uk-active {
  background-color: #FFFFFF;
}

.jed-tabs__nav-item:not(.uk-active) {
  border-bottom-color: rgba(112, 112, 112, 0.2);
}

.jed-tabs__nav-item + .jed-tabs__nav-item {
  border-left: 1px solid rgba(112, 112, 112, 0.2);
}

.jed-tabs__nav-item .badge {
  width: 140px;
  right: 0;
  text-align: right;
  transform: scale(0.75);
  padding: 1rem 0 0 1rem;
  font-size: clamp(calc(var(--wp--custom--font-size-h6--min) / 16 * 1rem), calc(50 / var(--wp--custom--font-size-h6--max) * 1vw), calc(var(--wp--custom--font-size-h6--max) / 16 * 1rem));
}

.jed-tabs__nav-item .badge::after {
  top: -190%;
  left: -55%;
  transform: rotate(30deg);
}

@media (max-width: 99.99em) {
  .jed-tabs__nav-item .badge {
    text-align: center;
    width: 100%;
    transform: scale(1);
    padding: 0;
    line-height: 2;
    font-size: 0.9rem;
  }
  .jed-tabs__nav-item .badge--yellow {
    background-color: #FFCB04;
  }
  .jed-tabs__nav-item .badge::after {
    display: none;
  }
}

@media (min-width: 100em) {
  .jed-tabs__nav-item.has-label a {
    padding: 5px 100px;
  }
}

.jed-tabs__content {
  margin-top: 0 !important;
}

.jed-tab {
  padding: 0.5rem;
  background-color: #FFFFFF;
}

.jed-tab__content {
  position: relative;
  color: #464646;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}

.jed-tab__content > *:not(.uk-overlay-default) {
  position: relative;
  z-index: 1;
}

.jed-tab__content .uk-text-large {
  color: #1F3460 !important;
}

.jed-tabs .uk-accordion li:not(.uk-open) + li {
  border-top: 1px solid rgba(112, 112, 112, 0.2);
}

.jed-tabs .uk-accordion .uk-accordion-title {
  font-size: clamp(calc(var(--wp--custom--font-size-h5--min) / 16 * 1rem), calc(50 / var(--wp--custom--font-size-h5--max) * 1vw), calc(var(--wp--custom--font-size-h5--max) / 16 * 1rem));
  line-height: 1.2;
  font-weight: 600;
  background-color: transparent;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  text-align: center;
  color: #1F3460;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  min-height: 155px;
}

.jed-tabs .uk-accordion .uk-open .uk-accordion-title {
  background-color: #FFFFFF;
}

.jed-tabs .uk-accordion .uk-accordion-content {
  margin-top: 0 !important;
  padding: 0.5rem;
  background-color: #FFFFFF;
}

.jed-tabs .uk-accordion .jed-tab__content + .jed-tab__content {
  margin-top: 0.5rem;
}

.uk-overlay-secondary {
  background-color: #007CBD;
}

.wp-block-post-template .jed-overlayTeaser picture {
  aspect-ratio: 16 / 11;
}

.jed-overlayTeaser__content picture {
  display: flex;
}

.jed-overlayTeaser__content picture img {
  object-fit: cover;
}

.jed-overlayTeaser__content .uk-overlay-secondary {
  padding: 70px 28px 70px 1.5rem;
}

.jed-overlayTeaser__content.uk-transition-toggle:hover .jed-overlayTeaser__toggle {
  background-color: #FFFFFF;
}

.jed-overlayTeaser__content.uk-transition-toggle:hover .jed-overlayTeaser__toggle::before {
  background-image: url("data:image/svg+xml;charset=utf8,<svg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'><path fill='%23007CBD' d='M15.1,30c-0.4,0-0.7-0.3-0.7-0.7V0.7c0-0.4,0.3-0.7,0.7-0.7s0.7,0.3,0.7,0.7v28.6C15.8,29.7,15.3,30,15.1,30z'/><path fill='%23007CBD' d='M29.3,15.8H0.7c-0.4,0-0.7-0.4-0.7-0.7c0-0.3,0.3-0.7,0.7-0.7h28.6c0.4,0,0.7,0.3,0.7,0.7S29.7,15.8,29.3,15.8z'/></svg>");
  transform: rotate(180deg);
}

.jed-overlayTeaser__toggle {
  z-index: 4;
  overflow: hidden;
  display: block;
  width: 60px;
  height: 60px;
  background-color: #007CBD;
}

.jed-overlayTeaser__toggle::before {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  aspect-ratio: 1;
  background-image: url("data:image/svg+xml;charset=utf8,<svg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'><path fill='%23ffffff' d='M15.1,30c-0.4,0-0.7-0.3-0.7-0.7V0.7c0-0.4,0.3-0.7,0.7-0.7s0.7,0.3,0.7,0.7v28.6C15.8,29.7,15.3,30,15.1,30z'/><path fill='%23ffffff' d='M29.3,15.8H0.7c-0.4,0-0.7-0.4-0.7-0.7c0-0.3,0.3-0.7,0.7-0.7h28.6c0.4,0,0.7,0.3,0.7,0.7S29.7,15.8,29.3,15.8z'/></svg>");
  background-repeat: no-repeat;
  background-size: 25px;
  background-position: center center;
  transition: transform .3s ease-out;
}

.jed-overlayTeaser__toggle:hover {
  cursor: pointer;
}

.jed-overlayTeaser__toggle:hover::before {
  transform: rotate(180deg);
}

.jed-overlayTeaser__text {
  max-height: 100%;
  padding-right: 1.5rem;
  color: #ffffff;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow-x: hidden;
  overflow-y: auto;
}

.jed-overlayTeaser__text::-webkit-scrollbar {
  width: 4px;
}

.jed-overlayTeaser__text::-webkit-scrollbar-track {
  background-color: rgba(0, 0, 0, 0.5);
}

.jed-overlayTeaser__text::-webkit-scrollbar-thumb {
  background-color: #FFFFFF;
}

.jed-overlayTeaser__crop {
  width: 100%;
  padding-top: 56.25%;
  display: flex;
  position: relative;
  overflow: hidden;
}

.jed-overlayTeaser__crop > * {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

/* ========================================================================
   Component: Overlay
 ========================================================================== */
.uk-overlay {
  padding: 30px 30px;
}

/*
 * Remove margin from the last-child
 */
.uk-overlay > :last-child {
  margin-bottom: 0;
}

/* Icon
 ========================================================================== */
/* Style modifiers
 ========================================================================== */
/*
 * Default
 */
.uk-overlay-default {
  background: rgba(255, 255, 255, 0.8);
  background: rgba(255, 255, 255, 0.7);
}

/*
 * Primary
 */
.uk-overlay-primary {
  background: rgba(0, 124, 189, 0.8);
}

/* ========================================================================
   Component: Accordion
 ========================================================================== */
.uk-accordion {
  padding: 0;
  list-style: none;
}

/* Item
 ========================================================================== */
.uk-accordion > :nth-child(n+2) {
  margin-top: 20px;
}

/* Title
 ========================================================================== */
.uk-accordion-title {
  display: block;
  font-size: 1.25rem;
  line-height: 1.4;
  color: #333;
  margin: 0;
  overflow: hidden;
}

.uk-accordion-title .badge {
  width: 140px;
  right: 0;
  text-align: right;
  transform: scale(0.75);
  padding: 1rem 0 0 1rem;
  font-size: 1rem;
}

.uk-accordion-title .badge::after {
  top: -235%;
  left: -50%;
  transform: rotate(30deg);
}

.uk-accordion-title.has-label {
  padding: 5px 85px;
}

/* Hover + Focus */
.uk-accordion-title:hover,
.uk-accordion-title:focus {
  color: #464646;
  text-decoration: none;
  outline: none;
}

/* Content
 ========================================================================== */
.uk-accordion-content {
  display: flow-root;
  margin-top: 20px;
}

/*
 * Remove margin from the last-child
 */
.uk-accordion-content > :last-child {
  margin-bottom: 0;
}

/* ========================================================================
   Component: Switcher
 ========================================================================== */
/*
 * Reset list
 */
.uk-switcher {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Items
 ========================================================================== */
/*
 * Hide not active items
 */
.uk-switcher > :not(.uk-active) {
  display: none;
}

/*
 * Remove margin from the last-child
 */
.uk-switcher > * > :last-child {
  margin-bottom: 0;
}

/* ========================================================================
   Component: Tab
 ========================================================================== */
/*
 * 1. Allow items to wrap into the next line
 * 2. Gutter
 * 3. Reset list
 */
.uk-tab {
  display: flex;
  /* 1 */
  flex-wrap: wrap;
  /* 2 */
  margin-left: -20px;
  /* 3 */
  padding: 0;
  list-style: none;
}

/*
 * 1. Space is allocated solely based on content dimensions: 0 0 auto
 * 2. Gutter
 * 3. Create position context for dropdowns
 */
.uk-tab > * {
  /* 1 */
  flex: none;
  /* 2 */
  padding-left: 20px;
  /* 3 */
  position: relative;
}

/* Items
 ========================================================================== */
/*
 * Items must target `a` elements to exclude other elements (e.g. dropdowns)
 * 1. Center text if a width is set
 * 2. Style
 */
.uk-tab > * > a {
  /* 1 */
  display: block;
  text-align: center;
  /* 2 */
  padding: 5px 10px;
  color: #999;
  font-size: clamp(calc(var(--wp--custom--font-size-h5--min) / 16 * 1rem), calc(50 / var(--wp--custom--font-size-h5--max) * 1vw), calc(var(--wp--custom--font-size-h5--max) / 16 * 1rem));
  line-height: 1.2;
  font-weight: 600;
  background-color: transparent;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  text-align: center;
  color: #1F3460;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Hover + Focus */
.uk-tab > * > a:hover,
.uk-tab > * > a:focus {
  color: #464646;
  text-decoration: none;
  color: #1F3460;
}

/* Active */
.uk-tab > .uk-active > a {
  color: #333;
  color: #1F3460;
}

/* Disabled */
.uk-tab > .uk-disabled > a {
  color: #999;
}

/* Position modifier
 ========================================================================== */
/*
 * Bottom
 */
/*
 * Left + Right
 * 1. Reset Gutter
 */
.uk-tab-left,
.uk-tab-right {
  flex-direction: column;
  /* 1 */
  margin-left: 0;
}

/* 1 */
.uk-tab-left > *,
.uk-tab-right > * {
  padding-left: 0;
}

.uk-tab-left > * > a {
  text-align: left;
}

.uk-tab-right > * > a {
  text-align: left;
}

