@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@200;300;400;600&display=swap');

:root{
    --yellow:#f9ca24;
}

*{
	font-family: 'Nunito', sans-serif;
	margin:0; padding:0;
    box-sizing: border-box;
    text-decoration: none;
    outline: none; border:none;
    /*text-transform: capitalize;*/
    transition: all .2s linear;
}

*::selection{
    background:var(--yellow);
    color:#333;
}

html{
    font-size: 62.5%;
    overflow-x: hidden;
}

html::-webkit-scrollbar{
    width:1.4rem;
}

html::-webkit-scrollbar-track{
    background:#222;
}

html::-webkit-scrollbar-thumb{
    background:var(--yellow);
}

body{
    background:#111;
    overflow-x: hidden;
    padding-left: 35rem;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

section{
    flex:1;
    padding:1rem;
}

.hp-field{
    position: absolute;
    left: -9999px;
    opacity: 0;
    height: 0;
    overflow: hidden;
}

.error{
    color:red;
    font-family: 'Nunito', sans-serif;
    font-size: 1.5rem;
}

.send-error{
    background: rgba(255, 0, 0, 0.1);
    padding: 1.5rem;
    border-radius: 5px;
    margin-bottom: 1.5rem;
    font-size: 1.6rem;
    text-align: center;
}

.btn{
    display: inline-block;
    padding:.7rem 3rem;
    background:var(--yellow);
    color:#333;
    cursor: pointer;
    margin-top: 1rem;
    font-size: 2rem;
    border-radius: 5rem;
}

.btn i{
    padding:0 .5rem;
    font-size: 1.8rem;
}

.btn:hover{
    transform: scale(1.05);
    box-shadow: 0 0 20px rgba(249, 202, 36, 0.5);
}

a.btn,
a.btn:link,
a.btn:visited{
    background:var(--yellow);
    color:#333;
}

a.btn:hover{
    color:#333;
    background:var(--yellow);
}
.heading{
    text-align: center;
    margin:0 6rem;
    font-size: 4rem;
    padding:1rem;
    border-bottom: .1rem solid #fff4;
    color:#fff;
}


.heading span{
    color:var(--yellow);
}

.statement-block{
    position: absolute;
    bottom: calc(100% + 4rem);
    left: 0;
    right: 0;
}

.statement{
    text-align: center;
    font-size: 3rem;
    font-weight: 700;
    color: var(--yellow);
    letter-spacing: 2px;
    margin-bottom: 1.5rem;
    text-transform: uppercase;
}

header{
    position: fixed;
    top:0; left:0;
    z-index: 1000;
    height:100%;
    width:35rem;
    background:#1a1a1a;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-flow: column;
    text-align: center;
}

header .user img{
    height:17rem;
    width:17rem;
    border-radius: 50%;
    object-fit: cover;
    margin-bottom: 1rem;
    border:.7rem solid var(--yellow);
}

header .user .name{
    font-size: 3.5rem;
    color:#fff;
}

header .user .post{
    font-size: 2rem;
    color:#eee;
}

header .navbar{
    width:100%;
}

header .navbar ul{
    list-style: none;
    padding:1rem 3rem;
}


header .navbar ul li a{
    display: block;
    padding:1rem;
    margin:1.5rem 0;
    background:#333;
    color:#fff;
    font-size: 2rem;
    border-radius: 5rem;
}

header .navbar ul li a:hover,
header .navbar ul li a.active{
    background:var(--yellow);
    color:#333;
}

#menu{
    position: fixed;
    top:2rem; right:2rem;
    background:#333;
    color:#fff;
    cursor: pointer;
    font-size: 2.5rem;
    padding:1rem 1.5rem;
    z-index: 1000;
    display: none;
}

.home{
    display: flex;
    justify-content: center;
    flex-flow: column;
    padding:0 15rem;
}

.home h3{
    font-size: 2.5rem;
    color:#fff;
}

.home h1{
    font-size:5rem;
    color:#fff;
}

.home h1 span{
    color:var(--yellow);
}

.home p{
    font-size:2rem;
    color:#eee;
    padding: 1rem 0;
}

.about{
    display: flex;
    flex-direction: column;
}

