.davi-slider {
  --davi-hero-min: 360px;
  --davi-hero-ideal: 60vw;
  --davi-hero-max: 920px;
  position: relative;
  overflow: hidden;
  width: 100%;
  height: clamp(var(--davi-hero-min), var(--davi-hero-ideal), var(--davi-hero-max));
  background: #000;
  margin-top: 0;
  top: 0;
}

.davi-slider--full {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

body.has-davi-slider .bwp-main > .page-title {
  display: none;
}

body.has-davi-slider #bwp-main,
body.has-davi-slider #main-content,
body.has-davi-slider #page,
body.has-davi-slider #content,
body.has-davi-slider .site-content,
body.has-davi-slider .site-main,
body.has-davi-slider .content-area,
body.has-davi-slider #main-content > .container,
body.has-davi-slider #main-content > .container > .row,
body.has-davi-slider #main-content > .container > .row > [class*="col-"] {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.has-davi-slider:not(.admin-bar) {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.has-davi-slider .elementor-widget-shortcode .elementor-shortcode,
body.has-davi-slider .elementor-widget-text-editor .elementor-widget-container,
body.has-davi-slider .elementor-widget-text-editor .elementor-text-editor,
body.has-davi-slider .elementor-widget-text-editor .elementor-text-editor p {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.davi-slider__track {
  position: relative;
  width: 100%;
  height: 100%;
}

.davi-slider__progress {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: rgba(255, 255, 255, 0.35);
  z-index: 7;
}

.davi-slider__progress-bar {
  width: 100%;
  height: 100%;
  background: #0052a8;
  transform-origin: 0 50%;
  transform: scaleX(0);
}

.davi-slide {
  --davi-title-x: var(--davi-title-x-d, 0px);
  --davi-title-y: var(--davi-title-y-d, 0px);
  --davi-title-w: var(--davi-title-w-d, auto);
  --davi-title-fs: var(--davi-title-fs-d, 65px);
  --davi-title-lh: var(--davi-title-lh-d, 75px);
  --davi-title-ax: var(--davi-title-ax-d, 0px);
  --davi-title-ay: var(--davi-title-ay-d, -100%);
  --davi-title-as: var(--davi-title-as-d, 1);
  --davi-title-ad: var(--davi-title-ad-d, 1800ms);
  --davi-title-ae: var(--davi-title-ae-d, ease);
  --davi-body-x: var(--davi-body-x-d, 0px);
  --davi-body-y: var(--davi-body-y-d, 0px);
  --davi-body-w: var(--davi-body-w-d, auto);
  --davi-body-fs: var(--davi-body-fs-d, 18px);
  --davi-body-lh: var(--davi-body-lh-d, 26px);
  --davi-body-ax: var(--davi-body-ax-d, 0px);
  --davi-body-ay: var(--davi-body-ay-d, -100%);
  --davi-body-as: var(--davi-body-as-d, 1);
  --davi-body-ad: var(--davi-body-ad-d, 1800ms);
  --davi-body-ae: var(--davi-body-ae-d, ease);
  --davi-button-x: var(--davi-button-x-d, 0px);
  --davi-button-y: var(--davi-button-y-d, 0px);
  --davi-button-fs: var(--davi-button-fs-d, 12px);
  --davi-button-lh: var(--davi-button-lh-d, 42px);
  --davi-button-ax: var(--davi-button-ax-d, 0px);
  --davi-button-ay: var(--davi-button-ay-d, -100%);
  --davi-button-as: var(--davi-button-as-d, 1.4);
  --davi-button-ad: var(--davi-button-ad-d, 1800ms);
  --davi-button-ae: var(--davi-button-ae-d, ease);
  --davi-layer-reveal-x: 42px;
  --davi-layer-enter-duration: 920ms;
  position: absolute;
  inset: 0;
  opacity: 0;
  z-index: 1;
  transition: opacity var(--davi-slide-transition, 300ms) ease;
  will-change: opacity;
  pointer-events: none;
}

.davi-slider:not(.is-ready) .davi-slide.is-active,
.davi-slide.is-active {
  opacity: 1;
  z-index: 3;
  pointer-events: auto;
}

.davi-slide.is-leaving {
  opacity: 0;
  z-index: 2;
  pointer-events: none;
}

.davi-slide__bg {
  position: absolute;
  inset: 0;
  background-image: var(--davi-bg-image);
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  opacity: 1;
  transform: scale(1);
  transition: opacity var(--davi-slide-transition, 300ms) ease, transform var(--davi-slide-transition, 300ms) ease;
  will-change: opacity, transform;
}

.davi-slide.is-leaving .davi-slide__bg {
  opacity: 0.82;
  transform: scale(1.012);
}

.davi-slide.is-entering {
  opacity: 1;
  z-index: 4;
  transition-duration: 180ms;
}

.davi-slide.is-active .davi-slide__bg {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
}

.davi-slide.is-entering.is-active .davi-slide__bg {
  animation: daviSlideBgEnter var(--davi-bg-enter-duration, 1500ms) cubic-bezier(0.22, 0.61, 0.36, 1) forwards;
}

@keyframes daviSlideBgEnter {
  0% {
    opacity: 0.12;
    transform: translate3d(0, -38%, 0) scale(1.16);
  }
  84% {
    opacity: 0.92;
    transform: translate3d(0, -1.2%, 0) scale(1.01);
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
  }
}

.davi-slide--community .davi-slide__title {
  width: min(760px, calc(100% - var(--davi-title-x) - 24px));
  white-space: normal;
  word-break: normal;
  overflow-wrap: normal;
  line-height: 1 !important;
}

.davi-slide--community .davi-slide__title .davi-title-line {
  display: block;
  line-height: 1.02;
}

.davi-slide--community .davi-slide__title .davi-title-line + .davi-title-line {
  margin-top: 0.12em;
}

.davi-slide__overlay {
  position: absolute;
  inset: 0;
  background: var(--davi-overlay, rgba(0, 0, 0, 0));
}

.davi-slide__content {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 2;
}

.davi-slide__title,
.davi-slide__body,
.davi-slide__button {
  position: absolute;
  margin: 0;
  color: #fff;
  text-shadow: none;
  clip-path: inset(0 100% 0 0);
  will-change: transform, opacity, clip-path;
}

.davi-slide__title {
  left: var(--davi-title-x);
  top: var(--davi-title-y);
  width: min(var(--davi-title-w), calc(100% - var(--davi-title-x) - 24px));
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 700;
  font-size: var(--davi-title-fs);
  line-height: calc(var(--davi-title-fs) * 1.15);
  white-space: normal;
  overflow-wrap: anywhere;
  opacity: 0;
  transform: translate3d(calc(-1 * var(--davi-layer-reveal-x)), 0, 0) scale(1.01);
  transition: clip-path var(--davi-layer-enter-duration) cubic-bezier(0.22, 0.61, 0.36, 1), transform var(--davi-layer-enter-duration) cubic-bezier(0.22, 0.61, 0.36, 1), opacity 620ms ease;
  transition-delay: 0ms, 0ms, 0ms;
  z-index: 4;
}

.davi-slide__body {
  left: var(--davi-body-x);
  top: var(--davi-body-y);
  width: min(var(--davi-body-w), calc(100% - var(--davi-body-x) - 24px));
  font-family: inherit;
  font-weight: 400;
  font-size: var(--davi-body-fs);
  line-height: calc(var(--davi-body-fs) * 1.38);
  opacity: 0;
  transform: translate3d(calc(-1 * var(--davi-layer-reveal-x)), 0, 0) scale(1.01);
  transition: clip-path var(--davi-layer-enter-duration) cubic-bezier(0.22, 0.61, 0.36, 1), transform var(--davi-layer-enter-duration) cubic-bezier(0.22, 0.61, 0.36, 1), opacity 620ms ease;
  transition-delay: 90ms, 90ms, 90ms;
  z-index: 2;
}

.davi-slide__button {
  left: var(--davi-button-x);
  top: var(--davi-button-y);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: Poppins, Arial, sans-serif;
  font-weight: 700;
  font-size: var(--davi-button-fs);
  line-height: var(--davi-button-lh);
  letter-spacing: 0.05em;
  text-transform: uppercase;
  text-decoration: none;
  background: #00509e;
  color: #fff;
  border-radius: 0;
  padding: 0 30px;
  opacity: 0;
  transform: translate3d(calc(-1 * var(--davi-layer-reveal-x)), 0, 0) scale(1.01);
  transition: clip-path var(--davi-layer-enter-duration) cubic-bezier(0.22, 0.61, 0.36, 1), transform var(--davi-layer-enter-duration) cubic-bezier(0.22, 0.61, 0.36, 1), opacity 620ms ease, background 200ms ease;
  transition-delay: 170ms, 170ms, 170ms, 0ms;
}

.davi-slide__button:hover {
  background: #4a5560;
  color: #fff;
}

.davi-slide.is-animate .davi-slide__title,
.davi-slide.is-animate .davi-slide__body,
.davi-slide.is-animate .davi-slide__button {
  opacity: 1;
  clip-path: inset(0 0 0 0);
  transform: translate3d(0, 0, 0) scale(1);
}

.davi-slide.is-leaving .davi-slide__title,
.davi-slide.is-leaving .davi-slide__body,
.davi-slide.is-leaving .davi-slide__button {
  opacity: 0;
  clip-path: inset(0 100% 0 0);
  transform: translate3d(18px, 0, 0) scale(1);
  transition-duration: 240ms, 240ms, 240ms, 200ms;
  transition-delay: 0ms, 0ms, 0ms, 0ms;
}

.davi-slider__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 56px;
  height: 56px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.85);
  background: rgba(255, 255, 255, 0.96);
  color: #2f66bd;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  z-index: 6;
  transition: background 200ms ease, color 200ms ease, border-color 200ms ease;
}

