.elementor-3 .elementor-element.elementor-element-4faede2{--display:flex;--min-height:80vh;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--overflow:hidden;--overlay-opacity:0.5;--padding-top:100px;--padding-bottom:100px;--padding-left:50px;--padding-right:50px;}.elementor-3 .elementor-element.elementor-element-4faede2:not(.elementor-motion-effects-element-type-background), .elementor-3 .elementor-element.elementor-element-4faede2 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(0deg, var( --e-global-color-3ce1bc1 ) 0%, var( --e-global-color-15813f8 ) 100%);}.elementor-3 .elementor-element.elementor-element-4faede2::before, .elementor-3 .elementor-element.elementor-element-4faede2 > .elementor-background-video-container::before, .elementor-3 .elementor-element.elementor-element-4faede2 > .e-con-inner > .elementor-background-video-container::before, .elementor-3 .elementor-element.elementor-element-4faede2 > .elementor-background-slideshow::before, .elementor-3 .elementor-element.elementor-element-4faede2 > .e-con-inner > .elementor-background-slideshow::before, .elementor-3 .elementor-element.elementor-element-4faede2 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-image:url("https://virtafestivaali.fi/wp-content/uploads/2026/04/Virta-Taustakuva-scaled.jpg");--background-overlay:'';background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-3 .elementor-element.elementor-element-4faede2 > .elementor-shape-bottom .elementor-shape-fill, .elementor-3 .elementor-element.elementor-element-4faede2 > .e-con-inner > .elementor-shape-bottom .elementor-shape-fill{fill:var( --e-global-color-bfe04b6 );}.elementor-3 .elementor-element.elementor-element-4faede2 > .elementor-shape-bottom svg, .elementor-3 .elementor-element.elementor-element-4faede2 > .e-con-inner > .elementor-shape-bottom svg{width:calc(140% + 1.3px);height:75px;transform:translateX(-50%) rotateY(180deg);}.elementor-3 .elementor-element.elementor-element-dfd5438{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3 .elementor-element.elementor-element-1ac646e{--display:flex;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3 .elementor-element.elementor-element-dfd6754{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3 .elementor-element.elementor-element-6b43ee3{text-align:center;}.elementor-3 .elementor-element.elementor-element-6b43ee3 .elementor-heading-title{font-size:var( --e-global-typography-d179f7a-font-size );font-weight:var( --e-global-typography-d179f7a-font-weight );text-transform:var( --e-global-typography-d179f7a-text-transform );letter-spacing:var( --e-global-typography-d179f7a-letter-spacing );color:var( --e-global-color-cf008fb );}.elementor-3 .elementor-element.elementor-element-1775be1{--divider-border-style:curved;--divider-color:#FFFFFF;--divider-border-width:1px;--divider-pattern-height:10px;--divider-pattern-size:10px;}.elementor-3 .elementor-element.elementor-element-1775be1 .elementor-divider-separator{width:75px;margin:0 auto;margin-center:0;}.elementor-3 .elementor-element.elementor-element-1775be1 .elementor-divider{text-align:center;padding-block-start:5px;padding-block-end:5px;}.elementor-3 .elementor-element.elementor-element-dfce8a1{--display:flex;--overflow:hidden;--margin-top:010px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3 .elementor-element.elementor-element-2fdfb4a{text-align:center;}.elementor-3 .elementor-element.elementor-element-2fdfb4a .elementor-heading-title{color:var( --e-global-color-cf008fb );}.elementor-3 .elementor-element.elementor-element-8c29ed8{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--padding-top:100px;--padding-bottom:100px;--padding-left:50px;--padding-right:50px;}.elementor-3 .elementor-element.elementor-element-8c29ed8:not(.elementor-motion-effects-element-type-background), .elementor-3 .elementor-element.elementor-element-8c29ed8 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(180deg, var( --e-global-color-bfe04b6 ) 0%, var( --e-global-color-e90c53a ) 100%);}.elementor-3 .elementor-element.elementor-element-24bb55a{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3 .elementor-element.elementor-element-95e2320{text-align:start;font-size:var( --e-global-typography-b363022-font-size );font-weight:var( --e-global-typography-b363022-font-weight );line-height:var( --e-global-typography-b363022-line-height );}@media(max-width:1024px){.elementor-3 .elementor-element.elementor-element-6b43ee3 .elementor-heading-title{font-size:var( --e-global-typography-d179f7a-font-size );letter-spacing:var( --e-global-typography-d179f7a-letter-spacing );}.elementor-3 .elementor-element.elementor-element-8c29ed8{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-3 .elementor-element.elementor-element-95e2320{font-size:var( --e-global-typography-b363022-font-size );line-height:var( --e-global-typography-b363022-line-height );}}@media(min-width:768px){.elementor-3 .elementor-element.elementor-element-4faede2{--content-width:600px;}.elementor-3 .elementor-element.elementor-element-8c29ed8{--content-width:800px;}}@media(max-width:767px){.elementor-3 .elementor-element.elementor-element-4faede2{--padding-top:25px;--padding-bottom:25px;--padding-left:25px;--padding-right:25px;}.elementor-3 .elementor-element.elementor-element-6b43ee3 .elementor-heading-title{font-size:var( --e-global-typography-d179f7a-font-size );letter-spacing:var( --e-global-typography-d179f7a-letter-spacing );}.elementor-3 .elementor-element.elementor-element-8c29ed8{--padding-top:50px;--padding-bottom:50px;--padding-left:25px;--padding-right:25px;}.elementor-3 .elementor-element.elementor-element-95e2320{font-size:var( --e-global-typography-b363022-font-size );line-height:var( --e-global-typography-b363022-line-height );}}/* Start custom CSS for container, class: .elementor-element-4faede2 */.virta-hero {
  position: relative;
  overflow: hidden;
}

.virta-hero::before {
  content: '';
  position: absolute;
  inset: -20%;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse 70% 60% at 30% 40%, rgba(90,160,130,0.60) 0%, transparent 68%),
    radial-gradient(ellipse 55% 50% at 72% 62%, rgba(45,100,84,0.52) 0%, transparent 65%),
    radial-gradient(ellipse 42% 38% at 55% 22%, rgba(108,182,155,0.40) 0%, transparent 60%),
    radial-gradient(ellipse 60% 44% at 18% 72%, rgba(35,85,72,0.45) 0%, transparent 60%),
    radial-gradient(ellipse 38% 34% at 82% 30%, rgba(118,190,168,0.32) 0%, transparent 55%);
  animation: virta-drift 8s ease-in-out infinite;
}

.virta-hero::after {
  content: '';
  position: absolute;
  inset: -20%;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse 60% 50% at 60% 50%, rgba(70,150,120,0.45) 0%, transparent 65%),
    radial-gradient(ellipse 45% 55% at 25% 30%, rgba(100,175,148,0.38) 0%, transparent 60%);
  animation: virta-drift2 11s ease-in-out infinite;
}

.virta-hero > .e-con-inner {
  position: relative;
  z-index: 1;
}

@keyframes virta-drift {
  0%,100% { transform: translate(0, 0) scale(1); }
  25%     { transform: translate(80px, -60px) scale(1.08); }
  50%     { transform: translate(-60px, 80px) scale(0.94); }
  75%     { transform: translate(50px, 50px) scale(1.05); }
}

@keyframes virta-drift2 {
  0%,100% { transform: translate(0, 0) scale(1); }
  30%     { transform: translate(-80px, 60px) scale(1.06); }
  60%     { transform: translate(70px, -50px) scale(0.95); }
}/* End custom CSS */