@charset "UTF-8";
/* Web Solutions 4.0 Compatible */

/* NAV ------------------------------ */
.slideNav{overflow: hidden;}
body>header {position: relative;}
body>header:before{content: "";opacity: 0; z-index: 3;background-color: #000;display: block;position: fixed;left:100vw;top:0;width:100vw;height:100vh;-webkit-transition:left 0ms ease 200ms, opacity 200ms ease;transition:left 0ms ease 200ms, opacity 200ms ease}
body.slideNav>header:before{left:0;opacity: .5;-webkit-transition:left 0ms ease 0ms, opacity 200ms ease;transition:left 0ms ease 0ms, opacity 200ms ease}
#navContainer{position: fixed;left: 100%;top:0;bottom:0;width: 75%;max-height: 100vh;background-color:#333;z-index:3;-webkit-transition: left 200ms ease;transition: left 200ms ease;overflow:auto;-webkit-overflow-scrolling: touch;}
body.slideNav {overflow: hidden;}
.slideNav #navContainer{left: 25%;}
#navContainer nav{display: inline}
#navContainer ul{display: block;float: left;width: 100%;margin: 0;padding-left: 0}
#navContainer li{display:block;float: left;width: 100%; position: relative}
#navContainer a, #navContainer .menu{color:#ccc;line-height:2em;padding:0 1rem;display:block;float: left;width: 100%}
#navContainer a:hover,#navContainer .menu:hover,
#navContainer li.on a{background-color:#006F3C;color: #fff}
#navContainer li.open{background-color: #000}
#navContainer li>span{color: #000;background-color:#fff;opacity: .25; border-radius: 50%; display: block;position: absolute;right: .25em;top: .25em;line-height: 1.5em;width:1.5em;height: 1.5em;}
#navContainer li>span:hover, #navContainer li.on>span{opacity: .3}

#brand {float: none; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; padding: .5rem 5vw;display: block;margin: 0 auto;max-width: 70%;}

#navContainer li>span:before{content: ""; display: block; width: .75rem; height: .0625rem; background-color: #000; position: absolute; left: 50%; top: 50%; -webkit-transform: translate(-50%, -50%) rotate(90deg); transform: translate(-50%, -50%) rotate(90deg); -webkit-transform-origin: center center; transform-origin: center center;}
#navContainer li>span:after{content: ""; display: block; width: .75rem; height: .0625rem; background-color: #000; position: absolute; left: 50%; top: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); -webkit-transform-origin: center center; transform-origin: center center;}
#navContainer li.open > span:before {-webkit-transform: translate(-50%, -50%)rotate(0deg);transform: translate(-50%, -50%)rotate(0deg);}
#navContainer li > span::before { -webkit-transition: -webkit-transform .2s ease; transition: -webkit-transform .2s ease; transition: transform .2s ease; transition: transform .2s ease, -webkit-transform .2s ease;}
#navContainer ul ul {font-size: .9em;display: none}
#navContainer ul ul a {padding-left: 1.5rem}
#navContainer ul ul li.on a {background-color: #000;}
#navContainer a, #navContainer .menu {font-size: 1.125em;}
#mobilenav{background-color: #006F3C;float: left;width: 100%;text-align: center; display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-direction: row; -webkit-box-orient: horizontal; -webkit-box-direction: normal; flex-direction: row; -ms-flex-wrap: nowrap; flex-wrap: nowrap; -ms-flex-pack: center; -webkit-box-pack: center; justify-content: center; -ms-flex-line-pack: center; align-content: center; -ms-flex-align: center; -webkit-box-align: center; align-items: center;}
#mobilenav a, #mobilenav span{color: #fff;font-size: 1.125em;line-height: 2em; -ms-flex-order: 0; -webkit-box-ordinal-group: 1; order: 0; -ms-flex: 1 1 auto; -webkit-box-flex: 1; flex: 1 1 auto; -webkit-align-self: auto; -ms-flex-item-align: auto; align-self: auto;}
#mobilenav a:hover, #mobilenav span:hover{color: #fff;background-color:#000}
#mobilenav .menu {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
}
#mobilenav .menu svg {height: .875em; width: .875em; fill: #fff; display: inline-block; margin-right: .125em;}
.hamburger{height: 2em;width: 2em;display: block;position: fixed;right: 3px;top:3px;z-index:2;opacity: 0;background-color: #006F3C;    padding: 3px 4px 4px 4px;}
.hamburger path {fill:#fff;font-size: 1.75em;}
.hamburger svg {pointer-events: none;}
.hamburger.on{opacity: .3}

.videoContainer {width: 100%;height:0;line-height:0;position: relative;padding-top:56.25%; /* 16:9 */}
.videoContainer.ratio-4-3 {padding-top:75%; /* 4:3 full-frame */}
.videoContainer iframe {position:absolute;left:0;top:0;right:0;bottom:0;width:100%;height:100%;border:0}

.home .wrap,body>footer>.fatFooter  {padding: 2em 5vw}
body > footer > .fatFooter + .wrap {padding:0 5vw}
.home-callout > .callout-content img{width: 100%;max-width: 100%;height: auto;float: left;}
.megamenu {display: none;}
.d-only{ display: none; }
.m-only { margin: 2.5rem 0 0; }
/* MAIN ------------------------------ */
main > .wrap { padding-top: 1em;}
.interior main > .wrap {padding-left: 5vw;padding-right: 5vw;}
.twoCol, .threeCol, .resCol{
-webkit-column-rule:1px outset rgba(0,0,0,.15);
        column-rule:1px outset rgba(0,0,0,.15);
-webkit-columns: auto;
        columns: auto;
-webkit-column-width: 13em;
        column-width: 13em;}

.content ul li {padding-left: 1.5em;}
.content ul li:before{left: .5em;}
.formTable, .formTable table{width:100%;display: block}
.formTable tbody{display: block}
.formTable tr{display: block}
.formTable td{display: block;width:100%;padding: 0}
.formTable input[type="text"], .formTable input[type="password"], .formTable input[type="tel"], .formTable input[type="number"], .formTable input[type="email"], .formTable input[type="url"], .formTable textarea{margin-bottom:1em}
.formTable table td + td {padding-left: 0 !important;}
#content { overflow: hidden; }
#content img {max-width: 100%;height: auto;}
.photoright.photoside, .photoleft.photoside {
	max-width: calc(50% - .5em);
}
.photoright.photoside {
	margin: 0 0 3em .5em;
}
.photoleft.photoside {
	margin: 0 .5em 3em 0;
}

.photoright{margin:0 0 .75em 1em;}
.photoleft{margin:0 1em .75em 0;}
.pageHeader {
        padding-top: 5.8rem;
    }


#content .mapLocations li {
        width: 100%;
}

.hero h1 {font-size: 10vw;line-height: 1;}

/* RIBBON 2 ---------------------------- */
.home-events svg {
        opacity: .05;
        z-index: -1;
        bottom: .5em;
        top: 4em;
        right: .5em;
        max-width: 95%;
        height: auto;
}
.home-events svg path, .home-events svg ellipse {fill: #000;}

.home-events ul {padding-left: 0;}

.home-events ul li.animate-up {
        top: 0;
        opacity: 1;

}
.home-events .container {margin-bottom: 2rem;}

/* RIBBON 3 ---------------------------- */
.home-callout { overflow: hidden;}
.home-callout>.callout-content {padding: 0 5vw;}


/* RIBBON 4 / WELCOME MESSAGE ---------- */
.welcome-message {-webkit-box-orient: vertical;-webkit-box-direction: normal;-ms-flex-direction: column;flex-direction: column;}
.welcome-message-image {
        width: 100%;
        -webkit-box-ordinal-group: 3;
            -ms-flex-order: 2;
                order: 2;
        padding-top: 50%;
        background-position: center;
}
.welcome-message-text {
        width: 100%;
        padding: 5vw;
        max-width: none;
}
.welcome-message h1 {margin-bottom: 1rem;}

figure tr:nth-of-type(2n) {
        background: rgba(207, 212, 216, 0.3);
    }

/* EVENTS ------------------- */
.eventsAgenda { margin-top: 0; }

/* RESPONSIVE TABLES ------------------- */
table.mobileTable {
        border: 0;
        display: block;
        -webkit-box-shadow: none;
                box-shadow: none;
    }
    .mobileTable tbody tr > td:first-of-type:before {content: none;}

    table.mobileTable th {display: none;}

    table.mobileTable tbody {
    display: block;
    width: 100%;
    margin: 0 auto 2rem;
    }

    table.mobileTable  tr {
        display: block;
        margin-bottom: 1em;
        background:#E8E8E8;
    }

    table.mobileTable tr:first-of-type {display: none;}

    #main #content table.mobileTable tr > td:first-of-type:before {content: none;}
    table.mobileTable td {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        font-weight: 500;
        border-bottom: dashed 1px #ccc;
    }
    table.mobileTable td:first-child{border: none;}
    table.mobileTable td::before {
        display: inline-block;
        margin-right: auto;
        padding-right: .5em;
      }
      table.mobileTable td:last-child {
        border-bottom: 0;
      }
      table.mobileTable td:nth-child(odd){background-color: #fff;}
      table.mobileTable tr > td:first-of-type {
        background-color: #000;
        color: #FFF;
    }

table.mobileTable tr > td:first-of-type

 .content table.mobileTable ul {margin: 0;}

/* FOOTER ------------------------------ */
body>footer .wrap{
	display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-direction: column;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
            flex-direction: column;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -ms-flex-pack: start;
    -webkit-box-pack: start;
            justify-content: flex-start;
    -ms-flex-line-pack: stretch;
    align-content: stretch;
    -ms-flex-align: stretch;
    -webkit-box-align: stretch;
            align-items: stretch;
}
#web-solutions-exposure{
 -ms-flex-order: 1;
 -webkit-box-ordinal-group: 2;
         order: 1;
}
body>footer .wrap nav a+span:before {content: "|"; margin: 0 0.5em}


footer h2 {
        text-align: center;
}
.footer-navigation, .footer-contact-info {
        text-align: center;
        width: 100%;
        margin-bottom: 2em;
}
.footer-logos {
        float: none;
        margin-top: 0;
}
.footer-logos img {margin: 0 auto; max-width: 100%;}
.footer-logos a:nth-of-type(2) img {float: none; margin-top: 2.5em;}

.footer-contact-info address {margin-bottom: 1em;}

body>footer>.wrap {text-align: center; margin-top: 3em;}

/* Google Translate Inline Widget */
body>footer .google {
	display: flex;
	justify-content: center;
	margin-top: 2em;
}


/* 550 */
@media (max-width: 34.375em) {

        #brand {width: 90%; margin: 0 auto;}

        .home-events ul li {
                width: 100%;
                margin-right: 0;
        }


        .home-callout h2 {font-size: 2em;}


        .welcome-message-text {font-size: .9em;}

}


/* IE */
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
        .home-events svg {display: none;}
        #brand {height: 2.9em;}
     }
