* {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-margin-before: 0;
    -webkit-margin-after: 0;
    font-family: "Raleway", sans-serif;
    -webkit-font-smoothing: antialiased;
}

*:before,
*:after {
    margin: 0;
}

html {
    height: 100%;
}

body {
    background: rgb(5, 1, 17);
}

.full-page {
    height: 100vh;
    overflow: scroll;
    -webkit-overflow-scrolling: touch;
    width: 100%;
}


/* container for both main and footer sections */

.container {
    margin: auto auto;
    max-width: 100%;
    height: auto;
    width: 100%;
}


/* Special Styles */

.caps {
    text-transform: uppercase;
}

.flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

.row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-pack: distribute;
    justify-content: space-around;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: space-between;
}

.grow {
    flex: 1 0 auto;
}

.no-grow {
    flex: 0 0 auto;
}

.hidden {
    display: none;
}

.center {
    text-align: center;
    margin: auto auto;
}

.img-responsive {
    max-width: 100%;
    display: block;
}


/* MAIN SECTION which includes all the content minus the footer */

.main-section {
    background-image: url(./images/bkg.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    margin: auto;
    padding: auto;
}

.main-section__final-text {
    color: white;
    font-size: 29px;
    font-weight: 900;
    width: 100%;
    padding: 400px 0px 100px 0px;
}
@media (max-width: 938px) {
    .main-section__final-text {
        color: white;
        font-size: 29px;
        font-weight: 900;
        width: 100%;
        padding: 10px 0px 10px 0px;
    }
}


/* HEADER SECTION */

.header-section {
    width: 50%;
}
@media (max-width: 520px) {
    .header-section {
        Width: 100%;
    }
}

.header-section__title--badge {
    color: rgb(255, 255, 255);
    font-size: 20pt;
    font-weight: 600;
    letter-spacing: 2.5px;
    line-height: 1;
    text-align: center;
    margin: auto;
    padding: 100px 10px 5px 10px;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.19);
    width: calc(75%-100px);
}

.header-section__title {
    color: rgb(245, 245, 245);
    font-size: 35pt;
    font-weight: 900;
    letter-spacing: 2.5px;
    line-height: 1;
    text-align: center;
    text-justify: distribute;
    padding: 1px 20px 10px 10px;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.14);
    width: 100%;
}

.header-section__title-divider {
    background-color: rgba(255, 255, 255, 0);
    height: 5px;
    margin-bottom: 12px;
    width: 50%;
}

.header-section__subtitle {
    color: #fff;
    font-size: 15px;
    font-weight: 400;
    line-height: 1;
    margin-bottom: 5px;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.18);
}

/* .header-section__subtitle:last-of-type {
    margin-bottom: 43px;
} */


/* FORM SECTION */

.form-section {
    background: rgba(255, 255, 255, 0.466);
    margin: 40px;
    min-height: 363px;
    padding: 25px 0;
    width: 500px;
    height: 45%;
    border-radius: 50px;
}
@media (max-width: 1044px) {
    .form-section {
        Width: 100%;
    }
}
.signup-form__title {
    color: rgb(40, 27, 87);
    font-size: 30px;
    font-weight: 700;
    letter-spacing: 1px;
}

.form-section .signup-form .signup-form__input input {
    border: 1px solid rgb(11, 12, 31);
    background-color: #F7F7F7;
    border-radius: 5px;
    color: #4A484D;
    font-size: 21px;
    font-weight: 500;
    letter-spacing: 1px;
    margin-top: 26px;
    padding: 15px;
    width: 50%;
    /* 312/458 */
}

.form-section .signup-form .signup-form__input input[type=text] {
    margin-top: 19px;
}

.form-section .signup-form .signup-form__input input[attribute=value] {
    color: #4A484D;
}

.form-section .signup-form .signup-form__input input:focus {
    border: 1px solid rgb(44, 31, 104);
    outline: none;
}

.form-section .signup-form .signup-form__submit input.btn,
.promo-btn,
.connect-btn {
    border: none;
    border-radius: 5px;
    display: inline-block;
    color: #fff;
    background: -webkit-gradient(linear, left bottom, left top, from(rgb(33, 22, 70)), to(rgb(40, 27, 87)));
    background: linear-gradient(0deg, rgb(33, 22, 70) 0%, rgb(40, 27, 87) 100%);
    letter-spacing: 1px;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    margin-top: 26px;
    padding: 10px 30px;
    -webkit-transition: background-color .2s ease-in-out;
    transition: background-color .2s ease-in-out;
    width: 46.725%;
    /* 214/458 */
}