.about-body{
    flex:1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.about-content{
    max-width: 900px;
    text-align: center;
    position: relative;
}

.about-content p{
    font-size: 1.8rem;
    color:#eee;
    line-height: 1.8;
    margin-bottom: 3.5rem;
}


.list .row{
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
}

.list .row .content{
    flex:1 1 30rem;
    padding:4rem;
    padding-bottom: 0;
}

.list .row form{
    flex:1 1 45rem;
    padding:2rem;
    margin:2rem;
    margin-bottom: 4rem;
}

.list .row form .box{
    padding:1.5rem;
    margin:1rem 0;
    background:#3333;
    color:#fff;
    text-transform: none;
    font-size: 1.7rem;
    width:100%;
}

.list .row form .box::placeholder{
    text-transform: capitalize;
}

.list .row form .message{
    height: 15rem;
    resize: none;
}

.list .row .content .title{
    text-transform: uppercase;
    color:#fff;
    font-size: 3rem;
    padding-bottom: 2rem;
}

.list .row .content .info h3{
    display: flex;
    align-items: center;
    font-size: 2rem;
    color:#eee;
    padding:1rem 0;
    font-weight: normal;
}

.list .row .content .info h3 i{
    padding-right: 1rem;
    color:var(--yellow);
}

.top{
    position: fixed;
    bottom:7.5rem; right: 2rem;
    z-index: 100;
    display: none;
}


.confirmation{
    display: flex;
    justify-content: center;
    flex-flow: column;
    padding:0 15rem;
}


.confirmation h1{
    font-size:5rem;
    color:#fff;
}

.confirmation h1 span{
    color:var(--yellow);
}

.confirmation p{
    font-size:2rem;
    color:#eee;
    padding: 1rem 0;
}



a:link {
    color: #eee;
    background-color: transparent;
    text-decoration: none;
  }

  a:visited {
    color: #eee;
    background-color: transparent;
    text-decoration: none;
  }

  a:hover {
    color: var(--yellow);
    background-color: transparent;
  }

  a:active {
    color: yellow;
    background-color: transparent;
    text-decoration: underline;
  }





/* === EXPERIENCE SECTION === */

.experience{
    display: flex;
    flex-direction: column;
}

.experience-body{
    flex:1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.carousel{
    max-width: 900px;
    margin:auto;
    width:100%;
}

.carousel-track{
    position: relative;
}

.job{
    padding:3rem;
    display: none;
}

.job.active{
    display: block;
}

.job-title{
    font-size: 2.6rem;
    color:#fff;
    margin-bottom: 0.2rem;
}

.job-period{
    font-size: 1.4rem;
    color:#888;
    margin-bottom: 1.5rem;
    letter-spacing: 0.5px;
}

.job-details{
    list-style: none;
    padding-left: 0;
}

.job-details li{
    font-size: 1.7rem;
    color:#eee;
    margin:0.7rem 0;
    line-height: 1.5;
    padding-left: 2rem;
    position: relative;
}

.job-details li::before{
    content: '\f111';
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    font-size: 0.7rem;
    color:var(--yellow);
    position: absolute;
    left:0;
    top: 0.9rem;
}

.job-role{
    font-size: 1.7rem;
    color:var(--yellow);
    font-weight: 400;
    margin-bottom: 0.3rem;
}

.job-description{
    font-size: 1.6rem;
    color:#ccc;
    line-height: 1.7;
    margin-bottom: 1.5rem;
}

.job-focus{
    display: flex;
    flex-wrap: wrap;
    gap:0.8rem;
    margin-top: 1.5rem;
}

.focus-tag{
    font-size: 1.3rem;
    color:var(--yellow);
    border:1px solid var(--yellow);
    padding:0.4rem 1.2rem;
    border-radius: 5rem;
}

.carousel-dots{
    display: flex;
    align-items: center;
    justify-content: center;
    gap:1rem;
    margin-top: 2rem;
}

.carousel-dot{
    width:1rem;
    height:1rem;
    border-radius: 50%;
    background:#555;
    cursor: pointer;
}

.carousel-dot.active{
    background:var(--yellow);
    transform: scale(1.3);
}

.carousel-controls{
    display: flex;
    align-items: center;
    justify-content: center;
    gap:2rem;
    margin-top: 1.5rem;
}

.carousel-btn{
    width:4.5rem;
    height:4.5rem;
    border-radius: 50%;
    background:#333;
    color:#fff;
    cursor: pointer;
    font-size: 1.8rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.carousel-btn:hover{
    background:var(--yellow);
    color:#333;
}

/* === FOOTER === */

.footer{
    padding: 2rem;
    text-align: center;
    color:#eee;
    font-size: 1.4rem;
}

.footer-links{
    margin-bottom: 1rem;
}

.footer-links a{
    color:#eee;
    font-size: 2rem;
    margin: 0 1rem;
}

.footer-links a:hover{
    color:var(--yellow);
}

.footer p{
    color:#666;
}

/* === 404 PAGE === */

.not-found{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    min-height: 100vh;
    text-align: center;
}

.not-found h1{
    font-size: 10rem;
    color:var(--yellow);
}

.not-found p{
    font-size: 2rem;
    color:#eee;
    margin: 2rem 0;
}

/* === SKILLS SECTION === */

.skills{
    display: flex;
    flex-direction: column;
}

.skills-body{
    flex:1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.skills-grid{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    max-width: 900px;
    width: 100%;
    padding: 2rem;
}

.skill-card{
    background:#1a1a1a;
    padding: 2.5rem;
    border-radius: 10px;
    text-align: center;
}

.skill-card:hover{
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.3);
    border-bottom: 3px solid var(--yellow);
}

.skill-card i{
    font-size: 3rem;
    color:var(--yellow);
    margin-bottom: 1.5rem;
}

.skill-card h3{
    font-size: 1.8rem;
    color:#fff;
    margin-bottom: 0.5rem;
}

.skill-card p{
    font-size: 1.4rem;
    color:#aaa;
}

@media (max-width:768px){
    .skills-grid{
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width:400px){
    .skills-grid{
        grid-template-columns: 1fr;
    }
}

/* === BOTTOM NAV (mobile) === */

.bottom-nav{
    display: none;
}

.mobile-avatar{
    display: none;
}

/* media queries  */

@media (max-width:1200px){

    html{
        font-size: 55%;
    }

    .home{
        padding:1rem 4rem;
    }

}

@media (max-width:991px){

    header{
        left:-120%;
    }

    #menu{
        display: none;
    }

    header.toggle{
     left:0%;
    }

    body{
        padding:0;
        padding-bottom: 6.5rem;
        min-height: 0;
    }

    section{
        min-height: calc(100vh - 6.5rem);
    }

    .home{
        padding: 4rem 3rem;
        justify-content: flex-start;
        padding-top: 8rem;
    }

    .confirmation{
        padding: 4rem 3rem;
        justify-content: flex-start;
        padding-top: 8rem;
    }

    .statement-block{
        position: static;
        margin-bottom: 2rem;
    }

    .mobile-avatar{
        display: block;
        width: 12rem;
        height: 12rem;
        border-radius: 50%;
        object-fit: cover;
        border: .5rem solid var(--yellow);
        margin-bottom: 2rem;
    }

    .bottom-nav{
        display: flex;
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 1000;
        background: #1a1a1a;
        border-top: 1px solid #333;
        justify-content: space-around;
        align-items: center;
        padding: 0.5rem 0;
    }

    .bottom-nav-item{
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 0.3rem;
        color: #888;
        font-size: 1.2rem;
        padding: 0.5rem 1rem;
    }

    .bottom-nav-item i{
        font-size: 2rem;
    }

    .bottom-nav-item span{
        font-size: 1.1rem;
    }

    .bottom-nav-item.active,
    .bottom-nav-item:hover{
        color: var(--yellow);
    }

    .footer{
        display: none;
    }

 }

@media (max-width:768px){

    html{
        font-size: 50%;
    }

 }

@media (max-width:400px){

    header{
        width: 100vw;
    }

    .heading{
        margin:0 3rem;
    }

    .about .row .counter .box{
        width: 100%;
    }

    .list .row form{
        margin:3rem 0;
    }

}
