@charset "UTF-8";
@import 'components/cart.css';
@import 'components/field.css';
@import 'components/footer.css';
@import 'components/grid.css';
@import 'components/notice.css';
@import 'components/product-grid.css';
*,
*::before,
*::after {
  box-sizing: border-box;
}

*:focus {
  outline: none;
}

a {
  text-decoration: none;
  color: currentColor;
  cursor: pointer;
}

button {
  background-color: transparent;
  color: currentColor;
  border-width: 0;
  padding: 0;
  cursor: pointer;
  font-weight: inherit;
  font-size: inherit;
  font-family: inherit;
}

button:not(:disabled) {
  cursor: pointer;
}

figure {
  margin: 0;
}

input::-moz-focus-inner {
  border: 0;
  padding: 0;
  margin: 0;
}

input {
  font-weight: inherit;
}

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

h1, h2, h3, h4, h5, h6 {
  margin: 0;
  font-size: inherit;
  font-weight: inherit;
}

p {
  margin: 0;
}

cite {
  font-style: normal;
}

fieldset {
  border-width: 0;
  padding: 0;
  margin: 0;
}

li {
  list-style: none;
}

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

input {
  border-radius: 0;
}

code, pre {
  font-family: inherit;
  font-size: inherit;
  margin: 0;
}

textarea {
  font-family: inherit;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus {
  -webkit-text-fill-color: var(--text-color);
  -webkit-box-shadow: 0 0 0px 1000px var(--bg-color) inset;
}

:root {
  --color-gray-100: #f7f7f7;
  --color-gray-200: #efefef;
  --color-gray-300: #ddd;
  --color-gray-400: #ccc;
  --color-gray-500: #999;
  --color-gray-600: #777;
  --color-gray-700: #595959;
  --color-gray-800: #3e3e3e;
  --color-gray-900: #292929;
  --color-red: #FF8B67;
  --color-green: #CDFFDB;
  --color-white: #fff;
  --color-black: #000;
  --color-lila: #D8DBFF;
  --color-yellow: #E4FF79;
  --color-beige: #DFE1D0;
  --color-nicebeige: #F1ECE2;
  --color-darkish: #515A67;
  --color-grayish: #9FADBA;
  --color-gray: #F2F2F2;
}

.svgfilter {
  display: block;
  height: 0;
  width: 0;
}

@media print {
  body.order {
    background: white;
  }
  body.order h1 svg {
    width: 300px !important;
  }
  body.order .usermenu, body.order #menubutton {
    display: none !important;
  }
  body.order .guestlist {
    margin-bottom: 60rem !important;
  }
  body.order .cart .items {
    display: grid;
    width: 100% !important;
    grid-template-columns: 1fr 1fr;
    grid-gap: 20rem;
  }
  body.order .cart .items .itemcontainer {
    padding: 20rem !important;
  }
  body.order .cart .items .sum, body.order .cart .items .zwischenprice, body.order .cart .items .quantity {
    width: 100% !important;
  }
  body.order .orderfooter {
    width: calc(50% - 10rem) !important;
  }
  body.order .invoicenumber {
    position: absolute;
    right: 60rem;
    top: 60rem;
    font-size: 22rem;
  }
  body.order p.date {
    position: absolute;
    right: 60rem;
    top: calc(60rem + 1em);
  }
  body.order div.cart > div > div > div.orderfooter {
    background: var(--color-gray);
  }
  body.order .invoiceinfo {
    margin-left: calc(50% - 10rem);
  }
}
body {
  margin: 0;
  padding: 30rem;
  position: relative;
  background: var(--bg-color);
  color: var(--text-color);
}
@media (min-width: 769px) {
  body {
    padding: 60rem;
  }
}
@media (max-width: 768px) {
  body #news {
    background-color: #ff8b67;
  }
  body #dieidee {
    background-color: #e4ff79;
  }
  body #mitmachen {
    background-color: #d8dbff;
  }
  body #dabeisein {
    background-color: #cdffdb;
  }
  body #infos {
    background-color: #c4baa9;
  }
  body #lineup {
    background-color: #ff8b67;
  }
  body #souveniers {
    background-color: #ff8b67;
  }
}
body #menubutton {
  background: var(--ui-color);
  color: var(--contrast-color);
}
body #menu .inner {
  background: var(--ui-color);
  color: var(--text-color);
}
body h1 {
  color: var(--ui-color);
}
body .button, body .styloform .button {
  color: inherit;
  background: var(--color-black);
  color: var(--color-gray);
  transition: all 0.25s;
}
body .button:hover, body .styloform .button:hover {
  transform: translateY(-10rem);
}
body .usermenu figure {
  background: var(--ui-color);
}
body .usermenu.open {
  background: var(--ui-color);
}
body .notifications .error {
  background: var(--color-red);
}
body .notifications .success {
  background: var(--color-green);
}
body .usermenu.open, body #menu .inner {
  background: var(--ui-color);
  color: var(--contrast-color);
}
body .menucontent {
  background: var(--ui-color);
  color: var(--text-color);
}
body .menuitem {
  background: var(--ui-color);
  color: var(--contrast-color);
}
body .superbutton {
  background: var(--ui-color);
  color: var(--contrast-color);
}
body .superbutton:hover {
  background: var(--color-yellow);
  color: var(--color-black);
}
body.talktalktalk .single-komment {
  background: var(--ui-lila);
}
body #kommentform {
  background-color: var(--bg-color);
}
body #kommentform textarea {
  background-color: var(--ui-color);
}
body.product-variants.limitreached .cartbutton button {
  background: var(--color-red);
  color: var(--color-black);
}
body.product-variants.shopclosed .cartbutton button {
  background: var(--color-gray);
  color: var(--color-black);
}
body div.variantselect:hover {
  background-color: var(--ui-color);
}
body div.variantselect .selected {
  background-color: var(--color-gray-200);
}
body div.variantselect input:checked {
  background-color: var(--text-color);
}
body div.variantselect input:checked + .selected {
  background-color: var(--ui-color);
}
body.product-variants .accordion.open .check {
  background-color: var(--text-color);
}
body.checkout.limitreached #secondpersontoggle {
  background: var(--text-color);
  color: var(--text-color);
}
body.game {
  --bg-color: var(--color-green);
  --text-color: var(--color-black);
  --ui-color: var(--color-grayish);
  --contrast-color: var(--color-darkish);
}
body.talktalktalk {
  --bg-color: var(--color-black);
  --text-color: var(--color-lila);
  --ui-color: var(--color-lila);
  --contrast-color: var(--color-black);
}
body.talktalktalk #kommentsWebmentions .single-komment .newcomment .right > *:last-child {
  background: var(--color-grayish);
  color: var(--color-black);
}
body.talktalktalk #kommentform input[type=submit] {
  background: var(--color-lila);
  color: var(--color-black);
}
body.talktalktalk #menu .inner footer a.active, body.talktalktalk #menu .inner footer a:hover {
  background-color: var(--color-black) !important;
  color: var(--text-color) !important;
  border-right: 1px solid var(--color-black) !important;
}
body.product-variants, body.checkout {
  --bg-color: var(--color-lila);
  --text-color: var(--color-black);
  --ui-color: var(--color-green);
  --contrast-color: var(--color-darkish);
  --grinsecolor: var(--color-gray-200);
}
body.product-variants .cart[data-theme=dark], body.checkout .cart[data-theme=dark] {
  background-color: var(--color-gray-200);
}
body.product-variants #menu #a {
  --grinsecolor: var(--text-color);
}
body.order, body.kassensturz {
  --bg-color: var(--color-gray);
  --text-color: var(--color-grayish);
  --ui-color: var(--color-grayish);
  --contrast-color: var(--color-darkish);
}
body.order .cart .itemcontainer, body.kassensturz .cart .itemcontainer {
  background: var(--ui-color);
  color: var(--color-white);
}
body.order .orderfooter, body.kassensturz .orderfooter {
  background-color: var(--color-white);
}
body.order #menu .inner footer a.active, body.order #menu .inner footer a:hover, body.kassensturz #menu .inner footer a.active, body.kassensturz #menu .inner footer a:hover {
  background-color: var(--color-black) !important;
  color: var(--text-color) !important;
  border-right: 1px solid var(--color-black) !important;
}
body.home:not(.loggedin), body.registration, body.login, body.passwordreset, body.shop, body.subscribe {
  --bg-color: var(--color-lila);
  --text-color: var(--color-darkish);
  --ui-color: var(--color-yellow);
  --contrast-color: var(--color-darkish);
}
body.account {
  --bg-color: var(--color-grayish);
  --text-color: var(--color-darkish);
  --ui-color: var(--color-lila);
  --contrast-color: var(--color-darkish);
}
body.account .ticket {
  background-color: var(--color-darkish);
  color: var(--color-lila);
}
body.account .invitecodes {
  background-color: var(--ui-color);
}
body h1 {
  line-height: 0.9;
  margin-bottom: 30rem;
  z-index: 2;
  display: inline-block;
  transform: translate(-15rem, -15rem);
}
@media (min-width: 769px) {
  body h1 {
    margin-bottom: 60rem;
    transform: none;
  }
}
body h1 a {
  display: block;
}
body h1 svg {
  width: 70vw;
}
@media (min-width: 769px) {
  body h1 svg {
    width: 450rem;
  }
}
body h1:hover svg {
  transform: rotate(180deg) translateX(-1px);
}
body.home.loggedin h1 {
  position: fixed;
  top: 15rem;
  left: 15rem;
  transform: none;
}
@media (min-width: 769px) {
  body.home.loggedin h1 {
    top: 30rem;
    left: 30rem;
  }
  body.home.loggedin h1 svg {
    width: 450rem;
  }
}
body.menuopen {
  overflow: hidden;
}
body.menuopen .header, body.menuopen .usermenu, body.menuopen main, body.menuopen h1, body.menuopen .superbutton {
  opacity: 0.25;
  animation-play-state: paused;
}
body.home.loggedin header.header {
  display: none;
  z-index: 50;
}
body.home.loggedin.menuopen header.header {
  display: block;
}
body.usermenuopen .header, body.usermenuopen #menu, body.usermenuopen main, body.usermenuopen h1, body.usermenuopen .superbutton {
  opacity: 0.25;
  animation-play-state: paused;
}
@media (min-width: 769px) {
  body.admin.account .invitecodes ul {
    -moz-columns: 2;
         columns: 2;
  }
}

