body {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    background-color: #000;
}

.hero-modal.is-iphone .video-js .vjs-fullscreen-control {
    display: none;
}

.hero-modal {
    display: none;
    position: fixed;
    z-index: 100;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%; 
    overflow: auto; 
    background-color:#000;
}

#hero-video {
    width: 100vw;
    height: 90vh;
    overflow: hidden;
}


/* mobile modal warning pop-up */

.warning-modal.d-none {
    display: none;
}

.warning-modal {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 30px;
    position: fixed;
    z-index: 200;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background-color: rgb(0,0,0);
}

.warning-modal .icon-phone {
    width: 180px;
    margin-bottom: -20px;
}

.warning-modal .description {
    font-size: 24px;
    font-weight: 700;
    line-height: 28px;
    color: #fff;
    text-align: center;
    padding: 0 90px;
}

/* videojs overwrites */

.video-js .red-flag {
    height: 40px;
    position: absolute;
    top: 15px;
}

.vjs-modal-dialog .vjs-modal-dialog-content {
    display: none;
}

.video-js .vjs-modal-dialog {
    position: fixed;
    z-index: 200;
    background: transparent;
    margin: auto;
    padding: 53px 24px 44px 26px;
    width: 325px;
    height: auto;
    top: auto;
    left: 0;
    right: 0;
    bottom: 70px;
    /* transform: translateX(-50%); */
    opacity: 0;
    transform-origin: bottom left;
}

.video-js .modal-description {
    position: relative;
    top: auto;
    left: auto;
    padding: 0;
    font-size: 18px;
    line-height: 24px;
    font-weight: 600;
    color: #6C3F99;
}

.video-js .transparent-div {
    position: absolute;
    width: 100%;
    height: calc(100% - 40px);
    bottom: 0;
    left: 0;
    background: rgba(255, 255, 255, 0.9);
    border-radius: 8px;
    backdrop-filter: blur(10px);
    border: 1px solid #888;
}

.video-js .vjs-control.vjs-close-button {
    position: absolute;
    top: auto;
    bottom: 16px;
    left: 26px;
    height: auto;
    width: fit-content;
    font-size: 14px;
    color: #b189bd;
}

.video-js .vjs-control.vjs-close-button .cta-btn {
    margin-right: 10px;
}

.video-js .vjs-control.vjs-close-button .right-arrow {
    font-size: 25px;
}

.vjs-close-button.vjs-control.vjs-button .vjs-icon-placeholder {
    display: none;
}

.video-js .back-button {
    display: block;
    position: absolute;
    top: 3%;
    left: 2%;
    background: none;
    border: none;
    font-size: 20px;
    cursor: pointer;
}

.video-js .back-button .back-text {
    display: none;
}

.video-js .back-button .left-arrow {
    font-size: 30px;
    margin-right: 16px;
}

.page-intro-banner {
    background-image: url('/assets/red-flags/hero-banner-mobile.png');
    background-size: contain;
    background-repeat: no-repeat;
}


.page-intro .red-flag {
    width: 48px;
}

.page-intro h1.heading {
    text-transform: uppercase;
    color: #fff;
    font-size: 40px;
    font-weight: 700;
    margin-top: -25px;
    margin-bottom: 32px;
    line-height: 90%;
}

button {
    text-transform: uppercase;
    padding: 0 40px;
    font-size: 17px;
    line-height: 55px;
    background: none;
    color: white;
    border: 2px solid white;
    font-weight: 700;
    cursor: pointer;
}

/* modal animation bounce */
.animated {
    animation-name: grow;
    animation-duration: 900ms;
    animation-timing-function: ease-in-out;
    animation-fill-mode: forwards;
  }
  
  @keyframes grow {
    0% {
      opacity: 0;
      transform: scale(0) rotateY(20deg)
    }
    40% {
      transform: scale(1.1)
    }
    50% {
      transform: scale(0.9)
    }
    60% {
      opacity: 1;
      transform: scale(1.05)
    }
    70% {
      transform: scale(0.95)
    }
    80% {
      transform: scale(1.02)
    }
    90% {
      transform: scale(0.98) rotateY(0)
    }
    100% {
      opacity: 1;
      transform: scale(1)
    }
  }

@media (min-width: 576px) {

    .video-js .vjs-modal-dialog {
        bottom: auto;
        left: auto;
        top: auto;
        right: auto;
        transform: initial;
    }

    .vjs-modal-dialog[data-id="0"], .vjs-modal-dialog[data-id="4"], .vjs-modal-dialog[data-id="8"] {
        top: 12%;
        left: 3%;
        bottom: auto;
        right: auto;
    }
    
    .vjs-modal-dialog[data-id="1"], .vjs-modal-dialog[data-id="3"], .vjs-modal-dialog[data-id="7"] {
        bottom: 16%;
        right: 3%;
    }

    .vjs-modal-dialog[data-id="2"] {
        top: 12%;
        right: 3%;
    }

    .vjs-modal-dialog[data-id="5"], .vjs-modal-dialog[data-id="6"] {
        bottom: 15%;
        left: 3%;
    }
}

@media (min-width: 740px) {

    #hero-video {
        height: 100vh;
    }

    .page-intro-banner {
        background-image: url('/assets/red-flags/hero-banner-desktop.png');
        background-size: cover;
    }

  

}

/* Mobile devices in landscape orientation */

@media (min-width: 576px) and (max-height: 450px) {
  
    .page-intro h1.heading {
        font-size: 30px;
    }
    button.play-video {
        line-height: 40px;
    }

    .vjs-modal-dialog[data-id="0"], .vjs-modal-dialog[data-id="2"], .vjs-modal-dialog[data-id="4"], .vjs-modal-dialog[data-id="8"] {
        top: 5%;
    }

    .vjs-modal-dialog[data-id="1"], .vjs-modal-dialog[data-id="3"], .vjs-modal-dialog[data-id="5"], .vjs-modal-dialog[data-id="6"], .vjs-modal-dialog[data-id="7"] {
        bottom: 3%;
    }
}

@media (min-width: 992px) {

    .video-js .back-button .back-text {
        display: inline;
    }

    .video-js .red-flag {
        height: 80px;
        top: 0;
    }

    .video-js .vjs-modal-dialog {
        width: 385px;
        padding: 75px 40px 44px 26px;
    }

    .video-js .modal-description {
        font-size: 24px;
        line-height: 32px;
    }

    .video-js .vjs-control.vjs-close-button {
        font-size: 16px;
    }
}

@media (min-width:1200px) {
    .page-intro-banner {
        background-image: url('/assets/red-flags/hero-banner-desktop.png');
        background-size: cover;
    }

    .page-intro .red-flag {
        width: 145px;
    }
    
    .page-intro h1.heading {
        font-size: 64px;
        margin-top: -40px;
    }
    
    button {
        line-height: 71px;
    }
}