﻿/* ==========================================================================
   Font Includes from cdn
   ========================================================================== */

/* Source Sans Pro | latin | 400,400i,600,600i,700,700i */

@font-face {
    font-family: "Source Sans Pro";
    font-weight: 400;
    font-style: normal;

    src: url("/rea/shared/fonts/SourceSansPro/latin/subset-SourceSansPro-Regular.woff") format("woff"),
         url("/rea/shared/fonts/SourceSansPro/latin/subset-SourceSansPro-Regular.ttf") format("truetype"),
         url("/rea/shared/fonts/SourceSansPro/latin/subset-SourceSansPro-Regular.svg#SourceSansPro-Regular") format("svg");
}
@font-face {
    font-family: "Source Sans Pro";
    font-weight: 400;
    font-style: italic;

    src: url("/rea/shared/fonts/SourceSansPro/latin/subset-SourceSansPro-Italic.woff") format("woff"),
         url("/rea/shared/fonts/SourceSansPro/latin/subset-SourceSansPro-Italic.ttf") format("truetype"),
         url("/rea/shared/fonts/SourceSansPro/latin/subset-SourceSansPro-Italic.svg#SourceSansPro-Italic") format("svg");
}
@font-face {
    font-family: "Source Sans Pro";
    font-weight: 600;
    font-style: normal;

    src: url("/rea/shared/fonts/SourceSansPro/latin/subset-SourceSansPro-SemiBold.woff") format("woff"),
         url("/rea/shared/fonts/SourceSansPro/latin/subset-SourceSansPro-SemiBold.ttf") format("truetype"),
         url("/rea/shared/fonts/SourceSansPro/latin/subset-SourceSansPro-SemiBold.svg#SourceSansPro-SemiBold") format("svg");
}
@font-face {
    font-family: "Source Sans Pro";
    font-weight: 600;
    font-style: italic;

    src: url("/rea/shared/fonts/SourceSansPro/latin/subset-SourceSansPro-SemiBoldItalic.woff") format("woff"),
         url("/rea/shared/fonts/SourceSansPro/latin/subset-SourceSansPro-SemiBoldItalic.ttf") format("truetype"),
         url("/rea/shared/fonts/SourceSansPro/latin/subset-SourceSansPro-SemiBoldItalic.svg#SourceSansPro-SemiBoldItalic") format("svg");
}
@font-face {
    font-family: "Source Sans Pro";
    font-weight: 700;
    font-style: normal;

    src: url("/rea/shared/fonts/SourceSansPro/latin/subset-SourceSansPro-Bold.woff") format("woff"),
         url("/rea/shared/fonts/SourceSansPro/latin/subset-SourceSansPro-Bold.ttf") format("truetype"),
         url("/rea/shared/fonts/SourceSansPro/latin/subset-SourceSansPro-Bold.svg#SourceSansPro-Bold") format("svg");
}
@font-face {
    font-family: "Source Sans Pro";
    font-weight: 700;
    font-style: italic;

    src: url("/rea/shared/fonts/SourceSansPro/latin/subset-SourceSansPro-BoldItalic.woff") format("woff"),
         url("/rea/shared/fonts/SourceSansPro/latin/subset-SourceSansPro-BoldItalic.ttf") format("truetype"),
         url("/rea/shared/fonts/SourceSansPro/latin/subset-SourceSansPro-BoldItalic.svg#SourceSansPro-BoldItalic") format("svg");
}

/* ==========================================================================
   Shared Styles
   ========================================================================== */

