/*! HTML5 Boilerplate v5.2.0 | MIT License | https://html5boilerplate.com/ */

/*
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */

/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */

html {
	color: #222;
	font-size: 1em;
	line-height: 1.4;
}

/*
 * Remove text-shadow in selection highlight:
 * https://twitter.com/miketaylr/status/12228805301
 *
 * These selection rule sets have to be separate.
 * Customize the background color to match your design.
 */

::-moz-selection {
	background: #b3d4fc;
	text-shadow: none;
}

::selection {
	background: #b3d4fc;
	text-shadow: none;
}

/*
 * A better looking default horizontal rule
 */

hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #ccc;
	margin: 1em 0;
	padding: 0;
}

/*
 * Remove the gap between audio, canvas, iframes,
 * images, videos and the bottom of their containers:
 * https://github.com/h5bp/html5-boilerplate/issues/440
 */

audio,
canvas,
iframe,
img,
svg,
video {
	vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */

fieldset {
	border: 0;
	margin: 0;
	padding: 0;
}

/*
 * Allow only vertical resizing of textareas.
 */

textarea {
	resize: vertical;
}

/* ==========================================================================
   Browser Upgrade Prompt
   ========================================================================== */

.browserupgrade {
	margin: 0.2em 0;
	background: #ccc;
	color: #000;
	padding: 0.2em 0;
}

/* ==========================================================================
   Author's custom styles
   ========================================================================== */

/*
 * Base text styles.
 */

body {
	font-family: "Source Sans Pro";
	font-size: .875em;
	font-weight: 400;
	line-height: 1.857em;
	color: #3D382F;
	background: #19568B;
	padding-top: 81px;
}

a {
	font-weight: 600;
	color: #0071bc;
}

a:hover,
a:focus,
a:active {
	color: #0071BC;
}

a:visited {
	color: #0071BC;
}

#container {
	background: #fff;
}

p {
	font-size: 15px;
	line-height: 1.6em;
}

ol,
li {
	font-size: 15px;
}

p.lead {
	font-size: 1.25rem;
	font-weight: 400;
	line-height: 1.85em;
}

p.lead.semibold {
	font-weight: 600;
}

.semibold {
	font-weight: 600;
}

.weightBlack {
	font-weight: 900;
}

li {
	margin-bottom: 15px;
}

.fluidImg {
	width: 100%;
}

select option {
	-moz-font-family:"Source Sans Pro", sans-serif;
}

/*
*  Colors
*/

.yaLightBlue {
	color: #0071bc;
}

.yaLightBlueBg {
	background-color: #0071bc;
}

.yaBlue {
	color: #29548A;
}

.yaBlueBg {
	background-color: #29548A;
}

.yaDarkBlue {
	color: #192D50;
}

.yaDarkBlueBg {
	background-color: #192D50;
}

.yaNavy {
	color: #112e51;
}

.yaNavyBg {
	background-color: #112e51;
}

.yaTeal {
	color: #107A7B;
}

.yaTealBg {
	background-color: #107A7B;
}

.rtOrange {
	color: #FF9315 !important;
	fill: #FF9315;
}

.rtOrangeBg {
	background-color: #FF9315;
}

.rtBrightOrange {
	color: #FF9315 !important;
	fill: #FF9315;
}

.rtBrightOrangeBg {
	background-color: #FF9315;
}

.rtGreen {
	color: #8EBB41 !important;
	fill: #8EBB41;
}

.rtGreenBg {
	background-color: #8EBB41;
}

.rtBeige {
	color: #EBE8DC !important;
	fill: #EBE8DC;
}

.rtBeigeBg {
	background-color: #EBE8DC;
}

.rtLightBeige {
	color: #F5F3ED !important;
	fill: #F5F3ED;
}

.rtLightBeigeBg {
	background-color: #F5F3ED;
}

.rtNavy {
	color: #19568B !important;
	fill: #19568B;
}

.rtNavyBg {
	background-color: #19568B;
}

.rtLightBlue {
	color: #E6F1F6 !important;
	fill: #E6F1F6;
}

.rtLightBlueBg {
	background-color: #E6F1F6;
}

.rtBlue {
	color: #5FA6CA !important;
	fill: #5FA6CA;
}

.rtBlueBg {
	background-color: #5FA6CA;
}

