/**
 * Responsive for MHRD RecExcite public wrapper
 */


/* everything */
* {

	/* iPhones suck */
	-webkit-text-size-adjust: 100%;
}

/* hide desktop elements on mobile, hide mobile elements on desktop */
.is-mobile.no-mobile, .mobile-only:not(.is-mobile),
.is-mobile .no-mobile, :not(.is-mobile) .mobile-only,

/* elements only for mobile phone */
.is-mobile.is-mobile-phone.mobile-tablet-only,
.is-mobile.is-mobile-phone .mobile-tablet-only,

/* , elements only for mobile tablet */
.is-mobile.is-mobile-tablet.mobile-phone-only,
.is-mobile.is-mobile-tablet .mobile-phone-only {

	display: none !important;
	opacity: 0 !important;
	z-index: -999 !important;
}

/* never display on mobile in portrait/vertical mode */
@media (orientation: portrait) {
	.mobile-only-horizontal, .mobile-only-landscape, .mobile-tablet-only-horizontal, .mobile-tablet-only-landscape {
		display: none !important;
		opacity: 0 !important;
		width: 0px !important;
		height: 0px !important;
		z-index: -999 !important;
	}
}

/* never display on mobile in landscape/horizontal mode */
@media (orientation: landscape) {
	.mobile-only-vertical, .mobile-only-portrait, .mobile-tablet-only-vertical, .mobile-tablet-only-portrait {
		display: none !important;
		opacity: 0 !important;
		width: 0px !important;
		height: 0px !important;
		z-index: -999 !important;
	}
}

/* remove border radius on iOS text inputs */
.is-mobile-os-ios input {
	border-radius: 0px !important;
	/* border: 0px !important; */
}

@media screen and (max-width: 1400px) {

}


@media screen and (min-width: 1201px) {

	/* hide footer fax/address by default */
	footer > div#bottom-nav > nav#connect > section > address {
		display: none;
	}

	/* search for micro-programs */
	main > .content#RecExcite-program-list.micro-programs > nav > #search {
		float: right;
	}



	/* SELECTIVE WIDE/NARROW CONTENT */

	/* hide narrow-view <aside> at bottom */
	.screen-narrow {
		display: none !important;
	}
}

@media screen and (max-width: 1580px) {

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





/* SELECTIVE WIDE/NARROW CONTENT */

@media screen and (min-width: 1401px) {

}

@media screen and (max-width: 1400px) {

	header > nav#icons {
		float: none;
		margin: 25px 0px 0px 0px;
		right: 25px;
		position: absolute;
	}

	/* hide wide-view <aside> */
	.screen-wide {
		display: none !important;
	}

	/* hide narrow-view <aside> at bottom */
	.screen-narrow {
		display: block !important;
		float: none;
	}
}