* {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

html, body {
    font-family: "Source Sans Pro", sans-serif;
}

body {
    background-color: rgba(0, 0, 0, 1);
}

@media screen and (max-width: 767px) {
    html, body {
        overflow-x: hidden;
    }
}

/* Headings
   ========================================================================== */

h1, h2, h3, h4, h5, h6 {
    color: rgba(255, 212, 40, 1);
    text-align: center;
    text-transform: uppercase;
}

/* Buttons
   ========================================================================== */

.btn {
    position: relative;

    display: block;

    margin: 0 auto;

    color: white;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.1em;
    text-align: center;
    text-transform: uppercase;

    background-image: linear-gradient(180deg, rgba(253,241,167,1) 0%, rgba(191,147,32,1) 60%, rgba(252,208,92,1) 100%);

    border: 4px solid rgba(253, 224, 137, 1);
    border-radius: 12px;
    
    text-shadow: 0.0px 2.0px 0px #000,
        1.9px -0.7px 0px #000,
        -1.3px -1.6px 0px #000, 
        -1.1px 1.7px 0px #000, 
        2.0px 0.4px 0px #000, 
        -0.2px -2.0px 0px #000, 
        -1.8px 0.9px 0px #000, 
        1.4px 1.4px 0px #000, 
        0.8px -1.8px 0px #000, 
        -2.0px -0.2px 0px #000, 
        0.5px 1.9px 0px #000, 
        1.7px -1.1px 0px #000;
}

.btn:hover,
.btn:active {
    color: white;
}

.btn--long {
    padding: 5px 60px;
}

.btn.btn-arrowed::before,
.btn.btn-arrowed::after {
    content: '';
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 25px;
    height: 23px;
    background-image: url("/rea/shared/img/ccc/9/ccc9_arrows_2x.fs8.png");
    background-size: 100% 200%;
    background-position: left top;
    background-repeat: no-repeat;
}

.btn.btn-arrowed::before {
    left: 10px;
}

.btn.btn-arrowed::after {
    right: 10px;
    background-position: left bottom;
}

/* Slider (glidejs) Shared Styles
   ========================================================================== */

.glide__bullet {
    background-color: white;
}

.glide__bullet--active {
    background-color: rgba(255, 212, 40, 1);
}

.glide__arrow {
    font-size: 48px;

    border: 0;

    box-shadow: none;

    text-shadow: 1px 2px 3px black;
}

/* ==========================================================================
   Graphics
   ========================================================================== */

.graphics {
    position: relative;
    pointer-events: none;
}

.graphics::before,
.graphics::after {
    content: "";

    position: absolute;
}

/* Spotlights
   ========================================================================== */

/* Spotlights on top of page, higlighting the offer details */

.graphics--header-spotlights {
    width: 100%;
    height: 50px;
}

.graphics--header-spotlights::before {
    left: 0;
    top: 0;

    width: 100%;
    height: 241px;

    background-image: url("/rea/shared/img/ccc/9/ccc9_header-spotlights.fs8.png");
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: 760px auto;
}

@media screen and (max-width: 1199px) {
    .graphics--header-spotlights {
        height: 40px;
    }

    .graphics--header-spotlights::before {
        background-size: 640px auto;
    }
}

@media screen and (max-width: 992px) {
    .graphics--header-spotlights::before {
        left: -15px;

        background-size: 450px auto;
    }
}

@media screen and (max-width: 767px) {
    .graphics--header-spotlights {
        height: 0;
    }

    .graphics--header-spotlights::before {
        left: 10px;

        background-size: 510px auto;
    }
}

@media screen and (max-width: 575px) {
    .graphics--header-spotlights::before {
        left: 0;

        background-position: center top;
        background-size: 420px auto;
    }
}

/* Millionaires
   ========================================================================== */

/* Millionaires standing on top of podiums, bottom of the page */

.graphics--millionaires {
    width: 100%;
    max-width: 1600px;
    height: 714px;
    margin: -200px auto 0;
}

.graphics--millionaires::before,
.graphics--millionaires::after {
    z-index: -1;

    width: 100%;
    height: 100%;
}

.graphics--millionaires::before {
    background-image: url("/rea/shared/img/ccc/9/ccc9_millionaires-glow-largescreen.fs8.png"),
                      radial-gradient(farthest-side, rgba(128, 110, 57, 0.85)   0,
                                                     rgba(128, 110, 57, 0) 100%);
    background-repeat: no-repeat;
    background-position: center 30px, center 70px;
    background-size: 1600px auto, 1600px 572px;
}

.graphics--millionaires::after {
    background-image: url("/rea/shared/img/ccc/9/ccc9_millionaires-podium.fs8.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;

    transition: all 400ms ease-in-out;
}

@media screen and (max-width: 1200px) {
    .graphics--millionaires {
        height: 536px;
        margin: -150px auto 0;
    }

    .graphics--millionaires::before {
        background-size: 1200px auto, 1200px 429px;
    }
}

@media screen and (max-width: 992px) {
    .graphics--millionaires {
        height: 443px;
        margin: -100px auto 0;
    }

    .graphics--millionaires::before {
        background-size: 992px auto, 992px 355px;
    }
}

@media screen and (max-width: 767px) {
    .graphics--millionaires {
        height: 343px;
        margin: -50px auto 0;
    }

    .graphics--millionaires::before {
        background-position: center 20px, center 50px;
        background-size: 767px auto, 992px 275px;

    }
}

@media screen and (max-width: 575px) {
    .graphics--millionaires {
        height: 480px;
    }

    .graphics--millionaires::before {
        background-image: url("/rea/shared/img/ccc/9/ccc9_millionaires-glow-smallscreen.fs8.png"),
                          radial-gradient(farthest-side, rgba(128, 110, 57, 0.85)   0,
                                                         rgba(128, 110, 57, 0)    100%);
        background-position: center top, center 50px;
        background-size: 440px auto, 480px 400px;
    }

    .graphics--millionaires[data-mobile-slide="0"]::after {
        background-position: calc(-80px + ((100vw - 320px) / 2.35)) center;
    }

    .graphics--millionaires[data-mobile-slide="1"]::after {
        background-position: 50% center;
    }

    .graphics--millionaires[data-mobile-slide="2"]::after {
        background-position: calc(-660px + ((100vw - 320px) / 2.35)) center;
    }
}

/* ==========================================================================
   Main (Form) Section
   ========================================================================== */

.section-main {
    background-image: url("/rea/shared/img/ccc/9/ccc9_hero-lightrays.fs8.png"),
                      url("/rea/shared/img/ccc/9/ccc9_starfield-main.jpg");
    background-repeat: no-repeat, repeat-x;
    background-position: top center;
    background-size: auto;
}

.casino-logo {
    width: 100%;
    max-width: 290px;
    margin: 0 auto;
}

@media screen and (max-width: 1199px) {
    .section-main {
        background-position: center 100px, top center;
        background-size: 1200px auto, auto;
    }
}

@media screen and (max-width: 992px) {
    .section-main {
        background-size: 992px auto, auto;
    }
}

@media screen and (max-width: 767px) {
    .section-main {
        margin-bottom: 25px;

        background-position: calc((100vw - 617px) / 2) 100px, top center;
        background-size: 767px auto, auto;
    }

    .casino-logo {
        width: 170px;
        max-width: 100%;
        margin: 10px auto -10px auto;
        display: block;
    }
}

/* Page Header
   ========================================================================== */

.page-header {
    font-size: 52px;
    font-weight: 600;
    line-height: 0.9;

    text-shadow: 1px 2px 3px black;
}

.page-header span {
    display: block;
}

@media screen and (max-width: 992px) {
    .page-header {
        margin-top: 0.33em;

        font-size: 40px;
    }
}

@media screen and (max-width: 575px) {
    .page-header {
        font-size: 32px;
    }
}

/* Hero Image with Jackpot Ticker
   ========================================================================== */

.hero-image {
    position: relative;
    width: 100%;
    height: 510px;
    margin-bottom: -50px;
}

.hero-image::before {
    content: "";

    position: absolute;
    left: -30%;
    top: -40px;

    width: 160%;
    height: 100%;
    
    background-image: url("/rea/shared/img/ccc/9/ccc9_hero-image.fs8.png"),
        url("/rea/shared/img/ccc/9/ccc9_hero-glow.fs8.png");    
    background-repeat: no-repeat;
    background-size: auto 100%;
    background-position: left calc(50% + 12px) bottom 40px, center center;
}

@media screen and (max-width: 1199px) {
    .hero-image {
        height: 430px;
        margin-bottom: -50px;
    }
}

@media screen and (max-width: 992px) {
    .hero-image {
        height: 330px;
        margin-bottom: 0;
    }

    .hero-image::before {
        top: -20px;
    }
}

@media screen and (max-width: 767px) {
    .hero-image {
        margin-top: -30px;
        margin-bottom: -55px;
    }

    .hero-image::before {
        left: 50%;
        top: -30px;

        width: 700px;

        background-position: left calc(50% + 12px) center, center center;

        transform: translateX(-50%);
    }
}

@media screen and (max-width: 575px) {
    .hero-image {
        height: 250px;
        margin-top: -10px;
        margin-bottom: -50px;
    }
}

/* Jackpot Ticker in Hero Image
   ========================================================================== */

.jackpot {
    margin-left: -2%;
    position: absolute;
    width: 51%;
    left: calc(50% + 10px);
    transform: translateX(-50%);
    bottom: 58%;
    font-size: 28px;

    background-image: url('/rea/shared/img/ccc/9/ccc9_ticker_sprite.fs8.png');
    background-size: 100% 300%;
    background-position: left 0%;
    animation: progani 1.2s steps(3, start) infinite;
    -webkit-animation: progani 1.2s steps(3, start) infinite;
}

@media screen and (max-width: 1199px) {
    .jackpot {
        bottom: 62%;        
    }
}

@media screen and (max-width: 991px) {
    .jackpot {
        bottom: 61%;
        font-size: 20px;
    }
}

@media screen and (max-width: 767px) {
    .jackpot {
        bottom: 51%;
    }
}

@media screen and (max-width: 575px) {
    .jackpot {
        bottom: 54%;
        width: 270px;
    }
}

.jackpot::after {
    content: '';
    display: block;
    padding-bottom: 30.2%;
}

@keyframes progani {
    from { background-position: left 0%; }    
    to { background-position: left -300%; }
}

@-webkit-keyframes progani {
    from { background-position: left 0%; }    
    to { background-position: left -300%; }
}

.jackpot span {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);    
    color: rgba(255, 212, 40, 1);
    font-weight: 700;  
    white-space: nowrap;
}

/* REA Form
   ========================================================================== */

#preform {
    z-index: 1;

    width: 100%;
    max-width: 290px;
    margin: 30px auto 20px; 
    padding: 10px;

    background-color: rgba(41, 67, 75, 1);

    border: 2px solid rgba(255, 212, 40, 1);
    border-radius: 12px;

    box-shadow: 0 0 25px 10px rgba(141, 131, 72, 1);
}

