/* ========================================================
   Master Layout (Features), Version 1.24
   --------------------------------------------------------
   AgenturWebfox
   ======================================================== */

/* -------------------------------------
   ------------- Global  ---------------
   ------------------------------------- */

@media (min-width: 768px) and (max-width: 1249px) {
  .hidden-tablet {
    display: none!important;
  }
  .visible-tablet {
    display: block!important;
  }
}

@media (min-width: 1250px) {
  .hidden-desktop {
    display: none!important;
  }
  .visible-desktop {
    display: block!important;
  }
}

/* Fixed Footer */

body {
  min-height: 100vh;
  display: flex;
  flex-flow: column;
}

.body-wrap {
  flex-grow: 1;
}

/* -------------------------------------
   --------------- Grid ----------------
   ------------------------------------- */

.container {
  box-sizing: border-box;
}

@media screen and (min-width: 768px) {
  .container {
    max-width: 718px;
  }
}

@media screen and (min-width: 1250px) {
  .container {
    max-width: 1240px;
  }
}

/* -------------------------------------
   --------------- Hero ----------------
   ------------------------------------- */

body.body--has-hero .body-wrap main {
  margin-top: 0;
  padding-top: 0;
  /* IE-Workaround for this bug: https://github.com/philipwalton/flexbugs/issues/231 */
  display: flex;
  flex-flow: column;
}

body.body--has-hero .header__bg {
  opacity: 0.5;
}

body.body--has-hero .header__bg--expanded, body.body--has-hero.body--is-scrolled .header__bg {
  opacity: 1.0;
}

section.hero {
  position: relative;
  display: flex;
  justify-content: center;
  flex-flow: row wrap;
  align-items: center;
  flex-direction: column;
  box-sizing: border-box;
  min-height: 100vh;
  min-height: calc(100vh - 108px);
  height: 100%;
  background-size: cover;
  background-position: bottom center;
}

/*=== Landingpage Hero ================*/

body.lp-global.design2019 section.hero {
  min-height: calc(100vh - 120px);
}

/*=== End: Landingpage Hero ===========*/

.hero .container {
  display: flex;
  flex-flow: column nowrap;
  /* height: 100%; IE-Bug zur zentrierten Anordnung */
  padding-top: 5vh;
}

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

.hero__button-next a {
  font-size: 0;
  margin-top: 20px;
  display: flex;
  justify-content: center;
  height: 100px;
}

.hero__button-next a:after {
  content: '';
  width: 60px;
  height: 60px;
  -webkit-animation: 3s arrow infinite ease;
  animation: 3s arrow infinite ease;
}

@-webkit-keyframes arrow {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(20px);
  }
}

@keyframes arrow {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(20px);
  }
}

.hero__button-next a:after {
  background-repeat: no-repeat;
}

.contentarea--light-dark .hero__button-next a:after, .contentarea--light-dark--desktop .hero__button-next a:after {
  background-image: url("data:image/svg+xml,%3Csvg version='1.1' id='Ebene_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 61.8 38' style='enable-background:new 0 0 61.8 38;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:none;stroke:%23FFFFFF;stroke-width:10;stroke-miterlimit:10;%7D%0A%3C/style%3E%3Cpolyline id='arrow' class='st0' points='58.2,3.5 30.9,30.9 3.5,3.5 '/%3E%3C/svg%3E%0A");
}

.contentarea--dark-light .hero__button-next a:after, .contentarea--dark-light--desktop .hero__button-next a:after {
  background-image: url("data:image/svg+xml,%3Csvg version='1.1' id='Ebene_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 61.8 38' style='enable-background:new 0 0 61.8 38;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:none;stroke:%23575756;stroke-width:10;stroke-miterlimit:10;%7D%0A%3C/style%3E%3Cpolyline id='arrow' class='st0' points='58.2,3.5 30.9,30.9 3.5,3.5 '/%3E%3C/svg%3E%0A");
}

@media screen and (min-width: 768px) {
  .hero .container {
    padding-top: 20vh;
  }
}

@media screen and (min-width: 1000px) {
  section.hero {
    padding-top: 150px;
    min-height: 100vh;
  }
  .hero .container {
    padding-top: 15vh;
  }
}

@media screen and (min-width: 1250px) {
  .hero .container {
    padding-top: 10vh;
  }
}

/* -------------------------------------
   -------------- Header ---------------
   ------------------------------------- */

.header, .header * {
  box-sizing: border-box;
}

.header {
  background: transparent;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  transition: transform .2s ease-out;
  padding: 8px 1.5% 6px 1.5%;
}

.header__top-bar, .header__main {
  padding-left: 3%;
  padding-right: 3%;
}

.header__top-bar {
  height: 42px;
  background-color: #005795;
  display: none;
  color: #fff;
  align-items: center;
  justify-content: space-between;
}

