@import url('https://fonts.googleapis.com/css2?family=Clicker+Script&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
:root
{
    --bg-black-900:#f2f2fc;
    --bg-black-100:#fdf9ff;
    --bg-black-50:#e8dfec;
    --text-black-900:#302e4d;
    --text-black-700:#504e70;
    --main-color:#ec1839;
}
/* dark mood */
body.dark
{
    --bg-black-900:#151515;
    --bg-black-100:#222222;
    --bg-black-50:#393939;
    --text-black-900:#ffffff;
    --text-black-700:#e9e9e9;
}
/* Start fixed formats for all page */
*
{
    padding: 0px;
    margin: 0px;
    box-sizing: border-box;
    list-style: none;
    text-decoration: none;
    outline: none;
}
body
{
    font-family: "Poppins", sans-serif;
    line-height: 1.6;
    font-size: 16px;
    overflow-x: hidden;
}
::before,::after
{
    box-sizing: border-box;
}
/* scroll style */

/* width */
::-webkit-scrollbar {
    width: 15px;
}

/* Track */
::-webkit-scrollbar-track {
    background: #f1f1f1;
}

/* Handle */
::-webkit-scrollbar-thumb {
    background: var(--main-color);
}

/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
    background: #555;
}

/* End scroll style */

/* ==== loader ==== */
.content-loader{
    width: 100svw;
    height: 100vb;
    position: fixed;
    left: 0;
    right: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    background-color: var(--main-color);
    z-index: 999;
}
.loader {
    width: 84px;
    height: 84px;
    position: relative;
    overflow: hidden;
}

.loader:before,
.loader:after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: #FFF;
    transform: translate(-50%, 100%) scale(0);
    animation: push 2s infinite ease-in;
}

.loader:after {
    animation-delay: 1s;
}

@keyframes push {
    0% {
        transform: translate(-50%, 100%) scale(1);
    }

    15%,
    25% {
        transform: translate(-50%, 50%) scale(1);
    }

    50%,
    75% {
        transform: translate(-50%, -30%) scale(0.5);
    }

    80%,
    100% {
        transform: translate(-50%, -50%) scale(0);
    }
}
/* ==== loader ==== */

.section 
{
    background-color: var(--bg-black-900);
    display: block;
    min-height: 100vh;
    position: fixed;
    top: 0;
    left: 270px;
    right: 0;
    opacity: 1;
    z-index: 0;
    overflow-y: auto;
    overflow-x: hidden;
    height: 100%;
    position: 0;
    z-index: -1;

    &.active-sec
    {
        z-index: 2;
        opacity: 1;
        animation: slideSection 1s ease;
    }
    &.back-sec{
        z-index: 1;
    }
}
.padd
{
    padding: 50px 30px;
}
.btn
{
    background: var(--main-color);
    padding: 10px 25px;
    border-radius: 20px;
    display: inline-block;
    margin-top: 50px;
    transition: .3s;
    cursor: pointer;

    &:hover 
    {
        filter: brightness(0.7);
    }
}
.shadow-dark
{
    box-shadow: 0 0 20px rgba(48, 46, 77, 0.15);
}
.title-section
{
    font-size: 25px;
    font-weight: 700;
    color: var(--main-color);
    margin-bottom: 50px;
    position: relative;

    &::before
    {
        content: "";
        height: 4px;
        width: 70px;
        background-color: var(--main-color);
        position: absolute;
        bottom: 0; left: 0;
        border-radius: 3px;
    }

    &::after
    {
        content: "";
        height: 4px;
        width: 35px;
        background-color: var(--main-color);
        position: absolute;
        bottom: -10px; left: 0;
        border-radius: 3px;
    }
}
/* End fixed formats for all page */
/* start aside */
.aside
{
    width: 270px;
    height: 100vh;
    background-color: var(--bg-black-100);
    border-right: 1px solid var(--bg-black-50);
    position: fixed;
    padding: 30px;
    top: 0; left: 0;
    z-index: 10;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: 0.3s;

    &.open
    {
        left: 0px;
    }

    .logo
    {
        position: absolute;
        top: 50px;
        
        a
        {
            color: var(--text-black-900);
            padding: 15px 20px;
            font-size: 30px;
            font-weight: 700;
            position: relative;
            
            span 
            {
                color: var(--main-color);
                font-family: "Clicker script";
                font-size: 40px;
            }
            
            &::before
            {
                content: "";
                position: absolute;
                bottom: 0; left: 0;
                width: 30px;
                height: 30px;
                border-radius: 5px;
                border-bottom: 5px solid var(--main-color);
                border-left: 5px solid var(--main-color);
            }
            
            &::after
            {
                content: "";
                position: absolute;
                top: 0; right: 0;
                width: 30px;
                height: 30px;
                border-radius: 5px;
                border-top: 5px solid var(--main-color);
                border-right: 5px solid var(--main-color);
            }
        }
        
        svg
        {
            font-size: 24px;
            color: var(--main-color);
                margin: 0px -3px;
        }
        
        .slash
        {
            transform: rotate(70deg);
        }
    }
    
    .nav-toggle
    {
        width: 35px;
        height: 32px;
        padding: 3px;
        display: none;
        position: fixed;
        left: 20px; top: 20px;
        border-radius: 5px;
        background-color: var(--bg-black-100);
        cursor: pointer;
        transition: .3s;
        
        &.open
        {
            left: 300px;
            position: fixed;

            span:first-child{
                position: absolute;
                top: 10px; left: 7px;
                transform: rotate(45deg)
            }
            span:nth-child(2){
                display: none;
            }
            span:last-child{
                top: 10px; left: 7px;
                position: absolute;
                transform: rotate(-45deg)
            }
        }

        span{
            display: block;
            width: 20px;
            height: 3px;
            margin: 4px auto ;
            background-color: var(--main-color);
        }
    }
    
    nav
    {
        margin-top: 50px;
        
        li
        {
            margin-bottom: 20px;
            
            a
            {
                color: var(--text-black-900);
                display: block;
                border-bottom: 1px solid var(--bg-black-50);
                padding: 5px 15px;
                transition: .3s;
                font-weight: 700;

                &.active,
                &:hover
                {
                    color: var(--main-color);
                }
            }
            
            svg
            {
                margin-right: 15px;
            }
        }
    }
    
    .icons
    {
        position: absolute;
        bottom: 10px;

        a 
        {
            color: white;
            font-size: 30px;
            margin-left: 7px;
            transition: 0.3s;

            &:first-of-type:hover
            {
                color: #37b182;
                margin-bottom: 10px;
            }
            &:nth-of-type(2):hover
            {
                color: #1854b4;
                margin-bottom: 10px;
            }
            &:nth-of-type(3):hover
            {
                color: #181818;
                margin-bottom: 10px;
            }
            &:nth-of-type(4):hover
            {
                color: #f021b2;
                margin-bottom: 10px;
            }
            &:nth-of-type(5):hover
            {
                color: #37b182;
                margin-bottom: 10px;
            }
        }
    }
}