body #menubutton {
  top: 50%;
  right: -1px;
  border: 1px solid;
  transform: rotate(-90deg) translate(30%, 30%);
  position: fixed;
  padding: 20rem;
  z-index: 12;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  margin: 0;
  line-height: inherit;
  display: block;
}
body.menuopen #menubutton {
  opacity: 0;
  visibility: hidden;
}
body .theclose {
  width: calc(100% + 2px);
  transform: translateY(100%);
  bottom: -1px;
  right: -1px;
  border: 1px solid;
  padding: 20rem;
  opacity: 0;
  visibility: hidden;
  z-index: 80;
  text-align: center;
}
@media (min-width: 769px) {
  body .theclose {
    transform: none;
    display: none;
    border: none;
    padding: 0;
    right: unset;
    bottom: unset;
    left: 0;
    top: 0;
    width: 60%;
    height: 100%;
    background: transparent !important;
    cursor: pointer;
  }
  body .theclose span {
    display: none;
  }
}
body.menuopen .theclose {
  display: block;
  position: fixed;
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition: transform 0.5s;
}
@media (max-width: 768px) {
  body.menuopen .theclose {
    background: var(--color-black);
    color: var(--color-white);
    border: none;
  }
}
@media (min-width: 769px) {
  body.menuopen .theclose {
    transform: none;
    transition: all 0s;
  }
}
body .theback {
  opacity: 0;
  visibility: hidden;
  cursor: pointer;
  position: fixed;
  z-index: 101;
  padding: 20rem;
  text-align: center;
  right: -1px;
  transform: rotate(-90deg) translate(25%, 50%);
  top: 50%;
}
@media (min-width: 769px) {
  body .theback {
    transform: rotate(-90deg) translate(25%, 150%);
  }
}
body.innermenuopen .theback {
  opacity: 1;
  visibility: visible;
  transition: transform 0.5s;
  transform: rotate(-90deg) translate(25%, 50%);
}
.button, .styloform .button {
  display: inline-block;
  font-family: inherit;
  padding: 6rem 30rem 7.5rem 30rem;
  text-align: center;
  border-bottom: none;
  cursor: pointer;
}
@media (min-width: 769px) {
  .button, .styloform .button {
    padding: 6rem 60rem 7.5rem 60rem;
  }
}

.superbutton {
  position: fixed;
  bottom: 30rem;
  right: 30rem;
  z-index: 12;
  border: 1px solid;
  padding: 20rem;
  animation: vibrate-1 1.2s linear infinite both;
}
@keyframes vibrate-1 {
  0%, 79% {
    transform: translate(0);
  }
  84% {
    transform: translate(-2px, 2px);
  }
  88% {
    transform: translate(-2px, -2px);
  }
  92% {
    transform: translate(2px, 2px);
  }
  96% {
    transform: translate(2px, -2px);
  }
  100% {
    transform: translate(0);
  }
}

