:root {
    --black-color : rgb(46, 46, 46);
    /* --main-color : #0078ff; */
    --main-color : #00d5ff;
    --second-color: #0078ff;
    --main-color-weak : rgb(49, 190, 255);
    --background-color: rgb(228, 228, 228);
    --padding-section: 80px;
}
html {
    margin: 0;
    padding: 0;
    scroll-behavior: smooth;
}
@media (max-width: 991px) {
    html {
        font-size: 12px;
    }
}
body {
    font-family: karla, Arial, Tahoma, sans-serif;
    background-color: #f5f5f5;
    color: #4e4e4e;
}
*, *::before, *::after {
    box-sizing: border-box;
    padding: 0;
    margin: 0;
}
h1 {margin: 0;}
a {text-decoration: none;}
p {line-height: 1.6}
p {
    margin-top: 0;
    margin-bottom: 1rem;
}
ul {list-style: none; margin-bottom: 0;}
.container {
    padding-left: 15px;
    padding-right: 15px;
    margin-left: auto;
    margin-right: auto;
}
img{max-width: 100%;}
@media (min-width: 768px) {.container {width: 750px;}}
@media (min-width: 992px) {.container {width: 970px;}}
@media (min-width: 1200px) {.container {width: 1170px;}}
/* Start Heading */
.header {
    z-index: 1000;
}
@media (max-width: 991px) {
    html {
         font-size: 12px; 
    }
}
.header .container {
    padding-top: 3rem;
}
.header .container .nav-bar {
    min-height: 4rem;
    padding: 5px;
    align-items: center;
    background-color: white;
    border-radius: 50px;
    position: relative;
}
@media (max-width: 767px) {
    .header .container .nav-bar {
        border-radius: 10px;
    }
} 
/* .header .container.fixed {
    position: fixed;
    top: 0px;
} */
.header .container .logo {
    display: flex;
    align-items: center;
    height: 3rem;
    font-size: 1.4rem;
    font-weight: 900;
    color: var(--black-color);
    width: 8rem;
    padding-left: 2rem;
}
/* @media (max-width: 767px) {
    .header .container .logo {
        width: calc(100% - 2rem);
        padding-left: 0;
        color: white;
    }
} */
.header .container .logo:hover,
.header .menu-icon:hover, 
.header .close-icon:hover {
    color: var(--main-color);
}
.header .container .nav {
    justify-content: flex-end;
    transition: all .4s ease-out;
}
@media (max-width: 767px) {
    .header .container .nav {
        justify-content: start;
    }
}
.nav .nav-list .nav-item a, 
.nav .download-cv a {
    height: 3.5rem;
    padding: 0 15px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--black-color);
    font-weight: 600;
    font-size: 1.1rem;
    transition: 0.3s;
} 
/* @media (max-width: 767px) {
    .nav .nav-list .nav-item a {
        color: white;
        justify-content: flex-start;
    }
    .nav .nav-list .nav-item a:hover {
        background-color: rgba(42, 41, 41, 0.785);
        border-radius: 4px;
    }
    .nav .download-cv a{
        display: none;
    }
} */
@media (max-width: 991px) {
    .nav .download-cv {
       display: none;
    }
}
.nav .nav-list .nav-item.active a,
.nav .nav-list .nav-item a:hover {color: var(--main-color); }
.nav .download-cv a {
    color: var(--main-color); 
    border-radius: 50px;
    border: 1px solid var(--main-color);
    text-align: center;
}
.nav .download-cv a i {display:inline-block; margin-left: 8px;}
.nav .download-cv:hover a i {animation: translate-down 0.5s infinite;}
/* Start Landing */
.landing {
    padding-top: 40px;
    height: calc(100vh - 120px);
    width: 100%;
    overflow: hidden;
}
.landing::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 45%;
    background-image: url('../images/takoua.jpg');
    background-position: top;
    background-size: cover;
    z-index: -1;
}
@media (max-width: 767px) {
    .landing::before {
        width: 100%;
        right: 0;
    }
}
.landing::after{
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    width: 55%;
    background-color: #FFF;
    z-index: -1;
}
@media (max-width: 767px) {
    .landing::after {
        width: 0%;
    }
}
.landing .container::after {
  content: "";
  clear: both;
  display: table;
}
.landing .overlay {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 45%;
    background-color: rgba(104, 104, 104, 0.075);
    background: linear-gradient(to left top, rgba(54, 175, 245, 0.184) 0%/*bottom-right color*/, rgba(255, 255, 255, 0.1) 50% /*middle color*/, rgba(21, 185, 230, 0.84) 85% /*top-left color*/);
    background-position: top;
    background-size: cover;
    z-index: -1;
}
.landing .landing-content {
    width: 55%;
    float: right;
    padding: 30px 50px;
}
@media (max-width: 767px) {
    .landing .landing-content {
        float: left;
        width: 100%;
    }
}
.landing .landing-content h1 {
    font-size: 2.2rem;
    font-weight: 800;
    margin-bottom: 10px;
    border-right: 4px solid #004687;
    animation: cursor 0.5s infinite step-end, typing 11s infinite steps(16);
    white-space: nowrap;
    overflow: hidden;
    /* color: #0078ff; */
    color: #004687;
    margin-right: 5px;
}
@media (max-width: 767px) {
    .landing .landing-content p {
       color: rgb(255, 255, 255);
       font-size: 1.3rem;
       font-weight: 600;
    }
}
.landing .landing-content h3 {
    font-size: 1.25rem;
    color: var(--main-color);
    margin: 25px 0;
}
.landing .landing-content p {
    font-size: 15px;
}
.landing .landing-content .btns span {
    display: inline-block;
    height: 65px;
    font-weight: bold;
    font-size: 1.1rem;
    padding: 17px 20px;
    margin-top: 20px;
    margin-left: 5px;
    border-radius: 50px;
    border: 1.5px solid rgb(222, 222, 222);
    font-weight: 600;
    text-align: center;
    cursor: pointer;
}
.landing .landing-content .btns .contact-me-btn i {margin-left: 10px;}
.landing .landing-content .btns .contact-me-btn:hover i {animation: translate-right 0.5s infinite;}
.landing .landing-content .btns .scroll-down-btn i {
    width: 25px;
    animation: translate-down 0.6s infinite;
}
/* Start About Me */
.about-me {
    padding-top: var(--padding-section);
    padding-bottom: var(--padding-section);
}
@media (max-width: 767px) {
    .about-me {
        padding-bottom: 30px;
    }
}
.about-me-content .text {
    padding: 4rem;
    background-color: #FFF;
    border-radius: 30px;
    color: var(--black-color);
}
@media (max-width: 767px) {
    .about-me-content .text {
        padding: 30px;
    }
}
.about-me-content .text p:first-of-type {padding: 20px 0;}
.about-me-content .image img {
    border-radius: 50%;
    max-width: 100%;
}
@media (max-width: 767px) {
    .about-me-content .image img {
       max-width: 50%;
    }
}
/*--------------------------------------------------------------
# Services
--------------------------------------------------------------*/
.services-mf {
    padding-top: var(--padding-section);
    padding-bottom: var(--padding-section);
}
.services-mf .row {
    display: flex;
    flex-wrap: wrap;
}
.service-box {
    background-color: #fff;
    padding: 2.5rem 1.3rem;
    border-radius: 1rem;
    margin-bottom: 3rem;
}
.service-box .service-ico {
    margin-bottom: 1rem;
    color: #1e1e1e;
}
.service-box .ico-circle {
    transition: all 500ms ease;
    font-size: 4rem;
}
.ico-circle {
    height: 100px;
    width: 100px;
    font-size: 2rem;
    border-radius: 50%;
    line-height: 1.55;
    margin: 0 auto;
    text-align: center;
    box-shadow: 0 0 0 10px #0078ff;
    display: block;
}
.service-box:hover .ico-circle {
    transition: all 500ms ease;
    color: #fff;
    background-color: #0078ff;
    box-shadow: 0 0 0 10px #cde1f8;
}
.service-box .service-ico {
    margin-bottom: 1rem;
    color: #1e1e1e;
}
.service-box .ico-circle {
    transition: all 500ms ease;
    font-size: 4rem;
}
.service-box .ico-circle img {
    width: 80%;
    height: 80%;
    border-radius: 50%;
}
.service-box .s-title {
    font-size: 1.4rem;
    text-transform: uppercase;
    text-align: center;
    padding: .4rem 0;
}
.service-box .description {
    color: #4e4e4e;
    text-align: center;
    line-height: 1.6;
    font-size: 13px;
}
/* Start Toolkit */
.my-toolkit {
    background-image: url('../images/skills.jpg');
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-size: cover;
    background-position: center center;
    position: relative;
}
.my-toolkit h2 {
    color: #FFF;
    margin-bottom: 10px;
}
.my-toolkit h2::before {
    background-color: #FFF;
}
.my-toolkit>div {
    padding-top: var(--padding-section);
    padding-bottom: calc(var(--padding-section) + 30px);
    background-color: #004687bb;
}
.my-toolkit .toolkit-content {color: var(--black-color);}
.my-toolkit .list-skills {
    background-color: var(--background-color);
    border-radius: 2em;
    padding-top: 4rem;
    padding-bottom: 4rem;
}
.my-toolkit .toolkit-content .skills {
    flex-wrap: wrap;
    margin: 0 auto;
}
.my-toolkit .toolkit-content .skills li {
    margin: 10px 20px;
    width: 100px;
    height: 100px;
    font-size: .8rem;
    font-weight: 600;
    background-color: rgba(249, 249, 249, 0.786);
    border: 1px solid rgb(224, 224, 224);
    border-radius: 50%;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}
