button.btn-itsm {
    font-size: 1.45rem !important;
    line-height: 1.5rem !important;
    width: fit-content !important;
    padding: 0 !important;
    position: relative !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    white-space: nowrap;
}

button.btn-itsm div:first-child {
    border-radius: 100%;
    padding: 0.75rem;
    width: 3rem;
    height: 3rem;
}

button.btn-itsm div:last-child {
    margin: 0 1.5rem 0 1rem;
}

button.btn-itsm.moving {
    animation: moving 3s ease-out infinite;
}

button.btn-itsm.moving div:first-child {
    animation: rotation 3s ease-out infinite;
}

button.btn-itsm:hover div:first-child {
    animation: rotation-hover 0.15s ease-out infinite;
}

@keyframes moving {
    0% {
        left: 0;
    }

    1% {
        left: -0.33em;
    }

    2% {
        left: 0;
    }

    3% {
        left: 0.33rem;
    }

    4% {
        left: 0;
    }
}

@keyframes rotation {
    5% {
        rotate: 0deg;
    }

    6% {
        rotate: -33deg;
    }

    7% {
        rotate: 0deg;
    }

    8% {
        rotate: 33deg;
    }

    9% {
        rotate: 0deg;
    }
}

@keyframes rotation-hover {
    0% {
        rotate: 0deg;
    }

    25% {
        rotate: -11deg;
    }

    50% {
        rotate: 0deg;
    }

    75% {
        rotate: 11deg;
    }

    100% {
        rotate: 0deg;
    }
}