/*! HTML5 Boilerplate v5.3.0 | MIT License | https://html5boilerplate.com/ */

/*
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */

/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */

html {
  color: #222;
  font-size: 1em;
  line-height: 1.4;

  --scroll-behavior: smooth;

  scroll-behavior: smooth;
  scroll-padding-top: 50px;
}

/*
     * Remove text-shadow in selection highlight:
     * https://twitter.com/miketaylr/status/12228805301
     *
     * These selection rule sets have to be separate.
     * Customize the background color to match your design.
     */

::-moz-selection {
  background: #b3d4fc;
  text-shadow: none;
}

::selection {
  background: #b3d4fc;
  text-shadow: none;
}

/*
     * A better looking default horizontal rule
     */

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

/*
     * Remove the gap between audio, canvas, iframes,
     * images, videos and the bottom of their containers:
     * https://github.com/h5bp/html5-boilerplate/issues/440
     */

audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

/*
     * Remove default fieldset styles.
     */

fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

/*
     * Allow only vertical resizing of textareas.
     */

textarea {
  resize: vertical;
}

/* ==========================================================================
       Browser Upgrade Prompt
       ========================================================================== */

.browserupgrade {
  margin: 0.2em 0;
  background: #ccc;
  color: #000;
  padding: 0.2em 0;
}

/* ==========================================================================
       Author's custom styles
       ========================================================================== */

/*
      Reset
    */

body {
  color: #1a171b;
  font: normal 56.3%/20px "Raleway", Calibri, sans-serif;
  font-size: 15px;
  font-weight: 300;
  -webkit-font-smoothing: subpixel-antialiased;
}

body.showMobileNav {
  overflow: hidden;
}

ul,
ol,
li {
  margin: 0;
  padding: 0;
  list-style: none;
}

a {
  color: inherit;
  text-decoration: none;
  font-size: inherit;
  outline: none;
}

a:hover {
  color: inherit;
  text-decoration: none;
}

img {
  display: block;
  width: 100%;
}

h1,
h2,
h3,
h4,
h5 {
  margin: 0;
  padding: 0;
  font-weight: 700;
  font-size: inherit;
  font-family: "Raleway";
}

p {
  margin-top: 0;
  font-size: inherit;
}

p:last-child {
  margin-bottom: 0;
}

/*
      Layout
    */

.container {
  position: relative;
}

.header {
  text-transform: uppercase;
  padding: 11px 0;
  z-index: 10000;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.2);
}

.header-logo {
  width: 120px;
  position: relative;
  z-index: 100;
}

@media (min-width: 992px) and (max-width: 1199px) {
  .header-logo {
    width: 70px;
    padding: 10px 0;
  }
}

.header-search {
  position: absolute;
  top: -4px;
  right: 0;
  opacity: 0;
  visibility: hidden;
  width: 190px;
}

.header-search.active {
  opacity: 1;
  visibility: visible;
}

.header-search .tri-icon {
  position: absolute;
  top: 5px;
  right: 5px;
  font-size: 16px;
  color: #d71920;
}

.header-search input {
  padding: 0 5px;
}

.header-search button {
  background-color: transparent;
  border: 0;
  position: absolute;
  top: 0;
  right: 0;
  width: 25px;
  height: 100%;
  padding: 0;
  outline: none;
}

main {
  padding-top: 71px;
  min-height: 80vh;
  overflow: hidden;
}

.footer {
  padding: 44px 0 15px;
}

.footer-content-item {
  margin-bottom: 15px;
}

.footer-copyright {
  margin-top: 30px;
}

.footer .text-sm a {
  text-decoration: none;
}

.footer .footer-title {
  margin-bottom: 17px;
}

/*
      Navigation
    */

.nav-main {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  text-align: center;
  width: 100%;
}

.nav-main li {
  display: inline-block;
  padding: 0 12px;
  font-size: 13px;
  letter-spacing: 1px;
}

.nav-main .nav-depth-1 > li > a {
  /* padding:30px 0px; */
}

/*
.nav-main .nav-depth-1 > li:last-child {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 0;
}

.nav-main .nav-depth-1 > li:last-child > a {
  display: none;
}
*/

.nav-main li.active > a,
.nav-main li.hover > a,
.nav-main li:hover > a {
  font-family: "Raleway";
  font-weight: 700;
}

.nav-main .nav-depth-2 {
  position: absolute;
  z-index: 10;
  top: 45px;
  width: 100vw;
  left: 50%;
  -ms-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  transform: translateX(-50%);
  padding: 25px 0;
  opacity: 0;
  visibility: hidden;
  background-color: rgba(221, 221, 221, 0.75);
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
  transition: 0.3s opacity;
  box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.2);
}

.nav-main .nav-depth-1 > li.active .nav-depth-2,
.nav-main .nav-depth-1 > li.hover .nav-depth-2 {
  opacity: 1;
  visibility: visible;
}

.nav-main .nav-depth-1 > li.hide .nav-depth-2 {
  opacity: 0 !important;
  visibility: hidden !important;
}

.nav-main .nav-depth-2 img {
  width: 15px;
  height: 16px;
  margin: 0 auto 5px;
}

.nav-main .nav-depth-2 li {
  font-size: 13px;
  color: #000;
  position: relative;
  z-index: 10;
  text-transform: none;
  letter-spacing: normal;
}

.nav-main .nav-depth-2 li:not(:first-child)::before {
  content: ".";
  display: block;
  position: absolute;
  bottom: 2px;
  left: -2px;
}

.nav-meta {
  position: absolute;
  top: 15px;
  right: 7px;
}

.nav-meta ul {
  display: flex;
}

.nav-meta li {
  display: inline-block;
  padding: 0 5px;
}

.nav-meta li.active a,
.nav-meta li a:hover {
  color: #d71920;
}

.nav-meta .tri-icon.tri-icon-v1-navi-shop-01 {
  line-height: 1;
  font-size: 36px;
  position: relative;
  top: 8px;
  vertical-align: baseline;

  background-color: transparent;
  border: none;
  padding: 0;
}

.tri-icon-v1-navi-shop-01::before {
  top: -17px;
  position: relative;
}

.shop-nav {
  position: relative;
}

.shop-nav:hover ul {
  display: block;
}

.shop-nav ul {
  position: absolute;
  flex-direction: column;

  background-color: #343a40;
  padding: 0 10px 5px 10px;

  display: none;
  min-width: 140px;
}

.shop-nav ul li {
  display: block;
  text-transform: none;
  padding: 5px 0;
}

.shop-nav ul li a {
  display: flex;
  gap: 7px;
  font-size: 13px;
}

.shop-nav ul li a:hover {
  color: #ffffff;
  font-weight: 700;
}

.nav-meta-sub {
  top: 60px;
  text-align: center;
}

.nav-lang {
  position: relative;
  cursor: pointer;
}

.nav-lang ul {
  position: absolute;
  opacity: 0;
  visibility: hidden;
  margin-left: -5px;
}

.nav-lang:hover ul {
  opacity: 1;
  visibility: visible;
}

.nav-lang li {
  display: block;
  margin: 10px 0;
}

.nav-lang li a {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  overflow: hidden;
  border-radius: 100%;
  display: block;
  width: 18px;
  height: 18px;
  border: 1px solid transparent;
}

