/* Home Hero Logo Carousel */

/* Continuous Swiper Motion */
.hero-logo-carousel .swiper-wrapper {
  transition-timing-function: linear !important;
  -webkit-transition-timing-function: linear !important;
  line-height: 0;
}

/* Carousel Container */
.hero-logo-carousel {
  position: relative;
  overflow: hidden;
}

.hero-logo-carousel .elementor-image-carousel-wrapper{
  -webkit-mask-image: linear-gradient(to right,
    transparent 0%,
    #000 15%,
    #000 85%,
    transparent 100%);
  mask-image: linear-gradient(to right,
    transparent 0%,
    #000 15%,
    #000 85%,
    transparent 100%);

  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;

  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
}

/* Hero Shape Blur */

.shape-wrap {
  z-index: 0;
  pointer-events: none;
  filter: blur(25px);
  opacity: 0.6; /* optional, but helps blending */
}

/* Carousel Linear Animation */

.carousel .swiper-wrapper{
    -webkit-transition-timing-function: linear !important;
    transition-timing-function: linear !important;
    line-height: 0;
}

.blur-50{
  filter: blur(50px);
  transform: translateZ(0);
  will-change: filter, transform;
}

/* Stats Wrap Blur */

.stats-wrap {
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
}

/* Map Iframe */

/* Map Desktop styles */
body[data-elementor-device-mode="desktop"] .map-iframe-wrapper {
    height: 660px;
}

/* Map Mobile styles */
body[data-elementor-device-mode="mobile"] .map-iframe-wrapper {
    height: 480px;
}

.map-iframe-wrapper {
    position: relative;
    width: 100%;
    height: 640px;
    overflow: hidden;
    border-radius: 20px;
}

.map-iframe-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
    outline: none;
    box-shadow: none;
}

/* Global Icon Style */

/* Icon container */
.icon-style {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding: 0.5rem;
  background-color: #0065FF1A;
  border-radius: 0.375rem;

  box-sizing: border-box;
  width: auto;
  height: auto;

  flex-shrink: 0;
}

/* Force icon size */
.icon-style svg,
.icon-style i {
  width: 2rem;
  height: 2rem;

  min-width: 2rem;
  min-height: 2rem;

  display: block;
  line-height: 1;

  margin: 0;
  padding: 0;
}