:where(:not(html, iframe, canvas, img, svg, video, audio):not(svg *, symbol *)) {
  all: unset;
  display: revert;
}

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

a, button {
  cursor: revert;
}

ol, ul, menu {
  list-style: none;
}

table {
  border-collapse: collapse;
}

input, textarea {
  -webkit-user-select: auto;
}

textarea {
  white-space: revert;
}

meter {
  appearance: revert;
}

:where(pre) {
  all: revert;
}

::placeholder {
  color: unset;
}

::marker {
  content: initial;
}

:where([hidden]) {
  display: none;
}

:where([contenteditable]:not([contenteditable="false"])) {
  -moz-user-modify: read-write;
  -webkit-user-modify: read-write;
  overflow-wrap: break-word;
  -webkit-line-break: after-white-space;
  -webkit-user-select: auto;
}

:where([draggable="true"]) {
  -webkit-user-drag: element;
}

:where(dialog:modal) {
  all: revert;
}

:root {
  --jk-page-width: 1400px;
  --jk-padding-s: 10px;
  --jk-padding-m: 20px;
  --jk-padding-l: 40px;
  --jk-padding-xl: 80px;
  --jk-gap-s: 5px;
  --jk-gap-m: 10px;
  --jk-gap-l: 20px;
  --jk-color-light-gray: #eee;
  --jk-color-soft-gray: #ccc;
  --jk-color-link: red;
}

form .status, .form .status {
  color: #000;
  padding: 5px 10px;
  display: none;
}

form .status--success, .form .status--success {
  background: #bbffb9;
  display: block;
}

form .status--error, .form .status--error {
  background: #ffc5c5;
  display: block;
}

form label, .form label {
  display: block;
  position: relative;
}

form label:has(:required) span:after, .form label:has(:required) span:after {
  content: " *";
}

form label input, form label textarea, .form label input, .form label textarea {
  color: #000;
  border: 1px solid #000;
  width: 100%;
  padding: 5px 10px;
  left: 0;
}

form label textarea[name="message"], .form label textarea[name="message"] {
  height: 300px;
  display: block;
}

form label span, .form label span {
  display: inline-block;
}

form.placeholder-labels label:has(:placeholder-shown) span, .form.placeholder-labels label:has(:placeholder-shown) span {
  visibility: visible;
}

form.placeholder-labels span, .form.placeholder-labels span {
  visibility: hidden;
  padding: 5px 10px;
  position: absolute;
  top: 1px;
  left: 1px;
}

form.labels-below label, .form.labels-below label, form.underline label, .form.underline label {
  flex-direction: column-reverse;
  display: flex;
}

form.underline label input, form.underline label textarea, .form.underline label input, .form.underline label textarea {
  border: 0;
  border-bottom: 1px solid #000;
  padding: 5px 10px;
}

form.block fieldset, .form.block fieldset {
  background: #000;
  border: 1px solid #000;
  gap: 1px;
}

form.block fieldset .jk-hbox, form.block fieldset .jk-vbox, .form.block fieldset .jk-hbox, .form.block fieldset .jk-vbox {
  gap: 1px;
}

form.block fieldset label, .form.block fieldset label {
  background: #fff;
}

form.block fieldset label span, .form.block fieldset label span {
  padding: 5px 10px;
}

form.block fieldset label input, form.block fieldset label textarea, .form.block fieldset label input, .form.block fieldset label textarea {
  border: 0;
}

.jk-grid {
  gap: var(--jk-gap-m);
  --gap: var(--jk-gap-m);
  flex-wrap: wrap;
  display: flex;
}

.jk-grid.col-3 .jk-tile {
  width: calc(33.33% - var(--gap) * 2 / 3);
}

.jk-grid.col-4 .jk-tile {
  width: calc(25% - var(--gap) * 3 / 4);
}

.jk-grid.col-5 .jk-tile {
  width: calc(20% - var(--gap) * 4 / 5);
}

.jk-grid .jk-tile {
  width: calc(50% - var(--gap) / 2);
}

@media (501px <= width <= 1000px) {
  .jk-grid.col-4 .jk-tile {
    width: calc(33.33% - var(--gap) * 2 / 3);
  }

  .jk-grid.col-5 .jk-tile {
    width: calc(25% - var(--gap) * 3 / 4);
  }
}

@media (width <= 500px) {
  .jk-grid.col-3 .jk-tile, .jk-grid.col-4 .jk-tile {
    width: calc(50% - var(--gap) / 2);
  }

  .jk-grid.col-5 .jk-tile {
    width: calc(33.33% - var(--gap) * 2 / 3);
  }

  .jk-grid .jk-tile {
    width: 100%;
  }
}

.jk-imgfill {
  object-fit: cover;
  width: 100%;
  height: 100%;
  display: block;
}

.jk-bgimgfill {
  background-position: center;
  background-size: cover;
}

.jk-imghover--darken:hover {
  filter: brightness(.9);
}

.jk-imghover--zoom:hover {
  transform: scale(1.1);
}

.jk-section {
  padding: var(--jk-padding-l);
}

.jk-section.no-vpad {
  padding-top: 0;
  padding-bottom: 0;
}

.jk-section.no-hpad {
  padding-left: 0;
  padding-right: 0;
}

.jk-hbox {
  gap: var(--jk-gap-m);
  display: flex;
}

.jk-hbox > * {
  flex: 1;
}

.jk-hbox.align-top {
  align-items: start;
}

.jk-hbox.align-bottom {
  align-items: end;
}

.jk-hbox.align-center {
  align-items: center;
}

.jk-hbox.reverse {
  flex-direction: row-reverse;
}

.jk-vbox {
  gap: var(--jk-gap-m);
  flex-direction: column;
  display: flex;
}

.jk-vbox.align-left {
  align-items: start;
}

.jk-vbox.align-righ5 {
  align-items: end;
}

.jk-vbox.align-center {
  align-items: center;
}

.jk-hbox .jk-divider, .jk-vbox .jk-divider {
  background: var(--jk-color-soft-gray);
  min-width: 1px;
  min-height: 1px;
}

.jk-hbox .jk-divider.with-padding, .jk-vbox .jk-divider.with-padding {
  margin: 0 var(--jk-padding-l);
}

.jk-textbox {
  padding: var(--jk-padding-m);
  line-height: 1.5em;
}

.jk-textbox .columns {
  columns: 2;
  gap: var(--jk-gap-xl);
}

.pw-75 {
  max-width: calc(var(--jk-page-width) * .75);
}

.pw-66 {
  max-width: calc(var(--jk-page-width) * .66);
}

.pw-50 {
  max-width: calc(var(--jk-page-width) * .5);
}

@media (width <= 750px) {
  .jk-hbox.stack-hm {
    flex-direction: column;
  }
}

