*,:after,:before{
    margin:0;
    padding:0;
    box-sizing:inherit
}
html{
    font-size:62.5%
}
@media only screen and (max-width:340px){
    html{
        font-size:50%
    }
}
body{
    box-sizing:border-box;
    font-family:Open Sans,sans-serif;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
    line-height:1.7
}
.layout{
    display:grid;
    min-height:100vh;
    background-color:var(--background-color)
}
.text{
    color:var(--text-color);
    font-size:1.6rem
}
.text-secondary{
    color:var(--text-color-secondary)
}
.text-tertiary{
    color:var(--dark-gray)
}
.text-gray{
    color:var(--light-gray-2)
}
.text-lg{
    font-size:2.4rem
}
.text-lg--2{
    font-size:1.8rem
}
.text-ln-1\.2{
    line-height:1.2
}
.text-ln-1\.4{
    line-height:1.4
}
.text-md{
    font-size:1.8rem
}
@media only screen and (max-width:768px){
    .text-md{
        font-size:1.4rem
    }
}
.text-sm{
    font-size:1.4rem
}
@media only screen and (max-width:768px){
    .text-sm{
        font-size:1.2rem
    }
}
.text-smallest{
    font-size:1.2rem
}
@media only screen and (max-width:768px){
    .text-smallest{
        font-size:1rem
    }
}
.text-extrabold{
    font-weight:800
}
.text-uppercase{
    text-transform:uppercase
}
.text-regular{
    font-weight:400
}
.text-center{
    text-align:center
}
.color-primary,.span-color-primary span{
    color:var(--primary-color)
}
.mt-1\.5{
    margin-top:1.5rem
}
.mt-2,.mt-3{
    margin-top:3rem
}
.mt-4{
    margin-top:4rem
}
.mb-1{
    margin-bottom:1rem
}
.mb-1\.5{
    margin-bottom:1.5rem
}
.mb-0\.5{
    margin-bottom:.5rem
}
.mb-2{
    margin-bottom:2rem
}
.mb-3{
    margin-bottom:3rem
}
.mb-8{
    margin-bottom:8rem
}
.mr-1{
    margin-right:1rem
}
.my-2{
    margin-top:2rem;
    margin-bottom:2rem
}
.mx-auto{
    margin-left:auto;
    margin-right:auto
}
.logo-w-text{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:2rem;
    color:#fff
}
.h-100vh{
    min-height:100vh
}
.display-flex{
    display:flex
}
.flex-column{
    flex-direction:column
}
.center{
    display:grid;
    justify-items:center
}
.align-items-center{
    align-items:center
}
.justify-content-center{
    justify-content:center
}
.justify-content-space-between{
    justify-content:space-between
}
.cursor-pointer{
    cursor:pointer
}
.footer{
    background-color:var(--primary-color);
    padding:var(--footer-padding);
    display:flex;
    flex-direction:column;
    align-items:center;
    align-self:end
}
.footer,.footer-menu{
    justify-content:center
}
.footer-menu{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(6rem,20%));
    text-align:center;
    list-style-type:none;
    width:90%;
    max-width:120rem
}
.footer-menu-item{
    font-size:var(--footer-link-font-size);
    cursor:pointer;
    padding-bottom:.5rem;
    border-bottom:1px solid transparent;
    transition:all .3s
}
.footer-menu-item a{
    text-decoration:none
}
.footer-menu-item:hover{
    border-bottom:1px solid var(--text-color-secondary)
}
@media only screen and (max-width:768px){
    .footer-menu{
        justify-content:space-evenly;
        text-align:center
    }
    .footer-menu-item{
        font-size:calc(var(--footer-link-font-size)/1.5)
    }
}
.header{
    background-color:var(--primary-color);
    height:var(--header-height);
    display:flex;
    justify-content:center;
    align-items:center
}
.header img{
    max-width:30rem;
    max-height:100%;
    -o-object-fit:contain;
    object-fit:contain
}
.container{
    margin:var(--container-margin);
    width:var(--container-width);
    max-width:var(--container-max-width)
}
@media only screen and (max-width:768px){
    .container{
        margin:var(--container-less-than-768px-margin)
    }
}
.container-md{
    max-width:70rem
}
.survey{
    margin:0 auto
}
.survey-progressbar{
    width:80%;
    height:1rem;
    border-radius:1rem;
    background-color: #d1d7e7;
    transition:all 2s;
    margin: 0 auto;
}
.survey-progressbar-container{
    margin:var(--container-progressbar-margin)
}
.options{
    display:grid;
    grid-gap:1rem;
    justify-content:center
}
.options-option{
    background-color:transparent;
    border:1px solid var(--light-gray);
    padding:var(--survey-option-padding);
    border-radius:1rem;
    display:flex;
    justify-content:space-around;
    align-items:center;
    flex-direction:column;
    color:var(--survey-option-color);
    cursor:pointer;
    transition:all .3s
}
.options-option img{
    width:5rem;
    height:5rem;
    -o-object-fit:contain;
    object-fit:contain;
    margin-bottom:1.5rem
}
.options-option:hover{
    border:1px solid var(--primary-color);
    color:var(--text-color-secondary);
    background-color:var(--primary-color)
}
.options-option:hover img{
    filter:brightness(200%) drop-shadow(4px 10px 15px black)
}
.options-option:focus{
    outline:none;
    transform:scale(1.05);
    border:1px solid var(--primary-color-dark)
}
.button{
    padding:2rem;
    border:none;
    border-radius:1rem;
    cursor:pointer
}
.button-primary{
    color:var(--text-color-secondary);
    background-color:var(--primary-color);
    transition:all .3s
}
.button-primary:hover{
    background-color:var(--primary-color-dark)
}
.button-primary:focus{
    outline:none
}
.form{
    display:grid;
    grid-gap:.5rem
}
.form input{
    padding:1rem;
    border-radius:.6rem;
    border:2px solid var(--light-gray);
    transition:all .3s
}
.form input:focus{
    outline:none
}
.form input:focus::-moz-placeholder{
    color:var(--primary-color)
}
.form input:focus:-ms-input-placeholder{
    color:var(--primary-color)
}
.form input:focus::placeholder{
    color:var(--primary-color)
}
.form a{
    text-decoration:none
}
.loader{
    border:16px solid #f3f3f3;
    border-top-color:#3498db;
    border-radius:50%;
    width:120px;
    height:120px;
    -webkit-animation:spin 2s linear infinite;
    animation:spin 2s linear infinite
}
@-webkit-keyframes spin{
    0%{
        transform:rotate(0deg)
    }
    to{
        transform:rotate(1turn)
    }
}
@keyframes spin{
    0%{
        transform:rotate(0deg)
    }
    to{
        transform:rotate(1turn)
    }
}
.redirect-loader{
    top:0;
    left:0;
    display:flex;
    min-height:100vh;
    justify-content:center;
    align-items:center;
    position:absolute;
    width:100%
}
.redirect-loader-background{
    height:100%;
    width:100%;
    background-color:#000;
    opacity:.6;
    position:absolute;
    z-index:999999
}
.redirect-loader-animation{
    position:relative;
    z-index:99999999
}

