/*Typography Guide*/
/*
Fonts:
    Headings & Sub-headings: Montserrat
    Paragraphs & other sections: SFCompact
*/

@import url('../fonts/Heading/Montserrat-Regular.ttf');
@import url('../fonts/Details/SFCompact/SFCompactDisplay-Regular.otf');

html,body{
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
    /* overflow-x: hidden; */
}

/*Section default settings*/
h1, h2, h3 {
    font-family: 'Montserrat-Regular', sans-serif;
}

h4, a, p, input, label, button, span, li {
    font-family: 'SFCompactDisplay-Regular', sans-serif;
}

.p-0 {
    padding: 0;
}

.p-l-50 {
    padding-left: 50px;
}

.w-100 {
    width: 100%;
}

.m-t-30 {
    margin-top: 30px;
}

.section-header {
    position: relative;
    margin-bottom: 30px;
}

.section-mega {
    font-size: 5em;
    font-weight: 700;
    margin-bottom: 10px;
}

.white-alpha {
    color: rgba(255, 255, 255, 0.1);
}

.black-alpha {
    color: rgba(0, 0, 0, 0.1);
}

.section-subheading{
    font-size: 2.5em;
    font-weight: 600;
}

.centered {
    position: absolute;
    bottom: -1em;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
}

.aside-left-sm {
    position: absolute;
    bottom: -55px;
    left: 50px;
}

.aside-left-sm-o {
    position: absolute;
    bottom: -10px;
    left: 50px;
}

.header-desc {
    font-size: 1.0em;
    padding: 15px 150px 50px 150px;
    line-height: 24px;
    letter-spacing: 0.06em;
}

.color-white {
    color: white;
}

.color-light-green {
    color: #5692b6;
}


/*NAVIGATION*/

.navbar.navbar-default {
    background: none;
    letter-spacing: 0.1em;
    padding-left: 50px;
    padding-right: 50px;
}

.navbar-active {
    background: rgba(0, 0, 0, 0.4) !important;
    -webkit-transition: ease .4s;
    -moz-transition: ease .4s;
    -ms-transition: ease .4s;
    -o-transition: ease .4s;
    transition: ease .4s;
}

.nav.navbar-nav li a {
    text-align: center;
    font-size: 0.9em;
    color: white;
}

.nav.navbar-nav li.active a,
.nav.navbar-nav li.active a:hover,
.nav.navbar-nav li.active a:focus {
    color: #5692b6;
    background: none;
}

.nav.navbar-nav li a:hover {
    color: #5692b6;

    -webkit-transition: ease .2s;
    -moz-transition: ease .2s;
    -ms-transition: ease .2s;
    -o-transition: ease .2s;
    transition: ease .2s;
}

.navbar-brand img {
    width: auto;
    height: 3em;
}

.content-section {
    width: 100%;
    padding: 40px;
}

/*HOME*/

#home{
    position: relative;
    width: 100%;
    height: 100vh;
}

.overlay {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
}

#home-pager {
    position: relative;
    width: inherit;
    height: inherit;
}

.carousel-inner .item img {
    width: 100%;
    max-width: 100%;
    height: 100vh;
    object-fit: cover;
}

.carousel-inner ul {
    padding: 0 100px;
    margin: 0;
    text-align: left;
    position: absolute;
    top: 45%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
}

.carousel-inner ul.left {
    left: 0;
}

.carousel-inner ul.right {
    right: 0;
}
@media (min-device-width: 568px){
.carousel-inner ul.right {
    bottom: 18em;
}
}
.carousel-inner ul li {
    list-style-type: none;
}

.caption-title h1 {
    color: white;
    text-shadow: none;
    font-weight: 700;
    font-size: 2.5em;
}

.caption-desc {
    margin-top: 20px;
    font-size: 1.3em;
    font-weight: 300;
    text-shadow: none;
}

ol.carousel-indicators {
    margin: 0;
    width: auto;
}