@media (width <= 1000px) {
  .jk-hbox.stack-m {
    flex-direction: column;
  }
}

@media (width <= 500px) {
  .jk-section {
    padding: var(--jk-padding-m);
  }

  .jk-textbox {
    padding: var(--jk-padding-s);
  }

  .jk-textbox .columns {
    columns: initial;
  }

  .jk-hbox.stack-s {
    flex-direction: column;
  }

  .jk-hbox .jk-divider.with-padding, .jk-vbox .jk-divider.with-padding {
    margin: 0 var(--jk-padding-m);
  }
}

@media (width >= 1000px) {
  .page.vertical-nav {
    grid-template-columns: auto 1fr;
    grid-template-areas: "header main"
                         "header footer";
    display: grid;
  }

  .page.vertical-nav .page-header {
    justify-content: normal;
    gap: var(--jk-gap-xl);
    flex-direction: column;
    grid-area: header;
    align-items: start;
  }

  .page.vertical-nav .page-header .nav-desktop {
    margin-right: 0;
  }

  .page.vertical-nav .page-header .nav-desktop > ul {
    gap: var(--jk-gap-m);
    flex-direction: column;
  }

  .page.vertical-nav .page-header .nav-desktop > ul a {
    padding: 0;
  }

  .page.vertical-nav .page-header .nav-desktop > ul li ul {
    margin-left: var(--jk-padding-m);
    display: block;
    position: static;
  }

  .page.vertical-nav main {
    padding-top: var(--jk-padding-l);
    grid-area: main;
  }

  .page.vertical-nav .page-footer {
    grid-area: footer;
  }
}

.jk-multi-column-list {
  columns: 4;
}

.jk-multi-column-list--3col {
  columns: 3;
}

.jk-multi-column-list > * {
  break-inside: avoid;
}

.jk-multi-column-list li {
  border-left: 4px solid var(--color-light-blue);
  margin-top: 0;
  margin-bottom: 0;
  padding: 0 15px 15px;
  line-height: 1.1;
}

@media (501px <= width <= 1000px) {
  .jk-multi-column-list {
    columns: 3;
  }
}

@media (width <= 500px) {
  .jk-multi-column-list {
    columns: 2;
  }
}

dl dt {
  text-transform: uppercase;
  font-weight: var(--font-weight-bold);
  font-size: 14px;
  line-height: 14px;
}

dl div {
  margin-bottom: 15px;
}

ul.bullet-list {
  line-height: 1.2;
  list-style: square;
}

ul.bullet-list li {
  margin-bottom: 1em;
  margin-left: 2em;
  padding-left: .5em;
}

ul.alternating-block-list li {
  padding: 8px 16px;
}

ul.alternating-block-list li:nth-child(odd) {
  background: var(--color-light-blue);
}

.list-from-text li * {
  margin: 0;
  padding: 0;
}

:root {
  --jk-font-body: 15px;
  --jk-font-header-xs: 12px;
  --jk-font-header-s: 20px;
  --jk-font-header-m: 30px;
  --jk-font-header-l: 45px;
  --jk-font-header-xl: 60px;
  --jk-font-weight-light: 300;
  --jk-font-weight-normal: 400;
  --jk-font-weight-bold: 500;
  --jk-font-weight-bolder: 700;
  --jk-font-weight-boldest: 900;
}

body {
  font-size: var(--jk-font-body);
  font-weight: var(--jk-font-weight-normal);
}

p:last-child {
  margin: 0;
}

.h2 {
  font-size: var(--font-header-m);
  font-weight: var(--font-weight-bold);
  line-height: 1.2em;
}

.jk-accordion {
  --transition-duration: .5s;
  gap: var(--jk-gap-m);
  flex-direction: column;
  display: flex;
}

.jk-accordion .jk-accordion__plus, .jk-accordion .jk-accordion__minus {
  display: none;
}

.jk-accordion__item.open .jk-accordion__item-header .jk-accordion__arrow {
  transform: rotate(0);
}

.jk-accordion__item.open .jk-accordion__item-header .jk-accordion__minus {
  display: block;
}

.jk-accordion__item.open .jk-accordion__item-header .jk-accordion__plus {
  display: none;
}

.jk-accordion__item.open .jk-accordion__item-body-wrapper {
  height: auto;
}

.jk-accordion__item-header {
  background: var(--jk-color-light-gray);
  padding: var(--jk-padding-m);
  cursor: pointer;
  justify-content: space-between;
  align-items: center;
  margin: 0;
  display: flex;
}

.jk-accordion__item-header .jk-accordion__arrow {
  transition: all var(--transition-duration);
  transform: rotate(180deg);
}

.jk-accordion__item-header .jk-accordion__plus {
  display: block;
}

.jk-accordion__item-header * {
  pointer-events: none;
}

.jk-accordion__item-body-wrapper {
  transition: all var(--transition-duration);
  height: 0;
  overflow: hidden;
}

@media (width <= 500px) {
  .jk-accordion {
    gap: var(--jk-gap-s);
  }

  .jk-accordion__item .jk-accordion__item-header {
    padding: var(--jk-padding-s);
  }
}

.jk-animated-text {
  --blur: 10px;
  --animation-duration: 2s;
  --translate-distance: 1.3em;
  white-space: break-spaces;
  animation-timing-function: ease-out;
}

.jk-animated-text.character-mode .word, .jk-animated-text.word-mode .character {
  animation-name: none !important;
}

.jk-animated-text.pop .word, .jk-animated-text.pop .character {
  animation-name: pop;
}

.jk-animated-text.fade .word, .jk-animated-text.fade .character {
  animation-name: fade;
}

.jk-animated-text.blur .word, .jk-animated-text.blur .character {
  animation-name: blur;
}

.jk-animated-text.mask-up .word, .jk-animated-text.mask-up .character {
  animation-name: mask-up;
}

.jk-animated-text.mask-down .word, .jk-animated-text.mask-down .character {
  animation-name: mask-down;
}

.jk-animated-text.mask-left .word, .jk-animated-text.mask-left .character {
  animation-name: mask-left;
}

.jk-animated-text.mask-right .word, .jk-animated-text.mask-right .character {
  animation-name: mask-right;
}

.jk-animated-text.rise .word, .jk-animated-text.rise .character {
  animation-name: rise;
}

.jk-animated-text.rise .word-container, .jk-animated-text.rise .character-container {
  clip-path: xywh(0 0 100% 100%);
}

.jk-animated-text.fall .word, .jk-animated-text.fall .character {
  animation-name: fall;
}

.jk-animated-text.fall .word-container, .jk-animated-text.fall .character-container {
  clip-path: xywh(0 0 100% 100%);
}

.jk-animated-text.slide-right .word, .jk-animated-text.slide-right .character {
  animation-name: slide-right;
}

