/*********** WEBFORM CSS ONLY ***********/
/* do not duplicate style from global-style.css */

/***** MOBILE FIRST *****/
/* mixin for Mobiles/Tablet Portrait up : max-width 600px; */

/*********** CONTAINER STEP 1 ***********/
#webform-container-step1{
    width:100%;
    max-width:375px;
    margin:0 auto;
}
.titre-form {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: flex-start;
    justify-content: flex-start;
    align-items: center;
}
.webform-row {
    padding: 20px 0 0 0;
    width: 100%;
    max-width: 375px;
    position: relative;
}

/** Google reCAPTCHA Box **/
.g-recaptcha{
    padding-top: 40px;
}

.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;
}

/* padding pour step 2 et 3 */
.titre-form h4 {
    padding:10px 8px 10px 0;
}

/* ajustement css pour certaines exceptions */
.webform-gender {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: flex-start;
    justify-content: flex-start;
    align-items: stretch;
    align-content: center;
    padding:20px 0 0 0;
}
.webform-gender input[type="radio"] {
    margin: -0.3rem 0 0 0 !important;
}
.webform-gender label {
    margin:0 2.5rem 0 0 !important;
}
.webform-contactlenses {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: flex-start;
    justify-content: flex-start;
    align-items: center;
    align-content: flex-start;
    padding:20px 0 0 0;
}
.webform-answer {
    min-width: 150px;
    margin-left:auto;
    margin-right: auto;
    margin-top:20px;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    align-items: center;
    align-content: flex-start;
    background-color: var(--bg-blue-color);
    cursor: pointer;
}

.webform-answer p{
    font-family: var(--secondary-font-family);
    font-size: 1rem;
    padding: 15px;
}
.webform-answer:hover, .webform-answer.checked {
    border:2px solid var(--primary-color);
    transition: all 100ms ease 0s;
}
.webform-answer:hover p,  .webform-answer.checked p{
    font-weight:700;
    transform:translateX(-5px);
    transition: all 300ms ease 0s;
}
.webform-answer:hover img,  .webform-answer.checked img{
    transform:translateX(5px);
    transition: all 300ms ease 0s;
}
#webform-cta, #webform-cta-book, #webform-cta-pis {
    margin:20px 0 10px;hide: false
}
#webform-cta-addcalendar {
    margin:7px 0 0px;
}
.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);
}
/*** Forms style: labels inputs select ***/
label {
    font-size: 1rem;
    color: var(--paragraph-font-color);
    font-family: var(--secondary-font-family);
    text-align:left;
    display: block;
    margin:0 0 5px 0;
}
input, button, select, textarea {
    color: var(--paragraph-font-color);
    font-family: var(--secondary-font-family);
    font-size: 1rem;
}
input[type="radio"] {
    -moz-appearance: none;
    -webkit-appearance: none;
    background: var(--bg-color) none repeat scroll 0 0;
    border: 1px solid var(--grey-form);
    border-radius: 50%;
    width: 1.5rem;
    height: 1.5rem;
    position: relative;
    transform: translateY(25%);
    cursor:pointer;
    margin:0;
}
input[type="radio"]:checked {
    background: rgba(0, 0, 0, 0) radial-gradient(ellipse at center center , var(--secondary-color) 33%, var(--bg-color) 35%) repeat scroll 0 0;
}
input[type="radio"].p_hard_lenses{display: none;}
p.copy-radio{
    padding:0 1.2rem 0 0.5rem;
}
input[type="text"], input[type="email"], input[type="tel"], textarea {
    background: var(--bg-color) none repeat scroll 0 0;
    border: 1px solid var(--grey-form);
    -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(--paragraph-font-color);
    outline:0;
}
input[type="text"].medium-input, input[type="tel"].medium-input {
    display: inline;
    width:56% !important;
}
/* -- personnalize the checkbox design -- */
.checkbox-label {
  display: block;
  position: relative;
  padding-left: 35px;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
/* Hide the browser's default checkbox */
.checkbox-label input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}
/* Create a custom checkbox */
input[type="checkbox"] { display: none; }
input[type="checkbox"] + label {
  display: block;
  position: relative;
  padding-left: 40px;
  margin: 10px 0;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
}
input[type="checkbox"] + label:before {
  content: '';
  display: block;
  width: 1.2rem;
height: 1.2rem;
  border: 2px solid var(--primary-color);
  position: absolute;
  left: 0;
  top: 0;
  opacity: .6;
  -webkit-transition: all .12s, border-color .08s;
  transition: all .12s, border-color .08s;
}
input[type="checkbox"]:checked + label:before {
  width: 10px;
  top: -5px;
  left: 5px;
  border-radius: 0;
  opacity: 1;
  border-top-color: transparent;
  border-left-color: transparent;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
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(--grey-form);
}
/* -- 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;
}


/* ajustement step 1 question contact lenses */
.webform-contactlenses label{
    margin: 0;
    text-align: center;
}
.webform-contactlenses img.icon{
    margin:0 0 0 0.5rem;
}

