@charset "utf-8";

.clear, .content-wrapper {
    clear: both;
}

header, footer-nav, footer, article, section, hgroup, aside {
    display: block;
}

img {
    border: none;
    line-height: 0%;
}

/* TAGS */

body {
    font-size: 105%;
    color: #2e2e2e;
    margin: 0;
    font-family: 'Outfit', sans-serif;
    min-width: 300px;
}

input, textarea, select {
    font-size: 90%;
    font-family: 'Outfit', sans-serif;
}

a {
     transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -webkit-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    text-decoration: none;
    color: #357dd1;
}

a:hover, .left-col a:hover {
    color: #a0d858;
}

p {
    line-height: 1.4em;
    margin: 0 0 15px 0;
}

h1 {
    color:#2e2e2e;
    margin: 0;
    font-size: 2.4em;
    font-weight: 700;
}

h2 {
    font-size: 2.1em;
    color:#2e2e2e;
    clear:both;
    margin: 0 0 5px 0;
    font-weight: 700;
    line-height: 1.1em;
}

.small-heading {
    text-transform: uppercase;
    color: #357dd1;
    display: block;
    margin-bottom: 5px;
}

h3 {
    margin: 0 0 13px;
    color: #2e2e2e;
    font-size: 1.9em;
    font-weight:700;
}

li {
    list-style-type: disc;
}

ul {
    padding: 0px;
    margin: 0 0 0 18px;
}

/* full width wrapper for the cta button  */
p.button-wrap {
    padding-top: 18px;
    height: 30px;
    display: block;
    clear: both;
}

a.button, span.button a {
    padding: 15px 30px;
    background-color:#357dd1;
    color: #fff;
    text-transform:uppercase;
    text-align:center;
    text-decoration:none;
    font-size: 14.4px;
}

a.button.small {
    padding: 4px 6px;
    background-color:#357dd1;
    font-weight: 500;
    font-size: 11px;
}

a.button:hover, span.button a:hover {
    background-color:#a0d858;
    color: #04192e;
}

a.button.green {
    background-color:#a0d858;
}

a.button.green:hover, span.button.green a:hover {
    background-color:#357dd1;
}

a.button.active {
    background-color: #fff;
    color: #357dd1;
}

.small-print {
    font-size: 0.85em;
}

/* PANEL CSS */

.panel {
    width: 100%;
    clear: both;
    overflow: hidden;
}

.panel.standard-vertical-padding {
    padding-top: 55px;
    padding-bottom: 50px;
}

.panel.narrow-vertical-padding {
    padding-top: 35px;
    padding-bottom: 30px;
}

.panel.alt-bg {
    background-color: #fff;
}

.panel.alt-bg:nth-of-type(even),
.panel.grey {
    background-color: #ebe9e9;
}

.panel.light-grey {
    background-color: #F4F7F9;
}

.panel.light-blue {
    background-color: #c9daea;
}

/* END PANEL CSS */


/* CONTENT WRAPPER */

.content-wrapper {
    max-width: 1340px;
    margin: 0 auto;
    padding: 0 10px;
}

/* initial panel heading */
.panel .content-wrapper>h2:first-of-type {
   text-align: center;
   margin: 0 0 50px;
}

/* initial panel subheading */
.panel .content-wrapper>.small-heading {
    text-align: center;
}

/*
.panel .content-wrapper>.subheading {
    font-size: 1.4em;
    text-align: center;
    margin-bottom: 30px;
    line-height: 1.1em;
}
*/

@media screen and (max-width: 1340px) {
    .content-wrapper {
        width: calc(100% - 20px);
    }
}

/* END CONTENT WRAPPER */

/* BANNER */

.panel#banner-slider {
    background-color: #ebe9e9;
    padding: 0;
    margin: 0;
}

.panel#banner-slider .content-wrapper {
    display: flex;
    align-items: center;
    height: 60vh;
    width: 100%;
    border-right: solid 1px #fff;
    padding: 0 30px;
    text-align: left;
    opacity: 0.1;
    box-sizing: border-box;
    background-size: cover;
    background-repeat: no-repeat;
}

.panel#banner-slider .content-wrapper.is-selected {
    opacity: 1.0;
}