.header__top-bar img {
  height: 15px;
}

.header__main {
  background-color: #fff;
}

.header__main__notch {
  background-color: #005795;
  width: 110px;
  height: 34px;
  font-size: 14px;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  line-height: 1;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}

.header__main__notch:before, .header__main__notch:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 47px;
  background-image: url("data:image/svg+xml,%3Csvg width='40px' height='29px' viewBox='0 0 40 29' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23005795' d='M40,28.9837918 C26.3344864,29.2189003 17.6935272,26.8962342 14.0771225,22.0157934 C10.4607178,17.1353526 8.169771,11.1977843 7.20428226,4.20308866 C6.80767336,1.40102955 4.50001376,-7.10542736e-15 0.28130348,-7.10542736e-15 L-3.27897692e-13,-7.10542736e-15 L40,-7.10542736e-15 L40,28.9837918 Z'/%3E%3C/svg%3E");
  background-size: 47px 34px;
  background-repeat: no-repeat;
}

.header__main__notch:before {
  left: 0;
  transform: translateX(-100%) translateX(1px);
}

.header__main__notch:after {
  right: 0;
  transform: translateX(100%) translateX(-1px) scale(-1, 1);
}

.header__main {
  position: relative;
  height: 104px;
  display: none;
  align-items: flex-end;
  border-bottom: 1px solid #dadada;
}

.header__main__left, .header__main__right {
  flex-grow: 1;
}

.header__main__right {
  padding: 19px 0 16px;
  line-height: 1;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.header__main__center {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
}

.header__bg {
  display: none;
  height: 504px;
  transform: translateY(-100%) translateY(104px);
  position: absolute;
  left: 0;
  right: 0;
  background-color: #fff;
  z-index: -1;
  top: 42px;
  transition: opacity .25s ease-out, transform .25s ease-out, box-shadow .25s ease-out, height .25s ease-out;
}

.header__bg--expanded {
  transform: translateY(0);
  box-shadow: 0 1px 10px rgba(0, 0, 0, .25);
}

.header__bg:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background-size: cover;
  background-position: top right;
  opacity: 0;
  transition: opacity .15s ease-out;
}

.header__bg--expanded:before {
  opacity: .4;
  transition: opacity .5s .25s ease-out;
}

.header__bg:after {
  content: "";
  opacity: 0;
}

.header__bg--expanded:after {
  width: 240px;
  border-left: 1px solid rgba(0, 87, 149, .2);
  position: absolute;
  right: 0;
  left: 52%;
  top: 148px;
  bottom: 40px;
  transform: translateX(-240px);
  opacity: 1;
  transition: opacity .5s .25s ease-out;
}

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

.mobile-search {
  flex: 0 1 100%;
}

/*=== Landingpage Header ================*/

body.lp-global.design2019 .header {
  padding: 20px 1.5%;
}

/*=== End: Landingpage Header ===========*/

@media (hover: hover) and (pointer: fine) {
  @media screen and (min-width: 1000px) {
    .header {
      padding: 0;
    }
    .header--fixed {
      position: fixed;
      z-index: 6000;
      left: 0;
      right: 0;
      top: 0;
    }
    .header--up {
      transform: translateY(-42px);
    }
    .body-wrap main {
      margin-top: 146px;
    }
    .header__top-bar {
      display: flex;
    }
    .header__main {
      display: flex;
      background-color: transparent;
    }
    .header__bg {
      display: block;
    }
    .header__mobile {
      display: none;
    }
    /*=== Landingpage Header ==========================================*/
    body.lp-global.design2019 .body-wrap main {
      padding-top: 0;
      margin-top: 135px;
    }
    body.lp-global.design2019.body--has-hero .body-wrap main {
      margin-top: 0;
    }
    body.lp-global.design2019 .header {
      padding: 0;
    }
    body.lp-global.design2019 .header__bg {
      top: 30px;
      height: 135px;
    }
    body.lp-global.design2019.body--is-scrolled .header__bg {
      top: 15px;
    }
    body.lp-global.design2019 .header__main {
      align-items: center;
      height: 135px;
    }
    body.lp-global.design2019 .header--up {
      transform: translateY(0);
    }
    body.lp-global.design2019.body--is-scrolled .header__main {
      height: auto;
    }
    body.lp-global.design2019 .header__home-link {
      padding: 40px 0;
      transition: padding 0.3s;
    }
    body.lp-global.design2019.body--is-scrolled .header__home-link {
      padding: 23px 0;
    }
    body.lp-global.design2019 .header__main__right {
      padding: 0;
    }
    body.lp-global.design2019 .header__home-link img[src$="svg"] {
      height: 70px;
      width: 350px;
    }
    /*=== End: Landingpage Header =====================================*/
  }
}