.styloform > div {
  margin-bottom: 30rem;
}
.styloform > div:last-of-type {
  text-align: right;
  margin-top: 60rem;
}
.styloform .button {
  width: auto;
}
.styloform label {
  display: none;
}
.styloform input, .styloform select {
  background: none;
  font-size: inherit;
  border: none;
  border-bottom: 1px solid;
  width: 100%;
  font-family: inherit;
  color: inherit;
}
.styloform input::-webkit-input-placeholder, .styloform select::-webkit-input-placeholder {
  color: inherit;
}
.styloform input:-internal-autofill-selected {
  background-color: transparent !important;
}
.styloform .payment-methods h2 {
  margin-bottom: 30rem;
}
.styloform .payment-methods > div {
  margin-bottom: 15rem;
}
.styloform #stripe-card {
  padding-top: 15rem;
}

@media (max-width: 768px) {
  body .checksplit {
    display: block;
  }
}

body.usermenuopen .thecart, body.menuopen .thecart {
  z-index: 0;
}

.thecart {
  position: fixed;
  z-index: 20;
  bottom: 15rem;
  left: 15rem;
  background-color: white;
  padding: 20rem;
  width: calc(100% - 30rem);
}
@media (max-width: 768px) {
  .thecart {
    padding: 10rem 20rem;
  }
  .thecart .cartlabel {
    text-decoration: none !important;
    margin: 0 10rem;
  }
  .thecart summary {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .thecart #cart > div:nth-child(3) {
    width: 100%;
  }
  .thecart .cart .unten li {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 768px) {
  .thecart .details-cart .cart {
    left: 15rem;
    width: calc(100% - 30rem);
    position: fixed;
    bottom: 100rem;
    top: unset;
  }
}
@media (min-width: 769px) {
  .thecart {
    padding: 0;
    width: auto;
    border: none;
    background-color: transparent;
    bottom: unset;
    left: unset;
    top: 55rem;
    right: 180rem;
  }
}

.header {
  margin-bottom: 60rem;
  text-align: right;
  z-index: 10;
}
@media (min-width: 769px) {
  .header {
    margin-bottom: 0;
    text-align: inherit;
    position: fixed;
    bottom: 30rem;
    right: 30rem;
  }
}
.header .lang-switch a {
  text-transform: uppercase;
}
.header .lang-switch a.active {
  opacity: 0.5;
  pointer-events: none;
}

.usermenuopen .userclose {
  display: block;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 12;
  cursor: pointer;
}

.usermenu {
  position: fixed;
  z-index: 13;
  top: 15rem;
  right: 15rem;
}
@media (min-width: 769px) {
  .usermenu {
    top: 30rem;
    right: 30rem;
  }
}
.usermenu header {
  display: flex;
}
.usermenu figure {
  width: 50rem;
  height: 50rem;
  padding: 5rem;
  border-radius: 100%;
  margin: auto;
  margin-bottom: 10rem;
  border: 1px solid;
}
@media (min-width: 769px) {
  .usermenu figure {
    width: 100rem;
    height: 100rem;
    padding: 20rem;
  }
}
.usermenu figure img {
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.usermenu .inner, .usermenu .userclose {
  display: none;
}
.usermenu.open {
  padding: 30rem;
  border: 1px solid;
  width: calc(100% - 30rem);
}
@media (min-width: 769px) {
  .usermenu.open {
    width: auto;
  }
}
.usermenu.open #userburger {
  align-self: flex-start;
  margin-left: auto;
}
@media (min-width: 769px) {
  .usermenu.open #userburger {
    margin-left: 60rem;
  }
}
.usermenu.open #userburger p {
  display: none;
}
.usermenu.open .inner {
  display: block;
}
.usermenu .nocodesyet {
  max-width: 20ch;
  margin-bottom: 20rem;
}
.usermenu .name, .usermenu .codeheadline, .usermenu ul {
  margin-bottom: 20rem;
}
.usermenu .accountlink {
  margin-bottom: 60rem;
  display: block;
}

ul.codelist li {
  display: grid;
  grid-gap: 20rem;
  grid-template-columns: 1fr 1fr;
  position: relative;
  cursor: pointer;
}
ul.codelist li::after {
  content: ":)";
  position: absolute;
  transition: all 0.25s ease-in-out;
  opacity: 0;
  right: 0;
}
@media (min-width: 769px) {
  ul.codelist li::after {
    right: 20rem;
  }
}
ul.codelist li.message::after {
  opacity: 1;
  transform: rotate(90deg);
}
ul.codelist li:hover {
  opacity: 0.5;
}
ul.codelist li.vorbei {
  opacity: 0.5;
  cursor: default;
}

