/* @group reusable-action
------------------------------------ */


.reusable-action {
    position: relative;
}

.reusable-action .img-box {
    display: block;
    position: relative;
}

.reusable-action hr {
    padding: 0;
    margin: 0;
}
.reusable-action header {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}
.reusable-action .separator {
    width: 1px;
    display: block;
    background: var(--white);
    height: 100%;
}
.reusable-action h2 p {
    font: inherit;
}
.reusable-action h2 b,
.reusable-action h2 strong {
    font-family: var(--didot-font);
    font-weight: 700;
}
@media only screen and (min-width : 961px) {

    .reusable-action {
        padding-bottom: 3.9rem;
    }

    .reusable-action header .subtitle {
        padding-bottom: 3.5rem;
    }

    .reusable-action .img-box {
        left: 20rem;
        top: 20.1rem;
        margin-bottom: 24rem;
        margin-top: -0.5rem;
    }
    .reusable-action footer {
        margin-bottom: 10rem;
    }
    .reusable-action footer p {
        padding-block: 2.6rem 4rem;
    }

    
    
}

@media only screen and (min-width : 0) and (max-width : 960px) {
    
    .reusable-action {
        margin-bottom: 5rem;
    }

    .reusable-action header {
        max-width: 33.7rem;
    }
    .reusable-action header .subtitle {
        padding-bottom: 2rem;
    }

    .reusable-action .row {
        flex-wrap: nowrap;
    }
    .reusable-action .img-box {
        
        top: -2.5rem;
        margin-top: 14.9rem;
        margin-bottom: 4rem;
        width: 75.5vw;
    }

    .reusable-action .line-top {
        flex: 0;
        padding-right: 2rem;
    }

    .reusable-action .line-bot {
        position: absolute;
        bottom: 0;
    }

    .reusable-action :is(.line-top, .img-box) {
        padding-left: 13.7vw;
    }

    .reusable-action footer {
        margin-bottom: 10.6rem;
        padding: 0;
        width: 36.5rem;
        max-width: 70vw;
    }
    .reusable-action footer p {
        padding-block: 3rem 4.7rem;
    }
    
}

/* @end */

/* ANIMATIONS */
.reusable-action :is(header, .img-box, footer,hr, .separator ) {
    opacity: 0;
    --duration: 1s;
}

.reusable-action:where(.animateActive) :is(header, .img-box, footer, .separator, hr) {
    animation: fade var(--duration) forwards;
    animation-delay: var(--delay, 0);
}



.reusable-action:where(.animateActive) .img-box {
    --delay: 0.5s;
}

.reusable-action:where(.animateActive) footer {
    --delay: 1s;
}

.reusable-action:where(.animateActive) .separator {
    --delay: 1.25s;
}

.reusable-action:where(.animateActive) hr {
    --delay: 1.5s;
}