/*** Graphics Elements: icons et cta ***/
img.icon {
    margin:0 0.5rem 0 0;
}
button[type="submit"] {
    width: 100%;
    padding:20px 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: 0.875rem; /* 14px */
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    transition: all 300ms ease 0s;
    position: relative;
    text-align: left;
}
button[type="submit"]:hover {
    background-color: var(--title-font-color);
    color:white;
}
button[type="submit"]:hover #ico-cta {
    transform:translateX(5px);
    transition: all 300ms ease 0s;
    -webkit-transition: all 300ms ease 0s;
}
button[type="submit"]:hover #ico-cta .next {
    filter:brightness(100)
;}
/* animation arrow cta */
#ico-cta{
    cursor: pointer; 
    position: absolute;
    bottom: 70%;
    left: 90%;
}
#ico-cta .arrow{
    left: 26%; 
    filter:brightness(0);
}
.arrow {
    position: absolute; 
    bottom: 0;  
    margin-left:0px; 
    width: 10px; 
    height: 10px; 
    background-size: 
    contain; 
    top:8px;
    cursor: pointer;
}
.segunda{margin-left: 7px;}
.next {
    background-image: url(data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PHN0eWxlPi5zdDB7ZmlsbDojZmZmfTwvc3R5bGU+PHBhdGggY2xhc3M9InN0MCIgZD0iTTMxOS4xIDIxN2MyMC4yIDIwLjIgMTkuOSA1My4yLS42IDczLjdzLTUzLjUgMjAuOC03My43LjZsLTE5MC0xOTBjLTIwLjEtMjAuMi0xOS44LTUzLjIuNy03My43UzEwOSA2LjggMTI5LjEgMjdsMTkwIDE5MHoiLz48cGF0aCBjbGFzcz0ic3QwIiBkPSJNMzE5LjEgMjkwLjVjMjAuMi0yMC4yIDE5LjktNTMuMi0uNi03My43cy01My41LTIwLjgtNzMuNy0uNmwtMTkwIDE5MGMtMjAuMiAyMC4yLTE5LjkgNTMuMi42IDczLjdzNTMuNSAyMC44IDczLjcuNmwxOTAtMTkweiIvPjwvc3ZnPg==);
}



/* -- FIELD ERROR -- */
.invalid-feedback, .countryprovince .warning label {
    padding: 0.4rem 0;
    color: var(--webform-red);
}

.d-block {
    display: block!important;
}

.mb-0, .my-0 {
    margin-bottom: 0!important;
}

.form-error-icon {
    color: #dc3545;
    font-size: 14px;
}


.has-feedback.webform-gender:hover .invalid-feedback,
.has-feedback.dob:hover .invalid-feedback,
.has-feedback.two-columns: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, input.error[type="tel"]:focus, textarea.error:focus, select.error:focus {
    background-color: var(--bg-color);
}

input.valid[type="radio"], input.valid[type="text"], input.valid[type="email"], input.valid[type="tel"], 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: 2px solid var(--grey-form); 
    background-color: inherit !important;
}
input.valid[type="text"]:focus, input.valid[type="email"]:focus, input.valid[type="tel"]: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;
}
.webform-rowerror {
    clear: both;
    display: block;
    padding: 20px 0 0 0;
    width: 100%;
    max-width: 375px;
}
.webform-rowerror p{
    color:var(--webform-red);
    padding:7px 0 0;
}
.webform-box-rowerror {
    clear: both;
    display: block;
    padding: 20px;
    margin:20px 0;
    width: 100%;
    max-width: 375px;
    background-color: var(--webform-red-bg);
}
.webform-box-checkappt {
    clear: both;
    display: block;
    padding: 20px;
    margin:20px 0;
    width: 100%;
    max-width: 375px;
    background-color: var(--bg-blue-color);
}
.webform-box-checkappt a{
    color:var(--paragraph-font-color);
}
.webform-box-checkappt img{
    vertical-align: middle !important;
    padding: 0;
    margin: 0;
}

