/**
 * MHRD RecExcite public wrapper
 */


/* collapse spacing */
* {
	font-size: 0px;
}

html, body {
	-moz-scroll-behavior: smooth;
	scroll-behavior: smooth;
}

/* because IE */
* {
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
}

/* body */
body {
	margin: 0px;
	background-color: white;
}

/* unify header, main and footer */
header, main, footer {
	display: block;
	width: 95%;
	max-width: 1500px;
	margin: 25px auto 0px auto;

	font-size: 0px;
}

/* nav icons */
.nav-icon.fa {
	margin: 0px 0px 0px 20px;
	vertical-align: middle;

	font-size: 37px;
	color: #65778D;

	transition: all 0.25s ease .15s;

	cursor: pointer;
}
	/* no space after last icon in set */
	.nav-icon.fa:first-child {
		margin-left: 0px;
	}

	/* customize/unify visual sizes (font no-so-awesome) */
	.nav-icon.fa.fa-search {
		font-size: 34px;
		transform: scaleX(-1);
	}

	.nav-icon.fa.fa-twitter {
		font-size: 40px;
	}

	.nav-icon.fa.fa-envelope-open {
		font-size: 33px;
	}

	/* hover on nav icons */
	:not(.is-mobile) .fa.nav-icon:hover {
		color: #470A59;
		transition: all 0.1s ease 0s;
	}



/* links */
a {
	color: rgba(71,10,89,.75);
	text-decoration: none;
	cursor: pointer;
}
	/* hover on links */
	a[href]:not(.is-mobile):hover {
		color: rgba(71,10,89,1);
		text-shadow: 1px 1px 0px rgba(0,0,0,.2);
	}

	/* emphasized link */
	a.emphasize {
		display: inline-block;
		margin: auto 7px auto 7px;
		font-weight: bold;
		border-bottom: 1px dotted #46A645;
	}

