body {
  --header-height: 4rem;
  --transition-time: 225ms;
  --transition-time--longer: 450ms;
  --radius: 0.25rem;
  --radius-large: 0.75rem;
  --cubic-bezier: cubic-bezier( 0.4, 1, 0.4, 1 );
  --shadow:
  	0px 0.5px 0.7px rgba(0, 0, 0, 0.042),
  	0px 1.3px 1.9px rgba(0, 0, 0, 0.06),
  	0px 3px 4.5px rgba(0, 0, 0, 0.078),
  	0px 10px 15px rgba(0, 0, 0, 0.12);
  --shadow-large:
  	0px 0.7px 0.6px rgba(0, 0, 0, 0.034),
  	0px 1.7px 1.3px rgba(0, 0, 0, 0.048),
  	0px 3.1px 2.5px rgba(0, 0, 0, 0.06),
  	0px 5.6px 4.5px rgba(0, 0, 0, 0.072),
  	0px 10.4px 8.4px rgba(0, 0, 0, 0.086),
  	0px 25px 20px rgba(0, 0, 0, 0.12);
}
@media only screen and (max-width: 999px) {
  body {
    --wp--style--root--padding-left: 1.5rem !important;
    --wp--style--root--padding-right: 1.5rem !important;
  }
}
@media only screen and (max-width: 781px) {
  body {
    --header-height: 4rem;
    --wp--style--root--padding-left: 0.75rem !important;
    --wp--style--root--padding-right: 0.75rem !important;
  }
}
/****************************
****** RESET / BASE *********
****************************/
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  -ms-text-size-adjust: none;
      text-size-adjust: none;
}

h1, h2, h3, h4, h5, h6 {
  text-wrap: balance;
}

a:not([class]) {
  color: currentColor;
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}

img, picture, video, canvas, svg {
  display: block;
}

input, button, textarea, select {
  font: inherit;
}

p, h1, h2, h3, h4, h5, h6 {
  overflow-wrap: break-word;
}

:target {
  scroll-margin-block: 5ex;
}

button,
[type=button],
[type=reset],
[type=submit],
[type=image],
[type=checkbox],
[type=radio],
summary {
  cursor: pointer;
}

/****************************
****** BASE STYLES **********
****************************/
html {
  scroll-behavior: smooth;
  width: 100%;
  height: 100%;
  overflow-x: hidden;
}

a {
  color: inherit;
  text-decoration: none;
  text-underline-offset: 0.125em;
  text-decoration-thickness: 0.0625em;
}
@media (hover: hover) {
  a:hover {
    text-decoration: underline;
  }
}

ul,
ol {
  -webkit-margin-before: 0;
          margin-block-start: 0;
  -webkit-margin-after: 0;
          margin-block-end: 0;
  -webkit-padding-start: 1.15rem;
          padding-inline-start: 1.15rem;
}

ul li,
ol li {
  -webkit-margin-after: 0.25rem;
          margin-block-end: 0.25rem;
}

ul ul,
ol ol,
ul ol,
ol ul {
  -webkit-margin-before: 0.25rem;
          margin-block-start: 0.25rem;
  -webkit-margin-after: 0;
          margin-block-end: 0;
}

body h1 {
  font-size: var(--wp--preset--font-size--h-1);
}
body h2 {
  font-size: var(--wp--preset--font-size--h-2);
}
body h3 {
  font-size: var(--wp--preset--font-size--h-3);
}
body h4 {
  font-size: var(--wp--preset--font-size--h-4);
}

:is(.is-layout-constrained, .editor-styles-wrapper .is-layout-flow) :is(h7, .has-h-7-font-size),
:is(.is-layout-constrained, .editor-styles-wrapper .is-layout-flow) :is(h6, .has-h-6-font-size),
:is(.is-layout-constrained, .editor-styles-wrapper .is-layout-flow) :is(h5, .has-h-5-font-size),
:is(.is-layout-constrained, .editor-styles-wrapper .is-layout-flow) :is(h4, .has-h-4-font-size) {
  -webkit-margin-before: 2.5rem;
          margin-block-start: 2.5rem;
  -webkit-margin-after: 0.75rem;
          margin-block-end: 0.75rem;
}
:is(.is-layout-constrained, .editor-styles-wrapper .is-layout-flow) :is(h3, .has-h-3-font-size) {
  -webkit-margin-before: 3rem;
          margin-block-start: 3rem;
  -webkit-margin-after: 1.5rem;
          margin-block-end: 1.5rem;
}
:is(.is-layout-constrained, .editor-styles-wrapper .is-layout-flow) :is(h2, .has-h-2-font-size) {
  -webkit-margin-before: 3rem;
          margin-block-start: 3rem;
  -webkit-margin-after: 1.75rem;
          margin-block-end: 1.75rem;
}
:is(.is-layout-constrained, .editor-styles-wrapper .is-layout-flow) :is(h1, .has-h-1-font-size) {
  -webkit-margin-before: 4rem;
          margin-block-start: 4rem;
  -webkit-margin-after: 2rem;
          margin-block-end: 2rem;
}

@media only screen and (max-width: 599px) {
  main {
    --wp--preset--font-size--h-1: 1.75rem;
    --wp--preset--font-size--h-2: 1.5rem;
    --wp--preset--font-size--h-3: 1.25rem;
    --wp--preset--font-size--h-4: 1.125rem;
  }
}

header ::-webkit-input-placeholder, main ::-webkit-input-placeholder, footer ::-webkit-input-placeholder {
  color: var(--wp--preset--color--grey);
  opacity: 0.75;
}

header ::-moz-placeholder, main ::-moz-placeholder, footer ::-moz-placeholder {
  color: var(--wp--preset--color--grey);
  opacity: 0.75;
}

header ::-ms-input-placeholder, main ::-ms-input-placeholder, footer ::-ms-input-placeholder {
  color: var(--wp--preset--color--grey);
  opacity: 0.75;
}

