* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
body {
    margin: 0;
    background: radial-gradient(circle, #1a0a00, #000);
    height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    color: gold;
    font-family: "Georgia", serif;
}

canvas {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.svg-container {
    position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden;
    /*filter: drop-shadow(0 0 10px rgba(255, 215, 0, 0.5));*/
    z-index: 10;
}
#fireworks {
    opacity: 0.3;
}

.svg-container .god {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
}
.svg-container .god img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: drop-shadow(0 0 10px rgba(255, 215, 0, 0.5));
}

.bubble {
    position: absolute;
    left: var(--bubble-left-offset);
    bottom: -10%;
    display: block;
    width: var(--bubble-radius);
    height: var(--bubble-radius);
    border-radius: 50%;
    animation: float-up var(--bubble-float-duration) var(--bubble-float-delay)
        ease-in infinite;
        z-index: 2;
        opacity: .4;
}
.bubble::before {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgb(255, 60, 30);
    box-shadow:
        0px 0px 25px 12px rgba(255, 88, 37, 0.71),
        0px 0px 25px 12px rgba(255, 123, 80, 0.367),
        0px 0px 25px 12px rgb(236, 91, 7) inset;
    border-radius: inherit;
    animation: var(--bubble-sway-type) var(--bubble-sway-duration)
        var(--bubble-sway-delay) ease-in-out alternate infinite;
}

#ghs1 {
    position: absolute;
    left: var(--bubble-left-offset);
    bottom: -75%;
    display: block;
    width: var(--bubble-radius);
    height: var(--bubble-radius);
    border-radius: 50%;
    animation: float-up var(--bubble-float-duration) var(--bubble-float-delay)
        ease-in infinite;
}
#ghs1::before {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgb(150, 255, 50);
    box-shadow:
        0px 0px 25px 12px rgba(144, 255, 96, 0.767),
        0px 0px 25px 12px rgba(92, 255, 80, 0.465),
        0px 0px 25px 12px rgba(140, 255, 90, 0.492) inset;
    border-radius: inherit;
    animation: var(--bubble-sway-type) var(--bubble-sway-duration)
        var(--bubble-sway-delay) ease-in-out alternate infinite;
}

#ghs2 {
    position: absolute;
    left: var(--bubble-left-offset);
    bottom: -75%;
    display: block;
    width: var(--bubble-radius);
    height: var(--bubble-radius);
    border-radius: 50%;
    animation: float-up var(--bubble-float-duration) var(--bubble-float-delay)
        ease-in infinite;
}
#ghs2::before {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(136, 246, 251, 0.3);
    box-shadow:
        0px 0px 25px 12px rgba(96, 255, 222, 0.522),
        0px 0px 25px 12px rgba(80, 219, 255, 0.459),
        0px 0px 25px 12px rgba(90, 255, 136, 0.812) inset;
    border-radius: inherit;
    animation: var(--bubble-sway-type) var(--bubble-sway-duration)
        var(--bubble-sway-delay) ease-in-out alternate infinite;
}
#ghs3 {
    position: absolute;
    left: var(--bubble-left-offset);
    bottom: -75%;
    display: block;
    width: var(--bubble-radius);
    height: var(--bubble-radius);
    border-radius: 50%;
    animation: float-up var(--bubble-float-duration) var(--bubble-float-delay)
        ease-in infinite;
}
#ghs3::before {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 190, 45, 0.3);
    box-shadow:
        0px 0px 25px 12px rgba(255, 218, 48, 0.905),
        0px 0px 25px 12px rgba(248, 255, 28, 0.459),
        0px 0px 25px 12px rgba(254, 255, 52, 0.445) inset;
    border-radius: inherit;
    animation: var(--bubble-sway-type) var(--bubble-sway-duration)
        var(--bubble-sway-delay) ease-in-out alternate infinite;
}

