/*------------------------------------*\
	FORMS
\*------------------------------------*/

.frm_forms form{
  font-size: 16px !important;
}

.frm_loading_form{
  position: relative;
}

.frm_loading_form:before{
  content: '';
  position: absolute;
  z-index: 20;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  background: rgba(255,255,255,0.75) center no-repeat url('../images/loading.gif');
}

.frm_forms h3{
  font-family: 'GothBold', sans-serif;
  font-size: 24px;
  text-transform: uppercase;
}

.frm_forms form select,
.frm_forms form input,
.frm_forms form textarea{
  -webkit-appearance: none;
  appearance: none;
  outline: none;
  box-sizing: border-box;
  margin: 0;
}

.frm_forms form input[readonly]{
  background: rgba(0,0,0,0.1);
  border-color: transparent;
}

.frm_forms form .frm_readonly .frm_total_formatted{
  background: rgba(0,0,0,0.1);
  display: block;
  border-color: transparent;
  border-radius: 6px;
  padding: 15px 20px;
  line-height: 1em;
}

.frm_form_fields{
  overflow: hidden;
  position: relative;
}

.frm_rootline_group{
  position: absolute;
  bottom: 0;
  left: 0;
  height: 100px;
  width: 100%;
}

ul.frm_page_bar{
  justify-content: center;
}

ul.frm_page_bar li{
  flex: none;
  margin: 0 5px;
}

.frm_forms .frm_page_bar input, .frm_forms .frm_page_bar input:disabled{
  border: 0;
}

.frm_forms .frm_rootline input{
  height: 12px;
  width: 12px;
  border-radius: 100%;
  background: rgba(0,0,0,0.1);
}

.frm_forms .frm_rootline .frm_current_page input[type="button"]{
  background: black;
}

.frm_forms .frm_top_container,
.frm_forms .frm_section_heading,
.frm_submit{
  clear: both;
  overflow: hidden;
}

.frm_forms .frm_top_container.frm_half{
  clear: none;
}

.frm_forms .frm_primary_label{
  margin-top: 20px;
}

.frm_forms form select{
  background: #FFCC00 right 20px center no-repeat url('../images/arrow-select.svg');
  border: 1px solid transparent;
  border-radius: 6px;
  font-size: 16px;
  font-weight: 600;
  padding: 15px 20px;
  height: auto;
  margin-bottom: 10px;
}

.frm_forms form .frm_third select,
.frm_forms form .normalized select{
  background-color: white;
  font-weight: 300;
  border-color: black;
}

.frm_forms form fieldset{
  margin: 0;
  padding: 0;
}

.frm_forms form .frm_section_heading + .frm_section_heading h3{
  font-size: 1.25em;
  margin-top: 30px;
}

.frm_forms form h3{
  font-size: 1.75em;
  margin-bottom: 15px;
}

.frm_forms form .frm_form_field .frm_primary_label{
  font-family: inherit;
  font-size: 1em;
  font-weight: 600;
  text-transform: inherit;
  margin: 10px 0;
  margin-top: 20px;
}

.frm_forms form .frm_form_field.vertical_radio .frm_primary_label{
  font-family:'GothBold';
  font-size: 1.2em;
  text-transform: uppercase;
  margin: 10px 0;
  margin-top: 20px;
}

.frm_forms form .frm_opt_container{
  display: flex;
  flex-wrap: wrap;
  margin-left: -10px;
  margin-right: -10px;
}

.frm_forms form .frm_description{
  font-style: italic;
  font-size: 0.9em;
  display: block;
  margin-bottom: 15px;
}

.frm_forms form .frm_radio{
  width: 100%;
  padding: 10px;
  min-height: 150px;
  flex-grow: 1;
}

.frm_forms form .frm_circle .frm_radio{
  min-height: inherit;
  position: relative;
  display: flex;
  justify-content: center;
  width: 50%;
  flex-grow: 0;
}

.frm_forms form .frm_radio label{
  line-height: 1.2em;
}

.frm_forms form .frm_circle .frm_radio label,
.frm_forms form .frm_circle.frm_numerical .frm_radio:last-child label{
  border-radius: 100%;
  font-size: 2em;
  width: 130px;
  height: 130px;
  flex-shrink: 0;
}

.frm_forms form .frm_circle .frm_radio:last-child label,
.frm_forms form .frm_circle.frm_text .frm_radio label{
  font-size: 1.5em;
}

