div.form-radios.error,
div.form-checkboxes.error {
  background: none;
  border: 2px solid red;
}

label {
  display: inline;
}
#secondary-menu .mon-compte .user-picture img {
  height: 94px;
  width: 94px;
}
#navigation-footer label {
  /*font-weight: normal;*/
}
/* --------------- Custom style --------------- */
.front .messages {
  margin-bottom: 15px;
  margin-top: -35px;
}
/* --------------- System Tabs  --------------- */

.tabs {
  background: #FFF;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.tabs ul.primary {
  padding: 0 3px;
  margin: 0;
  overflow: hidden;
  border: none;
  background: transparent;
}
.tabs ul.primary li {
  display: block;
  float: left; /* LTR */
  vertical-align: bottom;
  margin: 0 5px 0 0; /* LTR */
}
.tabs ul.primary li.active a {
  border-bottom: 1px solid #ffffff;
}
.tabs ul.primary li a {
  color: #000;
  background-color: #ededed;
  height: 1.8em;
  line-height: 1.9;
  display: block;
  font-size: 0.929em;
  float: left; /* not LTR */
  padding: 0 10px 3px;
  margin: 0;
  text-shadow: 0 1px 0 #fff;
  -khtml-border-radius-topleft: 6px;
  -moz-border-radius-topleft: 6px;
  -webkit-border-top-left-radius: 6px;
  border-top-left-radius: 6px;
  -khtml-border-radius-topright: 6px;
  -moz-border-radius-topright: 6px;
  -webkit-border-top-right-radius: 6px;
  border-top-right-radius: 6px;
}
.tabs ul.primary li.active a {
  background-color: #ffffff;
}
.tabs ul.secondary {
  border-bottom: none;
  padding: 0.5em 0;
}
.tabs ul.secondary li {
  display: block;
  float: left; /* LTR */
}
.tabs ul.secondary li:last-child {
  border-right: none; /* LTR */
}
.tabs ul.secondary li:first-child {
  padding-left: 0; /* LTR */
}
.tabs ul.secondary li a {
  padding: 0.25em 0.5em;
}
.tabs ul.secondary li a.active {
  background: #f2f2f2;
  border-bottom: none;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  -khtml-border-radius: 5px;
  border-radius: 5px;
}
ul.action-links {
  list-style: none;
  margin: 5px;
  padding: 0.5em 1em;
}
ul.action-links li {
  display: inline-block;
  margin-left: 10px;
}
ul.action-links li a {
  padding-left: 15px;
  /*background: url('../images/add.png') no-repeat left center;*/
  margin: 0 10px 0 0;
}

/** --------------------------------------------------------------- *
 *                        WEBFORM GENERIC                           */

.webform-client-form span.form-required {
  display: none;
}
.webform-client-form input[type="text"],
.webform-client-form input[type="email"],
.webform-client-form textarea,
.webform-client-form select {
  width: 100%;
  resize: none;
  height: 228px;
  line-height: 30px;
  padding: 0px 6px;
}
.webform-client-form textarea {
  line-height:17px;
  height: 85px;
}
.webform-client-form input[type="text"],
.webform-client-form input[type="email"],
.webform-client-form select {
  line-height: 30px;
  padding: 0px 10px 0px 6px;
  height: 30px;
}
.webform-client-form input[type="radio"],
.webform-client-form input[type="checkbox"],
.webform-client-form select {
  appearance: none; /* CSS3 */
  -webkit-appearance: none; /* Safari and Chrome */
  -moz-appearance: none; /* Firefox */
  -ms-appearance: none; /* Internet Explorer */
  -o-appearance: none; /* Opera */
}
.webform-client-form input[type="radio"],
.webform-client-form input[type="checkbox"] {
  display: none;
}
.webform-client-form select {
  background: white url("../../../../../misc/menu-expanded.png") no-repeat scroll 97% 57%;
  border: none;
  line-height: 25px;
}
.webform-client-form label.option:before {
  display: inline-block;
  position: relative;
  top: 5px;
  left: -4px;
  content: '';
  width: 20px;
  height: 20px;
  border-radius: 20px;
  background: white url('../img/webform/input_webform.png') no-repeat right center;
}
.webform-client-form input:checked + label.option:before {
  background: white url('../img/webform/input_webform.png') no-repeat left center;
}
.webform-client-form .form-radios.error {
  padding: 0px 0px 8px 4px;
}
.webform-client-form .form-radios.error .error {
  border: none;
}
.webform-client-form select::-ms-expand {
  display: none;
}
.webform-client-form input:not(.error),
.webform-client-form select:not(.error) {
  border: none;
}
#navigation-footer .webform-client-form input::-webkit-input-placeholder {
  color: #626262;
}
#navigation-footer .webform-client-form input::-moz-placeholder {
  color: #626262;
}
.webform-client-form select option {
  color: #000000;
}
/* do not group these rules */
.webform-client-form select[data-value=none],
#navigation-footer .webform-client-form textarea::-webkit-input-placeholder,
#navigation-footer .webform-client-form input::-webkit-input-placeholder {
  color: #999999;
}
#navigation-footer .webform-client-form textarea:-moz-placeholder {
  /* FF 4-18 */
  color: #999999;
}
#navigation-footer .webform-client-form textarea::-moz-placeholder
#navigation-footer .webform-client-form input::-moz-placeholder {
  /* FF 19+ */
  color: #999999;
}
#navigation-footer .webform-client-form textarea:-ms-input-placeholder,
#navigation-footer .webform-client-form input:-ms-input-placeholder {
  /* IE 10+ */
  color: #999999;
}
#navigation-footer .webform-client-form .error::-webkit-input-placeholder {
  color: red;
}
#navigation-footer .webform-client-form .error:-moz-placeholder {
  /* FF 4-18 */
  color: red;
}
#navigation-footer .webform-client-form .error::-moz-placeholder {
  /* FF 19+ */
  color: red;
}
#navigation-footer .webform-client-form .error:-ms-input-placeholder {
  /* IE 10+ */
  color: red;
}