header ::placeholder,
main ::placeholder,
footer ::placeholder {
  color: var(--wp--preset--color--grey);
  opacity: 0.75;
}
header form fieldset,
main form fieldset,
footer form fieldset {
  border: none;
  padding: 0;
}
header form fieldset > legend,
main form fieldset > legend,
footer form fieldset > legend {
  display: none;
}
header form label,
main form label,
footer form label {
  cursor: pointer;
}
header form input[type=text],
header form input[type=search],
header form input[type=number],
header form input[type=tel],
header form input[type=email],
header form input[type=password],
header form input[type=submit],
header form input[type=button],
header form select,
header form textarea,
header form button,
main form input[type=text],
main form input[type=search],
main form input[type=number],
main form input[type=tel],
main form input[type=email],
main form input[type=password],
main form input[type=submit],
main form input[type=button],
main form select,
main form textarea,
main form button,
footer form input[type=text],
footer form input[type=search],
footer form input[type=number],
footer form input[type=tel],
footer form input[type=email],
footer form input[type=password],
footer form input[type=submit],
footer form input[type=button],
footer form select,
footer form textarea,
footer form button {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 100%;
  padding: 0.375rem 1rem;
  line-height: 1.5;
  margin: 0;
  border: none;
  color: var(--wp--preset--color--black);
  background-color: var(--wp--preset--color--pale-grey);
  border-radius: var(--radius);
  border: 0.0625rem solid var(--wp--preset--color--light-grey);
  outline: 0.125rem solid transparent;
  outline-offset: -0.0625rem;
  transition: outline-color var(--cubic-bezier) var(--transition-time);
}
header form input[type=text]:hover,
header form input[type=search]:hover,
header form input[type=number]:hover,
header form input[type=tel]:hover,
header form input[type=email]:hover,
header form input[type=password]:hover,
header form input[type=submit]:hover,
header form input[type=button]:hover,
header form select:hover,
header form textarea:hover,
header form button:hover,
main form input[type=text]:hover,
main form input[type=search]:hover,
main form input[type=number]:hover,
main form input[type=tel]:hover,
main form input[type=email]:hover,
main form input[type=password]:hover,
main form input[type=submit]:hover,
main form input[type=button]:hover,
main form select:hover,
main form textarea:hover,
main form button:hover,
footer form input[type=text]:hover,
footer form input[type=search]:hover,
footer form input[type=number]:hover,
footer form input[type=tel]:hover,
footer form input[type=email]:hover,
footer form input[type=password]:hover,
footer form input[type=submit]:hover,
footer form input[type=button]:hover,
footer form select:hover,
footer form textarea:hover,
footer form button:hover {
  outline-color: var(--wp--preset--color--light-grey);
}
header form input[type=text]:focus,
header form input[type=search]:focus,
header form input[type=number]:focus,
header form input[type=tel]:focus,
header form input[type=email]:focus,
header form input[type=password]:focus,
header form input[type=submit]:focus,
header form input[type=button]:focus,
header form select:focus,
header form textarea:focus,
header form button:focus,
main form input[type=text]:focus,
main form input[type=search]:focus,
main form input[type=number]:focus,
main form input[type=tel]:focus,
main form input[type=email]:focus,
main form input[type=password]:focus,
main form input[type=submit]:focus,
main form input[type=button]:focus,
main form select:focus,
main form textarea:focus,
main form button:focus,
footer form input[type=text]:focus,
footer form input[type=search]:focus,
footer form input[type=number]:focus,
footer form input[type=tel]:focus,
footer form input[type=email]:focus,
footer form input[type=password]:focus,
footer form input[type=submit]:focus,
footer form input[type=button]:focus,
footer form select:focus,
footer form textarea:focus,
footer form button:focus {
  outline-color: var(--wp--preset--color--primary);
}
header form select,
main form select,
footer form select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding-right: 2.25rem;
  background-image: linear-gradient(45deg, transparent 50%, var(--wp--preset--color--grey) 50%), linear-gradient(135deg, var(--wp--preset--color--grey) 50%, transparent 50%);
  background-position: calc(100% - 1.5rem) 52%, calc(100% - 1.125rem) 52%;
  background-size: 0.375rem 0.5rem, 0.375rem 0.5rem;
  background-repeat: no-repeat;
}
header form input[type=checkbox],
header form input[type=radio],
main form input[type=checkbox],
main form input[type=radio],
footer form input[type=checkbox],
footer form input[type=radio] {
  width: 1.25rem !important;
  height: 1.25rem !important;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  position: relative;
  margin-right: 0.325rem;
  transform: translateY(0.425rem);
}
header form input[type=checkbox]::before,
header form input[type=radio]::before,
main form input[type=checkbox]::before,
main form input[type=radio]::before,
footer form input[type=checkbox]::before,
footer form input[type=radio]::before {
  content: "";
  position: absolute;
  height: 100%;
  width: 100%;
  border: 0.0625rem solid var(--wp--preset--color--primary-xlight);
}
header form input[type=checkbox]::after,
header form input[type=radio]::after,
main form input[type=checkbox]::after,
main form input[type=radio]::after,
footer form input[type=checkbox]::after,
footer form input[type=radio]::after {
  content: "";
  position: absolute;
  top: 25%;
  left: 25%;
  height: 50%;
  width: 50%;
  background-color: transparent;
}
header form input[type=checkbox]:checked::after, header form input[type=checkbox]:hover::after,
header form input[type=radio]:checked::after,
header form input[type=radio]:hover::after,
main form input[type=checkbox]:checked::after,
main form input[type=checkbox]:hover::after,
main form input[type=radio]:checked::after,
main form input[type=radio]:hover::after,
footer form input[type=checkbox]:checked::after,
footer form input[type=checkbox]:hover::after,
footer form input[type=radio]:checked::after,
footer form input[type=radio]:hover::after {
  background-color: var(--wp--preset--color--primary-grey);
}
header form input[type=checkbox]:checked::before,
header form input[type=radio]:checked::before,
main form input[type=checkbox]:checked::before,
main form input[type=radio]:checked::before,
footer form input[type=checkbox]:checked::before,
footer form input[type=radio]:checked::before {
  border-color: var(--wp--preset--color--accent);
}
header form input[type=checkbox]:checked::after,
header form input[type=radio]:checked::after,
main form input[type=checkbox]:checked::after,
main form input[type=radio]:checked::after,
footer form input[type=checkbox]:checked::after,
footer form input[type=radio]:checked::after {
  background-color: var(--wp--preset--color--accent);
}
header form input[type=checkbox]::before,
main form input[type=checkbox]::before,
footer form input[type=checkbox]::before {
  border-radius: var(--radius);
}
header form input[type=checkbox]::after,
main form input[type=checkbox]::after,
footer form input[type=checkbox]::after {
  width: 65%;
  height: 40%;
  transform: translateX(-0.0625rem) translateY(0) rotate(-50deg);
  -webkit-clip-path: polygon(0 0, 30% 0, 30% 55%, 100% 55%, 100% 100%, 0 100%);
          clip-path: polygon(0 0, 30% 0, 30% 55%, 100% 55%, 100% 100%, 0 100%);
}
header form input[type=radio]::before, header form input[type=radio]::after,
main form input[type=radio]::before,
main form input[type=radio]::after,
footer form input[type=radio]::before,
footer form input[type=radio]::after {
  border-radius: 50%;
}
header form textarea,
main form textarea,
footer form textarea {
  resize: none;
  vertical-align: top;
  display: block;
}
header form input[type=submit],
header form input[type=button],
header form button[type=submit],
main form input[type=submit],
main form input[type=button],
main form button[type=submit],
footer form input[type=submit],
footer form input[type=button],
footer form button[type=submit] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: none;
  cursor: pointer;
  background-color: var(--wp--preset--color--primary);
  color: var(--wp--preset--color--white);
  padding: 0.625rem 1.75rem;
}
header form input[type=submit]:hover,
header form input[type=button]:hover,
header form button[type=submit]:hover,
main form input[type=submit]:hover,
main form input[type=button]:hover,
main form button[type=submit]:hover,
footer form input[type=submit]:hover,
footer form input[type=button]:hover,
footer form button[type=submit]:hover {
  outline-color: transparent;
}
header form input[type=submit]:focus,
header form input[type=button]:focus,
header form button[type=submit]:focus,
main form input[type=submit]:focus,
main form input[type=button]:focus,
main form button[type=submit]:focus,
footer form input[type=submit]:focus,
footer form input[type=button]:focus,
footer form button[type=submit]:focus {
  outline-color: var(--wp--preset--color--black);
}
header div.gform_confirmation_wrapper,
main div.gform_confirmation_wrapper,
footer div.gform_confirmation_wrapper {
  -webkit-margin-before: 0rem !important;
          margin-block-start: 0rem !important;
}
header div.gform_confirmation_wrapper .gform_confirmation_message,
main div.gform_confirmation_wrapper .gform_confirmation_message,
footer div.gform_confirmation_wrapper .gform_confirmation_message {
  padding-top: 3.5rem;
  padding-bottom: 3.5rem;
  text-align: center;
}
header div.gform_wrapper,
main div.gform_wrapper,
footer div.gform_wrapper {
  --gform--color--validation-error: #D84570;
}
header div.gform_wrapper .gform_validation_errors,
main div.gform_wrapper .gform_validation_errors,
footer div.gform_wrapper .gform_validation_errors {
  display: block;
  background-color: var(--gform--color--validation-error);
  color: var(--wp--preset--color--white);
  padding: 0.5rem 0.75rem;
  border-radius: var(--radius);
}
header div.gform_wrapper .gform_validation_errors h2.gform_submission_error,
main div.gform_wrapper .gform_validation_errors h2.gform_submission_error,
footer div.gform_wrapper .gform_validation_errors h2.gform_submission_error {
  font-size: 1rem !important;
  font-weight: 400;
  margin: 0;
}
@media only screen and (max-width: 781px) {
  header div.gform_wrapper .gform_validation_errors,
  main div.gform_wrapper .gform_validation_errors,
  footer div.gform_wrapper .gform_validation_errors {
    margin-bottom: 2rem;
  }
}
header div.gform_wrapper .gform_validation_errors .gform-icon,
main div.gform_wrapper .gform_validation_errors .gform-icon,
footer div.gform_wrapper .gform_validation_errors .gform-icon {
  display: inline-block;
  line-height: inherit;
  margin-right: 0.5rem;
  transform: translateY(0.0625rem);
}
header div.gform_wrapper .gform_heading .gform_required_legend,
main div.gform_wrapper .gform_heading .gform_required_legend,
footer div.gform_wrapper .gform_heading .gform_required_legend {
  font-size: 0.875rem;
  text-transform: uppercase;
  font-weight: 900;
  letter-spacing: 0.0625rem;
  color: var(--wp--preset--color--primary-xlight);
  display: none;
}
header div.gform_wrapper h3,
main div.gform_wrapper h3,
footer div.gform_wrapper h3 {
  font-weight: 400;
}
header div.gform_wrapper form .gform-body .gform_fields,
main div.gform_wrapper form .gform-body .gform_fields,
footer div.gform_wrapper form .gform-body .gform_fields {
  -webkit-column-gap: var(--wp--style--root--padding-left);
     -moz-column-gap: var(--wp--style--root--padding-left);
          column-gap: var(--wp--style--root--padding-left);
  row-gap: 1.25rem;
}
@media only screen and (max-width: 999px) {
  header div.gform_wrapper form .gform-body .gform_fields,
  main div.gform_wrapper form .gform-body .gform_fields,
  footer div.gform_wrapper form .gform-body .gform_fields {
    -webkit-column-gap: 2%;
       -moz-column-gap: 2%;
            column-gap: 2%;
    row-gap: 0.75rem;
  }
}
header div.gform_wrapper .gfield,
header div.gform_wrapper fieldset.gfield,
main div.gform_wrapper .gfield,
main div.gform_wrapper fieldset.gfield,
footer div.gform_wrapper .gfield,
footer div.gform_wrapper fieldset.gfield {
  margin-top: 1rem;
}
header div.gform_wrapper .gfield .gfield_label,
header div.gform_wrapper fieldset.gfield .gfield_label,
main div.gform_wrapper .gfield .gfield_label,
main div.gform_wrapper fieldset.gfield .gfield_label,
footer div.gform_wrapper .gfield .gfield_label,
footer div.gform_wrapper fieldset.gfield .gfield_label {
  display: block;
  font-size: 0.75rem;
  text-transform: uppercase;
  font-weight: 900;
  color: var(--wp--preset--color--primary-light);
  margin-bottom: 0.375rem;
}
header div.gform_wrapper .gfield .gfield_label .gfield_required,
header div.gform_wrapper fieldset.gfield .gfield_label .gfield_required,
main div.gform_wrapper .gfield .gfield_label .gfield_required,
main div.gform_wrapper fieldset.gfield .gfield_label .gfield_required,
footer div.gform_wrapper .gfield .gfield_label .gfield_required,
footer div.gform_wrapper fieldset.gfield .gfield_label .gfield_required {
  display: inline-block;
  margin-left: 0.125rem;
  color: var(--wp--preset--color--accent);
}
header div.gform_wrapper .gfield .gfield_description,
header div.gform_wrapper fieldset.gfield .gfield_description,
main div.gform_wrapper .gfield .gfield_description,
main div.gform_wrapper fieldset.gfield .gfield_description,
footer div.gform_wrapper .gfield .gfield_description,
footer div.gform_wrapper fieldset.gfield .gfield_description {
  font-size: 0.875rem;
  margin-top: 0.625rem;
  margin-bottom: 1rem;
  line-height: 1.4;
  color: var(--wp--preset--color--primary-light);
}
header div.gform_wrapper .gfield .gfield_description.validation_message,
header div.gform_wrapper fieldset.gfield .gfield_description.validation_message,
main div.gform_wrapper .gfield .gfield_description.validation_message,
main div.gform_wrapper fieldset.gfield .gfield_description.validation_message,
footer div.gform_wrapper .gfield .gfield_description.validation_message,
footer div.gform_wrapper fieldset.gfield .gfield_description.validation_message {
  display: inline-block;
  background-color: var(--gform--color--validation-error);
  color: var(--wp--preset--color--white);
  padding: 0.25rem 0.5rem;
  border-radius: var(--radius);
}
header div.gform_wrapper .gfield.gfield--type-consent,
main div.gform_wrapper .gfield.gfield--type-consent,
footer div.gform_wrapper .gfield.gfield--type-consent {
  margin-top: 2.5rem;
}
header div.gform_wrapper .gsection,
main div.gform_wrapper .gsection,
footer div.gform_wrapper .gsection {
  margin-top: 1rem;
  padding-bottom: 1rem;
  border-bottom: 0.0625rem solid var(--wp--preset--color--primary-grey);
  margin-bottom: 2.5rem;
}
header div.gform_wrapper .gsection h3.gsection_title,
main div.gform_wrapper .gsection h3.gsection_title,
footer div.gform_wrapper .gsection h3.gsection_title {
  margin-top: 0;
  margin-bottom: 0;
}
header div.gform_wrapper .gsection .gsection_description,
main div.gform_wrapper .gsection .gsection_description,
footer div.gform_wrapper .gsection .gsection_description {
  font-size: 0.9375rem;
  margin-top: 0.25rem;
  color: var(--wp--preset--color--primary-light);
}
@media only screen and (max-width: 781px) {
  header div.gform_wrapper .gsection,
  main div.gform_wrapper .gsection,
  footer div.gform_wrapper .gsection {
    margin-top: 0;
    padding-bottom: 0.5rem;
    margin-bottom: 1.5rem;
  }
}
header div.gform_wrapper .gfield + .gsection,
main div.gform_wrapper .gfield + .gsection,
footer div.gform_wrapper .gfield + .gsection {
  margin-top: 2.5rem;
}
header div.gform_wrapper .gform_footer,
main div.gform_wrapper .gform_footer,
footer div.gform_wrapper .gform_footer {
  margin-top: 4rem;
  margin-bottom: 2rem;
}
@media only screen and (max-width: 781px) {
  header div.gform_wrapper .gform_footer,
  main div.gform_wrapper .gform_footer,
  footer div.gform_wrapper .gform_footer {
    margin-top: 3.5rem;
    margin-bottom: 0;
  }
}

