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: 39.4088669951%;
  left: 51.3833992095%;
  font-size: 12px;
  filter: blur(0.02px);
  animation: 38s float2 infinite;
}
.particle:nth-child(2) {
  top: 73.696969697%;
  left: 93.6585365854%;
  font-size: 25px;
  filter: blur(0.04px);
  animation: 33s float2 infinite;
}
.particle:nth-child(3) {
  top: 56.157635468%;
  left: 53.3596837945%;
  font-size: 12px;
  filter: blur(0.06px);
  animation: 39s floatReverse infinite;
}
.particle:nth-child(4) {
  top: 65.3658536585%;
  left: 31.3725490196%;
  font-size: 20px;
  filter: blur(0.08px);
  animation: 33s floatReverse2 infinite;
}
.particle:nth-child(5) {
  top: 79.509202454%;
  left: 85.7142857143%;
  font-size: 15px;
  filter: blur(0.1px);
  animation: 34s floatReverse2 infinite;
}
.particle:nth-child(6) {
  top: 47.572815534%;
  left: 44.921875%;
  font-size: 24px;
  filter: blur(0.12px);
  animation: 27s float infinite;
}
.particle:nth-child(7) {
  top: 68.6274509804%;
  left: 65.9448818898%;
  font-size: 16px;
  filter: blur(0.14px);
  animation: 31s float2 infinite;
}
.particle:nth-child(8) {
  top: 65.1048088779%;
  left: 9.8911968348%;
  font-size: 11px;
  filter: blur(0.16px);
  animation: 39s floatReverse2 infinite;
}
.particle:nth-child(9) {
  top: 6.8796068796%;
  left: 5.9171597633%;
  font-size: 14px;
  filter: blur(0.18px);
  animation: 26s float infinite;
}
.particle:nth-child(10) {
  top: 30.4668304668%;
  left: 59.1715976331%;
  font-size: 14px;
  filter: blur(0.2px);
  animation: 21s float infinite;
}
.particle:nth-child(11) {
  top: 6.7796610169%;
  left: 10.7212475634%;
  font-size: 26px;
  filter: blur(0.22px);
  animation: 26s floatReverse infinite;
}
.particle:nth-child(12) {
  top: 14.5278450363%;
  left: 13.6452241715%;
  font-size: 26px;
  filter: blur(0.24px);
  animation: 23s float2 infinite;
}
.particle:nth-child(13) {
  top: 0.9708737864%;
  left: 23.4375%;
  font-size: 24px;
  filter: blur(0.26px);
  animation: 29s floatReverse infinite;
}
.particle:nth-child(14) {
  top: 93.137254902%;
  left: 86.6141732283%;
  font-size: 16px;
  filter: blur(0.28px);
  animation: 29s floatReverse infinite;
}
.particle:nth-child(15) {
  top: 70.5314009662%;
  left: 43.7743190661%;
  font-size: 28px;
  filter: blur(0.3px);
  animation: 25s float2 infinite;
}
.particle:nth-child(16) {
  top: 91.1764705882%;
  left: 15.7480314961%;
  font-size: 16px;
  filter: blur(0.32px);
  animation: 34s float infinite;
}
.particle:nth-child(17) {
  top: 4.9079754601%;
  left: 46.3054187192%;
  font-size: 15px;
  filter: blur(0.34px);
  animation: 35s floatReverse infinite;
}
.particle:nth-child(18) {
  top: 54.041013269%;
  left: 10.6899902818%;
  font-size: 29px;
  filter: blur(0.36px);
  animation: 40s float infinite;
}
.particle:nth-child(19) {
  top: 78.914919852%;
  left: 96.9337289812%;
  font-size: 11px;
  filter: blur(0.38px);
  animation: 24s floatReverse infinite;
}
.particle:nth-child(20) {
  top: 97.6572133169%;
  left: 16.8150346192%;
  font-size: 11px;
  filter: blur(0.4px);
  animation: 35s float infinite;
}
.particle:nth-child(21) {
  top: 42.7703523694%;
  left: 4.8875855327%;
  font-size: 23px;
  filter: blur(0.42px);
  animation: 28s floatReverse infinite;
}
.particle:nth-child(22) {
  top: 86.7235079172%;
  left: 87.1694417238%;
  font-size: 21px;
  filter: blur(0.44px);
  animation: 34s floatReverse infinite;
}
.particle:nth-child(23) {
  top: 41.696969697%;
  left: 1.9512195122%;
  font-size: 25px;
  filter: blur(0.46px);
  animation: 39s floatReverse2 infinite;
}
.particle:nth-child(24) {
  top: 53.1400966184%;
  left: 74.9027237354%;
  font-size: 28px;
  filter: blur(0.48px);
  animation: 33s floatReverse infinite;
}
.particle:nth-child(25) {
  top: 96.6183574879%;
  left: 95.3307392996%;
  font-size: 28px;
  filter: blur(0.5px);
  animation: 24s floatReverse2 infinite;
}
.particle:nth-child(26) {
  top: 52.6187576127%;
  left: 45.0538687561%;
  font-size: 21px;
  filter: blur(0.52px);
  animation: 23s float2 infinite;
}
.particle:nth-child(27) {
  top: 38.0487804878%;
  left: 66.6666666667%;
  font-size: 20px;
  filter: blur(0.54px);
  animation: 23s float2 infinite;
}
.particle:nth-child(28) {
  top: 93.6067551267%;
  left: 89.407191448%;
  font-size: 29px;
  filter: blur(0.56px);
  animation: 27s floatReverse infinite;
}
.particle:nth-child(29) {
  top: 69.099756691%;
  left: 75.3424657534%;
  font-size: 22px;
  filter: blur(0.58px);
  animation: 35s floatReverse2 infinite;
}
.particle:nth-child(30) {
  top: 21.3075060533%;
  left: 1.9493177388%;
  font-size: 26px;
  filter: blur(0.6px);
  animation: 30s float2 infinite;
}
.particle:nth-child(31) {
  top: 95.7264957265%;
  left: 70.6575073602%;
  font-size: 19px;
  filter: blur(0.62px);
  animation: 38s floatReverse infinite;
}
.particle:nth-child(32) {
  top: 36.3636363636%;
  left: 40.4339250493%;
  font-size: 14px;
  filter: blur(0.64px);
  animation: 39s floatReverse infinite;
}
.particle:nth-child(33) {
  top: 28.1895504253%;
  left: 29.3255131965%;
  font-size: 23px;
  filter: blur(0.66px);
  animation: 31s float infinite;
}
.particle:nth-child(34) {
  top: 6.7714631197%;
  left: 16.553067186%;
  font-size: 27px;
  filter: blur(0.68px);
  animation: 32s floatReverse2 infinite;
}
.particle:nth-child(35) {
  top: 75.3056234719%;
  left: 8.8408644401%;
  font-size: 18px;
  filter: blur(0.7px);
  animation: 33s float infinite;
}
.particle:nth-child(36) {
  top: 10.7579462103%;
  left: 23.5756385069%;
  font-size: 18px;
  filter: blur(0.72px);
  animation: 39s floatReverse infinite;
}
.particle:nth-child(37) {
  top: 5.8181818182%;
  left: 37.0731707317%;
  font-size: 25px;
  filter: blur(0.74px);
  animation: 21s float2 infinite;
}
.particle:nth-child(38) {
  top: 68.5434516524%;
  left: 86.529006883%;
  font-size: 17px;
  filter: blur(0.76px);
  animation: 28s float infinite;
}
.particle:nth-child(39) {
  top: 71.7444717445%;
  left: 72.9783037475%;
  font-size: 14px;
  filter: blur(0.78px);
  animation: 35s float infinite;
}
.particle:nth-child(40) {
  top: 57.490864799%;
  left: 48.971596474%;
  font-size: 21px;
  filter: blur(0.8px);
  animation: 38s floatReverse infinite;
}
.particle:nth-child(41) {
  top: 39.7094430993%;
  left: 70.1754385965%;
  font-size: 26px;
  filter: blur(0.82px);
  animation: 35s float2 infinite;
}
.particle:nth-child(42) {
  top: 98.0392156863%;
  left: 41.3385826772%;
  font-size: 16px;
  filter: blur(0.84px);
  animation: 27s float2 infinite;
}
.particle:nth-child(43) {
  top: 39.457459926%;
  left: 67.2601384768%;
  font-size: 11px;
  filter: blur(0.86px);
  animation: 33s floatReverse infinite;
}
.particle:nth-child(44) {
  top: 8.8779284834%;
  left: 62.3145400593%;
  font-size: 11px;
  filter: blur(0.88px);
  animation: 25s floatReverse infinite;
}
.particle:nth-child(45) {
  top: 69.9878493317%;
  left: 18.5728250244%;
  font-size: 23px;
  filter: blur(0.9px);
  animation: 40s float2 infinite;
}
.particle:nth-child(46) {
  top: 31.5270935961%;
  left: 94.8616600791%;
  font-size: 12px;
  filter: blur(0.92px);
  animation: 40s floatReverse2 infinite;
}
.particle:nth-child(47) {
  top: 44.2804428044%;
  left: 65.1530108588%;
  font-size: 13px;
  filter: blur(0.94px);
  animation: 29s floatReverse2 infinite;
}
.particle:nth-child(48) {
  top: 94.1176470588%;
  left: 17.7165354331%;
  font-size: 16px;
  filter: blur(0.96px);
  animation: 32s float infinite;
}
.particle:nth-child(49) {
  top: 62.7450980392%;
  left: 51.1811023622%;
  font-size: 16px;
  filter: blur(0.98px);
  animation: 25s floatReverse2 infinite;
}
.particle:nth-child(50) {
  top: 24.2130750605%;
  left: 96.4912280702%;
  font-size: 26px;
  filter: blur(1px);
  animation: 27s float2 infinite;
}
.particle:nth-child(51) {
  top: 58.8235294118%;
  left: 89.5669291339%;
  font-size: 16px;
  filter: blur(1.02px);
  animation: 32s float2 infinite;
}
.particle:nth-child(52) {
  top: 32.9297820823%;
  left: 18.5185185185%;
  font-size: 26px;
  filter: blur(1.04px);
  animation: 22s float2 infinite;
}
.particle:nth-child(53) {
  top: 36.4532019704%;
  left: 79.0513833992%;
  font-size: 12px;
  filter: blur(1.06px);
  animation: 38s float2 infinite;
}
.particle:nth-child(54) {
  top: 1.9277108434%;
  left: 58.2524271845%;
  font-size: 30px;
  filter: blur(1.08px);
  animation: 39s floatReverse2 infinite;
}
.particle:nth-child(55) {
  top: 11.7503059976%;
  left: 5.8997050147%;
  font-size: 17px;
  filter: blur(1.1px);
  animation: 30s float infinite;
}
.particle:nth-child(56) {
  top: 91.6767189385%;
  left: 84.5481049563%;
  font-size: 29px;
  filter: blur(1.12px);
  animation: 33s float infinite;
}
.particle:nth-child(57) {
  top: 49.2753623188%;
  left: 71.0116731518%;
  font-size: 28px;
  filter: blur(1.14px);
  animation: 40s float2 infinite;
}
.particle:nth-child(58) {
  top: 88.7816646562%;
  left: 48.5908649174%;
  font-size: 29px;
  filter: blur(1.16px);
  animation: 33s float infinite;
}
.particle:nth-child(59) {
  top: 25.3349573691%;
  left: 48.971596474%;
  font-size: 21px;
  filter: blur(1.18px);
  animation: 38s floatReverse2 infinite;
}
.particle:nth-child(60) {
  top: 1.9656019656%;
  left: 4.9309664694%;
  font-size: 14px;
  filter: blur(1.2px);
  animation: 28s floatReverse infinite;
}
.particle:nth-child(61) {
  top: 38.141809291%;
  left: 98.231827112%;
  font-size: 18px;
  filter: blur(1.22px);
  animation: 36s float2 infinite;
}
.particle:nth-child(62) {
  top: 62.9539951574%;
  left: 30.2144249513%;
  font-size: 26px;
  filter: blur(1.24px);
  animation: 33s float infinite;
}
.particle:nth-child(63) {
  top: 31.884057971%;
  left: 31.1284046693%;
  font-size: 28px;
  filter: blur(1.26px);
  animation: 36s floatReverse2 infinite;
}
.particle:nth-child(64) {
  top: 82.6245443499%;
  left: 14.6627565982%;
  font-size: 23px;
  filter: blur(1.28px);
  animation: 25s floatReverse2 infinite;
}
.particle:nth-child(65) {
  top: 80.2902055623%;
  left: 90.5550146056%;
  font-size: 27px;
  filter: blur(1.3px);
  animation: 37s float2 infinite;
}
.particle:nth-child(66) {
  top: 10.6280193237%;
  left: 33.0739299611%;
  font-size: 28px;
  filter: blur(1.32px);
  animation: 38s floatReverse infinite;
}
.particle:nth-child(67) {
  top: 19.680196802%;
  left: 64.1658440276%;
  font-size: 13px;
  filter: blur(1.34px);
  animation: 29s floatReverse2 infinite;
}
.particle:nth-child(68) {
  top: 75.0304506699%;
  left: 32.3212536729%;
  font-size: 21px;
  filter: blur(1.36px);
  animation: 30s float2 infinite;
}
.particle:nth-child(69) {
  top: 38.3292383292%;
  left: 82.8402366864%;
  font-size: 14px;
  filter: blur(1.38px);
  animation: 24s float infinite;
}
.particle:nth-child(70) {
  top: 27.3504273504%;
  left: 78.5083415113%;
  font-size: 19px;
  filter: blur(1.4px);
  animation: 39s floatReverse2 infinite;
}
.particle:nth-child(71) {
  top: 6.7714631197%;
  left: 16.553067186%;
  font-size: 27px;
  filter: blur(1.42px);
  animation: 35s floatReverse2 infinite;
}
.particle:nth-child(72) {
  top: 67.0716889429%;
  left: 82.1114369501%;
  font-size: 23px;
  filter: blur(1.44px);
  animation: 21s floatReverse infinite;
}
.particle:nth-child(73) {
  top: 43.9024390244%;
  left: 85.2941176471%;
  font-size: 20px;
  filter: blur(1.46px);
  animation: 30s float infinite;
}
.particle:nth-child(74) {
  top: 61.3138686131%;
  left: 77.2994129159%;
  font-size: 22px;
  filter: blur(1.48px);
  animation: 36s float infinite;
}
.particle:nth-child(75) {
  top: 31.2958435208%;
  left: 2.9469548134%;
  font-size: 18px;
  filter: blur(1.5px);
  animation: 39s float2 infinite;
}
.particle:nth-child(76) {
  top: 68.0437424058%;
  left: 50.8308895406%;
  font-size: 23px;
  filter: blur(1.52px);
  animation: 26s floatReverse2 infinite;
}
.particle:nth-child(77) {
  top: 26.5030674847%;
  left: 5.9113300493%;
  font-size: 15px;
  filter: blur(1.54px);
  animation: 32s float2 infinite;
}
.particle:nth-child(78) {
  top: 97.5369458128%;
  left: 92.8853754941%;
  font-size: 12px;
  filter: blur(1.56px);
  animation: 30s floatReverse infinite;
}
.particle:nth-child(79) {
  top: 22.3300970874%;
  left: 48.828125%;
  font-size: 24px;
  filter: blur(1.58px);
  animation: 22s float2 infinite;
}
.particle:nth-child(80) {
  top: 72.7272727273%;
  left: 42.4063116371%;
  font-size: 14px;
  filter: blur(1.6px);
  animation: 23s 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);
  }
}