.nav-lang li a:hover {
  border-color: #d71920;
}

.nav-lang li.lang-1 a {
  background-image: url("../img/tri-icon-flag-england.png");
}

.nav-lang li.lang-2 a {
  background-image: url("../img/tri-icon-flag-germany.png");
}

.nav-lang li.lang-3 a {
  background-image: url("../img/tri-icon-flag-spain.png");
}

.nav-footer {
  text-align: center;
  margin-bottom: 50px;
}

.nav-footer li {
  display: inline-block;
  margin: 0 30px;
  font-family: "Raleway";
  font-weight: 700;
}

.nav-footer-meta {
  text-align: center;
  margin: 30px 0;
}

.nav-footer-meta li {
  display: inline-block;
  margin: 0 30px;
}

/*
      Lists
    */

.list-sociallinks li {
  display: inline-block;
  margin-right: 10px;
}

/*
      Typo
    */

bold,
strong {
  font-family: "Raleway";
  font-weight: 700;
}

.text-xl {
  font-size: 47px;
  line-height: 56px;
  letter-spacing: 4px;
  text-transform: uppercase;
}

.text-centered {
  text-align: center;
}

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

.text-bold {
  font-family: "Raleway";
  font-weight: 700;
}

.text-semibold {
  font-family: "Raleway";
  font-weight: 700;
}

.text-regular {
  font-family: "Raleway";
  font-weight: 400;
}

.text-intro {
  font-size: 30px;
  text-transform: uppercase;
  letter-spacing: 3px;
  line-height: 50px;
}

.text-flagline {
  font-size: 10px;
  line-height: 19px;
  text-transform: uppercase;
  font-family: "Raleway";
  font-weight: 700;
  letter-spacing: 1px;
  margin-bottom: 14px;
}

.text-title {
  font-size: 30px;
  line-height: 30px;
  text-transform: uppercase;
  font-family: "Raleway";
  font-weight: 300;
  hyphens: auto;
}

.text-title-sm {
  font-size: 16px;
  text-transform: uppercase;
  line-height: 21px;
}

.text-title-xs {
  font-size: 14px;
  text-transform: uppercase;
  line-height: 1;
}

.text-subtitle {
  font-size: 17px;
  line-height: 24px;
  text-transform: uppercase;
}

.text-std {
  font-size: 15px;
  line-height: 20px;
}

.text-sm {
  font-size: 14px;
  line-height: 18px;
}

.text-std a,
.text-sm a {
  text-decoration: underline;
}

.text-sm ul,
.text-sm ol,
.text-sm li {
  list-style: disc;
  list-style-position: inside;
}

.text-link {
  color: #d71920;
  font-size: 14px;
  line-height: 19px;
  font-family: "Raleway";
  font-weight: 700;
  position: relative;
  cursor: pointer;
}

.text-link::after {
  content: "";
  display: inline-block;
  background-image: url("../img/tri-icon-arrow-link.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: 14px;
  height: 14px;
  top: 3px;
  margin-left: 5px;
  position: relative;
}

.text-filter {
  font-size: 18px;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.text-table-head {
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.text-color-light {
  color: #b0b1bd;
}

.text-color-red {
  color: #d71920;
}

.text-color-inverted {
  color: #fff;
}

.text-color-inherit * {
  color: inherit !important;
}

.text-space {
  letter-spacing: 2px;
}

.text-space-lg {
  letter-spacing: 4px;
}

.fontsize-md {
  font-size: 16px !important;
  line-height: 21px !important;
}

.fontsize-lg {
  font-size: 17px !important;
  line-height: 22px !important;
}

.fontsize-xl {
  font-size: 18px !important;
  line-height: 24px !important;
}

.active-reg {
  font-family: "Raleway";
  font-weight: 700;
}

/*
      Helper
    */

.is-centered {
  margin: 0 auto;
}

.has-divider::after {
  content: "";
  border-bottom: 1px solid #d71920;
  width: 15px;
  height: 1px;
  display: block;
  margin-top: 5px;
  margin-bottom: 5px;
}

/*
      Buttons
    */

.button-regular,
.btn-primary {
  width: auto;
  background-color: #d71920;
  padding: 5px 20px;
  color: #fff;
  font-family: "Raleway";
  font-weight: 700;
  border: 0;
  border-radius: 0;
  font-size: 16px;
  line-height: 32px;
  letter-spacing: 1px;
  display: inline-block;
  vertical-align: middle;
  outline: none;
}

.button-regular:hover,
.btn-primary:hover {
  background-color: #d71920;
}

.button-mobile {
  display: none;
  cursor: pointer;
  width: 15px;
  height: 15px;
  background-image: url("../img/tri-icon-bars.png");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

.button-mobile.active {
  background-image: url("../img/tri-icon-close.png");
}

.button-mobile-submenu {
  display: none;
  position: absolute;
  top: 4px;
  right: 20%;
  font-family: "Raleway";
  font-weight: 700;
  font-size: 16px;
  cursor: pointer;
  padding: 5px;
}

.button-mobile-submenu::after {
  content: "+";
}

.button-mobile-close {
  display: none;
  background-color: #000;
  color: #fff;
  padding: 10px 0;
  text-align: center;
  cursor: pointer;
  text-transform: initial;
  position: fixed;
  z-index: 1000;
  bottom: 0;
  left: 0;
  width: 100%;
  letter-spacing: 2px;
}

.button-scroll {
  position: absolute;
  bottom: 10%;
  left: 50%;
  transform: translateX(-50%) rotate(90deg);
  background-image: url("../img/tri-icon-arrow-right-black.png");
  background-position: center;
  background-size: 10px 25px;
  background-repeat: no-repeat;
  padding: 30px;
  animation: bounce 1s infinite alternate;
  -webkit-animation: bounce 1s infinite alternate;
}

.button-close {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 15px;
  cursor: pointer;
  color: #1a171b;
}

.button-support img {
  width: 60px;
  height: 17px;
  margin-bottom: -1px;
}

/*
      Animations
    */

@keyframes bounce {
  from {
    transform: translateY(0) translateX(-50%) rotate(90deg);
  }

  to {
    transform: translateY(-15px) translateX(-50%) rotate(90deg);
  }
}

@-webkit-keyframes bounce {
  from {
    transform: translateY(0) translateX(-50%) rotate(90deg);
  }

  to {
    transform: translateY(-15px) translateX(-50%) rotate(90deg);
  }
}

/*
      Curtain
    */

.curtain {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 1;
  transition: 0.3s opacity;
  transition-delay: 1s;
  width: 100%;
  height: 100%;
}

.video.active .curtain {
  opacity: 0;
  pointer-events: none;
}

@media only screen and (max-width: 770px) {
  .curtain {
    opacity: 0;
    pointer-events: none;
  }
}

.curtain-data {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.curtain-icon .tri-icon {
  font-size: inherit;
  margin-bottom: 20px;
}

/*
      Overlay
    */

.overlay {
  display: block;
  position: fixed;
  width: 100vw;
  height: 100vh;
  z-index: 1000;
  background-color: rgba(0, 0, 0, 0.5);
  opacity: 0;
  visibility: hidden;
  transition: 0.3s;
  top: 0;
  left: 0;
}

.overlay.show {
  opacity: 1;
  visibility: visible;
}

.overlay .container {
  top: 50%;
  transform: translateY(-50%);
}

.overlay .overlay-content {
  padding: 50px;
  background-color: #fff;
}

.overlay .overlay-body {
  max-width: 500px;
  margin: 0 auto;
}

.overlay .overlay-close {
  position: absolute;
  top: 20px;
  right: 30px;
  background-color: transparent;
  border: 0;
}

.overlay .form-title {
  margin-bottom: 20px;
}

.overlay #form-newsletter label {
  font-family: "Raleway";
  font-weight: 700;
  display: block;
}

.overlay #form-newsletter input {
  display: block;
  text-align: left;
}

.overlay #form-newsletter .form-submit {
  display: block;
}

/*
      Formular
    */

select,
textarea,
input[type="text"],
input[type="password"],
input[type="datetime"],
input[type="datetime-local"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
input[type="color"],
.uneditable-input,
.form-control {
  color: #000;
  display: inline-block;
  font-size: 15px;
  line-height: 26px;
  letter-spacing: 1px;
  border: 0;
  border-radius: 0;
  width: 100%;
  background-color: #f7f7f8;
  outline: none;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

.form-control:focus {
  background-color: #f7f7f8;
}

textarea {
  height: 150px;
}

.form label {
  font-family: "Raleway";
  font-weight: 700;
}

.form label a {
  color: #d71920;
}

.alert {
  border-radius: 0;
}

#form-newsletter-footer {
  position: relative;
  padding-right: 32px;
}

#form-newsletter-footer label {
  display: none;
}

#yform-form-newsletter-footer-dataprivacy input {
  float: left;
  width: auto !important;
  margin: 0 10px 0 0;
}

#yform-form-newsletter-footer-dataprivacy label {
  display: block;
  font-size: 12px;
}