/*Start media */
@media (max-width: 1100px) 
{
    .aside
    {
        left: -270px;

        .nav-toggle
        {
            display: block;
        }
    }
    .section{
        left: 0px;
    }
}

/* End aside */
/* Start home Section */

.container
{
    height: 100vh;
    overflow-x: hidden;
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    
    .home-info
    {
        font-size: 20px;
        color: var(--text-black-900);
    
        .text
        {
            margin-bottom: 10px;

            span
            {
                color: var(--main-color);
                font-family: "Clicker script";
            }
        }

        .my-profession
        {
            font-size: 27px;
            margin-bottom: 10px;

            span
            {
                color: var(--main-color);
            }
        }

        p
        {
            color: var(--text-black-700);
            font-size: 18px;
            max-width: 450px;
        }
        a
        {
            color: #fff;

            &.btn 
            {
                margin-top: 50px;
            }
        }
        
    }


    .img-home
    {
        height: 400px;
        position: relative;
        img 
        {
            height: 100%;
        }

        &::before 
        {
            content: "";
            position: absolute;
            bottom: 0px;
            right: 0px;
            width: 80px;
            height: 80px;
            border-radius: 5px;
            border-bottom: 8px solid var(--main-color);
            border-right: 8px solid var(--main-color);
        }

        &::after {
            content: "";
            position: absolute;
            top: 0px;
            left: 0px;
            width: 80px;
            height: 80px;
            border-radius: 5px;
            border-top: 8px solid var(--main-color);
            border-left: 8px solid var(--main-color);
        }
    }
}