@media screen and (max-width: 1200px) {

	/* HEADER */

	/* primary blocks */

	header, main, footer {
		max-width: auto;
		margin: 15px auto 0px auto;
	}

		header {
			width: 95%;
		}

		main, footer {
			width: 95%;
		}

		footer {
			/* margin-top: 35px; */
		}



	/* search in template wrapper */
	header nav.search {
		width: calc( 100% - 600px );
	}

	/* customer account controls, alt login links */
	header > nav#RecExcite-account-controls,
	header > nav#login-alt {
		width: 97%;
		margin: 25px auto 35px auto;
	}



	/* MAIN */

	/* page title */
	main > h1 {
		margin-top: 30px;
		text-align: center !important;
	}

	/* main headers */
	main > .content > h3 {
		font-size: 28px !important;
	}



	/* PROGRAMS LIST */

	/* display mode */
	main > .content#RecExcite-program-list > nav > #display {
		display: none;
	}

	/* search */
	main > .content#RecExcite-program-list > nav > #search {
		float: right;
		margin: 6px 0px 0px 25px;
	}



	/* PHOTOS CONTAINER */

	/* photos container */
	.screen-narrow > section.RecExcite-pub-gallery {
		/* width: calc( 100% - 20px ); */
	}

		/* photos container for program/micro-program intro blocks */
		.screen-narrow.intro > section.RecExcite-pub-gallery {
			text-align: center;
		}

		/* photo container */
		.screen-narrow > section.RecExcite-pub-gallery > a {
			width: calc( 20% - 10px );
			height: 135px;
			margin-right: 10px;
		}
			/* every 5th photo container */
			.screen-narrow > section.RecExcite-pub-gallery > a:nth-of-type(5n) {
				margin-right: 0px;
				width: 20%;
			}



	/* CONTENT TABLES */
	main > div.content table tr > td {
		white-space: normal;
	}



	/* PROGRAMS DETAILS */

	/* class name */
	main > .content#RecExcite-program-details > h4 {
		font-size: 28px;
	}

	/* content section header */
	main > .content#RecExcite-program-details section > h5 {
		font-size: 28px;
	}

	/* main registration link */
	main > .content#RecExcite-program-details > a.register.button {
		margin: auto auto 0px 15px;
	}

	/* content section */
	main > .content#RecExcite-program-details section {
		margin: 0px 10px 45px 10px;
	}

		/* categories */
		main > .content#RecExcite-program-details section#ProgramDisplayCategories {
			text-align: center;
		}

			/* instructor bios */
			main > .content#RecExcite-program-details section.Contacts_Instructor {
				width: calc( 100% - 20px );
			}

		/* schedule / ProgramBookings */
		main > .content#RecExcite-program-details section#schedule #ProgramBookings {
			width: 100%;
		}

			/* booking entry */
			main > .content#RecExcite-program-details section#schedule #ProgramBookings > div {
				display: inline-block;
				width: 425px;
			}

				/* booking entry data containers */
				main > .content#RecExcite-program-details section#schedule #ProgramBookings > div > data,
				main > .content#RecExcite-program-details section#schedule #ProgramBookings > div > data * {
					font-size: 18px !important;
				}

				/* date */
				main > .content#RecExcite-program-details section#schedule #ProgramBookings > div > .date {
					width: 230px;
				}

				/* time */
				main > .content#RecExcite-program-details section#schedule #ProgramBookings > div > .time {
					width: 195px;
				}

		/* registration rates */
		main > .content#RecExcite-program-details section#rates-payments ul#ProgramRegistrationRates {
			width: 80%;
		}

			/* rate name */
			main > .content#RecExcite-program-details section#rates-payments ul#ProgramRegistrationRates > li > label {
				font-size: 18px;
			}

			/* rate amounts */
			main > .content#RecExcite-program-details section#rates-payments ul#ProgramRegistrationRates > li > data {
				font-size: 20px;
			}



	/* FORMS */

	/* field input container */
	main > form.content section > span {
		width: 70%;
	}

	/* form labels */
	main > form.content section > label {
		font-size: 18px;
	}

	/* form text inputs */
	main > form.content section > span > input:not([type="checkbox"]):not([type="radio"]) {
		font-size: 18px;
	}

	/* radios/checks */
	main > form.content section > label.check > input[type="checkbox"],
	main > form.content section > label.check > input[type="radio"] {
		margin: 2px 10px 0px 5px;
		vertical-align: top;
		transform: scale(1.5);
	}



	/* PHOTOS BLOCK */

	/* description and gallery */
	main > .content aside.screen-wide {
		display: none;
	}



	/* REGISTRATION FORM */

	/* form */
	main > form.content#RecExcite-program-register {
		display: block;
		position: relative;
		width: 100%;
	}
		/* flexrow */
		main > form.content#RecExcite-program-register > div {
			margin-left: auto;
			margin-right: auto;
			width: 90%;
		}

		/* form sections */
		main > form.content#RecExcite-program-register section {
			display: block;
			width: 100%;
		}



	/* ACCOUNT FORM */

	/* section */
	main > form.content#RecExcite-customer section {
		width: 100%;
	}

		/* field label */
		main > form.content#RecExcite-customer section > label {
			width: calc( 35% - 10px );
		}

		/* field input container */
		main > form.content#RecExcite-customer section > span {
			width: 65%;
		}



	/* PASSWORD RESET FORMS */

	main > form.content#RecExcite-password-reset-begin section,
	main > form.content#RecExcite-password-reset-complete section {
		width: 85%;
	}




	/* CUSTOMER REGISTRATIONS LIST */

	/* morph table content into inline-blocks */
	div.content#RecExcite-customer-registrations-list > table,
	div.content#RecExcite-customer-registrations-list > table > tbody,
	div.content#RecExcite-customer-registrations-list > table > tbody > tr {
		display: block;
		width: 100%;
	}

		div.content#RecExcite-customer-registrations-list > table tr:not(.SessionName) {
			margin-bottom: 35px;
			box-shadow: 1px 1px 3px rgba(0,0,0,.25);
		}

		/* force block display for variable-height cells */
		div.content#RecExcite-customer-registrations-list > table tr > td.program,
		div.content#RecExcite-customer-registrations-list > table tr > td.payments,
		div.content#RecExcite-customer-registrations-list > table tr > td.refunds,
		div.content#RecExcite-customer-registrations-list > table tr > td.options {
			display: block;
			width: 100%;
			height: auto
		}

		/* known static height cells */
		div.content#RecExcite-customer-registrations-list > table tr > td {
			display: inline-block;
			width: 25%;
			height: 100px;
			vertical-align: top;
		}

		/* common formatting for cells and sub-elements */
		div.content#RecExcite-customer-registrations-list > table tr > td,
		div.content#RecExcite-customer-registrations-list > table tr > td *:not(.fa) {
			font-size: 16px;
		}

			/* program cell */
			div.content#RecExcite-customer-registrations-list > table tr > td.program {
				background-color: #DADFE4;
			}

				/* emphasize program */
				div.content#RecExcite-customer-registrations-list > table tr > td.program > name {
					font-size: 20px;
					text-shadow: 1px 1px 0px white;
				}

			/* remove border from last cell */
			div.content#RecExcite-customer-registrations-list > table tr > td:last-of-type {
				border-bottom: none;
			}


		/* hide headers */
		div.content#RecExcite-customer-registrations-list > table tr.fields {
			display: none;
		}

			/* show labels */
			div.content#RecExcite-customer-registrations-list > table tr > td > label {
				display: block;
				padding: 3px 3px 3px 10px;
				margin: -10px -10px 5px -10px;

				font-family: Lato;
				font-size: 12px;
				color: white;
				font-weight: bold;
				text-shadow: 1px 1px 0px rgba(0,0,0,.5);

				white-space: nowrap;

				background-color: #9FABB9;
			}

				/* hide program label */
				div.content#RecExcite-customer-registrations-list > table tr > td.program > label {
					display: none;
				}





	/* FOOTER */

	/* adjust height box graphic container */
	footer > nav#boxes > a > div {
		height: 135px;
	}

	/* display one CMS nav section per line */
	footer > div#bottom-nav > nav#cms > section {
		height: auto;
		padding-bottom: 35px;
	}

		/* enlarge font size on CMS nav for smaller screens */
		footer > div#bottom-nav > nav#cms > section > h4 {
			font-size: 21px;
		}
			footer > div#bottom-nav > nav#cms > section > ul > li > a {
				font-size: 20px;
				line-height: 1.75;
			}

}