@media (hover: hover) and (pointer: fine) {
  @media screen and (min-width: 1250px) {
    .header__bg--expanded::after {
      left: 49.4%;
      width: 300px;
      transform: translateX(-258px);
    }
    /*=== Landingpage Hero ==========================================*/
    body.lp-global.design2019.body--has-hero section.hero {
      min-height: 100vh;
    }
    body.lp-global.design2019.body--has-hero .hero .container {
      min-width: 1240px;
    }
    /*=== Landingpage Hero ==========================================*/
  }
}

/* -------------------------------------
   ------- No Script Navigation --------
   ------------------------------------- */

#content noscript #nav-subnav {
  margin-left: 0;
}

#content noscript #nav-subnav .nav-subnav__item {
  float: left;
  padding: 10px;
  border: solid 1px #005795;
  margin: 0 10px 10px 0;
}

#content noscript #nav-subnav .nav-subnav__item::before {
  content: '';
}

/* ---------------------------------------------
  --- Darkened body when header is expanded ---
  --------------------------------------------- */

body {
  position: relative;
}

body:after {
  content: "";
  height: 0;
  background: #000;
  opacity: 0;
  top: 0;
  left: 0;
  right: 0;
  position: absolute;
  transition: opacity .25s ease-out, height .25s step-end;
}

.body--darkened:after {
  height: calc(100% + 43px);
  opacity: .7;
  transition: opacity .25s ease-out, height .25s step-start;
}

/* -------------------------------
  ------------- Logo ------------
  ------------------------------- */

.header__mobile__home-link {
  width: calc(90.5% - 42px);
  display: flex;
  margin-left: auto;
}

.header__mobile__logo {
  display: block;
}

.header__mobile__home-link img[src$="svg"] {
  height: 35px;
  width: 350px;
}

@media screen and (min-width: 500px) {
  .header__mobile__home-link {
    width: 100%;
    justify-content: center;
  }
}

@media (hover: hover) and (pointer: fine) {
  @media screen and (min-width: 1000px) {
    .header__home-link {
      padding: 19px 0;
      display: inline-block;
      line-height: 1;
    }
    .header__home-link img[src$="svg"] {
      height: 30px;
      width: 250px;
    }
  }
  @media screen and (min-width: 1250px) {
    .header__home-link img[src$="svg"] {
      height: 100%;
      width: 100%;
    }
  }
}

/* -------------------------------
  --------- Page switch ---------
  ------------------------------- */

.page-switch {
  display: flex;
}

.page-switch__item {
  margin-right: 20px;
  background: transparent;
}

.page-switch__link {
  color: rgba(255, 255, 255, .6);
  font-size: 12px;
  text-transform: uppercase;
  font-weight: bold;
  position: relative;
  transition: color .25s ease-out;
}

.page-switch__item--current .page-switch__link, .page-switch__link:hover {
  color: #fff;
  text-decoration: none;
}

.page-switch__item:not(:last-child) .page-switch__link:after {
  content: "";
  width: 4px;
  height: 4px;
  background-color: rgba(255, 255, 255, .6);
  display: block;
  position: absolute;
  right: -12px;
  top: calc(50% - 2px);
}

/* -------------------------------
  -------- Organizer ------------
  ------------------------------- */

.organizer--mobile {
  flex: 0 1 100%;
  display: flex;
  justify-content: center;
  margin: 15px 0;
}

.organizer--mobile img {
  height: 15px;
}

.header__top-bar .organizer__item img[src$="svg"] {
  width: 115px;
}

.organizer {
  display: flex;
  flex-flow: row nowrap;
  height: 15px;
}

.organizer__item:not(:last-child) {
  margin-right: 14px;
}

/* -------------------------------
  -------- Meta/Lang nav --------
  ------------------------------- */

#nav-meta {
  display: none;
}

.nav-lang {
  display: flex;
}

.nav-meta__item:not(:first-child), .nav-lang__item, .nav-lang__item--footer:not(:first-child) {
  margin-left: 14px;
}

.nav-lang__item:first-child {
  margin-left: 24px;
}

.nav-meta__link, .nav-lang__link, .nav-lang__link--footer {
  font-weight: bold;
  font-size: 14px;
  color: #0058a1;
}

.link-navigation-active {
  color: #282828;
}

.nav-lang__link, .nav-lang__link--footer {
  text-transform: uppercase;
}

@media (hover: hover) and (pointer: fine) {
  @media screen and (min-width: 1000px) {
    #nav-meta {
      display: block;
    }
  }
  @media screen and (min-width: 1180px) {
    .nav-meta__item:not(:first-child), .nav-lang__item--footer:not(:first-child) {
      margin-left: 20px;
    }
  }
}

/* -------------------------------
  ----------- Main nav ----------
  ------------------------------- */

#nav-main {
  display: none;
}

.nav-main {
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
}

