/*
Theme Name: BlankSlate Child
Theme URI: https://opencollective.com/blankslate
Template: blankslate
Author: Web Guy
Author URI: https://opencollective.com/blankslate#section-contributors
Description: Donate: https://opencollective.com/blankslate. Learn: https://blankslate.me/. BlankSlate is the definitive WordPress boilerplate starter theme. I've carefully constructed the most clean and minimalist theme possible for designers and developers to use as a base to build websites for clients or to build completely custom themes from scratch. Clean, simple, unstyled, semi-minified, unformatted, and valid code, SEO-friendly, jQuery-enabled, no programmer comments, standardized and as white label as possible, and most importantly, the CSS is reset for cross-browser-compatability, with no intrusive visual CSS styles added whatsoever. A perfect skeleton theme. For support and suggestions, go to: https://github.com/webguyio/blankslate/issues. Thank you.
Tags: accessibility-ready,one-column,two-columns,custom-menu,featured-images,microformats,sticky-post,threaded-comments,translation-ready
Updated: 2025-06-10 00:18:20

*/


/* lato-300 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Lato';
  font-style: normal;
  font-weight: 300;
  src: url('fonts/lato-v24-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* lato-300italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Lato';
  font-style: italic;
  font-weight: 300;
  src: url('fonts/lato-v24-latin-300italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* lato-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Lato';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/lato-v24-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* lato-italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Lato';
  font-style: italic;
  font-weight: 400;
  src: url('fonts/lato-v24-latin-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* lato-700 - latin */ 
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Lato';
  font-style: normal;
  font-weight: 700;
  src: url('fonts/lato-v24-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* lato-700italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Lato';
  font-style: italic;
  font-weight: 700;
  src: url('fonts/lato-v24-latin-700italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* lato-900 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Lato';
  font-style: normal;
  font-weight: 900;
  src: url('fonts/lato-v24-latin-900.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}


:root {
  /* Add these styles to your global stylesheet, which is used across all site pages. You only need to do this once. All elements in the library derive their variables and base styles from this central sheet, simplifying site-wide edits. For instance, if you want to modify how your h2's appear across the site, you just update it once in the global styles, and the changes apply everywhere. */
  --primary: #48B2B9;
  --primaryLight: #8be2e8;
  --secondary: #E569A4;
  --darkSecondary: #ca2372;
  --secondaryLight: #f19ec5;
  --headerColor: #004754;
  --bodyTextColor: #467684;
  --bodyTextColorWhite: #467684;
  --footerLightGreen: #E5F9F9;
  --balloon-green-75: #3d7680;
  /* 13px - 16px */
  --topperFontSize: clamp(0.8125rem, 1.6vw, 1rem);
  /* 31px - 49px */
  --headerFontSize: clamp(1.9375rem, 3.9vw, 3.0625rem);
  --bodyFontSize: 1rem;
  /* 60px - 100px top and bottom */
  --sectionPadding: clamp(3.75rem, 7.82vw, 6.25rem) 1rem;
}

body {
  margin: 0;
  padding: 0;
}
#wrapper{
  overflow: hidden;
}


.reset_variations{
	display: none !important;
	opacity: 0;
}
*, *:before, *:after {
  /* prevents padding from affecting height and width */
  box-sizing: border-box;
}
.cs-button-solid , .single_add_to_cart_button, .wc-block-components-button{
  font-size: 1rem;
  font-weight: 700;
  /* 46px - 56px */
  line-height: clamp(2.875rem, 5.5vw, 3.5rem);
  text-align: center;
  text-decoration: none;
  min-width: 12.5rem;
  margin: 0;
  /* prevents padding from adding to the width */
  box-sizing: border-box;
  /* 32px - 48px */
  padding: 0 clamp(2rem, 4vw, 3rem);
  background-color: var(--primary);
  color: var(--headerColor);
  display: inline-block;
  position: relative;
  z-index: 1;
  transition: color 0.3s;
  text-transform: uppercase;
}
.single_add_to_cart_button, .wc-block-components-button{
  height: 55px;
  border-radius: 0px !important;
}

.cs-button1{
  background-color: var(--secondary) !important;  color: #004754;
}
.cs-button2, .single_add_to_cart_button, .wc-block-components-button{
  background-color: var(--primary) !important;
  color: #004754 !important;
}
.cs-button-solid:before , .single_add_to_cart_button:before{
  content: "";
  width: 0%;
  height: 100%;
  opacity: 1;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  transition: width 0.3s;
}
.cs-button-solid.cs-button1:before {
  background: var(--secondaryLight);
}
.cs-button-solid.cs-button2:before , .single_add_to_cart_button:before{
  background: var(--primaryLight);
}

.cs-button-solid:hover, .single_add_to_cart_button:hover{
  color: var(--headerColor);
}
.cs-button-solid:hover:before , .single_add_to_cart_button:hover:before{
  width: 100%;
}



.cs-topper {
  font-size: var(--topperFontSize);
  line-height: 1.2em;
  text-transform: uppercase;
  text-align: inherit;
  letter-spacing: .1em;
  font-weight: 800;
  color: var(--headerColor);
  margin-bottom: 0.25rem;
  display: block;
}



body{
  font-family: "Lato", sans-serif;
}

.cs-topper{
  font-weight: bold;
}


  /*-- -------------------------- -->
<---     Mobile Navigation      -->
<--- -------------------------- -*/

/* Mobile - 1023.5px */
@media only screen and (max-width: 1023.5px) {
    body.cs-open {
      overflow: hidden;
    }
    #cs-navigation {
      width: 91%;
      max-width: 80rem;
      /* prevents padding from affecting height and width */
      box-sizing: border-box;
      /* 12px - 24px */
      padding: clamp(0.75rem, 2vw, 1.5rem);
      border-radius: 1rem;
      position: fixed;
      top: 1.25rem;
      left: 50%;
      z-index: 10000;
      transform: translateX(-50%);
      transition: top 0.3s, border-radius 0.3s, width 0.3s, max-width 0.3s;
    }
    #cs-navigation:before {
      /* background color */
      content: "";
      width: 100%;
      height: 100%;
      background: #E5F9F9;
      opacity: 1;
      border-radius: 1rem;
      display: block;
      position: absolute;
      top: 0;
      left: 50%;
      transform: translateX(-50%);
      transition: transform 0.2s, border-radius 0.3s ease-in-out;
    }
    #cs-navigation:after {
      /* background color */
      content: "";
      width: 100%;
      height: 100%;
      background: var(--dark);
      opacity: 0;
      border-radius: 1rem;
      display: block;
      position: absolute;
      top: 0;
      left: 50%;
      z-index: -1;
      transform: translateX(-50%);
      transition: transform 0.2s, border-radius 0.3s, opacity 0.3s ease-in-out;
    }
    #cs-navigation.cs-active:before,
    #cs-navigation.cs-active:after {
      transform: translateX(-50%) scale(1.03);
    }
    #cs-navigation.cs-active .cs-toggle {
      transform: rotate(180deg);
    }
    #cs-navigation.cs-active .cs-ul-wrapper {
      opacity: 1;
      transform: scaleY(1);
      transition-delay: 0.15s;
    }
    #cs-navigation.cs-active .cs-li {
      opacity: 1;
      transform: translateY(0);
    }
    #cs-navigation .cs-container {
      width: 100%;
      display: flex;
      justify-content: flex-end;
      align-items: center;
      gap: 1.5rem;
    }
    #cs-navigation .cs-logo {
      width: auto;
      max-width: 12.5rem;
      height: 100%;
      margin: 0 auto 0 0;
      /* prevents padding from affecting height and width */
      box-sizing: border-box;
      padding: 0;
      display: flex;
      justify-content: flex-start;
      align-items: center;
      z-index: 10;
    }
    #cs-navigation .cs-logo img {
      width: 100%;
      height: 100%;
      /* ensures the image never overflows the container. It stays contained within it's width and height and expands to fill it then stops once it reaches an edge */
      object-fit: contain;
    }
    #cs-navigation .cs-toggle {
      width: 3.5rem;
      height: 3.5rem;
      margin: 0 0 0 auto;
      background-color: var(--primary);
      border: none;
      border-radius: 0.5rem;
      display: flex;
      justify-content: center;
      align-items: center;
      position: relative;
      z-index: 10;
      transition: transform 0.6s;
    }
    #cs-navigation .cs-nav {
      /* sends it to the right in the 3rd position */
      order: 3;
    }
    #cs-navigation .cs-active .cs-line1 {
      top: 50%;
      transform: translate(-50%, -50%) rotate(225deg);
    }
    #cs-navigation .cs-active .cs-line2 {
      top: 50%;
      transform: translate(-50%, -50%) translateY(0) rotate(-225deg);
      transform-origin: center;
    }
    #cs-navigation .cs-active .cs-line3 {
      opacity: 0;
      bottom: 100%;
    }
    #cs-navigation .cs-box {
      /* 24px - 28px */
      width: clamp(1.5rem, 2vw, 1.75rem);
      height: 1rem;
      position: relative;
    }
    #cs-navigation .cs-line {
      width: 100%;
      height: 2px;
      background-color: #fafbfc;
      border-radius: 6.25rem;
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
    }
    #cs-navigation .cs-line1 {
      top: 0;
      transition: transform 0.5s, top 0.3s, left 0.3s;
      animation-duration: 0.7s;
      animation-timing-function: ease;
      animation-direction: normal;
      animation-fill-mode: forwards;
      transform-origin: center;
    }
    #cs-navigation .cs-line2 {
      top: 50%;
      transform: translateX(-50%) translateY(-50%);
      transition: top 0.3s, left 0.3s, transform 0.5s;
      animation-duration: 0.7s;
      animation-timing-function: ease;
      animation-direction: normal;
      animation-fill-mode: forwards;
    }
    #cs-navigation .cs-line3 {
      width: 66%;
      bottom: 0;
      left: 0;
      transform: none;
      transition: bottom 0.3s, opacity 0.3s;
    }
    #cs-navigation .cs-button-outline {
      display: none;
    }
  }
  /* Tablet - 650px - 1024px */
  @media only screen and (min-width: 40.625rem) and (max-width: 1023.5px) {
    #cs-navigation .cs-button-outline {
      font-size: 1rem;
      font-weight: 700;
      line-height: 1em;
      text-align: center;
      text-decoration: none;
      padding: 1rem 1.75rem;
      color: #fff;
      border: 1px solid #fff;
      border-radius: 1.875rem;
      display: block;
      z-index: 1;
    }
  }
  /*-- -------------------------- -->
<---     Mobile Navigation      -->
<--- -------------------------- -*/