#yform-form-newsletter-footer-dataprivacy.has-error label {
  color: #d71920;
}

#form-newsletter-footer input {
  background-color: transparent;
  border: 1px solid #fff;
  color: #fff;
  font-size: 14px;
  line-height: 16px;
  width: 100%;
}

#form-newsletter-footer .has-error input {
  border: 1px solid #d71920;
}

#form-newsletter-footer .form-control::placeholder {
  color: #fff;
}

#form-newsletter-footer .alert-danger {
  display: none;
}

#form-newsletter-footer .form-group {
  margin-bottom: 5px;
}

#form-newsletter-footer .form-submit {
  position: absolute;
  top: 77px;
  right: 0;
  height: 34px;
  border-radius: 0;
  width: 34px;
  background-image: url("../img/tri-icon-arrow-submit.png");
  background-size: 18px;
  background-color: #fff;
  background-position: center;
  background-repeat: no-repeat;
}

#yform-form-newsletter-footer-dataprivacy {
  text-align: left;
}

/*
      Swipebox
    */

#swipebox-prev,
#swipebox-next,
#swipebox-close {
  background-image: url("../img/icons.svg") !important;
}

#swipebox-top-bar {
  font-family: inherit;
}

/*
      Icons
    */

.tri-icon {
  font-size: 18px;
  vertical-align: top;
}

.tri-icon:hover,
.curtain:hover .tri-icon {
  color: #d71920;
}

.footer .tri-icon {
  width: 16px;
  height: 16px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  text-indent: -9999px;
  display: block;
}

.footer .tri-icon-facebook {
  background-image: url("../img/tri-icon-facebook.png");
}

.footer .tri-icon-instagram {
  background-image: url("../img/tri-icon-instagram.png");
}

.footer .tri-icon-x {
  background-image: url("../img/tri-icon-x.png");
}

.footer .tri-icon-linkedin {
  background-image: url("../img/tri-icon-linkedin.png");
}

.footer .tri-icon-youtube {
  background-image: url("../img/tri-icon-youtube.png");
}

/*
      Slider
    */

.slider {
  width: 100%;
}

.slider .slick-slide {
  position: relative;
}

.slider .slick-prev,
.slider .slick-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 100;
  border: 0;
  text-indent: -9999px;
  padding: 50px;
  background-size: 10px 40px;
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: center;
  outline: none;
}

.slider.slider-header .slick-prev {
  left: 125px;
  background-image: url("../img/tri-icon-arrow-left-white.png");
}

.slider.slider-header .slick-next {
  right: 125px;
  background-image: url("../img/tri-icon-arrow-right-white.png");
}

.slider.slider-content .slick-prev {
  left: 0;
  background-image: url("../img/tri-icon-arrow-left-black.png");
}

.slider.slider-content .slick-next {
  right: 0;
  background-image: url("../img/tri-icon-arrow-right-black.png");
}

.slider.slider-lineup .slick-prev {
  left: -100px;
  background-image: url("../img/tri-icon-arrow-left-black.png");
}

.slider.slider-lineup .slick-next {
  right: -100px;
  background-image: url("../img/tri-icon-arrow-right-black.png");
}

.slider .slick-dots {
  display: block;
  text-align: center;
  width: 100%;
}

.slider.slider-header .slick-dots {
  position: absolute;
  bottom: 20px;
}

.slider .slick-dots li {
  display: inline-block;
}

.slider .slick-dots button {
  width: 15px;
  height: 15px;
  background-size: contain;
  background-repeat: no-repeat;
  background-color: transparent;
  border: 0;
  text-indent: -9999px;
  outline: none;
}

.slider .slick-dots button {
  background-image: url("../img/tri-icon-dot-inactive.svg");
}

.slider .slick-dots li.slick-active button {
  background-image: url("../img/tri-icon-dot-active.svg");
}

.slider-content .slick-dots button {
  background-image: url("../img/tri-icon-dot-inactive-grey.svg");
}

.slider-content .slick-dots li.slick-active button {
  background-image: url("../img/tri-icon-dot-active-grey.svg");
}

.carousel .slick-slide .carousel-picture {
  opacity: 0.3;
  transition: 0.6s;
}

.carousel .slick-slide.animate .carousel-picture {
  opacity: 1;
  transform: scale(1.2);
}

.carousel-caption {
  color: inherit;
  right: auto;
  bottom: auto;
  left: auto;
  padding: 0;
}

.carousel .slick-prev,
.carousel .slick-next {
  position: absolute;
  top: 50%;
  z-index: 100;
  border: 0;
  text-indent: -9999px;
  width: 35px;
  height: 35px;
  background-size: contain;
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: center;
  outline: none;
}

.carousel .slick-prev {
  left: 50%;
  background-image: url("../img/tri-icon-arrow-left-black.png");
  transform: translate(-125px, -50%);
}

.carousel .slick-next {
  right: 50%;
  background-image: url("../img/tri-icon-arrow-right-black.png");
  transform: translate(125px, -50%);
}

/*
      Sticky CTA
    */

.stickyCta {
  position: fixed;
  z-index: 100;
  bottom: 20px;
  right: 20px;
  width: 40px;
  transition: 0.3s;
}

.stickyCta:hover {
  transform: scale(1.3);
}

/*
      Popover
    */

