@charset "UTF-8";
@font-face {
  font-family: "Helvetica Neue Regular";
  src: url("../fonts/helveticaneueltstd-roman-webfont.woff2") format("woff2"), url("../fonts/helveticaneueltstd-roman-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Helvetica Neue Bold";
  src: url("../fonts/helveticaneueltstd-bd-webfont.woff2") format("woff2"), url("../fonts/helveticaneueltstd-bd-webfont.woff") format("woff");
  font-weight: 550;
  font-style: normal;
}
@font-face {
  font-family: "Roboto-Regular";
  src: url("../fonts/Roboto-Regular.ttf") format("truetype"), url("../fonts/Roboto-Regular.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Roboto Bold";
  src: url("../fonts/Roboto-Bold.ttf") format("truetype"), url("../fonts/Roboto-Bold.ttf") format("truetype");
  font-weight: 550;
  font-style: normal;
}
html,
body {
  background: #fff;
  z-index: 1;
  font-size: 1vw;
  padding: 0;
  margin: 0;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-family: sans-serif;
}

html {
  height: 100dvh;
  overflow: scroll;
}

a,
button,
input,
label {
  cursor: pointer;
}

a {
  color: black;
  text-decoration: none;
}

@media screen and (min-width: 800px) {
  a:hover {
    color: blue;
  }
}
*,
*:after,
*:before {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  font-weight: lighter;
}

ul,
li {
  list-style: none;
  margin: 0;
  padding: 0;
}

img {
  width: 100%;
}

.cart_amount {
  font-family: "Helvetica Neue Regular", "Roboto Regular", sans-serif;
}

body,
html {
  background: rgb(0, 0, 0);
  background: -moz-linear-gradient(left, rgb(0, 0, 0) 0%, rgb(255, 255, 255) 100%);
  background: -webkit-linear-gradient(left, rgb(0, 0, 0) 0%, rgb(255, 255, 255) 100%);
  background: linear-gradient(to right, rgb(0, 0, 0) 0%, rgb(255, 255, 255) 100%);
}
@media screen and (min-width: 800px) {
  body,
  html {
    background: none;
  }
}

header {
  z-index: 99;
  position: sticky;
  top: 0;
}
header .head {
  position: sticky;
  top: 0;
}
@media screen and (max-width: 800px) {
  header .head {
    z-index: 99;
  }
}

nav {
  font-size: 0;
  z-index: 10;
  position: relative;
}
@media screen and (min-width: 800px) {
  nav {
    border-bottom: 2vw solid black;
  }
}
@media screen and (min-width: 800px) and (min-width: 800px) {
  nav {
    border-bottom: 0.5vw solid black;
  }
}
nav > ul {
  background: white;
}
@media screen and (max-width: 800px) {
  nav > ul {
    background: transparent;
  }
}

nav li,
footer li,
.filter li {
  font-family: "Helvetica Neue Bold", "Roboto Bold", sans-serif;
  font-weight: 550;
  font-size: 10rem;
  letter-spacing: -0.25rem;
  font-weight: 550;
}
@media screen and (min-width: 800px) {
  nav li,
  footer li,
  .filter li {
    font-size: 3rem;
    letter-spacing: -0.01rem;
  }
}
@media screen and (max-width: 800px) {
  nav li.has-submenu > button::after,
  footer li.has-submenu > button::after,
  .filter li.has-submenu > button::after {
    float: right;
    margin-left: -1vw;
    content: "+";
    line-height: 3rem;
    font-size: 7rem;
  }
  nav li.has-submenu > button.open::after,
  footer li.has-submenu > button.open::after,
  .filter li.has-submenu > button.open::after {
    content: "×";
  }
}
@media screen and (min-width: 800px) {
  nav li.has-submenu > button:before,
  footer li.has-submenu > button:before,
  .filter li.has-submenu > button:before {
    float: right;
    margin-right: 0.5vw;
    content: "+";
    line-height: 4rem;
    font-size: 12rem;
  }
}
@media screen and (min-width: 800px) and (min-width: 800px) {
  nav li.has-submenu > button:before,
  footer li.has-submenu > button:before,
  .filter li.has-submenu > button:before {
    line-height: 1.75rem;
    font-size: 1.5rem;
  }
}
nav li a,
nav li details,
footer li a,
footer li details,
.filter li a,
.filter li details {
  line-height: 7rem;
  padding: 3vw;
  padding-left: 2vw;
  padding-right: 2vw;
  margin-bottom: 2vw;
  background: white;
  display: block;
}
nav li button,
footer li button,
.filter li button {
  font-family: "Helvetica Neue Bold", "Roboto Bold", sans-serif;
  font-weight: 550;
  font-size: 5rem;
  letter-spacing: 0;
  font-weight: 550;
  line-height: 3.5rem;
  padding-left: 2vw;
  padding-right: 2vw;
  margin-bottom: 2vw;
  background: white;
  display: block;
}
@media screen and (min-width: 800px) {
  nav li button,
  footer li button,
  .filter li button {
    font-size: 1rem;
    letter-spacing: -0.01rem;
  }
}
@media screen and (min-width: 800px) {
  nav li,
  footer li,
  .filter li {
    font-family: "Helvetica Neue Bold", "Roboto Bold", sans-serif;
    font-weight: 550;
    font-size: 5rem;
    letter-spacing: 0;
    font-weight: 550;
  }
}
@media screen and (min-width: 800px) and (min-width: 800px) {
  nav li,
  footer li,
  .filter li {
    font-size: 1rem;
    letter-spacing: -0.01rem;
  }
}
@media screen and (min-width: 800px) {
  nav li a,
  footer li a,
  .filter li a {
    line-height: 1rem;
    padding: 0;
    margin-bottom: 0;
    background: white;
    display: block;
  }
}

footer .level1.level1 > .fakelink::after,
footer .level2.level1 > .fakelink::after {
  content: "";
}

nav ul ul:not(.head) li {
  width: 95%;
  margin-left: 5%;
  font-family: "Helvetica Neue Bold", "Roboto Bold", sans-serif;
  font-weight: 550;
  font-size: 7.5rem;
  line-height: 7.5rem;
  letter-spacing: -0.25rem;
  font-weight: 550;
}
@media screen and (min-width: 800px) {
  nav ul ul:not(.head) li {
    font-size: 2rem;
    line-height: 2rem;
    letter-spacing: -0.01rem;
  }
}
nav ul ul:not(.head) li.has-submenu:before {
  float: right;
  content: "+";
  line-height: 4rem;
  font-size: 12rem;
  margin-top: 3rem;
  margin-right: 2.75rem;
}
@media screen and (min-width: 800px) {
  nav ul ul:not(.head) li.has-submenu:before {
    line-height: 1.75rem;
    font-size: 1.5rem;
    margin-top: 0;
    margin-right: 0.5rem;
  }
}
nav ul ul:not(.head) li.has-submenu ul {
  display: none;
}
nav ul ul:not(.head) li.has-submenu.open:before {
  content: "×";
}
nav ul ul:not(.head) li.has-submenu.has-submenu.open ul {
  display: list-item;
}
@media screen and (min-width: 800px) {
  nav ul ul:not(.head) li {
    font-family: "Helvetica Neue Bold", "Roboto Bold", sans-serif;
    font-weight: 550;
    font-size: 5rem;
    letter-spacing: 0;
    font-weight: 550;
    width: 100%;
    margin-left: 0%;
    margin-bottom: 0.5rem;
  }
}
@media screen and (min-width: 800px) and (min-width: 800px) {
  nav ul ul:not(.head) li {
    font-size: 1rem;
    letter-spacing: -0.01rem;
  }
}
@media screen and (min-width: 800px) {
  nav ul ul:not(.head) li ul {
    margin-top: 0.5rem;
    margin-left: 5%;
    width: 95%;
  }
  nav ul ul:not(.head) li a {
    padding-left: 0.5vw;
    line-height: 2rem;
  }
}
nav ul ul:not(.head) li.menutext a {
  padding-left: 0;
  line-height: 1.25rem;
  display: initial;
}

@media screen and (min-width: 800px) {
  nav > ul > li > ul,
  .filter > ul > li > ul {
    background: rgb(0, 0, 0);
    background: -moz-linear-gradient(right, rgb(0, 0, 0) 0%, rgb(255, 255, 255) 100%);
    background: -webkit-linear-gradient(right, rgb(0, 0, 0) 0%, rgb(255, 255, 255) 100%);
    background: linear-gradient(to left, rgb(0, 0, 0) 0%, rgb(255, 255, 255) 100%);
    border-right: 2vw solid black;
    position: fixed;
    left: 0;
    top: 5.225rem;
    width: 25vw;
    height: calc(100vh - 5.225rem);
    overflow: scroll;
    z-index: 1;
  }
}
@media screen and (min-width: 800px) and (min-width: 800px) {
  nav > ul > li > ul,
  .filter > ul > li > ul {
    border-right: 0.5vw solid black;
  }
}
nav > ul li ul,
nav > ul > li,
.filter li > ul,
.filter li > ul > li > ul {
  display: none;
}

body[ndx--mobilemenueopen=true] main {
  display: none;
}
body[ndx--mobilemenueopen=true] header {
  position: relative;
}
body[ndx--mobilemenueopen=true] nav > ul li ul,
body[ndx--mobilemenueopen=true] nav > ul > li,
body[ndx--mobilemenueopen=true] nav .filter li > ul,
body[ndx--mobilemenueopen=true] nav .filter li > ul > li > ul,
body[ndx--mobilemenueopen=true] nav .ppp {
  display: list-item;
}
body[ndx--mobilemenueopen=true] nav > ul li ul.spacer,
body[ndx--mobilemenueopen=true] nav > ul > li.spacer,
body[ndx--mobilemenueopen=true] nav .filter li > ul.spacer,
body[ndx--mobilemenueopen=true] nav .filter li > ul > li > ul.spacer,
body[ndx--mobilemenueopen=true] nav .ppp.spacer {
  display: none;
}
@media screen and (min-width: 800px) {
  body[ndx--mobilemenueopen=true] nav > ul li ul.spacer,
  body[ndx--mobilemenueopen=true] nav > ul > li.spacer,
  body[ndx--mobilemenueopen=true] nav .filter li > ul.spacer,
  body[ndx--mobilemenueopen=true] nav .filter li > ul > li > ul.spacer,
  body[ndx--mobilemenueopen=true] nav .ppp.spacer {
    display: block;
  }
}
body[ndx--mobilemenueopen=true] .menu:after {
  content: "×";
}

@media screen and (min-width: 800px) {
  nav > ul > li,
  .filter > ul > li {
    position: absolute;
    display: inline-block;
  }
  nav > ul > li.suche,
  .filter > ul > li.suche {
    top: 1.4rem;
    right: 0.5vw;
  }
  nav > ul > li.language,
  .filter > ul > li.language {
    top: 3.1rem;
    line-height: 1rem;
    right: 0.5vw;
  }
  nav > ul > li.language a,
  .filter > ul > li.language a {
    line-height: 1rem;
    background: transparent;
  }
  nav > ul > li:nth-of-type(2),
  .filter > ul > li:nth-of-type(2) {
    top: 1.4rem;
    left: 25.5vw;
  }
  nav > ul > li:nth-of-type(3),
  .filter > ul > li:nth-of-type(3) {
    top: 3.1rem;
    left: 25.5vw;
  }
  nav > ul > li:nth-of-type(4),
  .filter > ul > li:nth-of-type(4) {
    top: 1.4rem;
    left: 50.75vw;
  }
  nav > ul > li:nth-of-type(5),
  .filter > ul > li:nth-of-type(5) {
    top: 3.1rem;
    left: 50.75vw;
  }
  nav > ul > li:nth-of-type(6),
  .filter > ul > li:nth-of-type(6) {
    top: 1.4rem;
    left: 75.5vw;
  }
  nav > ul > li:nth-of-type(7),
  .filter > ul > li:nth-of-type(7) {
    top: 3.1rem;
    left: 75.5vw;
  }
}
.head {
  position: sticky;
  top: 0;
  background: white;
}
@media screen and (max-width: 800px) {
  .head {
    border-bottom: 2vw solid black;
  }
}
@media screen and (max-width: 800px) and (min-width: 800px) {
  .head {
    border-bottom: 0.5vw solid black;
  }
}
.head li {
  display: inline-block;
  margin-top: 2vw;
  margin-bottom: 3vw;
}
.head li a {
  display: inline-block;
}
@media screen and (min-width: 800px) {
  .head li {
    margin-top: 0.5vw;
    margin-bottom: 0.75vw;
  }
}
.head .home,
.head .home a {
  height: 10vw;
  padding: 0;
}
.head .home img,
.head .home a img {
  height: 100%;
  width: auto;
}
.head .home.home,
.head .home a.home {
  margin-left: 2vw;
}
@media screen and (min-width: 800px) {
  .head .home,
  .head .home a {
    height: 3.5rem;
  }
  .head .home.home,
  .head .home a.home {
    margin-left: 0.5vw;
  }
}
.head .menu {
  position: absolute;
  right: 2vw;
  top: 0;
}
.head .menu a {
  padding-right: 0;
}
.head .menu::after {
  margin-left: 1vw;
  content: "+";
  line-height: 10rem;
  font-size: 14rem;
}
.head .menu.open::after {
  content: "×";
}
@media screen and (min-width: 800px) {
  .head .menu {
    display: none;
  }
}

footer {
  border-top: 2vw solid black;
  column-count: 1;
  float: left;
  position: relative;
  z-index: 98;
  width: 100%;
}
@media screen and (min-width: 800px) {
  footer {
    border-top: 0.5vw solid black;
  }
}
footer ul,
footer li {
  position: relative;
  list-style: none !important;
  margin-left: 0 !important;
  width: 100%;
}
@media screen and (min-width: 800px) {
  footer {
    background-color: white;
    width: 100%;
    padding: 0.5vw;
    padding-bottom: 0.25vw;
    padding: 0;
    float: initial;
    z-index: 100;
  }
  footer ul {
    position: relative;
    height: 5vw;
  }
  footer li {
    margin-bottom: 0.75vw;
    width: auto;
    display: inline-block;
    position: absolute;
  }
  footer li.legal {
    top: 1.4rem;
    right: 0.5vw;
    text-align: right;
  }
  footer li.legal:nth-of-type(even) {
    top: 3.1rem;
  }
  footer li:first-of-type {
    top: 1.4rem;
    left: 0.5vw;
  }
  footer li:nth-of-type(2) {
    top: 3.1rem;
    left: 0.5vw;
  }
  footer li:nth-of-type(3) {
    top: 1.4rem;
    left: 25.5vw;
  }
  footer li:nth-of-type(4) {
    top: 3.1rem;
    left: 25.5vw;
  }
  footer li:nth-of-type(5) {
    top: 1.4rem;
    left: 50.75vw;
  }
  footer li:nth-of-type(6) {
    top: 3.1rem;
    left: 50.75vw;
  }
  footer li:nth-of-type(7) {
    top: 1.4rem;
    left: 75.5vw;
  }
  footer li:nth-of-type(8) {
    top: 3.1rem;
    left: 75.5vw;
  }
}

.suche,
.impressum,
.newsletter {
  margin-top: 16vw;
}
@media screen and (min-width: 800px) {
  .suche,
  .impressum,
  .newsletter {
    margin-top: 0;
  }
}

.language {
  padding: 0;
  font-size: 0;
  background: transparent;
  margin-bottom: 16vw;
}
.language a {
  background-color: white;
  text-align: center;
  display: inline-block;
  width: 49vw;
  font-family: "Helvetica Neue Bold", "Roboto Bold", sans-serif;
  font-weight: 550;
  font-size: 5rem;
  letter-spacing: 0;
  font-weight: 550;
  line-height: 3.5rem;
}
@media screen and (min-width: 800px) {
  .language a {
    font-size: 1rem;
    letter-spacing: -0.01rem;
  }
}
.language a:first-of-type {
  margin-right: 2vw;
}
@media screen and (min-width: 800px) {
  .language {
    font-family: "Helvetica Neue Bold", "Roboto Bold", sans-serif;
    font-weight: 550;
    font-size: 5rem;
    letter-spacing: 0;
    font-weight: 550;
    height: auto;
    background: transparent;
    margin-bottom: 0;
  }
}
@media screen and (min-width: 800px) and (min-width: 800px) {
  .language {
    font-size: 1rem;
    letter-spacing: -0.01rem;
  }
}
@media screen and (min-width: 800px) {
  .language a {
    background-color: white;
    text-align: center;
    display: inline-block;
    width: auto;
    font-family: "Helvetica Neue Bold", "Roboto Bold", sans-serif;
    font-weight: 550;
    font-size: 5rem;
    letter-spacing: 0;
    font-weight: 550;
  }
}
@media screen and (min-width: 800px) and (min-width: 800px) {
  .language a {
    font-size: 1rem;
    letter-spacing: -0.01rem;
  }
}
@media screen and (min-width: 800px) {
  .language a:first-of-type {
    margin-right: 0;
  }
}

@media screen and (min-width: 800px) {
  body[ndx--showsubmenu=true] main {
    margin-left: 25vw;
    width: 75vw;
  }
}

.filterwrapper {
  grid-column: span 6;
}
@media screen and (min-width: 800px) {
  .filterwrapper {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
    column-gap: 0.5vw;
  }
}

@media screen and (min-width: 800px) {
  .filter li button {
    line-height: 1rem;
    padding: 0.5vw;
    margin-bottom: 0.5vw;
  }
  .filter .cta_sort,
  .filter li > button {
    cursor: pointer;
  }
  .filter .cta_sort:hover,
  .filter li > button:hover {
    color: blue;
  }
}

.filter ul li {
  padding: 2vw;
  background-color: white;
  font-family: "Helvetica Neue Bold", "Roboto Bold", sans-serif;
  font-weight: 550;
  font-size: 5rem;
  letter-spacing: 0;
  font-weight: 550;
  margin-bottom: 2vw;
}
@media screen and (min-width: 800px) {
  .filter ul li {
    font-size: 1rem;
    letter-spacing: -0.01rem;
  }
}
.filter ul li button {
  width: auto;
  padding: 0;
  margin: 0;
  display: inline-block;
  margin-bottom: 0.5vw;
}
@media screen and (min-width: 800px) {
  .filter ul li {
    padding: 0.5vw;
    margin-bottom: 0.5vw;
  }
  .filter ul li button {
    padding: 0;
    margin: 0;
  }
  .filter ul li button:hover,
  .filter ul li .cta_sort:hover {
    color: blue;
  }
}

button {
  width: 100%;
  font-family: "Helvetica Neue Bold", "Roboto Bold", sans-serif;
  font-weight: 550;
  font-size: 7.5rem;
  line-height: 7.5rem;
  letter-spacing: -0.25rem;
  font-weight: 550;
  text-align: left;
  line-height: 7vw;
  padding: 3vw;
  padding-left: 2vw;
  padding-right: 2vw;
  margin-bottom: 2vw;
  background: white;
  display: block;
  border: none;
}
@media screen and (min-width: 800px) {
  button {
    font-size: 2rem;
    line-height: 2rem;
    letter-spacing: -0.01rem;
  }
}
button:hover {
  color: blue;
}
@media screen and (min-width: 800px) {
  button {
    font-family: "Helvetica Neue Bold", "Roboto Bold", sans-serif;
    font-weight: 550;
    font-size: 5rem;
    letter-spacing: 0;
    font-weight: 550;
    line-height: 1rem;
    padding: 0.5vw;
  }
}
@media screen and (min-width: 800px) and (min-width: 800px) {
  button {
    font-size: 1rem;
    letter-spacing: -0.01rem;
  }
}

.download {
  background: white;
  padding: 2vw;
}
.download img {
  width: 100%;
  margin-bottom: 1vw;
}
.download figcaption {
  padding-left: 0;
}
@media screen and (min-width: 800px) {
  .download {
    padding: 0.5vw;
  }
  .download img {
    width: 100%;
    margin-bottom: 0;
  }
  .download figcaption {
    margin-bottom: 0;
  }
}
.download button {
  font-family: "Helvetica Neue Regular", "Roboto Regular", sans-serif;
  font-size: 5rem;
  letter-spacing: 0;
  font-weight: 400;
  margin-bottom: 0;
  text-align: center;
  border: 0.5vw solid black;
  border-radius: 10vw;
}
@media screen and (min-width: 800px) {
  .download button {
    font-size: 1rem;
    letter-spacing: -0.01rem;
  }
}
@media screen and (min-width: 800px) {
  .download button {
    border: 0.075vw solid black;
  }
}

.anmeldung {
  background: white;
  margin-bottom: 2vw;
  padding: 2vw;
}
.anmeldung input {
  font-family: "Helvetica Neue Bold", "Roboto Bold", sans-serif;
  font-weight: 550;
  font-size: 7.5rem;
  line-height: 7.5rem;
  letter-spacing: -0.25rem;
  font-weight: 550;
  width: 100%;
  margin-top: 0;
  margin-bottom: 2vw;
  border: 0.1vw solid darkgrey;
  line-height: 10vw;
  padding-left: 2vw;
}
@media screen and (min-width: 800px) {
  .anmeldung input {
    font-size: 2rem;
    line-height: 2rem;
    letter-spacing: -0.01rem;
  }
}
.anmeldung input:last-of-type {
  margin-bottom: 0;
}
.anmeldung input::placeholder {
  color: darkgrey;
}
.anmeldung label {
  display: none;
}

main {
  font-size: 0;
  width: 100vw;
  min-height: calc(100vh - 5.225rem);
  background: rgb(0, 0, 0);
  background: -moz-linear-gradient(left, rgb(0, 0, 0) 0%, rgb(255, 255, 255) 100%);
  background: -webkit-linear-gradient(left, rgb(0, 0, 0) 0%, rgb(255, 255, 255) 100%);
  background: linear-gradient(to right, rgb(0, 0, 0) 0%, rgb(255, 255, 255) 100%);
}
main .sondermeldung {
  background: white;
  font-family: "Helvetica Neue Regular", "Roboto Regular", sans-serif;
  font-size: 7.5rem;
  letter-spacing: -0.1rem;
  font-weight: 400;
  grid-column: span 6;
  line-height: 10rem;
  margin-bottom: 2vw;
}
main .sondermeldung span {
  margin-right: 10vw;
}
@media screen and (min-width: 800px) {
  main .sondermeldung {
    margin-bottom: 0.5vw;
    font-family: "Helvetica Neue Regular", "Roboto Regular", sans-serif;
    font-size: 5rem;
    letter-spacing: 0;
    font-weight: 400;
    line-height: 2rem;
  }
}
@media screen and (min-width: 800px) and (min-width: 800px) {
  main .sondermeldung {
    font-size: 1rem;
    letter-spacing: -0.01rem;
  }
}
@media screen and (min-width: 800px) {
  main .sondermeldung span {
    margin-right: 3vw;
  }
}
main article {
  overflow: scroll;
  width: 100%;
  background: rgb(0, 0, 0);
  background: -moz-linear-gradient(left, rgb(0, 0, 0) 0%, rgb(255, 255, 255) 100%);
  background: -webkit-linear-gradient(left, rgb(0, 0, 0) 0%, rgb(255, 255, 255) 100%);
  background: linear-gradient(to right, rgb(0, 0, 0) 0%, rgb(255, 255, 255) 100%);
}
@media screen and (min-width: 800px) {
  main article {
    float: left;
    height: calc(100vh - 5.225rem);
  }
  main article.border-right {
    border-right: 2vw solid black;
  }
}
@media screen and (min-width: 800px) and (min-width: 800px) {
  main article.border-right {
    border-right: 0.5vw solid black;
  }
}
@media screen and (min-width: 800px) {
  main article:nth-of-type(even) {
    background: rgb(0, 0, 0);
    background: -moz-linear-gradient(right, rgb(0, 0, 0) 0%, rgb(255, 255, 255) 100%);
    background: -webkit-linear-gradient(right, rgb(0, 0, 0) 0%, rgb(255, 255, 255) 100%);
    background: linear-gradient(to left, rgb(0, 0, 0) 0%, rgb(255, 255, 255) 100%);
  }
  main article:nth-of-type(odd) {
    background: rgb(0, 0, 0);
    background: -moz-linear-gradient(left, rgb(0, 0, 0) 0%, rgb(255, 255, 255) 100%);
    background: -webkit-linear-gradient(left, rgb(0, 0, 0) 0%, rgb(255, 255, 255) 100%);
    background: linear-gradient(to right, rgb(0, 0, 0) 0%, rgb(255, 255, 255) 100%);
  }
}
main article > h1 {
  width: 100%;
  background: white;
  padding: 2vw;
  font-family: "Helvetica Neue Bold", "Roboto Bold", sans-serif;
  font-weight: 550;
  font-size: 10rem;
  letter-spacing: -0.25rem;
  font-weight: 550;
  line-height: 10rem;
  text-align: center;
  margin-bottom: 2vw;
}
@media screen and (min-width: 800px) {
  main article > h1 {
    font-size: 3rem;
    letter-spacing: -0.01rem;
  }
}
main article > h1.subpage_headline {
  text-align: left;
}
@media screen and (min-width: 800px) {
  main article > h1 {
    padding: 0.5vw;
    padding-top: 0.25vw;
    line-height: 3rem;
    margin-bottom: 0.5vw;
  }
}
main article > h2 {
  width: 100%;
  background: white;
  padding: 2vw;
  font-family: "Helvetica Neue Regular", "Roboto Regular", sans-serif;
  font-size: 10rem;
  letter-spacing: -0.25rem;
  font-weight: 400;
  line-height: 10rem;
  text-align: left;
  margin-bottom: 2vw;
}
@media screen and (min-width: 800px) {
  main article > h2 {
    font-size: 3rem;
    letter-spacing: -0.01rem;
  }
}
main article > h2.subpage_headline {
  text-align: left;
}
main article > h2:first-of-type {
  padding-top: 0;
  margin-top: -3vw;
  font-family: "Helvetica Neue Regular", "Roboto Regular", sans-serif;
  font-size: 10rem;
  letter-spacing: -0.25rem;
  font-weight: 400;
  line-height: 10rem;
  margin-bottom: 2vw;
}
@media screen and (min-width: 800px) {
  main article > h2:first-of-type {
    font-size: 3rem;
    letter-spacing: -0.01rem;
  }
}
@media screen and (min-width: 800px) {
  main article > h2 {
    padding: 0.5vw;
    padding-top: 0.25vw;
    line-height: 3rem;
    margin-bottom: 0.5vw;
  }
  main article > h2:first-of-type {
    margin-top: -0.5vw;
    font-family: "Helvetica Neue Regular", "Roboto Regular", sans-serif;
    font-size: 10rem;
    letter-spacing: -0.25rem;
    font-weight: 400;
    line-height: 3rem;
    margin-bottom: 0.5vw;
  }
}
@media screen and (min-width: 800px) and (min-width: 800px) {
  main article > h2:first-of-type {
    font-size: 3rem;
    letter-spacing: -0.01rem;
  }
}
main article strong {
  font-family: "Helvetica Neue Bold", "Roboto Bold", sans-serif;
  font-weight: 550;
  font-size: 5rem;
  letter-spacing: 0;
  font-weight: 550;
}
@media screen and (min-width: 800px) {
  main article strong {
    font-size: 1rem;
    letter-spacing: -0.01rem;
  }
}
main article .teaser a {
  padding: 0;
  text-decoration: none;
}
main article .teaser a h1 {
  color: black;
}
main article .teammember p:first-of-type {
  margin-bottom: 0;
}
main article .meta {
  background: white;
  font-size: 0;
  margin-bottom: 2vw;
  padding: 2vw;
}
@media screen and (min-width: 800px) {
  main article .meta {
    padding: 0.5vw;
    padding-left: 0;
    padding-right: 0;
    margin-bottom: 0.5vw;
  }
}
main article .meta span {
  font-family: "Helvetica Neue Bold", "Roboto Bold", sans-serif;
  font-weight: 550;
  font-size: 5rem;
  letter-spacing: 0;
  font-weight: 550;
  display: inline-block;
  min-width: 100%;
}
@media screen and (min-width: 800px) {
  main article .meta span {
    font-size: 1rem;
    letter-spacing: -0.01rem;
  }
}
@media screen and (min-width: 800px) {
  main article .meta span {
    min-width: calc((100% - 1vw) / 2);
    margin-left: 0.5vw;
  }
}
main article .tagcloud {
  grid-column: span 2;
}
main article .tagcloud a {
  background: white;
  color: blue;
  text-decoration: none;
  margin-bottom: 2vw;
  margin-right: 2vw;
  padding: 2vw;
  display: inline-block;
  font-family: "Helvetica Neue Regular", "Roboto Regular", sans-serif;
  font-size: 5rem;
  letter-spacing: 0;
  font-weight: 400;
}
@media screen and (min-width: 800px) {
  main article .tagcloud a {
    font-size: 1rem;
    letter-spacing: -0.01rem;
  }
}
main article .tagcloud a.cta_archiv {
  width: 100%;
  margin-right: 0;
  text-align: center;
  color: black;
  font-family: "Helvetica Neue Bold", "Roboto Bold", sans-serif;
  font-weight: 550;
  font-size: 5rem;
  letter-spacing: 0;
  font-weight: 550;
}
@media screen and (min-width: 800px) {
  main article .tagcloud a.cta_archiv {
    font-size: 1rem;
    letter-spacing: -0.01rem;
  }
}
main article .tagcloud a.cta_archiv:hover {
  color: blue;
}
@media screen and (min-width: 800px) {
  main article .tagcloud a {
    margin-bottom: 0.5vw;
    margin-right: 0.5vw;
    padding: 0.5vw;
  }
}
main article .dokumentcloud,
main article .epubcloud {
  grid-column: span 2;
}
main article .dokumentcloud a,
main article .epubcloud a {
  width: 100%;
  background: white;
  color: blue;
  margin-bottom: 2vw;
  padding: 2vw;
  display: inline-block;
  font-family: "Helvetica Neue Regular", "Roboto Regular", sans-serif;
  font-size: 5rem;
  letter-spacing: 0;
  font-weight: 400;
}
@media screen and (min-width: 800px) {
  main article .dokumentcloud a,
  main article .epubcloud a {
    font-size: 1rem;
    letter-spacing: -0.01rem;
  }
}
@media screen and (min-width: 800px) {
  main article .dokumentcloud a,
  main article .epubcloud a {
    margin-bottom: 0.5vw;
    padding: 0.5vw;
  }
}
main article .materiallink:hover {
  color: blue;
}
main article figcaption,
main article > p,
main article p a {
  padding: 2vw;
  margin-bottom: 2vw;
  background: white;
  font-family: "Helvetica Neue Regular", "Roboto Regular", sans-serif;
  font-size: 5rem;
  letter-spacing: 0;
  font-weight: 400;
}
@media screen and (min-width: 800px) {
  main article figcaption,
  main article > p,
  main article p a {
    font-size: 1rem;
    letter-spacing: -0.01rem;
  }
}
@media screen and (min-width: 800px) {
  main article figcaption,
  main article > p,
  main article p a {
    padding: 0.5vw;
    margin-bottom: 0.5vw;
  }
}
main article figcaption {
  font-size: 0.75rem;
  text-align: left;
}
main article p a {
  color: blue;
  text-decoration: underline;
  padding-left: 0;
  background: transparent;
  padding: 0;
}
main article .block-type-toggle {
  padding: 0;
}
main article div > div {
  background: white;
  padding: 2vw;
  margin-bottom: 2vw;
}
main article div > div.success:empty, main article div > div.error:empty {
  display: none;
}
@media screen and (min-width: 800px) {
  main article div > div {
    padding: 0.5vw;
    margin-bottom: 0.5vw;
  }
}
main article div > div.block-type-image, main article div > div.block-type-video, main article div > div.block-type-audio, main article div > div.block-type-gallery {
  padding: 0;
  margin-bottom: 0.5vw;
  text-align: center;
}
@media screen and (max-width: 800px) {
  main article div > div.block-type-image, main article div > div.block-type-video, main article div > div.block-type-audio, main article div > div.block-type-gallery {
    margin-bottom: 2vw;
  }
}
main article div > div.block-type-image audio,
main article div > div.block-type-image img, main article div > div.block-type-video audio,
main article div > div.block-type-video img, main article div > div.block-type-audio audio,
main article div > div.block-type-audio img, main article div > div.block-type-gallery audio,
main article div > div.block-type-gallery img {
  width: 100%;
  height: auto;
}
main article div > div.block-type-image audio.portrait,
main article div > div.block-type-image img.portrait, main article div > div.block-type-video audio.portrait,
main article div > div.block-type-video img.portrait, main article div > div.block-type-audio audio.portrait,
main article div > div.block-type-audio img.portrait, main article div > div.block-type-gallery audio.portrait,
main article div > div.block-type-gallery img.portrait {
  width: auto;
  max-height: 50vh;
}
main article div > div.block-type-image .slider,
main article div > div.block-type-image .slide, main article div > div.block-type-video .slider,
main article div > div.block-type-video .slide, main article div > div.block-type-audio .slider,
main article div > div.block-type-audio .slide, main article div > div.block-type-gallery .slider,
main article div > div.block-type-gallery .slide {
  padding: 0;
  margin-bottom: 0;
}
main article div > div.block-type-image.block-type-audio, main article div > div.block-type-video.block-type-audio, main article div > div.block-type-audio.block-type-audio, main article div > div.block-type-gallery.block-type-audio {
  background: transparent;
}
main article div > div.block-type-gallery audio.portrait, main article div > div.block-type-gallery audio.landscape,
main article div > div.block-type-gallery img.portrait,
main article div > div.block-type-gallery img.landscape {
  width: auto;
  max-width: 100%;
  max-height: 50vh;
}
main article div > div p {
  margin-bottom: 2vw;
}
@media screen and (min-width: 800px) {
  main article div > div p {
    margin-bottom: 0.5vw;
  }
}
main article div > div p:last-of-type {
  margin-bottom: 0;
}
main article div > div.toggle {
  background-color: white;
  cursor: pointer;
  margin: 0;
  padding: 0;
}
main article div > div.toggle h2 {
  padding: 1vw;
  margin-bottom: 2vw;
}
main article div > div.toggle h2 p {
  font-family: "Helvetica Neue Bold", "Roboto Bold", sans-serif;
  font-weight: 550;
  font-size: 7.5rem;
  line-height: 7.5rem;
  letter-spacing: -0.25rem;
  font-weight: 550;
  position: relative;
}
@media screen and (min-width: 800px) {
  main article div > div.toggle h2 p {
    font-size: 2rem;
    line-height: 2rem;
    letter-spacing: -0.01rem;
  }
}
main article div > div.toggle h2 p::after {
  margin-left: 1vw;
  content: "+";
  line-height: 10rem;
  font-size: 10rem;
  position: absolute;
  right: 2vw;
  bottom: 0;
}
@media screen and (min-width: 800px) {
  main article div > div.toggle:hover {
    color: blue;
  }
  main article div > div.toggle h2 {
    font-family: "Helvetica Neue Bold", "Roboto Bold", sans-serif;
    font-weight: 550;
    font-size: 5rem;
    letter-spacing: 0;
    font-weight: 550;
    line-height: 1rem;
    padding: 0.5vw;
    margin-bottom: 0.5vw;
  }
}
@media screen and (min-width: 800px) and (min-width: 800px) {
  main article div > div.toggle h2 {
    font-size: 1rem;
    letter-spacing: -0.01rem;
  }
}
@media screen and (min-width: 800px) {
  main article div > div.toggle h2 p {
    position: relative;
    font-family: "Helvetica Neue Bold", "Roboto Bold", sans-serif;
    font-weight: 550;
    font-size: 5rem;
    letter-spacing: 0;
    font-weight: 550;
    line-height: 1rem;
  }
}
@media screen and (min-width: 800px) and (min-width: 800px) {
  main article div > div.toggle h2 p {
    font-size: 1rem;
    letter-spacing: -0.01rem;
  }
}
@media screen and (min-width: 800px) {
  main article div > div.toggle h2 p::after {
    line-height: 1rem;
    font-size: 1.25rem;
    position: absolute;
    right: 0.5vw;
    bottom: 0.15vw;
  }
}
main article p {
  font-family: "Helvetica Neue Regular", "Roboto Regular", sans-serif;
  font-size: 5rem;
  letter-spacing: 0;
  font-weight: 400;
}
@media screen and (min-width: 800px) {
  main article p {
    font-size: 1rem;
    letter-spacing: -0.01rem;
  }
}
main article p a {
  color: blue;
  text-decoration: underline;
}
main article h2 {
  font-family: "Helvetica Neue Bold", "Roboto Bold", sans-serif;
  font-weight: 550;
  font-size: 7.5rem;
  line-height: 7.5rem;
  letter-spacing: -0.25rem;
  font-weight: 550;
  display: block;
  margin-bottom: 1vw;
}
@media screen and (min-width: 800px) {
  main article h2 {
    font-size: 2rem;
    line-height: 2rem;
    letter-spacing: -0.01rem;
  }
}
@media screen and (min-width: 800px) {
  main article h2 {
    margin-bottom: 0.25vw;
  }
}
main article li {
  list-style: initial;
  margin-left: 4vw;
}
@media screen and (min-width: 800px) {
  main article li {
    margin-left: 1vw;
  }
}
main article ::marker {
  font-family: "Helvetica Neue Regular", "Roboto Regular", sans-serif;
  font-size: 5rem;
  letter-spacing: 0;
  font-weight: 400;
  margin-right: 0.5vw;
}
@media screen and (min-width: 800px) {
  main article ::marker {
    font-size: 1rem;
    letter-spacing: -0.01rem;
  }
}
main article .search {
  border-bottom: 2vw solid black;
  position: sticky;
  top: 0;
  z-index: 99;
}
@media screen and (min-width: 800px) {
  main article .search {
    border-bottom: 0.5vw solid black;
  }
}
@media screen and (max-width: 800px) {
  main article .search {
    position: fixed;
    top: 17vw;
  }
}
main article .search input {
  margin: 0 !important;
  font-family: "Helvetica Neue Bold", "Roboto Bold", sans-serif;
  font-weight: 550;
  font-size: 10rem;
  letter-spacing: -0.25rem;
  font-weight: 550;
}
@media screen and (min-width: 800px) {
  main article .search input {
    font-size: 3rem;
    letter-spacing: -0.01rem;
  }
}
main article .search #searchy {
  width: 100vw;
  border: 0;
  outline: none;
  padding: 0.5vw;
  margin: 0;
}
main article .search #searchy::-webkit-search-cancel-button {
  opacity: 0;
}
main article .search input:not(#searchy) {
  position: absolute;
  top: 0;
  right: 0.5vw;
  background: transparent;
  outline: none;
  border: none;
  z-index: 2;
  height: 4.75rem;
}
main article .search input:not(#searchy):hover {
  color: blue;
}
@media screen and (max-width: 800px) {
  main article .search input:not(#searchy) {
    opacity: 0;
    pointer-events: none;
  }
}
@media screen and (max-width: 800px) {
  main article .searchresults {
    margin-top: 15vw;
  }
}
@media screen and (min-width: 800px) {
  main article .searchresults {
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    grid-auto-rows: min-content;
    grid-column-gap: 0.5vw;
    width: 100vw;
  }
  main article .searchresults section {
    grid-column: span 1;
  }
}
main article.searchresults section, main article.presse div, main article.besuch div, main article.registrierung div {
  background: white;
  margin-bottom: 2vw;
  padding: 1vw;
  grid-column: span 2;
  align-self: start;
}
main article.searchresults section.zwei, main article.presse div.zwei, main article.besuch div.zwei, main article.registrierung div.zwei {
  grid-column: span 4;
}
main article.searchresults section p:first-of-type, main article.presse div p:first-of-type, main article.besuch div p:first-of-type, main article.registrierung div p:first-of-type {
  margin-bottom: 0;
}
main article.searchresults section p, main article.presse div p, main article.besuch div p, main article.registrierung div p {
  font-family: "Helvetica Neue Regular", "Roboto Regular", sans-serif;
  font-size: 5rem;
  letter-spacing: 0;
  font-weight: 400;
  margin-bottom: 1vw;
}
@media screen and (min-width: 800px) {
  main article.searchresults section p, main article.presse div p, main article.besuch div p, main article.registrierung div p {
    font-size: 1rem;
    letter-spacing: -0.01rem;
  }
}
main article.searchresults section p:last-child, main article.presse div p:last-child, main article.besuch div p:last-child, main article.registrierung div p:last-child {
  margin-bottom: 0;
}
@media screen and (min-width: 800px) {
  main article.searchresults section p, main article.presse div p, main article.besuch div p, main article.registrierung div p {
    margin-bottom: 0.5vw;
  }
}
main article.searchresults section li, main article.presse div li, main article.besuch div li, main article.registrierung div li {
  list-style: initial;
  margin-left: 4vw;
}
@media screen and (min-width: 800px) {
  main article.searchresults section li, main article.presse div li, main article.besuch div li, main article.registrierung div li {
    margin-left: 1vw;
  }
}
main article.searchresults section ::marker, main article.presse div ::marker, main article.besuch div ::marker, main article.registrierung div ::marker {
  font-family: "Helvetica Neue Regular", "Roboto Regular", sans-serif;
  font-size: 5rem;
  letter-spacing: 0;
  font-weight: 400;
  margin-right: 0.5vw;
}
@media screen and (min-width: 800px) {
  main article.searchresults section ::marker, main article.presse div ::marker, main article.besuch div ::marker, main article.registrierung div ::marker {
    font-size: 1rem;
    letter-spacing: -0.01rem;
  }
}
@media screen and (min-width: 800px) {
  main article.searchresults section, main article.presse div, main article.besuch div, main article.registrierung div {
    padding: 0.5vw;
    margin-bottom: 0.5vw;
  }
}
main .width1_4 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-auto-rows: min-content;
  grid-column-gap: 2vw;
}
main .width1_4 > div {
  grid-column: span 2;
}
main .width1_4 .social {
  grid-column: span 2;
}
main .width1_4 .social a {
  width: 100%;
  display: block;
  text-align: center;
  font-family: "Helvetica Neue Bold", "Roboto Bold", sans-serif;
  font-weight: 550;
  font-size: 5rem;
  letter-spacing: 0;
  font-weight: 550;
  background-color: white;
  line-height: 10rem;
  margin-bottom: 2vw;
}
@media screen and (min-width: 800px) {
  main .width1_4 .social a {
    font-size: 1rem;
    letter-spacing: -0.01rem;
  }
}
main .width1_4 .teaser,
main .width1_4 h1 {
  grid-column: span 2;
}
@media screen and (min-width: 800px) {
  main .width4_4 {
    width: 100vw;
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    grid-auto-rows: min-content;
    grid-column-gap: 0.5vw;
  }
  main .width4_4 .teaser {
    grid-column: span 2;
  }
  main .width4_4 > h1 {
    grid-column: span 8;
  }
  main .width3_4 {
    width: 75vw;
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    grid-auto-rows: min-content;
    grid-column-gap: 0.5vw;
  }
  main .width3_4 .teaser {
    grid-column: span 2;
  }
  main .width3_4 > h1 {
    grid-column: span 6;
  }
  main .width2_4 {
    width: 50vw;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-auto-rows: min-content;
    grid-column-gap: 0.5vw;
  }
  main .width2_4 .teaser {
    grid-column: span 2;
  }
  main .width2_4 > h1 {
    grid-column: span 4;
  }
  main .width2_4 * {
    grid-column: span 4;
  }
  main .width1_4 {
    width: 25vw;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-auto-rows: min-content;
    grid-column-gap: 0.5vw;
  }
  main .width1_4 .teaser {
    grid-column: span 2;
  }
  main .width1_4 > h1 {
    grid-column: span 2;
  }
  main .width1_4 .social {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-auto-rows: min-content;
    grid-column-gap: 0.5vw;
  }
  main .width1_4 .social a {
    grid-column: span 1;
    float: left;
    line-height: 2rem;
    margin-bottom: 0.5vw;
  }
}
main .teaser {
  cursor: pointer;
  width: 100%;
  display: inline-block;
  margin-bottom: 2vw;
  padding: 2vw;
  padding-top: 1vw;
  align-self: start;
  background-color: white;
}
main .teaser > *:last-child {
  margin-bottom: 0;
}
main .teaser:hover * {
  color: blue;
}
main .teaser.shadowteaser {
  cursor: default;
  background-color: white;
  color: rgba(0, 0, 0, 0.5);
  pointer-events: none;
}
main .teaser.shadowteaser:hover * {
  color: rgba(0, 0, 0, 0.5);
}
main .teaser.shadowteaser a,
main .teaser.shadowteaser h1 {
  pointer-events: none;
  color: rgba(0, 0, 0, 0.5);
}
@media screen and (min-width: 800px) {
  main .teaser {
    padding-top: 0.25vw;
    margin-bottom: 0.5vw;
    padding: 0.5vw;
  }
}
main .teaser h1 {
  font-family: "Helvetica Neue Bold", "Roboto Bold", sans-serif;
  font-weight: 550;
  font-size: 7.5rem;
  line-height: 7.5rem;
  letter-spacing: -0.25rem;
  font-weight: 550;
  margin-bottom: 1vw;
}
@media screen and (min-width: 800px) {
  main .teaser h1 {
    font-size: 2rem;
    line-height: 2rem;
    letter-spacing: -0.01rem;
  }
}
@media screen and (min-width: 800px) {
  main .teaser h1 {
    line-height: 2rem;
    margin-bottom: 0.25vw;
  }
}
main .teaser h2 {
  font-family: "Helvetica Neue Regular", "Roboto Regular", sans-serif;
  font-size: 7.5rem;
  line-height: 7.5rem;
  letter-spacing: -0.25rem;
  font-weight: 400;
  margin-bottom: 1vw;
  margin-top: -1vw;
}
@media screen and (min-width: 800px) {
  main .teaser h2 {
    font-size: 2rem;
    line-height: 2rem;
    letter-spacing: -0.01rem;
  }
}
@media screen and (min-width: 800px) {
  main .teaser h2 {
    line-height: 2rem;
    margin-bottom: 0.25vw;
    margin-top: -0.25vw;
  }
}
main .teaser .metateaser {
  font-size: 0;
  margin-bottom: 2vw;
}
@media screen and (min-width: 800px) {
  main .teaser .metateaser {
    margin-bottom: 0.5vw;
  }
}
main .teaser .metateaser span {
  font-family: "Helvetica Neue Bold", "Roboto Bold", sans-serif;
  font-weight: 550;
  font-size: 5rem;
  letter-spacing: 0;
  font-weight: 550;
  display: inline-block;
  min-width: 50%;
}
@media screen and (min-width: 800px) {
  main .teaser .metateaser span {
    font-size: 1rem;
    letter-spacing: -0.01rem;
  }
}
main .teaser .metateaser strong {
  font-family: "Helvetica Neue Bold", "Roboto Bold", sans-serif;
  font-weight: 550;
  font-size: 5rem;
  letter-spacing: 0;
  font-weight: 550;
}
@media screen and (min-width: 800px) {
  main .teaser .metateaser strong {
    font-size: 1rem;
    letter-spacing: -0.01rem;
  }
}
main .teaser img {
  width: 100%;
  margin-bottom: 2vw;
}
@media screen and (min-width: 800px) {
  main .teaser img {
    margin-bottom: 0.5vw;
  }
}
main .teaser .tags a {
  color: blue;
  font-family: "Helvetica Neue Regular", "Roboto Regular", sans-serif;
  font-size: 5rem;
  letter-spacing: 0;
  font-weight: 400;
  margin-right: 2vw;
}
@media screen and (min-width: 800px) {
  main .teaser .tags a {
    font-size: 1rem;
    letter-spacing: -0.01rem;
  }
}
@media screen and (min-width: 800px) {
  main .teaser .tags a {
    margin-right: 0.5vw;
  }
}
main .teaser p {
  font-family: "Helvetica Neue Regular", "Roboto Regular", sans-serif;
  font-size: 5rem;
  letter-spacing: 0;
  font-weight: 400;
  margin: 0;
  padding: 0;
}
@media screen and (min-width: 800px) {
  main .teaser p {
    font-size: 1rem;
    letter-spacing: -0.01rem;
  }
}
@media screen and (min-width: 800px) {
  main .teaser p {
    margin-right: 0.5vw;
  }
}

