
.owl-carousel {
  display: none;
  width: 100%;
  -webkit-tap-highlight-color: transparent;
  /* position relative and z-index fix webkit rendering fonts issue */
  position: relative;
  z-index: 1; }
  .owl-carousel .owl-stage {
    position: relative;
    -ms-touch-action: pan-Y;
    touch-action: manipulation;
    -moz-backface-visibility: hidden;
    /* fix firefox animation glitch */ }
  .owl-carousel .owl-stage:after {
    content: ".";
    display: block;
    clear: both;
    visibility: hidden;
    line-height: 0;
    height: 0; }
  .owl-carousel .owl-stage-outer {
    position: relative;
    overflow: hidden;
    /* fix for flashing background */
    -webkit-transform: translate3d(0px, 0px, 0px); }
  .owl-carousel .owl-wrapper,
  .owl-carousel .owl-item {
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -ms-backface-visibility: hidden;
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0); }
  .owl-carousel .owl-item {
    position: relative;
    min-height: 1px;
    float: left;
    -webkit-backface-visibility: hidden;
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none; }
  .owl-carousel .owl-item img {
    display: block;
    width: 100%; }
  .owl-carousel .owl-nav.disabled,
  .owl-carousel .owl-dots.disabled {
    display: none; }
  .owl-carousel .owl-nav .owl-prev,
  .owl-carousel .owl-nav .owl-next,
  .owl-carousel .owl-dot {
    cursor: pointer;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none; }
  .owl-carousel .owl-nav button.owl-prev,
  .owl-carousel .owl-nav button.owl-next,
  .owl-carousel button.owl-dot {
    background: none;
    color: inherit;
    border: none;
    padding: 0 !important;
    font: inherit; }
  .owl-carousel.owl-loaded {
    display: block; }
  .owl-carousel.owl-loading {
    opacity: 0;
    display: block; }
  .owl-carousel.owl-hidden {
    opacity: 0; }
  .owl-carousel.owl-refresh .owl-item {
    visibility: hidden; }
  .owl-carousel.owl-drag .owl-item {
    -ms-touch-action: pan-y;
        touch-action: pan-y;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none; }
  .owl-carousel.owl-grab {
    cursor: move;
    cursor: grab; }
  .owl-carousel.owl-rtl {
    direction: rtl; }
  .owl-carousel.owl-rtl .owl-item {
    float: right; }

/* No Js */
.no-js .owl-carousel {
  display: block; }

/*
 *  Owl Carousel - Animate Plugin
 */
.owl-carousel .animated {
  animation-duration: 1000ms;
  animation-fill-mode: both; }

.owl-carousel .owl-animated-in {
  z-index: 0; }

.owl-carousel .owl-animated-out {
  z-index: 1; }

.owl-carousel .fadeOut {
  animation-name: fadeOut; }

@keyframes fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

/*
 * 	Owl Carousel - Auto Height Plugin
 */
.owl-height {
  transition: height 500ms ease-in-out; }

/*
 * 	Owl Carousel - Lazy Load Plugin
 */
.owl-carousel .owl-item {
  /**
			This is introduced due to a bug in IE11 where lazy loading combined with autoheight plugin causes a wrong
			calculation of the height of the owl-item that breaks page layouts
		 */ }
  .owl-carousel .owl-item .owl-lazy {
    opacity: 0;
    transition: opacity 400ms ease; }
  .owl-carousel .owl-item .owl-lazy[src^=""], .owl-carousel .owl-item .owl-lazy:not([src]) {
    max-height: 0; }
  .owl-carousel .owl-item img.owl-lazy {
    transform-style: preserve-3d; }

/*
 * 	Owl Carousel - Video Plugin
 */
