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

:root {
	--ws-grid: minmax(1.5em,1fr) [wrap-start] repeat(12,minmax(0,var(--ws-column-width))) [wrap-end] minmax(1.5em,1fr);
}

/* HEADINGS ------------------------------ */
h1 {
	font-size: 2.5em;
}

h2, .heading-style {
	font-size: 2em;
}

h3 {
	font-size: 1.75em;
}

h4 {
	font-size: 1.5em;
}

h5 {
	font-size: 1.1em;
}

h6 {
	font-size: 1.0em;
}

.intro {
	font-size: 1.375em;
	font-weight: 500;
	line-height: 1.273;
}
p, ul, ol {
	font-size: 1rem;
	line-height: 1.66;
}


/* ALERT ------------------------------*/
#alertApp:not(.alertStatic):is(:hover, :focus) {
	background: #660000;
}

#alertApp:is(:hover, .expand) #alertTitle {
	color: #FFF;
}

/* HEADER ------------------------------*/
body>header {
  background: #FFF;
  position: sticky;
  top: 0;
  z-index: 1;
  padding-top: 2.25rem;
  display: flex;
  justify-content: space-between;
  border-bottom: solid 1px #fff;
}
body.scroll>header {
	border-bottom: 1px solid rgba(var(--ws-blue-rgb), .2);

}

body.management>header {
	top: 35px;
}

#brand {
	display: block;
}

#brand img {
	display: block;
	height: auto;
	margin:.5em .5em;
	width: 15em;
}

nav ul {
	margin: 0;
}

#mainnav {
	overflow: visible;
}

#mainnav ul {
  margin: 0;
  overflow: visible;
  padding: 0;
	text-align: center;
}

#mainnav li {
	display: inline-block;
	position: relative;
}

#mainnav a {
  	color: var(--ws-grey);
  	display: inline-block;
	line-height: 1;
	padding: 1.25em .75em;
	text-decoration: none;
	font-size: 1.25rem;
}

#mainnav>ul>li:hover>a,
#mainnav>ul>li>a:focus,
#mainnav>ul>li.on>a {
	background: var(--ws-lt-blue);
	color: #FFF;
}


/* Accessible dropdowns */
#mainnav>ul>li.menu-item-has-children>a {
  padding-right: 1.5em;
}

#mainnav>ul>li>button {
  background: transparent;
  border: 0;
  font-size: 1rem;
  height: 1.5rem;
  inset: 50% clamp(0.75em, 0.333em + 0.89vw, 1em) auto auto;
  padding: 0;
  pointer-events: none;
  position: absolute;
  transform: translate(50%,-50%);
  width: 1.5rem;
}

#mainnav>ul>li>button:before {
  background: #000;
  content: '';
  height: .75rem;
  left: 0;
  mask:  url('/images/icons/misc/chevron-down.svg') no-repeat center / contain;
  position: absolute;
  right: 0;
  top: calc(50% - 6px);
  transition: var(--ws-transition);
}

#mainnav>ul>li.on>button:before,
#mainnav>ul>li:hover>button:before,
#mainnav>ul>li>a:focus-visible + button:before {
  background: #FFF;
}


/* drop-down menu */
#mainnav>ul>li>div {
  background: var(--ws-offwhite);
  height: auto !important;
  opacity: 0;
  overflow: auto;
  padding: .25em 0;
  position: absolute;
  top: -200vh;
  transition: ease .2s opacity .3s;
  visibility: hidden;
  width: 15.9375rem;
  z-index: -1;
}

#mainnav li:hover>div,
#mainnav>ul>li.tapped >div,
#mainnav>ul>li>a:focus + div,
#mainnav>ul>li.expand>div {
	opacity: 1;
	top: auto;
	visibility: visible;
	z-index: 1;
}

#mainnav>ul>li:last-child>div,
#mainnav>ul>li:nth-last-child(2)>div
  {
	right: 0;
}

#mainnav li ul li {
	display: block;
  width: 100%;
}


#mainnav li ul li a {
  display: block;
	font-size: 1.125rem;
	color: var(--ws-grey);
	line-height: 1.1em;
	padding: .4em 0.8125rem;
	text-align: left;
  width: 100%;
  font-weight: normal;
}

#mainnav li ul li a:is(:hover, :focus) {
	background: var(--ws-blue);
	color: #fff;
}

#mainnav li ul ul {
	display: none;
}


/* ANCILLARY ----------------------------- */
#ancillary {
  background:#F3F3F7;
  display: flex;
  justify-content: flex-end;
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
}

#ancillary ul {
	display: inline;
}

#ancillary li {
	display: inline-block;
	border-left: 1px solid #FFF;
	height: 2.1875rem;
}

#ancillary a {
  color: var(--ws-blue);
  display: inline-block;
  font-size: .9375rem;
  line-height: 1.517;
  padding: .375em .75em;
  text-decoration: none;
  text-transform: uppercase;
  height: 2.1875rem;
}