.position-left {
    position: absolute;
    bottom: 30px;
    left: 50px;
    right: 0;
}

ol.carousel-indicators li,
ol.carousel-indicators li.active {
    float: left;
    width: 10px;
    height: 10px;
    margin: 5px;
    border-radius: 0;
    border: 1px solid #ddc623;
    background: none;
}

ol.carousel-indicators li.active {
    background: #0E0C35;
}

/*ABOUT*/

.card .card-content{
    padding: 20px;
}

.card .card-content h2, .card .card-content h3{
    text-align: center;
    font-weight: 400;
}

.card .card-content p{
    font-size: 1.1em;
    color: #252525;
    padding: 10px 20px;
}

#about-us{
    background: url("../image/about.jpg") no-repeat center;
    /* background: #adb9ca; */
    background-size: cover;
    position: relative;
    height: auto;
    padding-bottom: 80px;
}


#about-us h3 {
    color: #29abe2;
    font-size: 1.5em;
    font-weight: 600;
}

#about-us h4 {
    font-size: 1.2em;
}

#about-us p {
    font-size: 1.1em;
    margin-top: 15px;
    line-height: 24px;
}

.about-us-card{
    width: 900px;
    min-height: 400px;
    margin: 0 40px 40px 40px;

    position: relative;
    left: 46.5%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
}

.about-us-card .mission {
    margin-top: 2em;
}

.about-us-card .col-md-6 {
    padding-right: 0;
    padding-left: 0;
}

.about-us-card .mission-vision-container {
    padding-right: 30px;
    padding-left: 30px;
}

.about-us-card img {
    height: 400px;
    max-width: 100% !important;
    object-fit: cover;
}

/*Section - Our story*/
#our-story{
    height: auto;
    position: relative;
    background: #5692b6;
    min-height: 100vh;
}

#our-story .timeline-container {
    position: relative;
    height: 500px;
    padding: 80px 100px 80px 100px;
}

#our-story .timeline-container-sm {
    position: relative;
    width: 300px;
    padding: 70px 0 70px 0;
}

#our-story .hr-line {
    position: relative;
    width: 100%;
    height: 5px;
    top: 50%;
    transform: translateY(-50%);
    background: #018e45;
    background: -webkit-linear-gradient(left, #018e45 , #c8dcf0);
    background: -o-linear-gradient(right, #c8dcf0, #018e45);
    background: -moz-linear-gradient(right, #c8dcf0, #018e45);
    background: linear-gradient(to right, #018e45 , #c8dcf0);
}

#our-story .hr-line-sm {
    position: relative;
    width: 5px;
    height: 100vh;
    left: 50%;
    transform: translateX(-50%);
    background: #018e45;
    background: -webkit-linear-gradient(top, #018e45 , #c8dcf0);
    background: -o-linear-gradient(bottom, #c8dcf0, #018e45);
    background: -moz-linear-gradient(top, #c8dcf0, #018e45);
    background: linear-gradient(to bottom, #018e45 , #c8dcf0);
}

.hr-line span.points {
    position: absolute;
    left: -10px;
    bottom: -12px;
    display: block;
    width: 20px;
    height: 20px;
    border: 3px solid white;
    border-radius: 10px;
    background: #006837;
}

.hr-line span.points.count1 {
    border: 3px solid white;
    background: #018e45;
}

.hr-line span.points.count2 {
    border: 3px solid white;
    background: #22b173;
}

.hr-line span.points.count3 {
    border: 3px solid white;
    background: #24a895;
}

.hr-line span.points .year1 {
    position: relative;
    left: -0.48em;
    top: 1.5em;
    color: white;
    display: block;
    font-size: 1.3em;
    font-family: 'Ropa Sans', sans-serif;
}

.hr-line span.points .year2 {
    position: relative;
    left: -0.48em;
    top: -1.8em;
    color: white;
    display: block;
    font-size: 1.3em;
    font-family: 'Ropa Sans', sans-serif;
}

.hr-line span.points .vr-line-top {
    display: block;
    position: absolute;
    width: 2px;
    background: white;
    height: 80px;
    bottom: 2.5em;
    left: 0.5em;
}

.hr-line span.points .vr-line-bottom {
    display: block;
    position: absolute;
    width: 2px;
    background: white;
    height: 80px;
    top: 2.5em;
    left: 0.5em;
    z-index: 1000;
}

.hr-line span.points .timeline-content-top {
    display: block;
    position: absolute;
    left: -6.5em;
    bottom: 7.5em;
    width: 170px;
    color: white;

    font-size: 0.95em;
    font-family: 'Ropa Sans', sans-serif;
    line-height: 20px;
}

.hr-line span.points .timeline-content-bottom {
    display: block;
    position: absolute;
    left: -6.5em;
    top: 7.5em;
    width: 170px;
    color: white;

    font-size: 0.95em;
    font-family: 'Ropa Sans', sans-serif;
    line-height: 20px;
}

/*Section - Our processes*/
#our-process{
    height: auto;
    position: relative;
    background: #FFFFFF;
    padding-bottom: 80px;
    padding-top: 80px;
}

#our-process p {
    margin: 2em; /* -top: 100px; */
    font-size: 1.1em;
    line-height: 24px;
    font-weight: 400;
    letter-spacing: 0.06em;
    color: #565656;
}

#our-process .bordered-box {
    border: 1px solid #ddc623;
    background: url("../image/process.png") center no-repeat;
    background-size: 400px auto;
    height: 450px;
}

/*Section - Our services*/
#our-services {
    position: relative;
    height: auto;
    background: #5692b6;
    padding-bottom: 80px;
}

#our-services p {
    font-size: 1.1em;
    line-height: 24px;
    letter-spacing: 0.06em;
    margin-top: 50px;
}

#our-services p:last-child {
    margin-top: -20px;
}

