@font-face {
  font-family: Roboto;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/roboto-latin-400-normal.woff2") format("woff2");
}
@font-face {
  font-family: Lato;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/lato-latin-700-normal.woff2") format("woff2");
}
body {
  margin: 0;
  color: rgb(50, 50, 50);
  font-family: "Roboto", sans-serif;
  /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#152f6b+0,1f57c6+51,3c6cc4+54,2e9178+100 */
  background: #152f6b; /* Old browsers */
  background: linear-gradient(135deg, #152f6b 0%, #1f57c6 51%, #3c6cc4 54%, #2e9178 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  background-attachment: fixed;
}

a, a:active, a:visited {
  color: #0DB111;
  text-decoration: none;
}

a:active, a:hover {
  color: #9FEB8E;
}

nav, footer {
  display: inline-block;
}

footer {
  display: block;
}

#header {
  width: 100%;
  background: white;
  position: fixed;
  top: 0px;
  z-index: 1;
  border-top: 1px solid #cccccc;
  border-bottom: 1px solid #cccccc;
  box-shadow: 0px 0px 3px 0px rgb(133, 133, 133);
}

#main_container {
  position: relative;
  width: 100vw;
  background: white;
}
#main_container #content {
  width: 90%;
  padding-top: 30px;
  padding-bottom: 30px;
  padding-left: 5%;
}
#main_container #content p {
  white-space: pre-wrap;
}
#main_container #content p, #main_container #content ul, #main_container #content pre {
  margin: 0 0 1em;
}
#main_container #content ul li {
  line-height: 1.4em;
  margin-bottom: 0.3em;
}
#main_container #content h2 {
  font-size: 31px;
  color: #222222;
  margin-top: 0;
}
#main_container #content h3 {
  font-size: 20px;
  margin: 1.5em 0 0.5em;
}
#main_container #content b, #main_container #content strong {
  font-weight: bold;
}
#main_container #content p {
  line-height: 1.4em;
}
#main_container #content hr {
  margin: 1em 0 2em;
}
#main_container #content code {
  font-family: monospace;
  font-size: 12px;
}

#spacer {
  position: relative;
  margin-top: 90px;
  height: 20vw;
  min-height: 130px;
}
#spacer #logo {
  position: absolute;
  bottom: 0;
  left: 5%;
}
#spacer #logo span {
  font-size: 15vw;
  line-height: 15vw;
  margin: auto;
  font-family: Lato, Verdana, sans-serif;
  text-shadow: 1px 2px 8px #0F2893;
}
#spacer #logo .logo-sub {
  color: white;
  font-size: 14vw;
}
#spacer #logo .logo-site {
  color: #0DB111;
}

#lang_menu {
  position: absolute;
  top: 5px;
  right: 20px;
}
#lang_menu a {
  text-decoration: none;
  font-size: 13px;
  padding-left: 5px;
  color: #0DB111;
  white-space: nowrap;
}

#hamburger {
  display: none;
}

#menu-toggle:checked ~ ul {
  display: block;
}

nav.navi ul, nav.navi-sub ul {
  list-style-type: none;
  margin: 0;
}
nav.navi ul li, nav.navi-sub ul li {
  display: inline;
}
nav.navi ul li a:hover, nav.navi ul li a.is-active, nav.navi-sub ul li a:hover, nav.navi-sub ul li a.is-active {
  color: black !important;
}

nav.navi-sub {
  padding-top: 25px;
  padding-bottom: 25px;
  padding-left: 5%;
}
nav.navi-sub ul {
  padding-left: 0;
}
nav.navi-sub ul li {
  display: inline;
  padding-right: 20px;
  line-height: 25px;
}
nav.navi-sub ul li a, nav.navi-sub ul li a:visited, nav.navi-sub ul li a:active {
  font-size: 20px;
  line-height: 25px;
  color: #5f5f5f;
  text-decoration: none;
  white-space: nowrap;
}

span.viewport-mobile {
  display: none;
}

span.viewport-desktop {
  display: inline;
}

@media screen and (max-width: 680px) {
  span.viewport-desktop {
    display: none;
  }
  span.viewport-mobile {
    display: inline;
  }
  #hamburger {
    display: block;
    cursor: pointer;
  }
  #hamburger > div {
    float: left;
  }
  #hamburger .hamburger-icon {
    font-size: 35px;
  }
  #hamburger .hamburger-text {
    line-height: 43px;
    padding-left: 10px;
  }
  #spacer {
    position: relative;
    height: 100px;
    margin-top: 30px;
  }
  #spacer #logo span {
    line-height: 55px;
  }
  #spacer #logo .logo-sub {
    font-size: 50px;
  }
  #spacer #logo .logo-site {
    font-size: 55px;
  }
  nav.navi-sub, nav.navi {
    padding-top: 5px;
    padding-bottom: 5px;
  }
  nav.navi ul li a {
    font-size: 16px !important;
    line-height: 33px;
  }
  nav.navi-sub ul {
    display: none;
    width: 50vw;
    padding-bottom: 10px;
  }
  nav.navi-sub ul li {
    display: block;
    padding-top: 5px;
    border-top: 1px solid silver;
  }
}
footer {
  font-size: 0.8em;
  padding-bottom: 10px;
}
footer > div {
  color: white;
  padding: 30px;
  font-size: 1.2em;
}