.davi-slider__icon {
  font-size: 26px;
  line-height: 1;
}

.davi-slider__arrow:hover {
  background: #2f66bd;
  color: #fff;
  border-color: #2f66bd;
}

.davi-slider__arrow--prev {
  left: clamp(14px, 3vw, 60px);
}

.davi-slider__arrow--next {
  right: clamp(14px, 3vw, 60px);
}

@media (max-width: 1199px) {
  .davi-slider {
    --davi-hero-min: 380px;
    --davi-hero-ideal: 72vw;
    --davi-hero-max: 780px;
  }

  .davi-slide {
    --davi-title-x: var(--davi-title-x-n, var(--davi-title-x));
    --davi-title-y: var(--davi-title-y-n, var(--davi-title-y));
    --davi-title-w: var(--davi-title-w-n, var(--davi-title-w));
    --davi-title-fs: var(--davi-title-fs-n, var(--davi-title-fs));
    --davi-title-lh: var(--davi-title-lh-n, var(--davi-title-lh));
    --davi-title-ax: var(--davi-title-ax-n, var(--davi-title-ax));
    --davi-title-ay: var(--davi-title-ay-n, var(--davi-title-ay));
    --davi-title-as: var(--davi-title-as-n, var(--davi-title-as));
    --davi-title-ad: var(--davi-title-ad-n, var(--davi-title-ad));
    --davi-title-ae: var(--davi-title-ae-n, var(--davi-title-ae));
    --davi-body-x: var(--davi-body-x-n, var(--davi-body-x));
    --davi-body-y: var(--davi-body-y-n, var(--davi-body-y));
    --davi-body-w: var(--davi-body-w-n, var(--davi-body-w));
    --davi-body-fs: var(--davi-body-fs-n, var(--davi-body-fs));
    --davi-body-lh: var(--davi-body-lh-n, var(--davi-body-lh));
    --davi-body-ax: var(--davi-body-ax-n, var(--davi-body-ax));
    --davi-body-ay: var(--davi-body-ay-n, var(--davi-body-ay));
    --davi-body-as: var(--davi-body-as-n, var(--davi-body-as));
    --davi-body-ad: var(--davi-body-ad-n, var(--davi-body-ad));
    --davi-body-ae: var(--davi-body-ae-n, var(--davi-body-ae));
    --davi-button-x: var(--davi-button-x-n, var(--davi-button-x));
    --davi-button-y: var(--davi-button-y-n, var(--davi-button-y));
    --davi-button-fs: var(--davi-button-fs-n, var(--davi-button-fs));
    --davi-button-lh: var(--davi-button-lh-n, var(--davi-button-lh));
    --davi-button-ax: var(--davi-button-ax-n, var(--davi-button-ax));
    --davi-button-ay: var(--davi-button-ay-n, var(--davi-button-ay));
    --davi-button-as: var(--davi-button-as-n, var(--davi-button-as));
    --davi-button-ad: var(--davi-button-ad-n, var(--davi-button-ad));
    --davi-button-ae: var(--davi-button-ae-n, var(--davi-button-ae));
  }
}

