/* Globally enable grid prefixes */
/* autoprefixer grid: on */
@font-face {
  font-family: "DBHead-Light";
  font-display: swap;
  src: url("../fonts/DBHead-Light/DBHead-Light.eot");
  src: url("../fonts/DBHead-Light/DBHead-Light.eot?#iefix") format("embedded-opentype"), url("../fonts/DBHead-Light/DBHead-Light.woff2") format("woff2"), url("../fonts/DBHead-Light/DBHead-Light.woff") format("woff"), url("../fonts/DBHead-Light/DBHead-Light.ttf") format("truetype"), url("../fonts/DBHead-Light/DBHead-Light.svg#DBHead-Light") format("svg"); }

@font-face {
  font-family: "DBHead-Black";
  font-display: swap;
  src: url("../fonts/DBHead-Black/DBHead-Black.eot");
  src: url("../fonts/DBHead-Black/DBHead-Black.woff2") format("woff2"), url("../fonts/DBHead-Black/DBHead-Black.woff") format("woff"), url("../fonts/DBHead-Black/DBHead-Black.ttf") format("truetype"), url("../fonts/DBHead-Black/DBHead-Black.svg#DBHead-Black") format("svg"); }

@font-face {
  font-family: "DBSans-Bold";
  font-display: swap;
  src: url("../fonts/DBSans-Bold/DBSans-Bold.eot");
  src: url("../fonts/DBSans-Bold/DBSans-Bold.woff2") format("woff2"), url("../fonts/DBSans-Bold/DBSans-Bold.woff") format("woff"), url("../fonts/DBSans-Bold/DBSans-Bold.ttf") format("truetype"), url("../fonts/DBSans-Bold/DBSans-Bold.svg#DBSans-Bold") format("svg"); }

@font-face {
  font-family: "DBSans-Regular";
  font-display: swap;
  src: url("../fonts/DBSans-Regular/DBSans-Regular.eot");
  src: url("../fonts/DBSans-Regular/DBSans-Regular.woff2") format("woff2"), url("../fonts/DBSans-Regular/DBSans-Regular.woff") format("woff"), url("../fonts/DBSans-Regular/DBSans-Regular.ttf") format("truetype"), url("../fonts/DBSans-Regular/DBSans-Regular.svg#DBSans-Regular") format("svg"); }

h1, h2, h3, h4, h5, h6, p, li {
  margin-top: 0;
  margin-bottom: 0; }

body,
p,
li {
  font-size: 3.5vw;
  line-height: 6vw; }
  @media (min-width: 400px) {
    body,
    p,
    li {
      font-size: 14px;
      line-height: 24px; } }
  @media (min-width: 800px) {
    body,
    p,
    li {
      font-size: calc(14px + (18 - 14) * ((100vw - 800px) / (1600 - 800)));
      line-height: calc(24px + (32 - 24) * ((100vw - 800px) / (1600 - 800))); } }
  @media (min-width: 1600px) {
    body,
    p,
    li {
      font-size: 1.125vw;
      line-height: 2vw; } }

p,
ul {
  margin-bottom: 6vw; }
  @media (min-width: 400px) {
    p,
    ul {
      margin-bottom: 24px; } }
  @media (min-width: 800px) {
    p,
    ul {
      margin-bottom: 3vw; } }
  @media (min-width: 1600px) {
    p,
    ul {
      margin-bottom: 2vw; } }

.h1, h1 {
  font-family: "DBHead-Black", "Arial", "Helvetica", sans-serif;
  font-style: normal;
  font-weight: normal;
  font-size: 7vw;
  line-height: 8vw;
  margin-bottom: 6vw; }
  @media (min-width: 400px) {
    .h1, h1 {
      font-size: calc(36px + (48 - 36) * ((100vw - 800px) / (1600 - 800)));
      line-height: calc(40px + (56 - 40) * ((100vw - 800px) / (1600 - 800)));
      margin-bottom: 24px; } }
  @media (min-width: 800px) {
    .h1, h1 {
      font-size: calc(36px + (48 - 36) * ((100vw - 800px) / (1600 - 800)));
      line-height: calc(40px + (56 - 40) * ((100vw - 800px) / (1600 - 800)));
      margin-bottom: 2vw; } }
  @media (min-width: 1600px) {
    .h1, h1 {
      font-size: 3vw;
      line-height: 3.5vw; } }

.h2, h2 {
  font-family: "DBHead-Light", "Arial", "Helvetica", sans-serif;
  font-style: normal;
  font-weight: normal;
  font-size: 4.5vw;
  line-height: 6vw;
  margin-bottom: 12vw; }
  @media (min-width: 400px) {
    .h2, h2 {
      font-size: calc(24px + (32 - 24) * ((100vw - 800px) / (1600 - 800)));
      line-height: calc(32px + (40 - 32) * ((100vw - 800px) / (1600 - 800)));
      margin-bottom: 48px; } }
  @media (min-width: 800px) {
    .h2, h2 {
      font-size: calc(24px + (32 - 24) * ((100vw - 800px) / (1600 - 800)));
      line-height: calc(32px + (40 - 32) * ((100vw - 800px) / (1600 - 800)));
      margin-bottom: 4vw; } }
  @media (min-width: 1600px) {
    .h2, h2 {
      font-size: 2vw;
      line-height: 2.5vw; } }

.h3,
h3 {
  font-family: "DBHead-Black", "Arial", "Helvetica", sans-serif;
  font-style: normal;
  font-weight: normal;
  font-size: 4vw;
  line-height: 6vw;
  margin-bottom: 6vw; }
  @media (min-width: 400px) {
    .h3,
    h3 {
      font-size: 16px;
      line-height: 24px;
      margin-bottom: 24px; } }
  @media (min-width: 800px) {
    .h3,
    h3 {
      font-size: calc(16px + (20 - 16) * ((100vw - 800px) / (1600 - 800)));
      line-height: calc(24px + (32 - 24) * ((100vw - 800px) / (1600 - 800)));
      margin-bottom: 3vw; } }
  @media (min-width: 1600px) {
    .h3,
    h3 {
      font-size: 1.25vw;
      line-height: 2vw;
      margin-bottom: 2vw; } }

h4, h5, h6 {
  font-family: "DBHead-Black", "Arial", "Helvetica", sans-serif;
  font-style: normal;
  font-weight: normal; }

.text-headlight {
  font-family: "DBHead-Light", "Arial", "Helvetica", sans-serif;
  font-style: normal;
  font-weight: normal; }

.text-headblack {
  font-family: "DBHead-Black", "Arial", "Helvetica", sans-serif;
  font-style: normal;
  font-weight: normal; }

.text-sansbold {
  font-family: "DBSans-Bold", "Arial", "Helvetica", sans-serif;
  font-style: normal;
  font-weight: normal; }

.text-sansregular {
  font-family: "DBSans-Regular", "Arial", "Helvetica", sans-serif;
  font-style: normal;
  font-weight: normal; }

strong,
.strong,
.font-weight-bold {
  font-family: "DBSans-Bold", "Arial", "Helvetica", sans-serif;
  font-style: normal;
  font-weight: normal;
  color: inherit; }

small,
.small {
  font-size: calc(10px + (14 - 10) * ((100vw - 400px) / (1600 - 400)));
  line-height: calc(12px + (24 - 12) * ((100vw - 400px) / (1600 - 400))); }
  @media (min-width: 1600px) {
    small,
    .small {
      font-size: 14px;
      line-height: 24px; } }

