/* ==========================================================================
   Shared styles
   ========================================================================== */

html, body {
    overflow-x: hidden;
}

body {
    min-height: 100vh;

    color: white;
    font-family: "Open Sans", sans-serif;
    font-weight: 700;

    border-top: 5px solid rgba(247, 196, 19, 1);
}

.row {
    margin: 0 auto;
}

/* Buttons
   ========================================================================== */

.btn {
    white-space: normal;
}

.btn:active,
.btn:hover,
.btn:focus {
    color: inherit;
}

.btn--scroll {
    z-index: 1;

    position: relative;

    padding: 10px;

    color: white;
    font-weight: 700;

    background: rgba(199, 17, 16, 1);

    border-radius: 0;

    transition: background 250ms;
}

/* ==========================================================================
   Page sections
   ========================================================================== */

/* Header
   ========================================================================== */

.header {
    background: -webkit-radial-gradient(ellipse farthest-side at center bottom, rgba(89, 89, 89, 1) 0%, rgba(0, 0, 0, 1) 100%);
    background: radial-gradient(ellipse farthest-side at center bottom, rgba(89, 89, 89, 1) 0%, rgba(0, 0, 0, 1) 100%);
}

.header-logo {
    max-width: 280px;
    margin: 0.5em auto;
}

.header-logo img {
    margin: 0 auto;
    display: block;
}

/* ==========================================================================
   Components
   ========================================================================== */

/* Introduction
   ========================================================================== */

.introduction {
    position: relative;

   background: linear-gradient(to right, rgba(0, 0, 0, 0.75) 0%, rgba(0, 0, 0, 0) 45% ),
                linear-gradient(to left,  rgba(0, 0, 0, 0.75) 0%, rgba(0, 0, 0, 0) 45% ),
                radial-gradient(ellipse farthest-side at center bottom, rgba(247, 196, 19, 1) 0%, rgba(0, 0, 0, 0.05)  85%),
                radial-gradient(ellipse farthest-side at center top,    rgba(247, 196, 19, 1) 0%, rgba(0, 0, 0, 0.05)  77%),
                url("foxtail.png") repeat;
}

.introduction h1 {
    color: yellow;
    font-size: 36px;
    font-weight: 700;
    text-transform: uppercase;

    text-shadow: 0 1px 1px black;
}

.introduction p {
    text-shadow: 0 1px 1px black;
}

.intro-vid {
    width: 80%;
    max-width: 800px;
}

.introduction .winners-wrapper {
    position: relative;

    display: inline-block;

    background: lightgrey;

    border: 1px solid rgba(247, 196, 19, 1);
}

.introduction .winners-wrapper::before,
.introduction .winners-wrapper::after {
    content: "";
    z-index: 10;

    position: absolute;

    width: 65px;
    height: 65px;

    background: url("arrow.png") no-repeat;
    background-size: cover;
}

.introduction .winners-wrapper::before {
    right: -30px;
    top: -10px;
}

.introduction .winners-wrapper::after {
    left: -30px;
    bottom: -40px;

    -webkit-transform: scaleX(-1) rotate(-40deg);
    transform: scaleX(-1) rotate(-40deg);

    filter: FlipH;
    -ms-filter: "FlipH";
}

.introduction .winners-image,
.introduction .winners-caption {
    width: 100%;
    max-width: 400px;
    margin: 0 auto;
}

.introduction .winners-caption {
    position: relative;

    padding: 10px;

    color: rgba(247, 196,  19, 1);
    font-size: 13px;

    background: black;
}

.introduction .winners-caption::after {
    content: "";
    z-index: -1;

    position: absolute;
    left: -25%;
    bottom: -8px;

    width: 150%;
    height: 16px;

    background: radial-gradient(ellipse farthest-side at center center, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0)  99%);
}

.introduction .winners-caption span {
    color: white;
}

.introduction #winnersImageGM,
.introduction #winnersImageIR,
.introduction #winnersCaptionGM,
.introduction #winnersCaptionIR {
    display: none;
}

@media screen and (max-width: 768px) {
    .introduction {
        padding-right: 0;
        padding-left: 0;
    }

    .introduction h1 {
        font-size: 24px;
    }

    .introduction .winners-wrapper::before,
    .introduction .winners-wrapper::after {
        width: 40px;
        height: 40px;
    }

    .introduction .winners-wrapper::before {
        right: -15px;
        top: -10px;
    }

    .introduction .winners-wrapper::after {
        left: -20px;
        bottom: -10px;
    }

    .introduction .winners-image,
    .introduction .winners-caption {
        width: 290px;
    }
}

/* Jackpot slot
   ========================================================================== */

.jackpot {
    position: relative;

    padding-top: 15px;
    
    background: black;
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 1300px 515px;
}

.jackpot-slot {
    width: 590px;
}

.jackpot-slot .slot-machine {
    position: relative;

    margin: 0 auto;
}

.jackpot-slot .slot-machine::before,
.jackpot-slot .btn--spin::before {
    content: "";
    z-index: 10;

    position: absolute;

    width: 65px;
    height: 65px;

    background: url("arrow.png") no-repeat;
    background-size: cover;
}

.jackpot-slot .slot-machine::before {
    left: 55px;
    top: -5px;

    -webkit-transform: scaleX(-1);
    transform: scaleX(-1);

    filter: FlipH;
    -ms-filter: "FlipH";
}

.jackpot-slot .slot-machine__frame {
    position: relative;

    width: 100%;
    margin: -60px auto -30px;
}