.popover {
  border: 0;
  border-radius: 0;
  padding: 0;
  font-family: inherit;
  box-shadow: 3px 3px 10px 0 rgba(204, 204, 204, 1);
  max-width: none;
}

.popover.bs-popover-top {
  margin-bottom: 30px;
  margin-left: 4px;
}

.popover.bs-popover-bottom {
  margin-top: 30px;
  margin-left: 4px;
}

.popover.bs-popover-top .arrow::after,
.popover.bs-popover-bottom .arrow::after {
  border-top-color: #f7f7f8;
  margin-left: -8px;
}

.popover.bs-popover-top .arrow::before,
.popover.bs-popover-bottom .arrow::before {
  display: none;
}

.popover-body {
  padding: 0;
  color: inherit;
}

.popover-body .popover-data {
  padding: 15px;
}

.popover-body .hotspot-data {
  width: 500px;
}

.popover-body .hotspot-picture {
  padding: 0;
  background-color: #fff;
}

.popover-body .hotspot-picture img {
  object-fit: cover;
  font-family: "object-fit: cover;";
}

.popover-body .hotspot-text {
  padding: 20px;
}

.popover-body .hotspot-picture + .hotspot-text .wrapper {
  display: inline-block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

/*
      jarallax
    */

.jarallax {
  position: relative;
  z-index: 0;
}

.jarallax > .jarallax-img {
  position: relative;
  object-fit: cover;
  font-family: "object-fit: cover;";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}

/*
      Background
    */

.bg-highlight {
  background-color: #f7f7f8;
}

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

.bg-red {
  background-color: #fbe4dd;
}

.bg-blue {
  background-color: #dce3f2;
}

.bg-grey {
  background-color: #fbfbfc;
}

.bg-yellow {
  background-color: #faf6aa;
}

/*
      Module
    */

.mod {
  padding-top: 80px;
  padding-bottom: 80px;
}

.mod-slider-header {
  padding: 0;
}

.mod-slider-header .text.white {
  color: #fff;
}

.mod-slider-header .slide {
  position: relative;
  z-index: 1;
  opacity: 0;
  visibility: hidden;
}

.mod-slider-header .slide.slick-active {
  opacity: 1;
  visibility: visible;
}

.mod-slider-header .slide-text {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
  text-align: center;
  z-index: 1;
}

.mod-slider-header .slide-media img,
.mod-slider-header .slide-video iframe {
  height: calc(100vh - 71px);
  width: 100vw;
  position: relative;
  z-index: 1;
}

.mod-slider-header .landscape .slide-video iframe {
  height: calc(100vw * 0.5625);
  max-height: calc(100vh - 71px);
}

.mod-slider-header .slide-media img {
  object-fit: cover;
  font-family: "object-fit: cover;";
}

.mod-slider-content .slide-data .wrapper {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.mod-slider-content .slide-link {
  margin-top: 10px;
}

.mod-slider-content .slide-cite {
  margin-top: 30px;
  position: relative;
}

.mod-slider-content .cite-author {
  margin-top: 10px;
}

.mod-slider-content .cite-picture {
  position: absolute;
  top: 0;
  left: -100px;
  width: 80px;
  height: 80px;
  border-radius: 100%;
  border: 1px solid #fff;
  overflow: hidden;
}

.mod-mosaik .mosaiks-title {
  margin-bottom: 20px;
}

.mod-mosaik .mosaiks-intro {
  margin-bottom: 90px;
}

.mod-mosaik .mosaiks-filter {
  margin-bottom: 50px;
}

.mod-mosaik .mosaiks-filter li {
  display: inline-block;
  padding: 0 50px;
}

.mod-mosaik .mosaiks-filter .active {
  font-family: "Raleway";
  font-weight: 700;
}

.mod-mosaik .mosaik {
  position: relative;
  padding: 0;
  width: 25%;
}

.mod-mosaik .mosaik-wrapper {
  position: relative;
  width: calc(100% + 1px);
  height: 100%;
}

.mod-mosaik .mosaik-type-course .mosaik-data {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  padding: 20px;
}

.mod-mosaik .mosaik-type-course .mosaik-media::after {
  position: relative;
}

.mod-mosaik .mosaik-type-course .mosaik-media::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3);
}

.mod-mosaik .mosaik-type-video {
  cursor: pointer;
}

.mod-mosaik .mosaik-type-video .mosaik-data {
  position: relative;
  bottom: 0;
  left: 0;
  width: 100%;
}

.mod-mosaik .mosaik-type-video .mosaik-title {
  margin-bottom: 10px;
}

.mod-mosaik .mosaik-size-lg,
.mod-mosaik .mosaik-size-lg .mosaik-media img,
.mod-mosaik .mosaik-size-lg .mosaik-media iframe {
  height: 486px;
}

.mod-mosaik .mosaik-size-lg .mosaik-media img,
.mod-mosaik .mosaik-size-lg .mosaik-media iframe {
  object-fit: cover;
  font-family: "object-fit: cover;";
}

.mod-mosaik .mosaik-size-sm,
.mod-mosaik .mosaik-size-sm .mosaik-media img,
.mod-mosaik .mosaik-size-sm .mosaik-media iframe {
  height: 243px;
}

.mod-mosaik .mosaik-size-sm .mosaik-media img,
.mod-mosaik .mosaik-size-sm .mosaik-media iframe {
  object-fit: cover;
  font-family: "object-fit: cover;";
}

.mod-mosaik .mosaik-link {
  position: absolute;
  bottom: 20px;
  left: 20px;
  background-image: url("../img/tri-icon-arrow-link-white.png");
  background-size: 15px;
  background-repeat: no-repeat;
  background-position: calc(100% - 10px) center;
  padding-right: 30px;
}

.mod-mosaik .mosaiks-link {
  margin-top: 50px;
}

.mod-mosaik .mosaiks-link .tri-icon {
  margin-bottom: 10px;
  font-size: 30px;
  display: block;
}

.mod-mosaik .text-sm ul,
.mod-mosaik .text-sm ol {
  padding-left: 13px;
}

.mod-mosaik .text-sm ul,
.mod-mosaik .text-sm ol,
.mod-mosaik .text-sm li {
  list-style-position: outside;
}

.mod-teasers-icons {
  padding-top: 50px;
  padding-bottom: 27px;
  background-size: cover;
  background-repeat: no-repeat;
}

.mod-teasers-icons.has-bg,
.mod-teasers-icons.has-bg .text-color-light {
  color: #fff;
}

.mod-teasers-icons .teasers-data {
  margin-top: 50px;
}

.mod-teasers-icons .teasers-title {
  margin-bottom: 44px;
}

.mod-teasers-icons .teaser-picture {
  width: 100%;
  margin: 0 auto 20px;
  max-width: 100px;
}

.mod-teasers-icons .teaser-title {
  margin-bottom: 5px;
  min-height: 48px;
  hyphens: auto;
}

.mod-teasers-icons .teasers-link {
  margin-top: 95px;
}

.mod-teasers-icons .teasers:not(:first-child) {
  margin-top: 99px;
}

.mod-teasers-icons .teaser {
  margin-bottom: 44px;
}

.mod-teasers-icons .text-sm a {
  text-decoration: none;
}

.mod-form {
  padding-top: 50px;
  padding-bottom: 50px;
}

