body {
  margin: 0;
  height: 100vh;
  width: 100vw;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Open Sans", "Lucida Sans Unicode", "Lucida Grande", sans-serif;
  font-size: 14px;
}
body .background {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  background: linear-gradient(to bottom, #f7da7f 0%, #f5ce51 100%);
  border-radius: 5px;
  box-shadow: 0 5px 15px 0 rgba(0, 0, 0, 0.25);
  width: 400px;
  height: 400px;
}
body .background .umbrellaWrapper {
  margin-top: -100px;
  margin-right: -50px;
  width: 100%;
  height: 100%;
  transform-style: preserve-3d;
  transform: rotateX(70deg) rotateY(-15deg);
}
body .background .umbrellaWrapper .shadowPole {
  position: absolute;
  width: 5px;
  height: 50px;
  top: 105px;
  left: 100px;
  background: #ab9038;
  transform-origin: 50% 0%;
  transform: translateZ(-150px) rotateZ(-90deg) rotateZ(-15deg);
  box-shadow: 0 0 2px 1px #ab9038;
  border-radius: 2px;
}
body .background .umbrellaWrapper .shadowUmbrella {
  position: absolute;
  width: 200px;
  height: 200px;
  top: 0;
  left: 0;
  border-radius: 50%;
  transform: translateZ(-150px) translateX(120px) translateY(-40px) scale(0.9);
  animation: shadowUmbrella 5s linear infinite;
}
body .background .umbrellaWrapper .shadowUmbrella .triangle {
  position: absolute;
  top: 100px;
  left: 77px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 25px 98px 25px;
  border-color: transparent transparent #ab9038 transparent;
  transform-origin: 50% 0;
  box-shadow: 0 0 4px 2px #ab9038;
}
body .background .umbrellaWrapper .shadowUmbrella .triangle-1 {
  transform: rotateZ(0deg) rotateX(-24deg) translateY(-1px);
}
body .background .umbrellaWrapper .shadowUmbrella .triangle-2 {
  transform: rotateZ(30deg) rotateX(-24deg) translateY(-1px);
}
body .background .umbrellaWrapper .shadowUmbrella .triangle-3 {
  transform: rotateZ(60deg) rotateX(-24deg) translateY(-1px);
}
body .background .umbrellaWrapper .shadowUmbrella .triangle-4 {
  transform: rotateZ(90deg) rotateX(-24deg) translateY(-1px);
}
body .background .umbrellaWrapper .shadowUmbrella .triangle-5 {
  transform: rotateZ(120deg) rotateX(-24deg) translateY(-1px);
}
body .background .umbrellaWrapper .shadowUmbrella .triangle-6 {
  transform: rotateZ(150deg) rotateX(-24deg) translateY(-1px);
}
body .background .umbrellaWrapper .shadowUmbrella .triangle-7 {
  transform: rotateZ(180deg) rotateX(-24deg) translateY(-1px);
}
body .background .umbrellaWrapper .shadowUmbrella .triangle-8 {
  transform: rotateZ(210deg) rotateX(-24deg) translateY(-1px);
}
body .background .umbrellaWrapper .shadowUmbrella .triangle-9 {
  transform: rotateZ(240deg) rotateX(-24deg) translateY(-1px);
}
body .background .umbrellaWrapper .shadowUmbrella .triangle-10 {
  transform: rotateZ(270deg) rotateX(-24deg) translateY(-1px);
}
body .background .umbrellaWrapper .shadowUmbrella .triangle-11 {
  transform: rotateZ(300deg) rotateX(-24deg) translateY(-1px);
}
body .background .umbrellaWrapper .shadowUmbrella .triangle-12 {
  transform: rotateZ(330deg) rotateX(-24deg) translateY(-1px);
}
body .background .umbrellaWrapper .pole {
  position: absolute;
  width: 5px;
  height: 150px;
  top: 100px;
  left: 100px;
  background: #888;
  transform-origin: 50% 0;
  transform: translateZ(-3px) rotateX(-90deg);
  border-radius: 2px;
  z-index: 1;
}
body .background .umbrellaWrapper .umbrella {
  position: relative;
  width: 200px;
  height: 200px;
  transform-style: preserve-3d;
  animation: umbrella 5s linear infinite;
  z-index: 2;
}
body .background .umbrellaWrapper .umbrella .triangle {
  position: absolute;
  top: 100px;
  left: 75px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 24px 100px 25px;
  border-color: transparent transparent #fff transparent;
  transform-origin: 50% 0;
  z-index: 2;
}
body .background .umbrellaWrapper .umbrella .triangle-1 {
  transform: rotateZ(0deg) rotateX(-24deg) translateY(-1px);
}
body .background .umbrellaWrapper .umbrella .triangle-2 {
  transform: rotateZ(30deg) rotateX(-24deg) translateY(-1px);
}
body .background .umbrellaWrapper .umbrella .triangle-3 {
  transform: rotateZ(60deg) rotateX(-24deg) translateY(-1px);
}
body .background .umbrellaWrapper .umbrella .triangle-4 {
  transform: rotateZ(90deg) rotateX(-24deg) translateY(-1px);
}
body .background .umbrellaWrapper .umbrella .triangle-5 {
  transform: rotateZ(120deg) rotateX(-24deg) translateY(-1px);
}
body .background .umbrellaWrapper .umbrella .triangle-6 {
  transform: rotateZ(150deg) rotateX(-24deg) translateY(-1px);
}
body .background .umbrellaWrapper .umbrella .triangle-7 {
  transform: rotateZ(180deg) rotateX(-24deg) translateY(-1px);
}
body .background .umbrellaWrapper .umbrella .triangle-8 {
  transform: rotateZ(210deg) rotateX(-24deg) translateY(-1px);
}
body .background .umbrellaWrapper .umbrella .triangle-9 {
  transform: rotateZ(240deg) rotateX(-24deg) translateY(-1px);
}
body .background .umbrellaWrapper .umbrella .triangle-10 {
  transform: rotateZ(270deg) rotateX(-24deg) translateY(-1px);
}
body .background .umbrellaWrapper .umbrella .triangle-11 {
  transform: rotateZ(300deg) rotateX(-24deg) translateY(-1px);
}
body .background .umbrellaWrapper .umbrella .triangle-12 {
  transform: rotateZ(330deg) rotateX(-24deg) translateY(-1px);
}
body .background .umbrellaWrapper .umbrella .triangle-1 {
  border-color: transparent transparent #d70606 transparent;
}
body .background .umbrellaWrapper .umbrella .triangle-3 {
  border-color: transparent transparent #d70606 transparent;
}
body .background .umbrellaWrapper .umbrella .triangle-5 {
  border-color: transparent transparent #d70606 transparent;
}
body .background .umbrellaWrapper .umbrella .triangle-7 {
  border-color: transparent transparent #d70606 transparent;
}
body .background .umbrellaWrapper .umbrella .triangle-9 {
  border-color: transparent transparent #d70606 transparent;
}
body .background .umbrellaWrapper .umbrella .triangle-11 {
  border-color: transparent transparent #d70606 transparent;
}

@keyframes shadowUmbrella {
  from {
    transform: translateZ(-150px) translateX(120px) translateY(-40px) scale(0.95) rotateZ(0deg);
  }
  to {
    transform: translateZ(-150px) translateX(120px) translateY(-40px) scale(0.95) rotateZ(360deg);
  }
}
@keyframes umbrella {
  from {
    transform: rotateZ(0deg);
  }
  to {
    transform: rotateZ(360deg);
  }
}
