section[class^="ad-lp-hero-"] {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
}

.ad-lp-hero-text-container,
.ad-lp-hero-form-container {
  flex-basis:100%;
}

.ad-lp-hero-text-container {
  margin-right:0;
}

@media only screen and (min-width: 992px) {
  .ad-lp-hero-text-container,
  .ad-lp-hero-form-container {
    flex-basis:calc(50% - 50px);
  }

  .ad-lp-hero-text-container {
    margin-right:100px;
  }
}

.ad-lp-hero-text {
  width:100%;
}

.ad-lp-hero-text-container .ad-lp-hero-text h1 {
  font-family:var(--text-display);
  font-weight:900;
  font-size:clamp(2.5rem, 2vw + 1.5rem, 3rem);
  line-height:clamp(2.75rem, 4vw + 1.5rem, 3.25rem);
  text-transform:uppercase;
  width:100%;
  margin:0 0 15px 0;
  padding:0;
  -webkit-hyphens:auto;
  -ms-hyphens:auto;
  hyphens:auto;
  word-wrap:break-word;
  word-break:break-word;
}

@media only screen and (min-width: 992px) {
  .ad-lp .ad-lp-hero-text-container .ad-lp-hero-text h1 {
    font-size:32px;
    line-height:36px;
  }
}

.ad-lp-hero-text-container .ad-lp-hero-text > span {
  font-family:var(--text-display);
  font-weight:900;
  font-size:16px;
  line-height:24px;
  text-transform:uppercase;
  display:block;
  width:100%;
  margin:0 0 15px 0;
}

/* General Form */
.ad-lp-hero-form-container {
  color:var(--white);
}

.ad-lp-hero-form-container .ad-lp-hero-form {
  background-color:var(--cutler);
  padding:30px;
}

/* Freya Form */
.ad-lp-hero-form-container .fr-form .fr-form__heading {
  color:var(--white);
  font-family:var(--text-serif);
  font-weight:700;
  font-size:24px;
  line-height:28px;
  margin:0;
  padding:0;
}

.ad-lp-hero-form-container .fr-form .fr-form__heading:after {
  content:"";
  width:50px;
  height:5px;
  background-color:var(--moss);
  display:block;
  margin:12px 0 12px;
  margin-left:0;
}

.ad-lp-hero-form-container .fr-form .fr-form__intro {
  color:var(--white);
  font-family:var(--text-sans);
  font-size:16px;
  line-height:22px;
  margin-bottom:15px;
}

.ad-lp-hero-form-container .fr-form .fr-form-step label {
  color:var(--white);
  font-family:var(--text-display);
  font-weight:900;
  font-size:14px;
  line-height:21px;
  letter-spacing:0.7px;
  text-transform:uppercase;
}

.ad-lp-hero-form-container .fr-form .fr-form-step .fr-form-field select,
.ad-lp-hero-form-container .fr-form .fr-form-step .fr-form-field input {
  border:none;
  font-size:18px;
  padding:10px;
  background-color:var(--white);
  opacity:1;
}

.ad-lp-hero-form-container .fr-form .fr-form-step .fr-form-field:has(input[type="checkbox"]) {
  margin-bottom:10px;
}

.ad-lp-hero-form-container .fr-form .fr-form-step .fr-form-field input[type="checkbox"] {
  margin-bottom:5px;
}

.ad-lp-hero-form-container .fr-form .fr-form-step .fr-form-field input[type="checkbox"] + label {
  font-family:var(--text-sans);
  text-transform:none;
  letter-spacing:0;
  font-weight:700;
}

.ad-lp-hero-form-container .fr-form .fr-form-step .fr-form-field .iti__selected-dial-code {
  font-size: 18px;
}

.ad-lp-hero-form-container .fr-form .fr-form-step .fr-form-field #fr-phone {
  border: none;
  font-size: 18px;
  padding: 10px;
}

