.gas-gauge-spinner {
    position: relative;
    width: 35px;
    height: 35px;
    margin: 5px auto;
}

.gauge-container {
    position: relative;
    width: 100%;
    height: 100%;
}

.gauge-background {
    position: absolute;
    width: 100%;
    height: 100%;
    background: #fff;
    border-radius: 50%;
    border: 3px solid #000;
    box-sizing: border-box;
}

.gauge-arc {
    position: absolute;
    top: 2px;
    left: 2px;
    right: 2px;
    bottom: 2px;
    border-radius: 50%;
    border: 8px solid transparent;
    border-top-color: #e5e5e5;
    border-right-color: #e5e5e5;
    border-bottom-color: #fff;
    border-left-color: #384456;
    box-sizing: border-box;
}

.gauge-needle {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 2px;
    height: 12px;
    background: #000;
    transform-origin: bottom center;
    transform: translate(-50%, -100%) rotate(10deg);
    animation: needle-sweep 1.5s linear infinite;
    z-index: 10;
    border-radius: 2px;
}

.gauge-center {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 6px;
    height: 6px;
    background: #222;
    border: 0.apx solid #000;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    z-index: 15;
}

@keyframes needle-sweep {
    0% {
        transform: translate(-50%, -100%) rotate(230deg);
    }

    10% {
        transform: translate(-50%, -100%) rotate(350deg);
    }

    20% {
        transform: translate(-50%, -100%) rotate(400deg);
    }

    40% {
        transform: translate(-50%, -100%) rotate(360deg);
    }

    60% {
        transform: translate(-50%, -100%) rotate(400deg);
    }

    65% {
        transform: translate(-50%, -100%) rotate(420deg);
    }

    88% {
        transform: translate(-50%, -100%) rotate(440deg);
    }

    100% {
        transform: translate(-50%, -100%) rotate(230deg);
    }
}

.gas-gauge-spinner.small {
    width: 80px;
    height: 80px;
}

.gas-gauge-spinner.large {
    width: 160px;
    height: 160px;
}