.blockquote p {
  font-size: 1.6em;
  line-height: 1.2;
  font-style: italic; }
  .blockquote p:last-of-type {
    margin-bottom: 0; }

.blockquote .blockquote__footer {
  color: #b6c0c6;
  font-size: 1em;
  line-height: 1.5;
  margin-top: 0.5em;
  margin-bottom: 0.5em; }

.header {
  position: relative;
  left: 0;
  top: 0;
  bottom: 0;
  width: 100%;
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: 63px;
  grid-template-rows: 63px;
  -ms-grid-columns: (5vw)[20];
  grid-template-columns: repeat(20, 5vw);
  -ms-grid-column-align: center;
      justify-self: center;
  -ms-grid-row-align: center;
      align-self: center;
  padding: 0;
  z-index: 100;
  border-bottom: 1px solid #D7DCE1;
  background-color: #fff;
  margin-bottom: 0; }
  .header::after {
    content: '';
    width: 100%;
    height: 100vh;
    position: absolute;
    top: 0;
    left: 0;
    background-color: #fff;
    opacity: 0;
    pointer-events: none;
    transition: all 0.2s ease-in-out;
    z-index: 50; }
  .header.menu--open::after {
    opacity: 1; }
  @media (min-width: 800px) {
    .header {
      position: -webkit-sticky;
      position: sticky; } }
  @media (min-width: 1600px) {
    .header {
      -ms-grid-rows: 79px;
      grid-template-rows: 79px; } }

.header__logo {
  display: block;
  -ms-grid-row: 1;
  grid-row: 1;
  -ms-grid-column: 2;
  -ms-grid-column-span: 2;
  grid-column: 2 / span 2;
  margin-top: 20px;
  z-index: 200;
  height: auto;
  transition: all 0.2s ease-in-out; }
  @media (min-width: 1000px) {
    .header__logo {
      margin-top: 1vw; } }
  .header__logo a {
    display: inline-block; }
  .header__logo img {
    max-width: 48px;
    height: auto; }
    @media (min-width: 1000px) {
      .header__logo img {
        max-width: 80px;
        max-height: 128px; } }

.header__logo--right {
  display: flex;
  align-items: center;
  justify-content: center;
  -ms-grid-column: 5;
  -ms-grid-column-span: 12;
  grid-column: 5 / span 12;
  margin: 0; }
  @media (min-width: 800px) {
    .header__logo--right {
      -ms-grid-column: 14;
      -ms-grid-column-span: 6;
      grid-column: 14 / span 6;
      justify-content: flex-end; } }
  .header__logo--right .header__logo-wrapper:first-child {
    margin-right: 20px;
    margin-right: clamp(10px, 5vw, 80px); }
    @media (min-width: 800px) {
      .header__logo--right .header__logo-wrapper:first-child {
        margin-right: 30px; } }
    .header__logo--right .header__logo-wrapper:first-child img {
      max-width: 180px; }
      @media (min-width: 800px) {
        .header__logo--right .header__logo-wrapper:first-child img {
          max-width: 250px; } }
  .header__logo--right img {
    width: 100%;
    max-width: 100px;
    max-height: 50px; }
    @media (min-width: 800px) {
      .header__logo--right img {
        max-width: 135px;
        justify-items: end; } }