.ad-lp-hero-form-container .fr-form .fr-form-step .fr-field-error {
  font-size:16px;
  line-height:22px;
  color:var(--white);
  font-family:var(--text-sans);
  font-weight:700;
}

.ad-lp-hero-form-container .fr-form .fr-form-controls button {
  color:var(--black);
  background-color:var(--moss);
  text-align:center;
  padding:15px;
  border-radius:4px;
  width:100%;
  outline:2px solid transparent;
  outline-offset:-2px;
  box-shadow:none;
  transition:.2s all ease;
}

.ad-lp-hero-form-container .fr-form .fr-form-controls button:is(:hover, focus) {
  background-color:var(--white);
  color:var(--under-the-elms);
}

.ad-lp-hero-form-container .fr-form .fr-form-controls button:focus {
  outline:2px solid var(--under-the-elms);
}

.ad-lp-hero-form-container .fr-form .fr-form-controls button span {
  font-family:var(--text-display);
  font-size:14px;
  line-height:21px;
  letter-spacing:0.1px;
  text-transform:uppercase;
}


.ad-lp-hero-form-container .fr-form .fr-form-controls button span:after,
.ad-lp-hero-form-container .ad-lp-hero-form.slate form .form_action button:after {
  content: "\00a0\f105";
  font-family: "Font Awesome 6 Sharp", "Font Awesome 6 Brands";
  font-size: 14px;
  font-weight:900;
}

.ad-lp-hero-form-container .fr-form .fr-phone-cta span,
.ad-lp-hero-form-container .fr-form .fr-privacy-text span,
.ad-lp-hero-form-container .fr-form .fr-phone-cta a,
.ad-lp-hero-form-container .fr-form .fr-privacy-text a {
  color:var(--white);
  font-family:var(--text-sans);
  font-size:14px;
  line-height:20px;
  transition:.2s all ease;
}

.ad-lp-hero-form-container .fr-form .fr-phone-cta a,
.ad-lp-hero-form-container .fr-form .fr-privacy-text a {
  font-weight:600;
}

.ad-lp-hero-form-container .fr-form .fr-phone-cta a:hover,
.ad-lp-hero-form-container .fr-form .fr-privacy-text a:hover {
  text-decoration:none;
}

/* Slate Form */
.ad-lp-hero-form-container .ad-lp-hero-form.slate .slate-form-text h2 {
  color: var(--white);
  font-family: var(--text-serif);
  font-weight: 700;
  font-size: 24px;
  line-height: 28px;
  margin: 0;
  padding: 0;
}

.ad-lp-hero-form-container .ad-lp-hero-form.slate .slate-form-text h2:after {
  content: "";
  width: 50px;
  height: 5px;
  background-color: var(--moss);
  display: block;
  margin: 12px 0 12px;
  margin-left: 0;
}

.ad-lp-hero-form-container .ad-lp-hero-form.slate .slate-form-text .slate-form-description p,
.ad-lp-hero-form-container .ad-lp-hero-form.slate .slate-form-text .slate-form-description a {
  color:var(--white);
  font-family:var(--text-sans);
  font-size:16px;
  line-height:22px;
  margin-bottom:15px;
}

.ad-lp-hero-form-container .ad-lp-hero-form.slate .slate-form-text .slate-form-description a {
  text-decoration:underline;
}

.ad-lp-hero-form-container .ad-lp-hero-form.slate form .form_container .form_loading {
  color:var(--white);
  font-weight:700;
  text-align:center;
}

.ad-lp-hero-form-container .ad-lp-hero-form.slate form .form_container .form_label {
  color:var(--white);
  font-family:var(--text-display);
  font-weight:900;
  font-size:14px;
  line-height:21px;
  letter-spacing:0.7px;
  text-transform:uppercase;
}

.ad-lp-hero-form-container .ad-lp-hero-form.slate form .form_container .required {
  background:none;
}

.ad-lp-hero-form-container .ad-lp-hero-form.slate form .form_container .required .form_label {
  color:var(--black);
  background-color:#FCC;
}

