* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
/* 在线链接服务仅供平台体验和调试使用，平台不承诺服务的稳定性，企业客户需下载字体包自行发布使用并做好备份。 */
@font-face {
  font-family: 'iconfont';  /* Project id 4387895 */
  src: url('//at.alicdn.com/t/c/font_4387895_uco9ygizj1m.woff2?t=1703510795571') format('woff2'),
       url('//at.alicdn.com/t/c/font_4387895_uco9ygizj1m.woff?t=1703510795571') format('woff'),
       url('//at.alicdn.com/t/c/font_4387895_uco9ygizj1m.ttf?t=1703510795571') format('truetype');
}
li {
  list-style: none;
}

body {
  background-color: #020024;
}

.word {
  font-size: 28px;
  text-align: center;
  color:gold;
  padding-top: 50px;
  letter-spacing: 5px;
  font-family: 'Dancing Script', cursive;
  text-shadow: 2px 4px 9px rgba(255, 255, 255, 0.7);
}
.blessing {
  margin: 0 auto;
  color: gold;
  text-align: center;
  padding-top: 50px;
  letter-spacing: 3px;
  text-indent: 1em;
  width: 80%;
  font-weight: 400;
  font-family: 'Dancing Script', cursive;
  text-shadow: 2px 4px 9px rgba(255, 255, 255, 0.7);
  font-size: 24px;
}
.tree {
  width: 200px;
  height: 300px;
  margin: 80px auto 0 auto;
  position: relative;
}

.star {
  width: 50px;
  height: 50px;
  position: absolute;
  background-color: #fff;
  border-radius: 50%;
  top: -25px;
  z-index: 1000;
  left: 50%;
  transform: translateX(-50%);
  animation:starlight 0.4s linear infinite alternate;
}  
.star-in {
  position: absolute;
  left: 50%;
  top: 50%;
  border-right: 100px solid transparent;
  border-bottom: 70px solid gold;
  border-left: 100px solid transparent;
  transform: translateX(-50%) translateY(-50%) rotate(35deg) scale(0.14)
}
.star-in::before {
  border-bottom: 80px solid gold;
  border-left: 30px solid transparent;
  border-right: 30px solid transparent;
  position: absolute;
  top:-45px;
  left: -65px;
  content: '';
  transform: rotate(-35deg);
}
.star-in::after {
  border-bottom: 70px solid gold;
  border-left: 100px solid transparent;
  border-right: 100px solid transparent;
  position: absolute;
  top:-3px;
  left: -105px;
  content: '';
  transform: rotate(-70deg);
}
@keyframes starlight {
  0% {
    background: radial-gradient(ellipse at center, gold 0%,
    rgba(255, 240, 158, 0.5) 42%,
    rgba(255, 242, 173, 0.2) 58%,
    rgba(255, 255, 255, 0.1) 100%);
  }
  25% {
    background: radial-gradient(ellipse at center, gold 0%,
    rgba(255, 240, 158, 0.5) 40%,
    rgba(255, 242, 173, 0.2) 60%,
    rgba(255, 255, 255, 0.1) 100%
    );
  }
  50% {
    background: radial-gradient(ellipse at center, gold 0%,
    rgba(255, 240, 158, 0.5) 38%,
    rgba(255, 242, 173, 0.2) 62%,
    rgba(255, 255, 255, 0.1) 100%
    );
  }
  75% {
    background: radial-gradient(ellipse at center, gold 0%,
    rgba(255, 240, 158, 0.5) 36%,
    rgba(255, 242, 173, 0.2) 64%,
    rgba(255, 255, 255, 0.1) 100%
    );
  }
  100% {
    background: radial-gradient(ellipse at center, gold 0%,
    rgba(255, 240, 158, 0.5) 34%,
    rgba(255, 242, 173, 0.2) 66%,
    rgba(255, 255, 255, 0.1) 100%
    );
  }
}

