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

h1 { font-size: 2em; }
h2 { font-size: 1.75em; }
h3 { font-size: 1.375em; }
h4, th { font-size: 1.1875em; }
h5 { font-size: 1.125em; }
h6 { font-size: 1.0625em; }

/* HEADER ------------------------------ */
body { padding: 0 !important; }
body>header {background: #C1C0C0;position: relative !important;text-align: center;top: auto !important;}

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}
body>header #brand {display: inline-block;max-width: 24em;padding: 1.25em 1em .25em;position: relative;width: 100%;z-index: 0;}

body>header #brand img {
  display: block;
  height: auto;
  margin: 0 auto;
  max-width: 100%;
  width:100%;
}

body>header #navContainer {
  text-align: left;
  position: fixed;
  left: 100%;
  top:0;
  bottom:0;
  width: 75%;
  max-height: 100vh;
  background-color: var(--blue);
  z-index: 3;
  transition: left .3s ease;
  overflow:  auto;
  -webkit-overflow-scrolling: touch;
}

body.management #navContainer {
  top: 2.125em;
}

body.slideNav #navContainer{left: 25%;}
body>header #navContainer nav{display: inline;}
body>header #navContainer ul{display: block;width: 100%;margin: 0;padding-left: 0;}
body>header #navContainer li {display:block;width: 100%;position: relative;border-top: 1px solid rgba(255,255,255,0.125);}
body>header #navContainer li li {border: 0}

body>header #navContainer a, #navContainer .menu{color: #FFF;font-size: 1.125em;line-height: 3;padding:0 1rem;display:block;width: 100%;font-family: 'Barlow Medium';}
#navContainer .menu span {font-size: 1.875em;line-height: 1;margin: 0 .125em 0 0;position: relative;top: .1875em;}

body>header #navContainer a:hover,#navContainer .menu:hover,
body>header #navContainer li.on a{background-color: rgba(255,255,255,.1);color: #fff;}
body>header #navContainer li.open{background-color: rgba(255,255,255,.1);}
body>header #navContainer li>span{display: block;position: absolute;right: 0;top: .25em;width:2.75em;height: 2.75em;}
body>header #navContainer li>span:before{content: "";display: block;width: 55%;height: 0.0625rem;background-color: #FFF;position: absolute;left: 50%;top: 50%;transform: translate(-50%, -50%) rotate(90deg);transform-origin: center center;}
body>header #navContainer li>span:after{content: "";display: block;width: 55%;height: 0.0625rem;background-color: #FFF;position: absolute;left: 50%;top: 50%;transform: translate(-50%, -50%);transform-origin: center center;}
body>header #navContainer li.open > span:before {transform: translate(-50%, -50%)rotate(0deg);}
body>header #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;}
body>header #navContainer ul ul {font-size: .8em;display: none}
body>header #navContainer ul ul a {font-size: 1.125em;padding-left: 2rem;}
body>header #navContainer ul ul li.on a {background-color: rgba(255,255,255,.1);}
body>header #navContainer #ancillary {clear:both;display: flex;flex-direction: column-reverse;}
body>header #navContainer #ancillary .search {clear:both;display: flex;overflow: auto;padding:1rem;border-top: 1px solid rgba(255,255,255,0.125);}


/* mobilenav */

body>header #mobilenav{background: #FFF;width: 100%;margin: 0 0 0;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;}
body>header #mobilenav a, #mobilenav span{color: #000;line-height: 2.5em;-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 span svg {pointer-events: none;position: relative;top: .25em;width: 1em;}
#mobilenav span svg path {fill: #000;}
#mobilenav span:hover path { fill: #FFF; }

body>header #mobilenav a:hover, #mobilenav span:hover{color: #fff;background-color: var(--blue);}
/* hamburger */
body>header .hamburger{height: 2em;width: 2em;display: block;position: fixed;right: 0;top: 0;z-index:2;opacity: 0;background-color: var(--orange);padding: 1px 3px 3px 3px;}
body.management>header .hamburger {top: 2.1875em;}
body>header .hamburger path {fill: #FFF;}
body>header .hamburger svg {left: 50%;pointer-events: none;width: 1.25em;position: absolute;top: 50%;transform: translate(-50%,-50%);}
body>header .hamburger.on{opacity: .75;}


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

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 {
  min-height: 0;
}
#content .mapLocations li {
  width: 100%;
}

/* 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;}

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

#main #content table.mobileTable tr > td:first-of-type:before {content: none;}


/* FOOTER ------------------------------ */
body>footer { padding: 2em 0 0; text-align: center; }
body>footer .fatFooter { justify-content: center; }
body>footer .footer-contact-info, body>footer .fatFooter nav { margin: 0 0 2em; width: 100%; }

body>footer .footer-logos { align-items: center; margin: 1em 0 0; }

body>footer .wrap {
  display: flex;
  flex-direction: column;
}

#web-solutions-exposure { order: 1; }


/* HOME RIBBON 1 ---------------------------- */
#hero h1 {
  font-size: 7vw;
  line-height: 1;
}

/* HOME RIBBON 2 ---------------------------- */
#news .parent-square { margin: 0 0 3em; }
#news h2 {color: #000;}

/* HOME RIBBON 3 ---------------------------- */
#home-callout { padding: 4em 0; }
#home-callout > .callout-content { padding: 0 5vw; }
#home-callout { background-position: center; overflow: hidden; }

/* HOME RIBBON 4 / WELCOME MESSAGE --------------------- */
#welcome {
  flex-direction: column;
}

#welcome .image {
  min-height: 15em;
  position: relative;
  width: 100%;
}

#welcome .image {
  content: '';
  display: block;
  padding: 0 0 50%;
}

#welcome .textbox {
  padding: 3em var(--ws-gutter);
  width: 100%;
}


/* MEDIA QUERIES ------------------ */


/* ---------------- STYLE-M.CSS ---------------- */
