.gs-animate-section {
    position:relative;
    overflow-x: clip;
}

.gs-animate {
    opacity: 0;
    transition:
        transform 1s cubic-bezier(0.22, 1, 0.36, 1),
        opacity 0.7s ease;
    will-change: transform, opacity;

    transition-delay: var(--gs-delay, 0s);
}

.gs-animate.is-visible {
    opacity: 1;
    transform: translate(0, 0);
}

.gs-animate--left {
    transform: translateX(-10rem);
}

.gs-animate--right {
    transform: translateX(100%);
}

.gs-animate--right.is-visible {
    transform: translateX(25%) !important;
}

.gs-animate--up {
    transform: translateY(4rem);
}

.gs-animate--down {
    transform: translateY(-4rem);
}

.gs-animate--delay-1 {
    --gs-delay: 0.15s;
}

.gs-animate--delay-2 {
    --gs-delay: 0.3s;
}

.gs-animate--delay-3 {
    --gs-delay: 0.45s;
}

.gs-animate--delay-4 {
    --gs-delay: 0.6s;
}

.gs-checklist {
    display: grid;
    gap: 1rem;
    font-size:1.7rem;
}

.gs-checklist__item {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    padding-left: 2rem;
}

.gs-checklist__icon {
    flex: 0 0 auto;
    width: 2.4rem;
    height: 2.4rem;
}

.gs-checklist__icon svg {
    display: block;
    width: 100%;
    height: 100%;
    overflow: visible;
}

.gs-checklist__icon circle {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.5;
    opacity: 0.35;
}

.gs-checklist__icon path {
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;

    stroke-dasharray: 20;
    stroke-dashoffset: 20;

    transition: 
        stroke-dashoffset 0.45s ease calc(var(--gs-delay, 0s) + 0.7s);
}

.gs-checklist__item.is-visible .gs-checklist__icon path {
    stroke-dashoffset: 0;
}

.gs-authorized-columns {
    position:relative;
    z-index: 1;
}

.gs-authorized-animation {
    position:absolute;
    bottom:-3rem;
    right:0px;
    z-index:10;
}

@media (prefers-reduced-motion: reduce) {
    .gs-animate {
        opacity: 1;
        transform: none;
        transition: none;
    }
}