#menu {
  position: fixed;
  top: 0;
  right: 0;
  height: 100%;
  width: 0;
  z-index: 7;
}
#menu.open {
  display: block;
  z-index: 13;
  width: 100%;
}
@media (min-width: 769px) {
  #menu.open {
    width: 40%;
  }
}
#menu.open .inner {
  opacity: 1;
  visibility: visible;
  transform: translateX(0);
  padding-bottom: 200rem;
}
@media (min-width: 769px) {
  #menu.open .inner {
    padding-bottom: 0;
  }
}
#menu .inner {
  height: 100%;
  display: flex;
  flex-direction: column;
  transform: translateX(100%);
  opacity: 0;
  visibility: hidden;
  overflow-y: auto;
}
@media (min-width: 769px) {
  #menu .inner {
    border-left: 1px solid;
  }
}
#menu .inner > a {
  display: block;
  border-bottom: 1px solid;
  padding: 15rem 30rem;
}
#menu .inner > a[href="/game"] svg {
  width: 60%;
}
#menu .inner > a span {
  transition: transform 0.25s;
  display: block;
}
#menu .inner > a:hover span {
  transform: translateX(20rem);
}
#menu .inner footer.legal {
  padding: 15rem 30rem;
  display: flex;
  justify-content: space-between;
}
#menu .inner footer.lang {
  display: grid;
  grid-template-columns: auto auto auto auto;
  border-bottom: 1px solid;
  width: 100%;
  grid-template-columns: repeat(6, 1fr);
  grid-template-rows: repeat(2, auto);
}
@media (min-width: 769px) {
  #menu .inner footer.lang {
    margin-top: auto;
    border-top: 1px solid;
  }
}
#menu .inner footer.lang a {
  padding: 0;
  font-size: inherit;
  display: block;
  padding: 19rem 17rem;
  text-transform: uppercase;
  border-right: 1px solid;
  text-align: center;
}
#menu .inner footer.lang a:nth-of-type(1), #menu .inner footer.lang a:nth-of-type(2), #menu .inner footer.lang a:nth-of-type(3) {
  border-bottom: 1px solid var(--color-black);
}
#menu .inner footer.lang a:nth-of-type(1) {
  grid-area: 1/1/2/2;
}
#menu .inner footer.lang a:nth-of-type(2) {
  grid-area: 1/2/2/3;
}
#menu .inner footer.lang a:nth-of-type(3) {
  grid-area: 1/3/2/7;
  border-right: 0;
}
#menu .inner footer.lang a:nth-of-type(4) {
  grid-area: 2/1/3/4;
}
#menu .inner footer.lang a:nth-of-type(5) {
  grid-area: 2/4/3/7;
}
@media (min-width: 769px) {
  #menu .inner footer.lang a:nth-of-type(1), #menu .inner footer.lang a:nth-of-type(2) {
    border-bottom: 1px solid var(--color-black);
    padding: 15rem 10rem;
  }
  #menu .inner footer.lang a:nth-of-type(1) {
    grid-area: 1/1/2/4;
  }
  #menu .inner footer.lang a:nth-of-type(2) {
    grid-area: 1/4/2/7;
    border-right: 0;
  }
  #menu .inner footer.lang a:nth-of-type(3) {
    grid-area: 2/1/3/3;
    border-bottom: 0;
    border-right: 1px solid;
  }
  #menu .inner footer.lang a:nth-of-type(4) {
    grid-area: 2/3/3/5;
  }
  #menu .inner footer.lang a:nth-of-type(5) {
    grid-area: 2/5/3/7;
  }
}
#menu .inner footer.lang a.active, #menu .inner footer.lang a:hover {
  background-color: var(--text-color);
  color: var(--ui-color);
  border-right: 1px solid var(--text-color);
}
#menu .inner footer.lang a:last-of-type {
  border-right: 0;
}
@media (min-width: 769px) {
  #menu .inner footer.lang a {
    padding: 34rem 10rem;
  }
}

.accordion button {
  text-align: left;
  width: 100%;
}
.accordion button:focus {
  outline: none;
}
.accordion.open .accordioncontent {
  visibility: visible;
  display: block;
}
.accordion .accordioncontent {
  visibility: hidden;
  display: none;
}

body .sib-form {
  margin-top: 20rem;
  padding: 0;
  font-family: inherit;
  font-size: inherit;
}
body .sib-form #sib-container {
  background-color: transparent !important;
  padding: 0;
  max-width: unset !important;
}
body .sib-form .sib-form-block {
  padding: 0;
}
body .sib-form .entry__field {
  border: none;
  border-bottom: 1px solid var(--color-black);
  background: transparent;
  border-radius: 0;
}
body .sib-form .input:not(textarea), body .sib-form .sib-form .input__button {
  height: auto;
}
body .sib-form #sib-container input::-moz-placeholder {
  font-family: inherit;
  color: var(--color-black);
}
body .sib-form #sib-container input::placeholder {
  font-family: inherit;
  color: var(--color-black);
}
body .sib-form .checkbox, body .sib-form .sib-form .radio-button {
  border: 1px solid var(--color-black);
  background: transparent;
  border-radius: 0;
  transform: translateY(2px);
}
body .sib-form .checkbox_tick_positive:before {
  border-color: transparent;
}
body .sib-form .input_replaced:checked + .checkbox_tick_positive {
  border-color: var(--color-black);
  background-color: var(--color-black);
}
body .sib-form .input_replaced:checked + .checkbox_tick_positive::before {
  border-color: #fff;
}
body .sib-form .sib-form-block p, body .sib-form .sib-form-block ol, body .sib-form .sib-form-block ul {
  line-height: inherit;
}
body .sib-form .entry__choice {
  font-family: inherit;
}
body .sib-form .sib-form-container a {
  color: inherit;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}
body .sib-form .sib-form__declaration {
  padding: 0;
  margin-bottom: 40rem;
}
body .sib-form .sib-form-block__button-with-loader {
  max-height: unset;
  line-height: inherit;
  padding: 6rem 30rem 7.5rem 30rem;
}
@media (min-width: 769px) {
  body .sib-form .sib-form-block__button-with-loader {
    padding: 6rem 60rem 7.5rem 60rem;
  }
}

body.subscribe .sib-form-message-panel__text svg {
  margin-right: 20rem;
}
body.subscribe #success-message {
  background-color: var(--color-green) !important;
  border-color: var(--color-green) !important;
  border-radius: 0 !important;
  color: inherit !important;
  font-size: inherit !important;
  font-family: inherit !important;
  padding: 20rem;
}
body.subscribe #error--message {
  background-color: var(--color-red) !important;
  border-color: var(--color-red) !important;
  border-radius: 0 !important;
  color: inherit !important;
  font-size: inherit !important;
  font-family: inherit !important;
  padding: 20rem;
}

* {
  -webkit-font-smoothing: antialiased;
}

@font-face {
  font-family: Ekstra;
  src: url("./fonts/Ekstra-Light.woff2") format("woff2");
  font-weight: normal;
  font-display: swap;
}
@font-face {
  font-family: Ekstra;
  src: url("./fonts/Ekstra-Light.woff") format("woff");
  font-weight: normal;
  font-display: swap;
}
@font-face {
  font-family: Ekstra;
  src: url("./fonts/Ekstra-Light.eot") format("embedded-opentype");
  font-weight: normal;
  font-display: swap;
}
html {
  font-size: 1px;
}

body {
  font-family: "Ekstra", sans-serif;
  font-size: 22rem;
  font-weight: 400;
  font-style: normal;
}

.large, .menuitem {
  font-size: 25rem;
}
@media (min-width: 769px) {
  .large, .menuitem {
    font-size: 50rem;
  }
}

.bissel {
  font-size: 22rem;
}
@media (min-width: 769px) {
  .bissel {
    font-size: 34rem;
  }
}

.bisselweniger {
  font-size: 22rem;
}
@media (min-width: 769px) {
  .bisselweniger {
    font-size: 28rem;
  }
}

.tiny {
  font-size: 18rem;
}

.bold {
  font-weight: bold;
}

a.und,
#news .accordioncontent a,
.thecart .cartlabel,
.theback span,
.hasLink a,
.rivertext a {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}