@media screen and (max-width: 925px) {

	/* HEADER */

	header > nav.search {
		display: block;
		width: 100%;
		margin: 0px;
	}



	/* CONTENT WRAPPER */

	/* content when sidebar present */
	main.has-sidebar > .content {
		width: 63%;
		margin: 0px 0px 0px auto;
	}

		/* main headers */
		main > .content > h3 {
			font-size: 25px !important;
		}



	/* PHOTOS BLOCK */

	/* photo container */
	.screen-narrow > section.RecExcite-pub-gallery > a {
		height: 100px;
	}



	/* PROGRAMS DETAILS */

	/* summary data for category icons */
	main > .content > h3 > data.ProgramDisplayCategories {
		display: none;
	}

	/* class name */
	main > .content#RecExcite-program-details > h4 {
		font-size: 23px;
	}

		/* content section header */
		main > .content#RecExcite-program-details section > h5 {
			font-size: 23px;
		}

		/* schedule / ProgramBookings */
		main > .content#RecExcite-program-details section#schedule #ProgramBookings {
			margin-left: 0px;
			width: 100%;
		}

			/* registration rates */
			main > .content#RecExcite-program-details section#rates-payments ul#ProgramRegistrationRates {
				width: 100%;
			}





	/* FOOTER */

	/* adjust height box graphic container */
	footer > nav#boxes > a > div {
		height: 125px;
	}


	/* HEADER */

	/* primary nav fills screen */
	header > nav.primary {
		text-align: center;
	}

	/* adjust address positioning */
	header > address {
		margin-top: 7px;
		text-align: right;
	}

		/* place phone/email on their own lines, adjust font size */
		header > address > div:nth-of-type(1) > data {
			display: block;
			width: 100%;
			text-align: right;
			font-size: 32px;
		}
			header > address > div:nth-of-type(1) > data * {
				font-size: 32px;
			}

		/*  hide address separator icon */
		header > address > div:nth-of-type(1) > img {
			display: none;
		}

		/* hide address bottom line (fax/location) */
		header > address > div:nth-of-type(2) {
			display: none;
		}

		/* top nav icons */
		header > nav#icons {
			/* display: none; */
		}

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



	/* CUSTOMER ACCOUNT CONTROLS */

	/* customer account controls */
	header > nav#RecExcite-account-controls {
		display: block;
		text-align: center;
		background-color: #D9F0D9;
	}

		/* header for account controls */
		header > nav#RecExcite-account-controls > h4 {
			display: none;
		}



	/* PASSWORD RESET FORMS */

	main > form.content#RecExcite-password-reset-begin section,
	main > form.content#RecExcite-password-reset-complete section {
		width: 100%;
	}



	/* MAIN */

	/* page title */
	main > h1 {
		font-size: 30px !important;
	}


	/* SIDEBAR/BANNER */

	/* sidebar on its own line, auto height */
	main > nav#sidebar {
		display: block;
		width: 100%;
		margin-top: 0px !important; /* override dynamic positioning */
		margin-bottom: 35px;

		clear: none;
		float: none;
	}

		/* auto-height on homepage (custom loader controller specifies items limit) */
		main[designation="homepage"] > nav#sidebar,
		main[designation="homepage"] > nav#sidebar > ul {
			height: auto;
			min-height: 0px;
		}

		/* reduce height on not-homepage */
		main:not([designation="homepage"]) > nav#sidebar {
			height: auto;
			max-height: auto;
			min-height: 0px;
		}

			/* reduce height on not-homepage */
			main:not([designation="homepage"]) > nav#sidebar > ul {
				height: auto;
				max-height: auto;
				min-height: 0px;
			}

		/* expanded */
		main:not([designation="homepage"]) > nav#sidebar.expanded,
		main:not([designation="homepage"]) > nav#sidebar.expanded > ul {
			max-height: 9999px;
			height: auto;
		}
			/* only display selected item on collapsed sidebar when page selected */
			main:not([designation="homepage"]) > nav#sidebar.page-selected:not(.expanded) > ul > li:not(.onpage) {
				display: none;
			}

			/* only display first item on collapsed sidebar when no page selected */
			main:not([designation="homepage"]) > nav#sidebar:not(.page-selected):not(.expanded) > ul > li:not(:nth-of-type(-n+2)) {
				display: none;
			}

		/* add padding for "more" links */
		main > nav#sidebar > a {
			padding: 10px;
		}

		/* show expansion toggle button (never on homepage) */
		main:not([designation="homepage"]) > nav#sidebar > button#sidebar-toggle {
			display: block;
		}

	/* banner on its own line */
	main > #banner,
	main > .bx-wrapper {
		display: block;
		width: 100% !important;
		margin-bottom: 10px;
	}
		/* adjust height on not-homepage */
		main:not([designation="homepage"]) > #banner {
			height: 120px;
			background-position: 0px -125px;
		}

		/* adjust top offset header in banner */
		main:not([designation="homepage"]) > #banner > h3 {
			margin: 15px;
		}



	/* CONTENT WRAPPER */

	/* content when sidebar present */
	main.has-sidebar > .content {
		width: 100%;
		margin: 0px;
	}



	/* PROGRAMS LIST */

	/* view mode */
	main > .content#RecExcite-program-list > nav > #view {
		display: block;
		text-align: center;
	}

	/* search */
	main > .content#RecExcite-program-list > nav > #search {
		float: none;
		display: block;
		text-align: center;
		margin: 15px 0px 35px 0px;
	}

		/* search input */
		main > .content#RecExcite-program-list > nav > #search > input {
			font-size: 20px;
			width: calc( 95% - 65px );
		}

			/* search icons */
			main > .content#RecExcite-program-list > nav > #search > nav {
				position: absolute;
				float: none;
				width: 70px;
				margin: 5px 0px 0px calc( 100% - 125px );
				text-align: right;
			}
				/* cancel */
				main > .content#RecExcite-program-list > nav > #search > nav >.fa.icon-cancel {
					margin-left: 10px;
					font-size: 22px;
				}

				/* search icon */
				main > .content#RecExcite-program-list > nav > #search > nav > .fa.icon-exec {
					margin-left: 10px;
					margin-top: -1px;
					font-size: 21px;
				}


	/* change display of categories */
	main > .content#RecExcite-program-list > section > div > a > .details > .ProgramDisplayCategories > ul > li {
		margin-top: 0px !important;
	}

		/* hide category names */
		main > .content#RecExcite-program-list > section > div > a > .details > .ProgramDisplayCategories name {
			display: none;
		}




	/* PROGRAMS DETAILS */

	/* main header */
	main > .content > h3 {
		margin-top: 35px;
	}

		/* session name in header */
		main > .content > h3 > data.SessionName {
			float: none;
			display: block;
			position: absolute;
			margin: -40px 0px 0px -10px !important;
			padding: 5px;
			height: 30px;

			text-align: left;
			background-color: #B4E2B4;
			width: 100%;
		}



	/* MICRO-PROGRAMS LIST */

	/* picture container */
	main > .content#RecExcite-program-list.micro-programs > section > div.Programs > a > .details > .RecExcite-pub-gallery {
		width: 45%;
		height: 250px !important;
		margin: 4px 4px 20px 20px;
	}


	/* FORMS GENERAL */

	/* minimize "required" field indicator */
	main > form.content section > label.required::after {
		content: '*';

		padding: 0px;
		border: 0px;

		font-size: 20px;

		background: transparent;
	}



	/* REGISTRATION FORM */

	/* form */
	main > form.content#RecExcite-program-register > div {
		width: 100%;
	}

	/* form sections */
	main > form.content#RecExcite-program-register section {
		width: 100%;
	}

		/* field label */
		main > form.content section > label {
			width: calc( 35% - 10px );
		}

		/* field input container */
		main > form.content section > span {
			width: 65%;
		}

			/* control icon */
			main > form.content > .flexrows-ProgramRegistrations-row > .flexrows-ProgramRegistrations-ctrls > .fa {
				margin: 0px 10px 25px 10px;
			}




	/* FOOTER */

	/* adjust font size box text label */
	footer > nav#boxes > a > label {
		font-size: 18px;
		margin-bottom: 5px;
	}

	/* adjust height box graphic container */
	footer > nav#boxes > a > div {
		height: 100px;
	}

	/* place footer nav icons on their own line */
	footer > div#bottom-nav > nav#connect {
		display: block;
		width: 100%;
		text-align: left;
	}

		/* adjust icon margins */
		footer > div#bottom-nav > nav#connect > section > .fa {
			margin: 5px 15px 5px 0px;
		}

	/* CMS nav fills width */
	footer > div#bottom-nav > nav#cms {
		display: block;
		width: 100%;
	}

		/* display one CMS nav section per line */
		footer > div#bottom-nav > nav#cms > section {
			display: block;
			width: 100%;
			height: auto;
			padding-bottom: 35px;
		}

	/* show fax/address in footer */
	footer > div#bottom-nav > nav#connect > section > address {
		display: inline-block;
		float: right;

		text-align: right;
		font-family: 'DINCond';
	}
		/* address contact line */
		footer > div#bottom-nav > nav#connect > section > address > data {
			display: block;
			margin-top: 5px;
			font-size: 18px;
			color: #7f7f7f;
		}

			/* location address */
			footer > div#bottom-nav > nav#connect > section > address > data > span {
				font-size: 18px;
			}

			/* location address segment bullet */
			footer > div#bottom-nav > nav#connect > section > address > data > span.bullet {
				font-size: 14px;
				margin: 0px 1px 0px 1px;
			}
}