/******************************
********** HEADER *************
******************************/
#header__pre-bar,
#header__main-bar,
#header__nav-bar {
  width: 100%;
  color: var(--wp--preset--color--white);
  padding-left: var(--wp--style--root--padding-left);
  padding-right: var(--wp--style--root--padding-right);
}

#header__main-bar {
  background-color: var(--wp--preset--color--white);
  padding-block: 1rem;
}
@media only screen and (max-width: 781px) {
  #header__main-bar {
    padding-block: 0.75rem;
  }
}

#header__nav-bar {
  background-color: var(--wp--preset--color--grey);
}

#header__pre-bar {
  background-color: var(--wp--preset--color--pale-grey);
  color: var(--wp--preset--color--grey);
  padding-block: 0.5rem;
  font-size: 0.75rem;
}
#header__pre-bar ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  justify-content: space-between;
}
#header__pre-bar ul li {
  padding: 0;
  margin: 0;
}
@media only screen and (max-width: 781px) {
  #header__pre-bar {
    display: none;
  }
}

#header__main-bar__content,
#header__nav-bar__content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 100%;
}

#header__main-bar__content {
  gap: 0.75rem;
}
@media only screen and (max-width: 781px) {
  #header__main-bar__content {
    flex-wrap: wrap;
  }
}