.frm_forms form .frm_checkbox{
  padding: 0 10px;
}
.frm_forms form .frm_checkbox label{
  display: flex;
  align-items: center;
  height: 100%;
  font-size: 1.25em;
  font-weight: 600;
  position: relative;
}

.frm_forms form .frm_checkbox label input{
  display: none;
}

.frm_forms form .frm_checkbox label:before{
  content: '';
  height: 30px;
  width: 30px;
  border: 2px solid black;
  display: inline-flex;
  margin-right: 10px;
  border-radius: 100%;
}

.frm_forms form .frm_checkbox label.checked:before{
  background: center no-repeat url('../images/checkmark.svg');
  background-color: #FFCC00;
}

.frm_forms form .frm_radio label{
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  font-size: 1.25em;
  font-weight: 600;
  padding: 25px;
  text-transform: inherit;
  background: rgba(0,0,0,0.1);
  border-radius: 10px;
}

.frm_forms form .frm_radio input{
  display: none;
}

.frm_forms form .frm_radio{
  position: relative;
  z-index: 1;
}

.frm_forms form .frm_radio label.checked{
  background: #FFCC00;
}

.frm_forms form input,
.frm_forms form textarea{
  border: 1px solid black;
  border-radius: 6px;
  font-size: 16px;
  font-weight: 300;
  padding: 15px 20px;
  height: auto;
  margin-bottom: 10px;
}

.frm_forms form .frm_submit{
  margin: 30px 0;
  margin-top: 75px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.frm_forms form .frm_submit .frm_button_submit,
.frm_forms form .frm_submit button{
  background: #76BD3C;
  border: 1px solid transparent;
  border-radius: 6px;
  font-size: 16px;
  font-weight: 600 !important;
  letter-spacing: normal;
  text-transform: uppercase;
  color: white;
  padding: 15px 20px;
  height: auto;
  min-width: calc(50% - 10px);
  margin: 5px;
}

.frm_forms form .frm_submit .frm_prev_page{
  background: rgba(0,0,0,0.2);
  color: black;
}

.frm_forms form .frm_error_style{
  border: 2px solid #FF5050;
  background: #FFE7E7;
  border-radius: 6px;
  margin-bottom: 20px;
  padding: 20px;
  text-align: center;
}

.frm_forms form .frm_error_style p{
  margin: 0;
  padding: 0;
}

.frm_forms form .frm_error{
  font-weight: 600;
  color: #FF5050;
}

.frm_forms form .frm_html_container,
.frm_forms .frm_message{
  background: #FFF8DE;
  border: 2px solid #FFCC00;
  border-radius: 6px;
  margin: 10px 0;
  padding: 10px;
  text-align: center;
}

.frm_forms form .frm_html_container.disclaimer{
  background: none;
  border: 0;
  text-align: left;
  padding: 0;
  margin-top: 25px;
  border-radius: 0;
}

.frm_forms form .frm_message{
  border-color: #76BD3C;
  background: #F9FFF3;
}
.frm_forms .frm_message p{
  margin: 0
}

.frm_forms .frm_message p + p{
  margin-top: 10px;
}

.frm_forms form .frm_tiny .frm_radio label,
.frm_forms form .frm_tiny .frm_radio {
  height: auto;
  min-height: auto;
}

.frm_forms form .frm_tiny .frm_radio label{
  padding: 15px;
}

.frm_forms .frm_switch_block.checked .frm_slider{
  background: #76BD3C !important;
}

.frm_forms .frm_switch{
  margin-bottom: 10px;
}

.frm_forms .frm_slider{
  background: rgba(0,0,0,0.2);
}

.frm_forms .frm_slider:before{
  transition: background-color 300ms ease;
}

@media screen and (min-width:20em){
  .frm_forms form .frm_radio{
    width: 50%;
  }
}

@media screen and (min-width:40em){
  .frm_forms form .frm_radio{
    width: calc(100% / 3);
  }
  .frm_forms form .frm_circle .frm_radio{
    width: 25%;
  }
  .frm_forms form .frm_submit .frm_button_submit,
  .frm_forms form .frm_submit button{
    min-width: 200px;
  }
  .frm_forms .frm_form_field.frm_half{
    margin-left: 0;
  }
}

@media screen and (min-width:50em){
  .frm_forms form .frm_radio,{
    width: 25%;
  }
  .frm_forms form .frm_circle .frm_radio{
    width: 50%;
  }
}

@media screen and (min-width:60em){
  .frm_forms form .frm_circle .frm_radio{
    width: 25%;
  }
}
