main {
    margin-top: 60px;
    padding: 0;
    transition: margin-left var(--gx-transition-speed) cubic-bezier(0.4, 0, 0.2, 1), 
                width var(--gx-transition-speed) cubic-bezier(0.4, 0, 0.2, 1);
    min-height: calc(100vh - 60px);
    box-sizing: border-box;
    width: 100%;
    display: block;
    overflow-x: hidden;
    position: relative;
}

main::before,
main::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 0;
}

main::before {
    background-image: 
        linear-gradient(to bottom, transparent, #007bff 20%, #007bff 80%, transparent),
        linear-gradient(to bottom, transparent, #007bff 20%, #007bff 80%, transparent),
        linear-gradient(to bottom, transparent, #007bff 20%, #007bff 80%, transparent),
        linear-gradient(to bottom, transparent, #007bff 20%, #007bff 80%, transparent);
    background-repeat: no-repeat;
    background-size: 1px 15vh, 1px 25vh, 1px 10vh, 1px 18vh;
    animation: dropGroup 8s infinite linear;
}

main::after {
    background-image: 
        linear-gradient(to bottom, transparent, #007bff 20%, #007bff 80%, transparent),
        linear-gradient(to bottom, transparent, #007bff 20%, #007bff 80%, transparent),
        linear-gradient(to bottom, transparent, #007bff 20%, #007bff 80%, transparent),
        linear-gradient(to bottom, transparent, #007bff 20%, #007bff 80%, transparent);
    background-repeat: no-repeat;
    background-size: 1px 20vh, 1px 12vh, 1px 30vh, 1px 15vh;
    animation: dropGroup 8s infinite linear;
    animation-delay: 4s;
}

@keyframes dropGroup {
    0% {
        background-position: 15% -30vh, 35% -50vh, 65% -35vh, 85% -60vh;
        opacity: 0;
    }
    10% {
        opacity: 1;
    }
    90% {
        opacity: 1;
    }
    100% {
        background-position: 15% 100%, 35% 100%, 65% 100%, 85% 100%;
        opacity: 0;
    }
}

main div {
    box-sizing: border-box;
    max-width: 100%;
    position: relative;
    z-index: 1;
}

@media (min-width: 769px) {
    #gxSideMenu.gx-open ~ main {
        margin-left: 260px;
        width: calc(100% - 260px);
    }
}

@media (max-width: 768px) {
    main {
        margin-left: 0 !important;
        width: 100% !important;
        padding: 0;
    }
}