.mod-form .form {
  margin-top: 40px;
}

.mod-form #form-newsletter {
  display: inline-block;
  vertical-align: middle;
}

.mod-form #yform-form-newsletter-email {
  display: inline-block;
  vertical-align: middle;
  margin-bottom: 0;
}

.mod-form #yform-form-newsletter-dataprivacy {
  margin: 5px 0;
}

.mod-form #yform-form-newsletter-email input {
  text-align: center;
  width: 400px;
}

.mod-form #yform-form-newsletter-field-1-signup {
  display: inline-block;
  height: 42px;
  padding: 0 20px;
}

.mod-hotspots .hotspots-subtitle {
  margin-bottom: 8px;
}

.mod-hotspots .hotspots-text {
  margin-bottom: 14px;
}

.mod-hotspots .hotspots-liink {
  margin-bottom: 95px;
}

.mod-hotspots .hotspots-wrapper {
  position: relative;
}

.mod-hotspots .hotspot {
  position: absolute;
  cursor: pointer;
}

.mod-hotspots .hotspot-button {
  transform: scale(1) rotate(0);
  transition: 0.3s;
}

.mod-hotspots .hotspot.active .hotspot-button {
  transform: scale(2) rotate(45deg);
}

.mod-hotspots .hotspot .hotspot-button .tri-icon {
  font-size: 30px;
}

.mod-hotspots .hotspot-data {
  display: none;
}

.mod-hotspots .hotspots-logo {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 75px;
  height: 75px;
}

.mod-hotspots .hotspots-cite {
  margin-top: 100px;
}

.mod-hotspots .cite-author {
  margin-top: 10px;
}

.mod-hotspots .cite-picture {
  width: 75px;
  height: 75px;
  border-radius: 100%;
  border: 1px solid #fff;
  overflow: hidden;
  margin-bottom: 15px;
}

.mod-teasers-columns {
  padding-bottom: 40px;
}

.mod-teasers-columns .teasers-title {
  margin-bottom: 95px;
}

.mod-teasers-columns .teaser {
  margin-bottom: 40px;
}

.mod-teasers-columns .teaser-picture {
  margin-bottom: 35px;
}

.mod-teasers-columns .teaser-title {
  margin-bottom: 35px;
}

.mod-teasers-columns .teaser-text {
  margin-bottom: 13px;
}

.mod-products .products-subtitle {
  margin-bottom: 11px;
}

.mod-products .products {
  position: relative;
}

.mod-products .carousel {
  margin-top: 20px;
  margin-bottom: 12px;
}

.mod-products .carousel-item {
  width: 200px;
  height: 200px;
  padding: 50px;
}

.mod-products .carousel-text {
  margin-top: 10px;
  margin-bottom: 12px;
}

.mod-product .product-link {
  margin-top: 43px;
}

.mod-product .product-picture {
  margin-top: 50px;
  margin-bottom: 40px;
}

/* .mod-text-bild .teaser:not(:last-child){ */
.mod-text-bild .teaser {
  margin-top: 60px;
}

.mod-text-bild .teaser .wrapper {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.mod-text-bild .teaser-title {
  margin-bottom: 25px;
}

.mod-text-bild .teaser-picture img {
  max-height: 450px;
  object-fit: contain;
  font-family: "object-fit: contain;";
  margin: 0 auto;
}

.mod-text-bild .teaser-link {
  margin-top: 13px;
}

.mod-video {
  cursor: pointer;
}

.mod-video .video-logo:not(:first-child),
.mod-video .video-text:not(:first-child),
.mod-video .video:not(:first-child) {
  margin-top: 25px;
  position: relative;
  overflow: hidden;
}

.mod-video .video:not(.ratio-16-9) img,
.mod-video .video:not(.ratio-16-9) iframe {
  height: 623px;
  object-fit: cover;
  font-family: "object-fit: cover;";
}

.mod-video .video.ratio-16-9 {
  width: 100%;
  padding-top: 56.25%;
  position: relative;
  margin-bottom: 40px;
}

.mod-video .video.ratio-16-9 img,
.mod-video .video.ratio-16-9 iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.mod-video .video.ratio-16-9 img {
  object-fit: cover;
}

/* CSS specific to iOS devices */
.is-safari .mod-video .video iframe {
  object-fit: fill;
}

.mod-box .teasers-title {
  margin-bottom: 9px;
}

.mod-box .teasers-text {
  margin-bottom: 20px;
}

.mod-box .teaser {
  position: relative;
}

.mod-box .teaser.has-link {
  cursor: pointer;
}

.mod-box .type-1 .teaser {
  height: 500px;
  padding: 50px;
}

.mod-box .type-2 .teaser {
  height: 250px;
  padding: 5px;
}

.mod-box .type-2 .row {
  margin-left: -5px;
  margin-right: -5px;
}

.mod-box .type-2 .teaser .wrapper {
  padding: 20px;
  height: 100%;
}

.mod-box .type-3 .teaser {
  height: 500px;
  padding: 5px;
}

.mod-box .type-3 .row {
  margin-left: -5px;
  margin-right: -5px;
}

.mod-box .type-3 .teaser .wrapper {
  padding: 20px;
  height: 100%;
}

.mod-box .teaser-data {
  position: relative;
  z-index: 20;
  height: 100%;
}

.mod-box .teaser-picture {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 10;
}

.mod-box .teaser-picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-family: "object-fit: cover;";
}

.mod-box .teaser-link {
  margin-top: 12px;
}

.mod-box .teaser.type-3 .teaser-link {
  position: absolute;
  bottom: 0;
  left: 0;
}

.mod-team .team-item {
  margin-top: 50px;
}

.mod-team .team-item-description,
.mod-team .team-item-email,
.mod-team .team-item-social {
  margin-top: 15px;
}

.mod-team .team-item-picture img {
  border: 1px solid transparent;
  border-radius: 100%;
}

.mod-team .team-sociallinks {
  margin-top: 10px;
  margin-left: 0;
}

.mod-team .team-sociallinks li {
  display: inline-block;
  margin-right: 10px;
}

.mod-team .tri-icon {
  width: 16px;
  height: 16px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  display: block;
}

.mod-team .tri-icon-facebook {
  background-image: url("../img/tri-icon-facebook-team.png");
}

.mod-team .tri-icon-x {
  background-image: url("../img/tri-icon-x-team.png");
}

.mod-team .tri-icon-linkedin {
  background-image: url("../img/tri-icon-linkedin-team.png");
}

.mod-jobs .jobs-text {
  margin-top: 25px;
  margin-bottom: 25px;
}

.mod-jobs .jobs-header {
  padding: 10px 0;
  border-bottom: 1px solid #000;
}

.mod-jobs .job {
  padding: 25px 0;
  border-bottom: 1px solid #000;
}

.mod-jobs .job-title .tri-icon {
  margin-right: 10px;
}

.mod-contact .contact-data .wrapper {
  padding: 22px 22px 22px 0;
}

