/* --- 1600px --------------------------------------------- */
@media only screen and (max-width: 1600px) and (min-height: 340px) {
  #nav li.lvl1 {
    margin: 0px 8px;
  }
  #logo {
    width: 410px;
  }
}
/* --- 1400px --------------------------------------------- */
@media only screen and (max-width: 1400px) and (min-height: 340px) {
  #nav li.lvl1:first-Child {
    display: none;
  }
}
/* --- 1280px --------------------------------------------- */
@media only screen and (max-width: 1280px) and (min-height: 340px) {
  #mainmenu {
    right: 50px;
    top: 80px;
  }
  #logo {
    width: 350px;
  }
  #sidelinks, .scrolled #sidelinks {
    top: 160px;
  }
  #sidelinks .container {
    background-color: rgba(255, 255, 255, 0.2);
  }
  #footer .flexcontainer {
    flex-wrap: wrap;
  }
  #footer .flexcontainer > * {
    width: 45%;
    text-align: center;
  }
  #footer .flexcontainer table {
    margin: auto;
  }
}
/* -- iPad --------------------------------------------- */
@media only screen and (max-width: 1180px) and (min-height: 340px) {
  #mainmenu {
    display: none;
  }
  #mobilmenu_trigger {
    display: block;
  }
  #mobilemenu_container {
    display: flex;
  }
  .section.textbox_3grid .flexcontainer {
    flex-wrap: wrap;
  }
  .section.textbox_3grid .flexcontainer > * {
    width: 100%;
  }
  .section.textbox_3grid .imagebox {
    height: 280px;
  }
}
/* --- 980px --------------------------------------------- */
/* --- widescreen laptop? --------------------------------------------- */
@media only screen and (max-height: 660px) and (orientation: landscape) {
  h1, .h1, h2, .h2 {
    font-size: 35px;
  }
}
/* --- 768px --------------------------------------------- */
@media only screen and (max-width: 767px) {
  #sidelinks, .scrolled #sidelinks {
    right: 12px;
    top: 93vh;
    width: auto;
  }
  #sidelinks .container {
    padding: 0px 10px;
    background-color: rgba(255, 255, 255, 0.2);
    flex-wrap: nowrap;
    flex-direction: row;
    justify-content: space-between;
    width: 120px;
    margin: auto;
  }
  #sidelinks .container.last {
    display: none;
  }
  #footer .flexcontainer > * {
    text-align: center;
    width: 100%;
  }
  .section.textbox_3grid .flexcontainer {
    flex-wrap: wrap;
  }
  .section.textbox_3grid .flexcontainer > * {
    width: 100%;
  }
  .section.textbox_3grid .imagebox {
    height: 280px;
  }
}
/* --- 580px --------------------------------------------- */
@media only screen and (max-width: 584px) {
  body {
    font-size: 16px;
  }
  h1, .h1, h2, .h2 {
    font-size: 28px;
  }
  h3, .h3 {
    font-size: 20px;
  }
  .flexcontainer {
    flex-wrap: wrap;
  }
  .flexcontainer > * {
    width: 100% !important;
  }
  #keyvisual {
    height: 50vh;
  }
  .frontpage #keyvisual {
    height: 80vh;
  }
  #keyvisual_text {
    bottom: 20px;
  }
  #logo {
    left: 2vw;
    max-width: 200px;
  }
  #logo img.logo_icon {
    display: none;
  }
  #cookiehint {
    padding: 20px;
  }
  #cookiehint .button {
    display: block;
    width: 100%;
    margin-bottom: 10px;
    box-sizing: border-box;
    text-align: center;
  }
  #cookiehint .button:last-Child {
    margin-bottom: 0px;
  }
  .section {
    padding: 40px 0px;
  }
  .section.text_and_box .box {
    margin-top: 40px;
  }
  .section.violet.text_and_box .box, .section.yellow.text_and_box .box {
    margin-bottom: 40px;
  }
  #secondary {
    display: none;
  }
}
/* --- 480px --------------------------------------------- */
/* --- 380px --------------------------------------------- */
@media only screen and (max-width: 380px) and (orientation: portrait) {
  body {
    font-size: 15px;
  }
  h1, .h1, h2, .h2 {
    font-size: 22px;
  }
  #nav_mobile li ul li a {
    font-size: 16px;
  }
}
/* mobile LANDSCAPE ---------------------------------------------*/