.form-error-email {
    display: none;
    clear: both;
    width: 100%;
    padding: 0px 20px;
    font-weight: bold;
    margin-bottom: 15px;
    color: red;
}

.btn-link-external,
.btn-link-external:active,
.btn-link-external:visited {
    padding: 20px 50px !important;
    font-size: 1em !important;
}
.btn-link-external:hover {
    opacity: 0.5;
}

.eac-input-wrap {
    width: 100% !important;
}

.eac-sugg {
    font-weight: bold !important;
    letter-spacing: 0px;
    top: -16px !important;
    /*left: 50% !important;*/
}

.btn {
    text-decoration: none;
    display: inline-block;
    max-width: 100%;
    padding: 12px 20px;
    cursor: pointer;
    text-align: center;
    white-space: nowrap;
    text-transform: uppercase;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
    text-decoration: none;
    border: none;
    -webkit-border-radius: 4px;
    border-radius: 4px;
    -webkit-box-shadow: none;
    box-shadow: none;
    -webkit-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.btn, 
button, 
input[type='button'], 
input[type='reset'], 
input[type='submit'] {
    font-style: normal;
    font-weight: 900;
    font-size: 11px;
    line-height: 1;
    font-family: Roboto, sans-serif;
    letter-spacing: 1px;
    color: #ffffff;
    background-color: #398ffc;
}