/* @import url(/includes/css/grid-flex.css); */
@charset "UTF-8";

/* Web Solutions 4.0 Compatible */
:root {
	--ws-red: #C03C32;
	--ws-red-rgb: 192,60,50;
	--pale-red: #CB4D3A;
	--light-grey: #EFEFEF;
	--light-grey-alt: #E1E1E1;
	--grey: #696969;
	--dark-blue: #213159;
	--blue: #325F91;
	--cyan: #437F84;
	--ws-dark: #1D3959;
}

/* roboto-300 - latin */
@font-face {
	font-display: swap;
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 300;
	src: url('/includes/fonts/roboto-v30-latin-300.woff2') format('woff2');
  }
  /* roboto-300italic - latin */
  @font-face {
	font-display: swap;
	font-family: 'Roboto';
	font-style: italic;
	font-weight: 300;
	src: url('/includes/fonts/roboto-v30-latin-300italic.woff2') format('woff2');
  }
  /* roboto-regular - latin */
  @font-face {
	font-display: swap;
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 400;
	src: url('/includes/fonts/roboto-v30-latin-regular.woff2') format('woff2');
  }
  /* roboto-italic - latin */
  @font-face {
	font-display: swap;
	font-family: 'Roboto';
	font-style: italic;
	font-weight: 400;
	src: url('/includes/fonts/roboto-v30-latin-italic.woff2') format('woff2');
  }
  /* roboto-500 - latin */
  @font-face {
	font-display: swap;
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 500;
	src: url('/includes/fonts/roboto-v30-latin-500.woff2') format('woff2');
  }
  /* roboto-500italic - latin */
  @font-face {
	font-display: swap;
	font-family: 'Roboto';
	font-style: italic;
	font-weight: 500;
	src: url('/includes/fonts/roboto-v30-latin-500italic.woff2') format('woff2');
  }
  /* roboto-700 - latin */
  @font-face {
	font-display: swap;
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 700;
	src: url('/includes/fonts/roboto-v30-latin-700.woff2') format('woff2');
  }
  /* roboto-700italic - latin */
  @font-face {
	font-display: swap;
	font-family: 'Roboto';
	font-style: italic;
	font-weight: 700;
	src: url('/includes/fonts/roboto-v30-latin-700italic.woff2') format('woff2');
  }
  /* roboto-900 - latin */
  @font-face {
	font-display: swap;
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 900;
	src: url('/includes/fonts/roboto-v30-latin-900.woff2') format('woff2');
  }
  /* roboto-900italic - latin */
  @font-face {
	font-display: swap;
	font-family: 'Roboto';
	font-style: italic;
	font-weight: 900;
	src: url('/includes/fonts/roboto-v30-latin-900italic.woff2') format('woff2');
  }
  /* roboto-slab-300 - latin */
@font-face {
	font-display: swap;
	font-family: 'Roboto Slab';
	font-style: normal;
	font-weight: 300;
	src: url('/includes/fonts/roboto-slab-v34-latin-300.woff2') format('woff2');
  }
  /* roboto-slab-regular - latin */
  @font-face {
	font-display: swap;
	font-family: 'Roboto Slab';
	font-style: normal;
	font-weight: 400;
	src: url('/includes/fonts/roboto-slab-v34-latin-regular.woff2') format('woff2');
  }
  /* roboto-slab-500 - latin */
  @font-face {
	font-display: swap;
	font-family: 'Roboto Slab';
	font-style: normal;
	font-weight: 500;
	src: url('/includes/fonts/roboto-slab-v34-latin-500.woff2') format('woff2');
  }
  /* roboto-slab-600 - latin */
  @font-face {
	font-display: swap;
	font-family: 'Roboto Slab';
	font-style: normal;
	font-weight: 600;
	src: url('/includes/fonts/roboto-slab-v34-latin-600.woff2') format('woff2');
  }
  /* roboto-slab-700 - latin */
  @font-face {
	font-display: swap;
	font-family: 'Roboto Slab';
	font-style: normal;
	font-weight: 700;
	src: url('/includes/fonts/roboto-slab-v34-latin-700.woff2') format('woff2');
  }
  /* roboto-slab-800 - latin */
  @font-face {
	font-display: swap;
	font-family: 'Roboto Slab';
	font-style: normal;
	font-weight: 800;
	src: url('/includes/fonts/roboto-slab-v34-latin-800.woff2') format('woff2');
  }
  /* roboto-slab-900 - latin */
  @font-face {
	font-display: swap;
	font-family: 'Roboto Slab';
	font-style: normal;
	font-weight: 900;
	src: url('/includes/fonts/roboto-slab-v34-latin-900.woff2') format('woff2');
  }
  /* zilla-slab-300 - latin */
@font-face {
	font-display: swap;
	font-family: 'Zilla Slab';
	font-style: normal;
	font-weight: 300;
	src: url('/includes/fonts/zilla-slab-v11-latin-300.woff2') format('woff2');
  }
  /* zilla-slab-300italic - latin */
  @font-face {
	font-display: swap;
	font-family: 'Zilla Slab';
	font-style: italic;
	font-weight: 300;
	src: url('/includes/fonts/zilla-slab-v11-latin-300italic.woff2') format('woff2');
  }
  /* zilla-slab-regular - latin */
  @font-face {
	font-display: swap;
	font-family: 'Zilla Slab';
	font-style: normal;
	font-weight: 400;
	src: url('/includes/fonts/zilla-slab-v11-latin-regular.woff2') format('woff2');
  }
  /* zilla-slab-italic - latin */
  @font-face {
	font-display: swap;
	font-family: 'Zilla Slab';
	font-style: italic;
	font-weight: 400;
	src: url('/includes/fonts/zilla-slab-v11-latin-italic.woff2') format('woff2');
  }
  /* zilla-slab-500 - latin */
  @font-face {
	font-display: swap;
	font-family: 'Zilla Slab';
	font-style: normal;
	font-weight: 500;
	src: url('/includes/fonts/zilla-slab-v11-latin-500.woff2') format('woff2');
  }
  /* zilla-slab-500italic - latin */
  @font-face {
	font-display: swap;
	font-family: 'Zilla Slab';
	font-style: italic;
	font-weight: 500;
	src: url('/includes/fonts/zilla-slab-v11-latin-500italic.woff2') format('woff2');
  }
  /* zilla-slab-600 - latin */
  @font-face {
	font-display: swap;
	font-family: 'Zilla Slab';
	font-style: normal;
	font-weight: 600;
	src: url('/includes/fonts/zilla-slab-v11-latin-600.woff2') format('woff2');
  }
  /* zilla-slab-600italic - latin */
  @font-face {
	font-display: swap;
	font-family: 'Zilla Slab';
	font-style: italic;
	font-weight: 600;
	src: url('/includes/fonts/zilla-slab-v11-latin-600italic.woff2') format('woff2');
  }
  /* zilla-slab-700 - latin */
  @font-face {
	font-display: swap;
	font-family: 'Zilla Slab';
	font-style: normal;
	font-weight: 700;
	src: url('/includes/fonts/zilla-slab-v11-latin-700.woff2') format('woff2');
  }
  /* zilla-slab-700italic - latin */
  @font-face {
	font-display: swap;
	font-family: 'Zilla Slab';
	font-style: italic;
	font-weight: 700;
	src: url('/includes/fonts/zilla-slab-v11-latin-700italic.woff2') format('woff2');
  }



html {-webkit-box-sizing:border-box;box-sizing:border-box;}
*, *:before, *:after {-webkit-box-sizing:inherit;box-sizing:inherit;}
body {margin:0;padding:0;-webkit-text-size-adjust:none; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;}

