﻿html, body {
    height: 100%;
    width: 100%;
}


body {
    position: relative;
    font-family: 'cabrito_sans_norm_booknormBk', sans-serif;
    font-size: 13px;
    letter-spacing: 0.02em;
    background-color: #454242;
    color: #ffffff;
}

h2 {
    font-family: 'cabrito_sans_norm_exbnormexBd', sans-serif;
    font-weight: normal;
    font-size: 14px;
    letter-spacing: 0.1em;
}

a {
    color: #ffffff;
    text-decoration: none;
}

    a:hover,
    a:active {
        color: #ffffff;
        text-decoration: underline;
    }

p strong {
    font-family: 'cabrito_sans_norm_boldnormBd', sans-serif;
    
}


hr {
    border-color: #5fa6d7;
}

ul {
    padding-left: 15px;
}

/* ---- Custom ---- */


a.web-link {
    border: 1px solid #ffffff;
    color: #ffffff;
    font-size: 14px;
    display: block;
    border-radius: 3px;
    text-transform: uppercase;
    padding: 2px 5px;
    text-decoration: none;
    letter-spacing: 0.08em;
    margin-bottom: 10px;
    margin-top: 10px;
}

    a.web-link:active,
    a.web-link:hover {
        background-color: #ffffff;
        color: #454242
    }

    a.web-link.web-link-sm {
        font-size: 13px;
    }

a.down-link {
    display: block;
    margin-top: 30px;
    position: absolute;
    left: 45px;
    bottom: 45px;
}

    a.down-link img {
        width: 40px;
        height: 40px;
    }

.text-sm {
    font-size: 12px;
}

.text-xs {
    font-size: 10px;
    letter-spacing: 0.02em;
    font-family: 'cabrito_sans_norm_demnormdemi', sans-serif;
}

.text-dark {
    color: #454242;
}

a.text-dark:hover,
a.text-dark:active {
    color: #454242;
}


/* ---- Sections ---- */

section,
.section-holder {
    min-height: 100%;
    /*min-height: calc(100vh - 90px);*/
    min-height: 100vh;
    width: 100%;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    position: relative;
}

section {
    padding-top: 90px;
    padding-bottom: 120px;
}

.container-fluid {
    padding-left: 30px;
    padding-right: 30px;
}

.row {
    margin-left: -30px;
    margin-right: -30px;
}

.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1,
.col-xs-2, .col-sm-2, .col-md-2, .col-lg-2,
.col-xs-3, .col-sm-3, .col-md-3, .col-lg-3,
.col-xs-4, .col-sm-4, .col-md-4, .col-lg-4,
.col-xs-5, .col-sm-5, .col-md-5, .col-lg-5,
.col-xs-6, .col-sm-6, .col-md-6, .col-lg-6,
.col-xs-7, .col-sm-7, .col-md-7, .col-lg-7,
.col-xs-8, .col-sm-8, .col-md-8, .col-lg-8,
.col-xs-9, .col-sm-9, .col-md-9, .col-lg-9,
.col-xs-10, .col-sm-10, .col-md-10, .col-lg-10,
.col-xs-11, .col-sm-11, .col-md-11, .col-lg-11,
.col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
    padding-left: 30px;
    padding-right: 30px;
}
/* ---- Home Section ---- */

section#home {
    /*min-height: calc(100vh - 90px);
    height: calc(100vh - 90px);*/
    height: 100%;
    height: 100vh;
    padding-top: 0;
    padding-bottom: 0;
}

    section#home .home-overlay {
        position: absolute;
        left: 0;
        top: 0;
        right: 0;
        bottom: 0;
        background-image: url('../images/icon-xl.png');
        background-size: cover;
        background-repeat: no-repeat;
        background-position: center center;
        font-family: 'cabrito_sans_norm_mediunormMd', sans-serif;
        letter-spacing: 0.02em;
        font-size: 17px;
    }

        section#home .home-overlay .container-fluid {
            padding-left: 50px;
            padding-right: 50px;
            padding-top: 130px;
            padding-bottom: 40px;
        }