.rivertext p, .rivertext > a, .rivertext h3 {
  margin-bottom: 15rem;
}
.rivertext code {
  text-decoration: underline;
  text-decoration-thickness: 6px;
  text-underline-offset: 2px;
  text-decoration-color: var(--bg-color);
}
.rivertext ul {
  margin: 15rem 0;
}
.rivertext ul li {
  list-style: none;
  position: relative;
}
.rivertext ul li::before {
  content: "–";
  position: absolute;
  left: 0;
  top: 0.07em;
}
.rivertext ul li p {
  display: inline-block;
  margin-left: 30rem;
}

/* COMPONENTS */
#menu .inner, .menucontent {
  transition: background-color 0.5s, transform 0.25s ease-in-out !important;
}

body.home.loggedin {
  padding: 0;
  margin: 0;
  transition: background-color 0.5s;
}
body.home.loggedin .usermenu figure, body.home.loggedin #menu button, body.home.loggedin #menu > a,
body.home.loggedin .menucontent,
body.home.loggedin .usermenu.open, body.home.loggedin #menu .inner {
  transition: background-color 0.5s;
}
body.home.loggedin #menu button {
  transition: none;
}
body.home.loggedin .theicons {
  z-index: 1;
}
body.home.loggedin .theicons svg, body.home.loggedin .theicons img {
  filter: url(#campusMask);
  transition: filter 0.5s;
}
body.home.loggedin .thebigone, body.home.loggedin .theicons {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100%;
}
body.home.loggedin .thebigone img, body.home.loggedin .thebigone svg, body.home.loggedin .theicons img, body.home.loggedin .theicons svg {
  height: 100%;
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
body.home.loggedin main .inner {
  display: grid;
  position: relative;
  grid-template-columns: 200vw 200vw 200vw;
  grid-template-rows: 200vh 200vh 200vh;
  width: 600vw;
  height: 600vh;
}
body.home.loggedin .tile {
  position: relative;
}
@media (max-width: 768px) {
  body.home.loggedin {
    overflow: hidden;
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
  }
  body.home.loggedin * {
    transition: none !important;
  }
  body.home.loggedin main {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
  }
  body.home.loggedin main .inner {
    width: 600vw;
    height: 600vh;
    position: relative;
    z-index: 1;
  }
}
body.home .menuitem {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  padding: 2rem 20rem 2rem 20rem;
  width: auto !important;
}
body.home .menuitem span {
  display: block;
  margin-top: -7rem;
}
body.home .menucontent {
  transform: translateX(100%);
  opacity: 0;
  visibility: hidden;
  position: fixed;
  top: 0;
  right: 0;
  height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 30rem 70rem 30rem 30rem;
  width: 100%;
}
body.home .menucontent.open {
  opacity: 1;
  visibility: visible;
  z-index: 100;
  transform: translateX(0);
}
@media (min-width: 769px) {
  body.home .menucontent.open {
    border-left: 1px solid;
  }
}
@media (max-width: 768px) {
  body.home .menucontent.open {
    padding-bottom: 200rem !important;
  }
}
body.home .menucontent.open h2 {
  margin-bottom: 30rem;
}
@media (min-width: 769px) {
  body.home .menucontent {
    padding: 30rem 100rem 30rem 30rem;
    width: 40%;
  }
}
body.home #infos, body.home #news {
  padding: 30rem 0;
}
body.home #infos > h2, body.home #news > h2 {
  padding: 0 30rem;
}
body.home #infos ul > li.accordion, body.home #infos > ul > li, body.home #infos .accordion, body.home #news ul > li.accordion, body.home #news > ul > li, body.home #news .accordion {
  border-bottom: 1px solid;
}
body.home #infos ul > li.accordion:last-of-type, body.home #infos > ul > li:last-of-type, body.home #infos .accordion:last-of-type, body.home #news ul > li.accordion:last-of-type, body.home #news > ul > li:last-of-type, body.home #news .accordion:last-of-type {
  border-bottom: 0;
}
body.home #infos ul > li.accordion > button, body.home #infos ul > li.accordion > a, body.home #infos > ul > li > button, body.home #infos > ul > li > a, body.home #infos .accordion > button, body.home #infos .accordion > a, body.home #news ul > li.accordion > button, body.home #news ul > li.accordion > a, body.home #news > ul > li > button, body.home #news > ul > li > a, body.home #news .accordion > button, body.home #news .accordion > a {
  display: block;
  padding: 20rem 30rem;
}
body.home #infos ul > li.accordion > button span, body.home #infos ul > li.accordion > a span, body.home #infos > ul > li > button span, body.home #infos > ul > li > a span, body.home #infos .accordion > button span, body.home #infos .accordion > a span, body.home #news ul > li.accordion > button span, body.home #news ul > li.accordion > a span, body.home #news > ul > li > button span, body.home #news > ul > li > a span, body.home #news .accordion > button span, body.home #news .accordion > a span {
  display: block;
}
body.home #infos ul > li.accordion .accordioncontent, body.home #infos > ul > li .accordioncontent, body.home #infos .accordion .accordioncontent, body.home #news ul > li.accordion .accordioncontent, body.home #news > ul > li .accordioncontent, body.home #news .accordion .accordioncontent {
  padding: 30rem;
  max-width: 86%;
}
body.home #mitmachen a, body.home #dabeisein a {
  display: block;
  margin: 30rem 0;
}
body.home #mitmachen p.tsuc, body.home #dabeisein p.tsuc {
  margin-top: 30rem;
}
body.home #gelaende p.mh {
  margin: 30rem 0;
}
body.home #gelaende ul {
  margin-bottom: 60rem;
}
body.home #gelaende p.tsuc {
  margin-top: 30rem;
}
body.home #gelaende p.tsuc a {
  display: inline;
  margin: 0;
}
body.home #gelaende img {
  mix-blend-mode: luminosity;
}