/* start media */
/* meduim screen */
@media (max-width: 920px) 
{
    .home .img-home
    {
        height: 270px;

        &::before
        {
            right: -20px;
            bottom: -20px;
        }
        &::after
        {
            left: -20px;
            top: -20px;
        }
    }
}
/* small screen */
@media (max-width: 767px)
{
    .home
    {
        text-align: center;

        .img-home 
        {
            display: none;
        }

        h3.text 
        {
            margin-bottom: 20px;
        }
        p 
        {
            margin: 0px 5px;
        }
    }
    
}
/* End home Sectoin */
/* Start about Sectoin */
.about-content
{
    h3
    {
        font-size: 24px;
        color: var(--text-black-900);
        font-weight: 700;
        margin-bottom: 15px;

        span
        {
            color: var(--main-color);
        }
    }

    p
    {
        color: var(--text-black-900);
        max-width: 800px;
        font-size: 16px;
        line-height: 1.7;
    }
    .info-skills
    {
        display: flex;
        margin-top: 50px;

        .personal-info
        {
            flex-basis: 70%;
            display: grid;
            grid-template-columns: 50% 50%;

            p
            {
                font-weight: 600;
                padding: 8px 0px;
                max-width: 98%;
                border-bottom: 1px solid var(--bg-black-50);
                
                span
                {
                    font-size: 15px;
                    font-weight: 600;
                    color: var(--text-black-700);
                    margin-left: 3px;
                }
            }
        }

        .skills
        {
            flex-basis: 30%;

            .skill-item
            {
                position: relative;
                margin-bottom: 6px;

                h5
                {
                    font-weight: 600;
                    color: var(--text-black-900);
                    margin-bottom: 6px;
                }

                .progress
                {
                    width: 100%;
                    background-color: var(--bg-black-50);
                    height: 5px;
                    border-radius: 5px;
                    overflow: hidden;

                    .progress-in
                    {
                        background: var(--main-color);
                        width: 0;
                        height: 100%;
                        transition: 1s ease-in-out;
                    }

                    .skill-percent
                    {
                        display: flex;
                        justify-content: center;
                        align-items: center;
                        color: var(--text-black-700);
                        position: absolute;
                        right: 0; top:0;
                    }
                }
            }
        }
    }
    a.btn
    {
        margin: 30px 7px 0px 0px;
        padding: 15px 30px;
        font-size: 18px;
        color: white;
    }
    .edu-exp 
    {
        display: flex;
        justify-content: space-between;
        margin-top: 40px;

        .edu,
        .exp 
        {
            flex-basis: 49%;

            h2.title
            {
                font-size: 24px;
                margin-bottom: 30px;
                font-weight: 600;
                color: var(--text-black-900);
                text-transform: capitalize;
            }
            .box
            {
                background-color: var(--bg-black-100);
                padding: 30px 15px;
                border: 1px solid var(--bg-black-50);
                border-radius: 10px;
                width: 100%;
                position: relative;

                &::before 
                {
                    content: "";
                    width: 1px;
                    height: calc(100% - 60px);
                    position: absolute;
                    left: 22px;
                    top: 30px;
                    background-color: var(--main-color);
                }

                .timeline 
                {
                    position: relative;
                    padding-left: 30px;
                    margin-bottom: 50px;

                    &:last-child 
                    {
                        margin-bottom: 0px;
                    }

                    &::before 
                    {
                        content: "";
                        width: 15px;
                        height: 15px;
                        border-radius: 50%;
                        position: absolute;
                        left: 0px;
                        top: 0px;
                        background-color: var(--main-color);
                    }

                    h3 
                    {
                        font-weight: 400;
                        font-size: 17px;
                        margin-bottom: 12px;
                        color: var(--text-black-700);

                        .icon {
                            margin-right: 5px;
                        }
                    }

                    h4 
                    {
                        font-weight: 700;
                        font-size: 18px;
                        margin-bottom: 15px;
                        color: var(--text-black-900);
                    }

                    p {
                        line-height: 1.6;
                        text-align: justify;
                        color: var(--text-black-700);
                    }
                }
            }
        }
    }
}

/* Start media */
/* large screen */
@media (max-width: 1100px)
{
    .about-content span
    {
        display: block;
        margin-left: 0px;
    }
}
/* meduim screen */
@media (max-width: 920px)
{
    .about-content
    {
        text-align: center;

        .info-skills
        {
            flex-wrap: wrap;

            .personal-info
            {
                flex-basis: 100%;
                margin-bottom: 30px;

                .info-item
                {
                    margin-bottom: 5px;
                }
            }

            .skills
            {
                flex-basis: 100%;
                margin: 0px 20px 30px;
            }
        }

        .edu-exp
        {
            flex-wrap: wrap;

            .edu,
            .exp
            {
                flex-basis: 100%;
                text-align: start;
            }
            .edu
            {
                margin-bottom: 30px;
            }
        }
    }
}
/* small screen */
@media (max-width: 767px)
{
    .about .personal-info
    {
        grid-template-columns: 100% !important;

        .info-item
        {
            margin-bottom: 7px !important;
        }
    }
}