body,
html {
    /* reset margin and padding so there's no gap between the nav and the screen edges */
    margin: 0;
       padding: 0;
}
.balloon-banner{
  padding-top: 15px;
  padding-bottom: 15px;
  text-align: center;
  background-color: #E5F9F9;
  color: var(--balloon-green-75);
  font-size: 14px;
  letter-spacing: 2px;
  width: 100%;
}
.balloon-banner p{
  border-bottom: solid 2px #BFDBE0;
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
  padding-bottom: 15px;
}
.cs-cart{
  display: block;
  position: relative;
}
.cs-cart a{
  color: var(--headerColor);
  transition: ease-in-out .2s all;
}
.cs-cart a:hover{
  transform: scale(1.1);
  color: var(--secondary);
}
.cs-cart a svg{
  transition: ease-in-out .2s all;
}
.cs-cart a:hover svg{
  transform: scale(1.1);
}
.cs-cart-count{
  position: absolute;
    background: var(--secondaryLight);
    border-radius: 50%;
    width: 20px;
    height: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    right: -15px;
    top: -11px;
    font-size: 12px;
  }
.cs-cart a:hover .cs-cart-count{
  color: white;
}
/* Mobile - 1023px */
@media only screen and (max-width: 63.9375rem) {
    body.cs-open {
        overflow: hidden;
    }
    body.cs-open #cs-navigation:after {
        width: 100%;
        opacity: 1;
    }
    body.scroll #cs-navigation:after {
        width: 100%;
    }
    #cs-navigation {
        width: 100%;
        /* prevents padding and border from affecting height and width */
        box-sizing: border-box;
        /* border-bottom: 1px solid #484848; */
        position: fixed;
        z-index: 10000;
        top: 40px;
        padding: 0;
    }
    .balloon-banner {
      padding-top: 10px;
      padding-bottom: 10px;
      font-size: 11px;
    }
    #cs-navigation.sticky{
      top: 0;
      padding: 0;
      -webkit-box-shadow: 0px 9px 9px -4px #00000079; 
      box-shadow: 0px 9px 9px -4px #00000079;
      background-color: var(--primaryLight) !important;
    }
    #cs-navigation.sticky .cs-logo img{
      width: 120px;
    }
    #cs-navigation:after {
        /* on scroll overlay */
        content: "";
        width: 0%;
        height: 100%;
        /* background: #1a1a1a; */
        opacity: 0.8;
        position: absolute;
        display: block;
        top: 0;
        left: 0;
        z-index: -1;
        transition:
            width 0.3s,
            opacity 0.3s;
    }
    #cs-navigation.cs-active .cs-ul-wrapper {
        opacity: 1;
        transform: scaleY(1);
    }
    #cs-navigation.cs-active .cs-li {
        transform: translateY(0);
        opacity: 1;
    }
    #cs-navigation .cs-top-bar {
        width: 100%;
        background-color: #1a1a1a;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    #cs-navigation .cs-top-container {
        width: 100%;
        padding: 1rem;
        /* prevents padding and border from affecting height and width */
        box-sizing: border-box;
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 3.125rem;
    }
    #cs-navigation .cs-top-contact {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        gap: 1.5rem;
    }
    #cs-navigation .cs-top-link {
        font-size: 0.875rem;
        line-height: 1.5em;
        text-decoration: none;
        margin: 0;
        color: #f7f7f7;
        display: flex;
        justify-content: flex-start;
        align-items: center;
        gap: 0.5rem;
    }
    #cs-navigation .cs-link-icon {
        width: 1rem;
        height: auto;
        display: block;
    }
    #cs-navigation .cs-top-social {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 1rem;
    }
    #cs-navigation .cs-social-link {
        text-decoration: none;
        width: auto;
        height: auto;
        display: block;
    }
    #cs-navigation .cs-social-icon {
        width: 1.25rem;
        height: auto;
        display: block;
    }
    #cs-navigation .cs-container {
        width: 100%;
        padding: 1rem;
        /* prevents padding and border from affecting height and width */
        box-sizing: border-box;
        display: flex;
        justify-content: flex-end;
        align-items: center;
    }
    #cs-navigation .cs-logo {
        width: 7.1875rem;
        height: auto;
        margin: 0 auto 0 0;
        padding: 0;
        display: flex;
        justify-content: center;
        align-items: center;
        z-index: 10;
    }
    #cs-navigation .cs-logo img {
        width: 100%;
        height: 100%;
        /* ensures the image never overflows the container. It stays contained within it's width and height and expands to fill it then stops once it reaches an edge */
        object-fit: contain;
    }
    #cs-navigation .cs-toggle {
        width: 3.5rem;
        height: 3.5rem;
        margin: 0 0 0 auto;
        background-color: var(--headerColor);
        border: none;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    #cs-navigation .cs-active .cs-line1 {
        top: 50%;
        transform: translate(-50%, -50%) rotate(225deg);
    }
    #cs-navigation .cs-active .cs-line2 {
        top: 50%;
        transform-origin: center;
        transform: translate(-50%, -50%) translateY(0) rotate(-225deg);
    }
    #cs-navigation .cs-active .cs-line3 {
        bottom: 100%;
        opacity: 0;
    }
    #cs-navigation .cs-box {
        /* 24px - 28px */
        width: clamp(1.5rem, 2vw, 1.75rem);
        height: 1rem;
        position: relative;
    }
    #cs-navigation .cs-line {
        width: 100%;
        height: 2px;
        border-radius: 2px;
        background-color: #fafbfc;
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
    }
    #cs-navigation .cs-line1 {
        top: 0;
        transform-origin: center;
        transition:
            transform 0.5s,
            top 0.3s,
            left 0.3s;
        animation-duration: 0.7s;
        animation-timing-function: ease;
        animation-fill-mode: forwards;
        animation-direction: normal;
    }
    #cs-navigation .cs-line2 {
        top: 50%;
        transform: translateX(-50%) translateY(-50%);
        transition:
            top 0.3s,
            left 0.3s,
            transform 0.5s;
        animation-duration: 0.7s;
        animation-timing-function: ease;
        animation-fill-mode: forwards;
        animation-direction: normal;
    }
    #cs-navigation .cs-line3 {
        bottom: 0;
        transition:
            bottom 0.3s,
            opacity 0.3s;
    }
    #cs-navigation .cs-ul-wrapper {
        width: 100%;
        height: 100vh;
        padding-bottom: 3rem;
        opacity: 0;
        background-color: var(--headerColor);
        /* box-shadow: inset rgba(0, 0, 0, 0.2) 0px 8px 24px; */
        overflow: hidden;
        position: absolute;
        top: 100%;
        left: 0;
        z-index: -1;
        transform: scaleY(0);
        transform-origin: top;
        transition:
            transform 0.4s,
            opacity 0.3s;
    }
    #cs-navigation .cs-ul {
        margin: 0;
        padding: 3rem 0 0 0;
        width: 100%;
        height: auto;
        max-height: 65vh;
        overflow: scroll;
        display: flex;
        justify-content: flex-start;
        flex-direction: column;
        align-items: center;
        gap: 1.25rem;
    }
    #cs-navigation .cs-li {
        list-style: none;
        margin-right: 0;
        /* transition from these values */
        transform: translateY(-4.375rem);
        opacity: 0;
        transition:
            transform 0.6s,
            opacity 0.9s;
    }
    #cs-navigation .cs-li:nth-of-type(1) {
        transition-delay: 0.05s;
    }
    #cs-navigation .cs-li:nth-of-type(2) {
        transition-delay: 0.1s;
    }
    #cs-navigation .cs-li:nth-of-type(3) {
        transition-delay: 0.15s;
    }
    #cs-navigation .cs-li:nth-of-type(4) {
        transition-delay: 0.2s;
    }
    #cs-navigation .cs-li:nth-of-type(5) {
        transition-delay: 0.25s;
    }
    #cs-navigation .cs-li:nth-of-type(6) {
        transition-delay: 0.3s;
    }
    #cs-navigation .cs-li:nth-of-type(7) {
        transition-delay: 0.35s;
    }
    #cs-navigation .cs-li:nth-of-type(8) {
        transition-delay: 0.4s;
    }
    #cs-navigation .cs-li:nth-of-type(9) {
        transition-delay: 0.45s;
    }
    #cs-navigation .cs-li-link {
        /* 16px - 24px */
        font-size: clamp(1rem, 3vw, 1.5rem);
        line-height: 1.2em;
        text-decoration: none;
        margin: 0;
        color: #ffffff;
        display: inline-block;
        position: relative;
    }
    #cs-navigation .cs-li-link:before {
        /* active state underline */
        content: "";
        width: 100%;
        height: 1px;
        background: currentColor;
        opacity: 1;
        position: absolute;
        display: none;
        bottom: -0.125rem;
        left: 0;
    }
    #cs-navigation .cs-li-link.cs-active {
        color: var(--secondary);
    }
    #cs-navigation .cs-li-link.cs-active:before {
        display: block;
    }
    #cs-navigation .cs-button-solid {
        display: none;
    }
}