body.home:not(.loggedin) .publicwelcome {
  margin: auto;
}
body.home:not(.loggedin) .publicwelcome .buttoncontainer {
  margin-top: 120rem;
}
body.home:not(.loggedin) .publicwelcome .buttoncontainer > div {
  margin-bottom: 60rem;
}
@media (min-width: 769px) {
  body.home:not(.loggedin) .publicwelcome .buttoncontainer {
    grid-gap: 60rem;
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  body.home:not(.loggedin) .publicwelcome .buttoncontainer > div {
    display: grid;
    grid-template-rows: 1fr;
  }
}
body.home:not(.loggedin) .publicwelcome .buttoncontainer p {
  margin-bottom: 30rem;
}
body.home:not(.loggedin) .publicwelcome .buttoncontainer .button {
  width: 100%;
}

html body.legal h1 {
  position: fixed;
}
html body.legal .pagetitle {
  margin-bottom: 60rem;
}
@media (min-width: 769px) {
  html body.legal .publicbg {
    width: 100vw;
    height: auto;
  }
}
@media (min-width: 769px) {
  html body.legal main.inner {
    max-width: 100ch;
    position: absolute;
    top: 280rem;
    left: 50%;
    transform: translate(-50%, 0);
  }
}
html body.legal main.inner .block {
  margin-bottom: 30rem;
}

@media (min-width: 769px) {
  body.registration footer.publiclegal, body.login footer.publiclegal, body.passwordreset footer.publiclegal, body.home:not(.loggedin) footer.publiclegal, body.subscribe footer.publiclegal {
    position: fixed;
    bottom: 30rem;
    left: 30rem;
    display: flex;
    text-transform: uppercase;
  }
  body.registration footer.publiclegal a, body.login footer.publiclegal a, body.passwordreset footer.publiclegal a, body.home:not(.loggedin) footer.publiclegal a, body.subscribe footer.publiclegal a {
    margin-right: 1em;
  }
}

@media (min-width: 769px) {
  body.registration h1, body.login h1, body.passwordreset h1, body.home:not(.loggedin) h1, body.subscribe h1 {
    position: fixed;
    top: 30rem;
    left: 30rem;
  }
}
body.registration .inner, body.login .inner, body.passwordreset .inner, body.home:not(.loggedin) .inner, body.subscribe .inner {
  background: var(--bg-color);
  padding: 15rem;
}
@media (min-width: 769px) {
  body.registration .inner, body.login .inner, body.passwordreset .inner, body.home:not(.loggedin) .inner, body.subscribe .inner {
    padding: 30rem;
    position: fixed;
    max-width: 50ch;
    margin: auto;
    left: 50%;
    transform: translate(-50%, -50%);
    top: calc(50% + 71rem);
  }
}
body.registration .publicbg, body.login .publicbg, body.passwordreset .publicbg, body.home:not(.loggedin) .publicbg, body.subscribe .publicbg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  overflow: hidden;
}
body.registration .publicbg img, body.login .publicbg img, body.passwordreset .publicbg img, body.home:not(.loggedin) .publicbg img, body.subscribe .publicbg img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (min-width: 769px) {
  body.registration .publicbg, body.login .publicbg, body.passwordreset .publicbg, body.home:not(.loggedin) .publicbg, body.subscribe .publicbg {
    width: 450vw;
    height: 450vh;
  }
}
body.registration .publicbg > *, body.login .publicbg > *, body.passwordreset .publicbg > *, body.home:not(.loggedin) .publicbg > *, body.subscribe .publicbg > * {
  position: absolute;
  top: 0;
  left: 0;
  width: 450vw;
  height: 100%;
  filter: url(#campusMask);
}
@media (min-width: 769px) {
  body.registration .publicbg > *, body.login .publicbg > *, body.passwordreset .publicbg > *, body.home:not(.loggedin) .publicbg > *, body.subscribe .publicbg > * {
    width: 450vw;
    height: 450vh;
  }
}

body.registration main, body.login main, body.passwordreset main, body.account main {
  max-width: 50ch;
  margin: auto;
}
body.registration main .successlink, body.login main .successlink, body.passwordreset main .successlink, body.account main .successlink {
  display: none;
  text-align: right;
}
body.registration main.yay .styloform, body.login main.yay .styloform, body.passwordreset main.yay .styloform, body.account main.yay .styloform {
  display: none;
}
body.registration main.yay .refer, body.login main.yay .refer, body.passwordreset main.yay .refer, body.account main.yay .refer {
  display: none;
}
body.registration main.yay .successlink, body.login main.yay .successlink, body.passwordreset main.yay .successlink, body.account main.yay .successlink {
  display: block;
}
body.registration main .intro, body.login main .intro, body.passwordreset main .intro, body.account main .intro {
  margin-bottom: 60rem;
}
body.registration main .refer, body.login main .refer, body.passwordreset main .refer, body.account main .refer {
  margin-top: 60rem;
  text-align: right;
}
body.registration main .forgot, body.login main .forgot, body.passwordreset main .forgot, body.account main .forgot {
  text-align: right;
}
body.registration main .notifications > div, body.login main .notifications > div, body.passwordreset main .notifications > div, body.account main .notifications > div {
  margin: 30rem 0;
  padding: 30rem;
}

body.order h2 {
  margin-bottom: 60rem;
}
body.order .date {
  text-align: right;
}
body.order .personalinfo, body.order > .cart, body.order .guestlist {
  margin-bottom: 60rem;
}
@media (min-width: 769px) {
  body.order .cart .items {
    width: 50%;
  }
}
body.order .cart .itemcontainer {
  padding: 30rem;
}
body.order .cart .title {
  display: block;
}
body.order .cart .title span {
  display: block;
}
body.order .cart .quantity, body.order .cart .zwischenprice, body.order .cart .sum {
  width: 50%;
  display: flex;
  justify-content: space-between;
  margin-bottom: 0;
}
body.order .cart .sum {
  margin-top: 20rem;
}
body.order .cart .orderfooter {
  padding: 30rem;
}
@media (min-width: 769px) {
  body.order .cart .orderfooter {
    width: 50%;
  }
}
body.order .invoiceinfo {
  margin-top: 60rem;
  max-width: 30ch;
}
body.order .invoiceinfo > div {
  margin-bottom: 10rem;
}

body.checkout .field[data-name=secondpersontoggle] {
  display: none;
}
body.checkout.limitreached .field[data-name=secondpersontoggle] {
  display: grid;
  grid-template-columns: 20rem auto;
  grid-gap: 20rem;
}
body.checkout.limitreached #secondpersontoggle {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  pointer-events: none;
  border: 2px solid;
}
body.checkout .field.multiselect {
  position: relative;
}
body.checkout .field.multiselect label {
  display: none;
  position: absolute;
  opacity: 0.5;
}
body.checkout .field.multiselect select {
  width: 100%;
}

