@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: 950px) {
  .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;
}
header {
  text-align: center;
  margin: 0;
  padding: 0;
  padding-top: 150px;
}
header .globe {
  position: absolute;
  left: 0px;
  top: 0em;
  margin: 1em;
  text-align: left;
}
header .globe .activatedLang {
  display: none;
}
header .globe ul,
header .globe li {
  display: block;
  list-style: none;
  margin: 0em;
  padding: 0em;
}
header .globe li::before {
  display: none;
}
header .pill.right {
  margin-top: 0;
}
header div#logo {
  background-image: url(/assets/images/Mischke__48A7583.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  min-height: 27vh;
  font-size: 6vw;
  text-shadow: 1px 1px 1px #000000;
  padding-top: 30vh;
  color: #DAF811;
}
header div#logo .logo {
  top: 0;
  right: 25px;
  border-radius: 0;
  padding: 37.5px;
  height: 75px;
  position: absolute;
}
header nav {
  z-index: 100;
  position: fixed;
  top: 160px;
  left: 0;
  text-align: left;
}
header nav ul {
  padding: 0;
  margin: 0;
  list-style: N;
}
header nav ul li {
  padding: 0;
  margin: 0;
}
header nav ul li::before {
  display: none;
}
header nav ul li.active a {
  background-color: #DAF811;
  color: #1D6D5E;
  transition: all 0.2s ease-in;
}
header nav ul li a {
  background: #1D6D5E;
  color: #DAF811;
  transition: all 0.3s;
  font-weight: 400;
  border-radius: 0 30px 30px 0;
  padding: 0.5em;
  margin: 0.3em 0;
  width: 100%;
  text-decoration: none !important;
  display: inline-block;
}
header nav ul li a:hover {
  background-color: #DAF811;
  color: white;
  transition: all 0.2s ease-in;
}
header #hamburger {
  display: none;
  color: #1D6D5E;
}
article,
section {
  clear: both;
  overflow: hidden;
}
article .footnote,
section .footnote {
  line-height: 1.5em;
}
article.rubric,
section.rubric {
  padding: 0 20%;
  width: 55%;
  clear: both;
  margin-top: 2em;
}
article.rubric aside,
section.rubric aside {
  width: 18%;
  line-height: 0.8em;
}
article.rubric h1,
section.rubric h1 {
  padding-bottom: 0.2em;
  border-bottom: 2px solid #A5B4A1;
  line-height: 110%;
}
article.rubric h2,
section.rubric h2 {
  line-height: 110%;
}
article.rubric h2,
article.rubric h3,
section.rubric h2,
section.rubric h3 {
  margin-top: 1em;
}
article.rubric .massnahmen,
section.rubric .massnahmen {
  background-color: #F0F2EF;
  padding: 1em;
  border-radius: 30px 0 0 30px;
  background-color: #D2E2DF;
}
article.rubric .massnahmen p,
section.rubric .massnahmen p {
  font-weight: 400;
  color: #1D6D5E;
  line-height: 120%;
}
article.rubric .massnahmen figure img,
section.rubric .massnahmen figure img {
  width: 100px;
  height: auto;
}
article.rubric .massnahmen figure figcaption,
section.rubric .massnahmen figure figcaption {
  line-height: 100%;
  color: #77A79E;
}
article.rubric .massnahmen ul,
section.rubric .massnahmen ul {
  hyphens: auto;
}
article.rubric .infobox,
section.rubric .infobox {
  background-color: #1D6D5E;
  padding: 1em;
  border-radius: 30px;
  line-height: 210%;
  margin: 7em 0 4em 0;
}
article.rubric .infobox .pill,
section.rubric .infobox .pill {
  margin-top: -1.8em;
  line-height: 100%;
}
article.rubric .infobox p,
section.rubric .infobox p {
  color: white;
}
article.rubric .infobox p span,
section.rubric .infobox p span {
  color: #DAF811;
  font-weight: 800;
  font-size: 210%;
}
article.rubric .infobox .small,
section.rubric .infobox .small {
  font-size: 60%;
  color: white;
  text-align: right;
  line-height: 100%;
  margin-top: 3em;
  text-align: center;
}
article.rubric .parole,
section.rubric .parole {
  clear: both;
  color: #1D6D5E;
  background-color: rgba(29,109,94,0.3);
  border-radius: 30px;
  width: 35%;
  text-align: center;
  font-weight: 800;
  padding: 5% 20% 5% 20%;
  margin: 15%;
  height: fit-content;
}
article.rubric .parole.future,
section.rubric .parole.future {
  background-color: #1D6D5E;
  color: #DAF811;
}
article.rubric h2+img,
article.rubric h3+img,
section.rubric h2+img,
section.rubric h3+img {
  float: right;
  width: 20vw;
  max-width: 100%;
  height: auto;
  margin: 0 0 2vh 2vw;
}
article.rubric figure,
section.rubric figure {
  text-align: center;
  margin: 0;
}
article.rubric figure.cha,
section.rubric figure.cha {
  float: right;
}
article.rubric .galleryBlock,
section.rubric .galleryBlock {
  width: 100%;
  text-align: center;
  margin: 1% auto;
}
article.rubric .galleryBlock div,
section.rubric .galleryBlock div {
  margin: 0 auto;
}
article.rubric .galleryFlex,
section.rubric .galleryFlex {
  display: flex;
  gap: 2%;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
article.rubric .galleryFlex figure,
section.rubric .galleryFlex figure {
  width: 48%;
}
article.rubric .gallery3,
article.rubric .gallery3static,
section.rubric .gallery3,
section.rubric .gallery3static {
  display: grid;
  grid-template-rows: repeat(auto-fit,1fr);
  grid-template-columns: repeat(3,1fr);
  gap: 8px;
  margin-top: 3rem;
}
article.rubric .gallery3 figure,
article.rubric .gallery3static figure,
section.rubric .gallery3 figure,
section.rubric .gallery3static figure {
  height: auto;
  margin-bottom: 1em;
}
article.rubric .gallery3 figure img,
article.rubric .gallery3static figure img,
section.rubric .gallery3 figure img,
section.rubric .gallery3static figure img {
  max-width: 100%;
  max-height: 250px;
  height: auto;
}
article.rubric .gallery3 figure figcaption,
article.rubric .gallery3static figure figcaption,
section.rubric .gallery3 figure figcaption,
section.rubric .gallery3static figure figcaption {
  line-height: 130%;
  color: #77A79E;
  margin: 0.5rem 0 1rem 0;
}
article.rubric .gallery3 figure figcaption strong,
article.rubric .gallery3static figure figcaption strong,
section.rubric .gallery3 figure figcaption strong,
section.rubric .gallery3static figure figcaption strong {
  margin-bottom: 0.3em;
  display: inline-block;
}
article #topper,
section #topper {
  position: fixed;
  right: 3vw;
  bottom: 0;
  height: 50px;
  text-align: center;
  width: 5%;
  color: #1D6D5E;
  font-weight: 100;
}
article .divDetails,
section .divDetails {
  clear: both;
}
article .divDetails details summary::marker,
section .divDetails details summary::marker {
  content: "\f105";
  font-weight: 900;
  display: inline-block !important;
  width: 2em;
  font-family: 'Font Awesome 6 Free';
}
article .divDetails details[open] summary::marker,
section .divDetails details[open] summary::marker {
  content: "\f107";
}
article .divDetails h3,
section .divDetails h3 {
  margin-top: 0;
}
@media screen and (max-width: 950px) {
  body,
  html {
    width: 100%;
    padding: 0;
    margin: 0;
  }
  img {
    max-width: 100%;
  }
  header .pill.right {
    margin-top: 0;
    font-size: 100%;
  }
  header div#logo {
    min-height: 37vw;
  }
  header div .logo {
    position: absolute;
    left: 0;
    right: 0;
    width: 80%;
    margin: 0;
    padding: 10%;
    background-color: white;
  }
  header #hamburger {
    position: fixed;
    top: 1%;
    right: 3%;
    text-align: right;
    z-index: 200;
    cursor: pointer;
    display: block;
  }
  header nav {
    display: none;
    width: 100%;
    margin-top: 0;
    position: fixed;
    top: 40px;
    background-color: white;
  }
  section.rubric {
    padding: 0 3%;
    width: 94%;
  }
  section.rubric aside {
    clear: both;
    position: relative;
  }
  section.rubric .massnahmen {
    border-radius: 30px;
    width: 80%;
    margin: 0 auto;
  }
  section.rubric article {
    margin: 0;
    width: 100%;
    clear: both;
    margin-top: 1em;
  }
  section.rubric article h1,
  section.rubric article h2,
  section.rubric article h3,
  section.rubric article h4,
  section.rubric article h5,
  section.rubric article ul,
  section.rubric article p {
    clear: both;
  }
  section.rubric article h2+img,
  section.rubric article h3+img {
    width: 100%;
    clear: both;
    margin: 1rem 0;
  }
  section.rubric article .infobox p {
    line-height: 160%;
  }
  section.rubric article .infobox p span {
    font-size: 150%;
  }
  section.rubric article .parole {
    width: 90%;
    margin: 0;
    line-height: 120%;
    padding: 5%;
  }
  section.rubric article li {
    hyphens: auto;
  }
  section.rubric article figure.cha {
    clear: both;
    text-align: center;
    float: none;
  }
  section.rubric article figure img {
    margin: 0 auto;
  }
  section.rubric article .divDetails details summary h4 {
    hyphens: auto;
    width: auto;
    max-width: 85%;
  }
  section.rubric article .galleryFlex figure {
    width: 98%;
  }
  section.rubric article .gallery3 {
    grid-template-columns: 1fr;
    gap: 8px;
    margin: auto;
  }
  section.rubric article .gallery3 figure {
    height: auto;
    margin-bottom: 1em;
  }
  section.rubric article .gallery3 figure img {
    height: auto;
    width: 100%;
    max-height: max-content;
  }
  section #topper {
    display: none;
  }
}
@keyframes navAni {
  0% {
    background: linear-gradient(90deg,#1D6D5E 300%,#DAF811);
  }
  50% {
    background: linear-gradient(90deg,#1D6D5E 0%,#DAF811);
  }
  100% {
    background: linear-gradient(90deg,#1D6D5E 500%,#DAF811);
  }
}
video {
  width: 100%;
  height: auto;
  margin-bottom: 4em;
  border-radius: 30px;
}
.teaserImage img {
  width: 100%;
}
.teaserImage.small {
  width: 30%;
}
.attention {
  background-color: #1D6D5E;
}
footer {
  text-align: right;
  font-size: 14px;
  margin-top: 6em;
  padding-right: 2em;
}
#imgEnvironment {
  background-image: url(../images/548A7048.MP4_snapshot_00.08.750.jpg);
  background-size: cover;
  height: 350px;
  width: 100%;
  background-position-y: center;
  border-radius: 30px;
}
@media screen and (max-width: 950px) {
  #imgEnvironment {
    border-radius: 20px;
  }
}
#imgSocial {
  background-image: url(../images/Mischke_48A4403.jpg);
  background-size: cover;
  height: 350px;
  width: 100%;
  background-position-y: -30px;
  border-radius: 30px;
}
@media screen and (max-width: 950px) {
  #imgSocial {
    border-radius: 20px;
  }
}
#imgGovernance {
  background-image: url(../images/220810_fmo_Vossloh_24216.jpg);
  background-size: cover;
  height: 350px;
  width: 100%;
  background-position-y: center;
  border-radius: 30px;
}
@media screen and (max-width: 950px) {
  #imgGovernance {
    border-radius: 20px;
  }
}