.panel#banner-slider .content-wrapper .box {
    width: 33%;
    margin: 0 0 0 8% !important;
    background-image: url("/assets/images/overlay-white.png");
    background-repeat: repeat;
    padding: 40px 40px 50px;
    box-sizing: border-box;
}

.panel#banner-slider .content-wrapper h1 {
    font-size: 2.6em;
    line-height: 1.1em;
    margin-bottom: 15px;
}

.panel#banner-slider .content-wrapper p {
    margin-bottom: 30px;
    color: #2e2e2e;
}

.panel#banner-slider .content-wrapper p:last-of-type {
    margin-bottom: 0;
    padding-bottom: 0;
}

@media screen and (max-width: 1140px) {

    .panel#banner-slider .content-wrapper .box {
        width: 46%;
        margin: 0 0 0 4% !important;
        padding: 40px 40px 50px;
    }
}

@media screen and (max-width: 960px) {

    .panel#banner-slider .content-wrapper h1 {
        font-size: 2.1em;
    }
}

@media screen and (max-width: 700px) {

    .panel#banner-slider .content-wrapper h1 {
        font-size: 1.8em;
    }

    .panel#banner-slider .content-wrapper .box {
        width: 92%;
        margin: 0 0 0 4% !important;
        padding: 30px 30px 40px;
    }
}

@media screen and (max-width: 500px) {

    .panel#banner-slider .content-wrapper h1 {
        font-size: 1.5em;
    }

    .panel#banner-slider .content-wrapper .box {
        width: 100%;
        margin: 0 !important;
        padding: 20px 20px 30px;
    }
}

/* Page Banner */

.panel#page-banner {
    padding-bottom: 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.panel#page-banner .content-wrapper {
    padding: 40px 0;
}

.panel#page-banner .content-wrapper .box {
    width: 33%;
    background-image: url("/assets/images/overlay-white.png");
    background-repeat: repeat;
    padding: 30px 30px 40px;
    box-sizing: border-box;
    margin-bottom: 0 !important;
}

@media screen and (max-width: 1100px) {

    .panel#page-banner .content-wrapper .box {
        width: 50%;
    }
}

@media screen and (max-width: 800px) {

    .panel#page-banner .content-wrapper .box {
        width: 100%;
    }
}

/* ALTERNATING CONTENT ALIGNMENT PANELS */

.panel.alternating-content {
    background-color: #FFF;
}

/* initial panel subheading */
.panel.alternating-content .content-wrapper>p:first-of-type {
    margin-bottom: 10px;
}

.panel.alternating-content .content-wrapper {
    width: 100%;
    max-width: 100%;
    padding: 0 !important;
    margin: 0 auto !important;
}

.panel.alternating-content .content-wrapper div {
    width: calc(100% - 20px);
    padding: 60px 10px;
}

.panel.alternating-content .content-wrapper div span.image-text-wrapper {
    display: block;
    padding: 30px 0 15px;
    width: 100%;
    max-width: 1300px;
    margin: 0 auto;
    background-repeat: no-repeat;
    background-position: left center;
    background-size: calc(50% - 15px) auto;
}

.panel.alternating-content .content-wrapper span.text-wrapper {
    padding-left: calc(50% + 15px);
    display: block;
}

.panel.alternating-content .content-wrapper div p strong {
    font-size: 1.4em;
    color: #162946;
    font-weight: 500;
    display: block;
}

.panel.alternating-content .content-wrapper div:nth-of-type(even) {
    background-color: #ececec;
}

.panel.alternating-content .content-wrapper div:nth-of-type(even) span.image-text-wrapper {
    background-position: right center;
}

.panel.alternating-content .content-wrapper div:nth-of-type(even) span.text-wrapper {
    padding: 0 calc(50% + 15px) 0 0;
}


.panel.alternating-content ul {
    margin: 0 0 15px 0;
    padding: 0;
    width: 100%;
}

.panel.alternating-content ul li i {
    color: #fff;
    width: 30px;
    height: 30px;
    text-align: center;
    margin: -3px 15px 0 -45px;
    box-sizing: border-box;
    background-color: #357dd1;
    border-radius: 100%;
    font-size: 0.8em;
    padding-top: 9px;
    float: left;
}

