body {
    font-family: Arial, sans-serif;
    text-align: center;
    background-color: #f03f3f;
    margin: 0;
    padding: 0;
}

.title {
    font-family: 'Mountains of Christmas', cursive;
    font-size: 5em;
    color: #2f8a0b;
    margin-top: 20px;
}

.subtitle {
    font-size: 1.5em;
    color: #1f591e;
    margin-bottom: 20px;
}

.button {
    display: inline-block;
    padding: 10px 20px;
    margin: 100px;
    font-size: 1em;
    color: rgb(0, 0, 0);
    background: linear-gradient(45deg, #ff0000 25%, #ffffff 25%, #ffffff 50%, #ff0000 50%, #ff0000 75%, #ffffff 75%, #ffffff 100%);
    background-size: 56.57px 56.57px;
    border: 2px solid #194c03;
    border-radius: 5px;
    text-decoration: none;
    transition: all 0.3s ease;
}

.button:hover {
    animation: glow-shake 0.5s infinite alternate;
    box-shadow: 0 0 10px #fff, 0 0 20px #fff, 0 0 30px #ff0000, 0 0 40px #ff0000, 0 0 50px #ff0000, 0 0 60px #ff0000, 0 0 70px #ff0000;
}

@keyframes glow-shake {
    0% { transform: translateX(0); }
    25% { transform: translateX(-2px); }
    50% { transform: translateX(2px); }
    75% { transform: translateX(-2px); }
    100% { transform: translateX(0); }
}

.snowman {
    position: absolute;
    top: 70%;
    left: 50%;
    transform: translateX(-50%);
    margin: 50px auto;
    width: 100px;
    height: 180px;
}

.snowman .body {
    position: absolute;
    background-color: white;
    border-radius: 50%;
    border: 2px solid #555;
}

.snowman .body.bottom {
    width: 100px;
    height: 100px;
    bottom: 0;
}

.snowman .body.middle {
    width: 80px;
    height: 80px;
    bottom: 70px;
    left: 10px;
}

.snowman .body.top {
    width: 60px;
    height: 60px;
    bottom: 130px;
    left: 20px;
}

.snowman .eye {
    position: absolute;
    width: 10px;
    height: 10px;
    background-color: black;
    border-radius: 50%;
    top: 20px;
}

.snowman .eye.left {
    left: 15px;
}

.snowman .eye.right {
    right: 15px;
}

.snowman .nose {
    position: absolute;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 5px 30px;
    border-color: transparent transparent transparent orange;
    top: 30px;
    left: 30px;
}

.snowman .httop {
    position: absolute;
    width: 40px;
    height: 30px;
    left: 10px;
    top: -23px;
    border-radius: 150px 150px 0 0;
    background-color: black;
}

.snowman .htbottom {
    position: absolute;
    width: 60px;
    top: 2px;
    height: 5px;
    right: 0.1px;
    background-color: black;
}

.snowman .mouth {
    position: absolute;
    top: 75%;
    left: 38%;
    height: 10px;
    width: 20px;
    border-radius: 150px 150px 0 0;
    background-color: rgb(0, 0, 0);
    rotate: 170deg;
}

.snowman .buttons{
    position: relative;
    top: -42%;
}

.snowman .button1, .snowman .button2, .snowman .button3 {
    position: relative;
    width: 10px;
    height: 10px;
    background-color: rgb(0, 0, 0);
    border-radius: 50%;
    left: 45%;
    cursor: pointer;
}

.snowman .button1 {
    top: 60px;
}

.snowman .button2 {
    top: 70px;
}

.snowman .button3 {
    top: 80px;
}

.snowman .hand-left, .snowman .hand-right {
    position: relative;
    width: 60px;
    height: 5px;
    background-color: #8B4513;
    top: 20px;
    right: 1px;
}

.snowman .hand-left {
    position: absolute;
    right: 75px;
    transform: rotate(30deg);
}

.snowman .hand-right {
    position: absolute;
    left: 75px;
    transform: rotate(-30deg);
}

.snowman .hand-left .finger1, .snowman .hand-left .finger2, .snowman .hand-left .finger3,
.snowman .hand-right .finger1, .snowman .hand-right .finger2, .snowman .hand-right .finger3 {
    position: absolute;
    width: 30px;
    height: 3px;
    background-color: #8B4513;
}

.snowman .hand-left .finger1 {
    top: -5px;
    left: 1px;
    transform: rotate(30deg);
}

.snowman .hand-left .finger2 {
    top: 10px;
    left: 4px;
    transform: rotate(330deg);
}

.snowman .hand-right .finger1 {
    top: -5px;
    right: 10px;
    transform: rotate(-30deg);
}

.snowman .hand-right .finger2 {
    top: 10px;
    right: 4px;
    transform: rotate(-330deg);
}

.snowflake {
    position: absolute;
    top: -15px;
    width: 10px;
    z-index: 9999;
    height: 10px;
    color: #fff;
    font-size: 1em;
    font-family: Arial, sans-serif;
    text-shadow: 0 0 5px #000;
    opacity: 0.8;
    animation: snow var(--speed) linear infinite;
    animation-delay: var(--delay);
}

.snowflake .inner {
    animation: snowflakes-shake var(--speed) linear infinite;
    animation-delay: var(--delay);
}

.snowflake {
    left: calc(100% * var(--i) / 10 + var(--offset));
}

@keyframes snow {
    0% { transform: translateY(0); }
    100% { transform: translateY(110vh); }
}
@keyframes snowflakes-shake {
    0% { transform: translateX(0); }
    20% { transform: translateX(80px); }
    50% { transform: translateX(-80px); }
    80% { transform: translateX(40px); }
    100% { transform: translateX(0); }
}