@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@10..48,400;10..48,500;10..48,600;10..48,700;10..48,800&display=swap');

:root {
    --text: #131515;
    --text-alt: #adb5bd;
    --background: #fff;
    --accent: #f8dc61;
    --primary-font: 'Manrope', sans-serif;
    --secondary-font:'Bricolage Grotesque', sans-serif;

    --white: #ffffff;
	--black: #000000;
	--blue:#0288d1;
	--gray:#ebebeb;
	--box-shadow1:0px 0px 18px 2px rgba(10, 55, 90, 0.15);
}
*{
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
}
html{
    scroll-behavior: smooth;
    overflow-x: hidden!important;
}
body {
    color: var(--text);
    background: var(--background);
    margin: 0;
    position: relative;
    padding: 0;
    font-family: var(--primary-font);
}
img{
    display: block;
    max-width: 100%;
    max-height: 100%;
}
h1, h2, h3, h4, h5, h6, p{
    margin-bottom: 0;
}

  /* ---- tsparticles container ---- */
#tsparticles {
    position: absolute;
    max-width: 100%;
    max-height: 100%;
    height: 100vh;
    /* background-color: #0d47a1; */
    background-image: url("");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 50% 50%;
}
.navbar{
    background-color: #f8dc61;
    /* border-bottom: 1px solid #dddddd; */
    /* box-shadow: 0px 2px 10px 0px rgba(0,0,0,0.1); */
}
.navbar-brand{
    font-family: var(--secondary-font);
    font-size: 20pt;
}
.nav-item{
    margin: 0 1rem;
}
.nav-link{
    text-transform: uppercase;
    font-size: 14pt;
}
.navbar a:hover{
    font-weight: 700;
    color: var(--text);
}
.btn,
.btn:hover{
    background-color: var(--accent);
    color: var(--background);
}
button:focus{
    box-shadow: none;
}
.section-1{
    /* background: url(../images/world-map.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center; */
    background-color: #f8dc61;
    padding: 2rem;
}

