/* CSS Default Variables */
:root {
    /*===== Colors =====*/
    --skin-color: rgb(63, 22, 166);
    --title-color: rgb(71, 109, 193);
    --text-color: rgb(255, 255, 255);
    --body-color:#23252f;
    --box-color:black;
    --body-font: sans-serif;
    /* .5rem = 8px, 1rem = 16px, 1.5rem = 24px ... */
    --biggest-font-size: 3rem;
    --h1-font-size: 2.25rem;
    --h2-font-size: 1.5rem;
    --h3-font-size: 1.25rem;
    --normal-font-size: 1rem;
    --small-font-size: .875rem;
    --smaller-font-size: .813rem;
    /*===== Font Weight =====*/
    --font-medium: 500;
    --font-bold: 600;
    /*===== Margenes Bottom =====*/
    --mb-0-25: .25rem;
    --mb-0-5: .5rem;
    --mb-0-75: .75rem;
    --mb-1: 1rem;
    --mb-1-5: 1.5rem;
    --mb-2: 2rem;
    --mb-2-5: 2.5rem;
    --mb-3: 3rem;
    /*===== Z Index =====*/
    --z-fixed: 10;
    --z-modal: 100;
}

/* Responsive Typography */
@media screen and (max-width: 1024px) {
    :root {
        --biggest-font-size: 2rem;
        --h1-font-size: 1.5rem;
        --h2-font-size: 1.25rem;
        --h3-font-size: 1.125rem;
        --normal-font-size: .938rem;
        --small-font-size: .813rem;
        --smaller-font-size: .75rem;
    }
}
/* changing body color */
/* body {
    background: linear-gradient(45deg, #ee7752, #e73c7e, #23a6d5, #23d5ab);
    background-size: 400% 400%;
    animation: 8s colorchange ease-in-out infinite;
}

@keyframes colorchange {
    0% {
        background-position: 0 50%;
    }

    50% {
        background-position: 100% 50%;
    }

    100% {
        background-position: 0 55%;
    }
} */
/* go up icon */
.top {
    position: fixed;
    bottom: 1rem;
    right: 2rem;
    display: flex;
    font-size: xx-large;
}
/* preloader */
#preloader{
    background: #000 url('../img/output-onlinegiftools.gif') no-repeat center center;
    background-repeat: no-repeat;
    background-size: 50%;
    height: 100vh;
    width: 100%;
    position: fixed;
    z-index: 100;
}
/* light/dark theme */
.theme-btn{
    z-index: 99;
    position: absolute;
    right: 0;
    top: 100px;
    background: transparent;
    /* backdrop-filter:blur(20px); */
    width: 50px;
    font-size: 1.2em;
    border-radius: 5px 0 0;
    box-shadow: whitesmoke;
    cursor: pointer;
}
.theme-btn .bxs-sun, .theme-btn.sun .bxs-moon{
    display: none;
}
.dark-theme{
    --body-color:rgb(255, 255, 255);
    --text-color:black;
    --box-color:#e0e0e0;
}
.dark-theme p{
    color: rgb(0, 0, 0);
}
.dark-theme #preloader{
    background: #fff url('../img/output-onlinegiftools.gif') no-repeat center center;
    background-repeat: no-repeat;
    background-size: 50%;
    height: 100vh;
    width: 100%;
    position: fixed;
    z-index: 100;
}
.dark-theme .button:hover{
    background-color: rgb(138, 135, 135);
    color: black;
    transform: scale(1);
}
.dark-theme .dbtn:hover {
    background-color: rgb(138, 135, 135);
    color: black;
    transform: scale(1);
}
.theme-btn.sun .bxs-sun{
    display: block;
}
/* Base */
*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
html{
    scroll-behavior:smooth;
}
body,input,button{
    font-family: var(--body-font);
    font-size: var(--normal-font-size);
}
body{
    background-color: var(--body-color);
    color: var(--text-color);
}
h1,h2,h3{
    color: var(--title-color);
    font-weight: var(--font-bold);
}
ul{
    list-style: none;
}
a{
    text-decoration: none;
}
img{
    max-width: 100%;
    height: auto;
}
button{
    cursor: pointer;
}
button,input{
    border: none;
    outline: none;
}