#preform input,
#preform select {
    width: 100%;
    margin-top: 15px;
    padding: 8px 6px;

    border: 2px solid rgba(255, 212, 40, 1);
    border-radius: 12px;
}

#preform input.error,
#preform select.error {
    border-color: red;

    box-shadow: 0 0 3px 0 red,
                0 0 3px 0 red,
                0 0 3px 0 red;
}

#preform input.valid {
    border-color: rgba(38, 117, 218, 1);

    box-shadow: 0 0 3px 0 rgba(38,117,218,1),
                0 0 3px 0 rgba(38,117,218,1),
                0 0 3px 0 rgba(38,117,218,1);
}

#preform input:focus {
    background-color:rgba(250, 255, 189, 1);
}

#preform .btn {
    width: 100%;
    margin: 20px auto 5px;
}

.form-header {
    margin-top: 5px;

    color: white;
    font-size: 21px;
    font-weight: 600;
    line-height: 1.2em;
    text-align: center;
    text-transform: uppercase;

    text-shadow: 1px 2px 3px black;
}

.form-header span {
    display: block;
}

@media screen and (max-width: 992px) {
    #preform input,
    #preform select {
        margin-top: 10px;
        padding: 5px 6px;

        font-size: 14px;
    }

    #preform .btn {
        margin-top: 15px;

        font-size: 20px;
    }

    .form-header {
        font-size: 21px;
    }
}

