body {
  margin: 0;
  font-size: 20px;
}

* {
  box-sizing: border-box;
}

.container {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100vh;
  background: white;
  color: black;
  font-family: arial, sans-serif;
  overflow: hidden;
}

.content {
  position: relative;
  width: 600px;
  max-width: 100%;
  margin: 20px;
  background: white;
  padding: 60px 40px;
  text-align: center;
  box-shadow: -10px 10px 67px -12px rgba(0, 0, 0, 0.2);
  opacity: 0;
  animation: apparition 0.8s 1.2s cubic-bezier(0.39, 0.575, 0.28, 0.995) forwards;
}
.content p {
  font-size: 1.3rem;
  margin-top: 0;
  margin-bottom: 0.6rem;
  letter-spacing: 0.1rem;
  color: #595959;
}
.content p:last-child {
  margin-bottom: 0;
}
.content button {
  display: inline-block;
  margin-top: 2rem;
  padding: 0.5rem 1rem;
  border: 3px solid #595959;
  background: transparent;
  font-size: 1rem;
  color: #595959;
  text-decoration: none;
  cursor: pointer;
  font-weight: bold;
}

.particle {
  position: absolute;
  display: block;
  pointer-events: none;
}
.particle:nth-child(1) {
  top: 69.099756691%;
  left: 68.4931506849%;
  font-size: 22px;
  filter: blur(0.02px);
  animation: 32s floatReverse infinite;
}
.particle:nth-child(2) {
  top: 64.578313253%;
  left: 19.4174757282%;
  font-size: 30px;
  filter: blur(0.04px);
  animation: 29s float infinite;
}
.particle:nth-child(3) {
  top: 37.2549019608%;
  left: 34.4488188976%;
  font-size: 16px;
  filter: blur(0.06px);
  animation: 36s float infinite;
}
.particle:nth-child(4) {
  top: 82.0265379976%;
  left: 35.9572400389%;
  font-size: 29px;
  filter: blur(0.08px);
  animation: 38s floatReverse2 infinite;
}
.particle:nth-child(5) {
  top: 43.3497536946%;
  left: 82.0158102767%;
  font-size: 12px;
  filter: blur(0.1px);
  animation: 25s float infinite;
}
.particle:nth-child(6) {
  top: 56.1743341404%;
  left: 89.6686159844%;
  font-size: 26px;
  filter: blur(0.12px);
  animation: 28s floatReverse2 infinite;
}
.particle:nth-child(7) {
  top: 40.39408867%;
  left: 82.0158102767%;
  font-size: 12px;
  filter: blur(0.14px);
  animation: 37s float infinite;
}
.particle:nth-child(8) {
  top: 42.5634824667%;
  left: 52.5803310613%;
  font-size: 27px;
  filter: blur(0.16px);
  animation: 30s float2 infinite;
}
.particle:nth-child(9) {
  top: 65.7668711656%;
  left: 30.5418719212%;
  font-size: 15px;
  filter: blur(0.18px);
  animation: 34s floatReverse2 infinite;
}
.particle:nth-child(10) {
  top: 44.1176470588%;
  left: 21.6535433071%;
  font-size: 16px;
  filter: blur(0.2px);
  animation: 34s float infinite;
}
.particle:nth-child(11) {
  top: 70.6748466258%;
  left: 44.3349753695%;
  font-size: 15px;
  filter: blur(0.22px);
  animation: 34s floatReverse2 infinite;
}
.particle:nth-child(12) {
  top: 28.2926829268%;
  left: 29.4117647059%;
  font-size: 20px;
  filter: blur(0.24px);
  animation: 27s floatReverse2 infinite;
}
.particle:nth-child(13) {
  top: 23.2445520581%;
  left: 12.6705653021%;
  font-size: 26px;
  filter: blur(0.26px);
  animation: 40s floatReverse2 infinite;
}
.particle:nth-child(14) {
  top: 55.0724637681%;
  left: 89.4941634241%;
  font-size: 28px;
  filter: blur(0.28px);
  animation: 23s float infinite;
}
.particle:nth-child(15) {
  top: 21.4634146341%;
  left: 0.9803921569%;
  font-size: 20px;
  filter: blur(0.3px);
  animation: 25s float infinite;
}
.particle:nth-child(16) {
  top: 32.8899637243%;
  left: 77.8967867575%;
  font-size: 27px;
  filter: blur(0.32px);
  animation: 37s float2 infinite;
}
.particle:nth-child(17) {
  top: 28.431372549%;
  left: 50.1968503937%;
  font-size: 16px;
  filter: blur(0.34px);
  animation: 29s float2 infinite;
}
.particle:nth-child(18) {
  top: 40.344403444%;
  left: 32.5765054294%;
  font-size: 13px;
  filter: blur(0.36px);
  animation: 38s floatReverse2 infinite;
}
.particle:nth-child(19) {
  top: 2.9339853301%;
  left: 62.8683693517%;
  font-size: 18px;
  filter: blur(0.38px);
  animation: 38s float2 infinite;
}
.particle:nth-child(20) {
  top: 21.3075060533%;
  left: 60.4288499025%;
  font-size: 26px;
  filter: blur(0.4px);
  animation: 24s float infinite;
}
.particle:nth-child(21) {
  top: 34.1463414634%;
  left: 18.6274509804%;
  font-size: 20px;
  filter: blur(0.42px);
  animation: 38s floatReverse infinite;
}
.particle:nth-child(22) {
  top: 92.7250308261%;
  left: 51.434223541%;
  font-size: 11px;
  filter: blur(0.44px);
  animation: 28s floatReverse infinite;
}
.particle:nth-child(23) {
  top: 66.9902912621%;
  left: 58.59375%;
  font-size: 24px;
  filter: blur(0.46px);
  animation: 30s floatReverse infinite;
}
.particle:nth-child(24) {
  top: 77.1084337349%;
  left: 5.8252427184%;
  font-size: 30px;
  filter: blur(0.48px);
  animation: 37s float2 infinite;
}
.particle:nth-child(25) {
  top: 80.8877928483%;
  left: 94.9554896142%;
  font-size: 11px;
  filter: blur(0.5px);
  animation: 39s floatReverse infinite;
}
.particle:nth-child(26) {
  top: 9.8643649815%;
  left: 49.4559841741%;
  font-size: 11px;
  filter: blur(0.52px);
  animation: 33s floatReverse infinite;
}
.particle:nth-child(27) {
  top: 39.457459926%;
  left: 67.2601384768%;
  font-size: 11px;
  filter: blur(0.54px);
  animation: 21s float infinite;
}
.particle:nth-child(28) {
  top: 23.2164449819%;
  left: 77.8967867575%;
  font-size: 27px;
  filter: blur(0.56px);
  animation: 40s floatReverse infinite;
}
.particle:nth-child(29) {
  top: 67.1532846715%;
  left: 30.3326810176%;
  font-size: 22px;
  filter: blur(0.58px);
  animation: 31s floatReverse2 infinite;
}
.particle:nth-child(30) {
  top: 36.6706875754%;
  left: 64.139941691%;
  font-size: 29px;
  filter: blur(0.6px);
  animation: 28s float infinite;
}
.particle:nth-child(31) {
  top: 25.6157635468%;
  left: 96.837944664%;
  font-size: 12px;
  filter: blur(0.62px);
  animation: 38s floatReverse infinite;
}
.particle:nth-child(32) {
  top: 34.5252774353%;
  left: 97.9228486647%;
  font-size: 11px;
  filter: blur(0.64px);
  animation: 35s floatReverse2 infinite;
}
.particle:nth-child(33) {
  top: 40.8262454435%;
  left: 46.9208211144%;
  font-size: 23px;
  filter: blur(0.66px);
  animation: 37s float infinite;
}
.particle:nth-child(34) {
  top: 48.6618004866%;
  left: 51.8590998043%;
  font-size: 22px;
  filter: blur(0.68px);
  animation: 27s float2 infinite;
}
.particle:nth-child(35) {
  top: 80.4848484848%;
  left: 5.8536585366%;
  font-size: 25px;
  filter: blur(0.7px);
  animation: 23s floatReverse2 infinite;
}
.particle:nth-child(36) {
  top: 1.9417475728%;
  left: 40.0390625%;
  font-size: 24px;
  filter: blur(0.72px);
  animation: 35s floatReverse infinite;
}
.particle:nth-child(37) {
  top: 62.9766297663%;
  left: 9.8716683119%;
  font-size: 13px;
  filter: blur(0.74px);
  animation: 36s float infinite;
}
.particle:nth-child(38) {
  top: 44.8780487805%;
  left: 54.9019607843%;
  font-size: 20px;
  filter: blur(0.76px);
  animation: 40s floatReverse infinite;
}
.particle:nth-child(39) {
  top: 92.8657799274%;
  left: 82.7653359299%;
  font-size: 27px;
  filter: blur(0.78px);
  animation: 39s float2 infinite;
}
.particle:nth-child(40) {
  top: 27.1844660194%;
  left: 74.21875%;
  font-size: 24px;
  filter: blur(0.8px);
  animation: 36s float2 infinite;
}
.particle:nth-child(41) {
  top: 17.6687116564%;
  left: 2.9556650246%;
  font-size: 15px;
  filter: blur(0.82px);
  animation: 24s floatReverse2 infinite;
}
.particle:nth-child(42) {
  top: 84.8780487805%;
  left: 11.7647058824%;
  font-size: 20px;
  filter: blur(0.84px);
  animation: 39s floatReverse infinite;
}
.particle:nth-child(43) {
  top: 59.0799031477%;
  left: 16.5692007797%;
  font-size: 26px;
  filter: blur(0.86px);
  animation: 26s floatReverse infinite;
}
.particle:nth-child(44) {
  top: 45.0980392157%;
  left: 36.4173228346%;
  font-size: 16px;
  filter: blur(0.88px);
  animation: 40s float2 infinite;
}
.particle:nth-child(45) {
  top: 98.4009840098%;
  left: 65.1530108588%;
  font-size: 13px;
  filter: blur(0.9px);
  animation: 32s floatReverse infinite;
}
.particle:nth-child(46) {
  top: 38.6473429952%;
  left: 51.5564202335%;
  font-size: 28px;
  filter: blur(0.92px);
  animation: 31s floatReverse infinite;
}
.particle:nth-child(47) {
  top: 40.097799511%;
  left: 87.4263261297%;
  font-size: 18px;
  filter: blur(0.94px);
  animation: 31s floatReverse2 infinite;
}
.particle:nth-child(48) {
  top: 73.5187424426%;
  left: 2.9211295034%;
  font-size: 27px;
  filter: blur(0.96px);
  animation: 26s floatReverse2 infinite;
}
.particle:nth-child(49) {
  top: 43.7424058323%;
  left: 33.2355816227%;
  font-size: 23px;
  filter: blur(0.98px);
  animation: 26s float infinite;
}
.particle:nth-child(50) {
  top: 79.2270531401%;
  left: 54.4747081712%;
  font-size: 28px;
  filter: blur(1px);
  animation: 38s floatReverse2 infinite;
}
.particle:nth-child(51) {
  top: 84.6715328467%;
  left: 87.084148728%;
  font-size: 22px;
  filter: blur(1.02px);
  animation: 21s floatReverse infinite;
}
.particle:nth-child(52) {
  top: 75.6756756757%;
  left: 98.6193293886%;
  font-size: 14px;
  filter: blur(1.04px);
  animation: 27s floatReverse infinite;
}
.particle:nth-child(53) {
  top: 26.6009852217%;
  left: 16.7984189723%;
  font-size: 12px;
  filter: blur(1.06px);
  animation: 30s floatReverse infinite;
}
.particle:nth-child(54) {
  top: 22.4116930572%;
  left: 87.1694417238%;
  font-size: 21px;
  filter: blur(1.08px);
  animation: 32s float2 infinite;
}
.particle:nth-child(55) {
  top: 73.3413751508%;
  left: 62.1963070943%;
  font-size: 29px;
  filter: blur(1.1px);
  animation: 40s floatReverse2 infinite;
}
.particle:nth-child(56) {
  top: 44.4981862152%;
  left: 68.1596884129%;
  font-size: 27px;
  filter: blur(1.12px);
  animation: 26s float2 infinite;
}
.particle:nth-child(57) {
  top: 95.3771289538%;
  left: 63.6007827789%;
  font-size: 22px;
  filter: blur(1.14px);
  animation: 32s floatReverse2 infinite;
}
.particle:nth-child(58) {
  top: 69.7788697789%;
  left: 83.8264299803%;
  font-size: 14px;
  filter: blur(1.16px);
  animation: 21s floatReverse2 infinite;
}
.particle:nth-child(59) {
  top: 67.8966789668%;
  left: 24.6791707799%;
  font-size: 13px;
  filter: blur(1.18px);
  animation: 36s floatReverse2 infinite;
}
.particle:nth-child(60) {
  top: 59.0084643289%;
  left: 81.7916260954%;
  font-size: 27px;
  filter: blur(1.2px);
  animation: 27s floatReverse infinite;
}
.particle:nth-child(61) {
  top: 5.7971014493%;
  left: 18.4824902724%;
  font-size: 28px;
  filter: blur(1.22px);
  animation: 29s floatReverse2 infinite;
}
.particle:nth-child(62) {
  top: 69.6493349456%;
  left: 0.9737098345%;
  font-size: 27px;
  filter: blur(1.24px);
  animation: 33s float infinite;
}
.particle:nth-child(63) {
  top: 42.2085889571%;
  left: 91.6256157635%;
  font-size: 15px;
  filter: blur(1.26px);
  animation: 27s float infinite;
}
.particle:nth-child(64) {
  top: 2.8985507246%;
  left: 85.6031128405%;
  font-size: 28px;
  filter: blur(1.28px);
  animation: 31s floatReverse2 infinite;
}
.particle:nth-child(65) {
  top: 22.2222222222%;
  left: 66.1478599222%;
  font-size: 28px;
  filter: blur(1.3px);
  animation: 37s float infinite;
}
.particle:nth-child(66) {
  top: 95.6843403206%;
  left: 77.1513353116%;
  font-size: 11px;
  filter: blur(1.32px);
  animation: 35s float infinite;
}
.particle:nth-child(67) {
  top: 62.7261761158%;
  left: 34.0136054422%;
  font-size: 29px;
  filter: blur(1.34px);
  animation: 32s float infinite;
}
.particle:nth-child(68) {
  top: 84.2615012107%;
  left: 63.3528265107%;
  font-size: 26px;
  filter: blur(1.36px);
  animation: 27s floatReverse infinite;
}
.particle:nth-child(69) {
  top: 1.9300361882%;
  left: 81.6326530612%;
  font-size: 29px;
  filter: blur(1.38px);
  animation: 24s floatReverse2 infinite;
}
.particle:nth-child(70) {
  top: 25.458996328%;
  left: 35.3982300885%;
  font-size: 17px;
  filter: blur(1.4px);
  animation: 37s float infinite;
}
.particle:nth-child(71) {
  top: 25.3658536585%;
  left: 37.2549019608%;
  font-size: 20px;
  filter: blur(1.42px);
  animation: 38s floatReverse infinite;
}
.particle:nth-child(72) {
  top: 16.6259168704%;
  left: 31.4341846758%;
  font-size: 18px;
  filter: blur(1.44px);
  animation: 22s float2 infinite;
}
.particle:nth-child(73) {
  top: 9.7087378641%;
  left: 81.0546875%;
  font-size: 24px;
  filter: blur(1.46px);
  animation: 34s floatReverse infinite;
}
.particle:nth-child(74) {
  top: 36.8484848485%;
  left: 51.7073170732%;
  font-size: 25px;
  filter: blur(1.48px);
  animation: 26s floatReverse infinite;
}
.particle:nth-child(75) {
  top: 11.7359413203%;
  left: 2.9469548134%;
  font-size: 18px;
  filter: blur(1.5px);
  animation: 38s floatReverse2 infinite;
}
.particle:nth-child(76) {
  top: 57.0024570025%;
  left: 78.8954635108%;
  font-size: 14px;
  filter: blur(1.52px);
  animation: 28s floatReverse infinite;
}
.particle:nth-child(77) {
  top: 27.2838002436%;
  left: 41.1361410382%;
  font-size: 21px;
  filter: blur(1.54px);
  animation: 35s floatReverse infinite;
}
.particle:nth-child(78) {
  top: 69.7336561743%;
  left: 37.037037037%;
  font-size: 26px;
  filter: blur(1.56px);
  animation: 37s float2 infinite;
}
.particle:nth-child(79) {
  top: 71.2195121951%;
  left: 75.4901960784%;
  font-size: 20px;
  filter: blur(1.58px);
  animation: 27s floatReverse2 infinite;
}
.particle:nth-child(80) {
  top: 87.1481028152%;
  left: 84.5624385447%;
  font-size: 17px;
  filter: blur(1.6px);
  animation: 22s floatReverse2 infinite;
}

@keyframes apparition {
  from {
    opacity: 0;
    transform: translateY(100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes float {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(180px);
  }
}
@keyframes floatReverse {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-180px);
  }
}
@keyframes float2 {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(28px);
  }
}
@keyframes floatReverse2 {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-28px);
  }
}