/* CSS Document  inspired by https://codepen.io/cobra_winfrey*/ 
body {
  font-family: "Fira Sans";
  --bl: #342935;
  --p: #b161c7;
  --r: #fd6262;
  --b: #55c6d9;
  --y: #fccf08;
  --w: #f2fdff;
  --bl: #322d2f;
  --b: #dd6235;
  --y: #cbaf69;
  --r: #dd6235;
  padding: 0;
  margin: 0;
  --expo: cubic-bezier(1, 0, 0, 1);
  --elastic: cubic-bezier(0.375, 0.885, 0.32, 1.125);
 /* background: var(--w); */
}

body #wrap {
  perspective: 80vmin;
  perspective-origin: 50% 0vh;
  position: fixed;
  overflow: hidden;
  height: 100vh;
}
body * {
  box-sizing: border-box;
  transform-style: preserve-3d;
  backface-visibility: hidden;
}




body h1 {
  position: fixed;
  top: 0;
  left: 50%;
  z-index: 2;
  font-family: "Henny Penny";
  font-size: 4vmin;
  margin: 0;
  padding-left: 6vmin;
  width: 100vw;
  text-align: left;
  transform: translateX(-50%) translateZ(0px);
  transition: transform 0.5s var(--expo) 0.75s;
  transform-origin: bottom;
}
body h1 strong,
body h1 span {
  display: inline-block;
}
body h1 span {
  transition: 0.75s var(--expo) 1s;
  color: var(--bl);
}
body h1 strong {
  vertical-align: middle;
  font-size: 6vmin;
  text-transform: uppercase;
  margin: 0 0.5vmin;
  transform-origin: bottom;
  transition: 0.5s var(--elastic) 1.25s;
  color: var(--r);
}
body h1:before {
  content: "";
  position: absolute;
  width: 100vw;
  height: 150%;
  top: 0;
  left: 50%;
  transform: translateX(-50%) translateZ(0px);
  z-index: -2;
  background: linear-gradient(to bottom, var(--w), rgba(255, 255, 255, 0.0001));
}
body nav,
body section,
body h1 {
  backface-visibility: hidden;
}
body h1,
body section {
  display: inline-block;
  transform-origin: top right;
  will-change: transform;
}
body section {
  padding: 10vmin 12vmin 8vmin;
/*  background: radial-gradient(circle at center, var(--r) 0.5px, var(--w) 0.5px, var(--w) 5px) 50% 50%/5px 5px repeat;  */
  color: var(--w);
  overflow: scroll;
  height: 100vh;
  transform: translateZ(0px);
  box-shadow: 10vmin 0 0 var(--r);
}
body section div {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15vmin 0;
  position: relative;
  --x: 10vmin;
}
body section div img,
body section div p {
  width: 50%;
  position: relative;
}
body section div img {
  transform: scale(1.25) translateX(var(--x));
  filter: saturate(1) blur(0px);
/*  box-shadow: 0 0 0 2.5vmin var(--w), 0 0 0 calc(2.5vmin + 1px) var(--y), 0 5vmin 10vmin -5vmin var(--bl); */  /* wenn aktiv = schöner Rahmen */
  opacity: 1;
}



body section div p {
  font-size: 2.25vmin;
  margin: 0;
  z-index: 2;
  background: var(--w);
  color: var(--bl);
  padding: 2rem;
  position: relative;
  transform: scaleY(1);
  transform-origin: bottom;
  box-shadow: 0 5vmin 10vmin -7.5vmin var(--bl);
}


@media (max-width: 991px) {
body section div img,
body section div p {
  width: 70%;
  position: relative;
}

body section div p {
  font-size: 3.5vmin;

}

}


body section div p:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 2;
  background: var(--r);
  transform-origin: top;
  top: 0;
  left: 0;
  transform: scaleY(0);
}
body section div p:after {
/*  content: "";  */   /* wenn aktiv = schöner Pfeil */
  position: absolute;
  height: 5vmin;
  width: 25%;
  right: 100%;
  background: radial-gradient(circle at center, var(--r) 1vmin, rgba(255, 255, 255, 0.001) 1vmin), linear-gradient(to right, var(--r), var(--w));
  background-size: 2vmin 2vmin, 100% 2px;
  background-repeat: no-repeat;
  background-position: 0px 50%, 50% 50%;
  top: calc(50% - 2.5vmin);
  transform-origin: right;
}
body section div:nth-of-type(even) {
  flex-direction: row-reverse;
  --x: -10vmin;
}
body section div:nth-of-type(even) p:after {
  right: auto;
  left: 100%;
  transform-origin: left;
}
body section div:nth-of-type(1) img {
  transition: 0.5s var(--expo) 1.6s, opacity 2s ease-in-out 0s;
}
body section div:nth-of-type(1) p {
  transition: transform 0.5s var(--expo) 1.1s;
}
body section div:nth-of-type(1) p:before,
body section div:nth-of-type(1) p:after {
  transition: transform 0.5s var(--expo) 1.6s, background-size 0.75s var(--expo) 2.1s;
}
body section div:nth-of-type(2) img {
  transition: 0.5s var(--expo) 1.7s, opacity 2s ease-in-out 0s;
}
body section div:nth-of-type(2) p {
  transition: transform 0.5s var(--expo) 1.2s;
}
body section div:nth-of-type(2) p:before,
body section div:nth-of-type(2) p:after {
  transition: transform 0.5s var(--expo) 1.7s, background-size 0.75s var(--expo) 2.2s;
}
body section div:nth-of-type(3) img {
  transition: 0.5s var(--expo) 1.8s, opacity 2s ease-in-out 0s;
}
body section div:nth-of-type(3) p {
  transition: transform 0.5s var(--expo) 1.3s;
}
body section div:nth-of-type(3) p:before,
body section div:nth-of-type(3) p:after {
  transition: transform 0.5s var(--expo) 1.8s, background-size 0.75s var(--expo) 2.3s;
}
body section,
body nav {
  transition: transform 0.75s var(--expo) 0s;
}
