
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;600&family=Open+Sans:wght@400;600;700&display=swap');
/*
font-family: 'Inter', sans-serif;
font-family: 'Open Sans', sans-serif;
*/
/* ----------------------------
#  COMMON STYLE 
---------------------------------- */
* { 
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing:border-box;
}
*:before,
*:after { 
    -webkit-box-sizing: border-box; 
    -moz-box-sizing:border-box; 
    box-sizing:border-box; 
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
    display:block;
}
html {  
    font-size: 16px; 
    -webkit-font-smoothing: antialiased; 
    -webkit-text-size-adjust: 100%;
}
body { 
    color: #000; 
    font-family: 'Open Sans', sans-serif; 
    font-size: 1rem; 
    font-style: normal; 
    font-weight: 400; 
    margin: 0; 
    padding: 0;
}
::selection {
    color: #fff;
    background: #174889;
  }
.clearfix:before,
.clearfix:after {
    content:"";
    display:table;
}
.clearfix:after {
    clear:both; 
}
.clearfix:before,
.clearfix:after,
.container:before,
.container:after,
.row:before,
.row:after,
.nav:before,
.nav:after { 
    content:" "; 
    display:table; 
}

h1, h2, h3, h4, h5, h6 { 
    margin-top: 0;
    letter-spacing: 0.014em;
}
h4, h5, h6{
    margin-bottom: 15px;
}
h1, h2, h3{
    margin-bottom: 25px;
}
h1 { font-size: 28px; }
h2 { font-size: 20px; }
h3 { font-size: 18px;  letter-spacing: 0.06em;}
h4 { font-size: 16px; }
h5 { font-size: 20px; }
h6 { font-size: 14px; }
h1.title {
    font-size: 58px;
    margin-bottom: 15px;
}
p { 
    line-height: 1.4; 
    margin: 0 0 20px;
}
ol, ul { 
    margin: 0 0 20px 0; 
    padding: 0 0 0 20px; 
}
ol li, ul li { 
    line-height: 1.4; 
}
img { 
    border:0; 
    max-width: 100%; 
    vertical-align:middle; 
}
a[href^=tel] { 
    color:inherit; 
    text-decoration:none; 
}
a { 
    color: #498FE9; 
    outline:none; 
    text-decoration: none; 
    transition: 0.2s;
}
a:hover,
a:focus { 
    color: #498FE9; 
}
i,
em { 
    text-decoration: none; 
}
table { border-collapse: collapse; }
table, th, td { 
    border: 1px solid #174889; 
    padding: 5px; 
}
input, select, textarea { 
    -webkit-appearance: none; 
    -moz-appearance: none; 
    appearance: none;
    background: #FFF;
    border: 3px solid #FFF; 
    border-radius: 60px;
    box-shadow: 0px 3px 14px 0px rgba(23, 72, 137, 0.20);
    color: #498FE9; 
    font-family: 'Inter', sans-serif;
    height: 42px;
    padding: 6px 20px;
}
select, textarea{
    border: 1px solid transparent;
}
select:focus,
textarea:focus,
.user-input-block.text-block textarea:focus{
    border-color: #174889;
}
input,textarea{
    font-weight: 400;
}
textarea{
    height: 98px;
    padding: 20px 24px;
    resize: none;
}
select{
    background: #fff url('../images/angle-down.svg') no-repeat;
    background-position: calc(100% - 12px) center;
    color: #174889;
    font-size: 16px;
    font-weight: 600;
    min-width: 164px;
    padding-right: 30px;
    width: auto;
}
select:required:invalid {
    color: #A0B5DE;
}
option[disabled]{
    color: #A0B5DE;
}
option {
    color: #174889;
    font-weight: 600;
}


input:focus,
select:focus,
textarea:focus { 
    outline: none; 
}
/* Edge */
input::placeholder,
select::placeholder,
textarea::placeholder { 
    color: #498FE9;
    font-style: italic; 
    font-weight: 400; 
    opacity: 0.5;
}
input:-webkit-autofill, 
input:-webkit-autofill:hover, 
input:-webkit-autofill:focus, 
input:-webkit-autofill:active {
 box-shadow: 0 0 0 30px white inset !important;
}
input[type="checkbox"] { 
    -webkit-appearance: checkbox; 
    -moz-appearance:checkbox; 
    appearance: checkbox; 
}
input[type="radio"] { 
    -webkit-appearance: radio; 
    -moz-appearance:radio; 
    appearance: radio; 
}
form label { 
    margin-bottom:10px; 
}

details,
summary {
    outline: none;
}
details summary::-webkit-details-marker {
    display: none;
}
.hidden{
    display: none;
}

/* ---------------------------------- 
# Global use Components
 ---------------------------------- */