#ancillary li.on a,
#ancillary a:is(:hover, :focus) {
	color: #666;
}

#ancillary li.on a {
	color: #666;
  text-decoration: none;
}
#ancillary ul li a:is(:hover,:focus) {
	background: var(--ws-blue);
	color: #FFF;
}
#ancillary ul li a:is(:hover,:focus):before {
	filter: grayscale(1) brightness(5);
}

/* mini-cart */
#ancillary .small-cart {
	display: inline-block;
}

#ancillary #cart-popover {
  background: #FFF;
  box-shadow: 0 0 10px rgba(0,0,0,0.95);
  height: auto;
  display: block;
	opacity: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  transition: ease all 200ms;
  width: 20rem;
  z-index: -1;
}

#ancillary .small-cart.on #cart-popover,
#ancillary .small-cart:hover #cart-popover {
	opacity: 1;
	pointer-events: all;
  z-index: 10;
}

#ancillary #cart-popover:before {
  border-style: solid;
	border-width: 0 10px 8px 10px;
	border-color: transparent transparent #FFF transparent;
	content: '';
  display: block;
  height: 0;
	position: absolute;
  right: 3rem;
	top: -0.5rem;
	width: 0;
}

#ancillary #cart-popover .no-items {
	background: #FFF;
  color: #000;
  font-size: 1em;
	padding: 1em;
	text-align: center;
}

#ancillary #cart-popover .no-items .button {
  color: #FFF;
	display: block;
  margin-top: 0.75rem;
	text-align: center;
}

#ancillary #cart-popover .products {
	overflow: auto;
  max-height: 21.5em;
	padding: 0.25em 1em;
}

#ancillary #cart-popover .products > p {
  font-size: 1rem;
	text-align: center;
}

#ancillary #cart-popover .product {
  display: block;
  height: auto;
  line-height: 1rem;
  overflow: auto;
  padding: 1.25em 1em;
	position: relative;
	text-align: left;
  text-transform: inherit;
}

#ancillary #cart-popover .product + .product {
	border-top: 1px dashed #D1D1D1;
}

#ancillary #cart-popover .product-image {
	position: relative;
	float: left;
	-webkit-transition: ease all 200ms;
	transition: ease all 200ms;
	width: 5em;
}

#ancillary #cart-popover .product-image img {
	display: block;
	max-width: 100%;
	height: auto
}

#ancillary #cart-popover .product-details {
	overflow: auto;
	float: right;
	width: calc(100% - 6em)
}

#ancillary #cart-popover .product-name {
  color: #8A1538;
	font-size: 1.125rem;
  font-weight: 600;
	line-height: 1em;
	margin-bottom: 0.25em;
	white-space: initial;
}

#ancillary #cart-popover .price,
#ancillary #cart-popover .quantity {
	color: #666;
  font-size: 0.875rem;
	margin-bottom: 0.5em;
}

#ancillary #cart-popover .product:hover .product-name {
	color: #007DB5;
}

#ancillary #cart-popover .cart-bottom {
  background: #032839;
  color: #fff;
  font-family: "Gotham A", "Gotham B", sans-serif;
	padding: 1rem 1rem 2rem;
	text-align: center;
  text-transform: capitalize;
}

#ancillary #cart-popover .cart-bottom .cart-total {
  margin: 0 0 1em;
	font-size: 1rem;
}

#ancillary #cart-popover .cart-bottom .checkout .button {
  color: #FFF;
  font-size: 1rem;
	height: auto;
	line-height: 1em;
	padding: 0.7em 2em;
	text-transform: capitalize;
}

/* mobile */
#mobilenav, .menu, .toggleNav {
	content-visibility: hidden;
  display: none;
}


/* MAIN ------------------------------ */
main>div>aside {
  float: left;
	overflow: hidden;
  padding-right: 3.75rem;
  width: 16.25rem;
}

main>div>#content {
	float: right;
	width: calc(100% - 16.25rem);
	padding: 2em 0 4em;
	overflow: hidden;
	min-height: 600px;
	position: relative
}

body.fullWidth main>div>#content,
body:is(.academic-programs, .resources) main>div>#content {
  float: none;
	margin: 0 auto;
  width: 100%;
}

.twoCol, .threeCol, .resCol {
	column-rule:0;
}

.twoCol {
	columns: 2;
}

.threeCol {
	columns: 3;
}

.resCol {
	columns: auto;
	column-width: 13em;
}

.formTable td {
	width: 50%
}

.formTable td {
	padding: 0 0 .5em 1em
}

.formTable td[colspan="2"] {
	padding-right: 0
}

.formTable.formLoose,
.formTable.formLoose td {
	width: auto
}


/* Contact Form - table removed ----- */
.form-flex .half,
.form-flex fieldset label {
	width: calc(50% - .5em); /* Full on mobile */
}

.form-flex .quarter {
	width: calc(25% - .5em); /* Half on mobile */
}

.photoright {
	margin: 0 0 3em 4em;
}

.photoleft {
	margin: 0 4em 3em 0;
}