.ad-lp-hero-form-container .ad-lp-hero-form.slate form .form_container .form_responses input[type="radio"] + label {
  color:var(--white);
  font-family:var(--text-sans);
  font-weight:700;
  font-size:16px;
  line-height:22px;
}

.ad-lp-hero-form-container .ad-lp-hero-form.slate form .form_container .form_responses input,
.ad-lp-hero-form-container .ad-lp-hero-form.slate form .form_container .form_responses select {
  border:none;
  font-size:18px;
  padding:10px;
}

.ad-lp-hero-form-container .ad-lp-hero-form.slate form .form_container .form_responses input + label {
  color:var(--white);
  font-size:16px;
}

.ad-lp-hero-form-container .ad-lp-hero-form.slate form .form_container .form_responses input[type="radio"] {
  appearance:none;
  -webkit-appearance:none;
  background-color:var(--white);
  width:16px;
  height:16px;
  border:none;
  outline:none;
  border-radius:50%;
  display:inline-grid;
  place-content:center;
}

.ad-lp-hero-form-container .ad-lp-hero-form.slate form .form_container .form_responses input[type="radio"]:before {
  content:"";
  width:12px;
  height:12px;
  border-radius:50%;
  transform:scale(0);
  transition:.2s all ease;
  box-shadow:inset 1em 1em var(--under-the-elms);
}

.ad-lp-hero-form-container .ad-lp-hero-form.slate form .form_container .form_responses input[type="radio"]:checked:before {
  transform:scale(1);
}

.ad-lp-hero-form-container .ad-lp-hero-form.slate form .form_container .form_responses input:focus-within,
.ad-lp-hero-form-container .ad-lp-hero-form.slate form .form_container .form_responses select:focus-within {
  border:none;
  outline:none;
}

.ad-lp-hero-form-container .ad-lp-hero-form.slate form .form_container .form_question {
  margin-bottom:15px;
}

.ad-lp-hero-form-container .ad-lp-hero-form.slate form .form_container .form_multiselect .form_responses select {
  height:100px;
  overflow:scroll;
  width:100%;
}

.ad-lp-hero-form-container .ad-lp-hero-form.slate form .form_container .form_select .form_responses select {
  width:100%;
}

.ad-lp-hero-form-container .ad-lp-hero-form.slate form .form_container .form_question:has(input[type="text"]),
.request-info-form div.form_question.form_text,
.request-info-form div.form_question.form_select {
  width:calc(50% - 5px);
  display:inline-block;
  padding:0 5px 0 5px;
}

.ad-lp-hero-form-container .ad-lp-hero-form.slate form .form_container .form_responses input[type="text"],
.ad-lp-hero-form-container .ad-lp-hero-form.slate form .form_container .form_responses input[type="email"],
.ad-lp-hero-form-container .ad-lp-hero-form.slate form .form_container .form_responses input[type="tel"] {
  width:100%;
}

.ad-lp-hero-form-container .ad-lp-hero-form.slate form .form_container .form_question[data-export="sys:field:texting_permission"] {
  padding:0 5px 0 5px;
}

.ad-lp-hero-form-container .ad-lp-hero-form.slate form .form_container .form_question[data-export="sys:field:texting_permission"] .form_label {
  font-family: var(--text-sans-serif);
  text-transform: none;
  font-weight: normal;
  letter-spacing: 0;
  font-size: 16px;
  line-height: 22px;
}

.ad-lp-hero-form-container .ad-lp-hero-form.slate form .form_action {
  line-height:22px;
  padding:0 5px 0 5px;
}

.ad-lp-hero-form-container .ad-lp-hero-form.slate form .form_action button {
  color: var(--black);
  background-color:var(--moss);
  text-align:center;
  padding:15px;
  border-radius:4px;
  width:100%;
  outline:2px solid transparent;
  outline-offset:-2px;
  box-shadow:none;
  transition:.2s all ease;
  font-family:var(--text-display);
  font-size:14px;
  line-height:21px;
  letter-spacing:0.1px;
  text-transform:uppercase;
}

