/* *********************************** */
/* ***** GRAVITY STYLES FOR AP ****** */
/* *********************************** */



/* ******************* */
/* GENERIC LABEL & INPUT */
/* ******************* */

body .gform_wrapper .gform_body .gform_fields Legend.gfield_label, body .gform_wrapper .gform_body .gform_fields Label.gfield_label {
    font-family: "FS Me", sans-serif;
    font-size: 1.3rem !important;
    line-height: 100%  !important;
    font-weight: 700 !important;
    color: #182F58 !important;
    margin-bottom: 4px !important;
}

body .gform_wrapper .gform_body input, body .gform_wrapper .gform_body textarea {
    font-family: "FS Me", sans-serif;
    font-size: 1.3rem !important;
    line-height: 100%  !important;
    color: #182F58 !important;
    border-radius: 8px !important;
    padding: 10px !important;
    border: 0 !important;
    margin-top: 4px !important;
}

body .gform_wrapper .description, body .gform_wrapper .gfield_description, body .gform_wrapper .gsection_description, body .gform_wrapper .instruction {
    font-family: "FS Me", sans-serif;
    font-size: 1.2rem !important;
    color: #182F58 !important;
    padding: 0 !important;
}
body .gform_wrapper .description, body .gform_wrapper .ginput_counter {
    font-family: "FS Me", sans-serif;
    font-size: 1.2rem !important;
    color: #182F58 !important;
    padding-top: 4px !important;
    padding-left: 4px !important;
}

/* ******************* */
/* GENERIC SPACING */
/* ******************* */

body .gform_wrapper .gform_body .gform_fields {
  grid-row-gap: 36px;
}

body .gform_wrapper .gform_body .gform_fields .ginput_complex label {
    margin-top: 0.5em !important;
}


/* ****************** */
/* REQUIRED INDICATOR */
/* ****************** */

body .gform_wrapper .gform_heading .gform_required_legend {
    display: none !important;
}

body .gform_wrapper .gform_body .gfield_required_asterisk {
    font-family: "FS Me" !important;
    color: #182F58 !important;
    font-size: 22px  !important; 
}


/* ******************* */
/* SECTION BREAKS */
/* ******************* */

body .gform_wrapper .gform_body .gform_fields .gsection {
    border-bottom: none;
}


/* Sections that are the first field in their form */
body .gform_wrapper .gform_body .gform_fields .gsection:first-child {
    border-bottom: none;
}

body .gform_wrapper .gform_body .gform_fields .gsection:not(:first-child) {
    margin-top:44px;
    padding-top: 24px;
    border-top: 4px dashed #253e4aaa;
    border-bottom: none;
}

body .gform_wrapper.gform_body .gform_fields .gsection_description {
    font-family: "FS Me", sans-serif;
    font-size: 1.3rem !important;
    color: #182F58 !important;
}


/* ******************* */
/* PAGING */
/* ******************* */

body .gform_wrapper.gravity-theme .gf_progressbar_title {
    color: #182F58 !important;
    font-size: 0.875rem !important;
}

body .gform_wrapper.gravity-theme .gf_progressbar {
    background-color: #FEF9CE !important;
    margin-bottom: 2em !important;
}

body .gform_wrapper.gravity-theme .gf_progressbar .gf_progressbar_percentage {
    background-color: #099F6D !important;
}

body .gform_wrapper.gravity-theme .gf_progressbar .gf_progressbar_percentage span {
    color: #182F58 !important;
}


/* ******************* */
/* CHECK BOX */
/* ******************* */

body .gform_wrapper .gform_body .gform_fields .gfield .gfield_checkbox {
    border: none;
}

body .gform_wrapper .gform_body .gform_fields .gfield .gfield_checkbox .gform-field-label {
    font-size: 1.3rem;
    font-weight: 500;
    padding-top: 8px;
}


body .gform_wrapper .gform_body .gform_fields .gfield .gfield_checkbox .gchoice {
    display: grid;
    grid-template-columns: 44px auto;
    gap: 0.5em;
    margin-bottom: 0.5em;
}

body .gform_wrapper .gform_body .gform_fields .gfield .gfield_checkbox label {
    max-width: 100%;
}

#ap_newsletter_checkbox_field .optional {
    display: none;
}

body .gform_wrapper .gform_body .gform_fields .gfield .gfield_checkbox input[type=checkbox] {
    appearance: none;
    color: #182F58;
    width: 32px;
    height: 32px;
    background-color: #fff;
    border-radius: 4px;
    display: grid;
    place-content: center;
}

body .gform_wrapper .gform_body .gform_fields .gfield .gfield_checkbox input[type=checkbox]::before {
    content: "";
    width: 24px;
    height: 24px;
    clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
    transform: scale(0);
    transform-origin: bottom left;
    transition: 120ms transform ease-in-out;
    box-shadow: inset 1em 1em;

}

body .gform_wrapper .gform_body .gform_fields .gfield .gfield_checkbox input[type=checkbox]:checked::before {
  transform: scale(1);
}