@media screen and (max-width: 767px) {
    #preform {
        margin: 0 auto; 
    }
}

@media screen and (max-width: 575px) {
    #preform {
        width: calc(100% + 30px);
        max-width: none;
        margin-right: -15px;
        margin-left: -15px;

        border-right: 0;
        border-left: 0;
        border-radius: 0;
    }
}

/* GDPR checkboxes
   ========================================================================== */

#preform .checks[data-isgdpr="true"] {
    margin: 10px auto 0;
    color: white;
    text-shadow: 1px 1px 4px black;
    font-size: 13px;
}

#preform .checks[data-isgdpr="true"]:first-of-type {
    margin: 15px auto 0;
}

#preform .checks[data-isgdpr="true"] label {
    margin-bottom: 0;
}

/* Date of Birth Year selector
   ========================================================================== */

.dob-year-label {
    display: block;

    margin: 10px auto 0;

    color: white;
    font-size: 13px;
    text-align: center;

    text-shadow: 1px 1px 4px black;
}

/* CA Checkboxes
   ========================================================================== */

#preform .ca-confirm {
    margin: 10px auto 0;
    color: white;
    text-shadow: 1px 1px 4px black;
    font-size: 13px;
}

#preform .ca-confirm a:hover,
#preform .ca-confirm a:active,
#preform .ca-confirm a:focus {
    color: white;
}

