

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

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

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #hero-540 {
      /* 144px - 300px - leaving extra space for the navigation */
      padding: clamp(9rem, 25.95vw, 18.75em) 1rem 0;
      /* 130px - 175px */
      padding-bottom: clamp(8.125rem, 12.5vw, 10.9375em);
      /* prevents padding and border from affecting height and width */
      box-sizing: border-box;
      /* clips the color overlay so it doesn't cause an overflow */
      overflow: hidden;
      position: relative;
  }
  #hero-540 .cs-container {
      width: 100%;
      max-width: 80rem;
      margin: auto;
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      justify-content: center;
      /* 48px - 64px */
      gap: clamp(3rem, 6vw, 4rem);
  }
  #hero-540 .cs-content {
      text-align: left;
      /* changed to at tablet */
      width: 90%;
      max-width: 34.0625rem;
      /* 100px - 150px, changes to 0 at tablet */
      margin-top: clamp(6.25rem, 28vw, 9.375rem);
  }
  #hero-540 .cs-title {
      /* 39px - 61px */
      font-size: clamp(2.4375rem, 6.7vw, 3.8125rem);
      font-weight: 900;
      line-height: 1.2em;
      text-align: inherit;
      max-width: 43.75rem;
      /* 16px - 32px */
      margin: 0 0 clamp(1rem, 4vw, 2rem) 0;
      color: var(--bodyTextColorWhite);
      position: relative;
  }
  #hero-540 .cs-text {
      font-size: var(--bodyFontSize);
      line-height: 1.5em;
      text-align: inherit;
      width: 100%;
      max-width: 40.625rem;
      /* 40px - 64px */
      margin: 0 0 clamp(2.5rem, 6.3vw, 4rem);
      color: var(--bodyTextColorWhite);
  }
  #hero-540 .cs-button-solid {
      font-size: 1rem;
      /* 46px - 56px */
      line-height: clamp(2.875rem, 5.5vw, 3.5rem);
      text-decoration: none;
      font-weight: 700;
      text-align: center;
      margin: auto;
      color: #1a1a1a;
      min-width: 9.375rem;
      padding: 0 1.5rem;
      background-color: var(--secondary);
      border-radius: 0.25rem;
      display: inline-block;
      position: relative;
      z-index: 1;
      /* prevents padding from adding to the width */
      box-sizing: border-box;
      transition: color 0.3s;
  }
  #hero-540 .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;
  }
  #hero-540 .cs-button-solid:hover {
      color: #fff;
  }
  #hero-540 .cs-button-solid:hover:before {
      width: 100%;
  }
  #hero-540 .cs-background {
      width: 100%;
      height: 100%;
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      z-index: -1;
  }
  #hero-540 .cs-background:before {
      /* background color overlay */
      content: "";
      position: absolute;
      display: block;
      height: 125rem;
      width: 187.5rem;
      background: rgba(12, 12, 12, 0.7);
      -webkit-backdrop-filter: blur(5px);
      backdrop-filter: blur(5px);
      top: -38.125rem;
      left: 50%;
      z-index: 1;
      transform: rotate(-30deg) translateX(-50%);
  }
  #hero-540 .cs-background img {
      position: absolute;
      top: 0;
      left: 0;
      height: 100%;
      width: 100%;
      /* Makes img tag act as a background image */
      object-fit: cover;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #hero-540 .cs-container {
      align-items: flex-end;
  }
  #hero-540 .cs-content {
      width: 48%;
      margin-top: 0rem;
  }
  #hero-540 .cs-background:before {
      top: -76.25rem;
      transform: rotate(-55deg) translateX(-50%);
  }
}

                              
                                
 /*-- -------------------------- -->
<---            Blog            -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #blog-987 {
      padding: var(--sectionPadding);
      margin-top: 2em;
      margin-bottom: 2em;
  }
  #blog-987 .cs-container {
      width: 100%;
      /* changes to 1280px at desktop */
      max-width: 36.5rem;
      margin: auto;
      display: flex;
      flex-direction: column;
      align-items: center;
      /* 48px - 64px */
      gap: clamp(3rem, 6vw, 4rem);
  }
  #blog-987 .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;
  }

  #blog-987 .cs-title {
      margin-bottom: 2rem;
      max-width: 20ch;
  }
  #blog-987 .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;
  }
  #blog-987 .cs-button-solid:before {
      content: "";
      position: absolute;
      height: 100%;
      width: 0%;
      background: #000;
      opacity: 1;
      top: 0;
      left: 0;
      z-index: -1;
      transition: width 0.3s;
  }
  #blog-987 .cs-button-solid:hover:before {
      width: 100%;
  }
  #blog-987 .cs-button-solid {
      /* prevents flexbox from squishing it */
      flex: none;
  }
  #blog-987 .cs-card-group {
      width: 100%;
      margin: 0;
      padding: 0;
      display: flex;
      flex-direction: column;
      /* 16px - 20px */
      gap: clamp(1rem, 2vw, 1.25rem);
      position: relative;
  }
  #blog-987 .cs-item {
      list-style: none;
      width: 100%;
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      align-items: center;
      position: relative;
  }
  #blog-987 .cs-item:hover {
      cursor: pointer;
  }
  #blog-987 .cs-item:hover .cs-info:before {
      opacity: 1;
      background-color: var(--primary);
  }
  #blog-987 .cs-item:hover .cs-picture img {
      transform: scale(1.15);
  }
  #blog-987 .cs-item:hover .cs-date {
      color: #fff;
  }
  #blog-987 .cs-item:hover .cs-icon {
      filter: brightness(150%);
  }
  #blog-987 .cs-item:hover .cs-link {
      color: #fff;
  }
  #blog-987 .cs-picture {
      width: 100%;
      height: 30rem;
      /* removed at tablet */
      aspect-ratio: 0.68333333;
      /* clips img tag from overflowing it on hover */
      overflow: hidden;
      display: block;
      position: relative;
      z-index: 1;
  }
  #blog-987 .cs-picture img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      /* makes sure the top of the image is at the top of the parent, heads won't get cut off this way */
      object-position: top;
      position: absolute;
      top: 0;
      left: 0;
      z-index: -1;
      transition: transform 0.9s;
  }
  #blog-987 .cs-info {
      width: 83%;
      max-width: 26.25rem;
      /* 16px - 24px */
      padding: clamp(1rem, 2vw, 1.5rem);
      /* prevents padding from affecting the height and width */
      box-sizing: border-box;
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      position: absolute;
      bottom: 0;
      right: 0;
      z-index: 10;
  }
  #blog-987 .cs-info:before {
      /* background-color */
      content: "";
      width: 100%;
      height: 100%;
      background: #1a1a1a;
      opacity: 0.8;
      position: absolute;
      display: block;
      top: 0;
      left: 0;
      z-index: -1;
      transition:
          background-color 0.3s,
          opacity 0.3s;
  }
  #blog-987 .cs-date {
      font-size: 1rem;
      line-height: 1.2em;
      font-weight: 700;
      margin: 0 0 1.25rem 0;
      color: #bababa;
      display: flex;
      justify-content: flex-start;
      align-items: center;
      gap: 0.5rem;
      transition: color 0.3s;
  }
  #blog-987 .cs-icon {
      width: 1.25rem;
      height: auto;
      transition: filter 0.3s;
  }
  #blog-987 .cs-h3 {
      font-size: 1.25rem;
      line-height: 1.2em;
      font-weight: 700;
      margin: 0 0 0.75rem 0;
      color: #fff;
      display: block;
  }
  #blog-987 .cs-desc {
      font-size: 1rem;
      line-height: 1.5em;
      margin: 0 0 1.25rem 0;
      color: #f7f7f7;
      display: block;
  }
  #blog-987 .cs-link {
      font-size: 1rem;
      line-height: 1.2em;
      font-weight: 700;
      text-decoration: none;
      width: auto;
      margin: 0;
      color: var(--primary);
      display: inline-block;
      position: relative;
      transition: color 0.3s;
  }
  #blog-987 .cs-link:hover {
      color: #fff;
  }
  #blog-987 .cs-link:before {
      /* underline */
      content: "";
      width: 100%;
      height: 1px;
      background: currentColor;
      opacity: 1;
      position: absolute;
      display: block;
      bottom: 0;
      left: 0;
      transition: background-color 0.3s;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #blog-987 .cs-content {
      text-align: left;
      flex-direction: row;
      justify-content: space-between;
      align-items: flex-end;
      gap: 3rem;
  }
  #blog-987 .cs-title {
      margin: 0;
  }
  #blog-987 .cs-container {
      max-width: 80rem;
  }
  #blog-987 .cs-card-group {
      flex-direction: row;
  }
  #blog-987 .cs-picture {
      /* remove the aspect ratio so the height can be squished */
      aspect-ratio: initial;
  }
}

                                                             

                              
                                
                                