@charset "UTF-8";
/* Web Solutions 4.0 Compatible */
#alertApp {padding: .25rem .5rem;}
#alertApp h1 {font-size:1rem;line-height: 1;}
/* 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;-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:#000;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,#mainnav li .megamenu .sportsmenu section h2 a{color:#ccc;line-height:2em;padding:0 1rem;display:block;float: none;width: 100%;}
#navContainer li a{border-top: solid 1px rgb(255, 255, 255,.2);}
#navContainer li ul li a {border: none;}
#navContainer a:hover,#navContainer .menu:hover,
#navContainer li.on a{background-color:#000066;color: #fff}
#navContainer li.open{background-color: #333}
#navContainer li>span, .megamenu .toggle {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;}
.sportsmenu section>span, .sportsmenu section:not(:last-of-type) + span { display: none; }
#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: .2em 0; margin: 0;}

#navContainer li>span:before,.sportsmenu section>span:before, .megamenu .toggle::before{content: ""; display: block; width: 50%; height: .05em; 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,.sportsmenu section>span:after, .megamenu .toggle::after{content: ""; display: block; width: 50%; height: .05em; 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, #navContainer li.open .megamenu .toggle::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: .8em;display: none;}
#navContainer ul .megamenu { height: 0; overflow: hidden; }
#navContainer ul li.on.open .megamenu { height: auto; }

#navContainer ul .megamenu a, #navContainer ul .megamenu li { float: none; }
#navContainer ul .megamenu ul { display: block; float: none; clear: both; }
#navContainer ul .sportsmenu h2 { margin: 0}

#navContainer ul ul a {padding-left: 2rem}
#navContainer ul ul li.on a {background-color: #000;}
#navContainer a, #navContainer .menu,.sportsmenu>section>h2 {font-size: 1.125em;}
.sportsmenu>section>h2 a{text-transform: capitalize;font-weight: 500;}
#mobilenav{background-color: #000066;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: 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;border-bottom: solid 2px #fff;}
#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: #000000;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 {padding:.1em 5vw}
body > footer > .fatFooter + .wrap {padding:0 5vw}
.home-callout > .callout-content img{width: 100%;max-width: 100%;height: auto;float: left;}
#sidenav li ul li.on ul li a{font-size:.95em;}
/* MAIN ------------------------------ */
.interior main > .wrap {padding-left: 5vw;padding-right: 5vw;}
main > .wrap {
        padding-top: 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: 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;}

.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: 4rem;
    }


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

.content .fancyList li {width: 100%;margin: 2% 0%;}

.content .flex-row.two li a h2 {font-size: 1.25rem;margin-bottom: 0;}
.content .flex-row.two li a {margin-bottom: 1em;padding: 8% 8%;}
.content .flex-row li a {padding: 8% 8%;}
/* Hero ---------------------------- */
.hero h1 {
        font-size: 2rem;
        line-height: 1;
        padding: 0;
    }

/* RIBBON 2 ---------------------------- */
.ribbon2 h2 {margin-top: 2rem;font-size: 2rem;}
.ribbon2 .schedule {border: 2px solid #fff;}

.quicklinks {margin-top: 2rem;}
.quicklinks, .quicklinks ul {width: 100%;}
.ribbon2:before {
        content: "";
        background-image: url(/images/grey-watermark.svg);
        height: 291px;
        width: 300px;
        background-size: 300px 291px;
        background-repeat: no-repeat;
        background-position: left top;
        position: absolute;
       top:0;
        left: 0;
            z-index: 0;}
#twitter-section {max-height: none !important}        
/* Home Sports Ribbons ---------------------------- */
.fall h2, .spring h2, .winter h2 {font-size: 1.5rem;margin-bottom: 3rem;}
.sports li {
        width: 47%;
        margin: 2% 1% 0 1%}
        .sports .wrap p{max-width: 80vw;}
        .content .sports li{width: 47%;margin: 2% 1% 0 1%;}
/* RIBBON 3 ---------------------------- */
.home-callout>.callout-content {padding: 0 5vw;}
.home-callout {background-position: center;overflow: hidden;}

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


/* 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 nav {text-align: center;}
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-contact-info {
        text-align: center;
        width: 100%;
}

.footer-logos img {margin: 0 auto;padding:2% 0;}

.row1 a {margin-bottom: 1rem;width: 100%;display: block;}

.row1 a:first-of-type img {
	height: 50px;
}
.row1 a:nth-of-type(2) img{
	height: 50px;
}
.row2 a:nth-of-type(1) img{
	height: 35px;
}
.row2 a:nth-of-type(2) img{
	height: 60px;
}
.row2 a:nth-of-type(3) img{
	height: 50px;
}
.footer-contact-info address {margin-bottom: 1em;}

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

.social {margin:5% 5%;display: inline-block;}
/* 550 */
@media (max-width: 34.375em) {
        #brand {width: 80%; margin: 0 auto;}
        .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;}
     }