#preform .ca-confirm label {
    margin-bottom: 0;
}


/* ==========================================================================
   Security Banner
   ========================================================================== */

/* Small banner with payments and security logos */

.section-security-banner {
    position: relative;
}

.security-banner-header {
    font-weight: 400;

    text-shadow: 1px 2px 3px black;
}

.security-banner {
    max-width: 860px;
    margin: 15px auto;

    font-size: 0;
    text-align: center;

    background-color: rgba(226, 237, 246, 1);

    border: 2px solid white;
    border-radius: 12px;

    box-shadow: 0 0  0    4px rgba(41, 67, 75, 1),
                0 0 25px 10px rgba(128, 110, 57, 1);
}

.section-security-banner::before {
    content: "";

    position: absolute;
    left: 50%;
    top: 50%;

    width: 100%;
    max-width: 1600px;
    height: 150%;

    background: radial-gradient(ellipse at center, rgba(128, 110, 57, 0.75) 0,
                                                   rgba(128, 110, 57, 0)   70%);

    transform: translate(-50%, -50%);
}

.security-logo {
    position: relative;

    display: inline-block;

    height: 44px;
    margin: 12px;
}

.security-logo::before {
    content: "";

    position: absolute;
    left: 0;
    top: 0;

    width: 100%;
    height: 100%;

    background-image: url("/rea/shared/img/ccc/9/ccc9_security-logos.fs8.png");
    background-size: 850px 44px;
}

.security-logo--visa { width: 80px; }
.security-logo--visa::before { background-position: 0 0; }

.security-logo--mastercard { width: 58px; }
.security-logo--mastercard::before { background-position: -107px 0; }

.security-logo--ssl { width: 94px; }
.security-logo--ssl::before { background-position: -192px 0; }

.security-logo--mcafee { width: 117px; }
.security-logo--mcafee::before { background-position: -314px 0; }

.security-logo--norton { width: 111px; }
.security-logo--norton::before { background-position: -459px 0; }

.security-logo--microgaming { width: 121px; }
.security-logo--microgaming::before { background-position: -598px 0; }

.security-logo--secure { width: 103px; }
.security-logo--secure::before { background-position: -746px 0; }

