/** BACKGROUND - DESKTOP, TABLET ONLY
*/
:root {
    --bg-color1: rgb(53, 53, 53);
}


.site-background {
    z-index: -1;
    position: fixed;

    top: 0;
    left: 0;

    height: 100vh;
    width: 100vw;

    opacity: 1;
}

.blur-overlay {
    position: absolute;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.2); /* Slight transparency */
    /* backdrop-filter: blur(1px); Apply blur effect */
    /* -webkit-backdrop-filter: blur(1px); For Safari */
    top: 0;
    left: 0;
}



/* BACKGROUND LINES: */
.bg-line {
    position: absolute;
    border: none;
    margin: 0;
}

/* VERTICAL: */
.bg-line.vert1 {
    width: 1px;
    height: 100%;
    top: 55px;
    right: 100px;
    border-left: 5px solid var(--bg-color1);
}
.bg-line.vert2 {
    width: 1px;
    height: 100%;
    top: 55px;
    right: 180px;
    border-left: 2px solid var(--bg-color1);
}


/* HORIZONTAL: */
.bg-line.hori0 {
    width: 100%;
    height: 2px;
    top: 120px;
    right: 0;
    border-top: 2px solid var(--bg-color1);
}

.bg-line.hori1 {
    width: 100%;
    height: 2px;
    top: 190px;
    right: 0;
    border-top: 2px solid var(--bg-color1);
}
.bg-line.hori2 {
    width: 1500px;
    height: 2px;
    top: 620px;
    right: -15%;
    border-top: 2px solid var(--bg-color1);
    transform: rotate(-25deg);
}
.bg-line.hori3 {
    width: 1000px;
    height: 2px;
    top: 700px;
    right: -25%;
    border-top: 2px solid var(--bg-color1);
    transform: rotate(-50deg);
}


/* CIRCLE: */
.circle{
  position: absolute;
  border-radius: 50%;
  background: white;
}



.small{
    animation: rotate-bg 10s linear infinite;
    border: 3px dashed var(--bg-color1);
    opacity: 1;

  width: 150px;
  height: 150px;
  left: -75px;
  bottom: -75px;
}

.large{
    border: 2px solid var(--bg-color1);
    opacity: 1;

  width: 600px;
  height: 600px;
  left: -300px;
  bottom: -300px;
}

.xlarge{
    border: 4px solid var(--bg-color1);
    opacity: 1;
    animation: ripple-slow 15s infinite;

  width: 800px;
  height: 800px;
  left: -400px;
  bottom: -400px;
}

.xxlarge{
    opacity: 1;
    animation: ripple-fast 15s infinite;
    border: 2px solid var(--accent-color);

  width: 1000px;
  height: 1000px;
  left: -500px;
  bottom: -500px;
}


/* LOTTIE: */
#bg-gear {
    position: fixed;
    width: 400px;
    height: 400px;

    left: -200px;
    bottom:  -200px;

    animation: rotate-bg 10s reverse infinite;
}



/* ANIMATIONS: */
@keyframes ripple-slow{
    0% {
        transform: scale(0.8);
    }
  
    50% {
        transform: scale(1.2);
    }
  
    100% {
        transform: scale(0.8);
    }
}

@keyframes ripple-fast{
    0% {
        transform: scale(0.8);
    }
  
    25% {
        transform: scale(1.2);
    }

    50% {
        transform: scale(1.2);
    }
  
    100% {
        transform: scale(0.8);
    }
}

@keyframes rotate-bg {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}


/* UNUSED */
.pulse1{
    animation: pulse-bg 4s linear 1s infinite;
    border: 2px solid var(--bg-color1);
    background-color: transparent;

    bottom: -235px;
    left: -235px;

    width: 470px;
    height: 470px;


}
@keyframes pulse-bg {
    0% {
        width: 470px;
        height: 470px;

        bottom: -235px;
        left: -235px;

        opacity: 1;
    }
    50% {
        width: 1300px;
        height: 1300px;

        left: -650px;
        bottom: -650px;

        opacity: 1;
    }
    55% {
        width: 1300px;
        height: 1300px;

        left: -650px;
        bottom: -650px;

        opacity: 0;
    }



    90% {
        width: 470px;
        height: 470px;

        bottom: -235px;
        left: -235px;

        opacity: 0;
    }
    100% {
        width: 470px;
        height: 470px;

        bottom: -235px;
        left: -235px;
        opacity: 1;
    }
}

.moving-line {
    width: 200px;
    height: 2px;
    background-color: var(--bg-color1);
    position: absolute;
    top: 175px;
    left: 0;
    animation: slideLine 6s linear infinite;
}
@keyframes slideLine {
    0%{
        transform: translateX(-100%);
    }
    50% {
        transform: translateX(-100%);      
    }

    100% {
        transform: translateX(200vw);
    }
}


@keyframes slideVertical {
    from {
        transform: translateY(100%);
    }
    to {
        transform: translateY(-200vw);
    }
}
.moving-vertical-line {
    width: 3px;
    height: 200px;
    background-color: var(--bg-color1);
    position: absolute;
    right: 120px;
    bottom: 0;
    animation: slideVertical 6s linear infinite;
}

