/* Wrapper */
.gform_wrapper {
  margin:100px auto !important;
  max-width: 980px !important;
  text-align: center;
}

.gform_wrapper .gform_heading {
  text-align: center;
  max-width: 800px;
  margin: 0 auto;
}

.gform_wrapper .gform_title {
  text-transform: uppercase;
  letter-spacing: 0.08em !important;
  margin:0 0 35px 0 !important;
}

.gform_wrapper .gf_page_steps {
  border-bottom: none !important;
  margin:0 0 5px 0 !important;
}

.gform_wrapper .gf_page_steps .gf_step_active {
  color:#9EBD9B;
  font-weight: 600;
}

/* Confirmation */
.gform_confirmation_wrapper  {
  margin:100px auto !important;
  max-width: 980px !important;
  text-align: center;
}

/* Section */
.gform_wrapper .gsection  {
  text-align: center;
  margin: 0 0 55px 0 !important;
  padding:0 !important;
  border:none !important;
}

.gform_wrapper .gsection_title {
  color:#9EBD9B;
  text-transform: uppercase;
  letter-spacing: 0.08em !important;
  font-size: 14px !important;  
}

.gform_wrapper .gsection_description {
  margin:25px 0 0 0 !important;
  letter-spacing: 0.08em !important;
  font-size: 14px !important;  
}


/* Page */
.gform_wrapper .gform_page {  
  border-top: 1px solid #5B6670;
  padding:45px 0 0 0;
}


/* Fields */
.gform_wrapper li.gfield {
  padding:0 !important;
}

.gform_wrapper .ginput_container {
  background: #F2F2F3;
}

.gform_wrapper .ginput_container_date {
  background: #F2F2F3;
  position: relative;  
}

.gform_wrapper .ginput_container_date:after {
  content: '';
  background: url(../images/ico-calendar.svg) no-repeat;
  width: 20px;
  height: 20px;
  position: absolute;
  top: 50%;
  right: 22px;
  margin-top: -10px;
  z-index: 5;
}


/* Select */
.gform_wrapper select {
  /* A reset of styles, including removing the default dropdown arrow */
  appearance: none;
  background-color: transparent;
  border: none;
  padding: 28px 20px 28px 40px !important;
  margin: 0;
  width: 100% !important;
  max-width: 100% !important;
  font-family: inherit;
  font-size: 16px !important;
  color:inherit;
  cursor: inherit;
  line-height: inherit;

  /* Stack above custom arrow */
  z-index: 1;

  /* Remove focus outline, will add on alternate element */
  outline: none;
}

.gform_wrapper select::-ms-expand {
  display: none;
}

.gform_wrapper .select {
  display: grid;
  grid-template-areas: "select";
  align-items: center;
  position: relative;  
  max-width: 100% !important;
  border: 1px solid var(blue);
  border-radius: 0.25em;
  padding: 0.25em 0.5em;
  font-size: 16px;
  cursor: pointer;
  line-height: 1.1;

  /* Optional styles */
  /* remove for transparency */
  /* background-color: #fff;
  background-image: linear-gradient(to top, #f9f9f9, #fff 33%); */
}

.gform_wrapper .ginput_container_select {
  background:#F2F2F3;
  margin-top:0 !important;
}

.gform_wrapper .select select,
.gform_wrapper .select select:after {
  grid-area: select;
}

.gform_wrapper .select:not(.select--multiple)::after {
  content: "";
  justify-self: end;
  width: 0.8em;
  height: 0.5em;
  /* background-color: blue;
  clip-path: polygon(100% 0%, 0 0%, 50% 100%);   */
  background:url(../images/arrow_down_grey.svg) no-repeat;
  background-position: center right;
  position: absolute;
  top: 39px;
  right: 30px;
}

.gform_wrapper select:focus + .focus {
  position: absolute;
  top: -1px;
  left: -1px;
  right: -1px;
  bottom: -1px;
  border: 2px solid blue;
  border-radius: inherit;
}

