.charbody__rotation-point{
    max-width: 10px;
    background-color: black;
    max-height: 10px;
    width: 10px;
    height: 10px;
    transform: translate(14.5rem, 25rem);
    z-index: -11;
    position: absolute;
    filter: drop-shadow(16px -1px 0px rgba(0, 0, 0, 0.5))   ;
    animation: charbodyIdleAnim 3s 3.5s ease-in-out infinite;
    animation-delay: 3.5s;
}

@keyframes charbodyIdleAnim{
    0%{
        transform: translate(14.5rem, 25rem);
    }
    50%{
        transform: translate(14.5rem, 25.3rem);
    }
    100%{
        transform: translate(14.5rem, 25rem);
    }
}

.charbody-kostilyamba{
    transform: rotateZ(0deg);
}

.charLeftLeg-kostilyamba{
    transform: rotateZ(0deg);
}

.charRightLeg-kostilyamba{
    transform: rotateZ(0deg);
}

.charRightHand-kostilyamba{
    transform: rotateZ(0deg);
}

.charshoulder-kostilyamba{
    transform: rotateZ(0deg);
}

.charbody{
    transform: rotateZ(1deg);
    animation: charBodyAnim 3s 0.5s ease-in-out, slightRotate 3s 3.5s ease-in-out infinite;
}

@keyframes slightRotate{
    0%{
        transform: rotateZ(1deg);
    }
    50%{
        transform: rotateZ(0.5deg);
    }
    100%{
        transform: rotateZ(1deg);
    }
}

@keyframes charBodyAnim{
    0%{
        transform: rotateZ(1deg);
    }
    15%{
        transform: rotateZ(-1deg);
    }
    30%{
        transform: rotateZ(1deg);
    }
    45%{
        transform: rotateZ(-1deg);
    }
    60%{
        transform: rotateZ(1deg);
    }
    75%{
        transform: rotateZ(-1deg);
    }
    100%{
        transform: rotateZ(1deg);
    }
}

.charbody__positioning-tool{
    transform: rotateZ(0deg);
}

.charbody__torso{
    z-index: 0;
    position: absolute;
    transform: translate(-5rem, -11rem);
    animation-play-state: paused;
}
/* ----- */

.charRightHand__rotation-point{
    max-width: 10px;
    background-color: transparent;
    max-height: 10px;
    width: 10px;
    height: 10px;
    transform: translate(-4.5rem, -6.5rem);
    z-index: 10;
    position: absolute;
}

.charRightHand{
    transform: rotateZ(2deg);
    animation: charRHandAnim 3s 0.5s ease-in-out, charRHandIdleAnim 3s 3.5s ease-in-out infinite;
}

@keyframes charRHandIdleAnim{
    0%{
        transform: rotateZ(2deg);
    }
    60%{
        transform: rotateZ(4deg);
    }
    100%{
        transform: rotateZ(2deg);
    }
}

@keyframes charRHandAnim{
    0%{
        transform: rotateZ(2deg);
    }
    15%{
        transform: rotateZ(-2deg);
    }
    30%{
        transform: rotateZ(2deg);
    }
    45%{
        transform: rotateZ(-2deg);
    }
    60%{
        transform: rotateZ(2deg);
    }
    75%{
        transform: rotateZ(-2deg);
    }
    100%{
        transform: rotateZ(2deg);
    }
}

.charRightHand__positioning-tool{
    transform: translate(-60px, 65px);
}

.charRightHand__img{
    z-index: 10;
    position: absolute;
    transform: translate(-3rem, -5rem);
}
/* ----- */

.charshoulder__rotation-point{
    max-width: 10px;
    background-color: transparent;
    max-height: 10px;
    width: 10px;
    height: 10px;
    transform: translate(3.25rem, -6.9rem);
    z-index: -12;
    position: absolute;
}

.charshoulder{
    transform: rotateZ(10deg);
    animation: charShoulderAnim 3s ease-in-out, charShoulderIdleAnim 3s 3.5s ease-in-out infinite;
    animation-delay: 0.5s;
}

@keyframes charShoulderIdleAnim{
    0%{
        transform: rotateZ(10deg);
    }
    60%{
        transform: rotateZ(5deg);
    }
    100%{
        transform: rotateZ(10deg);
    }
}

