/* Google font poping */
@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,300;0,400;0,600;1,300;1,400;1,600&display=swap');
@import url("https://unpkg.con/open-props");
@import url("https://unpkg.com/open-props/normalize.min.css");

*{
    font-family: "Poppins", sans-serif;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root{
    /* ++ Main Measurement ++ */
    --header-height: 90px;
    --footer-height: 45px; 
    --padding-heading: 5px;

    /* ++ Main Color ++ */
    --header-bg-color: #0E111B;
    --page3-bg-color: #040813;
    --main-body-color: #040813;
    --footer-bg-color: #13451B ;
    --footer-arrow-bg-color: rgb(47, 49, 62);

    /* color */
    font-size: 16px;
    --background-color: black;
    --background-color1: white;
    --text-color: white;
    --from-bg-img-1: #804c22;
    --from-bg-img-2: #855db6;
    --from-bg-img-3: #c3cbd5;
    --from-bg-img-4: #af7a35;
    --from-bg-img-5: #2a2031;
    --from-bg-img-6: #687887;
    --from-bg-img-7: #98A0AF;
    --from-bg-img-8: #375A77;
    --from-bg-img-9: #433486;
    --from-bg-img-10: #0E111B;
    
    --from-bg-img-11: #221D2C;
    --from-bg-img-12: #040813;
    --from-bg-img-13:#3A2B46;
    --from-bg-img-14: #E6A626;
    --from-bg-img-15: #E4E7EC;
    /* Transition */
    --tran-02: all 0.2s ease;
    --tran-03: all 0.3s ease;
    --tran-04: all 0.4s ease;
    --tran-05: all 0.5s ease;
    --traneo-04: all 0.4s ease-in-out;
    --background1: #264653;
    --background2: #2e5767;
    --background3: #34697e;
    --background4: #478197;
    --sidebar1-bg: #E9C46A;
    --sidebar2-bg: #F4A261;
    --sidebar3-bg: #F4A261;
    --sidebar4-bg: #E76F51;
    --separator-fill: #D8A25E;
    /* ++++ Scrollbar +++++ */
    --scroller-w: 8px; /* Scrollbar width */
    --scroller-bg: #f1f1f1; /* Scrollbar track color */
    --scroller-thumb: #bdbdbd; /* Scrollbar handle color */
    --scroller-thumb-hover: #888; /* Scrollbar handle hover color */

}

html {
    scroll-behavior: smooth;
}

* {
    scrollbar-width: thin; /* thin | auto */
    scrollbar-color: #bdbdbd #f1f1f1; /* thumb color, track color */
}


/* Scrollbar Width and Radius */
::-webkit-scrollbar {
    width: var(--scroller-w);
    height: var(--scroller-w); /* For horizontal scrollbars */
}

/* Track (The area behind the scrollbar) */
::-webkit-scrollbar-track {
    background: var(--scroller-bg);
    border-radius: 10px;
}

/* Handle (The draggable part of the scrollbar) */
::-webkit-scrollbar-thumb {
    background-color: var(--scroller-thumb);
    border-radius: 10px;
    border: 2px solid var(--scroller-bg); /* Adds spacing around the thumb */
}

/* Handle on Hover */
::-webkit-scrollbar-thumb:hover {
    background-color: var(--scroller-thumb-hover);
}

/* Horizontal Scrollbar Styling (Optional) */
::-webkit-scrollbar-track-piece:start {
    background: linear-gradient(to right, #f1f1f1, #e6e6e6);
}

::-webkit-scrollbar-track-piece:end {
    background: linear-gradient(to right, #e6e6e6, #f1f1f1);
}

body {
    background-color: var(--main-body-color);
    display: grid;  
    grid-template-columns: repeat(9, 1fr);
    grid-template-rows: 90px auto auto auto;
    grid-template-areas:
        "hd hd hd hd hd hd hd hd hd"
        "mn mn mn mn mn mn mn mn mn"
        "ar ar ar ar ar ar ar ar ar"
        "ft ft ft ft ft ft ft ft ft";
    overflow-x: hidden;
}

body > * {
    color: white;
}

.header {
    display: flex;
    position: fixed;
    z-index: 10;
    width: 100%;
    height: var(--header-height);
    background-color: var(--header-bg-color);
    top: 0;
}

.header .logo {
    display: flex;
    position: relative;
    max-width: 90px;    
    object-fit: contain;
    border-radius: 10%;
}

.header .logo img {
    width: 80%;
    height: 60%;
    border-radius: 10%;
    margin-inline: auto;
    margin-block: auto;
}


.header .logo-header {
    margin-block: auto;
    min-width: 120px;
    font-size: var(--fs-400);
    position: relative;
    display: flex;
    flex-direction: column;
    left: 0;
    /* margin-inline-start: 0; */
}

.header .logo-header span {
    font-size: var(--fs-600);
}

.header .logo-header .name {
    padding-inline-end: 40px;
}

.h-box.nav {
    display: flex;
    font-size: var(--fs-500);
    display: flex;
    margin-left: auto; 
    align-items: center;
    padding-inline-end: 20px;
    transition: var(--traneo-04);
}

.nav__links {
    list-style: none;
    display: flex;
    flex-direction: row;
    gap: 2rem;
    align-items: center;
}

.nav__links li a{
    text-decoration: none;
    position: relative;
    height: 30px;
    color: white;
}

.nav__links li a::after {
    content: "";
    width: 0;
    height: 3px;
    background-color: #ff004f;
    position: absolute;
    left: 0;
    bottom: -3px;
    transition: var(--tran-04);
}

.nav__links li a:hover::after {
    width: 100%;  
}

.hamburger {
    display: none;
    cursor: pointer;
    position: relative;
    margin-inline-start: auto;
    margin-inline-end: 15px;
    margin-block: auto ;
}

.hamburger .bar {
    height: 2px;
    width: 27px;
    background-color: #fff;
    margin: 5px 0;
    opacity: 0.8;
}

main.pf-pages {
    grid-area: mn;
    
    color: white;
    grid-template-rows: repeat(2, auto);
    grid-column: 1fr;
    background-color: var(--main-body-color) ;
}


/* section:first-child > * {
    border: 1px dashed yellow;
} */
section:first-child {
    display: flex;
    min-height: 100dvh;
    flex-direction: column;
    background-color: var(--from-bg-img-10);
    padding: 50px;
}

.page-1 .el:first-child {
    height: 40px;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: underline;
    font-weight: 700;
}

.page-1 .content {
    height: 100vh;
    flex: 1;
    display: flex;
    
}

.page-1 .left-section, .page-1 .right-section {
    width: 50vw;
    display: flex;
    flex-direction: column;
    padding-inline: 30px;
    overflow: hidden;
}

.page-1 li.cat-heading {
    list-style:none;
    font-weight: 700;
    padding-bottom: 5px;
    padding-top: 20px;
}

.page-1 li.skill {
    list-style: none;
    margin-left: 10px;
    width: 100%;
    height: 35px;
    scale: 1;
}

.page-1 li.skill:hover .stars .five-star{
    scale: 1.1;
    background-image: url('/static/svg/portfolio/five-star-hg.svg');
    
}

.page-1 li.skill:hover .stars .four-star{
    scale: 1.1;
    background-image: url('/static/svg/portfolio/four-star-hg.svg');
}

.page-1 li.skill:hover .stars .three-star{
    scale: 1.1;
    background-image: url('/static/svg/portfolio/three-star-hg.svg');
}

.page-1 li.skill:hover .stars .two-star{
    scale: 1.1;
    background-image: url('/static/svg/portfolio/two-star-hg.svg');
}

.page-1 li.skill:hover .stars .one-star {
    scale: 1.1;
    background-image: url('/static/svg/portfolio/one-star-hg.svg');
}

.page-1 li.skill:hover {
    font-weight: 500;
}

/* li > * {
    border:  1px solid white;
} */

li .stars {
    position: relative;
    display: flex;
    left: 300px;
    bottom: 20px;
}

.stars .five-star {
    display: inline-block;
    width: 220px;
    height: 20px;
    background-image: url("/static/svg/portfolio/five-star.svg");
    background-size: cover;
    background-repeat: no-repeat;
    
}

.stars .four-star {
    display: inline-block;
    width: 220px;
    height: 20px;
    background-image: url("/static/svg/portfolio/four-star.svg");
    background-size: cover;
    background-repeat: no-repeat;
}

.stars .three-star {
    display: inline-block;
    width: 220px;
    height: 20px;
    background-image: url("/static/svg/portfolio/three-star.svg");
    background-size: cover;
    background-repeat: no-repeat;
}

.stars .two-star {
    display: inline-block;
    width: 220px;
    height: 20px;
    background-image: url("/static/svg/portfolio/three-star.svg");
    background-size: cover;
    background-repeat: no-repeat;
}

.stars .one-star {
    display: inline-block;
    width: 220px;
    height: 20px;
    background-image: url("/static/svg/portfolio/three-star.svg");
    background-size: cover; 
    background-repeat: no-repeat;
}

.pf-pages section:nth-child(2) {
    height: 100vh;
    width: 90vw;
    display: grid;
    grid-template-columns: repeat(10, 1fr);
    grid-template-rows: 90px 1fr;
    gap: 10px;
    grid-template-areas: 
        "s2hd s2hd s2hd s2hd s2hd s2hd s2hd s2hd s2hd s2hd"
        "s2lb s2mn s2mn s2mn s2mn s2mn s2mn s2mn s2mn s2rb";
    overflow-y: hidden;
    margin-left: 5vw;
    background-color: var(--from-bg-img-13);
}

.pf-pages section:nth-child(2) .top {
    display:flex;
    grid-area: s2hd;
    justify-content: center;
    align-items: center;
    font-size: var(--fs-600);
    font-weight: bold;
    padding-top: 40px;
}

.pf-pages .page-2 .left-button {
    display: flex;
    grid-area: 2lb;
}

.pf-pages .page-2 .button {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: transparent;
}

.pf-pages .page-2 .button i {
    font-size:2rem;
    color:yellow;
    transition: var(--tran-04);
    
}

.pf-pages .page-2 .button i:hover {
    transform: scale(1.3);
    cursor: pointer;
}

.pf-pages .page-2 .certificates {
    display: grid;
    grid-area: s2mn;
    grid-template-columns: repeat(7, 20vw);
    grid-template-rows: repeat(2, 30vh);
    padding: 70px;
    gap: 3vw;
    overflow-y: hidden;
    overflow-x: auto; 
}

.pf-pages .page-2 .right-button {
    display: grid;
    grid-area: s2rb;
}

.page-2 .item {
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    flex-direction: column;
    background-color: var(--from-bg-img-1) ;
    overflow: auto;
    border-radius: 20px;

}

.page-2 .item img {
    object-fit: cover;
    border: 70%;
    width: 60%;
    height: 60%;
    
    background-color: white;
    border-radius: 25px;
    transition: var(--tran-03) ;
}

.page-2 .item .layer {
    width: 100%;
    height: 0;
    position: absolute;
    justify-content: center;
    align-items: center;
    z-index: 2;
    overflow: hidden;
    left: 0;
    bottom: 0;
    display: flex;
    flex-direction: column;
    padding: 0 40px;
    text-align: center;
    background: linear-gradient(rgba(0,0,0,0.6), #E76F51 );
    transition: var(--tran-04);
}

.page-2 .item:hover .layer {
    height: 100%;
}

.page-2 .item:hover img {
    transform: scale(1.3);
}

.pf-pages .page-2 .item .layer h3 {
    font-size: 1rem;
    font-weight: bold;
    margin-bottom: 40px;
} 

.pf-pages .page-2 .item .layer a {
    margin-top: 5px;
    color: #ff004f;
    font-size: 1rem;
    line-height: 40px;
    background: #fff;
    width: 40px;
    height: 40px;
    border-radius: 20%;
    text-align: center;
    margin-bottom: 20px;
}

.pf-pages section:nth-child(3) {
    text-align: center;
    width: 100vw;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: 90px 1fr 1fr;
    gap: 20px;
    height: 145dvh;
    grid-template-areas: 
        "s3hd s3hd"
        "s3mn11 s3mn12"
        "s3mn21 s3mn22";
    overflow-y: hidden;
    background-color: var(--page3-bg-color);
    align-items: center;
    padding-block: 100px;
    padding-inline: 30px;
    
}

.page-3 .header {
    display: grid;
    position: relative;
    grid-area: s3hd;
    font-size: 1.5rem;
    background-color: transparent;
}

/* .page-3 .project > * {
    border: 1px bashed blueviolet;
} */

.page-3 .project .img {
    
    display: flex;
    object-fit:fit;
    height: 350px;
    justify-content: center;
    border-radius: 15px;
}

.page-3 .project {
    /* border: 1px solid yellow; */
    box-shadow: 1px 1px 4px;
    /* padding: 60px; */
    padding-inline: 40px;
    border-radius: 20px;
}

.page-3 .project-001 {
    display: grid;
    grid-area: s3mn11;
}

.page-3 .project-002 {
    display: grid;
    grid-area: s3mn12;
}

.page-3 .project-003{
    display: grid;
    grid-area: s3mn21;
}

.page-3 .project-004{
    display: grid;
    grid-area: s3mn22;
}

.page-3 .link {
    align-items: center;
    width:45px;
    height: 45px;
    font-size: 1.6rem;
    padding-inline: 50%;
    padding-block-start: 10px;
    color: goldenrod;
}

@keyframes appear {
    from {
        opacity: 0;
        scale: 0.4;
    }
    to {
        opacity: 1;
        scale: 1;
    }
    
}

.page {
    /* padding: 40px; */
    animation: appear linear;
    animation-timeline: view();
    animation-range: entry 0% cover 40%;
}


.arrow-section {
    width: 100%;
    height: 10dvh;
    grid-area: ar;
    display: flex;
    position: relative;  
    justify-content: center;
    align-items: center;
}

.arrow-button {
    cursor: pointer;
    font-size: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    background-color: #333;
    color: #fff;
    position: relative;
    z-index: 1000;
    border-radius: 50%;
    transition: var(--traneo-04);
  }


/* Footer container */
.footer {
    grid-area: ft;
    height: 0px;
    position: relative; 
    background-color: var(--footer-bg-color);
    overflow: hidden; 
    align-items: center;
    justify-content: center;
    
}

/* Footer links */
.footer-container {
    display: flex;
    justify-content: flex-end;
    padding-block-start: 1rem;
}
.footer-menu {
    display: flex;
    justify-content: flex-end;
    width: 100%;
    padding-inline-end: 20px;
    /* border: 1px dashed white; */
}

.social-links {
    display: flex;
    flex-direction:row;
    justify-content:space-between;
    padding-left: 35px;
    width: 100%;
    position: relative;
    font-size: 1.3rem;
}

.social-links a {
    margin-right: 20px;
    color: #49d020;
}

.footer-links {
    list-style: none;
    display: flex;
    gap: 2rem;
    padding: 0;
    margin: 0;
    justify-content: center;
    align-items: center;
}

.footer-links a {
    color: white;
    text-decoration: none;
}

@media (max-width: 420px) {
   
    body {
        display: block;
    }
    :root {
        --fs-xl: 1.5rem;
        --fs-600: 1rem;
        --fs-500: .75rem;
        --fs-400: .50rem;
        --fs-300: .25rem;

        /* ++++transition+++++ */
        /* Transition */
        --tran-02: all 0.2s ease;
        --tran-03: all 0.3s ease;
        --tran-04: all 0.4s ease;
        --tran-05: all 0.5s ease;
        --traneo-01: all 1s ease-in-out;
    }

    .header {
        display: flex;
        position: fixed;
        top: 0;
    }
    .nav--open {
        transform: translateX(0) !important;
    }
    .header .nav {
        position: fixed;
        top: var(--header-height);
        background-color: var(--from-bg-img-11);
        width: 100%;
        padding: 10px 0 25px;
        transform: translateX(-100%);
        transition: var(--tran-03);
    }

    .header .nav .nav__links {
        display: flex;
        flex-direction: column;
        row-gap: 10px;
        width: 100%;
        align-items: center;
    }
    .hamburger--open .bar:nth-child(1) {
        transform: translateY(4px) rotate(45deg);
    }
    .hamburger--open .bar:nth-child(2) {
        display: none;
    }
    .hamburger--open .bar:nth-child(3) {
        transform: translateY(-4px) rotate(-45deg);
    }
    .hamburger {
        display: block;
    }

    main {
        display: flex;
        flex-direction: column;
        width: 100vw;
        /* overflow: hidden; */
        margin-block-start: var(--header-height);
    }
    

    .page-1 {
        display: flex;
        flex-direction: column;
        width: 100vw;
        min-height: 100dvh;
        /* margin-block-start: 20px; */
    }
    .page-1 .h3 {
        font-size: var(--fs-400);
    }
    .page-1 .el {
        width: 100vw;
        display: flex;
        flex-direction: column;
        
    }

    .page-1 .container {
        
        min-height: 100dvh;
        width: 90dvw;
        display: grid;
        margin-inline: 20px;

    }

    .page-1 .skill {
        
        align-items: center;
        justify-content: center;
        width: auto;
        font-size: var(--fs-400);
        display: flex;
        flex-direction: column;
        height: 55px;
    }

    .page-1 .skill .skill-name {
       padding-block-end: 15px;
       display: flex;
       width: 100%;
       padding-inline-start: 5vw;
        
    }

    .page-1 .skill .stars{
        display: flex;
        bottom:10px;
        left: 0;
    }
    
    .page-2 .top {
        align-items: center;
        justify-content: center;
    }

    .page-2 .container:nth-child(3) {
        display: grid;
        grid-template-columns: repeat(7, 60vw);
        grid-template-rows: repeat(2, 30vh);
        padding: 4vw;
        gap: 4vw;
        overflow-y: hidden;
        overflow-x: auto; 

        
    }

    .page-2 .item {
        overflow: hidden;
        display: flex;
        justify-content: center;
        align-items: center;
        position: relative;
        flex-direction: column;
        background-color: var(--from-bg-img-1) ;
        overflow: auto;
        border-radius: 20px;
        
    }
    
    /* .page-3 > * {
        border: 1px solid white;
    } */

    .page-3 {
        position: relative;
        display: flex;
        min-height: 280dvh;
        overflow: scroll;
    }

    .pf-pages section:nth-child(3) {
        display: flex;
        flex-wrap: wrap;

    }

    .page-3 .page3-box:first-child {
        width: 100vw;
        height: var(--header-height);
    }

    .page-3 .page3-box:nth-child(2) {
        width: 5vw;
        height: 80vh;
    }

    .page-3 .page3-box:nth-child(3) {
        position: relative;
        width: 80vw;
        height: 40vh;
        
    }
    
    .page-3 .left-section .desc h3 {
        font-size: var(--fs-500);
    }

    .page-3 .left-section .desc p {
        font-size: var(--fs-400);
    }

    .page-3 .page3-box:nth-child(4) {
        position: absolute;
        margin-inline-start: 7vw;
        margin-block-start: 53vh;
        width: 80vw;
        height: 40vh;
    }
    .page-3 .page3-box:nth-child(5) {
        height: 80vh;
        width: 5vw;
    }

    /* .page-3 .item > * {
        border: 1px solid white;
    } */

    

    .page-3 .projects .item {
        background-color: var(--background1) ;
        
        justify-content: center;
        align-items: center;
        display: flex;
        position: relative;
        box-shadow: 0px 0px 12px var(--sidebar1-bg) ;
        margin-block-start: -6vh  ;
        
    }

    .page-3 .projects .item .img {
        display: flex;
        height: 40vh;
        top: -10vh;
    }

    .footer-container .social-links {
        
        padding-inline-start: 1rem;
    }

    .footer-menu {
        display: flex;
        justify-content: flex-end;
        width: 100%;
        padding-inline-end: 5px;
        font-size: var(--fs-600);
        /* border: 1px dashed white; */
    }
    
    .footer-menu .footernav {
        /* border: 1px solid wheat; */
        color: yellow;
    }

    .footer-links a {
        color: white;
        font-size: var(--fs-500);
        text-decoration: none;
        column-gap: 1px;
    }

}