@charset "UTF-8";

:root {
  --aqua: #07A6B4;
  --blue: #426DA9;
  --blue-2: #7F8EAD;
  --blue-3: #DDE6F6;
  --dark: #1B2F46;
  --gray: #898E8E;
  --gray-2: #616161;
  --gray-3: #CDD1D6;
  --gray-4: #DAE2EE;
  --green: #6BA539;
  --green-aa: #54812C;
  --light: #EFF4FF;
  --light-2: #F9FBFF;
  --light-3: #F0F2F6;
  --light-4: #CCE3EB;


  --aqua-rgb: 7,166,180;
  --blue-rgb: 66,109,169;
  --green-rgb: 107,165,57;

  --ws-gutter: 1.25em;
}

/* roboto-300 - latin */
@font-face {
  font-family: 'Roboto Light';
  font-style: normal;
  font-weight: 300;
  src: url('/fonts/roboto-v29-latin-300.woff2') format('woff2'),
  url('/fonts/roboto-v29-latin-300.ttf') format('truetype');
}

/* roboto-regular - latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  src: url('/fonts/roboto-v29-latin-regular.woff2') format('woff2'),
  url('/fonts/roboto-v29-latin-regular.ttf') format('truetype');
}

/* roboto-italic - latin */
@font-face {
  font-family: 'Roboto Italic';
  font-style: italic;
  font-weight: 400;
  src: url('/fonts/roboto-v29-latin-italic.woff2') format('woff2'),
  url('/fonts/roboto-v29-latin-italic.ttf') format('truetype');
}

/* roboto-500 - latin */
@font-face {
  font-family: 'Roboto Medium';
  font-style: normal;
  font-weight: 500;
  src: url('/fonts/roboto-v29-latin-500.woff2') format('woff2'),
  url('/fonts/roboto-v29-latin-500.ttf') format('truetype');
}

/* roboto-700 - latin */
@font-face {
  font-family: 'Roboto Bold';
  font-style: normal;
  font-weight: 700;
  src: url('/fonts/roboto-v29-latin-700.woff2') format('woff2'),
  url('/fonts/roboto-v29-latin-700.ttf') format('truetype');
}

/* roboto-700italic - latin */
@font-face {
  font-family: 'Roboto Bold Italic';
  font-style: italic;
  font-weight: 700;
  src: url('/fonts/roboto-v29-latin-700italic.woff2') format('woff2'),
  url('/fonts/roboto-v29-latin-700italic.ttf') format('truetype');
}

/* roboto-condensed-regular - latin */
@font-face {
  font-family: 'Roboto Condensed';
  font-style: normal;
  font-weight: 400;
  src: url('/fonts/roboto-condensed-v25-latin-regular.woff2') format('woff2'),
  url('/fonts/roboto-condensed-v25-latin-regular.ttf') format('truetype');
}



/* TYPOGRAPHY ----------------- */
h1 { color: var(--blue); }
h2 { color: var(--dark); }
h2.big { color: var(--blue); }
h3 { color: var(--blue); }
h4 { color: var(--aqua); }
h5 { color: var(--blue); }
h6 { color: var(--dark); }


/* Web Solutions 4.0 Compatible */
html {-webkit-box-sizing:border-box;box-sizing:border-box;}
*, *:before, *:after {-webkit-box-sizing:inherit;box-sizing:inherit;}