.header__logo--menu {
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin-top: 60px;
  position: relative; }
  .header__logo--menu::before {
    content: "";
    position: absolute;
    top: 50%;
    width: 100vw;
    height: 120%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    background-color: #D7DCE1; }
  .header__logo--menu .header__logo-wrapper--mobile:first-child {
    max-height: 80px;
    -webkit-transform: translateY(7.5%);
            transform: translateY(7.5%); }
  .header__logo--menu .header__logo-wrapper--mobile:not(:first-child):not(:last-child) {
    width: 35vw;
    min-width: 100px; }
  .header__logo--menu .header__logo-wrapper--mobile:last-child {
    max-width: 80px;
    width: 15vw;
    min-width: 40px;
    max-height: 80px; }
  .header__logo--menu .header__logo-wrapper--mobile img {
    max-width: inherit;
    max-height: inherit;
    width: inherit;
    height: inherit;
    min-height: 0;
    margin: auto; }

.navi {
  display: flex;
  justify-content: space-around;
  align-items: flex-start;
  flex-direction: column;
  padding-left: 10vw;
  margin-top: 50px;
  margin-bottom: 0; }
  @media (min-width: 800px) {
    .navi {
      justify-content: flex-start;
      align-items: center;
      flex-direction: row;
      padding-left: 0;
      margin-top: 0;
      max-width: 660px; } }

.navi .list__item {
  font-family: "DBHead-Light", "Arial", "Helvetica", sans-serif;
  font-style: normal;
  font-weight: normal;
  font-size: 4.5vw;
  line-height: 6vw;
  margin-bottom: 12vw;
  font-family: "DBSans-Regular", "Arial", "Helvetica", sans-serif;
  font-style: normal;
  font-weight: normal;
  margin-bottom: 1em !important; }
  @media (min-width: 400px) {
    .navi .list__item {
      font-size: calc(24px + (32 - 24) * ((100vw - 800px) / (1600 - 800)));
      line-height: calc(32px + (40 - 32) * ((100vw - 800px) / (1600 - 800)));
      margin-bottom: 48px; } }
  @media (min-width: 800px) {
    .navi .list__item {
      font-size: calc(24px + (32 - 24) * ((100vw - 800px) / (1600 - 800)));
      line-height: calc(32px + (40 - 32) * ((100vw - 800px) / (1600 - 800)));
      margin-bottom: 4vw; } }
  @media (min-width: 1600px) {
    .navi .list__item {
      font-size: 2vw;
      line-height: 2.5vw; } }
  .navi .list__item svg {
    display: none; }
  @media (min-width: 800px) {
    .navi .list__item {
      min-width: 80px;
      max-width: 10vw;
      font-size: 3.5vw;
      line-height: 6vw;
      font-family: "DBSans-Regular", "Arial", "Helvetica", sans-serif;
      font-style: normal;
      font-weight: normal;
      margin-bottom: 0 !important;
      margin: 0 2.5vw; } }
  @media (min-width: 800px) and (min-width: 400px) {
    .navi .list__item {
      font-size: 14px;
      line-height: 24px; } }
  @media (min-width: 800px) and (min-width: 800px) {
    .navi .list__item {
      font-size: calc(14px + (18 - 14) * ((100vw - 800px) / (1600 - 800)));
      line-height: calc(24px + (32 - 24) * ((100vw - 800px) / (1600 - 800))); } }
  @media (min-width: 800px) and (min-width: 1600px) {
    .navi .list__item {
      font-size: 1.125vw;
      line-height: 2vw; } }
  @media (min-width: 800px) {
      .navi .list__item svg {
        display: block; } }

.navi .list__link {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  height: 40px;
  color: #000;
  border-bottom: 2px solid transparent;
  transition: all .2s ease; }
  @media (min-width: 800px) {
    .navi .list__link {
      justify-content: center;
      border-width: 3px; }
      .navi .list__link:focus, .navi .list__link:hover {
        text-decoration: none;
        border-bottom-color: #0087B9; } }
    @media (min-width: 800px) and (min-width: 800px) {
      .navi .list__link:focus, .navi .list__link:hover {
        border-width: 3px; } }

.header .btn--navi-livestream,
.navi .list__item--live {
  display: none; }

@media (min-width: 800px) {
  .is--live .navi .list__item--live {
    display: block;
    min-width: 120px; } }

.is--live .btn--navi-livestream {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 120px;
  height: 40px;
  border: none;
  color: #fff;
  background-color: #0087B9;
  border: 1px solid #006A96;
  border-radius: 6px;
  font-size: 12px;
  line-height: 1;
  white-space: nowrap; }
  .is--live .btn--navi-livestream:focus, .is--live .btn--navi-livestream:hover {
    text-decoration: none;
    background-color: #006A96; }
  .is--live .btn--navi-livestream:active {
    box-shadow: inset 0 4px 5px 0 rgba(0, 0, 0, 0.25); }
  @media (min-width: 800px) {
    .is--live .btn--navi-livestream {
      font-size: 16px;
      padding: 0 16px; } }
  .is--live .btn--navi-livestream .livestream__reddot {
    width: 8px;
    height: 8px;
    margin-right: 8px; }

.is--live .btn--navi-special {
  position: absolute;
  top: 75px;
  left: 25vw;
  min-width: auto;
  min-height: auto;
  width: 80px;
  height: 24px;
  padding: 0; }
  @media (min-width: 800px) {
    .is--live .btn--navi-special {
      display: none; } }

.header__navigation {
  -ms-grid-row: 1;
  grid-row: 1;
  -ms-grid-column: 18;
  -ms-grid-column-span: 2;
  grid-column: 18 / span 2;
  display: flex;
  align-items: center;
  justify-content: flex-end; }
  @media (min-width: 800px) {
    .header__navigation {
      -ms-grid-column: 3;
      -ms-grid-column-span: 11;
      grid-column: 3 / span 11;
      justify-content: center; } }

.showmenu__toggle {
  border: none;
  background-color: transparent;
  position: relative;
  width: 40px;
  height: 40px;
  padding: 0;
  z-index: 200; }
  @media (min-width: 800px) {
    .showmenu__toggle {
      display: none; } }
  .showmenu__toggle .showmenu__icon {
    width: 100%;
    height: 100%;
    display: block;
    position: relative;
    cursor: pointer;
    background-color: transparent; }
    .showmenu__toggle .showmenu__icon::before {
      content: '';
      width: 35px;
      height: 4px;
      border-radius: 3px;
      background-color: #000;
      display: block;
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-40%, -160%) scale(0.8);
              transform: translate(-40%, -160%) scale(0.8);
      transition: all 0.2s ease-in-out;
      -webkit-transform-origin: center;
              transform-origin: center; }
    .showmenu__toggle .showmenu__icon::after {
      content: '';
      width: 35px;
      height: 4px;
      border-radius: 3px;
      background-color: #000;
      display: block;
      position: absolute;
      bottom: 50%;
      left: 50%;
      -webkit-transform: translate(-40%, 160%) scale(0.8);
              transform: translate(-40%, 160%) scale(0.8);
      transition: all 0.2s ease-in-out;
      -webkit-transform-origin: center;
              transform-origin: center; }
    .showmenu__toggle .showmenu__icon.animate::before {
      -webkit-animation: animateBurgerTopReverse .4s ease-in-out;
              animation: animateBurgerTopReverse .4s ease-in-out;
      -webkit-animation-fill-mode: forwards;
              animation-fill-mode: forwards; }
    .showmenu__toggle .showmenu__icon.animate::after {
      -webkit-animation: animateBurgerBottomReverse .4s ease-in-out;
              animation: animateBurgerBottomReverse .4s ease-in-out;
      -webkit-animation-fill-mode: forwards;
              animation-fill-mode: forwards; }

.showmenu__toggle[aria-expanded="true"] .showmenu__icon::before {
  -webkit-animation: animateBurgerTop .4s ease-in-out;
          animation: animateBurgerTop .4s ease-in-out;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards; }

.showmenu__toggle[aria-expanded="true"] .showmenu__icon::after {
  -webkit-animation: animateBurgerBottom .4s ease-in-out;
          animation: animateBurgerBottom .4s ease-in-out;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards; }

.menu {
  position: absolute;
  opacity: 0;
  pointer-events: none;
  display: block;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  z-index: 150; }
  .menu.animate {
    transition: all 0.2s ease-in-out; }
  @media (min-width: 800px) {
    .menu {
      opacity: 1;
      pointer-events: all;
      position: relative;
      width: auto;
      height: auto;
      padding-top: 0;
      display: flex;
      flex-direction: column-reverse; } }

body.menu--open {
  overflow: hidden; }
  body.menu--open .header::after {
    opacity: 1; }
  body.menu--open .header__logo {
    opacity: 0;
    pointer-events: none; }
  body.menu--open .menu {
    opacity: 1;
    pointer-events: all;
    overflow: scroll; }

@-webkit-keyframes animateBurgerTop {
  50% {
    -webkit-transform: translate(-40%, -50%) scale(0.8);
            transform: translate(-40%, -50%) scale(0.8); }
  100% {
    -webkit-transform: translate(-40%, -45%) rotate(45deg) scale(0.8);
            transform: translate(-40%, -45%) rotate(45deg) scale(0.8); } }

@keyframes animateBurgerTop {
  50% {
    -webkit-transform: translate(-40%, -50%) scale(0.8);
            transform: translate(-40%, -50%) scale(0.8); }
  100% {
    -webkit-transform: translate(-40%, -45%) rotate(45deg) scale(0.8);
            transform: translate(-40%, -45%) rotate(45deg) scale(0.8); } }

@-webkit-keyframes animateBurgerBottom {
  50% {
    -webkit-transform: translate(-40%, 50%) scale(0.8);
            transform: translate(-40%, 50%) scale(0.8); }
  100% {
    -webkit-transform: translate(-40%, 45%) rotate(-45deg) scale(0.8);
            transform: translate(-40%, 45%) rotate(-45deg) scale(0.8); } }

@keyframes animateBurgerBottom {
  50% {
    -webkit-transform: translate(-40%, 50%) scale(0.8);
            transform: translate(-40%, 50%) scale(0.8); }
  100% {
    -webkit-transform: translate(-40%, 45%) rotate(-45deg) scale(0.8);
            transform: translate(-40%, 45%) rotate(-45deg) scale(0.8); } }

@-webkit-keyframes animateBurgerTopReverse {
  0% {
    -webkit-transform: translate(-40%, -45%) rotate(45deg) scale(0.8);
            transform: translate(-40%, -45%) rotate(45deg) scale(0.8); }
  50% {
    -webkit-transform: translate(-40%, -50%) scale(0.8) rotate(0);
            transform: translate(-40%, -50%) scale(0.8) rotate(0); }
  100% {
    -webkit-transform: translate(-40%, -160%) scale(0.8);
            transform: translate(-40%, -160%) scale(0.8); } }

@keyframes animateBurgerTopReverse {
  0% {
    -webkit-transform: translate(-40%, -45%) rotate(45deg) scale(0.8);
            transform: translate(-40%, -45%) rotate(45deg) scale(0.8); }
  50% {
    -webkit-transform: translate(-40%, -50%) scale(0.8) rotate(0);
            transform: translate(-40%, -50%) scale(0.8) rotate(0); }
  100% {
    -webkit-transform: translate(-40%, -160%) scale(0.8);
            transform: translate(-40%, -160%) scale(0.8); } }

@-webkit-keyframes animateBurgerBottomReverse {
  0% {
    -webkit-transform: translate(-40%, 45%) rotate(-45deg) scale(0.8);
            transform: translate(-40%, 45%) rotate(-45deg) scale(0.8); }
  50% {
    -webkit-transform: translate(-40%, 50%) scale(0.8) rotate(0);
            transform: translate(-40%, 50%) scale(0.8) rotate(0); }
  100% {
    -webkit-transform: translate(-40%, 160%) scale(0.8);
            transform: translate(-40%, 160%) scale(0.8); } }

@keyframes animateBurgerBottomReverse {
  0% {
    -webkit-transform: translate(-40%, 45%) rotate(-45deg) scale(0.8);
            transform: translate(-40%, 45%) rotate(-45deg) scale(0.8); }
  50% {
    -webkit-transform: translate(-40%, 50%) scale(0.8) rotate(0);
            transform: translate(-40%, 50%) scale(0.8) rotate(0); }
  100% {
    -webkit-transform: translate(-40%, 160%) scale(0.8);
            transform: translate(-40%, 160%) scale(0.8); } }

.menu {
  background-color: #fff;
  z-index: 100; }
  @media (min-width: 1024px) {
    .menu {
      padding: 0;
      box-shadow: none;
      z-index: 10; } }
  .menu.is-closed {
    display: none; }
    @media (min-width: 1024px) {
      .menu.is-closed {
        display: flex; } }

.menu__list {
  margin: 0;
  padding: 0;
  width: 100%; }
  @media (min-width: 1024px) {
    .menu__list {
      display: flex;
      justify-content: space-around;
      width: auto;
      min-width: 300px;
      padding-right: 0; } }

.menu__listitem {
  padding: 0;
  margin: 0; }
  .menu__listitem::before {
    display: none; }
  @media (min-width: 1024px) {
    .menu__listitem {
      position: relative;
      margin-left: 2vw;
      margin-right: 2vw; } }
  @media (min-width: 1024px) {
    .menu__listitem.hidden-on-desktop {
      display: none; } }

.menu__listitemlink {
  position: relative;
  display: block;
  color: #000;
  z-index: 2;
  padding: 8px 0; }
  @media (min-width: 1024px) {
    .menu__listitemlink {
      margin-bottom: 0; } }
  .menu__listitemlink .text-hidden {
    display: block;
    visibility: hidden;
    font: 0/0 a;
    color: transparent;
    text-shadow: none;
    background-color: transparent;
    border: 0; }
  .menu__listitemlink .menu__listitemicon {
    position: absolute;
    display: block;
    top: 13px;
    right: 10px;
    width: 14px;
    height: 8px;
    z-index: 3; }
    @media (min-width: 1024px) {
      .menu__listitemlink .menu__listitemicon {
        position: relative;
        top: auto;
        right: auto;
        display: inline-block;
        margin-left: 7px;
        margin-bottom: 2px; } }

.menu__listitemlink--hasdropdown {
  padding-right: 30px; }
  @media (min-width: 1024px) {
    .menu__listitemlink--hasdropdown {
      padding-right: 0; } }

@media (min-width: 800px) {
  .menu__sublist {
    margin-top: -5px;
    margin-bottom: 16px;
    position: absolute;
    top: 50px;
    background-color: #fff;
    display: block;
    margin-bottom: 0;
    box-shadow: 0 8px 20px 0 rgba(0, 0, 0, 0.25); } }

@media (min-width: 1024px) {
  .menu__sublist {
    left: -20px;
    right: -20px; } }

.menu__sublist .menu__listitemlink {
  font-size: 16px; }

.menu__sublist--small {
  padding-left: 1em; }
  @media (min-width: 800px) {
    .menu__sublist--small {
      left: auto;
      padding: 16px; } }
  .menu__sublist--small .menu__listitemlink {
    margin-bottom: 8px; }
  .menu__sublist--small::before {
    content: "";
    display: block;
    width: 41px;
    height: 20px;
    position: absolute;
    top: -14px;
    left: 50%;
    margin-left: -20px;
    background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDEiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCA0MSAyMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZGVmcz48ZmlsdGVyIHg9Ii0uNSUiIHk9Ii0xLjMlIiB3aWR0aD0iMTAxLjElIiBoZWlnaHQ9IjEwMy42JSIgZmlsdGVyVW5pdHM9Im9iamVjdEJvdW5kaW5nQm94IiBpZD0iYSI+PGZlT2Zmc2V0IGR5PSIyIiBpbj0iU291cmNlQWxwaGEiIHJlc3VsdD0ic2hhZG93T2Zmc2V0T3V0ZXIxIi8+PGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0iMiIgaW49InNoYWRvd09mZnNldE91dGVyMSIgcmVzdWx0PSJzaGFkb3dCbHVyT3V0ZXIxIi8+PGZlQ29sb3JNYXRyaXggdmFsdWVzPSIwIDAgMCAwIDAuNTEzNzI1NDkgMCAwIDAgMCAwLjU3MjU0OTAyIDAgMCAwIDAgMC42MDc4NDMxMzcgMCAwIDAgMSAwIiBpbj0ic2hhZG93Qmx1ck91dGVyMSIgcmVzdWx0PSJzaGFkb3dNYXRyaXhPdXRlcjEiLz48ZmVNZXJnZT48ZmVNZXJnZU5vZGUgaW49InNoYWRvd01hdHJpeE91dGVyMSIvPjxmZU1lcmdlTm9kZSBpbj0iU291cmNlR3JhcGhpYyIvPjwvZmVNZXJnZT48L2ZpbHRlcj48L2RlZnM+PHBhdGggZD0iTTg1MC41IDBMODY3IDEyaC0zM3oiIGZpbHRlcj0idXJsKCNhKSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTgzMCAyKSIgZmlsbD0iI0ZGRiIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9zdmc+); }
  .menu__sublist--small .menu__listitem {
    font-family: "DBSans-Regular", "Arial", "Helvetica", sans-serif;
    font-style: normal;
    font-weight: normal;
    margin-left: 0;
    margin-bottom: 4px;
    position: relative; }
    .menu__sublist--small .menu__listitem:last-child a {
      margin-bottom: 0; }
  .menu__sublist--small .menu__listitemlink {
    display: block;
    padding: 10px;
    height: auto;
    margin-bottom: 0; }
    .menu__sublist--small .menu__listitemlink span {
      padding: 8px 0;
      height: auto; }

.menu__listitem.is-open .menu__sublist--big.hidden-desktop {
  display: flex !important;
  align-content: center;
  justify-content: space-between; }

.menu__listitem.is-open .menu__sublist--small.hidden-desktop {
  display: block !important;
  top: 60px;
  left: 50%;
  width: 90%;
  width: calc(100% - 40px);
  max-width: 400px;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  z-index: 300; }
  @media (min-width: 1024px) {
    .menu__listitem.is-open .menu__sublist--small.hidden-desktop {
      width: 500px;
      top: 50px; } }

@media (min-width: 800px) {
  .intro {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[18];
    grid-template-columns: repeat(18, 1fr);
    -ms-grid-rows: auto auto;
    grid-template-rows: auto auto; } }

@media (min-width: 1600px) {
  .intro {
    -ms-grid-columns: (1fr)[16];
    grid-template-columns: repeat(16, 1fr); } }

.intro__content {
  padding-top: 24vw;
  margin-bottom: 5vw; }
  @media (min-width: 800px) {
    .intro__content {
      -ms-grid-row: 1;
      grid-row: 1;
      -ms-grid-column: 1;
          grid-column-start: 1;
      -ms-grid-column-span: 11;
      grid-column-end: span 11;
      margin-top: 16vw;
      margin-bottom: 4vw;
      padding-top: 0; } }
  @media (min-width: 1600px) {
    .intro__content {
      -ms-grid-column-span: 8;
      grid-column-end: span 8; } }

.intro__media {
  padding-bottom: 8vw; }
  @media (min-width: 800px) {
    .intro__media {
      -ms-grid-row: 1;
      grid-row: 1;
      -ms-grid-column: 12;
          grid-column-start: 12;
      -ms-grid-column-span: 8;
      grid-column-end: span 8;
      margin-top: 12vw;
      margin-bottom: 4vw;
      padding-bottom: 0; } }
  @media (min-width: 1600px) {
    .intro__media {
      -ms-grid-column: 10;
          grid-column-start: 10; } }
  @media (min-width: 800px) {
    .intro__media .image {
      margin-left: 5vw;
      margin-right: 5vw; } }

.intro__blockquote {
  position: relative;
  background-color: #fff;
  box-shadow: 0 3px 7px 0 rgba(19, 24, 33, 0.05), 0 0 5px 0 rgba(19, 24, 33, 0.05), 0 1px 2px 0 rgba(19, 24, 33, 0.15), 0 3px 8px 0 rgba(0, 0, 0, 0.05), 0 0 2px 0 rgba(19, 24, 33, 0.05);
  border-radius: 6px;
  padding: 2vw;
  margin: -10vw 5vw 0 5vw; }
  @media (min-width: 800px) {
    .intro__blockquote {
      margin-top: -5vw;
      margin-right: 0;
      margin-left: 10vw;
      padding: 1vw; } }
  @media (min-width: 1600px) {
    .intro__blockquote {
      margin-left: 9vw;
      margin-right: -1vw; } }
  .intro__blockquote .blockquote__footer {
    margin: 0; }

@media (min-width: 800px) {
  .livestream {
    display: flex;
    flex-direction: column;
    align-items: flex-end; } }

.livestream__programm-headline {
  font-family: "DBHead-Black", "Arial", "Helvetica", sans-serif;
  font-style: normal;
  font-weight: normal; }

.livestream__content {
  position: relative;
  margin-left: 5vw;
  margin-right: 5vw; }
  @media (min-width: 800px) {
    .livestream__content {
      width: 40vw;
      order: 2;
      margin-top: 0;
      margin-right: 0;
      margin-left: 0;
      z-index: 5; }
      .is--live .livestream__content {
        margin-top: 10vw; } }
  @media (min-width: 1600px) {
    .livestream__content {
      max-width: 480px; } }
  .livestream__content .livestream__content-headline {
    font-family: "DBHead-Black", "Arial", "Helvetica", sans-serif;
    font-style: normal;
    font-weight: normal;
    position: relative; }
    .is--live .livestream__content .livestream__content-headline {
      margin-left: -4.5vw; }
      @media (min-width: 800px) {
        .is--live .livestream__content .livestream__content-headline {
          margin-left: 0; } }

.livestream__video {
  display: block;
  position: relative; }
  @media (min-width: 800px) {
    .livestream__video {
      width: 60vw;
      order: 1;
      margin-left: auto;
      margin-right: auto; } }
  .livestream__video .image {
    border: 2px solid #0087B9;
    border-radius: 6px; }
  .livestream__video .btn {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%); }

.scheduleboard {
  position: relative; }
  @media (min-width: 800px) {
    .scheduleboard {
      margin-top: -20vw; } }

.scheduleboard__gradient {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 72px;
  height: 200px;
  background-image: linear-gradient(0deg, rgba(240, 243, 245, 0) 0%, #F0F3F5 93%); }

.scheduleboard__box {
  position: relative;
  z-index: 2;
  padding-bottom: 200px;
  overflow: hidden; }
  @media (min-width: 800px) {
    .scheduleboard__box {
      width: 360px;
      margin-left: 5vw;
      overflow: visible;
      order: 3; } }
  @media (min-width: 1024px) {
    .scheduleboard__box {
      width: 390px; } }
  @media (min-width: 1280px) {
    .scheduleboard__box {
      width: 410px; } }
  @media (min-width: 1600px) {
    .scheduleboard__box {
      margin-left: 7.5vw; } }

.scheduleboard__box-inner {
  position: relative;
  z-index: 4;
  width: 90vw;
  max-width: 360px;
  margin-left: auto;
  margin-right: auto;
  background-image: linear-gradient(0deg, #F9FAFB 0%, #F0F3F5 100%);
  box-shadow: 0 2px 7px 0 rgba(0, 0, 0, 0.05), 0 1px 2px 0 rgba(0, 0, 0, 0.06), 0 1px 5px 0 rgba(0, 0, 0, 0.05), 0 2px 8px 0 rgba(0, 0, 0, 0.05), 0 1px 5px 0 rgba(0, 0, 0, 0.05);
  border-radius: 6px;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  padding: 20px; }
  @media (min-width: 800px) {
    .scheduleboard__box-inner {
      padding: 24px;
      max-width: none;
      width: 100%; } }

.scheduleboard__box-inner .scheduleboard__item {
  display: block;
  border: none; }
  .scheduleboard__box-inner .scheduleboard__item p,
  .scheduleboard__box-inner .scheduleboard__item .list {
    margin-bottom: 1vw; }

.scheduleboard__shadow {
  position: absolute;
  left: 50%;
  bottom: 22px;
  z-index: 3;
  max-width: none;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%); }

.logolist {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1fr 1fr;
  grid-template-columns: 1fr 1fr 1fr;
  -ms-grid-rows: auto;
  grid-template-rows: auto;
  gap: 0px 0px; }
  .logolist .list__item {
    max-width: 212px;
    max-height: 190px;
    padding: 20px; }
    @media (min-width: 800px) {
      .logolist .list__item {
        max-width: 240px;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 0;
        padding: 0; } }
  .logolist .list__item--bigger {
    max-width: 426px; }
    @media (min-width: 800px) {
      .logolist .list__item--bigger {
        width: 35vw;
        max-width: 560px; } }
  .logolist .logolist__image {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain; }

.msie .logolist {
  display: flex;
  flex-wrap: wrap; }
  .msie .logolist .list__item {
    max-width: 200px;
    margin: 2vw; }

.themewall {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  @media (min-width: 800px) {
    .themewall {
      display: -ms-grid;
      display: grid;
      -ms-grid-columns: (1fr)[18];
      grid-template-columns: repeat(18, 1fr);
      -ms-grid-rows: 1fr 10vw 10vw 6.625vw 10vw 10vw 6.625vw 20vw;
      grid-template-rows: 1fr 10vw 10vw 6.625vw 10vw 10vw 6.625vw 20vw; } }
  @media (min-width: 1600px) {
    .themewall {
      -ms-grid-columns: (1fr)[16];
      grid-template-columns: repeat(16, 1fr); } }
  .themewall .themewall__intro {
    margin: 0 5vw 5vw 5vw; }
    @media (min-width: 800px) {
      .themewall .themewall__intro {
        -ms-grid-row: 1;
        -ms-grid-row-span: 3;
        grid-row: 1 / span 3;
        -ms-grid-column: 1;
            grid-column-start: 1;
        -ms-grid-column-span: 8;
        grid-column-end: span 8;
        margin: 0; } }
    @media (min-width: 1600px) {
      .themewall .themewall__intro {
        -ms-grid-column-span: 6;
        grid-column-end: span 6;
        margin-right: 0; } }
  .themewall .themewall__intro h2 {
    font-family: "DBHead-Black", "Arial", "Helvetica", sans-serif;
    font-style: normal;
    font-weight: normal; }
  .themewall .themewall__poster {
    height: 53vw;
    width: 50%;
    width: calc(50% - 5vw); }
    @media (min-width: 800px) {
      .themewall .themewall__poster {
        -ms-grid-column-span: 4;
        grid-column-end: span 4;
        width: auto;
        height: auto; } }
  @media (min-width: 800px) {
    .themewall .themewall__poster--1 {
      -ms-grid-row: 2;
      -ms-grid-row-span: 3;
      grid-row: 2 / span 3;
      -ms-grid-column: 15;
          grid-column-start: 15; } }
  @media (min-width: 1600px) {
    .themewall .themewall__poster--1 {
      -ms-grid-column: 13;
          grid-column-start: 13; } }
  .themewall .themewall__poster--2 {
    margin-top: 10vw; }
    @media (min-width: 800px) {
      .themewall .themewall__poster--2 {
        -ms-grid-row: 3;
        -ms-grid-row-span: 3;
        grid-row: 3 / span 3;
        -ms-grid-column: 10;
            grid-column-start: 10;
        margin-top: 0; } }
    @media (min-width: 1600px) {
      .themewall .themewall__poster--2 {
        -ms-grid-column: 8;
            grid-column-start: 8; } }
  @media (min-width: 800px) {
    .themewall .themewall__poster--3 {
      -ms-grid-row: 5;
      -ms-grid-row-span: 3;
      grid-row: 5 / span 3;
      -ms-grid-column: 5;
          grid-column-start: 5; } }
  @media (min-width: 1600px) {
    .themewall .themewall__poster--3 {
      -ms-grid-column: 3;
          grid-column-start: 3; } }
  .themewall .themewall__poster--4 {
    margin-top: 10vw; }
    @media (min-width: 800px) {
      .themewall .themewall__poster--4 {
        -ms-grid-row: 7;
        -ms-grid-row-span: 3;
        grid-row: 7 / span 3;
        -ms-grid-column: 12;
            grid-column-start: 12;
        margin-top: 0; } }
    @media (min-width: 1600px) {
      .themewall .themewall__poster--4 {
        -ms-grid-column: 10;
            grid-column-start: 10; } }
  .themewall .themewall__link {
    position: relative;
    display: block;
    width: 100%; }
  .themewall .themewall__image {
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 6px;
    transition: opacity .2s ease-in-out; }
    .themewall .themewall__image:first-child {
      box-shadow: 0 5px 20px 0 rgba(0, 0, 0, 0.1), 0 3px 7px 0 rgba(19, 24, 33, 0.05), 0 0 5px 0 rgba(19, 24, 33, 0.05), 0 1px 2px 0 rgba(19, 24, 33, 0.15), 0 3px 8px 0 rgba(0, 0, 0, 0.05), 0 0 2px 0 rgba(19, 24, 33, 0.05); }
  .themewall .themewall__link:hover .themewall__image {
    opacity: 0; }
  .themewall .themewall__link:hover .themewall__image.hover {
    opacity: 1; }

.main {
  padding-top: 96px; }
  @media (min-width: 800px) {
    .main {
      padding-top: 192px; } }
  .homepage .main {
    padding-top: 0; }

.main,
.background-gradient {
  background: #fff;
  background: linear-gradient(180deg, #f0f3f5 0%, #fff 20%, #fff 100%); }

.floatinglogo {
  float: left;
  margin-right: 4vw;
  margin-bottom: 5vw;
  width: 120px; }
  @media (min-width: 800px) {
    .floatinglogo {
      width: 20vw;
      max-width: 240px; } }

.floating-image {
  margin-bottom: 20px;
  max-width: 300px; }
  @media (min-width: 768px) {
    .floating-image {
      width: 35%;
      max-width: none; } }

@media (min-width: 768px) {
  .floating-content {
    width: 60%;
    margin-left: 5%; } }

.cookieplaceholder .btn {
  background-color: #0087B9;
  border: 1px solid #006A96; }

.footer__wrapper {
  background: #F0F3F5; }

.footer__navigation--left li .list__link,
.footer__navigation--center li .list__link,
.footer__navigation--right li .list__link {
  color: #878C96; }
  .footer__navigation--left li .list__link::after,
  .footer__navigation--center li .list__link::after,
  .footer__navigation--right li .list__link::after {
    display: none; }
  .footer__navigation--left li .list__link:focus span,
  .footer__navigation--left li .list__link:hover span,
  .footer__navigation--center li .list__link:focus span,
  .footer__navigation--center li .list__link:hover span,
  .footer__navigation--right li .list__link:focus span,
  .footer__navigation--right li .list__link:hover span {
    text-decoration: underline; }

body.no-scroll {
  overflow: hidden; }

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

@media (min-width: 800px) {
  .msie .karte svg {
    height: 30.75vw !important;
    width: 100% !important; } }

.karte {
  overflow-x: auto; }
  .karte svg {
    min-width: 1600px; }
    @media (min-width: 1280px) {
      .karte svg {
        min-width: unset; } }
  .karte [id^="map-"]:not([id^="map-position"]):not([id$="schaffhausen"]):not([id$="koblenz"]) {
    cursor: pointer; }
    .karte [id^="map-"]:not([id^="map-position"]):not([id$="schaffhausen"]):not([id$="koblenz"]):hover {
      fill: #0087B9; }
  .karte [id^="map-"]:not([id^="map-position"])[id$="basel"]:hover, .karte [id^="map-"]:not([id^="map-position"])[id$="lauchringen-west"]:hover, .karte [id^="map-"]:not([id^="map-position"])[id$="griessen"]:hover {
    fill: #333 !important; }
  .karte [id^="map-bruecke"]:hover .map-icons,
  .karte [id$="tunnel"]:hover .map-icons,
  .karte [id^="map-umrichterwerk"]:hover .map-icons,
  .karte [id^="map-bahnuebergang"]:hover .map-icons {
    stroke: #333; }
  .karte [id^="map-bruecke"]:hover path,
  .karte [id$="tunnel"]:hover path,
  .karte [id^="map-umrichterwerk"]:hover path,
  .karte [id^="map-bahnuebergang"]:hover path {
    fill: #333 !important; }
  .karte [id^="map-bruecke"]:hover line,
  .karte [id$="tunnel"]:hover line,
  .karte [id^="map-umrichterwerk"]:hover line,
  .karte [id^="map-bahnuebergang"]:hover line {
    stroke: #333; }

@-webkit-keyframes pulse {
  from {
    stroke-width: 8px;
    stroke-opacity: 1; }
  to {
    stroke-width: 0;
    stroke-opacity: 0; } }

@keyframes pulse {
  from {
    stroke-width: 8px;
    stroke-opacity: 1; }
  to {
    stroke-width: 0;
    stroke-opacity: 0; } }

.karte--animate .pulse {
  stroke: #0087B9;
  stroke-width: 2px;
  stroke-opacity: 0;
  fill: white;
  fill-opacity: 0;
  -webkit-animation-name: pulse;
          animation-name: pulse;
  -webkit-animation-duration: 2s;
          animation-duration: 2s;
  -webkit-animation-iteration-count: 3;
          animation-iteration-count: 3; }

.karte--animate #map-basel .pulse,
.karte--animate #map-koblenz .pulse,
.karte--animate #map-lauchringen-west .pulse,
.karte--animate #map-griessen .pulse {
  stroke: #333; }

.tooltips {
  position: absolute;
  top: 0;
  left: 0; }
  .tooltips .tooltip {
    width: 12.5vw;
    max-width: 300px;
    min-width: 250px;
    background-color: #fff;
    box-shadow: 0 0 25px 0 #646973;
    border-radius: 6px;
    position: absolute;
    top: 0;
    left: 0;
    -webkit-transform: translate(-50%, -105%);
            transform: translate(-50%, -105%);
    z-index: 10; }
    .tooltips .tooltip::before {
      content: '';
      position: absolute;
      bottom: -20px;
      left: 50%;
      width: 0;
      height: 0;
      border-style: solid;
      -webkit-transform: translate(-50%, -2px);
      transform: translate(-50%, -2px);
      border-width: 20px 15px 0 15px;
      border-color: #fff transparent transparent transparent;
      pointer-events: none; }
    .tooltips .tooltip .image-wrapper {
      position: relative; }
      .tooltips .tooltip .image-wrapper:hover::before {
        opacity: .4; }
      .tooltips .tooltip .image-wrapper::before {
        content: '';
        display: block;
        position: absolute;
        width: 100%;
        height: 100%;
        z-index: 1;
        pointer-events: none;
        background-color: black;
        opacity: .2;
        transition: all 0.2s ease-in-out;
        border-radius: 6px; }
      .tooltips .tooltip .image-wrapper img {
        width: 100%;
        height: auto;
        margin-bottom: 7.5px;
        border-top-left-radius: 6px;
        border-top-right-radius: 6px;
        cursor: pointer; }
      .tooltips .tooltip .image-wrapper::after {
        content: '';
        background-image: url("data:image/svg+xml,%3Csvg aria-hidden='true' width='81' height='80'	viewBox='0 0 81 80'	xmlns='http://www.w3.org/2000/svg'%3E	%3Cg fill-rule='nonzero' fill='%23fff'%3E	%3Cpath d='M40.216 4c19.882 0 36 16.118 36 36s-16.118 36-36 36-36-16.118-36-36c.03-19.87 16.13-35.97 36-36m0-4c-22.091 0-40 17.909-40 40s17.909 40 40 40 40-17.909 40-40a40 40 0 00-40-40z'%3E%3C/path%3E%3Cpath d='M53.475 41.14l-19.35 11.15a1.25 1.25 0 01-1.85-1.1V28.84a1.25 1.25 0 011.9-1.1l19.35 11.2a1.25 1.25 0 01-.05 2.2z'%3E%3C/path%3E %3C/g%3E%3C/svg%3E");
        display: block;
        background-position: center;
        background-repeat: no-repeat;
        background-size: 100%;
        position: absolute;
        height: 50px;
        width: 50px;
        left: 50%;
        top: 50%;
        -webkit-transform: translate(-50%, -50%);
                transform: translate(-50%, -50%);
        pointer-events: none;
        z-index: 1; }
    .tooltips .tooltip__text {
      padding: .5em; }
      .tooltips .tooltip__text h4 {
        line-height: 1.3em;
        margin-bottom: .5em; }
      .tooltips .tooltip__text p {
        font-size: 14px;
        line-height: 20px;
        margin-bottom: .75em; }
        .tooltips .tooltip__text p:last-child {
          margin-bottom: 0 !important; }

.overlay {
  background-color: rgba(0, 0, 0, 0.9);
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 100;
  overflow: auto;
  width: 100%; }
  .overlay__content {
    width: 90vw;
    z-index: 100;
    margin: 0 auto; }
    @media (min-width: 640px) {
      .overlay__content {
        width: 80vw; } }
    @media (min-width: 1024px) {
      .overlay__content {
        width: 50vw; } }
  .overlay__close {
    position: absolute;
    top: 5vh;
    width: 40px;
    right: calc(5vw - (var(--scrollbar-width) / 2));
    height: 40px;
    z-index: 100;
    cursor: pointer;
    transition: 0.2s;
    background-color: rgba(0, 0, 0, 0.5);
    border-top-right-radius: 5px; }
    @media (min-width: 640px) {
      .overlay__close {
        right: calc((10vw - 40px) / 2 + (var(--scrollbar-width) / 1.5));
        position: fixed;
        border-radius: 10px;
        background-color: transparent; } }
    @media (min-width: 1024px) {
      .overlay__close {
        right: 3vw; } }
    .overlay__close:hover svg g {
      stroke: #0087B9; }
    .overlay__close svg {
      width: auto;
      height: auto;
      position: absolute;
      left: 50%;
      top: 50%;
      -webkit-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%); }
      .overlay__close svg g {
        transition: 0.2s;
        stroke: #fff; }
  .overlay__prev, .overlay__next {
    position: fixed;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    height: 90vh;
    overflow: hidden;
    cursor: pointer;
    display: none; }
    @media (min-width: 1024px) {
      .overlay__prev, .overlay__next {
        display: block; } }
    .overlay__prev .overlay__prev-wrapper,
    .overlay__prev .overlay__next-wrapper, .overlay__next .overlay__prev-wrapper,
    .overlay__next .overlay__next-wrapper {
      position: absolute;
      width: -webkit-max-content;
      width: -moz-max-content;
      width: max-content;
      height: -webkit-max-content;
      height: -moz-max-content;
      height: max-content;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%);
      transition: 0.2s;
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center; }
      .overlay__prev .overlay__prev-wrapper svg,
      .overlay__prev .overlay__next-wrapper svg, .overlay__next .overlay__prev-wrapper svg,
      .overlay__next .overlay__next-wrapper svg {
        height: 1em;
        width: auto;
        transition: 0.2s; }
        .overlay__prev .overlay__prev-wrapper svg:first-child,
        .overlay__prev .overlay__next-wrapper svg:first-child, .overlay__next .overlay__prev-wrapper svg:first-child,
        .overlay__next .overlay__next-wrapper svg:first-child {
          margin-right: 1em; }
        .overlay__prev .overlay__prev-wrapper svg:last-child,
        .overlay__prev .overlay__next-wrapper svg:last-child, .overlay__next .overlay__prev-wrapper svg:last-child,
        .overlay__next .overlay__next-wrapper svg:last-child {
          margin-left: 1em; }
        .overlay__prev .overlay__prev-wrapper svg g,
        .overlay__prev .overlay__next-wrapper svg g, .overlay__next .overlay__prev-wrapper svg g,
        .overlay__next .overlay__next-wrapper svg g {
          fill: #fff;
          transition: 0.2s; }
      .overlay__prev .overlay__prev-wrapper span,
      .overlay__prev .overlay__next-wrapper span, .overlay__next .overlay__prev-wrapper span,
      .overlay__next .overlay__next-wrapper span {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        color: #fff;
        transition: .2s; }
  .overlay__prev {
    left: 0;
    width: calc(25vw - var(--scrollbar-width) / 2); }
    .overlay__prev:hover svg {
      -webkit-transform: translateX(-0.5em);
              transform: translateX(-0.5em); }
      .overlay__prev:hover svg g {
        fill: #0087B9; }
    .overlay__prev:hover span {
      color: #0087B9; }
  .overlay__next {
    right: var(--scrollbar-width);
    width: calc(25vw - var(--scrollbar-width) / 2); }
    .overlay__next:hover svg {
      -webkit-transform: translateX(0.5em);
              transform: translateX(0.5em); }
      .overlay__next:hover svg g {
        fill: #0087B9; }
    .overlay__next:hover span {
      color: #0087B9; }
  .overlay .station {
    height: 100%;
    margin-bottom: 5vh;
    background-color: #fff;
    border-radius: 10px;
    margin-top: 5vh; }
    .overlay .station h1,
    .overlay .station h2,
    .overlay .station h3,
    .overlay .station h4,
    .overlay .station h5,
    .overlay .station h6 {
      margin: 0; }
    .overlay .station__video {
      position: relative; }
      .overlay .station__video video {
        height: 100%;
        width: 100%;
        -o-object-fit: cover;
           object-fit: cover; }
      .overlay .station__video .video__inner {
        border-radius: 0;
        border-top-right-radius: 10px;
        border-top-left-radius: 10px; }
        .overlay .station__video .video__inner .btn {
          background-color: #0087B9;
          border-color: #0087B9; }
    .overlay .station__title, .overlay .station__subtitle, .overlay .station__text, .overlay .station__close {
      padding: 0 5vw;
      display: block; }
    .overlay .station__title {
      margin: 0;
      padding-top: 2vw;
      padding-bottom: 2vw; }
    .overlay .station__subtitle {
      margin: 0;
      margin-bottom: -1.5vw;
      padding-top: 2vw;
      font-family: "DBSans-Regular", "Arial", "Helvetica", sans-serif;
      font-style: normal;
      font-weight: normal; }
    .overlay .station__text p {
      margin: 0;
      padding-bottom: 2vw; }
      @media (min-width: 1024px) {
        .overlay .station__text p {
          font-size: calc(3.5vw - 1px);
          line-height: calc(6vw - 1px); } }
  @media (min-width: 1024px) and (min-width: 400px) {
    .overlay .station__text p {
      font-size: calc(($textfontsizemin + px) - 1px);
      line-height: calc(($textlineheightmin + px) - 1px); } }
  @media (min-width: 1024px) and (min-width: 800px) {
    .overlay .station__text p {
      font-size: calc((14px + (18 - 14) * ((100vw - 800px) / (1600 - 800))) - 1px);
      line-height: calc((24px + (32 - 24) * ((100vw - 800px) / (1600 - 800))) - 1px); } }
  @media (min-width: 1024px) and (min-width: 1600px) {
    .overlay .station__text p {
      font-size: calc(1.125vw - 1px);
      line-height: calc(2vw - 1px); } }
      .overlay .station__text p:last-child {
        padding-bottom: 10vw; }
        @media (min-width: 1024px) {
          .overlay .station__text p:last-child {
            padding-bottom: 5vw; } }
    .overlay .station__close {
      padding-bottom: 5vw;
      border-bottom-left-radius: 10px;
      border-bottom-right-radius: 10px;
      position: relative;
      display: flex; }
      @media (min-width: 1024px) {
        .overlay .station__close {
          padding-bottom: 2vw;
          display: block; } }
      .overlay .station__close button {
        padding: 0;
        border: none;
        background: transparent;
        color: #0087B9;
        cursor: pointer;
        font-family: "DBSans-Bold", "Arial", "Helvetica", sans-serif;
        font-style: normal;
        font-weight: normal;
        display: none; }
        @media (min-width: 1024px) {
          .overlay .station__close button {
            display: block; } }
        .overlay .station__close button:hover {
          color: #006A96; }
      .overlay .station__close .station__prev-mobile,
      .overlay .station__close .station__next-mobile {
        display: flex;
        height: 2em;
        justify-content: center;
        align-items: center;
        bottom: 0;
        flex: 0 0 50%;
        text-align: center;
        cursor: pointer; }
        @media (min-width: 1024px) {
          .overlay .station__close .station__prev-mobile,
          .overlay .station__close .station__next-mobile {
            display: none; } }
        .overlay .station__close .station__prev-mobile svg,
        .overlay .station__close .station__next-mobile svg {
          height: 1em;
          width: -webkit-min-content;
          width: -moz-min-content;
          width: min-content;
          transition: 0.2s; }
          .overlay .station__close .station__prev-mobile svg:first-child,
          .overlay .station__close .station__next-mobile svg:first-child {
            margin-right: 0.25em; }
          .overlay .station__close .station__prev-mobile svg:last-child,
          .overlay .station__close .station__next-mobile svg:last-child {
            margin-left: 0.25em; }
          .overlay .station__close .station__prev-mobile svg g,
          .overlay .station__close .station__next-mobile svg g {
            fill: #0087B9; }
        .overlay .station__close .station__prev-mobile span,
        .overlay .station__close .station__next-mobile span {
          width: -webkit-max-content;
          width: -moz-max-content;
          width: max-content;
          max-width: 125px;
          min-width: 60px;
          line-height: 1.3;
          color: #0087B9; }
          @media (min-width: 640px) {
            .overlay .station__close .station__prev-mobile span,
            .overlay .station__close .station__next-mobile span {
              max-width: none; } }
      .overlay .station__close .station__prev-mobile {
        justify-content: flex-start; }
        .overlay .station__close .station__prev-mobile::before {
          content: "";
          background-image: url("data:image/svg+xml,%3Csvg width='21px' height='33px' viewBox='0 0 21 33' xmlns='http://www.w3.org/2000/svg'%3E%3Cg id='Symbols' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='chevron-left' fill='%230087B9'%3E%3Cpath d='M19.434,4.109 C20.369,3.171 20.369,1.664 19.434,0.723 C18.966,0.253 18.354,0.022 17.741,0.022 C17.137,0.022 16.516,0.253 16.053,0.723 L0.753,16.021 L16.053,31.326 C16.989,32.264 18.503,32.264 19.439,31.326 C20.377,30.388 20.377,28.875 19.439,27.935 L7.525,16.021 L19.434,4.109 L19.434,4.109 Z'%3E%3C/path%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
          background-size: 60%;
          background-position: center;
          background-repeat: no-repeat;
          height: 60%;
          width: 1em;
          margin-right: 0.5em; }
      .overlay .station__close .station__next-mobile {
        justify-content: flex-end; }
        .overlay .station__close .station__next-mobile::after {
          content: "";
          background-image: url("data:image/svg+xml,%3Csvg width='20px' height='33px' viewBox='0 0 20 33' xmlns='http://www.w3.org/2000/svg'%3E%3Cg id='Symbols' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='chevron-right' fill='%230087B9'%3E%3Cpath d='M0.851,27.934 C-0.084,28.872 -0.084,30.382 0.851,31.325 C1.319,31.794 1.931,32.021 2.544,32.021 C3.148,32.021 3.769,31.792 4.232,31.325 L19.535,16.022 L4.232,0.722 C3.296,-0.215 1.785,-0.215 0.846,0.722 C-0.092,1.66 -0.092,3.172 0.846,4.108 L12.76,16.022 L0.851,27.934 L0.851,27.934 Z'%3E%3C/path%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
          background-size: 60%;
          background-position: center;
          background-repeat: no-repeat;
          height: 60%;
          width: 1em;
          margin-left: 0.5em; }

/*# sourceMappingURL=hochrheinbahn.css.map */
