body {
	background-color: #fff;
	padding: 3vw clamp(5px, calc((100vw - 400px) * 0.15 + 5px), 6vw);
	color: #222;
	font-size: var(--font-size-4);
}

.link {
	text-decoration: revert;
	color: revert;
}

.title {
	font-size: var(--font-size-7);
	font-weight: bold;
}

.subtitle {
	font-size: var(--font-size-2);
	font-weight: normal;
	font-style: italic;
}

.song-table {
	border-spacing: 10px 2px;
	margin-left: -10px;
}

.song-table th {
  border-bottom: none; /* reset default */
}

.song-table .title-row th {
  border: none;
}

.song-table .column-headers th {
	border-bottom: 1.5px solid #000;
}

.song-table th {
	text-align: left;
}

.song-table thead {
	display: table-header-group;   /* ensures headers repeat on print */
}

.song-table .header-spacer-1 th {
	border: none;
	height: calc(2vw + 15px);
}

.song-table .header-spacer-2 th {
	border: none;
	height: 0.25rem;
}

.media-icon {
	height: 1.25rem;
}
a {
	color: inherit;
	text-decoration: none;
}

tbody tr:nth-child(odd) {
    background-color: #f0f0f0;
}

.song-table td:first-child {
	text-align: center;
	padding-top: 4px;
}

.song-table th.print-cell {
	vertical-align: middle;
}

@media print {	/* don't print the button or link */
	.print-cell button {
		display: none;
	}

	.link {
		display: none;
	}
}

button {
	border: 1px solid #ccc;
	padding: 0.5rem 1rem;
	font-size: var(--font-size-3);
	border-radius: 4px;
}
button:hover {
	outline: 1px solid #888;
}

@page {
	@bottom-center {
		content: "Page " counter(page) " of " counter(pages);
		font-size: 0.9em;
		color: #444;
	}
	margin-bottom: 1in;
	padding-bottom: 0in;
	margin-top: 1in;
	margin-bottom: 1in;
}

@media print {
  body {
	padding-top: 0;
    padding-left: 0.75in;
  }
}

@media print {
  .no-print {
    display: none;
  }
