
/* google font poppins */

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;600;700;800&display=swap');

:root{
    --main-color:#0c61ac;
    --bg1:#eee;
    --bg2:#fff;
    --text-color1:#111;
    --text-color2:#222;
    --transition: .3s ease-in;
    --shadow:0px 0px 10px #aaa
}


*{
    font-family: 'Poppins', sans-serif;
    margin: 0px;
    padding: 0px;
    box-sizing: border-box;
    border: none;
    outline: none;
    text-decoration: none !important;
    text-transform: capitalize;
    list-style: none;
    /* overflow-x: hidden; */
}

*::selection{
    background-color: var(--main-color);
    color: #fff;
}

::-webkit-scrollbar{
    width: 8px;
}

::-webkit-scrollbar-track{
    background-color: var(--bg1);
    border-radius: 50px;;
}

::-webkit-scrollbar-thumb{
    background-color: var(--main-color);
    border-radius: 50px;;
}

body{
    background-color: var(--bg1);
    padding-top: 82.5px;
    padding-left: 250px;
}

body.active{
    --bg1:#111;
    --bg2:#212121;
    --text-color1:#eee;
    --text-color2:#fff;
    --transition: .3s ease-in;
    --shadow:0px 0px 10px #010101;
}

section{
    padding-top: 50px;
}

h2.title{
    color: var(--main-color);
    font-weight: 600;
    position: relative;
}


/* ======================================= */
/* start header */
header{
    background-color: var(--bg2);
    position: fixed;
    width: 100%;
    z-index: 99;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 30px;
    box-shadow: var(--shadow);
    top: 0px;
    left: 0;
    height: 82.5px;
}

header span{
    color: var(--main-color);
}

header a.logo{
    color: var(--text-color2);
    font-size: 35px;
    font-weight: 600;
    letter-spacing: 1.5px;
}

header .headerIcons div{
    width: 40px;
    height: 40px;
    background-color: var(--main-color);
    color: #fff;
    text-align: center;
    line-height: 40px;
    border-radius: 8px;
    cursor: pointer;
    margin-left: 5px;
    font-size: 20px;
}

header .headerIcons div:hover{
    background-color: var(--main-color);
    transition: var(--transition);
}

/* palette => color menu */
header .palette{
    position: fixed;
    right: 2%;
    top: 16%;
    border-radius: 8px;
    padding: 10px;
    background: var(--bg2);
    max-width: 170px;
    opacity: 0;
    visibility: hidden;
    transition: var(--transition);
}

.palette.active{
    opacity: 1;
    visibility: visible;
}

.palette .colors{
    display: flex;
    flex-flow: wrap;
    gap: 5px;
    justify-content: center;
    margin-top: 10px;
}

.palette h5{
    color: var(--main-color);
    font-weight: 600;
}

.palette .colors .color{
    width: 40px;
    height: 40px;
    border-radius: 8px;
    cursor: pointer;;
}

.palette .colors .color.active{
    border: 2px solid var(--bg2);
    outline: 2px solid var(--main-color);
}

header .line{
    width: 0;
    height: 3px;
    position: absolute;
    left: 0px;
    bottom: 0px;
    background: var(--main-color);
   

}

/* end header */
/* =========================================*/

/* start navbar */
nav{
    background-color: var(--bg2);
    height:100vh;
    position: fixed;
    width: 250px;
    left: 0px;
    top: 82.5px;
    padding-bottom: 82.5px;
    overflow-y: auto;
}

nav ul{
    padding: 0px;
}

nav ul li{
    padding: 12px 35px;
    font-weight: 500;
    position: relative;
    transition: var(--transition);
}

nav ul li:hover,
nav ul li.active{
    background-color: var(--bg1);
    letter-spacing: .5px;
}

nav ul li::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 5px;   
    transition: var(--transition);
}

nav ul li:hover::before,
nav ul li.active::before{
   
    background-color: var(--main-color);
}

nav ul li a{
    font-size: 18.5px;
    font-weight: 500;
}

nav ul li a,
nav ul li a:hover{
    color: var(--main-color);
}