.section-1 .header-content{
    padding: 4rem 2rem;
    margin: 4rem 2rem;
}
.section-1 .header-content h1{
    font-size: 110pt;
    font-weight: 800;
    text-transform: uppercase;
    font-family: var(--secondary-font);
    line-height: 90%;
}
.section-1 .header-content span{
    color: var(--background);
}
.section-1 .header-content h6{
    margin: 1rem 0;
    font-size: 18pt;
}
.section-1 .hero-image{
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
.section-3{
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)), url(../images/nairobi.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}
.section-2, 
.section-3,
.section-4,
.section-5,
.section-6,
.section-7{
    padding: 4rem;
}
.content{
    padding: 2rem;
}
.content h6{
    text-transform: uppercase;
    font-weight: 600;
    color: var(--text-alt);
}
.content h2{
    font-weight: 800;
    color: var(--accent);
    font-size: 42pt;
    font-family: var(--secondary-font);
}
.section-2 .content p{
    padding: 1rem;
    line-height: 1.8;
}
.section-2 .content .about-card{
    display: flex;
    align-items: center;
    flex-direction: column;
    background-color: #333333;
    color: var(--text-alt);
    margin: .5rem 1rem;
    padding: 2rem;
    text-align: center;
    border-radius: 20px;
    box-shadow: 0px 35px 120px -15px #1f1f1f;
}
.section-2 .cards{
    margin: 2rem 1rem;
}
.about-card img{
    margin: 1rem;
}
.about-card h5{
    padding: 1rem;
    font-weight: 700;
}
.section-3 .row .col{
    padding-left: 0!important;
    padding-right: 0!important;
}
.tech-card{
    border-radius: 10px;
    margin: .4rem;
    background-color: #333333;
    /* padding: 1rem; */
}
.tech-card .tech-box {
    text-align:center;
    background-repeat:no-repeat;
    background-size:cover;
    background-position:center;
    padding: 1rem;
    /* height:280px; */
    position:relative;
    overflow:hidden;
}
.tech-card .tech-desc {
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background-color:var(--background);
    transition:opacity 0.15s ease-in;
    opacity:0;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: .5rem;
    /* padding-top:80px; */
    /* color:#fff; */
    /* text-shadow:1px 1px 1px rgba(0,0,0,0.15); */
}
.tech-card:hover .tech-desc {
    opacity:.8;
    border-radius: 10px;
}
.tech-desc h6{
    color: var(--black);
    text-transform: capitalize;
}
.section-4 .col{
    margin: 1rem 0;
}
.section-4 .project-card{
    filter: grayscale(1);
    border-radius: 20px;
    padding: 1rem;
    text-align: center;
    transition: .4s ease-in-out;
    /* box-shadow: 0px 2px 10px 0px rgba(0,0,0,0.1); */
    box-shadow: 0 3px 10px rgba(201, 201, 201, 0.281);
}
.section-4 .project-card:hover{
    filter: grayscale(0);
    transform: scale(1.05);
    transition: .4s ease-in-out;
    background: linear-gradient(135deg, #1d1d1d, #F1B200 );
}
.section-4 .project-desc h3{
    font-weight: 200;
    padding: 2rem;
}
.section-4 .project-card .project-logo{
    margin-top: 1rem;
}
.section-4 .project-card .project-image{
    padding: 0 1rem;
}
.section-4 .project-card .project-logo, .section-4 .project-card .project-image{
    display: flex;
    justify-content: center;
}
.section-4 a{
    text-decoration: none;
    color: var(--background);
}
.section-4 a:hover{
    text-decoration: none;
    color: var(--background);
}
/*Timeline*/
.timeline {
    padding: 50px 2rem;
    position: relative;
}
.timeline-nodes {
    padding-bottom: 25px;
    position: relative;
}
.timeline-nodes:nth-child(even) {
    flex-direction: row-reverse;
}
.timeline h4, .timeline h6 {
    padding: 5px 15px;
} 
.timeline h4{
    text-transform: uppercase;
    font-weight: 700;
}
.timeline h6{
    text-transform: uppercase;
    font-family: var(--secondary-font);
    font-weight: 800;
}
.timeline time {
    color: var(--text-alt);
    font-weight: 800;
}
.timeline::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 50%;
    width: 0;
    border-left: 2px dashed var(--accent);
    height: 100%;
    z-index: 1;
    transform: translateX(-50%);
}
.timeline-content {
    padding: 1rem;
    background-color: #fff;
    /* background-color: #f1b10042; */
    border: 1px solid var(--accent);
    position: relative;
    border-radius: 0 0 10px 10px;
    box-shadow: 0px 3px 25px 0px rgba(10, 55, 90, 0.2)
}
.timeline-nodes:nth-child(odd) h3,
.timeline-nodes:nth-child(odd) p {
    text-align: right;
}
.timeline-nodes:nth-child(odd) .timeline-date {
    text-align: left;
}
 
