/*=============== @imports  ===============*/
@import "fonts.css";
@import "generic.css";
@import "layout.css";
@import "sidebar-header.css";
@import "hero-section.css";
@import "about.css";
@import "qualification.css";
@import "skills.css";
@import "tools.css";
@import "portfolio.css";
@import "services.css";
@import "testimonial.css";
@import "steps.css";
@import "faq.css";
@import "contact.css";
@import "footer.css";

/*=============== PRELOADER 1 ===============*/
.loading__screen {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: var(--body-color);
    color: var(--text-color);
    pointer-events: none;
    z-index: 99999;
}

.counter {
    position: fixed;
    left: 50px;
    bottom: 50px;
    display: flex;
    height: 100px;
    font-size: 100px;
    line-height: 102px;
    clip-path: polygon(0 0, 100% 0, 100% 100px, 0 100px);
    font-weight: 400;
}

.loading_screen-text {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    height: 400px;
    font-size: var(--biggest-font-size);
    color: var(--title-color);
}

.counter_1,
.counter_2,
.counter_3 {
    position: relative;
    top: -5px;
}

.num1offset1 {
    position: relative;
    right: -25px;
}

.num1offset2 {
    position: relative;
    right: -10px;
}

.loader {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 300px;
    height: 50px;
    transform: translate(-50%, -50%);
    display: flex;
    background-color: rgb(161, 161, 161);
}

.loader_1 {
    position: relative;
    background: var(--title-color);
    width: 200px;
}

.loader_2 {
    position: relative;
    width: 100px;
    background: var(--title-color);
}

.bar {
    height: 50px;
}

/*=============== PRELOADER 2 ===============*/
/* .preloader {*/
/*    position: fixed;*/
/*    top: 0;*/
/*    left: 0;*/
/*    width: 100%;*/
/*    height: 100dvh;*/
/*    box-shadow: inset 55vw 0 0 0 hsla(0, 0%, 100%, 1),*/
/*        inset -55vw 0 0 0 hsla(0, 0%, 100%, 1);*/
/*    display: grid;*/
/*    place-items: center;*/
/*    z-index: 10000;*/
/*}*/

/*.preloader.loaded {*/
/*    transition: 500ms ease 500ms;*/
/*    pointer-events: none;*/
/*    box-shadow: inset 0 0 0 0 hsla(0, 0%, 100%, 1),*/
/*        inset 0 0 0 0 hsla(0, 0%, 100%, 1);*/
/*}*/

/*.preloader .line {*/
/*    width: 3px;*/
/*    height: 100%;*/
/*    background-color: hsla(0, 0%, 0%, 1);*/
/*    transition: 0.5s ease;*/
/*    animation: loading 2000ms linear forwards;*/

/*}*/

/*@keyframes loading {*/
/*    0% {*/
/*        transform: scaleY(0);*/
/*    }*/

/*    100% {*/
/*        transform: scaleY(0.7);*/
/*    }*/
/*}*/

/*.preloader.loaded .line {*/
/*    animation: loaded 500ms ease forwards;*/
/*}*/

/*@keyframes loaded {*/
/*    0% {*/
/*        transform: scaleY(0.3);*/
/*    }*/

/*    100% {*/
/*        transform: scaleY(1);*/
/*        opacity: 0;*/

/*    }*/
/*} */

/*=============== GLITCH ===============*/
.glitch {
    text-transform: uppercase;
    position: relative;
    text-shadow: 0.05em 0 0 rgba(255, 0, 0, 0.75),
        -0.025em -0.05em 0 rgba(0, 255, 0, 0.75),
        0.025em 0.05em 0 rgba(0, 0, 255, 0.75);
    animation: glitch 1200ms infinite;
}

.glitch span {
    position: absolute;
    top: 0;
    left: 0;
}

.glitch span:first-child {
    animation: glitch 1450ms infinite;
    clip-path: polygon(0 0, 100% 0, 100% 45%, 0 45%);
    transform: translate(-0.025em, -0.0125em);
    opacity: 0.8;
}

