
/* ******************************************************************************
*********************************************************************************
This file contains all the neccessary styles to control how your forms looks
throughout your site. Styles for form fields, buttons, inputs, etc.
*********************************************************************************
****************************************************************************** */

:root {
  --form_max_width: 100%;
  --input_background_color: #e6e7e8; /* #fff for GC */
  --input_border_width: 0;
  --form_placeholder_color: #b3b3b3;
  --form_error_label_color: #fff;
  --form_error_border_color: #ff6e52;
  --form_error_focus_border_color: #ff6e52;
  --form_description_color: #000;
}


/* This is the enemy in the modal context */
/* .uabb-module-content .uabb-text-editor *:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(strong):not(b):not(i) {
  font-weight: inherit;
}

.uabb-module-content .uabb-text-editor *:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) {
  font-size: inherit;
  line-height: inherit;
}
.uabb-module-content .uabb-text-editor *:not(i) {
  font-family: inherit;
}
.uabb-module-content .uabb-text-editor *:not(a) {
  color: inherit;
} */

/* H3 in modal */
.uabb-modal-content-data h3 {
  color: var( --as-heading-color ) !important;
}

/* Why is this here? */
.uabb-modal-content-data h3 + p {
  display: none;
}

.uabb-module-content .uabb-modal-close {
  top: 12.5px !important;
  right: 12.5px !important;
}

/* .hbspt-form = wrapper <div> */
/* .hs-form = actual <form> */
/* use .fl-sidebar-form to target gated content version, it wraps .hbspt-form */
.hbspt-form form {
  margin: 0 auto;
  position: relative;
  width: var( --form_max_width );
  max-width: var( --form_max_width ) !important;
  font-family: var( --as-font-family ) !important;
  font-size: 0.92rem !important;
  line-height: 0 !important;
}

.uabb-modal-text .hbspt-form form { /* Minimize form padding */
  padding: 0;
}

.hbspt-form form fieldset {
  max-width: var( --form_max_width );
}

.hs-form .actions {
  padding: 0;
  text-align: center;
}

.hs-form .actions input.hs-button {
  margin: 0;
  cursor: pointer;
  display: inline-block;
  font-weight: normal;
  line-height: 1.1;
  position: relative;
  text-align: center;
  transition: all 0.15s linear;
  background-color: var( --as-button-bg ) !important;
  color: var( --as-button-color ) !important;
  border: 1px solid var( --as-button-border ) !important;
  border-radius: var( --as-button-border-radius ); /* 30px !important for GC */
  padding: var( --as-button-padding ) !important; /* 15px 53px */
  text-decoration: none;
  font-family: var( --as-font-family ), arial, helvetica, sans-serif;
  font-size: var( --as-button-font-size ) !important;
  text-transform: uppercase;
}

.hs-form .actions input.hs-button:hover,
.hs-form .actions input.hs-button:focus,
.hs-form .actions input.hs-button:active {
  background-color: var( --as-button-bg-hover ) !important;
  border-color: var( --as-button-border-hover ) !important;
  color: var( --as-button-color-hover ) !important;
  text-decoration: none;
}

/* GC variant */
.fl-sidebar-form .hs-form .actions input.hs-button {
  background-color: transparent !important;
  color: #f3704c !important;
  border: 1px solid #f3704c !important;
  border-radius: 30px !important;
  padding: 15px 53px !important;
}

.fl-sidebar-form .hs-form .actions input.hs-button:hover,
.fl-sidebar-form .hs-form .actions input.hs-button:focus,
.fl-sidebar-form .hs-form .actions input.hs-button:active {
  background-color: #FAB7BD !important;
  border-color: #f3704c !important;
  color: #f3704c !important;
  text-decoration: none;
}

.hs-form input#hs-pwd-widget-password {
  max-width: 500px;
  display: block;
}

.hs-form .hs-input,
.hs-form input#hs-pwd-widget-password {
  margin: 0 0 4px 0;
  padding: 5px 6px;
  width: 100%;
}

