* {
    font-family: 'Gilroy Light' !important;
}

html {
    height: 100%;
    overflow: hidden;
}

body {
    height: 100%;
    margin: 0px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #000;
    position: relative;
}

@font-face {
    font-family: 'Gilroy Light';
    src: url("../fonts/Gilroy-Light.otf")
}

@font-face {
    font-family: 'Somar Medium';
    src: url("../fonts/Somar-Medium.otf")
}

@font-face {
    font-family: 'Gilroy ExtraBold';
    src: url("../fonts/Gilroy-ExtraBold.otf")
}

.gilroy-exb {
    font-family: 'Gilroy ExtraBold' !important;
}

.gilroy-somarmd {
    font-family: 'Somar Medium' !important;
}

.container-anime {
    width: 100%;
    height: 100%;
}

.container-anime .waves {
    width: 100%;
    height: 100%;
}

.rain {
    position: relative;
    width: 100%;
    height: 100%;
}

.drop {
    background-color: white;
    height: 30px;
    width: 30px;
    border-radius: 15px;
    position: absolute;
    z-index: 500;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-animation: 3s 3s linear alternate infinite boxShadow;
    animation: 3s 3s linear alternate infinite boxShadow;
    box-shadow: 0px 0px 55px 20px rgb(255 255 255 / 20%)
}

.waves>.waves-cir {
    width: 0;
    height: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    border: 2px ridge #707070b2;
    -webkit-animation: spread 5s linear infinite backwards;
    animation: spread 5s linear infinite backwards;
    /* box-shadow: 0px 0px 18px 10px rgb(255 255 255 / 15%); */
}

@-webkit-keyframes spread {
    from {
        width: 0;
        height: 0;
    }
    to {
        width: 2500px;
        height: 2500px;
    }
}

@keyframes spread {
    from {
        width: 0;
        height: 0;
    }
    to {
        width: 2500px;
        height: 2500px;
    }
}

.waves>.waves-cir:first-of-type {
    -webkit-animation-delay: 7.3s;
    animation-delay: 7.3s;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
}

.waves>.waves-cir:nth-child(2) {
    -webkit-animation-delay: 7.6s;
    animation-delay: 7.6s;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
}

.waves>.waves-cir:nth-child(3) {
    -webkit-animation-delay: 7.9s;
    animation-delay: 7.9s;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
}

.bodyNum {
    position: absolute;
    left: 8%;
    bottom: 8%;
    display: flex;
    -webkit-animation: fadeIn 1.5s ease-in-out 1 forwards;
    animation: fadeIn 1.5s ease-in-out 1 forwards;
}

.bodyNum p {
    color: #646464;
    margin: 0;
}

.bodyNum p:nth-of-type(2) {
    -webkit-animation: bodyNumOpacity 1.5s 1s ease-in-out infinite alternate;
    animation: bodyNumOpacity 1.5s 1s ease-in-out infinite alternate;
}

@-webkit-keyframes bodyNumOpacity {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
    }
}

@keyframes bodyNumOpacity {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
    }
}

.bodyLinks {
    position: absolute;
    z-index: 50;
    right: 5%;
    bottom: 5%;
    display: flex;
    flex-direction: column;
    -webkit-animation: fadeIn 1.5s ease-in-out 1 forwards;
    animation: fadeIn 1.5s ease-in-out 1 forwards;
}

.bodyLinks a {
    color: #fff;
    text-decoration: none;
}

.bodyLinks a:hover svg path {
    opacity: 1;
}

.bodyLinks a svg path {
    opacity: 0;
    transition: all 0.3s linear;
}

.glitch {
    position: relative;
    margin: 0 auto;
    color: #646464;
    font-family: "Exo", sans-serif;
    font-weight: 600;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0.01em;
    transform: scale3d(1, 1, 1);
}

.glitch::before,
.glitch::after {
    content: attr(data-text);
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    overflow: hidden;
    background: #000;
    color: #646464;
    clip: rect(0, 900px, 0, 0);
}

.glitch::before {
    left: 1px;
    text-shadow: 1px 0 #fff;
    animation: glitch-effect 3s infinite linear alternate-reverse;
}

.glitch::after {
    left: 3px;
    text-shadow: -1px 0 #646464;
    animation: glitch-effect 2s infinite linear alternate-reverse;
}