.glitch span:last-child {
    animation: glitch 1950ms infinite;
    clip-path: polygon(0 60%, 100% 60%, 100% 100%, 0 100%);
    transform: translate(0.025em, 0.0125em);
    opacity: 0.8;
}

@keyframes glitch {
    0% {
        text-shadow: 0.05em 0 0 rgba(255, 0, 0, 0.75),
            -0.05em -0.025em 0 rgba(0, 255, 0, 0.75),
            -0.025em 0.05em 0 rgba(0, 0, 255, 0.75);
    }

    14% {
        text-shadow: 0.05em 0 0 rgba(255, 0, 0, 0.75),
            -0.05em -0.025em 0 rgba(0, 255, 0, 0.75),
            -0.025em 0.05em 0 rgba(0, 0, 255, 0.75);
    }

    15% {
        text-shadow: -0.05em 0.025em 0 rgba(255, 0, 0, 0.75),
            0.025em 0.05em 0 rgba(0, 255, 0, 0.75),
            -0.05em -0.05em 0 rgba(0, 0, 255, 0.75);
    }

    49% {
        text-shadow: -0.05em 0.025em 0 rgba(255, 0, 0, 0.75),
            0.025em 0.05em 0 rgba(0, 255, 0, 0.75),
            -0.05em -0.05em 0 rgba(0, 0, 255, 0.75);
    }

    50% {
        text-shadow: 0.025em 0.05em 0 rgba(255, 0, 0, 0.75),
            0.05em 0 0 rgba(0, 255, 0, 0.75), 0 -0.05em 0 rgba(0, 0, 255, 0.75);
    }

    99% {
        text-shadow: 0.025em 0.05em 0 rgba(255, 0, 0, 0.75),
            0.05em 0 0 rgba(0, 255, 0, 0.75), 0 -0.05em 0 rgba(0, 0, 255, 0.75);
    }

    100% {
        text-shadow: -0.025em 0 0 rgba(255, 0, 0, 0.75),
            -0.025em -0.025em 0 rgba(0, 255, 0, 0.75),
            -0.025em -0.05em 0 rgba(0, 0, 255, 0.75);
    }
}

/*=============== LIGHT/DARK button ===============*/
body.dark-theme {
    /* HSL Color Mode */
    --skin-color: hsl(32, 100%, 50%);
    --title-color: hsl(var(--hue-color-light), 15%, 2%);
    --text-color: hsl(var(--hue-color-light), 15%, 10%);
    --body-color: hsl(var(--hue-color-light), 19%, 92%);
    --box-color: hsl(var(--hue-color-light), 13%, 81%);
}

/*=============== LIGHT/DARK button ===============*/
.btn__theme {
    position: absolute;
    bottom: 1.8rem;
    left: 0;
    right: 0;
    text-align: center;
    cursor: pointer;
}

.theme__moon {
    font-size: 1.5rem;
}

.change__theme:hover {
    color: var(--skin-color);
}

.nav__toggle {
    height: 32px;
    width: 36px;
    cursor: pointer;
    position: fixed;
    right: 1.5rem;
    top: 2rem;
    font-size: 1.2rem;
    border-radius: 0.25rem;
    background-color: var(--skin-color);
    color: var(--title-color);
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 89;
}

.nav__close {
    font-size: 1.5rem;
    position: absolute;
    top: 1rem;
    right: 1.25rem;
    cursor: pointer;
    display: none;
    width: 2.125rem;
    height: 2.125rem;
    transition: all .4s;
}

.nav__close:hover {
    border-radius: 100vmax;
    background-color: var(--scroll-thumb-color);
}

/* Active Link */
.nav__link.active-link,
.nav__link:hover {
    color: var(--skin-color);
}

.nav__link.active-link::after,
.nav__link:hover::after {
    position: absolute;
    content: "";
    width: 6px;
    height: 6px;
    background-color: var(--skin-color);
    border-radius: 50%;
    bottom: 1.8rem;
    left: 0;
    right: 0;
    margin: auto;
}

