/* ------------------------
  Fonts */
/* ibm-plex-sans-300 - latin */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 300;
  src: local('IBM Plex Sans Light'), local('IBMPlexSans-Light'),
       url('../fonts/ibm-plex-sans-v3-latin-300.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('../fonts/ibm-plex-sans-v3-latin-300.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* ibm-plex-sans-300italic - latin */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: italic;
  font-weight: 300;
  src: local('IBM Plex Sans Light Italic'), local('IBMPlexSans-LightItalic'),
       url('../fonts/ibm-plex-sans-v3-latin-300italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('../fonts/ibm-plex-sans-v3-latin-300italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* ibm-plex-sans-regular - latin */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 400;
  src: local('IBM Plex Sans'), local('IBMPlexSans'),
       url('../fonts/ibm-plex-sans-v3-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('../fonts/ibm-plex-sans-v3-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* ibm-plex-sans-italic - latin */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: italic;
  font-weight: 400;
  src: local('IBM Plex Sans Italic'), local('IBMPlexSans-Italic'),
       url('../fonts/ibm-plex-sans-v3-latin-italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('../fonts/ibm-plex-sans-v3-latin-italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* ibm-plex-sans-600 - latin */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 600;
  src: local('IBM Plex Sans SemiBold'), local('IBMPlexSans-SemiBold'),
       url('../fonts/ibm-plex-sans-v3-latin-600.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('../fonts/ibm-plex-sans-v3-latin-600.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* ibm-plex-sans-600italic - latin */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: italic;
  font-weight: 600;
  src: local('IBM Plex Sans SemiBold Italic'), local('IBMPlexSans-SemiBoldItalic'),
       url('../fonts/ibm-plex-sans-v3-latin-600italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('../fonts/ibm-plex-sans-v3-latin-600italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
------------------------ */

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0;
  padding: 0; }

*, *::before, *::after {
  box-sizing: inherit; }


html {
    overflow-x: hidden;
    overflow-y: scroll;
    text-rendering: optimizeLegibility;
    -webkit-text-size-adjust: 100%;
        -moz-text-size-adjust: 100%;
        -ms-text-size-adjust: 100%;
        text-size-adjust: 100%;
    font-size: 16px;
/*     height: 100%; */
    margin: 0;
    padding: 0; }

body {
    font-family: 'IBM Plex Sans', Helvetica, Arial, sans-serif;
    font-size: 1rem;
    font-weight: 300;
    line-height: 1.5;
    text-rendering: optimizeLegibility;
    margin: 0;
    padding: 0; }

/* sticky footer */

.site {
  display: flex;
  min-height: 100vh;
  flex-direction: column; }

.site-content {
  flex: 1; }

/* end sticky footer */

article > :first-child, .box > :first-child {
  margin-top: 0; } /* Remove top-margin from first element in block so that it can align with other parts of the page */

header {
    background-color: #fff;
    position: relative;
    border-bottom: 1px solid #000;
    margin-bottom: 4em; }

header .inside {
    max-width: 75em;
    margin: 1.5em auto 0 auto; }

header .logo {
    font-weight: bold;
    float: left;
    padding-bottom: .5em; }

.site-content {
    max-width: 75em;
    margin: 0 auto 0 auto;  }


/* navigation */

div.menubutton {
    display: none; } /* Hamburger Menu ausblenden */

header nav {
    position: relative;
    float: right;
    padding-top: 1em; }

header nav ul, footer nav ul {
  padding-left: 0;
  font-size: .875rem;
  font-weight: 400; }

header nav ul li, footer nav ul li {
  float: left;
  list-style: none; }

header nav ul li {
  margin-right: 25px; }

header nav ul li:last-child {
    margin-right: 0; }

footer nav ul li {
  margin-right: 25px; }

header nav a, footer nav a {
  text-decoration: none; }

header nav a, footer nav a {
      color: #000; }

header nav a:hover, header nav ul li.is-active a {
  color: #fc0000; }

footer nav a:hover, footer nav ul li a.is-active {
  color: #fc0000; }

footer {
    background-color: rgb(230, 230, 230);
    height: 6em;
    margin-top: 5em; }

footer .inside {
  max-width: 75em;
  margin: 0 auto 0 auto; }

figure {
    margin-bottom: 2em; }

figure.image a, figure.image a:hover {
    border-bottom: none; }

.site-content .intro {
    font-weight: 600; }

.site-content .info {
   margin-top: 3em; }

.site-content .info p {
   font-size: 0.9em; }

/* ende navigation */

img, video {
  width: 100%;
  height: auto; }

.responsive-video iframe, .responsive-video-wide iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

.responsive-video {
    position: relative;
    padding-bottom: 75%; /* Default for videos 4:3 ratio, (3 / 4 (x 100) =75%) */
    padding-top: 0px;
    height: 0;
    overflow: hidden; }

.responsive-video-wide {
    position: relative;
    padding-bottom: 56.25%; /* Default for videos 16:9 ratio, (9 / 16 (x 100) =56.25%) */
    padding-top: 0px;
    height: 0;
    overflow: hidden; }



/* typografie */

h1, h2, h3 {
    margin: 0; }

h1 {
    font-size: 3rem;
    font-weight: 300;
    line-height: 1.2;
    margin-bottom: 4rem; }

h2 {
    font-size: 1.5rem;
    font-weight: 300;
    margin-top: 1.5em; }

h3 {
    font-size: 1rem;
    font-weight: 600; }

.logo h1 {
    margin-bottom: 0;
    text-align: left;
    font-weight: 600; }

.logo a {
    color: #000;
    text-decoration: none; }

.site-content ul {
   display: block;
   list-style-type: square;    // bei ul
   margin-top: 1em;
   margin-bottom: 1em;
   margin-left: 0;
   margin-right: 0;
   padding-left: 1em; }

.site-content ul li {
    margin-bottom: 0.5em; }

.kursiv {
    font-style: italic; }

.site-content a {
    text-decoration: none;
    color: #000000;
    border-bottom: 1px dotted #fc0000; }

.site-content a:hover {
    color: #fc0000;
    border-bottom: 1px dotted #fc0000; }

hr {
    color: #fc0000;
    background-color: #fc0000;
    height: 1px;
    margin-top: 3em;
    margin-bottom: 3em; }

/* ------------------------
Slideshow */

.slider {
    position: relative; }

button {
    font: inherit;
    font-size: 1.2rem; }

.w3-display-right {
    position: absolute;
    top: 50%;
    right: -50px;
    transform: translate(0%,-50%);
    -ms-transform: translate(0%,-50%); }

.w3-display-left {
    position: absolute;
    top: 50%;
    left: -50px;
    transform: translate(0%,-50%);
    -ms-transform: translate(-0%,-50%); }

.w3-btn, .w3-button {
    border: none;
    display: inline-block;
    padding: 6px 12px;
    vertical-align: middle;
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    background-color: #fff;
    text-align: center;
    cursor: pointer;
    white-space: nowrap;
    outline: none; }

.col-sm-6 .w3-display-right {
  right: 0; }

.col-sm-6 .w3-display-left {
  left: 0; }

.col-sm-6 .w3-btn, .w3-button {
  padding: 3px 5px;
}


/* ------------------------
Media Queries */

@media only screen and (max-width: 77em) {

    header .inside, .site-content, footer .inside {
        margin: 0 1em 0 1em; }

.w3-display-right {
    right: 0; }

.w3-display-left {
    left: 0; }

.w3-btn, .w3-button {
    padding: 3px 5px;
  }

}


@media only screen and (max-width: 767px) {


div.menubutton { /* Menübutton positionieren */
    display: block;
    position: absolute;
    right: 1rem;
    top: 1.5rem;
    z-index: 100; }

div.menubutton img {
    width: 30px; }

div.menubutton a.hidemenu {
    display: none; }

header {
    margin-bottom: 0;
}

header .inside {
    margin: 1em 0 0 0;}

header .logo {
    float: none;
    margin-left: 1em;}

header nav {
    float: none;
    padding-bottom: 0;
    padding-top: 0;
    background-color: rgb(230, 230, 230); }

header nav ul {
    transition: 0.25s;
    overflow: hidden;
    max-height: 0;
    margin: 0;
    padding: 0;
    font-size: 1.5rem;
    line-height: 2; }

.hero {
    margin-top: 2em;
}

#hamburger:target header nav ul { /* Navigationleiste einblenden */
    max-height: 27em; }

#hamburger:target a.showmenu {
    display: none; }

#hamburger:target a.hidemenu {
    display: block; }

header nav ul li {
  float: none;
  width: 100%;
  margin-right: 0;
  text-align: center;
  border-top: 1px solid #000;  }

/*
header nav ul li:first-child {
  border-top: 1px solid #000;  }
*/

header nav ul li a img {
    margin: -5px; }

h1 {
    font-size: 2.5em;
    margin-bottom: 2rem; }

.box {
    margin-bottom: 3em; }

button { /* Button auf Bilderseite */
    font-size: 1rem;
}

}

@media only screen and (max-width: 600px) {

body {
-webkit-hyphens: auto;
-ms-hyphens: auto;
hyphens: auto; }

}

@media only screen and (max-width: 400px) {

body {
    font-size: 0.9rem;
    line-height: 1.4; }

h1 {
    font-size: 1.7rem;
    margin-bottom: 1.2em; }

/*
header .inside {
    margin-bottom: 2em;}
*/

header .logo h1 {
    font-size: 2rem; }

/*
div.menubutton {
    top: 0.5rem; }
*/

div.menubutton img {
    width: 22px; }

header nav ul {
    font-size: 1.2rem;
    line-height: 2.3; }


}