.node-bookingform .webform-component--step1--dates-de-votre-sejour--dates-de-sejours .outofdate {
  color: red;
  font-weight: bold;
  padding: 10px 0;
  display: none;
}

.node-contactform .webform-client-form .form-item:not(.webform-component-phone) .form-item {
  margin: 3px 0px 0px 0px;
}
.webform-client-form .webform-calendar-inline div {
  /*display: inline-block;*/
}
.webform-container-inline.webform-datepicker.error {
  border: 2px solid red;
  background-image: none;
  background-color: white;
}
.webform-datepicker select {
  width: 29.9%;
  background-position-x: 90%;
}
input.webform-calendar {
  display: inline;
  width: auto;
  margin: 0px;
  padding: 0px;
  vertical-align: middle;
}
.webform-calendar .ui-datepicker {
  width: 100%;
  height: 100%;
  display: inline-block;
}
.webform-component-date .webform-datepicker .form-type-select {
  display: none;
}
.webform-component-date .webform-datepicker i[class="icon-calendar"]:before {
  top: 2px;
  text-align: right;
  position: relative;
  display: inline-block;
  margin-left: -18px;
  width: 11px;
}
.webform-component-time select {
  width: 30%;
}
.webform-component-select-or-other input.select-or-other-other {
  margin: 4px 0 1px 23px;
  width: 86%;
}
.webform-component-select-or-other .form-item-submitted-step2-group-col-4-decouverte-avene-other {
  margin: 0;
  width: 100%;
  position: relative;
  top: -5px;
}
.webform-component-select-or-other .form-item-submitted-step2-group-col-4-decouverte-avene-other input.select-or-other-other {
  margin: 0;
  width: 100%;
}
.webform-component-file .form-managed-file > input[id*="upload"] {
  display: none;
}


/** ------------------------------------------------------------------- *
 *                        FORMULAIRE DE CONTACT                         */