/*********** CONTAINER STEP 2 ***********/
#webform-container-step2{
    width:100%;
    max-width:450px;
    margin:0 auto;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    align-items: flex-start;
    align-content: flex-start;
}
.webform-select-hours {
    max-width:375px;
    padding:0 0 10px;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: flex-start;
    justify-content: flex-start;
    align-items: flex-start;
    align-content: flex-start;
}
.onday{
    text-transform: capitalize;
}
.webform-select-hours a{
    text-decoration: none;
    text-transform: lowercase;
    white-space: nowrap;
}
.box-hours-virtual{
    max-width: 30%;
    min-width: 30%;
    padding:8px 5px;
    margin:3px;
    border:1px solid var(--virtual-color);
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    cursor: pointer;
}
.box-hours-virtual:hover, .box-hours-virtual.selected  {
    background-color: var(--virtual-color);
    transition: all 300ms ease 0s;
    -webkit-transition: all 300ms ease 0s;
}
.box-hours-virtual.selected p a, .box-hours-clinic.selected p a,
.box-hours-virtual:hover p a, .box-hours-clinic:hover p a{
    color:var(--bg-color);
}
.box-hours-clinic{
    max-width: 30%;
    min-width: 30%;
    padding:8px 5px;
    margin:3px;
    border:1px solid var(--clinic-color);
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    cursor: pointer;
}
.box-hours-clinic:hover, .box-hours-clinic.selected {
    background-color: var(--clinic-color);
    transition: all 300ms ease 0s;
    -webkit-transition:all 300ms ease 0s;
}
.box-adress-details {
    background-color: var(--bg-blue-color); 
    max-width:600px;
    position:relative;
    margin:0 auto;
    padding:10px 20px 20px;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-justify-content: space-around;
    -ms-flex-pack: space-around;
    justify-content: space-around;
}
.box-adress, .box-details {
    width:100%;
}
.box-details{
    opacity: 0;
    visibility: hidden;
    transition: all 100ms ease 0s;
    height: 0;
}
.box-details p{
    white-space: nowrap;
}
.warning.lens{
    display: none;
    padding: 10px 0;
    max-width: inherit;
}

.box-details.show{
    opacity: 1;
    visibility: visible;    
    height: auto;
}
/*** Design calendar ***/
#webform-calendar {
    background-color: var(--bg-color);
    border:1px solid var(--grey-form);
    border-radius: 2;
    margin:1.2rem 0 2rem;
}
#webform-calendar .buttons-container ,#calendar-title {
    width:100%;
    background-color: var(--title-font-color);
    padding:15px;
    margin-left: auto;
    margin-right: auto;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    -ms-flex-pack: space-between;
    justify-content: space-between;
    flex-direction: row;
    -ms-flex-direction: row;
    -webkit-flex-direction: row;
}
#webform-calendar .buttons-container button ,#calendar-title p{
    color:var(--bg-color);
    font-size: 1.125rem; 
    background: none;
    border: none;
}
#webform-calendar .buttons-container button .calendar-arrow  ,#calendar-title .calendar-arrow {
    border: solid var(--bg-color);
    border-width: 0 3px 3px 0;
    display: inline-block;
    padding:5px;
    cursor:pointer;
}
#webform-calendar .buttons-container button .calendar-arrow .prev-arrow,.prev-arrow {
    transform: rotate(135deg);
  -webkit-transform: rotate(135deg);
}
#webform-calendar .buttons-container button .calendar-arrow .next-arrow ,.next-arrow {
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
}


#webform-calendar .buttons-container .month-container {
    color: var(--bg-color);    
    font-size: 1.125rem;

    text-transform: capitalize;
font-weight: 700 !important;    
}

#webform-calendar .weeks-wrapper.header .week, #calendar-day {
    width:100%;
    padding:15px 0 10px;
    margin-left: auto;
    margin-right: auto;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-around;
    -ms-flex-pack: space-around;
    justify-content: space-around;
    flex-direction: row;
    -ms-flex-direction: row;
    -webkit-flex-direction: row;
    align-content: center;
    align-items: center;
}/*
#webform-calendar .week, .box-day{
    width:14.26%;
    text-align:center;
}
#webform-calendar .week, .box-day p{
    font-size:0.875rem; /* 14px */
   /* color: var(--grey-form);
}*/
#webform-calendar .week .day.header{
    font-size:0.875rem; /* 14px */
    color: var(--grey-form);    
    width:14.26%;
    text-align:center;
    text-transform: uppercase;
    cursor: default;
}