.nav-main__link {
  font-size: 17px;
  line-height: 1;
  display: inline-block;
  margin: 0;
  padding: 19px 10px;
  position: relative;
  color: #005795;
  text-transform: none;
  font-weight: 900;
}

.nav-main__subnav__current, .nav-main__link--current, .nav-main__link:hover, .nav-main__subnav__link:hover {
  border-bottom: 0;
  text-decoration: none;
}

.nav-main__link:after {
  content: "";
  position: absolute;
  left: 10px;
  right: 10px;
  bottom: -1px;
  height: 3px;
  background-color: #005795;
  opacity: 0;
  transition: opacity .25s ease-out;
}

.nav-main__link--current:after, .nav-main__link:hover:after, .nav-main__item--active .nav-main__link:after {
  opacity: 1;
}

.nav-main__subnav {
  position: absolute;
  top: 120px;
  left: 55%;
  display: none;
  flex-flow: column;
  padding-right: 20px;
  background: transparent;
  width: 240px;
  transform: scale(1) translateX(-480px);
  opacity: 0;
  transition: none;
}

.nav-main__subnav--level2 {
  transform: translateX(132px);
  top: 0;
  margin-top: 0;
}

.nav-main__subnav--expanded {
  opacity: 1;
  transition: opacity .25s ease-out;
}

.nav-main__subnav--visible {
  display: flex;
}

.nav-main__subnav__item {
  text-align: left;
  margin-bottom: 1px;
}

.nav-main__item {
  position: static;
  margin: 0;
}

.nav-main__item:hover>.nav-main__subnav {
  transform: scale(1) translateX(-480px) translateY(0);
}

.nav-main__subnav__link, .nav-main__subnav__current {
  position: relative;
  font-size: 14px;
  font-weight: bold;
  padding: 9px 24px 10px 12px;
  line-height: 1.36;
  display: block;
  border-radius: 5px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: all .25s ease-out;
}

.nav-main__subnav__link:hover, .nav-main__subnav__current, .nav-main__subnav__item--active>.nav-main__subnav__link {
  color: #fff;
  background: #005795;
}

.nav-main__subnav__link:hover:after, .nav-main__subnav__current:after {
  /*content: none;*/
}

.nav-main__subnav__item--nested>.nav-main__subnav__link:after, .nav-main__subnav__item--nested>.nav-main__subnav__current:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 10px;
  left: auto;
  display: block;
  height: 9px;
  width: 9px;
  transform: translateY(-50%) rotate(45deg);
  border-top: 2px solid #005795;
  border-right: 2px solid #005795;
  transition: border-color .25s ease-out;
}

.nav-main__subnav__link:hover:after, .nav-main__subnav__current:after, .nav-main__subnav__item--active>.nav-main__subnav__link:after {
  border-color: #fff;
}

@media (hover: hover) and (pointer: fine) {
  @media screen and (min-width: 1000px) {
    #nav-main {
      display: block;
    }
  }
  @media screen and (min-width: 1180px) {
    .nav-main__link {
      padding: 19px 21px;
    }
    .nav-main__link {
      font-size: 18px;
    }
    .nav-main__link:after {
      left: 21px;
      right: 21px;
    }
  }
  @media screen and (min-width: 1250px) {
    .nav-main__subnav {
      padding-right: 27px;
      width: 300px;
      transform: scale(1) translateX(-600px);
    }
    .nav-main__subnav--level2 {
      transform: translateX(172px);
    }
    .nav-main__item:hover>.nav-main__subnav {
      transform: scale(1) translateX(-600px) translateY(0);
    }
    .nav-main__subnav__link, .nav-main__subnav__current {
      font-size: 16px;
    }
    .nav-main__subnav__item--nested>.nav-main__subnav__link:after, .nav-main__subnav__item--nested>.nav-main__subnav__current:after {
      height: 10px;
      width: 10px;
      border-width: 2px 2px 0 0;
    }
  }
}

/* -------------------------------
   ----------- Footer ------------
   ------------------------------- */

.footer, .footer * {
  box-sizing: border-box;
}

.footer {
  padding: 25px 3%;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
}

@media (hover: hover) and (pointer: fine) {
  @media screen and (min-width: 1000px) {
    .footer {
      flex-wrap: nowrap;
    }
  }
}

/* -------------------------------
   ---------- Footer nav ---------
   ------------------------------- */

#nav-meta-footer, #nav-lang-footer, #nav-footer {
  flex: 0 1 100%;
  display: flex;
  justify-content: center;
  margin: 15px 0;
}

.nav-footer, .nav-meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.nav-footer__item:not(:last-child) {
  margin-right: 15px;
}