.jk-animated-text.slide-right .word-container, .jk-animated-text.slide-right .character-container {
  clip-path: xywh(0 0 100% 100%);
}

.jk-animated-text.slide-left .word, .jk-animated-text.slide-left .character {
  animation-name: slide-left;
}

.jk-animated-text.slide-left .word-container, .jk-animated-text.slide-left .character-container {
  clip-path: xywh(0 0 100% 100%);
}

.jk-animated-text.flip-left .word, .jk-animated-text.flip-left .character {
  transform-origin: 100%;
  animation-name: flip-left;
}

.jk-animated-text.flip-right .word, .jk-animated-text.flip-right .character {
  transform-origin: 0;
  animation-name: flip-right;
}

.jk-animated-text.flip-up .word, .jk-animated-text.flip-up .character {
  transform-origin: bottom;
  animation-name: flip-up;
}

.jk-animated-text.flip-down .word, .jk-animated-text.flip-down .character {
  transform-origin: top;
  animation-name: flip-down;
}

.jk-animated-text.zoom-in .word, .jk-animated-text.zoom-in .character {
  animation-name: zoom-in;
}

.jk-animated-text.zoom-out .word, .jk-animated-text.zoom-out .character {
  animation-name: zoom-out;
}

.jk-animated-text.spin-in-v .word, .jk-animated-text.spin-in-v .character {
  animation-name: spin-in-v;
}

.jk-animated-text.spin-in-h .word, .jk-animated-text.spin-in-h .character {
  animation-name: spin-in-h;
}

.jk-animated-text.no-mask .sentence {
  clip-path: unset;
}

.jk-animated-text.pop-exit .word, .jk-animated-text.pop-exit .character {
  animation-name: pop-exit;
}

.jk-animated-text.fade-exit .word, .jk-animated-text.fade-exit .character {
  animation-name: fade-exit;
}

.jk-animated-text.blur-exit .word, .jk-animated-text.blur-exit .character {
  animation-name: blur-exit;
}

.jk-animated-text .sentence {
  clip-path: xywh(0 0 100% 100%);
  display: inline-block;
}

.jk-animated-text .word, .jk-animated-text .character {
  animation-duration: var(--animation-duration);
  animation-fill-mode: both;
  display: inline-block;
  -webkit-transform: translate3d(0, 0, 0);
}

.jk-animated-text .word {
  white-space: pre;
}

.jk-animated-text .word-container, .jk-animated-text .character-container {
  display: inline-block;
}

@keyframes pop {
  from {
    visibility: hidden;
  }

  to {
    visibility: visible;
  }
}

