*,*:before,*:after {
  box-sizing:border-box;
}
:root {
  --yellow: #FBBA00;
  --yellow-light: #FFF1D7;
  --blue: #00376A;
  --blue-light: hsl(209, 100%, 42%);
  --orange: #EC660A;
  --cyan: #009DD0;
  --gray-lighter: #eee;
  --gray-light: #c5c5c5;
  --gray: #858585;
  --gray-dark: #484848;

  --yellow-grad: linear-gradient(135deg, #EAB813, #D88518);

  --bs-gutter-x: 1rem;

  font-size:16px;
}
@media only screen and (min-width : 992px) {
  :root {
    font-size:20px;
  }
}
@media only screen and (min-width : 1200px) {
  :root {
    font-size:24px;
  }
}
body {
  margin:0;
  padding:0;
  background:#fff;
  scroll-behavior: smooth;
  max-width:100%;
}
body,table,input,textarea,button,select {
  font-family:'Questrial',arial,sans-serif;
  font-size:1rem;
  line-height:1.6666;
  font-weight:400;
  color:#000;
}
h1,h2,h3,h4,h5,h6,p,ol,ul,dl,table,form,fieldset,object {
  margin:0 0 1.6666rem 0;
}

article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary {
  display: block;
}

h1,.h1 {
  font-size:1.1666rem;
  line-height:1.3571;
  font-weight:800;
  text-transform:uppercase;
  color: #000;
}
h2,.h2 {
  font-size:1.6666rem;
  line-height:1.3em;
  font-weight:600;
  text-transform:uppercase;
  margin-bottom:.5rem;
  color: #000;
}
h3,.h3 {
  font-size:1rem;
  font-weight:600;
  margin:0;
  color: #000;
}
h4,.h4,
h5,.h5,
h6,.h6 {
  font-size:1rem;
  line-height:1.3em;
  font-weight:bold;
  margin:0;
}
a:link {
  text-decoration:none;
  color:var(--blue);
}
a:visited {
  color:var(--blue);
}
a:hover {
  text-decoration:underline;
}

ul {
  padding-left: 1rem;
  list-style: square;
}

hr {
  border: none;
  border-top:solid #fff 2px;
  margin:1.5rem 0;
  opacity: 1;
}

img {
  border:0;
  max-width:100%;
  height:auto;
}

table {
  border-spacing:1px;
}
table th,
table td {
  padding:.3em 1em .3em .3em;
  text-align:left;
  vertical-align:top;
  background:#fff;
}
table th {
  font-weight:600;
  vertical-align:bottom;
  background:#f5f4f2;
}

figure {
  margin:0 0 1.3em 0;
  padding:0;
}
figure img {
  display:block;
}
figure figcaption {
  background:#fff;
  margin:0;
  padding:.5em;
  font-style:italic;
  font-size:.8em;
}
figure figcaption:empty {
  display:none;
}

.video-container {
  position: relative;
	padding-bottom: 56.25%; /* 16:9 */
  /*padding-bottom: 42.86%;*/
  height:0;
}
.video-container video,
.video-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
video {
  display: block;
  width:100%;
  max-width:100%;
  height:auto;
}

.sep {
  margin-left:1rem;
  margin-right:1rem;
}

ol {
  list-style: none;
  counter-reset: steps;
  color:#fff;
  margin-left: 0;
  padding:0;
}
ol li {
  position: relative;
  padding-left:3rem;
  margin:0 0 1rem 0;
}
ol li::before {
  counter-increment: steps;
  content: counter(steps);
  display:block;
  width:2rem;
  height:2rem;
  text-align: center;
  line-height:2rem;
  border-radius: 100%;
  background:var(--orange);
  color:#fff;
  font-weight: 800;
  position: absolute;
  left:0;
  top:-.1666rem;
  z-index:2;
}
ol li:not(:last-child)::after {
  content:'';
  display:block;
  width:0;
  border-left:dotted var(--blue) 2px;
  position: absolute;
  left:calc(1rem - 1px);
  top:0;
  bottom:-1rem;
  z-index:1;
}

/* Bootstrap
********************************/


/* Seitenelemente (Master)
********************************/
.site-header-main {
  background-color: var(--yellow);
  padding-block: var(--bs-gutter-x);
}
.site-header-main .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--bs-gutter-x);
}
.site-header-logo {
  display:block;
}
.site-header-logo img {
  display:block;
  width:17rem;
  height:auto;
}
.site-nv-toggle {
  border:0;
  padding:0;
  background:transparent;
  min-width: 0;
  width:1.6666rem;
  height:1.6666rem;
}
.site-nv-toggle:hover {
  background:transparent;
}
.site-nv-toggle svg {
  display:block;
  width:1.6666rem;
  height:1.6666rem;
}
.site-nv-toggle rect {
  fill: #fff;
}
.site-nv {
  background:var(--blue);
  padding:2rem;
  padding-top:4rem;
  text-transform: uppercase;
  font-weight:300;
  font-size:1.5rem;
  line-height: 1.4;
  position: fixed;
  z-index:20;
  top:0;
  right:0;
  min-height:100vh;
  width:22.5rem;
  max-width:100vw;
  transform:translate(100%, 0);
  transition: transform .2s cubic-bezier(1, 0, 0, 1);
}
.site-nv[aria-expanded=true] {
  transform: none;
}
.site-nv-close {
  border:0;
  padding:0;
  background:transparent;
  margin-bottom: 1.5rem;
  position: absolute;
  left:2rem;
  top:2rem;
}
.site-nv-close svg {
  display:block;
  width:1.0833rem;
  height:1.0833rem;
}
.site-nv-close path {
  stroke: #fff;
}
.site-nv ul {
  margin:0 0 1.5rem 0;
  padding:0;
  list-style: none;
}
.site-nv li {
  margin:0;
  padding:.5rem 0;
  list-style: none;
  border-bottom:solid #fff 1px;
}
.site-nv a {
  display:block;
  color:#fff;
}
.site-nv a:hover {
  text-decoration: none;
}