.btn {
    background: #FFF;
    border: 1px solid #FFF;
    border-radius: 60px;
    box-shadow: 0px 3px 14px 0px #174889;
    color: #174889;
    display: inline-block;
    font-family: Inter;
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    min-width: 164px;
    padding: 10px 24px;
    transition: background-color 0.2s,color 0.2s;
}
.btn:not(.btn-link){
    min-height: 38px;
}
.btn.btn-link{
    background: none;
    border: none;
    box-shadow: none;
    color: #fff;
    height: auto;
    min-width: inherit;
    padding: 0;
    text-transform: capitalize;
}
.btn.btn-link:hover{
    color: #174889;
}
.btn.btn-link:hover:before{
    background-image: url('../images/arrow-left-hover.svg');
    transform: rotate(180deg);
}
input.btn.btn-prev:hover{
    background-image: url('../images/arrow-hover-right.svg');
}
.btn.btn-white:hover {
    background-color: #DCE8FF;
    box-shadow: 0px 3px 14px 0px #174889;
    color: #174889;
}
.btn.btn-white:hover::after{
    background-image: url('../images/arrow-left-hover.svg');
}
.btn.btn-next{
    text-align: left;
    cursor: pointer;
}
.btn.btn-next:not(input[type="submit"]):after,
.btn.btn-prev:not(input):before,
.btn.btn-submit:after{
    background: url('../images/arrow-left.svg') no-repeat center center;
    background-size: contain;
    content: "";
    display: inline-block;
    height: 14px;
    margin-left: 6px;
    position: relative;
    top: 1px;
    width: 14px;
}
.btn.btn-prev:not(input):before{
    background: url('../images/arrow-left-white.svg') no-repeat center center;
    margin-left: 0;
    margin-right: 5px;
}

input.btn.btn-prev{
    background: url('../images/arrow-left-white.svg') no-repeat;
    background-position: left center;
    padding-left: 20px;
    cursor: pointer;
}

.btn.disabled,
input[type="submit"]:disabled{
    background: #FFF;
    border-color: #DCE8FF;
    box-shadow: none;
    color: #DCE8FF;
    pointer-events: none;
}
input[type="submit"]:disabled,
input[type="submit"].btn.btn-next:disabled{
    background-image: url(../images/arrow-disabled.svg);
}
.btn.disabled:after{
    opacity: 0.2;
}
.btn.btn-submit{
    cursor: pointer;
    text-align: left;
}
.btn.btn-submit:after{
    background: url('../images/icon-check.svg') no-repeat center center;
}
input.btn.btn-submit,
input.btn.btn-next{
    background-image: url(../images/icon-check.svg);
    background-position: calc(100% - 55px) center;
    background-repeat: no-repeat;
    text-align: left;
}
input.btn.btn-next{
    background-image: url(../images/arrow-left.svg);
    background-position: calc(100% - 78px) center;
}
input.btn.btn-next:hover{
    background-image: url(../images/arrow-left-hover.svg);
}

.label{
    display: block;
    font-size: 1rem;
    font-style: normal;
    font-weight: 700;
    margin-bottom: 17px;
}

/*progress bar style*/
.progress-block{
    height: 12px;
    margin-bottom: 20px;
    margin-bottom: 60px;
    width: 100%;
 }
 .progress{
    background: #498FE9;
    box-shadow: 0px 3px 6px 0px rgba(23, 72, 137, 0.70) inset;
    height: 100%;
    position: relative;
 }
 .progress-bar{
    background: #FFF;
    box-shadow: 2px 3px 6px 0px rgba(23, 72, 137, 0.95) inset;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    z-index: 2
 }

 /*---------
 Form CSS
 -------------------------*/
 .form-group{
    margin-bottom: 15px;
 }
 .form-group:last-of-type{
    margin-bottom: 0;
 }
 /*Radio style*/
.radio-group.multiple {
    display: flex;
    flex-wrap: wrap;
}
.radio-item{
    border-radius: 12px;
    margin: 4px 8px 4px 0;
    position: relative;
}
.radio-item:last-child{
    margin-right: 0;
}
.radio-group input[type="radio"] {
    cursor: pointer;
    height: 100%;
    left: 0;
    margin: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    width: 100%;
}
.radio-group input[type="radio"] + label{
    background: #498FE9;
    border-radius: 12px;
    box-shadow: 0px 3px 14px 0px #174889;
    cursor: pointer;
    display: block;
    font-size: 14px;
    height: 30px;
    line-height: 22px;
    margin-bottom: 0;
    padding: 4px 10px;
    text-align: center;
    transition: all 0.2s;
    width: 38px;
}
.radio-group input[type="radio"]:hover + label{
    background: #174889;
    box-shadow: 0px 3px 14px 0px #174889;
    color: #498FE9;
}
.radio-group input[type="radio"]:checked + label{
    background-color: #fff;
    color: #498FE9;
}