@keyframes fade {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes blur {
  from {
    opacity: 0;
    filter: blur(var(--blur));
  }

  to {
    opacity: 1;
    filter: blur();
  }
}

@keyframes mask-up {
  from {
    clip-path: xywh(0 100% 100% 100%);
  }

  to {
    clip-path: xywh(0 0 100% 100%);
  }
}

@keyframes mask-down {
  from {
    clip-path: xywh(0 -100% 100% 100%);
  }

  to {
    clip-path: xywh(0 0 100% 100%);
  }
}

@keyframes mask-left {
  from {
    clip-path: xywh(100% 0 0 100%);
  }

  to {
    clip-path: xywh(0 0 100% 100%);
  }
}

@keyframes mask-right {
  from {
    clip-path: xywh(0 0 0 100%);
  }

  to {
    clip-path: xywh(0 0 100% 100%);
  }
}

@keyframes rise {
  from {
    transform: translateY(calc(1 * var(--translate-distance)));
  }

  to {
    transform: translateY(0);
  }
}

@keyframes fall {
  from {
    transform: translateY(calc(-1 * var(--translate-distance)));
  }

  to {
    transform: translateY(0);
  }
}

@keyframes slide-right {
  from {
    transform: translateX(-100%);
  }

  to {
    transform: translateX(0);
  }
}

@keyframes slide-left {
  from {
    transform: translateX(100%);
  }

  to {
    transform: translateX(0);
  }
}

@keyframes flip-left {
  from {
    transform: rotateY(90deg);
  }

  to {
    transform: rotateY(0);
  }
}

@keyframes flip-right {
  from {
    transform: rotateY(-90deg);
  }

  to {
    transform: rotateY(0);
  }
}

@keyframes flip-up {
  from {
    transform: rotateX(90deg);
  }

  to {
    transform: rotateX(0);
  }
}

@keyframes flip-down {
  from {
    transform: rotateX(-90deg);
  }

  to {
    transform: rotateX(0);
  }
}

@keyframes zoom-in {
  from {
    opacity: 0;
    filter: blur(var(--blur));
    transform: scale(0);
  }

  to {
    opacity: 1;
    filter: blur();
    transform: scale(1);
  }
}

@keyframes zoom-out {
  from {
    opacity: 0;
    filter: blur(var(--blur));
    transform: scale(3);
  }

  to {
    opacity: 1;
    filter: blur();
    transform: scale(1);
  }
}

@keyframes spin-in-v {
  from {
    opacity: 0;
    transform: rotateX(-999deg);
  }

  to {
    opacity: 1;
    transform: rotateX(0);
  }
}

@keyframes spin-in-h {
  from {
    opacity: 0;
    transform: rotateY(-999deg);
  }

  to {
    opacity: 1;
    transform: rotateY(0);
  }
}

@keyframes pop-exit {
  0% {
    visibility: visible;
  }

  10% {
    visibility: hidden;
  }

  100% {
    visibility: hidden;
  }
}

@keyframes fade-exit {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

@keyframes blur-exit {
  from {
    opacity: 1;
    filter: blur();
  }

  to {
    opacity: 0;
    filter: blur(var(--blur));
  }
}

.jk-button > * {
  color: #000;
  cursor: pointer;
  background-color: #ccc;
  border-radius: 4px;
  padding: 4px 8px;
  display: inline-block;
}

.jk-button > :hover, .jk-button.dark > * {
  color: #fff;
  background: #000;
}

.jk-button.dark > :hover, .jk-button.light > * {
  color: #000;
  background: #eee;
}

.jk-button.light > :hover {
  color: #fff;
  background: #000;
}

.jk-button.clear > * {
  color: #000;
  background: 0;
  border: 1px solid #ccc;
}

.jk-button.clear > :hover {
  border: 1px solid #000;
}

.jk-content-switcher .item {
  display: none;
}

.jk-definition-list .row {
  gap: var(--jk-gap-m);
}

.jk-definition-list dt, .jk-definition-list dd {
  display: inline;
}

.jk-definition-list.vertical .row {
  flex-direction: column;
  gap: 0;
  display: flex;
}

.jk-definition-list.right .row {
  justify-content: right;
}

.jk-definition-list.right dt, .jk-definition-list.right dd {
  text-align: right;
}

.jk-definition-list dt {
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

.jk-filtered-items .items .hidden {
  display: none;
}

.jk-form-status-header {
  border: 1px solid #000;
  padding: 5px 10px;
  display: none;
}

.jk-form-status-header.status--success {
  background: #bbffb9;
  display: block;
}

.jk-form-status-header.status--error {
  background: #ffc5c5;
  display: block;
}

.jk-gallery {
  aspect-ratio: 1.5;
  max-height: 100vh;
  position: relative;
}

.jk-gallery .main-image {
  object-fit: cover;
  background: #000;
  width: 100%;
  height: 100%;
  display: block;
}

.jk-gallery .main-image[data-orientation="vertical"] {
  object-fit: contain;
}

.jk-gallery .arrows {
  padding: var(--jk-padding-s);
  pointer-events: none;
  justify-content: space-between;
  align-items: center;
  display: flex;
  position: absolute;
  inset: 0;
}

.jk-gallery .arrows > * {
  pointer-events: all;
}

.jk-gallery .number-indicator-box {
  justify-content: center;
  display: flex;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}

.jk-gallery .number-indicator-box .number-indicator {
  color: #fff;
  background: #000c;
  padding: 5px 10px;
}

.jk-grid {
  gap: var(--jk-gap-l);
  grid-template-columns: 1fr 1fr 1fr;
  display: grid;
}

.jk-grid.col-1 {
  grid-template-columns: 1fr;
}

.jk-grid.col-2 {
  grid-template-columns: 1fr 1fr;
}

.jk-grid.col-4 {
  grid-template-columns: 1fr 1fr 1fr 1fr;
}

.jk-grid.col-5 {
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
}

.jk-grid .tile {
  min-width: 0;
  display: block;
}

@media (width <= 1000px) {
  .jk-grid {
    grid-template-columns: 1fr 1fr;
  }

  .jk-grid.col-4 {
    grid-template-columns: 1fr 1fr 1fr;
  }

  .jk-grid.col-5 {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
}

@media (width <= 500px) {
  .jk-grid, .jk-grid.col-2 {
    grid-template-columns: 1fr;
  }

  .jk-grid.col-4 {
    grid-template-columns: 1fr 1fr;
  }

  .jk-grid.col-5 {
    grid-template-columns: 1fr 1fr 1fr;
  }
}

.jk-image-rotator {
  position: relative;
  overflow: hidden;
}

.jk-image-rotator a {
  height: 100%;
  display: block;
}

.jk-image-rotator a:focus {
  filter: brightness(.8);
}

.jk-image-rotator .image-container {
  position: relative;
  overflow: hidden;
}

.jk-image-rotator .image-wrapper {
  width: 100%;
  height: 100%;
  position: absolute;
  overflow: hidden;
}

.jk-image-rotator img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  position: absolute;
}

.jk-image-textbox {
  background-color: var(--color-black);
  color: #fff;
  gap: 0;
  position: relative;
}

.jk-image-textbox .image {
  object-fit: cover;
}

.jk-image-textbox .text {
  padding: var(--jk-padding-m);
}

.jk-image-textbox.normal {
  flex-direction: row-reverse;
}

.jk-image-textbox.normal .image, .jk-image-textbox.normal .text {
  flex: auto;
  width: 50%;
}

.jk-image-textbox.normal--right {
  flex-direction: row;
}

.jk-image-textbox.bg-fade:after {
  content: "";
  flex: auto;
  width: 50%;
}

.jk-image-textbox.bg-fade > .text {
  flex: auto;
  width: 50%;
}

.jk-image-textbox.bg-fade .image {
  width: 100%;
  height: 100%;
  position: absolute;
  -webkit-mask-image: linear-gradient(to left, #fff 25%, #0000 75%);
  mask-image: linear-gradient(to left, #fff 25%, #0000 75%);
}

.jk-image-textbox.bg-fade .text {
  z-index: 1;
}

.jk-image-textbox.bg-fade--right {
  flex-direction: row-reverse;
}

.jk-image-textbox.bg-fade--right .image {
  -webkit-mask-image: linear-gradient(to right, #fff 25%, #0000 75%);
  mask-image: linear-gradient(to right, #fff 25%, #0000 75%);
}

.jk-image-textbox.bg-fade--right .text {
  text-align: right;
}

@media (width <= 750px) {
  .jk-image-textbox, .jk-image-textbox.normal {
    flex-direction: column;
  }

  .jk-image-textbox.normal .image, .jk-image-textbox.normal .text {
    width: 100%;
  }

  .jk-image-textbox.bg-fade {
    aspect-ratio: .5;
    width: 100%;
    max-height: 100vh;
  }

  .jk-image-textbox.bg-fade:after {
    content: unset;
  }

  .jk-image-textbox.bg-fade > .text, .jk-image-textbox.bg-fade .empty {
    flex: auto;
    width: 100%;
  }

  .jk-image-textbox.bg-fade .image {
    -webkit-mask-image: linear-gradient(to top, #fff 25%, #0000 75%);
    mask-image: linear-gradient(to top, #fff 25%, #0000 75%);
  }

  .jk-image-textbox.bg-fade--right {
    flex-direction: column;
  }
}

.jk-image-tile {
  flex-direction: column;
  height: 100%;
  display: flex;
}

.jk-image-tile .image-box {
  min-height: 0;
  overflow: hidden;
}

.jk-image-tile .image-box img {
  transition: all .3s;
}

.jk-image-tile .label-padding {
  width: 100%;
}

.jk-image-tile .label {
  pointer-events: none;
}

.jk-image-tile.label-over .label {
  color: #fff;
  background: linear-gradient(to top, #000000b3 10%, #0000 50%);
  align-items: end;
  display: flex;
  position: absolute;
  inset: 0;
}

.jk-image-tile.label-over .label-padding {
  padding: var(--jk-padding-s);
}

.jk-marquee {
  position: relative;
  overflow: hidden;
}

.jk-marquee .jk-marquee__movable-box, .jk-marquee .jk-marquee__item-container {
  position: absolute;
}

.jk-modal {
  opacity: 0;
  visibility: hidden;
  z-index: 1000;
  background: #00000080;
  transition: all .5s;
  position: fixed;
  inset: 0;
}

.jk-modal.open {
  opacity: 1;
  visibility: visible;
}

.jk-modal .fg {
  max-width: var(--jk-page-width);
  padding: var(--jk-padding-l);
  height: 100%;
  margin: auto;
  position: relative;
}

.jk-modal .content {
  flex-direction: column;
  justify-content: center;
  height: 100%;
  display: flex;
  position: relative;
  overflow: hidden;
}

.jk-modal .close-button {
  position: absolute;
  top: 0;
  right: 0;
}

.jk-slider .item-slider {
  position: relative;
}

.jk-slider .item-slider .item-container, .jk-slider .item-slider .item-container .item-group {
  display: flex;
  position: absolute;
}

:root {
  --jk-page-width: 1800px;
  --jk-padding-s: 15px;
  --jk-padding-m: 30px;
  --jk-padding-l: 60px;
  --jk-padding-xl: 120px;
  --jk-gap-s: 5px;
  --jk-gap-m: 15px;
  --jk-gap-l: 30px;
  --jk-gap-xl: 60px;
  --color-light-gray: #eee;
  --color-black: black;
  --color-white: white;
  --color-active-link: red;
  --color-pink: #ffebeb;
  --color-light-green: #cbd5bd;
  --color-dark-green: #53574d;
  --color-dark-brown: #9a7b05;
  --color-light-brown: #f2eaca;
  --color-active-link: black;
}

body {
  background: var(--color-light-gray);
  overflow-x: hidden;
}

.page {
  max-width: var(--jk-page-width);
  background: #fff;
  gap: 0;
  width: 100%;
  min-height: 100%;
  margin: auto;
  overflow: hidden;
}

.jk-section {
  padding-top: var(--jk-padding-m);
  padding-bottom: var(--jk-padding-m);
}

.page-container {
  max-width: var(--max-site-width);
  background: #fff;
  margin: auto;
  overflow: hidden;
}

main a {
  color: var(--color-dark-brown);
}

a:hover, a:focus {
  color: var(--color-active-link);
}

a:hover svg, a:focus svg {
  fill: var(--color-active-link);
}

a:focus, [tabindex="0"]:focus, button:focus, input:focus, textarea:focus, .a11y-focus {
  outline: 1px dotted var(--color-active-link);
}

.link-button {
  background: var(--color-blue);
  color: #fff;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
  cursor: pointer;
  padding: 2px 10px;
  font-size: 13px;
  display: inline-block;
}

.link-button:hover, .link-button:focus, .link-button--active, .link-button.active {
  background: var(--color-active-link);
  color: #fff;
}

.link-button--empty {
  border: 1px solid var(--color-blue);
  color: var(--color-blue);
  background: none;
}

.link-button--empty:hover, .link-button--empty:focus {
  border: 1px solid var(--color-active-link);
}

.link-button--empty.link-button--active, .link-button--empty.active {
  background: var(--color-active-link);
  border: 1px solid var(--color-active-link);
  color: #fff;
}

.youtube-video {
  aspect-ratio: 16 / 9;
  width: 100%;
  max-height: 100vh;
  display: block;
}

.scroll-lock {
  overflow: hidden;
}

ul.bullet-list {
  list-style: disc;
}

.jk-button > * {
  color: var(--color-dark-brown);
  border: 1px solid var(--color-dark-brown);
  background: var(--color-white);
  border-radius: 10px;
  padding: 10px 20px;
}

.jk-button > :hover, .jk-button > :focus {
  background: var(--color-dark-brown);
  color: #fff;
  cursor: pointer;
}

@media (width <= 1000px) {
  .section--3-4ths-wide, .section--2-3rds-wide {
    width: auto;
  }
}

@media (width <= 500px) {
  section {
    margin-left: var(--section-margin-small);
    margin-right: var(--section-margin-small);
  }
}

img.position-top {
  object-position: top;
}

img.position-bottom {
  object-position: bottom;
}

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

@font-face {
  font-family: Urbanist;
  src: url("Urbanist-Regular.11a695f8.ttf");
  font-weight: 400;
}

@font-face {
  font-family: Urbanist;
  src: url("Urbanist-Bold.f52e61d6.ttf");
  font-weight: 500;
}

:root {
  --font-body: 15px;
  --jk-font-header-xs: 12px;
  --font-header-s: 20px;
  --font-header-m: 30px;
  --font-header-l: 45px;
  --font-header-xl: 60px;
  --font-weight-normal: 400;
  --font-weight-bold: 500;
}

body {
  font-family: var(--font-family-body);
  line-height: 1.75em;
  font-size: var(--font-body);
  font-weight: var(--font-weight-normal);
}

p {
  margin-bottom: var(--font-body);
}

.h1 {
  font-size: var(--font-header-l);
  font-weight: var(--font-weight-bold);
  line-height: 1.2em;
}

.h2 {
  font-size: var(--font-header-m);
  font-weight: var(--font-weight-normal);
  text-transform: uppercase;
  color: var(--color-dark-green);
  line-height: 1.2em;
}

.h3 {
  font-size: var(--font-header-s);
  font-weight: var(--font-weight-normal);
  line-height: 1.5em;
}

.header-label {
  font-size: var(--jk-font-header-xs);
  letter-spacing: .2em;
  text-transform: uppercase;
  line-height: 2em;
}

strong {
  font-weight: var(--font-weight-bold);
}

em {
  margin-right: .2em;
  font-style: italic;
}

.page-template-page_demo .jk-textbox, .page-template-page_demo .jk-tile {
  background: #eee;
}

.page-template-page_demo .jk-bgimgfill .jk-textbox {
  background: unset;
}

.page-template-page_demo .jk-tile {
  aspect-ratio: 1;
}

.page-template-page_demo .jk-accordion .jk-textbox {
  background: 0;
}

.page-template-page_demo .jk-animated-text {
  text-transform: uppercase;
  font-size: 70px;
  line-height: 1;
}

form label span {
  text-transform: uppercase;
  font-size: 12px;
  font-weight: bold;
}

form label input, form label textarea {
  border-color: var(--color-light-green);
}

.cp-arrow-button {
  background: var(--color-light-gray);
  cursor: pointer;
  border-radius: 100%;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  display: flex;
}

.cp-arrow-button svg.h-arrow {
  stroke: var(--color-black);
}

.cp-arrow-button.disabled {
  opacity: .3;
}

.cp-arrow-button:hover {
  background: var(--color-black);
}

.cp-arrow-button:hover svg.h-arrow {
  stroke: var(--color-white);
}

.cp-consultation {
  gap: var(--jk-gap-xl);
  border-top: 1px solid var(--color-light-green);
  align-items: center;
}

.cp-consultation .body {
  color: var(--color-dark-green);
}

.cp-consultation .jk-button {
  max-width: max-content;
}

@media (width <= 1000px) {
  .cp-consultation {
    align-items: start;
    gap: var(--jk-gap-l);
  }
}

.contact-form .submit-row {
  justify-content: start;
}

.page-footer {
  color: var(--color-dark-green);
  background-color: var(--color-light-green);
  padding-top: var(--jk-padding-l);
  padding-bottom: var(--jk-padding-l);
  justify-content: space-between;
}

.page-footer .logo {
  text-transform: uppercase;
  font-size: 20px;
  font-weight: bold;
}

.page-footer .right-links {
  gap: var(--jk-gap-l);
  flex: 0;
}

.page-footer .social-links {
  flex: 0;
  gap: 10px;
}

@media (width <= 750px) {
  .page-footer {
    padding-top: var(--jk-padding-m);
    padding-bottom: var(--jk-padding-m);
    flex-direction: column;
  }
}

.cp-fruit-grid .cp-grid {
  gap: var(--jk-gap-m);
}

.cp-fruit-grid .tile {
  background-color: var(--color-light-gray);
}

.cp-fruit-grid .tile .inner {
  aspect-ratio: 1;
  justify-content: center;
  align-items: center;
  display: flex;
}

.jk-gallery-grid .cp-grid {
  gap: var(--jk-gap-m);
}

.jk-gallery-grid .tile {
  cursor: pointer;
  position: relative;
}

.jk-gallery-grid .tile .image-box {
  aspect-ratio: 1;
}

.jk-gallery-grid .tile .title {
  font-weight: var(--font-weight-bold);
  width: 100%;
}

@media (width <= 500px) {
  .jk-gallery-grid .tile {
    cursor: unset;
    pointer-events: none;
  }

  .jk-gallery-grid .tile:hover {
    filter: unset;
  }
}

.jk-gallery-modal .jk-modal {
  background-color: color-mix(in srgb, var(--color-white) 80%, transparent);
}

@media (width <= 500px) {
  .jk-gallery-modal {
    display: none;
  }
}

:root {
  --header-height: 202px;
  --logo-width: 282px;
  --logo-height: 82px;
}

.page-header {
  z-index: 1000;
  border-bottom: 1px solid var(--color-light-green);
  padding-top: var(--jk-padding-l);
  padding-bottom: var(--jk-padding-l);
  flex-direction: column;
  display: flex;
  position: relative;
}

.page-header.logo-right {
  flex-direction: row-reverse;
}

.page-header.logo-right .nav-desktop {
  margin-left: -10px;
}

.page-header.logo-right .nav-mobile .menu-container li a {
  text-align: left;
}

.page-header.logo-top {
  gap: var(--jk-gap-m);
  flex-direction: column;
}

.page-header.logo-top > .jk-divider {
  width: 100%;
  display: block;
}

.page-header:not(.logo-top) > .jk-divider {
  display: none;
}

.page-header.hover-underline .nav-desktop > ul > li > a {
  position: relative;
}

.page-header.hover-underline .nav-desktop > ul > li > a:after {
  content: " ";
  background: var(--color-red);
  width: 0;
  height: 3px;
  transition: all .25s;
  position: absolute;
  top: 2em;
  left: 10px;
}

.page-header.hover-underline .nav-desktop > ul > li > a:hover:after, .page-header.hover-underline .nav-desktop > ul > li.active > a:after {
  width: calc(100% - 20px);
}

.page-header > * {
  flex: 0;
}

.page-header a.logo-container {
  width: var(--logo-width);
  height: var(--logo-height);
  flex: 0;
  display: block;
}

.page-header a.logo-container img {
  max-block-size: unset;
  height: 100%;
}

.page-header .nav-desktop, .page-header .nav-mobile {
  font-weight: var(--font-weight-bold);
}

.page-header .nav-desktop li.active > a, .page-header .nav-mobile li.active > a {
  color: var(--color-dark-green);
}

.page-header .nav-desktop li a, .page-header .nav-mobile li a {
  color: var(--color-dark-brown);
}

.page-header .nav-desktop li a:hover, .page-header .nav-mobile li a:hover {
  color: var(--color-black);
}

.page-header .nav-desktop {
  text-transform: uppercase;
  margin-left: -10px;
  font-size: 15px;
}

.page-header .nav-desktop > ul {
  display: flex;
}

.page-header .nav-desktop > ul > li > a {
  padding: 10px;
}

.page-header .nav-mobile {
  display: none;
}

.page-header .nav-mobile .button-container {
  justify-content: center;
  align-items: center;
  width: 30px;
  height: 26px;
  display: flex;
  position: relative;
}

.page-header .message {
  color: var(--color-dark-green);
  margin-top: 4px;
  font-size: 25px;
}

.page-header .row-top {
  gap: 50px;
}

.page-header .row-top .message-nav-box {
  flex: 1;
  justify-content: space-between;
  align-self: normal;
}

.page-header .row-bottom .message {
  display: none;
}

.page:not(.vertical-nav) .page-header .nav-desktop ul > li.has-children:hover > a {
  padding-bottom: 30px;
}

.page:not(.vertical-nav) .page-header .nav-desktop ul li {
  position: relative;
}

.page:not(.vertical-nav) .page-header .nav-desktop ul li:hover ul, .page:not(.vertical-nav) .page-header .nav-desktop ul li:has(a:focus) ul {
  display: block;
}

.page:not(.vertical-nav) .page-header .nav-desktop ul li ul {
  border: 1px solid var(--color-gray);
  background: #fff;
  width: 180px;
  padding: 10px 0;
  font-size: 13px;
  display: none;
  position: absolute;
  top: 35px;
  left: -10px;
  box-shadow: 0 0 8px #0003;
}

.page:not(.vertical-nav) .page-header .nav-desktop ul li ul li a {
  padding: 8px 20px;
  line-height: 14px;
  display: block;
}

@media (width <= 1000px) {
  :root {
    --header-height: 248px;
  }

  .page-header {
    gap: var(--jk-gap-m);
  }

  .page-header.logo-top {
    flex-direction: row;
  }

  .page-header .nav-desktop {
    display: none;
  }

  .page-header .nav-mobile {
    text-transform: uppercase;
    text-align: right;
    align-self: center;
    font-size: 16px;
    display: block;
  }

  .page-header .nav-mobile.nav-mobile--closed .button-container svg.hamburger-open {
    display: inline;
  }

  .page-header .nav-mobile.nav-mobile--closed .menu-container {
    display: none;
  }

  .page-header .nav-mobile.nav-mobile--open .button-container svg.hamburger-close {
    display: inline;
  }

  .page-header .nav-mobile.nav-mobile--open .menu-container {
    display: block;
  }

  .page-header .nav-mobile .button-container svg {
    display: none;
  }

  .page-header .nav-mobile .button-container button {
    position: absolute;
    inset: -10px;
  }

  .page-header .nav-mobile .button-container button:hover {
    cursor: pointer;
  }

  .page-header .nav-mobile .menu-container {
    left: 0;
    right: 0;
    top: var(--header-height);
    color: var(--color-white);
    background-color: #fff;
    padding: 20px 0;
    position: fixed;
    bottom: 0;
    overflow-y: scroll;
  }

  .page-header .nav-mobile .menu-container li.active:has(li.active) > a {
    background: unset;
    color: unset;
  }

  .page-header .nav-mobile .menu-container li.active > a {
    color: var(--color-dark-green);
    font-weight: var(--font-weight-bold);
  }

  .page-header .nav-mobile .menu-container li a {
    padding: 10px;
    font-size: 30px;
    font-weight: normal;
    line-height: 1;
    display: block;
  }

  .page-header .nav-mobile .menu-container li a:hover, .page-header .nav-mobile .menu-container li a:focus, .page-header .nav-mobile .menu-container li a.a11y-focus {
    color: var(--color-black);
    background-color: var(--color-white);
  }

  .page-header .nav-mobile .menu-container li ul {
    padding-bottom: 10px;
  }

  .page-header .nav-mobile .menu-container li ul li a {
    padding: 5px var(--jk-padding-l) 5px;
    font-size: 20px;
  }

  .page-header .nav-mobile .menu-container li.has-children > a {
    padding-bottom: 5px;
  }

  .page-header .row-top {
    justify-content: space-between;
  }

  .page-header .row-top .nav-mobile {
    flex: 0;
  }

  .page-header .row-top .message-nav-box {
    display: none;
  }

  .page-header .row-bottom .message {
    font-size: 15px;
    display: block;
  }
}

@media (width <= 500px) {
  :root {
    --header-height: 148px;
    --logo-width: 172px;
    --logo-height: 50px;
  }

  .page {
    padding-top: var(--header-height);
  }

  .page-header {
    height: var(--header-height);
    padding-top: var(--jk-padding-m);
    padding-bottom: var(--jk-padding-m);
    background: #fff;
    margin: 0;
    transition: box-shadow 1s;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
  }

  .page-header.mobile-shadow {
    box-shadow: 0 0 10px #0003;
  }

  .page-header a.logo-container {
    justify-content: left;
  }

  .page-header a.logo-container:focus {
    outline: none;
  }

  .page-header a.logo-container:focus img {
    outline: 1px dotted var(--color-orange);
  }

  .page-header a.logo-container img {
    transform: translate(-1px);
  }

  .page-header .nav-mobile .menu-container li a, .page-header .nav-mobile .menu-container li ul li a {
    padding-left: var(--jk-padding-m);
    padding-right: var(--jk-padding-m);
  }
}

.cp-hello-world {
  background-color: var(--color-pink);
}

.cp-how-to-order {
  gap: var(--jk-gap-l);
  border-top: 1px solid var(--color-light-green);
}

.cp-how-to-order .bottom-row {
  gap: var(--jk-gap-l);
  align-items: center;
}

.cp-how-to-order .bottom-row .body {
  color: var(--color-dark-green);
}

.cp-how-to-order .bottom-row .jk-button {
  max-width: max-content;
}

@media (width <= 1000px) {
  .cp-how-to-order .bottom-row {
    align-items: start;
    gap: var(--jk-gap-l);
  }
}

.cp-item-list li {
  border-left: 5px solid var(--color-red);
  padding-left: 1em;
}

.night-rider .circle-container {
  box-sizing: content-box;
  background: #fff;
  border-radius: 10px;
  width: 40px;
  padding: 5px;
}

.night-rider .circle-container .circle {
  background: var(--color-red);
  border-radius: 100%;
  width: 10px;
  height: 10px;
  animation-name: night-rider;
  animation-duration: 1s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  animation-direction: alternate;
}

@keyframes night-rider {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(30px);
  }
}

.night-rider-step .circle-container {
  box-sizing: content-box;
  background: #fff;
  border-radius: 10px;
  width: 40px;
  padding: 5px;
}

.night-rider-step .circle-container .circle {
  background: var(--color-red);
  border-radius: 100%;
  width: 10px;
  height: 10px;
  animation-name: night-rider-step;
  animation-duration: 1s;
  animation-timing-function: steps(4, jump-none);
  animation-iteration-count: infinite;
  animation-direction: alternate;
}

@keyframes night-rider-step {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(30px);
  }
}

.marching-dots .dot-container-wrapper {
  box-sizing: content-box;
  background: #fff;
  border-radius: 10px;
  padding: 5px;
}

.marching-dots .dot-container {
  width: 40px;
  height: 10px;
  position: relative;
}

.marching-dots .dot-container .dot {
  background: var(--color-red);
  opacity: 0;
  border-radius: 100%;
  width: 10px;
  height: 10px;
  animation-name: marching-dots;
  animation-duration: 1s;
  animation-iteration-count: infinite;
  position: absolute;
}

.marching-dots .dot-container .dot:nth-child(2) {
  animation-delay: .25s;
  left: 10px;
}

.marching-dots .dot-container .dot:nth-child(3) {
  animation-delay: .5s;
  left: 20px;
}

.marching-dots .dot-container .dot:nth-child(4) {
  animation-delay: .75s;
  left: 30px;
}

@keyframes marching-dots {
  0%, 25% {
    opacity: 0;
  }

  50% {
    opacity: 1;
  }

  75%, 100% {
    opacity: 0;
  }
}

.cp-loading-indicator {
  opacity: 0;
  pointer-events: none;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  transition: opacity .5s;
  display: flex;
  position: absolute;
  top: 0;
}

.cp-project-grid .cp-grid {
  gap: var(--jk-gap-m);
}

.cp-project-grid .tile {
  position: relative;
}

.cp-project-grid .tile .image-box {
  aspect-ratio: 2;
}

.cp-project-grid .tile .title {
  font-weight: var(--font-weight-bold);
}

.cp-service-list {
  gap: var(--jk-gap-xl);
}

.cp-service-list .tile {
  gap: var(--jk-gap-l);
}

.cp-service-list .image-box {
  aspect-ratio: 1;
  flex: 1;
  min-width: 250px;
}

.cp-service-list .text-box {
  flex: 2;
}

@media (width <= 1000px) {
  .cp-service-list .image-box {
    aspect-ratio: 1.5;
  }
}

.cp-slider .jk-vbox {
  gap: var(--jk-gap-l);
}

.cp-slider header {
  margin-bottom: var(--jk-gap-l);
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.cp-slider header .title {
  font-size: var(--font-header-m);
}

.cp-slider header .arrows {
  gap: var(--jk-gap-m);
  display: flex;
}

.cp-slider .item-slider .item-container, .cp-slider .item-slider .item-group {
  gap: var(--jk-gap-l);
}

.cp-slider .item-slider .item-container {
  transition: left .5s ease-in-out;
}

.cp-slider .item-slider .item-container .item {
  background: #ccc;
  justify-content: center;
  align-items: center;
  font-size: 50px;
  display: flex;
}

#slider-1 .item-slider {
  aspect-ratio: 3;
}

#slider-1 .item-slider .item-container {
  gap: var(--jk-gap-l);
}

@media (width <= 1000px) {
  #slider-1 .item-slider {
    aspect-ratio: 2;
  }
}

@media (width <= 500px) {
  #slider-1 .item-slider {
    aspect-ratio: 1;
  }
}

#slider-2 .item-slider {
  aspect-ratio: 3;
}

#slider-2 .item-slider .item-container {
  gap: var(--jk-gap-l);
}

@media (width <= 1000px) {
  #slider-2 .item-slider {
    aspect-ratio: 2;
  }
}

@media (width <= 500px) {
  #slider-2 .item-slider {
    aspect-ratio: 1;
  }
}

#slider-loop .item-slider {
  aspect-ratio: 3;
}

