@charset "UTF-8";
/* Web Solutions 4.0 Compatible */
#alertApp h1{padding:10px 5px;}
#brand {width:100%;text-align: center;margin: 0 auto;float: left}
#brand img {display: block;width: auto;height: 4em;margin: 1em auto}
/* NAV ------------------------------ */
.slideNav{overflow: hidden;}
body>header:before{content: "";opacity: 0; z-index: 3;background-color: #000;display: block;position: fixed;left:100vw;top:0;width:100vw;height:100vh;transition:left 0ms ease 200ms, opacity 200ms ease}
body.slideNav>header:before{left:0;opacity: .5;transition:left 0ms ease 0ms, opacity 200ms ease}
#navContainer{position: fixed;left: 100%;top:0;bottom:0;width: 75%;max-height: 100vh;background-color:#95948F;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;width: 100%;margin: 0;padding-left: 0}
#navContainer li{display:block;width: 100%; position: relative}
#navContainer a, #navContainer .toggleNav{color:#fff;line-height:2em;padding:0 1rem;display:block;width: 100%; border-bottom: solid 1px rgba(255,255,255,.1)}
#navContainer a:hover,#navContainer .toggleNav:hover,#navContainer li.on a:hover
{background-color:#6688AB;color: #fff}
#navContainer li.open{background-color:#FCFAF4;}
#navContainer li.open a {color: #808285}
#navContainer li.open a:hover {color: #fff}
#navContainer li>button{color: #808285;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; padding: 0;}
#navContainer li>button:hover, #navContainer li.on>button{opacity: .3}

#navContainer li.on.open>a {background-color: #003874;color: #fff}
#navContainer li>button:before{content: ""; display: block; width: 50%; height: .05em; background-color: #000; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%) rotate(90deg); transform-origin: center center;}
#navContainer li>button:after{content: ""; display: block; width: 50%; height: .05em; background-color: #000; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); transform-origin: center center;}
#navContainer li.open > button:before {transform: translate(-50%, -50%)rotate(0deg);}
#navContainer li > button::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: .8em;overflow: hidden;}
#navContainer ul ul a {padding-left: 1rem}
#navContainer ul ul li.on a {background-color:#E39D21;color: #fff}

#mobilenav{background:url(/images/dash-blue.svg), url(/images/dash-blue.svg);background-repeat: repeat-x, repeat-x; background-position:top 1px left, bottom 1px left; background-size: .8rem .25rem, .8rem .25rem;line-height:2.823em;background-color:#6688ab;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;margin-bottom: .1em;text-transform:lowercase;margin-bottom: .625rem}
#mobilenav a, #mobilenav button{color: #fff;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 button {text-transform: lowercase; padding: 0; margin: 0; background-color: transparent; letter-spacing: initial;}
#mobilenav a:hover, #mobilenav button:hover{color: #fff;background-color:#003874}
.hamburger{height: 2em;width: 2em;display: block;position: fixed;right: 3px;top:3px;z-index:2;opacity: 0;background-color:#003874;padding: 1px 3px 3px 3px;}
.hamburger path {fill:#fff;font-size: 1.75em;}
.hamburger svg {pointer-events: none;}
.hamburger.on{opacity: .3}
#mobilenav button::before {
    content: "";
    width: 1em;
    height: 2.5em;
    line-height: 2em;
    display: inline-block;
    vertical-align: middle;
    background: url(/images/m/hamburger-white.svg) no-repeat center;
    background-size: .75em .75em;
    margin-right: 0.5em;
}

#navContainer .menu-item-has-children > div {
	display: grid;
	grid-template-rows: 0fr;
	transition: all .3s ease;
}

#navContainer .menu-item-has-children.open > div {
	grid-template-rows: 1fr;
}

.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}