body {
  background: var(--blue);
  color: var(--dark);
  margin:0;
  padding:0;
  -webkit-text-size-adjust:none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img{ border: 0; height: auto; max-width: 100%; }
ul{padding-left: 0}
ul li{list-style:none}
html, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, hr{font-family:inherit; font-size:inherit; font-style:inherit;font-weight:inherit}
table {border-collapse:collapse}
td, th {empty-cells:show;vertical-align:top;text-align:left}
figure { margin: 0; }


#skipNavigation{background:#fff;color:#000;padding:.5em;position:absolute;left:0;top:-1000px;z-index:10}
#skipNavigation:focus,#skipNavigation:active{top:0;}
iframe[src="/management/login/persistSession.aspx"] {display: none}
/*page widths*/
body>header, #mainnav, main, body>footer, #alertApp{width:100%;display:block;}
.wrap, body>footer>.fatFooter {max-width: calc(73.75em + 2*var(--ws-gutter));margin-inline: auto;padding-inline: var(--ws-gutter);position:relative;width: 100%;}

/* text */
body, .text, input, button, select, textarea {
  font-family: 'Roboto', sans-serif;
  line-height: 1.5;
  color: var(--dark);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Roboto Light */
.noclass {
  font-family: 'Roboto Light', sans-serif;
}

/* Roboto Regular */
#mainnav li li a, .accordion li>a>span.brief {
  font-family: 'Roboto', sans-serif;
}

/* Roboto Regular Italic */
figcaption, em, i, .italic, body.login a.forgot, .accordion time {
  font-family: 'Roboto Italic', sans-serif;
  font-style: italic;
}

/* Roboto Medium */
#mainnav a, #mobilenav :is(a, span), #ancillary button, #sidenav li li a, #announcements>div,
.intro, p.intro, .gallery.single ~ p, #calendar thead td {
  font-family: 'Roboto Medium', sans-serif;
}

/* Roboto Bold */
h1, h2, h3, h4, h5, h6, strong, b,  #sidenav li a, .files a, label, #photo-gallery figcaption::before,
.button, button, input[type="button"], input[type="submit"], input[type="reset"],
.accordion li>a, .eventsCalendar th, .eventsCalendar td.today>time, .calNav, .key li, .eventsAgenda table,
#calendar .today time {
  font-family:'Roboto Bold', sans-serif;
  font-style: normal;
}

/* Roboto Bold Italic */
blockquote, blockquote p {
  font-family: 'Roboto Bold Italic', sans-serif;
}

/* Roboto Condensed */
body>footer {
  font-family: 'Roboto Condensed', sans-serif;
}


.text{font-size: 1rem}
a, a *{color: var(--blue);text-decoration:none}
a:hover, a:active, a:hover *, a:active *{color: var(--aqua);}
p,h1,h2,h3,h4,hr,.content ul,.contentEditor ul,blockquote,dd,ol{margin-top:0;margin-bottom:1rem}

#mainnav a>span {
  color: inherit;
  transition: none;
}

h1, h2, h3, h4, h5, h6, th { line-height: 1.2; }
:is(p, ul, ol, blockquote, .wp-block-buttons) + :is(h2, h3, h4, h5, h6) { margin-top: 2rem; }

em, i, q, cite, .italic{font-style:italic}
b, strong{font-weight:700}
u{text-decoration:none}
hr{ border:0;border-top: .125rem solid var(--light-4);margin: 1.5em 0;width: 100%;}
p { font-size:1em; line-height: 1.4; }

sup, sub {font-size:.6em; line-height:.6em;vertical-align:baseline;position:relative}
sup {bottom:1ex}
sub {top:.5ex}

.my-locations address {
  color: var(--gray-2);
  margin: 0 0 2em;
}

/* TRANSITIONS ------------------------------ */
a, a *,button,.button,input[type="button"],input[type="submit"],.rsFullscreenBtn, input:focus, select:focus, textarea:focus,
#alertApp,#alertApp span,#alertDesc,#navContainer li,.hamburger, #mobilenav span, .accordion > .expand {
  transition: all .3s ease
}


/* MAIN ------------------------------ */
.menu{cursor: pointer}
main, .mceContentBody{background:#fff}

main.interior>.wrap {
  overflow: auto;
}

.contentEditor{background:#fff;min-width:100%;}

/* sidenav */
.button.back {
  background: var(--green) url('/images/icons/caret-left.svg') no-repeat left 1.125em center / .625em auto;
  padding: 0.875em 1.3125em 0.75em 2.125em;
  margin: 0 0 1em;
  max-width: 100%;
  white-space: nowrap;
}

.button.back.d-only {
  width: 100%;
}

.button.back.mb {
  margin: 0 0 var(--ws-gutter);
}

/* t1 */
#sidenav { overflow:hidden; }
#sidenav ul { padding: 0; }
#sidenav ul:empty { display: none }
#sidenav li { overflow:hidden; }
#sidenav li.on { border-radius: .375em; }
#sidenav li a{ color: var(--blue); padding: .5em 1em; line-height: 1; display:block; outline-offset: 0;}
#sidenav li a:hover, #sidenav li a:active {background: var(--light);border-radius: .375em;}

#sidenav li.on>a {
  background: var(--blue) url('/images/icons/caret-down.svg') no-repeat right .75em center / .625em auto;
  color: #FFF;
}

/* t2 */
#sidenav li ul li a {padding-left: 1.25em}
#sidenav li.on ul li a, #sidenav li ul.children li a {background: #FFF;padding: .375em .5em .375em .75em;font-size: .9375em;color: var(--gray-2);}


#sidenav li ul li a:hover,
#sidenav li.on ul li a:hover,
#sidenav li.on ul li a:focus,
#sidenav li ul li.on>a, #sidenav li ul li.on>a {
  background: var(--light);
  color: var(--blue);
}