body.product-variants .cartmessage, body.productpage .cartmessage {
  display: none;
}
body.product-variants .stockmessage, body.productpage .stockmessage {
  margin-top: 1em;
  max-width: 17ch;
}
body.product-variants.limitreached .cartbutton button, body.productpage.limitreached .cartbutton button {
  pointer-events: none;
  cursor: default;
}
body.product-variants.limitreached .cartmessage, body.productpage.limitreached .cartmessage {
  display: block;
  margin-top: 30rem;
}
body.product-variants.shopclosed .cartbutton button, body.productpage.shopclosed .cartbutton button {
  pointer-events: none;
  cursor: default;
}
body.product-variants main .innergrid, body.productpage main .innergrid {
  margin: 60rem 0;
  display: flex;
  flex-direction: column;
}
body.product-variants main .innergrid figure, body.productpage main .innergrid figure {
  order: 1;
  margin-bottom: 30rem;
}
body.product-variants main .innergrid .blocks, body.productpage main .innergrid .blocks {
  order: 2;
}
body.product-variants main .innergrid .lowoncash, body.productpage main .innergrid .lowoncash {
  margin-top: 60rem;
}
body.product-variants main .innergrid .lowoncash > p, body.productpage main .innergrid .lowoncash > p {
  margin-top: 20rem;
}
@media (min-width: 769px) {
  body.product-variants main .innergrid, body.productpage main .innergrid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    grid-gap: 60rem;
  }
  body.product-variants main .innergrid figure, body.productpage main .innergrid figure {
    order: unset;
    margin-bottom: 0;
  }
  body.product-variants main .innergrid .blocks, body.productpage main .innergrid .blocks {
    order: unset;
  }
  body.product-variants main .innergrid .lowoncash, body.productpage main .innergrid .lowoncash {
    margin-top: 0;
  }
}
body.product-variants main .innergrid figure, body.productpage main .innergrid figure {
  height: 100%;
  width: 100%;
}
body.product-variants main .innergrid figure img, body.product-variants main .innergrid figure svg, body.productpage main .innergrid figure img, body.productpage main .innergrid figure svg {
  width: 60%;
  animation: rotate 10s infinite linear;
}
@keyframes rotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
body.product-variants main .price, body.productpage main .price {
  margin-bottom: 30rem;
}
body.product-variants main fieldset div.variantselect, body.productpage main fieldset div.variantselect {
  position: relative;
  margin-bottom: 30rem;
  padding: 30rem;
  display: flex;
  align-items: center;
}
body.product-variants main fieldset div.variantselect > p, body.productpage main fieldset div.variantselect > p {
  margin-top: 0.25em;
}
@media (min-width: 769px) {
  body.product-variants main fieldset div.variantselect > p, body.productpage main fieldset div.variantselect > p {
    display: flex;
    justify-content: space-between;
    width: 100%;
  }
}
body.product-variants main fieldset div.variantselect label, body.product-variants main fieldset div.variantselect .selected, body.productpage main fieldset div.variantselect label, body.productpage main fieldset div.variantselect .selected {
  position: absolute;
  cursor: pointer;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
body.product-variants main fieldset div.variantselect .selected, body.productpage main fieldset div.variantselect .selected {
  z-index: -1;
}
body.product-variants main fieldset div.variantselect input, body.productpage main fieldset div.variantselect input {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 2px solid;
  width: 20rem;
  height: 20rem;
  border-radius: 100%;
  margin-right: 20rem;
}
body.product-variants .accordion button, body.productpage .accordion button {
  display: grid;
  grid-template-columns: 20rem auto;
  align-items: center;
  grid-gap: 20rem;
  padding: 30rem 0;
}
@media (min-width: 769px) {
  body.product-variants .accordion button, body.productpage .accordion button {
    padding: 30rem;
  }
}
body.product-variants .accordion button .check, body.productpage .accordion button .check {
  width: 20rem;
  height: 20rem;
  border: 2px solid;
  border-radius: 100%;
}

body.account .intro {
  margin-bottom: 60rem;
  max-width: 35ch;
}
body.account .avatarselect label {
  display: flex;
}
body.account .avatarselect label img {
  width: 100px;
}
body.account form {
  margin-bottom: 120rem;
}
@media (min-width: 769px) {
  body.account form input {
    width: 50%;
  }
}
body.account .styloform > div:last-of-type {
  text-align: left;
}
body.account .ticket {
  padding: 30rem;
  margin-bottom: 60rem;
}
body.account .ticket h2 {
  margin-bottom: 30rem;
}
body.account .ticket p {
  margin-bottom: 15rem;
}
@media (min-width: 769px) {
  body.account .ticket p {
    margin-bottom: 0;
    display: flex;
    justify-content: space-between;
  }
}
body.account .ticket a {
  display: inline-block;
  margin-top: 30rem;
}
body.account .invitecodes {
  padding: 30rem;
}
body.account .invitecodes h2 {
  margin-bottom: 30rem;
}
body.account .invitecodes ul li {
  display: grid;
  grid-gap: 20rem;
  margin-bottom: 5rem;
  grid-template-columns: 7em 1fr;
}
body.account .invitecodes ul li.vorbei {
  opacity: 0.5;
}
@media (min-width: 769px) {
  body.account .invitecodes ul li {
    grid-template-columns: 8em 1fr;
  }
}

body.talktalktalk {
  padding-bottom: 40vh;
}
body.talktalktalk .spam-indicator {
  display: none !important;
}
body.talktalktalk .intro {
  margin-bottom: 60rem;
  max-width: 35ch;
}
@media (min-width: 769px) {
  body.talktalktalk section.comments {
    display: grid;
    grid-template-columns: 60ch 400rem;
    grid-gap: 60rem;
  }
}
body.talktalktalk .komment-privacy,
body.talktalktalk .form-feedback.moderation-note,
body.talktalktalk .author-avatar,
body.talktalktalk .verified-badge,
body.talktalktalk input[name=author],
body.talktalktalk input[name=url],
body.talktalktalk input[name=author_url],
body.talktalktalk .splitted-komments > h5,
body.talktalktalk input[name=email] {
  display: none !important;
}
body.talktalktalk div.author-action > a {
  pointer-events: none;
  cursor: default;
}
body.talktalktalk .comments #kommentsWebmentions ul > ul {
  margin-bottom: 120rem;
  margin-left: 30rem;
}
@media (min-width: 769px) {
  body.talktalktalk .comments #kommentsWebmentions ul > ul {
    margin-left: 60rem;
  }
}
body.talktalktalk .comments #kommentsWebmentions ul > ul a.kommentReply {
  display: none !important;
}
body.talktalktalk .comments #kommentsWebmentions ul > ul p:last-of-type {
  border-bottom: 0 !important;
}
body.talktalktalk #kommentsWebmentions .author-action {
  color: inherit;
  position: absolute;
  top: 0;
  right: 0;
  transform: translateX(100%);
  padding-left: 20rem;
}
body.talktalktalk #kommentsWebmentions .author-action span {
  display: block;
}
body.talktalktalk #kommentsWebmentions .single-komment {
  display: block;
  position: relative;
  border-bottom: none;
  margin-bottom: 30rem;
  border: 1px solid;
  padding-bottom: 0;
}
body.talktalktalk #kommentsWebmentions .single-komment .newcomment {
  display: grid;
  grid-template-columns: 1fr 3fr;
}
body.talktalktalk #kommentsWebmentions .single-komment .newcomment figure {
  height: 50rem;
  width: 50rem;
  margin: auto;
  filter: url(#campusMask);
}
@media (min-width: 769px) {
  body.talktalktalk #kommentsWebmentions .single-komment .newcomment figure {
    height: 150rem;
    width: 150rem;
  }
}
body.talktalktalk #kommentsWebmentions .single-komment .newcomment figure img.jamoin {
  filter: invert(1);
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
}
body.talktalktalk #kommentsWebmentions .single-komment .newcomment .left {
  padding: 15rem;
  border-left: 1px solid;
}
body.talktalktalk #kommentsWebmentions .single-komment .newcomment .left .kommentReply {
  position: absolute;
  bottom: 15rem;
  right: 15rem;
}
body.talktalktalk #kommentsWebmentions .single-komment .newcomment .right {
  height: 100%;
  position: sticky;
  top: 0;
  align-self: start;
  height: auto;
}
body.talktalktalk #kommentsWebmentions .single-komment .newcomment .right > * {
  border-bottom: 1px solid;
  padding: 15rem;
  display: block;
}
body.talktalktalk #kommentsWebmentions .single-komment .newcomment .right > * .name {
  margin: 15rem 0;
  text-align: center;
  display: block;
  line-height: 1;
}
body.talktalktalk #kommentsWebmentions .single-komment .newcomment .right > *:last-child {
  border-bottom: 0;
  text-align: inherit;
  text-align: center;
}
body.talktalktalk #kommentsWebmentions .single-komment .author-avatar {
  display: none;
}
body.talktalktalk #kommentsWebmentions .single-komment .mention-content {
  padding-bottom: 0;
}
body.talktalktalk #kommentsWebmentions .single-komment .type-of {
  position: absolute;
  top: 0;
  left: 0;
  height: 50rem;
  width: 50rem;
  padding: 10rem;
  border-radius: 100%;
  display: none;
  align-items: center;
  justify-content: center;
  line-height: unset;
}
body.talktalktalk #kommentform {
  display: block;
  position: fixed;
  bottom: 0;
  right: 0;
  padding: 30rem;
}
@media (min-width: 769px) {
  body.talktalktalk #kommentform {
    position: sticky;
    background: transparent;
    padding: 0;
    top: 30rem;
    bottom: 30rem;
    right: 30rem;
    align-self: start;
  }
}
body.talktalktalk #kommentform .form-feedback {
  padding: 0;
}
body.talktalktalk #kommentform blockquote {
  margin: 0;
}
body.talktalktalk #kommentform textarea {
  border: 1px solid;
  font-size: inherit;
  padding: 10rem;
  resize: none;
}
body.talktalktalk #kommentform textarea::-webkit-input-placeholder {
  color: inherit;
}
body.talktalktalk #kommentform input[type=submit] {
  border: 1px solid;
  width: 100%;
  font-size: inherit;
}