.marquee {
  width: 100%;
  overflow: hidden;
}
.marquee div {
  padding: 0.25rem 0 0 0;
}
.marquee p {
  display: inline;
}

.collapsable {
  background-color: white;
}
.collapsable.collapsed {
  display: none;
}

main article .content strong {
  font-family: "Helvetica Neue Bold", "Roboto Bold", sans-serif;
  font-weight: 550;
  font-size: 5rem;
  letter-spacing: 0;
  font-weight: 550;
}
@media screen and (min-width: 800px) {
  main article .content strong {
    font-size: 1rem;
    letter-spacing: -0.01rem;
  }
}
main article .content ul,
main article .content ol,
main article .content li.head {
  background-color: white;
  padding-left: 4vw;
}
@media screen and (min-width: 800px) {
  main article .content ul,
  main article .content ol,
  main article .content li.head {
    padding-left: 0.75vw;
  }
}
main article .content ul li,
main article .content ol li,
main article .content li.head li {
  font-family: "Helvetica Neue Regular", "Roboto Regular", sans-serif;
  font-size: 5rem;
  letter-spacing: 0;
  font-weight: 400;
  list-style: disc;
  padding: 0;
  margin: 0;
}
@media screen and (min-width: 800px) {
  main article .content ul li,
  main article .content ol li,
  main article .content li.head li {
    font-size: 1rem;
    letter-spacing: -0.01rem;
  }
}
main article .content ul li p,
main article .content ol li p,
main article .content li.head li p {
  margin: 0;
  padding: 0;
}
main article .content ol li {
  list-style: decimal;
}