/*-- -------------------------- -->
<---     Desktop Navigation     -->
<--- -------------------------- -*/

/* Small Desktop - 1024px */
@media only screen and (min-width: 64rem) {
    body.scroll #cs-navigation:after {
        height: 100%;
    }
    #cs-navigation {
        width: 100%;
        padding: 0;
        /* prevents padding and border from affecting height and width */
        box-sizing: border-box;
        /* position: fixed; */
        z-index: 10000;
        background-color: #E5F9F9;
    }
    #cs-navigation:after {
        /* on scroll overlay */
        content: "";
        width: 100%;
        height: 0%;
        background: rgba(0,0,0,0);
        opacity: 0.8;
        position: absolute;
        display: block;
        top: 0;
        left: 0;
        z-index: -1;
        transition:
            height 0.3s,
            opacity 0.3s;
    }
    #cs-navigation .cs-container {
        width: fit-content;
        /* same height as the cs-ul-wrapper */
        height: 5.8125rem;
        max-width: 80rem;
        margin: auto;
        padding: 0 1rem;
        /* prevents padding from affectin gheight */
        box-sizing: border-box;
        display: flex;
        justify-content: flex-end;
        align-items: center;
        gap: 1.5rem;
        position: relative;
    }
    #cs-navigation .cs-toggle {
        display: none;
    }
    #cs-navigation .cs-logo {
        width: 18.4%;
        max-width: 12.3125rem;
        height: 3.75rem;
        /* margin-right auto pushes everything away from it to the right */
        margin: 0 auto 0 0;
        padding: 0;
        display: flex;
        justify-content: center;
        align-items: center;
        z-index: 100;
    }
    #cs-navigation .cs-logo img {
        width: 100%;
        height: 100%;
        /* ensures the image never overflows the container. It stays contained within it's width and height and expands to fill it then stops once it reaches an edge */
        object-fit: contain;
    }
    #cs-navigation .cs-ul-wrapper {
        /* absolutely positioned to be dead center */
        /* position: absolute; */
        /* left: 50%; */
        /* top: 50%; */
        /* transform: translate(-50%, -50%); */
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 30px;
    }
    #cs-navigation .cs-ul {
        width: 100%;
        margin: 0;
        padding: 0;
        display: flex;
        justify-content: flex-start;
        align-items: center;
        /* 20px - 36px */
        gap: clamp(1.25rem, 2.6vw, 2.25rem);
        text-transform: uppercase;
    }
    #cs-navigation .cs-li {
        list-style: none;
        padding: 2.25rem 0;
        /* prevent flexbox from squishing it */
        flex: none;
    }
    #cs-navigation .cs-li-link {
        /* 14px - 16px */
        font-size: clamp(0.875rem, 0.6vw, 1rem);
        line-height: 1.5em;
        text-decoration: none;
        margin: 0;
        color: var(--bodyTextColorWhite);
        display: block;
        position: relative;
        transition: color 0.3s;
    }
    #cs-navigation .cs-li-link:before {
        content: "";
        width: 0%;
        height: 1px;
        background: currentColor;
        opacity: 1;
        position: absolute;
        display: block;
        bottom: -2px;
        left: 0;
        transition: width 0.3s;
    }
    #cs-navigation .cs-li-link:hover {
        color: var(--headerColor);
        font-weight: bold;
    }
    #cs-navigation .cs-li-link:hover:before {
        width: 100%;
    }
    #cs-navigation .cs-li-link.cs-active {
        color: var(--secondary);
    }
    #cs-navigation .cs-li-link.cs-active:before {
        width: 100%;
    }
    #cs-navigation .cs-button-solid {
        font-size: 1rem;
        /* 46px - 56px */
        line-height: clamp(2.875em, 5.5vw, 3.5em);
        text-decoration: none;
        font-weight: 700;
        text-align: center;
        margin: 0;
        color: #fff;
        min-width: 9.375rem;
        padding: 0 2rem;
        background-color: var(--primary);
        display: inline-block;
        position: relative;
        z-index: 1;
        /* prevents padding from adding to the width */
        box-sizing: border-box;
        transition: color 0.3s;
    }
    #cs-navigation .cs-button-solid:before {
        content: "";
        position: absolute;
        height: 100%;
        width: 0%;
        background: #fff;
        opacity: 1;
        top: 0;
        left: 0;
        z-index: -1;
        transition: width 0.3s;
    }
    #cs-navigation .cs-button-solid:hover {
        color: #1a1a1a;
    }
    #cs-navigation .cs-button-solid:hover:before {
        width: 100%;
    }
    #cs-navigation .cs-nav-button {
        line-height: 2.875rem;
    }
}

                                


/*-- -------------------------- -->
<---          Services          -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #services-38 {
      padding: var(--sectionPadding);
  }
  #services-38 .cs-box-custom{
    width: 268px;
    text-align: center;
  }
  #services-38 .cs-container {
      width: 100%;
      /* changes to 1280pc at tablet */
      max-width: 34.375rem;
      margin: auto;
      display: flex;
      flex-direction: column;
      align-items: center;
      /* 48px - 64px */
      gap: clamp(3rem, 6vw, 4rem);
  }
  #services-38 .cs-content {
      /* in case you add a .cs-content to this stitch */
      /* set text align to left if content needs to be left aligned */
      text-align: center;
      width: 100%;
      display: flex;
      flex-direction: column;
      /* centers content horizontally, set to flex-start to left align */
      align-items: center;
  }
  #services-38 .cs-card-group {
      width: 100%;
      margin: 0;
      padding: 0;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      column-gap: 1.25rem;
      row-gap: 3.75rem;
  }
  #services-38 .cs-item {
      list-style: none;
      width: 100%;
      margin: 0;
      display: flex;
      flex-direction: column;
      justify-content: start;
      align-items: center;
      gap: 20px;
      width: fit-content;
  }
  #services-38 .cs-title{
    font-size: clamp(2.4375rem, 6.4vw, 3.25rem);
    font-weight: 900;
    color: var(--headerColor);
    max-width: 30ch;
    line-height: 1.2em;
    text-transform: uppercase;
  }
  #services-38 .cs-item img{
    border-radius: 20px;
  }
  #services-38 .cs-item:hover .cs-picture:before {
      height: 100%;
  }

  #services-38 .cs-picture {
      aspect-ratio: 0.91111111;
      position: relative;
      display: block;
      /* Keeps image from bleeding outside the picture element */
      overflow: hidden;
  }
  #services-38 .cs-picture:before {
      content: "";
      position: absolute;
      display: block;
      height: 0%;
      width: 100%;
      background: var(--primaryLight);
      opacity: 0.8;
      top: 0;
      left: 0;
      z-index: 1;
      transition: height 0.3s;
  }
  #services-38 .cs-picture img {
      position: absolute;
      top: 0;
      left: 0;
      height: 100%;
      width: 100%;
      /* Makes img tag act like a background image */
      object-fit: cover;
      transition: transform 0.7s;
  }
  #services-38 .cs-box {
      /* Centers the button */
      text-align: center;
      width: 90%;
      margin: 0 auto;
      /* -32px to 48px */
      margin-top: calc(clamp(2rem, 7vw, 3rem) * -1);
      padding: 1.5rem 1rem 0;
      background: #fff;
      position: relative;
      z-index: 10;
      /* Prevents padding from adding to the total width */
      box-sizing: border-box;
  }
  #services-38 .cs-h3 {
      /* 20px - 25px */
      font-size: clamp(1.25rem, 2vw, 1.5625rem);
      text-align: center;
      line-height: 1.2em;
      font-weight: bold;
      color: var(--headerColor);
      margin: 0 0 1rem;
  }
  #services-38 .cs-item-text {
      font-size: 1rem;
      line-height: 1.5em;
      margin: 0 0 0.25rem;
      padding: 0;
      color: var(--bodyTextColor);
  }
  #services-38 .cs-link {
      font-size: 1rem;
      /* 46px - 56px */
      line-height: clamp(2.875em, 5.5vw, 3.5em);
      text-decoration: none;
      font-weight: 700;
      margin: auto;
      color: var(--darkSecondary);
      background-color: transparent;
      border-radius: 0.25rem;
      display: inline-block;
      position: relative;
      z-index: 1;
  }
  #services-38 .cs-link:before {
      content: "";
      position: absolute;
      display: block;
      height: 0.1875rem;
      width: 0%;
      background: var(--darkSecondary);
      opacity: 1;
      bottom: 0.375rem;
      left: 0;
      z-index: -1;
      border-radius: 0.25rem;
      transition: width 0.3s;
  }
  #services-38 .cs-link:hover:before {
      width: 100%;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #services-38 .cs-container {
      max-width: 80rem;
  }
  #services-38 .cs-card-group {
      flex-direction: row;
      align-items: stretch;
  }
  #services-38 .cs-item {
      margin: 0;
  }
  #services-38 .cs-picture {
      /* 360px - 430px */
      height: clamp(22.5rem, 42vw, 26.875rem);
      /* reset aspect ratio, don't need it anymore */
      aspect-ratio: initial;
  }
  #services-38 .cs-box {
      width: 90%;
      padding: 1.5rem 0.75rem;
  }
  #services-38 .cs-h3 {
      /* force heading to 2 lines for consistent spacing */
  }
  #services-38 .cs-h3 span {
      display: block;
  }
}

                              





