.hwt-fan{
  --left-ratio: .8;       
  --band-ratio: .2;       
  --right-card: .08;      
  --stack-step-factor: .45; 
  --gap: 24;
  --card-h:20rem; 
}

.hwt-fan__card.is-stack .hwt-fan__icon,
.hwt-fan__card.is-stack .hwt-fan__title,
.hwt-fan__card.is-stack .hwt-fan__text{
  opacity: 0; visibility: hidden;
}
.hwt-fan__card.is-teaser__bigger {
  padding: 1.875em;
  padding-top: 3.125em;
}
.hwt-fan__title {
  font-size: 1.25em !Important;
  font-weight: bold !Important;
}

.hwt-fan,
.hwt-fan__viewport,
.hwt-fan__rail{ min-width: 0; }

.hwt-fan__viewport{
  position: relative;
  width: 100%;
  max-width: 100%;
  overflow: visible; 
}

.hwt-fan__rail{
  position: relative;
  width: 100%;
  max-width: 100%;
}

.hwt-fan__card{
  position: absolute;
  top: 0; left: 0;
  width: var(--card-w, 30em);
  height: var(--card-h);
  padding: 3.5em;
  padding-bottom: 1.875em;
  border-radius: 1.5em;
  padding-top: 3.125em;
  background: linear-gradient(135deg, rgba(99, 43, 153,0.8), rgba(101, 45, 158, 0.8));
  color: #fff;
  box-shadow: 3px 3px 20px rgba(31, 16, 46, 0.1);
  transition:
    transform .45s cubic-bezier(.22,.61,.36,1),
    opacity .3s ease,
    width .2s ease,
    box-shadow .3s ease;
  will-change: transform;
  overflow: hidden;
}
.hwt-fan__card.is-teaser {
  padding: 1.875em;
  padding-top: 3.125em;
}

.hwt-fan__card.is-teaser{ cursor: pointer; }

.hwt-fan__icon{  height:2.1875em; margin-bottom: 2.1875em; }
.hwt-fan__icon img{ width:auto; height:100%; object-fit:contain; }
.hwt-fan__title{ margin: 0 0 .5em; font-size: clamp(1.1em, 1.3vw, 1.5em); margin-bottom: 1.5625em; }
.hwt-fan__text{ margin: 0; color: #C7BDD1; }

.hwt-fan__card.is-teaser {
  z-index: 100;

}

.hwt-fan__card.is-stack .hwt-fan__icon,
.hwt-fan__card.is-stack .hwt-fan__title,
.hwt-fan__card.is-stack .hwt-fan__text{
  opacity: 0;
  visibility: hidden;
  transition: opacity .2s ease;
}

.hwt-fan__card.is-teaser::after{
  content:"";
  position:absolute; inset:0;
  pointer-events:none;
  background: radial-gradient(120% 120% at 100% 50%,
              rgba(255,255,255,.08), rgba(255,255,255,0) 60%);
  border-radius: inherit;
}

.hwt-fan__nav{
  position: static;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2.5em;
  margin-top: 1.125em;
  width: 100%;
}

.hwt-fan__arrow:hover {
  background-color: #765496;
}

.hwt-fan__arrow{
  width: 2.125em; height: 2.125em;
  border-radius: 62.4375em;
  border: none;
  background: none;
  color: #fff;
  font-size: 1.25em; line-height: 1;
  display: grid; place-items: center;
  cursor: pointer;
  transition: background .2s ease, transform .2s ease, border-color .2s ease;
}
.hwt-fan__arrow--prev img
{
  transform: scaleX(-1) translateX(2px);
}

.hwt-fan__dots{ display:flex; gap:0.625em; }
.hwt-fan__dot{
  width:0.25em; height:0.25em; border:none; border-radius:6249.9375em;
  background: rgba(255,255,255,.35); cursor:pointer;
  padding: 0;

  border:0.0625em solid #fff;
}
.hwt-fan__dot.is-active{  width: 0.875em; border-radius:0.125em;}

.elementor-widget-hwt-fan-cards,
.elementor-widget-hwt-fan-cards .elementor-widget-container,
.elementor-widget-hwt-fan-cards .hwt-fan{
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.elementor-widget-hwt-fan-cards .hwt-fan__viewport,
.elementor-widget-hwt-fan-cards .hwt-fan__rail{
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow: visible;
}

.hwt-fan--placeholder{
  width: 100%;
  min-height: var(--card-h, 20em);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5em;
  border-radius: 1.5em;

  
  background: #f3f4f6;
  border: 0.0625em dashed rgba(0,0,0,.2);
  color: #6b7280;
  text-align: center;
  box-sizing: border-box;
}
.hwt-fan--placeholder .hwt-fan__placeholder{
  display: grid;
  gap: .35em;
  place-items: center;
}
.hwt-fan--placeholder strong{
  color: #374151;
  font-weight: 600;
}

.hwt-fan__text {
  opacity: 1;
    transition: opacity 0.4s ease-in-out, transform 0.4s ease-in-out;
  will-change: opacity, transform;
}
.hwt-fan__card.is-teaser .hwt-fan__text{
  opacity: 0;
  width: 31.25em;
}
.hwt-fan__title  {
  padding-top: 0;
   transition:
    padding 0.2s ease-in-out;
  will-change: padding;
}
.is-teaser__bigger::after, .is-stack::after  {
  content: ' ';
  display: block;
  position: absolute;
  right: 0;
  top: 0;
  width: 60%;
  height: 100%;
  background: linear-gradient(to right,
  rgba(101, 45, 158, 0.0) 0%,
  rgba(99, 43, 153, 1) 80%,
  rgba(99, 43, 153, 1.0) 100%
);
  z-index: 1;
}

.is-teaser__bigger, .is-stack {
  background: linear-gradient(135deg, rgba(99, 43, 153, 1), rgba(101, 45, 158,1));
}

.is-teaser__bigger .hwt-fan__text, .is-teaser__bigger .hwt-fan__title, .is-teaser__bigger .hwt-fan__icon  {
  width: 31.25em;
}


.hwt-fan__card {
 
  height: var(--card-h);
}


  
.hwt-fan__rail {
  height: var(--card-h) !important;
}

.hwt-fan--placeholder {
  min-height: var(--card-h) !important;
}
@media (max-width: 767px) {
 body .hwt-fan__rail.is-mobile-three-elements {
  height: auto !important;
 }

}