/* ---------------------------------- 
# Main Content
 ---------------------------------- */
.main-content {
    display: flex;
    height: 100vh;
    overflow: hidden;
}
.site-header{
    order: 1;
    padding-top: 12vh;
    width: 40%;
}
.site-header .logo img{
    max-width: 290px;
}
.site-footer{
    bottom: 0;
    order: 2;
    padding-bottom: 50px;
    position: absolute;
    top: auto;
    width: 40%;
}

.site-header,
.site-footer{
    padding-left: 7vw; 
}

.site-footer p{
    font-size: 12px;
    margin-bottom: 0;
}
.site-footer a{
    color: #498FE9;
    font-size: 1rem;
    font-style: italic;
    font-weight: 700;
}
.site-footer a:hover{
    opacity: 0.8;
}

.main-right-content{
    color: #fff;
    order: 3;
    padding: 0;
    position: relative;
    width: 65%;
}
.main-right-content:after,
.main-right-content:before{
    background-color: #498FE9;
    color: #fff;
    content: "";
    filter: drop-shadow(0px 0px 70px rgba(73, 143, 233, 0.50));
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    transform: skewX(-5deg);
    width: 100%;
    z-index: -1;
}
.main-right-content:before{
    left: auto;
    right: -60px;
    transform: none;
}
.section-questionnaire {
    display: flex;
    height: 100%;
    overflow: auto;
    padding: 10vh 7vw 85px 13vw;
    position: relative;
    width: 100%;
}
.section-questionnaire .content a{
    color: #fff;
    font-weight: 600;
}
.section-questionnaire .content a:hover{
    opacity: 0.8;
}
.question-step{
    margin: 0 auto;
    max-width: 499px;
    position: relative;
    width: 100%;
}
.form-wrapper-top{
    margin-bottom: 30px;
    width: 100%;
}
.form-questions{
    display: flex;
    flex-wrap: wrap;
    min-height: 100%;
}
.section-questionnaire .user-input-block{
    margin-top: 57px;
}
.section-questionnaire .actions {
    align-items: center;
    align-self: flex-end;
    display: flex;
    justify-content: space-between;
    margin-top: 30px;
    position: relative;
    width: 100%;
}
.section-questionnaire .actions .btn-next {
    margin-left: auto;
}


/* ----------------
# Step styles
 -----------------*/
 .question-step {
    align-items: flex-start;
    display: flex;
    width: 100%;
}

 .question-step.question-step-1{
    padding-top: 10vh;
 }
.user-input-block.user-input-block:not(.user-input-choice):not(.no-bg){
    background: #00478D;
    border-radius: 25px;
    box-shadow: 0px 3px 14px 0px #174889;
    padding: 20px;
}
.user-input-block select{
    max-width: 164px;
}
.section-questionnaire .user-input-block.no-bg {
    margin-top: 40px;
}
.section-questionnaire .user-input-block.text-block{
    margin-top: 40px;
}
.user-input-block.text-block textarea{
    background: #FFF;
    border: 1px solid #498FE9;
    border-radius: 15px;
    width: 100%;
}
.user-input-block.user-input-choice {
    display: flex;
    flex-wrap: wrap;
}
.user-input-block .rate-label{
    margin-bottom: 8px;
}
.user-input-block .bottom.rate-label {
    margin-left: auto;
}
.feedback-block{
    background: #FFF;
    border-radius: 25px;
    box-shadow: 0px 3px 14px 0px #174889;
    display: none;
    margin-top: 40px;
    padding: 20px;
}
.feedback-block.active{
    display: block;
}
.feedback-block .form-group:last-of-type{
    margin-bottom: 0;
}
.feedback-block textarea{
    border-radius: 15px;
    width: 100%;
}
.feedback-block .label{
    color: #498FE9;
}

/*-------------
# thank you page
-------------------*/
.question-step.thankyou-block {
    padding-top: 10vh;
}

.question-step.thankyou-block p{
    margin-bottom: 11px;
}
.question-step.thankyou-block .content .author {
    display: block;
    text-align: right;
    font-style: italic;
}
/*-------------
# Error page
-------------------*/
.question-step.error-block{
    display: block;
    padding-top: 10vh;
}
.question-step.error-block .block-logo{
    display: flex;
    align-items: center;
    margin-bottom: 30px;
    width: 100%;
}
.error-block .block-logo img{
    max-height: 100px;
}
.error-block .block-logo img + h2{
    padding-left:30px;
}
.error-block .block-logo h2{
    margin-bottom: 0;
}