.node-bookingform .messages.error,
.node-contactform .messages.error {
  display: none;
}
div.node-contactform:not(.webform-client-form) {
  /*padding: 25px;*/
  background-color: white;
}
#navigation-footer .contact .node-contactform {
  padding: 0px;
}
.node-contactform .field-name-field-requirements {
  float: right;
  /*margin-top: 28px;*/
  color: #ff8d7a;
}
.node-contactform .container {
  position: relative;
}
.node-contactform .container .col-3-half {
  width: 30%;
  height: 100%;
  position: absolute;
}
.node-contactform .container .col-9-half {
  margin-left: 30%;
  width: 70%;
  min-height: 470px;
}
.g-recaptcha > div {
  width: 100% !important;
  text-align: right;
}
.node-contactform .webform-confirmation {
  margin: 50px;
}
.node-contactform .form-item {
  margin: 7px 0;
}
.node-content [class^="icon-"]:before,
.node-content [class*=" icon-"]:before,
.webform-content [class^="icon-"]:before,
.webform-content [class*=" icon-"]:before {
  display: block;
}
.node-contactform .infos-generales,
.node-bookingform.webform-client-form .infos-generales {
  margin-bottom: 30px;
  height: 50px;
  display: table;
  margin-bottom: 30px;
  height: 50px;
  display: table;
  color: #ff8d7a;
  text-transform: uppercase;
  line-height: 18px;
  font-size: 14px;
  font-family: "Open Sans";
  font-weight: 700;
  font-style: normal;
}
.node-bookingform.webform-client-form .infos-generales {
  width: auto;
}
.node-bookingform .infos-generales h2 {
  width: 135px;
}
.node-bookingform .infos-generales h2,
.node-contactform .infos-generales h2 {
  padding-right: 20px;
  display: table-cell;
  vertical-align: bottom;
}
.node-bookingform .opening-time,
.node-contactform .opening-time {
  vertical-align: bottom;
  display: table-cell;
}
.node-contactform .opening-time div {
  padding: 0px 15px;
  border-right: 1px solid #dbdbdb;
}
.node-bookingform .opening-time div {
  padding: 0px 15px;
}
.node-contactform .reservation-info {
  padding: 0px 15px;
  display: table-cell;
  vertical-align: bottom;
}
.node-contactform .reservation-info .field-label {
  color: #999999;
}
.node-contactform .reservation-info a {
  letter-spacing: -0.5px;
  font-size: 12px;
}
.node-bookingform h2 span,
.node-contactform h2 span {
  display: block;
  font-family: 'Open Sans';
  font-size: 16px;
  font-weight: normal;
}
.node-bookingform h2 span.light,
.node-contactform h2 span.light {
  color: #99999B;
}
.node-bookingform h2 span.bold,
.node-contactform h2 span.bold {
  color: #000000;
  font-size: 26px;
  line-height: 26px;
}
.node-contactform h3 {
  font-size: 16px;
  color: inherit;
  font-family: "Open Sans", sans-serif;
  font-style: normal;
  font-weight: 700;
  margin-bottom: 4px;

}
.node-contactform .webform-content h3 {
  display: inline-block;
}
.node-contactform .node-content {
  background-color: #ff8d7a;
  color: #ffffff;
  padding: 25px 32px;
  height: 100%;
}
.node-contactform .node-content div>strong {
  margin: 7px 0px 2px 0px;
  display: block;
}
.node-contactform .webform-content {
  background-color: #ededed;
  color: #999999;
  height: 100%;
  padding: 25px 32px;
}
.node-contactform .webform-content label:not(.option),
.node-contactform .webform-content .description {
  display: none;
}
.node-contactform.webform-client-form .form-item .form-item.form-type-radio {
  display: inline-block;
  width: 21%;
  margin-bottom: 5px;
  margin-left: 3px;
}
div[id^="edit-submitted-informations-message"] .form-item.form-type-radio {
    display: block !important;
    width: 100% !important;
}
body.i18n-en .form-item-submitted-informations-message-type-envoi,
body.i18n-en .webform-component--informations-message--type-envoi,
body.i18n-es .form-item-submitted-informations-message-type-envoi,
body.i18n-es .webform-component--informations-message--type-envoi {
    display: none !important;
}
.node-contactform .webform-content .webform-submit {
  width: 130px;
  top: -30px;
  float: right;
}
.node-contactform .webform-client-form fieldset {
  border: none;
  margin: 0px;
  padding: 0px;
}
.node-contactform .webform-client-form fieldset.webform-component--infos-additionelles {
  float: left;
  width: 300px;
  padding-right: 32px;
}
.node-contactform .webform-client-form fieldset.webform-component--informations-message {
  float: right;
  width: 305px;
  position: relative;
  top: -30px;
}
.node-contactform .webform-content .form-actions {
  /*clear: both;*/
}
.node-contactform .form-item-submitted-infos-additionelles-address-postal-code {
  width: 34%;
  margin-right: 1% !important;
}
.node-contactform .form-item-submitted-infos-additionelles-address-locality {
  width: 65%;
}
.node-contactform .captcha {
  display: inline-block;
}
.node-contactform .g-recaptcha {
  position: relative;
  top: -30px;
}
.node-contactform .webform-component-file .form-managed-file > input[id*="upload"] {
  display: inline-block !important;
}
.node-contactform .webform-component-file label {
  display: inline-block !important;
}
.node-contactform .webform-component-file input[type=file] {
  display: inline-block;
}
.node-contactform .webform-component-file input[type=submit] {
  padding: 5px 10px;
}

/** ------------------------------------------------------------------- *
 *                      FORMULAIRE DE RESERVATION                      */
.page-node-done,
.node-bookingform {
  /*padding: 25px;*/
  background-color: white;
}
.page-node-done .node-bookingform.webform-client-form {
  margin: 0 auto;
}
.node-bookingform.webform-client-form {
  width: 960px;
}
.node-bookingform .field-name-field-infos-question {
  margin: 0 auto;
  top: -65px;
  position: relative;
  width: 500px;
  text-align: center;
}
.node-bookingform .webform-component--step0,
.node-bookingform .webform-component--step1,
.node-bookingform .webform-component--step2,
.node-bookingform .webform-component--step3,
.node-bookingform .webform-component--step4,
.node-bookingform .webform-component--step6,
.node-bookingform .webform-component--step-confirmation {
  min-height: 330px;
  border: none;
  padding: 30px 20px;
  margin: 0px;
  background-color: #EDEDED;
  color: #999999;
  position: relative;
}

