:root {
    --duration: 250ms;

    --bg-color: #222;

    --skin-color: #f8c64b;
    --face-features-colors: #634300;
}

body,
html {
    height: 100%;
    overflow-x: hidden;
}

body {
    background-color: var(--bg-color);
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: Arial, Helvetica, sans-serif;
}

.emoji {
    background-color: lightgray;
    height: 75px;
    width: 75px;
    border-radius: 100%;
    position: relative;
    transition: background-color var(--duration);
    cursor: pointer;
    transform: scale(1);
}

.emoji:hover {
    background-color: var(--skin-color);
}

.emoji:hover .eye {
    background-color: var(--face-features-colors);
}

.emoji:hover .mouth-close {
    border: 1px solid var(--face-features-colors);
}

.emoji:hover .mouth-open {
    opacity: 1;
}

.eyes {
    height: 10px;
    width: 85%;
    position: absolute;
    top: 22%;
    display: flex;
    justify-content: space-around;
    left: 50%;
    transform: translateX(-50%);
}

.eye {
    background-color: gray;
    height: 100%;
    width: 10px;
    border-radius: 100%;
    transition: background-color var(--duration);
}

.mouth-close,
.mouth-open {
    position: absolute;
    bottom: 18%;
    height: 20.5px;
    width: 45px;
    border: 3px solid gray;
    left: 50%;
    transform: translateX(-50%);
    border-top: none;
    border-bottom-right-radius: 28.5px;
    border-bottom-left-radius: 28.5px;
    transition: border var(--duration);
}

.mouth-open {
    opacity: 0;
    background-color: var(--face-features-colors);
    border: 3px solid var(--face-features-colors);
    transition: opacity var(--duration);
    z-index: 1;
}