.rtRed {
	color: #cd2026 !important;
	fill: #cd2026;
}

.rtRedBg {
	background-color: #FF4432;
}

.white {
	color: #fff !important;
	fill: #fff;
}

.charcoal {
	color: #333;
	fill: #333;
}

/*
* Modal Styles
*/

.modal-body {
	padding: 0px 30px 30px;
}

.modal-header {
	padding: 0;
}

.modal-header h2 {
	padding: 30px;
}

.modal-header .close {
	padding: 3px 5px;
	font-size: 48px;
	position: relative;
	z-index: 20;
}

button.close {
	font-size: 34px;
	opacity: 1;
	color: #2C6EBA;
	margin-right: 10px;
}

body .modal-backdrop {
	background: #fff;
}

body .modal-backdrop.in {
	opacity: 0.7;
}

div.modal-content {
	border: 1px solid #ccc;
	border-bottom: 7px solid #29548A;
	border-radius: 0;
}

div.modal-header {
	border-bottom: none;
}

/*
* Headers
*/

h1,
h2,
h4,
h5,
h6 {
	margin-bottom: 5px;
	background-color: transparent;
}

h1 i,
h2 i,
h3 i,
h4 i,
h5 i,
h6 i,
h1 img,
h2 img,
h3 img,
h4 img,
h5 img,
h6 img {
	vertical-align: middle;
	margin-right: 5px;
}

.uppercase {
	text-transform: uppercase;
}

h1 {
	font-size: 2.25em;
	font-weight: 400;
	text-transform: uppercase;
}

h2 {
	font-size: 1.5em;
	font-weight: 700;
}

h3 {
	font-size: 1.17em;
	font-weight: 700;
	line-height: 1.267em;
}

h4 {
	font-size: 1.17em;
	font-weight: 600;
	line-height: 1.267em;
	margin-top: 35px;
}

h5 {
	font-size: 1em;
	font-weight: 700;
	line-height: 1.333em;
	text-transform: uppercase;
}

h6 {
	font-size: 1.5em;
	font-weight: 700;
	line-height: 1.5em;
}

h3 svg {
	margin-right: 5px;
}

/*
*  Spacing Classes
*/

.noMargin {
	margin: 0;
}

.noPadding {
	padding: 0;
}

.doubleRowPadding {
	padding: 80px 0;
}

.tallRowPadding {
	padding: 40px 0;
}

.midRowPadding {
	padding: 20px 0;
}

.smallRowPadding {
	padding: 10px 0;
}

.fa-sm {
	font-size: 0.875em;
}

.borderedArea {
	padding: 20px;
	border: 1px solid #ccc;
}

.top {
	margin-top: 0;
}

.marginTop {
	margin-top: 20px;
}

.doubleMarginTop {
	margin-top: 40px;
}

.marginBottom {
	margin-bottom: 20px;
}

.doubleMarginBottom {
	margin-bottom: 40px;
}

.paddedRow {
	padding: 35px 0;
}

.borderBottom {
	border-bottom: 1px solid #eee;
}

.rowBorderTop {
	margin-top: 20px;
	padding-top: 15px;
	border-top: 2px solid #F4F1EA;
}

/*
* Header Styles
*/

#content {
	margin: 0;
	padding: 0;
	overflow: hidden;
}

header {
	padding: 15px 0;
	position: relative;
	-webkit-box-shadow: 0px 0px 2px 1px rgba(0, 0, 0, 0.1);
	-moz-box-shadow: 0px 0px 2px 1px rgba(0, 0, 0, 0.1);
	box-shadow: 0px 0px 2px 1px rgba(0, 0, 0, 0.1);
}

header h1 {
	font-size: 1.4em;
	font-weight: 700;
	letter-spacing: normal;
}

header p {
	font-size: 1.2em;
	margin-top: 15px;
}

.navbar-default {
	background: #fff;
	border: none;
	margin-bottom: 0;
}

.pageTitle {
	background-color: #F5F3ED;
	margin: 0px 0px 40px 0;
	padding: 25px 0;
}

.pageTitle h2 {
	font-size: 28px;
	font-weight: 700;
	color: #001e59;
}

.pageIcon {
	width: 125px;
	position: absolute;
	top: 0px;
	right: 15px;
	z-index: 1;
}

.pageIconContainer {
	position: relative;
	z-index: 1;
}

