/*********** WEBFORM CSS ONLY ***********/
/* do not duplicate style from global-style.css */
/***** MOBILE FIRST *****/
/* mixin for Mobiles/Tablet Portrait up : max-width 600px; */
/*********** Info page *********/
.form-wrapper .intro{
    min-height: inherit;
}
/*********** QUIZZ no reload ***********/
.step {
    display: none;
}
.step.active {
    display: block;
}
.step-5 .intro {
    display: none;
}
.intro .subtitle {
    margin-bottom: 10px;
}
.intro h3.underline {
    text-transform: uppercase;
}
.webform-row {
    margin: 0 0 20px 0;
    width: 350px;
    max-width: 375px;
    position: relative;
}
/** Google reCAPTCHA V3 badge **/ 
.grecaptcha-badge{ 
    z-index: 999999;
} 
 
.webform-error{ 
    font-size: 1.5em; 
    line-height: 1.5em; 
    text-align: center; 
    color: #a94442; 
    width: 100%; 
    margin-bottom: 0rem; 
    padding: 20px 0; 
    margin-bottom: 20px; 
    clear: both; 
    background-color: #f2dede; 
    border: 1px solid #ebccd1; 
    display: none; 
} 
.form {
    max-width: 400px;
}
.webform-row.error label {
    border: 2px solid var(--webform-red);
    background-color: var(--webform-red-bg) !important;
}
.webform-row.error .webform-cta-next button::before {
    content: "";
    display: block;
    background: url("../images/ico-exclamation.svg");
    width: 40px;
    height: 40px;
    position: absolute;
    left: 100px;
    top: 23px;
}
html[lang='fr-CA'] .webform-row.error .webform-cta-next button::before{    
    left: 40px;
    top: 16px;
}
.webform-row.error.navigation .webform-cta-next button::before {
    left: 55px;
}
html[lang='fr-CA'] .webform-row.error.navigation .webform-cta-next button::before {
    left: 5px;
}
/*** Forms style: labels inputs select ***/
label {
    font-size: 1.2em;
    line-height: 1.15em;
    color: var(--paragraph-font-color);
    font-family: var(--secondary-font-family);
    text-align: left;
    display: block;
}
input,
button,
select,
textarea {
    color: var(--paragraph-font-color);
    font-family: var(--secondary-font-family);
    font-size: 1rem;
}
input[type="text"], input[type="email"], input[type="tel"], textarea {
    background: var(--bg-color) none repeat scroll 0 0;
    border: 1px solid var(--bg-medium-grey-color);
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    display: block;
    font-family: var(--secondary-font-family);
    font-size: 1rem;
    padding: 15px;
    width: 100%;
}
input[type="text"]:focus, input[type="email"]:focus, input[type="tel"]:focus, textarea:focus, select:focus {
    border: 2px solid var(--primary-color);
    outline:0;
}
input[type="text"].medium-input, input[type="tel"].medium-input {
    display: inline;
    width:56% !important;
}
select {
    height:53px;
    cursor: pointer;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    -webkit-appearance:none;
    -moz-appearance:none; /* Safari and Chrome */
    background:url(../images/webform-arrow.svg) no-repeat right var(--bg-color) !important;
    border: 1px solid var(--bg-medium-grey-color);
}
/* -- hack IE pour enlever fleche de base-- */
select::-ms-expand {
    display: none;
}
.wide-select {
    width: 100%;
    padding: 9px 10px 10px;
}
.large-select {
    width: 40%;
    padding: 9px 10px 10px;
    margin: 0 2% 0 0;
}
.medium-select {
    width: 30%;
    padding: 9px 10px 10px;
}
.small-select {
    width: 23%;
    padding: 9px 10px 10px;
    margin: 0 2% 0 0;
}
/* Create a custom checkbox */
input[type="checkbox"] {
    display: none;
}
input[type="checkbox"]+label {
    display: block;
    position: relative;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    border: 1px solid var(--bg-medium-grey-color);
    border-radius: 4px;
    padding: 21px 26px;
}
input[type="checkbox"]+label:before {
    content: '';
    position: absolute;
    right: 15px;
    top: 15px;
    width: 90px;
    height: 40px;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
    filter: var(--filter);
}
input[type="checkbox"]:checked+label {
    background-color: var(--bg-blue-color);
    border: 2px solid var(--primary-color);
    padding: 20px 26px;
}
input[type="checkbox"]:checked+label:before {
    filter: var(--filter-hover);
}
label[for="p_glasses"]:before {
    background-image: url("../images/icon-glasses.svg")
}
label[for="p_contacts"]:before {
    background-image: url("../images/icon-contacts.svg")
}
label[for="p_readingGlasses"]:before {
    background-image: url("../images/icon-reading-glasses.svg")
}
button[type="submit"], a.webform_submit_button{
    display: block;
    width: 100%;
    padding: 25px 15px;
    cursor: pointer;
    text-decoration: none;
    border: 0;
    border-radius: 0px;
    background-color: var(--primary-color);
    color: black;
    font-family: var(--secondary-font-family);
    font-size: 1.5em;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    transition: all 300ms ease 0s;
    position: relative;
    text-align: center;
    border:1px solid var(--primary-theme-color);
}
html[lang="fr-CA"] .webform_submit_button {
    font-size: 1em;
}
button[type="submit"]:hover {
    background-color: #141617;
    color: white;
}
button[type="submit"]:focus-visible {
    outline: none;
}
.ico-cta .arrow {
    Filter : var(--cta-ico-arrow-filter);
}
    
