/* Parent Form Element */
.form,
.form form.mktoForm,
.form form.hbspt-form,
.form form.hs-form {
  display: block;
  width: 100% !important; /* FIXME: improve specificity and remove !important */
  max-width: 100%;
  margin-top: calc(var(--gutter-width) * 2);
  font-family: inherit;
  font-size: inherit !important;
}

/* [type="hidden"] {
  visibility: hidden !important;
} */

/* An individual form element group (i.e. input element and its label/help text) */
.form-group,
.mktoForm .mktoFormRow .mktoFieldWrap,
.hbspt-form .hs-form,
.hbspt-form .hs-form .hs-form-field,
.hbspt-form .hs-form fieldset[class|="form-columns"],
.hbspt-form .hs-form fieldset[class|="form-columns"] .hs-form-field {
  display: block;
  max-width: unset;
  /* padding-bottom: var(--gutter-width); */
}
.form-group[display=inline-block]:last-child,
.hbspt-form .hs-form .hs-form-field:last-child .input,
.hbspt-form .hs-form fieldset[class|="form-columns"] .hs-form-field:last-child .input {
  padding-right: 0px;
  margin-right: 0px;
}
.form-group.full-width {
  display: block;
}
.form-group label,
.hbspt-form .hs-form .hs-form-field label,
.hbspt-form .hs-form fieldset[class|="form-columns"] .hs-form-field label {
  display: block;
  padding-bottom: 10px;
}

.form-group input,
.form-group textarea,
.form-group select,
.mktoForm .mktoFormRow .mktoFieldWrap .mktoField.mktoEmailField,
.mktoForm .mktoFormRow .mktoFieldWrap .mktoField.mktoTextField,
.mktoForm .mktoFormRow .mktoFieldWrap .mktoField.mktoTelField,
.mktoForm .mktoFormRow .mktoFieldWrap textarea.mktoField,
.mktoForm .mktoFormRow .mktoFieldWrap select,
.hbspt-form .hs-form .hs-form-field .input input,
.hbspt-form .hs-form .hs-form-field .input textarea,
.hbspt-form .hs-form .hs-form-field .input select,
.hbspt-form .hs-form fieldset[class|="form-columns"] .hs-form-field .input input,
.hbspt-form .hs-form fieldset[class|="form-columns"] .hs-form-field .input textarea,
.hbspt-form .hs-form fieldset[class|="form-columns"] .hs-form-field .input select {
  display: block;
  box-sizing: border-box;
  height: auto;
  width: 100%;
  padding: 10px;
  border: 1px solid rgba(0,0,0,0.3);
  border-radius: 5px;
  margin-bottom: var(--gutter-width);
}

.hs-form-required {
  margin-left: 5px;
}

/* Textarea form elements */
.form-group textarea,
.mktoFormRow .mktoFieldWrap textarea.mktoField,
.hbspt-form .hs-form .hs-form-field .input textarea,
.hbspt-form .hs-form fieldset[class|="form-columns"] .hs-form-field .input textarea {
  min-height: 150px;
}