/** STTEP 0 **/
.node-bookingform .webform-component--step0 {
  padding: 0px;
  font-size: 12px;
  line-height: 20px;
  color: #ffffff;
}
.node-bookingform.webform-client-form .webform-component--step0 fieldset[class*="group-col-"],
.node-bookingform.webform-client-form .webform-component--step0 fieldset[class*="group-col-"]:last-child {
  width: 33%;
  margin: 0px;
  float: none;
  position: absolute;
  top: 0px;
  height: 100%;
  background-size: cover;
  padding: 28px;
  font-family: 'Open Sans';
  text-align: center;
  font-size: 13px;
  font-weight: 600;
  line-height: 16px;
}
.node-bookingform.webform-client-form .webform-component--step0 fieldset[class*="group-col-"] .fieldset-wrapper {
}
.node-bookingform.webform-client-form .webform-component--step0 fieldset[class*="group-col-"] .form-button-disabled,
.node-bookingform.webform-client-form .webform-component--step0 fieldset[class*="group-col-"] .form-button-disabled:hover {
  background-color: #ededed;
  color: #cfcfcf;
}
.node-bookingform.webform-client-form .webform-component--step0 fieldset[class*="group-col-"] .form-button-disabled span,
.node-bookingform.webform-client-form .webform-component--step0 fieldset[class*="group-col-"] .form-button-disabled:hover span {
  border-color: #cfcfcf;
}
.node-bookingform.webform-client-form .webform-component--step0 fieldset[class*="group-col-"] .fieldset-wrapper .ajax-progress {
  margin: 3px auto;
  display: block;
  width: 10px;
}
.node-bookingform .webform-component--step0 div[class$="-title"] {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  font-size: 36px;
  line-height: 55px;
  background: url('../img/webform/step.png') no-repeat center center;
  width: 60px;
  height: 60px;
  margin: 0 auto;
}
.node-bookingform .webform-component--step0 legend,
.node-bookingform .webform-component--step0 .fieldset-description {
  display: none;
}
.node-bookingform.webform-client-form .webform-component--step0 fieldset[class*="group-col-1"] {
  background: url('../img/webform/avant-cure.jpg') no-repeat top center;
}
.node-bookingform.webform-client-form .webform-component--step0 fieldset[class*="group-col-2"] {
  background: url('../img/webform/choisir-hebergement.jpg') no-repeat top center;
  margin-left: 33.5%;
}
.node-bookingform.webform-client-form .webform-component--step0 fieldset[class*="group-col-3"],
.node-bookingform.webform-client-form .webform-component--step0 fieldset[class*="group-col-"]:last-child {
  background: url('../img/webform/reserver-cure.jpg') no-repeat top center;
  margin-left: 67%;
}
.node-bookingform.webform-client-form .webform-component--step0 .btn {
  display: block;
  width: 80%;
  margin: 0 auto;
}

/** STTEP 1 **/

/* Left part */
.node-bookingform .webform-component--step1--type-de-sejour {
  float: left;
  width: 320px;
  min-height: 375px;
  border: none;
  padding: 30px 20px;
  margin: 0px;
  background-color: #FF8D7A;
  color: #ffffff;
}
/* Right part */
.node-bookingform .webform-component--step1 {
  padding: 0px;
}
.node-bookingform .webform-component--step1--dates-de-votre-sejour {
  min-height: 375px;
  border: none;
  padding: 30px 20px;
  margin: 0px;
  background-color: #EDEDED;
  color: #999999;
  position: relative;
}
.node-bookingform .webform-component--step1 legend,
.node-bookingform .webform-component--step1 .fieldset-description {
  display: none;
}
.node-bookingform .webform-component--step1--type-de-sejour legend {
  padding-left: 7px;
}
.node-bookingform .webform-component--step1--type-de-sejour legend,
.node-bookingform .webform-component--step1--dates-de-votre-sejour legend {
  position: absolute;
  top: 30px;
}
.node-bookingform .webform-component--step1--type-de-sejour legend,
.node-bookingform .webform-component--step1--type-de-sejour label:not(.option),
.node-bookingform .webform-component--step1--dates-de-votre-sejour legend {
  font-size: 16px;
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  text-transform: uppercase;
  line-height: 15px;
  display: block;
}
.node-bookingform .webform-component--step1--type-de-sejour--auto-type-de-cure {
  display: none;
}
.node-bookingform .form-item-submitted-step1-type-de-sejour-cure-en-18-jours-dermatologie {
  margin-bottom: 5px;
}
.node-bookingform .webform-component--step1--type-de-sejour--cure-libre label:not(.option) {
  margin-top: 40px;
}
.webform-component--step1--type-de-sejour--cure-libre {
  margin-bottom:  0px;
}
.webform-component--step1--type-de-sejour--cure-libre .form-radios div {
  display: inline-block;
  width: 48%;
  margin-bottom: 5px;
  margin-top: 0px;
}

.node-bookingform .webform-component--step1--type-de-sejour .fieldset-wrapper {
  padding: 2px 7px;
  margin-top: 35px;
}
.node-bookingform .webform-component--step1--type-de-sejour.error {
  color: #ffffff !important;
}
.node-bookingform .webform-component--step1--type-de-sejour.error .fieldset-wrapper {
  border: 2px solid red;
  padding: 0px 5px;
}
.node-bookingform .webform-component--step1--type-de-sejour .error {
  border: none;
  color: inherit !important;
}

.node-bookingform .webform-component--step1--type-de-sejour .form-item .description {
  margin-bottom: 9px;
  font-size: 14px;
  margin-top: 1px;
}
.node-bookingform .webform-component--step1--dates-de-votre-sejour--dates-de-sejours {
  float: left;
  width: 40%;
  margin-right: 5%;
  margin-top: 2em;
}
.node-bookingform .webform-component--step1--dates-de-votre-sejour--date-debut-sejour {
  width: 290px;
  background-color: white;
  margin-left: 45%;
  margin-bottom: 0px;
  position: relative;
  top: 0px;
  right: -26px;
  margin-top: 0px;
}
.node-bookingform .webform-component--step1--dates-de-votre-sejour--date-debut-sejour label,
.node-bookingform .webform-component--step1--dates-de-votre-sejour--date-debut-sejour .description {
  display: none;
}
.node-bookingform .webform-component--step1--dates-de-votre-sejour--date-fin-sejour {
  display: none;
}

