/* Box sizing rules */
html {
  box-sizing: border-box;
  font-size: 16px;
}
*, *:before, *:after {
  box-sizing: inherit;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
h5, 
h6,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
  font-size: 1rem;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul[role='list'],
ol[role='list'] {
  list-style: none;
}

/* Set core root defaults */
html:focus-within {
  scroll-behavior: smooth;
}

/* Set core body defaults */
body {
  text-rendering: optimizeSpeed;
  line-height: 1.5;
  font-family: var(--font-family);
  color: var(--color-dark);
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
img,
picture {
  max-width: 100%;
  display: block;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

legend,
fieldset{
  margin: 0;
  padding: 0;
  border: 0;
}

input,
select,
textarea{
  width: 100%;
  -webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
  background-color: var(--form-input-background-color);
  padding: var(--form-input-padding);
  border: var(--form-input-border-width) var(--form-input-border-style) var(--form-input-border-color);
  border-radius: var(--form-input-border-radius);
  line-height: var(--form-input-line-height);
}

select:not([multiple="multiple"]){
  background: #fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right .75rem center;
  background-size: 8px 10px;
  padding-right: 1.75rem;
}

textarea{
  height: 100px;
}

input:focus,
select:focus,
textarea:focus{
  border-color: var(--form-input-border-focus-color);
  box-shadow: var(--form-input-border-focus-shadow);
  transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
  outline: 0;
}

input[type="radio"],
input[type="checkbox"],
input[type="file"]{
  padding: 0;
  -webkit-appearance: auto;
	-moz-appearance: auto;
	appearance: auto;
}
input[type="file"]{
  border: 0;
}

/* -- End normalization -- */

.embedded-form-wrapper{
  max-width: 720px;
  margin: 0 auto;
}

.form-embed-disclaimer {
  font-size: 0.65rem;
  margin-top: 1rem;
}

/* Progress Bar */

/*
.gf_progressbar_wrapper{
  margin-bottom: var(--form-field-margin-y);
}
*/

.gf_progressbar_title{
  text-align: center;
  margin-bottom: 0.25rem;
  font-size: 0.85rem;
  font-weight: 700;
}

.gf_progressbar{
  display: flex;
  height: 1rem;
  overflow: hidden;
  font-size: 0.75rem;
  background-color: #e9ecef;
  border-radius: 0.25rem;
}

.gf_progressbar_percentage{
  display: flex;
  flex-direction: column;
  justify-content: center;
  color: #fff;
  text-align: center;
  background-color: #007bff;
  transition: width .6s ease;
}

/* Steps */

.gf_page_steps{
  margin-bottom: var(--form-field-margin-y);
  line-height: 1;
}

.gf_page_steps,
.gf_step{
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
}

.gf_step_number{
  display: flex;
  height: 2.25rem;
  width: 2.25rem;
  align-items: center;
  justify-content: center;
  text-align: center;
  border-radius: 0.25rem;
  margin-right: 0.5rem;
  background: var(--form-ui-secondary-color);
  color: var(--color-dark);
}

.gf_step_active .gf_step_number{
  background-color: #007bff;
}

.gf_step_active .gf_step_number{
  color: var(--color-light);
}

.gf_step + .gf_step{
  margin-left: 1rem;
}

/* Field Layout */

.gform_fields{
  list-style: none;
  padding: 0;
}
.gform_fields:after{
	display: block;
	content: '';
	width: 100%;
	clear: both;
}
.gform_fields > .gfield:not(.gfield--type-hidden):last-of-type{
	margin-bottom: 0;
}

.ginput_complex{
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-start;
  margin: 0 calc(-1 * (var(--form-column-gap)/2));
}

.gfield,
.ginput_complex > span,
.ginput_complex .ginput_container{
  margin-top: var(--form-field-margin-y);
  padding: 0 calc(var(--form-column-gap)/2);
  display: block;
}

.gfield{
	width: 100%;
	clear: both;
	float: left;
}

.ginput_complex > span{
  width: 100%;
}

.gfield:last-child,
.ginput_complex > span:last-child{
  margin-bottom: 0;
}

.gfield_description{
  font-size: 0.85rem;
}
.field_description_below .gfield_description{
  margin-top: 0.25rem;
}
.field_description_above .gfield_description{
  margin-bottom: 0.25rem;
}

/* List */

.gfield_list_group{
  display: flex;
  flex-direction: row;
  align-items: center;
}

.gfield_list_group + .gfield_list_group{
  margin-top: var(--form-field-margin-y);
}

.gfield_list_icons button{
  border: 0;
  padding: 0;
  background: transparent;
}

/* Complex Fields */

.ginput_container_name > span{
  width: 100%;
}

.ginput_complex .ginput_container_time{
  width: 6rem;
  margin: 0;
}

.hour_minute_colon{
  padding: 0;
}

.ginput_complex .gfield_time_ampm{
  padding-left: 0;
}

/* Datepicker */

.ui-datepicker{
  max-width: 100vw;
  background: var(--color-light);
  border-radius: var(--form-input-border-radius);
  border: var(--form-input-border-width) var(--form-input-border-style) var(--form-input-border-color);
  padding: 1rem;
  margin-top: 0.5rem;
}

.ui-datepicker:empty{
  display: none;
}

.ui-datepicker-header,
.ui-datepicker-title{
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
}

.ui-datepicker-header a{
  cursor: pointer;
}

.ui-datepicker-prev:before,
.ui-datepicker-next:after{
  display: inline-block;
}

.ui-datepicker-prev:before{
  content: '‹';
  margin-right: 0.25rem;
}

.ui-datepicker-next:after{
  content: '›';
  margin-left: 0.25rem;
}

.ui-datepicker-title{
  width: 100%;
  margin: 0.5rem 0;
}
.ui-datepicker-title select{
  width: 45%;
}

.ui-datepicker-calendar{
  width: 100%;
}

.ui-datepicker-calendar .ui-state-default{
  padding: 6px;
  width: 30px;
  line-height: 1;
  display: inline-block;
}

.ui-datepicker-calendar a{
  text-decoration: none;
  color: var(--color-dark);
  border-radius: var(--form-input-border-radius);
}

/* .ui-datepicker-calendar th{}
.ui-datepicker-calendar td{} */

.ui-datepicker-today a{
  background-color: var(--form-ui-secondary-color);
}

.ui-datepicker-calendar a:hover,
.ui-datepicker-current-day a{
  background-color: var(--form-ui-primary-color);
  color: var(--color-light);
}

.ui-datepicker-unselectable{
  opacity: 0.5;
  cursor: not-allowed;
}

/* Custom Radio/Checkbox Inputs
 * ::before is the background color of the input (always visible)
 * ::after is the marker inside the input when :checked
 */

.gfield_radio,
.gfield_checkbox{
  list-style: none;
  padding: 0;
}

.gchoice,
.ginput_container_consent{
  position: relative;
  display: block;
  min-height: 1rem;
  padding-left: 1.5rem;
}

.gchoice input,
.ginput_container_consent input[type="checkbox"]{
  position: absolute;
  opacity: 0;
  margin: 0;
  left: 0;
  top: 0.25rem;
  width: 1rem;
  height: 1rem;
}

.gchoice input + label:before,
.ginput_container_consent input[type="checkbox"] + label:before{
  border-radius: .25rem;
  background-color: var(--form-ui-secondary-color);
}

.gchoice input + label:before,
.gchoice input+ label:after,
.ginput_container_consent input[type="checkbox"] + label:before,
.ginput_container_consent input[type="checkbox"] + label:after{
  position: absolute;
  top: 0.25rem;
  left: 0;
  display: block;
  width: 1rem;
  height: 1rem;
  pointer-events: none;
  content: '';
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.gchoice input + label:after,
.ginput_container_consent input[type="checkbox"] + label:after{
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 50% 50%;
}

.gchoice input:checked + label:before,
.ginput_container_consent input[type="checkbox"]:checked + label:before{
  background-color: var(--form-ui-primary-color);
}

.gchoice input[type="checkbox"]:checked + label:after,
.ginput_container_consent input[type="checkbox"]:checked + label:after{
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E");
}

.gchoice input[type="radio"]:checked + label:after{
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E");
}

.gchoice input[type="radio"] + label:before{
  border-radius: 50%;
}

/* Hidden Classes */

.screen-reader-text,
.gform_required_legend{
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  border: 0;
}

.gform_hidden,
.hidden_label .gfield_label{
  display: none;
}

/* Labels */

.gfield_label,
.field_sublabel_above label{
  font-weight: var(--form-field-label-weight);
  margin-bottom: 0.25rem;
  display: inline-block;
}

/* Validation */

.gfield_required,
.gfield_validation_message{
  color: var(--color-danger);
}

.gform_validation_errors{
  margin-bottom: var(--form-field-margin-y);
  padding: 0 calc(var(--form-column-gap)/2);
}

.gform_submission_error{
  font-weight: 400;
}

.gform_submission_error{
  background-color: var(--color-danger);
  color: var(--color-light);
  border-radius: var(--form-input-border-radius);
  padding: var(--form-input-padding);
}

.gfield_validation_message{ 
  font-size: 0.85rem;
  margin-top: 0.25rem;
}

.gfield_required .gfield_required_asterisk{
  margin-left: 0.25rem;
  display: inline-block;
}

/* Footer */

.gform_footer,
.gform_page_footer{
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  margin-top: var(--form-field-margin-y);
  padding: 0 calc(var(--form-column-gap)/2);
}

.gform_page_footer{
  justify-content: center;
}

.gform_ajax_spinner{
  margin-left: 0.5rem;
}

/* Buttons */


.gform_button,
.gform_previous_button,
.gform_next_button,
input[type="file"]::file-selector-button{
  border-color: transparent;
  border-radius: var(--form-input-border-radius);
  background-color: var(--form-ui-primary-color);
  color: var(--form-button-text-color);
  cursor: pointer;
  width: auto;
  padding: var(--form-button-padding);
}

input[type="file"]::file-selector-button{
  background-color: var(--form-ui-secondary-color);
  color: var(--color-dark);
}

.gform_previous_button{
  padding-left: 0;
  padding-right: 0;
  margin-right: 1.5rem;
}

.gform_previous_button{
  background-color: transparent;
  color: var(--color-dark);
}

/* Confirmation */

.gform_confirmation_message{
	padding: 0 calc(var(--form-column-gap)/2);
}

.gform_confirmation_message > * + *{
	margin-top: 0.5rem;
}

@media (min-width: 350px) {
  .gfield--width-half{
	width: 50%;
	float: left;
	clear: none;
  }
  /*.gform_fields{
    margin: 0 calc(-1 * var(--form-column-gap)/2);
  }*/
  .ginput_complex > span{
    margin-bottom: 0;
    width: 50%;
  }
}

/* Remove all animations, transitions and smooth scroll for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
  html:focus-within {
   scroll-behavior: auto;
  }
  
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
.gform_validation_container {
    height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
}