/*-- -------------------------- -->
<---            CTA             -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #cta-51 {
      padding: var(--sectionPadding);
      position: relative;
  }
  #cta-51 .cs-topper {
    font-size: var(--topperFontSize);
    line-height: 1.2em;
    text-transform: uppercase;
    text-align: inherit;
    letter-spacing: .1em;
    font-weight: 800;
    color: var(--headerColor);
    margin-bottom: 0.25rem;
    display: block;
}

#cta-51 .cs-title {
    font-size: var(--headerFontSize);
    font-weight: 900;
    line-height: 1.2em;
    text-align: inherit;
    max-width: 55.75rem;
    margin: 0 0 1rem 0;
    color: var(--headerColor);
    position: relative;
    text-transform: uppercase;
}

#cta-51 .cs-text {
    font-size: 20px;
    line-height: 1.5em;
    text-align: inherit;
    width: 100%;
    max-width: 50.625rem;
    margin: 0;
    color: var(--headerColor);
}
  #cta-51 .cs-container {
      width: 100%;
      max-width: 80rem;
      margin: auto;
      display: flex;
      flex-direction: column;
      align-items: center;
      /* 48px - 64px */
      gap: clamp(3rem, 6vw, 4rem);
  }
  #cta-51 .cs-content {
      /* set text align to left if content needs to be left aligned */
      text-align: center;
      width: 100%;
      display: flex;
      flex-direction: column;
      /* centers content horizontally, set to flex-start to left align */
      align-items: center;
  }


  #cta-51 .cs-text {
      margin-bottom: 1rem;
  }
  #cta-51 .cs-text:last-of-type {
      margin-bottom: 2rem;
  }

  #cta-51 .cs-picture {
      height: 100%;
      width: 100%;
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      z-index: -1;
  }
  #cta-51 .cs-picture:before {
      /* black color overlay */
      content: "";
      position: absolute;
      display: block;
      height: 100%;
      width: 100%;
      background: white;
      opacity: 0.7;
      top: 0;
      left: 0;
      z-index: 1;
  }
  #cta-51 .cs-picture img {
      position: absolute;
      top: 0;
      left: 0;
      height: 100%;
      width: 100%;
      object-fit: cover;
  }
}

                              



/*-- -------------------------- -->
<---     Services Again         -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #services-39 {
      padding: var(--sectionPadding);
      background-color: #F5E6ED;
  }
  
  #services-39 .cs-box-custom{
    width: 330px;
    text-align: center;
  }
  #services-39 .cs-container {
      width: 100%;
      /* changes to 1280pc at tablet */
      max-width: 34.375rem;
      margin: auto;
      display: flex;
      flex-direction: column;
      align-items: center;
      /* 48px - 64px */
      gap: clamp(1rem, 5vw, 1rem);
  }
  #services-39 .cs-button-solid{
    margin-top: 20px;
  }
  #services-39 .cs-content {
      /* in case you add a .cs-content to this stitch */
      /* set text align to left if content needs to be left aligned */
      text-align: center;
      width: 100%;
      display: flex;
      flex-direction: column;
      /* centers content horizontally, set to flex-start to left align */
      align-items: center;
  }
  #services-39 .cs-bottomer{
    font-size: clamp(1.5rem, 1.6vw, 2rem);
    letter-spacing: 3px !important;
    line-height: 1.2em;
    text-transform: uppercase;
    text-align: inherit;
    letter-spacing: .1em;
    font-weight: 800;
    color: var(--headerColor);
    margin-bottom: 0.25rem;
    display: block;
    margin-top: -10px;
    text-align: center;
  }
  #services-39 .cs-card-group {
      width: 100%;
      margin: 0;
      padding: 0;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      column-gap: 1.25rem;
      row-gap: 2rem;
      margin-top: 2rem;
  }
  #services-39 .cs-item {
      list-style: none;
      width: 100%;
      margin: 0;
      display: flex;
      flex-direction: column;
      justify-content: start;
      align-items: center;
      gap: 20px;
      width: fit-content;
  }
  #services-39 .cs-title{
    font-size: clamp(2.4375rem, 6.4vw, 3.25rem);
    font-weight: 900;
    color: var(--headerColor);
    max-width: 30ch;
    line-height: 1.2em;
    text-transform: uppercase;
    margin-top: -10px;
    text-align: center;
  }
  #services-39 .cs-item img{
    /* border-radius: 20px; */
    width: 250px;
    height: 250px;
    object-fit: contain;
  }
  #services-39 .cs-item:hover .cs-picture:before {
      height: 100%;
  }

  #services-39 .cs-picture {
      aspect-ratio: 0.91111111;
      position: relative;
      display: block;
      /* Keeps image from bleeding outside the picture element */
      overflow: hidden;
  }
  #services-39 .cs-picture:before {
      content: "";
      position: absolute;
      display: block;
      height: 0%;
      width: 100%;
      background: var(--primaryLight);
      opacity: 0.8;
      top: 0;
      left: 0;
      z-index: 1;
      transition: height 0.3s;
  }
  #services-39 .cs-picture img {
      position: absolute;
      top: 0;
      left: 0;
      height: 100%;
      width: 100%;
      /* Makes img tag act like a background image */
      object-fit: cover;
      transition: transform 0.7s;
  }
  #services-39 .cs-box {
      /* Centers the button */
      text-align: center;
      width: 90%;
      margin: 0 auto;
      /* -32px to 48px */
      margin-top: calc(clamp(2rem, 7vw, 3rem) * -1);
      padding: 1.5rem 1rem 0;
      background: #fff;
      position: relative;
      z-index: 10;
      /* Prevents padding from adding to the total width */
      box-sizing: border-box;
  }
  #services-39 .cs-h3 {
      /* 20px - 25px */
      font-size: clamp(1.25rem, 2vw, 1.5625rem);
      text-align: center;
      line-height: 1.2em;
      font-weight: bold;
      color: var(--headerColor);
      margin: 0 0 1rem;
      text-transform: uppercase;
  }
  #services-39 .cs-item-text {
      font-size: 1rem;
      line-height: 1.5em;
      margin: 0 0 0.25rem;
      padding: 0;
      color: var(--bodyTextColor);
  }
  #services-39 .cs-link {
      font-size: 1rem;
      /* 46px - 56px */
      line-height: clamp(2.875em, 5.5vw, 3.5em);
      text-decoration: none;
      font-weight: 700;
      margin: auto;
      color: var(--darkSecondary);
      background-color: transparent;
      border-radius: 0.25rem;
      display: inline-block;
      position: relative;
      z-index: 1;
  }
  #services-39 .cs-link:before {
      content: "";
      position: absolute;
      display: block;
      height: 0.1875rem;
      width: 0%;
      background: var(--darkSecondary);
      opacity: 1;
      bottom: 0.375rem;
      left: 0;
      z-index: -1;
      border-radius: 0.25rem;
      transition: width 0.3s;
  }
  #services-39 .cs-link:hover:before {
      width: 100%;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #services-39 .cs-container {
      max-width: 80rem;
  }
  #services-39 .cs-card-group {
      flex-direction: row;
      align-items: stretch;
  }
  #services-39 .cs-item {
      margin: 0;
  }
  #services-39 .cs-picture {
      /* 360px - 430px */
      height: clamp(22.5rem, 42vw, 26.875rem);
      /* reset aspect ratio, don't need it anymore */
      aspect-ratio: initial;
  }
  #services-39 .cs-box {
      width: 90%;
      padding: 1.5rem 0.75rem;
  }
  #services-39 .cs-h3 {
    text-transform: uppercase;

      /* force heading to 2 lines for consistent spacing */
  }
  #services-39 .cs-h3 span {
      display: block;
  }
}