.pdcfw-spiderSlayer {
	cursor: pointer;
}







	/* HEADER */
	header {
		font-family: 'DINCond';
	}

		/* all header children */
		header > * {
			vertical-align: bottom;
		}

		/* logo link and container */
		header > a#logo {
			display: block;

			border: none !important;
			text-decoration: none !important;
		}

		/* contact info in header */
		header > address {
			display: inline-block;
			float: right;

			text-align: right;
		}

			/* all line content items */
			header > address > div > data {
				display: inline-block;
			}

				/* first content item on lines */
				header > address > div > data:nth-of-type(1) {
					float: left;
				}

			/* top line (phone/email) */
			header > address > div:nth-of-type(1) {

			}

				/* top ine content item */
				header > address > div:nth-of-type(1) > data,
				header > address > div:nth-of-type(1) > data * {
					font-size: 35px;
					color: #334a68;
				}

				/* separator icon */
				header > address > div:nth-of-type(1) > img {
					display: inline-block;
					margin: 0px 25px 0px 25px;
					vertical-align: bottom;
				}

					/* email @ symbol */
					header > address > div:nth-of-type(1) > data > .pdcfw-spiderSlayer > .at {
						color: #3dc53e;
					}

					/* hover on email */
					header:not(.is-mobile) > address > div:nth-of-type(1) > data > .pdcfw-spiderSlayer:hover > * {
						color: #557bac;
					}
						header:not(.is-mobile) > address > div:nth-of-type(1) > data > .pdcfw-spiderSlayer:hover > .at {
							color: #3dc53e;
						}

			/* bottom line (fax/location) */
			header > address > div:nth-of-type(2) {

			}

				/* bottom line content item */
				header > address > div:nth-of-type(2) > data,
				header > address > div:nth-of-type(2) > data * {
					margin-top: 10px;
					font-size: 17px;
					color: rgba(0,0,0,.8);
				}

					/* fax */
					header > address > div:nth-of-type(2) > data:nth-of-type(1) {
						text-align: left;
						float: left;
					}

					/* separator icons */
					header > address > div:nth-of-type(2) > data > span.bullet {
						font-size: 16px;
						margin: 0px 1px 0px 1px;
					}

					/* location */
					header > address > div:nth-of-type(2) > data:nth-of-type(2) {
						text-align: right;
					}

		/* primary nav */
		header > nav.primary {
			display: inline-block;
			margin-top: 25px;

			text-align: left;
		}

			/* primary nav links */
			header > nav.primary > a {
				display: inline-block;
				padding: 0px 15px 10px 15px;
				margin: 0px 5px 0px 5px;

				font-size: 32px;
				color: #590A0A;
				border-bottom: 3px solid #299926;
				opacity: .85;
			}
				/* hover on primary nav links */
				header:not(.is-mobile) > nav.primary > a:hover {
					color: #470A59;
					border-bottom: 3px solid #470A59;
					opacity: 1;
				}

				/* no outer side margin on first and last nav links */
				header > nav.primary > a:first-of-type {
					margin-left: 0px;
				}
				header > nav.primary > a:last-of-type {
					margin-right: 0px;
				}

		/* search */
		header nav.search {
			display: inline-block;
			position: relative;
			width: 500px;
			margin-left: 10px;
			margin-right: 10px;
		}

			/* hide search on programs page */
			/* body[website-area="programs-list"] header nav.search {
				display: none !important;
				opacity: 0 !important;
				visibility: hidden !important;
				z-index: -999 !important;
			} */

			/* search input */
			header nav.search > input {
				position: relative;
				width: 100%;
				padding: 7px 30px 7px 15px;

				white-space: nowrap;
				text-overflow: ellipsis;
				border-bottom: 3px solid #299926;
			}

			header nav.search > input {
				font-family: DINCond;
				font-size: 32px;
			}

			header nav.search > input::placeholder,
			header nav.search > input::placeholder-shown {
				font-family: DINCond;
				color: rgba(0,0,0,.25);
			}

			/* disable native styling */
			header nav.search > input:focus {
				outline: none;
				-webkit-outline: none;
				border-bottom: 3px solid #470A59;
			}
			header nav.search > input::-webkit-search-cancel-button,
			header nav.search > input::-webkit-search-decoration,
			header nav.search > input::-webkit-search-cancel-button,
			header nav.search > input::-webkit-search-results-button,
			header nav.search > input::-webkit-search-results-decoration {
				-webkit-appearance: none;
				-moz-appearance: none;
				appearance: none;
				display: none;
				visibility: hidden;
				opacity: 0;
			}

			header nav.search > input::-ms-clear,
			header nav.search > input::-ms-reveal {
				display: none;
				visibility: hidden;
				opacity: 0;
			}
			header nav.search > input {
				-webkit-appearance: none;
				-moz-appearance: none;
				appearance: none;
			}

			/* search icon */
			header nav.search > .icon-exec {
				display: inline-block;
				position: absolute;
				margin-left: calc( 100% - 30px );
				margin-top: 21px;
				font-size: 20px;
				transform: scaleX(-1);
				z-index: 20;
			}

		/* icon nav */
		header > nav#icons {
			display: inline-block;
			float: right;
			margin-top: 25px;

			text-align: right;
		}

			/* trick icons into spacing properly */
			header > nav#icons > * {
				margin-bottom: 5px;
				border-bottom: 3px solid transparent;
			}

			/* dummy element for populating mailing list prompt tippy */
			div#mailinglist-tippy-content {
				display: none;
				visibility: hidden;
				opacity: 0;
				z-index: -999;
			}

			/* tippy container */
			[data-tippy-root].mailing-list > .tippy-box {
				background-color: rgb(66,83,103);
				border: 3px solid rgba(255,255,255,.35);
			}

				/* content container */
				[data-tippy-root].mailing-list > .tippy-box > .tippy-content {
					text-align: center;
				}
					[data-tippy-root].mailing-list > .tippy-box > .tippy-content > h5 {
						font-size: 30px;
						text-shadow: 1px 1px 0px black;
					}
					[data-tippy-root].mailing-list > .tippy-box > .tippy-content > p {
						display: inline-block;
						margin: 15px 0px 20px 0px;

						font-family: Lato;
						font-size: 16px;
						text-shadow: 1px 1px 0px rgba(0,0,0,.5);
					}

					[data-tippy-root].mailing-list > .tippy-box > .tippy-content > .buttons {
						margin-bottom: 20px;
					}

					[data-tippy-root].mailing-list > .tippy-box > .tippy-content > .buttons > button {
						display: inline-block;
						background: transparent;

						font-family: DINCond;
						font-size: 22px;
						color: rgba(255,255,255,.85);

						cursor: pointer;
						transition: all 0.15s ease 0s;
						border: 0px;
					}
						[data-tippy-root].mailing-list > .tippy-box > .tippy-content > .buttons > button:hover {
							color: white;
							text-shadow: 1px 1px 0px black;
						}
						[data-tippy-root].mailing-list > .tippy-box > .tippy-content > .buttons > button > .fa {
							margin-left: 5px;
						}

			/* pointer arrow */
			[data-tippy-root].mailing-list > .tippy-box > .tippy-arrow::before {
				border-bottom-color: rgb(66,83,103);
				top: -11px;
				left: -7px;
				border-width: 0 15px 15px;
			}







	/* MAIN */
	main {

	}

		/* alternate login links */
		header > nav#login-alt {
			display: none;
		}

		/* customer account controls */
		header > nav#RecExcite-account-controls {
			display: block;
		}

		/* customer account controls, alt login links */
		header > nav#RecExcite-account-controls,
		header > nav#login-alt {
			margin: 20px auto 20px auto;
			text-align: right;

			background-color: #D9F0D9;
			border: 1px solid #c8dac9;
			box-shadow: 1px 1px 3px rgba(0,0,0,.25);
		}

			/* header for account controls */
			header > nav#RecExcite-account-controls > h4 {
				display: inline-block;
				float: left;
				margin: 3px;

				font-family: DINCond;
				font-size: 29px;
				color: rgba(40,150,40,.65);
				text-shadow: 1px 1px 0px white;
			}

			/* customer account links, alt login links */
			header > nav#RecExcite-account-controls > a,
			header > nav#login-alt > a {
				display: inline-block;
				padding: 10px 20px 10px 20px;

				font-family: Lato;
				font-size: 16px;
				background-color: #D9F0D9;
			}

				/* hover on customer account link */
				header:not(.is-mobile) > nav#RecExcite-account-controls > a:hover,
				header > nav#RecExcite-account-controls > a:active,
				/* alt login link */
				header:not(.is-mobile) > nav#login-alt > a:hover,
				header > nav#login-alt > a:active {
					background-color: #65778D;
					color: white;
					text-shadow: 1px 1px 0px black;
				}

				/* alternate login links */
				header > nav#login-alt > a {
					width: 50%;
					text-align: center;
				}

		/* sidebar */
		main > nav#sidebar {
			display: inline-block;
			width: 27%;
			min-height: 275px;
			/* margin-bottom: 25px; */

			text-align: center;
			font-family: Lato;

			background-color: white;
			border: 1px solid #c8dac9;
			box-shadow: 1px 1px 3px rgba(0,0,0,.25);

			transition: max-height 0.75s linear 0s, width 0.25s ease 0s, margin-top .35s ease 0s;

			float: left;
		}

			/* taller sidebar on homepage */
			main[designation="homepage"] > nav#sidebar {
				height: 375px;
				min-height: 375px;
				/* float: none; */
			}

			/* sidebar title */
			main > nav#sidebar > h2 {
				display: block;
				padding: 12px;

				text-align: left;
				color: #299926;
				font-size: 25px;

				background-color: #d9f0d9;
			}

			/* sidebar items container */
			main > nav#sidebar > ul {
				min-height: 189px;
				overflow: hidden;
			}

				/* taller sidebar on homepage */
				main[designation="homepage"] > nav#sidebar > ul {
					height: 289px;
				}

				/* sidebar item */
				main > nav#sidebar > ul > li {
					height: 58px;
				}

					/* less height for one-line entries */
					main > nav#sidebar > ul > li.oneline {
						height: 35px;
					}

					/* sidebar item link */
					main > nav#sidebar > ul > li > a {
						display: block;
						padding: 10px;

						text-align: left;
						text-shadow: none !important;
						border-bottom: 1px solid #c8dac9;
					}

						/* one-line item */
						main > nav#sidebar > ul > li.oneline > a {
							padding: 7px;
						}

						/* sidebar item on hover */
						main:not(.is-mobile) > nav#sidebar > ul > li > a:hover {
							background-color: #fbf2ff;
						}

							/* sidebar item content container */
							main > nav#sidebar > ul > li > a > div {
								display: inline-block;
								width: 100%;
							}

							/* when on page */
							main > nav#sidebar > ul > li.onpage > a {
								font-weight: bold;
								background-color: #F3D9FF;
							}

							/* sidebar item arrow icon */
							main > nav#sidebar > ul > li > a > div:before {
								/* fa-chevron-right */
								font-family: 'FontAwesome';
								content: "\f054";

								float: right;
								position: relative;
								margin-top: 10px;

								color: #8aa3c7;
								font-size: 20px;
								vertical-align: middle;
							}

								/* sidebar item arrow icon on hover */
								main:not(.is-mobile) > nav#sidebar > ul > li > a:hover > div:before {
									color: #3b64a1;
								}

								/* sidebar item arrow icon for one-line items */
								main > nav#sidebar > ul > li.oneline > a > div:before {
									margin: 2px 4px -2px 0px;
								}

							/* sidebar item name */
							main > nav#sidebar > ul > li > a > div > name {
								display: block;

								font-size: 16px;
								color: rgba(0,0,0,.8);
								line-height: 1.1;

								white-space: nowrap;
								overflow-x: hidden;
								overflow-y: hidden;
								text-overflow: ellipsis;
							}

								/* "external link" icon */
								main > nav#sidebar > ul > li > a > div > name > .fa.offsite {
									color: #59CE56;
									margin-left: 10px;
									vertical-align: middle;
									font-size: 14px;
								}

							/* sidebar item data type: date */
							main > nav#sidebar > ul > li > a > div > data {
								display: inline-block;
								margin-top: 5px;
								padding-left: 3px;

								color: #299926;
								font-size: 15px;
								font-weight: bold;
							}

								/* sidebar item icon */
								main > nav#sidebar > ul > li > a > div > data:before {
									display: inline-block;
									margin-right: 3px;
									vertical-align: bottom;

									/* fa-calendar-o */
									font-family: 'FontAwesome';

									opacity: .65;
								}
									/* date icon */
									main > nav#sidebar > ul > li > a > div > data.date:before {
										content: "\f133";
										font-size: 15px;
									}

									/* pdf icon */
									main > nav#sidebar > ul > li > a > div > data.file.file-pdf:before {
										content: "\f1c1";
										font-size: 15px;
									}

									/* other file icon */
									main > nav#sidebar > ul > li > a > div > data.file.file-other:before {
										content: "\f0f6";
										font-size: 15px;
									}

			/* "more" link */
			main > nav#sidebar > a {
				display: inline-block;

				font-size: 18px;
				font-weight: bold;
			}

			/* default expand/collapse button styling */
			main > nav#sidebar > button#sidebar-toggle {
				display: none;
				width: 100%;
				height: 35px;

				text-align: center;
				font-family: DINCond;
				font-size: 25px;
				color: #299926;
				background-color: #d9f0d9;

				border: 0px;
			}
				/* hover */
				main > nav#sidebar > button#sidebar-toggle:not(.is-mobile):hover {
					color: #248521;
					background-color: #90D390;

					cursor: pointer;
				}

		/* banner */
		main div#banner,
		main > .bx-wrapper {
			display: block;
			width: 71%;
			height: 295px;
			margin: 0px 0px 0px auto;

			vertical-align: top;
			font-family: Lato;
			text-shadow: none !important;

			box-shadow: 1px 1px 3px rgba(0,0,0,.25);

			background-size: cover;
			/* background-position: 0px -100px; */

			cursor: pointer;

			transition: all 0.25s ease 0s;
		}

		/* bugfix for bxslider */
		/* https://stackoverflow.com/questions/18373143/bxslider-displayes-last-slide-as-first-slide */
		.bx-viewport li { min-height: 1px; min-width: 1px; }
		.bx-wrapper img {
		    max-width: 100%;
		    display: inline-block;
		}
		.bx-viewport li {
		    min-height: 1px;
		    min-width: 1px;
		}
		.bx-clone{
		   display: none !important;
		}

			/* taller banner on homepage */
			main[designation="homepage"] > .bx-wrapper,
			main[designation="homepage"] div#banner {
				height: 375px;
				border: 0px !important;
			}

			/* bxslider slide */
			main[designation="homepage"] > .bx-wrapper .slide {
				background-size: cover;
				overflow: hidden;
				height: 375px;
				cursor: default;
			}

			/* banner when filling width */
			main > div#banner.full {
				width: 100%;
				float: none;
				opacity: 1;
			}

			/* header in banner */
			main div#banner a.primary {
				float: right;
				margin: 165px 20px 0px 0px;
				height: 90px;

				display: block;
				width: 300px;
				padding: 10px;

				background-color: white;
				box-shadow: 1px 1px 3px rgba(0,0,0,.35);
				opacity: .9;

				/* subtitle styling */
				font-size: 16px;

				transition: all 0.25s ease 0s;
			}

				/* link adjustments for bxslider */
				/* main[designation="homepage"] .bx-wrapper .slide > a.primary {
					float: none;
					position: absolute;
					margin: 265px 20px 0px 745px !important;
					z-index: 10;
				} */

				/* taller banner on homepage */
				main[designation="homepage"] #banner a.primary {
					margin-top: 265px;
				}

				/* main header title */
				main div#banner a.primary > label {
					display: block;
					margin-bottom: 10px;

					font-size: 22px;
					color: #299926;

					cursor: pointer;
				}



				/* header when hovering linked banner */
				/* main:not(.is-mobile) > a#banner[href]:hover > a {
					opacity: 1;
				}
				main > .bx-wrapper > div#slideshow > .slide > a:hover {
					opacity: 1;
				} */



	/* FOOTER */
	footer {
		padding-top: 25px;
		margin-bottom: 25px !important;

		text-align: center;
		font-family: Lato;

		/* push past floated elements in main/content */
		clear: both;
	}

		/* nav boxes in footer */
		footer > nav#boxes {
			display: block;
			vertical-align: top;
		}

			/* nav box */
			footer > nav#boxes > a {
				display: inline-block;
				position: relative;
				width: 24%;
				vertical-align: top;

				margin-right: 1.3%;

				opacity: .9;
				transition: all 0.25s ease .15s;
			}

				/* force last box to the right */
				footer > nav#boxes > a:last-of-type {
					float: right;
					margin-right: 0px;
				}

				/* hover on nav box */
				footer:not(.is-mobile) > nav#boxes > a:hover {
					opacity: 1;
					transition: all 0.1s ease 0s;
				}

				/* text label */
				footer > nav#boxes > a > label {
					display: block;
					margin-bottom: 15px;
					text-align: center;

					font-family: Lato;
					font-size: 21px;
					font-weight: bold;

					/* color: #3B64A1; */
				}
					/* text label when box hovered */
					footer:not(.is-mobile) > nav#boxes > a:hover > label {
						/* color: #203656; */
						cursor: pointer;
					}

				/* box graphic container */
				footer > nav#boxes > a > div {
					width: 100%;
					height: 165px;
					overflow: hidden;
					vertical-align: top;

					box-shadow: 1px 1px 3px rgba(0,0,0,.25);
				}

					/* box graphic container when box hovered */
					footer:not(.is-mobile) > nav#boxes > a:hover > div {
						box-shadow: 1px 1px 3px rgba(0,0,0,.35);
					}

					/* box graphic */
					footer > nav#boxes > a > div > img {
						position: relative;
						width: 100%;
						height: auto;
					}

						/* box graphic when nav box hovered */
						footer:not(.is-mobile) > nav#boxes > a:hover > img {
							filter: contrast(1.25);
						}


		/* bottom nav box in footer */
		footer > div#bottom-nav {
			display: block;
			margin-top: 35px;
			margin-bottom: 25px;
			padding: 15px;

			text-align: left;

			background-color: white;
			border: 1px solid #c8dac9;
			box-shadow: 1px 1px 3px rgba(0,0,0,.25);
		}

			/* CMS nav section header */
			footer > div#bottom-nav > nav > section > h4 {
				display: block;
				padding-bottom: 7px;
				margin-bottom: 7px;

				font-size: 15px;
				color: black;
				font-weight: bold;

				border-bottom: 1px solid #b7dbb7;
			}

			/* CMS nav link sections */
			footer > div#bottom-nav > nav#cms {
				display: inline-block;
				position: relative;
				width: calc( 100% - 375px );
				vertical-align: top;
			}

				/* CMS nav link section */
				footer > div#bottom-nav > nav#cms > section {
					display: inline-block;
					width: auto;
					/* min-width: 135px; */
					min-height: 165px;
					margin-right: 10px;
					vertical-align: top;
				}

					/* links list */
					footer > div#bottom-nav > nav#cms > section > ul {

					}

						/* link list item */
						footer > div#bottom-nav > nav#cms > section > ul > li {
							display: inline-block;
							margin-right: 20px;
						}

							/* link */
							footer > div#bottom-nav > nav#cms > section > ul > li > a {
								font-size: 13px;
								/* color: #3b64a1; */
								line-height: 1.5;
							}

								/* link */
								footer:not(.is-mobile) > div#bottom-nav > nav#cms > section > ul > li > a:hover {
									/* color: #3b64a1; */
								}

			/* footer nav icons */
			footer > div#bottom-nav > nav#connect {
				display: inline-block;
				position: relative;
				width: 375px;
				text-align: right;
			}

				/* footer nav icon */
				footer > div#bottom-nav > nav#connect > section > .fa {
					width: 33px;
					text-align: center;
				}

			/* login */
			footer > #bottom-nav > a#login {
				display: inline-block;
				float: right;
				margin: -2px -10px 0px 0px;

				font-family: Lato;
				font-size: 13px;
				color: rgba(0,0,0,.25) !important;
				text-shadow: none !important;
			}

		/* pdc */
		footer > a#pdc {
			display: inline-block;

			font-family: Cityof, 'cityofregular', Open Sans;
			font-size: 14px;
			color: rgba(0,0,0,.2) !important;
			text-shadow: none !important;

			text-transform: uppercase;
		}