.mod-contact .contact-picture + .contact-data .wrapper {
  display: block;
  position: relative;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

.mod-contact .contact-picture img {
  height: 100%;
  object-fit: cover;
  font-family: "object-fit: cover;";
}

.mod-contact .contact-icon {
  display: inline-block;
  margin: 50px 25px 0;
}

.mod-contact .contact-title {
  width: 80%;
  margin: 0 auto;
}

.mod-contact .tri-icon {
  display: block;
  font-size: 40px;
  margin-bottom: 22px;
}

.mod-compare .compare-pictures {
  position: relative;
  margin: 50px 0;
  overflow: hidden;
  cursor: pointer;
}

.mod-compare .picture-before {
  position: absolute;
  top: 0;
  left: 0;
  width: 50%;
  height: 100%;
  overflow: hidden;
}

.mod-compare .picture-before img {
  height: 100%;
}

.mod-compare .compare-text {
  margin-bottom: 50px;
}

.mod-compare .compare-text.text-subtitle {
  text-transform: none;
}

.mod-compare .handler {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 100%;
  transform: translateY(-50%);
  background-color: transparent;
}

.mod-compare .handle {
  width: 10px;
  background-color: #fff;
  height: 100%;
}

.mod-compare .slider {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 100%;
  transform: translateY(-50%);
  background-color: transparent;
}

.mod-compare .slider-track {
  display: none;
}

.mod-compare .slider.slider-horizontal .slider-handle {
  border-radius: 0;
  width: 80px;
  height: 100%;
  background-color: transparent;
  background-image: url("../img/tri-icon-rangeslider.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  margin-left: -40px;
  box-shadow: none;
}

.mod-compare .slider-handle::before {
  top: 0;
}

.mod-compare .slider-handle::after {
  bottom: 0;
}

.mod-academy .academy-text {
  margin-top: 22px;
}

.mod-academy .academy-languages {
  margin-top: 44px;
}

.mod-academy .academy-language {
  border-radius: 100%;
  display: inline-block;
  margin: 0 10px;
  overflow: hidden;
  margin-top: 17px;
}

.mod-academy .academy-language img {
  width: 40px;
  height: 40px;
  object-fit: cover;
  font-family: "object-fit: cover;";
}

.mod-academy-programm .academy-programm-item:not(:last-child) {
  margin-bottom: 100px;
}

.mod-academy-programm .academy-programm-icon {
  border-radius: 100%;
  display: inline-block;
  margin: 0 10px;
  overflow: hidden;
  margin-bottom: 17px;
}

.mod-academy-programm .academy-programm-icon img {
  width: 40px;
  height: 40px;
  object-fit: cover;
  font-family: "object-fit: cover;";
}

.mod-academy-programm .academy-programm-title {
  margin-bottom: 50px;
}

.mod-academy-programm .academy-programm-header,
.mod-academy-programm .academy-course {
  padding: 12px 0 10px;
  border-bottom: 1px solid #000;
}

.mod-academy-programm .academy-course-programm img {
  width: 14px;
}

.mod-academy-programm
  .academy-course-registration
  .icon-tri-icon-round-contact-mail-01 {
  font-size: 26px;
  line-height: 20px;
}

.mod-productdetails .productdetail {
  padding: 15px 50px;
}

@media (min-width: 768px) {
  .mod-productdetails .productdetail {
    padding: 50px;
  }
}

@media (min-width: 768px) {
  .mod-productdetails .productdetail .wrapper {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
  }
}

.mod-productdetails .productdetail-picture {
  margin-top: 50px;
}

.mod-productdetails .productdetail-link {
  margin-top: 50px;
}

.mod-product-parallax {
  padding-bottom: 58px;
}

.mod-product-parallax .product {
  overflow: hidden;
  margin-bottom: 22px;
}

.mod-product-parallax .product-data {
  position: relative;
}

.mod-product-parallax .product-data .wrapper {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  padding-left: 15px;
  padding-right: 15px;
}

.mod-product-parallax .product .product-data,
.mod-product-parallax .product .product-picture {
  transition: 1s;
  opacity: 0;
}

.mod-product-parallax .product .product-picture img {
  max-height: 450px;
  object-fit: contain;
  font-family: "object-fit: contain;";
  margin: 0 auto;
}

.mod-product-parallax .product:nth-child(odd) .product-data {
  transform: translateX(-100%);
}

.mod-product-parallax .product:nth-child(odd) .product-picture {
  transform: translateX(100%);
}

.mod-product-parallax .product:nth-child(even) .product-data {
  transform: translateX(100%);
}

.mod-product-parallax .product:nth-child(even) .product-picture {
  transform: translateX(-100%);
}

.mod-product-parallax .product.active .product-data,
.mod-product-parallax .product.active .product-picture {
  transform: translateX(0);
  opacity: 1;
}

.mod-product-parallax .product-title {
  margin-bottom: 16px;
}

.mod-product-parallax .product-cite {
  margin-top: 50px;
  padding-top: 100px;
  border-top: 1px solid #fff;
}

.mod-product-parallax .cite-picture {
  width: 75px;
  height: 75px;
  border-radius: 100%;
  border: 1px solid transparent;
  overflow: hidden;
  margin-bottom: 15px;
}

.mod-map .contact {
  margin-bottom: 22px;
}

.mod-map .contact-picture {
  margin-bottom: 44px;
}

.mod-map .contact-title {
  margin-bottom: 22px;
}

.mod-map .contact-address {
  margin-bottom: 22px;
}

.mod-map .map {
  margin-top: 28px;
  width: 100%;
  height: 400px;
}

.mod-contactform .contactform-title {
  margin-bottom: 44px;
}

.mod-downloads {
  padding-top: 50px;
  padding-bottom: 50px;
}

.mod-downloads:first-of-type {
  padding-top: 100px;
}

.mod-downloads:last-of-type {
  padding-bottom: 100px;
}

.mod-downloads .download {
  margin-top: 30px;
}

.mod-downloads .download .wrapper {
  position: relative;
  padding: 30px;
}

.mod-downloads .download .wrapper::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 30px;
  transform: translateY(-50%);
  width: 30px;
  height: 35px;
  background-image: url("../img/tri-icon-download.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.mod-downloads a {
  display: block;
}

.mod-downloads .download-title {
  text-decoration: underline;
  display: inline-block;
  padding-right: 40px;
}

.mod-downloads .download-text {
  padding-right: 40px;
}

.mod-accordion {
  padding-top: 0;
  padding-bottom: 30px;
}

.mod-accordion:last-of-type {
  padding-bottom: 100px;
}

.mod-accordion .accordion-title {
  position: relative;
  padding: 30px;
  outline: none;
}

.mod-accordion .accordion-title::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%) rotate(-90deg);
  right: 30px;
  width: 6px;
  height: 20px;
  background-image: url("../img/tri-icon-arrow-right-black.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transition: transform 0.3s;
}

.mod-accordion .collapsed .accordion-title::after {
  transform: translateY(-50%) rotate(90deg);
}

.mod-accordion .accordion-item {
  margin-top: 50px;
}

.mod-accordion .accordion-item-picture {
  margin-bottom: 15px;
}

.mod-accordion .accordion-item-picture img {
  width: 50px;
  height: 50px;
  border-radius: 100%;
  border: 1px solid #b0b1bd;
  overflow: hidden;
  object-fit: cover;
  font-family: "object-fit: cover;";
}

.mod-accordion .accordion-item-title,
.mod-accordion .accordion-item-text {
  margin-bottom: 15px;
}

.mod-search .search-subtitle {
  margin-top: 44px;
  margin-bottom: 44px;
}

.mod-search .search-result {
  border-bottom: 1px solid #000;
  padding-top: 22px;
  padding-bottom: 22px;
  padding-right: 100px;
  position: relative;
}

.mod-search .search-result-title,
.mod-search .search-result-text {
  text-decoration: underline;
}

.mod-search .search-result-link {
  position: absolute;
  right: 0;
  top: 40px;
}

.mod-video-scroll .video {
  margin-top: 22px;
}

.mod-video-scroll .video video {
  width: 100%;
}

.mod-events .events-icon {
  width: 50px;
  margin: 0 auto 20px;
}

.mod-events .event {
  margin: 25px auto 0;
}

.mod-events .event-date {
  background-color: rgb(176, 177, 189);
  color: #fff;
  line-height: 1.3;
  font-size: 25px;
  padding: 8px 0;
}

.mod-events .event-slots {
  margin-top: 13px;
}

.mod-events .slot {
  display: grid;
  grid-template-columns: 2fr 8fr 2fr;
  border-top: 1px solid #000;
  padding-top: 10px;
  padding-bottom: 10px;
}

.mod-events .slot:last-child {
  border-bottom: 1px solid #000;
}

.mod-events .slot.is-highlight {
  background-color: #e6e7e8;
}

.mod-events .slot-icon {
  width: 40px;
  filter: drop-shadow(3px 3px 2px rgba(0, 0, 0, 0.7));
}

.mod-lineup .lineup-icon {
  width: 50px;
  margin: 0 auto 20px;
}

.mod-lineup .lineup-text {
  margin-top: 25px;
}

.mod-lineup .lineup-slider {
  margin-top: 50px;
}

.mod-lineup .lineup-item {
  padding: 0 25px;
}

.mod-lineup .lineup-item-picture img {
  height: 200px;
  object-fit: cover;
}

.mod-lineup .lineup-item-title {
  padding: 15px;
}

.mod-lineup .lineup-item-text {
  padding: 15px;
  border-top: 1px solid #000;
}

/*
      Mediaquery
    */

@media only screen and (max-width: 1200px) {
  .nav-main {
    text-align: left;
    padding-left: 100px;
  }

  #form-newsletter-footer input {
    width: 100%;
  }
}

