/* Original Neuroviax photography: size picture elements to the existing Atua hero frame. */
.dt_slider {
  min-height: 48rem;
}

@media (min-width: 36em) {
  .dt_slider { min-height: 54rem; }
}

@media (min-width: 62em) {
  .dt_slider { min-height: 68rem; }
}

@media (min-width: 87.5em) {
  .dt_slider { min-height: 72rem; }
}

/* Owl hides uninitialized carousels. Keep the real first hero in flow while its controls initialize. */
.dt_slider .dt_slider-carousel.owl-carousel:not(.owl-loaded) {
  display: block;
}

.dt_slider .dt_slider-carousel.owl-carousel:not(.owl-loaded) > .dt_slider-item:not(:first-child) {
  display: none;
}

/* Reserve the introductory card row while Owl initializes so About never jumps upward. */
.dt_slider--one + .dt_service--one.front-info {
  min-height: 32.5rem;
}

.dt_slider .dt_slider-item > picture,
.dt_slider .dt_slider-item > picture > img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 48rem;
  max-height: 48rem;
}

.dt_slider .dt_slider-item > picture {
  position: absolute;
  inset: 0;
}

.dt_slider .dt_slider-item > picture > img {
  object-fit: cover;
  object-position: center;
}

.dt_slider--kenburn .owl-item .dt_slider-item > picture > img {
  transform-style: flat;
  transform: scale(1.1);
  transform-origin: bottom left;
  transition: transform 20s linear;
}

.dt_slider--kenburn .owl-item:nth-child(even) .dt_slider-item > picture > img {
  transform: scale(1.4);
  transform-origin: bottom right;
}

.dt_slider--kenburn .owl-item.active:nth-child(even) .dt_slider-item > picture > img {
  transform: scale(1.1);
}

.dt_slider--kenburn .owl-item.active:nth-child(odd) .dt_slider-item > picture > img {
  transform: scale(1.4);
}

.dt_slider .dt_slider-item--1 > picture > img { object-position: 70% center; }
.dt_slider .dt_slider-item--3 > picture > img { object-position: 30% center; }

.dt_slider .dt_slider-item::after {
  z-index: 0;
  background: rgba(10, 24, 37, .24);
  pointer-events: none;
}

.dt_slider .dt_slider-item--1::after {
  background: linear-gradient(90deg, rgba(10, 24, 37, .64) 0%, rgba(10, 24, 37, .62) 40%, rgba(10, 24, 37, .60) 72%, rgba(10, 24, 37, .24) 100%);
}

.dt_slider .dt_slider-item--2::after {
  background: radial-gradient(ellipse 100% 130% at 50% 50%, rgba(10, 24, 37, .62) 0%, rgba(10, 24, 37, .60) 82%, rgba(10, 24, 37, .40) 94%, rgba(10, 24, 37, .24) 100%);
}

.dt_slider .dt_slider-item--3::after {
  background: linear-gradient(90deg, rgba(10, 24, 37, .24) 0%, rgba(10, 24, 37, .62) 42%, rgba(10, 24, 37, .64) 100%);
}

.dt_slider .dt_slider-wrapper {
  z-index: 1;
  background: transparent;
}

.dt_slider .dt_slider-content .title,
.dt_slider .dt_slider-content .subtitle,
.dt_slider .dt_slider-content .text {
  color: #fff;
  text-shadow: 0 2px 8px rgba(4, 12, 20, .88);
}

.dt_slider .dt_slider-content .subtitle .text-primary {
  color: #fff !important;
}

.dt_slider .dt_slider-content .dt-btn.dt-btn-primary {
  position: relative;
  z-index: 2;
  pointer-events: auto;
  color: #0a1825;
  background-color: var(--dt-pri-color);
}

.dt_slider .dt_slider-content .dt-btn.dt-btn-primary:hover,
.dt_slider .dt_slider-content .dt-btn.dt-btn-primary:focus-visible {
  color: #fff;
  background-color: #a9361d;
}

.dt_slider .dt_slider-content .dt-btn.dt-btn-primary:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 3px;
  box-shadow: 0 0 0 6px rgba(4, 12, 20, .88);
}

.front-info .dt_item_image > a,
.front-info .dt_item_image picture {
  display: block;
  width: 100%;
}

.front-info .dt_item_image picture,
.front-info .dt_item_image picture img {
  height: 25rem;
}

.front-info .dt_item_image picture img {
  display: block;
  width: 100%;
  min-height: 25rem;
  object-fit: cover;
}