#slider-loop .item-slider .item-container {
  gap: var(--jk-gap-l);
}

@media (width <= 1000px) {
  #slider-loop .item-slider {
    aspect-ratio: 2;
  }
}

@media (width <= 500px) {
  #slider-loop .item-slider {
    aspect-ratio: 1;
  }
}

svg {
  vertical-align: middle;
  display: block;
}

svg.arrow {
  width: 65px;
  height: 123px;
}

svg.email {
  width: 18px;
  height: 13px;
}

svg.hamburger-open {
  width: 30px;
  height: 24px;
}

svg.hamburger-close {
  width: 26px;
  height: 26px;
}

svg.accordion-arrow {
  width: 18px;
  height: 10px;
}

svg.plus {
  width: 20px;
  height: 20px;
}

svg.minus {
  width: 20px;
  height: 2px;
}

svg.h-arrow {
  stroke: #777;
  width: 10px;
  height: 18px;
}

svg.h-arrow.left {
  transform: rotate(180deg);
}

.cp-team-grid .cp-grid {
  gap: var(--jk-gap-xl);
}

.cp-team-grid .tile .inner {
  gap: var(--jk-gap-l);
}

.cp-team-grid .tile .image-box {
  aspect-ratio: 1;
  align-self: start;
  max-width: 300px;
}