/* These are overrides for skin defaults */
.hbspt-form input[type=text], .hbspt-form input[type=password],
.hbspt-form input[type=email], .hbspt-form input[type=tel],
.hbspt-form input[type=date], .hbspt-form input[type=month],
.hbspt-form input[type=week], .hbspt-form input[type=time],
.hbspt-form input[type=number], .hbspt-form input[type=search],
.hbspt-form input[type=url], .hbspt-form textarea {
  display: block;
  width: 100% !important;
  padding: 6px 12px !important;
  min-height: 40px;
  font-size: var( --body_font_size ) !important;
  line-height: 1.2em !important;
  color: var( --as-text-color ) !important;
  vertical-align: middle;
  background-color: var( --input_background_color ) !important;
  border-radius: 4px !important;
  background-image: none;
  border-width: 0;
  transition: all ease-in-out .15s;
  box-shadow: none;
  border-radius: 4px;
}

/* GC variant */
.fl-sidebar-form .hbspt-form input[type=text],
.fl-sidebar-form .hbspt-form input[type=password],
.fl-sidebar-form .hbspt-form input[type=email],
.fl-sidebar-form .hbspt-form input[type=tel],
.fl-sidebar-form .hbspt-form input[type=date],
.fl-sidebar-form .hbspt-form input[type=month],
.fl-sidebar-form .hbspt-form input[type=week],
.fl-sidebar-form .hbspt-form input[type=time],
.fl-sidebar-form .hbspt-form input[type=number],
.fl-sidebar-form .hbspt-form input[type=search],
.fl-sidebar-form .hbspt-form input[type=url],
.fl-sidebar-form .hbspt-form textarea {
  background-color: #fff !important;
}

.hbspt-form .hs-input[type=checkbox],
.hbspt-form .hs-input[type=radio] {
  flex: 0 0 auto;
  cursor: pointer;
  width: auto;
  height: auto;
  padding: 0;
  margin: 0 12px 3px 0px;
  line-height: normal;
  border: none;
}

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

  .hbspt-form .hs-input[type=checkbox],
  .hbspt-form .hs-input[type=radio] {
    min-width: 16px;
    border: 1px solid var( --form_placeholder_color );
  }

}

.hbspt-form .hs-input[type=file] {
  background-color: #fff;
  padding: initial;
  border: initial;
  line-height: initial;
  box-shadow: none;
}

.uabb-module-content .uabb-text-editor .hbspt-form select.hs-input,
.hbspt-form select.hs-input {
  -webkit-appearance: none; /* don't want down arrow to display */
  padding: 10px 12px !important;
  width: 100%;
  max-width: 100%;
  font-size: var( --body_font_size ) !important;
  line-height: 1.2 !important;
  background-image: url("/wp-content/themes/bb-theme-child/assets/images/icon-arrow-right.svg");
  background-repeat: no-repeat;
  background-position: 94% 50%;
  background-size: 9px 18px;
  background-color: var( --input_background_color ); /* #fff for GC */
  border-width: 0px; /* 1px solid #b3b3b3 !important; */
  border-radius: 4px !important; /* 24px */
  transition: all 0.4s;
}

.uabb-module-content .uabb-text-editor .hbspt-form select.hs-input option,
.hbspt-form select.hs-input option {
  color: var( --as-text-color );
}

.uabb-module-content .uabb-text-editor .hbspt-form select.is-placeholder,
.hbspt-form select.is-placeholder {
  color: #b3b3b3 !important;
}

/* Change font color when there's an active selection */
.uabb-module-content .uabb-text-editor .hbspt-form select.hs-selected,
.hbspt-form select.hs-selected {
  /* color: var( --as-text-color ) !important; */
}

/* GC variant */
.fl-sidebar-form .hbspt-form select.hs-input {
  background-color: #fff;
}

.hbspt-form .hs-input:-moz-placeholder {
  color: var( --form_placeholder_color );
}

.hbspt-form .hs-input::-webkit-input-placeholder {
  color: var( --form_placeholder_color );
}

.hbspt-form .hs-input input,
.hbspt-form .hs-input textarea {
  transition: border 0.2s linear;
}