/*-- -------------------------- -->
<---           Footer           -->
<--- -------------------------- -*/
#cs-footer-106 .cs-social-link{
  transition: ease-in-out all .2s;
}
#cs-footer-106 .cs-social-link:hover{
  transform: scale(1.2);
}
.balloon-footer-inner{
  display: flex;
  align-items: start;
  justify-content: space-between;
}


/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #cs-footer-106 {
      padding: 2.5rem 1rem 1.25rem;
      background: var(--footerLightGreen);
  }
  #cs-footer-106 .cs-container {
      width: 100%;
      max-width: 67.5rem;
      margin: auto;
  }
  #cs-footer-106 .balloon-footer-inner{
      padding: 0 0 2.5rem;
      margin: auto;
      border-bottom: 1px solid #BFDBE0;
  }

  /* LI styles */
  #cs-footer-106 .cs-ul li {
      list-style: none;
      text-align: center;
      margin-bottom: 1.25rem;
  }
  #cs-footer-106 .cs-ul li:last-of-type {
      margin-bottom: 0;
  }

  /* A tag styles */
  #cs-footer-106 .cs-ul li a, .balloon-footer-inner .phone {
      font-size: clamp(0.9375rem, 2vw, 1.0625rem);
      line-height: 1.5em;
      text-decoration: none;
      font-weight: 700;
      color: var(--bodyTextColorWhite);
      position: relative;
      display: inline-block;
  }
  #cs-footer-106 .cs-ul li a:hover:before, .balloon-footer-inner .phone:hover:before {
      width: 100%;
  }
  #cs-footer-106 .cs-ul li a:before, .balloon-footer-inner .phone:before {
      content: "";
      width: 0%;
      height: 0.1875rem;
      background: var(--bodyTextColorWhite);
      opacity: 1;
      position: absolute;
      display: block;
      bottom: -0.125rem;
      left: 0;
      transition: width 0.3s;
  }

  #cs-footer-106 .cs-bottom {
      margin-top: 1.25rem;
      display: flex;
      justify-content: flex-start;
      align-items: center;
  }
  #cs-footer-106 .cs-copyright {
      font-size: 0.9375rem;
      text-align: center;
      color: var(--headerColor);
      display: block;
      margin: 0 auto 0 0;
  }
  #cs-footer-106 .cs-social-link {
      width: 1.25rem;
      height: 1.25rem;
      margin-left: 0.75rem;
      background: var(--headerColor);
      border-radius: 50%;
      display: flex;
      justify-content: center;
      align-items: center;
  }
  #cs-footer-106 .cs-social-link img {
      height: 0.6875rem;
      width: auto;
      filter: invert(1);
  }
  .balloon-footer-inner {
    align-items: start;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 20px;
}
.cs-copyright{
  width: 100%;
}
#cs-footer-106 .cs-bottom {
  margin-top: 1.25rem;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}
}

/* Tablet - 700px */
@media only screen and (min-width: 43.75rem) {
  #cs-footer-106 .cs-ul {
      display: flex;
      justify-content: flex-start;
      align-items: center;
  }
  #cs-footer-106 .cs-ul ul{
    display: flex;
  }
  #cs-footer-106 .cs-ul li {
      margin: 0 clamp(2.8125rem, 7vw, 5.5rem) 0 0;
  }
  #cs-footer-106 .cs-ul li:last-of-type {
      margin: 0;
      margin-left: auto;
  }
  .balloon-footer-inner {
    align-items: start;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
}
#cs-footer-106 .cs-bottom {
  margin-top: 1.25rem;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: nowrap;
  justify-content: center;
  gap: 10px;
}
.cs-copyright {
  width: fit-content;
}

}









/* ********************************************** */
/* Home Page  */
/* ********************************************** */


/*-- -------------------------- -->
<---            Hero            -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #hero-2151 {
    /* 160px - 200px - top leaving extra space for the navigation */
/*     padding: clamp(10rem, 25.95vw, 12.5rem) 0 0 0; */
    background-color: #E5F9F9;
    overflow: hidden;
    position: relative;
	padding-top: 100px;
  }
  #hero-2151 .cs-container {
    width: 100%;
    max-width: 107.5rem;
    margin: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* 48px - 100px */
    gap: clamp(3rem, 6vw, 6.25rem);
  }
  #hero-2151 .cs-content {
    /* set text align to left if content needs to be left aligned */
    text-align: center;
    width: 100%;
    /* prevents padding and border from affecting height and width */
    box-sizing: border-box;
    /* 16px - 100px left & right */
    padding: 0 clamp(1rem, 2vw, 6.25rem);
    display: flex;
    flex-direction: column;
    /* centers content horizontally, set to flex-start to left align */
    align-items: center;
    position: relative;
    z-index: 1;
    text-transform: uppercase;
    gap: 20px;
  }
  #hero-2151 .cs-title {
    /* 39px - 61px */
    font-size: clamp(1.4375rem, 6.4vw, 2.25rem);
    font-weight: 900;
    color: var(--headerColor);
    max-width: 30ch;
    line-height: 1.2em;
  }
  #hero-2151 .cs-topper{
    color: var(--balloon-green-75);
    letter-spacing: 4px;
    line-height: 1.2em;
  }
  #hero-2151 .cs-text {
    /* 16px - 20px */
    font-size: clamp(1rem, 1.5vw, 1.25rem);
    max-width: 65ch;
    margin: 0 0 2rem 0;
  }
  #hero-2151 .cs-button-solid {
    font-size: 1rem;
    font-weight: 700;
    /* 46px - 56px */
    line-height: clamp(2.875rem, 5.5vw, 3.5rem);
    text-align: center;
    text-decoration: none;
    min-width: 12.5rem;
    margin: 0;
    /* prevents padding from adding to the width */
    box-sizing: border-box;
    /* 32px - 48px */
    padding: 0 clamp(2rem, 4vw, 3rem);
    background-color: var(--primary);
    color: var(--headerColor);
    display: inline-block;
    position: relative;
    z-index: 1;
    transition: color 0.3s;
  }
  #hero-2151 .button-container{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
  }


  #hero-2151 .cs-background {
    width: 100%;
    height: 100vw;
    max-height: 29.75rem;
    display: block;
    position: relative;
    z-index: 1;
  }
  #hero-2151 .cs-background img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
  }
  #hero-2151 .cs-graphic {
    /* 200px - 280px */
    width: clamp(8.5rem, 15vw, 9.5rem);
    height: auto;
    display: none;
    align-self: end;
    /* position: absolute; */
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #hero-2151 .cs-graphic {
    display: block;
    bottom: calc(clamp(3rem, 6vw, 6.25rem)*-1);
    left: 0;
    z-index: 0;
  }
  #hero-2151 .cs-content {
    /* 60px - 100px */
    padding-bottom: clamp(3.75rem, 7.82vw, 6.25rem);
  }
}
/* Small Desktop - 1024px */
@media only screen and (min-width: 64rem) {
  #hero-2151 {
    /* 120px - 250px top */
    /* 60px - 200px  bottom */
/*     padding: clamp(7.5rem, 23.82vw, 15.625rem) 1rem clamp(3.75rem, 15.82vw, 12.5rem) 1rem; */
padding-bottom: 150px;
	  
  }
  #hero-2151 .cs-container {
    flex-direction: row;
	margin-top: -75px;
  }
  #hero-2151 .cs-content {
    /* removed padding and put it on the section */
    width: 55%;
    /* 16px - 100px */
    padding: 0 clamp(1rem, 2vw, 6.25rem);
  }
  #hero-2151 .cs-background {
    width: 42%;
    height: auto;
    max-height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
  }
  #hero-2151 .cs-graphic {
    bottom: calc(clamp(3.75rem, 15.82vw, 12.5rem)*-1);
  }
}
/* Large Desktop - 1440px */
@media only screen and (min-width: 90rem) {
  #hero-2151 .cs-background {
    width: 50%;
  }
  #hero-2151 .cs-content {
    width: 50%;
  }
  #hero-2151 .cs-graphic {
    left: -4.375rem;
  }
}
                                




/* Contact Us Page */



/* Contact Us Page */