/*Layout*/
.container{
    max-width: 1250px;
    margin-left: auto;
    margin-right: auto;
}
.grid{
    display: grid;
}
/* REUSABLE CSS CLASSES */
.section{
    padding:6.5rem 0  2rem ;
}
.section_title{
    text-align: center;
    font-size: var(--h1-font-size);
    margin-bottom: var(--mb-3);
}
.section_title::before{
    content: attr(data-heading);
    display: block;
    font-size: var(--normal-font-size);
    font-weight: var(--font-medium);
    color: rgb(145, 146, 147);
}
/*Navigation Bar */
.sidebar{
    position:fixed;
    width:100px;
    height: 100vh;
    background-color: var(--body-color);
    border-right: 1px solid var(--box-color);
    transition: .5s;
}
.nav_logo{
    position: absolute;
    left: 0;
    right: 0;
    top: 1.8rem;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: var(--skin-color);
    text-align: center;
    margin: auto;
}
.nav_logotext{
    font-size: 1.125rem;
    color: var(--title-color);
    font-weight: var(--font-bold);
    line-height: 40px;
    cursor: copy;
}
.nav_menu{
    position: fixed;
    transform: rotate(-90deg) translateX(-100%);
    width: 100vh;
    transform-origin: left top;
}
.menu{
    display: flex;
}
.nav_list{
    display: flex;
    flex-direction: row-reverse;
    margin: -2px auto 0 auto;
}
.nav_link{
    float: right;
    height: 100%;
    line-height: 100px;
    padding: 0 1rem;
    color: var(--title-color);
    position: relative;
    font-weight: var(--font-medium);
    transition: .4s;
}
.btn_share{
    position: absolute;
    bottom: 1.8rem;
    left: 0;
    right: 0;
    text-align: center;
}
.social_share{
    font-size: 1.5rem;
}
/* togglebar */
.nav_toggle{
    height: 32px;
    width: 36px;
    cursor: pointer;
    position: fixed;
    right: 1.5rem;
    top: 2rem;
    font-size: 2.2rem;
    display: none;
    align-items: center;
    justify-content: center;
    z-index:99;
}
.nav_close{
    font-size: 1.5rem;
    position: absolute;
    top: 1rem;
    right: 1.25rem;
    cursor: pointer;
    display: none;
}
/* 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;
    margin: auto;
    right: 0;
}
/* MAIN */
.main{
    margin-left: 100px;
}