@media (hover: hover) and (pointer: fine) {
  @media screen and (min-width: 1000px) {
    #nav-meta-footer, #nav-lang-footer, .organizer--mobile {
      display: none;
    }
    .nav-footer, .nav-meta {
      flex-wrap: nowrap;
    }
    #nav-footer {
      flex: 0 1 auto;
      margin: 0;
    }
    .nav-footer {
      font-size: 14px;
    }
  }
}

/* -------------------------------
   -------- Partner-Logos --------
   ------------------------------- */

.footer__partner {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 1 100%;
  flex-wrap: wrap;
  margin: 15px 0;
}

.footer__partner a, .footer__partner img {
  display: block;
  text-align: center;
  margin: 2px;
}

@media (hover: hover) and (pointer: fine) {
  @media screen and (min-width: 1000px) {
    .footer__partner {
      margin: 0 0 0 auto;
      padding: 0 25px;
      flex: 1 1 auto;
      justify-content: space-evenly;
    }
  }
  @media screen and (min-width: 1250px) {
    .footer__partner {
      justify-content: center;
    }
    .footer__partner>* {
      padding: 0 15px;
      flex: 0 1 auto;
      flex-wrap: nowrap;
    }
  }
}

/* -------------------------------
   ---------- Social Nav ---------
   ------------------------------- */

#nav-social {
  padding: 0;
  margin: 15px 0;
  flex: 0 1 100%;
  justify-content: center;
  display: flex;
}

.nav-social {
  display: flex;
}

.nav-social__item {
  line-height: 1;
}

.nav-social__item:not(:first-child) {
  margin-left: 12px;
}

.nav-social__link {
  display: inline-block;
  line-height: 20px;
}

.nav-social__link svg {
  fill: #005795;
  height: 20px;
  width: 22px;
  transition: fill .25s ease-out;
}

.nav-social__link:hover svg {
  fill: #282828;
}

@media (hover: hover) and (pointer: fine) {
  @media screen and (min-width: 1000px) {
    #nav-social {
      margin: 0 28px 0 auto;
      flex: 0 1 auto;
    }
  }
}

/* -------------------------------
   ---------- Copyright ----------
   ------------------------------- */

.footer__copyright {
  font-size: 14px;
  white-space: nowrap;
  margin-top: 15px;
}

@media (hover: hover) and (pointer: fine) {
  @media screen and (min-width: 1000px) {
    .footer__copyright {
      margin-top: 0;
    }
  }
}

/* ------------------------------
   -------- Search --------------
   ------------------------------ */

.header__search-trigger {
  margin-left: 24px;
  width: 23px;
  height: 23px;
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg width='23px' height='23px' viewBox='0 0 23 23' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%230058a1' d='M22.7857681,19.7007603 L18.7776692,15.6895031 C19.7934203,14.1050951 20.3895368,12.2192632 20.3895368,10.1943126 C20.3895368,4.56386777 15.8245395,0 10.1928075,0 C4.56891908,0 0,4.56386777 0,10.1943126 C0,15.8247574 4.56499727,20.3924896 10.1928075,20.3924896 C12.2203879,20.3924896 14.0989391,19.7935061 15.683354,18.7771664 L19.691453,22.7884236 C19.9777458,23.0705255 20.4405204,23.0705255 20.7228914,22.7884236 L22.7818463,20.7286932 C23.0720609,20.4504557 23.0720609,19.9867266 22.7857681,19.7007603 Z M10.1928075,17.4825892 C6.18078668,17.4825892 2.91391148,14.2132986 2.91391148,10.198177 C2.91391148,6.1830554 6.18470849,2.91762927 10.1928075,2.91762927 C14.2048283,2.91762927 17.4756288,6.1830554 17.4756288,10.198177 C17.4795471,14.2132986 14.2087501,17.4825892 10.1928075,17.4825892 Z' /%3E%3C/svg%3E");
  background-size: 23px 23px;
  background-position: center center;
  background-repeat: no-repeat;
}

.search-area, .search-area--expanded {
  display: none;
}