nav ul li i{
    margin-right: 10px;
}

/* end navbar */
/* =========================================*/
/* start home section */

.homeContent{
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    min-height: calc(100vh - 82.5px);
    padding-top: 50px;
    /* background-image: url(../images/bg.jpg); */
}

.homeText{
    flex: 0 0 40%;
    max-width: 40%;
    padding: 0px 10px;
    text-align: center;
    
}

.homeText h4{
    color: var(--text-color1);
    margin-bottom: 0px;
}

.homeText h1{
    color: var(--main-color);
    font-weight: 600;
    font-size: 50px;
    margin-top: 0px;
}

.homeText p{
    color: var(--text-color2);
    line-height: 1.7;
    font-size: 17px;
    text-align: justify;
}

.button{
    background: var(--main-color);
    padding: 10px 15px;
    color: #fff;
    font-size: 20px;
    border-radius: 5px;
    position: relative;
    overflow: hidden;
    z-index: 1;
    transition: var(--transition);
    text-transform: capitalize;
    font-weight: 500;
    margin-bottom: 20px;
}

.button::before{
    position: absolute;
    content: '';
    width: 100%;
    height: 100%;
    top: 0px;
    left: 0px;
    background-color: #fff;
    z-index: -1;
    transform: scale(0);
    transition: var(--transition);
}

.button:hover{
    color: #222;
}

.button:hover::before{
    transform: scale(1);
    border: 3px solid var(--main-color);
}

.homeImage{
    flex: 0 0 60%;
    max-width: 60%;
    text-align: center;
    animation: move 2s ease-in infinite alternate;
    padding-top: 30px;
}

@keyframes move{
    from{
        transform: translateY(-10px);
    }

    to{
        transform: translateY(10px);
    }
}

.homeImage img{
    height: 100%;   
    transform: translateY(-100px);
}

/* end home section */
/* ========================================= */
/* start about section */


.aboutText ul{
    padding-left: 0px;
}

.aboutText ul li{
    margin-bottom: 20px;
    padding: 0px 10px;
}

.aboutText ul li p{
    line-height: 2;
    text-align: justify;
    color: var(--text-color2);
}

.aboutDesc{
    background-color: var(--bg2);
    color: var(--text-color1);
    padding: 20px;
    margin-bottom: 20px;
    text-align: center;
    box-shadow: var(--shadow);
    position: relative;
}

.aboutDesc::before{
    content: "";
    position: absolute;
    top: 0px;
    left: 0px;
    background-color: var(--main-color);;
    width: 40px;
    height: 40px;
    border-bottom-right-radius: 100%;
    transition: var(--transition);
}

.aboutDesc::after{
    content: "";
    position: absolute;
    bottom: 0px;
    right: 0px;
    background-color: var(--main-color);;
    width: 40px;
    height: 40px;
    border-top-left-radius: 100%;
    transition: var(--transition);
}

.aboutDesc:hover::before{
    top: 139px;
    left: 0;
    border-top-right-radius: 100%;
    border-bottom-right-radius: 0px;
}

.aboutDesc:hover::after{
    bottom: 139px;
    right: 0;
    border-bottom-left-radius: 100%;
    border-top-left-radius: 0px;
}

.aboutDesc h4{
    color:var(--main-color)
}

.aboutDesc .button{
    margin-bottom: 0;
    padding: 8px 12px;
    font-size: 18px;
}
/* end about section */
/* ========================================= */

/* start services section */

.serviceContent,
.aboutContent,
.skillsContent,
.teamContent,
.blogContent,
.formContent{
    padding-top: 30px;
}

.serrviceInfo{
    text-align: center;
    margin-bottom:20px;
    padding: 20px;
    background-color: var(--bg2);
    box-shadow: var(--shadow);
    position: relative;
    overflow: hidden;
    z-index: 1;
    transition: var(--transition);
}


.serrviceInfo::before{
    position: absolute;
    content: "";
    bottom: 0;
    left: 0;
    width: 0;
    height: 3px;
    background-color: var(--main-color);
    transition: var(--transition);
}

.serrviceInfo:hover::before{
    width: 100%;
}