@-webkit-keyframes glitch-effect {
    0% {
        clip: rect(4px, 9999px, 6px, 0);
    }
    5% {
        clip: rect(41px, 9999px, 99px, 0);
    }
    10% {
        clip: rect(27px, 9999px, 91px, 0);
    }
    15% {
        clip: rect(63px, 9999px, 11px, 0);
    }
    20% {
        clip: rect(23px, 9999px, 11px, 0);
    }
    25% {
        clip: rect(79px, 9999px, 28px, 0);
    }
    30% {
        clip: rect(58px, 9999px, 13px, 0);
    }
    35% {
        clip: rect(78px, 9999px, 23px, 0);
    }
    40% {
        clip: rect(35px, 9999px, 8px, 0);
    }
    45% {
        clip: rect(62px, 9999px, 80px, 0);
    }
    50% {
        clip: rect(79px, 9999px, 6px, 0);
    }
    55% {
        clip: rect(85px, 9999px, 47px, 0);
    }
    60% {
        clip: rect(69px, 9999px, 58px, 0);
    }
    65% {
        clip: rect(52px, 9999px, 62px, 0);
    }
    70% {
        clip: rect(54px, 9999px, 82px, 0);
    }
    75% {
        clip: rect(71px, 9999px, 71px, 0);
    }
    80% {
        clip: rect(92px, 9999px, 3px, 0);
    }
    85% {
        clip: rect(25px, 9999px, 2px, 0);
    }
    90% {
        clip: rect(48px, 9999px, 41px, 0);
    }
    95% {
        clip: rect(45px, 9999px, 46px, 0);
    }
    100% {
        clip: rect(32px, 9999px, 27px, 0);
    }
}

@keyframes glitch-effect {
    0% {
        clip: rect(4px, 9999px, 6px, 0);
    }
    5% {
        clip: rect(41px, 9999px, 99px, 0);
    }
    10% {
        clip: rect(27px, 9999px, 91px, 0);
    }
    15% {
        clip: rect(63px, 9999px, 11px, 0);
    }
    20% {
        clip: rect(23px, 9999px, 11px, 0);
    }
    25% {
        clip: rect(79px, 9999px, 28px, 0);
    }
    30% {
        clip: rect(58px, 9999px, 13px, 0);
    }
    35% {
        clip: rect(78px, 9999px, 23px, 0);
    }
    40% {
        clip: rect(35px, 9999px, 8px, 0);
    }
    45% {
        clip: rect(62px, 9999px, 80px, 0);
    }
    50% {
        clip: rect(79px, 9999px, 6px, 0);
    }
    55% {
        clip: rect(85px, 9999px, 47px, 0);
    }
    60% {
        clip: rect(69px, 9999px, 58px, 0);
    }
    65% {
        clip: rect(52px, 9999px, 62px, 0);
    }
    70% {
        clip: rect(54px, 9999px, 82px, 0);
    }
    75% {
        clip: rect(71px, 9999px, 71px, 0);
    }
    80% {
        clip: rect(92px, 9999px, 3px, 0);
    }
    85% {
        clip: rect(25px, 9999px, 2px, 0);
    }
    90% {
        clip: rect(48px, 9999px, 41px, 0);
    }
    95% {
        clip: rect(45px, 9999px, 46px, 0);
    }
    100% {
        clip: rect(32px, 9999px, 27px, 0);
    }
}

.afterPoint {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, 0%);
    width: 2px;
    height: calc(100% - 66%);
    background-color: #ffffff29;
    -webkit-animation: toFullHeight 3s 7s linear backwards;
    animation: toFullHeight 3s 7s linear backwards;
}

@-webkit-keyframes toFullHeight {
    0% {
        height: 0;
    }
    100% {
        height: calc(100% - 66%);
    }
}

@keyframes toFullHeight {
    0% {
        height: 0;
    }
    100% {
        height: calc(100% - 66%);
    }
}

.afterPoint .dot {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
}

.afterPoint .dot .endPoint {
    position: absolute;
    bottom: 0;
    width: 8px;
    height: 8px;
    background-color: #fff;
    border-radius: 50%;
}

.afterPoint .dot .movingSpan {
    position: absolute;
    top: -15px;
    width: 1px;
    height: 8px;
    background-color: #ffffff29;
    border-radius: 50%;
    -webkit-animation: movingSpan 3s 10s linear 1 both, 3s 13s linear alternate infinite boxShadowDot;
    animation: movingSpan 3s 10s linear 1 both, 3s 13s linear alternate infinite boxShadowDot;
    box-shadow: 0px 0px 30px 5px rgb(255 255 255);
}

.afterPoint .dot .lineMoving {
    position: absolute;
    top: -8px;
    width: 2px;
    height: 4px;
    background-color: #fff;
    border-radius: 50%;
    -webkit-animation: movingSpan 3s 10s linear 1 both, 3s 13s linear alternate infinite boxShadowDot;
    animation: movingSpan 3s 10s linear 1 both, 3s 13s linear alternate infinite boxShadowDot;
    box-shadow: 0px 0px 10px 2px rgb(255 255 255 / 80%);
}