/* Home Section*/
.home{
    background: url("../img/hey__2___1_-removebg-preview.png");
    background-size: cover;
    height: 100vh;
    background-position: center center;
}
.home_container{
    position: relative;
    height: 100%;
    align-items: center;
}
.home_social{
    position: absolute;
    top: 1.8rem;
    left:0;
    display: flex;
    align-items: center;
    column-gap: 3.5rem;
}
.home_img{
    display: none;

}
.home_social-follow{
    position: relative;
    font-weight: var(--font-medium);
    
}
.home_social-link{
    display: inline-flex;
    column-gap: 1rem;
}
.home_social-link{
    font-size: 1.08rem;
    color: var(--text-color);
    transition: 0.8s;
}
.home_social-link:hover{
    transform: translateY(0.5rem);
}
.home_title{
    font-size: var(--biggest-font-size);
}
.home_subtitle{
    font-size: var(--h3-font-size);
    font-weight: var(--font-medium);
    margin-bottom: var(--mb-0-75);
}
.home_description{
    max-width: 450px;
    margin-bottom: var(--mb-2);
}
.my_info{
    display: flex;
    column-gap: 1.8rem;
    position: absolute;
    left: 0;
    bottom: 1.8rem;
}
.info_item{
    display: flex;
    align-items: center;
}
.info_title, .info_subtitle{
    font-size: var(--small-font-size);
}
.info_title{
    font-weight: var(--font-medium);
}
.info_icon{
    font-size: 1.8rem;
    color: var(--skin-color);
    margin-right: var(--mb-0-75);
}
/*Buttons */
.button{
    display: inline-flex;
    align-items: center;
    column-gap: .5rem;
    background-color: black;
    color: var(--title-color);
    padding: .75rem 1.4rem ;
    border-radius: 25rem;
    position: relative;
    z-index: 1;
    transition:.4s ;
}
.button::after{
    position: absolute;
    content: '';
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: var(--box-color) ;
    z-index: -1;
    transform: scale(0);
    border-radius: .25rem;
    transform-origin: center;
    border-radius: .25rem;
    transition: .3s;
}
.button:hover{
    background-color: white;
    color: black;
    transform: scale(1);
}
.button_icon{
    font-size: 1.3rem;
}
.dbtn{
    /* display: inline-flex; */
    align-items: center;
    column-gap: .5rem;
    background-color: black;
    color: var(--title-color);
    padding: .75rem 1.4rem ;
    border-radius: 25rem;
    position: relative;
    z-index: 1;
    transition:.4s ;
}
.dbtn:hover{
    background-color: white;
    color: black;
    transform: scale(1);
}
/*About Section*/
.about_container{
    grid-template-columns: repeat(2, 1fr);
    column-gap: 4rem;
    align-items: center;
}
.about_img{
    width: 480px;
    border-radius: 1.5rem;
    justify-self: center;
}
.about_heading{
    font-size: var(--h3-font-size);
    margin-bottom: var(--mb-0-25);
}
.about_description{
    text-align: justify;
    padding-right: 6rem;
    margin-bottom: var(--mb-2);
}
.about_info{
    
    grid-template-columns: repeat(3,140px);
    column-gap: .5rem;
    margin-bottom:var(--mb-3) ;
}
.about_box{
    text-align: center;
    border-radius: .25rem;
    padding: 1rem 1.25rem;
    background-color: var(--box-color);
}
.about_icon{
    font-size: 1.5rem;
    color: var(--skin-color);
    margin-bottom: var(--mb-0-75);
}
.about_title{
    font-size: var(--small-font-size);
}
.about_subtitle{
    font-size: var(--smaller-font-size);
}
/* Experience journey Section */
.qualification_container{
    grid-template-columns: repeat(2,340px);
    column-gap: 3rem;
    justify-content: center;
}
.qualification_title{
    font-size: var(--h3-font-size); 
    font-weight: var(--font-medium);
    margin-bottom: var(--mb-2);
}
.timeline_item{
    position: relative;
    margin-bottom: var(--mb-2-5);
    padding-left: 3rem;
    cursor: pointer;
}
.timeline_item:last-child{
    margin-bottom: 0;
}
.timeline_item::before{
    content: '';
    width: 1px;
    position: absolute;
    left: .48rem;
    top: 0;
    height: 100%;
    background-color: var(--skin-color);
}
.circle_dot{
    position: absolute;
    left: 0;
    top: 0;
    height: 1rem;
    width: 1rem;
    border-radius: 50%;
    border: 2px solid var(--skin-color);
    background-color: var(--skin-color);
    transition: .3s;
}
.timeline_item:hover .circle_dot{
    background-color:var(--body-color) ;
    cursor: pointer;
}
.timeline_title{
    font-size: var(--normal-font-size);
    font-weight: var(--font-medium);
    margin-bottom: var(--mb-0-25);
}
.timeline_text{
    font-size: var(--smaller-font-size);
    margin-bottom: var(--mb-1);
}
.timeline_date{
    display: flex;
    align-items: center;
    column-gap: .4rem;
    font-size: var(--small-font-size);
    color: rgb(169 135 255);
}
/*Skills Section */
.skills_container{
    grid-template-columns: 360px 320px;
    column-gap: 3rem;
    justify-content: center;
}
.skills_header{
    display: flex;
    align-items: center;
    cursor: pointer;
}
.skills_header:not(:last-child){
    margin-bottom: var(--mb-2-5);
}
.skills_icon, .skills_arrow{
    font-size: 2rem;
    color: var(--skin-color);
}
.skills_icon{
    margin-right: var(--mb-0-75);
}
.skills_titles{
    font-size: var(--h3-font-size);
    font-weight: var(--font-medium);
}
.skills_subtitle{
    font-size: var(--small-font-size);
}
.skills_arrow{
    margin-left: auto;
}
.skills_list{
    row-gap: 1.8rem;
}
.skills_titles{
    display: flex;
    justify-content: space-between;
    margin-bottom: var(--mb-0-5);
}
.skills_name{
    font-size: var(--normal-font-size);
    font-weight: var(--font-medium);
}
.skills_bar, .skills_percentage{
    height: 5px;
    border-radius: .25rem;
}
.skills_bar{
    background-color: var(--box-color);
}
.skills_percentage{
    display: block;
    background-color: var(--skin-color);
}
.skills_active .skills_arrow{
    transform:rotate(-90deg) ;
    transition: .4s;
}
.skills [data-content]{
    display: none;
}
.skills_active[data-content]{
    display: block;
}
/* Project Section */
.project_container{
    overflow: initial;
}
.project_data{
    text-align: center;
}
.project_content{
    padding: 0 1.5rem;
    display: grid;
    justify-content: center; /* Center horizontally */
    align-items: center; /* Center vertically */
}
.project_img{
    width: 100%; /* Adjust the width */
    max-width: 265px; /* Add a max-width for larger screens */
    border-radius: .5rem;
    /* justify-self: center; */ /* Not needed with the grid centering */
    margin: 0 auto; /* Center horizontally within the grid cell */
    display: block;
}
.project_title{
    font-size: var(--h3-font-size);
    margin-bottom:var(--mb-0-5)
}
.project_description{
    margin-bottom: var(--mb-0-75);
}
.swiper-container-horizontal > .swiper-pagination{
    bottom: -2.5rem;
}
.swiper-button-prev, .swiper-button-next,.swiper-pagination-bullet {
    outline: none;
}
.swiper-button-prev::after, .swiper-button-next::after{
    content: '';
    display: none;
}
.swiper-project-icon{
    font-size: 2rem;
    color:steelblue;
}
.swiper-button-prev{
    left: -.5rem;
}
.swiper-button-next{
    right: -.5rem;
}
/* Contact me Section */
.contact_container{
    grid-template-columns: 300px 340px;
    column-gap: 3rem;
    justify-content: center;
    align-items: center;
}
.contact_info{
    display: grid;
    row-gap: 1rem;
}
.contact_card{
    background-color:var(--box-color) ;
    padding: 1rem;
    border-radius: .5rem;
    text-align: center;
}
.contact_card-icon{
    font-size: 1.8rem;
    color: var(--title-color);
    margin-bottom: var(--mb-0-25);
}
.contact_card-title, .contact_card-data{
    font-size: var(--small-font-size);
}
.contact_card-title{
    font-weight: var(--font-medium);
}
.contact_card-data{
    display: block;
    margin-bottom: var(--mb-0-75);
}
.contact_button{
    color: var(--skin-color);
    font-size: var(--small-font-size);
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: .25rem;
    cursor: pointer;
}
.contact_button-icon{
    font-size: 1rem;
    transition: .3s;
}
.contact_button:hover .contact_button-icon{
    transform: translateX(.25rem);
}
.input_container{
    position: relative;
    margin-top: .1rem;
    margin-bottom: 1.9rem;
}
.input{
    width: 100%;
    border: 2px solid var(--text-color);
    background-color: transparent;
    padding: .6rem 1.2rem;
    color: var(--title-color);
    font-weight: var(--font-medium);
    font-size: var(--normal-font-size);
    letter-spacing: .5px;
    border-radius: .5rem;
    transition: .3s;
    outline: none;
}
textarea.input{
    padding: .8rem 1.2rem;
    min-height: 140px;
    border-radius: .5rem;
    resize:none ;
}
.input_container span{
    position: absolute;
    top: 0;
    left: 25px;
    transform: translateY(-50%);
    font-size: var(--small-font-size);
    padding: 0 0.4rem;
    pointer-events: none;
    z-index: 500;
    color:transparent;
}
.input_container span::before, .input_container span::after{
    content: '';
    position: absolute;
    width: 10%;
    height: 5px;
    background-color: var(--body-color);
    top: 50%;
    transform: translateY(-50%);
    transition: .3s;
    opacity: 0;
}
.input_container span::before{
    left: 50%;
}
.input_container span::after{
    right: 50%;
}
.input_container.focus span::before, 
.input_container.focus span::after { 
    width: 50%;
    opacity: 1;
}
/* for contact form */
.rating_dropdown {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    padding: 10px;
    border: 2px solid #f39c12; /* Border color */
    border-radius: 5px;
    font-size: 16px;
    background-color: #fff;
    color: #f39c12;
    cursor: pointer;
/*     background-image: url('../img/star.png');  New star icon URL  */
    background-repeat: no-repeat;
    background-position: right center;
}
/* Style the dropdown arrow icon */
.rating_dropdown::after {
    content: '\25BC';
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
    font-size: 18px;
}
/* Hover effect */
.rating_dropdown:hover {
    border-color: #f7ca18; /* Hover border color */
}