.navbar-right {
	clear: right;
}

.navbar-right li {
	margin-right: 0;
}

.navbar-right~.navbar-right {
	margin-right: -15px;
}

.navbar-default .navbar-nav>.active>a,
.navbar-default .navbar-nav>.active>a:focus,
.navbar-default .navbar-nav>.active>a:hover {
	background: #fff;
	box-shadow: none;
	color: #001e59;
}

.nav>li>a {
	text-transform: uppercase;
	padding: 5px;
}

.navbar-default .navbar-nav>li>a,
.navbar-social a {
	color: #19568b;
}

.navbar-default .navbar-nav>li>a:hover,
.navbar-social a:hover {
	color: #0071BC;
}

.navbar-brand {
	height: auto;
	padding: 10px 10px 0 10px;
}

.rt-mainnav {
	margin: 60px 0 0 0;
}

.rt-mainnav li {
	margin: 0;
	padding: 0;
}

.rt-mainnav li.active {
	padding-bottom: 8px;
	border-bottom: 5px solid #5071A9;
	margin-bottom: 0;
}

.rt-mainnav li:first-child a span {
	border-left: none;
}

.rt-mainnav li a {
	line-height: 1em;
	padding: 0px;
	font-size: 13px;
	font-weight: 700;
}

.rt-mainnav li a span {
	border-left: 1px solid #bbb;
	padding: 0 9px;
}

.navbar-fixed-bottom .navbar-collapse, .navbar-fixed-top .navbar-collapse {
	max-height:460px;
}

.navbar-social {
	font-size: 1.5em;
	margin-top: 15px;
	margin-bottom: 15px;
	min-height: 25px;
}

.navbar-social a {
	margin: 0 7px;
}

.navbar-header h1 {
	font-size: 2.4em;
	font-weight: 900;
	background: none;
	margin: 0;
}

.navbar-header h1 img {
	display: inline;
	margin: -5px 5px 0px 5px;
}

.navbar-header h1 span {
	display: block;
}

.navbar-header #yadLogo {
	width: 220px;
	height: 72px;
	padding: 5px 0 10px 0;
}

.navbar-header button.navbar-toggle,
.navbar-header button.navbar-toggle:hover {
	padding: 20px;
	margin-top: 15px;
	border-color: #fff;
	background: #0071BC;
}

.navbar-default button.navbar-toggle .icon-bar {
	background-color: #fff;
}

.navbar-header button.navbar-toggle:focus {
	background: #001e59;
	color:#001e59;
	border:1px dotted #FFF;
	box-shadow: 2px 2px rgba(0.2, 0, 0, 0.3);
}

.video-js {
	width: 100%;
}

.vjs-poster {
	background-color: #1C588D;
}

/*
* Footer Styles
*/

#header a, #footer a {
    color: #fff;
}

footer {
	padding: 50px 0;
	color: #fff;
	background: #19568B;
}

footer p {
	color: #fff;
	display: inline-block;
	padding: 15px;
	font-size: 11px;
}

footer img {
	display: inline-block;
	padding: 10px;
}

#footer {
	padding: 0;
	margin-top: 40px;
}

.footerNavBar ul {
	list-style-type: none;
	padding: 10px;
	margin: 0;
}

.footerNavBar ul li {
	display: inline;
	text-transform: uppercase;
	margin: 0 25px 0 0;
}

.footerSeal {
	width: 130px;
	padding: 20px;
}

/*
*  Card Styles
*/

.rtCard {
	background: #fff;
	padding: 15px;
	margin-bottom: 30px;
	border: 1px solid #f7f7f7;
	-webkit-box-shadow: 0px 0px 2px 2px rgba(0, 0, 0, 0.03);
	-moz-box-shadow: 0px 0px 2px 2px rgba(0, 0, 0, 0.03);
	box-shadow: 0px 0px 2px 2px rgba(0, 0, 0, 0.03);
}

.rtCard.darkShadow {
	-webkit-box-shadow: 1px 0px 9px 2px rgba(0, 0, 0, .10);
	-moz-box-shadow: 1px 0px 9px 2px rgba(0, 0, 0, .10);
	box-shadow: 1px 0px 9px 2px rgba(0, 0, 0, .10);
}

.rtCard.noShadow {
	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	box-shadow: none;
}