.node-bookingform .webform-component--step1--dates-de-votre-sejour--dates-de-sejours .opening_infos,
.node-bookingform .webform-component--step1--dates-de-votre-sejour--dates-de-sejours .description {
  color: #ff8d7a;
  line-height: 16px;
  font-size: 13px;
}
.node-bookingform .webform-component--step1--dates-de-votre-sejour--dates-de-sejours .opening_infos {
  text-align: justify;
}
.node-bookingform .webform-component--step1--dates-de-votre-sejour--dates-de-sejours .description {
  font-size: 12px;
  margin-top: 30px;
}
.node-bookingform .webform-component--step1--dates-de-votre-sejour--dates-de-sejours .recapitulatif div {
  line-height: 18px;
  color: #999999;
  font-size: 12px;
  text-transform: uppercase;
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 800;

}
.node-bookingform .webform-component--step1--dates-de-votre-sejour--dates-de-sejours .recapitulatif div:first-child {
  line-height: 25px;
  color: #ff8d7a;
  margin-top: 32px;
}

/** STTEP 2 **/
.node-bookingform .webform-component--step2 legend,
.node-bookingform .webform-component--step2 .description,
.node-bookingform .webform-component--step2 .fieldset-description {
  display: none;
}
.node-bookingform.webform-client-form fieldset[class*="group-col-"] {
  float: left;
  width: 180px;
  margin-right: 30px;
  border: none;
}
.node-bookingform.webform-client-form fieldset[class*="group-col-"]:last-child {
  margin: 0px;
  width: 225px;
}
.node-bookingform.webform-client-form fieldset[class*="group-col-3"] {
  width: 200px;
}
.node-bookingform .webform-component--step2 label:not(.option) {
  margin-bottom: 10px;
  font-size: 16px;
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  text-transform: uppercase;
  line-height: 17px;
  display: block;
}
.node-bookingform .webform-component--step2 .webform-component--step2--group-col-4--autre-station label:not(.option) {
  display: none;
}
.node-bookingform .webform-component--step2 .form-item-submitted-step2-group-col-4-autre-station-other input {
  margin: 0px;
  width: 100%;
}
.node-bookingform .webform-component--step2 .webform-datepicker select {
  width: 27.9%;
}
.node-bookingform .webform-component--step2 .webform-component-time label {
  display: none;
}
.node-bookingform .webform-component--step2 .webform-component-time .description {
  display: block;
  margin-bottom: 5px;
}
.node-bookingform .webform-component--step2--group-col-3--date-consultation-medicale,
.node-bookingform .webform-component--step2--group-col-4--decouverte-avene {
  margin-top: 30px;
}
.node-bookingform .webform-component--step2--group-col-2--lieu-de-residence .form-radios > div:nth-child(4) {
  margin-top: 8px;
  border-top: 1px solid #dddddd;
}
.webform-client-form .webform-component--step2--group-col-2--nom-de-letablissement input[type="text"] {
  margin: 0px 0 1px 23px;
  width: 86%;
}


/** STEP 3 et STEP4 **/
.node-bookingform .webform-component--step3 legend,
.node-bookingform .webform-component--step4 legend,
.node-bookingform .webform-component--step6 legend,
.node-bookingform .webform-component--step3 .description,
.node-bookingform .webform-component--step4 .description,
.node-bookingform .webform-component--step3 .form-item:not(.webform-component-radios) label:not(.option),
.node-bookingform .webform-component--step4 label:not(.option) {
  display: none;
}
.node-bookingform .webform-component--step3 #addressfield-wrapper--2 label,
.node-bookingform .webform-component--step4 #addressfield-wrapper--3 label {
    display: block;
}
.node-bookingform .webform-component--step3 .fieldset-description,
.node-bookingform .webform-component--step4 .fieldset-description,
.node-bookingform.webform-client-form .webform-component--step4 .webform-component--step4--vos-observations label {
  margin-bottom: 10px;
  margin-left: 10px;
  font-size: 16px;
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  text-transform: uppercase;
  line-height: 17px;
  display: block;
}
.node-bookingform .webform-component--step4 .webform-component--step4--group-col-2--specialite-du-medecin .description {
  display: block;
  font-family: inherit;
  font-size: 12px;
  font-weight:bold;
}
.node-bookingform .webform-component--step4 .webform-component--step4--group-col-2--specialite-du-medecin .form-type-radio.form-item-submitted-step4-group-col-2-specialite-du-medecin:nth-of-type(3) {
  width: 28%;
  text-align: right;
}
.node-bookingform .webform-component--step4 .webform-component--step4--group-col-2--specialite-du-medecin .form-type-radio.form-item-submitted-step4-group-col-2-specialite-du-medecin:nth-of-type(2) {
  width: 30%;
}
.node-bookingform .webform-component--step4 .webform-component--step4--group-col-2--specialite-du-medecin .form-type-radio.form-item-submitted-step4-group-col-2-specialite-du-medecin {
  display: inline-block;
  width: 40%;
}
.node-bookingform .webform-component--step4 .fieldset-description {
  margin-left: 0px;
}
.node-bookingform.webform-client-form fieldset[class*="step3"][class*="group-col-"],
.node-bookingform.webform-client-form fieldset[class*="step4"][class*="group-col-"] {
  width: 300px;
}
.node-bookingform .webform-component--step3 .webform-component-radios {
  margin-left: 10px;
}
.node-bookingform .webform-component--step3 .webform-component-radios div {
  display: inline-block;
}
.node-bookingform .webform-component--step3 .webform-component-radios label:not(.option) {
  width: 100px;
  display: inline-block;
  margin: 0px;
}
.node-bookingform .webform-component--step3 .webform-component-radios label.option {
  width: 70px;
  display: inline-block;
}