.hbspt-form .hs-input:focus {
  outline: none;
  border-width: var( --input_border_width );
  border-color: #8DA0FF;
}

.hbspt-form textarea.hs-input {
  height: auto;
  min-height: 64px;
}

.hbspt-form select[multiple].hs-input {
  height: inherit;
}

/* Force single column fields to full width inside of fieldsets */
.hbspt-form fieldset.form-columns-1 .hs-input:not([type=radio]):not([type=checkbox]) {
  width: 100% !important;
}

.hbspt-form input.hs-input.error,
.hbspt-form div.field.error input,
.hbspt-form div.field.error textarea,
.hbspt-form div.field.error .chzn-choices,
.hbspt-form textarea.hs-input.error,
.hbspt-form select.hs-input.error {
  border-color: var( --form_error_border_color );
}

.hbspt-form input.hs-input.error:focus,
.hbspt-form div.field.error input:focus,
.hbspt-form div.field.error textarea:focus,
.hbspt-form div.field.error .chzn-choices:focus,
.hbspt-form textarea.hs-input.error:focus,
.hbspt-form select.hs-input.error:focus {
  border-color: var( --form_error_focus_border_color );
}

.hbspt-form .hs-error-msgs { /* This seems to wrap error messages */
  margin: 6px 0 8px;
  padding: 0;
  width: auto;
  text-align: center;
}

.uabb-module-content .uabb-text-editor .hbspt-form ul.hs-error-msgs li,
.hbspt-form ul.hs-error-msgs li {
  display: inline-block;
  position: relative;
  margin: 0;
  padding: 0.4em 0.6em;
  width: auto;
  background: var( --as-button-bg );
  border-radius: 4px;
}

.hbspt-form .hs-error-msgs > li::before {
  content: "";
  display: block;
  position: absolute;
  top: -6px;
  left: 50%;
  transform: translateX( -50% );
  width: 12px;
  height: 8px;
  background: transparent url('/wp-content/themes/bb-theme-child/assets/images/form-error-label-bg.png') no-repeat 50% 50%;
}

/* Anchors in error messages are the same color as the BG */
.hbspt-form .hs-error-msgs a,
.hbspt-form .hs-error-msgs a:hover {
  color: #fff;
}

.hbspt-form .hs-error-msgs a:hover {
  text-decoration: underline;
}

/* Legalese in HubSpot forms */
.uabb-module-content .uabb-text-editor .hbspt-form .hs-error-msgs label,
.hbspt-form .hs-error-msgs label {
  display: inline-block;
  margin: 0;
  padding: 0;
  float: none;
  width: auto;
  line-height: 1.2;
  font-size: 0.8rem;
  color: var( --form_error_label_color );
  text-align: center;
  white-space: normal;
  font-weight: normal;
}

.hbspt-form .inputs-list {
  padding: 0;
  list-style: none;
}

.hbspt-form .inputs-list:first-child {
  padding-top: 6px;
}

.hbspt-form .inputs-list > li + li {
  padding-top: 2px;
}

.hbspt-form .inputs-list label > input,
.hbspt-form .inputs-list label > span {
  vertical-align: middle;
  line-height: 1.2 !important;
  font-size: 0.8rem !important;
  font-weight: 400;
}

.hs-form label,
.hs-richtext p {
  line-height: 1.2em;
  padding-top: 0.3em;
  font-size: 0.8rem;
  font-weight: 400;
}

.hs-form label strong {
  color: #000000;
  font-weight: 400;
}

.hbspt-form ul.no-list {
  list-style: none;
}

.hbspt-form .field {
  margin-bottom: 10px;
}

.hbspt-form .hs-field-desc {
  color: var( --form_description_color );
  margin: 0px 0px 6px;
  font-size: 14px;
}

.hbspt-form .hs-form-required {
  color: red;
}

.hbspt-form .hs-richtext {
  margin-bottom: 16px;
  line-height: 1.2;
  font-size: var( --body_font_size );
  color: var( --as-text-color );
}