.search-area, .search-area * {
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.search-area {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 0;
  display: flex;
  overflow: hidden;
  z-index: 10000;
  background-color: #0058a1;
  justify-content: center;
  opacity: 0;
  padding: 0 4.5%;
  transition: opacity .25s ease-out, height .25s step-end;
}

.search-area--expanded {
  height: 100vh;
  opacity: 0.95;
  transition: opacity .25s ease-out, height .25s step-start;
}

.search-area__close {
  display: block;
  width: 40px;
  height: 40px;
  position: absolute;
  right: 4.5%;
  top: 40px;
  background: transparent;
}

.search-area__close:before, .search-area__close:after {
  content: "";
  background-color: #fff;
  display: block;
  border-radius: 4px;
  position: absolute;
  transform: rotate(45deg);
  transition: transform .25s ease-out;
}

.search-area__close:before {
  width: 100%;
  height: 6px;
  top: calc(50% - 3px);
  left: 0;
}

.search-area__close:after {
  width: 6px;
  height: 100%;
  top: 0;
  left: calc(50% - 3px);
}

.search-area__close:hover:before, .search-area__close:hover:after {
  transform: rotate(135deg);
}

.search-area__inner {
  display: flex;
  flex-flow: column;
  max-width: 980px;
  width: 100%;
  margin-top: 20vh;
  transform: scale(.7);
  transform-origin: top center;
  transition: transform .25s ease-out;
}

.search-area--expanded .search-area__inner {
  transform: scale(1);
}

.search-area__label {
  border-bottom: 2px solid #fff;
  font-size: 45px;
  color: #fff;
  font-weight: 900;
  line-height: 1.2;
  padding-bottom: 14px;
  margin-bottom: 50px;
}

.search-area__search-box {
  height: 64px;
  background: #fff;
  display: flex;
  align-items: center;
  padding: 6px;
  border-radius: 7px;
}

.search-area__search-box__input {
  font-size: 15px;
  flex-grow: 1;
  padding: 0 10px;
  height: 50px;
  margin-right: 6px;
}

.search-area__search-box__submit {
  width: 40px;
  height: 40px;
  border-radius: 7px;
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg width='23px' height='23px' viewBox='0 0 23 23' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23e2001a' d='M22.7857681,19.7007603 L18.7776692,15.6895031 C19.7934203,14.1050951 20.3895368,12.2192632 20.3895368,10.1943126 C20.3895368,4.56386777 15.8245395,0 10.1928075,0 C4.56891908,0 0,4.56386777 0,10.1943126 C0,15.8247574 4.56499727,20.3924896 10.1928075,20.3924896 C12.2203879,20.3924896 14.0989391,19.7935061 15.683354,18.7771664 L19.691453,22.7884236 C19.9777458,23.0705255 20.4405204,23.0705255 20.7228914,22.7884236 L22.7818463,20.7286932 C23.0720609,20.4504557 23.0720609,19.9867266 22.7857681,19.7007603 Z M10.1928075,17.4825892 C6.18078668,17.4825892 2.91391148,14.2132986 2.91391148,10.198177 C2.91391148,6.1830554 6.18470849,2.91762927 10.1928075,2.91762927 C14.2048283,2.91762927 17.4756288,6.1830554 17.4756288,10.198177 C17.4795471,14.2132986 14.2087501,17.4825892 10.1928075,17.4825892 Z' /%3E%3C/svg%3E");
  background-size: 30px 30px;
  background-position: center center;
  background-repeat: no-repeat;
  transition: all .25s ease-out;
}

.search-area__search-box__submit:hover {
  background-image: url("data:image/svg+xml,%3Csvg width='23px' height='23px' viewBox='0 0 23 23' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%230058a1' d='M22.7857681,19.7007603 L18.7776692,15.6895031 C19.7934203,14.1050951 20.3895368,12.2192632 20.3895368,10.1943126 C20.3895368,4.56386777 15.8245395,0 10.1928075,0 C4.56891908,0 0,4.56386777 0,10.1943126 C0,15.8247574 4.56499727,20.3924896 10.1928075,20.3924896 C12.2203879,20.3924896 14.0989391,19.7935061 15.683354,18.7771664 L19.691453,22.7884236 C19.9777458,23.0705255 20.4405204,23.0705255 20.7228914,22.7884236 L22.7818463,20.7286932 C23.0720609,20.4504557 23.0720609,19.9867266 22.7857681,19.7007603 Z M10.1928075,17.4825892 C6.18078668,17.4825892 2.91391148,14.2132986 2.91391148,10.198177 C2.91391148,6.1830554 6.18470849,2.91762927 10.1928075,2.91762927 C14.2048283,2.91762927 17.4756288,6.1830554 17.4756288,10.198177 C17.4795471,14.2132986 14.2087501,17.4825892 10.1928075,17.4825892 Z' /%3E%3C/svg%3E");
}

@media (hover: hover) and (pointer: fine) {
  @media screen and (min-width: 1000px) {
    /* Search */
    .search-area, .search-area * {
      box-sizing: border-box;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
    }
    .search-area {
      padding: 0 60px;
    }
    .search-area__close {
      right: 60px;
      width: 60px;
      height: 60px;
    }
    .search-area__close:before {
      height: 8px;
      top: calc(50% - 4px);
    }
    .search-area__close:after {
      width: 8px;
      left: calc(50% - 4px);
    }
    .search-area__search-box {
      height: 94px;
    }
    .search-area__search-box__input {
      font-size: 28px;
      height: 80px;
      padding: 0 15px;
    }
    .search-area__search-box__submit {
      width: 80px;
      height: 80px;
      background-size: 50px 50px;
    }
  }
}

/* -------------------------------
   ------ Mobile Navigation ------
   ------------------------------- */

body.body--locked {
  overflow: hidden;
}

.header {
  padding: 0;
}

.header__mobile, .header__mobile>* {
  box-sizing: border-box;
}

.header__mobile__top {
  height: 80px;
  width: 100%;
  padding: 18px calc(4.5% + 5px) 18px 0;
  display: flex;
  align-items: center;
  position: relative;
}

.header__mobile__home-link img {
  display: block;
}

/* 21.375px */

.nav-mobile__toggle {
  position: absolute;
  background-color: #fff;
  left: calc(4.5% - 4px);
  top: 25px;
  width: 38px;
  height: 35px;
  display: flex;
  align-items: center;
  /* justify-content: center; */
  z-index: 6100;
  padding: 4px;
}

.nav-mobile__toggle--fixed {
  position: fixed;
}

.nav-mobile__toggle__burger, .nav-mobile__toggle__burger:before, .nav-mobile__toggle__burger:after {
  width: 30px;
  height: 4px;
  border-radius: 2px;
  background-color: #464646;
}

.nav-mobile__toggle__burger:before, .nav-mobile__toggle__burger:after {
  content: "";
  display: block;
  position: relative;
}

.nav-mobile__toggle__burger {
  transition: width .25s ease-out, background-color .25s ease-out;
  background-color: rgba(70, 70, 70, 1);
}

.nav-mobile__toggle__burger:before {
  top: -10px;
  transform-origin: left top;
  transition: transform .25s ease-out;
}

.nav-mobile__toggle__burger:after {
  top: 6px;
  transform-origin: left bottom;
  transition: transform .25s ease-out;
}

.nav-mobile__toggle--fixed .nav-mobile__toggle__burger:before {
  transform: rotate(45deg) translate(4px, -4px);
}

.nav-mobile__toggle--fixed .nav-mobile__toggle__burger:after {
  transform: rotate(-45deg) translate(4px, 4px);
}

.nav-mobile__toggle--fixed .nav-mobile__toggle__burger {
  width: 0;
  background-color: rgba(70, 70, 70, 0);
}

.header__mobile__meta {
  background-color: #f1f1f1;
  display: flex;
  width: 100%;
  height: 40px;
  align-items: center;
  padding: 0 4.5%;
  font-size: 13px;
}

.header__mobile__meta, .header__mobile__meta a {
  color: #505050;
  font-weight: bold;
}

.header__mobile__meta__date {
  font-weight: 500;
  margin-right: auto;
}

.header__mobile__meta__search .header__search-trigger {
  display: block;
  width: 21px;
  height: 21px;
  background-image: url("data:image/svg+xml,%3Csvg width='23px' height='23px' viewBox='0 0 23 23' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23505050' d='M22.7857681,19.7007603 L18.7776692,15.6895031 C19.7934203,14.1050951 20.3895368,12.2192632 20.3895368,10.1943126 C20.3895368,4.56386777 15.8245395,0 10.1928075,0 C4.56891908,0 0,4.56386777 0,10.1943126 C0,15.8247574 4.56499727,20.3924896 10.1928075,20.3924896 C12.2203879,20.3924896 14.0989391,19.7935061 15.683354,18.7771664 L19.691453,22.7884236 C19.9777458,23.0705255 20.4405204,23.0705255 20.7228914,22.7884236 L22.7818463,20.7286932 C23.0720609,20.4504557 23.0720609,19.9867266 22.7857681,19.7007603 Z M10.1928075,17.4825892 C6.18078668,17.4825892 2.91391148,14.2132986 2.91391148,10.198177 C2.91391148,6.1830554 6.18470849,2.91762927 10.1928075,2.91762927 C14.2048283,2.91762927 17.4756288,6.1830554 17.4756288,10.198177 C17.4795471,14.2132986 14.2087501,17.4825892 10.1928075,17.4825892 Z' /%3E%3C/svg%3E");
  background-size: 21px;
}

#nav-mobile {
  content: "";
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  opacity: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(255, 255, 255, 0.85);
  transform: scale(1, 0);
  transform-origin: top left;
  transition: opacity 0.5s ease-out, transform 0.5s step-end;
  z-index: 100;
}

