.animated-bg {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: 0;
    pointer-events: none;
}

.tech-elements {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    margin: 0;
    padding: 0;
}

.tech-elements li {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    list-style: none;
    animation: techFloat 25s linear infinite;
    bottom: -150px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.tech-elements li::before {
    content: '';
    display: none;
}

/* Logo 1 */
.tech-elements li:nth-child(1) {
    left: 15%;
    width: 60px;
    height: 60px;
    opacity: 0.3;
    animation-delay: 0s;
    animation-duration: 20s;
}

/* Logo 2 */
.tech-elements li:nth-child(2) {
    left: 25%;
    width: 45px;
    height: 45px;
    opacity: 0.25;
    animation-delay: 2s;
    animation-duration: 18s;
}

/* Logo 3 */
.tech-elements li:nth-child(3) {
    left: 70%;
    width: 35px;
    height: 35px;
    opacity: 0.3;
    animation-delay: 4s;
    animation-duration: 22s;
}

/* Logo 4 */
.tech-elements li:nth-child(4) {
    left: 45%;
    width: 65px;
    height: 65px;
    opacity: 0.2;
    animation-delay: 1s;
    animation-duration: 24s;
}

/* Logo 5 */
.tech-elements li:nth-child(5) {
    left: 60%;
    width: 40px;
    height: 40px;
    opacity: 0.28;
    animation-delay: 3s;
    animation-duration: 19s;
}

/* Logo 6 */
.tech-elements li:nth-child(6) {
    left: 80%;
    width: 50px;
    height: 50px;
    opacity: 0.22;
    animation-delay: 5s;
    animation-duration: 26s;
}

/* Logo 7 */
.tech-elements li:nth-child(7) {
    left: 35%;
    width: 38px;
    height: 38px;
    opacity: 0.3;
    animation-delay: 7s;
    animation-duration: 21s;
}

/* Logo 8 */
.tech-elements li:nth-child(8) {
    left: 50%;
    width: 45px;
    height: 45px;
    opacity: 0.25;
    animation-delay: 9s;
    animation-duration: 23s;
}

/* Logo 9 */
.tech-elements li:nth-child(9) {
    left: 10%;
    width: 55px;
    height: 55px;
    opacity: 0.2;
    animation-delay: 6s;
    animation-duration: 25s;
}

/* Logo 10 */
.tech-elements li:nth-child(10) {
    left: 90%;
    width: 70px;
    height: 70px;
    opacity: 0.18;
    animation-delay: 8s;
    animation-duration: 27s;
}

/* Logo 11 */
.tech-elements li:nth-child(11) {
    left: 5%;
    width: 48px;
    height: 48px;
    opacity: 0.22;
    animation-delay: 10s;
    animation-duration: 20s;
}

/* Logo 12 */
.tech-elements li:nth-child(12) {
    left: 75%;
    width: 40px;
    height: 40px;
    opacity: 0.27;
    animation-delay: 4s;
    animation-duration: 22s;
}

/* Logo 13 */
.tech-elements li:nth-child(13) {
    left: 55%;
    width: 35px;
    height: 35px;
    opacity: 0.3;
    animation-delay: 11s;
    animation-duration: 19s;
}

/* Logo 14 */
.tech-elements li:nth-child(14) {
    left: 30%;
    width: 52px;
    height: 52px;
    opacity: 0.21;
    animation-delay: 13s;
    animation-duration: 24s;
}

/* Logo 15 */
.tech-elements li:nth-child(15) {
    left: 65%;
    width: 62px;
    height: 62px;
    opacity: 0.23;
    animation-delay: 2s;
    animation-duration: 26s;
}

@keyframes techFloat {
    0% {
        transform: translateY(0) rotate(0deg);
        opacity: 0;
    }
    
    10% {
        opacity: 1;
    }

    90% {
        opacity: 1;
    }

    100% {
        transform: translateY(-1000px) rotate(360deg);
        opacity: 0;
    }
}