.rtCard.rtCardLight {
	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	box-shadow: none;
	border: none;
	padding: 0px;
}

.rtCard p {
	clear: both;
}

.rtCardHeader {
	margin: -15px -15px 10px -15px;
	padding: 15px;
}

.rtCardHeader i {
	margin-top: -5px;
	margin-right: -5px;
}

.rtCardHeader h4 {
	text-transform: uppercase;
	font-size: 1.25em;
}

.rtCardHeader h5 {
	text-transform: uppercase;
	font-size: 1.05em;
	font-weight: 600;
}

.rtCardLight .rtCardHeader,
.rtCardHeaderBordered {
	border-top: 1px solid #EAE3D5;
	border-bottom: 1px solid #EAE3D5;
	padding: 10px;
	margin: 0 0 10px 0;
}

.yaCard p {
	line-height: 1.3em;
}

.borderedCard {
	border-left: 3px solid #5071A9;
	padding: 15px 0 15px 10px;
}

.rtContact {
	border-left: 1px solid #E1E1E1;
}

.rtContact:first-child {
	border-left: none;
}

.rtContact>div {
	padding: 5px 10px;
}

.rtContact h4 {
	color: #000;
}

.rtContact h4 i {
	vertical-align: middle;
}

.cardArea h3,
.contactArea h3 {
	font-size: 1.25em;
	font-weight: 700;
	margin: 0 0 20px 0;
	padding: 0 10px;
}

/* About Us Page Styles */

.aboutUsLeftBg {
	background: url('../img/mastheads/About_v2@2x.jpg') no-repeat 0% 0px;
}

.aboutIcon {
	width: 75px;
	padding-bottom: 15px;
}

.aboutCard {
	border-left: 3px solid #4773aa;
	padding: 5px 0 5px 7px;
}

.aboutCard.darkBlueBorder {
	border-left: 3px solid #112e51;
}

.aboutCard p {
	line-height: 1.25em;
}

.enhancedList {
	list-style: none;
}

.enhancedList li {
	position: relative;
	margin-bottom: 20px;
}

.enhancedList li p {
	padding-left: 60px;
}

.enhancedList li span {
	font-size: 24pt;
	font-weight: 600;
	color: #5071A9;
	position: absolute;
	top: 7px;
	line-height: 25px;
}

/* Partnerships Page Styles */

.stateIcon {
	padding: 10px 0;
	width: 80px;
	height:120px;
	vertical-align: middle;
}

.stateIcon.Alabama,
.stateIcon.Mississippi,
.stateIcon.Utah {
	width: 60px;
	margin-left: 5px;
}

.stateIcon.NewJersey,
.stateIcon.Nevada {
	width: 50px;
	margin-left: 10px;
}

#partnershipTitle {
	font-weight: 700;
	font-size: 22px;
	padding:30px 0 15px 0;
}

#partnershipIcon {
	width: 50%;
	margin-left: 40px;
}

.yaPartnershipCard {
	height: 140px;
}

.yaPartnershipCard h3 {
	margin-bottom: 3px;
	padding-top:40px;
	font-weight: 600;
	font-size: 1.25em;
	color: #0071BC;
}

.yaPartnershipCard .stateIconContainer {
	vertical-align: middle;
	height: 150px;
}

#partnershipGoals ol {
	padding-left:5px;
}

#partnershipGoals li {
	margin-bottom:0;
}

/*
* Calendar page styles
*/

.featuredEventCalendar {
	border-left: 3px solid #4773aa;
	padding: 36px 15px;
}

.featuredEventsArea {
	background: #fff url('img/featured-cal-bg.png') 0% 48% repeat-x;
}

.featuredCalendarDesc {
	font-size: 1.25em;
	margin-top: 17px;
	line-height: 1.3em;
}

a.fc-event {
	border-radius: 0;
	border: none;
	padding: 5px;
}

a.fc-event .fa-lock {
	margin: 0 5px;
}

.fc-view-container {
	background: #fff;
}

#calendar.fc-unthemed td.fc-today {
	background: #F5F3ED;
}

#calendar .fc-head-container.fc-widget-header {
	background: #E6EBF3;
}

#calendar.fc-unthemed th.fc-day-header {
	padding: 7px 0;
}

#calendar.fc-unthemed th.fc-day-header span {
	font-weight: 400;
	text-transform: uppercase;
}