@media screen and (-webkit-min-device-pixel-ratio: 2), screen and (min-resolution: 2dppx) {
    .security-logo::before {
        background-image: url("/rea/shared/img/ccc/9/ccc9_security-logos_2x.fs8.png");
    }
}

@media screen and (max-width: 575px) {
    .security-banner {
        max-width: 320px;
        margin: 25px auto;
    }
}

/* ==========================================================================
   Games Slider using GlideJS
   ========================================================================== */

.section-games-slider {
    position: relative;

    padding: 100px 0 50px;
}

.section-games-slider::before {
    content: "";

    position: absolute;
    left: 0;
    top: 0;

    width: 100%;
    height: 100%;

    background-image: url("/rea/shared/img/ccc/9/ccc9_slider-glow.fs8.png");
    background-repeat: no-repeat;
    background-position: center 25px;
    background-size: contain;
}

.games-slider {
    max-width: 750px;
    margin: 0 auto;
}

.games-slider .glide__slides {
    padding-left: 30px;
    padding-right: 30px;
    margin-left: -30px;
    box-sizing: content-box;
}

.games-slider .glide__slide {
    padding: 20px 0;

    text-align: center;

    transition: all 500ms ease-in-out;

    transform: translate3d(0, 0, 0);
    transform-origin: 50% 50%;
}

.games-slider .glide__slide--active {
    z-index: 10;
}

.games-slider .glide__slide--previous {
    transform: perspective(16em) rotateY(12deg);
}

.games-slider .glide__slide--following {
    transform: perspective(16em) rotateY(-12deg);
}

.games-slider .glide__slide--previous img {
    margin-left: 15px;
}

.games-slider .glide__slide--following img {
    margin-left: -30px;
}

.games-slider .glide__slide img {
    max-width: 100%;
    border: solid 2px rgba(255, 212, 40, 1);
    box-shadow: 0px 0px 10px 5px rgba(0,0,0,1);
    box-sizing: border-box;
}

.games-slider .glide__arrow--left {
    left: 0;
}

.games-slider .glide__arrow--right {
    right: 0;
}

.games-slider .glide__bullets {
    bottom: 1em;
}

@media screen and (min-width: 1200px) {
    .games-slider .glide__arrow--left {
        left: -15%;
    }

    .games-slider .glide__arrow--right {
        right: -15%;
    }
}

@media screen and (max-width: 1199px) {
    .section-games-slider::before {
        background-size: cover;
    }
}

@media screen and (max-width: 767px) {
    .section-games-slider {
        padding: 50px 0;
    }

    .section-games-slider::before {
        background-position: center 10%;
    }

    .games-slider .glide__arrow {
        font-size: 36px;
    }
}

/* ==========================================================================
   Jackpot Pitch Section
   ========================================================================== */

.section-jackpot-pitch {
    padding-top: 30px;

    color: white;
}

.pitch-header {
    font-size: 36px;
    font-weight: 600;
}

/* ==========================================================================
   Millionaires Section
   ========================================================================== */

.section-millionaires {
    position: relative;

    padding: 80px 0 25px;

    color: white;
}

.section-millionaires::after {
    content: "";
    z-index: -1;

    position: absolute;
    bottom: -110px;

    width: 100%;
    height: 160px;

    background-image: radial-gradient(farthest-side, rgba(128, 110, 57, 1)  0,
                                                     rgba(128, 110, 57, 0.75) 50%,
                                                     rgba(128, 110, 57, 0) 100%);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100%;

}

.millionaires-header {
    margin-top: 0;

    font-size: 44px;
    font-weight: 600;

    text-shadow: 1px 2px 3px black;
}

.testimonial-carousel {
    margin-bottom: 25px;
    padding-bottom: 15px;
}

.testimonial-carousel .glide__bullets {
    bottom: 0;
}

.testimonial-carousel .glide__arrow--left {
    left: 0;
}

.testimonial-carousel .glide__arrow--right {
    right: 0;
}