/*-- -------------------------- -->
<---          Contact           -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  input[type="submit"].ninja-forms-field{
    background-color: var(--secondary) !important;
    color: var(--headerColor) !important;
    border-radius: 0px !important;
  }
  .nf-form-title, .nf-form-fields-required{
    display: none;
  }
  #contact-1525 .cs-floater2{
    display: none;
  }

  #contact-1525 .cs-floater1 {
    width: clamp(4.8125rem, 16vw, 6.5rem);
    height: auto;
    position: absolute;
    top: 6rem;
    left: 0;
    z-index: -1;
    transform: rotate(-10deg);
}



  #contact-1525 {
    padding: var(--sectionPadding);
    position: relative;
    z-index: 1;
    padding-top: 200px;
  }
  #contact-1525 .cs-title{
    font-size: clamp(2.4375rem, 6.4vw, 3.25rem);
    font-weight: 900;
    color: var(--headerColor);
    max-width: 30ch;
    line-height: 1.2em;
    text-transform: uppercase;
    margin-bottom: 20px;
  }
  #contact-1525 .cs-title span{
    font-size: 70%;
    color: var(--balloon-green-75);
    display: block;
  }
  
  #contact-1525 .cs-container {
    width: 100%;
    max-width: 80rem;
    margin: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    /* 48px - 64px */
    gap: clamp(3rem, 6vw, 4rem);
  }

  #contact-1525 .cs-content {
    /* set text aling to left if content needs to be left aligned */
    text-align: center;
    width: 100%;
    display: flex;
    flex-direction: column;
    /* centers content horizontally, set to flex-start to left align */
    align-items: center;
  }

  #contact-1525 .cs-text {
    font-size: 20px;
    line-height: 1.5em;
    text-align: inherit;
    width: 100%;
    max-width: 43.625rem;
    margin: 0;
    color: var(--balloon-green-75);
}
  #contact-1525 .cs-form {
    width: 100%;
    max-width: 52.875rem;
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 0.75rem;
  }
  #contact-1525 .cs-label {
    /* 14px - 16px */
    font-size: clamp(0.875rem, 1.5vw, 1rem);
    width: 100%;
    color: var(--headerColor);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    grid-column: span 12;
    gap: 0.25rem;
  }
  #contact-1525 .cs-input,
  #contact-1525 .cs-select {
    font-size: 1rem;
    width: 100%;
    height: 3.5rem;
    padding: 0;
    padding: 0 1.5rem;
    color: var(--headerColor);
    border-radius: 0.5rem;
    background-color: #f7f7f7;
    border: none;
    /* prevents padding from adding to height and width */
    box-sizing: border-box;
    transition: border-color 0.3s;
  }
  #contact-1525 .cs-input:hover,
  #contact-1525 .cs-select:hover {
    border-color: var(--secondary);
  }
  #contact-1525 .cs-input:focus,
  #contact-1525 .cs-select:focus {
    outline: 1px solid var(--secondary);
  }
  #contact-1525 .cs-input::placeholder,
  #contact-1525 .cs-select::placeholder {
    color: #7d799c;
    opacity: 0.6;
  }
  #contact-1525 .cs-textarea {
    /* 120px - 192px */
    min-height: clamp(7.5rem, 28vw, 12rem);
    padding-top: 1.5rem;
    /* 48px - 64px */
    margin-bottom: clamp(3rem, 6vw, 4rem);
    font-family: inherit;
  }
  #contact-1525 .cs-button-solid {
    font-size: 1rem;
    /* 46px - 56px */
    line-height: clamp(2.875rem, 3.5vw, 3.5rem);
    text-decoration: none;
    font-weight: 700;
    text-align: center;
    margin: 0 auto;
    color: #fff;
    min-width: 9.375rem;
    padding: 0 1.5rem;
    background-color: var(--primary);
    border-radius: 3.125rem;
    overflow: hidden;
    display: inline-block;
    position: relative;
    z-index: 1;
    /* prevents padding from adding to the width */
    box-sizing: border-box;
  }
  #contact-1525 .cs-button-solid:before {
    content: "";
    position: absolute;
    height: 100%;
    width: 0%;
    background: #000;
    opacity: 1;
    top: 0;
    left: 0;
    z-index: -1;
    border-radius: 0.25rem;
    transition: width 0.3s;
  }
  #contact-1525 .cs-button-solid:hover:before {
    width: 100%;
  }
  #contact-1525 .cs-submit {
    text-transform: uppercase;
    min-width: 13.375rem;
    margin-top: -0.75rem;
    border: none;
    grid-column: span 12;
  }
  #contact-1525 .cs-submit:hover {
    cursor: pointer;
  }

  #contact-1525 .cs-floater2 {
    /* 72px - 200px */
    width: clamp(4.5rem, 15vw, 12.5rem);
    height: auto;
    position: absolute;
    bottom: 12.5rem;
    right: .75rem;
    z-index: -1;
    transform: rotate(-10deg);
  }
  #contact-1525 .cs-background {
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -2;
  }
  #contact-1525 .cs-background img {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    object-fit: cover;
  }

  /* Ninja Forms Overrides */
  #contact-1525 .ninja-forms-field.nf-element {
    font-size: 1rem;
    width: 100%;
    height: 3.5rem;
    padding: 0 1.5rem;
    color: var(--headerColor);
    border-radius: 0.5rem;
    background-color: #f7f7f7;
    border: none;
    box-sizing: border-box;
    transition: border-color 0.3s;
  }

  #contact-1525 .ninja-forms-field.nf-element:hover {
    border-color: var(--secondary);
  }

  #contact-1525 .ninja-forms-field.nf-element:focus {
    outline: 1px solid var(--secondary);
  }

  #contact-1525 textarea.ninja-forms-field {
    min-height: clamp(7.5rem, 28vw, 12rem);
    padding-top: 1.5rem;
    font-family: inherit;
    margin-bottom: clamp(3rem, 6vw, 4rem);
  }

  #contact-1525 input[type="submit"].ninja-forms-field {
    font-size: 1rem;
    line-height: clamp(2.875rem, 3.5vw, 3.5rem);
    text-decoration: none;
    font-weight: 700;
    text-align: center;
    margin: 0 auto;
    color: #fff;
    min-width: 9.375rem;
    padding: 0 1.5rem;
    background-color: var(--primary);
    border-radius: 3.125rem;
    display: inline-block;
    position: relative;
    box-sizing: border-box;
    text-transform: uppercase;
    margin-top: -0.75rem;
    border: none;
    cursor: pointer;
  }

  #contact-1525 input[type="submit"].ninja-forms-field::before {
    content: "";
    position: absolute;
    height: 100%;
    width: 0%;
    background: #000;
    opacity: 1;
    top: 0;
    left: 0;
    z-index: -1;
    border-radius: 0.25rem;
    transition: width 0.3s;
  }

  #contact-1525 input[type="submit"].ninja-forms-field:hover::before {
    width: 100%;
  }

  #contact-1525 .nf-field-label label,
  #contact-1525 .nf-field-label span {
    font-size: clamp(0.875rem, 1.5vw, 1rem);
    color: var(--headerColor);
    margin-bottom: 0.25rem;
    display: inline-block;
  }

  #contact-1525 .nf-form-content {
    display: flex;
    gap: 0.75rem;
  }

  #contact-1525 .nf-field-container {
    grid-column: span 12;
  }
  .ninja-forms-field.nf-element{
    background-color: #e5edef !important;
  }
}

/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #contact-1525{
    padding: var(--sectionPadding);
    position: relative;
    
  }

  #contact-1525 .cs-label {
    grid-column: span 6;
  }
  #contact-1525 .cs-message {
    grid-column: span 12;
  }

  #contact-1525 .nf-field-container:not(.textarea-container):not(.submit-container) {
    grid-column: span 6;
  }
  #contact-1525 nf-fields-wrap{
    display:flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 850px;
  }
  #contact-1525 nf-field{
    width: 49%;
  }
  #contact-1525 nf-field:nth-of-type(5){
    width: 100%;
  }
  .corporate-events nf-field:nth-of-type(3){
    width: 32% !important;
  }
  .corporate-events nf-field:nth-of-type(4){
    width: 32% !important;
  }
  .corporate-events nf-field:nth-of-type(5){
    width: 32% !important;
  }
  .corporate-events nf-field:nth-of-type(6){
    width: 100% !important;
  }
  #contact-1525 nf-field:last-of-type{
    width: 100%;
    text-align: center;
  }
  nf-field textarea{
    margin-bottom: 20px !important;
  }
  #contact-1525 nf-field:last-of-type input{
    width: 225px !important;
  }
  /* #contact-1525 #nf-field-1-container{
    width: 48%;
  }
  #contact-1525 #nf-field-2-container{
    width: 48%;
  } */
  #contact-1525 .cs-floater2{
    display: block;
  }
  #contact-1525 .cs-floater1 {
    /* 157px - 312px */
    width: clamp(9.8125rem, 20vw, 11.5rem);
    height: auto;
    position: absolute;
    top: -2rem;
    left: -4rem;
    z-index: -1;
    transform: rotate(-10deg);
  }

}

/* Large Desktop - 1300px */
@media only screen and (min-width: 81.25rem) {
  #contact-1525 .cs-floater1 {
    top: 5.25rem;
  }


}



/*-- -------------------------- -->
<---       Side By Side         -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #sbs-1443 {
    padding: var(--sectionPadding);
    overflow: hidden;
    background-color: var(--footerLightGreen);
    padding-top: 100px;
  }
	#sbs-1443 .cs-picture-frame{
/* 		display: flex;
		justify-content: center;
		align-items: center;
		flex-wrap: wrap;
		gap: 20px;
		flex-direction: row; */
		  display: grid;
		  grid-template-columns: 1fr 1fr;
		  grid-template-rows: auto auto;
		  gap: 10px;
		margin-bottom: 30px;
        width: 90%;
	}
	#sbs-1443 .cs-picture-frame .cs-picture{