.promo-btn,
.connect-btn {
    display: block;
    margin-bottom: 26px;
    max-width: 458px;
    width: 100%;
}

.connect-btn {
    cursor: pointer;
    max-width: 600px;
    margin-top: 5px;
}

.connect-btn a,
.connect-btn a:hover {
    color: white;
    font-weight: 200;
    text-decoration: none;
}

.small-title {
    color: white;
    font-weight: bold;
    font-size: 20px;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.14);
}

.bold {
    font-weight: bold;
}

.underline {
    text-decoration: underline;
}

.form-section .signup-form .signup-form__submit input.btn:hover,
.promo-btn:hover,
.connect-btn:hover {
    background: -webkit-gradient(linear, left bottom, left top), from(rgb(33, 22, 70)), to(rgb(40, 27, 87));
    background: linear-gradient(0deg, rgb(33, 22, 70)) 0%, rgb(40, 27, 87) 100%);
}

.form-section .signup-form .signup-form__submit input.btn:active,
.form-section .signup-form .signup-form__submit input.btn:disabled,
.promo-btn:active,
.connect-btn:active {
    background: -webkit-gradient(linear, left bottom, left top, from(rgb(33, 22, 70)), to(rgb(40, 27, 87)));
    background: linear-gradient(0deg, rgb(103, 107, 148) 0%, rgb(40, 27, 97) 100%);
    color: #aeaeae;
    outline: none;
}

.form-section .signup-form .signup-form__submit input.btn:disabled {
    cursor: not-allowed;
}

.form-section .signup-form .signup-form__input {
    position: relative;
}

.form-section .signup-form .signup-form__input input.notvalid {
    border: 1px solid rgb(109, 155, 224);
}

.form-section .signup-form .signup-form__input .validation {
    position: relative;
    color: rgb(109, 155, 224);
    bottom: 20px;
    font-size: 12px;
}

.form-section .signup-form .signup-form__input:not(.phone-field) label {
    position: absolute;
    font-size: 25px;
    font-weight: 500;
    color: rgb(109, 155, 224);
    top: 20px;
    right: 100%;
}

.form-section .signup-form .signup-form__input.phone-field label {
    position: absolute;
    left: 38.128%;
    top: 44px;
}

.signup-form__success-template p {
    color: #000;
    font-size: 18px;
    font-weight: 600;
    margin: 30px auto;
    width: 80%;
}

small:hover {
    cursor: text;
}


/* MEDIA QUERIES for FORM SECTION to break form out of the containter */

@media screen and (max-width: 520px) {
    .form-section {
        width: 100%;
    }
    .form-section .signup-form .signup-form__input input {
        width: 68.036%;
    }
    .form-section .signup-form .signup-form__submit input.btn {
        width: 46.607%;
    }
    .form-section .signup-form .signup-form__input .validation {
        left: 19.1228%;
    }
    .form-section .signup-form .signup-form__input:not(.phone-field) label {
        right: 17.1026%;
    }
}

@media screen and (max-width: 440px) {
    .form-section .signup-form .signup-form__input input {
        width: 90%;
    }
    .form-section .signup-form .signup-form__input .validation {
        left: 8.6228%;
    }
    .form-section .signup-form .signup-form__input:not(.phone-field) label {
        right: 6.1026%;
    }
}


/* FEATURES SECTION */

.features-section {
    padding: 0 0 0 0;
}

.features-section__title {
    color: rgb(233, 233, 233);
    font-size: 20pt;
    font-weight: 300;
    margin-bottom: 28px;
}

.features-section__features {
    -ms-flex-pack: distribute;
    justify-content: space-around;
    padding-bottom: 50px;
}

.circle {
    border-radius: 50%;
    height: 150px;
    width: 150px;
}

.circle-inner {
    background-color: rgb(41, 23, 85);
}

.circle-inner p {
    color: rgb(252, 252, 252);
    font-size: 12pt;
    font-weight: 600;
    height: 54px;
    margin: 35px;
    text-align: center;
}

.circle-outer {
    background: transparent;
    border: 4px solid rgb(60, 35, 122);
    position: relative;
}

.circle-outer img {
    background: rgb(7, 14, 29);
    border-radius: 50%;
}

.circle-outer p {
    color: #fff;
    font-size: 22px;
    font-weight: 600;
    height: 48px;
    left: 50%;
    margin: 0;
    position: absolute;
    top: calc(100% + 11px);
    text-align: center;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.65);
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    width: 320px;
}