.panel.alternating-content ul li {
    margin: 5px 0 15px;
    list-style: none;
    background-color: #ececec;
    padding: 20px 15px 20px 65px;
    box-sizing: border-box;
}

.panel.alternating-content .content-wrapper div:nth-of-type(even) ul li {
    background-color: #fff;
}


@media screen and (max-width:900px) {

    .panel.alternating-content .content-wrapper div span.text-wrapper h3 {
        text-align: center;
        margin-top: 0;
    }

    .panel.alternating-content .content-wrapper div span.text-wrapper .small-heading {
        text-align: center;
        margin-top: 25px;
    }

    .panel.alternating-content .content-wrapper div span.image-text-wrapper {
        background-position: center top !important;
        padding-top: 220px;
        background-size: auto 220px;
    }

    .panel.alternating-content .content-wrapper div span.text-wrapper,
    .panel.alternating-content .content-wrapper div:nth-of-type(even) span.text-wrapper {
        padding: 0;
        display: block;
    }

    .panel.alternating-content .content-wrapper div {
        width: 100%;
        padding: 30px 20px;
        box-sizing: border-box;
    }
}

/* END ABOUT PANEL */

/* PRODUCT CATEGORIES */

.product-categories {
    max-width: 1240px;
    margin: 0 auto;
}

.product-categories .box {
    display: block;
    text-align: left;
    background-repeat: no-repeat;
    background-size: cover;
    box-sizing: border-box;
    background-color: #fff;
    color: #2e2e2e;
}

.product-categories .box span.image-wrapper {
    width: 100%;
    height: auto;
    aspect-ratio: 2 / 1;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center middle;
    display: block;
}

.product-categories .box strong.heading {
    display: block;
    color: #357dd1;
    font-size: 1.5em;
    padding-bottom: 7px;
}

.product-categories .box span.text-wrapper {
    display: block;
    padding: 10px 20px 20px;
}

/* PRODUCT CATEGORIES */

#associated-companies .content-wrapper {
    width: 100%;
    max-width: 100%;
    padding: 0;
}

#associated-companies .content-wrapper div {
    display: flex;
    height: 90px;
    align-items: center;
    text-align: center;
    background-color: #fff;
    padding: 0 30px;
    margin: 0;
}

/* Contact Page */

.panel.contact-panel {
    text-align: left;
}

.box .contact-information  {
    width: 90%;
    margin: 0 auto;
}

.box .contact-information h2 {
    margin-bottom: 40px;
}

.box .contact-information  {
    padding-bottom: 40px;
}

.box .contact-information p {
    margin: 0 0 30px 60px;
}

.box .contact-information p i {
    margin: -10px 0 0 -60px;
    font-size: 1.3em;
    color: #ffffff;
    background-color: #357dd1;
    display: block;
    width: 20px;
    height: 20px;
    float: left;
    border-radius: 100%;
    text-align: center;
    padding: 10px 10px;
}

.box.contact-form {
    background-color: #f4f7f9;
    padding: 40px 0 50px;
}

/* FOOTER */

footer {
    width: 100%;
    background-color: #192738;
    color: #839CBB;
    font-size: 0.9em;
    clear: both;
    line-height:1.4em;
}

footer .content-wrapper {
    padding: 50px 0 30px;
    margin-bottom: 0;
}

@media screen and (max-width: 960px) {

    footer .three-column .box,
    footer .three-column .box:nth-child(3n+2),
    footer.three-column .box:nth-of-type(even) {
        width:100%;
        float:left;
        margin: 0 0 40px!important;
    }

    footer .three-column .box:nth-child(2),
    footer .three-column .box:nth-child(3) {
        width: 48%;
        padding-right: 2%;
    }
}

footer .accreditations {
    height: 90px;
    text-align: center;
    padding: 20px 0 0;
}

footer .accreditations span.group-of-three {
    width: 33.3%;
    float: left;
    display: block;
    text-align: center;
    display: flex;
    align-items: center;
}

footer .accreditations span.image-wrapper {
    width: 33.3%;
    float: left;
    display: block;
    text-align: center;
}

footer .accreditations img {
    max-width: 96%;
    height: auto;
}

@media screen and (max-width: 650px) {

    footer .accreditations {
        padding: 0;
    }

    footer .accreditations span.group-of-three {
        width: 100%;
        clear: both;
    }

    footer .accreditations span.group-of-three:last-of-type {
        margin-bottom: 30px;
    }
}