@media screen and (max-width: 992px) {
    .testimonial-carousel .glide__arrow--left {
        left: -0.75em;
    }

    .testimonial-carousel .glide__arrow--right {
        right: -0.75em;
    }

    .testimonial-carousel .glide__slide {
        padding: 0 36px;
    }
}

@media screen and (max-width: 767px) {
    .section-millionaires {
        padding: 40px 0 25px;
    }

    .testimonial-carousel .glide__bullets {
        bottom: 0.6em;
    }
}

/* ==========================================================================
   Tweaks to make this look like CCC/4
   ========================================================================== */

.page-header-small {
    font-size: 40px;
}

@media screen and (max-width: 767px) {
    .page-header-small {
        font-size: 22px;
    }
}

.banking-logos {    
    width: 100%;
    border-radius: 15px;
    overflow: hidden;
    margin: 0;
    padding: 0;
    list-style-type: none;
    text-align: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.banking-logos li {
    margin: 0;
    padding: 0;
    width: 20%;    
    background-image:url('/rea/shared/img/ccc/9/ccc_9_pt-banking-logos.jpg');
    background-size: 500% 100%;
    background-position: 0 0;
}

.banking-logos li:nth-of-type(1) {background-position: 0 0;}
.banking-logos li:nth-of-type(2) {background-position: -100% 0;}
.banking-logos li:nth-of-type(3) {background-position: -200% 0;}
.banking-logos li:nth-of-type(4) {background-position: -300% 0;}
.banking-logos li:nth-of-type(5) {background-position: -400% 0;}

.banking-logos li::after {
    content: '';
    display: block;
    padding-bottom: 58.125%;
}

@media screen and (max-width: 767px){
    .banking-logos {
        margin-top: 20px;
        border-radius: 0;
    }

    .banking-logos li {
        width: 33.333333%;
    }
}

@media screen and (max-width: 575px){
    .banking-logos {
        width: calc(100% + 30px);
        margin-left: -15px;        
    }
}

.limited-offer {
    background-color: red;
    color: white;
    text-transform: uppercase;
    font-weight: 700;
    font-size: 40px;
    margin: 0 auto;
    padding: 10px 20px;
    line-height: 1;
    display: inline-block;
    border-radius: 10px;
}

@media screen and (min-width: 1200px) {
    .limited-offer {
        display: none;
    }
}

@media screen and (max-width: 1199px) {
    .limited-offer {
        display: inline-block;
    }
}

@media screen and (max-width: 767px) {
    .limited-offer {
        display: none;
    }
}

.position-bottom {
    position: absolute;
    bottom: 60px;
    z-index: 20;
    width: 100%;
    text-align: center;
}

.top-divider {
    width: 100%;
    padding: 5px 0 12px 0;
    margin: 20px 0 12px 0;
    background-color: #29434b;
    font-size: 34px;
    text-shadow: 1px 2px 3px black;
    line-height: 1;
}

.top-divider .u__text--large {
    font-size: 0.85em;
}

@media screen and (max-width: 1199px) {
    .top-divider {
        margin: 10px 0;
    }
}

.pre-form {
    position: relative;
    width: 100%;
    background-color: #457887;
    margin-top: 20px;
    text-align: center;
    color: white;
    font-size: 32px;
    line-height: 0.9;
    padding-bottom: 35px;
    margin-bottom: -10px;
    border-radius: 10px 10px 0 0;    
    text-shadow: 0px 2px 0px #000, 1.9px -0.7px 0px #000, -1.3px -1.6px 0px #000, -1.1px 1.7px 0px #000, 2px 0.4px 0px #000, -0.2px -2px 0px #000, -1.8px 0.9px 0px #000, 1.4px 1.4px 0px #000, 0.8px -1.8px 0px #000, -2px -0.2px 0px #000, 0.5px 1.9px 0px #000, 1.7px -1.1px 0px #000;
}

.pre-form .pre-form-head {
    border-radius: 10px 10px 0 0;
    position: relative;
    background-color: #29434b;
    text-transform: uppercase;
    font-weight: 700;
    padding: 5px;
    font-size: 16px;
}

.pre-form .pre-form-head span {
    display: inline-block;
    width: auto;
    margin: 0 auto;
    background-color: red;
    padding: 5px;
    border-radius: 5px;
    line-height: 1;
}

.arrow-curved {
    width: 40px;
    background-image:url('/rea/shared/img/ccc/9/ccc9_arrow_curved.fs8.png');
    background-repeat: no-repeat;
    background-size: 100% auto;
    position: absolute;
    z-index: 20;
}

.arrow-curved::after {
    content: '';
    display: block;
    padding-bottom: 123.63%;
}

.arrow-2 {
    top: 8px;
    left: calc(50% + 82px);
    transform: rotate(-30deg) translateX(-50%);
}

.arrow-3 {
    bottom: 7px;
    left: calc(50% - 158px);
    transform: scaleX(-1) rotate(-30deg) translateX(-50%);
}

.hero-image .arrow-curved {
    top: 0;
    right: 60px;
    width: 100px;
}

@media screen and (max-width: 992px) {
    .position-bottom {
        bottom: 40px;
    }

    .hero-image .arrow-curved {
        width: 70px;
        right: 25px;
    }
}

@media screen and (max-width: 767px) {
    .hero-image .arrow-curved {
        right: 125px;
        top: 10px;
    }

    #preform {
        width: 100%;
        max-width: none;
    }
}