.mg-l-50 {
    margin-left: 50px;
}

#our-services ul {
    padding: 7px;
    margin: 0 0 0 60px;
}

/* #our-services */ ul li {
    list-style-type: none;
    color: white;
    font-size: 1.0em;
    margin-top: 15px;
    letter-spacing: 0.06em;
}

#our-services ul li .fa {
    color: white;
    margin-right: 10px;
}

#our-services .img-box {
    background: url("../images/services/service.png") center no-repeat;
    background-size: contain;
    width: auto;
    height: 480px;
    margin-top: 40px;
}

/*Section - Portfolio*/
#portfolio {
    height:auto;
    position: relative;
    background: #f8f7f7;
    padding-bottom: 120px;
}

#portfolio .carousel {
    padding-right: 100px;
    padding-left: 100px;
}

#portfolio .carousel-indicators {
    top: 350px;
}

#portfolio .client-icon {
    border: 2px solid #ddc623;
    height: 130px;
}

.ishara {
    background: url("../images/clients/ishara.png") no-repeat center;
}

.m-hotel {
    background: url("../images/clients/m-hotel.png") no-repeat center;
}

.sua-spmc {
    background: url("../images/clients/SUA-SPMC.png") no-repeat center;
}

.tfl {
    background: url("../images/clients/tfl.png") no-repeat center;
}

.nipo {
    background: url("../images/clients/nipo.png") no-repeat center;
}

.mm-advocates {
    background: url("../images/clients/Mtengeti-&-Mtengeti.png") no-repeat center;
}

.brand-movers {
    background: url("../images/clients/brand_movers.png") no-repeat center;
}

.e-engineering {
    background: url("../images/clients/extrimity_e.png") no-repeat center;
}

.icv {
    background: url("../images/clients/icv_secirty.png") no-repeat center;
}

.eclipse-group {
    background: url("../images/clients/Eclipse Group Logo.png") no-repeat center;
}

.afri-solutions {
    background: url("../images/clients/afri_solutions.png") no-repeat center;
}