/* MEDIA QUERIES FOR FEATURES, alternately decreasing and increasing outer text width, 
   increasing circle size on smaller screens once flex begins to wrap */

@media screen and (max-width: 1100px) {
    .circle-outer p {
        width: 200px;
    }
}

@media screen and (max-width: 857px) {
    .circle {
        width: 165px;
        height: 165px;
        margin: 37.5px 75px;
    }
    .circle-outer img {
        border-radius: 50%;
        height: 147px;
        margin: 7px auto;
        width: 147px;
    }
    .circle-outer p {
        top: calc(100% + 18px);
        width: 319px;
    }
    .circle-inner p {
        font-size: 21px;
        margin: 43px auto;
        width: 131px;
    }
}

@media screen and (max-width: 768px) {
    .circle {
        margin: 50px 40px;
    }
}

@media screen and (max-width: 647px) {
    .circle-outer p {
        width: 207px;
    }
}

@media screen and (max-width: 545px) {
    .circle {
        margin: 50px 20px;
    }
}

@media screen and (max-width: 455px) {
    .circle:nth-child(even) {
        margin-bottom: 0;
    }
    .circle-outer p {
        width: 319px;
    }
}

@media screen and (max-width: 389px) {
    .circle-outer p {
        width: 207px;
    }
    .features-section__title {
       font-size: 12pt;
       width: 80%;
    }
}


/* FOOTER SECTION */

.footer-section {
    background-image: url(./images/footer1.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    margin: 30;
    min-height: 100px;
    padding: 26px 26px;
}

.footer-section__title {
    color: #ebebeb;
    font-size: 7vw;
    font-weight: 900;
    text-align: center;
    letter-spacing: 2.5px;
    margin: 10;
}

.footer-section__quotes {
    color: #d6d6d6;
    font-size: 12pt;
    font-weight: 4;
    text-align: center;
    padding: 2px 0px 20px 0px;
    margin-top: calc(100%-100px)
}

.footer-section__quotes p {
    width: 50%;
    padding: 10px;
    text-align: center;
}

.fb-share-btn {
    margin: 0 auto;
}

.footer-section__cbn-footer {
    color: #949494;
    font-size: 7px;
    font-weight: 500;
}

.footer-section__cbn-footer a {
    color: #949494;
    text-decoration: none;
}

.footer-section__cbn-footer a:hover {
    text-decoration: underline;
}


/* MEDIA QUERIES for FOOTER SECTION to control flex wrap for the two bottom quotes,
   increase quote font-size on smaller screens */

@media screen and (max-width: 1015px) {
    .footer-section__quotes p {
        width: 45%;
    }
}

@media screen and (max-width: 695px) {
    .footer-section {
        min-height: 100%;
    }
    .footer-section__quotes p {
        font-size: 20px;
        text-align: justify;
        width: 100%;
    }
    .footer-section__quotes p:last-of-type {
        margin-top: 40px;
    }
}


/*
    VIDEO PAGES
*/

.video-wrapper {
    margin-top: 30px;
    margin-bottom: 40px;
}

.video-container-type {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%;
    height: 0;
}

.video-container-type iframe {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    border: none;
}


/* VIDEO GALLERY */

.gallery-lightbox {
    background-color: rgba(255, 255, 255, .75);
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 10000000;
    opacity: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    pointer-events: none;
    -webkit-transition: opacity .4s ease-in-out;
    transition: opacity .4s ease-in-out;
}

.gallery-lightbox.show {
    pointer-events: auto;
    opacity: 1;
}

.gallery-wrapper {
    max-width: 768px;
    width: 80%;
    position: relative;
    margin: auto;
    padding: 15px;
}

.gallery-container {
    width: 100%;
    position: relative;
    height: 0;
    padding-bottom: 56.25%;
    background-color: #000;
}

.gallery-container iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden;
    border: none;
}

.gallery-wrapper .close-btn {
    position: fixed;
    width: 50px;
    height: 50px;
    background-image: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjMDAwMDAwIiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMTkgNi40MUwxNy41OSA1IDEyIDEwLjU5IDYuNDEgNSA1IDYuNDEgMTAuNTkgMTIgNSAxNy41OSA2LjQxIDE5IDEyIDEzLjQxIDE3LjU5IDE5IDE5IDE3LjU5IDEzLjQxIDEyeiIvPjxwYXRoIGQ9Ik0wIDBoMjR2MjRIMHoiIGZpbGw9Im5vbmUiLz48L3N2Zz4=);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    top: 15px;
    right: 15px;
    cursor: pointer;
}