#calendar-number-01 {
    width:100%;
    margin-left: auto;
    margin-right: auto;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: flex-end;
    justify-content: flex-end;
    flex-direction: row;
    -ms-flex-direction: row;
    -webkit-flex-direction: row;
    align-content: center;
    align-items: center;
}
#webform-calendar .week ,#calendar-number {
    padding: 0;
    width:100%;
    margin-left: auto;
    margin-right: auto;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: flex-end;
    justify-content: flex-end;
    flex-direction: row;
    -ms-flex-direction: row;
    -webkit-flex-direction: row;
    align-content: center;
    align-items: center;
}
#calendar-number-05 {
    width:100%;
    padding:0 0 15px 0;
    margin-left: auto;
    margin-right: auto;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: flex-start;
    justify-content: flex-start;
    flex-direction: row;
    -ms-flex-direction: row;
    -webkit-flex-direction: row;
    align-content: center;
    align-items: center;
}
#webform-calendar .week  .day{
    width:14.26%;
    text-align: center;
    pointer-events: none;    
    padding: 2px 0;
}
#webform-calendar .week:last-child {
    padding : 2px 0 15px 0;
}
/* p predefeni avec la color de rdv non disponible */
#webform-calendar .week .day span{
    color: var(--grey-form);
    padding:6px 0;
    font-family: var(--secondary-font-family);
    display: block;    
}

#webform-calendar .week .day.disabled span, #webform-calendar .week .day.disabled.avail span{
    display: none;
}
/* p avec la color de rdv disponible */
#webform-calendar .week .day.avail span{
    color: var(--paragraph-font-color);
    font-weight: 600;
    cursor: pointer;
    text-decoration: none;
    display: block;
    pointer-events: initial;
}
/* p avec la color de rdv disponible */
#webform-calendar .week .day.avail span:hover{
    color: var(--primary-color);
    font-weight:bolder;
    cursor: pointer;
}
/* p avec la date de preselectionnee */
#webform-calendar .week .day.selected{
    background-color: var(--primary-color);    
    display: block;
}
#webform-calendar .week .day.selected span {
    color: var(--bg-color);
    font-weight:bolder;
    font-size:1.25rem; /* 20px */
    line-height: 1.25;
    cursor: pointer;
}

#webform-calendar .week .day.selected span{
    color: var(--bg-color);
}
#webform-calendar .week .day.selected.avail:hover span{
    color: var(--bg-color);    
    font-weight: 600;
}

/*****  Section Nearby Locations *****/
section#nearby-locations {
    background-color: var(--bg-medium-grey-color);
    max-width:450px;
    padding:20px;
    margin-left: auto;
    margin-right: auto;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-around;
    -ms-flex-pack: space-around;
    justify-content: space-around;
    flex-direction: column;
    -ms-flex-direction: column;
    -webkit-flex-direction: column;
}
section#nearby-locations a {
    letter-spacing: 0.05em;
    line-height: 2rem;
}
section#nearby-locations .titre-form {
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
}
.locations-box {
    margin:15px 0; 
}
.locations-box a:hover {
    font-weight: 700;
}
section#nearby-locations .webform-row {
    margin:0 auto;
}
/*****  Section Contact Tel Footer  *****/
section#contact-footer {
    background-color: var(--bg-color);
    max-width:600px;
    padding:40px 20px;
    margin:40px 0 0;
    margin-left: auto;
    margin-right: auto;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-justify-content: space-around;
    -ms-flex-pack: space-around;
    justify-content: space-around;
    flex-direction: column;
    -ms-flex-direction: column;
    -webkit-flex-direction: column;
    /*align-items:center;*/
}
.contact-box-right {
    margin:15px 0;
}
.contact-box-right a{
    text-decoration: none;
    white-space: nowrap;
}
.contact-box-right img{
    margin:0 7px 0 0;
    display: inline;
}
.contact-box-right h3 {
    display: inline;
    vertical-align: middle;
    font-size: 1.15rem;
}