button[type="submit"]:hover .ico-cta {
    transform: translateX(5px);
    transition: all 300ms ease 0s;
    -webkit-transition: all 300ms ease 0s;
    filter:var(--cta-ico-arrow-filter-hover);
}
button[type="submit"]:hover .ico-cta .next {
    filter:var(--cta-ico-arrow-filter-hover);
  }
.navigation div.webform-cta-prev button[type="submit"] .ico-cta .arrow{
    filter: var(--cta-ico-arrow-prev-filter) !important;
}
.webform-cta-prev button[type="submit"]:hover .ico-cta {
    transform: translateX(-5px);
    
}
.webform-cta,
.webform-cta-book,
.webform-cta-pis {
    margin: 20px 0 10px;
}
/* -- FIELD ERROR -- */
.invalid-feedback, .countryprovince .warning label {
    padding: 0.4em 0em;
    color: var(--webform-red);
    font-size: 1em;
    max-width: 90%;
}
.d-block {
    display: block!important;
}
form label{
margin-bottom: 10px;
}
.has-feedback.dob:hover .invalid-feedback,
.has-feedback input:hover~.invalid-feedback, 
.has-feedback select:hover~.invalid-feedback, 
.has-feedback textarea:hover~.invalid-feedback {
    visibility: visible;
    opacity: 1;
}
input.error[type="radio"], input.error[type="text"], input.error[type="email"], input.error[type="tel"], textarea.error, select.error,
.has-feedback .webform-answer.is-invalid {
    border: 2px solid var(--webform-red) ;
    background-color: var(--webform-red-bg) !important;
}
input.error[type="text"]:focus, input.error[type="email"]:focus,  textarea.error:focus, select.error:focus {
    background-color: var(--bg-color);
}
input.valid[type="radio"], input.valid[type="text"], input.valid[type="email"], textarea.valid, select.valid,
.has-feedback .webform-answer {
    border: 2px solid var(--webform-green) ;
    background-color: var(--webform-green-bg) !important;
}
#webform_p_postal_code.valid.warning{
    border: 1px solid var(--bg-medium-grey-color);
    background-color: inherit !important;
}
input.valid[type="text"]:focus, input.valid[type="email"]:focus, textarea.valid:focus, select.valid:focus {
    background-color: var(--bg-color);
}
.countryprovince{
    width: 100%;
    display: block;
    margin-left: auto;
    margin-right: auto;
    padding:  0;
    clear: both;
}
.countryprovince:after{
    content: ' ';
    clear: both;
}
.countryprovince,.countryprovince #webform_country_container,.countryprovince #webform_province_container{       
    display: none;
    
}
.email-container {
  position: relative;
}
.loader-container{
position: absolute;
  right: 10px;
  top: calc(50% - 10px);
}
.loader{
position: relative;
  height: 20px;
  width: 20px;
  display: inline-block;
  animation: around 5.4s infinite;
  opacity: 0;
  transition: all 0.5s;
  -webkit-transition: all 0.5s;
}
.loader.show{
    opacity: 1;
}
@keyframes around {
  0% {
    transform: rotate(0deg)
  }
  100% {
    transform: rotate(360deg)
  }
}
.loader::after, .loader::before {
  content: "";
  position: absolute;
  display: inline-block;
  width: 100%;
  height: 100%;
  border-width: 2px;
  border-color: #333 #333 transparent transparent;
  border-style: solid;
  border-radius: 20px;
  box-sizing: border-box;
  top: 0;
  left: 0;
  animation: around 0.7s ease-in-out infinite;
}
.loader::after {
  animation: around 0.7s ease-in-out 0.1s infinite;
  background: transparent;
}
.navigation:after {
    content: "";
    display: block;
    clear: both;
}
/* animation arrow cta */
.ico-cta {
    width: 100%;
    cursor: pointer;
    position: absolute;
    bottom: 70%;
    left: 64%;
}
.ico-cta .arrow {
    left: 25%;
}
.arrow {
    position: absolute;
    bottom: 0;
    margin-left: 0px;
    width: 15px;
    height: 15px;
    background-size: contain;
    top: 10px;
    cursor: pointer;
    background-repeat: no-repeat;
}
html[lang="fr-CA"] .arrow {
    top: 8px
}
.segunda {
    margin-left: 7px;
}
.next {
    background-image: url("data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PHN0eWxlPi5zdDB7ZmlsbDojZmZmfTwvc3R5bGU+PHBhdGggY2xhc3M9InN0MCIgZD0iTTMxOS4xIDIxN2MyMC4yIDIwLjIgMTkuOSA1My4yLS42IDczLjdzLTUzLjUgMjAuOC03My43LjZsLTE5MC0xOTBjLTIwLjEtMjAuMi0xOS44LTUzLjIuNy03My43UzEwOSA2LjggMTI5LjEgMjdsMTkwIDE5MHoiLz48cGF0aCBjbGFzcz0ic3QwIiBkPSJNMzE5LjEgMjkwLjVjMjAuMi0yMC4yIDE5LjktNTMuMi0uNi03My43cy01My41LTIwLjgtNzMuNy0uNmwtMTkwIDE5MGMtMjAuMiAyMC4yLTE5LjkgNTMuMi42IDczLjdzNTMuNSAyMC44IDczLjcuNmwxOTAtMTkweiIvPjwvc3ZnPg==");
}
.prev {
    background-image: url("data:image/svg+xml;;base64,PHN2ZyB2ZXJzaW9uPSIxLjIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIj48c3R5bGU+LmF7ZmlsbDojNTc1NjU2fTwvc3R5bGU+PHBhdGggY2xhc3M9ImEiIGQ9Im0zODIuOSAyN2MyMC4xLTIwLjIgNTMuMS0xOS45IDczLjYgMC42IDIwLjUgMjAuNSAyMC44IDUzLjUgMC43IDczLjdsLTE5MCAxOTBjLTIwLjIgMjAuMi01My4yIDE5LjktNzMuNy0wLjYtMjAuNS0yMC41LTIwLjgtNTMuNS0wLjYtNzMuN3oiLz48cGF0aCBjbGFzcz0iYSIgZD0ibTE5Mi45IDI5MC41Yy0yMC4yLTIwLjItMTkuOS01My4yIDAuNi03My43IDIwLjUtMjAuNSA1My41LTIwLjggNzMuNy0wLjZsMTkwIDE5MGMyMC4yIDIwLjIgMTkuOSA1My4yLTAuNiA3My43LTIwLjUgMjAuNS01My41IDIwLjgtNzMuNyAwLjZ6Ii8+PC9zdmc+");
}
.navigation div.webform-cta-prev {
    float: left;
    width: 15%;
}
.navigation div.webform-cta-next {
    float: right;
    width: 75%;
}
div.webform-cta-prev button[type="submit"] {
    text-indent: -99999em;
    border: 1px solid var(--bg-medium-grey-color);
    background: none;
}
div.webform-cta-prev .ico-cta {
    left: 0;
}
.check-points ul li {
    list-style-image: url("data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDIzIDE2IiB3aWR0aD0iMjMiIGhlaWdodD0iMTYiPjxzdHlsZT4uYXtmaWxsOiMwMGFlZWZ9PC9zdHlsZT48cGF0aCBjbGFzcz0iYSIgZD0ibTIxLjIgMC43YzAuNyAwLjcgMC43IDEuOSAwIDIuNmwtMTEuMiAxMS4yYy0wLjMgMC4zLTAuOCAwLjUtMS4zIDAuNS0wLjUgMC0wLjktMC4xLTEuMy0wLjVsLTYuNi02LjZjLTAuNy0wLjctMC43LTEuOSAwLTIuNiAwLjctMC43IDEuOS0wLjcgMi42IDBsNS4zIDUuMyA5LjktOS45YzAuOC0wLjcgMS45LTAuNyAyLjYgMHoiLz48L3N2Zz4=");
    width: 210px;
    margin: auto;
    font-size: 1.4em;
    font-weight: 700;
    padding-left: 10px;
    color: var(--primary-color);
}
.step-5 .form-structure {
    padding-top: 20px;
}
.step-5 .form-structure h2 {
    font-size: 1.6em;
    color: var(--paragraph-font-color);
    margin : 20px 20px 10px;
    line-height: 1.2em;
}
.step-5 .form-structure p {
    text-align: center;
    line-height: 1.5em;
}
.step-5 .form-structure .cone {
    width: 100px;
    margin: auto;
    position: relative;
    transform: translateX(25px);
}
.step-5 .form-structure .cone img {
    width: 100%;
}
.step-5 .form-structure .cone::after {
    display: block;
    content: "";
    background-image: url("../images/icon-success-tada.svg");
    background-size: contain;
    width: 100px;
    height: 100px;
    position: absolute;
    top: 0;
    animation-name: pop;
    animation-duration: 1s;
    animation-iteration-count: infinite;
}
/*defining key frames animation*/
@keyframes pop {
    30% {
        -webkit-transform: translateX(10px) translatey(-10px) scale(1.1);
        -moz-transform: translateX(10px) translatey(-10px) scale(1.1);
        -ms-transform: translateX(10px) translatey(-10px) scale(1.1);
        -o-transform: translateX(10px) translatey(-10px) scale(1.1);
        transform: translateX(10px) translatey(-10px) scale(1.1);
    }
}
.step-5 .webform-cta {
    margin-top: 20px;
}
.popup__container {
    max-width: 600px;
    background-color: var(--bg-color);
}
.popup__close {
    -moz-border-radius: 15px;
    -webkit-border-radius: 15px;
    border-radius: 15px;
    border: 2px solid var(--paragraph-font-color);
    top: 15px;
    right: 15px;
    width: 22px;
    height: 22px;
    cursor: pointer;
    padding: 0;
}
.popup__body {
    padding: 20px 10px;
}
.popup__close:after {
    content: "\f00d";
    font-family: "FontAwesome";
    width: 20px;
    padding: 4px;
    font-size: 17px;
    height: 20px;
    background: none;
    color: var(--paragraph-font-color);
}
@media screen and (max-width : 280px) {
    .form-structure {
        background-color: var(--bg-color);
        min-width: 280px;
        padding: 50px 20px;
    }
    input[type="checkbox"]+label:before {
        right: 5px;
        width: 55px;
    }
    .webform-row.error .webform-cta-next button::before {
        left: 35px;
    }
    .webform-row {
        width: 240px;
    }
    .large-select {
        width: 39%;
    }
}
/* mixin for 1023 and up; */
@media screen and (min-width : 1023px) {
    .step, .form-wrapper {
        flex-direction: row;
        flex-wrap: wrap;
        width: 100%;
        min-height: 90vh;
    }
    
    .step-5 .form-structure h2 {
        margin: 40px 20px;
        line-height: normal;
    }
    .step-5 .form-structure p {
        
        line-height: 1.8em;
    }
    .intro,
    .form-structure {
        display: flex;
        flex-direction: column;
        flex-basis: 100%;
        flex: 1;
        justify-content: center;
    }
    .step.active, .form-wrapper  {
        display: flex;
    }
    .intro {
        padding: 0 3vw;
        max-width: 50vw;
    }
    .form-structure {
        max-width: 50vw;
    }
    .webform-row {
        width: 300px;
        margin-left: auto;
        margin-right: auto;
    }
    .webform-row.error .webform-cta-next button::before {
        left: 75px;
    }
    
    .step-5 .intro {
        display: block;
        background: url("../images/bg-step-5.jpg");
    }
}
/* mixin for Tablet Landscape up; */
@media screen and (min-width : 601px) and (max-width : 900px) {}
/* mixin for Desktop up; */
@media screen and (min-width : 901px) and (max-width : 1200px) {
    .intro {
        padding: 0 9vw;
    }
    .webform-row {
        width: 350px;
    }
    
    input[type="checkbox"]:hover+label{
        background-color: var(--bg-blue-color);
        border: 2px solid var(--primary-color);
        padding: 20px 26px;
    }
}
/* mixin for Big Desktop up */
@media screen and (min-width : 1201px) and (max-width : 2500px) {
    
    input[type="checkbox"]:hover+label{
        background-color: var(--bg-blue-color);
        border: 2px solid var(--primary-color);
        padding: 20px 26px;
    }
    .intro {
        padding: 0 12vw;
    }
    .webform-row {
        width: 350px;
    }
    .webform-row.error .webform-cta-next button::before {
        left: 100px;
    }
}
.genesys-app{
    display: none;
}
.cataract-only, a.webform_submit_button.cataract-only{
    display: none;
}
p.cataract-only {
    font-weight: 600;
    padding-top: 20px ;
}
a.result.webform_submit_button.cataract-only {
    font-size: 1.2em;    
    padding: 25px 9px;
}