@media screen and (max-width: 700px) {

	/* HEADER */

	/* adjust height on not-homepage */
	main:not([designation="homepage"]) > #banner {
		height: 120px;
		background-position: 0px -50px;
	}


	/* MAIN */



	/* CUSTOMER ACCOUNT CONTROLS */

	/* customer account links */
	header > nav#RecExcite-account-controls > a,
	header > nav#login-alt > a {
		font-size: 13px;
		font-weight: bold;
	}



	/* PROGRAMS LIST */

	/* program section headers */
	main > .content#RecExcite-program-list > section > h3 {
		font-size: 20px;
	}

		/* program section headers */
		main > .content#RecExcite-program-list > section > h3 > data {
			display: none;
		}

		/* categories list container */
		main > .content#RecExcite-program-list > section > div > a > .details > .ProgramDisplayCategories {
			margin-bottom: 0px !important;
		}

			/* categories */
			main > .content#RecExcite-program-list > section > div > a > .details > .ProgramDisplayCategories > ul > li {
				display: inline-block !important;
				margin: 5px !important;
			}

				/* category names */
				main > .content#RecExcite-program-list > section > div > a > .details > .ProgramDisplayCategories name {
					display: none !important;
				}



	/* PROGRAMS DETAILS */

	/* photo container */
	.screen-narrow > section.RecExcite-pub-gallery > a {
		height: 75px;
	}

	/* schedule / ProgramBookings */
	main > .content#RecExcite-program-details section#schedule #ProgramBookings {
		column-count: 1;
		-moz-column-count: 1;
	}




	/* FOOTER */

	/* adjust font size box text label */
	footer > nav#boxes > a > label {
		font-size: 16px;
	}

	/* adjust height box graphic container */
	footer > nav#boxes > a > div {
		height: 85px;
	}

}


