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: 3.9072039072%;
  left: 30.4219823356%;
  font-size: 19px;
  filter: blur(0.02px);
  animation: 26s floatReverse infinite;
}
.particle:nth-child(2) {
  top: 4.8899755501%;
  left: 55.0098231827%;
  font-size: 18px;
  filter: blur(0.04px);
  animation: 40s floatReverse2 infinite;
}
.particle:nth-child(3) {
  top: 73.786407767%;
  left: 86.9140625%;
  font-size: 24px;
  filter: blur(0.06px);
  animation: 30s floatReverse2 infinite;
}
.particle:nth-child(4) {
  top: 77.8588807786%;
  left: 76.3209393346%;
  font-size: 22px;
  filter: blur(0.08px);
  animation: 25s floatReverse2 infinite;
}
.particle:nth-child(5) {
  top: 6.862745098%;
  left: 30.5118110236%;
  font-size: 16px;
  filter: blur(0.1px);
  animation: 26s floatReverse infinite;
}
.particle:nth-child(6) {
  top: 46.0784313725%;
  left: 57.0866141732%;
  font-size: 16px;
  filter: blur(0.12px);
  animation: 35s float2 infinite;
}
.particle:nth-child(7) {
  top: 83.6408364084%;
  left: 84.8963474827%;
  font-size: 13px;
  filter: blur(0.14px);
  animation: 34s float infinite;
}
.particle:nth-child(8) {
  top: 72.2832722833%;
  left: 76.5456329735%;
  font-size: 19px;
  filter: blur(0.16px);
  animation: 27s floatReverse2 infinite;
}
.particle:nth-child(9) {
  top: 5.8394160584%;
  left: 61.6438356164%;
  font-size: 22px;
  filter: blur(0.18px);
  animation: 36s floatReverse infinite;
}
.particle:nth-child(10) {
  top: 83.8002436054%;
  left: 18.6092066601%;
  font-size: 21px;
  filter: blur(0.2px);
  animation: 31s float2 infinite;
}
.particle:nth-child(11) {
  top: 54.7008547009%;
  left: 91.2659470069%;
  font-size: 19px;
  filter: blur(0.22px);
  animation: 30s float infinite;
}
.particle:nth-child(12) {
  top: 15.5151515152%;
  left: 64.3902439024%;
  font-size: 25px;
  filter: blur(0.24px);
  animation: 22s float2 infinite;
}
.particle:nth-child(13) {
  top: 29.520295203%;
  left: 44.4225074038%;
  font-size: 13px;
  filter: blur(0.26px);
  animation: 28s float infinite;
}
.particle:nth-child(14) {
  top: 24.6305418719%;
  left: 91.8972332016%;
  font-size: 12px;
  filter: blur(0.28px);
  animation: 34s floatReverse infinite;
}
.particle:nth-child(15) {
  top: 22.5214198286%;
  left: 63.9134709931%;
  font-size: 17px;
  filter: blur(0.3px);
  animation: 27s floatReverse2 infinite;
}
.particle:nth-child(16) {
  top: 12.729498164%;
  left: 56.0471976401%;
  font-size: 17px;
  filter: blur(0.32px);
  animation: 38s float infinite;
}
.particle:nth-child(17) {
  top: 0.9708737864%;
  left: 68.359375%;
  font-size: 24px;
  filter: blur(0.34px);
  animation: 38s floatReverse infinite;
}
.particle:nth-child(18) {
  top: 93.6585365854%;
  left: 87.2549019608%;
  font-size: 20px;
  filter: blur(0.36px);
  animation: 35s float2 infinite;
}
.particle:nth-child(19) {
  top: 27.0858524788%;
  left: 6.8159688413%;
  font-size: 27px;
  filter: blur(0.38px);
  animation: 21s floatReverse infinite;
}
.particle:nth-child(20) {
  top: 47.7466504263%;
  left: 67.5808031342%;
  font-size: 21px;
  filter: blur(0.4px);
  animation: 31s float2 infinite;
}
.particle:nth-child(21) {
  top: 87.9120879121%;
  left: 33.3660451423%;
  font-size: 19px;
  filter: blur(0.42px);
  animation: 24s floatReverse infinite;
}
.particle:nth-child(22) {
  top: 31.8072289157%;
  left: 7.7669902913%;
  font-size: 30px;
  filter: blur(0.44px);
  animation: 40s floatReverse2 infinite;
}
.particle:nth-child(23) {
  top: 43.2432432432%;
  left: 48.3234714004%;
  font-size: 14px;
  filter: blur(0.46px);
  animation: 39s float2 infinite;
}
.particle:nth-child(24) {
  top: 59.0084643289%;
  left: 20.4479065239%;
  font-size: 27px;
  filter: blur(0.48px);
  animation: 31s floatReverse infinite;
}
.particle:nth-child(25) {
  top: 17.6904176904%;
  left: 74.9506903353%;
  font-size: 14px;
  filter: blur(0.5px);
  animation: 26s floatReverse infinite;
}
.particle:nth-child(26) {
  top: 56.9360675513%;
  left: 23.3236151603%;
  font-size: 29px;
  filter: blur(0.52px);
  animation: 25s floatReverse2 infinite;
}
.particle:nth-child(27) {
  top: 27.6202219482%;
  left: 86.0534124629%;
  font-size: 11px;
  filter: blur(0.54px);
  animation: 25s float2 infinite;
}
.particle:nth-child(28) {
  top: 87.2549019608%;
  left: 71.8503937008%;
  font-size: 16px;
  filter: blur(0.56px);
  animation: 28s float infinite;
}
.particle:nth-child(29) {
  top: 0.9685230024%;
  left: 87.7192982456%;
  font-size: 26px;
  filter: blur(0.58px);
  animation: 32s floatReverse2 infinite;
}
.particle:nth-child(30) {
  top: 67.3992673993%;
  left: 48.0863591757%;
  font-size: 19px;
  filter: blur(0.6px);
  animation: 29s floatReverse infinite;
}
.particle:nth-child(31) {
  top: 12.5755743652%;
  left: 69.1333982473%;
  font-size: 27px;
  filter: blur(0.62px);
  animation: 37s float infinite;
}
.particle:nth-child(32) {
  top: 66.9950738916%;
  left: 42.4901185771%;
  font-size: 12px;
  filter: blur(0.64px);
  animation: 28s floatReverse2 infinite;
}
.particle:nth-child(33) {
  top: 59.4397076736%;
  left: 19.5886385896%;
  font-size: 21px;
  filter: blur(0.66px);
  animation: 37s floatReverse2 infinite;
}
.particle:nth-child(34) {
  top: 46.9437652812%;
  left: 20.6286836935%;
  font-size: 18px;
  filter: blur(0.68px);
  animation: 22s floatReverse infinite;
}
.particle:nth-child(35) {
  top: 15.7829839704%;
  left: 86.0534124629%;
  font-size: 11px;
  filter: blur(0.7px);
  animation: 29s float infinite;
}
.particle:nth-child(36) {
  top: 91.0411622276%;
  left: 30.2144249513%;
  font-size: 26px;
  filter: blur(0.72px);
  animation: 39s floatReverse2 infinite;
}
.particle:nth-child(37) {
  top: 91.4841849148%;
  left: 94.9119373777%;
  font-size: 22px;
  filter: blur(0.74px);
  animation: 39s floatReverse infinite;
}
.particle:nth-child(38) {
  top: 53.0759951749%;
  left: 48.5908649174%;
  font-size: 29px;
  filter: blur(0.76px);
  animation: 23s floatReverse infinite;
}
.particle:nth-child(39) {
  top: 54.9019607843%;
  left: 76.7716535433%;
  font-size: 16px;
  filter: blur(0.78px);
  animation: 27s float infinite;
}
.particle:nth-child(40) {
  top: 1.9536019536%;
  left: 60.8439646712%;
  font-size: 19px;
  filter: blur(0.8px);
  animation: 39s float2 infinite;
}
.particle:nth-child(41) {
  top: 52.1739130435%;
  left: 18.4824902724%;
  font-size: 28px;
  filter: blur(0.82px);
  animation: 32s float infinite;
}
.particle:nth-child(42) {
  top: 36.0097323601%;
  left: 66.5362035225%;
  font-size: 22px;
  filter: blur(0.84px);
  animation: 28s floatReverse2 infinite;
}
.particle:nth-child(43) {
  top: 45.9657701711%;
  left: 74.6561886051%;
  font-size: 18px;
  filter: blur(0.86px);
  animation: 23s float infinite;
}
.particle:nth-child(44) {
  top: 11.7936117936%;
  left: 85.798816568%;
  font-size: 14px;
  filter: blur(0.88px);
  animation: 40s float2 infinite;
}
.particle:nth-child(45) {
  top: 40.146878825%;
  left: 43.2645034415%;
  font-size: 17px;
  filter: blur(0.9px);
  animation: 37s floatReverse2 infinite;
}
.particle:nth-child(46) {
  top: 42.4096385542%;
  left: 5.8252427184%;
  font-size: 30px;
  filter: blur(0.92px);
  animation: 27s floatReverse infinite;
}
.particle:nth-child(47) {
  top: 61.6136919315%;
  left: 85.4616895874%;
  font-size: 18px;
  filter: blur(0.94px);
  animation: 39s floatReverse infinite;
}
.particle:nth-child(48) {
  top: 6.8459657702%;
  left: 55.9921414538%;
  font-size: 18px;
  filter: blur(0.96px);
  animation: 21s floatReverse infinite;
}
.particle:nth-child(49) {
  top: 95.0303030303%;
  left: 8.7804878049%;
  font-size: 25px;
  filter: blur(0.98px);
  animation: 33s floatReverse infinite;
}
.particle:nth-child(50) {
  top: 59.9758162031%;
  left: 17.5267770204%;
  font-size: 27px;
  filter: blur(1px);
  animation: 34s floatReverse infinite;
}
.particle:nth-child(51) {
  top: 74.8768472906%;
  left: 19.7628458498%;
  font-size: 12px;
  filter: blur(1.02px);
  animation: 29s float infinite;
}
.particle:nth-child(52) {
  top: 32.077764277%;
  left: 48.8758553275%;
  font-size: 23px;
  filter: blur(1.04px);
  animation: 24s float infinite;
}
.particle:nth-child(53) {
  top: 81.9512195122%;
  left: 35.2941176471%;
  font-size: 20px;
  filter: blur(1.06px);
  animation: 29s floatReverse2 infinite;
}
.particle:nth-child(54) {
  top: 2.9447852761%;
  left: 46.3054187192%;
  font-size: 15px;
  filter: blur(1.08px);
  animation: 40s floatReverse infinite;
}
.particle:nth-child(55) {
  top: 28.0871670702%;
  left: 17.5438596491%;
  font-size: 26px;
  filter: blur(1.1px);
  animation: 27s floatReverse2 infinite;
}
.particle:nth-child(56) {
  top: 63.5696821516%;
  left: 30.4518664047%;
  font-size: 18px;
  filter: blur(1.12px);
  animation: 21s floatReverse infinite;
}
.particle:nth-child(57) {
  top: 58.3941605839%;
  left: 18.5909980431%;
  font-size: 22px;
  filter: blur(1.14px);
  animation: 40s float infinite;
}
.particle:nth-child(58) {
  top: 57.7723378213%;
  left: 14.7492625369%;
  font-size: 17px;
  filter: blur(1.16px);
  animation: 24s float infinite;
}
.particle:nth-child(59) {
  top: 37.4384236453%;
  left: 35.5731225296%;
  font-size: 12px;
  filter: blur(1.18px);
  animation: 25s floatReverse2 infinite;
}
.particle:nth-child(60) {
  top: 32.552404439%;
  left: 78.1404549951%;
  font-size: 11px;
  filter: blur(1.2px);
  animation: 24s float infinite;
}
.particle:nth-child(61) {
  top: 78.6240786241%;
  left: 20.7100591716%;
  font-size: 14px;
  filter: blur(1.22px);
  animation: 25s float2 infinite;
}
.particle:nth-child(62) {
  top: 39.457459926%;
  left: 16.8150346192%;
  font-size: 11px;
  filter: blur(1.24px);
  animation: 21s float2 infinite;
}
.particle:nth-child(63) {
  top: 69.9029126214%;
  left: 96.6796875%;
  font-size: 24px;
  filter: blur(1.26px);
  animation: 33s float infinite;
}
.particle:nth-child(64) {
  top: 67.0716889429%;
  left: 1.9550342131%;
  font-size: 23px;
  filter: blur(1.28px);
  animation: 37s floatReverse2 infinite;
}
.particle:nth-child(65) {
  top: 97.5369458128%;
  left: 30.6324110672%;
  font-size: 12px;
  filter: blur(1.3px);
  animation: 30s floatReverse2 infinite;
}
.particle:nth-child(66) {
  top: 61.0837438424%;
  left: 21.7391304348%;
  font-size: 12px;
  filter: blur(1.32px);
  animation: 40s float2 infinite;
}
.particle:nth-child(67) {
  top: 37.7723970944%;
  left: 75.0487329435%;
  font-size: 26px;
  filter: blur(1.34px);
  animation: 27s float infinite;
}
.particle:nth-child(68) {
  top: 55.6776556777%;
  left: 91.2659470069%;
  font-size: 19px;
  filter: blur(1.36px);
  animation: 38s float2 infinite;
}
.particle:nth-child(69) {
  top: 79.8053527981%;
  left: 10.7632093933%;
  font-size: 22px;
  filter: blur(1.38px);
  animation: 32s float2 infinite;
}
.particle:nth-child(70) {
  top: 17.7558569667%;
  left: 20.7715133531%;
  font-size: 11px;
  filter: blur(1.4px);
  animation: 24s floatReverse infinite;
}
.particle:nth-child(71) {
  top: 73.3413751508%;
  left: 47.619047619%;
  font-size: 29px;
  filter: blur(1.42px);
  animation: 36s float2 infinite;
}
.particle:nth-child(72) {
  top: 12.6213592233%;
  left: 61.5234375%;
  font-size: 24px;
  filter: blur(1.44px);
  animation: 22s floatReverse infinite;
}
.particle:nth-child(73) {
  top: 59.4397076736%;
  left: 19.5886385896%;
  font-size: 21px;
  filter: blur(1.46px);
  animation: 38s float2 infinite;
}
.particle:nth-child(74) {
  top: 37.3923739237%;
  left: 66.14017769%;
  font-size: 13px;
  filter: blur(1.48px);
  animation: 34s floatReverse infinite;
}
.particle:nth-child(75) {
  top: 33.0097087379%;
  left: 90.8203125%;
  font-size: 24px;
  filter: blur(1.5px);
  animation: 36s floatReverse infinite;
}
.particle:nth-child(76) {
  top: 43.583535109%;
  left: 81.8713450292%;
  font-size: 26px;
  filter: blur(1.52px);
  animation: 36s floatReverse2 infinite;
}
.particle:nth-child(77) {
  top: 30.843373494%;
  left: 90.2912621359%;
  font-size: 30px;
  filter: blur(1.54px);
  animation: 27s floatReverse2 infinite;
}
.particle:nth-child(78) {
  top: 29.2326431181%;
  left: 97.9431929481%;
  font-size: 21px;
  filter: blur(1.56px);
  animation: 30s float2 infinite;
}
.particle:nth-child(79) {
  top: 98.0392156863%;
  left: 59.0551181102%;
  font-size: 16px;
  filter: blur(1.58px);
  animation: 38s float2 infinite;
}
.particle:nth-child(80) {
  top: 17.4757281553%;
  left: 92.7734375%;
  font-size: 24px;
  filter: blur(1.6px);
  animation: 40s floatReverse 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);
  }
}