/* Checkbox list form elements */
.form-group .checkbox-group,
.hs-form-field.field.hs-form-booleancheckbox .input,
ul.inputs-list {
  display: block;
  width: auto !important;
  box-sizing: border-box;
  margin-bottom: var(--gutter-width);
}
.form-group input[type=checkbox],
label.hs-form-booleancheckbox-display input.hs-input [type=checkbox] {
  display: inline-block;
  width: auto !important;
  transform: scale(1.5);
  font-size: inherit;
}
.hbspt-form .hs-form .hs-form-field .input ul.inputs-list,
.hbspt-form .hs-form .hs-form-field .input ul.inputs-list li.hs-form-booleancheckbox label.hs-form-booleancheckbox-display input[type=checkbox],
.hbspt-form .hs-form fieldset[class|="form-columns"] .hs-form-field .input ul.inputs-list,
.hbspt-form .hs-form fieldset[class|="form-columns"] .hs-form-field .input ul.inputs-list li.hs-form-booleancheckbox label.hs-form-booleancheckbox-display input[type=checkbox] {
  list-style-type: none;
  padding-inline-start: unset;
  width: unset !important;
}
.form-group .checkbox-text,
.hbspt-form .hs-form .hs-form-field .input ul.inputs-list li.hs-form-booleancheckbox label.hs-form-booleancheckbox-display input[type="checkbox"],
.hbspt-form .hs-form fieldset[class|="form-columns"] .hs-form-field .input ul.inputs-list li.hs-form-booleancheckbox label.hs-form-booleancheckbox-display input[type="checkbox"] {
  margin-left: 20px;
}
/* Error styling */
ul.no-list.hs-error-msgs.inputs-list,
ul.no-list.hs-error-msgs.inputs-list li label.hs-error-msg,
.mktoForm .mktoFormRow .mktoFieldWrap .mktoError,
.mktoForm .mktoFormRow .mktoFieldWrap .mktoError .mktoErrorMsg,
.mktoForm .mktoFormRow .mktoFieldWrap .mktoError .mktoErrorMsg[role="alert"],
.mktoForm .mktoFormRow .mktoFieldWrap .mktoError .mktoErrorMsg[role="alert"] .mktoErrorDetail,
.hs_error_rollup .no-list.hs-error-msgs.inputs-list li label {
  color: red;
  display: inline-block;
  box-sizing: border-box;
  font-size: inherit;
  list-style-type: none;
  padding-inline-start: unset;
  width: unset !important;
  margin-top: 0px;
  /* Marketo fixes 🤦🏽‍♂️ */
  position: unset;
  background-color: inherit;
  background-image: none;
  text-shadow: none;
  box-shadow: none;
  -webkit-box-shadow: none;
  border: unset !important;
  border-radius: unset !important;
  -webkit-border-radius: unset !important;
}

/* Checkbox form elements */
.hbspt-form .hs-form .hs-form-field .input ul.inputs-list li.hs-form-booleancheckbox label.hs-form-booleancheckbox-display span,
.hbspt-form .hs-form fieldset[class|="form-columns"] .hs-form-field .input ul.inputs-list li.hs-form-booleancheckbox label.hs-form-booleancheckbox-display span {
  width: 75%;
  margin-left: 5px;
  display: inline-block;
  font: inherit;
}

/* Hubspot styles */
form .hs-richtext {
  margin-bottom: var(--gutter-width);
}
.legal-consent-container,
.hs_error_rollup .no-list.hs-error-msgs.inputs-list li label {
  margin-bottom: var(--gutter-width);
}

.form-group .form-instructions,
.form-group .form-subtext {
  display: block;
  color: attr(color, inherit);
  margin-bottom: 15px;
  font-size: inherit;
}

.form-group .form-help {
  display: inline-block;
  font-weight: normal;
  color: red;
}
.form-group .form-help.hidden {
  display: none !important;
}

.form input[type=submit],
.mktoButtonRow .mktoButtonWrap button[type=submit].mktoButton {
  display: block;
  box-sizing: border-box;
  width: 100%;
}

input.text,
input[type="text"],
input[type="button"],
input[type="submit"],
.mktoButtonRow .mktoButtonWrap button[type=submit].mktoButton {
  -webkit-appearance: none;
  border-radius: 0;
}

input.form-control.error {
  border-color: red;
}
input.form-control.success {
  border-color: var(--primary-green);
}

.g-recaptcha,
.hs_recaptcha.hs-recaptcha.field.hs-form-field {
  margin-bottom: 30px;
}

.hubspot-fix-fonts,
.hs-form-field label,
fieldset .hs-form-field label,
ul.no-list.hs-error-msgs.inputs-list li {
  font-size: unset;
  line-height: unset;
}

/* Compact Form Styles */
.form-compact .form-group{
  font-size: 12px;
  padding-bottom: 5px;
}

.form-compact .form-group label{
  padding-bottom: 5px;
}