img{border: 0}
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}
body {background:#325F91;}
#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%;float:left;clear:left;display:block;}
body>*>.wrap, body>footer>.fatFooter,#alertApp>*,.home .wrap, .landing .wrap {width:100%;max-width:70.75rem;margin-left:auto;margin-right:auto;position:relative;overflow:auto; padding-left: 1.5rem; padding-right: 1.5rem;}
.wrap.wrap-650 {max-width: 43.625rem;}
.wrap.wrap-940 {max-width: 61.75rem;}
.wrap.wrap-1170, body>footer>.fatFooter, body>footer>.wrap, body.home>footer>.wrap, body.landing>footer>.wrap {max-width: 76.125rem;}
/* text */
body, .text, input, button, select, textarea, blockquote cite, .course-detail-landing h1 span, .course-detail-landing h2, #alertApp h1, #alertApp h2 {font-family:'Roboto', sans-serif;line-height:1.5;color:#666;-webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;}
.hero h2,  .intro-ribbon .wrap h2, .intro-ribbon .wrap h1, .resources .wrap h2, .courses .callouts .course-name, .resources .callouts .callout-title, .welcome-message h1 #sidenav > ul > li > a, blockquote, .photoright figcaption, .intro-ribbon .buttons-intro, .course-callouts .course-top h2, .course-detail-landing h1, .course-register h2, .subcategory-list li a,#sidenav > ul > li > a  {font-family: 'Zilla Slab', serif;}
h1, .highlight h2, .highlight h1, h2, h3, h4, .button, input[type="submit"], .exam fieldset legend, .exam .controls button {font-family: 'Roboto Slab', serif;}
.text{font-size: 1rem}
a, a *{color: var(--ws-red);text-decoration:none}
a:hover, a:active, a:hover *, a:active *{ color:var(--blue); }
p,h1,h2,h3,h4,hr,.content ul,.contentEditor ul,blockquote,dd,ol{margin-top:0;margin-bottom:1rem}
h1, h2, h3, h4, h5, h6, th{font-weight:400; line-height: 120%;}
p + h2, p + h3, p + h4, p + h5, p + h6,
ul + h2, ul + h3, ul + h4, ul + h5, ul + h6,
ol + h2, ol + h3, ol + h4, ol + h5, ol + h6 {margin-top:2em;}
.textColor, h1, h2, h3, h4, h5, h6, th, dt{color:#31659b}
em, i, q, cite, .italic{font-style:italic}
b, strong{font-weight:700}
u{text-decoration:none}
hr{border:0;border-top:1px solid rgba(0,0,0,.15);margin:1em 0;padding-top:1px}
main p, main ul, main ol, .interior .button, .interior input[type="submit"] {font-size:1.0625rem}
p.intro {
	font-size: 1.25rem;
	line-height: 1.4;
	margin-bottom: 1.5rem;
}
h1 {
	color: var(--dark-blue);
	font-weight: 700;
	font-size: 2.25rem;
}
h2 {
	font-size: 1.875rem;
	font-weight: 700;
	color: var(--blue);
}
h3 {
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--dark-blue);
}
h4, th{
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--grey);
}
h5 {
	font-size: 1.125rem;
	font-weight: 700;
	color: var(--blue);
	margin-bottom: 1rem;
}
h6 {
	font-size: 1rem;
	font-weight: 700;
	color: var(--grey);
	margin-bottom: 1rem;
}
.intro {}
sup, sub {font-size:.6em; line-height:.6em;vertical-align:baseline;position:relative}
sup {bottom:1ex}
sub {top:.5ex}
#content ul,
.landing main ul {
	padding-left: .5rem;
	margin-bottom: 1rem;
	text-align: left;
}
#content ul > li, .landing main ul > li {
	position: relative;
	padding-left: 0.9375rem;
	text-indent: 0;
	margin-top: .5rem;
}
#content ul > li:before, .landing main ul > li:before {
	content: "";
	background: url(/images/icons/chevron-right.svg) no-repeat center;
	background-size: contain;
	height: 10px;
    width: 6px;
    left: 4px;
    top: 7px;
    position: absolute;
}


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