@-webkit-keyframes movingSpan {
    form {
        top: -4px;
    }
    to {
        top: calc(100% - (8px));
    }
}

@keyframes movingSpan {
    form {
        top: -4px;
    }
    to {
        top: calc(100% - (8px));
    }
}

@-webkit-keyframes boxShadow {
    form {
        box-shadow: 0px 0px 55px 25px rgb(255 255 255 / 20%);
    }
    to {
        box-shadow: 0px 0px 55px 50px rgb(255 255 255 / 30%);
    }
}

@keyframes boxShadow {
    form {
        box-shadow: 0px 0px 55px 25px rgb(255 255 255 / 20%);
    }
    to {
        box-shadow: 0px 0px 55px 50px rgb(255 255 255 / 30%);
    }
}

@-webkit-keyframes boxShadowDot {
    form {
        box-shadow: 0px 0px 10px 2px rgb(255 255 255 / 80%);
    }
    to {
        box-shadow: 0px 0px 20px 6px rgb(255 255 255 / 80%);
    }
}

@keyframes boxShadowDot {
    form {
        box-shadow: 0px 0px 10px 2px rgb(255 255 255 / 80%);
    }
    to {
        box-shadow: 0px 0px 20px 6px rgb(255 255 255 / 80%);
    }
}

.afterPointInfo {
    color: #fff;
    position: absolute;
    bottom: 8%;
    opacity: 0;
    -webkit-animation: fadeIn 1.5s 10s ease-in-out 1 forwards;
    animation: fadeIn 1.5s 10s ease-in-out 1 forwards;
}

.fs-lg {
    font-size: 32px;
}

.fs-xl {
    font-size: 60px;
}

@media (max-width: 982px) {
    /* .bodyLinks {
        top: 5%;
    } */
    /* .bodyNum {
        top: 7%;
    } */
    /* @keyframes spread {
        0% {
            transform: scaleX(0) scaleY(0);
            opacity: 0.8;
        }
        40% {
            transform: scaleX(0) scaleY(0);
            opacity: 0.8;
        }
        100% {
            transform: scaleX(2.5) scaleY(1.2);
            opacity: 0;
        }
    } */
    .container-anime .waves {
        position: absolute;
        top: -20%;
    }
    .drop {
        top: 30%;
        left: 50%;
        transform: translate(-50%, -50%);
    }
    .afterPoint {
        top: 30%;
        height: calc(100% - 46%);
    }
    .afterPointInfo {
        bottom: 12%;
    }
    @keyframes toFullHeight {
        0% {
            height: 0;
        }
        100% {
            height: calc(100% - 46%);
        }
    }
    @-webkit-keyframes toFullHeight {
        0% {
            height: 0;
        }
        100% {
            height: calc(100% - 46%);
        }
    }
    .afterPointInfo {
        bottom: 12%;
    }
    .bodyNum {
        left: 9%;
        bottom: 4%;
    }
    .bodyLinks {
        right: 7%;
        bottom: 3%;
    }
}

@media (min-width: 982px) {
    .fs-lg {
        font-size: 20px;
    }
    .fs-forZero {
        font-size: 38px !important;
    }
    .fs-xl {
        font-size: 28px;
    }
    /* @keyframes spread {
        0% {
            transform: scaleX(0) scaleY(0);
            opacity: 1;
        }
        40% {
            transform: scaleX(0) scaleY(0);
            opacity: 1;
        }
        100% {
            transform: scaleX(2) scaleY(2);
            opacity: 0;
        }
    } */
}


/* Customizing Things */

.sketch {
    position: absolute;
    top: 0%;
    left: 0%;
    width: 100%;
    height: 100%;
    animation: fadeInOut 2.5s ease-in-out 1 forwards;
    -webkit-animation: fadeInOut 2.5s ease-in-out 1 forwards;
}

.canvasWrapper {
    position: absolute;
    top: 0%;
    left: 0%;
    width: 100%;
    height: 100%;
    animation: fadeInOut 7s ease-in-out 1 forwards;
    -webkit-animation: fadeInOut 7s ease-in-out 1 forwards;
}

.ContentWrapper {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    opacity: 0;
    -webkit-animation: fadeIn 1.5s ease-in-out 1 forwards;
    animation: fadeIn 1.5s ease-in-out 1 forwards;
    -webkit-animation-delay: 6s;
    animation-delay: 6s;
}

@-webkit-keyframes fadeInOut {
    0%,
    100% {
        opacity: 0;
    }
    50% {
        opacity: 1;
    }
}

@keyframes fadeInOut {
    0%,
    100% {
        opacity: 0;
    }
    50% {
        opacity: 1;
    }
}

@-webkit-keyframes fadeIn {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

@keyframes fadeIn {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}