.cp-team-grid .tile .title {
  text-transform: uppercase;
}

.cp-team-grid .tile .bio {
  margin-top: var(--jk-padding-s);
}

.cp-about-page, .cp-about-page .main-row {
  gap: var(--jk-gap-l);
}

.cp-about-page .header-image img {
  max-height: 600px;
}

.cp-about-page .textbox-row {
  gap: var(--jk-gap-xl);
}

.cp-about-page .textbox-row .textbox-wrapper {
  gap: var(--jk-gap-l);
}

@media (width <= 1000px) {
  .cp-about-page .textbox-row {
    gap: 0;
  }
}

.cp-contact-page {
  gap: var(--jk-gap-l);
}

.cp-contact-page .main-row {
  gap: var(--jk-gap-xl);
}

.cp-home-page {
  width: 100%;
  height: 100%;
  padding: 0;
  position: relative;
}

.cp-home-page .image-rotator {
  width: 100%;
  height: 100%;
}

.cp-home-page .image-rotator:after {
  content: " ";
  background: linear-gradient(to left, color-mix(in srgb, var(--color-light-green) 90%, transparent) 33%, transparent 66%);
  position: absolute;
  inset: 0;
}

.cp-home-page .text-lines {
  padding: var(--jk-padding-l);
  text-align: right;
  color: var(--color-dark-green);
  align-items: center;
  width: 33%;
  height: 100%;
  font-size: 30px;
  line-height: 1.2em;
  display: flex;
  position: absolute;
  right: 0;
  overflow: hidden;
}

