/* ==========================================================================
   Coldstream Power – Theme Base Styles

   This file contains only reset, base styles, CSS custom properties,
   and utility classes. Header and footer styles are in their own files.
   ========================================================================== */

/* ---------- CSS Custom Properties (Webflow variables) ---------- */

:root {
  --color--black: #152633;
  --color--primary: #3a89c7;
  --color--primary-2: #3f7aa8;
  --color--primary-4: #32526c;
  --color--primary-dark: #223c51;
  --color--accent: #ffcf00;
  --color--accent-light: #ffe367;
  --color--accent-dark: #d4a900;
  --color--white: white;
  --color--neutral-light-1: #edf2f7;
  --color--neutral-light-2: #dde5f0;
  --color--neutral-light-3: #c5d1e0;
  --color--primary-neutral: #8a9bb0;
  --color--opaque-black: #0009;
  --color--transparent: #0000;
  --font--body: "Open Sans", sans-serif;
  --font--heading: Inter, sans-serif;
  --font--heading-alt: "Oswald", sans-serif;
  --p-color: var(--color--opaque-black);
  --list-color: var(--color--opaque-black);
  --font--heading: Inter, sans-serif;
  --font--3-5rem: 3.5rem;
  --font--3rem: 3rem;
  --font--2-5rem: 2.5rem;
  --font--2rem: 2rem;
  --font--1-5rem: 1.5rem;
  --font--1-25rem: 1.25rem;
  --font--1-125rem: 1.125rem;
}

/* ---------- Reset & Base ---------- */

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  font-family: sans-serif;
  font-size: 16.5px;
}


body {
  margin: 0;
  padding: 0;
  font-family: var(--font--body);
  /* color: var(--color--black); */
  color: #0009;
  font-size: 1rem;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img {
  max-width: 100%;
  height: auto;
}

a {
  color: inherit;
}

/* p {
  color: var(--p-color);
} */
ul, ol {
  color: var(--list-color);
}
h1 {
    font-family: var(--font--heading);
    font-size: var(--font--3rem);
    margin-top: 0;
    margin-bottom: 0;
}
h2 {
    font-family: var(--font--heading); 
}
@media (max-width: 990px) {
  h1 {
    font-size: 2.25rem;
  }
}
@media screen and (min-width: 1280px) {
  .large-heading {
    font-size: 4.5rem !important;
  }
}
@media screen and (min-width: 1920px) {
  .large-heading {
    font-size: 5rem !important;
  }
}

h1, h2, h3, h4, h5, h6, .large-heading {
  text-wrap:balance !important;
  font-weight: 600 !important;
  line-height:1.1 !important;
  font-family: Inter, sans-serif !important;
}
/* From Design */
.tw-balance, h1, h2, h3, h4, h5, h6, [class*="heading-style"], .large-heading {
  text-wrap: balance !important;
}

/* ---------- Typography Utility ---------- */

.heading-style-h3 {
  font-family: var(--font--heading);
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.3;
}

.text-size-tiny {
  font-size: .875rem;
}

.text-align-right {
  text-align: right;
}

.text-align-center {
  text-align: center;
}

.margin-0 {
  margin: 0;
}

.text-weight-bold {
  font-weight: 700;
}

.text-color-primary {
  color: var(--color--primary);
  text-shadow: 1px 1px 8px #ffffff6b;
}

.text-color-accent {
  color: var(--color--accent);
}

/* ---------- Layout Utility ---------- */

.padding-global {
  padding-left: 5%;
  padding-right: 5%;
}

.container-large {
  width: 100%;
  max-width: 80rem;
  margin-left: auto;
  margin-right: auto;
}

.border-sides {
  border-left: 1px solid var(--color--neutral-light-2);
  border-right: 1px solid var(--color--neutral-light-2);
}

.border-sides.alternate {
  border-color: var(--color--primary-4);
}

.indent {
  padding-left: 3rem;
  padding-right: 3rem;
}

.section-spacer {
  height: 5rem !important;
}

.padding-bottom.padding-xxlarge {
  padding-bottom: 6rem;
}

.spacer--5rem {
  width: 100%;
  height: .5rem;
}

/* ---------- Section Variants ---------- */

.section {
  position: relative;
}

.section.bg-color-neutral1 {
  background-color: var(--color--neutral-light-1);
}

.section.bg-primary-4 {
  color: var(--color--white);
}

/* ---------- Accessibility ---------- */

.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
  word-wrap: normal !important;
}