body .gform_wrapper .gform_body .gform_fields .gfield .gfield_checkbox input[type=checkbox]:hover {
  border: 3px solid #182F58 !important;
}



/* ******************* */
/* RADIO BUTTONS */
/* ******************* */


body .gform_wrapper .gform_body .gform_fields .gfield .gfield_radio {
    border: none;
}

body .gform_wrapper .gform_body .gform_fields .gfield .gfield_radio .gform-field-label {
    font-size: 1.2rem;
    font-weight: 500;
    padding-top: 8px !important;
}

body .gform_wrapper .gform_body .gform_fields .gfield .gfield_radio .gchoice {
    display: grid;
    grid-template-columns: 44px auto;
    gap: 0.5em;
    margin-bottom: 0.5em;
}

body .gform_wrapper .gform_body .gform_fields .gfield .gfield_radio label {
    width: 100%;
    max-width: 100%;
}

body .gform_wrapper .gform_body .gform_fields .gfield .gfield_radio input[type=radio] {
    appearance: none;
    -webkit-appearance: none;
    color: #182F58;
    width: 28px;
    height: 28px;
    background-color: #fff;
    border: 2px solid #182F58;
    border-radius: 50% !important;
    display: grid;
    place-content: center;
}

body .gform_wrapper .gform_body .gform_fields .gfield .gfield_radio input[type=radio]::before {
    content: "";
    width: 14px;
    height: 14px;
    border-radius: 50%;
    transform: scale(0);
    transition: 120ms transform ease-in-out;
    box-shadow: inset 1em 1em;
}

body .gform_wrapper .gform_body .gform_fields .gfield .gfield_radio input[type=radio]:checked::before {
  transform: scale(1);
}

body .gform_wrapper .gform_body .gform_fields .gfield .gfield_radio input[type=radio]:hover {
  outline: 3px solid #182F58;
  outline-offset: 0px;
}


.gform_wrapper.gravity-theme .gfield.gf_list_2col .gfield_checkbox, .gform_wrapper.gravity-theme .gfield.gf_list_2col .gfield_radio {
    
    grid-row-gap: 12px;
}


/* ******************* */
/* SELECT FIELD */
/* ******************* */
/*
body .gform_wrapper .gform_body .gform_fields .gfield:not(.gfield--type-address) select {
  box-sizing: border-box;
  appearance: none;
  background-color: transparent;
  border: none !important;
  margin: 0;
  padding: 0;
  width: 100%;
  font-family: inherit;
  font-size: inherit;
  cursor: inherit;
  line-height: inherit;
  z-index: 1;
  outline: none !important;
  &::-ms-expand {
    display: none;
  }
}
*/
body .gform_wrapper .gform_body .gform_fields .gfield select {
  box-sizing: border-box;
  appearance: none;
  background-color: transparent;
  border: none !important;
  margin: 0;
  padding: 0;
  width: 100%;
  font-family: inherit;
  font-size: inherit;
  cursor: inherit;
  line-height: inherit;
  z-index: 1;
  outline: none !important;
  &::-ms-expand {
    display: none;
  }


}



body .gform_wrapper .gform_body .gform_fields .gfield .ginput_container_select {
    box-sizing: border-box;
    display: grid;
    grid-template-areas: "select";
    align-items: center;
    position: relative;
    
    select, 
    &::after {
      grid-area: select;
    }
    
    min-width: 15ch;
    max-width: 100%;
    border: none;
    border-radius: 4px;
    padding: 0.8em;

    font-size: 1.2rem;
    font-weight: 400;
    cursor: pointer;
    line-height: 1.2;
    background-color: #fff;
    
    &::after {
      content: "";
      justify-self: end;
      width: 1.2em;
      height: 0.8em;
      background-color: #182F58;
      clip-path: polygon(100% 0%, 0 0%, 50% 100%);
    }
    &:focus-within {
        outline: 3px solid #78AEF2;
    }
}

/*
body .gform_wrapper .gform_body .gform_fields .gfield .ginput_address_country select {
    min-width: 15ch;
    max-width: 100%;
    border: none;
    border-radius: 4px;
    padding: 0.8em;

    font-size: 1.2rem;
    font-weight: 400;
    cursor: pointer;
    line-height: 1.2;
    background-color: #fff;
}
*/

/* ******************* */
/* DATE FIELD */
/* ******************* */

body .gform_wrapper .gform_body .gfield--type-date .ginput_complex {
    width: 40ch;
    display: grid !important;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 12px;
    margin-top: 4px;
}

body .gform_wrapper .ginput_complex .ginput_container_date {
    max-width: 100% !important;
    margin-left: 0 !important;
}

body .gform_wrapper .gform_body .gfield--type-date .ginput_complex select {
    width: 12ch !important;
    background: white !important;
        font-family: "FS Me" !important;
    color: #182F58 !important;
    font-size: 22px  !important;
    font-weight: 700  !important;
    padding: 8px 12px !important;
    border-radius: 8px;
    
}



/* ******************* */
/* TIME FIELD */
/* ******************* */