form div > div > div {
  padding: 0 !important;
}
form .form-label {
  margin-bottom: 2vw;
  display: block;
  font-family: "Helvetica Neue Bold", "Roboto Bold", sans-serif;
  font-weight: 550;
  font-size: 5rem;
  letter-spacing: 0;
  font-weight: 550;
}
@media screen and (min-width: 800px) {
  form .form-label {
    font-size: 1rem;
    letter-spacing: -0.01rem;
  }
}
form .form-label.big {
  font-family: "Helvetica Neue Bold", "Roboto Bold", sans-serif;
  font-weight: 550;
  font-size: 7.5rem;
  line-height: 7.5rem;
  letter-spacing: -0.25rem;
  font-weight: 550;
}
@media screen and (min-width: 800px) {
  form .form-label.big {
    font-size: 2rem;
    line-height: 2rem;
    letter-spacing: -0.01rem;
  }
}
form label {
  font-family: "Helvetica Neue Regular", "Roboto Regular", sans-serif;
  font-size: 5rem;
  letter-spacing: 0;
  font-weight: 400;
  color: black;
}
@media screen and (min-width: 800px) {
  form label {
    font-size: 1rem;
    letter-spacing: -0.01rem;
  }
}
form label a {
  color: blue;
}
form input {
  margin-right: 2vw;
}
@media screen and (min-width: 800px) {
  form input {
    margin-right: 0.5vw;
  }
}
@media screen and (min-width: 800px) {
  form button {
    width: 24vw;
  }
  form > div > div {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-auto-rows: min-content;
    grid-column-gap: 2vw;
  }
  form > div > div .w_1 {
    grid-column: span 1;
    margin-bottom: 1vw;
  }
  form > div > div .form-label {
    margin-bottom: 0.25rem;
  }
}
form .form-floating {
  position: relative;
}
form .form-floating:last-of-type {
  margin-bottom: 0;
}
form .form-floating input {
  height: calc(14rem + 2px);
  line-height: 1.25;
  padding-left: 0.5vw;
  width: 100%;
  margin-right: 0;
}
@media screen and (min-width: 800px) {
  form .form-floating input {
    margin-right: 0.5vw;
  }
}
@media screen and (min-width: 800px) {
  form .form-floating input {
    height: calc(3.5rem + 2px);
    line-height: 5rem;
    padding-left: 0.5vw;
  }
}
form .form-floating input::placeholder {
  color: transparent;
}
form .form-floating label {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 1rem 1.125rem;
  overflow: hidden;
  text-align: start;
  text-overflow: ellipsis;
  white-space: nowrap;
  pointer-events: none;
  border: 1px solid transparent;
  transform-origin: 0 0;
  transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out;
}
@media screen and (min-width: 800px) {
  form .form-floating label {
    padding: 1.1vw 0.5vw;
  }
}
form .form-floating input:focus ~ label,
form .form-floating input:not(:placeholder-shown) ~ label {
  opacity: 0.5;
  transform: scale(0.75) translateY(-0.75rem) translate(0.25rem);
}
form .form-floating input:-webkit-autofill ~ label {
  opacity: 0.5;
  transform: scale(0.85) translateY(-0.5rem) translate(0.15rem);
}