@media screen and (max-width: 575px) {
    .pre-form,
    #preform {
        width: calc(100% + 30px);
        max-width: none;
    }

    .pre-form {
        margin-left: -15px;
        border-radius: 0;
    }

    .pre-form .pre-form-head {
        border-radius: 0;
    }

    .hero-image .arrow-curved {
        right: auto;
        left: calc(50% + 75px);
        transform: translateX(-50%);
        top: -24px;
    }
}

/* ==========================================================================
   Footer
   ========================================================================== */

.footer {
    padding-top: 15px;

    color: white;

    background-color: black;
    background-image: linear-gradient(to bottom, rgba(128,110,57,1) 0%,rgba(255,255,255,0) 100%);
    background-size: 100% 120px;
    background-repeat: no-repeat;
    background-position: center top;

    border-top: 2px solid rgba(214, 172, 49, 1);
}

.footer-icons {
    background: none;
}

.copy p {
    margin-bottom: 0;
}

/* ==========================================================================
   Utility Classes
   ========================================================================== */

.u__color--yellow {
    color: rgba(255, 212, 40, 1);
}

.u__color--white {
    color: rgba(255, 255, 255, 1);
}

.u__text--uppercase {
    text-transform: uppercase;
}

.u__text--medium {
    font-size: 0.9em;
}

.u__text--large {
    font-size: 1.15em;
}

.u__text--xlarge {
    font-size: 1.5em;
}

/* ==========================================================================
   Lloyd Legacy Shared Fix
   ========================================================================== */

.pinkSlime {
    width: auto !important;

    color: rgba(153, 153, 153, 1);
    text-align: center !important;

    border: none !important;
}

.footerTracking {
    width: 85%;
    max-width: 480px;
    margin: 0 auto 4px;
    padding: 3px 4px;

    font-size: 11px;
    text-align: left;

    background: rgba(34, 34, 34, 1);

    border: 1px solid rgba(68, 68, 68, 1);
}

.affiliates {
    margin: 10px auto;

    text-decoration: underline;
}

.copy {
    margin: 5px auto;

    font-size: 12px;
    text-align: center;
}

/* ==========================================================================
   Modal styling override
   ========================================================================== */

.modal h1,
.modal h2,
.modal h3,
.modal h4,
.modal h5 {
    color: black;
}

/* ==========================================================================
   Modal Hax due to Bootstrap 4 styling
   ========================================================================== */

.modal.fade.in {
    opacity: 1;
}