#header__nav-bar__content {
  justify-content: flex-start;
  gap: 2rem;
}

.header__main-bar__column {
  flex-basis: 33.33%;
  flex-grow: 1;
  flex-shrink: 1;
  display: flex;
}

.header__main-bar__column:nth-of-type(1) {
  justify-content: flex-start;
}

.header__main-bar__column:nth-of-type(2) {
  justify-content: center;
}
@media only screen and (max-width: 781px) {
  .header__main-bar__column:nth-of-type(2) {
    flex-basis: 100%;
    width: 100%;
    order: 3;
  }
}

.header__main-bar__column:nth-of-type(3) {
  justify-content: flex-end;
}

#header__logo-link {
  text-decoration: none;
}

#header__logo svg {
  width: 6.5rem;
}

#page-overlay {
  display: block;
  position: fixed;
  cursor: pointer;
  z-index: 400;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.5);
  opacity: 0;
  visibility: hidden;
  transition: visibility var(--cubic-bezier) var(--transition-time--longer), opacity var(--cubic-bezier) var(--transition-time--longer);
}

body.header__full-nav--visible #page-overlay {
  opacity: 1;
  visibility: visible;
}

/***********************************
********** SEARCH ******************
***********************************/
#header__search {
  display: flex;
}
@media only screen and (max-width: 781px) {
  #header__search {
    width: 100%;
  }
}

#header__search__input {
  width: 15rem;
  border: none;
  font-size: 0.9375rem;
  box-shadow: inset 0rem 0.0625rem 0.125rem rgba(0, 0, 0, 0.125);
  border-top-right-radius: 0rem;
  border-bottom-right-radius: 0rem;
  outline-offset: -0.125rem;
}
@media only screen and (max-width: 999px) {
  #header__search__input {
    width: 12.5rem;
  }
}
@media only screen and (max-width: 781px) {
  #header__search__input {
    flex-grow: 1;
    font-size: 1rem;
  }
}

#header__search__submit {
  text-indent: 9999px;
  white-space: nowrap;
  overflow: hidden;
  width: 2.5rem;
  height: 2.25rem;
  padding: 0;
  border-top-left-radius: 0rem;
  border-bottom-left-radius: 0rem;
  background-color: var(--wp--preset--color--primary);
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23ffffff' d='M10 1C5.02944 1 1 5.02944 1 10C1 14.9706 5.02944 19 10 19C12.125 19 14.078 18.2635 15.6177 17.0319L21.2929 22.7071C21.6834 23.0976 22.3166 23.0976 22.7071 22.7071C23.0976 22.3166 23.0976 21.6834 22.7071 21.2929L17.0319 15.6177C18.2635 14.078 19 12.125 19 10C19 5.02944 14.9706 1 10 1ZM3 10C3 6.13401 6.13401 3 10 3C13.866 3 17 6.13401 17 10C17 13.866 13.866 17 10 17C6.13401 17 3 13.866 3 10Z'/%3E%3C/svg%3E%0A");
  background-size: 1rem;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  transition: background-color var(--cubic-bezier) var(--transition-time);
}
@media (hover: hover) {
  #header__search__submit:hover {
    background-color: var(--wp--preset--color--primary-darker);
  }
}

/***********************************
********** QUICKLINKS **************
***********************************/
#header__quicklinks {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  gap: 0.75rem;
  font-size: 0.9375rem;
  text-wrap: nowrap;
}
#header__quicklinks li {
  padding: 0;
  margin: 0;
}
#header__quicklinks li a {
  display: block;
  text-decoration: none;
  padding: 0.4375rem 1rem;
  padding-left: 2rem;
  border-radius: var(--radius);
  background-size: 0.9375rem;
  background-repeat: no-repeat;
  background-position: 0.625rem 50%;
  background-color: var(--wp--preset--color--primary);
  transition: background-color var(--cubic-bezier) var(--transition-time);
}
@media (hover: hover) {
  #header__quicklinks li a:hover {
    background-color: var(--wp--preset--color--primary-darker);
  }
}
@media only screen and (max-width: 781px) {
  #header__quicklinks li a span {
    display: none;
  }
}
#header__quicklinks li a.partner {
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23ffffff' d='M12 10C14.2091 10 16 8.20914 16 6C16 3.79086 14.2091 2 12 2C9.79086 2 8 3.79086 8 6C8 8.20914 9.79086 10 12 10Z' /%3E%3Cpath fill='%23ffffff' d='M12 12C7.58172 12 4 15.5817 4 20C4 21.1046 4.89543 22 6 22H18C19.1046 22 20 21.1046 20 20C20 15.5817 16.4183 12 12 12Z'/%3E%3C/svg%3E%0A");
}