.my-toolkit .toolkit-content .skills li .inner {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
circle {
    fill: none;
    stroke: url(#GradientColor);
    stroke-width: 10px;
    stroke-dasharray: 472;
    stroke-dashoffset: 472;
    transition: 2s linear ;
}
svg {
    position: absolute;
    top: -21px;
    left: -22px;
}
.my-toolkit .toolkit-content .skills li img {
    width: 40px;
    height: 40px;
    max-width: 100%;
    margin-bottom: 5px;
}
/*  Start Projects */
.projects {
    padding-top: var(--padding-section);
    padding-bottom: var(--padding-section);  
    height: 100%;
    width: 100%;
}
.projects .container-fostrap h3 {
    position: relative;
    font-size: 1.7rem;
    font-weight: 800;
    margin-left: 50px;
    font-weight: 700;
    color:  #5555;
    text-align: right;
    padding-right: 10px;
}
.projects .project {
    padding: 10px 10px;
}
.projects .project:not(:last-of-type) {
    margin-bottom: 45px;
}
.container-fostrap {
    /* display: table-cell; */
    padding: 1em;
}
.projects-content {
    padding-left: 20px;
    padding-right: 20px;
}
.card {
    display: block; 
    margin-bottom: 20px;
    line-height: 1.42857143;
    background-color: #fff;
    border-radius: 2px;
    box-shadow: 0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12); 
    transition: box-shadow .25s; 
}
.card:hover {
    box-shadow: 0 8px 17px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19);
}
.project img {
    width: 100%;
    height: 240px;
}
.card-title {
    margin-top:0px;
    font-weight: 700;
    font-size: 1.2em;
}
.card-body {
    padding-left: 50px;
}
.card-read-more {
    margin-top: 20px;
}
.card-read-more a {
    text-decoration: none !important;
    padding: 5px 10px;
    font-size: 14px;
    font-weight:700;
    text-transform: uppercase;
    color: #004687;
}
.card-read-more a:hover {
    color: #0079ea;
}
.projects .project .card .steps li {
    font-size: 14px;
    margin-bottom: 5px;
}
.projects .project .card .steps li i{
    font-size: .9rem;
    margin-right: 10px;
    color: var(--main-color);
}
/*End Projects*/
/*Carousel*/
.carousel-section  {
    background-image: url('../images/portfolio.jpg'); 
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-size: cover;
    background-position: center center;
}
.carousel-section > div {
    padding-top: 30px;
    padding-bottom: 30px;
    background-color: #004687d2;
}
.carousel-section .container {
    padding-top: var(--padding-section);
    padding-bottom: 50px;  
    position: relative;
    border-radius: 5px;
}
.carousel-section .carousel-title {
    display: flex;
    align-items: center;
    justify-content: center;
}
.carousel-section .carousel-title h2 {
    color: #fff;
    font-size: 4em;
    position: absolute;
    top: 5%;
}
.carousel-section .carousel-title h2:nth-child(1) {
    color: transparent;
    -webkit-text-stroke: 2px #FFF;
}
.carousel-section .carousel-title h2:nth-child(2) {
    color: #FFF;
    animation: animate 4s ease-in-out infinite;
}
.project-carousel {
    padding-top: 50px;
}
.project-carousel .carousel {
    margin-left: auto;
    margin-right: auto;
    width: 70%;
}
.project-carousel .carousel-item {
    border-radius: 5px;
    overflow: hidden;
}
.project-carousel .carousel-item  img {
    width: 100%;
    height: 450px;
    position: relative;
}
.project-carousel .carousel-item::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 10%;
    height: 90%;
    width: 90%;
    background-color:  #0046875b;
    z-index: 1;
}
@media (max-width: 767px) {
    .carousel-section .carousel-title h2 { 
        font-size: 2rem;
    }
    .project-carousel .carousel {
        width: 100%;
    }
    .project-carousel .carousel-item  img {
      height: 250px;
    }
}
.carousel-control-next-icon, 
.carousel-control-prev-icon  {
   width: 30px;
   height: 30px;
}
/*End Carousel*/
/* Start Contact */
.contact {
    padding-top: 50px;
    padding-bottom: 50px; 
    color: rgb(228, 228, 228);
}
.get-in-touch {
    max-width: 800px;
    margin: 50px auto;
    position: relative;
  
  }
  .get-in-touch .title {
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 3px;
    font-size: 3.2em;
    line-height: 48px;
    padding-bottom: 48px;
       color: #5543ca;
      background: #5543ca;
      background: -moz-linear-gradient(left,rgb(0, 255, 242)  0%,#004687 100%) !important;
      background: -webkit-linear-gradient(left,rgb(0, 255, 242)  0%#004687 100%) !important;
      background: linear-gradient(to right,rgb(0, 255, 242)  0%,#004687 100%) !important;
      -webkit-background-clip: text !important;
      -webkit-text-fill-color: transparent !important;
  }
  
  .contact-form .form-field {
    position: relative;
    margin: 32px 0;
  }
  .contact-form .input-text {
    display: block;
    width: 100%;
    height: 36px;
    border-width: 0 0 2px 0;
    border-color: rgb(0, 255, 242) ;
    font-size: 18px;
    line-height: 26px;
    font-weight: 400;
  }
  .contact-form .input-text:focus {
    outline: none;
  }
  .contact-form .input-text:focus + .label,
  .contact-form .input-text.not-empty + .label {
    -webkit-transform: translateY(-24px);
            transform: translateY(-24px);
  }
  .contact-form .label {
    position: absolute;
    left: 20px;
    bottom: 11px;
    font-size: 18px;
    line-height: 26px;
    font-weight: 400;
    color: #777;
    cursor: text;
    transition: -webkit-transform .2s ease-in-out;
    transition: transform .2s ease-in-out;
    transition: transform .2s ease-in-out, 
    -webkit-transform .2s ease-in-out;
  }
  .contact-form .submit-btn {
    display: inline-block;
    background: linear-gradient(to right,rgb(0, 255, 242)  0%,#004687  100%) !important;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 16px;
    padding: 8px 16px;
    border: none;
    width:200px;
    cursor: pointer;
  }
/* Start Footer */
.footer {
    background-color: #191E22;
    color: #6A6E71;
    padding: 50px 0;
    text-align: center;
}
.pulse {
    color: rgb(214, 0, 0);
}
/* End Footer */
/* Start Animations */
@keyframes translate-right {
    0%   {transform: translateX(0);}
    100% {transform: translateX(5px);}
}
@keyframes translate-down {
    0%   {transform: translateY(-4px);}
    100% {transform: translateY(1px);}
}
@keyframes cursor{
    0%, 100%{border-color: transparent;}
    50%{border-color: rgb(51, 187, 236);}
}
@keyframes typing{
    0%{ width: 0ch}
    30%{ width: 16.4ch;}
    80%{ width: 16.4ch;}
    90%{ width: 0ch;}
    100%{ width: 0ch;}
}
@keyframes animate {
    0%,
    100% {
      clip-path: polygon(
        0% 45%,
        16% 44%,
        33% 50%,
        54% 60%,
        70% 61%,
        84% 59%,
        100% 52%,
        100% 100%,
        0% 100%
      );
    }
    50% {
      clip-path: polygon(
        0% 60%,
        15% 65%,
        34% 66%,
        51% 62%,
        67% 50%,
        84% 45%,
        100% 46%,
        100% 100%,
        0% 100%
      );
    }
}
/* My Framework */
.main-title {
    font-size: 2rem;
    margin-bottom: 2rem;
    padding: 25px 0;
    width: fit-content;
    text-transform: uppercase;
    position: relative; 
    color: #EEE;
    color: var(--main-color);
}
@media (max-width: 768px) {
    .main-title {
       margin-bottom: .2rem;
    }
}
.main-title::before {
    content: '';
    position: absolute;
    width: 50%;
    height: 0.5px;
    background-color: var(--main-color);
    top:0;
    left: 0;
}
.main-title::after {
    content: 'Check Out My';
    position: absolute;
    font-size: .6rem;
    top: 0;
    left: 80%;
    width: 200px;
    margin-right: 30px;
    text-transform: uppercase;
    word-spacing: 3px;
    letter-spacing: 1.2px;
}
.fl-left {float: left;}
.flex {
    display: flex;
}
.flex-center {
    justify-content: center;
    align-items: center;
}
.my-btn {
    display: inline-block;
    height: 70px;
    font-weight: bold;
    font-size: 1.3rm;
    padding: 0 25px;
    border-radius: 50px;
    border: 1.5px solid rgb(222, 222, 222);
    font-weight: 600;
    text-align: center;
    cursor: pointer;
}