/* End about Sectoin */
/* start services section */
.services-content
{
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 20px;
    text-align: center;
    
    .ser-item
    {
        background-color: var(--bg-black-100);
        border: 1px solid var(--bg-black-50);
        border-radius: 10px;
        padding: 30px 15px;
        transition: 0.3s;

        &:hover
        {
            box-shadow: 0 0 20px rgba(48, 46, 77, 0.15);
            transform: translateY(2px);
            
            .icon
            {
                width: fit-content;
            }

            svg.icon
            {
                margin: 0px auto;
                background-color: var(--main-color);
                color: white !important;
            }
        }

        .icon
        {
            display: block;
            border-radius: 50%;
            margin: 0 auto 20px;
            text-align: center;
            transition: 0.3s;
            font-size: 30px;

            svg.icon
            {
                font-size: 30px;
                padding: 10px;
                line-height: 60px;
                color: var(--main-color);
            }
        }

        h4
        {
            color: var(--text-black-900);
            margin-bottom: 15px;
            font-size: 18px;
        }

        p
        {
            color: var(--text-black-700);
            line-height: 1.6;
        }
    }
}
/* Start media */
/* small screen */
@media (max-width: 767px) {
    .services .services-content {
        grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important;
    }
}
/* End services section */
/* Start portfolio section */
.portfolio
{
    .filter ul
    {
        display: flex;
        justify-content: center;
        align-items: center;
        color: white;
        gap: 25px;
        margin-bottom: 50px;
        font-weight: bold;
        cursor: pointer;
        

        .active,
        & li:hover
        {
            color: var(--main-color);
            transition: .3s;
        }
    }
    .port-text
    {
        width: fit-content;
        display: block;
        color: var(--text-black-900);
        font-weight: 500;
        margin-bottom: 40px;
    }
    .items
    {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
        gap: 30px;
        overflow: hidden;
        text-align: center;

        .port-item
        {
            border: 6px solid var(--bg-black-100);
            border-radius: 10px;
            box-shadow: 4px 6px 13px 0px rgba(255, 255, 255, 0.04);
            overflow: hidden;
            position: relative;

            &:hover
            {
                .info
                {
                    left: 0px;
                }
            }

            .img
            {
                width: 100%;
                overflow: hidden;
                position: relative;

                img
                {
                    max-width: 100%;
                }
            }

            .info
            {
                position: absolute;
                left: -100%; bottom: 0px;
                width: 100%;
                background-color: rgba(0, 0, 0, 0.5);
                padding: 10px 0px;
                color: white;
                font-weight: 600;
                transition: 0.5s;
                
                .name
                {
                    font-size: 17px;
                    margin-bottom: 5px;
                    text-transform: capitalize;
                }

                span a
                {
                    font-size: 16px;
                    color: white;
                    text-decoration: underline;
                    margin-bottom: 5px;
                    text-transform: capitalize;
                }
            }
        }
    }
}
/* Start media */
/* small screen */
@media (max-width: 767px) {
    .portfolio .items {
        grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important;
    }
}

/* End portfolio section */
/* Start contant section */
.contant
{
    .text
    {

        h3
        {
            font-size: 23px;
            margin-bottom: 20px;
            color: var(--main-color);
            text-align: center;
        }

        h4
        {
            font-size: 18px;
            color: var(--text-black-900);
            text-align: center;
            margin-bottom: 60px;
        }
    }
    .items{
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(230px,1fr));
        gap: 20px;
        text-align: center;
        margin-bottom: 60px;

        .item
        {
            padding: 20px;

            .icon
            {
                font-size: 30px;
                color: var(--main-color);
            }

            h4
            {
                font-size: 18px;
                color: var(--text-black-900);
                font-weight: 700;
                margin: 15px 0px 5px;
            }
            
            p
            {
                font-size: 16px;
                line-height: 25px;
                font-weight: 400;
                color: var(--text-black-700);
            }
        }
    }
    form
    {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        max-width: 100%;
        
        .col-6
        {
            flex-basis: 49%;
            display: inline-block;

        }
        .inp, textarea
        {
            width: 100%;
            height: 50px;
            background-color: var(--bg-black-100);
            border: 1px solid var(--bg-black-50);
            border-radius: 25px;
            padding: 10px 25px;
            margin-bottom: 30px;
            font-size: 16px;
            color: var(--text-black-700);
            transition: 0.3s;

            &:focus
            {
                box-shadow: 0 0 20px rgba(48, 46, 77, 0.15);
            }
        }

        textarea
        {
            height: 100px;
        }

        .col-12
        {
            flex-basis: 100%;
        }
        .btn
        {
            color: white;
            border: 1px solid var(--bg-black-50);
            padding: 17px 30px;
            font-size: 18px;
            margin-top: 10px;
        }
    }
    #message-send
    {
        color: white;
        font-size: 18px;
        margin-top: 10px;
        padding: 7px 20px 0 0;
        width: fit-content;
        text-transform: uppercase;
        font-weight: 300;
    }
}
/* Start media */
/* small screen */
@media (max-width: 767px) {
    form{
        .col-6 
        {
            flex-basis: 100% !important;
        }

        .btn
        {
            margin: auto;
        }
    }
}
/* End contant section */
/* start animation */
@keyframes slideSection 
{
    0%
    {
        transform: translateX(100%);
    }
    100%
    {
        transform: translateX(0%);
    }
}
/* end animation*/