.serrviceInfo::after{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background-color: var(--main-color);
    width: 40px;
    height: 40px;
    border-bottom-right-radius: 100%;
    box-shadow: 0px 0px 0px 0px var(--main-color);
    transition:var(--transition);
    z-index: -1;
}

.serrviceInfo:hover::after{
    box-shadow: 0px 0px 0px 350px var(--main-color); 
}


.serrviceInfo i{
    margin-bottom: 15px;
    color: var(--main-color);
}

.serrviceInfo h3{
    color: var(--main-color);
}


.serrviceInfo p{
    color: var(--text-color2);
    line-height: 1.7;
}


.serrviceInfo:hover i,
.serrviceInfo:hover h3,
.serrviceInfo:hover p{
    color: var(--bg2);
}
/* end services section */

/* =========================================== */

/* start skills section */
.progress{
    background: var(--bg2);
    height: 16px;
    
}

.progressBox{
    margin-bottom: 15px;
}

.progressBox label{
    color: var(--text-color2);
    margin-bottom: 10px;
}

.progress-bar{
    width: 0px;
    background: var(--main-color);
    transition: width .6s linear;
}

.progress-bar span{
    font-size: 18px;
}

/* end skills section */
/* =========================================== */
/* start team section */
.teamInfo{
    background: var(--bg2);
    /* max-width: 295.5px; */
    text-align: center;
    border-top-left-radius: 50px;
    overflow: hidden;
    margin-bottom: 25px;
}


.teamInfo img{
    width: 85%;
    object-fit: cover;
    transition: var(--transition);
    max-height: 251.18px;
}

.teamInfo img:hover{
    filter: grayscale();
}

.teamIcons{
    display: flex;
    flex-direction: column;
    width: 15%;
    text-align: center;
}

.teamIcons i{
    width: 100%;
    height: calc(251.18px / 5);
    line-height: calc(251.18px / 5);
    font-size: 20px;
    color: var(--main-color);
    transition: var(--transition);
    cursor: pointer;
}

.teamIcons i:hover{
    background-color: var(--main-color);
    color: #fff;
}

.teamInfo h3{
    color: var(--main-color);
    padding: 20px 0px;
}
/* end team section */
/* =========================================== */
/* start blog section */

.blogBox{
    background-color: var(--bg2);
    margin-bottom: 20px;
    overflow: hidden;
}

.blogImg{
    height: 250px;
    margin-bottom: 5px;
    transition: var(--transition);
    position: relative;
    padding: 15px;
}


.blogImg img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-top-right-radius: 50px;
    border-bottom-left-radius: 50px;
    cursor: zoom-in;
}

.blogDesc{
    padding: 20px;
}

.blogDesc h4{
    color: var(--main-color);
}

.blogDesc p{
    line-height: 1.8;
    color: var(--text-color2);
}

.blogDesc button{
    font-size: 16px;
}

.blogDesc .blogLine{
    display: block;
    width: 90%;
    height: 2px;
    background-color: #ddd;
    margin: 10px auto 20px;
}

.blogIcons{
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    color: var(--text-color2);
}

.blogIcons i{
    margin-right: 3px;
    color: var(--main-color);
}

/* end blog section */
/* =========================================== */
/* start contact section */

form{
    background-color: var(--bg2);
    padding: 30px;
    margin-bottom: 100px;
}

form label{
    color: var(--text-color2) !important;
}

form input,
textarea{
    background-color: var(--bg1) !important;
    margin-bottom: 10px;
}

form textarea{
    resize: none;
}

form button{
    margin-top: 20px;
    margin-bottom: 0px !important;
    width: 100%;
    font-size: 17px;
    background-color: #666 !important;
}
/* end contact section */
/* =========================================== */

/* scroll to top button */

.scrollBtn{
    position: fixed;
    bottom: 30px;
    right: 40px;
    width: 30px;
    height: 40px;
    border-radius: 10px;
    text-align: center;
    line-height: 40px;
    background-color: var(--main-color);
    cursor:pointer;
    color:#fff;
    z-index: 10;
    display: none;
}