/* Theme base styles */
:root {
    --color-ui-black: #333333;
    --color-ui-grey: #DFDFDF;
    --color-ui-dark-grey: #6E6E6E;
    --color-ui-light-grey: #F0F0F0;

    --color-brand-green: hsl(146, 100%, 35%);  /* #00b34d */
    --color-brand-green-darker: hsl(146, 100%, 27%);

    --color-brand-yellow: hsl(46, 85%, 57%); /* #efc334 */
    --color-brand-dark-blue: hsl(220, 71%, 12%);
    --color-brand-light-blue: hsl(195, 40%, 96%);  /* #F2F8F9 */
    --color-light-green: hsl(160, 37%, 97%); /* #F4FAF8 */
    --color-brand-light-green: hsl(160, 37%, 97%); /* #F4FAF8 */

    --color-brand-green-hover: hsl(146, 100%, 40%);
    --color-brand-yellow-hover: hsl(46, 85%, 62%);
    --color-brand-dark-blue-hover: hsl(220, 71%, 17%);
}

* {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }

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

img {
  display: block;
  width: 100%;
}
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */

/**
 * Remove the margin in all browsers.
 */

body {
  margin: 0;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */

/**
 * Add the correct box sizing in Firefox.
 */

hr {
  box-sizing: content-box;
  height: 0;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, Opera, and Safari.
 */

abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Forms
   ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Remove the inheritance of text transform in Edge and Firefox.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * Remove the padding so developers are not caught out when they zero out `fieldset` elements in all browsers.
 */

legend {
  padding: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */

/*
 * Add the correct display in Edge and Firefox.
 */

details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/* Objects
Non-cosmetic design patterns including grid and layout classes)
*/



/* CSS variables */

:root {
  --column-gap: 2.13%;
  --column-width-multiplier: 8.333;
}

/* Mobile layout */

.row-fluid {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}


  .row-fluid .span1,
  .row-fluid .span2,
  .row-fluid .span3,
  .row-fluid .span4,
  .row-fluid .span5,
  .row-fluid .span6,
  .row-fluid .span7,
  .row-fluid .span8,
  .row-fluid .span9,
  .row-fluid .span10,
  .row-fluid .span11,
  .row-fluid .span12{
  min-height: 1px;
  width: 100%;
}

/* Desktop layout */

@media (min-width: 768px) {
  .row-fluid {
    flex-wrap: nowrap;
    justify-content: space-between;
  }

  
    .row-fluid .span1 {
      width: calc(var(--column-width-multiplier) * 1% * 1 - var(--column-gap) * (11 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span2 {
      width: calc(var(--column-width-multiplier) * 1% * 2 - var(--column-gap) * (10 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span3 {
      width: calc(var(--column-width-multiplier) * 1% * 3 - var(--column-gap) * (9 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span4 {
      width: calc(var(--column-width-multiplier) * 1% * 4 - var(--column-gap) * (8 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span5 {
      width: calc(var(--column-width-multiplier) * 1% * 5 - var(--column-gap) * (7 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span6 {
      width: calc(var(--column-width-multiplier) * 1% * 6 - var(--column-gap) * (6 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span7 {
      width: calc(var(--column-width-multiplier) * 1% * 7 - var(--column-gap) * (5 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span8 {
      width: calc(var(--column-width-multiplier) * 1% * 8 - var(--column-gap) * (4 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span9 {
      width: calc(var(--column-width-multiplier) * 1% * 9 - var(--column-gap) * (3 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span10 {
      width: calc(var(--column-width-multiplier) * 1% * 10 - var(--column-gap) * (2 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span11 {
      width: calc(var(--column-width-multiplier) * 1% * 11 - var(--column-gap) * (1 * var(--column-width-multiplier) / 100));
    }
  
}

.body-container-wrapper {
  padding: 0;
}

.fs-container {
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
  width: 100%;
  max-width: 1440px;
}

.fs-container--narrow {
  max-width: 1024px;
}

@media (min-width: 768px) {
  .fs-container {
    padding-left: 40px;
    padding-right: 40px;
  }
}
.content-wrapper {
  margin: 0 auto;
  padding: 0 1rem;
}

@media screen and (min-width: 1380px) {
  .content-wrapper {
    padding: 0;
  }
}

.dnd-section > .row-fluid {
  margin: 0 auto;
}

.dnd-section .dnd-column {
  padding: 0 1rem;
}

@media (max-width: 767px) {
  .dnd-section .dnd-column {
    padding: 0;
  }
}

/* Elements
Base HMTL elements are styled in this section (<body>, <h1>, <a>, <p>, <button> etc.)
*/

:root {
  --text-size-body: 18px;
  --text-size-sm: 14px;
  --text-size-xs: 12px;
  --text-size-lg: 22px;
  --text-size-h1: 48px;
  --text-size-h2: 38px;
  --text-size-h3: 31px;
  --text-size-h4: 18px;
  --text-size-h5: 16px;
  --text-size-h6: 14px;

  --text-line-height-body: 1.5;
  --text-line-height-sm: 1.25;
  --text-line-height-xs: 1;
  --text-line-height-lg: 1.3;
  --text-line-height-h1: 1.3;
  --text-line-height-h2: 1.3;
  --text-line-height-h3: 1.3;
  --text-line-height-h4: 1.5;
  --text-line-height-h5: 1.25;
  --text-line-height-h6: 1.25;
}

@media screen and (max-width: 1023px) {
  :root {
      --text-size-h1: 28px;
      --text-size-h2: 24px;
      --text-size-h3: 20px;
  }
}

html, body {
  font-family: "Nunito", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 16px;
}


/************** Text Elements **************/
/* Headings */

h1, .h1 {
  font-size: var(--text-size-h1);
  line-height: var(--text-line-height-h1);
  margin-top: 0;
  margin-bottom: 0.3em;
}

h2, .h2 {
  font-size: var(--text-size-h2);
  line-height: var(--text-line-height-h2);
  margin-top: 0;
  margin-bottom: 0.3em;
}

h3, .h3 {
  font-size: var(--text-size-h3);
  line-height: var(--text-line-height-h3);
  margin-top: 0;
  margin-bottom: 0.8em;
}

h4, .h4 {
  font-size: var(--text-size-h4);
  line-height: var(--text-line-height-h4);
  margin-top: 0;
  margin-bottom: 0.8em;
}

h5, .h5 {
  font-size: var(--text-size-h5);
  line-height: var(--text-line-height-h5);
  margin-top: 0;
  margin-bottom: 0.8em;
}

h6, .h6, .fs-subheader {
  font-size: var(--text-size-h6);
  line-height: var(--text-line-height-h6);
  letter-spacing: 0.3em;
  text-transform: uppercase;
  margin: 0 0 1em;
}

blockquote, p {
  font-size: var(--text-size-body);
  line-height: 1.6;
  color: var(--color-ui-black);
  margin-top: 0;
  margin-bottom: 0.8em;
}




/************** Lists **************/
li,
li {
  font-size: var(--text-size-body);
  line-height: var(--text-line-height-body);
}

/************** Links and Media **************/
a {
  color: var(--color-brand-green);
  text-decoration: underline;
}

a:hover,
a:focus
{
  color: var(--color-brand-green-hover);
}

a:hover {
  text-decoration: none;
}

img {}

figure {}

figcaption {}

video {}

iframe {}
/* General Button Styles */
.btn {
  text-transform: uppercase;
  position: relative;
  font-weight: 600;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  border-radius: 9999px;
  letter-spacing: 0.06em;
  font-size: 15px;
  line-height: 1;
  padding: 15px 30px;
  cursor: pointer;
  justify-content: center;
  text-align: center;
  min-width: 64px;
  z-index: 10;
  text-decoration: none;

  /* Arrow and animation */
  span {
    display: inline-block;
    position: relative;
    z-index: 1;
    transition: transform 0.2s ease-out;
    margin-bottom: -1px;
  }
}



@media (min-width: 768px) {
  .btn {
    transition: color 0.2s ease-out, background-color 0.2s ease-out, background-position 0.4s ease-out;
    will-change: color, background-color, background-position;
    background-size: 400% 100%;
    background-position: 0 0;

    &::after {
      margin-top: 1px;
      opacity: 0;
      position: absolute;
      right: 22px;
      transition: opacity 0.2s ease-out, right 0.2s ease-out;
      height: 100%;
      display: flex;
      align-items: center;
    }

    &.btn--arrow {
      span {
        transform: translateX(-10px);
      }

      &::after {
        opacity: 1;
        right: 20px;
      }
    }
    
    &:hover {
      background-position: 100% 0;

      span {
        transform: translateX(-10px);
      }

      &::after {
        opacity: 1;
        right: 20px;
      }
    }
  }
}


/* CTA Button Style Overrides */
a.cta_button.btn {
  box-sizing: border-box !important;
}


/* Default Button Variants */

.btn--green,
.btn--green:hover,
.btn--green:focus,
.btn--green:active {
  background-color: var(--color-brand-green);
  color: #FFFFFF;
}

@media (min-width: 768px) {
  .btn--green {
    background-image: linear-gradient(90deg, var(--color-brand-green) 0% 25%, var(--color-brand-green-hover) 75% 100%);

    &::after {
      content: url('data:image/svg+xml,<svg width="14" height="14" viewBox="0 0 17 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill="%23ffffff" fill-rule="evenodd" clip-rule="evenodd" d="M10.3603 0.489047L16.1621 6.32224C16.5506 6.71449 16.5478 7.3474 16.1557 7.7361L10.357 13.5048C9.96461 13.8935 9.33145 13.8905 8.94277 13.4982C8.55421 13.1059 8.55708 12.473 8.94911 12.0843L13.037 8.01462L1.5147 7.90012C0.962423 7.89751 0.516826 7.44769 0.519433 6.89541C0.522039 6.34313 0.971863 5.89753 1.52414 5.90014L13.0381 6.0146L8.94027 1.89741L8.93943 1.89657C8.55076 1.50421 8.55375 0.871051 8.94611 0.482374C9.33844 0.0937285 9.97162 0.0967773 10.3603 0.489047Z"/></svg>');
    }

    &:hover {
      background-color: var(--color-brand-green-hover);
      color: #FFFFFF;
    }
  }
}

.btn--yellow,
.btn--yellow:hover,
.btn--yellow:focus,
.btn--yellow:active {
  background-color: var(--color-brand-yellow);
  color: var(--color-ui-black);
}

@media (min-width: 768px) {
  .btn--yellow {
    background-image: linear-gradient(90deg, var(--color-brand-yellow) 0% 25%, var(--color-brand-yellow-hover) 75% 100%);

    &::after {
      content: url('data:image/svg+xml,<svg width="14" height="14" viewBox="0 0 17 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill="%23333333" fill-rule="evenodd" clip-rule="evenodd" d="M10.3603 0.489047L16.1621 6.32224C16.5506 6.71449 16.5478 7.3474 16.1557 7.7361L10.357 13.5048C9.96461 13.8935 9.33145 13.8905 8.94277 13.4982C8.55421 13.1059 8.55708 12.473 8.94911 12.0843L13.037 8.01462L1.5147 7.90012C0.962423 7.89751 0.516826 7.44769 0.519433 6.89541C0.522039 6.34313 0.971863 5.89753 1.52414 5.90014L13.0381 6.0146L8.94027 1.89741L8.93943 1.89657C8.55076 1.50421 8.55375 0.871051 8.94611 0.482374C9.33844 0.0937285 9.97162 0.0967773 10.3603 0.489047Z"/></svg>');
    }

    &:hover {
      background-color: var(--color-brand-yellow-hover);
      color: var(--color-ui-black);
    }
  }
}

.btn--link,
.btn--link:hover,
.btn--link:focus,
.btn--link:active {
  color: var(--color-brand-green);
}

.btn--link:hover {
  text-decoration: underline;
}

@media (min-width: 768px) {
  .btn--link {
    &::after {
      content: url('data:image/svg+xml,<svg width="14" height="14" viewBox="0 0 17 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill="%23333333" fill-rule="evenodd" clip-rule="evenodd" d="M10.3603 0.489047L16.1621 6.32224C16.5506 6.71449 16.5478 7.3474 16.1557 7.7361L10.357 13.5048C9.96461 13.8935 9.33145 13.8905 8.94277 13.4982C8.55421 13.1059 8.55708 12.473 8.94911 12.0843L13.037 8.01462L1.5147 7.90012C0.962423 7.89751 0.516826 7.44769 0.519433 6.89541C0.522039 6.34313 0.971863 5.89753 1.52414 5.90014L13.0381 6.0146L8.94027 1.89741L8.93943 1.89657C8.55076 1.50421 8.55375 0.871051 8.94611 0.482374C9.33844 0.0937285 9.97162 0.0967773 10.3603 0.489047Z"/></svg>');
    }

    &:hover {
      color: var(--color-ui-black);
    }
  }
}


.btn--white,
.btn--white:hover {
  background-color: #FFFFFF;
  color: var(--color-ui-black);
}

@media (min-width: 768px) {
  .btn--white {
    background-image: linear-gradient(90deg, var(--color-brand-white) 0% 25%, var(--color-brand-white-hover) 75% 100%);

    &::after {
      content: url('data:image/svg+xml,<svg width="14" height="14" viewBox="0 0 17 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill="%23333333" fill-rule="evenodd" clip-rule="evenodd" d="M10.3603 0.489047L16.1621 6.32224C16.5506 6.71449 16.5478 7.3474 16.1557 7.7361L10.357 13.5048C9.96461 13.8935 9.33145 13.8905 8.94277 13.4982C8.55421 13.1059 8.55708 12.473 8.94911 12.0843L13.037 8.01462L1.5147 7.90012C0.962423 7.89751 0.516826 7.44769 0.519433 6.89541C0.522039 6.34313 0.971863 5.89753 1.52414 5.90014L13.0381 6.0146L8.94027 1.89741L8.93943 1.89657C8.55076 1.50421 8.55375 0.871051 8.94611 0.482374C9.33844 0.0937285 9.97162 0.0967773 10.3603 0.489047Z"/></svg>');
    }

    &:hover {
      background-color: var(--color-ui-black);
      color: #FFFFFF;
    }
  }
}



.btn--transparent-black,
.btn--transparent-black:hover {
  border: 1px solid var(--color-ui-black);
  margin: -1px;
  background-color: transparent;
  color: var(--color-ui-black);
}

@media (min-width: 768px) {
  .btn--transparent-black {
    background-image: linear-gradient(90deg, transparent 0% 25%, #3333331a 75% 100%);

    &::after {
      content: url('data:image/svg+xml,<svg width="14" height="14" viewBox="0 0 17 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill="%23333333" fill-rule="evenodd" clip-rule="evenodd" d="M10.3603 0.489047L16.1621 6.32224C16.5506 6.71449 16.5478 7.3474 16.1557 7.7361L10.357 13.5048C9.96461 13.8935 9.33145 13.8905 8.94277 13.4982C8.55421 13.1059 8.55708 12.473 8.94911 12.0843L13.037 8.01462L1.5147 7.90012C0.962423 7.89751 0.516826 7.44769 0.519433 6.89541C0.522039 6.34313 0.971863 5.89753 1.52414 5.90014L13.0381 6.0146L8.94027 1.89741L8.93943 1.89657C8.55076 1.50421 8.55375 0.871051 8.94611 0.482374C9.33844 0.0937285 9.97162 0.0967773 10.3603 0.489047Z"/></svg>');
    }

    &:hover {
      background-color: transparent;
      color: var(--color-ui-black);
    }
  }
}


.btn--transparent-white,
.btn--transparent-white:hover {
  border: 1px solid #FFFFFF;
  margin: -1px;
  background-color: transparent;
  color: #FFFFFF;
}

@media (min-width: 768px) {
  .btn--transparent-white {
    background-image: linear-gradient(90deg, transparent 0% 25%, #FFFFFF0D 75% 100%);

    &::after {
      content: url('data:image/svg+xml,<svg width="14" height="14" viewBox="0 0 17 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill="%23ffffff" fill-rule="evenodd" clip-rule="evenodd" d="M10.3603 0.489047L16.1621 6.32224C16.5506 6.71449 16.5478 7.3474 16.1557 7.7361L10.357 13.5048C9.96461 13.8935 9.33145 13.8905 8.94277 13.4982C8.55421 13.1059 8.55708 12.473 8.94911 12.0843L13.037 8.01462L1.5147 7.90012C0.962423 7.89751 0.516826 7.44769 0.519433 6.89541C0.522039 6.34313 0.971863 5.89753 1.52414 5.90014L13.0381 6.0146L8.94027 1.89741L8.93943 1.89657C8.55076 1.50421 8.55375 0.871051 8.94611 0.482374C9.33844 0.0937285 9.97162 0.0967773 10.3603 0.489047Z"/></svg>');
    }

    &:hover {
      background-color: transparent;
      color: #FFFFFF;
    }
  }
}

/* Small Button Variant */
.btn--small {
  padding: 8px 22px;
  min-width: 0;
  font-size: 13px;

  span {
    margin-bottom: -1px;
  }

  &::after {
    right: 16px;
    transform: scale(0.85);
  }
  &:hover:after {
    right: 14px;
  }
  
}

.btn--icon-only {
  padding: 0;
  min-width: 0;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  color: var(--color-ui-black);
  font-size: 20px;
  line-height: 1;

  span {
    margin-bottom: -1px;
    transform: translateX(0);
    transition: transform 0.2s ease-out;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: inherit;
    height: inherit;
    border-radius: inherit;
  }

  &::after {
    content: none;
  }
}

/* Responsive Small Button for Mobile */
@media (max-width: 767px) {
  .btn--small {
    height: 38px;
    min-height: 38px;
    padding: 11px 22px;
    min-width: 0;
    font-size: 13px;
  }


}

/* Button input style */
.btn:is(input) {
  background-color: var(--color-ui-black);
}


.fs-buttons__group {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 20px;
}

.fs-buttons__group--center  {
    justify-content: center;
}
form {
    --color-form: #333333;
    --color-form-focus: #00b34d;
    --color-form-description: #888;
    --color-form-placeholder: #888;
    --color-form-label: #333333;
}

.form--white form {
    --color-form: #ffffff;
    --color-form-focus: #fff;
    --color-form-description: #ffffff;
    --color-form-placeholder: #ffffff;
    --color-form-label: #ffffff;
}

/* Form Title */
.form-title {
    margin-bottom: 0;
}

/* Inputs - file picker */
form input[type=file] {
    background-color: transparent;
    border: initial;
    padding: initial;
}


/* Fields */
.hs-form-field {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    margin-bottom: 1.4rem;
}

/* Put help text last */
.hs-field-desc {
    color: var(--color-form-description);
    margin: 0;
    order: 10;
}

.hs-error-msgs {
    order: 11;
}

/* Labels */
form label {
    display: block;
    font-family: "Nunito", sans-serif;
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.25rem;
    margin: 0;
    color: var(--color-form-label);
}

/* Help text */

form legend {
    font-size: 0.875rem;
}

/* Inputs */

form input[type='text'],
form input[type='email'],
form input[type='password'],
form input[type='tel'],
form input[type='number'],
form input[type='file'],
form select,
form textarea {
    background: transparent;
    border: 0;
    border-bottom: 1px solid var(--color-form);
    border-radius: 0;
    display: inline-block;
    font-size: 1rem;
    padding: 0.75rem 1rem;
    width: 100% !important;
    color: var(--color-form);

}

form select {
    padding: 0.6rem 1rem;
}

::placeholder {
    color: var(--color-form-placeholder);
    opacity: 1; /* Override default opacity */
}

form textarea {
    resize: vertical;
}

form fieldset {
    max-width: 100% !important;
}

/* Inputs - checkbox/radio */
form .inputs-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

form .inputs-list>li {
    display: block;
    line-height: 1;
    margin: 0;
}

form .inputs-list input,
form .inputs-list span {
    vertical-align: middle;
}

.hs-form-radio-display,
.hs-form-checkbox-display {
    cursor: pointer;
    font-size: 14px;
    margin: 0;
    color: var(--color-form);
}

.hs-fieldtype-radio label {
    color: var(--color-form);
}

form input[type='checkbox'] {
    border-radius: .25rem;
}

form input[type='checkbox'],
form input[type='radio'] {
    border-color: var(--color-ui-black);
    color: #00b34d;
    accent-color: #00b34d;
    cursor: pointer;
    height: 1rem !important;
    margin-right: 0.35rem;
    width: 1rem !important;
}

[multiple]:focus,
[type=date]:focus,
[type=datetime-local]:focus,
[type=email]:focus,
[type=month]:focus,
[type=number]:focus,
[type=password]:focus,
[type=search]:focus,
[type=tel]:focus,
[type=text]:focus,
[type=time]:focus,
[type=url]:focus,
[type=week]:focus,
select:focus,
textarea:focus,
form input[type='checkbox']:focus,
form input[type='radio']:focus {
    outline: none;
    border-color: var(--color-form-focus);
}

.hs-fieldtype-intl-phone.hs-input select {
    max-height: 43px;
}

/* Inputs - date picker */

.hs-dateinput {
    position: relative;
}

.hs-dateinput:before {
    content: '\01F4C5';
    position: absolute;
    right: 10%;
    top: 50%;
    transform: translateY(-50%);
}

.fn-date-picker .pika-table thead th {
    color: #fff;
}

.fn-date-picker td.is-selected .pika-button {
    border-radius: 0;
    box-shadow: none;
}

.fn-date-picker td .pika-button:hover,
.fn-date-picker td .pika-button:focus,
.fn-date-picker .is-selected .pika-button {
    border-radius: 0 !important;
    color: #fff;
    background-color: #00b34d !important;
}

.fn-date-picker .is-today .pika-button {
    color: #00b34d !important;
}

.fn-date-picker.pika-single {
    border-radius: .375rem
}

/* Inputs - file picker */
form input[type='file'] {
    background-color: transparent;
    border: initial;
    padding: initial;
    border-radius: 0;
}

/* Headings and text */

form .hs-richtext,
form .hs-richtext p {
    font-size: 0.875rem;
    margin: 0 0 1.4rem;
}

form .hs-richtext img {
    max-width: 100% !important;
}

/* GDPR */
.legal-consent-container .hs-form-booleancheckbox-display {
    display: flex;
    align-items: center;
}

.legal-consent-container .hs-form-booleancheckbox-display>span,
.legal-consent-container .hs-form-booleancheckbox-display>span p {
    margin-left: 0 !important;
    font-size: 1rem;
    cursor: pointer;
    user-select: none;
}

/* Validation */
.hs-form-required {
    color: #ef6b51;
}

.hs-input.invalid.error {
    border-color: #ef6b51;
}

.hs-error-msg {
    color: #ef6b51;
    margin: 0;
}

/* Submit button */
form input[type='submit'],
form .hs-button {
    text-transform: uppercase;
    position: relative;
    font-weight: 600;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    border-radius: 9999px;
    border: 0;
    letter-spacing: 0.06em;
    font-size: 15px;
    line-height: 1;
    padding: 15px 30px;
    cursor: pointer;
    justify-content: center;
    text-align: center;
    min-width: 64px;
    z-index: 10;
    text-decoration: none;
    background-color: var(--color-brand-yellow);
    margin-top: 16px;

}

@media (min-width: 768px) {

    form input[type='submit'],
    form .hs-button {
        font-size: 1.125rem;
        line-height: 1;
    }
}

form input[type='submit']:hover,
form .hs-button:hover {}



/* Captcha */

.grecaptcha-badge {
    margin: 0 auto;
}
/* Table */

table {
  border-collapse: collapse;
  margin-bottom: 1.4rem;
  overflow-wrap: break-word;
}

/* Table cells */

td,
th {
  vertical-align: top;
}

/* Table header */

thead th {
  vertical-align: bottom;
}

/* Components
Specific pieces of UI that are stylized. Typically used for global partial styling
*/



/* Utilities
Helper classes with ability to override anything that comes before it
*/

/* For content that needs to be visually hidden but stay visible for screenreaders */
.relative {
  position: relative;
}

.pointer-none {
  pointer-events: none;
}

.sr-only {
  border: 0 !important;
  clip: rect(0, 0, 0, 0) !important;
  height: 1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  white-space: nowrap !important;
  width: 1px !important;
}

.hidden {
  display: none !important;
}

.padding-top--large { padding-top: 52px; --current-padding-top: 52px; }
.padding-top--small { padding-top: 24px; --current-padding-top: 24px; }
.padding-top--none { padding-top: 0px; --current-padding-top: 0px; }

.padding-bottom--large { padding-bottom: 52px; --current-padding-bottom: 52px; }
.padding-bottom--small { padding-bottom: 24px; --current-padding-bottom: 24px; }
.padding-bottom--none { padding-bottom: 0px; --current-padding-bottom: 0px; }

@media screen and (min-width: 768px) {
  .padding-top--large { padding-top: 100px; --current-padding-top: 100px; }
  .padding-top--small { padding-top: 50px; --current-padding-top: 50px; }
  .padding-top--none { padding-top: 0px; --current-padding-top: 0px; }

  .padding-bottom--large { padding-bottom: 100px; --current-padding-bottom: 100px; }
  .padding-bottom--small { padding-bottom: 50px; --current-padding-bottom: 50px; }
  .padding-bottom--none { padding-bottom: 0px; --current-padding-bottom: 0px; }
}

.bg-white { background-color: #fff; --current-bg-color: #fff; }
.bg-light-grey { background-color: var(--color-ui-light-grey); --current-bg-color: var(--color-ui-light-grey); }
.bg-dark-blue { background-color: var(--color-brand-dark-blue); --current-bg-color: var(--color-brand-dark-blue); }
.bg-dark-green { background-color: var(--color-brand-green-darker); --current-bg-color: var(--color-brand-green-darker); }
.bg-light-blue { background-color: var(--color-brand-light-blue); --current-bg-color: var(--color-brand-light-blue); }
.bg-light-green { background-color: var(--color-brand-light-green); --current-bg-color: var(--color-brand-light-green); }
.bg-green { background-color: var(--color-brand-green); --current-bg-color: var(--color-brand-green); }

.bg-gradient--top-to-bottom { background-color: transparent; background-image: linear-gradient(to bottom, var(--current-bg-color), transparent); }
.bg-gradient--bottom-to-top { background-color: transparent; background-image: linear-gradient(to top, var(--current-bg-color), transparent); }



.fs-background {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
  opacity: 0.3;
  background-image: url('https://19534803.fs1.hubspotusercontent-na1.net/hubfs/19534803/flourish-software-theme-assets/images/backgrounds/bg-1-right.png'),
    url('https://19534803.fs1.hubspotusercontent-na1.net/hubfs/19534803/flourish-software-theme-assets/images/backgrounds/bg-1-left.png');
  background-repeat: no-repeat, no-repeat;
  background-size: min(100%, 1440px), min(100%, 1440px);
  background-position: center bottom;
}

.bg-image {
  background-size: cover;
  background-position: center;
  position: relative;

  & > div {
    position: relative;
    z-index: 1;
  }

  &:after {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    background: rgba(238,247,245,0.6);
    z-index: 0;
    display: block;
    top: 0;
    left: 0;
  }
}
/* Theme base styles */

.fs-blog-post {
  background-color: var(--color-brand-light-blue);
}


.fs-blog-post-banner {
  text-align: center;
  background-image: linear-gradient(to bottom, rgb(0 26 11 / 50%), rgb(0 97 42 / 50%)), url("https://19534803.fs1.hubspotusercontent-na1.net/hubfs/19534803/flourish-software-theme-assets/images/backgrounds/blog-post-bg.jpg");
  background-size: cover;
  background-position: center;
}

.fs-blog-post-banner .fs-container {
  position: relative;
  z-index: 1;
}


.blog-post__subheader {
  color: var(--color-brand-yellow)
}

.blog-post__title {
  color: #fff
}

.fs-grid {
  display: grid;
  grid-template-columns: minmax(200px, 8fr) minmax(150px, 4fr);
  gap: 30px;

  @media (max-width: 768px) {
    grid-template-columns: 1fr;
  }
}

.blog-post__content,
.landing-page__content {
  background: white;
  border: 1px solid var(--color-brand-green);
  border-radius: 16px;
  padding: 20px;
}

.blog-post__image--placeholder {
  filter: blur(10px);
}

.blog-post__image--non-placeholder {
  position: absolute;
  left: 0;
  top: 0;
}

.blog-post__image {
  border-radius: 16px;
  margin-bottom: 16px;
}

.blog-post__image-wrapper {
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  margin-bottom: 16px;
}



/************ Blog Post Sidebar ************/

.blog-post__sidebar .sticky,
.landing-page__sidebar .sticky {
  position: sticky;
  display: flex;
  flex-direction: column;
  gap: 16px;
  position: sticky;
  top: 160px;
}

.blog-post__subscribe {
  background-image: linear-gradient(180deg, rgb(32 131 36 / 62%), #4CAF50), url(https://19534803.fs1.hubspotusercontent-na1.net/hubfs/19534803/flourish-software-theme-assets/images/backgrounds/blog-post-bg.jpg);
  background-size: cover;
  background-position: center;
  color: white;
  padding: 16px;
  border-radius: 16px;
}
.landing-page__subscribe {
  /* background-color: var(--color-brand-green-darker); */
  /* color: white; */
    background-color: var(--color-light-green);
  padding: 16px;
  border-radius: 16px;
  border: 1px solid var(--color-brand-green);
  border-radius: 16px;
}

.blog-post__subscribe .submitted-message,
.landing-pagee__subscribe .submitted-message {
  background: rgba(255, 255, 255, 0.8);
  padding: 16px;
  border-radius: 16px;
  color: var(--color-brand-green);
  margin-top: 20px;

}

.blog-post__sidebar h3,
.landing-page__sidebar h3 {
  font-size: 1.5rem;
}

.blog-post__subscribe form label,
.landing-pagee__subscribe form label {
  color: white;
}

.blog-post__subscribe form .hs-error-msg,
.landing-pagee__subscribe form .hs-error-msg {
  color: #ef6b51;
}

.blog-post__subscribe form,
.landing-pagee__subscribe form {
  margin-top: 16px;
}

.blog-post__subscribe form input[type=email],
.landing-pagee__subscribe form input[type=email] {
  border: 0
}

.blog-post__subscribe .hs-form-field,
.landing-pagee__subscribe .hs-form-field {
  margin-bottom: 0;
}

.blog-post__subscribe .input,
.landing-pagee__subscribe .input {
  background: white;
  border-radius: 8px;
  padding: 8px;
  border: none;
  width: 100%;
}

.blog-post__subscribe input:focus,
.landing-pagee__subscribe input:focus {
  outline: none;
}

.blog-post__subscribe input::placeholder,
.landing-pagee__subscribe input::placeholder {
  color: var(--color-brand-green);
}

.blog-post__subscribe input:focus::placeholder,
.landing-pagee__subscribe input:focus::placeholder {
  color: var(--color-brand-green);
}

.blog-post__subscribe .hs-error-msg,
.landing-pagee__subscribe .hs-error-msg {
  background: rgba(255, 255, 255, 1);
  padding: .2rem 1.2rem;
  border-radius: 4px;
}

.blog-post__social-share h3 {
  margin-bottom: 0;
}

.blog-post__social-share {
  padding: 16px;
  border-radius: 16px;
  background: white;
  border: 1px solid var(--color-brand-green);
  display: flex;
  gap: 16px;
  flex-direction: column;
}

.blog-post__social-share-icons {
  display: flex;
  gap: 16px;
}

.blog-post__social-share-icons a {
  color: var(--color-brand-green);
  font-size: 24px;
}

.blog-post__social-share-icons svg {
  width: 34px;
  height: auto;
  background: var(--color-brand-green);
  border-radius: 3px;
  padding: 4px;
  color: white;
}

.blog-post__social-share .copy_icon input {
  position: absolute;
  pointer-events: none;
  opacity: 0;
  z-index: -50;
}

.blog-post__social-share .copy_icon span {
  position: relative;
  height: 34px;
  display: block;
  background: var(--color-brand-green);
  cursor: pointer;
}

.blog-post__social-share .copy_icon .copy-toast {
  /* absolute hidden top-full text-neutral-black-5 font-medium */
  position: absolute;
  top: 100%;
}

.blog-post__social-share-icons a:hover svg,
.blog-post__social-share-icons a:hover span {
  background-color: var(--color-brand-green-hover);
}


.blog-post__tags {
  padding: 16px;
  border-radius: 16px;
  background: white;
  border: 1px solid var(--color-brand-green);
  display: flex;
  gap: 16px;
  flex-direction: column;
}

.blog-post__tags h3 {
  margin-bottom: 0;
}

.blog-post__tags ul {
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0 0 0 16px;
  list-style: none;
}

.blog-post__tags ul li {
  padding: 0;
  padding-left: 12px;
  position: relative;
  list-style: none;
}

.blog-post__tags ul li::before {
  content: '';
  position: absolute;
  top: 50%;
  left: -12px;
  width: 6px;
  height: 6px;
  background-color: var(--color-brand-green);
  border-radius: 50%;
  transform: translateY(-50%);
}

.blog-post__tags ul li a {
  color: var(--color-ui-black);
  font-size: 1.2rem;
  text-decoration: none;
  font-weight: bold;
  transition: color 0.3s ease;
}

.blog-post__tags ul li a:hover {
  color: var(--color-brand-green);
}
/* State Pages Styling */

:root {
  --state-section-spacing-mobile: 20px;
  --state-section-spacing-desktop: 40px;
  --state-text-max-width: 780px;
}

/* Hero Section */

.state-hero {
  width: 100%;
  min-height: 500px;
  position: relative;
  background-color: #3a5066;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  overflow: hidden;
}

.state-hero-overlay {
  background: rgba(0, 0, 0, 0.55);
  padding: var(--state-section-spacing-mobile) 0;
  width: 100%;
  display: flex;
  align-items: center;
  min-height: 500px;
}

@media (min-width: 768px) {
  .state-hero-overlay {
    padding: var(--state-section-spacing-desktop) 0;
  }
}

.state-hero .body-container {
  padding: 0 20px;
  text-align: center;
  max-width: 900px;
  margin: 0 auto;
}

@media (min-width: 768px) {
  .state-hero .body-container {
    padding: 0 40px;
  }
}

.state-hero__content {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.state-hero__content h1 {
  margin-bottom: 24px;
  color: white;
  font-size: clamp(2rem, 8vw, 3.5rem);
  line-height: 1.2;
  letter-spacing: -0.02em;
  font-weight: 700;
}

.state-hero__content p.hero-subheadline {
  font-size: 1.25rem;
  color: rgba(255, 255, 255, 0.9);
  margin-bottom: 32px;
  line-height: 1.7;
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}

.state-hero__image {
  display: none;
}

/* Tracking System Badges */

.badge {
  display: inline-block;
  padding: 8px 16px;
  border-radius: 20px;
  font-size: 0.75rem;
  font-weight: 600;
  margin-bottom: 24px;
  margin-right: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  border: 1px solid;
}

.badge--metrc {
  background-color: rgba(0, 179, 77, 0.15);
  color: #5cee8c;
  border-color: #5cee8c;
}

.badge--biotrack {
  background-color: rgba(105, 167, 255, 0.15);
  color: #7fbfff;
  border-color: #7fbfff;
}

.badge--state {
  background-color: rgba(0, 179, 77, 0.15);
  color: #5cee8c;
  border-color: #5cee8c;
}

.badge--leaf_data {
  background-color: rgba(233, 212, 96, 0.15);
  color: #e9d460;
  border-color: #e9d460;
}

.badge--neutral {
  background-color: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.8);
  border-color: rgba(255, 255, 255, 0.3);
}

.badge--none {
  background-color: rgba(110, 110, 110, 0.15);
  color: #8f8f8f;
  border-color: #8f8f8f;
}

.state-hero .badge {
  background-color: rgba(255, 255, 255, 0.15);
  color: white;
  border-color: rgba(255, 255, 255, 0.4);
}

/* Program Indicators */

.program-indicators {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 32px;
  justify-content: center;
}

.indicator {
  display: inline-flex;
  align-items: center;
  padding: 8px 14px;
  border-radius: 20px;
  font-size: 0.875rem;
  font-weight: 500;
  background-color: rgba(0, 179, 77, 0.1);
  color: var(--color-brand-green);
}

.indicator::before {
  content: "✓";
  margin-right: 6px;
  font-weight: 700;
}

.indicator--active {
  background-color: rgba(0, 179, 77, 0.15);
  color: var(--color-brand-green);
}

.state-hero .indicator {
  background-color: rgba(255, 255, 255, 0.15);
  color: white;
}

/* CTA Button */

.hero-cta {
  margin-top: 32px;
}

.btn--green,
.btn--green:hover,
.btn--green:focus,
.btn--green:active {
  color: #FFFFFF !important;
}

.state-hero .btn--green {
  padding: 18px 50px !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
}

/* Social Proof Section */

.social-proof {
  background-color: #f5f5f5;
  width: 100%;
}

.social-proof .body-container {
  padding: var(--state-section-spacing-mobile) 20px;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}

@media (min-width: 768px) {
  .social-proof .body-container {
    padding: var(--state-section-spacing-desktop) 40px;
  }
}

.social-proof__text {
  text-align: center;
  margin-bottom: 32px;
  font-size: 0.875rem;
  color: var(--color-ui-dark-grey);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-weight: 500;
}

.customer-logos {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 30px;
}

.state-customer-logos {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 30px;
}

.state-customer-logos img,
.customer-logos img {
  max-height: 60px;
  width: auto;
  object-fit: contain;
  filter: grayscale(100%);
  opacity: 0.7;
  transition: all 0.2s ease;
}

.state-customer-logos img:hover,
.customer-logos img:hover {
  filter: grayscale(0%);
  opacity: 1;
}

/* Overview Section */

.state-overview {
  background-color: white;
  width: 100%;
}

.state-overview .body-container {
  padding: var(--state-section-spacing-mobile) 20px;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}

@media (min-width: 768px) {
  .state-overview .body-container {
    padding: var(--state-section-spacing-desktop) 40px;
  }
}

.regulatory-body-link {
  margin-bottom: 32px;
}

.regulatory-body-link a {
  display: inline-block;
  padding: 10px 18px;
  background-color: rgba(0, 179, 77, 0.08);
  border-radius: 4px;
  color: var(--color-brand-green);
  text-decoration: none;
  font-weight: 600;
  border: 1px solid var(--color-brand-green);
  transition: all 0.2s ease;
  font-size: 0.875rem;
}

.regulatory-body-link a:hover {
  background-color: var(--color-brand-green);
  color: white;
}

.overview-content {
  margin-bottom: 32px;
  line-height: 1.8;
}

.overview-content h2,
.overview-content h3 {
  margin-top: 36px;
  margin-bottom: 20px;
  color: var(--color-ui-black);
  font-size: 1.5rem;
}

.overview-content p {
  margin-bottom: 1.4em;
  color: var(--color-ui-black);
  line-height: 1.8;
}

.last-updated {
  font-size: 0.875rem;
  color: var(--color-ui-dark-grey);
  margin-top: 32px;
  padding-top: 32px;
  border-top: 1px solid var(--color-ui-grey);
  text-align: right;
}

/* State Seal */

.state-seal {
  width: 160px;
  height: auto;
  float: right;
  margin: 0 0 24px 32px;
  opacity: 0.85;
}

@media (max-width: 768px) {
  .state-seal {
    float: none;
    display: block;
    margin: 0 auto 24px auto;
    width: 120px;
  }
}

/* Compliance Guide Section */

.compliance-guide {
  background-color: #f9f9f9;
  width: 100%;
}

.compliance-guide .body-container {
  padding: var(--state-section-spacing-mobile) 20px;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}

@media (min-width: 768px) {
  .compliance-guide .body-container {
    padding: var(--state-section-spacing-desktop) 40px;
  }
}

.compliance-guide h2 {
  margin-bottom: 40px;
  color: var(--color-ui-black);
  font-size: 1.75rem;
}

.metrc-portal-links {
  margin-bottom: 40px;
  background-color: white;
  padding: 24px;
  border-radius: 4px;
  border-left: 4px solid var(--color-brand-green);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04);
}

.metrc-portal-links h3 {
  margin-top: 0;
  margin-bottom: 16px;
  color: var(--color-ui-black);
  font-size: 1.1rem;
  font-weight: 600;
}

.metrc-portal-links ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.metrc-portal-links li {
  padding: 12px 0;
  border-bottom: 1px solid var(--color-ui-grey);
}

.metrc-portal-links li:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.metrc-portal-links li::before {
  content: "→ ";
  color: var(--color-brand-green);
  font-weight: 600;
  margin-right: 8px;
}

.metrc-portal-links a {
  color: var(--color-brand-green);
  text-decoration: none;
  font-weight: 500;
  transition: color 0.2s ease;
}

.metrc-portal-links a:hover {
  color: var(--color-brand-green-hover);
  text-decoration: underline;
}

.compliance-content {
  background-color: white;
  padding: 24px;
  border-radius: 4px;
  border-left: 4px solid var(--color-brand-green);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04);
  line-height: 1.8;
}

.compliance-content h2,
.compliance-content h3,
.compliance-content h4 {
  color: var(--color-ui-black);
  margin-top: 28px;
  margin-bottom: 16px;
}

.compliance-content h2 {
  font-size: 1.5rem;
}

.compliance-content h3 {
  font-size: 1.25rem;
  font-weight: 600;
}

.compliance-content h4 {
  font-size: 1.1rem;
  font-weight: 600;
}

.compliance-content p {
  margin-bottom: 1.4em;
  color: var(--color-ui-black);
}

.compliance-content ul,
.compliance-content ol {
  margin-bottom: 1.4em;
  padding-left: 24px;
}

.compliance-content li {
  margin-bottom: 8px;
  line-height: 1.8;
  color: var(--color-ui-black);
}

.compliance-content ol li {
  list-style: decimal;
}

.compliance-content ul li {
  list-style: none;
  position: relative;
  padding-left: 16px;
}

.compliance-content ul li::before {
  content: "•";
  position: absolute;
  left: 0;
  color: var(--color-brand-green);
  font-weight: 700;
  font-size: 1.2em;
  line-height: 1;
}

/* Code blocks for license numbers */
.compliance-content code,
.compliance-content pre {
  background-color: #f5f5f5;
  border: 1px solid var(--color-ui-grey);
  border-radius: 4px;
  font-family: "Courier New", monospace;
  font-size: 0.9em;
  padding: 2px 6px;
}

.compliance-content pre {
  padding: 16px;
  overflow-x: auto;
  line-height: 1.6;
}

/* Regulation Cards Section */

.regulation-cards {
  background-color: white;
  width: 100%;
}

.regulation-cards .body-container {
  padding: var(--state-section-spacing-mobile) 20px;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}

@media (min-width: 768px) {
  .regulation-cards .body-container {
    padding: var(--state-section-spacing-desktop) 40px;
  }
}

.regulation-cards h2 {
  margin-bottom: 48px;
  color: var(--color-ui-black);
  font-size: 1.75rem;
}

.regulation-cards__content {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.regulation-cards__content h3 {
  margin: 0;
  padding: 20px 24px;
  background-color: white;
  border: 1px solid var(--color-ui-grey);
  border-top: 4px solid var(--color-brand-green);
  color: var(--color-brand-green);
  font-size: 1.1rem;
  font-weight: 600;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: all 0.2s ease;
  position: relative;
}

.regulation-cards__content h3:hover {
  background-color: rgba(0, 179, 77, 0.02);
}

.regulation-cards__content h3::after {
  content: "▼";
  font-size: 12px;
  color: var(--color-brand-green);
  transition: transform 0.3s ease;
  display: inline-block;
  margin-left: 16px;
  flex-shrink: 0;
}

.regulation-cards__content h3.active::after {
  transform: rotate(-180deg);
}

.regulation-cards__content p {
  margin: 0;
  padding: 0 24px;
  max-height: 0;
  overflow: hidden;
  transition: all 0.3s ease;
  background-color: #fafafa;
  border: 1px solid var(--color-ui-grey);
  border-top: none;
  border-bottom: 1px solid var(--color-ui-grey);
  color: var(--color-ui-dark-grey);
  line-height: 1.7;
  font-size: 0.95rem;
}

.regulation-cards__content h3.active + p {
  padding: 24px;
  max-height: 1000px;
}

/* Solutions by License Section */

.solutions-by-license {
  background-color: #f9f9f9;
  width: 100%;
}

.solutions-by-license .body-container {
  padding: var(--state-section-spacing-mobile) 20px;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}

@media (min-width: 768px) {
  .solutions-by-license .body-container {
    padding: var(--state-section-spacing-desktop) 40px;
  }
}

.solutions-by-license h2 {
  margin-bottom: 48px;
  color: var(--color-ui-black);
  font-size: 1.75rem;
}

.license-cards {
  display: grid;
  gap: 28px;
  grid-template-columns: 1fr;
  margin-bottom: 48px;
}

@media (min-width: 768px) {
  .license-cards {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1024px) {
  .license-cards {
    grid-template-columns: repeat(3, 1fr);
  }
}

.license-card {
  background-color: white;
  border: 1px solid var(--color-ui-grey);
  border-radius: 6px;
  padding: 28px;
  transition: all 0.3s ease;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04);
}

.license-card:hover {
  border-color: var(--color-brand-green);
  box-shadow: 0 12px 32px rgba(0, 179, 77, 0.15);
  transform: translateY(-6px);
}

.license-card h3 {
  margin-top: 0;
  margin-bottom: 16px;
  color: var(--color-brand-green);
  font-size: 1.3rem;
  font-weight: 600;
}

.license-card p {
  color: var(--color-ui-dark-grey);
  line-height: 1.7;
  margin-bottom: 20px;
}

.link-arrow {
  color: var(--color-brand-green);
  text-decoration: none;
  font-weight: 600;
  display: inline-block;
  transition: all 0.2s ease;
  font-size: 0.95rem;
}

.link-arrow:hover {
  color: var(--color-brand-green-hover);
}

.link-arrow::after {
  content: " →";
  transition: transform 0.2s ease;
  display: inline-block;
}

.link-arrow:hover::after {
  transform: translateX(4px);
}

.license-types-detail {
  background-color: white;
  padding: 28px;
  border-radius: 6px;
  border: 1px solid var(--color-ui-grey);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04);
  line-height: 1.8;
  margin-bottom: 40px;
}

.license-types-detail h3 {
  color: var(--color-ui-black);
  margin-top: 0;
  margin-bottom: 16px;
}

.license-types-detail p {
  color: var(--color-ui-dark-grey);
}

/* Testimonial Section */

.testimonial {
  background-color: #2c2c2c;
  color: white;
  position: relative;
  overflow: hidden;
  width: 100%;
}

.testimonial::before {
  content: """;
  position: absolute;
  top: 20px;
  left: 20px;
  font-size: 120px;
  color: rgba(0, 179, 77, 0.15);
  line-height: 1;
  z-index: 0;
}

.testimonial .body-container {
  padding: var(--state-section-spacing-mobile) 20px;
  position: relative;
  z-index: 1;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}

@media (min-width: 768px) {
  .testimonial .body-container {
    padding: var(--state-section-spacing-desktop) 40px;
  }
}

.testimonial__quote {
  font-size: 1.4rem;
  font-style: italic;
  color: white;
  margin-bottom: 32px;
  line-height: 1.8;
  font-weight: 300;
}

.testimonial__attribution {
  display: flex;
  align-items: center;
  gap: 16px;
}

.testimonial__logo {
  max-height: 50px;
  width: auto;
  object-fit: contain;
  filter: brightness(0) invert(1);
}

.testimonial__info {
  flex: 1;
}

.testimonial__name {
  font-weight: 600;
  color: white;
  margin: 0;
  font-size: 1rem;
}

.testimonial__title {
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.7);
  margin: 4px 0 0 0;
}

/* Gated Content Section */

.gated-content {
  background: linear-gradient(135deg, rgba(0, 179, 77, 0.04) 0%, rgba(244, 250, 248, 0.5) 100%);
  width: 100%;
}

.gated-content .body-container {
  padding: var(--state-section-spacing-mobile) 20px;
  display: grid;
  gap: 40px;
  grid-template-columns: 1fr;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}

@media (min-width: 768px) {
  .gated-content .body-container {
    padding: var(--state-section-spacing-desktop) 40px;
    gap: 60px;
  }
}

@media (min-width: 768px) {
  .gated-content .body-container {
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 60px;
  }
}

.gated-content__image {
  order: -1;
}

@media (min-width: 768px) {
  .gated-content__image {
    order: 1;
  }
}

.gated-content__image img {
  width: 100%;
  height: auto;
  border-radius: 8px;
  display: block;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}

.gated-content__text h2 {
  margin-top: 0;
  margin-bottom: 20px;
  color: var(--color-ui-black);
  font-size: 1.75rem;
}

.gated-content__text p {
  color: var(--color-ui-dark-grey);
  line-height: 1.7;
  margin-bottom: 28px;
}

.gated-content__text .btn {
  display: inline-block;
}

/* State Resources Section */

.state-resources {
  background-color: #f9f9f9;
  width: 100%;
}

.state-resources .body-container {
  padding: var(--state-section-spacing-mobile) 20px;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}

@media (min-width: 768px) {
  .state-resources .body-container {
    padding: var(--state-section-spacing-desktop) 40px;
  }
}

.state-resources h2 {
  margin-bottom: 48px;
  color: var(--color-ui-black);
  font-size: 1.75rem;
}

.resources-content {
  display: block;
  line-height: 1.8;
}

.resources-content > h3 {
  margin-top: 32px;
}

.resources-content > h3:first-child {
  margin-top: 0;
}

.resources-content h3 {
  color: var(--color-ui-black);
  margin-top: 0;
  margin-bottom: 16px;
  font-size: 1.25rem;
  font-weight: 600;
  padding-bottom: 12px;
  border-bottom: 2px solid var(--color-brand-green);
}

.resources-content ul {
  list-style: none;
  padding-left: 0;
  margin: 0 0 32px 0;
}

.resources-content li {
  padding: 10px 0 10px 24px;
  border-bottom: 1px solid var(--color-ui-grey);
  position: relative;
}

.resources-content li:last-child {
  border-bottom: none;
  margin-bottom: 0;
}

.resources-content li::before {
  content: "→ ";
  color: var(--color-brand-green);
  font-weight: 600;
  margin-right: 8px;
}

.resources-content a {
  color: var(--color-brand-green);
  text-decoration: none;
  font-weight: 500;
  transition: color 0.2s ease;
}

.resources-content a:hover {
  color: var(--color-brand-green-hover);
  text-decoration: underline;
}

/* FAQ Section */

.state-faq {
  background-color: white;
  width: 100%;
}

.state-faq .body-container {
  padding: var(--state-section-spacing-mobile) 20px;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}

@media (min-width: 768px) {
  .state-faq .body-container {
    padding: var(--state-section-spacing-desktop) 40px;
  }
}

.state-faq h2 {
  margin-bottom: 48px;
  color: var(--color-ui-black);
  font-size: 1.75rem;
}

.faq-accordion {
  display: flex;
  flex-direction: column;
  gap: 16px;
  max-width: 900px;
}

.faq-item {
  border: 1px solid var(--color-ui-grey);
  border-radius: 4px;
  overflow: hidden;
  background-color: white;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.02);
}

.faq-item-header {
  padding: 20px 24px;
  background-color: white;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: all 0.2s ease;
}

.faq-item-header:hover {
  background-color: rgba(0, 179, 77, 0.02);
}

.faq-item-header h3 {
  margin: 0;
  color: var(--color-ui-black);
  font-size: 1rem;
  font-weight: 600;
  flex: 1;
}

.faq-item-header::after {
  content: "▼";
  font-size: 12px;
  color: var(--color-brand-green);
  transition: transform 0.3s ease;
  display: inline-block;
  margin-left: 16px;
  flex-shrink: 0;
}

.faq-item.active .faq-item-header::after {
  transform: rotate(-180deg);
}

.faq-item-body {
  padding: 0 24px;
  max-height: 0;
  overflow: hidden;
  transition: all 0.3s ease;
  background-color: #fafafa;
  border-top: 1px solid var(--color-ui-grey);
}

.faq-item.active .faq-item-body {
  padding: 24px;
  max-height: 1000px;
}

.faq-item-body p {
  margin: 0;
  color: var(--color-ui-dark-grey);
  line-height: 1.7;
}

.faq-item-body h3,
.faq-item-body h4,
.faq-item-body ul,
.faq-item-body ol {
  margin-top: 0;
  margin-bottom: 12px;
}

.faq-item-body ul,
.faq-item-body ol {
  padding-left: 24px;
}

/* Demo Form Section */

.demo-form-section {
  background-color: #1f1f1f;
  color: white;
  text-align: center;
  width: 100%;
}

.demo-form-section .body-container {
  padding: var(--state-section-spacing-mobile) 20px;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}

@media (min-width: 768px) {
  .demo-form-section .body-container {
    padding: var(--state-section-spacing-desktop) 40px;
  }
}

.demo-form-section h2 {
  color: white;
  margin-bottom: 16px;
  font-size: 1.75rem;
}

.demo-form-section p {
  color: rgba(255, 255, 255, 0.85);
  font-size: 1.1rem;
  margin-bottom: 40px;
  line-height: 1.6;
}

.demo-form-section form {
  max-width: 600px;
  margin: 40px auto 0;
  background-color: white;
  border-radius: 6px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
}

.demo-form-section form input,
.demo-form-section form select,
.demo-form-section form textarea {
  width: 100%;
  box-sizing: border-box;
}

.demo-form-section form input[type="submit"],
.demo-form-section form .hs-button {
  background-color: var(--color-brand-green);
  color: white;
  margin-top: 10px;
}

.demo-form-section form input[type="submit"]:hover,
.demo-form-section form .hs-button:hover {
  background-color: var(--color-brand-green-hover);
}

/* Global Image Constraints */

.body-container-wrapper img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* Table Styling */

.body-container-wrapper table {
  width: 100%;
  border-collapse: collapse;
  margin: 20px 0;
  border: 1px solid var(--color-ui-grey);
  border-radius: 4px;
  overflow: hidden;
}

.body-container-wrapper table thead {
  background-color: var(--color-ui-dark-grey);
  color: white;
}

.body-container-wrapper table th {
  padding: 14px 16px;
  text-align: left;
  font-weight: 600;
  font-size: 0.95rem;
}

.body-container-wrapper table td {
  padding: 12px 16px;
  border-bottom: 1px solid var(--color-ui-grey);
  color: var(--color-ui-black);
}

.body-container-wrapper table tbody tr:nth-child(even) {
  background-color: #f9f9f9;
}

.body-container-wrapper table tbody tr:last-child td {
  border-bottom: none;
}

@media (max-width: 768px) {
  .body-container-wrapper table {
    font-size: 0.875rem;
    overflow-x: auto;
    display: block;
  }

  .body-container-wrapper table thead,
  .body-container-wrapper table tbody,
  .body-container-wrapper table th,
  .body-container-wrapper table td {
    display: block;
  }

  .body-container-wrapper table th {
    position: absolute;
    top: -9999px;
    left: -9999px;
  }

  .body-container-wrapper table td {
    padding-left: 50%;
    position: relative;
  }

  .body-container-wrapper table td:before {
    content: attr(data-label);
    position: absolute;
    left: 6px;
    font-weight: 600;
    color: var(--color-ui-dark-grey);
  }
}

/* Link Styling */

.body-container-wrapper a {
  color: var(--color-brand-green);
  text-decoration: none;
  transition: color 0.2s ease;
}

.body-container-wrapper a:hover {
  color: var(--color-brand-green-hover);
  text-decoration: underline;
}

/* List Styling */

.body-container-wrapper ul,
.body-container-wrapper ol {
  padding-left: 24px;
}

.body-container-wrapper ul li,
.body-container-wrapper ol li {
  margin-bottom: 8px;
  line-height: 1.7;
}

/* Responsive Text */

@media (max-width: 768px) {
  .state-hero__content h1 {
    font-size: 2rem;
  }

  .state-hero__content p.hero-subheadline {
    font-size: 1rem;
  }

  .testimonial__quote {
    font-size: 1.25rem;
  }

  .demo-form-section h2 {
    font-size: 1.5rem;
  }

  .regulation-cards h2,
  .solutions-by-license h2,
  .state-resources h2,
  .state-faq h2 {
    font-size: 1.5rem;
  }
}



.blob-svg {
    pointer-events: none;
    display: inline-block;
    position: relative;
    width: 800px;
    height: 800px;
    top: 50%;
    left: 50%;
    margin-left: -400px;
    margin-top: -400px;
}

rect {
    -webkit-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
}

.blobs {
    -webkit-filter: url("#goo");
    filter: url("#goo");


}

.blob {
    transform-origin: 50% 50%;
    animation: blob-rotate 4s linear infinite;
    fill: white;
}



@keyframes blob-rotate {
    0% {
        transform: rotate(0deg) translate(6px, 0.1px) rotate(0deg);
    }

    100% {
        transform: rotate(360deg) translate(6px, 0.1px) rotate(-360deg);
    }
}


.blobs .blob:nth-child(1) {
    animation-delay: 0s;
}

.blobs .blob:nth-child(2) {
    animation-delay: -1s;
}

.blobs .blob:nth-child(3) {
    animation-delay: -2s;
}

.blobs .blob:nth-child(4) {
    animation-delay: -3s;
}

.blobs .blob:nth-child(5) {
    animation-delay: -4s;
}