/* ---- Footer ---- */

.footer {
    position: absolute;
    bottom: 40px;
    left: 30px;
    right: 100px;
    font-size: 10px;
    letter-spacing: 0.02em;
    font-family: 'cabrito_sans_norm_demnormdemi', sans-serif;
}

    .footer img {
        margin: 5px 30px 15px 0px;
    }

section#home .footer {
    left: 50px;
}

@media (max-width: 767px) {
    .footer {
        right: 80px;
    }

    section#home .footer {
        left: 30px;
    }

}


    /* ---- Carousel ---- */

.carousel,
.carousel-inner {
    width: 100%;
    height: 100%;
}

        .carousel .item {
            background-size: cover;
            background-repeat: no-repeat;
            background-position: center center;
            width: 100%;
            height: 100%;
        }

    .carousel-indicators {
        left: auto;
        right: 50px;
        width: auto;
    }

@media (max-width: 767px) {
    .carousel-indicators {
        left: auto;
        right: 30px;
        width: auto;
    }
}


        .carousel-indicators li {
            width: 16px;
            height: 16px;
            border-radius: 4px;
        }

            .carousel-indicators li.active {
                width: 16px;
                height: 16px;
                margin: 1px;
            }

    /* ---- Main Nav ---- */

    .navbar {
        min-height: 90px;
    }

    .navbar-default {
        background-color: #ffffff;
    }

    .navbar-brand {
        height: 50px;
        padding: 20px 15px;
        opacity: 1;
        -webkit-transition: opacity 0.5s ease-in-out;
        -moz-transition: opacity 0.5s ease-in-out;
        -o-transition: opacity 0.5s ease-in-out;
        transition: opacity 0.5s ease-in-out;
    }

    .home .navbar-brand {
        opacity: 0;
    }

    .navbar-name {
        float: right;
        height: 24px;
        padding: 33px 15px;
        opacity: 1;
        -webkit-transition: opacity 0.5s ease-in-out;
        -moz-transition: opacity 0.5s ease-in-out;
        -o-transition: opacity 0.5s ease-in-out;
        transition: opacity 0.5s ease-in-out;
    }

    .home .navbar-name {
        opacity: 0;
    }

    .navbar-default .navbar-nav > li > a {
        font-family: 'cabrito_sans_norm_demnormdemi', sans-serif;
        color: #888383;
        text-transform: uppercase;
        letter-spacing: 0.1em;
        font-size: 11px;
    }

        .navbar-default .navbar-nav > li > a:hover,
        .navbar-default .navbar-nav > li > a:focus {
            color: #1bb1e7;
            background-color: transparent;
        }

    .navbar-default .navbar-nav > .active > a,
    .navbar-default .navbar-nav > .active > a:hover,
    .navbar-default .navbar-nav > .active > a:focus {
        font-family: 'cabrito_sans_norm_exbnormexBd', sans-serif;
        color: #1bb1e7;
        background-color: transparent;
    }

    @media (max-width: 991px) {
        .navbar-name {
            position: absolute;
            left: 80px;
            top: 0px;
            right: 80px;
            float: none;
        }

        .navbar-toggle {
            margin-top: 30px;
            margin-bottom: 30px;
        }
    }

    @media (max-width: 991px) {
        .navbar-header {
            float: none;
        }

        .navbar-toggle {
            display: block;
        }

        .navbar-collapse {
            border-top: 1px solid transparent;
            box-shadow: inset 0 1px 0 rgba(255,255,255,0.1);
        }

            .navbar-collapse.collapse {
                display: none !important;
            }

                .navbar-collapse.collapse.in {
                    display: block !important;
                }

        .navbar-nav {
            float: none !important;
            margin: 7.5px -15px;
        }

            .navbar-nav > li {
                float: none;
            }

                .navbar-nav > li > a {
                    padding-top: 10px;
                    padding-bottom: 10px;
                }
    }

    @media (min-width: 992px) {



        .navbar .navbar-nav {
            display: inline-block;
            float: none;
            vertical-align: top;
        }

        .navbar-nav > li > a {
            padding-top: 20px;
            padding-bottom: 20px;
            line-height: 50px;
        }

        .navbar .navbar-collapse {
            text-align: center;
        }
    }

    /* ---- Footer Popup ---- */

    .footer-popup {
        display: none;
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        background-color: #57b0e3;
        padding: 30px 30px 120px 30px;
        z-index: 5000;
    }

    .footer-nav {
        list-style-type: none !important;
        padding: 0;
        margin: 0;
    }

        .footer-nav > li {
            list-style-type: none !important;
            padding: 0;
            margin: 0;
        }

            .footer-nav > li > a {
                color: #454242;
                text-decoration: none;
                font-family: 'cabrito_sans_norm_exbnormexBd', sans-serif;
            }

                .footer-nav > li > a:hover,
                .footer-nav > li > a:active {
                    text-decoration: underline;
                    color: #454242;
                }



    .footer-close {
        position: absolute;
        right: 30px;
        top: 30px;
    }

    .footer-open {
        position: fixed;
        bottom: 30px;
        right: 30px;
        opacity: 1;
        -webkit-transition: opacity 0.5s ease-in-out;
        -moz-transition: opacity 0.5s ease-in-out;
        -o-transition: opacity 0.5s ease-in-out;
        transition: opacity 0.5s ease-in-out;
    }

    .home .footer-open {
        opacity: 0;
    }

    .copyright {
        position: absolute;
        right: 30px;
        bottom: 20px;
    }

    /* ---- Section Backgrounds ---- */

    section#about {
        background-image: url('../images/backgrounds/about.jpg');
    }

    section#philosophy {
        background-image: url('../images/backgrounds/philosophy.jpg');
    }

    section#portfolio-open-frame {
        background-image: url('../images/backgrounds/portfolio-open-frame.jpg');
    }

    section#portfolio-lavasco {
        background-image: url('../images/backgrounds/portfolio-lavasco.jpg');
    }

    section#portfolio-open-energy {
        background-image: url('../images/backgrounds/portfolio-open-energy.jpg');
    }

    section#portfolio-steyn-city-energy {
        background-image: url('../images/backgrounds/portfolio-steyn-city-energy.jpg');
    }

    section#portfolio-open-vantage {
        background-image: url('../images/backgrounds/portfolio-open-vantage.jpg');
    }

    section#portfolio-lanseria-logistics-hub {
        background-image: url('../images/backgrounds/portfolio-lanseria-logistics-hub.jpg');
    }

    section#contact {
        background-image: url('../images/backgrounds/contact.jpg');
        padding-bottom: 0;
    }



/* ---- Block ---- */

.block {
    padding: 15px;
    margin-top: 30px;
    margin-right: -55px;
}

.block.block-lg-padding {
    padding-right: 100px;
}


.overlay {
    background-color: rgba(0, 0, 0, 0.6);
    position: relative;
}

.overlay-min-size {
    min-height: 400px;
}

.overlay-footer {
    position: absolute;
    left: 15px;
    bottom: 10px;
    right: 15px;
}

.block-lg-padding .overlay-footer {
    right: 100px;
}

@media (max-width: 767px) {
    .block {
        margin-right: 0px;
    }

    .overlay-min-size {
        min-height: 0;
    }

    .overlay-footer {
        position: relative;
        left: 0px;
        bottom: auto;
        right: 15px;
        
    }
}

@media (min-width: 768px) and (max-width: 991px) {

    .block {
        margin-right: 0;
        margin-left: -25px;
    }

    .row .col-md-4:first-child .block {
        margin-left: 0;
        margin-right: -30px;
    }
}