.leaf {
  position: absolute;
  left: 50%;
  top: 3%;
  margin-left: -30px;
  background-color: rgb(14, 110, 14);
  width: 60px;
  height: 60px;
  border-radius: 0 10px 35px 10px;
  transform: rotate(45deg);
  box-shadow:2px 7px 2px rgba(43, 43, 43, 0.2);
}
.edge {
  position: absolute;
  left: 0;
  bottom: 0;
  background-color: rgb(14, 110, 14);
  width: 25px;
  height: 30px;
  border-radius: 0 10px 35px 10px;
  transform: translateY(50%) translateX(0);
}
.edge.right {
  position: absolute;
  left: unset;
  bottom: unset;
  top:0;
  right: 0;
  background-color: rgb(14, 110, 14);
  width: 25px;
  height: 30px;
  border-radius: 0 10px 35px 10px;
  transform: translateY(0) translateX(50%);
}
.leaf:nth-child(even) {
  background-color: #0f880f;
}
.leaf:nth-child(even) .edge{
  background-color: #0f880f;
}
.leaf:nth-child(1) {
  z-index: 100;
  transform: rotate(45deg) scale(0.8);
}
.leaf:nth-child(2) {
  z-index: 99;
  top: 15%;
  transform: rotate(45deg) scale(1.3);
}
.leaf:nth-child(3) {
  z-index: 98;
  top: 28%;
  transform: rotate(45deg) scale(1.6);
}
.leaf:nth-child(4) {
  z-index: 97;
  top: 41%;
  transform: rotate(45deg) scale(1.9);
}
.leaf:nth-child(5) {
  z-index: 96;
  top: 54%;
  transform: rotate(45deg) scale(2.2);
}
.trunk {
  width: 25px;
  height: 80px;
  border-radius: 0 0 3px 3px;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0px;
  z-index: 1;
  box-shadow: 0 0 10px 5px;
  background: linear-gradient(0deg,#6d411b 0%,#5a341d 64% );
}
.ball {
  width: 20px;
  height: 20px;
  background-color: #f00;
  box-shadow: -1px -1px 6px inset #600,1px 1px 8px inset #ffc9c9;
  border-radius: 50%;
  z-index: 101;
  position: absolute;
}
.b1 {
  left: 25%;
  top: 30%;
}
.b2 {
  left: 35%;
  top: 50%;
}
.b3 {
  left: 65%;
  top: 20%;
}
.b4 {
  left: 45%;
  top: 22%;
}
.b5 {
  left: 40%;
  top: 72%;
}
.b6 {
  left: 60%;
  top: 52%;
}
.b7 {
  left: 50%;
  top: 62%;
}
.b8 {
  left: 80%;
  top: 42%;
}
.b9 {
  left: 10%;
  top: 62%;
}
.b4,.b5,.b6{
  background-color: #ececec;
  box-shadow: -1px -1px 6px inset #615f5f,1px 1px 8px inset #fff;
}
.b7,.b8,.b9 {
  background-color: gold;
  box-shadow: -1px -1px 6px inset #3a3101,1px 1px 8px inset #fff;

}
.iconfont{
  font-family:"iconfont" !important;
  font-size:16px;font-style:normal;
  -webkit-font-smoothing: antialiased;
  -webkit-text-stroke-width: 0.2px;
  -moz-osx-font-smoothing: grayscale;
  color: #fff;
}

.sparkle span {
  display: block;
  position: absolute;
  font-size: 20px;
  z-index: 101;
  color: #fff;
  animation: lights 1.5s ease infinite alternate;
}

@keyframes lights {
  0%,100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.5);
  }
}
.sparkle span:nth-child(1) {
  left: 30%;
  top: 40%;
}
.sparkle span:nth-child(2) {
  left: 40%;
  top: 27%;
  font-size: 15px;
}
.sparkle span:nth-child(3) {
  left: 50%;
  top: 57%;
  font-size: 12px;
}
.sparkle span:nth-child(4) {
  left: 70%;
  top: 67%;
  font-size: 14px;
}
.sparkle span:nth-child(5) {
  left: 74%;
  top: 13%;
  font-size: 16px;
}
.blink div{
  width: 3px;
  height: 3px;
  background: #fff;
  z-index: 101;
  position: absolute;
  border-radius: 50%;
  animation: blink 1.5s ease infinite alternate;
}
@keyframes blink {
  0% {
    box-shadow: 0 0 0 0 #fff;
  }
  25% {
    box-shadow: 0 0 1px 1px #fff;
  }
  50% {
    box-shadow: 0 0 2px 2px #fff;
  }
  75% {
    box-shadow: 0 0 3px 3px #fff;
  }
  100% {
    box-shadow: 0 0 4px 4px #fff;
  }
}
.blink div:nth-child(2) {
  left: 34%;
  top: 13%;
  transform: scale(1.2);
}
.blink div:nth-child(3) {
  left: 54%;
  top: 43%;
  transform: scale(0.6);
}
.blink div:nth-child(4) {
  left: 64%;
  top: 33%;
  transform: scale(1.4);
}
.blink div:nth-child(5) {
  left: 34%;
  top: 63%;
  transform: scale(1.8);
}
.blink div:nth-child(6) {
  left: 14%;
  top: 76%;
  transform: scale(1.5);
}
.snow div{
  width: 4px;
  height: 4px;
  background: #fff;
  box-shadow: 0 0 4px 2px #fff;
  z-index: 90;
  position: absolute;
  border-radius: 50%;
  animation: snow 3s linear infinite  backwards;
}
.snow div:nth-child(1){
  margin-left: 2%;
  margin-top: -5%;
  animation: snow 3s 6s linear infinite backwards;
}
.snow div:nth-child(2){
  margin-left: 24%;
  margin-top: -24%;
  animation: snow 3s 2s linear infinite backwards;
}
.snow div:nth-child(3){
  margin-left: 36%;
  margin-top: -2%;
  animation: snow 4s 2s linear infinite backwards;
}
.snow div:nth-child(4){
  margin-left: 58%;
  margin-top: -6%;
  animation: snow 3s 1s linear infinite backwards;
}
.snow div:nth-child(5){
  margin-left: 68%;
  margin-top: -11%;
  animation: snow 3s 5s linear infinite backwards;
}
.snow div:nth-child(6){
  margin-left: 72%;
  margin-top: -19%;

}
.snow div:nth-child(7){
  margin-left: 81%;
  margin-top: -4%;

}
.snow div:nth-child(8){
  margin-left: 12%;
  margin-top: -12%;
  animation: snow 2s 4s linear infinite  backwards;
}
.snow div:nth-child(9){
  margin-left: 17%;
  margin-top: -5%;
  animation: snow 4s  linear infinite  backwards;
}
.snow div:nth-child(10){
  margin-left: 17%;
  margin-top: -1%;
  animation: snow 4s 1s linear infinite  backwards;
}
.snow div:nth-child(11){
  margin-left: 17%;
  margin-top: -2%;
  animation: snow 4s 1s linear infinite  backwards;
}
.music {
  position: absolute;
  opacity: 0.3;
  bottom: 0;
  right: 0;
}
@keyframes snow {
  0% {
    transform:translateY(0);
  }
  100% {
    transform: translateY(100vh);
  }
}