/* Step 4 */
.node-bookingform .webform-component--step4 {
  padding: 0px;
}
.node-bookingform .webform-component--step4 > .fieldset-wrapper {
  /*position: absolute;*/
  width: 100%;
}
.node-bookingform .webform-component--step4 > .fieldset-wrapper > .fieldset-description {
  display: none;
}
.node-bookingform .webform-component--step4 fieldset[class*="group-col-"] {
  margin: 0px;
  margin: 30px 15px 30px 15px;
  padding: 0px;
  width: 300px;
}
.node-bookingform.webform-client-form fieldset[class*="step4"][class*="group-col-1"] {
  margin-left: 30px;
}
.node-bookingform.webform-client-form fieldset[class*="step4"][class*="group-col-2"] {
  margin-right: 30px;
}
.node-bookingform.webform-client-form fieldset[class*="step4"][class*="group-col-3"] {
  width: 270px;
  background-color: #ff8d7a;
  display: block;
  float: none;
  height: 100%;
  margin: 0px;
  padding: 25px;
  color: #ffffff;
  position: absolute;
  right: 0px;
}
.node-bookingform.webform-client-form fieldset[class*="step4"][class*="group-col-3"] > .fieldset-wrapper > div {
  padding: 5px;
}
.node-bookingform.webform-client-form fieldset[class*="step4"][class*="group-col-3"] .messages.status {
  display: none;
}
.node-bookingform.webform-client-form .webform-component--step4--group-col-3--documents-a-joindre {
  margin-top: 0px;
  line-height: 13px;
}
.node-bookingform.webform-client-form .webform-component--step4 .webform-component-radios label:not(.option) {
  display: block;
}
.node-bookingform.webform-client-form .webform-component--step4 .webform-component-file label {
  display: block;
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  font-size: 12px;
  line-height: 15px;
}
.node-bookingform.webform-client-form .webform-component--step4 .webform-component-file .description {
  display: block;
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 800;
  font-size: 12px;
  line-height: 25px;
  cursor: pointer;
  text-transform: uppercase;
}
.node-bookingform.webform-client-form .webform-component--step4 .webform-component-file {
  margin: 0px;
}
.node-bookingform.webform-client-form .webform-component--step4 .webform-component-file.error {
  background: none;
  color: inherit !important;
  border: 2px solid red;
  padding: 5px;
  margin: -7px;
}
.node-bookingform.webform-client-form .webform-component--step4 .webform-component-file .form-managed-file .file * {
  display: inline-block;
  color: #ffffff;
}
.node-bookingform.webform-client-form .webform-component--step4 .webform-component--step4--vos-observations {
  padding: 30px;
  position: absolute;
  width: 100%;
}
.node-bookingform.webform-client-form .webform-component--step4 .webform-component--step4--vos-observations .description {
  display: none;
}
.node-bookingform.webform-client-form .webform-component--step4 .webform-component--step4--vos-observations textarea {
  line-height: 1.5em;
  height: 200px;
}
.node-bookingform.webform-client-form .webform-component--step4 .webform-component--step4--group-col-3--pdf-uniquement {
  width: 220px;
  text-align: center;
  position: absolute;
  bottom: 1em;
  margin-bottom: 0px;
}
.node-bookingform.webform-client-form .webform-component--step4 .webform-component--step4--group-col-3--pdf-uniquement .icon-warning {
  margin-right: 7px;
}