@media screen and (max-width: 640px) {

	/* HEADER */

	/* only show minimal icon set */
	header > nav#icons > *:not(.nav-icon-search):not(.nav-icon-login):not(.nav-icon-mailinglist):not([data-tippy-root]) {
		display: none;
	}

	header > nav.search {
		display: block;
		width: 100%;
		margin: 0px;
	}


	/* CUSTOMER ACCOUNT CONTROLS */

	/* customer account links */
	header > nav#RecExcite-account-controls > a:first-of-type {
		display: block;
	}
		header > nav#RecExcite-account-controls > a:not(:first-of-type) {
			border-top: 1px solid white;
		}

		/* customer account links */
		header > nav#RecExcite-account-controls > a:nth-of-type(2),
		header > nav#RecExcite-account-controls > a:nth-of-type(3) {
			width: 33%;
		}
		/* customer account links */
		header > nav#RecExcite-account-controls > a:last-of-type {
			width: 34%;
		}



	/* CONTENT TABLES */

	/* flow tables into block */
	main > div.content table,
	main > div.content table > tbody,
	main > div.content table > tbody > tr,
	main > div.content table > tbody > tr > td {
		display: block;
		empty-cells: hide;
	}

	/* reduce width */
	main > div.content table {
		width: 98%;
		margin: auto auto 25px auto;
	}

		/* hide headers */
		main > div.content table tr:first-of-type {
			display: none;
		}

		/* first col becomes header */
		main > div.content table tr > td:first-of-type {
			margin-top: 15px;
			background-color: rgba(243,217,255,.75) !important;
		}

		/* no border on last call */
		main > div.content table tr > td:last-of-type {
			/* border-bottom: 0px; */
		}

		/* even padding */
		main > div.content table tr td {
			padding: 3px;
		}

		/* hide empty cells */
		main > div.content table tr td:empty {
			display: none !important;
			border: 0px !important;
		}



	/* MICRO-PROGRAMS LIST */

	/* picture container */
	main > .content#RecExcite-program-list.micro-programs > section > div.Programs > a > .details > .RecExcite-pub-gallery {
		/* float: none;
		display: block;
		width: calc( 80% - 40px );
		height: 350px !important;
		margin: 20px auto 20px auto; */
		display: none;
	}


	/* FORMS GENERAL */

	/* restore "required" field indicator, adjust margin */
	main > form.content section > label.required::after {
		content: '* required';

		font-size: 11px;
		padding: 3px;
		margin-right: -8px;

		border: 1px solid rgba(41,153,38,.5);
		background: white;
	}




	/* CUSTOMER REGISTRATIONS LIST */

	/* known static height cells */
	div.content#RecExcite-customer-registrations-list > table tr > td {
		width: 50%;
	}



	/* PROGRAMS DETAILS */

	/* photo container */
	.screen-narrow > section.RecExcite-pub-gallery > a {
		height: 62px;
	}


	/* FORMS */

	/* header button label */
	main > form.content section > h5 > button > label,
	main > form.content section > span > button > label {
		display: none;
	}

	/* field label */
	main > form.content section:not(.ProgramRegistrationRates) > label {
		position: absolute;
		margin-top: 38px;
		display: block;
		width: calc( 100% - 20px ) !important;
	}

	/* field input container */
	main > form.content section:not(.ProgramRegistrationRates) > span {
		display: block;
		position: relative;
		width: 100% !important;
		height: 75px;

		text-align: left;
	}

		/* field label for checks */
		main > form.content section:not(.ProgramRegistrationRates) > label.check {
			display: block;
			position: relative;
			width: auto;
			height: auto;
			margin: 10px 0px 10px 0px;
		}

		/* field input container for checks */
		main > form.content section:not(.ProgramRegistrationRates) > span.check {
			height: 30px;
			margin-left: 4px;
			text-align: left;
		}

			/* inputs */
			main > form.content section > span > input:not([type="checkbox"]):not([type="radio"]) {
				width: calc( 100% - 10px ) !important;
				max-width: calc( 100% - 10px ) !important;
			}



	/* REGISTRATION FORM */

	/* form */
	main > form.content#RecExcite-program-register > div {
		width: 100%;
	}

	/* form sections */
	main > form.content#RecExcite-program-register section {
		width: 100%;
	}



	/* FOOTER */

	/* adjust font size box text label */
	footer > nav#boxes > a > label {
		font-size: 15px;
	}
}

