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: 87.8166465621%;
    left: 28.1827016521%;
    font-size: 29px;
    filter: blur(0.02px);
    animation: 23s floatReverse infinite;
}
.particle:nth-child(2) {
    top: 42.7703523694%;
    left: 32.2580645161%;
    font-size: 23px;
    filter: blur(0.04px);
    animation: 24s float infinite;
}
.particle:nth-child(3) {
    top: 81.0744810745%;
    left: 31.4033366045%;
    font-size: 19px;
    filter: blur(0.06px);
    animation: 33s floatReverse infinite;
}
.particle:nth-child(4) {
    top: 32.1951219512%;
    left: 34.3137254902%;
    font-size: 20px;
    filter: blur(0.08px);
    animation: 29s float infinite;
}
.particle:nth-child(5) {
    top: 50.1809408926%;
    left: 58.3090379009%;
    font-size: 29px;
    filter: blur(0.1px);
    animation: 26s float2 infinite;
}
.particle:nth-child(6) {
    top: 48.7804878049%;
    left: 80.3921568627%;
    font-size: 20px;
    filter: blur(0.12px);
    animation: 25s float infinite;
}
.particle:nth-child(7) {
    top: 1.9536019536%;
    left: 22.5711481845%;
    font-size: 19px;
    filter: blur(0.14px);
    animation: 26s float2 infinite;
}
.particle:nth-child(8) {
    top: 6.7796610169%;
    left: 74.0740740741%;
    font-size: 26px;
    filter: blur(0.16px);
    animation: 40s floatReverse infinite;
}
.particle:nth-child(9) {
    top: 84.9816849817%;
    left: 71.638861629%;
    font-size: 19px;
    filter: blur(0.18px);
    animation: 24s floatReverse infinite;
}
.particle:nth-child(10) {
    top: 0.9756097561%;
    left: 72.5490196078%;
    font-size: 20px;
    filter: blur(0.2px);
    animation: 22s floatReverse infinite;
}
.particle:nth-child(11) {
    top: 67.7146311971%;
    left: 83.7390457644%;
    font-size: 27px;
    filter: blur(0.22px);
    animation: 26s float2 infinite;
}
.particle:nth-child(12) {
    top: 45.5757575758%;
    left: 73.1707317073%;
    font-size: 25px;
    filter: blur(0.24px);
    animation: 39s float2 infinite;
}
.particle:nth-child(13) {
    top: 60.4141291108%;
    left: 16.6503428012%;
    font-size: 21px;
    filter: blur(0.26px);
    animation: 37s float2 infinite;
}
.particle:nth-child(14) {
    top: 92.00968523%;
    left: 19.4931773879%;
    font-size: 26px;
    filter: blur(0.28px);
    animation: 39s floatReverse2 infinite;
}
.particle:nth-child(15) {
    top: 52.1109770808%;
    left: 51.5063168124%;
    font-size: 29px;
    filter: blur(0.3px);
    animation: 40s floatReverse infinite;
}
.particle:nth-child(16) {
    top: 28.5012285012%;
    left: 16.7652859961%;
    font-size: 14px;
    filter: blur(0.32px);
    animation: 39s floatReverse infinite;
}
.particle:nth-child(17) {
    top: 68.9655172414%;
    left: 9.8814229249%;
    font-size: 12px;
    filter: blur(0.34px);
    animation: 27s floatReverse2 infinite;
}
.particle:nth-child(18) {
    top: 28.2582216809%;
    left: 91.0871694417%;
    font-size: 21px;
    filter: blur(0.36px);
    animation: 28s float2 infinite;
}
.particle:nth-child(19) {
    top: 35.5117139334%;
    left: 59.3471810089%;
    font-size: 11px;
    filter: blur(0.38px);
    animation: 36s float infinite;
}
.particle:nth-child(20) {
    top: 75.5447941889%;
    left: 50.6822612086%;
    font-size: 26px;
    filter: blur(0.4px);
    animation: 23s floatReverse2 infinite;
}
.particle:nth-child(21) {
    top: 58.6080586081%;
    left: 10.7948969578%;
    font-size: 19px;
    filter: blur(0.42px);
    animation: 35s float2 infinite;
}
.particle:nth-child(22) {
    top: 26.1185006046%;
    left: 86.6601752678%;
    font-size: 27px;
    filter: blur(0.44px);
    animation: 24s float infinite;
}
.particle:nth-child(23) {
    top: 76.5133171913%;
    left: 88.693957115%;
    font-size: 26px;
    filter: blur(0.46px);
    animation: 40s floatReverse2 infinite;
}
.particle:nth-child(24) {
    top: 54.1062801932%;
    left: 3.8910505837%;
    font-size: 28px;
    filter: blur(0.48px);
    animation: 37s floatReverse infinite;
}
.particle:nth-child(25) {
    top: 66.5850673195%;
    left: 88.4955752212%;
    font-size: 17px;
    filter: blur(0.5px);
    animation: 40s floatReverse infinite;
}
.particle:nth-child(26) {
    top: 89.3203883495%;
    left: 89.84375%;
    font-size: 24px;
    filter: blur(0.52px);
    animation: 31s float2 infinite;
}
.particle:nth-child(27) {
    top: 19.3470374849%;
    left: 8.7633885102%;
    font-size: 27px;
    filter: blur(0.54px);
    animation: 39s float2 infinite;
}
.particle:nth-child(28) {
    top: 24.57002457%;
    left: 77.909270217%;
    font-size: 14px;
    filter: blur(0.56px);
    animation: 35s float2 infinite;
}
.particle:nth-child(29) {
    top: 66.8304668305%;
    left: 72.9783037475%;
    font-size: 14px;
    filter: blur(0.58px);
    animation: 38s floatReverse infinite;
}
.particle:nth-child(30) {
    top: 54.7008547009%;
    left: 33.3660451423%;
    font-size: 19px;
    filter: blur(0.6px);
    animation: 28s floatReverse infinite;
}
.particle:nth-child(31) {
    top: 34.2717258262%;
    left: 69.8131760079%;
    font-size: 17px;
    filter: blur(0.62px);
    animation: 23s floatReverse2 infinite;
}
.particle:nth-child(32) {
    top: 40%;
    left: 47.0588235294%;
    font-size: 20px;
    filter: blur(0.64px);
    animation: 28s floatReverse2 infinite;
}
.particle:nth-child(33) {
    top: 89.544895449%;
    left: 40.473840079%;
    font-size: 13px;
    filter: blur(0.66px);
    animation: 28s float infinite;
}
.particle:nth-child(34) {
    top: 58.1280788177%;
    left: 31.6205533597%;
    font-size: 12px;
    filter: blur(0.68px);
    animation: 23s floatReverse infinite;
}
.particle:nth-child(35) {
    top: 56.862745098%;
    left: 69.8818897638%;
    font-size: 16px;
    filter: blur(0.7px);
    animation: 26s float infinite;
}
.particle:nth-child(36) {
    top: 77.5460122699%;
    left: 94.5812807882%;
    font-size: 15px;
    filter: blur(0.72px);
    animation: 22s float infinite;
}
.particle:nth-child(37) {
    top: 67.4698795181%;
    left: 25.2427184466%;
    font-size: 30px;
    filter: blur(0.74px);
    animation: 38s floatReverse infinite;
}
.particle:nth-child(38) {
    top: 12.5301204819%;
    left: 54.3689320388%;
    font-size: 30px;
    filter: blur(0.76px);
    animation: 26s float2 infinite;
}
.particle:nth-child(39) {
    top: 94.2331288344%;
    left: 72.9064039409%;
    font-size: 15px;
    filter: blur(0.78px);
    animation: 34s floatReverse2 infinite;
}
.particle:nth-child(40) {
    top: 16.6666666667%;
    left: 5.905511811%;
    font-size: 16px;
    filter: blur(0.8px);
    animation: 23s float2 infinite;
}
.particle:nth-child(41) {
    top: 16.4053075995%;
    left: 79.6890184645%;
    font-size: 29px;
    filter: blur(0.82px);
    animation: 21s floatReverse2 infinite;
}
.particle:nth-child(42) {
    top: 11.6504854369%;
    left: 71.2890625%;
    font-size: 24px;
    filter: blur(0.84px);
    animation: 29s float2 infinite;
}
.particle:nth-child(43) {
    top: 35.0364963504%;
    left: 13.698630137%;
    font-size: 22px;
    filter: blur(0.86px);
    animation: 35s floatReverse infinite;
}
.particle:nth-child(44) {
    top: 14.6699266504%;
    left: 59.9214145383%;
    font-size: 18px;
    filter: blur(0.88px);
    animation: 25s floatReverse infinite;
}
.particle:nth-child(45) {
    top: 20.5378973105%;
    left: 5.8939096267%;
    font-size: 18px;
    filter: blur(0.9px);
    animation: 26s float2 infinite;
}
.particle:nth-child(46) {
    top: 49.3218249075%;
    left: 84.0751730959%;
    font-size: 11px;
    filter: blur(0.92px);
    animation: 36s float infinite;
}
.particle:nth-child(47) {
    top: 89.1041162228%;
    left: 29.2397660819%;
    font-size: 26px;
    filter: blur(0.94px);
    animation: 26s floatReverse2 infinite;
}
.particle:nth-child(48) {
    top: 38.2352941176%;
    left: 85.6299212598%;
    font-size: 16px;
    filter: blur(0.96px);
    animation: 26s floatReverse2 infinite;
}
.particle:nth-child(49) {
    top: 92.7536231884%;
    left: 61.2840466926%;
    font-size: 28px;
    filter: blur(0.98px);
    animation: 36s floatReverse2 infinite;
}
.particle:nth-child(50) {
    top: 55.8139534884%;
    left: 90.4621435595%;
    font-size: 17px;
    filter: blur(1px);
    animation: 35s float2 infinite;
}
.particle:nth-child(51) {
    top: 62.2871046229%;
    left: 32.28962818%;
    font-size: 22px;
    filter: blur(1.02px);
    animation: 34s floatReverse2 infinite;
}
.particle:nth-child(52) {
    top: 32.3926380368%;
    left: 7.881773399%;
    font-size: 15px;
    filter: blur(1.04px);
    animation: 31s floatReverse infinite;
}
.particle:nth-child(53) {
    top: 53.0120481928%;
    left: 24.2718446602%;
    font-size: 30px;
    filter: blur(1.06px);
    animation: 33s float infinite;
}
.particle:nth-child(54) {
    top: 36.7149758454%;
    left: 14.5914396887%;
    font-size: 28px;
    filter: blur(1.08px);
    animation: 33s floatReverse2 infinite;
}
.particle:nth-child(55) {
    top: 24.57002457%;
    left: 66.0749506903%;
    font-size: 14px;
    filter: blur(1.1px);
    animation: 33s float infinite;
}
.particle:nth-child(56) {
    top: 69.9878493317%;
    left: 93.8416422287%;
    font-size: 23px;
    filter: blur(1.12px);
    animation: 27s floatReverse2 infinite;
}
.particle:nth-child(57) {
    top: 51.5188335358%;
    left: 53.7634408602%;
    font-size: 23px;
    filter: blur(1.14px);
    animation: 30s float infinite;
}
.particle:nth-child(58) {
    top: 74.9391727494%;
    left: 51.8590998043%;
    font-size: 22px;
    filter: blur(1.16px);
    animation: 21s float infinite;
}
.particle:nth-child(59) {
    top: 16.7487684729%;
    left: 25.6916996047%;
    font-size: 12px;
    filter: blur(1.18px);
    animation: 23s float infinite;
}
.particle:nth-child(60) {
    top: 92.00968523%;
    left: 39.9610136452%;
    font-size: 26px;
    filter: blur(1.2px);
    animation: 40s floatReverse infinite;
}
.particle:nth-child(61) {
    top: 42.0024420024%;
    left: 31.4033366045%;
    font-size: 19px;
    filter: blur(1.22px);
    animation: 30s floatReverse infinite;
}
.particle:nth-child(62) {
    top: 86.6180048662%;
    left: 63.6007827789%;
    font-size: 22px;
    filter: blur(1.24px);
    animation: 33s float infinite;
}
.particle:nth-child(63) {
    top: 4.8780487805%;
    left: 89.2156862745%;
    font-size: 20px;
    filter: blur(1.26px);
    animation: 36s floatReverse infinite;
}
.particle:nth-child(64) {
    top: 23.2445520581%;
    left: 82.8460038986%;
    font-size: 26px;
    filter: blur(1.28px);
    animation: 22s floatReverse infinite;
}
.particle:nth-child(65) {
    top: 94.5812807882%;
    left: 63.2411067194%;
    font-size: 12px;
    filter: blur(1.3px);
    animation: 40s float infinite;
}
.particle:nth-child(66) {
    top: 76.7527675277%;
    left: 42.4481737414%;
    font-size: 13px;
    filter: blur(1.32px);
    animation: 30s floatReverse2 infinite;
}
.particle:nth-child(67) {
    top: 83.5380835381%;
    left: 56.2130177515%;
    font-size: 14px;
    filter: blur(1.34px);
    animation: 29s float2 infinite;
}
.particle:nth-child(68) {
    top: 66.6666666667%;
    left: 89.4941634241%;
    font-size: 28px;
    filter: blur(1.36px);
    animation: 39s float infinite;
}
.particle:nth-child(69) {
    top: 18.313253012%;
    left: 26.213592233%;
    font-size: 30px;
    filter: blur(1.38px);
    animation: 33s floatReverse2 infinite;
}
.particle:nth-child(70) {
    top: 82.4539877301%;
    left: 52.2167487685%;
    font-size: 15px;
    filter: blur(1.4px);
    animation: 38s float2 infinite;
}
.particle:nth-child(71) {
    top: 19.680196802%;
    left: 96.7423494571%;
    font-size: 13px;
    filter: blur(1.42px);
    animation: 22s float2 infinite;
}
.particle:nth-child(72) {
    top: 65.3658536585%;
    left: 74.5098039216%;
    font-size: 20px;
    filter: blur(1.44px);
    animation: 22s floatReverse infinite;
}
.particle:nth-child(73) {
    top: 47.4576271186%;
    left: 73.0994152047%;
    font-size: 26px;
    filter: blur(1.46px);
    animation: 40s float2 infinite;
}
.particle:nth-child(74) {
    top: 31.1435523114%;
    left: 61.6438356164%;
    font-size: 22px;
    filter: blur(1.48px);
    animation: 21s float infinite;
}
.particle:nth-child(75) {
    top: 83.8471023428%;
    left: 65.2818991098%;
    font-size: 11px;
    filter: blur(1.5px);
    animation: 31s floatReverse2 infinite;
}
.particle:nth-child(76) {
    top: 59.2952612394%;
    left: 70.3812316716%;
    font-size: 23px;
    filter: blur(1.52px);
    animation: 40s float2 infinite;
}
.particle:nth-child(77) {
    top: 86.5127582017%;
    left: 1.9550342131%;
    font-size: 23px;
    filter: blur(1.54px);
    animation: 31s floatReverse2 infinite;
}
.particle:nth-child(78) {
    top: 23.4432234432%;
    left: 2.9440628067%;
    font-size: 19px;
    filter: blur(1.56px);
    animation: 32s float infinite;
}
.particle:nth-child(79) {
    top: 92.2699386503%;
    left: 95.5665024631%;
    font-size: 15px;
    filter: blur(1.58px);
    animation: 40s floatReverse2 infinite;
}
.particle:nth-child(80) {
    top: 30.8805790109%;
    left: 85.5199222546%;
    font-size: 29px;
    filter: blur(1.6px);
    animation: 37s 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);
    }
}