.site-nv ul ul {
  margin:0;
  padding:0;
}
.site-nv ul ul li {
  border:0;
  padding:0;
}
.site-nv ul ul a {
  font-size:1rem;
  font-weight:400;
  color:var(--yellow);
  padding:0;
  padding-left:1.7rem;
}
.site-nv-meta li {
  border:0;
  padding:0;
}
.site-nv-meta a {
  font-weight:300;
  font-size:1rem;
  color:var(--yellow);
  padding:0;
}

.site-header-banner {
  background-image: url(/assets/images/banner-general.jpg);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: auto 100%;
  height: 85.7vw;
}
@media only screen and (min-width : 576px) {
  .site-header-banner {
    height: 21.91rem;
  }
}
@media only screen and (min-width : 768px) {
  .site-header-banner {
    height: 29.21rem;
  }
}
@media only screen and (min-width : 992px) {
  .site-header-banner {
    height: 31.16rem;
  }
}
@media only screen and (min-width : 1200px) {
  .site-header-banner {
    height: 30.83rem;
  }
}
@media only screen and (min-width : 1400px) {
  .site-header-banner {
    height: 35.7rem;
  }
}

.site-footer {
  background-color: #fff;
  text-align:center;
  /*margin-top:5rem;*/
}
.site-footer .container {
  position: relative;
}
.site-footer-sponsors {
  padding-top: 2.5rem;
  font-size:.6666rem;
  padding-bottom:2rem;
}
.site-footer-sponsors .sponsor-logos {
  margin:0;
  padding:0;
  list-style: none;
  display:flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
.site-footer-sponsors .sponsor-logos li {
  margin:1rem 3rem;
  padding:0;
}
.site-footer-sponsors .sponsor-logos a {
  display:block;
}
.site-footer-sponsors .sponsor-logos img {
  display:block;
}
.site-footer-meta {
  font-size:.8333rem;
  border-top:solid var(--blue) 1px;
  padding-top:2rem;
  padding-bottom: 7rem;
}
.site-footer-meta a {
  text-transform: uppercase;
}

.site-toplink {
  display:block;
  background-color: var(--cyan);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3E%3Cpath d='M-0,15l2.727,2.727l10.325,-10.327l-0,22.6l3.9,-0l-0,-22.6l10.321,10.327l2.727,-2.727l-15,-15l-15,15Z' fill='%23fff'/%3E%3C/svg%3E");
  background-position: 50% 50%;
  background-repeat: no-repeat;
  width:3.3333rem;
  height:3.3333rem;

  position: absolute;
  top:-1.6666rem;
  right:1rem;
}