@media screen and (max-width: 580px) {

	/* HEADER */

	/* adjust header address margin */
	header > address {
		margin-top: 0px;
	}

		/* adjust font size for address */
		header > address > div:nth-of-type(1) > data,
		header > address > div:nth-of-type(1) > data * {
			font-size: 22px;
			line-height: 1.25;
		}

	/* scale logo dynamically */
	header > a#logo > img {
		width: 65%;
	}

	header > nav#icons {
		right: 17px;
	}



	/* MAIN */

	/* 404 or other message */
	main > .content > article.notfound,
	main > .content > article.empty,
	main > .content > article.complete,
	main > .content > article.info,
	main > .content > article.notice {
		margin-bottom: 15px;
		padding: 5px;
	}

	/* login form */
	main > form.content#RecExcite-auth {
		width: 100% !important;
		max-width: auto;
		margin: 10px auto 20px auto;
	}
		/* login form sections */
		main > form.content#RecExcite-auth > section {
			width: 100% !important;
		}
			/* login form labels */
			main > form.content#RecExcite-auth > section > label,
			main > form#RecExcite-auth.content > section > label > input[type="email"],
			main > form#RecExcite-auth.content > section > label > input[type="text"],
			main > form#RecExcite-auth.content > section > label > input[type="password"] {
				width: 100% !important;
			}




	/* SIDEBAR */




	/* PROGRAMS DETAILS */

	/* booking entry */
	main > .content#RecExcite-program-details section#schedule #ProgramBookings > div {
		display: inline-block;
		width: 100%;
	}

		/* booking entry data containers */
		main > .content#RecExcite-program-details section#schedule #ProgramBookings > div > data,
		main > .content#RecExcite-program-details section#schedule #ProgramBookings > div > data * {
			font-size: 14px !important;
		}

		/* date */
		main > .content#RecExcite-program-details section#schedule #ProgramBookings > div > .date {
			width: 60% !important;
		}

		/* time */
		main > .content#RecExcite-program-details section#schedule #ProgramBookings > div > .time {
			width: 40% !important;
		}

	/* rate name */
	main > .content#RecExcite-program-details section#rates-payments ul#ProgramRegistrationRates > li > label {
		display: block;
		width: auto;
	}

	/* rate description/details */
	main > .content#RecExcite-program-details section#rates-payments ul#ProgramRegistrationRates > li > label > article {
		margin-top: 3px;
	}

	/* rate amounts */
	main > .content#RecExcite-program-details section#rates-payments ul#ProgramRegistrationRates > li > data {
		padding: 20px;
		/* width: calc( 50% - 40px ); */
		width: 50%;
		text-align: center;
	}
		/* hide blank rates */
		main > .content#RecExcite-program-details section#rates-payments ul#ProgramRegistrationRates > li > data.empty {
			display: none;
		}




	/* FOOTER */

	/* two nav boxes per line instead of four */
	footer > nav#boxes > a {
		width: 45% !important;
		margin: 15px 7px 7px 7px !important;
		float: none !important;
	}

		/* adjust height box graphic container */
		footer > nav#boxes > a > div {
			height: 125px;
		}

	/* disallow columns on nav CMS sections */
	footer > div#bottom-nav > nav#cms > section > ul {
		column-count: 1 !important;
		-moz-column-count: 1 !important;
	}

	/* force height on bottom nav connect section */
	footer > div#bottom-nav > nav#connect {
		height: 125px;
	}

	/* enlarge font size in address contact line */
	footer > div#bottom-nav > nav#connect > section > address > data {
		font-size: 18px;
	}

		/* enlarge font size in location address, separate onto lines */
		footer > div#bottom-nav > nav#connect > section > address > data > span {
			display: block;
			font-size: 18px;
		}

		/* hide location address segment bullet */
		footer > div#bottom-nav > nav#connect > section > address > data > span.bullet {
			display: none;
		}
}

