html,
body {
  height: 100%;
  min-height: 450px;
  font-family: "Dosis", sans-serif;
  font-weight: 500;
  color: #5d7399;
}

::selection {
  background: #e8f2f6;
}

.content {
  height: 100%;
  position: relative;
  z-index: 1;
  background-color: #d2e1ec;
  background-image: linear-gradient(to bottom, #bbcfe1 0%, #e8f2f6 80%);
  overflow: hidden;
}

.snow {
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
  z-index: 20;
}

.main-text {
  width: auto;
  padding: 15vh 20px 0 20px;
  text-align: center;
  backdrop-filter: blur(5px);
  z-index: 10;
  position: relative;
}

.main-text-inner {
  max-width: 1080px;
  margin: 0 auto;
}

.main-text h1 {
  font-family: 'Pacifico';
  color: #858dc9;
  font-size: 7vh;
  text-shadow: 4px 3px #ffffff;
  margin-bottom: 10px;
}

.main-text h2 {
  font-family: 'Pacifico';
  font-size: 4.5vh;
  color: #858dc9;
  margin-bottom: 60px;
  text-shadow: 3px 2px #ffffff;
}

.main-text strong {
  font-size: 24px;
  font-weight: 600;
}

.main-text p {
  font-size: 22px;
  line-height: 42px;
  padding-bottom: 20px;
}

.main-text a {
  color: #858dc9;
  text-decoration: none;
  border-bottom: 1px dotted #858dc9;
}

.home-link {
  font-size: 0.6em;
  font-weight: 400;
  color: inherit;
  text-decoration: none;
  opacity: 0.6;
  border-bottom: 1px dashed rgba(93, 115, 153, 0.5);
}
.home-link:hover {
  opacity: 1;
}

.ground {
  height: 160px;
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  background: #f6f9fa;
  box-shadow: 0 0 10px 10px #f6f9fa;
}
.ground:before, .ground:after {
  content: "";
  display: block;
  width: 250px;
  height: 250px;
  position: absolute;
  top: -62.5px;
  z-index: -1;
  background: transparent;
  transform: scaleX(0.2) rotate(45deg);
}
.ground:after {
  left: 50%;
  margin-left: -166.6666666667px;
  box-shadow: -280px 320px 15px #bac4d5, -610px 590px 15px #aab6cb, -900px 900px 15px #8e9eba, -1170px 1230px 15px #bac4d5, -1475px 1525px 15px #b4bed1, -1755px 1845px 15px #97a6c0, -2105px 2095px 15px #b4bed1, -2350px 2450px 15px #8496b4, -2670px 2730px 15px #8496b4, -3045px 2955px 15px #b7c1d3, -3300px 3300px 15px #91a1bc, -3630px 3570px 15px #b0bccf, -3945px 3855px 15px #adb9cd, -4215px 4185px 15px #8e9eba, -4520px 4480px 15px #adb9cd, -4810px 4790px 15px #7e90b0;
}
.ground:before {
  right: 50%;
  margin-right: -166.6666666667px;
  box-shadow: 350px -250px 15px #8496b4, 645px -555px 15px #a4b1c8, 860px -940px 15px #aab6cb, 1155px -1245px 15px #b7c1d3, 1490px -1510px 15px #97a6c0, 1760px -1840px 15px #8e9eba, 2105px -2095px 15px #a4b1c8, 2425px -2375px 15px #97a6c0, 2725px -2675px 15px #adb9cd, 3000px -3000px 15px #a4b1c8, 3275px -3325px 15px #b7c1d3, 3600px -3600px 15px #aab6cb, 3940px -3860px 15px #94a3be, 4180px -4220px 15px #97a6c0, 4505px -4495px 15px #8193b2, 4765px -4835px 15px #b4bed1;
}

.mound {
  margin-top: -80px;
  font-weight: 800;
  font-size: 180px;
  text-align: center;
  color: #989fd5;
  pointer-events: none;
}
.mound:before {
  content: "";
  display: block;
  width: 600px;
  height: 200px;
  position: absolute;
  left: 50%;
  margin-left: -300px;
  top: 50px;
  z-index: 1;
  border-radius: 100%;
  background-color: #e8f2f6;
  background-image: linear-gradient(to bottom, #dee8f1, #f6f9fa 60px);
}
.mound:after {
  content: "";
  display: block;
  width: 28px;
  height: 6px;
  position: absolute;
  left: 50%;
  margin-left: -150px;
  top: 68px;
  z-index: 2;
  background: #989fd5;
  border-radius: 100%;
  transform: rotate(-15deg);
  box-shadow: -56px 12px 0 1px #989fd5, -126px 6px 0 2px #989fd5, -196px 24px 0 3px #989fd5;
}

.mound_text {
  transform: rotate(6deg);
}

.mound_spade {
  display: block;
  width: 35px;
  height: 30px;
  position: absolute;
  right: 50%;
  top: 42%;
  margin-right: -250px;
  z-index: 0;
  transform: rotate(35deg);
  background: #989fd5;
}
.mound_spade:before, .mound_spade:after {
  content: "";
  display: block;
  position: absolute;
}
.mound_spade:before {
  width: 40%;
  height: 30px;
  bottom: 98%;
  left: 50%;
  margin-left: -20%;
  background: #989fd5;
}
.mound_spade:after {
  width: 100%;
  height: 30px;
  top: -55px;
  left: 0%;
  box-sizing: border-box;
  border: 10px solid #989fd5;
  border-radius: 4px 4px 20px 20px;
}

@media only screen and (max-width: 600px) {
  .content {
    overflow-y: auto !important;
  }

  .main-text {
    padding: 5vh 20px 0 20px !important;
  }

  .main-text p {
    font-size: 18px !important;
    line-height: 30px !important;
  }

  .ground {
    position: fixed !important;
  }
}