/*   Step6  */
.node-bookingform .webform-component--step6 {
  text-align: center;
}
.node-bookingform .webform-component--step6 > .fieldset-wrapper > .fieldset-description {
  display: none;
}
.node-bookingform .webform-component--step6 .webform-component--step6--step6-title {
  display: block;
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  font-size: 16px;
  line-height: 18px;
  text-transform: uppercase;
  margin-bottom: 30px;
  margin-top: 30px;
}
.node-bookingform .webform-component--step6 .webform-component--step6--conditions-generales,
.node-bookingform .webform-component--step6 .webform-component--step6--consentement {
  display: block;
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  font-size: 12px;
  line-height: 16px;
  width: 500px;
  margin: 0px auto 30px auto;
  color: #000000;
}
.node-bookingform .webform-component--step6 .payment-method-selector label {
  display: block;
  padding: 7px;
}
.node-bookingform .webform-component--step6 .payment-method-selector input,
.node-bookingform .webform-component--step6 .payment-method-selector label::before {
  background: none;
  display: none;
}
.node-bookingform .webform-component--step6 .payment-method-selector .cheque label.option {
  text-transform: lowercase;
  font-size: 13px;
  line-height: 20px;
  display: inline-block;
  cursor: pointer;
}
.node-bookingform .webform-component--step6 .payment-method-selector .cheque input:checked label.option,
.node-bookingform .webform-component--step6 .payment-method-selector .cheque label.option:hover {
  text-decoration: underline;
  font-weight: bold;
}
.node-bookingform .webform-component--step6 .payment-method-selector .paypal {
  text-transform: uppercase;
  color: white;
  margin: 0 auto;
  border: 3px solid #ff8d7a;
  width: 260px;
  padding: 0px;
}
.node-bookingform .webform-component--step6 .payment-method-selector .paypal > div {
  border: 1px solid white;
  background-color: #ff8d7a;
  margin: 0px;
}
.node-bookingform .webform-component--step6 .payment-method-selector .paypal label.option {
  text-transform: uppercase;
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 800;
  font-size: 14px;
  line-height: 20px;
  padding: 10px 30px;
  width: 260px;
  cursor: pointer;
}
.node-bookingform .webform-component--step6 .webform-component--step6--paiement-acompte .form-radios .method {
  background-color: #DFDFDF;
  width: 267px;
  margin: 5px;
  padding: 0px;
  display: inline-block;
  text-align: left;
  height: 100px;
}
.node-bookingform .webform-component--step6 .webform-component--step6--paiement-acompte .form-radios {
  width: 555px;
  margin: 0 auto;
}
.node-bookingform .webform-component--step6 .webform-component--step6--paiement-acompte .form-radios.error {
  width: 565px;
}
.node-bookingform .webform-component--step6 .webform-component--step6--paiement-acompte .form-radios .method:first-of-type {
  float: left;
}
.node-bookingform .webform-component--step6 .webform-component--step6--paiement-acompte .form-radios .method.disabled {
  background-color: #E2E2E2;
  color: #b4b4b4;
}
.node-bookingform .webform-component--step6 .webform-component--step6--paiement-acompte .form-radios .method .inner {
  border: 1px solid #AFAFAF;
  margin: 3px;
  padding: 0px 0px 10px 20px;
  height: 94px;
}
.node-bookingform .webform-component--step6 .webform-component--step6--paiement-acompte .form-radios .method.disabled .inner {
  border: 1px solid #ffffff;
}
.node-bookingform .webform-component--step6 .webform-component--step6--paiement-acompte .form-radios label {
  text-transform: uppercase;
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 800;
  font-size: 14px;
  line-height: 20px;
  cursor: pointer;
  margin: 0px;
  display: block;
  padding: 0px 0px 0px 25px;
}
.node-bookingform .webform-component--step6 .webform-component--step6--paiement-acompte .form-radios label.option:before {
  margin-right: 4px;
  margin-left: -23px;
}
.node-bookingform .webform-component--step6 .webform-component--step6--paiement-acompte .form-radios .method.disabled label::before {
  background-color: #ededed;
  background-image: none;
}
.node-bookingform .webform-component--step6 .webform-component--step6--paiement-acompte .form-radios .method .information {
  padding: 0px 25px;
  width: 220px;
}
.node-bookingform .webform-component--step6 .webform-component--step6--paiement-acompte .form-radios .method .information img {
  height: 25px;
  display: inline-block;
  margin: 0px 5px;
}

/* STEP confirmation */
.node-bookingform .webform-component--step-confirmation {
  padding: 0px;
}
.node-bookingform .webform-component--step-confirmation fieldset.group-col-1,
.node-bookingform.node-bookingform.webform-client-form .webform-confirmation fieldset.group-col-1 {
  padding: 25px 32px;
  width: 100%;
  text-transform: uppercase;
}
.node-bookingform .webform-component--step-confirmation fieldset.group-col-2 {
  width: 265px;
  background-color: #ff8d7a;
  display: block;
  float: none;
  height: 100%;
  margin: 0px;
  padding: 25px;
  color: #ffffff;
  position: absolute;
  right: 0px;
}
.node-bookingform .webform-component--step-confirmation .confirmation-message {
  color: #999999;
  font-size: 16px;
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  line-height: 50px;
  vertical-align: middle;
  margin-bottom: 40px;
}
.node-bookingform .webform-component--step-confirmation .confirmation-message .icon-valid3 {
  float: left;
  margin-right: 10px;
  color: #ff8d7a;
  font-size: 50px;
}
.node-bookingform .webform-component--step-confirmation .confirmation-mail {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 800;
  color: #ff8d7a;
  margin-bottom: 30px;
}
.node-bookingform .webform-component--step-confirmation fieldset.group-col-1 .button-primary {
  min-width: 240px;
  margin-right: 10px;
  text-align: center;
}
.node-bookingform .webform-component--step-confirmation fieldset.group-col-2 .strong {
  text-transform: uppercase;
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  line-height:16px;
  font-size: 15px;
  margin-bottom: 20px;
}
.node-bookingform .webform-component--step-confirmation fieldset.group-col-2 .reservation-infos {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  margin-bottom: 40px;
  line-height:16px;
  font-size: 12px;
}
.node-bookingform .webform-component--step-confirmation fieldset.group-col-2 .address-info {
  line-height:20px;
  font-size: 12px;
}
.node-bookingform .webform-component--step-confirmation fieldset.group-col-2 .address-info-title {
  text-transform: uppercase;
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 800;
  margin-bottom: 10px;
}

  /** ------------------------------------------------------------------- *
   *                           INLINE DATEPICKER                         */