/* 		width: 40%; */
		width: 100%;
	}
	#sbs-1443 .cs-picture-frame .cs-picture-tall{
		 grid-row: span 2;
 		 height: 100%;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	#sbs-1443 .cs-picture-frame .cs-picture-tall img{
		height: unset;
	}
	#sbs-1443 .cs-picture-frame .cs-picture img {
		margin-bottom: 0px;
	}
  .woo-content{
    background-color: white !important;
  }
  .wc-block-components-product-metadata{
    font-size: 1em !important;
    line-height: 1.3em !important;
  }
  #sbs-1443 .cs-container {
    width: 100%;
    /* changes to 1280px at desktop */
    max-width: 34.375rem;
    margin: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* 48px - 64px */
    /* gap: clamp(3rem, 6vw, 4rem); */
    position: relative;
  }
  #sbs-1443 .cs-title, #sbs-1443 h1{
    font-size: clamp(2.4375rem, 6.4vw, 2.4rem);
    font-weight: 800;
    color: var(--headerColor);
    max-width: 30ch;
    line-height: 1.2em;
    /* text-transform: uppercase; */
    margin-bottom: 20px;
  }
  #sbs-1443 .cs-text, #sbs-1443 .cs-content p{
    font-size: 20px;
    line-height: 1.5em;
    text-align: inherit;
    width: 100%;
    max-width: 43.625rem;
    margin: 0;
    color: var(--balloon-green-75);
}

#sbs-1443 .cs-content p{
  color: var(--headerColor);
}
#sbs-1443 .woocommerce-Price-amount{
  color: var(--balloon-green-75);
  font-size: clamp(2rem, 6.4vw, 1.4rem);
  font-weight: 800;
}
.cs-text:empty{
  display: none;
}
  #sbs-1443 .cs-content {
    /* set text align to left if content needs to be left aligned */
    text-align: left;
    width: 100%;
    max-width: 33.875rem;
    display: flex;
    flex-direction: column;
    /* centers content horizontally, set to flex-start to left align */
    align-items: flex-start;
  }
  #sbs-1443 .cs-text {
    margin-bottom: 1rem;
  }
  #sbs-1443 .cs-text:last-of-type {
    margin-bottom: 2rem;
  }
  #sbs-1443 .cs-card-group {
    width: 100%;
    max-width: 39.375rem;
    margin: 0 0 2rem 0;
    padding: 0;
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    gap: 1.5rem;
  }
  #sbs-1443 .cs-li {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    /* 16px - 20px */
    gap: clamp(1rem, 2.5vw, 1.25rem);
  }
  #sbs-1443 .cs-li-picture {
    width: 5rem;
    height: 5rem;
    margin: 0;
    border-radius: 50%;
    background-color: #fff;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    /* prevents flexbox from squishing it */
    flex: none;
    position: relative;
    z-index: 1;
  }
  #sbs-1443 .cs-li-picture:before {
    content: '';
    width: 100%;
    height: 100%;
    background: var(--primary);
    opacity: .1;
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    z-index: -1;
  }
  #sbs-1443 .cs-li-icon {
    width: 2rem;
    height: auto;
    display: block;
  }
  #sbs-1443 .cs-h3 {
    font-size: 1.25rem;
    line-height: 1.2em;
    font-weight: 700;
    text-align: left;
    margin: 0 0 0.75rem 0;
    color: var(--headerColor);
  }
  #sbs-1443 .cs-li-text {
    font-size: 1rem;
    line-height: 1.5em;
    text-align: left;
    margin: 0;
    color: var(--bodyTextColor);
  }
  #sbs-1443 .cart{
    width: 100%;
  }


  #sbs-1443 .cs-picture {
    width: 100%;
    max-width: 28rem;

    border-radius: 1.5rem;
    /* clips img tag corners */
    overflow: hidden;
    display: block;
    position: relative;
    z-index: 1;
  }
  #sbs-1443 .cs-picture img {
    width: 100%;
    height: 100%;
    display: block;
    /* position: absolute; */
    top: 0;
    left: 0;
    object-fit: cover;
    border-radius: 20px;
  }
	#sbs-1443 .woocommerce-product-gallery-wrapper{
/* 		max-height: 350px; */
	}

  .flex-control-nav{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 20px;
  }
  .flex-control-nav li{
    width: 22% !important;
	border: solid grey 0px !important;
    border-radius: 5px;
	cursor: pointer;
	  transition: ease-in-out all .2s;
	  opacity: 1;
  }
	.flex-control-nav li:hover{
		transform: scale(1.1);
		opacity: .8;
	}
	
  .pswp__bg{
    opacity: .4 !important;
  }
  /* Style the zoom/lightbox trigger */
.woocommerce-product-gallery__trigger {
  position: absolute;
  top: 1rem;
  right: 1rem;
  z-index: 5;
  width: 2.5rem;
  height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(255, 255, 255, 0.9);
  border-radius: 50%;
  text-decoration: none;
  font-size: 1.25rem;
  color: var(--headerColor);
  box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.1);
  transition: background-color 0.3s, transform 0.3s;
}
	.text-below-gallery{
		  font-size: .8rem;
  		  color: var(--headerColor);
		line-height: 1.3em;
		margin-top: 20px;
		margin-bottom: 30px;
	}
/* On hover: subtle scale and color change */
.woocommerce-product-gallery__trigger:hover {
  background-color: var(--primary);
  color: #fff;
  transform: scale(1.05);
}
/* Make product gallery images uniform */
	.woocommerce-product-gallery{
/* 		max-height:350px; */
	}
.woocommerce-product-gallery__image img {
  width: 100%;
  height: 40vh; /* Set your preferred height */
  min-height: 300px;
  object-fit: contain;
  object-position: center;
  border-radius: 1rem;
  overflow: hidden;
}
.woocommerce-product-gallery__image {
	width: 100%; 
	height: unset !important; 
/* 	object-fit: unset !important;  */
/* 	object-position: unset !important;  */
	border-radius: 1rem;
	overflow: hidden; 
}

/* Ensure flex control thumbs (thumbnails) are also uniform */
.flex-control-thumbs img {
  width: 100px; /* or whatever size you want for thumbs */
  height: 100px;
  object-fit: cover;
  border-radius: 0.5rem;
}
}
/* Small Desktop - 1024px */
@media only screen and (min-width: 64rem) {
  #sbs-1443 {
    padding: var(--sectionPadding);
  }
	#sbs-1443 .cs-picture-frame {
		width: 50%;
    }
  #sbs-1443 .cs-container {
    max-width: 1200px;
    flex-direction: row;
    justify-content: center;
    align-items: stretch;
    position: relative;
    gap: clamp(3rem, 6vw, 4rem);
  }

  #sbs-1443 .cs-content {
    width: 50%;
    padding: 2.5rem 0;
  }
  #sbs-1443 .cs-picture {
    height: auto;
    width: 55%;
  }
  .flex-control-nav{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 20px;
  }
  .flex-control-nav li{
    width: 22% !important;
  }
  .pswp__bg{
    opacity: .4 !important;
  }
  /* Style the zoom/lightbox trigger */
.woocommerce-product-gallery__trigger {
  position: absolute;
  top: 1rem;
  right: 1rem;
  z-index: 5;
  width: 2.5rem;
  height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(255, 255, 255, 0.9);
  border-radius: 50%;
  text-decoration: none;
  font-size: 1.25rem;
  color: var(--headerColor);
  box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.1);
  transition: background-color 0.3s, transform 0.3s;
}

/* On hover: subtle scale and color change */
.woocommerce-product-gallery__trigger:hover {
  background-color: var(--primary);
  color: #fff;
  transform: scale(1.05);
}
/* Make product gallery images uniform */
.woocommerce-product-gallery__image,
.woocommerce-product-gallery__image img {
  width: 100%;
  height: 500px; /* Set your preferred height */
  object-fit: cover;
  object-position: center;
  border-radius: 1rem;
  overflow: hidden;
}

/* Ensure flex control thumbs (thumbnails) are also uniform */
.flex-control-thumbs img {
  width: 100px; /* or whatever size you want for thumbs */
  height: 100px;
  object-fit: cover;
  border-radius: 0.5rem;
}
}
                                


/* Woo Commerce Form */
.cs-add-to-cart{
  width: 100%;
}
.custom-fields input, .custom-fields p, .custom-fields select{
  width: 100%;
  margin-bottom: 20px;
}
.custom-fields input, .custom-fields select, .cs-add-to-cart .quantity input, .variations select, .variations input{
  background-color: #e5edef;
  height: 50px;
  border: none;
  border-radius: 8px;
  padding: 10px;
}
.variations{
  margin-bottom: 20px;
}
.variations label{
  font-weight: bold;
}
.reset_variations{
  display: none !important;
}
.custom-fields textarea{
  background-color: #e5edef;
  height: 150px;
  width: 100%;
  border: none;
  border-radius: 8px;
  padding: 10px;
}
.custom-fields label, .variations label{
  color: var(--headerColor);
}
.cs-add-to-cart .quantity{
  display: inline-flex;
}
.quantity input{
  height: 100%;
}
small{
  font-size: 12px;
  line-height: 0px;
}
.quantity{
  height: 50px;
}
.woo-quantity{
  text-transform: capitalize;
  display: inline-block;
    width: 200px;
    line-height: 1.3em;
}
.single_add_to_cart_button{
  margin-top: 20px !important;
}
.woocommerce-variation-price::before{
  content: "Price: ";
  color: var(--headerColor);
  font-size: 20px;
  font-weight: bold;
}
.woocommerce-variation-price{
  margin-bottom: 20px;
}