@media only screen and (max-width: 1080px) {
  .nav-main {
    top: 70px;
    transform: none;
    opacity: 0;
    visibility: hidden;
    transition: 0.5s;
    position: fixed;
    padding: 0;

    /* height: calc(100vh - 105px); */
    height: 100vh;
    overflow: scroll;
  }

  .nav-main.active {
    opacity: 1;
    visibility: visible;
  }

  .nav-main nav {
    width: 100%;
    height: 100%;
  }

  .nav-main li {
    display: block;
    padding: 10px 0;
  }

  .nav-main .nav-depth-1 > li {
    font-family: "Raleway";
    font-weight: 700;
    font-size: 16px;
    border-bottom: 1px solid #777;
    position: relative;
  }

  .nav-main .nav-depth-1 > li:first-child {
    border-top: 1px solid #777;
  }

  .nav-main .nav-depth-1 > li.active {
    background-color: #4d5359;
  }

  .nav-main .nav-depth-1 li > a {
    padding: 0;
  }

  .nav-main .nav-depth-1 > li:last-child {
    position: relative;
    left: 0;
    transform: none;
    top: 0;
  }

  .nav-main .nav-depth-1 > li:last-child > a {
    display: inline;
  }

  .nav-main .nav-depth-2 {
    position: relative;
    top: 0;
    left: 0;
    transform: none;
    padding: 0;
    width: 100%;
    background: transparent;
    box-shadow: none;
    transition: none;
  }

  .nav-main .nav-depth-1 > li .nav-depth-2,
  .nav-main .nav-depth-1 > li.active .nav-depth-2,
  .nav-main .nav-depth-1 > li.hover .nav-depth-2 {
    display: none;
    opacity: 0;
    visibility: hidden;
  }

  .nav-main.active .nav-depth-1 > li.active .nav-depth-2 {
    display: block;
    opacity: 1 !important;
    visibility: visible !important;
  }

  .nav-main .nav-depth-2 li {
    color: #fff;
    display: block;
    padding: 0 10px;
    margin: 10px 0;
    font-size: 16px;
    font-family: "Raleway";
    font-weight: 300;
  }

  .nav-main .nav-depth-2 li:not(:first-child)::before {
    display: none;
  }

  .nav-main .nav-depth-2 img {
    display: inline-block;
    margin-right: 10px;
  }

  .nav-main .nav-depth-2 li:nth-child(4) img,
  .nav-main .nav-depth-2 li:nth-child(5) img {
    filter: invert(100%);
  }

  .button-mobile {
    display: block;
  }

  .button-close {
    display: none;
  }

  .button-mobile-close {
    display: block;
  }

  .button-mobile-submenu {
    display: block;
  }

  .nav-main .nav-depth-1 > li.active .button-mobile-submenu::after {
    content: "-";
  }

  .mod-jobs .jobs-header {
    display: none;
  }

  .mod-jobs .job-title {
    margin-bottom: 22px;
  }

  .mod-box .type-2 .row,
  .mod-box .type-3 .row {
    margin-left: -15px;
    margin-right: -15px;
  }

  .mod-box .type-2 .teaser,
  .mod-box .type-3 .teaser {
    padding: 15px;
  }

  .mod-mosaik .mosaik {
    width: 100%;
  }

  .mod-mosaik .mosaiks-filter li {
    padding: 0 10px;
  }

  .mod-text-bild .teaser:nth-child(odd) .teaser-picture {
    margin-top: 22px;
  }

  .mod-text-bild .teaser:nth-child(even) .teaser-picture {
    margin-bottom: 22px;
  }

  .mod-text-bild .teaser .wrapper {
    transform: none;
    top: 0;
    position: relative;
  }

  .mod-slider-content .slide-data .wrapper {
    position: relative;
  }

  .mod-slider-content .slide-cite {
    margin-top: 0;
  }

  .mod-team .team-item:nth-child(odd) .team-item-picture {
    margin-bottom: 22px;
  }

  .mod-team .team-item:nth-child(even) .team-item-picture {
    margin-top: 22px;
  }

  .mod-contact .contact .wrapper {
    padding: 22px;
  }

  .footer-content-item {
    text-align: center;
  }

  .nav-footer li {
    margin: 0 10px;
  }

  .slider.slider-lineup .slick-prev {
    left: -50px;
    display: block !important;
  }

  .slider.slider-lineup .slick-next {
    right: -50px;
    display: block !important;
  }
}

