/* Pac-Man: the arcade classic chomps a conveyor of dots that slide into its mouth. */
.loader_box .loader93 {
    position: relative;
    display: flex;
    align-items: center;
    width: 210px;
    height: 80px;
}

.loader_box .loader93-pac {
    position: relative;
    z-index: 2;
    width: 56px;
    height: 56px;
    flex: none;
}

.loader_box .loader93-jaw {
    position: absolute;
    left: 0;
    width: 56px;
    height: 28px;
    background: #A5CE3A;
}

.loader_box .loader93-upper {
    top: 0;
    border-radius: 56px 56px 0 0;
    background: linear-gradient(180deg, #A5CE3A, #41AD49);
    transform-origin: 50% 100%;
    animation: loader93-chomp-upper 0.5s ease-in-out infinite;
}

.loader_box .loader93-lower {
    top: 28px;
    border-radius: 0 0 56px 56px;
    background: linear-gradient(180deg, #41AD49, #A5CE3A);
    transform-origin: 50% 0;
    animation: loader93-chomp-lower 0.5s ease-in-out infinite;
}

.loader_box .loader93-eye {
    position: absolute;
    top: 11px;
    left: 30px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #000000;
}

.loader_box .loader93-dots {
    position: absolute;
    left: 72px;
    top: 34px;
    width: 140px;
    height: 12px;
    overflow: hidden;
}

.loader_box .loader93-dots span {
    position: absolute;
    top: 0;
    left: 128px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #036C91;
    animation: loader93-feed 2s linear infinite;
}

.loader_box .loader93-dots span:nth-child(1) { animation-delay: 0s; }
.loader_box .loader93-dots span:nth-child(2) { animation-delay: -0.5s; background: #4452A4; }
.loader_box .loader93-dots span:nth-child(3) { animation-delay: -1s; background: #49ABCB; }
.loader_box .loader93-dots span:nth-child(4) { animation-delay: -1.5s; background: #FF8F30; }

@keyframes loader93-chomp-upper {
    0%, 100% { transform: rotate(-32deg); }
    50% { transform: rotate(0deg); }
}

@keyframes loader93-chomp-lower {
    0%, 100% { transform: rotate(32deg); }
    50% { transform: rotate(0deg); }
}

@keyframes loader93-feed {
    0% { transform: translateX(0); opacity: 1; }
    88% { opacity: 1; }
    100% { transform: translateX(-136px); opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
    .loader_box .loader93-jaw,
    .loader_box .loader93-dots span { animation: none; }
    .loader_box .loader93-upper { transform: rotate(-32deg); }
    .loader_box .loader93-lower { transform: rotate(32deg); }
    .loader_box .loader93-dots span:nth-child(2) { left: 88px; }
    .loader_box .loader93-dots span:nth-child(3) { left: 48px; }
    .loader_box .loader93-dots span:nth-child(4) { left: 8px; }
}