.search{padding:0 .5rem 0 1rem;margin: .5em 0;float: left}
.search input, .search button {float: left;padding:0 .25rem;height: 1.875rem;font-size: .81rem;}
.search input {height: 1.875rem;width:calc(100% - 2rem);}
.search button{background: none;background-color:#F0F0F0; width: 2em;padding-right: .5em}
placeholder{color: #807E80}
#navContainer .toggleNav{text-transform:lowercase;text-align: left; letter-spacing: .5px; padding: 0 1rem; margin: 0; background: transparent;}
#navContainer .toggleNav:before {
    content: "\2039";
    display: inline-block;
    margin-right: 0.3125rem;
}
/* Home ------------------------------ */
#photoRotator{float: left}
.rotator-button.button{padding: .75em 1em;display:block;width: 65vw}
.flexible-callouts {padding: 2em 3em}
.flexible-callouts ul li {width: 100%;padding:0 0 1em 0}
 .flexible-callouts ul li img{width: 100%}
.welcome {margin-top:.625rem;margin-bottom: .625rem;position: relative;overflow: hidden;display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;}
.textContainer {z-index: 1;width: 100vw;height: 100vw;color: #fff; background: url(/images/dash-tan.svg), url(/images/dash-tan.svg), url(/images/home/texture-blue.jpg);background-repeat: repeat-x, repeat-x, no-repeat; background-position:top .625em left, bottom .625em left, center center; background-size: .8rem .25rem, .8rem .25rem, 100% auto; -webkit-order: 2;
    -ms-flex-order: 2;
    order: 2;
    -webkit-flex: 0 1 auto;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto;
    -webkit-align-self: auto;
    -ms-flex-item-align: auto;
    align-self: auto;}

.textContainer section {text-align: center;display: -ms-flexbox;height: 100%;padding: 1em 1em;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-content: stretch;
    -ms-flex-line-pack: stretch;
    align-content: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;}
.textContainer h1 {color:#fff;text-transform: none;font-size: 5vw}
.textContainer p {font-size:4vw}
.textContainer h1 strong {display: block;color: #fff;text-transform: lowercase;margin-bottom: .5rem;font-size: 9vw}
.textContainer .button {background-color: #FFFFFF;color:#003874;padding:.5em 1em;margin-top: .5rem}
.textContainer .button span {color:#6688AB}
.arrow {position: absolute;z-index: 2;background-image: url(/images/home/arrow.svg);background-repeat: no-repeat;background-position: left top; top:40%;left: calc(50% - 11em);background-size: 25em 2.2em;width: 25em;height: 2.2em}
.home .half {width: 100%;height: 100vw;float: left}

.home .left {background-image: url(/images/home/bridge.jpg);background-size: cover;background-repeat: no-repeat;background-position: center center;border-bottom: 10px solid #fff; -webkit-order: 1;
    -ms-flex-order: 1;
    order: 1;
    -webkit-flex: 0 1 auto;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto;
    -webkit-align-self: auto;
    -ms-flex-item-align: auto;
    align-self: auto;}

.home .right {display: none}
/* MAIN ------------------------------ */
body.fullWidth #content {padding-bottom: 3em}
main>.wrap{padding-top:2em}
.pageHeader{height: 4em}
.interior main{background-size: 20em auto}
main, body>footer {padding-left: 1em;padding-right: 1em}
.twoCol, .threeCol, .resCol{
-webkit-column-rule:0;
        column-rule:0;
-webkit-columns: auto;
        columns: auto;
-webkit-column-width: 13em;
        column-width: 13em;}

.content ul li{padding-left: 2em;margin-bottom: .5em;}
.content ul li:before {left: 1em;}

.formTable, .formTable table{width:100%;display: block}
.formTable tbody{display: block}
.formTable tr{display: block}
.formTable td{display: block;width:100%;padding:.25em 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;}

.photoright{margin:0 0 .75em 1em;}
.photoleft{margin:0 1em .75em 0;}

.anchors a {display: block}

.content ul.fancy-list li{left: 0;margin: 0 0 .5em 0; width: 100%;-ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-align-content: stretch;
    -ms-flex-line-pack: stretch;
    align-content: stretch;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;}
/* FOOTER ------------------------------ */
body > footer a { white-space: nowrap;}
.fatFooter,body > footer .wrap, .social{text-align: center}
.social{width: 100%}
a.twitter, a.fb{text-align:center;padding: 1em 1em;margin-bottom: 1em;display: inline-block}
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;
}