body.kassensturz main {
  padding-right: 50rem;
}
@media (min-width: 769px) {
  body.kassensturz main {
    padding-right: 100rem;
  }
}
body.kassensturz main > div.text {
  margin-bottom: 60rem;
  max-width: 75ch;
}
body.kassensturz li, body.kassensturz p.subtotal {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-column-gap: 20rem;
}
@media (min-width: 769px) {
  body.kassensturz li, body.kassensturz p.subtotal {
    display: flex;
    justify-content: space-between;
  }
}
@supports (-webkit-hyphenate-limit-before: 4) or (hyphenate-limit-chars: 8 4 4) {
  body.kassensturz li span:first-of-type, body.kassensturz p.subtotal span:first-of-type {
    hyphenate-limit-chars: 8 4 4;
    -webkit-hyphenate-limit-before: 4; /* For Safari */
    -webkit-hyphenate-limit-after: 4; /* For Safari */
    -webkit-hyphens: auto;
            hyphens: auto;
  }
}
body.kassensturz li span:last-of-type, body.kassensturz p.subtotal span:last-of-type {
  text-align: right;
  align-self: end;
}
body.kassensturz .table h2 {
  margin-bottom: 60rem;
}
body.kassensturz .table ul {
  padding-bottom: 30rem;
}
@media (min-width: 769px) {
  body.kassensturz .table ul {
    position: sticky;
    top: 30rem;
  }
}
body.kassensturz .table > div {
  margin-bottom: 60rem;
}
body.kassensturz .table.funnylist {
  padding-top: 60rem;
}
body.kassensturz .table.funnylist .left ul {
  top: 0;
  margin-top: -10rem;
}
body.kassensturz .table.funnylist .left li {
  padding: 10rem 0;
  border-bottom: 1px solid;
}
body.kassensturz .table.funnylist .left li:last-of-type {
  border-bottom: 0;
}
@media (min-width: 971px) {
  body.kassensturz .table {
    display: grid;
    grid-template-columns: 1fr 2fr;
    grid-gap: 60rem;
  }
  body.kassensturz .table.funnylist {
    grid-template-columns: 2fr 1fr;
  }
  body.kassensturz .table.funnylist .right {
    position: sticky;
    top: 30rem;
    align-self: start;
  }
  body.kassensturz .table > div {
    display: flex;
    flex-direction: column;
    margin-bottom: 0;
  }
  body.kassensturz .table > div p.subtotal {
    margin-top: auto;
  }
}
body.kassensturz .table p.subtotal {
  text-align: right;
  border-top: 1px solid;
}
body.kassensturz .table p.subtotal span {
  width: 100%;
}
body.kassensturz .yaay {
  background: var(--ui-color);
  color: var(--color-white);
  margin-top: 60rem;
  padding: 15rem;
}
@media (min-width: 769px) {
  body.kassensturz .yaay {
    padding: 60rem;
  }
}
body.kassensturz .yaay > * {
  max-width: 75ch;
}
body.kassensturz .yaay > p {
  margin-bottom: 30rem;
  text-align: right;
}

body.nlWindowOpen #nlWindow {
  display: block;
  transform: translateX(0);
  visibility: visible;
  opacity: 1;
}

#nlWindow {
  background: var(--color-green);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 285;
  height: 100%;
  width: 100%;
  transform: translateX(-100%);
  transition: transform 0.5s ease-in !important;
  transition-delay: 0.5s;
}
@media (min-width: 769px) {
  #nlWindow {
    z-index: 85;
    width: 60%;
  }
}
#nlWindow iframe {
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 0.5s ease-in;
}
#nlWindow iframe.loaded {
  opacity: 1;
}
#nlWindow button {
  position: absolute;
  bottom: 30rem;
  left: 50%;
  transform: translateX(-50%);
}/*# sourceMappingURL=index.css.map */