/***********************************
********** FULL NAV ****************
***********************************/
@media not all and (max-width: 781px) {
  #header__full-nav__link,
  #header__full-nav__close {
    display: none;
  }
  #header__full-nav__container {
    width: 100%;
    isolation: isolate;
    z-index: 1000;
  }
  #header__full-nav__menu-container ul {
    list-style: none;
    padding: 0;
    margin: 0;
  }
  #header__full-nav__menu-container ul li {
    padding: 0;
    margin: 0;
  }
  #header__full-nav__menu-container ul li a {
    display: block;
    text-decoration: none;
  }
  #header__full-nav__menu-container ul li a:hover {
    text-decoration: underline;
  }
  #header__full-nav__menu-container ul.sub-menu li a {
    color: var(--wp--preset--color--primary);
  }
  #header__full-nav__menu-container > ul {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    width: 100%;
    max-width: var(--wp--style--global--content-size);
    margin-inline: auto;
    position: relative;
  }
  #header__full-nav__menu-container > ul > li > a {
    white-space: nowrap;
    display: block;
    padding-block: 0.75rem;
    padding-inline: 1.25rem;
  }
  #header__full-nav__menu-container > ul > li:hover {
    background-color: var(--wp--preset--color--primary);
  }
  #header__full-nav__menu-container > ul > li:hover > ul.sub-menu {
    display: grid;
  }
  #header__full-nav__menu-container > ul > li > ul.sub-menu {
    position: absolute;
    z-index: 100;
    left: 0;
    width: 100%;
    max-width: var(--wp--style--global--content-size);
    padding: 2rem;
    display: none;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    flex-wrap: wrap;
    background-color: var(--wp--preset--color--pale-grey);
    color: var(--wp--preset--color--black);
    border-top: 0.25rem solid var(--wp--preset--color--primary);
    border-bottom-left-radius: var(--radius-large);
    border-bottom-right-radius: var(--radius-large);
    box-shadow: var(--shadow-large);
  }
  #header__full-nav__menu-container > ul > li > ul.sub-menu > li {
    border-right: 0.0625rem solid var(--wp--preset--color--light-grey);
    border-bottom: 0.0625rem solid var(--wp--preset--color--light-grey);
    padding-right: 2rem;
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
  #header__full-nav__menu-container > ul > li > ul.sub-menu > li:nth-of-type(4n) {
    border-right: none;
  }
  #header__full-nav__menu-container > ul > li > ul.sub-menu > li:nth-last-child(-n+4) {
    border-bottom: none;
  }
  #header__full-nav__menu-container > ul > li > ul.sub-menu > li > a {
    padding-left: 2rem;
  }
  #header__full-nav__menu-container > ul > li > ul.sub-menu > li > ul.sub-menu {
    padding-left: 2rem;
    padding-top: 0.5rem;
    font-size: 0.825rem;
  }
  #header__full-nav__menu-container > ul > li > ul.sub-menu > li > ul.sub-menu > li > a {
    display: block;
    padding-block: 0.25rem;
    padding-left: 1rem;
    background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg fill='none' viewBox='0 0 25 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m8.6728 18.03c-0.29289-0.2929-0.29289-0.7677 0-1.0606l5.7197-5.7197-5.7197-5.7197c-0.2929-0.29289-0.2929-0.76777 0-1.0607 0.29289-0.29289 0.76776-0.29289 1.0607 0l6.25 6.25c0.2928 0.2929 0.2928 0.7677 0 1.0606l-6.25 6.25c-0.2929 0.2929-0.76777 0.2929-1.0607 0z' fill='%235C5C5C'/%3E%3C/svg%3E%0A");
    background-position: -0.25rem 0.25rem;
    background-size: 1.25rem auto;
    background-repeat: no-repeat;
  }
}
@media (max-width: 781px) {
  #header__nav-bar {
    padding-block: 0.625rem;
  }
  #header__full-nav__link {
    font-size: 0.9375rem;
    --size: 1.25rem;
    position: relative;
    cursor: pointer;
    text-decoration: none;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    padding-left: calc(var(--size) + 0.75rem);
    padding-top: 0.125rem;
    padding-bottom: 0.125rem;
    white-space: nowrap;
  }
  #header__full-nav__link span.handle {
    --handle-thickness: 0.125rem;
    display: block;
    position: absolute;
    height: var(--handle-thickness);
    width: var(--size);
    border-radius: 1rem;
    left: 0rem;
    right: 0%;
    background-color: var(--wp--preset--color--white);
    transform: rotate(0deg);
    transform-origin: left center;
    transition: top var(--cubic-bezier) var(--transition-time--longer), left var(--cubic-bezier) var(--transition-time--longer), transform var(--cubic-bezier) var(--transition-time--longer);
  }
  #header__full-nav__link span.handle:nth-child(1) {
    top: calc(37.5% - 0.5 * var(--handle-thickness));
  }
  #header__full-nav__link span.handle:nth-child(2) {
    top: calc(62.5% - 0.5 * var(--handle-thickness));
  }
  #header__full-nav__container {
    position: fixed;
    z-index: 430;
    display: flex;
    top: 0;
    left: 0;
    width: 22.5rem;
    max-width: 80%;
    height: 100%;
    background-color: var(--wp--preset--color--white);
    color: var(--wp--preset--color--black);
    visibility: hidden;
    opacity: 0;
    transition: visibility var(--cubic-bezier) var(--transition-time--longer), opacity var(--cubic-bezier) var(--transition-time--longer), -webkit-clip-path var(--cubic-bezier) var(--transition-time--longer);
    transition: clip-path var(--cubic-bezier) var(--transition-time--longer), visibility var(--cubic-bezier) var(--transition-time--longer), opacity var(--cubic-bezier) var(--transition-time--longer);
    transition: clip-path var(--cubic-bezier) var(--transition-time--longer), visibility var(--cubic-bezier) var(--transition-time--longer), opacity var(--cubic-bezier) var(--transition-time--longer), -webkit-clip-path var(--cubic-bezier) var(--transition-time--longer);
    -webkit-clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
            clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
  }
  body.header__full-nav--visible #header__full-nav__container {
    visibility: visible;
    opacity: 1;
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
            clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  }
  #header__full-nav__content-container {
    display: block;
    width: 100%;
    overflow: auto;
    overscroll-behavior: contain;
    padding: var(--wp--style--root--padding-left);
    transition: transform var(--cubic-bezier) var(--transition-time--longer);
    transform: translateX(-1rem);
  }
}
@media only screen and (max-width: 781px) and (max-width: 781px) {
  #header__full-nav__content-container {
    padding: 1.5rem;
  }
}
@media (max-width: 781px) {
  body.header__full-nav--visible #header__full-nav__content-container {
    transform: translateX(0rem);
  }
  #header__full-nav__close {
    display: block;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    border: none;
    background: none;
    padding: 0;
    padding-left: 1.25rem;
    background-size: 0.75rem auto;
    background-position: 0rem 50%;
    background-repeat: no-repeat;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%231E1E1E' d='M1.46967 1.46967C1.76256 1.17678 2.23744 1.17678 2.53033 1.46967L12 10.9393L21.4697 1.46967C21.7626 1.17678 22.2374 1.17678 22.5303 1.46967C22.8232 1.76256 22.8232 2.23744 22.5303 2.53033L13.0607 12L22.5303 21.4697C22.8232 21.7626 22.8232 22.2374 22.5303 22.5303C22.2374 22.8232 21.7626 22.8232 21.4697 22.5303L12 13.0607L2.53033 22.5303C2.23744 22.8232 1.76256 22.8232 1.46967 22.5303C1.17678 22.2374 1.17678 21.7626 1.46967 21.4697L10.9393 12L1.46967 2.53033C1.17678 2.23744 1.17678 1.76256 1.46967 1.46967Z' /%3E%3C/svg%3E%0A");
    font-size: 0.75rem;
  }
  #header__full-nav__menu-container {
    margin-top: 1rem;
    border-top: 0.125rem solid var(--wp--preset--color--pale-grey);
    padding-top: 1rem;
    overscroll-behavior: contain;
  }
  #header__full-nav__menu-container ul {
    list-style: none;
    padding: 0;
    margin: 0;
  }
  #header__full-nav__menu-container ul li {
    padding: 0;
    margin: 0;
  }
  #header__full-nav__menu-container > ul {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
  }
  #header__full-nav__menu-container > ul > li {
    font-size: 1.25rem;
  }
  #header__full-nav__menu-container > ul > li a {
    font-weight: 500;
    color: var(--wp--preset--color--primary-xlight);
    cursor: pointer;
    text-decoration: none;
  }
}
@media (max-width: 781px) and (hover: hover) {
  #header__full-nav__menu-container > ul > li a:hover {
    text-decoration: underline;
  }
}
@media (max-width: 781px) {
  #header__full-nav__menu-container > ul ul.sub-menu {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
    padding-left: 1rem;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }
  #header__full-nav__menu-container > ul ul.sub-menu > li {
    font-size: 1rem;
    font-weight: 300;
    text-transform: none;
  }
  #header__full-nav__menu-container > ul ul.sub-menu > li a {
    text-underline-offset: 0.25rem;
    text-decoration-thickness: 0.0625rem;
  }
}
#footer {
  background-color: var(--wp--preset--color--grey);
  color: var(--wp--preset--color--white);
  padding-left: var(--wp--style--root--padding-left);
  padding-right: var(--wp--style--root--padding-right);
}