.form-compact .form-group input{
  padding: 7px;
  border-color: var(--button-border-color);
  background-color: var(--bg-color);
  color: var(--text-primary-color);
}

.form-compact .form-group input::placeholder{
  color: var(--placeholder-text-color);
}

.form-compact .button {
  border-color: var(--button-border-color);
  background-color: var(--bg-color);
  color: var(--button-text-color);
}
.form-compact .button:disabled{
  background-color: var(--placeholder-text-color);
  color: var(--bg-color);
  border-color: var(--placeholder-text-color);
}

.form-compact .g-recaptcha {
  margin-bottom: 15px;
}

.banner-slide-in {
  max-height: 80%;
  overflow-y: scroll;
  opacity: 98%
}
.banner-slide-in .button.extra-wide {
  padding: 10px;
  width: 100%;
}

.banner-slide-in::-webkit-scrollbar {
  height: 0.6em;
  width: 0.6em;
}

.banner-slide-in::-webkit-scrollbar-track {
  -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.2);
}

.banner-slide-in::-webkit-scrollbar-thumb {
  border-radius: 10px;
  background-color: rgba(255,255,255,0.2);
}

.banner-slide-in::-webkit-scrollbar-corner {
  -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.2);
}

/* Hubspot form legal content styling (circa July 2021) */
.legal-consent-container .hs-richtext {
  margin-bottom: 0;
}
.legal-consent-container .hs-richtext p {
  font-size: 12px;
  margin-top: 0;
  margin-bottom: 0;
}
.legal-consent-container .hs-fieldtype-booleancheckbox {
  margin: 0 !important;
}
.legal-consent-container .hs-fieldtype-booleancheckbox .inputs-list {
  margin: 0;
  padding: 0;
}
.legal-consent-container .hs-fieldtype-booleancheckbox input[type="checkbox"] {
  margin-top: 10px;
  margin-bottom: 5px !important;
}
.legal-consent-container .hs-fieldtype-booleancheckbox p {
  font-size: 12px;
}
.legal-consent-container .hs-fieldtype-booleancheckbox .hs-form-booleancheckbox-display {
  padding: 0 !important;
}
.legal-consent-container .hs-fieldtype-booleancheckbox .hs-form-booleancheckbox-display span p {
  display: inline;
}
.legal-consent-container .hs-fieldtype-booleancheckbox .hs-form-booleancheckbox-display span span.hs-form-required {
  display: inline !important;
  font-size: 12px !important;
}