#ghs4 {
    position: absolute;
    left: var(--bubble-left-offset);
    bottom: -75%;
    display: block;
    width: var(--bubble-radius);
    height: var(--bubble-radius);
    border-radius: 50%;
    animation: float-up var(--bubble-float-duration) var(--bubble-float-delay)
        ease-in infinite;
}
#ghs4::before {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgb(255, 28, 247);
    box-shadow:
        0px 0px 25px 12px rgba(225, 96, 255, 0.85),
        0px 0px 25px 12px rgba(255, 80, 251, 0.78),
        0px 0px 25px 12px rgba(241, 9, 242, 0.447) inset;
    border-radius: inherit;
    animation: var(--bubble-sway-type) var(--bubble-sway-duration)
        var(--bubble-sway-delay) ease-in-out alternate infinite;
}

#ghs5 {
    position: absolute;
    left: var(--bubble-left-offset);
    bottom: -75%;
    display: block;
    width: var(--bubble-radius);
    height: var(--bubble-radius);
    border-radius: 50%;
    animation: float-up var(--bubble-float-duration) var(--bubble-float-delay)
        ease-in infinite;
}
#ghs5::before {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgb(0, 85, 243);
    box-shadow:
        0px 0px 25px 12px rgba(9, 149, 255, 0.542),
        0px 0px 25px 12px rgba(4, 151, 246, 0.697),
        0px 0px 25px 12px rgba(23, 125, 255, 0.357) inset;
    border-radius: inherit;
    animation: var(--bubble-sway-type) var(--bubble-sway-duration)
        var(--bubble-sway-delay) ease-in-out alternate infinite;
}

#ghs6 {
    position: absolute;
    left: var(--bubble-left-offset);
    bottom: -75%;
    display: block;
    width: var(--bubble-radius);
    height: var(--bubble-radius);
    border-radius: 50%;
    animation: float-up var(--bubble-float-duration) var(--bubble-float-delay)
        ease-in infinite;
}
#ghs6::before {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgb(255, 255, 255);
    box-shadow:
        0px 0px 25px 12px rgba(255, 255, 255, 0.745),
        0px 0px 25px 12px rgba(255, 255, 255, 0.39),
        0px 0px 25px 12px rgba(196, 248, 255, 0.31) inset;
    border-radius: inherit;
    animation: var(--bubble-sway-type) var(--bubble-sway-duration)
        var(--bubble-sway-delay) ease-in-out alternate infinite;
}