/* MAIN ------------------------------ */
.menu{cursor: pointer}
main, .mceContentBody{background:#fff}
.contentEditor{background:#fff;min-width:100%;}

/* sidenav */
#sidenav{width:100%;overflow:hidden;margin:0 0 3rem; background: #FFF; border-top: 2px solid var(--light-grey-alt); border-bottom: 2px solid var(--light-grey-alt); position: relative;}
#sidenav > ul{padding: 0.625rem 0}
#sidenav li{height:1%;overflow:hidden; margin-bottom:1px}
#sidenav li a{padding:.4em 0.375rem;line-height:1.1em;display:block}
#sidenav li a:is(:hover, :focus-visible) {background:#e5e5e5}
#sidenav > ul > li > a {color: var(--blue); font-size: 1.125rem; font-weight: 600; line-height: .94em; padding-right: 1.25rem;}
#sidenav > ul > li > a:is(:hover, :focus-visible) {background: #e5e5e5; color: var(--dark-blue);}
#sidenav > ul > li.on > a {color: var(--dark-blue); position: relative;}
#sidenav > ul > li.on > a:before {content: ""; right: 0.625rem; height: 13px; width: 14px; background: url(/images/icons/star.svg) no-repeat center; background-size: contain; background-position: center; top: 50%; transform: translateY(-50%); position: absolute;}
	/* t2 */
	#sidenav ul ul {padding: .25rem 0;}
	#sidenav li.on ul li a{padding:.4em .5rem;font-size:0.9375rem;color:#666}
	#sidenav li ul li a:is(:hover, :focus-visible),
	#sidenav li ul li.on>a{color:#FFF; background:var(--blue);}
		/* t3 */
		#sidenav li.on ul ul {background: var(--light-grey-alt);}
		#sidenav li ul li.on ul{padding: 0;border:0}
		#sidenav li ul li.on ul li{border:0}
		#sidenav li ul li.on ul li a{padding:.35em .5rem .35em 1rem;font-size:.8em;color:#666}
		#sidenav li ul li ul li a:is(:hover, :focus-visible),
		#sidenav li ul li ul li.on>a{color:#FFF; background:var(--dark-blue);}
			/* t4 */
			#sidenav li ul li ul li.on ul li a{padding-left:1.5rem;font-size:.7em;color:#666}
			#sidenav li ul li ul li ul li a:is(:hover, :focus-visible),
			#sidenav li ul li ul li ul li.on>a{color:#000; background:#f5f5f5;}

/*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}
.content .photoright img,.content .photoleft img {max-width:100%;height:auto;margin: 0;float: none}
.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}
.photoright figcaption {text-align: right; font-style: italic; font-size: 0.8125rem; color: #4A4A4A;}
.photoleft{float:left;clear:left}
.muted {opacity:0.5;filter:alpha(opacity=50)}
.highlight, .content .highlight{
	margin: 2.8125rem 0;
}
.highlight h2, .highlight h1 {
	font-size: 1.875rem;
	font-weight: 700;
	color: var(--dark-blue);
	position: relative;
	padding-right: 25px;
	display: table;
}
.highlight h2:after, .highlight h1:after {
    content: "";
    width: 1.25rem;
    height: 1.1875rem;
    background: url(/images/icons/star.svg) no-repeat center;
    background-size: contain;
    display: inline-block;
    margin-left: 0.25rem;
	margin-right: -20px;
}
.highlight .highlight-content {
	background: var(--light-grey);
	padding: 1.5625rem 2.1875rem;
	border-top: 2px solid var(--light-grey-alt);
}
small, .textSm{font-size:.8em}
.content table{width:100%}

blockquote {
	float: right;
	width: 43%;
	text-align: right;
	margin-left: 8.5%;
	margin-top: 2rem;
	font-style: italic;
	font-weight: 600;
	font-size: 1.4375rem;
	line-height: 1.2;
	color: var(--blue);
}
blockquote cite {
	display: block;
	font-size: 0.875rem;
	font-style: normal;
	font-weight: 400;
	color: var(--grey);
	margin-top: .5rem;
}

.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-left:2em}
.content ol ol li {list-style: lower-alpha}
.content ul > li{padding-left:2em;text-indent: -1em}
.content ul > li:before{content: "\25B8";display: inline-block;width: 1em;text-align: center;text-indent:0}
.content ul > li ul li:before{opacity: .5}

/* addon classes */
.clearFloats{clear:both}
.nobr{white-space: nowrap}
.twoCol, .threeCol, .resCol{
-webkit-column-rule:0;
        column-rule:0;
-webkit-column-gap:2em;
        column-gap:2em;
}
.req{color:#c00}
.white .req { color: #FFF; }

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

/* forms */
input, button, select, textarea {font-size:1rem;line-height: 1.2em}
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 rgba(50, 94, 145, 0.4);background-color:rgba(0,0,0,.05);padding:3px 5px;height: 2rem;}
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}

textarea{ display:block; height: auto; }

@media screen and (-webkit-min-device-pixel-ratio:0) {
    select{background-image:url(/images/icons/16x16/select.png);background-repeat:no-repeat;background-position:right center;padding-right: 18px}
	input[type="search"]::-webkit-search-decoration {-webkit-appearance:none}
	input[type="search"]{padding-right:0}
}
select option{padding:0 .2em}
button,.button,input[type="button"], input[type="submit"], input[type="reset"]{background:var(--blue);display: inline-block; color:#fff;border:0;padding:calc(.75em - 2px) calc(1.29em - 2px);line-height:1em;cursor:pointer; border: 2px solid var(--blue);}
input::-moz-focus-inner {border:0;padding:0;}
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: #FFF;color:var(--blue)}
.button{display: inline-block; font-weight:700;}

.button.outline, button.outline {border-color: var(--blue); background: none; color: var(--blue); padding: calc(.75em - 2px) calc(1.29em - 2px);}
.button.outline:is(:hover, :focus), button.outline:is(:hover, :focus) {background: var(--blue); color: #FFF}

.button.white-outline {border-color:#FFF; background: none; padding: calc(.75em - 2px) calc(1.29em - 2px);}
.button.white-outline:hover {background: var(--blue); color: #FFF;}

.button.white {background: #FFF; border-color: #FFF; color: var(--blue);}
.button.white:hover {background: var(--blue); color: #FFF;}

.button.cyan {background: var(--cyan); border-color: var(--cyan); color: #FFF;}
.button.cyan:hover {background: #FFF; color: var(--cyan);}

.button.light-red {background: var(--pale-red); border-color: var(--pale-red); color: #FFF;}
.button.light-red:hover {background: #FFF; color: var(--pale-red);}

.button.red {background: var(--ws-red); border-color: var(--ws-red); color: #FFF;}
.button.red:hover {background: #FFF; color: var(--ws-red);}

#ContactForm input[type="submit"] {text-transform: uppercase;}

.interior .buttons {margin-left: -3px;}
.interior .buttons .button {margin: 5px 3px;}
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%; }


/* Forms - table removed ----- */
.form-flex {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.form-flex>div {
	margin: 0 0 .75em;
}

.form-flex .full {
	pointer-events: all;
	width: 100%;
}

.form-flex>div>label:first-child {
	display: block;
}

.form-flex>div>fieldset>label {
	display: inline-block;
}

.form-flex>div :where(input:not([type="submit"]), select, textarea) {
	width: 100%;
}

.form-error {
	color: #EE0000;
}

.reverse .form-error {
	background: #EE0000;
	color: #FFFF;
	display: block;
}

.white .form-error {
	background: #FFF;
}


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

/* page header */
.pageHeader{width:100%;height:auto; max-height:25vh;clear: both; background-size: cover; background-position: center;}

/* alert */
#alertApp {background: var(--light-grey);border-top: 1px solid #FFF;cursor: pointer;position: relative;width: 100%;padding: .44rem 2.5rem;z-index: 1;}
/* #alertApp:hover { background:#660000;}
#alertApp:hover h1,#alertApp.expand h1 {color: #FFF;} */
#alertApp.alertStatic { cursor: default;}
#alertApp h1, #alertApp h2 {color: var(--grey);font-size: 1rem; font-weight: 400; line-height: 1.25rem;margin: 0 auto;padding: .1875rem .3125rem;text-align: center;}
#alertApp h1 span, #alertApp h2 span {color: var(--ws-red); font-weight: 700;}
#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;}
#alertApp #pDesc {color: var(--grey)}
/* 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}

.pattern-before:before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	background-image: url(/images/pattern-background.png);
	background-size: 3.375rem auto;
	background-repeat: repeat;
	background-color: #fafafa;
}
.pattern-bg {
	background-image: url(/images/pattern-background.png);
	background-size: 3.375rem auto;
	background-repeat: repeat;
	background-color: #fafafa;
}

/* HOME -------------------------------- */
.slick-list {
	line-height: 0;
}
.hero {
	position: relative;
}
.hero-header {
	background: rgba(252, 252, 252, 0.95);
	padding: 1.125rem 3.75rem;
	position: absolute;
	right: 50%;
	/*width: 62%;*/
	text-align: center;
}

.hero-header h1 {
	display: block;
	color: var(--dark-blue);
	font-size: 1.7em;
	font-style: normal;
	font-weight: 700;
	position: relative;
	margin-bottom: 1.25rem;
}
.hero h1:before, .hero h1:after {
	content: "";
	position: absolute;
	background: url(/images/icons/star.svg) no-repeat center;
	background-size: contain;
	width: 20px;
	height: 18px;
	top: 50%;
	transform: translateY(-50%);
}
.hero h1:before {left: -29px;}
.hero h1:after {right: -29px;}

.welcome-left h2 {
	font-size: 1.5625rem;
	text-align: center;
	font-weight: 500;
	font-style: italic;
	color: var(--blue);
	margin-bottom: 0;
}

.welcome-left h2 span {
	display: block;
	color: var(--dark-blue);
	font-size: 1.2em;
	font-style: normal;
	font-weight: 700;
	position: relative;
	margin-bottom: .25rem;
}
.welcome-left h2 span:before, .welcome-left h2 span:after {
	content: "";
	position: absolute;
	background: url(/images/icons/star.svg) no-repeat center;
	background-size: contain;
	width: 20px;
	height: 18px;
	top: 50%;
	transform: translateY(-50%);
}
.welcome-left h2 span:before {left: -20px;}
.welcome-left h2 span:after {right: -20px;}

.courses > .wrap {
	padding-top: 1.5rem;
	padding-bottom: 2.8125rem;
	text-align: center;
}
.intro-ribbon .wrap {
	text-align: center;
	padding-top: 1.6875rem;
	padding-bottom: 1.6875rem;
}
.resources-top {
	position: relative;
	border-bottom: 3px solid var(--light-grey-alt);
}
.resources .resources-top:before {
	content: "";
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	background-size: 100% auto;
	background-position: bottom;
	background-repeat: no-repeat;
	background-image: url(/images/resources-bg.png);
	position: absolute;
	opacity: .09;
}
.resources-top > .wrap {
	text-align: center;
}
.resources-top .button {
	text-transform: uppercase;
	background: #FFF;
}
.intro-ribbon .wrap h2, .intro-ribbon .wrap h1 {
	position: relative;
	color: var(--dark-blue);
	padding-top: 1.6875rem;
	font-size: 1.875rem;
}
.resources .wrap h2, .resources .wrap h1 {
	position: relative;
	color: var(--dark-blue);
	padding-bottom: 1.625rem;
}
.intro-ribbon .wrap h2 span, .intro-ribbon .wrap h1 span {
	display: block;
	text-transform: lowercase;
	font-weight: 500;
	font-style: italic;
	font-size: .833em;
	color: var(--blue);
}
.intro-ribbon .wrap h2:after, .intro-ribbon .wrap h1:after, .resources .wrap h2:after {
	content: "";
	width: 2.25rem;
	height: 1.125rem;
	background-image: url(/images/icons/star.svg);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	background-color: #FFF;
	right: 50%;
	transform: translateX(50%);
	position: absolute;
}
.intro-ribbon .wrap h2:after, .intro-ribbon .wrap h1:after {top: 0;}
.resources .wrap h2:after {bottom: 0;}

.intro-ribbon .wrap h2:before, .intro-ribbon .wrap h1:before, .resources .wrap h2:before {
	content: "";
	height: 2px;
	background: var(--light-grey-alt);
	max-width: calc(100% - 3rem);
	right: 50%;
	transform: translateX(50%);
	position: absolute;
}
.intro-ribbon .wrap h2:before, .intro-ribbon .wrap h1:before {top: 9px; width: 25.9375rem;}
.resources .wrap h2:before {bottom: 7px; width: 30.4375rem;}

.intro-ribbon .wrap p.intro, .resources .wrap p.intro {
	font-size: 1.25rem;
	max-width: 58.75rem;
	margin-left: auto;
	margin-right: auto;
	line-height: 1.5;
}
.intro-ribbon .wrap p.intro b, .resources .wrap p.intro b {
	color: var(--blue);
}
.intro-ribbon .buttons-intro {
	color: var(--blue);
	font-weight: 500;
	font-style: italic;
	font-size: 1.25rem;
}
.intro-ribbon .button {
	text-transform: uppercase;
}
.intro-ribbon .button + .button {margin-left: 5px;}
.courses .callouts {
	padding: 3.4375rem 1rem;
}
.courses .callouts ul {
	max-width: 74rem;
	margin: 0 auto;
}
.courses .callouts ul li {
	text-align: center;
	color: #FFF;
	padding: 2.5rem 1rem;
	background-size: cover;
	position: relative;
}
.courses .callouts ul li * {
	position: relative;
	z-index: 2;
}
.courses .callouts ul li:before {
	content: "";
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	opacity: .9;
	position: absolute;
}
.courses .callouts ul li:nth-of-type(3n+1):before {
	background: var(--blue);
}
.courses .callouts ul li:nth-of-type(3n+2):before {
	background: var(--pale-red);
}
.courses .callouts ul li:nth-of-type(3n+3):before {
	background: var(--cyan);
}
.courses .callouts ul li:nth-of-type(3n+1) {
	margin-left: 0;
}
.courses .callouts ul li:nth-of-type(n+4) {
	margin-top: 1rem;
}
.courses .callouts .course-code {
	display: block;
	font-size: 0.875rem;
	font-weight: 500;
	color: rgba(255,255,255,.8);
}
.courses .callouts .course-name {
	font-size: 1.5rem;
	font-weight: 700;
	line-height: .9;
	margin-bottom: .5rem;
}
.courses .callouts .course-date {
	font-weight: 700;
	line-height: 1.25;
}
.courses .callouts .course-date-title {
	display: block;
	position: relative;
	text-transform: uppercase;
}
.courses .callouts .course-date-title:before {
	content: "";
	background: url(/images/icons/calendar-edit.svg) no-repeat center;
	background-size: contain;
	height: 17px;
	width: 17px;
	display: inline-block;
	position: relative;
	margin: 0 3px -2px 0;
}
.courses .callouts .buttons {
	margin-top: 1.75rem;
}
.courses .callouts .button {
    box-shadow: 0 0 0 2px rgba(0,0,0,0.125);
    font-weight: 700;
    padding:0.875em 1.5em;
    text-transform: uppercase;
}
.courses .callouts .button:is(:hover, :focus-visible) {
    background: rgba(0,0,0,0.65);
    border-color: rgba(0,0,0,0.25);
    box-shadow: none;
    color: #FFF;
}
.courses .callouts .button.white-outline {
	border-color: rgba(255,255,255,.5);
}
.courses .callouts .button + .button {
	margin-left: 4px;
}

.resources .pattern-before {
	padding-top: 3.75rem;
	padding-bottom: 3.75rem;
	position: relative;
}
.resources .pattern-before:before {
	bottom: 0;
	top: 40%;
}
.resources .callouts {
	max-width: 74.375rem;
	margin: 0 auto;
	position: relative;
}
.resources .callouts li .callout-img {
	width: 100%;
	padding-bottom: 31.5625rem;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	position: relative;
	z-index: 0;
}
.resources .callouts li a {
	display: block;
	text-align: center;
	margin: -2rem 1.125rem 0;
	padding: 1.5625rem 1.5rem;
	transform-origin: bottom;
	background: #FFF;
	border-top: 3px solid var(--light-grey-alt);
	border-bottom: 3px solid var(--light-grey-alt);
	position: relative;
	z-index: 1;
}
.resources .callouts li a:hover {
	transform: scale(1.05);
}
.resources .callouts li .callout-title {
	font-size: 1.625rem;
	font-weight: 700;
	line-height: 1;
	display: block;
	margin-bottom: 1rem;
}
.resources .callouts li:first-of-type .callout-title {color: var(--blue);}
.resources .callouts li:nth-of-type(2) .callout-title {color: var(--pale-red);}
.resources .callouts li:nth-of-type(3) .callout-title {color: var(--cyan);}

.resources .callouts li p, .resources .callouts li p b {
	font-size: 1.0625rem;
	color: var(--grey);
}
.resources .callouts li p {
	margin-bottom: 1.4rem;
}
.resources .callouts .button {
	text-transform: uppercase;
	font-size: 1rem;
	padding: calc(.75em - 2px) calc(.86em - 2px);
}
.resources .callouts li:nth-of-type(2) .button {background: var(--pale-red); border-color: var(--pale-red)}
.resources .callouts li:nth-of-type(3) .button {background: var(--cyan); border-color: var(--cyan)}

.resources .callouts li:first-of-type a:hover .button {background: #FFF; color: var(--blue);}
.resources .callouts li:nth-of-type(2) a:hover .button {background: #FFF; color: var(--pale-red);}
.resources .callouts li:nth-of-type(3) a:hover .button {background: #FFF; color: var(--cyan);}

.welcome-message .wrap {
	overflow: hidden;
}
.welcome-message h1 {
	color: var(--dark-blue);
	font-size: 1.875rem;
	position: relative;
	padding-bottom: 0.625rem;
	line-height: 1;
	margin-bottom: 1.3rem;
	padding-bottom: 1rem;
}
.welcome-message h1:before {
	content: "";
	left: 0;
	right: 0;
	bottom: 0;
	position: absolute;
	height: 2px;
	background: var(--light-grey-alt);
}
.welcome-message h1:after {
	content: "";
	width: 1.25rem;
	height: 1.1875rem;
	background: url(/images/icons/star.svg) no-repeat center;
	background-size: contain;
	display: inline-block;
	margin-left: 0.375rem;
}
.welcome-message p {
	font-size: 1.0625rem;
	line-height: 1.65;
}
.welcome-message p b {
	color: #325F91;
}
.welcome-message .button {
	text-transform: uppercase;
}
.welcome-message .welcome-left, .welcome-message .welcome-right {
	position: relative;
}

.course-callouts .wrap {
	padding-top: 2.625rem;
	padding-bottom: 6.25rem;
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
}
.course-callouts section {
	background: #FFF;
	border-bottom: 3px solid var(--light-grey-alt);
	position: relative;
}
.course-callouts section .course-top {
	padding: 1rem 1.25rem;
	display: flex;
	flex-direction: column-reverse;
}
.course-callouts .course-top h2 {
	color: #FFF;
	margin-bottom: 0;
	font-size: 1.5rem;
}
.course-callouts section .course-top .course-code {
	color: rgba(255,255,255,.7);
	font-size: 1rem;
}
.course-callouts .course-content {
	display: flex;
	align-items: flex-start;
	padding: 1.375rem 2rem;
}
.course-callouts .course-content .course-content-left {
	width: 24%;
	margin-right: 6%;
}
.course-callouts .course-content .course-content-left img {
	max-width: 100%;
	height: auto;
}
.course-callouts .course-content .course-content-right {
	flex: 1;
}
.course-callouts .course-content .course-content-right * {
	font-size: 1rem;
	line-height: 1.3;
}
.course-callouts .course-date-title svg {
	display: inline-block;
	width: 0.875rem;
	height: auto;
	margin-right: 3px;
}
.course-callouts .course-date {
	font-weight: 700;
}
.course-callouts .course-date-title, .course-callouts .description strong {
	text-transform: uppercase;
	font-size: 1rem;
	font-weight: 700;
	display: block;
}
.course-callouts .price span {
	font-weight: 700;
	color: var(--ws-red);
}
.course-callouts .course-content .course-content-right .textbook-disclaimer {
	font-size: 0.875rem;
	font-style: italic;
	line-height: 1;
	color: var(--grey);
	position: relative;
	margin-top: 1.4375rem;
	max-width: 15.625rem;
	padding: 1em 0.5em 1em 3rem;
	border-radius: 4px;
}
.course-callouts .textbook-disclaimer:before {
	content: "";
	position: absolute;
	left: 0.5625rem;
	background-image: url(/images/icons/book.svg);
	background-color: #efefef;
	background-size: 14px 16px;
	background-repeat: no-repeat;
	background-position: center;
	border-radius: 50%;
	width: 2.125rem;
	height: 2.125rem;
	top: 0.625rem;
}

.course-callouts .button {text-transform: uppercase; padding:0.875em 1.5em}

.course-callouts section:nth-of-type(4n+1) .course-date-title, .course-callouts section:nth-of-type(4n+1) .description strong {color: var(--blue);}
.course-callouts section:nth-of-type(4n+1) .course-date-title svg {fill: var(--blue);}
.course-callouts section:nth-of-type(4n+1) .course-top {background: var(--blue);}
.course-callouts section:nth-of-type(4n+1) .button.outline {border-color: var(--blue); color: var(--blue);}
.course-callouts section:nth-of-type(4n+1) .button.outline:hover,
.course-callouts section:nth-of-type(4n+1) .button.outline:focus {color: #FFF;}
.course-callouts section:nth-of-type(4n+1) .textbook-disclaimer {border: 2px solid var(--blue);}

.course-callouts section:nth-of-type(4n+2) .course-date-title, .course-callouts section:nth-of-type(4n+2) .description strong {color: var(--cyan);}
.course-callouts section:nth-of-type(4n+2) .course-date-title svg {fill: var(--cyan);}
.course-callouts section:nth-of-type(4n+2) .course-top, .course-callouts section:nth-of-type(4n+2) .button:not(.outline) {border-color: var(--cyan); background: var(--cyan);}
.course-callouts section:nth-of-type(4n+2) .button.outline {border-color: var(--cyan); color: var(--cyan);}
.course-callouts section:nth-of-type(4n+2) .button:not(.outline):hover,
.course-callouts section:nth-of-type(4n+2) .button:not(.outline):focus {background: #FFF; color: var(--cyan);}
.course-callouts section:nth-of-type(4n+2) .button.outline:hover,
.course-callouts section:nth-of-type(4n+2) .button.outline:focus {background: var(--cyan); color: #FFF;}
.course-callouts section:nth-of-type(4n+2) .textbook-disclaimer {border: 2px solid var(--cyan);}

.course-callouts section:nth-of-type(4n+3) .course-date-title, .course-callouts section:nth-of-type(4n+3) .description strong {color: var(--pale-red);}
.course-callouts section:nth-of-type(4n+3) .course-date-title svg {fill: var(--pale-red);}
.course-callouts section:nth-of-type(4n+3) .course-top, .course-callouts section:nth-of-type(4n+3) .button:not(.outline) {border-color: var(--pale-red); background: var(--pale-red);}
.course-callouts section:nth-of-type(4n+3) .button.outline {border-color: var(--pale-red); color: var(--pale-red);}
.course-callouts section:nth-of-type(4n+3) .button:not(.outline):hover,
.course-callouts section:nth-of-type(4n+3) .button:not(.outline):focus {background: #FFF; color: var(--pale-red);}
.course-callouts section:nth-of-type(4n+3) .button.outline:hover,
.course-callouts section:nth-of-type(4n+3) .button.outline:focus {background: var(--pale-red); color: #FFF;}
.course-callouts section:nth-of-type(4n+3) .textbook-disclaimer {border: 2px solid var(--pale-red);}

.course-callouts section:nth-of-type(4n+4) .course-date-title, .course-callouts section:nth-of-type(4n+4) .description strong {fill: var(--dark-blue); color: var(--dark-blue);}
.course-callouts section:nth-of-type(4n+4) .course-date-title svg {fill: var(--dark-blue);}
.course-callouts section:nth-of-type(4n+4) .course-top, .course-callouts section:nth-of-type(4n+4) .button:not(.outline) {border-color: var(--dark-blue); background: var(--dark-blue);}
.course-callouts section:nth-of-type(4n+4) .button.outline {border-color: var(--dark-blue); color: var(--dark-blue);}
.course-callouts section:nth-of-type(4n+4) .button:not(.outline):hover,
.course-callouts section:nth-of-type(4n+4) .button:not(.outline):focus {background: #FFF; color: var(--dark-blue);}
.course-callouts section:nth-of-type(4n+4) .button.outline:hover,
.course-callouts section:nth-of-type(4n+4) .button.outline:focus {background: var(--dark-blue); color: #FFF;}
.course-callouts section:nth-of-type(4n+4) .textbook-disclaimer {border: 2px solid var(--dark-blue);}


.course-detail-landing, .course-details, .course-details-sidebar {
	position: relative;
}
.course-detail-landing .wrap {
	margin-top: 2.5rem;
	padding-top: 2.5rem;
	padding-bottom: 2.5rem;
}
.course-detail-landing .wrap:before {
	content: "";
	position: absolute;
	left: 1.5rem;
	right: 1.5rem;
	top: 10px;
	height: 2px;
	background: var(--light-grey-alt);
}
.course-detail-landing .wrap:after {
	content: "";
	background: url(/images/icons/star.svg) no-repeat center;
	background-color: #FFF;
	top: 0;
	right: 50%;
	transform: translateX(50%);
	position: absolute;
	height: 1.1875rem;
	width: 2.25rem;
}
.course-detail-landing h1 {
	font-size: 1.875rem;
	font-weight: 700;
	color: var(--dark-blue);
	line-height: .933;
}
.course-detail-landing h1 span {
	font-size: .53em;
	color: var(--blue);
	font-weight: 400;
	display: block;
}
.course-details h2 {
	font-size: 1.0625rem;
	color: var(--blue);
	text-transform: uppercase;
	position: relative;
	margin-bottom: .75rem;
	clear: both;
}
.course-details .photoright {
	margin: .4em 0 1em 4em
}
.course-details .photoright + h2 {
	clear: none;
	margin-top: 2em;
}
.course-detail-landing h2.date-time {
	margin-bottom: .25rem;
}
.course-detail-landing h2.date-time:before {
	content: "";
	background: url(/images/icons/calendar-edit-blue.svg) no-repeat center;
	background-size: contain;
	height: 1.1875rem;
	width: 1rem;
	display: inline-block;
	margin: 0 4px -2px 0;
}
.course-detail-landing time b {
	display: block;
}

.course-register {
	background: var(--pale-red);
	border: 2px solid var(--pale-red);
	padding: 1rem 1rem 1rem;
	text-align: center;
	color: #FFF;
	display: block;
	position: relative;
	transition: all .3s ease;
	width: 100%;
	z-index: 0;
}

.course-register :is(button, .button) {
	display: table;
	margin: 0 auto 1em;
	pointer-events: all;
}

.course-register :is(.button, button)::before {
	bottom: 0;
	content: '';
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
}

div.course-register,
.course-register :is(h2, p, b) {
	pointer-events: none;
}

.course-register.dark-blue {
	background: var(--dark-blue);
	border: 2px solid var(--dark-blue);
}
.course-register span.button.white-outline {
	display: table;
	text-transform: uppercase;
	margin: 1.25rem auto 1.5rem;
	padding: .95em 1em;
}
.course-register h2 {
	font-size: 1.4375rem;
	font-weight: 700;
	color: #FFF;
}
.course-register b {color: #FFF;}

.course-register:not(.order):hover {
	border-color: var(--ws-red);
	background: #FFF;
	color: var(--ws-red);
}
.course-register.dark-blue:not(.order):hover {
	border-color: var(--dark-blue);
	color: var(--dark-blue);
}
.course-register.order{padding-bottom: 0;}
.course-register.order input[type="text"] {background-color: rgba(255,255,255,1);border: none;width: 100%;margin-bottom: .5rem;}
.course-register.order input[type="text"]:focus{background-color: rgba(255,255,255,.8)}
.course-register.order p {font-size: .8rem;font-style: italic;line-height: 1.2;}
.course-register:not(.order):hover h2,
.course-register:not(.order):hover b {
	color: var(--ws-red);
}
.course-register.dark-blue:not(.order):hover h2,
.course-register.dark-blue:not(.order):hover b {
	color: var(--dark-blue);
}
.course-register:not(.order):hover span.button.white-outline,
.course-register:not(.order) span.button.white-outline:hover {
	background: var(--ws-red);
	border-color: var(--ws-red);
	color: #FFF;
}
.course-register.dark-blue:not(.order):hover span.button.white-outline,
.course-register.dark-blue:not(.order) span.button.white-outline:hover {
	background: var(--dark-blue);
	border-color: var(--dark-blue);
}
.textbooks {
	position: relative;
	/*background: var(--light-grey);*/
	padding: 4.0625rem 1.5rem 1.875rem;
	margin-top: 4.125rem;
	border: 2px solid var(--blue);
}
.textbooks {
	color: var(--blue);
	text-align: center;
  	background: #edf5ff;
}
.textbooks:before {
	content: "";
	position: absolute;
	height: 5.625rem;
	width: 5.625rem;
	top: -2.5rem;
	right: 50%;
	transform: translateX(50%);
	background: url(/images/icons/book-white.svg) no-repeat center;
	background-size: 2.3125rem auto;
	background-color: var(--blue);
	border: 3px solid #FFF;
	border-radius: 50%;
}
.textbooks p {
	color: var(--dark-blue);
	line-height: 1.25em;
}
.textbooks ul,
.landing main .textbooks ul {
    margin-bottom: 1.875rem;
	padding: 0;
}

.textbooks ul
.landing main .textbooks ul {
    counter-reset: books;
    list-style: none;
}

.textbooks ul li,
.landing main .textbooks ul li {
    background: #fff;
    border-radius: 8px;
    counter-increment: books;
    line-height: 1.25em;
    margin: 0;
    padding: 0.5em 1em 0.75em;
    text-align: center;
}

.textbooks ul li + li,
.landing main .textbooks ul li + li {
    margin-top: 0.25em;
}

.textbooks ul li a:before {
	content:"";
    display: block;
	width:100%;
	height: 100%;
	position: absolute;
	top:0;
	left:0;
	border-radius: 8px;
	box-shadow: 0 0 0 1px #c8dffb;
	transition: all 200ms ease;
}

.textbooks ul li a:is(:hover, :focus-visible):before {
	box-shadow: 0 0 0 1px var(--pale-red);
}

.textbooks ul li::before,
.landing main .textbooks ul li::before {
    background: none;
    color: var(--dark-blue);
    content: "Book " counter(books) ":";
    display: block;
    font-size: 0.75em;
    font-style: italic;
    font-weight: 700;
    height: auto;
    margin: 0 0 0.5em;
    position: relative;
    text-align: center;
    width: auto;
}


.textbooks .button {
	background: var(--blue);
	border:0;
	display: table;
	margin: 0.5em auto 1.5em;
	text-transform: uppercase;
	color: #fff;
	padding: .875em 1.75em;
}

.textbooks .button * {
	color: #fff;
}

.textbooks .button:is(:hover, :focus-visible) {
	background: var(--dark-blue);
	border-color: var(--dark-blue);
}

ul.subcategory-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-content: center;
	max-width: 50rem;
	margin: 0 auto;
}
.landing main ul.subcategory-list {
	padding: 1rem 1.5rem 3rem;
}
#content ul.subcategory-list {
	padding: 1rem 0;
}
ul.subcategory-list li:before {content: none;}
#content ul.subcategory-list li, .landing main ul.subcategory-list li {
	padding: 0;
	margin: 0;
}
ul.subcategory-list li a {
	padding: 3rem 1.5rem 2rem;
	height: 100%;
	position: relative;
	display: block;
	text-align: center;
	border: 2px solid;
}
ul.subcategory-list li a:before {
	content: "";
	background: url(/images/icons/star.svg) no-repeat center;
	top: 1rem;
	right: 50%;
	transform: translateX(50%);
	position: absolute;
	height: 1.1875rem;
	width: 2.25rem;
	filter: brightness(0) invert(1);
}
ul.subcategory-list li a .subcategory-name {
	color: #FFF;
	font-size: 1.5rem;
	line-height: 1.25;
	margin-bottom: 1rem;
	display: block;
}
ul.subcategory-list li:nth-of-type(3n+1) a {background: var(--blue); border-color: var(--blue);}
ul.subcategory-list li:nth-of-type(3n+2) a {background: var(--ws-red); border-color: var(--ws-red);}
ul.subcategory-list li:nth-of-type(3n+3) a {background: var(--cyan); border-color: var(--cyan);}

ul.subcategory-list li a:hover {background: #FFF;}
ul.subcategory-list li:nth-of-type(3n+1) a:hover * {color: var(--blue);}
ul.subcategory-list li:nth-of-type(3n+1) a:hover .button.white-outline {border-color: var(--blue); background: var(--blue); color: #FFF;}
ul.subcategory-list li:nth-of-type(3n+1) a:hover:before {filter: brightness(0) invert(33%) sepia(50%) saturate(677%) hue-rotate(171deg) brightness(90%) contrast(86%);}

ul.subcategory-list li:nth-of-type(3n+2) a:hover * {color: var(--ws-red);}
ul.subcategory-list li:nth-of-type(3n+2) a:hover .button.white-outline {border-color: var(--ws-red); background: var(--ws-red); color: #FFF;}
ul.subcategory-list li:nth-of-type(3n+2) a:hover:before {filter: brightness(0) invert(27%) sepia(21%) saturate(4368%) hue-rotate(334deg) brightness(105%) contrast(93%);}

ul.subcategory-list li:nth-of-type(3n+3) a:hover * {color: var(--cyan);}
ul.subcategory-list li:nth-of-type(3n+3) a:hover .button.white-outline {border-color: var(--cyan); background: var(--cyan); color: #FFF;}
ul.subcategory-list li:nth-of-type(3n+3) a:hover:before {filter: brightness(0) invert(67%) sepia(7%) saturate(2448%) hue-rotate(137deg) brightness(90%) contrast(83%);}


.course-details .form:first-of-type {padding-top: 2rem; margin-top: 2rem; border-top: 2px solid var(--light-grey-alt);}
.course-details .form {margin-bottom: 1rem; color: var(--dark-blue); font-weight: 500;}
.course-details .form .description p {margin-bottom: .25rem; font-size: 0.875rem; color: #666; font-weight: 400;}
.course-details .form input {width: 100%;}


#content .items ul {padding-left: 0;}

/* CART POPOVER ------------------------ */
#cartWindowPopover {
	position: fixed;
	z-index: 3;
	padding: 0;
	border: 1px solid var(--light-grey);
}
#cartWindowPopover::backdrop {
	background-color: rgba(0,0,0,0.95);
	opacity: 0.9;
}
.cart-text {
	background: #FFF;
	display: block;
	padding: 2rem;
	text-align: center;
}
#cartWindowPopover .code {
	font-size: 0.875rem;
    font-weight: 300;
}
#cartWindowPopover .title {
	display: block;
    padding: 3px 10px 3px 0;
    line-height: 1.3;
}
#cartWindowPopover .price, #cartWindowPopover .quantity {
	font-size: 0.875rem;
    font-weight: 500;
    color: var(--ws-red);
}
#cartWindowPopover .cart-dropdown-bottom {
	background-color: var(--light-grey);
	padding: 2rem;
	position: relative;
}
#cartWindowPopover .cart-dropdown-bottom .subtotal {
	width: 100%;
	display: block;
	margin-bottom: 1.5rem;
	text-align: center;
}
#cartWindowPopover .cart-dropdown-bottom .subtotal span {
	color: var(--ws-red);
	font-weight: 500;
}
.cart-dropdown-bottom .light-red-outline {
	border-color: var(--pale-red);
    color: var(--pale-red);
	background: none;
}
.cart-dropdown-bottom .light-red-outline:focus, .cart-dropdown-bottom .light-red-outline:hover {
	background: #FFF;
	border-color: var(--ws-dark);
	color: var(--ws-dark);
}
#cartWindowPopover .cart-dropdown-bottom::before {
	content: "";
    background: url(/images/icons/star.svg) no-repeat center;
    background-size: contain;
    right: 50%;
    transform: translateX(50%);
    width: 1.25rem;
    height: 1.1875rem;
    top: -0.5rem;
    position: absolute;
}

/* FOOTER ------------------------------ */
body>footer{padding:2.75rem 1rem 1.25rem;color: #CED9E4;font-size: 0.875rem;float:none;}
body>footer a{color:#fff}
body>footer a:not(.button):is(:hover, :focus-visible), footer a:not(.button):active{text-decoration: underline; color: #FFF;}
body>footer a.on, footer .on>a{text-decoration:none;color:#fff}
body>footer>.wrap{overflow:visible; clear:both}
body>footer>.wrap nav{display:inline}

body>footer .fatFooter {display: flex; font-size: 0.875rem;}
body>footer .fatFooter address .button {margin-top: .75rem; text-transform: uppercase; padding: .645em 1.31em;}
body>footer .fatFooter address .button:is(:hover, :focus-visible) {background: #FFF; color: var(--blue);}
footer address {line-height: 2;}
footer address img {margin-bottom: .5rem; max-width: 100%;}

.footer-social {display: flex; align-self: center;}
.footer-social li + li {margin-left: 1.0625rem;}
.footer-social a {position: relative;}
.footer-social a:is(:hover, :focus-visible):before {opacity: .7;}
.footer-social a:before {content: ""; height: 20px; width: 20px; background-size: contain; background-repeat: no-repeat; background-position: center; display: block; transition: opacity .2s ease;}

.twitter:before {background-image: url(/images/icons/twitter.svg);}
.facebook:before {background-image: url(/images/icons/facebook-f.svg);}
.youtube:before {background-image: url(/images/icons/youtube.svg);}


/* TRANSITIONS ------------------------------ */
a, a *,button,button *,.button,.button *,input[type="button"],input[type="submit"],.rsFullscreenBtn,
#alertApp,#alertApp span,#alertDesc,#navContainer li,.hamburger, .exam .custom-radio label::after,
.course-register, .course-register :where(h2, b) {
	transition: all 200ms ease;
}


input:focus, select:focus, textarea:focus{-webkit-transition: background-color 150ms ease;transition: background-color 150ms ease}


/* FORM ERROR ------------------------------ */
.formError {background-color:Black; border:0; padding: 5px 10px; 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:Black transparent transparent; bottom:-17px; display:block; height:0; left:40px; position:absolute; width:0; }


.fade-in,
.animate-left, .animate-right, .animate-down, .animate-up,
.animate-up-left .animate-up-right, .animate-down-left, .animate-down-right {
  opacity: 0;
  -webkit-transition: all .75s ease;
  transition: all .75s ease;
}

.animate-left { left: 4.75rem; top: 0; }
.animate-right { right: 4.75rem; top: 0; }
.animate-up { top: 4.75rem; }
.animate-down { top: -4.75rem; }

.animate-down-left { left: 4.75rem; top: -4.75rem; }
.animate-down-right { right: 4.75rem; top: -4.75rem; }
.animate-up-left { left: 4.75rem; top: 4.75rem; }
.animate-up-right { right: 4.75rem; top: 4.75rem;  }

.line-animation-translate:before,
.line-animation-right:before  {transition: all 1.25s ease;}
.line-animation:before,
.line-animation-translate:before {transition: all 1s ease; transform-origin: center; transition-delay: .5s;}

.line-animation-right:before {transform-origin: left; transition-delay: .5s;}

.line-animation-translate:before,
.intro-ribbon .wrap h1.line-animation-translate:before,
.intro-ribbon .wrap h2.line-animation-translate:before,
.resources .wrap h2.line-animation-translate:before {transform: translateX(50%) scaleX(0);}

.line-animation-translate.animated:before,
.intro-ribbon .wrap h1.line-animation-translate.animated:before,
.intro-ribbon .wrap h2.line-animation-translate.animated:before,
.resources .wrap h2.line-animation-translate.animated:before {transform: translateX(50%) scaleX(1); opacity: 1;}

.line-animation:before,
.line-animation-right:before {transform: scaleX(0);}
.line-animation.animated:before,
.line-animation-right.animated:before {transform: scaleX(1); opacity: 1;}

.animate-left.animated { left: 0; top: 0; }
.animate-right.animated { right: 0; top: 0; }
.animate-up.animated { top: 0; }
.animate-down.animated { top: 0; }

.animate-up-left.animated { left: 0; top: 0; }
.animate-up-right.animated { right: 0; top: 0; }
.animate-down-left.animated { left: 0; top: 0; }
.animate-down-right.animated { right: 0; top: 0; }

.animated {opacity: 1;}

.animated,
.delay-1 {-webkit-transition-delay:.15s; transition-delay:.15s;}

.stop-animations * { -webkit-animation: none !important; animation: none !important; -webkit-transition: none !important; transition: none !important; }

@media
(-webkit-min-device-pixel-ratio: 2),
(min-resolution: 192dpi) {
	.pattern-bg, .pattern-before:before {background-size: 2.5rem auto;}
}





/* EXAM (Layout) ------------------------------ */

.exam {
	background: #FAFAFA url('/images/pattern-background.png') repeat left top / 3.375rem auto;
}

.exam .wrap {
	background: #FFF;
	max-width: 62em;
}

.exam .wrap>div {
	margin-inline: auto;
	max-width: 50em;
	padding-block: clamp(2.5em, 2.154em + 1.54vw, 3.5em) clamp(4em, 3.308em + 3.08vw, 6em);
}




/* EXAM ( Top: email, name, blue box ) ------------------------------ */
.exam span.required::after {
	color: #FF0000;
	content: '*';
}

.exam .flex legend {
	font-style: italic;
}

.exam label {
	display: block;
}

.exam label + label {
	margin: 1.5em 0 0;
}

.exam label>span {
	display: block;
	font-size: 1.0625em;
}

.exam label>input {
	background-color: #F2F2F2;
	border-color: #E1E1E1;
	height: auto;
	line-height: 1.1;
	margin: .125em 0 0;
	padding: .6875em 1em;
	width: 100%;
}

.exam .block>div {
	background: var(--ws-dark);
	color: #FFF;
	padding: clamp(1.5em, 1.413em + 0.38vw, 1.75em);
}

.exam .block p {
	font-size: clamp(1.125em, 1.082em + 0.19vw, 1.25em);
}



/* EXAM ( Progress Indicator ) ------------------------------ */

.exam .progress {
	margin-block: clamp(2em, 1.654em + 1.54vw, 3em);
}
.exam .progress ol {
	counter-reset: ws-exam-counter;
	display: flex;
	justify-content: space-between;
	list-style: none;
	padding: 0 clamp(0em, -3.6em + 6.4vw, 2em); /* 900 - 1400 */
	position: relative;
	z-index: 0;
}

.exam .progress ol::before {
	background: var(--light-grey-alt);
	content: '';
	height: .25em;
	left: 0;
	position: absolute;
	top: 1em;
	right: 0;
	z-index: -1;
}

.exam .progress ol li {
  counter-increment: ws-exam-counter;
	flex: 1;
	text-align: center;
}

.exam .progress ol li::before {
	align-items: center;
	aspect-ratio: 1;
	background: var(--ws-red);
	border: 3px solid var(--ws-red);
	border-radius: 50%;
	content: counter(ws-exam-counter);
	color: #FFF;
	display: flex;
	font-weight: 900;
	justify-content: center;
	margin: 0 auto .5em;
}

.exam .progress ol li>span {
	color: var(--ws-red);
	display: block;
	font-size: .75em;
	font-weight: 500;
	line-height: .83;
	text-transform: uppercase;
	white-space: nowrap;
}

.exam .progress ol li.current ~ li::before {
	background: #FFF;
	border-color: var(--light-grey-alt);
	color: rgba(105,105,105,.5);
}

.exam .progress ol li.current ~ li>span {
	color: rgba(105,105,105,.5);
}


/* Pass/fail results pages */

.exam.results .progress ol li::before {
	background: var(--blue);
	border-color: var(--blue);
}

.exam.results .progress ol li>span {
	color: var(--blue);
}

.exam.results .progress ol li:last-child::before {
	background: var(--ws-red);
	border-color: var(--ws-red);
}

.exam.results .progress ol li:last-child>span {
	color: var(--ws-red);
}




/* EXAM ( Questions ) ------------------------------ */

.exam .question {
	margin: 0 0 .5em;
	padding: 1.25em clamp(1em, 0.861em + 0.44vw, 1.25em); /* 500 - 1400 */
}

.exam fieldset {
	border: 0;
	margin: 0;
	padding: 0;
}

.exam fieldset legend {
	font-size: clamp(1.125em, 1.082em + 0.19vw, 1.25em);
	line-height: 1.2;
	margin: 0 0 1.25em;
	padding-left: 2.5rem;
	position: relative;
}

.exam fieldset legend::after {
	color: #FF0000;
	content: '*';
	position: relative;
	left: .25em;
}

.exam fieldset:nth-child(odd) legend {
	color: var(--blue);
}

.exam fieldset:nth-child(even) legend {
	color: var(--ws-dark);
}

.exam fieldset legend > span {
	display: block;
	left: -.25em;
	position: absolute;
	text-align: right;
	width: 1.5em;
}

.exam .custom-radio {
	border: 1px solid transparent;
	border-radius: 2em;
	margin: 0 0 1.25em;
}

.exam .custom-radio label {
	display: block;
	font-size: 1.0625em; /* 360 - 1400 */
	line-height: 1.2;
	padding-left: 4rem;
	position: relative;
}

.exam .custom-radio label::before {
	content: '';
	background: #FFF;
	border-radius: 50%;
	border: 1px solid #979797;
	height: 1.125rem;
	left: 2.375rem;
	position: absolute;
	top: 0.5625rem;
	transform: translateY(-50%);
	width: 1.125rem;
}


.exam .custom-radio label::after {
	background: transparent;
	border-radius: 50%;
	content: '';
	height: .5625rem;
	left: 2.6875rem;
	position: absolute;
	top: 0.5625rem;
	transform: translateY(-50%);
	width: .5625rem;
}

.exam .custom-radio input:focus + label::after,
.exam .custom-radio input:checked + label::after {
	background: var(--blue);
}

.exam .custom-radio input {
	opacity: 0;
	position: absolute;
}




/* Overrides for incorrect answers ------------------------------ */
.exam .question.incorrect {
  background: rgba(var(--ws-red-rgb), .07);
  border: 2px solid var(--ws-red);
  position: relative;
}



.exam .question.incorrect legend {
	color: var(--ws-red);
	position: relative;
}






/* EXAM ( Controls ) ------------------------------ */

.exam .controls {
	align-items: center;
	border-top: 2px solid var(--light-grey-alt);
	display: flex;
	justify-content: center;
	margin: 4em 0 0;
	padding-block: 2.25em clamp(0em, -1.154em + 2.46vw, 1em); /* 750 - 1400 */
	position: relative;
}

.exam .controls::before {
	background: #FFF url('/images/icons/star.svg') no-repeat center / auto 100%;
	content: '';
	height: 1.25em;
	left: 50%;
	position: absolute;
	top: 0;
	transform: translate(-50%,-50%);
	width: 2.375em;
}

.exam .controls a {
	color: var(--ws-dark);
	font-family: 'Roboto Slab', serif;
	font-weight: 700;
}

.exam .controls>div {
	flex: 1;
}


.exam .controls>div:nth-child(2) {
	text-align: center;
}

.exam .controls>div:last-child {
	text-align: right;
}

.exam .controls a.prev {
	margin-right: auto;
}

.exam .controls a.prev::before,
.exam .controls a.next::after {
	background: url('/images/icons/angle-right.svg') no-repeat center / contain;
	content: '';
	height: .875em;
	display: inline-block;
	line-height: 1;
	position: relative;
	top: .125em;
	width: 1.5em;
}

.exam .controls a.disable::before,
.exam .controls a.disable::after {
	background-image: url('/images/icons/angle-right-disable.svg');
}

.exam .controls a.prev::before {
	transform: scaleX(-1);
}

.exam .controls a.next {
	margin-left: auto;
}

.exam .controls a.disable {
	color: var(--grey);
	opacity: .5;
	pointer-events: none;
}

.exam .controls button {
	font-weight: 700;
}



/* EXAM RESULTS ( Score Box ) ------------------------------ */

.score-box {
	margin: clamp(2em, 0.889em + 3.56vw, 4em) 0 0; /* 500 - 1400 */
	padding: clamp(1.5em, 1.083em + 1.33vw, 2.25em); /* 500 - 1400 */
}

.score-box.pass {
	background: var(--ws-dark);
}

.score-box.fail {
	background: var(--ws-red);
}

.score-box h2 {
	font-family: 'Roboto', sans-serif;
	color: #FFF;
	font-size: clamp(1.375em, 0.75em + 2vw, 2.5em); /* 500 - 1400 */
	text-transform: uppercase;
}

.score-box h2>span {
	aspect-ratio: 1;
	background: no-repeat center / contain;
	display: inline-block;
	margin: 0 .125em 0 0;
	position: relative;
	top: .125em;
	width: 1em;
}

.score-box.pass h2>span {
	background-image: url('/images/icons/circle-check.svg');
}

.score-box.fail h2>span {
	background-image: url('/images/icons/circle-xmark.svg');
}

.score-box p.score {
	font-size: clamp(1.25em, 0.903em + 1.11vw, 1.875em); /* 500 - 1400 */
}

.score-box p {
	color: #FFF;
	font-size: clamp(1em, 0.861em + 0.44vw, 1.25em); /* 500 - 1400 */
}

.score-box .button {
	margin: 1em 0 0;
}



/* Score-box on exam page */
.score-box.white {
	margin: 3em 0 2em;
	padding: 0;
}

.score-box.white h2 {
	color: var(--ws-red);
	margin: 0 0 .125em;
	text-transform: none;
}

.score-box.white h2>span {
	background-image: url('/images/icons/circle-xmark-red.svg');
}

.score-box.white p {
	color: var(--grey);
}

.score-box.white p>u {
	color: var(--ws-red);
	font-weight: 700;
	text-decoration: underline;
}



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