/*=============== MAIN ===============*/
.main {
    margin-left: 100px;
}

/*===== Got a project section =====*/
.project__container {
    background-color: var(--box-color);
    border-radius: 0.5rem;
    padding: 3rem 2.5rem 0;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 3rem;
}

.project__data {
    padding-top: 60px;
}

.project__title {
    font-size: var(--h2-font-size);
    margin-bottom: var(--mb-2);
    color: var(--text-color);
}

.project__description {
    margin-bottom: var(--mb-3);
}

.project__description {
    color: var(--text-color);
}

.project__img {
    width: 300px;
    justify-self: center;
}

/* ===== Brands Section ===== */
.brand__logos {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 2rem;
}

.brand__logo img,
.brand__logo {
    height: 100%;
    width: 100%;
}

.brand__logo img {
    filter: grayscale(100%);
    opacity: 0.7;
    object-fit: contain;
    transition: all 0.4s;
}

.brand__logo img:hover {
    filter: grayscale(0);
    opacity: 1;
    transform: scale(1.05);
}

/*=============== SCROLL UP ===============*/
.scrollup {
    position: fixed;
    right: 1rem;
    bottom: -20%;
    background-color: var(--skin-color);
    opacity: 0.8;
    padding: 0 0.3rem;
    border-radius: 0.4rem;
    z-index: 10;
    transition: 0.4s;
}

.scrollup:hover {
    background-color: var(--box-color);
}

.scrollup__icon {
    font-size: 1.5rem;
    color: #fff;
}

/*========= Show Scroll Up =========*/
.show-scroll {
    bottom: 2rem;
    right: 2rem;
}

/*=============== SCROLL BAR ===============*/
::-webkit-scrollbar {
    width: 0.6rem;
    background-color: var(--scroll-bar-color);
    border-radius: 0.5rem;
}

::-webkit-scrollbar-thumb {
    background-color: var(--scroll-thumb-color);
    border-radius: 0.5rem;
}

/*========== BREAKPOINTS ==========*/
@media screen and (max-width: 1024px) {
    .sidebar {
        width: 100%;
        z-index: 999;
        transform: translateX(-100%);
    }

    .show-sidebar {
        transform: translateX(0);
    }

    .nav__logo {
        margin-top: 50px;
        width: 50px;
        height: 50px;
    }

    .btn__theme {
        margin-bottom: 50px;
    }

    .nav__menu {
        height: 100%;
        width: 100%;
        transform: rotate(0deg) translateX(0);
        display: flex;
        justify-content: center;
    }

    .nav__list {
        flex-direction: column;
        height: 100%;
        justify-content: center;
        align-items: center;
    }

    .nav__link {
        padding: 1rem 0;
        line-height: 1.5;
    }

    .nav__link.active-link::after,
    .nav__link:hover::after {
        bottom: 0;
    }

    .nav__close {
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .nav__toggle {
        display: flex;
    }

    .main {
        margin-left: 0;
    }

    .brand__logos {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
    }
}

@media screen and (max-width: 576px) {
    .nav__toggle {
        right: initial;
        left: 1.5rem;
    }

    .project__container {
        grid-template-columns: repeat(1, 1fr);
    }

    .project__description {
        margin-bottom: var(--mb-3);
    }

    .project__button {
        margin-bottom: var(--mb-3);
    }

    .project__data {
        padding: 0;
    }

    .loading_screen-text {
        height: 280px;
    }

    .counter {
        left: 100px;
    }

    .brand__logos {
        display: grid;
        grid-template-columns: 1fr 1fr;
        justify-content: center;
        align-items: center;
        gap: 1.5rem;
    }
}

@media screen and (max-width: 360px) {

    .work__container,
    .contact__container,
    .qualification__container,
    .services__container,
    .skills__container {
        grid-template-columns: 1fr;
    }
}