/* BASE */
* {
    margin: 0;
    padding: 0;
}

p {
    margin: 0 0 40px 0;
}

a {
    cursor: pointer;
    color: #08f;
}


/* FONTS */

@font-face {
    font-family: 'GhostKid';
    src: url('src/ghostkid.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Inria Sans';
    src: url('src/InriaSans-Light.woff') format('woff');
    font-weight: light;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Inria Sans';
    src: url('src/InriaSans-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Inria Sans';
    src: url('src/InriaSans-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}


/* STYLES */

body {
    font-family: 'Inria Sans', Arial, sans-serif;
    font-size: 20px;
    line-height: 1.5;
    background-color: #002;
}

body.legal {
    background-color: #fff;
    padding: 10vh 10vw;
}

body.legal ol {
    margin-bottom: 40px;
    margin-left: 40px;
}

body.legal ol li {
    margin-bottom: 10px;
}

body.legal ol[type="a"] li::marker {
    content:"(" counter(list-item, lower-alpha)") ";
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'GhostKid', Arial, sans-serif;
    color: #07e;
    font-weight: 100;
}

h1 {
    font-size: 3em;
}

h2 {
    font-size: 2.5em;
    margin-bottom: 20px;
}

h3 {
    color: #000
}

main {
    overflow: hidden;
}

nav {
    height: 50px;
    padding: 25px 25px 0 25px;
    background: linear-gradient(0deg,rgba(0,0,0,0.0) 10%, rgba(0,0,0,0.95) 100%);
}

nav .logo {
    float: left;
}

nav .menu {
    display: none;
    float: right
}

nav .menu img {
    height: 40px;
}

.video-wrapper {
  position: absolute;
  inset: 0;
  z-index: -1;
  overflow: hidden;
}

video.hero-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.logo.comp {
    height: 40px;
}

.logo.comp img {
    height: 40px;
    vertical-align: middle;
}

.logo.comp img.logo-text {
    height: 25px;
    margin-left: 10px;
}

.logo.game {
    position: absolute;
    width: 100%;
    border-radius: 100%;
    bottom: -15px;
    z-index: 1;
}

.logo.game img{
    display: block;
    margin: 0 auto;
    /* max-height: 200px; */
    animation: wobble 8s cubic-bezier(0.2, 0, 0.8, 1) infinite both;
    width: 100%;
    max-width: 800px;
}

@keyframes wobble {
  0% {
    transform: translate(0) rotate(0deg) scale(100%);
  }
  20% {
    transform: translate(-4px, 4px) rotate(-1deg) scale(96%);
  }
  40% {
    transform: translate(-4px, -4px) rotate(1deg) scale(98%);
  }
  60% {
    transform: translate(4px, 4px) rotate(1deg) scale(96%);
  }
  80% {
    transform: translate(4px, -4px) rotate(1deg) scale(98%);
  }

}

.logo.game .logo-bg {
    position: absolute;
    top: -70px;
    left: 50%;
    transform: translateX(-50%) rotateZ(0deg);
    width: 133%;
    max-width: 1200px;
    height: 700px;
    background: url(src/burst.png) center -10px no-repeat;
    background-size: contain;
    z-index: -1;
}

.hero {
    width: 100%;
    height: 80vh;
    position: relative;
    overflow: hidden;
    padding: 0;
    background: linear-gradient(0deg,rgba(0,0,0,1) 0%, rgba(0,0,0,0) 30%);
}

.hero .mask {
    position: absolute;
    bottom: -50px;
    height: 190px;
    background-image: url(src/hero-mask.png);
    background-position: center top;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    width: 100%;
}

.container {
    width: 80vw;
    padding: 0 10vw;
    overflow: hidden;
    background-color: #fff;
    padding-top: 10vh;
}

.layout {
    display: grid;
    grid-template-columns: 450px 1fr;
    column-gap: 80px;
}

.frame {
    position: relative;
    border-width: 10px 10px 0 10px;
    border-color: #bbb;
    border-style: solid;
    border-radius: 50px 50px 0 0;
}

.preview {
    height: 745px;
    overflow: hidden;
    border-width: 6px 5px 0 6px;
    border-color: #222;
    background-color: #000;
    border-style: solid;
    border-radius: 40px 40px 0 0;
    position: relative;
}

.preview .pv-img {
    position: absolute;
    top: 0;
    width: 100%;
    opacity: 0;
    transition: opacity 1s ease;
}

.preview .pv-img {
    height: 745px;
    background-position: bottom center;
    background-size: cover;
}

.preview .active {
  opacity: 1;
}

.preview .pv-img:nth-child(1){background-image: url(src/bb-screen1.png);}
.preview .pv-img:nth-child(2){background-image: url(src/bb-screen2.png);}
.preview .pv-img:nth-child(3){background-image: url(src/bb-screen3.png);}
.preview .pv-img:nth-child(4){background-image: url(src/bb-screen4.png);}
.preview .pv-img:nth-child(5){background-image: url(src/bb-screen5.png);}
.preview .pv-img:nth-child(6){background-image: url(src/bb-screen6.png);}

.frame .mask {
    position: absolute;
    width: 100%;
    height: 2px;
    bottom: 0;
    padding: 0 20px;
    margin-left: -20px;
    background: #000;
    box-shadow: 0px 2px 13px 0px #000;
}

.frame .bar {
    position: absolute;
    width: 80px;
    height: 10px;
    top: 20px;
    margin-left: -40px;
    background: #000;
    border-radius: 20px;
    left: 50%;
}

 .button {
    display: block;
    width: 200px;
    height: 70px;
    background-color: #fff;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    border: none;
    cursor: pointer;
}

.download {
    margin-bottom: 40px;
    overflow: hidden;
}

.download a {
    float: left;
    margin-right: 20px;
    color: #08f;
    font-weight: bold;
}

.button#app-store {
    background-image: url(src/app-store.png);
}

.button#play-store {
    background-image: url(src/play-store.png);
}

.button#discord {
    background-image: url(src/discord.png);
}

footer {
    padding-top: 40px;
    height: 30vh;
    background-image: url(src/footer-mask.png);
    background-repeat: no-repeat;
    background-position: center top;
    background-color: #152077;
    background-size: cover;
    text-align: center;
    color: #fff;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 0.75em;
    font-weight: bold;
    position: relative;
}

footer ul {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 40px;
    list-style: none;
}

footer ul li {
    display: inline;
    margin: 0 15px;
}

@media (max-width: 900px) {

    .container {
        padding-top: 5vh;
    }

    .download {
        position: absolute;
        top: 82vh;
        width: 100vw;
        left: 0;
        text-align: center;
    }

    .download a {
        float: none;
        display: inline-block;
        margin: 0 10px;
    }
    
    .layout {
        grid-template-columns: 100%;
        column-gap: 0;
    }

    aside {
        margin: 40vw auto 5vh;
    }

    .frame {
        height: 500px;
        width: 80vw;
        max-width: 400px;
        box-sizing: content-box;
    }
    .preview {
        height: 500px;
        width: 80vw;
        max-width: 400px;
        box-sizing: border-box;
        object-fit: cover;
    }

    .preview .pv-img {
        height: 500px;
    }

    .frame {
        margin-left: -3vw;
    }
    
    h2 {
        font-size: 2em;
    }
   
}