.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  color: #21759b;
  display: block;
  font-size: 0.875rem;
  font-weight: 700;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
}

/* ---------- Display Helpers ---------- */

.hide-mobile {
  display: block;
}

.display-flex {
  display: flex;
}

.display-flex.stack {
  flex-flow: column;
}

.display-flex.gap-1 {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  padding-left: 0;
}

.display-flex.gap-2 {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
}

/* ---------- Responsive Base ---------- */

@media screen and (max-width: 991px) {
  .indent {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

@media screen and (max-width: 767px) {
  .hide-mobile {
    display: none !important;
  }

  .indent {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}

@media screen and (max-width: 479px) {
  .indent {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .section-spacer {
    height: 3rem !important;
  }
}



/* ---------- Buttons ---------- */
.hero-socius-form button.target-me-submit-btn {
  border-radius: 50rem;
}



/* ---------- Forms ---------- */
.hero-socius-form .form-gap-4 {
    gap: 0.75rem !important;
}
.before-button-append {
  display: none !important;
}
.hero-form-container.hero-form-full-screen{
  border: 1px solid #ffffff40;
}
@media screen and (min-width: 991px) {
  .hero-form-container.hero-form-full-screen {
    padding: 2rem 3rem;
    min-height: 500px;
    background-color: #ffffff26 !important;
    min-width: 25rem !important;
    max-width: 27rem !important;
  }
  .hero-form-mobile-button-wrap {
    display: none;
  }
}

/* ---------- Layout Overrides ---------- */
@media screen and (max-width: 767px) {
    main.wp-block-group {
        margin-top: 6.5rem;
        /* padding-bottom: 4.5rem; */
    }
}
@media screen and (max-width: 990px) {
  .button-group a {
    width: 100%;
  }
  
}

/* ---------- Block Overrides ---------- */
/* Hero */
.hero-overlay,
.hero-content-layer {
  padding-left: 5vw;
  padding-right: 5vw;
  display: flex;
  justify-content: center;
}

@media screen and (max-width: 990px) {
  .hero-form-container {
    padding: 1rem !important;
  }
  .hero-content {
    padding: 0;
  }
}

/* Content Split */

/* Cards - Column */
.wp-block-socius-pro-blocks-cards.cards-columns {
  margin-left: 5vw;
  margin-right: 5vw;
  width: auto;
}
.cards-columns-grid {
  margin-top: 0 !important;
  border-bottom: 1px solid var(--color--neutral-light-1);
}
.cards-item {
  position: relative;
  transition: 0.4s all;
  border-right: 1px solid var(--color--neutral-light-1);
}
.cards-content-section,
.cards-item-body {
  color: #0009;
}
.cards-description {
  max-width: 48rem;
  margin: 0 auto;
  
}
@media screen and (max-width:990px) {
  .cards-item-body {
      padding: 2rem 1.5rem !important;
  }
}
.cards-item:first-child {
  border-left: 1px solid var(--color--neutral-light-1);
}
@media screen and (min-width:991px) {
  .cards-item:nth-child(3n+1) { 
    border-left: 1px solid var(--color--neutral-light-1);
  }
}
.cards-item:hover {
  scale: 1.02;
  z-index: 2;
  /* background: var(--color--neutral-light-1) !important; */
}
.cards-content-section {
  border-left: 1px solid var(--color--neutral-light-1);
  border-right: 1px solid var(--color--neutral-light-1);
}

.cards-item-icon-wrap {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: #edf2f7;
  padding: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #3a89c7;
  transition: 0.4s all;
  margin-bottom: 1rem;
}

.cards-item:hover .cards-item-icon-wrap {
  color: #f5b432;
  background: white;
}

.cards-item::before {
  content: "";
  position: absolute;
  top: -100%; 
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--color--neutral-light-1); 
  transition: top 0.4s ease-in-out;
  z-index: -1;
}

.cards-item:hover::before {
  top: 0;
}
@media screen and (max-width:990px) {
  .cards-item {
    border-bottom: 1px solid var(--color--neutral-light-1);
    border-left: 1px solid var(--color--neutral-light-1);
  }
  .cards-item:first-child {
    border-top: 1px solid var(--color--neutral-light-1);
  }
  
}


/* Product Selector */
.side-tabs-layout {
  padding-left: 5vw;
  padding-right: 5vw;
}
.product-selector-side-tabs .side-tabs-list {
  padding: 0;
  border-left: 1px solid var(--color--neutral-light-1);;
}
.product-selector-side-tabs .side-tab-item {
  border-radius: 0;
  font-family: Oswald, sans-serif;
  font-size: 1.125rem;
  font-weight: 400;
  color: var(--color--primary-dark);
  text-transform: uppercase;
}
@media (max-width: 990px) {
  .product-selector-side-tabs .side-tabs-header-left {
    max-width: 100% !important;
  }
  .product-selector-heading {
    font-size: 2rem !important;
    text-align: center !important;
    margin-bottom: 0;
  }
  .product-selector-content {
    text-align: center !important;
  }
      .product-selector-side-tabs .side-tabs-vertical-divider {
        display: block;
        width: 100% !important;
        height: 1px;
        align-self: auto;
    }
    .product-selector-side-tabs .side-tabs-header {
      margin-bottom: 0 !important;
    }
}
.product-selector-side-tabs .side-tabs-list .side-tab-item:hover {
    color: var(--color--primary) !important;
    background-color: var(--color--neutral-light-1) !important;
}
@media screen and (min-width:991px) {
  .product-selector-content p {
    font-size: 1.125rem;
  }
  .product-selector-side-tabs .side-tab-item {
    padding-left: 3rem;
    padding-right: 3rem;
  }
}
.product-content p {
  color: white;
}
.side-tab-overlay-color {
  mix-blend-mode: multiply;
}
.product-selector-side-tabs .side-tab-product-details {
  padding: 2.5rem;
}
@media screen and (min-width:991px) {
  .product-selector-side-tabs .side-tabs-layout {
    display: flex;
    align-items: stretch;
  }
  .product-selector-side-tabs .side-tab-item {
    width: 100%;
    justify-content: flex-end;
    font-weight: 400;
    color: var(--color--primary-dark);
    text-transform: uppercase;
  }
  .product-selector-side-tabs .side-tabs-list {
    padding: 0;
    justify-content: center;
    align-items: flex-end;
  }
  .product-selector-side-tabs .side-tab-product-details {
    padding: 4rem;
  }
  .product-selector-side-tabs .side-tab-content {
    min-height: 475px;
    width: 100%;
  }
}

.product-selector-side-tabs .side-tab-overlay {
  background-color: var(--color--primary-dark);
}

/* Featured Projects / Slide -in */
.slide-in-content-wrapper
{
  margin-left: 5vw;
  margin-right: 5vw;
  border-left: 1px solid var(--color--neutral-light-1);
  border-right: 1px solid var(--color--neutral-light-1);
  width: auto;
}
.slide-in-button-group {
  padding-bottom: 2rem;
}

@media screen and (min-width: 991px) {
  .slide-in-button-group {
    padding-bottom: 4rem;
  }  
}
.gallery-page .slide-in-content-wrapper {
  padding-top: 2rem;
  overflow: hidden;
}
@media screen and (min-width: 991px) {
  .gallery-page .slide-in-content-wrapper {
    padding-top: 4rem;
  }
}
.slide-in-card-text {
  font-weight: 600;
}
.slide-in-content-section {
  padding-top: 1rem;
}
@media screen and (min-width: 991px) {
  .slide-in-content-section {
    padding-top: 2rem;
  }
}

/* Reviews */
.reviews-rating-cards {
  gap: 0;
}
.reviews-rating-card {
  box-shadow: none !important;
  border: 1px solid var(--color--neutral-light-1);
  border-radius: 0;
}
.reviews-rating-value {
  font-size: 2rem;
  font-family: Oswald, sans-serif;
  font-weight: 400;
  color: #223c51;
}
@media screen and (min-width: 991px) {
  .reviews-rating-value {
    font-size: 3rem;
  }  
}
@media screen and (min-width: 1920px) {
  .reviews-rating-value {
    font-size: var(--font--3-5rem);
  }
}
.reviews-slider-ratings-section {
  padding-left: 0;
  padding-right: 0;
}
.reviews-slider-ratings-section .reviews-slide-ratings {
  border-radius: 0;
}
.reviews-slide {
  text-align: left;
}
.reviews-star-rating svg {
    height: 20px;
    width: 20px;
    margin-right: 3px;
}

.reviews-slide-quote {
  font-size: 1.25rem;
  line-height: 1.6;
  font-style: normal;
}
.reviews-slider-track {
  border-top: 1px solid var(--color--neutral-light-1);
  border-bottom: 1px solid var(--color--neutral-light-1);
}
.reviews-slider-ratings-section .reviews-slider-wrapper {
  max-width: none;
}
.reviews-slider-dots {
  display: none;
}
.reviews-slider-prev, .reviews-slider-next {
  border-color: #edf2f7;
}
.testimonial-heading-background h2 {
  padding-top: 2rem;
  padding-bottom: 2rem;
  margin-bottom: 0;
  background-color: var(--color--neutral-light-1);
}

@media screen and (min-width: 991px) {
  .reviews-rating-cards.is-stretched .reviews-rating-card {
    border-left: none;
  }
  .reviews-rating-cards.is-stretched .reviews-rating-card:last-child {
    border-right: none;
  }
}

div.reviews-rating-header {
  font-family: var(--font--heading);
  letter-spacing: .1rem;
  text-transform: uppercase;
  margin-top: .25rem;
  margin-bottom: .25rem;
  font-size: .8rem;
  font-weight: 500;
  color: #0009;
}

/* Content Internal */
.content-internal-block-wrapper {
  margin-left: 5vw;
  margin-right: 5vw;
  border-left: 1px solid var(--color--neutral-light-2);
  border-right: 1px solid var(--color--neutral-light-2);
  position: relative;
  width: auto;
}

.content-internal-container-inner .flex-1 {
    width: 100%;
    max-width: 49rem;
    padding: 2rem 5vw 2.5rem;
}
@media screen and (min-width: 991px) {
  .content-internal-container-inner .flex-1 {
    padding: 4rem 4rem 4.5rem;
  }
}
@media screen and (min-width: 991px) {
  .content-internal-container-inner > .w-full {
    position: sticky;
    top: 190px;
  }
}

.content-internal-container-inner p {
    margin-bottom: 1rem;
}
.content-internal-container-inner ul.wp-block-list {
    margin-bottom: 1rem;
}
.content-internal-container-inner h1 {
  color: var(--color--primary-dark);
  font-size: var(--font--2-5rem);
  margin-bottom: 1rem;
  font-weight: 700;
}
.content-internal-container-inner h2 {
  clear: none;
  color: var(--color--primary-dark);
  font-size: var(--font--2rem);
  margin-bottom: 1rem;
  font-weight: 700;
}
.content-internal-container-inner h6 {
  color: var(--color--primary-dark);
  font-size: var(--font--1-125rem);
  margin-bottom: .25rem;
  line-height: 1.2;
  font-weight: 700;
}
.content-internal-container-inner .wp-block-pullquote {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
    border-left: 10px solid var(--color--primary-neutral);
    border-top: none;
    border-bottom: none;
    background-color: var(--color--neutral-light-1);
    color: var(--color--primary);
    padding: .75rem 1.25rem;
    font-size: 1.125rem;
    font-style: italic;
    font-weight: 600;
    line-height: 1.5;
}

.hero-form-sidebar {
  border-radius: 0;
  padding: 4rem 2rem !important;
  flex-flow: column;
  min-width: 20rem;
  display: flex;
}
@media screen and (max-width: 990px) {
  .hero-form-sidebar .hero-socius-form {
    display: none;
  }
  .hero-form-mobile-button-group {
    margin-top: 0 !important;
  }
  .hero-form-tagline {
    margin-bottom: 0.5rem;
    line-height: 1.1;
  }
  h2.hero-form-heading {
    margin-bottom: 1rem !important;
  }
}
.content-internal-cta {
  background-image: linear-gradient(90deg, #ffe57599, #ffae3980), radial-gradient(circle farthest-corner at 50% 50%, #ffffff80, var(--color--transparent)), url(https://coldstreamsolo.wpenginepowered.com/wp-content/uploads/2026/04/solar-panels5.webp);
  text-align: center;
  background-position: 0 0, 0 0, 50%;
  background-size: auto, auto, cover;
  flex-flow: column wrap;
  align-items: center;
  width: 100%;
  padding: 2rem;
  display: flex;
  border-radius: 0;
}
.content-internal-cta-inner {
  background-color: #ffffff80;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  padding: 1rem;
  display: flex;
}
.content-internal-cta-buttons {
  margin-top: 0 !important;
}
.content-internal-cta-buttons a {
  color: #223c51 !important;
  font-weight: 600 !important;
}

/* CTA */
.cta-text-overlay .cta-overlay{
  background-image: linear-gradient(90deg, #1d527cbf 19%, #ad5a5473 49%, #f9960826 77%, #ffe77c59), linear-gradient(#0000004d, #0000004d);
}
.cta-text-overlay {
  background-position: center 10%;
  background-color: var(--color--black);
}
.cta-content-wrap * {
    max-width: 50rem;
}
/* Content - Split: Content - Float */
@media screen and (min-width: 991px) {
  .content-split-float .content-split-container {
    gap: 2rem !important;
    grid-template-columns: 1fr 1fr !important;
    padding: 5rem 0;
  }
  .cta-text-overlay .cta-content-wrap {
    padding: 9rem 2rem;
  }
}
@media screen and (min-width: 1025px) {
  .content-split-float .content-split-container {
    gap: 5rem !important;
    grid-template-columns: 1fr 1fr !important;
  }
  /* .cta-text-overlay .cta-content-wrap {
    padding: 9rem 2rem;
  } */
}
.content-split-float .content-split-media-section img {
  box-shadow: 0 0 15px #00000014, 0 4px 6px -2px #00000008;
}
@media screen and (min-width: 991px) {
  .content-split-float .content-split-media-section {
    position: relative;
  }
  .content-split-float .content-split-media-section img {
    height: 100%;
    position: absolute;
    inset: 0;
  }
  .content-split-float .content-split-content-section {
    justify-content: center;
    display: flex;
    flex-direction: column;
  }
  .content-split-float .content-split-container {
    max-width: 90rem;
    margin: 0 auto;
  }
  .content-split-float .content-split-media-section {
    padding: 0px !important;
  }
  .content-split-float .content-split-media-section img {
    box-shadow: 0 0 15px #00000014, 0 4px 6px -2px #00000008
  }
}

.content-split-full .content-split-content-section {
  max-width: 49rem;
  margin: 0 auto;
}
@media screen and (max-width: 990px) {
  .content-split-content-section {
    padding: 1.5rem 1.5rem 2rem !important;
  }
}
@media screen and (min-width: 991px) and (max-width: 1280px) {
  .content-split-float .content-split-content-section {
    padding: 1.5rem 2rem 2rem 0rem !important;
  }
  .content-split-block  .content-split-heading {
    font-size: 2.5rem !important;
  }
}

/* Parallax */
.content-parallax-inline .content-parallax-card,
.content-parallax-grid .content-parallax-card {
  border: 1px solid #ffffff40;
  border-radius: 0;
}
.content-parallax-inline .content-parallax-card {
    backdrop-filter: blur(5px);
    background-color: #ffffff26;
}
.content-parallax-list .content-parallax-card-icon,
.content-parallax-grid .content-parallax-card-icon,
.content-parallax-inline .content-parallax-card-icon {
  justify-content: center;
  align-self: center;
  align-items: center;
  display: flex;
}
.content-parallax-list .content-parallax-card-icon svg,
.content-parallax-inline .content-parallax-card-icon svg {
  background-color: var(--color--transparent);
  color: var(--color--accent-light);
  border: 1px solid #ffffff4d;
  border-radius: 100%;
  padding: 10px;
  width: 50px;
  height: 50px;
}
.content-parallax-content-text,
.content-parallax-list {
  color: #fff;
}

.content-parallax-inline .content-parallax-card-icon {
  text-align: center;
  color: var(--color--accent-light);
  font-size: 4rem;
  font-weight: 700;
  line-height: 1;
}
.content-parallax-list .content-parallax-card .content-parallax-card-content {
  align-self: center;
  text-align: left;
}
.content-parallax-list .content-parallax-card {
  gap: 1rem;
  padding-top: 0;
  padding-bottom: 0;
}

.cta-parallax-content-container {
  max-width: 68rem;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}

/* .content-parallax-content .content-parallax-parallax-content, */
.content-parallax-list .content-parallax-parallax-content,
.content-parallax-inline  .content-parallax-parallax-content {
  border: 1px solid #ffffff26;
}
.content-parallax-card .content-parallax-card-content p,
.content-parallax-content-text ul,
.content-parallax-content-text p {
  color: white;
}
.content-parallax-card .content-parallax-card-content p,
.content-parallax-content-text p {
  font-size: 1.2rem;
}
.content-parallax-content-text ul {
  margin-top: 1rem;
  margin-left: 1.5rem;
  list-style: disc;
  font-size: 1rem;
}
.content-parallax-content-text ul li {
  margin-bottom: 1rem;
}
.content-parallax-content .content-parallax-content-container p{
  margin-bottom: 1.5rem;
}
.content-parallax-content .content-parallax-content-container h3 {
  margin-bottom: 0.5rem;
  color: #fff;
}

.large-num {
    z-index: 0;
    color: var(--color--accent-light);
    font-size: 4rem;
    font-weight: 700;
    line-height: 1;
}

/* FAQ */
.faq-item { 
  padding: .75rem 0 .75rem 1rem;
  border-left: 1px solid #edf2f7; 
  border-right: 1px solid #edf2f7;
}
svg.faq-arrow {
  width: 20px;
  height: 20px;
  margin-right: 1rem !important;
}
.faq-content-split .content-split-content-section {
  text-align: center;
  background: #223c51;
  height: 100%;
  color: white;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.faq-content-split .content-split-content-section p {
  color: white;
}
.faq-content-split .button-group {
  justify-content: center;
}

/* Request a Quote */
.get-a-quote-block .content-split-content p {
  font-size: 1.125rem;
}
.get-a-quote-block .baseform label {
  display: none;
}
.get-a-quote-block .target-me-submit-btn {
  background: var(--hero-button-primary-bg, #2563eb);
  color: var(--hero-button-primary-color, #ffffff);
  border-color: var(--hero-button-primary-border, #2563eb);
  font-family: var(--hero-button-primary-font-family, inherit);
  font-weight: var(--hero-button-primary-font-weight, 600);
  transition: all 0.3s ease;
  cursor: pointer;
  padding: var(--hero-button-padding, 1rem 2rem);
  border-radius: 50rem;
}
.get-a-quote-block .target-me-submit-btn:hover {
  transform: scale(1.05);
    background: var(--hero-button-primary-bg-hover, #1d4ed8);
    color: var(--hero-button-primary-color-hover, #ffffff);
    border-color: var(--hero-button-primary-border-hover, #1d4ed8);
}


/* Contact */
.contact-block-item-icon {
  padding: 10px;
  width: 40px;
  min-width: 40px;
  height: 40px;
  min-height: 40px;
  background-color: #ffe3674d;
  border-radius: 100%;
} 

.contact-block-item-icon svg {
  color: var(--color--accent-neutral);
  z-index: 10;
  display: flex;
  position: relative;
}
.contact-block-item-content {
  font-size: 1.125rem;
}
.contact-block-item-content a {
  text-decoration-color: var(--color--primary-vibrant);
  color: var(--color--primary-2);
}
.contact-block-item-content a:hover {
  color: var(--color--primary-vibrant);
}


/* Careers */
.careers-body {
  max-width: 48rem;
  margin: 0 auto 2rem; 
}
.careers-body p {
  color: var(--color--opaque-black)
}
ul.careers-jobs-section {
  gap: 0 !important;
}
.job-listings {
  border-top: 1px solid var(--color--neutral-light-1);
}
.careers-job {
  width: 100%;
  box-sizing: border-box;
  border-radius: 0 !important;
  border-left: none !important;
  border-right: none !important;
  border-bottom: none !important;
}
.careers-job ul {
  margin-left: 1rem;
  list-style: disc;
}
a.careers-job-apply {
  border-radius: 50rem !important;
}
a.careers-job-apply:hover {
  transform: scale(1.05);
}

@media screen and (max-width: 990px) {
  a.careers-job-apply {
    width: 100%;
  }
  .careers-job-apply-wrap {
    align-self: flex-start;
    display: block;
    width: 100%;
    text-align: center;
  }
}

/* Font Fixes */

@media screen and (max-width: 990px) {
  h2.careers-heading {
      font-size: 2rem !important;
  }
}
@media screen and (min-width: 991px) {
  .hero-button {
    font-size: 0.875rem;
  }
}
@media screen and (min-width: 1920px) {
    .heading-style-h1,
    .hero-title {
        font-size: var(--font--3-5rem) !important;
    }
}

/* Spacing Fixes */
@media screen and (min-width: 991px) {
  .content-split-heading {
    margin-bottom: 1.5rem;
  }
  /* .content-split-content p,
  .content-split-content ul {
    font-size: 1.125rem;
  } */

}

.content-split-content p,
.content-split-content ul {
  color: #0009;
}


/* Referral Form */
main div.wpforms-container-full:not(:empty) {
  margin-top: 0;
  margin-bottom: 0;
  padding-left: 5vw;
  padding-right: 5vw;
  padding-top: 2rem;
  margin-left: 5vw;
  margin-right: 5vw;
  width: auto;
  border-top: 1px solid var(--color--neutral-light-1);
  border-left: 1px solid var(--color--neutral-light-1);
  border-right: 1px solid var(--color--neutral-light-1);
}
@media screen and (min-width: 991px) {
  main div.wpforms-container-full:not(:empty) {
    padding-top: 4rem;
  }
}

.wpforms-field.wpforms-field-content .wpforms-field-row h3 {
  font-family: var(--font--heading);
  font-size: var(--font--2rem);
  font-weight: 600;
  color: #223c51;
}

main div.wpforms-container-full button[type=submit]:not(:hover):not(:active) {
    background: var(--hero-button-primary-bg, #2563eb);
    color: var(--hero-button-primary-color, #ffffff);
    border-color: var(--hero-button-primary-border, #2563eb);
    font-family: var(--hero-button-primary-font-family, inherit);
    font-weight: var(--hero-button-primary-font-weight, 600);
    transition: all 0.3s ease;
    cursor: pointer;
    padding: var(--hero-button-padding, 1rem 2rem);
    border-radius: 50rem;
    height: auto;
}


main div.wpforms-container-full button[type=submit]:hover:not(:active) {
  transform: scale(1.05);
  background: var(--hero-button-primary-bg-hover, #1d4ed8);
  color: var(--hero-button-primary-color-hover, #ffffff);
  border-color: var(--hero-button-primary-border-hover, #1d4ed8);
  cursor: pointer;
  padding: var(--hero-button-padding, 1rem 2rem);
  border-radius: 50rem;
  height: auto;
  font-weight: 400;
}

/* CSS from Thersea */

@media screen and (min-width: 1920px) {
  .feature-card {
    padding: 4rem;
  }
}
@media screen and (min-width: 1440px) {
  .feature-card {
    padding: 3rem;
  }
}
@media screen and (min-width: 1280px) {
  .feature-card {
    padding: 2.5rem;
  }
}

/* Max Containers */
@media screen and (min-width: 1920px) {
  /* Blocks */
  /* .content-split-float, */
  .wp-block-spacer,
  .wp-block-socius-pro-blocks-cards,
  .wp-block-socius-pro-blocks-reviews,
  .content-internal-block-wrapper,
  main div.wpforms-container-full:not(:empty),
  .careers-block,
  .footer > .wp-block-group {
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 90rem;
  }

  /* Internal parts of blocks */
  .side-tabs-layout,
  .slide-in-content-wrapper {
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 90rem;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .content-parallax-inline {
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 90rem;
  }

  h3.product-heading {
    font-size: 3rem !important;
  }

  
  .reviews-slider-ratings-section {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .footer > .wp-block-group.padding-global.is-layout-flow.wp-block-group-is-layout-flow {
    padding-left: 0;
    padding-right: 0;
  } 
  .cta-text-overlay .cta-content-wrap {
    padding-left: 0 !important;
    padding-right: 0 !important;
    max-width: 90rem !important;
    width: auto !important;
    margin: 0 auto !important;
}

  /* Hero Overrides */
  .hero-content-layer {
    max-width: 90rem;
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    padding-right: 0;
    translate: -50% 0%;
    left: 50%;

    grid-column-gap: 2rem;
    grid-row-gap: 2rem;
    grid-template-rows: auto;
    grid-template-columns: 1.25fr minmax(27rem, .75fr);
    grid-auto-columns: 1fr;
    width: 100%;
    height: 100%;
    display: grid;
}
  .hero-content {
    padding: 0;
    margin: 0;
  }
  .hero-form-container.hero-form-full-screen {
    margin: 0 !important;
    justify-self: end !important;
  }
}

/* More overrides to handle absurdly large screens */
.product-selector-side-tabs .side-tabs-header {
  margin-bottom: 0 !important;
  margin-left: auto;
  margin-right: auto;
  max-width: 90rem;
}
.product-selector-block {
  background: white !important;
}
.side-tabs-wrapper {
  background: #edf2f7;
}

@media screen and (min-width: 991px) {
  .content-split-centered {
    width: 100%;
    margin: 0 auto !important;
    max-width: 90rem;
  }
  .content-split-full .content-split-container {
    grid-column-gap: 0rem;
    grid-template-rows: auto;
    grid-template-columns: 1fr 1fr !important;
    grid-auto-columns: 1fr;
    align-items: center;
    width: 100%;
    display: grid;
  }
  .content-split-full .content-split-content-section {
    max-width: 45rem;
    /* place-self: end; */
  }
  .content-split-full .content-split-container-media-right  .content-split-content-section {
    justify-self: end;
    border-left: 1px solid var(--color--neutral-light-1);
    margin-right: 0;
  }
  .content-split-full .content-split-container-media-left .content-split-content-section {
    justify-self: start;
    border-right: 1px solid var(--color--neutral-light-1);
    margin-right: 5vw;
    margin-left: 0;
  }
  .content-split-float .content-split-container-media-left .content-split-content-section {
    order: 1;
  }
  .content-split-float .content-split-container-media-right .content-split-media-section {
    order: 1;
  }
  .content-split-full .content-split-container-media-left .content-split-media-section {
    grid-area: 1 / 1 / 2 / 2;

  }
  .content-split-full .content-split-media-section {
      grid-area: 1 / 2 / 2 / 3;
      place-self: stretch stretch;
      position: relative;
  }

  .content-split-full .content-split-media-section img {
    position: absolute;
    inset: 0;
  }
}
@media screen and (max-width: 990px) {
  .content-split-full .content-split-content-section {
    max-width: none;
    padding: 1rem 5vw 3rem !important;
  }
}
@media screen and (min-width: 1440px) {
  .content-split-full .content-split-content-section {
    padding: 5rem 4.5rem 5.5rem !important;
  }
}
@media screen and (min-width: 1920px) {
  .content-split-full .content-split-content-section {
    max-width: 45rem;
    padding-left: 5rem !important;
    padding-right: 5rem !important;
  }
}
 /* .content_flush {
    max-width: none;
    padding: 0 5vw 3rem;
  }
  .content_flush {
  width: 100%;
  max-width: 49rem;
  padding: 4rem 4rem 4.5rem;
} */

/* Heading Overrides */
h2.hero-form-heading{
  /* color: var(--color--primary); */
  letter-spacing: .025rem;
  text-transform: uppercase;
  font-family: Oswald, sans-serif !important;
  font-size: 2.5rem;
  font-weight: 400 !important;
  line-height: 1.2;
  display: block;
}
.hero-form-tagline {
  margin-bottom: 0.5rem;
  font-weight: 500;
  line-height: 1.2;
  display: block;
}
@media screen and (max-width: 767px) {
  .hero-title {
    font-size: var(--font--2-25rem) !important;
    margin-bottom: 1rem;
  }
  h2.hero-form-heading {
    font-size: var(--font--2-25rem) !important;
    margin-bottom: .5rem;
  }
}
@media screen and (max-width: 990px) {
  .hero-title {
    font-size: var(--font--3rem) !important;
  }
  h2.hero-form-heading {
    font-size: var(--font--1-5rem) !important;
  }
}
@media screen and (min-width: 1280px) {
  .hero-title {
    font-size: 4.5rem !important;
  }
  h2.hero-form-heading {
    font-size: 2.75rem !important;
  }
}
@media screen and (min-width: 1440px) {
  .hero-form-tagline {
    font-size: var(--font--1-125rem) !important;
  }
}
@media screen and (min-width: 1920px) {
  .hero-title {
    font-size: 5rem !important;
  }
  h2.hero-form-heading {
    font-size: 3rem !important;
  }
  .hero-form-tagline {
    font-size: var(--font--1-25rem) !important;
  }
}


/* Spacer Hacking */
@media screen and (min-width: 1920px) {
  .cta-parallax  {
    padding-top: 14rem !important;
    padding-bottom: 14rem !important;
  }
}

@media screen and (min-width: 1440px) {
  .cta-parallax  {
    padding-top: 12rem !important;
    padding-bottom: 12rem !important;
  }
}
/* .cta-parallax  {
  padding-top: 10rem !important;
  padding-bottom: 10rem !important;
} */
.content-parallax-parallax-bottom {
  color: white;
}

/* Trust Logos */
.trust-logos-block .trust-logos-block {
  padding-top: 2rem;
  padding-bottom: 2rem;
}
@media screen and (min-width: 991px) {
  .trust-logos-block .trust-logos-block {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
}
.trust-logos-item {
  padding: 0 3rem !important;
}
.trust-logos-ticker .trust-logos-ticker-track {
  gap: 0 !important;
}

@media screen and (max-width: 420px) {
    .hero-title {
        font-size: var(--font--2rem) !important;
    }
}
@media screen and (min-width: 1280px) {
    .hero-title {
        font-size: var(--font--2rem) !important;
    }
}