@font-face {
  font-family: AvenirHeavy;
  src: url(/templates/yootheme_acv/fonts/AvenirLTStd-Heavy.otf);
}
@font-face {
  font-family: Avenir;
  src: url(/templates/yootheme_acv/fonts/AvenirLTStd-Roman.otf);
}
@font-face {
  font-family: Hillstown;
  src: url(/templates/yootheme_acv/fonts/Hillstown-Sans.ttf);
}

/* GSAP HASIERA FONDOA */
.acv-network-section {
    position: relative !important;
    overflow: hidden !important;
    isolation: isolate;
}
.acv-network-section > .uk-container,
.acv-network-section .uk-grid,
.acv-network-section .uk-grid > div {
    position: static !important;
}
.acv-network-element {
    position: static !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    visibility: visible !important;
    opacity: 1 !important;
    animation: none !important;
    transition: none !important;
    transform: none !important;
}
.acv-network-element[uk-scrollspy-class],
.acv-network-element.uk-scrollspy-inview,
.acv-network-element.uk-animation-slide-right-medium,
.acv-network-element.uk-animation-slide-left-medium {
    visibility: visible !important;
    opacity: 1 !important;
    animation: none !important;
    transition: none !important;
    transform: none !important;
}
.acv-network-bg {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
    pointer-events: none !important;
    visibility: visible !important;
    opacity: 1 !important;
    z-index: 0 !important;
}
.network-line {
    stroke-dasharray: 2000;
    stroke-dashoffset: 2000;

    opacity: 1 !important;

    will-change: stroke-dashoffset;
}
.acv-network-bg svg {
    position: absolute !important;

    top: 50% !important;
    right: 0 !important;
    left: auto !important;

    width: auto !important;
    height: 100% !important;

    max-width: none !important;

    display: block !important;

    visibility: visible !important;
    opacity: 1 !important;

    transform: translateY(-50%) !important;
}
.acv-network-section .uk-grid > div:first-child {
    position: relative !important;
    z-index: 2 !important;
}
@media (max-width: 959px) {

    .acv-network-bg svg {
        top: 50% !important;

        right: -5% !important;
        left: auto !important;

        width: auto !important;
        height: 105% !important;

        max-width: none !important;

        transform: translateY(-50%) !important;
    }

}
@media (max-width: 639px) {

    .acv-network-bg svg {
        top: 50% !important;
        left: 50% !important;
        right: auto !important;

        width: auto !important;
        height: 150% !important;

        max-width: none !important;

        transform: translate(-66%, -66%) !important;
    }

}

/* GSAP FORMAK MISIOAK */
.acv-mission-shape {
    position: relative !important;
    visibility: visible !important;
    opacity: 1 !important;
    animation: none !important;
    transition: none !important;
    transform: none !important;
}

.acv-mission-shape[uk-scrollspy-class],
.acv-mission-shape.uk-scrollspy-inview,
.acv-mission-shape.uk-animation-slide-left-medium,
.acv-mission-shape.uk-animation-slide-right-medium,
.acv-mission-shape.uk-animation-slide-bottom {
    visibility: visible !important;
    opacity: 1 !important;
    animation: none !important;
    transition: none !important;
    transform: none !important;
}

.acv-mission-shape:not(.acv-mission-ready) img {
    visibility: hidden !important;
}

.acv-mission-svg {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    overflow: visible;
    visibility: hidden;
}

.acv-mission-ready .acv-mission-svg {
    visibility: visible;
}

.acv-mission-morph-source {
    visibility: hidden !important;
    opacity: 0 !important;
    fill: none !important;
    stroke: none !important;
    pointer-events: none !important;
}

/* FORMA TXURIA */
.acv-photo-lines-section {
    position: relative !important;
    overflow: hidden !important;
    isolation: isolate;
    min-height: clamp(340px, 22.1vw, 460px) !important;
}

/* Si la section usa imagen de fondo */
.acv-photo-lines-section.uk-background-cover,
.acv-photo-lines-section.uk-background-norepeat {
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
}

/* Si YOOtheme genera un div de background */
.acv-photo-lines-section > .uk-background-cover,
.acv-photo-lines-section > .uk-background-norepeat {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    background-size: cover !important;
    background-position: center center !important;
}

/* Si usa vídeo */
.acv-photo-lines-section > video,
.acv-photo-lines-section video[uk-cover] {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

/* Contenido de YOOtheme */
.acv-photo-lines-section > .uk-container,
.acv-photo-lines-section > .uk-position-relative,
.acv-photo-lines-section > .uk-panel {
    position: relative !important;
    z-index: 3 !important;
}

/* Overlay de líneas */
.acv-photo-lines-overlay {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 2 !important;
    pointer-events: none !important;
    overflow: hidden !important;
}

.acv-photo-lines-overlay svg {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    max-width: none !important;
    transform: translate(-50%, -50%) !important;
}

.photo-mask {
    will-change: stroke-dashoffset;
}

@media (max-width: 959px) {

    .acv-photo-lines-section {
        min-height: 360px !important;
    }

}

@media (max-width: 639px) {

    .acv-photo-lines-section {
        min-height: 300px !important;
    }

}

/* COLLAGE HOME */
.acv-collage-section {
    position: relative !important;
    overflow: hidden !important;
    isolation: isolate;
    background: #f0f2ee !important;
}

.acv-collage-host {
    position: relative !important;
    min-height: 660px !important;
    overflow: visible !important;
}

.acv-collage {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: min(78%, 640px) !important;
    aspect-ratio: 1 / 1;
    transform: translate(-50%, -50%);
    pointer-events: none;
}

.acv-collage-stage {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.acv-collage-svg {
    display: block;
    width: 100%;
    height: 100%;
    overflow: visible;
}

.acv-collage-image {
    pointer-events: none;
}

.acv-collage-separator {
    fill: none;
    stroke: #f0f2ee;
    stroke-width: 4.6;
    stroke-linecap: round;
    stroke-linejoin: round;
    vector-effect: non-scaling-stroke;
    pointer-events: none;
}

@media (max-width: 1199px) {

    .acv-collage-host {
        min-height: 600px !important;
    }

    .acv-collage {
        width: min(84%, 580px) !important;
    }

}

@media (max-width: 959px) {

    .acv-collage-host {
        min-height: 540px !important;
    }

    .acv-collage {
        width: min(88vw, 520px) !important;
    }

}

@media (max-width: 639px) {

    .acv-collage-host {
        min-height: 410px !important;
    }

    .acv-collage {
        width: min(88vw, 400px) !important;
    }

    .acv-collage-separator {
        stroke-width: 4;
    }

}