/* Static (no-JavaScript) replacements for the Joomla/Gantry widgets. Generated by _tools/build.py */

html { scroll-behavior: smooth; }

/* ---- Vertical slideshow (was lightslider.js): 300px (250px mobile), 5s pause, 400ms slide, loops ---- */
.g-verticalslider .lSSlideWrapper { height: 300px; }
.g-verticalslider ul .g-verticalslider-item { height: 300px; margin: 0; }
.g-verticalslider ul .g-verticalslider-item .g-verticalslider-content { opacity: 1; }
.g-verticalslider .ka-slide-radio { position: absolute; opacity: 0; pointer-events: none; }
.g-verticalslider .lSSlideOuter .lSPager.lSpg > li label { position: absolute; top: -6px; left: -6px; width: 20px; height: 20px; text-indent: 0; cursor: pointer; }
.g-verticalslider .lSAction > a { cursor: default; }
.g-verticalslider .lSSlideOuter:hover .ka-slides, .g-verticalslider .lSSlideOuter:hover .lSPager li,
.g-verticalslider .lSSlideOuter:focus-within .ka-slides, .g-verticalslider .lSSlideOuter:focus-within .lSPager li { animation-play-state: paused; }
@media (max-width: 50.99rem) {
  .g-verticalslider .lSSlideWrapper, .g-verticalslider ul .g-verticalslider-item { height: 250px; }
}
@media (prefers-reduced-motion: reduce) {
  .g-verticalslider .ka-slides, .g-verticalslider .lSPager li { animation: none !important; }
}
.ka-slides-5 { animation: ka-vs5 27.00s infinite; }
@keyframes ka-vs5 {
  0.000%, 18.519% { transform: translateY(-0.0000%); }
  20.000%, 38.519% { transform: translateY(-16.6667%); }
  40.000%, 58.519% { transform: translateY(-33.3333%); }
  60.000%, 78.519% { transform: translateY(-50.0000%); }
  80.000%, 98.519% { transform: translateY(-66.6667%); }
  100% { transform: translateY(-83.3333%); }
}
@keyframes ka-vs5-r0 {
  0.000%, 18.519% { transform: translateY(-0.0000%); }
  20.000%, 38.519% { transform: translateY(-16.6667%); }
  40.000%, 58.519% { transform: translateY(-33.3333%); }
  60.000%, 78.519% { transform: translateY(-50.0000%); }
  80.000%, 98.519% { transform: translateY(-66.6667%); }
  100% { transform: translateY(-83.3333%); }
}
@keyframes ka-vs5-r1 {
  0.000%, 18.519% { transform: translateY(-0.0000%); }
  20.000%, 38.519% { transform: translateY(-16.6667%); }
  40.000%, 58.519% { transform: translateY(-33.3333%); }
  60.000%, 78.519% { transform: translateY(-50.0000%); }
  80.000%, 98.519% { transform: translateY(-66.6667%); }
  100% { transform: translateY(-83.3333%); }
}
@keyframes ka-vs5-r2 {
  0.000%, 18.519% { transform: translateY(-0.0000%); }
  20.000%, 38.519% { transform: translateY(-16.6667%); }
  40.000%, 58.519% { transform: translateY(-33.3333%); }
  60.000%, 78.519% { transform: translateY(-50.0000%); }
  80.000%, 98.519% { transform: translateY(-66.6667%); }
  100% { transform: translateY(-83.3333%); }
}
@keyframes ka-vs5-r3 {
  0.000%, 18.519% { transform: translateY(-0.0000%); }
  20.000%, 38.519% { transform: translateY(-16.6667%); }
  40.000%, 58.519% { transform: translateY(-33.3333%); }
  60.000%, 78.519% { transform: translateY(-50.0000%); }
  80.000%, 98.519% { transform: translateY(-66.6667%); }
  100% { transform: translateY(-83.3333%); }
}
@keyframes ka-vs5-r4 {
  0.000%, 18.519% { transform: translateY(-0.0000%); }
  20.000%, 38.519% { transform: translateY(-16.6667%); }
  40.000%, 58.519% { transform: translateY(-33.3333%); }
  60.000%, 78.519% { transform: translateY(-50.0000%); }
  80.000%, 98.519% { transform: translateY(-66.6667%); }
  100% { transform: translateY(-83.3333%); }
}
@keyframes ka-dot5 {
  0%, 19.249% { background: #ffffff; }
  19.259%, 99.259% { background: transparent; }
  99.269%, 100% { background: #ffffff; }
}
@keyframes ka-dot5-r0 {
  0%, 19.249% { background: #ffffff; }
  19.259%, 99.259% { background: transparent; }
  99.269%, 100% { background: #ffffff; }
}
@keyframes ka-dot5-r1 {
  0%, 19.249% { background: #ffffff; }
  19.259%, 99.259% { background: transparent; }
  99.269%, 100% { background: #ffffff; }
}
@keyframes ka-dot5-r2 {
  0%, 19.249% { background: #ffffff; }
  19.259%, 99.259% { background: transparent; }
  99.269%, 100% { background: #ffffff; }
}
@keyframes ka-dot5-r3 {
  0%, 19.249% { background: #ffffff; }
  19.259%, 99.259% { background: transparent; }
  99.269%, 100% { background: #ffffff; }
}
@keyframes ka-dot5-r4 {
  0%, 19.249% { background: #ffffff; }
  19.259%, 99.259% { background: transparent; }
  99.269%, 100% { background: #ffffff; }
}
.g-verticalslider .lSSlideOuter .lSPager.lSpg > li:nth-child(1) { animation: ka-dot5 27.00s -27.00s infinite; }
.g-verticalslider .lSSlideOuter .lSPager.lSpg > li:nth-child(2) { animation: ka-dot5 27.00s -21.60s infinite; }
.g-verticalslider .lSSlideOuter .lSPager.lSpg > li:nth-child(3) { animation: ka-dot5 27.00s -16.20s infinite; }
.g-verticalslider .lSSlideOuter .lSPager.lSpg > li:nth-child(4) { animation: ka-dot5 27.00s -10.80s infinite; }
.g-verticalslider .lSSlideOuter .lSPager.lSpg > li:nth-child(5) { animation: ka-dot5 27.00s -5.40s infinite; }
.g-verticalslider .lSSlideOuter .ka-sr-0:checked ~ .lSSlideWrapper .ka-slides-5 { animation-name: ka-vs5-r0; animation-delay: 0.00s; }
.g-verticalslider .lSSlideOuter .ka-sr-0:checked ~ .lSPager.lSpg > li:nth-child(1) { animation-name: ka-dot5-r0; animation-delay: -27.00s; }
.g-verticalslider .lSSlideOuter .ka-sr-0:checked ~ .lSPager.lSpg > li:nth-child(2) { animation-name: ka-dot5-r0; animation-delay: -21.60s; }
.g-verticalslider .lSSlideOuter .ka-sr-0:checked ~ .lSPager.lSpg > li:nth-child(3) { animation-name: ka-dot5-r0; animation-delay: -16.20s; }
.g-verticalslider .lSSlideOuter .ka-sr-0:checked ~ .lSPager.lSpg > li:nth-child(4) { animation-name: ka-dot5-r0; animation-delay: -10.80s; }
.g-verticalslider .lSSlideOuter .ka-sr-0:checked ~ .lSPager.lSpg > li:nth-child(5) { animation-name: ka-dot5-r0; animation-delay: -5.40s; }
.g-verticalslider .lSSlideOuter .ka-sr-1:checked ~ .lSSlideWrapper .ka-slides-5 { animation-name: ka-vs5-r1; animation-delay: -5.40s; }
.g-verticalslider .lSSlideOuter .ka-sr-1:checked ~ .lSPager.lSpg > li:nth-child(1) { animation-name: ka-dot5-r1; animation-delay: -32.40s; }
.g-verticalslider .lSSlideOuter .ka-sr-1:checked ~ .lSPager.lSpg > li:nth-child(2) { animation-name: ka-dot5-r1; animation-delay: -27.00s; }
.g-verticalslider .lSSlideOuter .ka-sr-1:checked ~ .lSPager.lSpg > li:nth-child(3) { animation-name: ka-dot5-r1; animation-delay: -21.60s; }
.g-verticalslider .lSSlideOuter .ka-sr-1:checked ~ .lSPager.lSpg > li:nth-child(4) { animation-name: ka-dot5-r1; animation-delay: -16.20s; }
.g-verticalslider .lSSlideOuter .ka-sr-1:checked ~ .lSPager.lSpg > li:nth-child(5) { animation-name: ka-dot5-r1; animation-delay: -10.80s; }
.g-verticalslider .lSSlideOuter .ka-sr-2:checked ~ .lSSlideWrapper .ka-slides-5 { animation-name: ka-vs5-r2; animation-delay: -10.80s; }
.g-verticalslider .lSSlideOuter .ka-sr-2:checked ~ .lSPager.lSpg > li:nth-child(1) { animation-name: ka-dot5-r2; animation-delay: -37.80s; }
.g-verticalslider .lSSlideOuter .ka-sr-2:checked ~ .lSPager.lSpg > li:nth-child(2) { animation-name: ka-dot5-r2; animation-delay: -32.40s; }
.g-verticalslider .lSSlideOuter .ka-sr-2:checked ~ .lSPager.lSpg > li:nth-child(3) { animation-name: ka-dot5-r2; animation-delay: -27.00s; }
.g-verticalslider .lSSlideOuter .ka-sr-2:checked ~ .lSPager.lSpg > li:nth-child(4) { animation-name: ka-dot5-r2; animation-delay: -21.60s; }
.g-verticalslider .lSSlideOuter .ka-sr-2:checked ~ .lSPager.lSpg > li:nth-child(5) { animation-name: ka-dot5-r2; animation-delay: -16.20s; }
.g-verticalslider .lSSlideOuter .ka-sr-3:checked ~ .lSSlideWrapper .ka-slides-5 { animation-name: ka-vs5-r3; animation-delay: -16.20s; }
.g-verticalslider .lSSlideOuter .ka-sr-3:checked ~ .lSPager.lSpg > li:nth-child(1) { animation-name: ka-dot5-r3; animation-delay: -43.20s; }
.g-verticalslider .lSSlideOuter .ka-sr-3:checked ~ .lSPager.lSpg > li:nth-child(2) { animation-name: ka-dot5-r3; animation-delay: -37.80s; }
.g-verticalslider .lSSlideOuter .ka-sr-3:checked ~ .lSPager.lSpg > li:nth-child(3) { animation-name: ka-dot5-r3; animation-delay: -32.40s; }
.g-verticalslider .lSSlideOuter .ka-sr-3:checked ~ .lSPager.lSpg > li:nth-child(4) { animation-name: ka-dot5-r3; animation-delay: -27.00s; }
.g-verticalslider .lSSlideOuter .ka-sr-3:checked ~ .lSPager.lSpg > li:nth-child(5) { animation-name: ka-dot5-r3; animation-delay: -21.60s; }
.g-verticalslider .lSSlideOuter .ka-sr-4:checked ~ .lSSlideWrapper .ka-slides-5 { animation-name: ka-vs5-r4; animation-delay: -21.60s; }
.g-verticalslider .lSSlideOuter .ka-sr-4:checked ~ .lSPager.lSpg > li:nth-child(1) { animation-name: ka-dot5-r4; animation-delay: -48.60s; }
.g-verticalslider .lSSlideOuter .ka-sr-4:checked ~ .lSPager.lSpg > li:nth-child(2) { animation-name: ka-dot5-r4; animation-delay: -43.20s; }
.g-verticalslider .lSSlideOuter .ka-sr-4:checked ~ .lSPager.lSpg > li:nth-child(3) { animation-name: ka-dot5-r4; animation-delay: -37.80s; }
.g-verticalslider .lSSlideOuter .ka-sr-4:checked ~ .lSPager.lSpg > li:nth-child(4) { animation-name: ka-dot5-r4; animation-delay: -32.40s; }
.g-verticalslider .lSSlideOuter .ka-sr-4:checked ~ .lSPager.lSpg > li:nth-child(5) { animation-name: ka-dot5-r4; animation-delay: -27.00s; }

/* ---- Case-studies filter (was shuffle.js + masonry.js) ---- */
.ka-filter { position: absolute; opacity: 0; pointer-events: none; }
.g-casestudies .g-casestudies-grid { display: flex; flex-wrap: wrap; align-items: flex-start; }
.g-casestudies .g-casestudies-grid .g-casestudies-grid-sizer { display: none; }
.g-casestudies-nav-item { cursor: pointer; }
.ka-fnav { position: absolute; opacity: 0; pointer-events: none; }
.ka-fnav-toggle { cursor: pointer; }
.ka-filter-1:checked ~ .g-casestudies-grid .g-casestudies-grid-item:not(.ka-g-1) { display: none; }
.ka-filter-2:checked ~ .g-casestudies-grid .g-casestudies-grid-item:not(.ka-g-2) { display: none; }
.ka-filter-3:checked ~ .g-casestudies-grid .g-casestudies-grid-item:not(.ka-g-3) { display: none; }
.ka-filter-4:checked ~ .g-casestudies-grid .g-casestudies-grid-item:not(.ka-g-4) { display: none; }
.g-casestudies .ka-filter-1:checked ~ .g-casestudies-header .g-casestudies-nav .g-casestudies-nav-item[data-group="1"],.g-casestudies .ka-filter-2:checked ~ .g-casestudies-header .g-casestudies-nav .g-casestudies-nav-item[data-group="2"],.g-casestudies .ka-filter-3:checked ~ .g-casestudies-header .g-casestudies-nav .g-casestudies-nav-item[data-group="3"],.g-casestudies .ka-filter-4:checked ~ .g-casestudies-header .g-casestudies-nav .g-casestudies-nav-item[data-group="4"],.g-casestudies .ka-filter-all:checked ~ .g-casestudies-header .g-casestudies-nav .g-casestudies-nav-item[data-group="all"]{color:#ffffff;background:#000000}
@media only all and (max-width:50.99rem){.g-casestudies .ka-filter-1:checked ~ .g-casestudies-header .g-casestudies-nav .g-casestudies-nav-item[data-group="1"],.g-casestudies .ka-filter-2:checked ~ .g-casestudies-header .g-casestudies-nav .g-casestudies-nav-item[data-group="2"],.g-casestudies .ka-filter-3:checked ~ .g-casestudies-header .g-casestudies-nav .g-casestudies-nav-item[data-group="3"],.g-casestudies .ka-filter-4:checked ~ .g-casestudies-header .g-casestudies-nav .g-casestudies-nav-item[data-group="4"],.g-casestudies .ka-filter-all:checked ~ .g-casestudies-header .g-casestudies-nav .g-casestudies-nav-item[data-group="all"]{background:none;color:#000000}}
@media only all and (max-width:50.99rem){.g-casestudies .ka-filter-1:checked ~ .g-casestudies-header .g-casestudies-nav .g-casestudies-nav-item[data-group="1"],.g-casestudies .ka-filter-2:checked ~ .g-casestudies-header .g-casestudies-nav .g-casestudies-nav-item[data-group="2"],.g-casestudies .ka-filter-3:checked ~ .g-casestudies-header .g-casestudies-nav .g-casestudies-nav-item[data-group="3"],.g-casestudies .ka-filter-4:checked ~ .g-casestudies-header .g-casestudies-nav .g-casestudies-nav-item[data-group="4"],.g-casestudies .ka-filter-all:checked ~ .g-casestudies-header .g-casestudies-nav .g-casestudies-nav-item[data-group="all"]{display:block}}
.g-casestudies .ka-fnav:checked ~ .g-casestudies-header .g-casestudies-nav .g-casestudies-nav-item{display:block}

/* ---- Off-canvas mobile menu (was Gantry main.js) ---- */
.ka-nav-check { position: absolute; opacity: 0; pointer-events: none; }
#g-page-surround { transition: left .3s ease; }
.ka-nav-overlay { display: none; }
.ka-nav-check:checked ~ #g-offcanvas { display: block; z-index: 1; }
.ka-nav-check:checked ~ #g-page-surround { left: 10rem; overflow: hidden; height: 100vh; }
.ka-nav-check:checked ~ #g-page-surround .ka-nav-overlay {
  display: block; position: absolute; inset: 0; z-index: 100000; background: rgba(0, 0, 0, .25); cursor: pointer;
}
@media (max-width: 50.99rem) {
  #g-navigation .g-main-nav { display: none; }
}
@media (min-width: 51rem) {
  .ka-nav-check:checked ~ #g-offcanvas { display: none; }
  .ka-nav-check:checked ~ #g-page-surround { left: 0; height: auto; overflow: visible; }
  .ka-nav-check:checked ~ #g-page-surround .ka-nav-overlay { display: none; }
}