.nav-mobile__container {
  display: block;
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  background-color: #fff;
  padding: 100px 0;
  overflow-y: scroll;
  box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.3);
}

@media (min-width: 470px) {
  #nav-mobile {
    background-color: rgba(255, 255, 255, 0.85);
  }
  .nav-mobile__container {
    width: 470px;
  }
}

.nav-mobile__container:before {
  content: "";
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  max-width: 470px;
  height: 80px;
  background: #fff;
  z-index: 100;
  opacity: 1;
}

#nav-mobile.nav-mobile--expanded {
  opacity: 1;
  transform: scale(1, 1);
  transition: opacity 0.5s ease-out, transform 0.5s step-start;
}

.nav-mobile {
  padding: 10px 0;
}

#nav-mobile .is-active>a {
  /* text-decoration: underline; */
  color: #0058a1;
}

.nav-mobile__item {
  font-size: 20px;
}

.nav-mobile__item:not(:last-child) {
  margin-bottom: 24px;
}

.nav-mobile__subnav__item {
  padding-top: 15px;
  margin-bottom: 4px;
}

.nav-mobile__subnav__item.nav-mobile__item--expanded, .nav-mobile__subnav__item:last-child {
  margin-bottom: 0;
}

.nav-mobile__subnav__item.nav-mobile__item--expanded:not(:first-child) {
  margin-top: 14px;
}