/* STYLING */
.bubble:nth-child(0) {
    --bubble-left-offset: 50vw;
    --bubble-radius: 1vw;
    --bubble-float-duration: 6s;
    --bubble-sway-duration: 6s;
    --bubble-float-delay: 1s;
    --bubble-sway-delay: 0s;
    --bubble-sway-type: sway-right-to-left;
}
.bubble:nth-child(1) {
    --bubble-left-offset: 73vw;
    --bubble-radius: 7vw;
    --bubble-float-duration: 8s;
    --bubble-sway-duration: 5s;
    --bubble-float-delay: 3s;
    --bubble-sway-delay: 2s;
    --bubble-sway-type: sway-right-to-left;
}
.bubble:nth-child(2) {
    --bubble-left-offset: 99vw;
    --bubble-radius: 1vw;
    --bubble-float-duration: 8s;
    --bubble-sway-duration: 6s;
    --bubble-float-delay: 3s;
    --bubble-sway-delay: 2s;
    --bubble-sway-type: sway-left-to-right;
}
.bubble:nth-child(3) {
    --bubble-left-offset: 7vw;
    --bubble-radius: 8vw;
    --bubble-float-duration: 7s;
    --bubble-sway-duration: 5s;
    --bubble-float-delay: 4s;
    --bubble-sway-delay: 4s;
    --bubble-sway-type: sway-right-to-left;
}
.bubble:nth-child(4) {
    --bubble-left-offset: 9vw;
    --bubble-radius: 4vw;
    --bubble-float-duration: 9s;
    --bubble-sway-duration: 5s;
    --bubble-float-delay: 4s;
    --bubble-sway-delay: 3s;
    --bubble-sway-type: sway-right-to-left;
}
.bubble:nth-child(5) {
    --bubble-left-offset: 93vw;
    --bubble-radius: 6vw;
    --bubble-float-duration: 12s;
    --bubble-sway-duration: 5s;
    --bubble-float-delay: 2s;
    --bubble-sway-delay: 3s;
    --bubble-sway-type: sway-left-to-right;
}
.bubble:nth-child(6) {
    --bubble-left-offset: 84vw;
    --bubble-radius: 9vw;
    --bubble-float-duration: 7s;
    --bubble-sway-duration: 4s;
    --bubble-float-delay: 1s;
    --bubble-sway-delay: 4s;
    --bubble-sway-type: sway-left-to-right;
}
.bubble:nth-child(7) {
    --bubble-left-offset: 14vw;
    --bubble-radius: 4vw;
    --bubble-float-duration: 12s;
    --bubble-sway-duration: 6s;
    --bubble-float-delay: 2s;
    --bubble-sway-delay: 0s;
    --bubble-sway-type: sway-left-to-right;
}
.bubble:nth-child(8) {
    --bubble-left-offset: 10vw;
    --bubble-radius: 1vw;
    --bubble-float-duration: 11s;
    --bubble-sway-duration: 4s;
    --bubble-float-delay: 1s;
    --bubble-sway-delay: 4s;
    --bubble-sway-type: sway-left-to-right;
}
.bubble:nth-child(9) {
    --bubble-left-offset: 28vw;
    --bubble-radius: 8vw;
    --bubble-float-duration: 7s;
    --bubble-sway-duration: 6s;
    --bubble-float-delay: 2s;
    --bubble-sway-delay: 4s;
    --bubble-sway-type: sway-left-to-right;
}
.bubble:nth-child(10) {
    --bubble-left-offset: 45vw;
    --bubble-radius: 9vw;
    --bubble-float-duration: 12s;
    --bubble-sway-duration: 6s;
    --bubble-float-delay: 1s;
    --bubble-sway-delay: 1s;
    --bubble-sway-type: sway-left-to-right;
}
.bubble:nth-child(11) {
    --bubble-left-offset: 15vw;
    --bubble-radius: 1vw;
    --bubble-float-duration: 6s;
    --bubble-sway-duration: 6s;
    --bubble-float-delay: 2s;
    --bubble-sway-delay: 0s;
    --bubble-sway-type: sway-left-to-right;
}
.bubble:nth-child(12) {
    --bubble-left-offset: 14vw;
    --bubble-radius: 8vw;
    --bubble-float-duration: 11s;
    --bubble-sway-duration: 5s;
    --bubble-float-delay: 1s;
    --bubble-sway-delay: 1s;
    --bubble-sway-type: sway-right-to-left;
}
.bubble:nth-child(13) {
    --bubble-left-offset: 57vw;
    --bubble-radius: 6vw;
    --bubble-float-duration: 7s;
    --bubble-sway-duration: 4s;
    --bubble-float-delay: 1s;
    --bubble-sway-delay: 3s;
    --bubble-sway-type: sway-left-to-right;
}
.bubble:nth-child(14) {
    --bubble-left-offset: 90vw;
    --bubble-radius: 6vw;
    --bubble-float-duration: 7s;
    --bubble-sway-duration: 5s;
    --bubble-float-delay: 4s;
    --bubble-sway-delay: 3s;
    --bubble-sway-type: sway-left-to-right;
}
.bubble:nth-child(15) {
    --bubble-left-offset: 78vw;
    --bubble-radius: 6vw;
    --bubble-float-duration: 11s;
    --bubble-sway-duration: 5s;
    --bubble-float-delay: 0s;
    --bubble-sway-delay: 4s;
    --bubble-sway-type: sway-left-to-right;
}
.bubble:nth-child(16) {
    --bubble-left-offset: 4vw;
    --bubble-radius: 7vw;
    --bubble-float-duration: 12s;
    --bubble-sway-duration: 4s;
    --bubble-float-delay: 0s;
    --bubble-sway-delay: 1s;
    --bubble-sway-type: sway-right-to-left;
}
.bubble:nth-child(17) {
    --bubble-left-offset: 43vw;
    --bubble-radius: 8vw;
    --bubble-float-duration: 8s;
    --bubble-sway-duration: 5s;
    --bubble-float-delay: 4s;
    --bubble-sway-delay: 2s;
    --bubble-sway-type: sway-left-to-right;
}
.bubble:nth-child(18) {
    --bubble-left-offset: 10vw;
    --bubble-radius: 10vw;
    --bubble-float-duration: 7s;
    --bubble-sway-duration: 6s;
    --bubble-float-delay: 3s;
    --bubble-sway-delay: 2s;
    --bubble-sway-type: sway-left-to-right;
}
.bubble:nth-child(19) {
    --bubble-left-offset: 90vw;
    --bubble-radius: 5vw;
    --bubble-float-duration: 11s;
    --bubble-sway-duration: 5s;
    --bubble-float-delay: 0s;
    --bubble-sway-delay: 4s;
    --bubble-sway-type: sway-right-to-left;
}
.bubble:nth-child(20) {
    --bubble-left-offset: 25vw;
    --bubble-radius: 6vw;
    --bubble-float-duration: 10s;
    --bubble-sway-duration: 4s;
    --bubble-float-delay: 2s;
    --bubble-sway-delay: 1s;
    --bubble-sway-type: sway-left-to-right;
}
.bubble:nth-child(21) {
    --bubble-left-offset: 82vw;
    --bubble-radius: 3vw;
    --bubble-float-duration: 8s;
    --bubble-sway-duration: 6s;
    --bubble-float-delay: 0s;
    --bubble-sway-delay: 4s;
    --bubble-sway-type: sway-right-to-left;
}
.bubble:nth-child(22) {
    --bubble-left-offset: 67vw;
    --bubble-radius: 4vw;
    --bubble-float-duration: 11s;
    --bubble-sway-duration: 5s;
    --bubble-float-delay: 4s;
    --bubble-sway-delay: 4s;
    --bubble-sway-type: sway-right-to-left;
}
.bubble:nth-child(23) {
    --bubble-left-offset: 4vw;
    --bubble-radius: 4vw;
    --bubble-float-duration: 6s;
    --bubble-sway-duration: 5s;
    --bubble-float-delay: 1s;
    --bubble-sway-delay: 4s;
    --bubble-sway-type: sway-right-to-left;
}
.bubble:nth-child(24) {
    --bubble-left-offset: 23vw;
    --bubble-radius: 4vw;
    --bubble-float-duration: 6s;
    --bubble-sway-duration: 5s;
    --bubble-float-delay: 0s;
    --bubble-sway-delay: 0s;
    --bubble-sway-type: sway-right-to-left;
}
.bubble:nth-child(25) {
    --bubble-left-offset: 50vw;
    --bubble-radius: 2vw;
    --bubble-float-duration: 9s;
    --bubble-sway-duration: 6s;
    --bubble-float-delay: 4s;
    --bubble-sway-delay: 1s;
    --bubble-sway-type: sway-left-to-right;
}
.bubble:nth-child(26) {
    --bubble-left-offset: 70vw;
    --bubble-radius: 4vw;
    --bubble-float-duration: 10s;
    --bubble-sway-duration: 4s;
    --bubble-float-delay: 3s;
    --bubble-sway-delay: 1s;
    --bubble-sway-type: sway-left-to-right;
}
.bubble:nth-child(27) {
    --bubble-left-offset: 35vw;
    --bubble-radius: 9vw;
    --bubble-float-duration: 11s;
    --bubble-sway-duration: 4s;
    --bubble-float-delay: 1s;
    --bubble-sway-delay: 4s;
    --bubble-sway-type: sway-right-to-left;
}
.bubble:nth-child(28) {
    --bubble-left-offset: 90vw;
    --bubble-radius: 1vw;
    --bubble-float-duration: 12s;
    --bubble-sway-duration: 6s;
    --bubble-float-delay: 0s;
    --bubble-sway-delay: 1s;
    --bubble-sway-type: sway-right-to-left;
}
.bubble:nth-child(29) {
    --bubble-left-offset: 10vw;
    --bubble-radius: 5vw;
    --bubble-float-duration: 7s;
    --bubble-sway-duration: 4s;
    --bubble-float-delay: 1s;
    --bubble-sway-delay: 2s;
    --bubble-sway-type: sway-left-to-right;
}
.bubble:nth-child(30) {
    --bubble-left-offset: 55vw;
    --bubble-radius: 6vw;
    --bubble-float-duration: 10s;
    --bubble-sway-duration: 4s;
    --bubble-float-delay: 2s;
    --bubble-sway-delay: 0s;
    --bubble-sway-type: sway-right-to-left;
}
.bubble:nth-child(31) {
    --bubble-left-offset: 92vw;
    --bubble-radius: 6vw;
    --bubble-float-duration: 11s;
    --bubble-sway-duration: 4s;
    --bubble-float-delay: 3s;
    --bubble-sway-delay: 4s;
    --bubble-sway-type: sway-right-to-left;
}
.bubble:nth-child(32) {
    --bubble-left-offset: 88vw;
    --bubble-radius: 2vw;
    --bubble-float-duration: 7s;
    --bubble-sway-duration: 6s;
    --bubble-float-delay: 3s;
    --bubble-sway-delay: 0s;
    --bubble-sway-type: sway-right-to-left;
}
.bubble:nth-child(33) {
    --bubble-left-offset: 66vw;
    --bubble-radius: 6vw;
    --bubble-float-duration: 6s;
    --bubble-sway-duration: 5s;
    --bubble-float-delay: 4s;
    --bubble-sway-delay: 3s;
    --bubble-sway-type: sway-left-to-right;
}
.bubble:nth-child(34) {
    --bubble-left-offset: 28vw;
    --bubble-radius: 5vw;
    --bubble-float-duration: 8s;
    --bubble-sway-duration: 6s;
    --bubble-float-delay: 1s;
    --bubble-sway-delay: 4s;
    --bubble-sway-type: sway-left-to-right;
}
.bubble:nth-child(35) {
    --bubble-left-offset: 65vw;
    --bubble-radius: 1vw;
    --bubble-float-duration: 11s;
    --bubble-sway-duration: 5s;
    --bubble-float-delay: 0s;
    --bubble-sway-delay: 4s;
    --bubble-sway-type: sway-left-to-right;
}
.bubble:nth-child(36) {
    --bubble-left-offset: 100vw;
    --bubble-radius: 4vw;
    --bubble-float-duration: 12s;
    --bubble-sway-duration: 6s;
    --bubble-float-delay: 3s;
    --bubble-sway-delay: 2s;
    --bubble-sway-type: sway-left-to-right;
}
.bubble:nth-child(37) {
    --bubble-left-offset: 90vw;
    --bubble-radius: 3vw;
    --bubble-float-duration: 9s;
    --bubble-sway-duration: 6s;
    --bubble-float-delay: 3s;
    --bubble-sway-delay: 2s;
    --bubble-sway-type: sway-left-to-right;
}
.bubble:nth-child(38) {
    --bubble-left-offset: 32vw;
    --bubble-radius: 5vw;
    --bubble-float-duration: 10s;
    --bubble-sway-duration: 4s;
    --bubble-float-delay: 3s;
    --bubble-sway-delay: 1s;
    --bubble-sway-type: sway-right-to-left;
}
.bubble:nth-child(39) {
    --bubble-left-offset: 61vw;
    --bubble-radius: 8vw;
    --bubble-float-duration: 11s;
    --bubble-sway-duration: 4s;
    --bubble-float-delay: 3s;
    --bubble-sway-delay: 0s;
    --bubble-sway-type: sway-right-to-left;
}
.bubble:nth-child(40) {
    --bubble-left-offset: 2vw;
    --bubble-radius: 3vw;
    --bubble-float-duration: 9s;
    --bubble-sway-duration: 4s;
    --bubble-float-delay: 4s;
    --bubble-sway-delay: 4s;
    --bubble-sway-type: sway-left-to-right;
}
.bubble:nth-child(41) {
    --bubble-left-offset: 77vw;
    --bubble-radius: 10vw;
    --bubble-float-duration: 11s;
    --bubble-sway-duration: 6s;
    --bubble-float-delay: 2s;
    --bubble-sway-delay: 4s;
    --bubble-sway-type: sway-right-to-left;
}
.bubble:nth-child(42) {
    --bubble-left-offset: 49vw;
    --bubble-radius: 6vw;
    --bubble-float-duration: 9s;
    --bubble-sway-duration: 6s;
    --bubble-float-delay: 2s;
    --bubble-sway-delay: 3s;
    --bubble-sway-type: sway-left-to-right;
}
.bubble:nth-child(43) {
    --bubble-left-offset: 44vw;
    --bubble-radius: 1vw;
    --bubble-float-duration: 9s;
    --bubble-sway-duration: 4s;
    --bubble-float-delay: 1s;
    --bubble-sway-delay: 3s;
    --bubble-sway-type: sway-left-to-right;
}
.bubble:nth-child(44) {
    --bubble-left-offset: 73vw;
    --bubble-radius: 7vw;
    --bubble-float-duration: 9s;
    --bubble-sway-duration: 4s;
    --bubble-float-delay: 3s;
    --bubble-sway-delay: 0s;
    --bubble-sway-type: sway-left-to-right;
}
.bubble:nth-child(45) {
    --bubble-left-offset: 86vw;
    --bubble-radius: 9vw;
    --bubble-float-duration: 12s;
    --bubble-sway-duration: 6s;
    --bubble-float-delay: 3s;
    --bubble-sway-delay: 1s;
    --bubble-sway-type: sway-right-to-left;
}
.bubble:nth-child(46) {
    --bubble-left-offset: 65vw;
    --bubble-radius: 1vw;
    --bubble-float-duration: 12s;
    --bubble-sway-duration: 4s;
    --bubble-float-delay: 3s;
    --bubble-sway-delay: 3s;
    --bubble-sway-type: sway-right-to-left;
}
.bubble:nth-child(47) {
    --bubble-left-offset: 97vw;
    --bubble-radius: 9vw;
    --bubble-float-duration: 7s;
    --bubble-sway-duration: 6s;
    --bubble-float-delay: 4s;
    --bubble-sway-delay: 2s;
    --bubble-sway-type: sway-left-to-right;
}
.bubble:nth-child(48) {
    --bubble-left-offset: 13vw;
    --bubble-radius: 8vw;
    --bubble-float-duration: 12s;
    --bubble-sway-duration: 4s;
    --bubble-float-delay: 1s;
    --bubble-sway-delay: 0s;
    --bubble-sway-type: sway-left-to-right;
}
.bubble:nth-child(49) {
    --bubble-left-offset: 98vw;
    --bubble-radius: 6vw;
    --bubble-float-duration: 7s;
    --bubble-sway-duration: 4s;
    --bubble-float-delay: 4s;
    --bubble-sway-delay: 3s;
    --bubble-sway-type: sway-right-to-left;
}
.bubble:nth-child(50) {
    --bubble-left-offset: 26vw;
    --bubble-radius: 6vw;
    --bubble-float-duration: 10s;
    --bubble-sway-duration: 4s;
    --bubble-float-delay: 0s;
    --bubble-sway-delay: 2s;
    --bubble-sway-type: sway-left-to-right;
}

@keyframes float-up {
    to {
        transform: translateY(-175vh);
    }
}
@keyframes sway-left-to-right {
    from {
        transform: translateX(-100%);
    }
    to {
        transform: translateX(100%);
    }
}
@keyframes sway-right-to-left {
    from {
        transform: translateX(100%);
    }
    to {
        transform: translateX(-100%);
    }
}