@media (max-width: 778px) {
  .davi-slider {
    --davi-hero-min: 340px;
    --davi-hero-ideal: 102vw;
    --davi-hero-max: 620px;
  }

  .davi-slide {
    --davi-title-x: var(--davi-title-x-t, var(--davi-title-x));
    --davi-title-y: var(--davi-title-y-t, var(--davi-title-y));
    --davi-title-w: var(--davi-title-w-t, var(--davi-title-w));
    --davi-title-fs: var(--davi-title-fs-t, var(--davi-title-fs));
    --davi-title-lh: var(--davi-title-lh-t, var(--davi-title-lh));
    --davi-title-ax: var(--davi-title-ax-t, var(--davi-title-ax));
    --davi-title-ay: var(--davi-title-ay-t, var(--davi-title-ay));
    --davi-title-as: var(--davi-title-as-t, var(--davi-title-as));
    --davi-title-ad: var(--davi-title-ad-t, var(--davi-title-ad));
    --davi-title-ae: var(--davi-title-ae-t, var(--davi-title-ae));
    --davi-body-x: var(--davi-body-x-t, var(--davi-body-x));
    --davi-body-y: var(--davi-body-y-t, var(--davi-body-y));
    --davi-body-w: var(--davi-body-w-t, var(--davi-body-w));
    --davi-body-fs: var(--davi-body-fs-t, var(--davi-body-fs));
    --davi-body-lh: var(--davi-body-lh-t, var(--davi-body-lh));
    --davi-body-ax: var(--davi-body-ax-t, var(--davi-body-ax));
    --davi-body-ay: var(--davi-body-ay-t, var(--davi-body-ay));
    --davi-body-as: var(--davi-body-as-t, var(--davi-body-as));
    --davi-body-ad: var(--davi-body-ad-t, var(--davi-body-ad));
    --davi-body-ae: var(--davi-body-ae-t, var(--davi-body-ae));
    --davi-button-x: var(--davi-button-x-t, var(--davi-button-x));
    --davi-button-y: var(--davi-button-y-t, var(--davi-button-y));
    --davi-button-fs: var(--davi-button-fs-t, var(--davi-button-fs));
    --davi-button-lh: var(--davi-button-lh-t, var(--davi-button-lh));
    --davi-button-ax: var(--davi-button-ax-t, var(--davi-button-ax));
    --davi-button-ay: var(--davi-button-ay-t, var(--davi-button-ay));
    --davi-button-as: var(--davi-button-as-t, var(--davi-button-as));
    --davi-button-ad: var(--davi-button-ad-t, var(--davi-button-ad));
    --davi-button-ae: var(--davi-button-ae-t, var(--davi-button-ae));
  }

  .davi-slide__title {
    left: clamp(20px, var(--davi-title-x), 72px);
    top: clamp(84px, var(--davi-title-y), 190px);
    width: min(82vw, calc(100% - clamp(20px, var(--davi-title-x), 72px) - 20px));
    font-size: clamp(44px, 7.2vw, var(--davi-title-fs));
    line-height: 1.08;
  }

  .davi-slide__body {
    left: clamp(20px, var(--davi-body-x), 72px);
    top: clamp(250px, var(--davi-body-y), 340px);
    width: min(82vw, calc(100% - clamp(20px, var(--davi-body-x), 72px) - 20px));
    font-size: clamp(15px, 2.4vw, var(--davi-body-fs));
    line-height: 1.45;
  }

  .davi-slide__button {
    left: clamp(20px, var(--davi-button-x), 72px);
    top: clamp(350px, var(--davi-button-y), 420px);
    font-size: clamp(11px, 1.7vw, var(--davi-button-fs));
    line-height: 40px;
  }

  .davi-slider__arrow {
    width: 44px;
    height: 44px;
  }

  .davi-slider__icon {
    font-size: 20px;
  }
}

