:root{
  --p:20px;
  --c:#fff;
  --c2:#00ff00;
  --hh:50px;
  --col:4;
  --row:4;
  --gutter:calc(var(--p) / 20);
  --thumbW:22vh;
  --thumbH:14vh;
}
body{
  background-image:radial-gradient(#222, #000);
  font-size:clamp(1rem, 1.3vw, 1.5rem);
  line-height: 1.3em;
  overflow-x:hidden;
  font-family:"freesans", arial,sans-serif;
  display: flex;
  justify-content: center;
  align-content: center;
  height: 100vh;
  align-items: center;
}

header{
  font-family: "Wremena","Tanklager";
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-content: center;
  align-items: center;
  height: 200px;
  width: 200px;
  position: absolute;
  text-align: center;
  left: calc(50vw - 200px/2);
  top: calc(50vh - 200px/2);
}
header h1{
  color: var(--c2);
  font-weight:bold;
  font-size: 3em;
  line-height: 1em;
  letter-spacing: 2px;
  text-transform: uppercase;
  filter: blur(2px);
  animation: anim 5s ease-out 0s infinite alternate-reverse forwards running;
}
@keyframes anim {
  100% { filter: blur(5px); }
}
main {
  width:100vw;
  height:100vh;
  perspective: 100vw;
  perspective-origin: 50vw 50vh;
}
.card {
  font-family:"Wremena", 'Times New Roman', Times, serif;
  transition: all .5s, rotate .7s;
  transform-style: preserve-3d;
  position: absolute;
  font-size:1.2em;
  width:var(--thumbW);
  height:var(--thumbH);
  translate:calc(var(--thumbW)/-2) calc(var(--thumbH)/-2);
}
.card.is-flipped {
  rotate: y 180deg;
  z-index: 3;
  /* backface-visibility: hidden; */
}
.card.is-half .card-face{
  background-image:none!important;
}
.card.is-full{
  width:100vw;
  height: 100vh;
  top:  0!important;
  left: 0!important;
  translate:none;
  z-index:55;
  border-radius: 0;
}
.card-face {
  border-radius:10px;
  position: absolute;
  width: 100%;
  height: 100%;
  box-shadow: 0 0 10px #222;
  background-size:cover;
}
/* .card:nth-child(1) .card-face{
  background-image: linear-gradient(to top, var(--c2)-20% , transparent 250%),url(../img/small/1.gif);
}
.card:nth-child(2) .card-face{
  background-image: linear-gradient(to top, var(--c2)-20% , transparent 250%),url(../img/small/2.gif);
}
.card:nth-child(3) .card-face{
  background-image: linear-gradient(to top, var(--c2)-20% , transparent 250%),url(../img/small/3.gif);
}
.card:nth-child(4) .card-face{
  background-image: linear-gradient(to top, var(--c2)-20% , transparent 250%),url(../img/small/4.gif);
}
.card:nth-child(5) .card-face{
  background-image: linear-gradient(to top, var(--c2)-20% , transparent 250%),url(../img/small/5.gif);
}
.card:nth-child(6) .card-face{
  background-image: linear-gradient(to top, var(--c2)-20% , transparent 250%),url(../img/small/6.gif);
}
.card:nth-child(7) .card-face{
  background-image: linear-gradient(to top, var(--c2)-20% , transparent 250%),url(../img/small/7.gif);
} */
.card-back {
  cursor: pointer;
  background: var(--c2);
  background-size: 100% 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  box-shadow:0 0 10px black;
  transition:all .4s ease;
}
.card-back:hover{
    box-shadow:0 0 50px color-mix(in srgb, black, var(--c2) 40%);
}
.card.is-full .card-face{
  background-image:none;
}
.card.is-full .card-back,
.card:not(.is-ready) .close{
  display: none;
}
.card-front {
  background: #000;
  rotate:y 180deg;
  display: flex;
  justify-content: center;
  align-items: center;
}
.card .card-front iframe{
  opacity: 0;
  transition: .3s;
  width:calc(100%);
  height:calc(100% - var(--p) * 4);
}
.card.is-ready iframe{
  opacity: 1;
}
.card .close{
  position: absolute;
  top:var(--p);
  left:var(--p);
  padding: var(--p);
  width: 2em;
  height: 2em;
  background: black url(../img/close.svg) no-repeat;
  background-size: calc(100% - var(--p));
  background-position: center;
  border: 1px solid color-mix(in srgb, var(--c2), transparent 70%);
}
.card-face{
  /* -webkit-backface-visibility: hidden; /* Safari */
  backface-visibility: hidden; */
}

/* NAV */

.has-fullvideo nav{
  display: none;
}
nav{
  right: var(--p);
  top:var(--p);
  display: flex;
  position: absolute;
  z-index: 19;
  justify-content: flex-end;
  flex-wrap: wrap;
  width: 120px;
}
[data-state="menu"] nav{
  left:0;
}
nav button {
  background: black;
  color: var(--c2);
  padding: var(--p);
  border: 1px solid color-mix(in srgb, var(--c2), transparent 70%);
}
nav button:last-child{
  border-top:0;
}
button{
  display: flex;
  justify-content: center;
  align-items: center;
  background:var(--c);
  border:0;
  height: 2em;
  margin: 0;
  line-height: normal;
  text-transform: uppercase;
  letter-spacing: 1px;
  cursor: pointer;
  transition: backgroundColor .1s linear;
}
button:hover, .close:hover{
  background-color: color-mix(in srgb, var(--c2), transparent 90%)
}

/* panels */
.texts{
  display: none;
  width:100%;
  height: 100vh;
  background: black;
  font-size: 30px;
  line-height: 1.2em;
  z-index: 8;
  position: absolute;
  left: 0;
  top: 0;
  color: var(--c2);
  padding: calc(var(--p) * 3) var(--p) var(--p) var(--p);
}
body.is-texts .texts{
  display: block;
}
.texts h2{
  margin-bottom:var(--p);
}
.texts p{
  text-indent:calc(var(--p)*2);
}
body.is-credits .credits{
  top:0;
  filter:blur(0px);
  background:#0009;
  transition: top 1s ease-out, filter 2s ease-out,  background 4s ease-out 1s;
}
body.is-credits [data-open="credits"]{
  background: url(../img/close.svg) no-repeat;
  background-size: calc(100% - var(--p));
  background-position: center;
}
.credits{
  width: 100%;
  height: 100vh;
  position: fixed;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size:20px;
  left: 0;
  top: 100vh;
  z-index: 12;
  background:transparent;
  filter:blur(10px);
  transition: top .5s ease-out 0.3s, filter 1s ease-out,  background .2s ease-out 0s;
}
.credits .inner{
  width: min(90%, 700px);
  height: min(50vh, 500px);
  background: #111;
  padding: calc(var(--p)*5);
  position: relative;
  box-shadow: 0px 10px 20px #000;
  border-radius: 100%;
  color: var(--c2);
  text-align: center;
  border-top: 1px solid color-mix(in srgb, var(--c2), black 80%);
  border-bottom: 1px solid black;
}
.credits .close{
  position: absolute;
  top: 3vw;
  right: 4vw;
  padding: calc(var(--p) * 1.5);
  width: 2em;
  height: 2em;
  background: #111 url(../img/close.svg) no-repeat;
  background-size: calc(100% - var(--p) * 2);
  background-position: center;
  border-top: 1px solid color-mix(in srgb, var(--c2), black 80%);
  border-bottom: 1px solid black;
  border-radius: 100%;
}
a{
  color: inherit;
  transition:all .2s ease;
}
a:hover{
  filter: blur(1px);
  text-shadow: 0 0 10px var(--c2);
}
@media only screen and (max-width: 700px) {
  body{overflow: auto; display: block; height: auto;}
  nav{position: fixed;}
  main{height:auto; perspective: none}
  .card{
    translate:none;
    position:static;
    margin:calc(var(--p) * 4) auto;
  }
  .card.is-full{
    margin:0;
    position: absolute;
    top:0;
    left:0;
  }
  header{
    position: fixed;
  }
  .texts{
    font-size: 20px;
  }
  .credits .inner{
    padding-inline:var(--p);
  }
}
:-moz-any-link:focus, a:active {text-decoration: none; outline:0;}
::selection {background:var(--green); color:var(--c);}
::-moz-selection {background:var(--green); color:var(--c);}