#calendar.fc-unthemed table {
	margin-bottom: 0;
}

.modal-body #eventDescription {
	padding: 10px 0;
}

/*
*  Dropdown Containers
*/

.dropdownContainer {
	padding: 10px 0;
}

.dropdownContainer.paddedDropdown {
	margin-top: 10px;
	padding: 10px;
}

.dropdownContainer.paddedDropdown>div {
	padding: 10px;
	background: #fff;
	margin: 9px -9px -9px -9px;
}

.collapseLink {
	display: block;
	text-transform: uppercase;
}

.collapseLink i {
	margin-right: 5px;
}

/*
*  Tool Content Boxes
*/

.toolBox {
	padding: 15px;
	margin-top: 15px;
}

.toolBox h4 {
	text-transform: uppercase;
	font-size: 15px;
}

/*
* Homepage styles
*/

#homepageMasthead {
	background: url("img/mastheads/Homepage_Main_Imagev3.jpg") no-repeat 50% 50%;
	margin-bottom: 10px;
}

#homepageMastheadText {
	font-size: 40px;
	line-height: 1.4em;
	font-weight: 600;
	margin: 40px 0;
	text-shadow: 2px 2px 6px #000000;
}

.homeEventMonth {
	font-size: 18px;
	line-height: 1.1em;
	margin-bottom: 0;
}

.homeEventDay {
	font-size: 40px;
	line-height: 1.1em;
	margin-bottom: 0;
}

.homeEventYear {
	font-size: 18px;
	line-height: 1.1em;
	margin-bottom: 0;
}

.homepageBox .media-left {
	padding-right: 15px;
}

.featuredResource {
	background-position: 50% 0%;
	background-repeat: no-repeat;
	padding: 15px 0 0 0;
}

.featuredResource h2 {
	font-size: 20px;
	padding: 20px 15px 50px 10px;
	border-left: 3px solid #fff;
	margin-left: 15px;
	height: 180px;
}

.featuredResourceTitle span {
	font-size: 12px;
	text-transform: uppercase;
}

.featuredResourceDescription {
	padding: 40px 15px 5px 15px;
	font-size: 14px;
}

.featuredResourceSource {
	padding: 0 15px 30px 15px;
	line-height: 1.25em;
}

.featuredResourceTitle i {
	margin-left: 5px;
}

/*
* Resource Page styles
*/

.yaResourceTitle {
	font-weight: 600;
	margin-bottom: 15px;
}

.yaResource p {
	margin-bottom: 15px;
	line-height: 1.6em;
}

.yaResource p small {
	line-height: 1.25em;
}

.yaResourceTitle span {
	display:inline-block;
	font-size: 0.9em;
	color: #575757;
	text-transform: uppercase;
}

.yaResource h3 {
	display:inline;
	font-size: 1.25em;
	margin-right:10px;
}

.yaResourceTitle span i {
	vertical-align: baseline;
	margin-right: 0;
}

.yaInteriorFeaturedResource {
	padding: 15px 15px 15px 0;
}

.yaInteriorFeaturedResource .media-left {
	padding-right: 20px;
}

.yaResource p {
	font-size: 14px;
}

/*
* Custom responsive utilities
*/

/*
*  Small screen styles
*/

@media (max-width: 764px) {
	#homepageMastheadText {
		font-size: 32px;
		margin-top: 20px;
		margin-bottom: 60px;
	}
	#homepageMasthead {
		padding-bottom: 0;
	}
	footer {
		text-align: center;
	}
	div.pageTitle {
		padding-top: 25px;
	}
	.mep-xs-nobackground-img {
		background-image: none !important;
	}
	.mep-xs-fluid-height {
		min-height: 0 !important;
		max-height: none !important;
	}
	#navbar {
		margin: 0;
		padding: 0;
	}
	.navbar-collapse.in {
		overflow-x: hidden;
	}
	.navbar-default {
		box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2), 0 1px 5px rgba(0, 0, 0, .4)
	}
	.navbar-default .navbar-nav>li {
		float: none !important;
	}
	ul.rt-mainnav {
		margin-left: 0;
		margin-top: 0;
		width: 100%;
	}
	.rt-mainnav li.active {
		border-bottom: 1px solid #eee;
		padding-bottom: 0;
	}
	.rt-mainnav li a span,
	.rt-mainnav li:first-child a span {
		border: none !important;
		padding-left: 0 !important;
	}
	.rt-mainnav li a {
		padding: 20px 0;
		font-size: 1.4em;
	}
	.rt-mainnav li {
		border-bottom: 1px solid #eee;
	}
	.aboutCardSpacer {
		min-height: 0;
	}
	.yaInteriorFeaturedResource {
		padding: 15px;
	}
}

