*,*:before,*:after {
  box-sizing:border-box;
}
:root {
  --petrol:#587483;
  --petrol-dark:#3e515c;
  --petrol-op50:#5874837f;
  --gray:#969899;
  --gray-light:#eef1f2;
}
html,body {
  min-height:100vh;
}
body {
  margin:0;
  padding:0;
  background:#fff;
  display:flex;
  flex-direction: column;
}
body,table,input,textarea,button,select {
  font-family:'Merriweather',arial,sans-serif;
  font-size:1.125rem;
  line-height:1.5555;
  color:var(--petrol);
}
h1,h2,h3,h4,h5,h6,p,ol,ul,dl,table,form,fieldset,object {
  margin:0 0 1.3rem 0;
}

article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary {
  display: block;
}
h1,.h1 {
  font-size:1.625em;
  font-weight:700;
}
h2,.h2 {
  font-size:1.5em;
  font-weight:700;
}
h3,.h3 {
  font-size:1.25em;
  font-weight:700;
  margin-bottom:.25rem;
}
h4,.h4,
h5,.h5,
h6,.h6 {
  font-size:1em;
  font-weight:700;
  margin:0;
}
a:link {
  text-decoration:none;
  color:var(--petrol);
}
a:visited {
  color:var(--petrol);
}
a:hover {
  text-decoration:underline;
}
a:active {}

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

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

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;
}
ul {
  padding-left:1.3em;
}
ul li {
  
}

.highlight {
  padding:1rem;
  background:var(--petrol);
  color:#fff;
}


/* Grid
********************************/
.container {
  padding:0 1rem;
  margin:0 auto;
}
.row {
  display:flex;
  flex-wrap: wrap;
  margin-left:-1rem;
  margin-right:-1rem;
}
.col {
  padding-left:1rem;
  padding-right:1rem;
}
.no-gutters {
  margin-left:0;
  margin-right:0;
}
.no-gutters > .col {
  padding-left:0;
  padding-right:0;
}
@media only screen and (min-width : 768px) {
  .container {
    width:740px;
  }
}
@media only screen and (min-width : 992px) {
  .container {
    width:940px;
  }
}
@media only screen and (min-width : 1200px) {
  .container {
    width:1140px;
  }
}


/* Seitenelemente (Master)
********************************/
.site-header {
  padding:1.5rem 0;
  position:sticky;
  top:0;
  z-index:1080;
  background:#fff;
  box-shadow:0 .25rem 1rem rgba(0,0,0,.25);
}
.site-header .row {
  justify-content: space-between;
  align-items: center;
}
.site-logo {
  flex:0 1 auto;
  width:auto;
}
.site-logo img {
  display:block;
  width:6rem;
  height:auto;
}
.site-nv-toggle button {
  padding:.5rem;
  background:transparent;
  border-color:transparent;
}
.site-nv-toggle button:hover {
  background:transparent;
  border-color:transparent;
}
.site-nv-toggle {
    flex: 0 1 auto;
    width: auto;
}
.site-nv-toggle svg {
  display:block;
}

.site-nv {
  flex:0 0 100%;
  max-width:100%;
  text-transform: uppercase;
}
.site-nv ul {
  margin:0;
  padding:0;
  list-style: none;
}
.site-nv li {
  margin:0;
  padding:0;  
}
.site-nv a {
  display:block;
}
.site-nv ul ul {
  text-transform: none;
}
.site-nv ul ul ul {
  display:none;
}

.site-nv li.a1 > a,
.site-nv li.s1 > a {
  font-weight:700;
}

@media only screen and (max-width : 767px) {
  .site-nv {
    display:none;
  }
  .site-nv > ul {
    padding:1rem 0;
  }
  .site-nv li:not(:last-child) {
    border-bottom:solid var(--gray-light) 1px;
  }
  .site-nv a {
    display:block;
    padding:.5rem 0;
    text-align: center;
  }
}

@media only screen and (min-width : 768px) {
  .site-header .row {
    align-items: flex-end;
  }
  .site-nv-toggle {
    display:none;
  }
  .site-nv {
    display:block !important;
    flex:0 1 auto;
    width:auto;
  }
  .site-nv ul {
    display:flex;
    flex-wrap: nowrap;
  }
  .site-nv li {
    margin-left:1.5rem;
    position: relative;
  }
  .site-nv a {
    padding:0;
  }
  .site-nv ul ul {
    display:none;
    position: absolute;
    left:-1rem;
    top:100%;
    background:#fff;
    padding:.5rem 0;
    box-shadow:0 .75rem .5rem rgba(0,0,0,.5);
  }
  .site-nv ul ul li {
    margin:0;
  }
  .site-nv ul ul a {
    padding:.25rem 1rem;
  }
  .site-nv ul ul ul {
    display:none !important;
  }
  .site-nv li:hover > ul {
    display:block;
  }


}

.site-main {
  flex:1 0 auto;
}

.site-footer {
  flex-shrink: 0;
}
.site-footer-top {
  background: #fff;
  padding-top:3rem;
  padding-bottom:3rem;
}
.site-footer-top .row {
  justify-content: space-around;
}
.site-footer-bottom {
  padding:1rem 0;
  background:var(--petrol);
  color:#fff;
  text-align:right;
}
.site-footer-bottom a {
  color:#fff;
}