/*********** CONTAINER STEP 3 ***********/
#webform-container-step3{
    width:100%;
    max-width:450px;
    margin:0 auto;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    align-items: flex-start;
    align-content: flex-start;
}
section#appointment{
    width:100%;
    max-width:450px;
    margin:0 auto;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-around;
    -ms-flex-pack: space-around;
    justify-content: space-around;
    flex-direction: column;
    -ms-flex-direction: column;
    -webkit-flex-direction: column;
    align-items: flex-start;
    align-content: center;
}
section#appointment .titre-form {
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
}
section#appointment .appointment-box .titre-form {
    -webkit-justify-content: flex-start;
    -ms-flex-pack: flex-start;
    justify-content: flex-start;
}
.appointment-box {
    margin:15px 0;
    width: 100%;
} 
/* Box info extra */
section#appointment-next{
    background-color: var(--bg-color);
    max-width: 600px;
    position: relative;
    margin-left:auto;
    margin-right:auto;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-around;
    -ms-flex-pack: space-around;
    justify-content: space-around;
    flex-direction: column;
    -ms-flex-direction: column;
    -webkit-flex-direction: column;
}
.next-info-box {
    margin:15px 0;
    background-color: var(--bg-blue-color);
    padding:20px; 
}
.next-info-box h3{
    padding:10px 0;
}
.webform-step2-left {
    width: 100%;
}
/* mixin for Tablet Landscape up; */
@media screen and (min-width : 601px) and (max-width : 900px) {
    .qtip-light{
    width: 65%;
    }
    .webform-step2-left {
        width: auto;
    }
    #webform-cta-book {
        max-width: 80%;
        margin-left:auto;
        margin-right:auto;
    }
    #webform-cta-addcalendar, #webform-cta-pis {
        max-width: 60%;
    }
    #webform-container-step2, #webform-container-step3{
        max-width:900px;
    }
    .webform-step2-left {
        margin-left:auto;
        margin-right:auto;
    }
    /*#webform-calendar {
        width: 50%;
    }*/
    .webform-step2-right {
        margin-left:auto;
        margin-right:auto;
    }
    .webform-select-hours {
        max-width:100%;
    }
    .box-hours-virtual, .box-hours-clinic {
        max-width: 90px;
        min-width: 90px;
    }
    .box-adress-details {
        max-width: 900px;
    }
    .box-adress-details .titre-form {
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
    .box-adress, .box-details {
        text-align:center;
        width: 85%;
        margin-left:auto;
        margin-right:auto;
    }
    section#nearby-locations {
         max-width: 575px;
         flex-direction: row;
        -ms-flex-direction: row;
        -webkit-flex-direction: row;
        -webkit-justify-content: flex-start;
        -ms-flex-pack: flex-start;
        justify-content: flex-start;
    }
    section#nearby-locations .titre-form {
        width:100%;
    }
    .locations-box {
        max-width: 45%;
        padding:0 35px 0 0;
        margin:20px 0;
    }
    section#contact-footer {
        max-width: 900px;
        align-items: center;
    }
    .contact-box-left {
        text-align: center;
    }
    section#appointment {
         max-width: 575px;
         flex-direction: row;
        -ms-flex-direction: row;
        -webkit-flex-direction: row;
        -webkit-justify-content: flex-start;
        -ms-flex-pack: flex-start;
        justify-content: flex-start;
    }
    section#appointment .titre-form {
        width:100%;
    }
    section#appointment-next {
         max-width: 575px;
         flex-direction: row;
        -ms-flex-direction: row;
        -webkit-flex-direction: row;
        -webkit-justify-content: flex-start;
        -ms-flex-pack: flex-start;
        justify-content: flex-start;
    }
    section#appointment-next .titre-form {
        width:100%;
    }

}