/*Footer section*/
.footer{
    padding-top: 2rem;
}
.footer_container{
    grid-template-columns: repeat(3,1fr);
    column-gap: 1.5rem;
}
.footer_bg{
    background-color: var(--box-color);
    padding: 1rem 0 1rem;
}
.footer_title{
    font-size: var(--h1-font-size);
    margin-bottom: var(--mb-0-25);
}
.footer_subtitle{
    font-size: var(--small-font-size);
}
.footer_links{
    display: flex;
    justify-self: center;
    column-gap: 2rem;
}
.footer_link:hover{
    color: brown;
}
.footer_socials{
    justify-self: flex-end;
}
.footer_copy{
    font-size: larger;
    text-align: center;
    margin-top: 4.5rem;
}

.footer span {
    background: -webkit-linear-gradient(rgb(30, 0, 255), rgb(170, 0, 255));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
/*Media queries */
/* For Large Devices */
@media screen and (max-width: 1408px) {
    .container{
        margin-left: var(--mb-2-5);
        margin-right: var(--mb-2-5);
    }
}

@media screen and (max-width: 1216px) {
    .about_container{
        column-gap: 2.5rem;
    }
    .about_description{
        padding-right: 0;
    }
    .nav_toggle{
        display: none;
    }
}

@media screen and (max-width: 1024px) {
    .container{
        margin-left: var(--mb-1-5);
        margin-right: var(--mb-1-5);
    }
    .sidebar{
        width: 100%;
        z-index: 1000;
transform: translateY(-100%);
    }
    .show-sidebar{
        transform: translateX(0);
    }
    .nav_logo, .btn_share{
        display: none;
    }
    
    .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;
    }
    .main{
        margin-left:0;
    }
    .nav_link.active-link::after, .nav_link:hover::after{
        bottom: 0;
    }
    .nav_close{
        display: block;
    }
    .nav_toggle{
        display: flex;
    }
    .about_img{
        width: 350px;
    }
    .about_container{
        grid-template-columns: 1fr;
        row-gap: 2.5rem;
    }
    .about_data{
        text-align: center;
    }
    .about_info{
        justify-content: center;
    }
    .about_box{
        padding: .75rem .5rem;
    }
    .about_description{
        padding: 0 4rem;
        text-align: center;
    }
    .qualification_container{
        grid-template-columns: repeat(2,290px);
    }
    .skills_container{
        grid-template-columns: 340px 340px;
    }
    .skills_list{
        row-gap: 1.7rem;
    }
}