.jangwani {
    background: url("../images/clients/jangwani_resort.jpg") no-repeat center;
}

.ammabbizzo {
    background: url("../images/clients/ammabbizzo.png") no-repeat center;
}

.bg-size-60 {
    -webkit-background-size: auto 60px;
    background-size: auto 60px;
}

.bg-size-100 {
    -webkit-background-size: auto 100px;
    background-size: auto 100px;
}

.bg-size-180 {
    -webkit-background-size: auto 180px;
    background-size: auto 180px;
}

/*Section - Contacts*/
#contacts {
    background: #FFFFFF;
    position: relative;
    height: auto;
    padding: 60px 0 0 0;
}

#contacts ul {
    margin: 0;
    padding: 0;
}

#contacts ul li {
    list-style-type: none;
    color: white;
    font-size: 0.9em;
    font-weight: 300;
    margin-top: 10px;
    letter-spacing: 0.05em;
}

#contacts ul li a {
    color: white;
    font-size: 1em;
    font-weight: 300;
    margin-top: 10px;
    letter-spacing: 0.05em;
}

#contacts ul li a:hover {
    text-decoration: underline;
}

#contacts .header-desc {
    font-size: 1.1em;
    line-height: 24px;
    font-weight: 400;
    letter-spacing: 0.06em;
    color: #565656;
}

.form-parent {
    margin: 0;
    background: #5692b6;
    padding: 50px 100px;
}
/* todo: use variables */
.map-parent {
    margin: 0;
}

#contact-us-form input[type="text"],
#contact-us-form input[type="email"],
#contact-us-form textarea {
    border-bottom: 1px solid white;
    font-size: 0.9em;
    padding: 6px 0;
    margin-top: -20px;
    color: white;
}

#contact-us-form input[type="text"]::placeholder,
#contact-us-form input[type="email"]::placeholder,
#contact-us-form textarea::placeholder {
    font-size: 1em;
    color: white;
    font-weight: 300;
    letter-spacing: 0.05em;
}

#contact-us-form textarea {
    height: 40px;
    max-height: 150px;
}

.form-group.is-focused .form-control{
    background-image: linear-gradient(transparent, transparent), linear-gradient(transparent, transparent);
}

.form-control, .form-group .form-control{
    background-image: linear-gradient(transparent, transparent), linear-gradient(transparent, transparent);
}

#contact-us-form input[type="text"]:focus, #contact-us-form input[type="email"]:focus, #contact-us-form textarea:focus {
    border-bottom: 1px solid rgba(255, 255, 255, 0.7);
    -webkit-transition: ease .3s;
    -moz-transition: ease .3s;
    -ms-transition: ease .3s;
    -o-transition: ease .3s;
    transition: ease .3s;
    box-shadow: none;
}

#submit.btn-default {
    background: none;
    color: white;
    font-size: 0.9em;
    font-weight: 300;
    letter-spacing: 0.05em;
    margin-left: -1.0em !important;
    border: 1px solid white;
    margin-top: 30px;
}

#submit.btn-default:hover {
    border: 1px solid rgba(255, 255, 255, 0.7);
    color: rgba(255, 255, 255, 0.7);
    -webkit-transition: ease .3s;
    -moz-transition: ease .3s;
    -ms-transition: ease .3s;
    -o-transition: ease .3s;
    transition: ease .3s;
    box-shadow: none;
}

.social {
    width: 120px;
}

.social-box {
    display: inline-block;
    height: 40px;
    width: 40px;
    border: 1px solid white;
    position: relative;
}

.social-box i.fa {
    color: white;
    font-size: 1.5em;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

/*Section - Map*/
#google-map, .form-parent {
    height: 500px;
}

#map{
    background: #f8f7f7;
    height:100%;
    width: 100%;
}

/*Footer*/
footer{
    height: 60px;
    background: #4a4a4a;
    color: white;
}

footer p{
    padding-top: 20px;
    text-align: center;
    font-size: 0.9em;
}
