body{
background-color: #b4dce4;
margin: 0;
height: 100vh;
}
.snowman{
width: 200px;
height: 315px;
position: absolute;
bottom: 10vh;
left: 50%;
transform: translateX(-50%);
z-index: 2;
}
.snowman__hat{
width: 75px;
height: 83px;
position: absolute;
top: 1px;
left: 54px;
z-index: 4;
}
.snowman__hat:before, .snowman__hat:after{
content: "";
border: 3px solid #000;
background-color: #b97a57;
border-radius: 50%;
position: absolute;
}
.snowman__hat:before{
width: 24px;
height: 16px;
background-color: #880015;
top: 0;
left: 20px;
z-index: 8;
transform: skewX(16deg);
}
.snowman__hat:after{
width: 63px;
height: 30px;
background-color: #b97a57;
left: 6px;
bottom: 0;
z-index: 4;
transform: skewX(-22deg);
}
.snowman__hat-item{
height: 67px;
width: 75px;
position: absolute;
overflow: hidden;
top: 8px;
left: 0;
}
.snowman__hat-item:before, .snowman__hat-item:after{
content: "";
position: absolute;
height: 0;
width: 0;
}
.snowman__hat-item:before{
border-bottom: 90px solid #b97a57;
border-left: 22px solid transparent;
border-right: 40px solid transparent;
left: 9px;
bottom: 13.5px;
z-index: 6;
transform: rotate(-2deg);
}
.snowman__hat-item:after{
border-bottom: 92px solid #000;
border-left: 26px solid transparent;
border-right: 42px solid transparent;
left: 5px;
bottom: 15px;
z-index: 5;
transform: rotate(-3deg);
}
.snowman__head{
width: 94px;
height: 94px;
border: 3px solid #000;
background-color: #99d9ea;
border-radius: 50%;
position: absolute;
top: 52px;
left: 48px;
z-index: 3;
}
.snowman__eye{
width: 13px;
height: 13px;
padding: 3px;
background-color: #000;
border-radius: 50%;
position: absolute;
}
.snowman__eye:before{
content: "";
display: block;
width: 11px;
height: 8px;
border-radius: 50%;
border-top: 3px solid #fff;
transform: rotate(-15deg);
}
.snowman__eye-left{
left: 27px;
top: 31px;
}
.snowman__eye-right{
top: 25px;
right: 8px;
}
.snowman__nose{
width: 18px;
height: 50px;
position: absolute;
top: 49.5px;
left: 47.8px;
z-index: 2;
transform-origin: left top;
transform: rotate(-60deg);
}
.snowman__nose:before{
content: "";
width: 12px;
height: 9px;
border: 2px solid #000;
background-color: #ff7f27;
border-radius: 50%;
position: absolute;
top: 3px;
left: 0;
z-index: 1;
}
.snowman__carrots{
position: relative;
z-index: 1;
}
.snowman__carrots:before, .snowman__carrots:after{
content: "";
position: absolute;
width: 0;
height: 0;
}
.snowman__carrots:before{
border-left: 10px solid transparent;
border-right: 6px solid transparent;
border-top: 37px solid #000;
top: 11px;
}
.snowman__carrots:after{
border-left: 8px solid transparent;
border-right: 4px solid transparent;
border-top: 34px solid #ff7f27;
left: 2px;
top: 10px;
}
.snowman__roth{
width: 32px;
height: 13px;
position: absolute;
bottom: 7px;
left: 38px;
border-radius: 0 0 25px 25px;
background-color: #ea1c23;
border: 3px solid #000;
transform: skewX(8deg);
}
.snowman__body{
width: 135px;
height: 115px;
position: absolute;
top: 115px;
left: 47%;
transform: translateX(-50%);
z-index: 2;
}
.snowman__body:before{
content: "";
width: 100%;
height: 100%;
background-color: #b9e6f0;
box-shadow: inset 0 0 14px 3px #8bd5e5;
border: 3px solid #000;
border-radius: 50%;
position: absolute;
top: 0;
left: 0;
z-index: 2;
}
.snowman__body:after{
content: "";
width: 60px;
height: 20px;
border-bottom: 3px solid #000;
border-radius: 50%;
position: absolute;
left: 20px;
bottom: 15px;
transform: rotate(28deg);
z-index: 3;
}
.snowman__oval:before, .snowman__oval:after{
content: "";
width: 65px;
height: 40px;
border: 3px solid #000;
border-radius: 50% 50%;
position: absolute;
}
.snowman__oval:before{
z-index: 2;
}
.snowman__hands:before, .snowman__hands:after{
background-color: #9ab1d1;
}
.snowman__hands:before{
top: 35px;
left: -25px;
transform: rotate(-27deg);
}
.snowman__hands:after{
top: 30px;
right: -41px;
transform: rotate(30deg);
}
.snowman__body2{
width: 200px;
height: 140px;
position: absolute;
bottom: 0;
left: 50%;
transform: translateX(-50%);
}
.snowman__sphere{
width: 160px;
height: 140px;
box-shadow: inset 0 0 20px 5px #7ec5d8;
background-color: #99d9ea;
border-radius: 50%;
border: 3px solid #000;
position: absolute;
left: 50%;
bottom: 0;
transform: translateX(-50%);
z-index: 1;
}
.snowman__sphere:before, .snowman__sphere:after{
content: "";
position: absolute;
border-bottom: 3px solid #000;
border-radius: 50%;
}
.snowman__sphere:before{
width: 70px;
height: 20px;
right: 15px;
bottom: 25px;
transform: rotate(-35deg);
}
.snowman__sphere:after{
width: 50px;
height: 10px;
right: 5px;
top: 55px;
transform: rotate(-65deg);
}
.snowman__feet:before, .snowman__feet:after{
background-color: #7092be;
}
.snowman__feet:before{
left: 0;
bottom: 1px;
transform: rotate(-18deg);
}
.snowman__feet:after{
right: 4px;
bottom: 1px;
transform: rotate(15deg);
}
.background{
width: 100%;
height: 30vh;
background-color: #fdfdff;
position: absolute;
bottom: 0;
left: 0;
}
.background:before, .background:after{
content: "";
width: 30vw;
height: 15vh;
border-radius: 50%;
background-color: #fdfdff;
position: absolute;
bottom: 20vh;
}
.background:before{
left: 10%;
}
.background:after{
right: 10%;
}
.snow{
width: 5px;
height: 5px;
border-radius: 50%;
background-color: #fefefe;
animation-name: snow;
animation-duration: 8000ms;
animation-iteration-count: infinite;
opacity: 0;
position: absolute;
top: 0;
transform: translateZ(0) translate(0, 0) scale(.2);
}
.snow1{
left: 10%;
transform: translate(1vh);
}
.snow2{
left: 20%;
transform: translate(1.5vh);
animation-delay: 200ms;
}
.snow3{
left: 30%;
transform: translate(2vh);
animation-delay: 520ms;
}
.snow4{
left: 40%;
transform: translate(2.5vh);
animation-delay: 999ms;
}
.snow5{
left: 50%;
transform: translate(3vh);
animation-delay: 150ms;
}
.snow6{
left: 60%;
transform: translate(3.5vh);
animation-delay: 400ms;
}
.snow7{
left: 70%;
transform: translate(4vh);
animation-delay: 1550ms;
}
.snow8{
left: 80%;
transform: translate(4.5vh);
animation-delay: 655ms;
}
.snow9{
left: 86%;
transform: translate(5vh);
animation-delay: 250ms;
}
.snow10{
left: 55%;
transform: translate(5.5vh);
animation-delay: 600ms;
}
.snow11{
left: 15%;
transform: translate(6vh);
animation-delay: 2000ms;
}
.snow12{
left: 25%;
transform: translate(6.5vh);
animation-delay: 2400ms;
}
.snow13{
left: 35%;
transform: translate(7vh);
animation-delay: 2999ms;
}
.snow14{
left: 45%;
transform: translate(7.5vh);
animation-delay: 1300ms;
}
.snow15{
left: 55%;
transform: translate(8vh);
animation-delay: 2150ms;
}
.snow16{
left: 65%;
transform: translate(8.5vh);
animation-delay: 2140ms;
}
.snow17{
left: 75%;
transform: translate(5.5vh);
animation-delay: 2600ms;
}
.snow18{
left: 84%;
transform: translate(5.5vh);
animation-delay: 2666ms;
}
.snow19{
left: 89%;
transform: translate(5.5vh);
animation-delay: 2200ms;
}
.snow20{
left: 10%;
transform: translate(5.5vh);
animation-delay: 2400ms;
}
.snow21{
left: 20%;
transform: translate(5.5vh);
animation-delay: 3200ms;
}
.snow22{
left: 30%;
transform: translate(5.5vh);
animation-delay: 3500ms;
}
.snow24{
left: 40%;
transform: translate(2.5vh);
animation-delay: 3999ms;
}
.snow25{
left: 50%;
transform: translate(3vh);
animation-delay: 3150ms;
}
.snow26{
left: 60%;
transform: translate(3.5vh);
animation-delay: 3400ms;
}
.snow27{
left: 70%;
transform: translate(4vh);
animation-delay: 4550ms;
}
.snow28{
left: 79%;
transform: translate(4.5vh);
animation-delay: 3655ms;
}
.snow29{
left: 86%;
transform: translate(5vh);
animation-delay: 3250ms;
}
.snow30{
left: 55%;
transform: translate(5.5vh);
animation-delay: 4600ms;
}
.snow31{
left: 15%;
transform: translate(6vh);
animation-delay: 6000ms;
}
.snow32{
left: 25%;
transform: translate(6.5vh);
animation-delay: 6400ms;
}
.snow33{
left: 35%;
transform: translate(7vh);
animation-delay: 6999ms;
}
.snow34{
left: 45%;
transform: translate(7.5vh);
animation-delay: 5300ms;
}
.snow35{
left: 55%;
transform: translate(8vh);
animation-delay: 6150ms;
}
.snow36{
left: 65%;
transform: translate(8.5vh);
animation-delay: 6140ms;
}
.snow37{
left: 75%;
transform: translate(5.5vh);
animation-delay: 6600ms;
}
.snow38{
left: 83%;
transform: translate(5.5vh);
animation-delay: 6666ms;
}
.snow39{
left: 89%;
transform: translate(5.5vh);
animation-delay: 6200ms;
}
@keyframes snow{
10%{
opacity: 1
}
80%{
transform: translate3d(0, 85vh, 0) scale(1.2);
}
}