@keyframes charShoulderAnim {
    0%{
        transform: rotateZ(10deg);
    }
    15%{
        transform: rotateZ(-25deg);
    }
    30%{
        transform: rotateZ(-10deg);
    }
    45%{
        transform: rotateZ(-25deg);
    }
    60%{
        transform: rotateZ(-10deg);
    }
    75%{
        transform: rotateZ(-25deg);
    }
    100%{
        transform: rotateZ(10deg);
    }
}

.charshoulder__positioning-tool{
    transform: translate(-22px, 84px);
}

.charshoulder__img{
    z-index: 0;
    position: absolute;
    transform: translate(-3rem, -5rem);
}
/* ----- */

.charforearm__rotation-point{
    max-width: 10px;
    background-color: transparent;
    max-height: 10px;
    width: 10px;
    height: 10px;
    transform: translate(3.2rem, 7.7rem);
    z-index: -12;
    position: absolute;
}

.charforearm{
    transform: rotateZ(110deg);
    animation: charForearmAnim 3s ease-in-out;
    animation-delay: 0.5s;
}

@keyframes charForearmAnim{
    0%{
        transform: rotateZ(110deg);
    }
    15%{
        transform: rotateZ(-20deg);
    }
    30%{
        transform: rotateZ(20deg);
    }
    45%{
        transform: rotateZ(-20deg);
    }
    60%{
        transform: rotateZ(20deg);
    }
    75%{
        transform: rotateZ(-20deg);
    }
    100%{
        transform: rotateZ(110deg);
    }
}

.charforearm__positioning-tool{
    transform: translate(29px, -80px);
}

.charforearm__img{
    z-index: 0;
    position: absolute;
    transform: translate(-43px, -46px);
}
/* ----- */

.charHandIdle__rotation-point{
    max-width: 10px;
    background-color: transparent;
    max-height: 10px;
    width: 10px;
    height: 10px;
    transform: translate(54.2px, -107.3px);
    z-index: -12;
    position: absolute;
}

.charHandIdle{
    transform: rotateZ(253deg);
    opacity: 1; 
    animation: charHandIdleAnim 3s ease-in-out;
    animation-delay: 0.5s;
}

@keyframes charHandIdleAnim{
    0%{
        opacity: 1;
    }
    15%{
        opacity: 0;
    }
    30%{
        opacity: 0;
    }
    45%{
        opacity: 0;
    }
    60%{
        opacity: 0;
    }
    75%{
        opacity: 0;
    }
    100%{
        opacity: 1;
    }
}

.charHandIdle__positioning-tool{
    transform: translate(33px, 41px);
}

.charHandIdle__img{
    z-index: 0;
    position: absolute;
    transform: translate(-43px, -46px);
}
/* ----- */

.charHand-waving-toLeft__rotation-point{
    max-width: 10px;
    background-color: transparent;
    max-height: 10px;
    width: 10px;
    height: 10px;
    transform: translate(54.2px, -107.3px);
    z-index: -12;
    position: absolute;
}

.charHand-waving-toLeft{
    transform: rotateZ(355deg);
    opacity: 0; 
    animation: charHand-waving-toLeftAnim 3s ease-in-out;
    animation-delay: 0.5s;
}

@keyframes charHand-waving-toLeftAnim{
    0%{
        opacity: 0;
        transform: rotateZ(355deg);
    }
    15%{
        opacity: 1;
        transform: rotateZ(335deg);
    }
    30%{
        opacity: 0;
        transform: rotateZ(355deg);
    }
    45%{
        opacity: 1;
        transform: rotateZ(335deg);
    }
    60%{
        opacity: 0;
        transform: rotateZ(355deg);
    }
    75%{
        opacity: 1;
        transform: rotateZ(335deg);
    }
    100%{
        opacity: 0;
        transform: rotateZ(355deg);
    }
}

.charHand-waving-toLeft__positioning-tool{
    transform: translate(34px, -12px);
}

.charHand-waving-toLeft__img{
    z-index: 0;
    position: absolute;
    transform: translate(-43px, -42px);
}
/* ----- */

.charHand-waving-toRight__rotation-point{
    max-width: 10px;
    background-color: transparent;
    max-height: 10px;
    width: 10px;
    height: 10px;
    transform: translate(54.2px, -107.3px);
    z-index: -12;
    position: absolute;
}

