/*
 * This controls theme colors
 * Bootstrap will generate classes like btn-color-1, btn-black, text-color-1, bg-color-1, etc.
 * The classes can then be used across the site without repeating code
 */
/*
 * Do a sitewide search (CTRL + SHIFT + F if you're using Sublime Text or whatever your coding GUI has for a search in all files)
 * to see where these variables are used in the SASS code. They're all Bootstrap variables that control certain aspects of elements
 */
/**
 * Bootstrap removes the margin-left/right over the sm breakpoint and if we set it customly afterwards, it breaks the centered modal since it's no longer margin: auto.
 * We also can't remove this one because the value is used in a min-height calculation and removing causes the modal to go haywire on mobile
 * So set it at 15px and then after the sm breakpoint when it gets set to auto, add extra padding as need on .modal-dialog
 *
 * LE: messing with custom margins / paddings and modal-dialog is too much fuss. Simply ignore
 */
.screen-reader-text {
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.screen-reader-text:not(caption) {
  position: absolute !important;
}
.screen-reader-text * {
  overflow: hidden !important;
}

.gform_heading {
  margin: 0 0 30px;
}

.gform_fields {
  display: flex;
  margin: 0 -10px;
  flex-direction: row;
  justify-content: flex-start;
  flex-wrap: wrap;
  align-items: stretch;
  align-content: space-around;
}

.gfield {
  width: 100%;
  flex: 0 100%;
  padding: 0 10px;
  margin-bottom: 10px;
}

@media (min-width: 768px) {
  .gfield--width-half {
    width: 50%;
    flex: 0 50%;
  }
}

.ginput_complex {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -10px;
}
.ginput_complex > span {
  width: 100%;
  flex: 0 100%;
  margin: 10px 0 0;
  padding: 0 10px;
}
.ginput_complex label {
  margin: 0;
  font-size: 18px;
}
.ginput_complex.ginput_container_name {
  margin-bottom: 0;
}

.ginput_container_address {
  flex-wrap: wrap;
}

.ginput_container_select {
  position: relative;
}
.ginput_container_select:before {
  content: "";
  position: absolute;
  top: 50%;
  right: 30px;
  transform: translateY(-50%);
  pointer-events: none;
  border-width: 6px 6px 0 6px;
  border-style: solid;
  border-color: #333 transparent transparent transparent;
}
.ginput_container_select .form-control {
  padding-right: 55px;
}

.gfield_html p {
  margin: 15px 0;
  font-size: 18px;
}

.gchoice {
  margin-bottom: 10px;
}

.gfield_radio input {
  display: none;
}
.gfield_radio label {
  display: block;
  padding: 11px 20px;
  border-radius: 4px;
  font-weight: 500;
  font-size: 16px;
}

.gf_progressbar_title {
  margin: 0 0 10px 0;
  font-weight: 700;
}

.gf_progressbar {
  position: relative;
  margin-bottom: 15px;
  border-radius: 10px;
}

.gf_progressbar_percentage {
  height: 18px;
  vertical-align: middle;
  border-radius: 10px;
  text-align: right;
}
.gf_progressbar_percentage:not(.percentbar_100) {
  border-radius: 10px 0 0 10px;
}
.gf_progressbar_percentage span {
  display: block;
  float: right;
  width: auto;
  min-width: 2em;
  margin-left: 10px;
  margin-right: 10px;
  line-height: 18px;
  font-size: 13px;
}
.gf_progressbar_percentage.percentbar_0 span {
  float: none;
  margin-left: 10px;
  color: #959595;
}

.gfield_consent_description {
  width: 100%;
  max-height: 200px;
  padding: 10px 15px;
  overflow-y: auto;
  border: 1px solid #ddd;
  font-size: 14px;
}

.gfield_label {
  margin: 0 0 15px;
  font-size: 15px;
  font-weight: 500;
}

.gfield_description {
  margin: 0 0 10px;
  font-size: 13px;
  text-align: left;
}

.ginput_container + .gfield_description:not(.validation_message) {
  margin: 10px 0 0;
}

.gfield_required {
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
  padding-left: 1px;
  color: #dc3545;
}
.gfield_required:not(caption) {
  position: absolute !important;
}
.gfield_required * {
  overflow: hidden !important;
}

.gfield_visibility_hidden {
  display: none;
}

.gfield_error *[aria-required=true][aria-invalid=true] {
  color: #700001;
  background-color: #f7cccc;
  border-color: #b82d2d;
}

.gfield_validation_message {
  display: block;
  margin: 0;
  padding: 3px 15px;
  background: var(--bs-red);
  border-radius: 0 0 2px 2px;
  color: var(--bs-white);
  font-size: 16px;
}

.gform_validation_errors {
  position: relative;
  padding: 0.75rem 1.25rem;
  margin-bottom: 1rem;
  border: 1px solid transparent;
  border-radius: 0.25rem;
  text-align: center;
  color: #700001;
  background-color: #f7cccc;
  border-color: #f4b8b8;
}
.gform_validation_errors h2 {
  margin: 0;
  line-height: 1.5;
  font-size: 16px;
  font-weight: 400;
  text-transform: none;
}
@media (min-width: 768px) {
  .gform_validation_errors h2 {
    font-size: 18px;
  }
}

.ginput_recaptcha > div {
  margin: 0 auto;
}

.gform_validation_container {
  display: none;
  position: absolute;
  left: -9000px;
}

.gform_required_legend {
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.gform_required_legend:not(caption) {
  position: absolute !important;
}
.gform_required_legend * {
  overflow: hidden !important;
}

.ginput_container_consent {
  padding: 10px 0;
  text-align: left;
}
.ginput_container_consent * {
  display: inline;
}

.gfield#field_submit .btn {
  margin: 0;
}

.gform_confirmation_message {
  position: relative;
  padding: 0.75rem 1.25rem;
  margin-bottom: 1rem;
  border: 1px solid transparent;
  border-radius: 0.25rem;
  text-align: center;
  background: #d4edda;
  border: 1px solid #c3e6cb;
  color: #155724;
}

.gform_footer .btn {
  display: block;
  margin: 15px 0 0;
  padding-left: 30px;
  padding-right: 30px;
}
@media (min-width: 768px) {
  .gform_footer .btn {
    margin-right: 0;
  }
}

.gform_page_footer {
  margin-top: 15px;
}

.gform_fields textarea.form-control {
  height: clamp(8.75rem, 5.6338028169vw + 7.4295774648rem, 12.5rem);
  min-height: clamp(8.75rem, 5.6338028169vw + 7.4295774648rem, 12.5rem);
}
.gform_fields .hidden_label .gfield_label {
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.gform_fields .hidden_label .gfield_label:not(caption) {
  position: absolute !important;
}
.gform_fields .hidden_label .gfield_label * {
  overflow: hidden !important;
}
.gform_fields .gf_hidden, .gform_fields .gform_hidden, .gform_fields input.gform_hidden, .gform_fields input[type=hidden] {
  display: none !important;
  max-height: 1px !important;
  overflow: hidden;
}

.h-captcha {
  margin: 0 auto 20px !important;
}

.address-input .form-control {
  background: #EFF2F3;
  color: #BFD0D4;
}
.address-input .form-control:focus {
  background: #FFFFFF;
  color: #042222;
}