@charset "utf-8";
@import "/assets/globals/fontawesome/css/all.min.css";
@font-face {
  font-display: swap;
  font-family: 'VosslohRollingStockWhyte';
  font-style: normal;
  font-weight: 100;
  src: local(''), url('/assets/globals/fonts/VosslohRollingStockWhyte-Regular.woff2') format('woff2'), url('/assets/globals/fonts/VosslohRollingStockWhyte-Regular.ttf') format('truetype'), url('/assets/globals/fonts/VosslohRollingStockWhyte-Regular.otf') format('otf');
}
@font-face {
  font-display: swap;
  font-family: 'VosslohRollingStockWhyte';
  font-style: normal;
  font-weight: 400;
  src: url('/assets/globals/fonts/VosslohRollingStockWhyte-Bold.woff2') format('woff2'), url('/assets/globals/fonts/VosslohRollingStockWhyte-Bold.ttf') format('truetype'), url('/assets/globals/fonts/VosslohRollingStockWhyte-Bold.otf') format('otf');
}
@font-face {
  font-display: swap;
  font-family: 'VosslohRollingStockWhyte';
  font-style: normal;
  font-weight: 800;
  src: url('/assets/globals/fonts/VosslohRollingStockWhyte-Heavy.woff2') format('woff2'), url('/assets/globals/fonts/VosslohRollingStockWhyte-Heavy.ttf') format('truetype'), url('/assets/globals/fonts/VosslohRollingStockWhyte-Heavy.otf') format('otf');
}
html,
body {
  font-family: 'VosslohRollingStockWhyte';
  font-size: 16pt;
  font-weight: 100;
  line-height: 130%;
  padding: 0;
  margin: 0;
}
aside {
  display: block;
  right: 0;
  position: absolute;
  line-height: 65%;
}
h1 {
  font-size: 2rem;
  color: #1D6D5E;
  font-weight: 400;
}
h2 {
  font-size: 1.6rem;
  color: #1D6D5E;
  font-weight: 400;
}
h3 {
  font-size: 1.3rem;
  color: #3c3c3c;
  font-weight: 400;
}
h4,
h5,
h6 {
  font-size: 1rem;
  font-weight: 400;
  color: #3c3c3c;
}
p,
ul {
  color: #3c3c3c;
  font-weight: 100;
  font-size: 1rem;
}
pstrong,
ulstrong {
  font-weight: 400;
}
aside p,
aside ul {
  font-size: 0.7rem;
}
a {
  color: #1D6D5E;
  text-decoration: none;
}
a:hover {
  text-decoration: underline;
}
.alarm {
  color: #f811eb;
}
.footnote {
  font-size: 50%;
  color: #A5B4A1;
}
strong {
  font-weight: 800;
}
ul {
  list-style: none;
  padding: 0;
  margin: 0.5em 0;
}
ul li {
  margin-left: 2rem;
  margin-bottom: 0.3rem;
}
ul li:before {
  content: "\2192";
  display: inline-block;
  height: auto;
  width: 0.8rem;
  padding-right: 0.7rem;
  margin-left: -1.5rem;
  color: #1D6D5E;
}
ul li ul li {
  margin-left: 1.5rem;
}
ul li ul li:before {
  content: "\2192";
  color: #999;
}
ul.noArrow {
  color: #3c3c3c;
  font-weight: 100;
  font-size: 1rem;
  list-style: none;
  padding: 0;
  margin: 0.5em 0;
  list-style-type: disc;
}
ul.noArrowstrong {
  font-weight: 400;
}
ul.noArrow li {
  margin-left: 2rem;
  margin-bottom: 0.3rem;
}
ul.noArrow li:before {
  content: "\2192";
  display: inline-block;
  height: auto;
  width: 0.8rem;
  padding-right: 0.7rem;
  margin-left: -1.5rem;
  color: #1D6D5E;
}
ul.noArrow li ul li {
  margin-left: 1.5rem;
}
ul.noArrow li ul li:before {
  content: "\2192";
  color: #999;
}
ul.noArrow li:before {
  content: '';
}
ol {
  color: #3c3c3c;
  font-weight: 100;
  font-size: 1rem;
  list-style: none;
  padding: 0;
  margin: 0.5em 0;
  list-style-type: decimal;
}
olstrong {
  font-weight: 400;
}
ol li {
  margin-left: 2rem;
  margin-bottom: 0.3rem;
}
ol li:before {
  content: "\2192";
  display: inline-block;
  height: auto;
  width: 0.8rem;
  padding-right: 0.7rem;
  margin-left: -1.5rem;
  color: #1D6D5E;
}
ol li ul li {
  margin-left: 1.5rem;
}
ol li ul li:before {
  content: "\2192";
  color: #999;
}
ol li:before {
  content: '';
}
details div {
  padding-top: 0.5em;
}
details summary {
  cursor: pointer;
  padding: 1%;
  border-top: 2px solid #A5C5BF;
}
details summary h2,
details summary h3,
details summary h4,
details summary h5,
details summary h6,
details summary div,
details summary p {
  display: inline-block;
  vertical-align: middle;
  width: 90%;
  line-height: 140%;
}
details summary::marker {
  color: #77A79E;
}
.pf-foldable:last-child {
  border-bottom: 2px solid #A5C5BF;
  min-height: 2px;
  margin-bottom: 1rem;
}
.pf-foldable {
  clear: both;
}
.pf-foldable .summary {
  padding-top: 1rem;
  border-top: 2px solid #A5C5BF;
  cursor: pointer;
  display: block;
}
.pf-foldable .summary::before {
  display: inline;
  float: left;
  margin-right: 0.5em;
  line-height: 1.75rem;
  font-family: 'Font Awesome 6 Free';
  content: "\f105";
  font-weight: 900;
  width: 2em;
  color: #A5C5BF;
}
.pf-foldable .summary h2,
.pf-foldable .summary h3,
.pf-foldable .summary h4,
.pf-foldable .summary h5,
.pf-foldable .summary h6,
.pf-foldable .summary div,
.pf-foldable .summary p {
  display: inline;
  word-wrap: break-word;
  vertical-align: middle;
  line-height: 2rem;
  margin: 0;
  float: none;
  hyphens: auto;
}
.pf-foldable .details {
  padding-top: 1rem;
  width: 100%;
  height: auto;
}
.pf-foldable input:checked~.details {
  display: block;
  max-height: 9000px;
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.pf-foldable input:checked~.summary::before {
  font-family: 'Font Awesome 6 Free';
  content: "\f107";
  font-weight: 900;
  width: 2em;
  color: #A5C5BF;
}
table {
  width: 100%;
  border-collapse: collapse;
  margin: 2em 0;
  border-bottom: 1px solid #A5B4A1;
}
table th {
  padding: 0.5rem;
  background-color: transparent;
}
table th h2 {
  text-align: left;
}
table td {
  padding: 0.5rem;
}
table td:nth-child(even) {
  text-align: right;
}
table tr:nth-child(even) {
  background-color: #F0F2EF;
}
table tr:hover {
  background-color: #DAF811;
}
table.edd tr:hover {
  background-color: #bbf1dd !important;
}
table.ebb tr:hover {
  background-color: #cdf0e2 !important;
}
table.bdd tr:hover {
  background-color: #bbecf3 !important;
}
table.bfc tr:hover {
  background-color: #D5FFFF !important;
}
figure img {
  max-width: 100%;
  height: auto;
}
figure figcaption {
  font-size: 0.7rem;
  line-height: 100%;
}
img {
  border-radius: 30px;
}
img.notRounded {
  border-radius: 0;
}
.pill {
  border-radius: 2em;
  background-color: #DAF811;
  color: #1D6D5E;
  text-align: center;
  width: fit-content;
  font-weight: 900;
  font-size: 2rem;
  padding: 0.75em 2.25em;
  z-index: 100;
  position: relative;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 0.3rem;
  justify-content: center;
  align-items: center;
}
.pill.edd {
  background-color: #4ACC9A;
  color: white;
}
.pill.ebb {
  background-color: #94E0C5;
  color: white;
}
.pill.bdd {
  background-color: #51D6E7;
  color: white;
}
.pill.bfc {
  background-color: #81FFFF;
  color: white;
}
.pill span+span {
  font-size: 60%;
  font-weight: 100;
}
.pill.smaller {
  font-size: 1.2rem;
}
.pill.smaller span+span {
  font-size: 0.6rem;
}
.pill.center {
  margin: auto;
}
.pill.right {
  float: right;
  margin-right: 10%;
}
.pill.overlap {
  transform: translate(0%,-50%);
}
header .pill {
  margin-top: -3rem;
}
@media screen and (max-width: 640px) {
  .mobileOnly {
    display: inline-block;
  }
  h1 {
    font-size: 1.6rem;
    hyphens: auto;
  }
  h2 {
    font-size: 1.2rem;
  }
  h3 {
    font-size: 1rem;
  }
  p,
  ul,
  ol {
    font-size: 0.8rem;
  }
  li {
    margin: 0.5rem;
  }
  .pill {
    font-size: 100%;
    max-width: 60%;
    margin: 0 5%;
    padding: 0.5rem 2rem;
    gap: 0;
  }
  header .pill {
    margin-top: -1rem;
    font-size: 1.4rem;
  }
  td {
    hyphens: auto;
  }
}
.flag {
  display: inline-block;
  height: 36px;
  width: 60px;
  background-image: url('/assets/globals/images/Flaggen.svg');
  text-indent: -99999px;
  background-size: cover;
}
.flag.flagFR {
  background-position: 0 0;
}
.flag.flagDE {
  background-position: -60px 0;
}
.flag.flagEN {
  background-position: -120px 0;
}
.flag.flagIT {
  background-position: -180px 0;
}
.flag.flagCZ {
  background-position: -240px 0;
}
.flag.flagCN {
  background-position: -300px 0;
}
@media only screen and (min-width: 1025px) {
  body {
    background-color: #4A8A7E;
  }
  .globe,
  .content {
    background-color: white;
  }
  .visit {
    max-width: 30vw;
    margin: 0 auto;
  }
  #emergency {
    max-width: 30vw;
    margin: 0 auto;
  }
}
.visit p,
.visit div,
.visit li {
  font-size: 20px;
}
.visit a {
  font-weight: 600;
}
.visit img {
  border-radius: 0;
}
.visit header {
  background-color: #A5C5BF;
  color: #DAF811;
  height: 260px;
}
.visit header .logo {
  display: block;
  margin: 1.5rem 1.5rem 1.5rem auto;
  float: right;
}
.visit header .logo img {
  width: 200px;
  height: auto;
}
.visit header h1 {
  clear: both;
  margin: 0 1rem;
  color: #1D6D5E;
  font-size: 2.5rem;
  font-weight: 100;
  hyphens: none;
  line-height: 80%;
}
.visit .globe {
  text-align: center;
  padding-top: 1rem;
}
.visit .globe ul {
  list-style: none;
  margin: 0 auto;
  padding: 0;
}
.visit .globe ul li {
  display: inline;
  margin-left: 0;
  opacity: 0.3;
}
.visit .globe ul li.activatedLang {
  opacity: 1;
}
.visit .globe ul li:before {
  content: "";
  display: none;
}
.visit .content {
  padding: 0.5rem 1rem 8.5rem 1rem;
  min-height: 100vh;
}
.visit details {
  clear: both;
}
.visit details div {
  padding-top: 0;
}
.visit details summary {
  cursor: pointer;
  font-weight: bold;
  margin-bottom: 0.5rem;
  padding: 0.5rem 1.5rem;
  background-color: #A5C5BF;
  border-radius: 0.5rem;
  border-top: 0 none transparent;
  color: #1D6D5E;
}
.visit details summary::marker {
  content: '';
}
.visit details summary:hover {
  background-color: #4A8A7E;
  color: #A5C5BF;
}
.visit details .detailsContent {
  display: flex;
  hyphens: auto;
  padding-bottom: 2rem;
}
.visit details .detailsContent.unflexed {
  display: block;
}
.visit details .detailsContent .text {
  float: left;
  width: auto;
  margin: 0.5rem 0.5rem 0 0.5rem;
}
.visit details .detailsContent p {
  margin: 0.5rem;
}
.visit details .detailsContent h1,
.visit details .detailsContent h2,
.visit details .detailsContent h3 {
  clear: both;
  padding-top: 2rem;
  color: #1D6D5E;
  line-height: 100%;
}
.visit .icon {
  background-image: url(/assets/images/icons.svg);
  width: 60px;
  height: 60px;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: cover;
  display: inline-block;
  overflow: hidden;
  vertical-align: middle;
  margin-right: 0.5rem;
  margin-top: 0.5rem;
  padding: 0;
  background-position-x: 0;
  float: left;
}
.visit .icon.foto {
  background-position-y: -60px;
}
.visit .icon.zwanzig {
  background-position-y: -180px;
}
.visit .icon.gabelstapler {
  background-position-y: -240px;
}
.visit .icon.halteverbot {
  background-position-y: -300px;
}
.visit .icon.achtung {
  background-position-y: -360px;
}
.visit .icon.lasten {
  background-position-y: -1020px;
}
.visit .icon.augenschutz {
  background-position-y: -420px;
}
.visit .icon.sicherheitsschuhe {
  background-position-y: -480px;
}
.visit .icon.gehoerschutz {
  background-position-y: -540px;
}
.visit .icon.wasserschutz {
  background-position-y: -600px;
}
.visit .icon.rauchverbot {
  background-position-y: -660px;
}
.visit .icon.nichtanfassen {
  background-position-y: -720px;
}
.visit .icon.koerperhilfsmittel {
  background-position-y: -780px;
}
.visit .icon.video {
  background-position-y: -840px;
}
.visit .icon.anstosskappe {
  background-position-y: -900px;
}
.visit .icon.laser {
  background-position-y: -960px;
}
.visit .icon.notausgang {
  background-position-y: -1080px;
}
.visit .icon.erste-hilfe {
  background-position-y: -1140px;
}
.visit .icon.sammelplatz {
  background-position-y: -1200px;
}
.visit .icon.parken {
  background-position-y: -1260px;
}
.visit .icon.brand-aufzug {
  background-position-y: -1320px;
}
.visit .icon.aed {
  background-position-y: -1380px;
}
.visit div.icon+div {
  float: left;
  width: 70%;
  display: inline-block;
  overflow: hidden;
  margin-left: 3%;
  padding-top: 3%;
}
.visit .row {
  clear: both;
  width: 100%;
  margin: 5% 0;
}
.visit details[open] {
  border: 1px solid #A5C5BF;
  border-radius: 0.5rem;
  margin-bottom: 1rem;
  height: min-content;
}
.visit details[open] summary {
  border-radius: 0.5rem 0.5rem 0 0;
}
.visit .btn {
  border-radius: 2em;
  text-align: center;
  width: fit-content;
  font-weight: 900;
  padding: 2%;
  z-index: 100;
  position: relative;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 0.3rem;
  justify-content: center;
  align-items: center;
  width: 92%;
  margin: 2% 0;
}
.visit .btn a {
  text-decoration: none;
  width: 100%;
}
.visit .btn a .small {
  font-size: 0.8rem;
  font-weight: 100;
  padding: 0.5em;
}
.visit .btn.btn-normal {
  background-color: #4A8A7E;
  color: #DAF811;
  border-color: #4A8A7E;
}
.visit .btn.btn-normal a {
  color: #DAF811;
}
.visit .btn.btn-normal:hover {
  background-color: #DAF811;
  border-color: #1D6D5E;
}
.visit .btn.btn-normal:hover a {
  color: #1D6D5E;
}
.visit .btn.btn-alert {
  background-color: #f00;
  color: #DAF811;
  border-color: #f00;
}
.visit .btn.btn-alert a {
  color: #DAF811;
}
.visit .btn.btn-alert:hover {
  background-color: #c00;
  border-color: #DAF811;
}
.visit .btn.btn-alert:hover a {
  color: #DAF811;
}
.visit #mapOverlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background-color: #D2E2DF;
  z-index: 2000;
  overflow: scroll;
  cursor: zoom-out;
}
.visit #mapOverlay img {
  width: 200%;
  height: 200%;
  max-width: none;
}
.visit #mapOverlay.open {
  display: block;
}
.visit #mapPreview {
  background-image: url(/assets/images/magnifier.svg);
  background-size: 40px 40px;
  background-position: top left;
  background-repeat: no-repeat;
  cursor: zoom-in;
}
.visit #emergency {
  transition: top 0.53s ease-in-out, position 0s 1.5s;
  clear: both;
  position: fixed;
  height: 100px;
  top: 100vh;
  width: 100%;
  margin: 0;
  padding: 0;
  background-color: #1D6D5E !important;
}
.visit #emergency.open {
  top: 0vh;
  position: absolute;
}
.visit #emergency.open #upArrow {
  transform: rotate(180deg) translateY(0.1rem);
  display: inline-block;
  text-decoration: none;
}
.visit #emergency.open .divSummary {
  margin-top: 0px !important;
}
.visit #emergency .divSummary {
  transition: margin-top 0.25s;
  padding: 0.5rem;
  margin-top: -100px;
  hyphens: none;
  text-align: center;
  background-color: #1D6D5E;
  color: #DAF811;
  height: 100px;
  border-radius: 0;
  border-top: 1px solid #4A8A7E;
}
.visit #emergency .divSummary .upArrow {
  font-weight: 100;
}
.visit #emergency .divSummary:hover {
  background-color: #DAF811;
  color: #1D6D5E;
}
.visit #emergency .divSummary a {
  display: block;
  font-size: 50px;
  height: 100%;
  color: #DAF811;
  padding: 25px 0 0 0;
  text-decoration: none;
}
.visit #emergency .divSummary a:hover {
  color: #1D6D5E;
}
@media only screen and (max-width: 1024px) {
  .visit #emergency .divSummary a {
    font-size: 6vw;
  }
}
.visit #emergency ul.arrowed {
  list-style: none;
  padding: 0;
  margin: 0.5em 0;
}
.visit #emergency ul.arrowed li {
  text-indent: 0;
  padding-left: 0;
  color: black;
}
.visit #emergency ul.arrowed li:before {
  content: "\2192";
  display: inline-block;
  width: 0.8rem;
  padding-right: 0.7rem;
}
.visit #emergency a {
  font-weight: 600;
}
.visit #emergency a:hover {
  text-decoration: underline;
}
.visit #emergency h1 {
  padding-top: 70px;
  margin-top: 0;
  line-height: 120%;
}
.visit #emergency h2 {
  line-height: 120%;
  clear: both;
  padding: 1rem 0;
  margin: 1rem auto 0 auto;
}
.visit #emergency .row {
  margin: 0;
}
.visit #emergency .row .icon {
  margin-top: 1rem;
}
.visit #emergency .detailsContent {
  background-color: #D2E2DF;
  margin: 0;
  padding: 1rem 1rem 4rem 1rem;
  clear: both;
}
.visit #emergency #emergencyButtons {
  clear: both;
  padding: 1rem 0 0 0;
  background-color: #D2E2DF;
  margin: 8rem 0 0 0;
}
.visit #emergency .btn-normal:hover {
  background-color: #4A8A7E;
}
.visit #emergency .btn-normal:hover a:hover {
  color: #DAF811;
}
.visitdetails summary::marker {
  content: '';
}
.visit .heavy {
  font-weight: 900;
}