@media screen and (max-width: 460px) {

	/* HEADER */

	/* adjust height on not-homepage */
	main:not([designation="homepage"]) > #banner {
		height: 120px;
		background-position: 0px 0px;
	}



	/* MAIN */



	/* CUSTOMER ACCOUNT CONTROLS */

	/* customer account links */
	header > nav#RecExcite-account-controls > a {
		display: block;
		width: auto !important;
	}
		header > nav#RecExcite-account-controls > a:not(:first-of-type) {
			border-top: 1px solid white;
		}




	/* CUSTOMER REGISTRATIONS LIST */

	/* known static height cells */
	div.content#RecExcite-customer-registrations-list > table tr > td {
		display: block;
		width: auto;
		height: auto;
	}



	/* PROGRAMS DETAILS */

	/* photo container */
	.screen-narrow > section.RecExcite-pub-gallery > a,
	.screen-narrow > section.RecExcite-pub-gallery > a:nth-of-type(5n) {
		width: calc( 50% - 10px );
		height: 125px;
		margin-right: 10px;
	}

		/* every other photo container */
		.screen-narrow > section.RecExcite-pub-gallery > a:nth-of-type(even) {
			width: 50%;
			margin-right: 0px;
		}




	/* FOOTER */

	/* adjust height box graphic container */
	footer > nav#boxes > a > div {
		height: 100px;
	}
}

@media screen and (max-width: 400px) {

	/* HEADER */

	/* adjust font size for address */
	header > address > div:nth-of-type(1) > data,
	header > address > div:nth-of-type(1) > data * {
		font-size: 18px;
		line-height: 1.15;
	}

	header > nav.search {
		width: auto;
		display: block;
		margin-left: auto;
		margin-right: auto;
	}

	/* primary nav font size adjustment */
	header > nav.primary > a {
		/* font-size: 20px; */
	}



	/* MAIN */

	/* 404 or message content */
	main > .content > article.notfound *,
	main > .content > article.empty *,
	main > .content > article.complete *,
	main > .content > article.info *,
	main > .content > article.notice * {
		font-size: 16px !important;
	}



	/* PROGRAMS DETAILS */

	/* photo container */
	.screen-narrow > section.RecExcite-pub-gallery > a,
	.screen-narrow > section.RecExcite-pub-gallery > a:nth-of-type(5n) {
		height: 75px;
	}




	/* FOOTER */

	/* adjust height box graphic container */
	footer > nav#boxes > a > div {
		height: 90px;
	}

}