.wsManagementLogin td:first-child {
  text-align: right;
	width: 40%;
}

:is(button, .button, input:is([type="button"], [type="submit"], [type="reset"])):is(:hover, :focus) {
	background-color:var(--ws-blue);
	box-shadow: none;
	color: #FFF;
}

#popover .close:is(:hover, :focus) {
	opacity: 0.5;
}

.shareIcons a:is(:hover, :focus) {
	background-color: var(--link-color-hover);
}

.twoImages {width:100%;display: inline-block;}
.twoImages img {width: 48%; height: auto; display: inline-block}
.twoImages img+img {margin-left: 3%;}

.highlight.half {width: 48%;float: right;margin: 0 0 2em 3em;}
/* HOME -------------------------------- */
.home .hero {
	display: flex;
	justify-content: center;
}
.home .hero .hero-text {
	background: var(--ws-green);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 1rem;
}

.home .hero .slide-wrap {
	width: 70%;
}

.home .hero button.pause {
	bottom: 1em;
	left: 1.25em;
}

.home .hero .hero-text {
	width: 30%;
	border-left: 2px solid #FFF;
}


/* WELCOME ------------------------------ */
.home .welcome .wrap {
	display: flex;
}

.home .welcome h2 {
	font-size: 2.25rem;
}

.home .welcome-content {
	width: 50%;
}

.home .welcome-content>div {
	max-width: 32.625em;
	padding-right: 1.5em;
	margin: 0;
}

.home .welcome .facebook {
	width: 50%;
}



/* MOVE AHEAD ------------------------------ */

.move-ahead .wrap {
	width: 69.5%;
}





/* CALLOUTS ------------------------------ */

.home .callouts .wrap {
	padding-bottom: 8.625rem;
}
.home .callouts.enrichment-classes .wrap {
	padding-bottom: 8.75rem;
}

.home .callouts h2 {
	font-size: 2.5rem;
}

.home .callouts.enrichment-classes h2 {
	margin-bottom: 1.75em;
}

.home .callouts ul, .interior .callouts ul {
	gap: 2.5625rem 3.125rem;
}
.home .callouts ul li, .interior .callouts ul li {
	width: calc(24.5% - 2.0831rem);
}
.home .callouts ul li a:is(:hover,:focus), .interior .callouts ul li a:is(:hover,:focus) {
	filter: contrast(1.1) brightness(1.1);
}
.home .callouts ul li:nth-child(odd) a:is(:hover,:focus) span, .interior .callouts ul li:nth-child(odd) a:is(:hover,:focus) span {
	color: var(--ws-lt-blue);
}
.home .callouts ul li:nth-child(even) a:is(:hover,:focus) span, .interior .callouts ul li:nth-child(even) a:is(:hover,:focus) span {
	color: var(--ws-blue);
}

.interior .callouts {margin: 3rem 0;}
.center {margin: 0 auto;text-align: center;}


/* FOOTER ------------------------------ */
body>footer .fatFooter {
	display: flex;
	justify-content: space-between;
}

#web-solutions {
	float: right;
	margin-left: 11px;
}

body>footer a:is(:hover, :focus) {
	color: #FFF;
}

body>footer .wrap nav span:before {
	content: "|";
	margin: 0 0.5em
}

.interior .right.button {float: right;}

/* ANIMATIONS -------------------------- */
.enrichment-callout, .callouts ul li:nth-child(3n+2) {transition-delay: .2s;}
.callouts ul li:nth-child(3n+3) {transition-delay: .3s;}


/* 1400px */
@media (max-width: 87.5em) {
	.home .hero button.pause {
		bottom: 2.625em;
	}
}

/* 1150 */
@media (max-width: 71.875rem) {
	/*#brand {height: 3.125rem;}
	#brand img {width: auto; height: 100%;}
	#mainnav > ul > li > a {line-height: 3.125rem; padding: 0 .5em; font-size: 1.125rem;}
	#mainnav li ul li a {font-size: 1rem;}*/

	.home .slick-slide .slide {padding-bottom: 60%;}
	.home .hero .slide-wrap {width: 60%;}
	.home .hero .hero-text {width: 40%;}
	.enrichment-callout .wrap {border-width: .75rem;}
	.enrichment-callout .wrap {padding: 1.625rem 1.1875rem;}
	.home .callouts ul, .interior .callouts ul {gap: 2.5rem;}
}

/* 1000px */
@media (max-width: 62.5em) {
	.fatFooter-left {flex-direction: column-reverse;}
	.fatFooter input[type="email"] {width: 11rem;}
	body>footer>.wrap nav {display: block;}
	body>footer .wrap nav span:first-child:before {content: none;}
}

/* 900 */
@media (max-width: 56.25rem) {
	body>header {flex-direction: column; align-items: center; justify-content: center;}
	#brand {margin-top: .5rem;}
	.home .callouts ul li span {font-size: 1.25rem;}
	.home .slick-slide .slide {padding-bottom: 25rem;}
}