.front-service .dt_item_image picture {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
}

.front-service .dt_item_image picture img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* The original card treatment revealed its photo only on hover; keep the restored learning photos visible by default. */
.front-service .dt_item_inner .dt_item_image,
.front-service .dt_item_inner:hover .dt_item_image,
.front-service .dt_item_inner:focus-within .dt_item_image {
  position: relative;
  top: auto;
  left: auto;
  width: 100%;
  height: 10rem;
  z-index: 0;
  transform: none;
  opacity: 1;
  visibility: visible;
  border-radius: 1rem 1rem 0 0;
}

.front-service .dt_item_inner .dt_item_image::before {
  background: linear-gradient(180deg, rgba(8, 23, 34, .02), rgba(8, 23, 34, .16));
  opacity: 1;
}

.front-service .dt_item_inner .dt_item_image::after {
  display: none;
}

.front-service .dt_item_inner .dt_item_holder {
  position: relative;
  z-index: 1;
  padding-top: 2.3rem;
}

.front-about .about-main-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.front-about .about-art-block {
  overflow: hidden;
  background-color: #1d5965;
}

.front-about .about-art-block picture {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
}

.front-about .about-art-block picture img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.brand-page-surface {
  overflow: hidden;
  background-color: #183646;
}

.brand-page-surface > picture,
.brand-page-surface > picture img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
}

.brand-page-surface > picture img {
  object-fit: cover;
  object-position: center 45%;
}

.dt_pagetitle .brand-page-surface::before {
  z-index: 1;
  opacity: 1;
  background: linear-gradient(100deg, rgba(8, 23, 34, .62), rgba(8, 23, 34, .46) 50%, rgba(8, 23, 34, .62));
}

.front-features {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background-color: #142b3a;
}

.front-features > .brand-feature-image {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}

.front-features .brand-feature-image picture,
.front-features .brand-feature-image picture img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
}

.front-features .brand-feature-image picture img {
  object-fit: cover;
  object-position: center;
}

.front-features::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(105deg, rgba(12, 31, 44, .82), rgba(12, 31, 44, .70) 55%, rgba(12, 31, 44, .76));
}

.front-features > .pattern-layer {
  z-index: 2;
}

.front-features > .dt-container {
  position: relative;
  z-index: 3;
}

@media (min-width: 36em) {
  .dt_slider .dt_slider-item > picture,
  .dt_slider .dt_slider-item > picture > img {
    min-height: 54rem;
    max-height: 54rem;
  }
}

@media (min-width: 62em) {
  .dt_slider .dt_slider-item > picture,
  .dt_slider .dt_slider-item > picture > img {
    min-height: 68rem;
    max-height: 68rem;
  }
}

@media (min-width: 87.5em) {
  .dt_slider .dt_slider-item > picture,
  .dt_slider .dt_slider-item > picture > img {
    min-height: 67rem;
    max-height: 67rem;
  }
}

@media (max-width: 35.999em) {
  .front-service .dt_item_inner .dt_item_image,
  .front-service .dt_item_inner:hover .dt_item_image,
  .front-service .dt_item_inner:focus-within .dt_item_image {
    height: 9rem;
  }
}

@media (max-width: 35.999em) {
  .dt_slider .dt_slider-item::after { background: radial-gradient(ellipse 115% 110% at 50% 52%, rgba(10, 24, 37, .64) 0%, rgba(10, 24, 37, .62) 82%, rgba(10, 24, 37, .24) 100%); }
  .dt_slider .dt_slider-item--1 > picture > img { object-position: 72% center; }
  .dt_slider .dt_slider-item--2 > picture > img { object-position: 72% center; }
  .dt_slider .dt_slider-item--3 > picture > img { object-position: 28% center; }
  .dt_slider .dt_slider-content .text {
    display: block;
    -webkit-line-clamp: unset;
    -webkit-box-orient: unset;
    overflow: visible;
    text-overflow: clip;
  }
  .front-features::before { background: rgba(12, 31, 44, .82); }
}

@media (prefers-reduced-motion: reduce) {
  .wow,
  .animated:not(.owl-item),
  .owl-carousel .animated:not(.owl-item) {
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }

  .wow { visibility: visible !important; }

  .dt_slider .dt_slider-content .title,
  .dt_slider .dt_slider-content .subtitle,
  .dt_slider .dt_slider-content .text,
  .dt_slider .dt_slider-content .dt_btn-group {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  .dt_slider .dt_slider-content .title span::before {
    transform: translateX(101%) !important;
    transition: none !important;
  }

}