/* Marketo fixes */
/* Many tears have been shed... 😭 */
.mktoForm .mktoFormRow,
.mktoForm .mktoFormRow .mktoFormCol,
.mktoForm .mktoFormRow .mktoFormCol input[type="email"],
.mktoForm .mktoFormRow .mktoFormCol input[type="text"],
.mktoForm .mktoFormRow .mktoFormCol select {
  font-family: inherit;
  font-size: inherit;
}
.mktoForm .mktoFormRow,
.mktoForm .mktoFormRow.mktoLogicalFieldRow,
.mktoForm .mktoFormRow.mktoLogicalFieldRow .mktoFormCol.mktoLogicalFieldCol,
.mktoForm .mktoFormRow .mktoFormCol .mktoFieldWrap,
.mktoForm .mktoFormRow .mktoFormCol .mktoFieldWrap .mktoField,
.mktoForm .mktoButtonRow {
  width: 100% !important;
  float: none !important;
  clear: none !important;
}
.mktoForm .mktoFormRow .mktoFormCol.mktoFieldDescriptor:first-child:nth-last-child(2) {
  /* Size columns based on number of column elements */
  /* NOTE: .mktoFormRow parents will contain N .mktoFormCol elements, and a .mktoClear element, so :first-child:nth-last-child(2) is really a "single column" layout */
  width: 100% !important;
}
.mktoForm .mktoFormRow .mktoFormCol.mktoFieldDescriptor:first-child:nth-last-child(3),
.mktoForm .mktoFormRow .mktoFormCol.mktoFieldDescriptor:first-child:nth-last-child(3) ~ .mktoFormCol.mktoFieldDescriptor {
  /* Size columns based on number of column elements */
  /* NOTE: .mktoFormRow parents will contain N .mktoFormCol elements, and a .mktoClear element, so :first-child:nth-last-child(3) is really a "two column" layout */
  display: inline-block;
  width: calc(50% - calc(var(--gutter-width) / 2)) !important;
  float: none !important;
  clear: none !important;
}
.mktoForm .mktoFormRow .mktoFormCol:first-child {
  /* Add gutter margin between form columns */
  margin-right: calc(var(--gutter-width) / 2);
}
.mktoForm .mktoFormRow .mktoFormCol:nth-child(2) {
  /* Add gutter margin between form columns */
  margin-left: calc(var(--gutter-width) / 2);
}
.mktoForm .mktoFormRow .mktoFormCol select {
  -webkit-appearance: searchfield;
   -moz-appearance: searchfield;
   appearance: searchfield;
}
.mktoForm .mktoFormRow .mktoOffset,
.mktoForm .mktoFormRow .mktoFieldWrap .mktoLabel .mktoAsterix,
.mktoForm .mktoFormRow .mktoFieldWrap .mktoGutter,
.mktoForm .mktoFormRow .mktoFieldWrap .mktoPlaceholder,
.mktoForm .mktoFormRow .mktoFieldWrap .mktoErrorArrowWrap {
  display: none;
  padding: 0;
  height: 0;
}
.mktoForm .mktoButtonWrap.mktoThoughtbot button.mktoButton,
.mktoForm .mktoButtonWrap.mktoThoughtbot button.mktoButton:hover {
  background: unset !important;
  background-color: unset !important;
}
.mktoForm .mktoFormRow .mktoFormCol.mktoLogicalFieldDescriptorCol {
  position: relative;
  top: -10px;
}
.mktoForm .mktoFormRow .mktoFieldWrap .mktoLogicalField {
  display: inline;
}
.mktoForm .mktoFormRow.mktoLogicalFieldRow .mktoFieldDescriptor.mktoFormCol.mktoLogicalFieldCol {
  display: block;
  width: 100% !important;
  box-sizing: border-box;
}
.mktoForm .mktoFormRow .mktoFieldWrap .mktoLogicalField input[type=checkbox] {
  display: inline-block;
  width: auto !important;
  transform: scale(1.5);
  font-size: inherit;
  float: left !important;
}
.mktoForm .mktoFormRow.mktoLogicalFieldRow .mktoFormCol.mktoLogicalFieldCol .mktoFieldWrap #LblSingle_Opt_in__c {
  /* /contact form opt-in */
  float: none;
}
.mktoForm .mktoFormRow.mktoLogicalFieldRow .mktoFormCol.mktoLogicalFieldDescriptorCol {
  /* /contact form double opt-in */
  display: none !important;
}
.mktoForm .mktoFormRow .mktoFormCol.mktoFieldDescriptor .mktoFieldWrap .mktoLabel[for="Single_Opt_in__c"] {
  /* /blog newsletter opt-in */
  display: inline-block;
  float: right !important;
  width: 85% !important;
}
.mktoForm .mktoFormRow .mktoFormCol.mktoFieldDescriptor .mktoFieldWrap .mktoLogicalField.mktoCheckboxList label[for="Single_Opt_in__c"] {
  /* /blog newsletter opt-in */
  margin-left: 0;
}
#mktoForm_4243 .mktoFormRow:not(.mktoLogicalFieldRow) .mktoFormCol.mktoFieldDescriptor:first-child:nth-last-child(3),
#mktoForm_4243 .mktoFormRow:not(.mktoLogicalFieldRow) .mktoFormCol.mktoFieldDescriptor:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .mktoFormCol.mktoFieldDescriptor {
  /* /blog newsletter opt-in */
  width: 100% !important;
}
#mktoForm_1072 .mktoFormRow .mktoFormCol .mktoFieldWrap #LblSingle_Opt_in__c {
  padding-top: 0;
}