/* WooCommerce Cart, Checkout, and Oder Summary Pages*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {

  .bl-product-card {
    border: solid var(--headerColor) 2px;
    border-radius: 20px;
    padding: 10px !important;
  }
  .bl-product-card img{
    border-radius: 20px;
  }
  .bl-product-card h2{
    font-size: clamp(1rem, 2vw, 1.5625rem);
    color: var(--headerColor);
    font-weight: bold;
  }
  .bl-price{
    margin-top: 10px;
    color: var(--headerColor);
    font-weight: bold;
  }
  .product-cards{
    width: 350px;
    margin-top: 40px;
  }
	.page-id-158 .product-cards img{
		height: 300px !important;
    width: 300px !important;
    object-fit: cover;
    object-position: top;
	}
	
/*   .page-id-176 .product-cards img{
		height: 300px !important;
    width: 300px !important;
    object-fit: contain;
    object-position: top;
	} */
	
	   .page-id-176 .product-cards img {
        height: 300px !important;
		   width: unset !important;
        object-fit: contain;
        object-position: center;
    }
	.page-id-176 .bl-thumbnail{
		display: flex;
		justify-content: center;
		align-items: center;
	}
	.page-id-176 .woocommerce ul.products li.product strong{
		display: inline !important;
	}
  .bl-card-content{
    padding-bottom: 10px;
    text-align: left;
  }

  ul.products {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
  
	.products::before, .products::after{
		display: none !important;
	}
  ul.products li.product {
    /* flex: 1 1 calc(33.333% - 2rem); */
    display: flex;
  }
  
  .bl-card-inner {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    width: 100%;
  }
  .woocommerce ul.products li.product, .woocommerce-page ul.products li.product {
    margin: 0;
  }
  .woocommerce-page.columns-3 ul.products li.product, .woocommerce.columns-3 ul.products li.product {
    width: 300px !important;
}




  /* General Typography and Layout */
  .woocommerce-cart,
  .woocommerce-checkout {
    color: #103c43;
    background-color: #ffffff;
    /* padding: 2rem 1rem; */
  }
	.product-image-caption{
		display: none;
		color: var(--balloon-green-75);
        text-decoration: none;
        font-weight: bold;
        z-index: 4;
        font-size: 1.3rem;
        margin: 0 auto;
        position: relative;
        width: 100%;
        background: rgba(255, 255, 255, .6);
        padding: 10px;
	}
	.woocommerce-product-gallery__image a{
		text-decoration: none;
	}
  .wc-block-checkout__contact-fields input{
    color: var(--headerColor) !important;
    border-color: var(--headerColor) !important;
  }
  .wc-block-components-button{
    border: none;
    height: 55px !important;
  }
  .woocommerce-cart h1, .woocommerce-checkout h1{
    font-size: clamp(2.4375rem, 6.4vw, 2.4rem);
    font-weight: 800;
    color: var(--headerColor);
    padding-top: 30px;
    padding-bottom: 20px;
  }
  .wc-block-cart-items__row a{
    color: var(--headerColor);
  }
  .woocommerce-cart #content, .woocommerce-checkout #content{
    padding-top: 120px;
    background-color: var(--footerLightGreen);
  }
  .woocommerce-cart #content .page, .woocommerce-checkout #content .page{
    background-color: #fff;
    width: 95%;
    max-width: 1000px;
    margin: 0 auto;
    padding-left: 15px;
    padding-right: 15px;
    border-radius: 20px;
  }

  .woocommerce-cart h2,
  .woocommerce-checkout h2 {
    font-size: 1.75rem;
    font-weight: 700;
    margin-bottom: 1rem;
    color: #103c43;
  }

  /* Buttons */
  .woocommerce .button,
  .woocommerce-page .button {
    background-color: #45a3aa;
    color: white;
    font-weight: bold;
    text-transform: uppercase;
    border-radius: 4px;
    padding: 0.75rem 2rem;
    border: none;
    transition: background-color 0.3s ease;
  }

  .woocommerce .button:hover,
  .woocommerce-page .button:hover {
    background-color: #327c81;
  }

  /* Cart Table */
  .woocommerce-cart table.shop_table {
    border: none;
    border-collapse: collapse;
    width: 100%;
    margin-bottom: 2rem;
  }

  .woocommerce-cart table.shop_table th {
    text-align: left;
    padding: 1rem;
    background-color: #f1f9fa;
    color: #103c43;
    font-weight: 700;
    border-bottom: 2px solid #e0e0e0;
  }

  .woocommerce-cart table.shop_table td {
    padding: 1rem;
    border-bottom: 1px solid #eaeaea;
    vertical-align: middle;
  }

  /* Quantity Field */
  .woocommerce input.qty {
    max-width: 60px;
    padding: 0.5rem;
    border: 1px solid #bcd9db;
    border-radius: 4px;
    text-align: center;
  }

  /* Coupon Section */
  .woocommerce-cart .coupon {
    display: flex;
    gap: 1rem;
    margin-top: 1rem;
  }

  .woocommerce-cart .coupon input.input-text {
    flex: 1;
    border: 1px solid #bcd9db;
    border-radius: 4px;
    padding: 0.5rem 1rem;
    background-color: #eaf4f4;
  }
	
	.wc-block-components-checkout-step__description strong{
		font-size: 1.5rem;
		font-weight: bold;
	}
	.wc-block-components-title.wc-block-components-title{
		font-size: 1.8rem !important;
		margin-bottom: 20px;
	}

  /* Cart Totals */
  .cart_totals {
    background-color: #f7fdfd;
    border: 1px solid #d3eaea;
    padding: 2rem;
    border-radius: 10px;
    font-size: 1rem;
  }

  .cart_totals h2 {
    margin-top: 0;
  }

  .cart_totals table {
    width: 100%;
    margin-top: 1rem;
  }

  .cart_totals table td,
  .cart_totals table th {
    padding: 0.5rem 0;
    text-align: left;
  }

  /* Checkout Form */
  .woocommerce-checkout .woocommerce-billing-fields,
  .woocommerce-checkout .woocommerce-checkout-review-order {
    background-color: #f7fdfd;
    border: 1px solid #d3eaea;
    padding: 2rem;
    border-radius: 10px;
    margin-bottom: 2rem;
  }


  .woocommerce-checkout label {
    display: block;
    margin-bottom: 0.25rem;
    font-weight: bold;
    color: black !important;
  }

  .woocommerce-checkout input.input-text,
  .woocommerce-checkout textarea,
  .woocommerce-checkout select {
    width: 100%;
    padding: 0.75rem;
    border-radius: 4px;
    border: 1px solid #bcd9db;
    background-color: #eaf4f4;
    margin-bottom: 1.25rem;
    font-size: 1rem;
  }

  /* Notices */
  .woocommerce-message,
  .woocommerce-error,
  .woocommerce-info {
    background-color: #eaf4f4;
    border-left: 5px solid #45a3aa;
    padding: 1rem;
    margin-bottom: 2rem;
    border-radius: 4px;
    color: #103c43;
  }
  .woocommerce-order-overview, .woocommerce-order-details{
    padding-top: 20px;
  }
  .woocommerce-customer-details{
    padding-bottom: 40px;
  }
  .woocommerce-customer-details address{
    line-height: 2em;
  }
  .woocommerce-customer-details p::before{
    top: 2px;
    position: relative !important;
  }
  .woocommerce-table__product-name a{
    color: var(--headerColor) !important;
  }
}

/* Tablet - 768px */
@media only screen and (min-width: 38rem) {
  .wc-block-components-sidebar{
    width: 100% !important;
  }
  .product-cards{
    width: 100%;
  }
  .bl-product-card {
    border: solid var(--headerColor) 2px;
    border-radius: 20px;
    padding: 15px !important;
  }
  ul.products {
    gap: 20px;
  }
  .woocommerce ul.products[class*=columns-] li.product, .woocommerce-page ul.products[class*=columns-] li.product {
    width: 300px !important;
  }


}
/* Small Desktop - 1024px */
@media only screen and (min-width: 64rem) {
	.product-image-caption{
		display: inline-block;
	}
  .wc-block-components-sidebar{
    width: 35% !important;
  }
  .page-id-158 .woocommerce-page.columns-3 ul.products li.product, .page-id-158 .woocommerce.columns-3 ul.products li.product {
      width: 30.75% !important;
  }
  .page-id-176 .woocommerce-page.columns-3 ul.products li.product, .page-id-176 .woocommerce.columns-3 ul.products li.product {
      width: 43% !important;
  }

  .product-cards{
    max-width: 950px;
  }

}
/* Large Desktop - 1440px */
@media only screen and (min-width: 90rem) {

}

@media only screen and (max-width: 768px) {
  .woocommerce-product-gallery__image img {
    height: auto !important;
    max-height: 300px;
    object-fit: contain !important;
  }
}

.cs-cart.mobile-only{
	display: none;
}
/* Mobile floating cart button */
@media (max-width: 768px) {
	.cs-cart{
		display: none;
	}
  .cs-cart.mobile-only{
	display: block;
}
	
}

.woocommerce-notices-wrapper .woocommerce-message{
	display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
}
@media(max-width: 768px){
	.woocommerce-notices-wrapper .woocommerce-message{
		flex-direction: column;
		text-align: center;
	}
	.woocommerce-message::before{
	display: none !important;
}
}