:root {
  --primary: #006940;
  --primaryLight: #00bd74;
  --secondary: #e6d9c7;
  --secondaryLight: #faf7f4;
  --headerColor: #262421;
  --bodyTextColor: #4e4b66;
  --bodyTextColorWhite: #fafbfc;
  --topperFontSize: clamp(0.8125rem,1.6vw,1rem);
  --headerFontSize: clamp(1.9375rem,3.9vw,3.0625rem);
  --bodyFontSize: 1rem;
  --sectionPadding: clamp(3.75rem,7.82vw,6.25rem) 1rem;
  --dark: #061d17;
  --medium: #253b30;
  --accent: #2b4a3e;
  --headerFontFamily: "Montserrat","Adjusted Verdana Fallback","Verdana",sans-serif;
  --bodyFontFamily: "Lato","Adjusted Tahoma Fallback","Tahoma",sans-serif;
}

.skip {
  position: absolute;
  left: -10000px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
  white-space: nowrap;
}
.skip:focus {
  left: 1rem;
  top: 1rem;
  width: auto;
  height: auto;
  overflow: visible;
  z-index: 99999;
  padding: 0.75rem 1rem;
  background: var(--primary, #000);
  color: #fff;
  text-decoration: none;
}

body{font-family:"Roboto","Arial",sans-serif;margin:0;padding:0}

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

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

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

.cs-text{font-size:var(--bodyFontSize);line-height:1.5em;text-align:inherit;width:100%;max-width:40.625rem;margin:0;color:var(--bodyTextColor)}

body { font-family: 'Montserrat', 'Roboto', Arial, sans-serif; }


.pb-inline-color-accent {
  color: var(--primary, #ff6a3e) !important;
}
.pb-inline-color-heading {
  color: var(--headerColor, #1a1a1a) !important;
}
.pb-inline-color-body {
  color: var(--bodyTextColor, #4e4b66) !important;
}


@media (hover: none), (pointer: coarse) {
  :is(a[href], button, .cs-button-solid, .cs-button-stroke, .cs-button-transparent, .cs-li-link, .hamburger-menu, .theme-toggle, #dark-mode-toggle, #go-top, #pb-go-top, [data-press]) {
    transform-origin: center;
    transition: transform 160ms ease, filter 160ms ease, background-color 160ms ease, color 160ms ease;
  }

  :is(a[href], button, .cs-button-solid, .cs-button-stroke, .cs-button-transparent, .cs-li-link, .hamburger-menu, .theme-toggle, #dark-mode-toggle, #go-top, #pb-go-top, [data-press]).is-pressed {
    transform: translateY(1px) scale(0.985);
    filter: brightness(0.96);
  }

  :is(.cs-button-solid, .cs-button-stroke, .cs-button-transparent).is-pressed {
    background-color: var(--headerColor, #1a1a1a);
    color: var(--bodyTextColorWhite, #fff);
  }
}

@media (prefers-reduced-motion: reduce) {
  :is(a[href], button, .cs-button-solid, .cs-button-stroke, .cs-button-transparent, .cs-li-link, .hamburger-menu, .theme-toggle, #dark-mode-toggle, #go-top, #pb-go-top, [data-press]) {
    transition-duration: 0s !important;
  }
}


html.pb-theme-transition-active::view-transition-old(root),
html.pb-theme-transition-active::view-transition-new(root) {
  animation-duration: 520ms;
  animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
  animation-fill-mode: both;
  mix-blend-mode: normal;
}

html.pb-theme-transition-active::view-transition-old(root) {
  animation-name: none;
}

html.pb-theme-transition-active::view-transition-new(root) {
  animation-name: pb-theme-wipe-in;
}

@keyframes pb-theme-wipe-in {
  from {
    clip-path: var(--pb-theme-clip-from);
  }
  to {
    clip-path: var(--pb-theme-clip-to);
  }
}

@media (prefers-reduced-motion: reduce) {
  html.pb-theme-transition-active::view-transition-old(root),
  html.pb-theme-transition-active::view-transition-new(root) {
    animation: none !important;
  }
}


@supports selector(label:has(> input)) {
  body:not(.pb-floating-labels-off) form label:has(> input:not([type="checkbox"]):not([type="radio"])),
  body:not(.pb-floating-labels-off) form label:has(> textarea),
  body:not(.pb-floating-labels-off) form label:has(+ input:not([type="checkbox"]):not([type="radio"])),
  body:not(.pb-floating-labels-off) form label:has(+ textarea) {
    display: block;
    color: var(--bodyTextColor, #4e4b66);
    transition: color 180ms ease, font-size 180ms ease, transform 180ms ease;
  }

  body:not(.pb-floating-labels-off) form label:has(> input[placeholder]:not(:focus):placeholder-shown),
  body:not(.pb-floating-labels-off) form label:has(> textarea[placeholder]:not(:focus):placeholder-shown),
  body:not(.pb-floating-labels-off) form label:has(+ input[placeholder]:not(:focus):placeholder-shown),
  body:not(.pb-floating-labels-off) form label:has(+ textarea[placeholder]:not(:focus):placeholder-shown) {
    font-size: 0;
    line-height: 0;
  }

  body:not(.pb-floating-labels-off) form label:has(> input:focus),
  body:not(.pb-floating-labels-off) form label:has(> input:not(:placeholder-shown)),
  body:not(.pb-floating-labels-off) form label:has(> input:not([placeholder])),
  body:not(.pb-floating-labels-off) form label:has(> textarea:focus),
  body:not(.pb-floating-labels-off) form label:has(> textarea:not(:placeholder-shown)),
  body:not(.pb-floating-labels-off) form label:has(> textarea:not([placeholder])),
  body:not(.pb-floating-labels-off) form label:has(+ input:focus),
  body:not(.pb-floating-labels-off) form label:has(+ input:not(:placeholder-shown)),
  body:not(.pb-floating-labels-off) form label:has(+ input:not([placeholder])),
  body:not(.pb-floating-labels-off) form label:has(+ textarea:focus),
  body:not(.pb-floating-labels-off) form label:has(+ textarea:not(:placeholder-shown)),
  body:not(.pb-floating-labels-off) form label:has(+ textarea:not([placeholder])) {
    color: var(--primary, #ff6a3e);
    font-size: 0.78rem;
    line-height: 1.2;
    transform: translateY(-0.125rem);
  }

  body:not(.pb-floating-labels-off) form label:has(> :is(input, textarea):focus) > :is(input, textarea)::placeholder,
  body:not(.pb-floating-labels-off) form label:has(+ :is(input, textarea):focus) + :is(input, textarea)::placeholder {
    opacity: 0.18;
  }

  body:not(.pb-floating-labels-off) form input:not([type="checkbox"]):not([type="radio"])::placeholder,
  body:not(.pb-floating-labels-off) form textarea::placeholder {
    transition: opacity 180ms ease, color 180ms ease;
  }

  @media (prefers-reduced-motion: reduce) {
    body:not(.pb-floating-labels-off) form label,
    body:not(.pb-floating-labels-off) form input::placeholder,
    body:not(.pb-floating-labels-off) form textarea::placeholder {
      transition-duration: 0s !important;
    }
  }
}


.pb-go-top-progress {
  --pb-scroll-progress: 0;
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  width: 3rem;
  height: 3rem;
  opacity: 0;
  pointer-events: none;
  transform: translateY(0.5rem) scale(0.96);
  transition: opacity 180ms ease, transform 180ms ease;
  z-index: 9999;
}

.pb-go-top-progress.pb-visible {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0) scale(1);
}

.pb-progress-ring {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
}

.pb-progress-ring-track,
.pb-progress-ring-fill {
  fill: none;
  stroke-width: 2.5;
}

.pb-progress-ring-track {
  stroke: rgba(0, 0, 0, 0.16);
}

.pb-progress-ring-fill {
  stroke: var(--primary, #ff6a3e);
  stroke-dasharray: 1;
  stroke-dashoffset: calc(1 - var(--pb-scroll-progress, 0));
  stroke-linecap: round;
}

#pb-go-top {
  position: absolute;
  inset: 0.375rem;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 999px;
  background: var(--headerColor, #1a1a1a);
  color: var(--bodyTextColorWhite, #fff);
  box-shadow: 0 0.75rem 1.5rem rgba(0, 0, 0, 0.18);
}

#pb-go-top svg {
  width: 1.125rem;
  height: 1.125rem;
}

#pb-go-top path {
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

@media (prefers-reduced-motion: reduce) {
  .pb-go-top-progress {
    transition-duration: 0s !important;
  }

  #pb-go-top {
    scroll-behavior: auto;
  }
}


@view-transition {
  navigation: auto;
}

main {
  view-transition-name: pb-main;
}

header {
  view-transition-name: pb-header;
}

footer {
  view-transition-name: pb-footer;
}

::view-transition-old(pb-main) {
  animation: pb-fade-out 250ms ease both;
}

::view-transition-new(pb-main) {
  animation: pb-slide-up-fade 300ms ease both;
}

@keyframes pb-fade-out {
  to {
    opacity: 0;
  }
}

@keyframes pb-slide-up-fade {
  from {
    opacity: 0;
    transform: translateY(0.75rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  ::view-transition-old(*),
  ::view-transition-new(*) {
    animation: none !important;
  }
}