.ad-lp-hero-form-container .ad-lp-hero-form.slate form .form_action button:is(:hover, :focus) {
  background-color:var(--white);
  color:var(--under-the-elms);
}

.ad-lp-hero-form-container .ad-lp-hero-form.slate form .form_action button:focus {
  outline:2px solid var(--under-the-elms);
}

.ad-lp-hero-form-container .ad-lp-hero-form.slate form .form_action p,
.ad-lp-hero-form-container .ad-lp-hero-form.slate form .form_action i {
  font-family:var(--text-sans);
  font-size:16px;
  line-height:22px;
  color:var(--white);
}

/* Privacy Statement */
.ad-lp-hero-form-container details.privacy-statement {
  color:var(--white);
  border:none;
  margin-top:0;
  margin-bottom:0;
}

.ad-lp-hero-form-container details.privacy-statement summary {
  font-size:16px;
  line-height:20px;
  font-weight:700;
  color:var(--white);
  text-align:center;
  width:100%;
  border-radius:4px;
  padding:10px 0;
  outline:2px solid transparent;
  outline-offset:-2px;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:.2s all ease;
}

.ad-lp-hero-form-container details.privacy-statement summary::marker {
  content:none;
}

.ad-lp-hero-form-container details.privacy-statement summary::-webkit-details-marker {
  display:none;
}

.ad-lp-hero-form-container details.privacy-statement summary:focus-visible {
  border:none;
  outline:2px solid var(--under-the-elms);
}

.ad-lp-hero-form-container details.privacy-statement summary i {
  margin-left:10px;
  transition:.2s all ease;
}

.ad-lp-hero-form-container details.privacy-statement[open] summary i {
  transform:rotate(-180deg);
}

.ad-lp-hero-form-container details.privacy-statement p,
.ad-lp-hero-form-container details.privacy-statement a {
  color:var(--white);
  font-family:var(--text-sans);
  font-size:14px;
  line-height:20px;
}

.ad-lp-hero-form-container details.privacy-statement p {
  margin-top:5px;
}

.ad-lp-hero-form-container details.privacy-statement a {
  font-weight:600;
}

/* Sticky Buttons */
.mobile-actions {
	display:none;
	box-shadow: 0px 4px 9px var(--black);
	position:fixed;
	text-align:center;
	left:0;
	bottom:-200px;
	width:100%;
	padding:15px;
	background:var(--white);
	z-index:9;
	transition:bottom 1s;
}
.mobile-actions.show {
	bottom:0;
	display:block;
}
.mobile-actions .button {
	display:inline-flex;
	margin:0 15px 0 auto;
}

/* Styles specific to layout builder preview */
/* Hide sticky buttons in layout builder preview */
.ouws_wspage:has(.node-ad-landing-page-layout-builder-form) .mobile-actions {
  display:none;
}

/* Remove outside padding on solid bg hero section */
.ouws_wspage:has(.node-ad-landing-page-layout-builder-form) .layout:has(section[class^="ad-lp-hero-"]) {
  padding:0;
}

.ouws_wspage:has(.node-ad-landing-page-layout-builder-form) .layout:has(section[class^="ad-lp-hero-solid-bg"]) .layout-builder-block {
  padding:30px 0;
}

/* Remove outside padding on image bg hero section */
.ouws_wspage:has(.node-ad-landing-page-layout-builder-form) .layout:has(section[class^="ad-lp-hero-image-bg"]) .layout-builder-block {
  padding:0;
}

/* form submission text */
.form_container:not(:has(.form_page)),
.form_container:not(:has(.form_page)) > *,
.form_container:not(:has(.form_page)) li,
.form_container:not(:has(.form_page)) a,
.form_container:not(:has(.form_page)) a:hover {
  color:var(--white);
  font-size:16px;
}

.form_container:not(:has(.form_page)) a {
  font-weight:700;
}
