
/* section-animation */
.section-animation {
    --offset-header: 6rem;
    --width-content: 42rem;
    --width-content-descr: 33.25rem;
    --offset-block: 6.5rem;

    --witdh-card-image: 78.375rem;
    --time-transition: 0.75s;
    --width-card: 18.875rem;

    --min-height-wrapper: 620px;

    position: relative;
}
.section-animation__bg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: auto;
    overflow: hidden;
    pointer-events: none;
}
.section-animation__bg svg,
.section-animation__bg img {
    display: block;
    width: 100%;
    height: auto;
}
.section-animation__bg img {
    object-fit: cover;
}

.section-animation__wrapper {
    z-index: 1;
    position: relative;
    max-width: var(--width-content);
    margin-left: var(--offset-block);
    min-height: var(--min-height-wrapper);
}
.section-animation__header {
    margin-bottom: var(--offset-header);
}
.section-animation__list {
    display: flex;
    flex-direction: column;
    gap: 3rem;
}
.section-animation__accordion {
    transition: var(--transition);
    display: grid;
    grid-template-rows: 1fr;
    cursor: pointer;
}
.section-animation__accordion-wrapper {
    transition: var(--transition);
    display: grid;
    grid-template-rows: 1fr;
}
.section-animation__accordion-content {
    overflow: hidden;
    transition: var(--transition);
    max-width: var(--width-content-descr);
}

/**/
.section-animation__accordion:not(._active) {
    opacity: 0.32;
}
.section-animation__accordion:not(._active) .section-animation__accordion-wrapper {
    grid-template-rows: 0fr;
    opacity: 0;
    pointer-events: none;
}
.section-animation__accordion._active .section-animation__accordion-content {
    padding-top: var(--offset-secondary);
}

/**/
.section-animation__slider,
.section-animation__canvas {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.section-animation__canvas-wrapper {
    width: 100%;
    display: flex;
    justify-content: end;
    position: relative;
}
.section-animation__canvas-wrapper canvas {
    max-width: var(--witdh-card-image);
}
.section-animation__canvas .button-dot {
    position: absolute;
    bottom: 50%;
    right: 0;
    z-index: 5;
    transition: all var(--time-transition);
}
.section-animation__canvas .button-dot._hidden {
    display: none;
}
.section-animation__tooltip {
    transition: var(--transition);
    position: absolute;
    top: 0 !important;
    right: 0;
    left: auto !important;
}

.section-animation__tooltip .card-tooltip {
    min-width: var(--width-card);
    z-index: 999;

    backdrop-filter: blur(0px);
    opacity: 0;
    will-change: backdrop-filter, opacity;
    transform: translateZ(0);
    transition: var(--transition);
}

.section-animation__tooltip:not(._active) {
    opacity: 1;
    top: 0 !important;
    left: auto !important;
    pointer-events: none;
}
.section-animation__tooltip._active .card-tooltip {
    backdrop-filter: blur(10px);
    opacity: 1;
}

.section-animation__canvas-btns {
    position: absolute;
    bottom: 0;
    right: 6.5rem;
}
@media screen and (min-width: 1900px) {
    .section-animation__canvas-wrapper canvas {
        margin-top: -2.5rem;
        margin-right: 7rem;
    }
    .section-animation__canvas-btns {
        --btn-width: 20rem;
        
        position: absolute;
        bottom: 2.5rem;
        right: 6.5rem;
    }
}
@media screen and (max-width: 1900px) {
    .section-animation {
        --offset-header: 6rem;
        --width-content: 35rem;
        --offset-block: 4rem;

        position: relative;
    }
    .section-animation__list {
        gap: 1rem;
    }
}
@media screen and (max-width: 1800px) {
    .section-animation {
        --witdh-card-image: 60%;
        --min-height-wrapper: 550px;
    }
}
@media screen and (max-width: 1439px) {
    .section-animation {
        --min-height-wrapper: 450px;
    }
}
@media screen and (max-width: 1279px) {
    .section-animation {
        --min-height-wrapper: 350px;
    }
}
@media screen and (max-width: 1023.5px) {
    .section-animation {
        display: none;
    }
}