/*
* Large screen styles
*/

@media (min-width: 768px) {
	header h1 {
		margin-top: 20px;
	}
}

/*
* Awkward midpoint between mobile and desktop
*/

@media (max-width: 992px) {
	.rt-mainnav {
		margin: 10px 0 0 0;
		float: left !important;
	}
	.pageTitle {
		padding-top: 60px;
	}
	.pageTitle h2 {
		margin-top: 15px;
	}
	.pageIcon {
		position: static;
		width: 70px;
		height: 70px;
	}
	header h1 {
		line-height: 1em;
		width: 150px;
		margin-top: 4px;
	}
	/* Homepage resources */
	.featuredResource h2 {
		height: auto;
		padding-bottom: 20px;
	}
	.featuredResource {
		background-image: none !important;
	}
	.featuredResourceDescription {
		padding-top: 20px;
	}
}

/*
* Anything below large cutpoint
*/

@media (max-width: 1200px) {
	.aboutUsLeftBg {
		background: #fff;
	}
}

/* ==========================================================================
   Helper classes
   ========================================================================== */

/*
 * Hide visually and from screen readers:
 */

.hidden {
	display: none !important;
}

/*
 * Hide only visually, but have it available for screen readers:
 * http://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 */

.visuallyhidden {
	border: 0;
	clip: rect(0 0 0 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
}

/*
 * Extends the .visuallyhidden class to allow the element
 * to be focusable when navigated to via the keyboard:
 * https://www.drupal.org/node/897638
 */

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
	clip: auto;
	height: auto;
	margin: 0;
	overflow: visible;
	position: static;
	width: auto;
}

/*
 * Hide visually and from screen readers, but maintain layout
 */

.invisible {
	visibility: hidden;
}

/*
 * Clearfix: contain floats
 *
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    `contenteditable` attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that receive the `clearfix` class.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 */

.clearfix:before,
.clearfix:after {
	content: " ";
	/* 1 */
	display: table;
	/* 2 */
}

.clearfix:after {
	clear: both;
}

/* ==========================================================================
   EXAMPLE Media Queries for Responsive Design.
   These examples override the primary ('mobile first') styles.
   Modify as content requires.
   ========================================================================== */

@media only screen and (min-width: 35em) {
	/* Style adjustments for viewports that meet the condition */
}

@media print,
(-webkit-min-device-pixel-ratio: 1.25),
(min-resolution: 1.25dppx),
(min-resolution: 120dpi) {
	/* Style adjustments for high resolution devices */
}

/* ==========================================================================
   Print styles.
   Inlined to avoid the additional HTTP request:
   http://www.phpied.com/delay-loading-your-print-css/
   ========================================================================== */

@media print {
	*,
	*:before,
	*:after {
		background: transparent !important;
		color: #000 !important;
		/* Black prints faster:
                                   http://www.sanbeiji.com/archives/953 */
		box-shadow: none !important;
		text-shadow: none !important;
	}
	a,
	a:visited {
		text-decoration: underline;
	}
	a[href]:after {
		content: " (" attr(href) ")";
	}
	abbr[title]:after {
		content: " (" attr(title) ")";
	}
	/*
     * Don't show links that are fragment identifiers,
     * or use the `javascript:` pseudo protocol
     */
	a[href^="#"]:after,
	a[href^="javascript:"]:after {
		content: "";
	}
	pre,
	blockquote {
		border: 1px solid #999;
		page-break-inside: avoid;
	}
	/*
     * Printing Tables:
     * http://css-discuss.incutio.com/wiki/Printing_Tables
     */
	thead {
		display: table-header-group;
	}
	tr,
	img {
		page-break-inside: avoid;
	}
	img {
		max-width: 100% !important;
	}
	p,
	h2,
	h3 {
		orphans: 3;
		widows: 3;
	}
	h2,
	h3 {
		page-break-after: avoid;
	}
}