.cp-home-page .text-lines.fade-out {
  animation-name: fade-out;
  animation-duration: 1s;
  animation-timing-function: ease-out;
}

@keyframes fade-out {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

:root:has(.cp-home-page) .page {
  height: 100vh;
}

:root:has(.cp-home-page) .page-footer {
  display: none;
}

:root:has(.cp-home-page) main {
  flex: 1;
}

@media (width <= 1000px) {
  .cp-home-page .image-rotator:after {
    background: linear-gradient(to top, color-mix(in srgb, var(--color-light-green) 90%, transparent) 33%, transparent 66%);
  }

  .cp-home-page .text-lines {
    text-align: left;
    padding: var(--jk-padding-m);
    flex-direction: column;
    justify-content: end;
    width: 100%;
    height: 50%;
    font-size: 20px;
    bottom: 0;
  }
}

.cp-native-plants-page {
  gap: var(--jk-gap-l);
}

.cp-native-plants-page .pages .page-image {
  aspect-ratio: 2;
  background: var(--color-light-brown);
}

.cp-native-plants-child-page {
  gap: var(--jk-gap-l);
}

.cp-native-plants-child-page .header-image {
  aspect-ratio: 1.5;
  max-height: 600px;
}

.cp-native-plants-child-page .bottom-section {
  gap: var(--jk-gap-xl);
}

.cp-native-plants-child-page .bottom-section .content {
  flex: 3;
}

.cp-native-plants-child-page .bottom-section .content h2 {
  font-size: var(--font-header-s);
  font-weight: var(--font-weight-normal);
  margin-top: calc(var(--jk-font-body) * 2);
  margin-bottom: var(--jk-font-body);
  line-height: 1.2em;
}

.cp-native-plants-child-page .bottom-section .content h2:first-child {
  margin-top: 0;
}

.cp-native-plants-child-page .bottom-section .sidebar {
  padding: var(--jk-padding-m);
  background: var(--color-light-brown);
  gap: var(--jk-gap-l);
  height: -moz-fit-content;
  height: fit-content;
}

.cp-native-plants-child-page .bottom-section .sidebar ul {
  line-height: 1.5em;
}

.cp-native-plants-child-page .bottom-section .sidebar li {
  margin-bottom: var(--jk-gap-m);
}

.cp-native-plants-child-page .bottom-section .sidebar input {
  border-color: var(--color-dark-brown);
}

@media (width <= 1000px) {
  .cp-native-plants-child-page .bottom-section {
    gap: var(--jk-gap-l);
    flex-direction: column-reverse;
  }

  .cp-native-plants-child-page .bottom-section .sidebar {
    max-height: 50vh;
  }

  .cp-native-plants-child-page .bottom-section .sidebar ul {
    overflow: scroll;
  }
}

.cp-resources-page, .cp-resources-page .main-box, .cp-resources-page .right-box, .cp-services-page {
  gap: var(--jk-gap-l);
}

.cp-services-page .tile .inner {
  gap: var(--jk-gap-m);
}

.cp-services-page .tile .inner .service-image {
  aspect-ratio: 1.56;
  border: 1px solid #eee;
  height: auto;
}

/*# sourceMappingURL=index.css.map */