@media only screen and (max-width: 770px) {
  .header-search {
    right: 9px;
  }

  .slider .slick-prev,
  .slider .slick-next {
    display: none !important;
  }

  .slider.slider-content .slick-dots {
    margin-top: 22px;
  }

  .carousel .slick-list {
    overflow: visible;
  }

  .text-xl {
    font-size: 27px;
    line-height: 36px;
  }

  .text-intro {
    font-size: 20px;
    line-height: 30px;
  }

  .text-filter {
    font-size: 14px;
  }

  .text-title {
    font-size: 22px;
    line-height: 22px;
  }

  .popover-body .hotspot-picture img {
    height: 170px;
  }

  .popover-body .hotspot-data {
    width: 250px;
  }

  .overlay {
    overflow-y: scroll;
  }

  .overlay .container {
    top: 85px;
    transform: none;
    position: relative;
  }

  .overlay .overlay-content {
    padding: 15px;
  }

  select,
  textarea,
  input[type="text"],
  input[type="password"],
  input[type="datetime"],
  input[type="datetime-local"],
  input[type="date"],
  input[type="month"],
  input[type="time"],
  input[type="week"],
  input[type="number"],
  input[type="email"],
  input[type="url"],
  input[type="search"],
  input[type="tel"],
  input[type="color"],
  .uneditable-input,
  .form-control {
    font-size: 13px;
    line-height: 25px;
  }

  .button-scroll {
    bottom: 10px;
  }

  .mod {
    padding-top: 50px;
    padding-bottom: 50px;
  }

  .mod-slider-header {
    padding: 0;
  }

  .mod-accordion {
    padding-top: 0;
    padding-bottom: 30px;
  }

  .mod-accordion:first-of-type {
    padding-top: 50px;
  }

  .mod-accordion:last-of-type {
    padding-bottom: 50px;
  }

  .mod-text-bild .teaser .wrapper,
  .mod-contact .contact-picture + .contact-data .wrapper,
  .popover-body .hotspot-picture + .hotspot-text .wrapper,
  .mod-product-parallax .product-data .wrapper,
  .mod-slider-content .slide-data .wrapper {
    transform: none;
    top: 0;
    position: relative;
  }

  .mod-product-parallax .product-data .wrapper {
    position: relative;
    padding-left: 0;
    padding-right: 0;
  }

  .mod-slider-content .cite-picture {
    position: relative;
    left: auto;
    margin: 0 auto;
  }

  .mod-teasers-columns .teaser:not(:last-child) {
    margin-bottom: 50px;
  }

  .mod-video .video img,
  .mod-video .video iframe {
    height: 300px;
  }

  .mod-video .video iframe {
    object-fit: initial;
  }

  .mod-form #yform-form-newsletter-field-1-signup {
    display: block;
    width: 100px;
    margin: 22px auto 0;
  }

  .mod-form #yform-form-newsletter-email input {
    width: auto;
    margin: 0 auto;
  }

  .mod-mosaik .mosaiks-intro {
    margin-bottom: 22px;
  }

  .mod-academy-programm .academy-programm-header {
    display: none;
  }

  .mod-academy-programm .academy-course-date,
  .mod-academy-programm .academy-course-topic,
  .mod-academy-programm .academy-course-speakers,
  .mod-academy-programm .academy-course-locations {
    margin-bottom: 5px;
  }

  .nav-footer li {
    display: block;
    margin: 20px 0;
  }

  .footer-content {
    text-align: center;
  }

  .footer-content-item:not(:last-child) {
    margin-bottom: 20px;
  }

  .footer-copyright {
    margin-top: 20px;
  }
}

@media only screen and (max-width: 470px) {
  .header-logo {
    width: 50px;
    padding: 11px 0 17px;
  }
}

/* ==========================================================================
       Helper classes
       ========================================================================== */

/*
     * Hide visually and from screen readers
     */

.hidden {
  display: none !important;
}

@media (max-width: 767px) {
  .hidden-xs {
    display: none !important;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .hidden-sm {
    display: none !important;
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .hidden-md {
    display: none !important;
  }
}

@media (min-width: 1200px) {
  .hidden-lg {
    display: none !important;
  }
}

/*
     * Hide only visually, but have it available for screen readers:
     * http://snook.ca/archives/html_and_css/hiding-content-for-accessibility
     */

.visuallyhidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

/*
     * Extends the .visuallyhidden class to allow the element
     * to be focusable when navigated to via the keyboard:
     * https://www.drupal.org/node/897638
     */

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  width: auto;
}

/*
     * Hide visually and from screen readers, but maintain layout
     */

.invisible {
  visibility: hidden;
}

/*
     * Clearfix: contain floats
     *
     * For modern browsers
     * 1. The space content is one way to avoid an Opera bug when the
     *    `contenteditable` attribute is included anywhere else in the document.
     *    Otherwise it causes space to appear at the top and bottom of elements
     *    that receive the `clearfix` class.
     * 2. The use of `table` rather than `block` is only necessary if using
     *    `:before` to contain the top-margins of child elements.
     */

.clear {
  clear: both;
}

.clearfix::before,
.clearfix::after {
  content: " "; /* 1 */
  display: table; /* 2 */
}

.clearfix::after {
  clear: both;
}

/* ==========================================================================
       EXAMPLE Media Queries for Responsive Design.
       These examples override the primary ('mobile first') styles.
       Modify as content requires.
       ========================================================================== */

@media only screen and (min-width: 35em) {
  /* Style adjustments for viewports that meet the condition */
}

@media print,
  (-webkit-min-device-pixel-ratio: 1.25),
  (min-resolution: 1.25dppx),
  (min-resolution: 120dpi) {
  /* Style adjustments for high resolution devices */
}

/* ==========================================================================
       Print styles.
       Inlined to avoid the additional HTTP request:
       http://www.phpied.com/delay-loading-your-print-css/
       ========================================================================== */

@media print {
  *,
  *::before,
  *::after,
  *::first-letter,
  *::first-line {
    background: transparent !important;
    color: #000 !important;

    /* Black prints faster:
                                              http://www.sanbeiji.com/archives/953 */
    box-shadow: none !important;
    text-shadow: none !important;
  }

  a,
  a:visited {
    text-decoration: underline;
  }

  a[href]::after {
    content: " (" attr(href) ")";
  }

  abbr[title]::after {
    content: " (" attr(title) ")";
  }

  /*
         * Don't show links that are fragment identifiers,
         * or use the `javascript:` pseudo protocol
         */
  a[href^="#"]::after,
  a[href^="javascript:"]::after {
    content: "";
  }

  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }

  /*
         * Printing Tables:
         * http://css-discuss.incutio.com/wiki/Printing_Tables
         */
  thead {
    display: table-header-group;
  }

  tr,
  img {
    page-break-inside: avoid;
  }

  img {
    max-width: 100% !important;
  }

  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }

  h2,
  h3 {
    page-break-after: avoid;
  }
}

.mod-teasers-columns.t3-col .teaser {
  display: flex;
  flex-direction: column;
}

.mod-teasers-columns.t3-col .teaser-text {
  margin-top: 0;
  margin-bottom: auto;
}

.mod-teasers-columns.t3-col .text-link {
  margin-top: auto;
  padding-top: 15px;
}

.mod-teasers-columns.t3-col .teaser-title {
  margin-bottom: 15px;
  min-height: 50px;
}

@media (min-width: 768px) {
  .mod-teasers-columns.t3-col .teaser-title {
    margin-bottom: 15px;
    min-height: 100px;
  }
}

@media (min-width: 992px) {
  .mod-teasers-columns.t3-col .teaser-title {
    margin-bottom: 15px;
    min-height: 70px;
  }
}

.slide-subtitle {
  padding-right: 15px;
}