.owl-carousel .owl-video-wrapper {
  position: relative;
  height: 100%;
  background: #000; }

.owl-carousel .owl-video-play-icon {
  position: absolute;
  height: 80px;
  width: 80px;
  left: 50%;
  top: 50%;
  margin-left: -40px;
  margin-top: -40px;
  background: url("owl.video.play.png") no-repeat;
  cursor: pointer;
  z-index: 1;
  -webkit-backface-visibility: hidden;
  transition: transform 100ms ease; }

.owl-carousel .owl-video-play-icon:hover {
  -ms-transform: scale(1.3, 1.3);
      transform: scale(1.3, 1.3); }

.owl-carousel .owl-video-playing .owl-video-tn,
.owl-carousel .owl-video-playing .owl-video-play-icon {
  display: none; }

.owl-carousel .owl-video-tn {
  opacity: 0;
  height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  transition: opacity 400ms ease; }

.owl-carousel .owl-video-frame {
  position: relative;
  z-index: 1;
  height: 100%;
  width: 100%; }

/*For Services*/
@layer demo {
    .carousel {
        --items: 6;
        --carousel-duration: 40s;

        @media (width > 600px) {
            --carousel-duration: 30s;
        }

        --carousel-width: min( 80vw, 1200px ); /* note - it will "break" if it gets too wide and there aren't enough items */
        --carousel-item-width: 280px;
        --carousel-item-height: 450px;
        --carousel-item-gap: 2rem;
        --clr-cta: rgb(0, 132, 209);
        position: relative;
        width: var(--carousel-width);
        height: var(--carousel-item-height);
        overflow: clip;
        &[mask]

{
    /* fade out on sides */
    mask-image: linear-gradient( to right, transparent, black 3% 97%, transparent );
}

&[reverse] > article {
    animation-direction: reverse;
}
/* hover pauses animation */
&:hover > article {
    animation-play-state: paused;
}

}

.carousel > h2 {
    margin: 1% 0 !important;
    color: #ae14f1;
}

.carousel > article {
    position: absolute;
    top: 0;
    left: calc(100% + var(--carousel-item-gap));
    width: var(--carousel-item-width);
    height: var(--carousel-item-height);
    display: grid;
    grid-template-rows: 200px auto 1fr auto;
    gap: 0.25rem;
    border: 1px solid light-dark(rgba(0 0 0 / 0.25), rgba(255 255 255 / 0.15));
    padding-block-end: 1rem;
    border-radius: 10px;
    /*background: light-dark(white, rgba(255 255 255 / 0.05));*/
    color: rgb(241 243 245);
    /* animation */
    will-change: transform;
    animation-name: marquee;
    animation-duration: var(--carousel-duration);
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    animation-delay: calc( var(--carousel-duration) / var(--items) * 1 * var(--i) * -1 );
    &:nth-child(1)

{
    --i: 0;
}

&:nth-child(2) {
    --i: 1;
}

&:nth-child(3) {
    --i: 2;
}

&:nth-child(4) {
    --i: 3;
}

&:nth-child(5) {
    --i: 4;
}

&:nth-child(6) {
    --i: 5;
}

&:nth-child(7) {
    --i: 6;
}

&:nth-child(8) {
    --i: 7;
}

}

.carousel img {
    width: 100%;
    height: 50% !important;
    object-fit: cover;
    border-radius: 10px 10px 0 0;
}

.carousel > article > *:not(img) {
    padding: 0 1rem;
}

.carousel > article > div {
    grid-row: span 2;
    display: grid;
    grid-template-rows: subgrid;
    font-size: 0.8rem;
}

.carousel > article h2 {
    font-size: 1.5rem;
    font-weight: 300;
    padding-block: 0.75rem 0.25rem;
    margin: 0;
    margin: 1% 0 !important;
    color: #f39b3d;
}

.carousel > article p {
    margin: 0;
}

.carousel > article a {
    text-decoration: none;
    text-transform: lowercase;
    border: 1px solid var(--clr-cta);
    color: light-dark(var(--clr-cta), white);
    border-radius: 3px;
    padding: 0.25rem 0.5rem;
    place-self: start;
    transition: 150ms ease-in-out;
    &:hover, &:focus-visible

{
    background-color: var(--clr-cta);
    color: white;
    outline: none;
}

}

@keyframes marquee {
    100% {
        transform: translateX( calc( (var(--items) * (var(--carousel-item-width) + var(--carousel-item-gap))) * -1 ) );
    }
}

}


/* general styling */
@layer base {
    * {
        box-sizing: border-box;
    }

    :root {
        color-scheme: light dark;
        --bg-dark: rgb(2, 6, 24);
        --bg-light: rgb(229, 229, 229);
        --txt-light: rgb(10, 10, 10);
        --txt-dark: rgb(245, 245, 245);
    }
}

/*For home*/
@layer demo {
    .carouselhome {
        --items: 6;
        --carouselhome-duration: 40s;

        @media (width > 600px) {
            --carouselhome-duration: 30s;
        }

        --carouselhome-width: min( 80vw, 1200px ); /* note - it will "break" if it gets too wide and there aren't enough items */
        --carouselhome-item-width: 200px;
        --carouselhome-item-height: 160px;
        --carouselhome-item-gap: 2rem;
        --clr-cta: rgb(0, 132, 209);
        position: relative;
        width: var(--carouselhome-width);
        height: var(--carouselhome-item-height);
        overflow: clip;
        &[mask]

{
    /* fade out on sides */
    mask-image: linear-gradient( to right, transparent, black 3% 97%, transparent );
}

&[reverse] > article {
    animation-direction: reverse;
}
/* hover pauses animation */
&:hover > article {
    animation-play-state: paused;
}

}

.carouselhome > h2 {
    margin: 1% 0 !important;
    color: #ae14f1;
}

.carouselhome > article {
    position: absolute;
    top: 0;
    left: calc(100% + var(--carouselhome-item-gap));
    width: var(--carouselhome-item-width);
    height:175px !important; /*var(--carouselhome-item-height);*/
    display: grid;
    grid-template-rows: 200px auto 1fr auto;
    gap: 0.25rem;
    border: 1px solid light-dark(rgba(0 0 0 / 0.25), rgba(255 255 255 / 0.15));
    padding-block-end: 1rem;
    border-radius: 10px;
    /*background: light-dark(white, rgba(255 255 255 / 0.05));*/
    color: rgb(241 243 245);
    /* animation */
    will-change: transform;
    animation-name: marquee;
    animation-duration: var(--carouselhome-duration);
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    animation-delay: calc( var(--carouselhome-duration) / var(--items) * 1 * var(--i) * -1 );
    &:nth-child(1)

{
    --i: 0;
}

&:nth-child(2) {
    --i: 1;
}

&:nth-child(3) {
    --i: 2;
}

&:nth-child(4) {
    --i: 3;
}

&:nth-child(5) {
    --i: 4;
}

&:nth-child(6) {
    --i: 5;
}

&:nth-child(7) {
    --i: 6;
}

&:nth-child(8) {
    --i: 7;
}

}

.carouselhome img {
    width: 100%;
    height: 100% !important;
    object-fit: cover;
    border-radius: 10px 10px 0 0;
}

.carouselhome > article > *:not(img) {
    padding: 0 1rem;
}

.carouselhome > article > div {
    grid-row: span 2;
    display: grid;
    grid-template-rows: subgrid;
    font-size: 0.8rem;
}

.carouselhome > article h2 {
    font-size: 1.5rem;
    font-weight: 300;
    padding-block: 0.75rem 0.25rem;
    margin: 0;
    margin: 1% 0 !important;
    color: #f39b3d;
}

.carouselhome > article p {
    margin: 0;
}

.carouselhome > article a {
    text-decoration: none;
    text-transform: lowercase;
    border: 1px solid var(--clr-cta);
    color: light-dark(var(--clr-cta), white);
    border-radius: 3px;
    padding: 0.25rem 0.5rem;
    place-self: start;
    transition: 150ms ease-in-out;
    &:hover, &:focus-visible

{
    background-color: var(--clr-cta);
    color: white;
    outline: none;
}

}

@keyframes marquee {
    100% {
        transform: translateX( calc( (var(--items) * (var(--carouselhome-item-width) + var(--carouselhome-item-gap))) * -1 ) );
    }
}

}

