@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Arizonia&family=Fira+Sans:wght@300;400;500;600&display=swap');

        html, body {
            scroll-behavior: smooth;
            -webkit-overflow-scrolling: touch;
        }
        
        body {
            margin: 0; 
            padding: 0; 
            font-family: "Fira Sans", sans-serif;
            color: white;
        }

        #map {
            top: 0; 
            bottom: 0;
            width: 100%;
            position: fixed;
            height: 100%;
            z-index: 0;
            background-image: url("pics/d2.jpg");
            background-size: cover;
            transition: background-image 0.8s ease-in-out, background-position 0.8s ease-in-out;
            background-position: 30% bottom;
        }

        #video-container {
            top:0; 
            bottom: 0;
            width: 100%;
            position: fixed;
            height: 100%;
            z-index: 1;
            background-color: black;
        }

        @keyframes bouncingdown {
            0% {left: -100%; animation-timing-function: cubic-bezier(1,0,1,1);}
            40% {left: 0; animation-timing-function: cubic-bezier(0,1,0,1);}
            60% {left: -7%; animation-timing-function: cubic-bezier(.38,.01,1,1);}
            100% {left: 0; }
        }

        #video-container.off {
            left: -100%;
            transition: left 0.8s cubic-bezier(0.8, 0, 0.1, 1);
        }

        #video-container.on {
            left: 0;
            animation: bouncingdown 2s ease-out;
        }

        #video-container #brightcove {
            height: 0;
            padding-bottom: 56%;
            position: relative;  
            top: 50%; 
            transform: translateY(-50%);
            transition: border 7s ease;
        }

        #video-container #brightcove.on {
            border-top: 1px solid white;
            border-bottom: 1px solid white;
        }

        #video-container #brightcove.off {
            border-top: 1px solid transparent;
            border-bottom: 1px solid transparent;
        }

        .video-js .vjs-big-play-button {
            opacity: 0;
          }

        .video-js .vjs-control-bar {
            visibility: hidden;
            transform: translateY(3em);
        }

        .video-js .vjs-control-bar > div:not(.vjs-play-progress), .video-js .vjs-control-bar > button {
            visibility: hidden;
        }

        .video-js .vjs-play-progress {
            visibility: visible;
          }

        #controls_container {
            position: fixed;
            width: 200px;
            height: 70px;
            bottom: 0;
            right: 0;
            overflow: hidden;
            z-index: 2;
        }

        #controls {
            right: 15px;
            position: absolute;
            z-index: 5;
            transition: bottom 0.4s 0.8s ease-in-out;
        }

        #controls.off {
            bottom: -200px;
        }

        #controls.on {
            bottom: 15px;
        }

        #controls button {
            cursor: pointer;
            padding: 2em;
            background-color: transparent;
            background-size: cover;
            border: none;
        }

        #controls button#btnpl {
            background-image: url("pics/controls/play.svg");
        }

        #controls button#btnfb {
            background-image: url("pics/controls/fb.svg");
        }

        #controls button#btnff {
            background-image: url("pics/controls/ff.svg");
        }

        section {
            width: 100%;
            padding: 0;
            background-color: white;
        }

        header {
            margin: 0;
            width: 100%;
            height: 100vh;
            padding: 34vh 2vh 0 2vh;
            text-align: center;
            position: relative;
            box-sizing: border-box;
            background-color: black;
            overflow: hidden;
            background-image: url("pics/d1.jpg");
            background-size: cover;
            background-position: 75% bottom;
        }

        @media screen and (min-width: 1200px) {
            header {
                padding-top: 34vh;
            }
        }

        header::after {
            position: absolute;
            width: 360px;
            height: 200px;
            color: #ff9903;
            bottom: -130px;
            left: 90%;
            transform: translateX(-50%);
            font: 400 2em 'Arizonia', cursive;
            content: '\21E3';
            line-height: 2em;
            animation: breathe 4s infinite;
        }

        header div#byline {
            position: absolute;
            bottom: 1em;
            left: 1em;
            font: 300 1em "Fira Sans", sans-serif;
            text-align: left;
        }

        header div#byline h5 {
            font: 600 1em "Fira Sans", sans-serif;
            padding: 0;
            margin: 0;
        }

        header div#byline p {
            font: 300 1em "Fira Sans", sans-serif;
            padding: 0.2em 0 0 0.5em;
            text-transform: uppercase;
            margin: 0;
        }

        @keyframes breathe {
            0% {color: #ddd9c5; }
            33% {color: #ddd9c5; }
            66% {color: #363635; }
            100% {color: #363635; }
        }

        header h1 {
            font: normal 3em 'Bebas Neue', sans-serif;
            margin: 0 auto;
            text-align: center;
        }

        header h3 {
            font: 400 1.6em 'Bebas Neue', sans-serif;
            padding: 0 0 0.5em 0;
            margin: 0;
            text-align: center;
            text-transform: uppercase;
        }

        footer {
            position: relative;
            width: 100%;
            background-color: black;
            padding: 1em 1em 10em 1em;
            box-sizing: border-box;
        }

        #features {
            padding: 10vh 0;
            width: 90vw;
            margin: 0 auto;
        }

        #features h3 {
            font: 600 1rem 'Fira Sans', sans-serif;
        }

        #features h4 {
            font: 400 1.3rem 'Julius Sans One', sans-serif;
            text-transform: uppercase;
        }

        #features p {
            font: 400 1.2rem 'Fira Sans', sans-serif;
            line-height: 2rem;
            text-shadow: 1px 1px 2px rgba(0,0,0,0.3);
        }

        div#windowed {
            position: relative;
            height: 25vh;
            background-image: url("pics/d15.jpg");
            background-position-x: 30%;
            background-position-y: 100%;
            background-size: cover;
        }

        .step {
            opacity: 0.9;
            margin: 0 0 80vh 0;
        }

        .step:nth-of-type(1) {
            margin-top: 40em;
        }

        .step:nth-of-type(8) {
            visibility: hidden;
        }

        .step > div {
            padding: 1em 2em;
            background-color: rgba(0,0,0,0.3);
        }

        .step.transp {
            visibility: hidden;
        }

        .hidediv {
            display: none;
        }

        article {
            position: relative;
            background-color: white;
            color: black;
        }

        article h1{
            font: 500 2em "Fira Sans", sans-serif;
            text-align: center;
            margin: auto;
            max-width: 700px;
            padding: 1em;
        }

        article h2 {
            font: 400 1.4em "Fira Sans", sans-serif;
            text-align: center;
            margin: auto;
            max-width: 700px;
            padding: 1em;
        }

        article h3, footer h3 {
            font: 300 2em "Fira Sans", sans-serif;
            text-align: center;
            margin: 0;
            padding: 1em;
        }

        article p, footer p {
            padding: 1em;
            font: 300 1.1em "Fira Sans", sans-serif;
            line-height: 1.6em;
            margin: auto;
            max-width: 700px;
        }

        article > img {
            display: block;
            max-width: 100%;
            height: auto;
        }

        #box0 > section:nth-of-type(1) {
            background-image: url("pics/d10.jpg");
            background-size: cover;
            background-position: left 30% center;
        }

        #box1 > section:nth-of-type(1) {
            background-color: black;
            background-repeat: no-repeat;
            background-image: url("pics/d11.jpg");
            background-size: contain;
            background-position: left center;
        }

        #box2 > section:nth-of-type(1) {
            background-image: url("pics/d12.jpg");
            background-size: cover;
            background-position: right 20% center;
        }

        div.box_container {
            overflow: hidden;
            height: 100vh;
            position: relative;
        }

        div.box_container > section {
            position: absolute;
            height: 100vh;
        }
        
        div.box_container > section > p {
            margin: 0;
            padding: 4em;
        }

        div.box_container section.b {
            z-index: 2;
            position: absolute;
        }

        div.box_container section.c {
            background-color: transparent;
            z-index: 3;
            top: 100%;
            position: absolute;
        }

        div.box_container section.c h1 {
            font: 500 1.5em "Fira Sans", sans-serif;
            margin: auto 20px auto auto;
            text-align: right;
        }

        div.box_container section.c p {
            font: 500 1.1em "Fira Sans", sans-serif;
            margin: 0;
            line-height: 1.6em;
            text-align: right;
            padding: 1em 0.5em;
            box-sizing: border-box;
        }

        div.box_container section.c.opa p {
            background-color: rgba(0,0,0,0.3);
        }

        div#box2 section.c p {
            text-align: left;
        }

        aside {
            margin: 1em auto;
            width: 100%;
            max-width: 700px;
            box-sizing: border-box;
            padding: 1em;
            border-radius: 10px;
            border: 1px solid white;
            background-color: rgba(0,156,210,0.6);
            color: white;
            font: 300 1em "Fira Sans", sans-serif;
        }

        aside h1 {
            padding: 0;
            margin: 0 0 1em 0;
            font-size: 1.2em;
        }

        @media screen and (min-width: 700px) {
            header h1 {
                font: normal 4em 'Bebas Neue', sans-serif;
            }

             #features { 
                width: 50vw;
                margin: 0 auto;
            }

            #features p {
                font: 400 1.5rem 'Fira Sans', sans-serif;
                line-height: 2rem;
            }

            header::after {
                left: 50%;
                transform: translateX(-50%);
            }

            div#windowed {
                height: 40vh;
            }

            div.box_container section.c p {
                max-width: 370px;
                margin: auto 0 auto auto;
                padding: 1em;
            }

            div#box2 section.c p {
                max-width: 370px;
                margin: auto auto auto 0;
            }
        }

        @media screen and (min-width: 1050px) {
            div.box_container section.c h1, div.box_container section.c p {
                max-width: 40%;
                margin: auto 10% auto auto;
                padding: 1em;
                text-align: center;
            }

            div#box1 section.c h1, div#box1 section.c p {
                max-width: 35%;
                margin: auto 5% auto auto;
            }
        }

        @media screen and (min-width: 1200px) {
            div#box1 section.c h1, div#box1 section.c p {
                max-width: 35%;
                margin: auto 10% auto auto;
            }
        }