* {
	margin: 0; padding: 0; border: 0; box-sizing: border-box;
}

body {
	background-color: hsl(200 80% 40% / 1);
	color: hsl(200 80% 95% / 1);
	font-family: Verdana, Geneva, Tahoma, sans-serif;
}

h1 {
	text-align: center;
	font-weight: normal;
	border-bottom: 1px dotted orangered;
	padding: 8px;
}

h1 + p {
	text-align: center;
	color: #ffc;
	margin-bottom: 40px;
}

article {
	border: 4px solid orangered;
	padding: 8px;
}

table.training_plan {
	border: 4px solid #ffc;
	margin: 40px auto;
	font-size: 1.4em;
	border-collapse: collapse;
}

.training_plan th, .training_plan td {
	border: 2px solid #222;
	padding: 8px;
	text-align: center;
	vertical-align: middle;
	height: .75in;
}

.special {
	background-color: #ff4; color: #000;
}

.training_plan tr:nth-child(even) {
	background-color: #ffd;
	color: #222;
}

.training_plan tr:nth-child(odd) {
	background-color: #fdf;
	color: #222;
}

.quote {
	font-style: italic;
	font-family: cursive;
	text-align: center;
	line-height: 1.4;
	max-width: 60ch;
	margin: 10px auto;
	color: #000;
}

.quote .author {
	display: block;
	text-align: center;
	font-style: normal;
	font-family: verdana;
	font-weight: bold;
}

.print_only {
	display: none;
}

/* styles for print versions */
@media print {
	
	.print_only {
		display: block;
	}
	
	.screen_only {
		display: none;
	}
	
	body {
		font-family: 'Times New Roman', Times, serif;
		color: #000;
	}
	
	h1 + p {
		color: #000;
	}
	
	a {
		text-decoration: none;
		color: #000;
	}
	
	a::after {
		content:" (" attr(href) ")";
	}
	
	table.training_plan {
		font-size: 8pt;
		font-family: "courier new";
		border: 0px;
	}
	
	.training_plan td, .training_plan th {
		height: auto;
		border-left: 0px;
		border-right: 0px;
	}
	
}