.container-404 {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100vh;
  background: white;
  color: black;
  font-family: arial, sans-serif;
  overflow: hidden;
}

.content-404 {
  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-404 p {
  font-size: 1.3rem;
  margin-top: 0;
  margin-bottom: 0.6rem;
  letter-spacing: 0.1rem;
  color: #595959;
}
.content-404 p:last-child {
  margin-bottom: 0;
}
.content-404 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: 65.605875153%;
  left: 93.4119960669%;
  font-size: 17px;
  filter: blur(0.02px);
  animation: 29s floatReverse2 infinite;
}
.particle:nth-child(2) {
  top: 66.7484662577%;
  left: 91.6256157635%;
  font-size: 15px;
  filter: blur(0.04px);
  animation: 36s floatReverse2 infinite;
}
.particle:nth-child(3) {
  top: 52.3636363636%;
  left: 10.7317073171%;
  font-size: 25px;
  filter: blur(0.06px);
  animation: 22s float infinite;
}
.particle:nth-child(4) {
  top: 93.3660933661%;
  left: 90.7297830375%;
  font-size: 14px;
  filter: blur(0.08px);
  animation: 38s floatReverse2 infinite;
}
.particle:nth-child(5) {
  top: 34.8246674728%;
  left: 25.3164556962%;
  font-size: 27px;
  filter: blur(0.1px);
  animation: 30s floatReverse2 infinite;
}
.particle:nth-child(6) {
  top: 69.9029126214%;
  left: 45.8984375%;
  font-size: 24px;
  filter: blur(0.12px);
  animation: 28s float infinite;
}
.particle:nth-child(7) {
  top: 51.2315270936%;
  left: 54.347826087%;
  font-size: 12px;
  filter: blur(0.14px);
  animation: 28s float infinite;
}
.particle:nth-child(8) {
  top: 73.8916256158%;
  left: 1.976284585%;
  font-size: 12px;
  filter: blur(0.16px);
  animation: 25s float2 infinite;
}
.particle:nth-child(9) {
  top: 81.3725490196%;
  left: 9.842519685%;
  font-size: 16px;
  filter: blur(0.18px);
  animation: 35s float2 infinite;
}
.particle:nth-child(10) {
  top: 29.520295203%;
  left: 56.2685093781%;
  font-size: 13px;
  filter: blur(0.2px);
  animation: 34s float2 infinite;
}
.particle:nth-child(11) {
  top: 31.2195121951%;
  left: 56.862745098%;
  font-size: 20px;
  filter: blur(0.22px);
  animation: 33s floatReverse infinite;
}
.particle:nth-child(12) {
  top: 74.4860943168%;
  left: 90.5550146056%;
  font-size: 27px;
  filter: blur(0.24px);
  animation: 30s float infinite;
}
.particle:nth-child(13) {
  top: 70.6748466258%;
  left: 60.0985221675%;
  font-size: 15px;
  filter: blur(0.26px);
  animation: 35s floatReverse2 infinite;
}
.particle:nth-child(14) {
  top: 27.4846625767%;
  left: 85.7142857143%;
  font-size: 15px;
  filter: blur(0.28px);
  animation: 25s floatReverse infinite;
}
.particle:nth-child(15) {
  top: 67.5642594859%;
  left: 35.3982300885%;
  font-size: 17px;
  filter: blur(0.3px);
  animation: 23s floatReverse2 infinite;
}
.particle:nth-child(16) {
  top: 57.3511543135%;
  left: 86.9990224829%;
  font-size: 23px;
  filter: blur(0.32px);
  animation: 35s float2 infinite;
}
.particle:nth-child(17) {
  top: 5.7901085645%;
  left: 57.3372206025%;
  font-size: 29px;
  filter: blur(0.34px);
  animation: 23s floatReverse infinite;
}
.particle:nth-child(18) {
  top: 44.1176470588%;
  left: 81.6929133858%;
  font-size: 16px;
  filter: blur(0.36px);
  animation: 26s floatReverse infinite;
}
.particle:nth-child(19) {
  top: 28.2926829268%;
  left: 31.3725490196%;
  font-size: 20px;
  filter: blur(0.38px);
  animation: 37s float infinite;
}
.particle:nth-child(20) {
  top: 7.8431372549%;
  left: 65.9448818898%;
  font-size: 16px;
  filter: blur(0.4px);
  animation: 35s float infinite;
}
.particle:nth-child(21) {
  top: 32.4324324324%;
  left: 15.7790927022%;
  font-size: 14px;
  filter: blur(0.42px);
  animation: 36s floatReverse2 infinite;
}
.particle:nth-child(22) {
  top: 61.0169491525%;
  left: 72.1247563353%;
  font-size: 26px;
  filter: blur(0.44px);
  animation: 22s float infinite;
}
.particle:nth-child(23) {
  top: 21.5158924205%;
  left: 96.2671905697%;
  font-size: 18px;
  filter: blur(0.46px);
  animation: 30s floatReverse infinite;
}
.particle:nth-child(24) {
  top: 58.4652862363%;
  left: 25.4652301665%;
  font-size: 21px;
  filter: blur(0.48px);
  animation: 27s float2 infinite;
}
.particle:nth-child(25) {
  top: 89.756097561%;
  left: 16.6666666667%;
  font-size: 20px;
  filter: blur(0.5px);
  animation: 29s float infinite;
}
.particle:nth-child(26) {
  top: 43.583535109%;
  left: 25.3411306043%;
  font-size: 26px;
  filter: blur(0.52px);
  animation: 22s float infinite;
}
.particle:nth-child(27) {
  top: 12.7921279213%;
  left: 22.7048371175%;
  font-size: 13px;
  filter: blur(0.54px);
  animation: 29s floatReverse2 infinite;
}
.particle:nth-child(28) {
  top: 87.4692874693%;
  left: 62.1301775148%;
  font-size: 14px;
  filter: blur(0.56px);
  animation: 31s float2 infinite;
}
.particle:nth-child(29) {
  top: 1.9607843137%;
  left: 6.8897637795%;
  font-size: 16px;
  filter: blur(0.58px);
  animation: 27s float2 infinite;
}
.particle:nth-child(30) {
  top: 45.6865127582%;
  left: 50.8308895406%;
  font-size: 23px;
  filter: blur(0.6px);
  animation: 39s floatReverse infinite;
}
.particle:nth-child(31) {
  top: 37.4845869297%;
  left: 89.0207715134%;
  font-size: 11px;
  filter: blur(0.62px);
  animation: 31s floatReverse infinite;
}
.particle:nth-child(32) {
  top: 23.2727272727%;
  left: 17.5609756098%;
  font-size: 25px;
  filter: blur(0.64px);
  animation: 21s floatReverse2 infinite;
}
.particle:nth-child(33) {
  top: 15.7248157248%;
  left: 60.157790927%;
  font-size: 14px;
  filter: blur(0.66px);
  animation: 36s floatReverse infinite;
}
.particle:nth-child(34) {
  top: 49.2159227986%;
  left: 84.5481049563%;
  font-size: 29px;
  filter: blur(0.68px);
  animation: 29s floatReverse2 infinite;
}
.particle:nth-child(35) {
  top: 36.1858190709%;
  left: 35.3634577603%;
  font-size: 18px;
  filter: blur(0.7px);
  animation: 37s float2 infinite;
}
.particle:nth-child(36) {
  top: 72.9064039409%;
  left: 74.1106719368%;
  font-size: 12px;
  filter: blur(0.72px);
  animation: 38s floatReverse infinite;
}
.particle:nth-child(37) {
  top: 38.5542168675%;
  left: 90.2912621359%;
  font-size: 30px;
  filter: blur(0.74px);
  animation: 27s floatReverse infinite;
}
.particle:nth-child(38) {
  top: 58.8235294118%;
  left: 12.7952755906%;
  font-size: 16px;
  filter: blur(0.76px);
  animation: 31s float infinite;
}
.particle:nth-child(39) {
  top: 20.2898550725%;
  left: 26.2645914397%;
  font-size: 28px;
  filter: blur(0.78px);
  animation: 35s floatReverse2 infinite;
}
.particle:nth-child(40) {
  top: 8.7061668682%;
  left: 79.8442064265%;
  font-size: 27px;
  filter: blur(0.8px);
  animation: 26s floatReverse infinite;
}
.particle:nth-child(41) {
  top: 73.9827373613%;
  left: 93.9663699308%;
  font-size: 11px;
  filter: blur(0.82px);
  animation: 30s floatReverse infinite;
}
.particle:nth-child(42) {
  top: 59.8773006135%;
  left: 84.7290640394%;
  font-size: 15px;
  filter: blur(0.84px);
  animation: 35s float infinite;
}
.particle:nth-child(43) {
  top: 6.8126520681%;
  left: 38.1604696673%;
  font-size: 22px;
  filter: blur(0.86px);
  animation: 30s float2 infinite;
}
.particle:nth-child(44) {
  top: 22.3844282238%;
  left: 84.1487279843%;
  font-size: 22px;
  filter: blur(0.88px);
  animation: 40s float infinite;
}
.particle:nth-child(45) {
  top: 60.0484261501%;
  left: 14.6198830409%;
  font-size: 26px;
  filter: blur(0.9px);
  animation: 30s float infinite;
}
.particle:nth-child(46) {
  top: 34.0632603406%;
  left: 90.9980430528%;
  font-size: 22px;
  filter: blur(0.92px);
  animation: 25s float2 infinite;
}
.particle:nth-child(47) {
  top: 96.3144963145%;
  left: 83.8264299803%;
  font-size: 14px;
  filter: blur(0.94px);
  animation: 39s float infinite;
}
.particle:nth-child(48) {
  top: 91.738594328%;
  left: 98.9119683482%;
  font-size: 11px;
  filter: blur(0.96px);
  animation: 34s float2 infinite;
}
.particle:nth-child(49) {
  top: 71.0462287105%;
  left: 12.7201565558%;
  font-size: 22px;
  filter: blur(0.98px);
  animation: 36s floatReverse infinite;
}
.particle:nth-child(50) {
  top: 96.9400244798%;
  left: 62.930186824%;
  font-size: 17px;
  filter: blur(1px);
  animation: 21s floatReverse2 infinite;
}
.particle:nth-child(51) {
  top: 45.1533742331%;
  left: 56.157635468%;
  font-size: 15px;
  filter: blur(1.02px);
  animation: 21s float infinite;
}
.particle:nth-child(52) {
  top: 91.9315403423%;
  left: 42.2396856582%;
  font-size: 18px;
  filter: blur(1.04px);
  animation: 31s float2 infinite;
}
.particle:nth-child(53) {
  top: 5.8968058968%;
  left: 41.4201183432%;
  font-size: 14px;
  filter: blur(1.06px);
  animation: 29s floatReverse infinite;
}
.particle:nth-child(54) {
  top: 30.8805790109%;
  left: 96.2099125364%;
  font-size: 29px;
  filter: blur(1.08px);
  animation: 34s float infinite;
}
.particle:nth-child(55) {
  top: 93.6585365854%;
  left: 63.7254901961%;
  font-size: 20px;
  filter: blur(1.1px);
  animation: 36s floatReverse2 infinite;
}
.particle:nth-child(56) {
  top: 2.9090909091%;
  left: 59.512195122%;
  font-size: 25px;
  filter: blur(1.12px);
  animation: 38s floatReverse2 infinite;
}
.particle:nth-child(57) {
  top: 51.4563106796%;
  left: 80.078125%;
  font-size: 24px;
  filter: blur(1.14px);
  animation: 37s floatReverse infinite;
}
.particle:nth-child(58) {
  top: 46.8292682927%;
  left: 46.0784313725%;
  font-size: 20px;
  filter: blur(1.16px);
  animation: 27s float infinite;
}
.particle:nth-child(59) {
  top: 38.0952380952%;
  left: 6.8694798822%;
  font-size: 19px;
  filter: blur(1.18px);
  animation: 26s float2 infinite;
}
.particle:nth-child(60) {
  top: 81.5533980583%;
  left: 30.2734375%;
  font-size: 24px;
  filter: blur(1.2px);
  animation: 31s floatReverse infinite;
}
.particle:nth-child(61) {
  top: 20.5882352941%;
  left: 73.8188976378%;
  font-size: 16px;
  filter: blur(1.22px);
  animation: 30s float infinite;
}
.particle:nth-child(62) {
  top: 1.9488428745%;
  left: 61.7042115573%;
  font-size: 21px;
  filter: blur(1.24px);
  animation: 21s float infinite;
}
.particle:nth-child(63) {
  top: 34.398034398%;
  left: 15.7790927022%;
  font-size: 14px;
  filter: blur(1.26px);
  animation: 38s float infinite;
}
.particle:nth-child(64) {
  top: 60.4141291108%;
  left: 58.7659157689%;
  font-size: 21px;
  filter: blur(1.28px);
  animation: 25s floatReverse2 infinite;
}
.particle:nth-child(65) {
  top: 33.2518337408%;
  left: 74.6561886051%;
  font-size: 18px;
  filter: blur(1.3px);
  animation: 23s floatReverse infinite;
}
.particle:nth-child(66) {
  top: 75.4901960784%;
  left: 66.9291338583%;
  font-size: 16px;
  filter: blur(1.32px);
  animation: 28s floatReverse infinite;
}
.particle:nth-child(67) {
  top: 41.7475728155%;
  left: 47.8515625%;
  font-size: 24px;
  filter: blur(1.34px);
  animation: 23s float infinite;
}
.particle:nth-child(68) {
  top: 45.7420924574%;
  left: 74.3639921722%;
  font-size: 22px;
  filter: blur(1.36px);
  animation: 39s float infinite;
}
.particle:nth-child(69) {
  top: 62.8778718259%;
  left: 15.5793573515%;
  font-size: 27px;
  filter: blur(1.38px);
  animation: 22s floatReverse infinite;
}
.particle:nth-child(70) {
  top: 33.4152334152%;
  left: 68.0473372781%;
  font-size: 14px;
  filter: blur(1.4px);
  animation: 39s float infinite;
}
.particle:nth-child(71) {
  top: 54.9019607843%;
  left: 77.7559055118%;
  font-size: 16px;
  filter: blur(1.42px);
  animation: 26s float2 infinite;
}
.particle:nth-child(72) {
  top: 57.7017114914%;
  left: 47.1512770138%;
  font-size: 18px;
  filter: blur(1.44px);
  animation: 34s float infinite;
}
.particle:nth-child(73) {
  top: 77.9537149817%;
  left: 19.5886385896%;
  font-size: 21px;
  filter: blur(1.46px);
  animation: 23s float2 infinite;
}
.particle:nth-child(74) {
  top: 39.312039312%;
  left: 39.4477317554%;
  font-size: 14px;
  filter: blur(1.48px);
  animation: 33s floatReverse infinite;
}
.particle:nth-child(75) {
  top: 87.5768757688%;
  left: 17.7690029615%;
  font-size: 13px;
  filter: blur(1.5px);
  animation: 21s floatReverse infinite;
}
.particle:nth-child(76) {
  top: 56.9325153374%;
  left: 46.3054187192%;
  font-size: 15px;
  filter: blur(1.52px);
  animation: 40s float infinite;
}
.particle:nth-child(77) {
  top: 32.0388349515%;
  left: 92.7734375%;
  font-size: 24px;
  filter: blur(1.54px);
  animation: 31s floatReverse2 infinite;
}
.particle:nth-child(78) {
  top: 87.3786407767%;
  left: 11.71875%;
  font-size: 24px;
  filter: blur(1.56px);
  animation: 26s float infinite;
}
.particle:nth-child(79) {
  top: 52.876376989%;
  left: 74.7295968535%;
  font-size: 17px;
  filter: blur(1.58px);
  animation: 25s float2 infinite;
}
.particle:nth-child(80) {
  top: 58.7951807229%;
  left: 42.7184466019%;
  font-size: 30px;
  filter: blur(1.6px);
  animation: 33s float2 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);
  }
}