.jackpot-slot .slot-machine__ticker {
    position: absolute;
    left: 175px;
    top: 127px;

    color: rgba(247, 196,  19, 1);
    font-size: 32px;
    font-weight: bold;
    line-height: 1em;
}

.jackpot-slot .slot-machine__reel-container {
    position: absolute;
    top: 177px;

    display: inline-block;
    overflow: hidden;

    width: 110px;
    height: 185px;
}

.jackpot-slot .slot-machine__reel-container .slot-machine__reel {
    width: 100%;
    height: 14400px;

    background-image: url("reel.jpg");
    background-repeat: repeat-y;
    background-size: contain;

    transition: margin-top 3s;
}

.jackpot-slot .slot-machine__reel-container:nth-of-type(1) { left: 108px; }
.jackpot-slot .slot-machine__reel-container:nth-of-type(2) { left: 225px; }
.jackpot-slot .slot-machine__reel-container:nth-of-type(3) { left: 342px; }

.jackpot-slot .slot-machine__reel-1 { margin-top: -14170px; }
.jackpot-slot .slot-machine__reel-2 { margin-top: -13890px; }
.jackpot-slot .slot-machine__reel-3 { margin-top: -13675px; }

.jackpot-slot .btn--spin {
    z-index: 10;

    position: relative;

    max-width: 250px;
    margin: -15px auto 20px;
    padding: 10px 0;

    color: white;
    font-size: 28px;
    font-weight: 700;
    line-height: 1em;
    text-transform: uppercase;

    background: -webkit-linear-gradient(top, rgba(120, 255, 5, 1) 0, rgba(37, 183, 40, 1) 100%);
    background: -o-linear-gradient(top, rgba(120, 255, 5, 1) 0, rgba(37, 183, 40, 1) 100%);
    background: linear-gradient(to bottom, rgba(120, 255, 5, 1) 0, rgba(37, 183, 40, 1) 100%);

    border: 1px solid black;

    text-shadow: 0 1px 1px black;
}

.jackpot-slot .btn--spin::before {
    right: -50px;
    top: -40px;
}

.jackpot-slot .spin-remainder {
    display: none;

    max-width: 290px;
    margin: 0 auto 20px;
    padding: 10px;

    text-transform: uppercase;

    background: red;
}

.jackpot-slot .spin-remainder p {
    margin: 0 auto;

    line-height: 1.15em;
}

@media screen and (max-width: 768px) {
    .jackpot {
        background-size: 600px 415px;
    }

    .jackpot-slot {
        width: 280px;
    }

    .jackpot-slot .btn--spin {
        margin: 5px auto 20px;
    }

    .jackpot-slot .slot-machine::before,
    .jackpot-slot .btn--spin::before {
        width: 40px;
        height: 40px;
    }

    .jackpot-slot .slot-machine::before {
        left: 45px;
        top: -25px;
    }

    .jackpot-slot .slot-machine__frame {
        margin: 10px auto;

        transform: scale(1.33);
    }

    .jackpot-slot .slot-machine__ticker {
        left: 65px;
        top: 83px;

        font-size: 18px;
    }

    .jackpot-slot .slot-machine__reel-container {
        top: 74px;

        transform: scale(0.59);
    }

    .jackpot-slot .slot-machine__reel-container:nth-of-type(1) { left: 0  ; }
    .jackpot-slot .slot-machine__reel-container:nth-of-type(2) { left: 70px; }
    .jackpot-slot .slot-machine__reel-container:nth-of-type(3) { left: 140px; }

    .jackpot-slot .btn--spin::before {
        right: -10px;
        top: -25px;
    }
}

/* Survey
   ========================================================================== */

.survey {
    display: none;

    margin: 0 auto;
    padding: 1em 0;

    color: white;
    min-height: 400px;

    background: black;
}

.survey .btn--answer,
.survey .btn--cta {
    max-width: 290px;
    margin-right: auto;
    margin-left: auto;

    color: black;

    background: rgba(247, 196,  19, 1);
}

.survey .btn--cta {
    margin-top: 20px;

    font-size: 1.5em;
    font-weight: 700;
}

.survey .checks {
    margin: 2em auto 1em;
}

.survey .cta img {
    max-width: 290px;
    margin: 0 auto;
}

#question-2, #question-3, #question-4,
.loading, #check1, #check2, #check3,
.cta {
   display: none;
}

/* ==========================================================================
   Animations
   ========================================================================== */

/* Red Glow
   ========================================================================== */

@-webkit-keyframes glowing {
    0%   { background-color: rgba(199, 17, 16, 1); -webkit-box-shadow: 0 0 3px  rgba(199, 17, 16, 1); }
    50%  { background-color: rgba(255,  0,  0, 1); -webkit-box-shadow: 0 0 40px rgba(255,  0,  0, 1); }
    100% { background-color: rgba(199, 17, 16, 1); -webkit-box-shadow: 0 0 3px  rgba(199, 17, 16, 1); }
}

@keyframes glowing {
    0%   { background-color: rgba(199, 17, 16, 1); -webkit-box-shadow: 0 0 3px  rgba(199, 17, 16, 1); }
    50%  { background-color: rgba(255,  0,  0, 1); -webkit-box-shadow: 0 0 40px rgba(255,  0,  0, 1); }
    100% { background-color: rgba(199, 17, 16, 1); -webkit-box-shadow: 0 0 3px  rgba(199, 17, 16, 1); }
}

.btn--scroll {
    -webkit-animation: glowing 1500ms infinite;
    animation: glowing 1500ms infinite;
}