body .gform_wrapper .gform_body .gform_fields .gfield--type-time .ginput_container {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
    gap: 12px;
}

body .gform_wrapper .gform_body .gform_fields .gfield--type-time .ginput_container .hour_minute_colon {
    font-size: 1.2rem;
    font-weight: 600;
}

body .gform_wrapper .gform_body .gform_fields .gfield--type-time .ginput_container .gfield_time_ampm {
    font-size: 1.2rem;
    font-weight: 600;
    display: grid;
    grid-template-areas: "select";
    align-items: center;
    position: relative;
    min-width: 5ch;
    background-color: #fff;
    border: 2px solid #182F58;
    border-radius: 4px;
    padding: 12px 8px;
}

body .gform_wrapper .gform_body .gform_fields .gfield--type-time .ginput_container .gfield_time_ampm::after {
    content: "";
    grid-area: select;
    justify-self: end;
    width: 0.8em;
    height: 0.5em;
    background-color: #182F58;
    clip-path: polygon(100% 0%, 0 0%, 50% 100%);
}



/* ************************** */
/* FOOTER: submit buttons etc */
/* ************************** */


body .gform_wrapper .gform_footer {
    margin-top: 32px !important;
    margin-bottom: 0 !important;
}

body .gform_wrapper .gform_footer .gform_next_button, body .gform_wrapper .gform_footer .gform_previous_button, body .gform_wrapper .gform_footer .gform_button, body .gform_wrapper .gform-page-footer .gform_next_button, body .gform_wrapper .gform-page-footer .gform_previous_button, body .gform_wrapper .gform-page-footer .gform_button {
    background-color: #182F58 !important;
    color: #ffffff !important;
    font-size: 1.3rem !important;
    line-height: 100%  !important;
    padding: 8px 16px !important;
    min-width: 10ch !important;
    border-radius: 30px !important;
}

/* ******************* */
/* READ ONLY FIELDS */
/* ******************* */

body .gform_wrapper .gform_body .gform_fields .ap_read_only_field {
    width: 100%;
    display: flex;
    column-gap: 12px;
    justify-items: start;
    align-items: center;
}

body .gform_wrapper .gform_body .gform_fields .ap_read_only_field .gform-field-label {
    font-weight: 700 !important;
    line-height: 1em;
    margin: 0;
}

body .gform_wrapper .gform_body .gform_fields .ap_read_only_field input {
    width: 100% !important;
    border: 0;
    padding: 0;
    margin: 0 !important;
    background-color: transparent;
    line-height: 1em;
}

body .gform_wrapper .gform_body .gform_fields .ap_read_only_field .ginput_container {
    width: 100% !important;
}



/* ******************* */
/* INDENTED FIELDS */
/* ******************* */


body .gform_wrapper .gform_body .gform_fields .ap_indent_sub_q {
    margin-top: -20px;
    padding: 0 0 0 calc(44px + 0.5em);
}
body .gform_wrapper .gform_body .gform_fields .ap_indent_sub_q legend {
    padding-top: 20px;
}


body .gform_wrapper .gform_body .gform_fields .gform_drop_area {
    background-color: #FEF9CE;
}

/* ************************************ */
/* POST-SUBMISSION CONFIRMATION MESSAGE */
/* ************************************ */

body .gform_confirmation_wrapper {
    margin-top: 24px;
    margin-bottom: 48px;
    font-weight: 700;
}


/* ************************************ */
/* POST-SUBMISSION VALIDATION ERROR */
/* ************************************ */


body .gform_wrapper .gform_body .gform_fields .gfield_error {
    outline: 3px dashed red;
    outline-offset: 12px;
}

body .gform_wrapper .gform_body .gform_fields .gfield_error .gfield_validation_message {
   font-weight: 700;
   color: #cc0000;
   margin-top: 6px;
}



/* ************************************ */
/* ************************************ */
/* MOBILE */
/* ************************************ */
/* ************************************ */



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

body .gform_wrapper .gform_body  label, body .gform_wrapper .gform_body  legend {
    font-size: 18px  !important;
    margin-bottom: 4px !important;
}

body .gform_wrapper .gform_body  input, body .gform_wrapper .gform_body  textarea {
    font-size: 18px  !important;
    padding: 10px !important;
    margin-top: 0px;
    margin-bottom: 8px;
}

body .gform_wrapper .gform_body .gfield--type-date .ginput_complex {
    width: 100% !important;
    grid-template-columns: 1fr !important;
    gap: 18px;
    padding-top: 12px;
}

body .gform_wrapper .gform_body  .gform_wrapper.gravity-theme .ginput_container_date + .ginput_container_date {
    margin-left: 0 !important;
}

body .gform_wrapper .gform_body .gform_fields .ap_read_only_field {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr !important;
    column-gap: 12px;
    justify-items: start;
    align-items: start;
}

body .gform_wrapper .gform_body .gform_fields .ap_indent_sub_q {
    margin-top: -20px;
    padding: 0;
}
body .gform_wrapper .gform_body .gform_fields .ap_indent_sub_q legend {
    padding-top: 50px;
}

}