@media screen and (max-width: 800px) {
  .level1 ul,
  .level2 ul {
    display: none !important;
  }
  .level1.open > ul,
  .level2.open > ul {
    display: list-item !important;
  }
  .level1.open > .fakelink::after,
  .level2.open > .fakelink::after {
    content: "×";
  }
  .level1.level1.open > .fakelink::after, .level1.level2.open > .fakelink::after,
  .level2.level1.open > .fakelink::after,
  .level2.level2.open > .fakelink::after {
    content: "×";
  }
  .level1.level1 > .fakelink,
  .level2.level1 > .fakelink {
    position: relative;
    z-index: 0;
  }
  .level1.level1 > .fakelink::after,
  .level2.level1 > .fakelink::after {
    margin-left: 1vw;
    content: "+";
    line-height: 10rem;
    font-size: 14rem;
    position: absolute;
    right: 2vw;
    top: 0;
  }
  .level1.level2 > .fakelink,
  .level2.level2 > .fakelink {
    position: relative;
    z-index: 0;
  }
  .level1.level2 > .fakelink::after,
  .level2.level2 > .fakelink::after {
    content: "+";
    line-height: 11rem;
    font-size: 11rem;
    position: absolute;
    right: 3vw;
    top: 0;
  }
}
@media screen and (min-width: 800px) {
  li.level1.navactive > a {
    color: blue;
  }
}
li.level1.navactive ul {
  display: block;
}