footer p.company-details {
    clear: both;
    padding-top: 30px;
    margin-top: 30px;
    border-top: solid 1px #354559;
}

footer p.company-details em {
    float: right;
    font-style: normal;
}

footer p.company-details em:nth-child(1) {
    padding-left: 20px;
    margin-left: 15px;
    border-left: solid 1px #354559;
}


@media screen and (max-width: 760px) {

    footer p.company-details em {
        float: none;
        display: block;
        clear: both;
        margin: 7px 0 0;
    }

    footer p.company-details em:nth-child(1) {
        padding-left: 0;
        margin-left: 0;
        border: none;
    }

}

footer a {
    color: #839CBB;
}

footer a:hover {
    color: #FFF;
}

footer em.title {
    display: block;
    font-style: normal;
    font-size: 1.7em;
    margin-bottom: 20px;
    font-weight: 600;
    color:#fff;
}

footer ul {
    margin: 0 0 13px;
    padding: 0;
}

footer ul li {
    margin: 0 0 7px;
    padding:0;
    list-style-type: none;
}

footer a#top {
    display: block;
    width: 100%;
    clear:both;
    height: 25px;
    overflow:hidden;
    border-bottom: 10px solid #f4f5f7;
    clear:both;
    border-bottom-width: 10px;
    border-bottom-style: solid;
    border-bottom-color: #f4f5f7;
     transition: none;
    -moz-transition: none;
    -webkit-transition: none;
    -o-transition: none;

}

footer a#top:hover  {
    border-bottom-color: #000;
}

footer a#top:hover em  {
    color:#fff;
    background-color:#000;    
}

footer a#top em {
    display:block;
    width: 60px;
    height:47px;
    padding-top:5px;
    background-color:#f4f5f7;    
    margin: 5px auto 0 auto;
    -webkit-border-radius: 70px;
    -moz-border-radius: 70px;
    border-radius: 70px;
    font-style: normal;
    text-align:center;
    font-size: 0.9em;
    text-transform: uppercase;
    color: #252931;
    font-weight:bold;
}

footer .wbd {
    font-size:0.8em;
}

footer p.instagram {
    padding-left: 25px;
    color: #000;
}

footer p.instagram i {
    position: absolute;
    margin: 1px 0 0 -25px;
    font-size: 1.5em;
}

/* Responsive Styles */

/*

@media screen and (max-width: 960px)
{
.left-col {
    padding-left:1%;
    width:64%;
    margin:0;
}

#sub-links-bg ul#sub-links {
    width:100%;
    font-size:0.9em;
    margin-left:0;
    margin-right:0;
    padding-left:0;
    padding-right:0;
}

#sub-links-bg ul#sub-links li a {
    margin:0 5px 0 5px;
    padding-left:25px 3px 10px 3px;
}

#pagehead .content-wrapper h1 {
    font-size: 2.4em;
}

}

*/


@media screen and (max-width: 750px) {

    .panel.head {
        padding: 0;
    }

    #pagehead .content-wrapper {
        padding:0;
        width:100%;
    }

    #pagehead .content-wrapper span {
        padding:0 1%;
        width:98%;
    }

    .panel#pages, .panel.thirdnav#pages {
        margin-top:25px;
    }

    #sub-links-bg, #homeslider ul.images em.info-bar, .nivo-controlNav.nivo-thumbs-enabled, .nivo-arrows, .nivo-directionNav {
        display: none;
    }

    /*
    .panel .content-wrapper .left-col,.panel .content-wrapper .right-col {
        clear:both;
        width:98%;
        padding:30px 1% 0;
        overflow:hidden;
    }
    */

    footer  {
        padding: 0;
    }

    footer .content-wrapper {
        padding-top: 30px;
        padding-bottom: 20px;    
    }

    footer #wbd {
        margin: 0;
        width: 80%;
    }

    footer .three-col {
        width:100%;
        box-sizing: border-box;
        margin:0 0 12px 0!important;
        padding:0;
    }

}

@media screen and (max-width: 550px) {

    .left-col img {
        width:100%;
        height:auto;
    }
    #pagehead .content-wrapper h1 {
        font-size: 2.1em;
    }
}