@media (max-width: 480px) {
  .davi-slider {
    --davi-hero-min: 360px;
    --davi-hero-ideal: 132vw;
    --davi-hero-max: 540px;
  }

  .davi-slide {
    --davi-title-x: var(--davi-title-x-m, var(--davi-title-x));
    --davi-title-y: var(--davi-title-y-m, var(--davi-title-y));
    --davi-title-w: var(--davi-title-w-m, var(--davi-title-w));
    --davi-title-fs: var(--davi-title-fs-m, var(--davi-title-fs));
    --davi-title-lh: var(--davi-title-lh-m, var(--davi-title-lh));
    --davi-title-ax: var(--davi-title-ax-m, var(--davi-title-ax));
    --davi-title-ay: var(--davi-title-ay-m, var(--davi-title-ay));
    --davi-title-as: var(--davi-title-as-m, var(--davi-title-as));
    --davi-title-ad: var(--davi-title-ad-m, var(--davi-title-ad));
    --davi-title-ae: var(--davi-title-ae-m, var(--davi-title-ae));
    --davi-body-x: var(--davi-body-x-m, var(--davi-body-x));
    --davi-body-y: var(--davi-body-y-m, var(--davi-body-y));
    --davi-body-w: var(--davi-body-w-m, var(--davi-body-w));
    --davi-body-fs: var(--davi-body-fs-m, var(--davi-body-fs));
    --davi-body-lh: var(--davi-body-lh-m, var(--davi-body-lh));
    --davi-body-ax: var(--davi-body-ax-m, var(--davi-body-ax));
    --davi-body-ay: var(--davi-body-ay-m, var(--davi-body-ay));
    --davi-body-as: var(--davi-body-as-m, var(--davi-body-as));
    --davi-body-ad: var(--davi-body-ad-m, var(--davi-body-ad));
    --davi-body-ae: var(--davi-body-ae-m, var(--davi-body-ae));
    --davi-button-x: var(--davi-button-x-m, var(--davi-button-x));
    --davi-button-y: var(--davi-button-y-m, var(--davi-button-y));
    --davi-button-fs: var(--davi-button-fs-m, var(--davi-button-fs));
    --davi-button-lh: var(--davi-button-lh-m, var(--davi-button-lh));
    --davi-button-ax: var(--davi-button-ax-m, var(--davi-button-ax));
    --davi-button-ay: var(--davi-button-ay-m, var(--davi-button-ay));
    --davi-button-as: var(--davi-button-as-m, var(--davi-button-as));
    --davi-button-ad: var(--davi-button-ad-m, var(--davi-button-ad));
    --davi-button-ae: var(--davi-button-ae-m, var(--davi-button-ae));
  }

  .davi-slide__title {
    left: clamp(16px, var(--davi-title-x), 48px);
    top: clamp(74px, var(--davi-title-y), 136px);
    width: min(86vw, calc(100% - clamp(16px, var(--davi-title-x), 48px) - 16px));
    font-size: clamp(30px, 10.4vw, var(--davi-title-fs));
    line-height: 1.06;
  }

  .davi-slide__body {
    left: clamp(16px, var(--davi-body-x), 48px);
    top: clamp(206px, var(--davi-body-y), 286px);
    width: min(86vw, calc(100% - clamp(16px, var(--davi-body-x), 48px) - 16px));
    font-size: clamp(13px, 3.6vw, var(--davi-body-fs));
    line-height: 1.38;
  }

  .davi-slide__button {
    left: clamp(16px, var(--davi-button-x), 48px);
    top: clamp(300px, var(--davi-button-y), 362px);
    font-size: clamp(10px, 2.8vw, var(--davi-button-fs));
    line-height: 36px;
    padding-left: 20px;
    padding-right: 20px;
  }

  .davi-slider__arrow {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .davi-slide,
  .davi-slide__title,
  .davi-slide__body,
  .davi-slide__button,
  .davi-slider__progress-bar {
    transition: none !important;
  }
}