li.level2.navactive .active {
  color: blue;
}
li.level2.navactive ul {
  display: block;
}

li.level3.navactive a.active {
  color: blue;
}
li.level3.navactive ul {
  display: block;
}

body[ndx--showsubmenu=false] li.level1.navactive ul {
  display: none;
}
body[ndx--showsubmenu=false] li.level2.navactive ul {
  display: none;
}
body[ndx--showsubmenu=false] li.level3.navactive ul {
  display: none;
}

button.inactive {
  opacity: 0.75;
  pointer-events: none;
}

.slider {
  width: 100%;
  display: block;
  position: relative;
}
.slider figcaption div {
  display: inline;
}
.slider figcaption div.counter {
  margin-right: 2vw;
}
@media screen and (min-width: 800px) {
  .slider figcaption div.counter {
    margin-right: 0.5vw;
  }
}
.slider .slide {
  position: relative;
}
.slider .slide img {
  width: 100%;
  height: auto;
}
.slider .slide img.hidden {
  display: none;
}
.slider .prev,
.slider .next {
  position: absolute;
  top: 0;
  height: 100%;
  width: 30%;
  left: 0;
  display: flex;
  align-items: center;
  cursor: pointer;
  background-color: transparent;
}
.slider .prev.prev,
.slider .next.prev {
  cursor: w-resize;
}
.slider .prev.next,
.slider .next.next {
  cursor: e-resize;
}
.slider .next {
  left: initial;
  right: 0;
}