.timeline-nodes:nth-child(even) .timeline-date {
    text-align: right;
}
.timeline-nodes:nth-child(odd) .timeline-content::after {
    content: "";
    position: absolute;
    top: 5%;
    left: 100%;
    width: 0;
    border-left: 10px solid var(--accent);
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
}
.timeline-nodes:nth-child(even) .timeline-content::after {
    content: "";
    position: absolute;
    top: 5%;
    right: 100%;
    width: 0;
    border-right: 10px solid var(--accent);
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
}
.timeline-image {
    position: relative;
    z-index: 100;
}
.timeline-image::before {
    content: "";
    width: 100px;
    height: 100px;
    border: 2px dashed var(--accent);
    border-radius: 50%;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    background-color: #fff;
    z-index: 1;
}
.timeline-image img {
    max-width: 100%;
    width: 90px;
    position: relative;
    z-index: 100;
}
.section-4,
.section-6,
.section-7,
.footer{
    background-color: rgb(41,41,41);
}
.section-7 .project-card{
    filter: grayscale(1);
    border-radius: 20px;
    padding: 1rem;
    text-align: center;
    /* box-shadow: 0px 2px 10px 0px rgba(0,0,0,0.1); */
    box-shadow: 0 3px 10px rgba(201, 201, 201, 0.281);
}
.section-7 .project-card:hover{
    filter: grayscale(0);
    transform: scale(1.05);
    transition: .4s ease-in-out;
    background: linear-gradient(120deg, #1d1d1d, #F1B200 );
}
.section-7 .project-desc h3{
    font-weight: 200;
    padding: 2rem;
}
.section-7 .project-card .project-logo{
    margin-top: 1rem;
}
.section-7 .project-card .project-image{
    padding: 0 1rem;
}
.section-7 .project-card .project-logo, .section-4 .project-card .project-image{
    display: flex;
    justify-content: center;
}
.section-7 a{
    text-decoration: none;
    color: var(--background);
}
.section-7 a:hover{
    text-decoration: none;
    color: var(--background);
}
.form-section{
    padding: 2rem;
}
.form-section input{
    padding: 1rem;
    background-color: #FBFBFB;
    margin: 1rem 0;
}
.form-section ::placeholder{
    color: #A1A1A1;
}
.form-section label{
    color: var(--background);
    font-size: 14pt;
}
.form-control:focus{
    border-color: var(--neutral-300);
    box-shadow: none;
}
.footer{
    color: var(--background);
}
.footer a{
    color: var(--background);
}
.footer ion-icon{
    font-size: 14pt;
    color: var(--background);
}
/*small device style*/

@media (max-width: 767px) {
    .timeline-nodes:nth-child(odd) h3,
    .timeline-nodes:nth-child(odd) p {
    text-align: left
}
.timeline-nodes:nth-child(even) {
    flex-direction: row;
}
    .timeline::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 4%;
    width: 0;
    border-left: 2px dashed var(--accent);
    height: 100%;
    z-index: 1;
    transform: translateX(-50%);
}
.timeline h3 {
    font-size: 1.7rem;
}
.timeline p {
    font-size: 14px;
}
.timeline-image {
    position: absolute;
    left: 0%;
    top: 60px;
    /*transform: translateX(-50%;);*/
}
.timeline-nodes:nth-child(odd) .timeline-content::after {
    content: "";
    position: absolute;
    top: 5%;
    left: auto;
    right: 100%;
    width: 0;
    border-left: 0;
    border-right: 10px solid var(--accent);
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
}
.timeline-nodes:nth-child(even) .timeline-content::after {
    content: "";
    position: absolute;
    top: 5%;
    right: 100%;
    width: 0;
    border-right: 10px solid var(--accent);
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
}
.timeline-nodes:nth-child(even) .timeline-date {
    text-align: left;
}
.timeline-image::before {
    width: 65px;
    height: 65px;
}
}

/*extra small device style */
@media (max-width: 575px) {
    .timeline::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 3%;
}
.timeline-image {
    position: absolute;
    left: -5%;
    }
.timeline-image::before {
    width: 60px;
    height: 60px;
}
}


/*Animations*/
@media (max-width: 1024px){
    .section-4 .project-card,
    .section-7 .project-card{
        width: 350px;
        height: 350px;
    }
    .section-4 .row-cols-3,
    .section-7 .row-cols-4
    {
        display: grid;
        grid-template-columns: auto auto auto;
        /* grid-gap: .5rem; */
      }
      .project-card{
        width: 350px;
      }
}
@media (max-width: 575px){
    .section-1{
        padding: 1rem;
    }
    .section-1 .header-content{
        padding: 1rem;
        margin: 1rem;
    }
    .section-1 img{
        display: none;
    }
    .section-1 .header-content h1 {
        font-size: 64pt;
    }
    .section-1 .header-content h6 {
        font-size: 14pt;
    }
    .section-1 .header-content span {
        font-size: 60pt;
    }
    .section-2, .section-3, 
    .section-4, .section-5, 
    .section-6, .section-7{
        padding: 1rem;
    }
    .content {
        padding: 1rem;
    }
    .content h2{
        font-size: 36pt;
    }
    .section-3 .row{
        justify-content: center;
    }
    .section-3 img{
        width: 40px;
    }
    .section-4 .row, 
    .section-7 .row{
        display: flex;
        flex-direction: column;
    }
    .section-4 .row .col, 
    .section-7 .row .col{
        margin: .5rem 0;
    }
    .section-4 .project-card,
    .section-7 .project-card{
        width: 350px;
        height: 350px;
    }
    .section-4 .row-cols-3,
    .section-7 .row-cols-4
    {
        display: grid;
        grid-template-columns: auto;
        grid-gap: .5rem;
      }
      .project-card{
        width: 350px;
      }
    .project-desc h3{
        font-size: 18pt;
    }
}
