/*
 * Print.
 *
 * Training coordinators print course pages to staple to a training file, and
 * students print the schedule and put it on a fridge. Worth doing properly:
 * everything goes to black on white, the dark bands stop wasting toner, and
 * link destinations are spelled out because paper cannot be clicked.
 */

@page {
	margin: 16mm 14mm;
}

*,
*::before,
*::after {
	background: transparent !important;
	color: #000 !important;
	box-shadow: none !important;
	text-shadow: none !important;
	filter: none !important;
	backdrop-filter: none !important;
}

body {
	font-family: "Source Serif 4", Georgia, serif;
	font-size: 10.5pt;
	line-height: 1.45;
}

/* Chrome that means nothing on paper. */
.vgd-alert,
.vgd-rail,
.vgd-navtoggle,
.vgd-nav,
.vgd-masthead__actions,
.vgd-skip,
.vgd-footer__cols,
.vgd-footer__base,
.vgd-social,
.vgd-close,
.vgd-paths,
.vgd-jump,
.vgd-filters,
.vgd-pager,
.vgd-crumbs,
.vgd-hero__emblem,
.vgd-hero__photo,
.vgd-hero__actions,
.vgd-nextup__all,
.vgd-index__go,
.vgd-srow__act,
.vgd-adjacent,
.vgd-comments,
.comment-form,
.vgd-search,
.vgd-band--deep,
.vgd-phead__next .vgd-btn,
.vgd-sidecard__cta,
.vgd-more {
	display: none !important;
}

.vgd-band,
.vgd-hero,
.vgd-phead,
.vgd-footer {
	padding-block: 0 !important;
	border: 0 !important;
}

/* Bands lose their generous screen padding, so give the sections back just
   enough air that a heading does not sit on the previous paragraph. */
.vgd-band + .vgd-band,
.vgd-band > .vgd-wrap > .vgd-sechead,
.vgd-course__section {
	margin-top: 8mm;
}

.vgd-sechead,
.vgd-course__h,
.vgd-track__title {
	border-bottom: 0.5pt solid #000 !important;
	padding-bottom: 1.5mm;
}

.vgd-band::before,
.vgd-hero::before,
.vgd-phead::before,
.vgd-footer::before {
	display: none !important;
}

.vgd-masthead__bar {
	position: static !important;
	border-bottom: 1.5pt solid #000 !important;
	padding-bottom: 4mm;
	margin-bottom: 6mm;
}

.vgd-brand__img { max-height: 18mm !important; }
.vgd-brand__mark { width: 12mm !important; }

.vgd-wrap { max-width: none !important; padding: 0 !important; }

h1, h2, h3, h4 {
	font-family: "Barlow Condensed", "Arial Narrow", sans-serif;
	break-after: avoid;
	page-break-after: avoid;
}

.vgd-phead__title { font-size: 22pt; margin-bottom: 2mm; }
.vgd-phead__lede,
.vgd-hero__lede { font-size: 11pt; }

/* Keep a class or a course entry intact across a page break. */
.vgd-srow,
.vgd-index__row,
.vgd-roster__item,
.vgd-outcomes li,
.vgd-detail__row,
.vgd-spec__row {
	break-inside: avoid;
	page-break-inside: avoid;
}

.vgd-srow,
.vgd-index__row {
	border-bottom: 0.5pt solid #999 !important;
	border-top: 0 !important;
	padding: 2mm 0 !important;
}

.vgd-datechip {
	border: 0.5pt solid #000 !important;
	padding: 1mm 2mm !important;
}

.vgd-status { font-weight: 700; }

.vgd-specbar__list,
.vgd-facts__list { gap: 4mm; }

.vgd-specbar__item,
.vgd-facts__item {
	border: 0 !important;
	padding: 0 4mm 0 0 !important;
	flex: 0 0 auto !important;
}

.vgd-course__grid,
.vgd-phead__grid,
.vgd-agency__inner {
	display: block !important;
}

.vgd-course__side,
.vgd-sidecard {
	position: static !important;
	border: 0 !important;
	border-top: 0.5pt solid #000 !important;
	padding: 3mm 0 0 !important;
	margin-top: 6mm;
}

.vgd-prose { max-width: none; }

/* Spell out where links go, but not for internal anchors or mailto noise. */
.vgd-prose a[href^="http"]::after,
.vgd-detail__link[href^="http"]::after {
	content: " (" attr(href) ")";
	font-family: "IBM Plex Mono", monospace;
	font-size: 8pt;
	word-break: break-all;
}

.vgd-footer {
	border-top: 1pt solid #000 !important;
	padding-top: 4mm !important;
	margin-top: 8mm;
	font-size: 9pt;
}

.vgd-footer__top { display: block !important; border: 0 !important; padding: 0 !important; }
.vgd-footer__cred { font-size: 8pt; }