/* For Medium Devices */
@media screen and (max-width: 768px) {
    .about_img{
        width: 250px;
    }
    .qualification_container{
        grid-template-columns: 290px;
        row-gap: 3rem;
    }
    .skills_container{
        grid-template-columns: 300px;
        row-gap: 3rem;
    }
    .contact_container{
        grid-template-columns:360px ;
        row-gap: 3rem;
    }
    .footer_container{
        grid-template-columns: repeat(2,1fr);
        row-gap: 3rem;
        
    }
    .footer_bg{
        padding: 2rem 0 3rem;
    }
    .footer_copy{
        margin-top: var(--mb-3);
        
    }
}

@media screen and (max-width: 576px) {
    .nav_toggle{
        right: initial;
        left: 1.5rem;
    }
    .home{
        background-image: none;
        height: initial;
        align-items: initial;
        padding: 7rem 0 2rem;
    }
    .home_img{
        display: block;
        width: 250px;
        justify-self: center;
    }
    .home_container{
        row-gap: 2rem;
    }
    .my_info{
        display: none;
    }
    .home_social{
        left: initial;
        right: -1rem;
        flex-direction: column;
        row-gap: 1rem;
    }
    .about_info{
        grid-template-columns: repeat(3, 1fr);
    }
    .about_description{
        padding: 0;
    }
    .contact_container{
        grid-template-columns: 300px;
    }
    .footer_container{
        grid-template-columns: 1fr;
    }
}

/* For Small Devices */
@media screen and (max-width: 350px) {
    .container{
        margin-left: var(--mb-1);
        margin-right: var(--mb-1);
    }
    .home_img{
        width: 200px;
    }
    .home_title{
        font-size: var(--h1-font-size);
    }
    .home_subtitle{
        font-size: var(--normal-font-size);
    }
    .about_info{
        grid-template-columns: repeat(2,1fr);
        row-gap: .5rem;
    }
    .qualification_container{
        grid-template-columns: 1fr;
    }
    .skills_container, .qualification_container, .contact_container{
        grid-template-columns: 1fr;
    }
}
