/*
Theme Name: Divi Child Theme
Template: Divi
*/

@font-face {
  font-family: 'Adobe Jenson Pro';
  src: url('./adobe_jenson_pro_light_italic-webfont.woff') format('woff'),
      url('adobe_jenson_pro_light_italic-webfont.woff2') format('woff2');
  font-style: italic;
  font-display: swap;
  font-weight: 300;
}

#private-form {
  background: #efebe0;
  padding: 15px;
  width: 100%;
  color: #4d4d4d;
}

#private-form .form-wrap {
  border: 1px solid #cfcdc3;
  padding: 32px 15px 26px 15px;
}

#private-form .form-title {
  text-transform: uppercase;
  text-align: center;
  font-size: 17px;
  position: relative;
  font-family: 'DM Sans', Helvetica, Arial, Lucida, sans-serif;
  font-weight: 300;
  letter-spacing: 0.33em;
}

#private-form .form-title strong {
  text-transform: none;
  display: block;
  margin: 0 auto;
  font-family: 'Adobe Jenson Pro';
  font-style: italic;
  font-weight: 300;
  font-size: 47px;
  letter-spacing: 0;
  margin-top: 20px;
}

#private-form .form-title::after {
  content: '';
  position: absolute;
  bottom: -10px;
  left: 50%;
  transform: translateX(-50%);
  width: 32px;
  height: 2px;
  background: #cfcdc3;
}

#private-form .limited {
  margin-top: 23px;
  font-family: 'Adobe Jenson Pro';
  font-style: italic;
  font-weight: 300;
  text-align: center;
  font-size: 21px;
}

#private-form form input {
  background: transparent;
  border: none;
  border-bottom: 1px solid #d4d1c8;
  padding: 0;
  box-shadow: none;
  font-size: 17px;
}

#private-form form label,
#private-form form .frm_description {
  text-transform: uppercase;
  font-size: 13px;
  color: #4d4d4d;
  font-family: 'DM Sans', Helvetica, Arial, Lucida, sans-serif;
  font-weight: 400;
  letter-spacing: 0.28em;
}

#private-form .frm_error {
  color: #dc3545;
  order: 3;
}

#private-form form label {
  margin-bottom: 28px;
}

#private-form form label a {
  font-size: 13px;
  color: #4d4d4d;
  font-family: 'DM Sans', Helvetica, Arial, Lucida, sans-serif;
  font-weight: 400;
  text-decoration: underline;
  cursor: pointer;
}

#private-form .vertical_radio label {
  text-transform: none;
  letter-spacing: 0;
}

#private-form .vertical_radio input {
  position: relative;
  bottom: -2px;
}

#private-form form button[type="submit"] {
  color: #f4f2e4;
  background: #293131;
  text-align: center;
  height: 54px;
  line-height: 54px;
  width: 100%;
  display: block;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  margin-top: 11px;
  font-family: 'DM Sans', Helvetica, Arial, Lucida, sans-serif;
  font-weight: 300;
  letter-spacing: 0.33em;
  border: none;
  outline: none;
  cursor: pointer;
  position: relative;
}

#private-form .frm_forms {
  width: 100%;
  max-width: 420px;
  margin: 36px auto 0 auto;
}

#private-form form .frm_form_field {
  display: flex;
  flex-direction: column;
}

#private-form form .frm_combo_inputs_container .frm_form_field .frm_description {
  order: 1;
  margin-bottom: 26px;
}

#private-form form .frm_combo_inputs_container .frm_form_field input {
  order: 2;
}

#private-form .frm_combo_inputs_container,
#private-form .frm_grid_container,
#private-form .frm_form_fields .frm_section_heading,
#private-form .frm_form_fields .frm_fields_container {
  grid-gap: 21px 5%;
}

#private-form .frm_message {
  text-align: center;
}

#private-form form.frm_loading_form button[type="submit"] {
  color: transparent;
  cursor: unset;
  opacity: 0.8;
}

.frm_loading_prev .frm_prev_page::before,
.frm_loading_form .frm_button_submit:before {
  content: '';
  display: inline-block;
  position: absolute;
  background: transparent;
  border: 1px solid #f4f2e4;
  border-top-color: transparent;
  border-left-color: transparent;
  border-radius: 50%;
  box-sizing: border-box;
  top: 50%;
  left: 50%;
  margin-top: -6px;
  margin-left: -6px;
  width: 12px;
  height: 12px;
  animation: spin 2s linear infinite;
}

.frm_loading_prev .frm_prev_page:before,
.frm_loading_form .frm_button_submit:before {
  border-bottom-color: #f4f2e4;
  border-right-color: #f4f2e4;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

@media screen and (max-width: 768px ) {
  #private-form form label,
  #private-form form .frm_combo_inputs_container .frm_form_field .frm_description {
    margin-bottom: 5px;
  }

  #private-form form .frm_form_field {
    grid-column: span 12;
  }
}

@media screen and (max-width: 567px ) {
  #private-form .form-title {
    font-size: 13px;
  }

  #private-form .form-title strong {
    font-size: 38px;
  }
}

@media screen and (max-width: 380px ) {
  #private-form .form-title {
    font-size: 12px;
  }

  #private-form .form-title strong {
    font-size: 34px;
  }
}