﻿.loading-cart {
    text-align: center;
    max-width: 20em;
    width: 100%;
}

    .loading-cart .cart {
        display: block;
        margin: 0 auto;
        width: 8em;
        height: 8em;
    }

.cart__lines,
.cart__top,
.cart__wheel1,
.cart__wheel2,
.cart__wheel-stroke {
    animation: cartLines 2s ease-in-out infinite;
}

.cart__lines {
    stroke: var(--color-black-500);
}

.cart__top {
    animation-name: cartTop;
}

.cart__wheel1 {
    animation-name: cartWheel1;
    transform: rotate(-0.25turn);
    transform-origin: 43px 111px;
}

.cart__wheel2 {
    animation-name: cartWheel2;
    transform: rotate(0.25turn);
    transform-origin: 102px 111px;
}

.cart__wheel-stroke {
    animation-name: cartWheelStroke
}

.cart__track {
    stroke: hsla(var(--hue),10%,10%,0.1);
    transition: stroke var(--trans-dur);
}

@keyframes msg {
    from {
        opacity: 1;
        visibility: visible;
    }

    99.9% {
        opacity: 0;
        visibility: visible;
    }

    to {
        opacity: 0;
        visibility: hidden;
    }
}

@keyframes cartLines {
    from, to {
        opacity: 0;
    }

    8%, 92% {
        opacity: 1;
    }
}

@keyframes cartTop {
    from {
        stroke-dashoffset: -338;
    }

    50% {
        stroke-dashoffset: 0;
    }

    to {
        stroke-dashoffset: 338;
    }
}

@keyframes cartWheel1 {
    from {
        transform: rotate(-0.25turn);
    }

    to {
        transform: rotate(2.75turn);
    }
}

@keyframes cartWheel2 {
    from {
        transform: rotate(0.25turn);
    }

    to {
        transform: rotate(3.25turn);
    }
}

@keyframes cartWheelStroke {
    from, to {
        stroke-dashoffset: 81.68;
    }

    50% {
        stroke-dashoffset: 40.84;
    }
}

@media (max-width:576px) {
    .loading-cart .cart {
        width: 5em;
        height: 5em;
    }
}