.videowrapper {
  position: relative;
  padding-bottom: 56.25%;
  text-align: center;
  height: 0;
}
.videowrapper iframe {
  border: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.videowrapper .noconsent {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: white;
  font-family: "Helvetica Neue Regular", "Roboto Regular", sans-serif;
  font-size: 5rem;
  letter-spacing: 0;
  font-weight: 400;
}
@media screen and (min-width: 800px) {
  .videowrapper .noconsent {
    font-size: 1rem;
    letter-spacing: -0.01rem;
  }
}
.videowrapper .noconsent .cookie-accept {
  top: 0;
  left: 0;
  position: absolute;
  border: none;
  background: transparent;
  width: 100%;
  height: 100%;
  display: block;
  text-align: center;
  padding: 0;
  cursor: default;
}
.videowrapper .noconsent .cookie-accept span {
  padding: 2vw;
  cursor: pointer;
  color: black;
}
.videowrapper .noconsent .cookie-accept span:hover {
  color: blue;
}
.videowrapper .noconsent .description {
  position: absolute;
  bottom: 0;
  width: 100%;
  margin: 0;
  font-family: "Helvetica Neue Regular", "Roboto Regular", sans-serif;
  font-size: 5rem;
  letter-spacing: 0;
  font-weight: 400;
}
@media screen and (min-width: 800px) {
  .videowrapper .noconsent .description {
    font-size: 1rem;
    letter-spacing: -0.01rem;
  }
}

.block-type-text h1,
.collapsable h1 {
  font-family: "Helvetica Neue Bold", "Roboto Bold", sans-serif;
  font-weight: 550;
  font-size: 10rem;
  letter-spacing: -0.25rem;
  font-weight: 550;
  line-height: 10rem;
  margin-bottom: 2vw;
}
@media screen and (min-width: 800px) {
  .block-type-text h1,
  .collapsable h1 {
    font-size: 3rem;
    letter-spacing: -0.01rem;
  }
}
@media screen and (min-width: 800px) {
  .block-type-text h1,
  .collapsable h1 {
    margin-bottom: 0.25vw;
    line-height: 3rem;
  }
}
.block-type-text h2,
.collapsable h2 {
  font-family: "Helvetica Neue Regular", "Roboto Regular", sans-serif;
  font-size: 10rem;
  letter-spacing: -0.25rem;
  font-weight: 400;
  line-height: 10rem;
  margin-bottom: 2vw;
}
@media screen and (min-width: 800px) {
  .block-type-text h2,
  .collapsable h2 {
    font-size: 3rem;
    letter-spacing: -0.01rem;
  }
}
@media screen and (min-width: 800px) {
  .block-type-text h2,
  .collapsable h2 {
    margin-bottom: 0.25vw;
    line-height: 3rem;
  }
}
.block-type-text h3,
.collapsable h3 {
  font-family: "Helvetica Neue Bold", "Roboto Bold", sans-serif;
  font-weight: 550;
  font-size: 7.5rem;
  line-height: 7.5rem;
  letter-spacing: -0.25rem;
  font-weight: 550;
  margin-bottom: 2vw;
}
@media screen and (min-width: 800px) {
  .block-type-text h3,
  .collapsable h3 {
    font-size: 2rem;
    line-height: 2rem;
    letter-spacing: -0.01rem;
  }
}
@media screen and (min-width: 800px) {
  .block-type-text h3,
  .collapsable h3 {
    margin-bottom: 0.25vw;
    line-height: 2rem;
  }
}
.block-type-text h4,
.collapsable h4 {
  font-family: "Helvetica Neue Regular", "Roboto Regular", sans-serif;
  font-size: 7.5rem;
  line-height: 7.5rem;
  letter-spacing: -0.25rem;
  font-weight: 400;
  margin-bottom: 2vw;
}
@media screen and (min-width: 800px) {
  .block-type-text h4,
  .collapsable h4 {
    font-size: 2rem;
    line-height: 2rem;
    letter-spacing: -0.01rem;
  }
}
@media screen and (min-width: 800px) {
  .block-type-text h4,
  .collapsable h4 {
    margin-bottom: 0.25vw;
    line-height: 2rem;
  }
}
.block-type-text h5,
.block-type-text h6,
.collapsable h5,
.collapsable h6 {
  font-family: "Helvetica Neue Bold", "Roboto Bold", sans-serif;
  font-weight: 550;
  font-size: 5rem;
  letter-spacing: 0;
  font-weight: 550;
  margin-bottom: 2vw;
}
@media screen and (min-width: 800px) {
  .block-type-text h5,
  .block-type-text h6,
  .collapsable h5,
  .collapsable h6 {
    font-size: 1rem;
    letter-spacing: -0.01rem;
  }
}
@media screen and (min-width: 800px) {
  .block-type-text h5,
  .block-type-text h6,
  .collapsable h5,
  .collapsable h6 {
    margin-bottom: 0.25vw;
    line-height: 1rem;
  }
}

.menutext {
  display: none;
  background: white;
  padding: 0.5vw;
  max-height: 50vh;
  overflow-y: scroll;
}
.menutext p {
  font-family: "Helvetica Neue Regular", "Roboto Regular", sans-serif;
  font-size: 5rem;
  letter-spacing: 0;
  font-weight: 400;
  line-height: 1.25rem;
}
@media screen and (min-width: 800px) {
  .menutext p {
    font-size: 1rem;
    letter-spacing: -0.01rem;
  }
}

.level2.navactive.open + .menutext {
  display: list-item;
}
@media screen and (max-width: 800px) {
  .level2.navactive.open + .menutext {
    display: none;
  }
}

body[ndx--target-view*=themen]:not(body[ndx--target-view*="themen/"]) .width4_4 {
  display: grid;
}

body[ndx--target-view$="diskurs/themen"] main .width3_4,
body[ndx--target-view$="diskurs/themen/"] main .width3_4 {
  display: initial;
}

.tag {
  float: left;
  background: white;
  padding: 0.5vw;
  margin-right: 0.5rem;
  margin-bottom: 0.5rem;
  align-self: start;
}
.tag p,
.tag a {
  color: blue;
  display: block;
  font-family: "Helvetica Neue Regular", "Roboto Regular", sans-serif;
  font-size: 5rem;
  letter-spacing: 0;
  font-weight: 400;
  line-height: 1.25rem;
}
@media screen and (min-width: 800px) {
  .tag p,
  .tag a {
    font-size: 1rem;
    letter-spacing: -0.01rem;
  }
}
@media screen and (max-width: 800px) {
  .tag {
    padding: 2vw;
    margin: 0;
    margin-right: 2vw;
    margin-bottom: 2vw;
  }
  .tag p,
  .tag a {
    line-height: 5rem;
  }
}

body[ndx--target-view*=wissensspeicher] .metateaser {
  margin-bottom: 0.25rem;
}

.magazin .content {
  grid-column: span 6;
}

.archivsubmenu {
  display: none;
}
.archivsubmenu.archivsubmenu ul {
  padding-bottom: 0.5rem;
}
.archivsubmenu.archivsubmenu .letter,
.archivsubmenu.archivsubmenu .letter span {
  line-height: 1.25rem;
}
.archivsubmenu .togglelist {
  display: list-item;
  padding: 0;
  line-height: 2rem;
  background: white;
  margin-bottom: 0.5rem;
  cursor: pointer;
}
.archivsubmenu .togglelist button {
  margin-bottom: 0.5rem;
}
.archivsubmenu .togglelist:before {
  font-family: "Helvetica Neue Bold", "Roboto Bold", sans-serif;
  font-weight: 550;
  font-size: 5rem;
  letter-spacing: 0;
  font-weight: 550;
  float: right;
  content: "+";
  line-height: 1.75rem;
  font-size: 1.5rem;
  margin-top: 0;
  margin-right: 0.5rem;
}
@media screen and (min-width: 800px) {
  .archivsubmenu .togglelist:before {
    font-size: 1rem;
    letter-spacing: -0.01rem;
  }
}
@media screen and (max-width: 800px) {
  .archivsubmenu .togglelist:before {
    font-family: "Helvetica Neue Bold", "Roboto Bold", sans-serif;
    font-weight: 550;
    font-size: 7.5rem;
    line-height: 7.5rem;
    letter-spacing: -0.25rem;
    font-weight: 550;
    line-height: 10rem;
    margin-right: 2rem;
  }
}
@media screen and (max-width: 800px) and (min-width: 800px) {
  .archivsubmenu .togglelist:before {
    font-size: 2rem;
    line-height: 2rem;
    letter-spacing: -0.01rem;
  }
}
.archivsubmenu .togglelist > span {
  width: 100%;
  display: list-item;
  padding: 0;
}
.archivsubmenu .togglelist ul {
  display: none;
}
.archivsubmenu .togglelist.active:before {
  content: "×";
}
.archivsubmenu .togglelist.active ul {
  display: list-item;
  margin: 0;
}
@media screen and (max-width: 800px) {
  .archivsubmenu .togglelist.active ul {
    padding-bottom: 2vw;
  }
}
.archivsubmenu .togglelist.active ul a {
  line-height: 1.25rem;
  padding-left: 0;
}
@media screen and (max-width: 800px) {
  .archivsubmenu .togglelist.active ul a {
    padding-left: 2rem;
    font-family: "Helvetica Neue Bold", "Roboto Bold", sans-serif;
    font-weight: 550;
    font-size: 7.5rem;
    line-height: 7.5rem;
    letter-spacing: -0.25rem;
    font-weight: 550;
    line-height: 8rem;
  }
}
@media screen and (max-width: 800px) and (min-width: 800px) {
  .archivsubmenu .togglelist.active ul a {
    font-size: 2rem;
    line-height: 2rem;
    letter-spacing: -0.01rem;
  }
}
.archivsubmenu .togglelist .letter span {
  padding: 0;
  margin-right: 0.2rem;
  cursor: pointer;
  display: inline;
}
.archivsubmenu .togglelist .letter span:hover, .archivsubmenu .togglelist .letter span.active {
  color: blue;
}
@media screen and (max-width: 800px) {
  .archivsubmenu .togglelist .letter {
    padding: 2vw;
    margin-top: 2vw;
    margin-bottom: 2vw;
    width: 100%;
  }
  .archivsubmenu .togglelist .letter span {
    display: inline-block;
    margin-right: 1vw;
    font-family: "Helvetica Neue Bold", "Roboto Bold", sans-serif;
    font-weight: 550;
    font-size: 7.5rem;
    line-height: 7.5rem;
    letter-spacing: -0.25rem;
    font-weight: 550;
  }
}
@media screen and (max-width: 800px) and (min-width: 800px) {
  .archivsubmenu .togglelist .letter span {
    font-size: 2rem;
    line-height: 2rem;
    letter-spacing: -0.01rem;
  }
}
@media screen and (max-width: 800px) {
  .archivsubmenu .togglelist .letter span.clear {
    margin-left: 2vw;
    line-height: 5rem;
  }
}
.archivsubmenu .togglelist .filter:hover, .archivsubmenu .togglelist .filter.activefilter {
  color: blue;
}
.archivsubmenu .togglelist .filter.hidden {
  display: none;
}

@media screen and (max-width: 800px) {
  body[ndx--target-view*=archiv] .submenu,
  body[ndx--target-view*=publikationen] .submenu {
    position: relative;
    width: 100%;
    height: auto;
    border-right: none;
    top: 0;
    margin-bottom: 2rem;
    background: none;
  }
  body[ndx--target-view*=archiv] .submenu .togglelist,
  body[ndx--target-view*=publikationen] .submenu .togglelist {
    margin-bottom: 2rem;
  }
  body[ndx--target-view*=archiv] .submenu .togglelist:last-of-type,
  body[ndx--target-view*=publikationen] .submenu .togglelist:last-of-type {
    margin-bottom: 0;
  }
  body[ndx--target-view*=archiv] .submenu .togglelist > span,
  body[ndx--target-view*=publikationen] .submenu .togglelist > span {
    padding: 2vw;
    font-family: "Helvetica Neue Bold", "Roboto Bold", sans-serif;
    font-weight: 550;
    font-size: 7.5rem;
    line-height: 7.5rem;
    letter-spacing: -0.25rem;
    font-weight: 550;
  }
}
@media screen and (max-width: 800px) and (min-width: 800px) {
  body[ndx--target-view*=archiv] .submenu .togglelist > span,
  body[ndx--target-view*=publikationen] .submenu .togglelist > span {
    font-size: 2rem;
    line-height: 2rem;
    letter-spacing: -0.01rem;
  }
}
[ndx--target-view^=archiv] .archivsubmenu,
[ndx--target-view^="en/archiv"] .archivsubmenu,
[ndx--target-view^="de/archiv"] .archivsubmenu {
  display: list-item;
}

[ndx--target-view^=shop] .shopsubmenu,
[ndx--target-view^="en/shop"] .shopsubmenu,
[ndx--target-view^="de/shop"] .shopsubmenu {
  display: list-item;
}

.submenu {
  background: rgb(0, 0, 0);
  background: -moz-linear-gradient(right, rgb(0, 0, 0) 0%, rgb(255, 255, 255) 100%);
  background: -webkit-linear-gradient(right, rgb(0, 0, 0) 0%, rgb(255, 255, 255) 100%);
  background: linear-gradient(to left, rgb(0, 0, 0) 0%, rgb(255, 255, 255) 100%);
  border-right: 2vw solid black;
  position: fixed;
  left: 0;
  top: 5.225rem;
  width: 25vw;
  height: calc(100vh - 5.225rem);
  overflow: scroll;
  z-index: 2;
}
@media screen and (min-width: 800px) {
  .submenu {
    border-right: 0.5vw solid black;
  }
}
.submenu a,
.submenu span {
  font-family: "Helvetica Neue Bold", "Roboto Bold", sans-serif;
  font-weight: 550;
  font-size: 5rem;
  letter-spacing: 0;
  font-weight: 550;
  padding: 0;
  margin-bottom: 0;
  background: white;
  display: block;
  padding-left: 0.5vw;
  line-height: 2rem;
}
@media screen and (min-width: 800px) {
  .submenu a,
  .submenu span {
    font-size: 1rem;
    letter-spacing: -0.01rem;
  }
}

.debug * {
  font-size: 1vw;
  line-height: 1.4vw;
  margin: 0.5vw 0;
  background-color: white;
}
.debug h1 {
  font-family: "Helvetica Neue Bold", "Roboto Bold", sans-serif;
  font-weight: 550;
  font-size: 7.5rem;
  line-height: 7.5rem;
  letter-spacing: -0.25rem;
  font-weight: 550;
}
@media screen and (min-width: 800px) {
  .debug h1 {
    font-size: 2rem;
    line-height: 2rem;
    letter-spacing: -0.01rem;
  }
}
.debug h2 {
  font-family: "Helvetica Neue Regular", "Roboto Regular", sans-serif;
  font-size: 7.5rem;
  line-height: 7.5rem;
  letter-spacing: -0.25rem;
  font-weight: 400;
}
@media screen and (min-width: 800px) {
  .debug h2 {
    font-size: 2rem;
    line-height: 2rem;
    letter-spacing: -0.01rem;
  }
}
.debug input[type=number] {
  width: 5vw;
  display: inline;
}
.debug input[type=number] + span {
  display: inline;
}
.debug strong {
  font-family: "Helvetica Neue Bold", "Roboto Bold", sans-serif;
  font-weight: 550;
  font-size: 5rem;
  letter-spacing: 0;
  font-weight: 550;
  display: inline-block;
  min-width: 50%;
}
@media screen and (min-width: 800px) {
  .debug strong {
    font-size: 1rem;
    letter-spacing: -0.01rem;
  }
}
.debug .thumb {
  height: 1.5vw;
  width: auto;
  display: inline;
  margin: 0;
}

span.debug {
  background-color: white;
}

.hidden {
  display: none;
}

body[ndx--target-view=suche] .width4_4 {
  display: block;
}

.logos {
  width: 100%;
  padding: 0;
  margin-bottom: 0;
  margin-top: 1rem;
}
@media screen and (max-width: 800px) {
  .logos {
    margin-top: 3rem;
  }
}
.logos img {
  height: 3rem;
  width: auto;
  margin-right: 2rem;
  margin-bottom: 1rem;
}
@media screen and (max-width: 800px) {
  .logos img {
    height: 9rem;
    margin-right: 6rem;
    margin-bottom: 3rem;
  }
}

sup.footnote,
.footnotereverse {
  cursor: pointer;
  text-decoration: underline;
}

main article .content ol.footnotes-container {
  padding-left: 7.5rem;
  margin-left: 0;
  list-style-type: decimal;
}
@media screen and (min-width: 800px) {
  main article .content ol.footnotes-container {
    padding-left: 1.5rem;
  }
}

.nest {
  position: relative;
  background: white;
  width: 100%;
  display: block;
}
@media screen and (min-width: 800px) {
  .nest {
    display: initial;
  }
}
.nest ul.head {
  display: block;
  border-right: none;
}
@media screen and (min-width: 800px) {
  .nest ul.head {
    display: initial;
  }
}

.honeypot {
  position: fixed;
  left: -9999px;
}

.filtersort {
  margin-bottom: 0.5rem;
}
.filtersort .filtercontent {
  margin-bottom: 0.5rem;
}
@media screen and (min-width: 800px) {
  .filtersort .filtercontent {
    margin-bottom: 0;
  }
}
.filtersort .filtercontent,
.filtersort .sortcontent {
  vertical-align: top;
  width: calc(100% - 0.25rem);
  display: inline-block;
  text-align: center;
  padding: 0;
  font-family: "Helvetica Neue Bold", "Roboto Bold", sans-serif;
  font-weight: 550;
  font-size: 5rem;
  letter-spacing: 0;
  font-weight: 550;
}
@media screen and (min-width: 800px) {
  .filtersort .filtercontent,
  .filtersort .sortcontent {
    font-size: 1rem;
    letter-spacing: -0.01rem;
  }
}
@media screen and (min-width: 800px) {
  .filtersort .filtercontent,
  .filtersort .sortcontent {
    width: calc(50% - 0.25rem);
  }
}
.filtersort .filtercontent p,
.filtersort .sortcontent p {
  padding: 0.375vw 0;
  background-color: white;
  cursor: pointer;
}
.filtersort .filtercontent p:before,
.filtersort .sortcontent p:before {
  float: right;
  content: "+";
  line-height: 2rem;
  font-size: 5rem;
  margin-top: 2rem;
  margin-right: 2.75rem;
}
@media screen and (min-width: 800px) {
  .filtersort .filtercontent p:before,
  .filtersort .sortcontent p:before {
    line-height: 1rem;
    font-size: 1.5rem;
    margin-top: 0;
    margin-right: 0.5rem;
  }
}
.filtersort .filtercontent ul,
.filtersort .sortcontent ul {
  display: none;
  margin-top: 0.5rem;
}
.filtersort .filtercontent ul li,
.filtersort .sortcontent ul li {
  position: relative;
  margin-top: 0.5rem;
  background: white;
  list-style-type: none;
  padding: 0.375vw 0;
  margin-left: 0;
  cursor: pointer;
}
.filtersort .filtercontent ul li.active,
.filtersort .sortcontent ul li.active {
  color: purple;
}
.filtersort .filtercontent ul li span.active,
.filtersort .sortcontent ul li span.active {
  color: purple;
}
.filtersort .filtercontent ul li span:after,
.filtersort .sortcontent ul li span:after {
  content: ", ";
}
.filtersort .filtercontent ul li span:last-of-type:after,
.filtersort .sortcontent ul li span:last-of-type:after {
  content: "";
}
.filtersort .filtercontent.open p:before,
.filtersort .sortcontent.open p:before {
  content: "×";
}
.filtersort .filtercontent.open ul,
.filtersort .sortcontent.open ul {
  display: block;
}
.filtersort .filtercontent {
  margin-right: 0.5rem;
}

[ndx--target-view=suche] .filtersort {
  margin-bottom: 0;
}

.teaser.hide {
  display: none;
}

.shoplink {
  margin-left: 0;
}
.shoplink .soldout {
  font-family: "Helvetica Neue Bold", "Roboto Bold", sans-serif;
  font-weight: 550;
  font-size: 5rem;
  letter-spacing: 0;
  font-weight: 550;
}
@media screen and (min-width: 800px) {
  .shoplink .soldout {
    font-size: 1rem;
    letter-spacing: -0.01rem;
  }
}

nav ul ul li.ngbk-cart {
  width: 100%;
  margin-left: 0;
}
@media screen and (min-width: 800px) {
  nav ul ul li.ngbk-cart details,
  nav ul ul li.ngbk-cart a {
    padding: 0;
    margin-left: 0;
    margin-bottom: 0;
    line-height: 2rem;
  }
}
nav ul ul li.ngbk-cart .cart-item h1 {
  font-family: "Helvetica Neue Bold", "Roboto Bold", sans-serif;
  font-weight: 550;
  font-size: 7.5rem;
  line-height: 7.5rem;
  letter-spacing: -0.25rem;
  font-weight: 550;
}
@media screen and (min-width: 800px) {
  nav ul ul li.ngbk-cart .cart-item h1 {
    font-size: 2rem;
    line-height: 2rem;
    letter-spacing: -0.01rem;
  }
}
nav ul ul li.ngbk-cart .cart-item h2 {
  font-family: "Helvetica Neue Regular", "Roboto Regular", sans-serif;
  font-size: 7.5rem;
  line-height: 7.5rem;
  letter-spacing: -0.25rem;
  font-weight: 400;
  margin-top: 1rem;
}
@media screen and (min-width: 800px) {
  nav ul ul li.ngbk-cart .cart-item h2 {
    font-size: 2rem;
    line-height: 2rem;
    letter-spacing: -0.01rem;
  }
}
@media screen and (min-width: 800px) {
  nav ul ul li.ngbk-cart .cart-item h2 {
    margin-top: 0;
  }
}
nav ul ul li.ngbk-cart .cart-item a {
  margin: 0;
  padding: 4rem 0 2rem 0;
}
@media screen and (min-width: 800px) {
  nav ul ul li.ngbk-cart .cart-item a {
    padding: 0 0;
  }
}
nav ul ul li.ngbk-cart .cart-section {
  margin-top: 4rem;
}
nav ul ul li.ngbk-cart .cart-section:first-of-type {
  margin-top: 0;
}
@media screen and (min-width: 800px) {
  nav ul ul li.ngbk-cart .cart-section {
    margin-top: 1rem;
  }
}
nav ul ul li.ngbk-cart .cart-toggle,
nav ul ul li.ngbk-cart .cart-item,
nav ul ul li.ngbk-cart .cart-info,
nav ul ul li.ngbk-cart .cart-checkout {
  width: 100%;
  padding: 0 0.5vw;
  margin-top: 0.5rem;
  background: white;
}
nav ul ul li.ngbk-cart .cart-toggle span,
nav ul ul li.ngbk-cart .cart-item span,
nav ul ul li.ngbk-cart .cart-info span,
nav ul ul li.ngbk-cart .cart-checkout span {
  float: right;
}
nav ul ul li.ngbk-cart .cart-checkout {
  padding: 0;
  margin-top: 4rem;
}
@media screen and (min-width: 800px) {
  nav ul ul li.ngbk-cart .cart-checkout {
    padding: 0 0.5rem;
    margin-top: 0;
  }
}
nav ul ul li.ngbk-cart .cart-toggle {
  width: 100%;
  padding: 0 0.5vw;
  margin-bottom: 0;
  background: white;
}
nav ul ul li.ngbk-cart .cart-toggle span {
  float: initial;
}
nav ul ul li.ngbk-cart .cart-info {
  margin-top: 2.5rem;
}
@media screen and (min-width: 800px) {
  nav ul ul li.ngbk-cart .cart-info {
    margin-top: 0;
  }
}
nav ul ul li.ngbk-cart .cart-info.tax div strong, nav ul ul li.ngbk-cart .cart-info.sumnoshipping strong {
  width: 60%;
  display: inline-block;
}
@media screen and (min-width: 800px) {
  nav ul ul li.ngbk-cart .cart-info.tax div strong, nav ul ul li.ngbk-cart .cart-info.sumnoshipping strong {
    width: initial;
    background: initial;
    display: initial;
  }
}

html[lang=en] nav ul ul li.ngbk-cart .cart-info.tax div strong, html[lang=en] nav ul ul li.ngbk-cart .cart-info.sumnoshipping strong {
  width: 64%;
}
@media screen and (min-width: 800px) {
  html[lang=en] nav ul ul li.ngbk-cart .cart-info.tax div strong, html[lang=en] nav ul ul li.ngbk-cart .cart-info.sumnoshipping strong {
    width: initial;
  }
}

.tinythumb {
  height: 5.4rem;
  width: auto;
}
@media screen and (min-width: 800px) {
  .tinythumb {
    height: 1.45rem;
  }
}

[ndx--target-view=kasse] .fakelink[ndx--target="shop/publikationen"] + ul,
[ndx--target-view$=checkout] .fakelink[ndx--target="shop/publikationen"] + ul,
[ndx--target-view^="orders/"] .fakelink[ndx--target="shop/publikationen"] + ul {
  display: block;
}
.debug {
  font-size: 1rem !important;
  display: block !important;
}

main article.checkout abbr[title] {
  text-decoration: none;
}
main article.checkout .cart,
main article.checkout .checkout-form,
main article.checkout .notice {
  grid-column: span 6;
  align-self: start;
}
main article.checkout .cart > div,
main article.checkout .cart .cart-section {
  padding: 0;
  background: initial;
}
main article.checkout .cart > div .cart-info > div,
main article.checkout .cart .cart-section .cart-info > div {
  margin-bottom: 0;
}
main article.checkout .cart > div .cart-item,
main article.checkout .cart .cart-section .cart-item {
  background: white;
  margin-top: 0.5rem;
}
main article.checkout .cart > div .cart-item:first-of-type,
main article.checkout .cart .cart-section .cart-item:first-of-type {
  margin-top: 0;
}
main article.checkout .cart > div .cart-item a,
main article.checkout .cart .cart-section .cart-item a {
  pointer-events: none;
}
main article.checkout .cart > div .cart-item h1,
main article.checkout .cart .cart-section .cart-item h1 {
  font-family: "Helvetica Neue Bold", "Roboto Bold", sans-serif;
  font-weight: 550;
  font-size: 7.5rem;
  line-height: 7.5rem;
  letter-spacing: -0.25rem;
  font-weight: 550;
}
@media screen and (min-width: 800px) {
  main article.checkout .cart > div .cart-item h1,
  main article.checkout .cart .cart-section .cart-item h1 {
    font-size: 2rem;
    line-height: 2rem;
    letter-spacing: -0.01rem;
  }
}
main article.checkout .cart > div .cart-item h2,
main article.checkout .cart .cart-section .cart-item h2 {
  font-family: "Helvetica Neue Regular", "Roboto Regular", sans-serif;
  font-size: 7.5rem;
  line-height: 7.5rem;
  letter-spacing: -0.25rem;
  font-weight: 400;
}
@media screen and (min-width: 800px) {
  main article.checkout .cart > div .cart-item h2,
  main article.checkout .cart .cart-section .cart-item h2 {
    font-size: 2rem;
    line-height: 2rem;
    letter-spacing: -0.01rem;
  }
}
@media screen and (min-width: 800px) {
  main article.checkout .cart > div .cart-item h2,
  main article.checkout .cart .cart-section .cart-item h2 {
    line-height: 2rem;
  }
}
main article.checkout .cart > div .cart-item .tinythumb,
main article.checkout .cart .cart-section .cart-item .tinythumb {
  height: 5.4rem;
  width: auto;
}
@media screen and (min-width: 800px) {
  main article.checkout .cart > div .cart-item .tinythumb,
  main article.checkout .cart .cart-section .cart-item .tinythumb {
    height: 1.45rem;
  }
}
main article.checkout .cart > div .cart-item .cart-amount,
main article.checkout .cart .cart-section .cart-item .cart-amount {
  padding: 0;
  margin: 1rem 0 0 0;
  font-family: "Helvetica Neue Bold", "Roboto Bold", sans-serif;
  font-weight: 550;
  font-size: 5rem;
  letter-spacing: 0;
  font-weight: 550;
}
@media screen and (min-width: 800px) {
  main article.checkout .cart > div .cart-item .cart-amount,
  main article.checkout .cart .cart-section .cart-item .cart-amount {
    font-size: 1rem;
    letter-spacing: -0.01rem;
  }
}
@media screen and (min-width: 800px) {
  main article.checkout .cart > div .cart-item .cart-amount,
  main article.checkout .cart .cart-section .cart-item .cart-amount {
    margin: 0;
  }
}
main article.checkout .cart > div .cart-item .cart-amount strong,
main article.checkout .cart .cart-section .cart-item .cart-amount strong {
  font-family: "Helvetica Neue Bold", "Roboto Bold", sans-serif;
  font-weight: 550;
  font-size: 5rem;
  letter-spacing: 0;
  font-weight: 550;
}
@media screen and (min-width: 800px) {
  main article.checkout .cart > div .cart-item .cart-amount strong,
  main article.checkout .cart .cart-section .cart-item .cart-amount strong {
    font-size: 1rem;
    letter-spacing: -0.01rem;
  }
}
main article.checkout .cart > div .cart-item .cart-amount span,
main article.checkout .cart .cart-section .cart-item .cart-amount span {
  float: right;
}
main article.checkout .cart > div .cart-info,
main article.checkout .cart .cart-section .cart-info {
  padding-left: 0.5rem;
  font-family: "Helvetica Neue Bold", "Roboto Bold", sans-serif;
  font-weight: 550;
  font-size: 5rem;
  letter-spacing: 0;
  font-weight: 550;
  background: white;
  margin-top: 0.5rem;
}
@media screen and (min-width: 800px) {
  main article.checkout .cart > div .cart-info,
  main article.checkout .cart .cart-section .cart-info {
    font-size: 1rem;
    letter-spacing: -0.01rem;
  }
}
main article.checkout .cart > div .cart-info > div,
main article.checkout .cart .cart-section .cart-info > div {
  padding: 0;
}
main article.checkout .cart > div .cart-info strong,
main article.checkout .cart .cart-section .cart-info strong {
  font-family: "Helvetica Neue Bold", "Roboto Bold", sans-serif;
  font-weight: 550;
  font-size: 5rem;
  letter-spacing: 0;
  font-weight: 550;
}
@media screen and (min-width: 800px) {
  main article.checkout .cart > div .cart-info strong,
  main article.checkout .cart .cart-section .cart-info strong {
    font-size: 1rem;
    letter-spacing: -0.01rem;
  }
}
main article.checkout .cart > div .cart-info span,
main article.checkout .cart .cart-section .cart-info span {
  float: right;
}
main article.checkout .cart > div .cart-checkout,
main article.checkout .cart .cart-section .cart-checkout {
  display: none;
}
main article.checkout .checkout-form {
  background: white;
  margin-bottom: 0.5rem;
  padding: 0.5vw;
}
main article.checkout .checkout-form > .form-label.big:nth-of-type(1) {
  margin-top: 0;
}
main article.checkout .checkout-form .form-floating {
  position: relative;
  grid-column: span 1;
  margin-top: 2vw;
}
@media screen and (min-width: 800px) {
  main article.checkout .checkout-form .form-floating {
    margin-top: 1vw;
  }
}
main article.checkout .checkout-form .form-floating:last-of-type {
  margin-bottom: 0;
}
main article.checkout .checkout-form .form-floating input {
  height: calc(14rem + 2px);
  line-height: 1.25;
  padding-left: 1.5vw;
  width: 100%;
  border: 0.75vw solid black;
  font-family: "Helvetica Neue Regular", "Roboto Regular", sans-serif;
  font-size: 5rem;
  letter-spacing: 0;
  font-weight: 400;
}
@media screen and (min-width: 800px) {
  main article.checkout .checkout-form .form-floating input {
    font-size: 1rem;
    letter-spacing: -0.01rem;
  }
}
@media screen and (min-width: 800px) {
  main article.checkout .checkout-form .form-floating input {
    height: calc(3.5rem + 2px);
    line-height: 5rem;
    padding-left: 0.5vw;
    border: 0.125vw solid black;
    font-size: 1.5rem;
  }
}
main article.checkout .checkout-form .form-floating input::placeholder {
  color: transparent;
}
main article.checkout .checkout-form .form-floating label {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 1rem 1.125rem;
  overflow: hidden;
  text-align: start;
  text-overflow: ellipsis;
  white-space: nowrap;
  pointer-events: none;
  border: 1px solid transparent;
  transform-origin: 0 0;
  transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out;
}
@media screen and (min-width: 800px) {
  main article.checkout .checkout-form .form-floating label {
    padding: 1.1vw 0.5vw;
  }
}
main article.checkout .checkout-form .form-floating label.selectlabel {
  font-family: "Helvetica Neue Bold", "Roboto Bold", sans-serif;
  font-weight: 550;
  font-size: 5rem;
  letter-spacing: 0;
  font-weight: 550;
  color: black;
  position: relative;
  padding: 0;
  margin-bottom: 1vw;
}
@media screen and (min-width: 800px) {
  main article.checkout .checkout-form .form-floating label.selectlabel {
    font-size: 1rem;
    letter-spacing: -0.01rem;
  }
}
main article.checkout .checkout-form .form-floating input:focus ~ label,
main article.checkout .checkout-form .form-floating input:not(:placeholder-shown) ~ label {
  opacity: 0.5;
  transform: scale(0.75) translateY(-0.75rem) translate(0.25rem);
}
main article.checkout .checkout-form .form-floating input:-webkit-autofill ~ label {
  opacity: 0.5;
  transform: scale(0.85) translateY(-0.5rem) translate(0.15rem);
}
main article.checkout .field[data-type=select] + .field[data-type=checkbox] {
  margin-top: 1vw;
}
main article.checkout .field[data-type=radio] {
  display: block;
}
main article.checkout .field[data-name=billingaddressisshippingaddress] {
  margin-bottom: 1rem;
}
main article.checkout .notice {
  background: white;
}
main article.checkout .notice h1 {
  font-family: "Helvetica Neue Bold", "Roboto Bold", sans-serif;
  font-weight: 550;
  font-size: 7.5rem;
  line-height: 7.5rem;
  letter-spacing: -0.25rem;
  font-weight: 550;
}
@media screen and (min-width: 800px) {
  main article.checkout .notice h1 {
    font-size: 2rem;
    line-height: 2rem;
    letter-spacing: -0.01rem;
  }
}
main article.checkout .form-label.big {
  margin-bottom: 0;
  margin-top: 2rem;
}
@media screen and (min-width: 800px) {
  main article.checkout .form-label.big {
    margin-top: 1rem;
  }
}
main article.checkout .form-label.big.no-mt {
  margin-top: 0;
}
main article.checkout .payment-methods .field {
  margin: 0;
  font-family: "Helvetica Neue Regular", "Roboto Regular", sans-serif;
  font-size: 5rem;
  letter-spacing: 0;
  font-weight: 400;
  padding: 0.5rem;
}
@media screen and (min-width: 800px) {
  main article.checkout .payment-methods .field {
    font-size: 1rem;
    letter-spacing: -0.01rem;
  }
}
main article.checkout .payment-methods .field input[disabled] {
  opacity: 0.3;
}
main article.checkout .payment-methods .field input[disabled] + label {
  opacity: 0.3;
}
main article.checkout .submit-form {
  margin: 2rem 0 1rem 0;
}
@media screen and (min-width: 800px) {
  main article.checkout .submit-form {
    margin: 0;
  }
}

main article.checkout .checkout-form .form-floating .delivery-methods {
  padding: 0;
  display: inline-block;
  width: 100%;
}
main article.checkout .checkout-form .form-floating .delivery-methods label.selectlabel {
  width: initial;
  grid-column: none;
  vertical-align: middle;
}
main article.checkout .checkout-form .form-floating .delivery-methods select {
  grid-column: none;
  vertical-align: middle;
}

[ndx--target-view$=checkout] header .ngbk-cart {
  display: none;
  opacity: 0.1;
}

main article.order h1.mid {
  font-family: "Helvetica Neue Bold", "Roboto Bold", sans-serif;
  font-weight: 550;
  font-size: 7.5rem;
  line-height: 7.5rem;
  letter-spacing: -0.25rem;
  font-weight: 550;
}
@media screen and (min-width: 800px) {
  main article.order h1.mid {
    font-size: 2rem;
    line-height: 2rem;
    letter-spacing: -0.01rem;
  }
}
main article.order .invoice-item {
  grid-column: span 4;
  align-self: start;
  margin-bottom: 2rem;
}
@media screen and (min-width: 800px) {
  main article.order .invoice-item {
    margin-bottom: 0.5rem;
  }
}
main article.order .invoice-date {
  background-color: white;
}
main article.order .invoice-date strong {
  font-family: "Helvetica Neue Regular", "Roboto Regular", sans-serif;
  font-size: 5rem;
  letter-spacing: 0;
  font-weight: 400;
  padding: 0.5rem;
}
@media screen and (min-width: 800px) {
  main article.order .invoice-date strong {
    font-size: 1rem;
    letter-spacing: -0.01rem;
  }
}
main article.order .invoice-cart {
  margin: 0;
}
main article.order .invoice-address {
  background-color: white;
}
main article.order .invoice-address.table {
  padding: 0;
  margin: 0;
}
main article.order .invoice-address.table p {
  margin: 0;
  padding: 0 0.5rem;
}
main article.order .invoice-address p {
  font-family: "Helvetica Neue Regular", "Roboto Regular", sans-serif;
  font-size: 5rem;
  letter-spacing: 0;
  font-weight: 400;
  padding: 0.5rem;
}
@media screen and (min-width: 800px) {
  main article.order .invoice-address p {
    font-size: 1rem;
    letter-spacing: -0.01rem;
  }
}
main article.order .invoice-address strong {
  font-family: "Helvetica Neue Bold", "Roboto Bold", sans-serif;
  font-weight: 550;
  font-size: 5rem;
  letter-spacing: 0;
  font-weight: 550;
}
@media screen and (min-width: 800px) {
  main article.order .invoice-address strong {
    font-size: 1rem;
    letter-spacing: -0.01rem;
  }
}
main article.order .cart {
  background: initial;
  padding: 0;
  margin-bottom: 0;
}
main article.order .cart .cart-item {
  background: white;
  padding: 0.5rem;
  margin: 0;
  margin-bottom: 2rem;
}
@media screen and (min-width: 800px) {
  main article.order .cart .cart-item {
    margin-bottom: 0.5rem;
  }
}
main article.order .cart .cart-item div {
  padding: 0;
}
main article.order .cart .cart-item a {
  pointer-events: none;
}
main article.order .cart .cart-item h1 {
  font-family: "Helvetica Neue Bold", "Roboto Bold", sans-serif;
  font-weight: 550;
  font-size: 7.5rem;
  line-height: 7.5rem;
  letter-spacing: -0.25rem;
  font-weight: 550;
}
@media screen and (min-width: 800px) {
  main article.order .cart .cart-item h1 {
    font-size: 2rem;
    line-height: 2rem;
    letter-spacing: -0.01rem;
  }
}
main article.order .cart .cart-item h2 {
  font-family: "Helvetica Neue Regular", "Roboto Regular", sans-serif;
  font-size: 7.5rem;
  line-height: 7.5rem;
  letter-spacing: -0.25rem;
  font-weight: 400;
}
@media screen and (min-width: 800px) {
  main article.order .cart .cart-item h2 {
    font-size: 2rem;
    line-height: 2rem;
    letter-spacing: -0.01rem;
  }
}
@media screen and (min-width: 800px) {
  main article.order .cart .cart-item h2 {
    line-height: 2rem;
  }
}
main article.order .cart .cart-item .tinythumb {
  height: 5.4rem;
  width: auto;
}
@media screen and (min-width: 800px) {
  main article.order .cart .cart-item .tinythumb {
    height: 1.45rem;
  }
}
main article.order .cart .cart-item .cart-amount {
  padding: 0;
  margin-top: 1rem;
  font-family: "Helvetica Neue Bold", "Roboto Bold", sans-serif;
  font-weight: 550;
  font-size: 5rem;
  letter-spacing: 0;
  font-weight: 550;
}
@media screen and (min-width: 800px) {
  main article.order .cart .cart-item .cart-amount {
    font-size: 1rem;
    letter-spacing: -0.01rem;
  }
}
main article.order .cart .cart-item .cart-amount strong {
  font-family: "Helvetica Neue Bold", "Roboto Bold", sans-serif;
  font-weight: 550;
  font-size: 5rem;
  letter-spacing: 0;
  font-weight: 550;
}
@media screen and (min-width: 800px) {
  main article.order .cart .cart-item .cart-amount strong {
    font-size: 1rem;
    letter-spacing: -0.01rem;
  }
}
main article.order .cart .cart-item .cart-amount span {
  float: right;
}
main article.order .cart .cart-info {
  background: white;
  font-family: "Helvetica Neue Bold", "Roboto Bold", sans-serif;
  font-weight: 550;
  font-size: 5rem;
  letter-spacing: 0;
  font-weight: 550;
  margin-top: 0.5rem;
}
@media screen and (min-width: 800px) {
  main article.order .cart .cart-info {
    font-size: 1rem;
    letter-spacing: -0.01rem;
  }
}
main article.order .cart .cart-info > div {
  padding: 0;
}
main article.order .cart .cart-info strong {
  font-family: "Helvetica Neue Bold", "Roboto Bold", sans-serif;
  font-weight: 550;
  font-size: 5rem;
  letter-spacing: 0;
  font-weight: 550;
}
@media screen and (min-width: 800px) {
  main article.order .cart .cart-info strong {
    font-size: 1rem;
    letter-spacing: -0.01rem;
  }
}
main article.order .cart .cart-info span {
  float: right;
}
main article.order .cart .cart-checkout {
  display: none;
}
main article.order .invoice-print {
  background: white;
  padding: 1.5rem 0.5rem;
}
@media screen and (min-width: 800px) {
  main article.order .invoice-print {
    padding: 0.5rem 0.5rem;
  }
}

button.shopbutton {
  margin: 0;
  border: 0.75vw solid black;
  display: inline-block;
  padding: 1rem 1.5rem 1.5rem 1.5rem;
  border-radius: 20rem;
  text-align: center;
  width: 100%;
  color: black;
}
@media screen and (min-width: 800px) {
  button.shopbutton {
    margin: 0;
    border: 0.125vw solid black;
    padding: 0.5rem;
    border-radius: 1rem;
  }
}
button.shopbutton.checkoutbutton {
  padding: 3rem 1.5rem 1.5rem 1.5rem;
}
@media screen and (min-width: 800px) {
  button.shopbutton.checkoutbutton {
    padding: 0 0.5rem;
    margin: 0.5rem 0.5rem 0.5rem 0;
  }
}
button.shopbutton a {
  padding: 0;
  line-height: 1rem;
  background: transparent;
}
button.shopbutton:hover {
  border-color: blue;
  color: blue;
}
button.shopbutton:hover a {
  color: blue;
}

.theshopmenu {
  font-family: "Helvetica Neue Bold", "Roboto Bold", sans-serif;
  font-weight: 550;
  font-size: 5rem;
  letter-spacing: 0;
  font-weight: 550;
}
@media screen and (min-width: 800px) {
  .theshopmenu {
    font-size: 1rem;
    letter-spacing: -0.01rem;
  }
}
.theshopmenu select {
  font-family: "Helvetica Neue Bold", "Roboto Bold", sans-serif;
  font-weight: 550;
  font-size: 5rem;
  letter-spacing: 0;
  font-weight: 550;
}
@media screen and (min-width: 800px) {
  .theshopmenu select {
    font-size: 1rem;
    letter-spacing: -0.01rem;
  }
}

select {
  font-family: "Helvetica Neue Bold", "Roboto Bold", sans-serif;
  font-weight: 550;
  font-size: 5rem;
  letter-spacing: 0;
  font-weight: 550;
  line-height: 0;
  display: inline-block;
  vertical-align: middle;
  padding: 0 0 0 0.5rem;
}
@media screen and (min-width: 800px) {
  select {
    font-size: 1rem;
    letter-spacing: -0.01rem;
  }
}
strong + select, label + select {
  margin-left: 0.25rem;
}

.update-variant {
  display: inline-block;
  vertical-align: middle;
}

[data-slot=stockInfo]:empty {
  display: none;
}

[data-name=billingaddressisshippingaddress] {
  margin-top: 1rem;
}

.sumnoshipping {
  background-color: transparent;
}
.sumnoshipping a {
  display: inline;
  margin: 0;
  padding: 0 !important;
  background-color: transparent;
}

a.shipping {
  display: inline;
  margin: 0;
  padding: 0 !important;
}

body.addedtomobile .head .menu::after {
  transform: rotate(720deg);
  transition: transform 1s linear;
  display: inline-block;
  transform-origin: 50% 66%;
  color: blue;
}
@media screen and (min-width: 800px) {
  body.addedtomobile .head .menu::after {
    transform: rotate(0deg);
    transition: none;
    display: inline-block;
    transform-origin: 50% 66%;
    color: black;
  }
}

/* Hide the element by default */
#media-query-detector {
  display: none;
}
@media screen and (min-width: 800px) {
  #media-query-detector {
    display: block !important;
  }
}