#footer__content-container {
  font-size: 0.875rem;
  max-width: var(--wp--style--global--content-size);
  margin: 0 auto;
  padding-block: 4rem;
}
@media only screen and (max-width: 781px) {
  #footer__content-container {
    padding-block: 2.5rem;
  }
}
#footer__content-container :where(h1, h2, h3, h4, h5, h6) {
  color: inherit;
  font-size: 1.25rem;
  -webkit-margin-before: 1.5rem;
          margin-block-start: 1.5rem;
  -webkit-margin-after: 0rem;
          margin-block-end: 0rem;
}
#footer__content-container :where(.wp-block-list) {
  -webkit-margin-before: 0.75rem;
          margin-block-start: 0.75rem;
}

.swiper {
  overflow: visible;
}

.swiper-buttons {
  display: flex;
  justify-content: space-between;
  -webkit-margin-before: 3rem;
          margin-block-start: 3rem;
}
.swiper-buttons .swiper-button-prev,
.swiper-buttons .swiper-button-next {
  position: relative;
  left: auto;
  right: auto;
  top: auto;
  margin-top: 0;
  width: 10rem;
  height: 0.75rem;
  background-size: cover;
  background-repeat: no-repeat;
  transition: opacity var(--cubic-bezier) var(--transition-time--longer);
}
@media only screen and (max-width: 781px) {
  .swiper-buttons .swiper-button-prev,
  .swiper-buttons .swiper-button-next {
    width: 7.5rem;
    height: 1rem;
  }
}
.swiper-buttons .swiper-button-prev::after,
.swiper-buttons .swiper-button-next::after {
  content: none;
}
.swiper-buttons .swiper-button-prev {
  background-image: url("data:image/svg+xml,%3Csvg enable-background='new 0 0 145.5 8.1' version='1.1' viewBox='0 0 145.5 8.1' xml:space='preserve' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolygon fill='%239C9D9E' points='145.5 3.6 2 3.6 5.1 0.7 4.4 0 0 4.1 4.4 8.1 5.1 7.4 2 4.6 145.5 4.6'/%3E%3C/svg%3E%0A");
  background-position: left center;
}
.swiper-buttons .swiper-button-next {
  background-image: url("data:image/svg+xml,%3Csvg enable-background='new 0 0 145.5 8.1' version='1.1' viewBox='0 0 145.5 8.1' xml:space='preserve' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolygon fill='%239C9D9E' points='0 4.6 143.5 4.6 140.5 7.4 141.1 8.1 145.5 4.1 141.1 0 140.5 0.7 143.5 3.6 0 3.6'/%3E%3C/svg%3E%0A");
  background-position: right center;
}
body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  min-height: 100dvh;
}

#footer {
  margin-top: auto;
}

main {
  overflow-x: hidden;
}

/************************************
***** TEXT ALIGN HELPERS ************
************************************/
/************************************
***** HEADINGS **********************
************************************/
/************************************
***** PARAGRAPH *********************
************************************/
/************************************
***** SEPARATORS ********************
************************************/
/************************************
***** LISTS *************************
************************************/
/************************************
***** COLUMNS ***********************
************************************/
@media only screen and (max-width: 781px) {
  .wp-block-columns.is-style-mobile-collapse-reversed {
    flex-direction: column-reverse;
  }
}

/************************************
***** BUTTONS ***********************
************************************/
.wp-block-button.is-style-arrow .wp-block-button__link::after {
  content: url("data:image/svg+xml,%3Csvg enable-background='new 0 0 21.0361 8.1348' version='1.1' viewBox='0 0 21.036 8.1348' xml:space='preserve' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolygon fill='%23FFFFFF' points='16.64 0 15.96 0.7344 19.023 3.5674 0 3.5674 0 4.5674 19.023 4.5674 15.96 7.4004 16.64 8.1348 21.036 4.0674'/%3E%3C/svg%3E");
  display: inline-block;
  width: 1.5rem;
  margin-left: 0.75rem;
  transform: translateY(-0.125rem);
}

/************************************
***** IMAGE *************************
************************************/
.wp-block-image.is-style-border-radius-large,
.wp-block-image.is-style-border-radius-large img {
  border-radius: var(--radius-large);
}

/************************************
***** COVER FIX *********************
************************************/
/************************************
***** COVER / GROUP *****************
************************************/
.wp-block-group.alignfull,
.wp-block-cover.alignfull {
  border-radius: 0;
}