/* mixin for Desktop up; */
@media screen and (min-width : 901px) and (max-width : 1200px) {
    .qtip-light{
    width: 45%;
    }
    .webform-step2-left {
        width: auto;
    }
    button[type="submit"] {
        padding:20px;
   }
    #webform-container-step2, #webform-container-step3{
        max-width:1200px;
        -webkit-flex-direction: row;
        -ms-flex-direction: row;
        flex-direction: row;
    }
    .webform-step2-left {
        width:34.5%;
        padding:20px;
    }
    .webform-step2-right {
        width:65.5%;
    }
    .box-time {
        padding:20px;
    }
    .box-clinic {
        padding:10px 20px;
    }
    .webform-select-hours {
        max-width:100%;
    }
    .box-hours-virtual, .box-hours-clinic {
        max-width: 90px;
        min-width: 90px;
    }
  .box-adress-details {
        max-width: 786px;
        padding:20px 0;
        -webkit-flex-direction: row;
        -ms-flex-direction: row;
        flex-direction: row;
    }
    .box-adress, .box-details {
        width: 48%;
        padding: 0 10px;
    }
    section#nearby-locations {
        max-width: 100%;
        flex-direction: row;
        -ms-flex-direction: row;
        -webkit-flex-direction: row;
    }
    section#nearby-locations .titre-form {
        width:100%;
    }
    .locations-box {
        max-width: 33%;
        padding:0 35px 0 0;
        margin:20px 0;
    }
    section#contact-footer {
        max-width: 1200px;
        flex-direction: row;
        -ms-flex-direction: row;
        -webkit-flex-direction: row;
    }
    section#contact-footer {
        max-width: 1200px;
        flex-direction: row;
        -ms-flex-direction: row;
        -webkit-flex-direction: row;
    }
    .contact-box-left {
        max-width: 50%;
    }
    .contact-box-right {
        max-width: 40%;
    }
    section#appointment {
        max-width: 100%;
        flex-direction: row;
        -ms-flex-direction: row;
        -webkit-flex-direction: row;
    }
    section#appointment .titre-form {
        width:100%;
    }
    .appointment-box {
        max-width: 33%;
        padding:0 35px 0 0;
        margin:20px 0;
    }
    section#appointment-next {
         max-width: 100%;
        flex-direction: row;
        -ms-flex-direction: row;
        -webkit-flex-direction: row;
    }
    section#appointment-next .titre-form {
        width:100%;
    }
    .next-info-box {
        max-width: 48%;
        padding: 20px 40px;
        margin: 20px 0;
    }
}

/* mixin for Big Desktop up */
 @media screen and (min-width : 1201px) and (max-width : 2500px) {
    .qtip-light{
    width: 45%;
    }
    .webform-step2-left {
        width: auto;
    }
   button[type="submit"] {
        padding:20px;
   }
   #webform-cta-book, #webform-cta-addcalendar, #webform-cta-pis {
    max-width: 80%;
   }
   #webform-container-step2, #webform-container-step3{
        max-width:1200px;
        -webkit-flex-direction: row;
        -ms-flex-direction: row;
        flex-direction: row;
    }
    .webform-step2-left {
        width:34.5%;
        padding:20px;
    }
    .webform-step2-right {
        width:65.5%;
    } 
    .box-time {
        padding:20px;
    }
    .box-clinic {
        padding:10px 20px;
    }
    .webform-select-hours {
        max-width:100%;
    }
    .box-hours-virtual, .box-hours-clinic {
        max-width: 90px;
        min-width: 90px;
    }
    .box-adress-details {
        max-width: 786px;
        padding:20px 0;
        -webkit-flex-direction: row;
        -ms-flex-direction: row;
        flex-direction: row;
    }
    .box-adress, .box-details {
        width: 48%;
        padding: 0 10px;
    }
    section#nearby-locations {
        max-width: 100%;
        flex-direction: row;
        -ms-flex-direction: row;
        -webkit-flex-direction: row;
    }
    section#nearby-locations .titre-form {
        width:100%;
    }
    .locations-box {
        max-width: 33%;
        padding:0 35px 0 0;
        margin:20px 0;
    }
     section#contact-footer {
        max-width: 1200px;
        flex-direction: row;
        -ms-flex-direction: row;
        -webkit-flex-direction: row;
    }
    .contact-box-left {
        max-width: 37.5%;
        margin: auto 0;
    }
    .contact-box-right {
        max-width: 27.5%;
    }
    section#appointment {
        max-width: 100%;
        flex-direction: row;
        -ms-flex-direction: row;
        -webkit-flex-direction: row;
    }
    section#appointment .titre-form {
        width:100%;
    }
    .appointment-box {
        max-width: 33%;
        padding: 0 10px 0 0;
        margin:20px 0;
    }
    section#appointment-next {
         max-width: 100%;
        flex-direction: row;
        -ms-flex-direction: row;
        -webkit-flex-direction: row;
    }
    section#appointment-next .titre-form {
        width:100%;
    }
    .next-info-box {
        max-width: 48%;
        padding: 20px 40px;
        margin: 20px 0;
    }
}