.nav-mobile__item.nav-mobile__item--expanded {
  margin-bottom: 14px;
}

.nav-mobile__subnav__item.nav-mobile__item--expanded+.nav-mobile__subnav__item {
  padding-top: 14px;
}

.nav-mobile__item a {
  color: #464646;
  font-size: 16px;
  font-weight: bold;
}

.nav-mobile__item>a {
  font-weight: 900;
  padding-left: 4.5%;
  font-size: 20px;
}

.subnav-toggle {
  width: 30px;
  height: 30px;
  position: absolute;
  right: 4.5%;
  top: 7px;
  transform: translateY(-50%);
  background: none;
}

.nav-mobile__subnav__item .subnav-toggle {
  top: 27px;
}

.subnav-toggle:after {
  content: "";
  display: block;
  width: 14px;
  height: 8px;
  margin: auto;
  background-image: url("data:image/svg+xml,%3Csvg width='14px' height='8px' viewBox='0 0 14 8' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M338.712171,12.693072 L332.677699,18.7126627 C332.293833,19.0957791 331.671461,19.0957791 331.287783,18.7126627 C330.904072,18.3298871 330.904072,17.7090619 331.287783,17.3263173 L336.627359,11.9998993 L331.287938,6.67366719 C330.904228,6.29073669 330.904228,5.66997346 331.287938,5.28719788 C331.671648,4.90426737 332.293989,4.90426737 332.677854,5.28719788 L338.712326,11.3068815 C338.904181,11.4983623 339,11.7490533 339,11.9998683 C339,12.2508072 338.903995,12.5016842 338.712171,12.693072 Z' fill='%23464646' transform='translate(7.000000, 4.000000) rotate(90.000000) translate(-335.000000, -12.000000)'/%3E%3C/svg%3E");
  transition: transform .15s ease-out;
}

.subnav-toggle:focus, .nav-mobile__toggle:focus {
  outline-color: #e2001a;
}

.subnav-toggle--expanded:after {
  transform: rotate(180deg);
}

.nav-mobile__item--nested {
  position: relative;
}

.nav-mobile__subnav {
  height: 0;
  opacity: 0;
  overflow: hidden;
  margin: 0;
  transition: all .25s ease-out;
}

.nav-mobile__subnav--level1>li {
  padding-left: calc(20px + 4.5%);
}

.nav-mobile__subnav--expanded {
  margin: 6px 0 5px;
  padding: 0 0 20px 0;
  opacity: 1;
  height: auto;
}

.nav-mobile__subnav--level2 {
  padding-left: 0;
  margin-top: 0;
  margin-left: 10px;
}

.nav-mobile__subnav--level2.nav-mobile__subnav--expanded {
  margin-top: 4px;
  margin-bottom: 0;
}

.nav-mobile__subnav__item.nav-mobile__item--nested {
  transition: all .25s ease-out;
}

.nav-mobile__subnav__item.nav-mobile__item--expanded {
  background-color: #f5f5f5;
}

/* Mobile Extra Nav */

.nav-mobile-extra {
  padding: 0 4.5%;
  margin: 20px 0;
  display: flex;
  flex-wrap: wrap;
}

.nav-mobile-extra__item {
  font-size: 16px;
  line-height: 1.2;
  font-weight: 500;
  margin-right: 25px;
  padding: 4px 0;
}

.nav-mobile-extra__item a {
  color: #464646;
}

.nav-mobile__banner {
  padding: 50px 4.5% 40px 4.5%;
}

@media (hover: none) and (min-width: 1000px) {
  .nav-mobile__toggle {
    left: 25px;
  }
  .header__mobile__meta {
    padding-left: 30px;
    padding-right: 30px;
  }
  .nav-mobile__item>a {
    padding-left: 30px;
  }
}

/* -------------------------------
   ----------- Content ------------
   ------------------------------- */

/* Basics */

h1 {
  line-height: 1.285714285714286;
  font-size: 2.2em;
  padding: 1em 0 0 0;
}

/* Text/Bild */

.textimage-imgrow-img {
  float: left;
  max-width: 176px;
  padding: 0 1em 1em 0;
}

