@font-face {
  font-family: "Basistypo";
  src: url("font/Bitter-Semibold.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Basistypo";
  src: url("font/Bitter-Black.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Titel";
  src: url("font/Tusker.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}



* {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}



html {
  height: 100%;
  overflow-x: hidden;
}

body {
  width: 100%;
  min-height: 100%;
  position: relative;
  /* overflow-x: hidden; */
  margin: 0;
  padding: 0;
  color: #fff;
  background-color: #009DE2;
  background: url(img/verlauf.png) center -10% / 130vw no-repeat #009DE2;
}
@media only screen and (min-width: 768px) {
  body {
    background: url(img/verlauf.png) center -10% / 100vw no-repeat #009DE2;
  }
}

::-moz-selection {
  background: #b3d4fc;
  text-shadow: none;
}

::selection {
  background: #b3d4fc;
  text-shadow: none;
}

hr {
  display: block;
  height: 1px;
  width: 80%;
  border: 0;
  border-top: 2px solid #fff;
  margin: 0.5em auto;
  padding: 0;
}

img {
  border: none;
  outline: none;
  vertical-align: middle;
}

audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}
video {
  position: relative;
}

table {
  width: 100%;
  border: none;
}

ul,
li {
  margin: 0;
  padding: 0;
}

ul.liste,
.fliesstext ul {
  list-style-type: square;
  list-style-position: outside;
  padding-left: 1em;
}
ul.liste li,
.fliesstext ul li {
  list-style-type: square;
  padding: 0 0 0.3em 0;
}




/* ----- Schrift-Formate ----- */

body {
  font-family: 'Basistypo', sans-serif;
  font-size: 14px;
  line-height: 1.4;
}


h1, h2, h3, h4, h5, h6 {
  margin: 0;
  padding: 0;
  font-family: 'Titel', sans-serif;
  line-height: 1.2;
  letter-spacing: 0.03em;
  font-weight: 700;
  color: inherit;
  margin-bottom: 0.3em;
}
p + h1, p + h2 {
  margin-top: 0.6em;
}
p + h3, p + h4, p + h5, p + h6 {
  margin-top: 1.6em;
}

h1 + hr, h2 + hr, h3 + hr {
  margin-top: -0.5em;
  margin-bottom: 1.5em;
}

h1 {
  font-size: 4.5vw;
}

h2 {
  font-size: 4.5vw;
}

h3 {
  font-size: 3.2vw;
}

h4 {
  font-size: 2em;
}

h5 {
  font-size: 1.5em;
}

h6 {
  font-size: 1em;
}

h5 + h1, h5 + h2, h2 + h3, h2 + h4 {
  margin-top: -0.2em;
}

h6 + h1, h6 + h2 {
  margin-top: 0.5em;
}

li h1, li h2, li h3, li h4, li h5, li h6 {
  display: inline-block;
}

p {
  font-size: 1.0em;
  margin: 0 0 0.9em 0;
}

.hinweis {
  font-size: 0.85em;
}

button,
input,
select,
textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

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

  h1 {
    font-size: 2em;
  }

  h2 {
    font-size: 2.0em;
  }

  h3 {
    font-size: 1.7em;
  }

  h4 {
    font-size: 1.3em;
  }

  h5 {
    font-size: 1.0em;
  }

}

@media only screen and (min-width: 992px) {

  body {
    font-size: 16px;
  }

  h1 + hr, h2 + hr, h3 + hr {
    margin-bottom: 3em;
  }

}


@media only screen and (min-width: 1400px) {

  body {
    font-size: 18px;
  }

}

@media only screen and (min-width: 1700px) {

  body {
    font-size: 18px;
  }

}





/* Links */

a {
  color: inherit;
  text-decoration: underline;
  background-color: transparent;
  -webkit-text-decoration-skip: objects;
  transition: color 200ms, background-color 200ms, border-color 200ms;
}
a:hover {
  text-decoration: underline;
  color: inherit;
}

a:focus {
  outline: thin dotted;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}

a.block {
  display:block;
  width: 100%;
  height: 100%;
}

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

header a:hover,
footer a:hover {
  text-decoration: underline;
}






header {
  

}

header img {
  width: 97%;
  height: auto;
}




#inhalt {
  padding: 3.5vw;
  margin-top: -12vw;
  text-align: center;
}


.produkt {
  position: relative;
  z-index: 1;
  width: 100%;
  margin: 0 auto;
}

.produkt img {
  width: 140vw;
  height: auto;
  margin-left: -39vw;
}

.produkt .hinweis {
  margin: 2em 5vw 8em 5vw;
}


.ueberraschung {
    position: relative;
}

.hefte,
.frisbees {
  width: 90%;
  margin: 1em auto 2em auto;
}

.frisbees {
  margin-bottom: 4em;
}

.hefte img,
.frisbees img {
  width: 100%;
  height: auto;
}





.monster {
  position: absolute;
}

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

.monster.pink {
  width: 30vw;
  right: -2px;
  top: 36%;
}

.monster.violett {
  width: 24vw;
  left: -2px;
  top: 60%;
  transform: scaleX(-1);
}

.monster.orange {
  width: 25vw;
  right: 9vw;
  bottom: -6.5vw;
  transform: rotate(-90deg);
}

.monster.pommes {
  z-index: -1;
  width: 55vw;
  top: 38vw;
  right: -16vw;
  transform: rotate(45deg);
}



footer {
  padding: 2em 3.5vw;
}

footer ul {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  column-gap: 4em;
}

footer li {
  list-style: none;
}

footer li:first-child {
  display: none;
}

footer .hinweis {
  max-width: 625px;
}

footer a {
  font-family: 'Titel', sans-serif;
}



@media only screen and (min-width: 768px) {

  #inhalt {
    margin-top: -26vw;
    text-align: left;
  }

  .produkt {
    width: 84%;
  }

  .produkt img {
    width: 100%;
    margin-left: 0;
  }

  .produkt .hinweis {
    display: none;
  }

  
  .versatz-rechts {
    position: absolute;
    left: 46vw;
    top: 6vw;
  }

  .hefte {
    width: 40%;
    margin-bottom: 0;
    margin-top: -22vw;
    margin-left: 50%;
  }

  .frisbees {
    width: 40%;
    margin-bottom: 0;
    margin-left: 3%
  }

  .monster.pink {
    width: 17vw;
    right: -2px;
    top: 18%;
  }

  .monster.violett {
    width: 14vw;
    left: auto;
    right: -2px;
    top: 61%;
    transform: scaleX(1);
  }

  .monster.orange {
    width: 18vw;
    right: auto;
    left: -2px;
    top: 70%;
    bottom: auto;
    transform: rotate(0deg);
  }

  .monster.pommes {
    width: 41vw;
    top: 15.5vw;
    left: -11.5vw;
    right: auto;
    transform: rotate(0deg);
  }

  footer ul {
    justify-content: flex-end;
  }

  footer li:first-child {
    display: list-item;
    justify-self: flex-start;
    margin-right: auto;
  }

  footer .hinweis {
    font-size: 0.7em;
  }

}