.gform_wrapper select[multiple] {
  padding-right: 0;

  /*
   * Safari will not reveal an option
   * unless the select height has room to 
   * show all of it
   * Firefox and Chrome allow showing 
   * a partial option
   */
  height: 6rem;
}

.gform_wrapper select option {
  white-space: normal;    
  /* outline-color: blue;
  background: red; */
  padding:5px;
}

.gform_wrapper .select--disabled {
  cursor: not-allowed;
  background-color: #eee;
  background-image: linear-gradient(to top, #ddd, #eee 33%);
}

.gform_wrapper label {
  font-size: 1.125rem;
  font-weight: 500;
}

.gform_wrapper .select + label {
  margin-top: 2rem;
}





/* Inputs */
.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper textarea {
  border: none !important;
  background: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 30px 20px 30px 40px !important;
  height: 100% !important;
  z-index:10;
  position: relative;
}

/* Radiobuttons */
.gform_wrapper .radiobuttons-blocked .ginput_container {
  background: none;
}

.gform_wrapper .radiobuttons-blocked .ginput_container_radio ul {
  margin:0 !important;
  width: 100% !important;
}

.gform_wrapper .radiobuttons-blocked .ginput_container_radio li {
  margin-bottom: 16px !important;
}

.gform_wrapper .radiobuttons-blocked .ginput_container_radio input {
  position: absolute;
  visibility: hidden;
}

.gform_wrapper .radiobuttons-blocked .ginput_container_radio label {
  border: 1px solid #9EBD9B;
  display: block !important;
  text-align: center;
  color:#9EBD9B;
  padding:21px 20px !important;
  margin:0 !important;
  width:100% !important;  
  max-width:100% !important;  
  text-transform: uppercase;
  font-weight: 600;
  /* no text select */
  -webkit-touch-callout: none; 
  -webkit-user-select: none; 
  -khtml-user-select: none; 
  -moz-user-select: none; 
  -ms-user-select: none; 
  user-select: none; 
}

.gform_wrapper .radiobuttons-blocked .ginput_container_radio input[type="radio"]:checked+label {
  background: #9EBD9B;
  color:#fff;
}

.gform_wrapper .radiobuttons-blocked .ginput_container_radio label:hover {
  background:#f1f5f0;  
}

.gform_wrapper .radiobuttons-inline .ginput_container {
  background: none;
}

.gform_wrapper .radiobuttons-inline ul.gfield_radio {
  display: flex;
}

.gform_wrapper .radiobuttons-inline ul.gfield_radio li {
  margin-left: 34px !important;
}

.gform_wrapper .radiobuttons-inline ul.gfield_radio li:first-child {
  margin-left:0 !important;
}

.gform_wrapper .radiobuttons-inline ul.gfield_radio li input {
  margin: 0 5px 0 0 !important;
}


/* Treatments */
.gform_wrapper .form-treatment-section {
  margin-bottom: 18px !important;
}

.gform_wrapper .form-treatment-section .gsection_title {
  border: 1px solid #9EBD9B;
  display: block !important;
  text-align: center;
  color:#9EBD9B;
  padding:23px 20px !important;
  margin:0 !important;
  width:100% !important;  
  max-width:100% !important;  
  text-transform: uppercase;
  font-weight: 600;
  cursor: pointer;
  /* no text select */
  -webkit-touch-callout: none; 
  -webkit-user-select: none; 
  -khtml-user-select: none; 
  -moz-user-select: none; 
  -ms-user-select: none; 
  user-select: none; 
}

.gform_wrapper .form-treatment-section .gsection_title:hover {
  background:#f1f5f0;
}

.gform_wrapper .form-treatment-section .gsection_title.active {
  background: #9EBD9B;
  color:#fff;
}

.gform_wrapper li.gfield.form-treatment-fields {
  display: none;
  margin-top:-18px !important;
  padding: 40px 100px !important;
  background: #f1f5f0 !important;
}

.gform_wrapper li.gfield.form-treatment-fields.active {
  display: block;
}

.gform_wrapper li.gfield.form-treatment-fields .ginput_container {
  background: none !important;
}

.gform_wrapper .form-treatment-fields > .gfield_label {
  text-transform: uppercase;
  font-weight: 600;
  font-size: 14px;
  letter-spacing: 0.08em !important;
}

.gform_wrapper .form-treatment-fields .gfield_checkbox {
  display: flex;
  flex-wrap:wrap;
  width: 100% !important;
}

.gform_wrapper .form-treatment-fields .gfield_checkbox li {
  width: 50%;
}

.gform_wrapper .form-treatment-fields .gfield_checkbox input {
  margin:0 11px 0 0 !important;
}

.gform_wrapper .form-treatment-fields .gfield_checkbox input:checked+label {
  font-weight: 500 !important;
}


/* Footer */
.gform_wrapper .gform_footer {
  margin:50px auto 50px auto !important;
  text-align: center;  
  position: relative;
}

.gform_wrapper .gform_page_footer {
  border:none !important;
  margin:50px auto 50px auto !important;
  text-align: center;
  padding:100px 0 0 0 !important;
  border-top: 1px solid #5B6670 !important;
  position: relative;
}

.gform_wrapper .button {
  background: #9EBD9B;
  text-align: center;
  text-transform: uppercase;
  font-weight: 600;
  letter-spacing: 0.08em !important;
  color:#fff;
  padding:10px 20px;
  min-width:200px;
  border:none;
  transition:0.3s;
}

.gform_wrapper .gform_next_button {
  margin-right: 0 !important;
}

.gform_wrapper .button:hover,
.gform_wrapper .gform_previous_button {
  background-color: #37424C;
  text-decoration: none;
  opacity: 1 !important;
}

.gform_ajax_spinner {  
	border: 4px solid rgba(255, 255, 255, 0.3);
	border-left: 4px solid rgba(158,189,155, 0.7);
	animation: spinner 1.1s infinite linear;
	border-radius: 50%;
	width: 30px;
  height: 30px;
  z-index: 9999;
  position: relative;
  display: block !important;
  margin: 0 0 0 -15px !important;
  position: absolute;
  left: 50%;
  bottom: -50px;
}

@keyframes spinner {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}

/* Validation */
.gform_wrapper .gfield.gfield_error {
  max-width: 100% !important;
  background: none !important;
  border:none !important;
}

.gform_wrapper .validation_error {
  color:#cc0000 !important;
  border-color: #cc0000 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}

.gform_wrapper .validation_message {
  color:#cc0000 !important;
  padding:7px 5px !important;
  /* text-align: center; */
}


/* Datepicker */
.ui-datepicker-header {
  background: #5B6670 !important;
  padding:5px 10px !important;
}

.ui-datepicker-calendar .ui-state-default {
  box-shadow:none !important;
  text-shadow:none !important;
}

.ui-datepicker-calendar .ui-state-hover {
  background:#5B6670 !important;  
  color: #fff !important;
  font-weight: normal !important;
}

.ui-datepicker-calendar .ui-state-active {
  background: #9EBD9B !important;
  color: #fff !important;
  border:none !important;
  margin:0 !important;
}

.ui-datepicker td a, 
.ui-datepicker td span {
  font-weight: normal !important;
}


/* Booking Form */
.form-booking .field-locations ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.form-booking .field-locations li {
  width: 49%;
}

/* Contact Form */
.form-contact .gform_heading {
  margin-bottom: 58px !important;
}








@media screen and (max-width: 991px) {
  
}


@media screen and (max-width: 767px) {
  .gform_wrapper .gf_step {
    display: inline;
  }

  .gform_wrapper li.gfield.form-treatment-fields {
    padding:10px 25px !important;
  }

}


@media screen and (max-width: 575px) {
  .gform_wrapper {
    padding:0 20px;
  }

  .gform_wrapper .gform_page_footer {
    position: relative;
    margin:20px auto 20px auto !important;
    padding-top: 50px !important;
  }

  .form-booking .field-locations ul {
    display: block;    
  }
  
  .form-booking .field-locations li {
    width: auto;
  }
}