* {
    box-sizing: border-box;
}

@font-face {
    font-family: CREWCablesFont;
    src: url(../webfonts/Roboto-Light.ttf);
}

h1 {
    font-size: 300%;
    color: #0d7b4e;
    text-transform: uppercase;
    font-weight: bold;
}

body {
    font-family: CREWCablesFont;
    font-weight: 300;
    height: 100%;
    min-height: 100%;
    overflow-x: hidden;
}

#wrapper {
    /* margin-top: 100px; */
}

#wrapper:after {
    content: "";
    display: block;
    clear: both;
}

section {
    width: 100%;
    float: left;
    /*text-align: center;
             height: 100vh; */
    /* padding: 15px; */
    padding-top: 130px !important;
}

header {
    position: fixed;
    top: 0;
    background-color: #f4f7f6;
    width: 100%;
    height: 100px;
    padding: 10px;
    z-index: 9;
}

.logo img {
    max-width: 260px;
    min-width: 100px;
}

@media (min-width: 576px) {
    .logo img {
        width: 100%;
    }
}

@media (max-width: 576px) {
    .logo img {
        width: 250px;
    }
    .mobNav {
        text-align: right;
    }
}

.NavContainer {
    border-left: 1px solid #0d7b4e;
    border-right: 1px solid #0d7b4e;
}

nav {
    line-height: 24px;
    padding-top: 17px;
}

nav ul {
    text-align: center;
    padding: 0;
}

nav li {
    display: inline-block;
    margin-right: 20px;
}

@media (max-width:1510px) {
    nav li {
        margin-right: 0px;
    }
}

@media (max-width:1140px) {
    nav li a {
        font-size: 1em !important;
    }
}

nav li:last-child {
    margin-right: 0px;
}

nav li a {
    font-size: 1.2em;
    text-decoration: none;
    color: #727272;
    padding: 4px 10px;
    transition: all 0.15s ease-in-out;
    border-bottom: 7px solid #ccc;
}

nav li a.active,
nav li a:hover {
    border-bottom: 7px solid #1976D2;
    padding: 4px 10px;
}

.banner {
    padding: 0;
    position: relative;
    z-index: 0;
    overflow: hidden;
    padding-top: 100px !important;
}

.banner img {
    width: 100%;
}

.bannerContent {
    position: absolute;
    height: calc(100% - 100px);
    width: 50%;
    /* background-color: #3a8e6c; */
}

.bannerContent::before {
    content: "";
    position: absolute;
    top: -5%;
    left: -20%;
    height: 110%;
    width: 120%;
    background-color: rgba(0, 0, 0, 0.7);
    transform: skew(25deg, 0);
    border: 4px solid #0d7b4e;
}

.bannerContent::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -13px;
    height: 60%;
    width: 30px;
    border-radius: 15px;
    background-color: #0d7b4e;
    transform: translateY(-50%) rotate(-25deg);
}

.bannerContent p {
    position: absolute;
    top: 50%;
    right: 20%;
    transform: translateY(-50%);
    color: #FFF;
    text-transform: uppercase;
    font-size: 2.4rem;
    line-height: 2.8rem;
    font-weight: bold;
}

.bannerContent p span {
    font-size: 2.4rem;
    line-height: 3.4rem;
    font-weight: normal;
}

@media (max-width:550px) {
    .bannerContent p,
    .bannerContent p span {
        font-size: 1.2rem;
        line-height: 1.4rem;
    }
}

.infrastructure {
    background-color: #f9f9f9;
    padding: 10vh 0;
}

.infrastructure .infrastructureP {
    font-size: 1.3rem;
}

.infrastructure .infrastructureImgs {
    text-align: center;
}

.infrastructure .infrastructureImgs img {
    max-width: 100%;
}

.infrastructure .infrastructureImgs p {
    margin: 0;
    padding: 0;
}

.infrastructure .infrastructureTitle {
    font-size: 1.2rem;
    color: #000;
}

.infrastructure .infrastructureContent {
    font-size: 1.8rem;
    color: #0d7b4e;
    font-weight: bold;
}

.about {
    /* padding: 50px 0; */
}

.about .aboutContent {
    padding-right: 10%;
}

.about .aboutContent p {
    font-size: 1.7rem;
}

@media (max-width:992px) {
    .about .aboutContent p {
        font-size: 1.2rem;
    }
}

.products {
    background-color: #3a8e6c;
    /* padding-top: 70px; */
    padding-bottom: 70px;
}

.products p {
    color: #FFF;
}

.products h1 {
    color: #FFF;
    line-height: 2.5rem;
}

.products h1 span {
    color: #174532;
    font-size: 2rem;
}

.productsListContainer {
    /* padding: 0;
            margin: 0 calc(var(--bs-gutter-x) * .5); */
    /* background-color: #FFF; */
}

.productsListContent p {
    text-align: center;
    color: #0d7b4e;
    text-transform: uppercase;
    font-size: 1.2rem;
    font-weight: bold;
    padding-bottom: 10px;
}

.productsListContainer .productsListContent {
    /* padding: 0;
            margin: 0 calc(var(--bs-gutter-x) * .5); */
    background-color: #FFF;
}

.productsListContainer .productsListContent img {
    width: 100%;
}


/* @media (min-width: 576px) {
            .col-sm-4 {
                width: calc(33.33333333%-calc(var(--bs-gutter-x) * .5));
            }
        }

        @media (min-width: 992px) {
            .col-md-2 {
                width: calc(16.66666667%-calc(var(--bs-gutter-x) * .5));
            }
        } */

.contact {
    background-color: #2c2c2c;
    padding: 15px !important;
}

.row {
    justify-content: center;
}

.vision {
    padding: 10vh 0;
}

.vision p {
    font-size: 1.4rem;
}

#features {
    padding-top: 0 !important;
    padding-bottom: 0;
}

.keyFeatures {
    padding: 50px;
}

.keyFeatures ul {
    padding: 0;
    margin: 0;
}

.keyFeatures ul li {
    padding: 7px 0;
    margin: 0;
    list-style: none;
    font-size: 1.3rem;
}

.standardsFollowed {
    background-color: #efefef;
    padding: 50px;
}

.standards {
    background-color: #FFF;
    border: 1px solid #dbdbdb;
    padding: 15px 20px;
    margin-bottom: 14px;
}

.contact {
    color: #FFF;
}

.contact h2 {
    font-size: 1.2rem;
    font-weight: bold;
}

@media (max-width:1120px) {
    .bannerContent p {
        font-size: 2rem;
        line-height: 2.4rem;
        right: 10%;
        padding-left: 10px;
    }
    .bannerContent p span {
        font-size: 2rem;
        line-height: 2.5rem;
        font-weight: normal;
    }
}

@media (max-width:768px) {
    .bannerContent p,
    .bannerContent p span {
        font-size: 1.5rem;
        line-height: 1.8rem;
    }
    .aboutContent {
        text-align: center;
        padding-left: 5%;
        padding-right: 5%;
    }
    .row {
        justify-content: space-between;
    }
    section {
        text-align: center !important;
    }
    .products .col-10 {
        width: 100% !important;
        padding-left: 5%;
        padding-right: 5%;
    }
}

@media (max-width:576px) {
    .productsListContainer .productsListContent {
        margin: 10px 25px;
    }
}

@media (max-width:498px) {
    .bannerContent p,
    .bannerContent p span {
        font-size: 1.2rem;
        line-height: 1.4rem;
    }
}