/* t3 */
#sidenav li ul li.on ul{padding-bottom:.5em;border:0}
#sidenav li ul li.on ul li{border:0}
#sidenav li ul li.on ul li a, #sidenav li ul li ul.children li a {display: block; padding-left:30px;font-size:.8em;color:#666}
#sidenav li ul li ul li a:hover, #sidenav li ul li ul li a:active {background:#f5f5f5}
#sidenav li ul li ul li.on>a, #sidenav li ul li ul li.on>a{color:#000; background:#e5e5e5;}

/* t4 */
#sidenav ul li.on ul ul { display: none; }
#sidenav li ul li ul li.on ul li a{padding-left:50px;font-size:.7em;color:#666}
#sidenav li ul li ul li ul li a:hover, #sidenav li ul li ul li a:active{background:#fff}
#sidenav li ul li ul li ul li.on>a{color:#000; background:#f5f5f5;}

#sidenav li.on>ul  {
  background: var(--light);
  border: .125em solid var(--light);
  border-radius: 0 0 .3125em .3125em;
  display: block
}


/*section callouts*/
main>div>aside section{margin:0 0 20px;padding:10px}
main>div>aside section:hover{background:#FFC}
main>div>aside section h1{margin:0;font-size:1.2em}
main>div>aside section p{margin:0}

/* breadcrumb */
.breadcrumb{margin-bottom: 1em}
.breadcrumb a:after{content: "\00A0\00A0\203A\00A0"}

/* content */
.content{word-wrap:break-word}
.content .photoright, .content .photoleft{max-width:50%;height:auto;width: 23.75em;}
.content .photoright img,.content .photoleft img {border-radius: .625em;max-width:100%;height:auto;margin: 0;float: none;width: 100%;}
.content img.phototreatment{max-width:50%;height:auto}
.content figure.phototreatment{width: 100%;text-align: center}
.content figure.phototreatment img{max-width: 100%;width: auto;height: auto}
img.phototreatment,img.photoright,img.photoleft,.photoright img,.photoleft img {max-width: 100%;height: auto}
.photoright{float:right;clear:right}
.photoleft{float:left;clear:left}
.muted {opacity:0.5;filter:alpha(opacity=50)}
.highlight, .content .highlight{background: #FFF;clear: both;padding:1em;margin:1em 0}
small, .textSm{font-size:.8em}
.content table{width:100%}

.shareIcons{display:inline-block;position:relative;overflow:auto}
.shareIcons a{display:block;float:left;margin:0 .5em 1em 0;height:20px;width:20px;background-position:center center; background-repeat:no-repeat;background-size:contain;border-radius:.2em;-webkit-box-shadow: inset 0px -2px 0px 0px rgba(0, 0, 0, .2);box-shadow: inset 0px -2px 0px 0px rgba(0, 0, 0, .2)}
.shareIcons a:hover{background-color:#F03C5E}
.shareFacebook{background-color:#3b5998; background-image:url(../../images/icons/64x64/facebook.png)}
.shareTwitter{background-color:#00aced; background-image:url(../../images/icons/64x64/twitter.png)}
.shareLinkedin{background-color:#007bb6; background-image:url(../../images/icons/64x64/linkedin.png)}
.shareGoogle{background-color:#dd4b39; background-image:url(../../images/icons/64x64/google-plus.png)}

/* list */
.content ol {  margin: 1.5em 0 1em 0; }

.content ol li { margin: 0 0 1em; }
.content ol ol li {list-style: lower-alpha}

.content ul {  margin: 1em 0; }

.content ul li,
ul.bullets li {
  margin: 0 0 .5em;
  position: relative;
  padding-left: 1.5em;
}

.content ul.unstyled li {
  margin: 0;
  padding-left: 0;
}

.content ul.unstyled li::before {
  display: none;
}

.content ul li li, .content ol li li { font-size: 1em; }

.content ul li::before, ul.bullets li::before {
  background: url('/images/icons/caret-right.svg') no-repeat left center / auto .75em;
  content: '';
  height: .875em;
  left: .5em;
  position: absolute;
  top: .3125em;
  width: .5em;
}

ul.bullets li::before {
  top: .125em;
}

.content ul li ul li::before { opacity: .5; }
.content ul ul, .content ol ol { margin-top: 1em; }

/* addon classes */
.clearFloats{clear:both}
.nobr{white-space: nowrap}
.twoCol, .threeCol, .resCol{
  column-rule:1px outset rgba(0,0,0,.15);
  column-gap:2em;
}
.req{color:#c00}
.textIcon{background:#999; background-color:rgba(0,0,0,.2);font-size:.8em;line-height:1em;display:inline-block;padding:.2em .4em;border-radius: .5em;color:#fff}
.textIcon:hover{background:#666; background-color:rgba(0,0,0,.4);color:#fff}
.clearfix:after{content: "";display: table;clear: both;}

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

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

/* forms */
input, button, select, textarea {font-size:1rem;line-height: 1.5;}
input[type="text"], input[type="password"], input[type="tel"], input[type="number"], input[type="email"], input[type="url"], input[type="search"], textarea, select, input[type="button"], input[type="submit"], input[type="reset"]{border-radius:0; outline: none; -webkit-appearance:none;font-size: 1rem}
input[type="text"], input[type="password"], input[type="tel"], input[type="number"], input[type="email"], input[type="url"], input[type="search"], textarea, select{border: 1px solid var(--light-4);background-color: #FFF;border-radius: .3125em;padding: .4375em 1em;}
input[type="text"]:focus, input[type="password"]:focus, input[type="tel"]:focus, input[type="number"]:focus, input[type="email"]:focus, input[type="url"]:focus, input[type="search"]:focus, textarea:focus, select:focus{background-color: #FFF;border-color: var(--blue-2);}
textarea{display:block;}

select::-ms-expand {
	display: none;
}

select {
	background: #FFF url('/images/icons/caret-down-gray.svg') no-repeat right .75em center / .75em auto;
	border: 0;
	box-shadow: inset 0 0 0 0.125em rgb(66 109 169 / 20%);
	padding: .5em 2em .5em 1em;
	width: auto;
	-webkit-appearance: none;
	-moz-appearance: none;
}


label {
  font-size: 1.125em;
}

label > input {
  display: block;
  width: 100%;
}

select option{padding:0 .2em}

button,.button,input[type="button"], input[type="submit"], input[type="reset"] {
  background: var(--green-aa);
  border: 0;
  border-radius: 0.3125em;
  color: #fff;
  cursor: pointer;
  font-size: 1em;
  line-height: 1;
  padding: 0.8125em 2.1875em 0.6875em;
  text-transform: uppercase;
}

button.blue,
.button.blue,
.calToggle .button.blue:focus{
  background: var(--blue)
}



.calToggle .button.blue:focus {
  background: var(--blue);
}

.calToggle .button.blue:not(.on),
button.light,
.button.light {
  background: var(--light);
  box-shadow: inset 0 0 0 0.125em rgb(66 109 169 / 20%);
  color: var(--dark);
  text-transform: uppercase;
}


input::-moz-focus-inner {
  border:0;
  padding:0;
}

.button.blue:hover, .button.blue:focus,
.button.blue:not(.on):hover, .button.blue:not(.on):focus,
button:hover,.button.hover,input[type="button"]:hover,
input[type="submit"]:hover,input[type="reset"]:hover,.button:hover,.button:focus,
input[type="button"]:focus,input[type="submit"]:focus,input[type="reset"]:focus{
  background-color: var(--aqua);
  color:#fff
}

.button{display: inline-block}
button img{height:1em;width:auto;vertical-align:top}
input.bulky, .bulky {padding:.4em .6em;font-size:1.2em}
.formTable, .formTable table{width:100%}
.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 input[type="search"], .formTable textarea{width:100%}
.formTable table td,.formTable table td:first-child{padding-bottom:0}
.formTable.right td:first-child{text-align:right;width:1%}
.formTable.right td{width:auto}
.subjClass{display:none !important;}
#Captcha label{padding-left:0}
td.right, th.right{text-align:right}
.wsNew{display:inline-block;font-size:.7em;line-height:1.5em;height:1.5em;padding:0 .3em;margin:.3em 0;background-color:#FFC700;overflow:visible;vertical-align:top;color:#fff;font-style:italic}
.formEdit select, .formBuilder select { width:40%; }

/* pagination */
.pagination{font-size:.95em;text-align:right}

/* page header */
.pageHeader{width:100%;height:auto;margin-bottom:2em}

/* alert */
#alertApp {background: #990000;cursor: pointer;position: relative;width: 100%;padding: .5rem 2.5rem;z-index: 1;}
#alertApp:hover { background:#660000;}
#alertApp.alertStatic { cursor: default;}
#alertApp h1 {color: #FFF;font-size: .9375rem;line-height: 1.25rem;margin: 0 auto;padding: .1875rem .3125rem;text-align: center;}
#alertApp:hover h1,#alertApp.expand h1 {color: #FFF;}
#alertApp #alertDesc {height: 0;overflow: hidden;}
#alertApp p {color: #FFF;font-size: .9375rem;line-height: 1.5;margin: 0;padding: .5rem 0 .75rem;position: relative;text-align: center; z-index: 1;}

/* generic popover with wysiwyg area */
#popover {position: fixed;z-index: 10;top: 0;left: 0;width: 100%;height: 100%;padding: 1em;background: rgba(0,0,0,0.9);display: -ms-flexbox;display: -webkit-flex;display: flex;-webkit-flex-direction: row;-ms-flex-direction: row;flex-direction: row;-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;}
#popover .container {max-width: 40em; position: relative}
#popover .container .close {position: absolute; cursor: pointer; transition: ease all 200ms; right: 0; top: -1.5em; width: 1.5em; height: 1.5em; font-size: 2.25em; line-height: 1.5em; text-align: right; color: #fff;}
#popover .container .close:hover {opacity: 0.5}
#popover .container .popover-wrap {padding: 2em; text-align: left; background:#fff; border-radius: 4px; max-width: 40em}
#popover .container .popover-wrap .popover-content {max-height: 75vh; overflow:auto}
#popover .container .popover-wrap h1,
#popover .container .popover-wrap h2,
#popover .container .popover-wrap h3,
#popover .container .popover-wrap h4 {margin:0 auto 0.75rem}
#popover .container .popover-wrap img {max-width: 100%; height:auto; margin:0 auto 1rem}

/* management overrides */
#wysiwygBody{background:#fff}

/* management table */
hr+.manage{margin-top:-1em}
.manage{border-bottom:1px solid rgba(0,0,0,.2);width:100%;line-height:1.3em}
.manage th{border-bottom:1px solid rgba(0,0,0,.2);text-align:left}
.manage th.right{text-align:right}
.manage th.sort{cursor:pointer}
.manage th.sort img{margin-left:5px}
.manage th img {position:relative;bottom:-2px}
.manage td,.manage th{padding:5px 5px 5px 0}
.manage td:first-child{padding-left:.8em}
.manage img.preload{display:none;position:absolute;z-index:9900;top:0;border:solid 1px #fff}
.manage td.icons img{margin-left:5px;position:relative;bottom:-2px}
.manage td:first-child.icons img{margin-left:0}
.manage td:first-child.icons{padding-left:3px;padding-right:3px}
.manage td:nth-child(2) {overflow-wrap: break-word;word-wrap: break-word;-ms-word-break: break-all;word-break: break-all;word-break: break-word;-ms-hyphens: auto;-webkit-hyphens: auto;hyphens: auto;}
.manage td.icons a:first-child img{margin-left:0}
.manage td.icons input{position:relative;bottom:2px;margin-left:5px}
.manage .hidden{font-style:italic;color:#900}
.manageButton{text-align:right;padding:10px 0}
.alternate tbody tr:nth-child(even), .even{background:#fff}
.alternate tbody tr:nth-child(odd), .odd {background:rgba(0,0,0,.06)}
.manage+hr, .manage+.manageLinks+hr{margin-top:50px}
.manageLinks{margin-top:10px}
.manageLinks select { max-width: 20em; }
.manageLinks a{white-space:nowrap}
.manageLinks a img{position:relative;bottom:-2px}
.manageLinks button{margin-left:5px}
.manageButtons{text-align: right;padding:10px 0}
.wsReturnToButton {float:right;margin-top:-3.5em}
.manage.rightFirstChild td:first-child{text-align:right}
.sortRow th{cursor:pointer}
.manageEllipsis{width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block}
.manage colgroup col { width: auto !important; }


/* FOOTER ------------------------------ */
body>footer{
  color: #FFF;
  clear: both;
  padding: 2.25em 0;
}
body>footer a {
  color: rgba(255,255,255,.8);
}
body>footer a>span {
  color: inherit;
}
body>footer :is(a:focus, a:hover, a:active) {
  color: #FFF;
}
body>footer .fatFooter {
  align-items: center;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}

body>footer .social ul {display: flex;margin: 0;}
body>footer .social a {padding: .5em;}
body>footer .social svg { height: 1.25em; width: auto; }
body>footer .social li:nth-child(2) svg {height: 1.4375em;}
body>footer .social path { fill: #FFF; }


/* FORM ERROR ------------------------------ */
.formError {background-color: #000;border:0;padding: 5px 15px;color:#fff;display:none;margin:0 0 2px;z-index:9999;border-radius: 10px;-moz-box-shadow:0 2px 2px #333;-webkit-box-shadow:0 2px 2px #333;}
.formError p {margin:0; font-size:.9em; }
.formError em {border:10px solid;border-color: #000 transparent transparent;bottom:-17px;display:block;height:0;left:40px;position:absolute;width:0;}

/* Form validator */
.form-error {
  color: #EE0000;
  clear: both;
  margin-block: .25em;
}


/* SHARED / MISC ------------------------------ */
.fill {
  background: var(--light-2);
  border: .125em solid rgba(var(--blue-rgb), .2);
  border-radius: 0.625em;
}


/* LOGIN PAGE ------------------------------ */
body.login {
  align-items: center;
  background: var(--blue);
  display: flex;
  height: 100vh;
  justify-content: center;
  position: relative;
}

body.login::before {
  background: url('/images/logo-figure.svg') no-repeat left -7.875em top;
  content: '';
  height: 100%;
  left: 0;
  mix-blend-mode: multiply;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 0;
}

body.login > main {
  background: #FFF;
  border-radius: .625em;
  max-width: calc(100% - 3.5em);
  padding-block: 2em 3.6875em;
  width: 43.75em;
  z-index: 1;
}

body.login .wrap {
  padding-inline: 1.75em;
}

body.login img {
  display: block;
  margin: 0 auto 2em;
  max-width: 100%;
}

body.login form {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

body.login h1 {
  color: var(--blue);
  border-radius: .3125rem;
  display: block;
  font-size: 1.75em;
  margin: 0 0 1em;
  text-align: center;
}

body.login div.half {
  width: calc(50% - .875em);
}

body.login label {
	display: block;
}

body.login div.half input {
	width: 100%;
}

body.login hr {
  border-top: 1px solid var(--light-4);
  margin: 1.75em 0 2em;
}

body.login input[type="submit"] {
  margin: 0 1em 0 0;
  padding: 0.8125em 1.675em 0.6875em;
}

body.login a.forgot:not(:focus):not(:hover) {
  color: var(--gray-2);
}


/* PAGEHEADER ------------------------------ */
.pageheader {
  background: var(--blue);
  position: relative;
  text-align: center;
}

.pageheader::before {
  background: url('/images/bg-pageheader.png') repeat-x center / auto 100%;
  content: '';
  height: 100%;
  left: 0;
  mix-blend-mode: multiply;
  position: absolute;
  top: 0;
  width: 100%
}

.pageheader h1 {
  color: #FFF;
  margin: 0;
  padding-block: .625em;
}



/* HOMEPAGE GRID ------------------------------ */
.grid .wrap {
  display: grid;
}


/* LOCATIONS ------------------------------ */
#locations {
  grid-area: locations;
}

#locations h2::before {
  content: url('/images/icons/locations.svg');
  margin-right: .375em;
  position: relative;
  top: .25em;
}

ul.squares {
  column-gap: var(--ws-gutter);
  display: grid;
  margin: 0;
  row-gap: var(--ws-gutter);
  text-align: center;
}

ul.squares li,
.content ul.squares li {
  margin: 0;
  padding-left: 0;
}

ul.squares li::before {
  display: none;
}

.squares a {
  background: var(--blue);
  border-radius: 0.625em;
  color: #FFF;
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
}

.squares .image {
  background: no-repeat center / cover;
  border: 2px solid var(--gray-3);
  border-radius: .625em .625em 0 0;
  overflow: hidden;
  padding: 0 0 68.18%;
  position: relative;
}

.squares .image img {
  min-height: 100%;
  min-width: 100%;
  left: 0;
  position: absolute;
  object-fit: cover;
  top: 0;
}

.squares :is(.details, strong) {
  color: #FFF;
}

.squares .details {
  display: flex;
  flex: 1 0 auto;
  flex-direction: column;
  justify-content: center;
  line-height: 1.4375;
  padding: .4375em var(--ws-gutter);
}

.squares strong {
  display: block;
}

.gallery.squares .details {
  padding: .8125em var(--ws-gutter);
}


.config-0 #locations { display: none; }

/* ANNOUNCEMENTS ------------------------------ */
#announcements {
  grid-area: announcements;
}

#announcements>div {
  font-size: 1.25em;
  padding: var(--ws-gutter);
}

#announcements h2::before {
  content: url('/images/icons/announcements.svg');
  margin-right: .5em;
  position: relative;
  top: .25em;
}


/* COMPANY FILES------------------------------ */
#company-files {
  grid-area: company-files;
}

.files {
  clear: both;
}

.files.interior h2 {
	clear: both;
	margin-top: 1.25em;
}

.files ul {
  column-gap: var(--ws-gutter);
  display: grid;
  margin: 0;
  row-gap: var(--ws-gutter);
}

.files li,
.content .files ul li {
  margin: 0;
  padding-left: 0;
}

.files li::before {
  display: none;
}

.files a {
  color: var(--dark);
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  padding: 2em var(--ws-gutter);
  text-align: center;
}

.files img {
  display: block;
  margin: 0 auto 1.125em;
}

/* CALENDAR ------------------------------ */
#calendar {
  grid-area: calendar;
}

#calendar table {
  border-block: .125em solid rgba(var(--blue-rgb), .2);
  table-layout: fixed;
  width: 100%;
}

#calendar thead {
  background: var(--light-2);
}

#calendar thead td {
  color: var(--blue);
  padding: .25em 0.3125em;
}

#calendar tr {
  border-bottom: .125em solid rgba(var(--blue-rgb), .2);
}

#calendar tbody td {
  padding: .25em .3125rem;
}

#calendar tbody td:not(:last-of-type) {
  border-right: .125em solid rgba(var(--blue-rgb), .2);
}

#calendar time {
  color: var(--gray-2);
}

#calendar .today {
  background: rgba(var(--blue-rgb), .08);
}

#calendar .today time {
  color: var(--blue);
}

#calendar .disable time {
  color: var(--gray-3);
}

#calendar article {
  margin: 0 -.3125rem;
  padding: .3125em;
  text-transform: uppercase;
}

:is(#calendar, .calendar) article.holidays { background: rgba(var(--green-rgb), .1); }
:is(#calendar, .calendar) article.holidays strong { color: var(--green); }

:is(#calendar, .calendar) article.payday { background: rgba(var(--aqua-rgb), .1); }
:is(#calendar, .calendar) article.payday strong { color: var(--aqua); }

:is(#calendar, .calendar) article.pto { background: rgba(var(--blue-rgb), .1); }
:is(#calendar, .calendar) article.pto strong { color: var(--blue); }

:is(#calendar, .calendar) article.company-events { background: #E8E2F7; }
:is(#calendar, .calendar) article.company-events strong { color: #6B46C1; }


.calendar article>strong {
  background: no-repeat 0em .25em / auto .75em;
  display: block;
  padding-left: 1.125em;
}

.calendar article.holidays>strong { background-image: url('/images/icons/holidays.svg'); }
.calendar article.payday>strong { background-image: url('/images/icons/payday.svg'); background-size: auto .875em; }
.calendar article.pto>strong { background-image: url('/images/icons/pto.svg'); }
.calendar article.company-events>strong { background-image: url('/images/icons/company-events.svg'); }


/* PHOTO GALLERY ------------------------------ */
#photo-gallery {
  grid-area: photo-gallery;
}

#photo-gallery img {
  border: .125rem solid transparent;
  border-radius: .625em;
}

#photo-gallery figcaption {
  color: var(--gray-2);
  text-align: center;
}

#photo-gallery figcaption::before {
  color: var(--dark);
  content: 'Caption:';
  margin: 0 .375em 0 0;
}

#photo-gallery .button {
  margin-top: 1em;
}



/* FILE TREE RIBBONS ------------------------------ */
.accordion {
  border-block: 2px solid var(--light-4);
}

.accordion + .accordion {
  border-top: 0;
}

.accordion.expand {
  background: var(--light-2);
}

.accordion button {
  background-color: transparent;
  background-image: url('/images/icons/folder.svg'), url('/images/icons/plus.svg');
  background-repeat: no-repeat, no-repeat;
  background-position: left .5em center, right .5em center;
  background-size: 1em auto, 1em auto;
  color: var(--dark);
  padding: 0.625em 2.1875em 0.5em;
  text-align: left;
  text-transform: none;
  width: 100%;
}

.accordion.expand>button {
  background-image: url('/images/icons/folder-open.svg'), url('/images/icons/minus.svg');
  color: var(--green)
}

.accordion .expand:not(.accordion) {
  height: 0;
  overflow: hidden;
}

.accordion .expand > div:not(.expand) {
  padding-inline: clamp(1em, 0.6818em + 1.59vw, 1.875em);
}

.accordion ul {
  margin-block: .5em 0;
}

.accordion ul.unstyled {
	margin: 0;
}

.accordion li {
  align-items: center;
  display: flex;
  justify-content: space-between;
}

.accordion li:not(:last-of-type) {
  background-image: linear-gradient(to right, var(--light-4) 60%, #FFF 0%);
  background-position: 0.125em bottom;
  background-size: 0.75em 0.0625em;
  background-repeat: repeat-x;
}

.accordion li>a {
  align-items: center;
  background: url('/images/icons/file-misc.png') no-repeat .25em .625em / auto .875em;
  color: var(--blue);
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: .4375em 1em .4375em 1.5em;
  width: 100%;
}

.accordion li>a>span.brief {
	color: var(--gray);
	display: block;
	width: 100%;
}

.accordion li>a[href*='.pdf']:not(.button),
.accordion li>a.pdf {
  background-image: url('/images/icons/file-pdf.png');
}

.accordion li>a:is([href*='.jpg'], [href*='.jpeg'], [href*='.png'], [href*='.gif']):not(.button),
.accordion li>a:is(.jpg, .jpeg, .jpng, .gif) {
  background-image: url('/images/icons/file-image.png');
}

.accordion :is(li>a[href*='.doc'], li>a[href*='.docx']):not(.button),
.accordion li>:is(a.doc, a.docx) {
  background-image: url('/images/icons/file-word.png');
}

.accordion :is(li>a[href*='.xlsx'], li>a[href*='.xls']):not(.button),
.accordion li>:is(a.xlsx, a.xls) {
  background-image: url('/images/icons/file-xls.png');
}



.accordion li>a>span.button {
  background: url('/images/icons/arrow-down.svg') no-repeat left .5em center / auto .625em;
  background-color: var(--blue);
  font-size: .875em;
  padding: .375em 1em .375em 1.5em;
}

.accordion li > a:is(:hover,:focus-visible) .button {
  background-color: var(--aqua);
  color: #FFF;
}

.accordion label {
  display: flex;
  font-size: .9375em;
  text-transform: uppercase;
}

.accordion label>span {
  color: var(--dark);
  white-space: nowrap;
}

.accordion label>span>b { color: inherit; }

.accordion label>input:checked+span {
  color: var(--green);
}


.accordion label span>time {
  color: var(--gray-2);
}

.accordion label>input {
  display: inline-block;
  margin: 0 .5em 0 0;
  width: auto;
}

/* ~~~~~~~~~~~~~~~~~~~ STYLE.CSS ~~~~~~~~~~~~~~~~~~~ */