/* ----- universelle Formate zur Modifizierung des Standard-Verhaltens:
   am Ende platziert, um vorhergehende Anweisungen überschreiben zu können ----- */

/* Verhalten */

.text-nowrap {
  white-space:nowrap;
}

.text-break {
  word-wrap: break-word;
}

.text-uppercase {
  text-transform: uppercase;
}

.text-ellipsis {
  text-overflow: ellipsis;
}

.ib {
  display: inline-block;
}
.i {
  display: inline;
}
.b {
  display: block;
}

.verdeckt {
  display: none;
}
.verdeckt-erzwungen {
  display: none !important;
}
@media only screen and (max-width: 767px) {
  .mobil-verdeckt {
    display: none;
  }
  .mobil-sichtbar {
    display: block;
  }
}

.unauswaehlbar {
  user-select: none;
}





/* allgemeine Formate */

.text-links {
  text-align: left;
}
.text-rechts {
  text-align: right;
}
.text-mittig {
  text-align: center;
}
.text-unten {
  vertical-align: bottom;
  display: table-cell;
}

.links {
  float: left;
}
.rechts {
  float: right;
}

.abgerundet {
  border-radius: 10px;
}
.stark-abgerundet {
  border-radius: 20px;
}

.gedreht {
  transform: rotate(-4deg);
}

.ausfuellen {
  display: block;
  position: relative;
  padding-bottom: 56.25%; /* 16:9 */
  height: 0;
}
.ausfuellen .container,
.ausfuellen img,
.ausfuellen iframe,
.ausfuellen video {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

.schatten {
  box-shadow: 1px 1px 10px rgba(0, 0, 0, .4);
}
.schatten-gross {
  box-shadow: 2px 2px 30px rgba(0, 0, 0, .3);
}

.transparent {
  opacity: 0.3;
}

.unscharf {
  -webkit-filter: blur(4px);
  filter: blur(4px);
}
.sehr-unscharf {
  -webkit-filter: blur(8px);
  filter: blur(8px);
}
.scharf {
  -webkit-filter: blur(0);
  filter: blur(0);
  -webkit-transition: 1s -webkit-filter linear;
  transition: 1s -webkit-filter linear;
}











/* ----- Helfer ----- */

/* Hide visually and from screen readers */
.hidden {
  display: none !important;
}

/* Hide only visually, but have it available for screen readers */
.visuallyhidden {
  border: 0;
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  white-space: nowrap; /* 1 */
}

/* Extends the .visuallyhidden class to allow the element
 * to be focusable when navigated to via the keyboard */
.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
  clip: auto;
  -webkit-clip-path: none;
  clip-path: none;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  width: auto;
  white-space: inherit;
}

/* Hide visually and from screen readers, but maintain layout */
.invisible {
  visibility: hidden;
}


.clearfix:before,
.clearfix:after {
  content: " ";
  display: table;
}

.clearfix:after {
  clear: both;
}










/* ----- Print-Styles ----- */

@media print {

  *,
  *:before,
  *:after {
    background: transparent !important;
    color: #000 !important; /* Black prints faster */
    box-shadow: none !important;
    text-shadow: none !important;
  }

  a,
  a:visited {
    text-decoration: underline;
  }

  a[href]:after {
    content: " (" attr(href) ")";
  }

  abbr[title]:after {
    content: " (" attr(title) ")";
  }

  /*
   * Don't show links that are fragment identifiers,
   * or use the `javascript:` pseudo protocol
   */

  a[href^="#"]:after,
  a[href^="javascript:"]:after {
    content: "";
  }

  pre {
    white-space: pre-wrap !important;
  }
  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }

  thead {
    display: table-header-group;
  }

  tr,
  img {
    page-break-inside: avoid;
  }

  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }

  h2,
  h3 {
    page-break-after: avoid;
  }

}