.ui-datepicker.ui-datepicker-inline {
  padding: 30px;
}
.ui-datepicker.ui-datepicker-inline,
.ui-datepicker.ui-datepicker-inline table,
.ui-datepicker.ui-datepicker-inline thead,
.ui-datepicker.ui-datepicker-inline tr,
.ui-datepicker.ui-datepicker-inline td,
.ui-datepicker.ui-datepicker-inline th,
.ui-datepicker.ui-datepicker-inline .ui-state-default {
  border: none;
  background: none;
}
.ui-datepicker.ui-datepicker-inline td a {
  padding: 7px 0px;
  margin: 3px 0px;
}
.ui-datepicker.ui-datepicker-inline .ui-datepicker-header {
  border: none;
  padding-bottom: 10px;
  background: none;
  text-transform: capitalize;
  display: inline-block;
}

.ui-datepicker.ui-datepicker-inline .ui-datepicker-title {
  text-align: center;
  display: block;
}
.ui-datepicker.ui-datepicker-inline .ui-datepicker-prev span,
.ui-datepicker.ui-datepicker-inline .ui-datepicker-next span {
  background: none;
}
.ui-datepicker.ui-datepicker-inline .ui-datepicker-prev:after {
  content: "\00AB";
}
.ui-datepicker.ui-datepicker-inline .ui-datepicker-next:after {
  content: "\00BB";
}
.ui-datepicker.ui-datepicker-inline .ui-datepicker-prev.ui-state-hover:after,
.ui-datepicker.ui-datepicker-inline .ui-datepicker-next.ui-state-hover:after {
  font-weight: bold;
}
.ui-datepicker.ui-datepicker-inline .ui-datepicker-calendar .ui-state-hover,
.ui-datepicker.ui-datepicker-inline .ui-datepicker-calendar td.ui-state-active {
  background: none;
  border: none;
  background-color: #FF8D7A;
}
.ui-datepicker.ui-datepicker-inline .ui-datepicker-header .ui-state-hover,
.ui-datepicker.ui-datepicker-inline .ui-datepicker-header .ui-state-hover span {
  background: none;
  border: none;
}
.ui-datepicker.ui-datepicker-inline .ui-datepicker-unselectable,
.ui-datepicker.ui-datepicker-inline .ui-datepicker-unselectable span {
  color: #555555;
}
.ui-datepicker.ui-datepicker-inline .ui-datepicker-unselectable {
  padding: 8px 0px;
  margin: 5px 0px;
}
/*#ui-datepicker-div.ui-widget-content { !* force datepicker position on top of field for contact form *!*/
  /*position: relative !important;*/
  /*top: -315px !important;*/
/*}*/
/** WEBFORM PROGRESS BAR **/
.webform-client-form .infos-generales {
  width: 15%;
  float: left;
  margin-bottom: 0px;
  height: 60px;
}
.custom-webform-progressbar {
  display: table;
  width: 85%;
  table-layout: fixed;
  margin-bottom: 20px;
}
.custom-webform-progressbar-outer {
  display: table-row;
  width: 100%;
}
.custom-webform-progressbar-outer i.icon-circle {
  display: table-cell;
  width: 10px;
  vertical-align: middle;
  border-bottom: 8px solid #ededed;
  color: #ffac9e;
  font-size: 7px;
}
.custom-webform-progressbar-outer i.icon-circle:last-of-type {
  display: none;
}
.custom-webform-progressbar-inner {
  display: none;
}
.custom-webform-progressbar-page {
  display: table-cell;
  text-align: center;
  height: 55px;
  vertical-align: middle;
  border-bottom: 8px solid #ededed;
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  color: #ffac9e;
  text-transform: uppercase;
  font-size: 14px;
  line-height: 16px;
}
.custom-webform-progressbar-page.current {
  border-bottom: 8px solid #ff8d7a;
  color: #ff8d7a;
}
.custom-webform-progressbar-page-number {
  display: none;
}
.custom-webform-progressbar-page-label {
  width: 110px;
  display: inline-block;
}
.node-bookingform.webform-client-form .form-actions {
  display: block;
  height: 60px;
}
.node-bookingform.webform-client-form .form-actions button.webform-next,
.node-bookingform.webform-client-form .form-actions button.webform-submit {
  float: right;
}
.node-bookingform.webform-client-form .form-actions button.webform-next + .ajax-progress.ajax-progress-throbber,
.node-bookingform.webform-client-form .form-actions button.webform-submit + .ajax-progress.ajax-progress-throbber {
  float: right;
}
.pac-container {
  z-index: 3000;
}
/* EU Cookie compliance */
#sliding-popup {
  background-color: rgba(0,0,0,0.5);
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
#sliding-popup .popup-content {
  background-color: #fff;
  display: flex;
  flex-direction: column;
  max-width: 80%;
  margin: auto;
  margin-top: 10%;
  padding: 2% 5%;
  font-size: 1rem;
  line-height: 1.6;
}
@media (min-width: 768px) {
  #sliding-popup .popup-content {
    max-width: 770px;
  }
}
#sliding-popup .popup-content #popup-text,
#sliding-popup .popup-content #popup-buttons {
  max-width: 100%;
  text-align: center;
}
#sliding-popup .popup-content #popup-text img {
  margin: 30px auto;
}
#sliding-popup .agree-button {
  min-width: 30%;
  margin-top: 30px;
  margin-bottom: 15px;
}
#sliding-popup .decline-button {
  border: none;
  background: none;
  color: #333;
  font-size: 14px;
}