.charHand-waving-toRight{
    transform: rotateZ(355deg);
    opacity: 0; 
    animation: charHand-waving-toRightAnim 3s ease-in-out;
    animation-delay: 0.5s;
}

@keyframes charHand-waving-toRightAnim{
    0%{
        opacity: 0;
    }
    15%{
        opacity: 0;
    }
    30%{
        opacity: 1;
    }
    45%{
        opacity: 0;
    }
    60%{
        opacity: 1;
    }
    75%{
        opacity: 0;
    }
    100%{
        opacity: 0;
    }
}

.charHand-waving-toRight__positioning-tool{
    transform: translate(44px, -2px);
}

.charHand-waving-toRight__img{
    z-index: 0;
    position: absolute;
    transform: translate(-46px, -46px);
}
/* ----- */

.charLeftLeg__rotation-point{
    max-width: 10px;
    background-color: transparent;
    max-height: 10px;
    width: 10px;
    height: 10px;
    transform: translate(1.2rem, 35.7rem);
    z-index: -12;
    position: absolute;
    animation: charLeftLeg__rotation-pointIdleAnim 3s 3.5s ease-in-out infinite;
}

@keyframes charLeftLeg__rotation-pointIdleAnim{
    0%{
       transform: translate(1.2rem, 35.7rem); 
    }
    50%{
       transform: translate(1.2rem, 35.4rem); 
    }
    100%{
       transform: translate(1.2rem, 35.7rem); 
    }
}

.charLeftLeg{
    transform: rotateZ(1deg);
    animation: charLLegAnim 3s 0.5s ease-in-out, charLLegIdleAnim 3s 3.5s ease-in-out infinite;
}

@keyframes charLLegIdleAnim{
    0%{
        transform: rotateZ(1deg);
    }
    50%{
        transform: rotateZ(1.5deg);
    }
    100%{
        transform: rotateZ(1deg);
    }
}

@keyframes charLLegAnim{
    0%{
        transform: rotateZ(1deg);
    }
    15%{
        transform: rotateZ(2deg);
    }
    30%{
        transform: rotateZ(1deg);
    }
    45%{
        transform: rotateZ(2deg);
    }
    60%{
        transform: rotateZ(1deg);
    }
    75%{
        transform: rotateZ(2deg);
    }
    100%{
        transform: rotateZ(1deg);
    }
}

.charLeftLeg__positioning-tool{
    transform: translate(28px, -305px);
}

.charLeftLeg__img{
    z-index: 0;
    position: absolute;
    transform: translate(-3rem, -5rem);
}
/* ----- */

.charRightLeg__rotation-point{
    max-width: 10px;
    background-color: transparent;
    max-height: 10px;
    width: 10px;
    height: 10px;
    transform: translate(-9.5rem, 35.8rem);
    z-index: -12;
    position: absolute;
    animation: charRightLeg__rotation-pointIdleAnim 3s 3.5s ease-in-out infinite;
}

@keyframes charRightLeg__rotation-pointIdleAnim{
    0%{
       transform: translate(-9.5rem, 35.8rem);
    }
    50%{
       transform: translate(-9.5rem, 35.5rem);
    }
    100%{
       transform: translate(-9.5rem, 35.8rem);
    }
}

.charRightLeg{
    transform: rotateZ(1deg);
    animation: charRLegAnim 3s 0.5s ease-in-out, charRLegIdleAnim 3s 3.5s ease-in-out infinite;
}

@keyframes charRLegIdleAnim{
    0%{
        transform: rotateZ(1deg);
    }
    50%{
        transform: rotateZ(1.5deg);
    }
    100%{
        transform: rotateZ(1deg);
    }
}

@keyframes charRLegAnim{
    0%{
        transform: rotateZ(1deg);
    }
    15%{
        transform: rotateZ(2deg);
    }
    30%{
        transform: rotateZ(1deg);
    }
    45%{
        transform: rotateZ(2deg);
    }
    60%{
        transform: rotateZ(1deg);
    }
    75%{
        transform: rotateZ(2deg);
    }
    100%{
        transform: rotateZ(1deg);
    }
}

.charRightLeg__positioning-tool{
    transform: translate(28px, -305px);
}

.charRightLeg__img{
    z-index: 0;
    position: absolute;
    transform: translate(-3rem, -5rem);
}