.hbspt-form .hs-richtext hr {
  text-align: left;
  margin-left: 0;
  width: 91%;
}

.hbspt-form .hs-form-booleancheckbox-display {
  display: flex;
  justify-content: flex-start;
  margin-bottom: 0;
}

.hbspt-form .legal-consent-container .hs-form-booleancheckbox-display > span {
  margin-left: 0 !important;
}

.hbspt-form .grecaptcha-badge {
  margin: 0 auto;
}

.hbspt-form .email-correction, .hbspt-form .email-validation {
  padding-top: 3px;
  font-size: 12px;
}

.hbspt-form .email-correction a,
.hbspt-form .email-validation a {
  cursor: pointer;
}

.hbspt-form p.header {
  background: transparent !important;
}

.hbspt-form label p:last-of-type {
  margin-bottom: 0;
}

.hbspt-form input#submitbutton {
  white-space: normal !important;
}

.hbspt-form .hs_recaptcha {
  margin-bottom: 16px;
}

.hbspt-form .systems-page .success {
  max-width: 100% !important;
  min-width: 0 !important;
}
@media (max-width: 767px) {
  input#hs-pwd-widget-password {
    height: auto;
    width: 100%;
    max-width: 100%;
  }
}
@media (max-width: 400px),
  (min-device-width: 320px) and (max-device-width: 480px) {
    .email-correction form .form-columns-2 .hs-form-field,
    .email-correction form .form-columns-3 .hs-form-field,
    .email-validation form .form-columns-2 .hs-form-field,
    .email-validation form .form-columns-3 .hs-form-field {
      float: none;
      width: 100%;
    }
    .email-correction form .form-columns-2 .hs-form-field .hs-input,
    .email-correction form .form-columns-3 .hs-form-field .hs-input,
    .email-validation form .form-columns-2 .hs-form-field .hs-input,
    .email-validation form .form-columns-3 .hs-form-field .hs-input {
      width: 90%;
    }
    .email-correction form .form-columns-2 .hs-form-field input[type=checkbox],
    .email-correction form .form-columns-2 .hs-form-field input[type=radio],
    .email-correction form .form-columns-3 .hs-form-field input[type=checkbox],
    .email-correction form .form-columns-3 .hs-form-field input[type=radio],
    .email-validation form .form-columns-2 .hs-form-field input[type=checkbox],
    .email-validation form .form-columns-2 .hs-form-field input[type=radio],
    .email-validation form .form-columns-3 .hs-form-field input[type=checkbox],
    .email-validation form .form-columns-3 .hs-form-field input[type=radio] {
      width: 24px;
    }
}

.hbspt-form .hs-button,
.hs-form-field input[type=text],
.hs-form-field input[type=email],
.hs-form-field input[type=phone],
.hs-form-field input[type=number],
.hs-form-field input[type=tel],
.hs-form-field input[type=date],
.hs-form-field textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
}

.hs-default-font-element,
.hs-main-font-element {
  font-family: var( --as-font-family );
}

.form-columns-1 .hs-form-field label:not(.hs-error-msg),
.form-columns-2 .hs-form-field label:not(.hs-error-msg) {
  font-family: var( --as-font-family ) !important;
  font-size: 16px;
  font-weight: var( --as-font-weight-bold );
}

/* Subscription form-specific tweaks
----------------------------------------- */


/* Subscription form styles
-------------------------------- */

.subscription-block {
  margin-bottom: 80px;
}

.subscription-block h6 {
  font-weight: 400;
}


#hsForm_63f3235f-3e3a-418c-86e7-26e9adff00d4 .hs_submit {
  position: absolute;
  top: 15px;
  right: 0;
}

#hsForm_63f3235f-3e3a-418c-86e7-26e9adff00d4 .hs_email {
  width: 84%;
}


#hsForm_63f3235f-3e3a-418c-86e7-26e9adff00d4 .hs_email input {
  border-radius: 8px;
}

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

  #hsForm_63f3235f-3e3a-418c-86e7-26e9adff00d4 .hs_email {
    width: 78%;
  }

} /* / MQ */
