*,*:before,*:after {
  box-sizing:border-box;
}
:root {
  --gray-dark:#333;
  --gray:#666;
  --gray-light:#eee;
  --yellow:#fc3;
  --yellow-light:#fd3;
}
html,body {
  height:100%;
}
body {
  margin:0;
  padding:0;
  background:#fff;
}
body,table,input,textarea,button,select {
  font-family:'Roboto Slab',arial,sans-serif;
  font-weight: 300;
  font-size:1rem;
  line-height:1.5;
  color:#000;
}
h1,h2,h3,h4,h5,h6,p,ol,ul,dl,table,form,fieldset,object {
  margin:0 0 1.4rem 0;
}

article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary {
  display: block;
}
audio,canvas,video {
  display: inline-block;
  *display: inline;
  *zoom: 1;
}

h1,.h1 {
  font-size:2.8125rem;
  line-height:1.4;
  font-weight:300;
}
h2,.h2 {
  font-size:1.875rem;
  line-height:1.4;
  font-weight:300;
  margin-bottom:.5rem;
}
h3,.h3 {
  font-size:1.25rem;
  line-height:1.4;
  font-weight:300;
}
h4,.h4,
h5,.h5,
h6,.h6 {
  font-size:1rem;
  line-height:1.4;
  font-weight:700;
  margin:0;
}
@media only screen and (max-width : 580px) {
  h1 {
    font-size:2rem;
  }
  h2 {
    font-size:1.5rem;
  }
}

a:link {
  text-decoration:underline;
  color:var(--gray);
}
a:visited {
  color:var(--gray);
}
a:hover {
  text-decoration:none;
}
a:active {}

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;
}

ul {
  padding:0;
  margin-left:0;
  list-style: square;
}
ul li {
  margin-left:1.3em;
  padding:0;
}

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;
}

.highlight {
  padding:1rem;
  background:#eee;
}

/* clearfix
********************************/
.clearfix:before,
.clearfix:after {
  content: "";
  display: table;
}
.clearfix:after {
  clear: both;
}
.clearfix {
  zoom: 1; /* ie 6/7 */
}

/* Grid
 * *****************************/
.wrapper {
  max-width:1500px;
  margin:0 auto;
}

/* Seitenelemente (Master)
********************************/
.site-header {
  box-shadow: 0 3px 7px 0 rgba(0,0,0,.12);
}
.site-header img {
  max-height:3.125rem;
  max-height:1.5rem;
  width:auto;
}
.site-header .header-row {
  display:flex;
  flex-wrap: wrap;
  padding-top:1rem;
  padding-bottom:1rem;
  align-items: center;
}
.site-logo {}
.site-brands {
  margin:0 auto;
}
.site-brands img:not(:last-child) {
  margin-right:25px;
}

.nv-tools button {
  border:0;
  background:transparent;
  margin:_0 0 0 auto;
  padding:.5rem;
  line-height:1;
}
.nv-tools button:hover {
  background:transparent;
}
.site-nv {
  margin:0 auto;
  padding:1rem 0 0 0;
  display:none;
}
.site-nv ul {
  margin:0;
  padding:0;
  list-style: none;
}
.site-nv li {
  margin:0;
  padding:0;
}
.site-nv a {
  display:block;
  color:#000;
  text-decoration: none;
}
.site-nv li.a1 > a,
.site-nv li.s1 > a {
  font-weight:700;
}

@media only screen and (max-width : 767px) {
  .site-nv {
    flex:0 0 100%;
    text-align: center;
  }
  .site-nv li {
    border-top:solid var(--gray-light) 1px;
  }
  .site-nv a {
    padding:1rem .75rem;
  }
}

@media only screen and (min-width : 768px) {
  .site-header .header-row {
    padding-top:2.5rem;
  }
  .site-header img {
    max-height:3.125rem;
  }
  .site-brands {
    margin:0 0 0 auto;
  }
  .nv-tools {
    display:none;
  }
  .site-nv {
    display:block !important;
    margin-left:auto;
  }
  .site-nv ul {
    display:flex;
    margin:0 -1rem;
  }
  .site-nv li {
    padding:0 1rem;
  }
}
@media only screen and (min-width : 1200px) {
  .site-nv {
    margin:0 0 0 auto;
  }
}


.site-footer a {
  color:#ccc;
  text-decoration:none;
}
.site-footer a:hover {
   text-decoration:underline;
}
.site-footer .footer-top {
  background:var(--gray-dark);
  color:#fff;
  padding-top:3.5rem;
  padding-bottom:3.5rem;
}
.site-footer .footer-bottom {
  background:#000;
  color:#fff;
  padding-top:.9375rem;
  padding-bottom:.9375rem;
  font-size:.875rem;
}
.site-footer .footer-meta a {
  margin:0 1rem 0 0;
}
@media only screen and (min-width : 768px) {
  .site-footer .footer-meta {
    text-align: right;
  }
  .site-footer .footer-meta a {
    margin:0 0 0 1rem;
  }
}