/************************************
***** MIXED HELPERS *****************
************************************/
/************************************
***** CUSTOM BLOCK STYLES ***********
************************************/
.search__results-container {
  -webkit-padding-after: 5rem;
          padding-block-end: 5rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.search__single-result {
  display: flex;
  gap: 1rem;
  align-items: center;
  text-decoration: none;
  border-radius: var(--radius-large);
  transition: outline-color var(--cubic-bezier) var(--transition-time);
  text-decoration: none;
}
@media (hover: hover) {
  .search__single-result {
    outline: 0.125rem solid transparent;
    outline-offset: -0.0625rem;
  }
  .search__single-result:hover {
    text-decoration: none;
    outline-color: var(--wp--preset--color--primary);
  }
}
@media only screen and (hover: hover) and (max-width: 599px) {
  .search__single-result {
    outline: none;
  }
}
@media only screen and (max-width: 599px) {
  .search__single-result {
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
  }
}

.search__single-result__image-container {
  width: 7.5rem;
  align-self: stretch;
  flex-shrink: 0;
  border-radius: var(--radius-large);
}
@media only screen and (max-width: 781px) {
  .search__single-result__image-container {
    width: 5rem;
  }
}

.search__single-result__image {
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center center;
     object-position: center center;
  width: 100%;
  height: 100%;
  border-radius: var(--radius-large);
}

.search__single-result__content-container {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding-block: 1rem;
}

.search__single-result__permalink {
  text-decoration: underline;
  font-size: 0.75rem;
  color: var(--wp--preset--color--grey);
}

.search__results-container .search__single-result h2.search__single-result__title {
  margin-block: 0;
  font-size: 1.25rem;
  color: var(--wp--preset--color--primary);
}

.search__single-result__excerpt,
.search__single-result__product-price {
  margin: 0;
  font-size: 0.9375rem;
  color: var(--wp--preset--color--grey);
}

.title-banner {
  --height: 17.5rem;
  height: var(--height);
  position: relative;
  padding-left: var(--wp--style--root--padding-left);
  padding-right: var(--wp--style--root--padding-right);
}
@media only screen and (max-width: 781px) {
  .title-banner {
    --height: 15rem;
  }
}
@media only screen and (max-width: 599px) {
  .title-banner {
    --height: 10rem;
  }
}

.title-banner__background-image {
  position: absolute;
  width: 100%;
  height: 100%;
  margin-left: calc(-1 * var(--wp--style--root--padding-left));
  margin-right: calc(-1 * var(--wp--style--root--padding-right));
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
  z-index: -1;
}

.title-banner__inner-container {
  width: var(--wp--style--global--content-size);
  max-width: 100%;
  height: 100%;
  margin-inline: auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.title-banner__logo-image {
  width: 100%;
  max-width: 20rem;
  height: var(--height);
  max-height: 10rem;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center center;
     object-position: center center;
}
@media only screen and (max-width: 599px) {
  .title-banner__logo-image {
    max-width: 10rem;
    max-height: 6rem;
  }
}

/** Product Loop **/
.woocommerce-loop-header {
  display: flex;
  justify-content: space-between;
  gap: 2rem;
}
@media only screen and (max-width: 599px) {
  .woocommerce-loop-header {
    font-size: 0.825rem;
  }
}

.woocommerce-result-count {
  padding: 0.375rem 1rem;
  line-height: 1.5;
  margin: 0;
  color: var(--wp--preset--color--black);
  background-color: var(--wp--preset--color--pale-grey);
  border-radius: var(--radius);
  border: 0.0625rem solid var(--wp--preset--color--light-grey);
  flex-shrink: 0;
}

ul.products {
  list-style: none;
  padding-inline: 0;
  padding-block: 2rem 5rem;
  margin: 0;
  display: grid;
  --columns: 4;
  gap: 2rem;
  grid-template-columns: repeat(var(--columns), 1fr);
}
@media only screen and (max-width: 999px) {
  ul.products {
    --columns: 3;
  }
}
@media only screen and (max-width: 781px) {
  ul.products {
    --columns: 2;
  }
}
@media only screen and (max-width: 599px) {
  ul.products {
    --columns: 1;
  }
}
ul.products li.product {
  padding: 0;
  margin: 0;
}
ul.products li.product a.woocommerce-loop-product__link {
  display: block;
  text-decoration: none;
  border-radius: var(--radius-large);
  box-shadow: var(--shadow);
  border: 0.0625rem solid var(--wp--preset--color--light-grey);
  transition: outline-color var(--cubic-bezier) var(--transition-time);
}
@media (hover: hover) {
  ul.products li.product a.woocommerce-loop-product__link {
    outline: 0.125rem solid transparent;
    outline-offset: -0.0625rem;
  }
  ul.products li.product a.woocommerce-loop-product__link:hover {
    outline-color: var(--wp--preset--color--primary);
  }
}
ul.products li.product a.woocommerce-loop-product__link .product-info-container {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 0rem 1rem 1rem 1rem;
}
ul.products li.product a.woocommerce-loop-product__link .attachment-woocommerce_thumbnail {
  width: 100%;
  height: auto;
  border-top-left-radius: var(--radius-large);
  border-top-right-radius: var(--radius-large);
}
ul.products li.product a.woocommerce-loop-product__link h2.woocommerce-loop-product__title {
  margin: 0;
  font-size: 1.125rem;
  line-height: 1.3;
}
ul.products li.product a.woocommerce-loop-product__link .feature-icons-container .feature-icons {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  gap: 0.375rem;
}
ul.products li.product a.woocommerce-loop-product__link .feature-icons-container .feature-icons .feature {
  position: relative;
  padding: 0;
  margin: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}
ul.products li.product a.woocommerce-loop-product__link .feature-icons-container .feature-icons .feature-icon-container {
  width: 1.5rem;
  height: 1.5rem;
  background-color: var(--wp--preset--color--light-grey);
  border-radius: var(--radius);
  display: flex;
  justify-content: center;
  align-items: center;
}
ul.products li.product a.woocommerce-loop-product__link .feature-icons-container .feature-icons .feature.is-supported .feature-icon-container {
  background-color: var(--wp--preset--color--primary);
  background-color: #285A3E;
}
ul.products li.product a.woocommerce-loop-product__link .feature-icons-container .feature-icons .feature-icon {
  width: 100%;
  max-width: 80%;
}
ul.products li.product a.woocommerce-loop-product__link .feature-icons-container .feature-icons .feature-ios .feature-icon {
  max-width: 70%;
}
ul.products li.product a.woocommerce-loop-product__link .feature-icons-container .feature-icons .feature-bluetooth .feature-icon {
  max-width: 65%;
}
ul.products li.product a.woocommerce-loop-product__link .feature-icons-container .feature-icons .feature-text {
  position: absolute;
  display: none;
  top: -1.625rem;
  white-space: nowrap;
  background-color: var(--wp--preset--color--black);
  color: var(--wp--preset--color--white);
  border-radius: 3px;
  font-size: 0.75rem;
  padding: 2px 8px;
}
@media (hover: hover) {
  ul.products li.product a.woocommerce-loop-product__link .feature-icons-container .feature-icons .feature:hover .feature-text {
    display: block;
  }
}
ul.products li.product a.woocommerce-loop-product__link .price {
  font-size: 1.125rem;
}
ul.products li.product a.woocommerce-loop-product__link .read-more-button {
  align-self: flex-start;
  background-color: var(--wp--preset--color--primary);
  color: var(--wp--preset--color--white);
  padding: 0.25rem 0.75rem;
  font-size: 0.9375rem;
  border-radius: var(--radius);
}

/** Product Loop: Shop **/
.woocommerce-shop ul.products li.product-category a {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 2/1;
  border-radius: var(--radius-large);
  box-shadow: var(--shadow);
  background-color: var(--wp--preset--color--pale-grey);
  border: 0.0625rem solid var(--wp--preset--color--light-grey);
  transition: outline-color var(--cubic-bezier) var(--transition-time);
}
.woocommerce-shop ul.products li.product-category a img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center center;
     object-position: center center;
  padding: 20%;
  -webkit-filter: grayscale(100%);
          filter: grayscale(100%);
}
.woocommerce-shop ul.products li.product-category a h2.woocommerce-loop-category__title {
  display: none;
}
@media (hover: hover) {
  .woocommerce-shop ul.products li.product-category a {
    outline: 0.125rem solid transparent;
    outline-offset: -0.0625rem;
  }
  .woocommerce-shop ul.products li.product-category a:hover {
    outline-color: var(--wp--preset--color--primary);
  }
}

/** Single Product **/
.single-product .product {
  display: flex;
  flex-wrap: wrap;
  padding-block: 2rem 0;
  gap: 2rem;
}
.single-product .product .woocommerce-product-gallery {
  width: calc(33.33% - 1rem);
}
.single-product .product .woocommerce-product-gallery img {
  max-width: 100%;
  height: auto;
}
@media only screen and (max-width: 999px) {
  .single-product .product .woocommerce-product-gallery {
    width: calc(50% - 1rem);
  }
}
@media only screen and (max-width: 781px) {
  .single-product .product .woocommerce-product-gallery {
    width: 100%;
  }
}
.single-product .product .summary {
  width: calc(66.66% - 1rem);
  border-radius: var(--radius-large);
  padding: 2rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media only screen and (max-width: 999px) {
  .single-product .product .summary {
    width: calc(50% - 1rem);
  }
}
@media only screen and (max-width: 781px) {
  .single-product .product .summary {
    width: 100%;
    padding: 1.5rem;
  }
}
.single-product .product .summary h1.product_title {
  margin: 0;
  font-size: 2rem;
  line-height: 1.2;
}
.single-product .product .summary .sku {
  margin: 0;
  color: var(--wp--preset--color--grey);
  font-size: 0.75rem;
}
.single-product .product .summary .price-prefix {
  margin: 0;
  margin-top: 2rem;
}
.single-product .product .summary .price {
  margin: 0;
  font-size: 1.75rem;
  color: var(--wp--preset--color--primary);
  font-weight: bold;
}
.single-product .product .summary .price-suffix {
  margin: 0;
  color: var(--wp--preset--color--grey);
  font-size: 0.75rem;
}
.single-product .product .summary .actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
  margin-top: 2rem;
}
.single-product .product .summary .actions a {
  display: block;
  font-size: 0.9325rem;
  text-decoration: none;
  border-radius: var(--radius);
  padding: 0.4375rem 1rem;
  background-color: var(--wp--preset--color--primary);
  color: var(--wp--preset--color--white);
  transition: background-color var(--cubic-bezier) var(--transition-time);
}
@media (hover: hover) {
  .single-product .product .summary .actions a:hover {
    background-color: var(--wp--preset--color--primary-darker);
  }
}
.single-product .product .woocommerce-product-section__container {
  width: 100%;
  padding-block: 0 5rem;
  position: relative;
}
.single-product .product .woocommerce-product-section__container::after {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  height: 100%;
  top: 0;
  bottom: 0;
  left: -50vw;
  right: -50vw;
  background-color: var(--wp--preset--color--pale-grey);
  background: linear-gradient(to bottom, white 0%, var(--wp--preset--color--pale-grey) 10rem);
}
.single-product .product .woocommerce-product-section {
  border-radius: var(--radius-large);
  box-shadow: var(--shadow);
  background-color: var(--wp--preset--color--white);
  border: 0.0625rem solid var(--wp--preset--color--light-grey);
  padding: 2rem;
}
@media only screen and (max-width: 781px) {
  .single-product .product .woocommerce-product-section {
    padding: 1.5rem;
  }
}
.single-product .product .woocommerce-product-section > h2 {
  margin-top: 0.5rem;
}
.single-product .product .woocommerce-product-section .feature-icons-container .feature-icons {
  list-style: none;
  padding: 0;
  margin: 0;
  --columns: 4;
  display: grid;
  grid-template-columns: repeat(var(--columns), 1fr);
}
@media only screen and (max-width: 599px) {
  .single-product .product .woocommerce-product-section .feature-icons-container .feature-icons {
    --columns: 2;
  }
}
.single-product .product .woocommerce-product-section .feature-icons-container .feature-icons .feature {
  border: 0.0625rem solid var(--wp--preset--color--light-grey);
  border-left: none;
  position: relative;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  padding: 1rem;
}
.single-product .product .woocommerce-product-section .feature-icons-container .feature-icons .feature:last-of-type {
  border-right: none;
}
@media only screen and (max-width: 599px) {
  .single-product .product .woocommerce-product-section .feature-icons-container .feature-icons .feature:nth-of-type(2) {
    border-right: none;
  }
  .single-product .product .woocommerce-product-section .feature-icons-container .feature-icons .feature:nth-of-type(3), .single-product .product .woocommerce-product-section .feature-icons-container .feature-icons .feature:nth-of-type(4) {
    border-top: none;
  }
}
.single-product .product .woocommerce-product-section .feature-icons-container .feature-icons .feature-title {
  font-weight: bold;
}
.single-product .product .woocommerce-product-section .feature-icons-container .feature-icons .feature-icon-container {
  width: 4rem;
  height: 4rem;
  background-color: var(--wp--preset--color--light-grey);
  border-radius: var(--radius-large);
  display: flex;
  justify-content: center;
  align-items: center;
}
@media only screen and (max-width: 599px) {
  .single-product .product .woocommerce-product-section .feature-icons-container .feature-icons .feature-icon-container {
    width: 3rem;
    height: 3rem;
  }
}
.single-product .product .woocommerce-product-section .feature-icons-container .feature-icons .feature.is-supported .feature-icon-container {
  background-color: var(--wp--preset--color--primary);
  background-color: #285A3E;
}
.single-product .product .woocommerce-product-section .feature-icons-container .feature-icons .feature-icon {
  width: 100%;
  max-width: 80%;
}
.single-product .product .woocommerce-product-section .feature-icons-container .feature-icons .feature-ios .feature-icon {
  max-width: 70%;
}
.single-product .product .woocommerce-product-section .feature-icons-container .feature-icons .feature-bluetooth .feature-icon {
  max-width: 65%;
}
.single-product .product .woocommerce-product-section .feature-icons-container .feature-icons .feature-text {
  text-align: center;
  background-color: var(--wp--preset--color--pale-grey);
  color: var(--wp--preset--color--black);
  border-radius: 3px;
  font-size: 0.75rem;
  padding: 2px 8px;
}
.single-product .product .woocommerce-product-section .feature-data-container .feature-data {
  list-style: none;
  padding: 0;
  margin: 0;
  --columns: 2;
  display: grid;
  grid-template-columns: repeat(var(--columns), 1fr);
}
.single-product .product .woocommerce-product-section .feature-data-container .feature-data .feature {
  border: 0.0625rem solid var(--wp--preset--color--light-grey);
  border-top: none;
  border-left: none;
  position: relative;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  padding: 1.5rem 1rem;
}
.single-product .product .woocommerce-product-section .feature-data-container .feature-data .feature:last-of-type {
  border-right: none;
}
@media only screen and (max-width: 599px) {
  .single-product .product .woocommerce-product-section .feature-data-container .feature-data .feature:nth-of-type(2) {
    border-right: none;
  }
}
.single-product .product .woocommerce-product-section .feature-data-container .feature-data .feature-title {
  font-weight: bold;
  text-align: center;
}
.single-product .product .woocommerce-product-section .feature-data-container .feature-data .feature-text {
  color: var(--wp--preset--color--primary);
  font-size: 1.75rem;
  font-weight: bold;
}
.single-product .product .woocommerce-product-section + .woocommerce-product-section {
  margin-top: 2rem;
}