.mitgliederbereich .loggedin h1 {
  font-family: "Helvetica Neue Bold", "Roboto Bold", sans-serif;
  font-weight: 550;
  font-size: 7.5rem;
  line-height: 7.5rem;
  letter-spacing: -0.25rem;
  font-weight: 550;
}
@media screen and (min-width: 800px) {
  .mitgliederbereich .loggedin h1 {
    font-size: 2rem;
    line-height: 2rem;
    letter-spacing: -0.01rem;
  }
}

.loggedin h1 {
  font-family: "Helvetica Neue Bold", "Roboto Bold", sans-serif;
  font-weight: 550;
  font-size: 7.5rem;
  line-height: 7.5rem;
  letter-spacing: -0.25rem;
  font-weight: 550;
}
@media screen and (min-width: 800px) {
  .loggedin h1 {
    font-size: 2rem;
    line-height: 2rem;
    letter-spacing: -0.01rem;
  }
}
.loggedin .metateaser {
  padding: 0;
}
.loggedin .metateaser span {
  font-family: "Helvetica Neue Bold", "Roboto Bold", sans-serif;
  font-weight: 550;
  font-size: 5rem;
  letter-spacing: 0;
  font-weight: 550;
  display: inline-block;
  min-width: 50%;
}
@media screen and (min-width: 800px) {
  .loggedin .metateaser span {
    font-size: 1rem;
    letter-spacing: -0.01rem;
  }
}
.loggedin .metateaser strong {
  font-family: "Helvetica Neue Bold", "Roboto Bold", sans-serif;
  font-weight: 550;
  font-size: 5rem;
  letter-spacing: 0;
  font-weight: 550;
}
@media screen and (min-width: 800px) {
  .loggedin .metateaser strong {
    font-size: 1rem;
    letter-spacing: -0.01rem;
  }
}

.memberinfo {
  display: flex;
  justify-content: space-between;
}

.memberregister {
  font-family: "Helvetica Neue Regular", "Roboto Regular", sans-serif;
  font-size: 5rem;
  letter-spacing: 0;
  font-weight: 400;
}
@media screen and (min-width: 800px) {
  .memberregister {
    font-size: 1rem;
    letter-spacing: -0.01rem;
  }
}

.form-label.big + .form-floating {
  margin-top: 0.5rem;
}

.relateddates .teaser .metateaser {
  margin-bottom: 0;
}