/* //////////////////// HIP CHRISTMAS \\\\\\\\\\\\\\\\\\\\ */

:root {
/* blue */
	--very-light-primary: #D5EAFF;		/* RGB background for section nav, button links, and sideboxes */
	--light-primary: #A8C5EB;			/* RGB background for navbar, footer */
	--medium-primary: #3D7EDB;			/* RGB page background, slogan, breadcrumbs */
	--dark-primary: #202EBD;			/* RGB barely used - just for logo hover */
	--very-dark-primary: #1826A0;		/* RGB 24 38 160	logo, links */
	
/* red */
	--light-secondary: #FFE1E1;			/* light hover */
	--dark-secondary: #990000;			/* RGB 153 0 0 		dark hover */
	
/* green */
	--tertiary: #006600;				/* bright hover, Wimpy player */

/* grey */
	--lightest-neutral: #FFFFFF; 		/* background for banner, main content */
	--extremely-light-neutral: #F6F6F6;	/* alternating rows */
	--very-light-neutral: #EAEAEA;		/* background for various highlight styles */
	--light-neutral: #CCCCCC;			/* most borders, table headers */
	--medium-neutral: #666666;			/* breadcrumbs */
	--dark-neutral: #454545;			/* page title */
	--darkest-neutral: #333333;			/* standard font */
	
/* other styles */
	--light-border: 1px solid #CCCCCC;	/* most borders */
	--dark-border: 1px solid #999999;	/* lists */
	--dotted-border: 1px dotted #999999;/* lists */
	--tinted-border: 1px solid #b6d0f2;	/* mobile menu */
	--rounded-box: .25rem;
	--bold: 600;
}

@keyframes fade-in {
    from { opacity   : 0; }
    to   { opacity   : 1; }
}
@keyframes fade-out {
    from { opacity   : 1; }
    to   { opacity   : 0; }
}

/* //////////////////// GLOBAL STYLES \\\\\\\\\\\\\\\\\\\\ */

body, object, embed, form, iframe {
	margin: 0px;
    padding: 0px;
}
body {
	background-color: var(--medium-primary);
	background-image: url(/images/shared/background.jpg);
	background-repeat: repeat;
	font-size: 100%;
} 
body, p, li, th, td, div, span, blockquote {
	font-family: "Open Sans", Lato, Roboto, Helvetica, Arial, sans-serif;
    color: var(--darkest-neutral);
	font-size: 1.0rem;
	line-height: 1.5;
}
strong, h1, h2, h3, h4, h5, h6 {
	font-weight: var(--bold);
}
h1, h2, h3, h4, h5, h6 {
	color: var(--very-dark-primary);
}
h1 {
	font-size: 1.75rem;
	padding: 26px 0 0;
	margin: 0;
}
h2, h3, h4, h5, h6 {
	text-transform: uppercase;
	margin-bottom: .8rem;
}
h2 {
	font-size: 1.2rem;
}
h2.head, h2.head-dark, h2.head-bright, h3, h4, h5, h6 {
	font-size: inherit;
}
img {
    height: auto;
	max-width: 100%;
}
hr {
    margin: 1rem auto;
    width: 90%;
}
blockquote, #introduction, #conclusion {
    margin: 0 2rem 1rem;
}
header, nav, #wrapper, #content, footer { /* all the major page sections; #wrapper only exists in three-colum design */
	max-width: 1500px;
}
header, #content {
	background-color: var(--lightest-neutral);
}
#content { /* matches left and right padding in Bootstrap container */
	padding-bottom: .75rem;
	padding-top: .75rem;
}
a:link, a:visited {
	color: var(--very-dark-primary);
    text-decoration: none;
	border-bottom: 1px solid transparent;
	transition: all ease-in-out .1s;
}
article a:link, article a:visited {
	border-bottom: 1px dotted var(--very-dark-primary);
}
a:hover, a:active, a:focus { 
	color: var(--dark-secondary);
	text-decoration: none;
}
a:hover, a:active, article a:hover, article a:active { 
	border-bottom: 1px solid var(--dark-secondary);
}
a:focus {
	border-bottom: none;
	outline: 1px solid var(--dark-secondary);
}
article a:focus {
	border-bottom: none;
}
article a:target { /* prevents sticky nav from covering anchor targets */
	margin-top: -50px;
	padding-top: 50px;
}
.add-border { /* add border, mostly for images */
	border: var(--dark-border);
}
.no-border { /* remove default borders */
	border: none;
}
.no-print { 
	/* this is here so it'll show up in Dreamweaver */
}
.title {
	font-style: italic;
}

/* //////////////////// BANNER, NAVBAR, HEADER, and FOOTER \\\\\\\\\\\\\\\\\\\\ */
/* most of the navbar styling is in the 'Bootstrap Overrides' section since it's mostly Bootstrap code */

.skippy-text {
	background-color: var(--very-light-primary);
	border-bottom: var(--light-border);
	border-right: var(--light-border);
	color: var(--very-dark-primary);
	font-weight: var(--bold);
	text-transform: uppercase;
	padding: .2rem .5rem;
}
a.skippy:focus {
	outline: none;
	position: absolute;
}
#banner  {
	margin-left: 20px;
	margin-right: 0;
	text-transform: lowercase;
}
#logo {
	background: url(/images/shared/logo.jpg) no-repeat right top;
	padding: 5px;
}
#logo a:link, #logo a:visited {
	color: var(--dark-primary);
	transition: none;
}
#logo a:hover, #logo a:active, #logo a:focus {
	color: var(--very-dark-primary);
	border-bottom: none;
	outline-color: var(--very-dark-primary);
}
#logo div {
	line-height: 1.2;
}
#sitename {
	font-size: 2.25rem;
	margin-top: 10px;
}
#sitename, #slogan {
	padding: 0;
	margin-bottom: 5px;
	font-weight: var(--bold);
	text-shadow: 1px 1px 0 var(--lightest-neutral);
}
#slogan {
	margin-top: 0;
	margin-bottom: 5px;
}
#slogan, #header p {
    font-size: 1.25rem;
}
#slogan, .breadcrumbs a:link, .breadcrumbs a:visited {
	color: var(--medium-primary);
}
.navbar label {
    display: none;
}
.breadcrumbs {
	font-size: 90%;
	color: var(--medium-neutral);
	border-bottom: var(--light-border);
	padding-bottom: 5px;
}
.add-this {
	float:right;
	margin-top: -1px;
}
.at-share-btn-elements a:last-of-type {
	margin-right: 0;
}
.breadcrumbs a:hover, .breadcrumbs a:active, .breadcrumbs a:focus {
	color: var(--dark-secondary);
}
#header {
	text-transform: lowercase;
	margin-bottom: 1rem;
}
#header a, #header a:hover, #header a:focus {
    text-decoration: none;
	border-bottom: none;
}
#header img {
	margin-left: 10px;
	margin-right: 10px;
	float: left;
	clear: right;
}
#header h1 {
	margin-left: 110px;
}
#header h1, #header h1 a {
	color: var(--dark-neutral);
}
#header p {
	margin: 0 0 0 110px;
	font-weight: var(--bold);
}
#header p, #header p a, #header h1 a:hover, #header h1 a:focus {
	color: var(--medium-neutral);
}
#header h1 a:hover, #header h1 a:active, #header h1 a:focus {
	outline-color: var(--medium-neutral);
	border: none;
}
#header p a:hover, #header p a:focus {
	color: var(--dark-neutral);
	outline-color: var(--dark-neutral);
}
footer {
	background-color: var(--light-primary);
	text-transform: uppercase;
	font-weight: var(--bold);
	padding: 10px;
}
#contact, #contact a {
	font-weight: 400;
	text-transform: none;
}

/* //////////////////// FLOATS & IMAGES \\\\\\\\\\\\\\\\\\\\ */

.float-left, .thumb-left, .capsule a img {
	float: left;
	margin-left: 0;
	margin-right: .8rem;
}
.float-right, .thumb-right {
    float: right;
	margin-left: .8rem;
	margin-right: 0;
}
.float-left, .float-right, .thumb-left, .thumb-right, .capsule a img {
	margin-top: .3rem;
	margin-bottom: .3rem;
}
.thumb-right {
	clear: right;
}
.thumb-left {
	clear: left;
}
.thumb-left, .thumb-right {
	max-width: 50%;
	text-align: center; /* text styles allow for use as a smaller caption box, e.g. for Wimpy buttons*/
	font-style: italic;
	color: var(--medium-neutral);
}
article img.float-left, article img.float-right, .capsule a img {
	border: var(--dark-border);
}
article img.float-left, article img.float-right {
	max-width: 40%;
}
.capsule a img {
	max-width: 20%;
}
.img-middle {
    vertical-align: middle;
	margin: 0 0.3rem;
}
.nav-link img.img-middle {
    margin: 0;
}

/* //////////////////// LISTS \\\\\\\\\\\\\\\\\\\\ */

article li {
	margin-bottom: .2rem;
}
article .content-list li {
	margin-bottom: 0.8rem;
}
li.recommended {
	background: url(/images/shared/check.gif) no-repeat;
	background-position-x: 1px;
	background-position-y: 4px;
}
.list-top {
 	background-color: var(--very-light-neutral);
	margin: 10px 0 0 0;
	padding: 2px 2px 2px 10px;
}
h3.list-top {
	font-weight: inherit;
	color: var(--darkest-neutral);
}
.list-top, .list-middle {
 	border-top: var(--dark-border);
}
.list-middle {
	background-color: var(--extremely-light-neutral);
	margin: 0 0 15px 0;
}
.list-middle li {
	border-bottom: var(--dotted-border);
}
.list-middle li:hover {
	background-color: var(--light-secondary);
}
.list-middle a:link, .list-middle a:visited, .list-middle a:focus {
    text-decoration: none;
	border-bottom: none;
}
.list-middle a:hover, .list-middle a:active {
    border-bottom: 1px solid var(--dark-secondary);
}
.list-middle a.head { 
	color: var(--dark-secondary);
}
.list-middle a.head:hover, .list-middle a.head:active, .list-middle a.head:focus {
	color: var(--tertiary);
}
.list-middle a.head:hover, .list-middle a.head:active {
	border-bottom: 1px solid var(--tertiary);
}
.list-middle a.head:focus {
	outline-color: var(--tertiary);
}
.list-middle li ul li {
	border: none;
}
ol.list-middle {
	list-style-type: decimal;
}
ol.list-middle li {
	padding: 3px;
}
ol.list-middle li, ul.list-middle li {
	line-height: 1.8;
	margin-bottom: 0;
}
ul.list-middle {
	list-style-type: none;
	padding: 0;	
}
ul.list-middle li ul li, ul.list-middle li ul li ul li {
	padding: 2px  5px  2px  5px;
}
.list-middle ul {
	list-style-type: disc;
}
.list-middle ul ul {
	list-style-type: square;
}
ul.list-middle li {
	padding: 1px 5px 3px 10px; /* when I start listing all tracks and using the recommended check marks, padding-left needs to be 22px */
}

/* //////////////////// FAUX HEADERS \\\\\\\\\\\\\\\\\\\\ */
/* try to replace these with <H3> tags where appropriate */
.head, .head-bright, .head-dark {
	font-weight: var(--bold);
	text-transform: uppercase;
}
.head-dark, a.head-dark:link, a.head-dark:visited {
    color: var(--darkest-neutral);
}
a.head-dark:link, a.head-dark:visited {
	border-bottom-color: var(--darkest-neutral);
}
a.head-dark:hover, a.head-dark:active {
	color: var(--dark-secondary);
	border-bottom-color: var(--dark-secondary);
}
.spotlight a.head-dark:link, .spotlight a.head-dark:visited {
	border-bottom: none;
}
.spotlight a.head-dark:hover, .spotlight a.head-dark:active {
	color: var(--dark-secondary);
	border-bottom: 1px solid var(--dark-secondary);
}
a.head-dark:focus {
	color: var(--dark-secondary);
}
a.head-dark:hover, a.head-dark:active {
	color: var(--dark-secondary);
	border-bottom-color: var(--dark-secondary);
}
.head-bright, a.head-bright:link, a.head-bright:visited { 
	color: var(--dark-secondary) !important;
	border-bottom-color: var(--dark-secondary);
}
a.head-bright:hover, a.head-bright:active, a.head-bright:focus {
	color: var(--tertiary) !important;
}
a.head-bright:hover, a.head-bright:active {
	border-bottom-color: var(--tertiary);
}
a.head-bright:focus {
	outline-color: var(--tertiary);
}

/* //////////////////// TABLES \\\\\\\\\\\\\\\\\\\\ */

.table, .table th, .table td {
	border: var(--light-border) !important;
}
.table th {
	background-color: var(--very-light-neutral);
	font-weight: var(--bold);
	text-transform: uppercase;
}
.table tr:hover {
	background-color: var(--light-secondary);
}
.table-striped>tbody>tr:nth-of-type(odd) {
    --bs-table-accent-bg: var(--extremely-light-neutral); /* overwrites Bootstrap */
}
.table-hover>tbody>tr:hover {
    --bs-table-accent-bg: var(--light-secondary); /* overwrites Bootstrap */
}
.table.table-artist td:first-of-type {
	color: transparent;
}
.table.table-artist td.head {
	color: inherit;
}
.table.table-artist td.head em {
	text-transform: none;
	font-weight: normal;
}
.table.table-artist th, .table.table-various th {
	width: 5%;
}
.table.table-artist th:first-of-type {
	width: 25%; /* artist override */
}
.table.table-artist th:nth-of-type(2) {
	width: 55%; /* title override */
}
.table.table-various th:first-of-type {
	width: 80%; /* vatious title override */
}
.table td em {
	font-size: 90%
}
.table td a:link, .table td a:visited {
	border-bottom: none;
}
.table td a:hover, .table td a:active {
	border-bottom: 1px solid var(--dark-secondary);
}
.table td a.head-bright:hover, .table td a.head-bright:active, .table td a.head-bright:focus {
	color: var(--tertiary) !important;
}
.table td a.head-bright:hover, .table td a.head-bright:active {
	border-bottom-color: var(--tertiary);
}
.table-narrow {
	width: 50%;
	margin-left: auto;
	margin-right: auto;
}
	
/* //////////////////// SECTION NAV AND BUTTON LINKS \\\\\\\\\\\\\\\\\\\\ */

#section-nav-top, #section-nav-bottom {
	margin-bottom: 1rem
}		
#section-nav-top a, #section-nav-bottom a, a.button, a.button:visited {
	background-color: var(--very-light-primary);
}
#section-nav-top a, #section-nav-bottom a {
	text-transform: uppercase;
	font-weight: var(--bold);
	border: var(--light-border);
	padding: 1px 3px;
	margin: 1px;
	line-height: 2.5;
	white-space: nowrap
}
.button {
	line-height: 1.5;
	margin-right: 5px;
	margin-top: 2px;
	padding: 0px 3px 0px 3px;
}
a.button:link, a.button:visited {
	border: 1px solid var(--very-dark-primary);
}
a.button:link, a.button:visited {
	border-bottom: 1px solid var(--dark-primary) !important;
}
a.button:hover, a.button:active, a.button:focus, #section-nav-top a:hover, #section-nav-top a:focus, #section-nav-bottom a:hover, #section-nav-bottom a:focus, #section-nav-top .active, #section-nav-top .active:hover, #section-nav-top .active:focus, #section-nav-bottom .active, #section-nav-bottom .active:hover, #section-nav-bottom .active:focus { 
	border: 1px solid var(--dark-secondary) !important;
	color: var(--dark-secondary);
	outline: none;
}
#section-nav-top a:hover, #section-nav-top a:focus, #section-nav-bottom a:hover, #section-nav-bottom a:focus, #section-nav-top .active, #section-nav-top .active:hover, #section-nav-top .active:focus, #section-nav-bottom .active, #section-nav-bottom .active:hover, #section-nav-bottom .active:focus {
	background-color: var(--light-secondary);
	padding: 6px 3px;
}
#section-nav-top .active, #section-nav-top .active:hover, #section-nav-bottom .active,  #section-nav-bottom .active:hover {
	/* the 'active' class is used by javascript to disable and highlight current page links */
	cursor: default;
	pointer-events: none;
}
a.button {
	float: right;
}
a.button:hover, a.button:active, a.button:focus {
	background-color: var(--lightest-neutral);
}

/* //////////////////// CAPTION BOXES \\\\\\\\\\\\\\\\\\\\ */

.caption-left, .caption-right {
	color: var(--medium-neutral);
	font-size: 90%;
	font-style: italic;
	margin-top: 0;
	margin-bottom: 0;
	text-align: center;
}
.caption-left {
	float: left;
	margin-right: .8rem;
	margin-left: 0;
}
.caption-right {
    float: right;
	margin-right: 0;
	margin-left: .8rem;
}
.caption-left, .caption-right {
	width: 40%;
}
.caption-left img, .caption-right img {
	border: var(--dark-border);
}

/* //////////////////// CALLOUT BOXES \\\\\\\\\\\\\\\\\\\\ */

.callout {
	width: 40%;
	margin: 0 0 .4rem .8rem;
	padding: 10px 10px 0;
    float: right;
	clear: right;
	border: var(--light-border);
	background-color: var(--very-light-neutral);
}
.callout h2 {
	font-size: inherit;
	color: var(--darkest-neutral);
}
.callout h3 {
	color: var(--dark-secondary);
}
.callout ol, .callout ul {
	margin-left: 25px;
	padding: 0px;
}

/* //////////////////// CAPSULE REVIEWS \\\\\\\\\\\\\\\\\\\\ */
/* images styled with floats, above */
.capsule {
	clear: both;
	margin-bottom: 1rem;
}
.capsule h4 {
	clear:left;
	padding-left: 2rem;
	font-weight: inherit;
	text-transform: uppercase;
	color: var(--darkest-neutral);
}
.capsule ul {
	list-style: none;
}

/* //////////////////// WIMPY BUTTON \\\\\\\\\\\\\\\\\\\\ */

.downloadPlayer {
	display: flex;
	align-items: center;
	margin-bottom: 1rem;
}
.downloadPlayer p {
	margin-bottom: 1rem;
}
.downloadPlayer div.WimpyButton {
	margin-right: 0.3rem;
    flex: 0 0 42px; /* fixes width of container equal to width of button */ 
}
.WimpyButton { /* overrides a Bootstrap reset */
	box-sizing: content-box;
}

/* //////////////////// COLUMNS \\\\\\\\\\\\\\\\\\\\ */
/* adds custom styles to Bootstrap columns */

.container-fluid.columns {
	padding-left: 0;
	padding-right: 0;
}
.container-fluid.columns .row div {
	border-right: var(--light-border);
}
.container-fluid.columns .row div:last-of-type {
	border-right: none;
}
@media only screen and (min-width: 768px) and (max-width: 850px), screen and (max-width: 575px) {
	.container-fluid.columns .row div.col-sm { /* two-column layout */
		border-right: none;
		flex: none;
	}
}
@media only screen and (max-width: 1200px) {
	.container-fluid.columns .row div.col-xl { /* three column layout */
		border-right: none;
	}
}

/* //////////////////// HIGHLIGHT BOXES \\\\\\\\\\\\\\\\\\\\ */
/* on this site, this is currently only used for the gift certificate include... */

.highlight {
 	background-color: var(--very-light-neutral);
	border: var(--light-border);
	margin: 0 10% 1rem;
	padding: .6rem;
}
.highlight h2 {
	font-size: inherit;
	color: var(--darkest-neutral);
}
.highlight h3 {
	color: var(--dark-secondary);
}
.highlight img {
	float: right;
	margin: 0 0 .4rem .6rem;
	max-width: 50%;
}
.highlight p:last-of-type {
	margin-bottom: 0;
}
.highlight p:last-of-type::after {
    display: block;
    clear: both;
    content: "";
}

/* //////////////////// FEATURED CONTENT \\\\\\\\\\\\\\\\\\\\ */
/* for videos and large pictures */

.featured {
 	margin: 0 10% 1rem;
	font-style: italic;
	font-size: 90%;
}

/* //////////////////// EXPAND BOXES / READ MORE \\\\\\\\\\\\\\\\\\\\ */

.expand-box {
 	background-color: var(--very-light-neutral);
	border: var(--dotted-border);
	margin: 5px 10px;
	padding: 5px;
}
.list-middle .expand-box {
	background-color: var(--lightest-neutral);
}
.list-middle .expand-box a:link, .list-middle .expand-box a:visited {
	border-bottom: 1px dotted var(--very-dark-primary);
}
.list-middle .expand-box a:hover, .list-middle .expand-box a:active {
	border-bottom: 1px solid var(--dark-secondary);
}
.list-middle .expand-box a:focus, .list-middle .expand-box a:focus {
	border-bottom: none;
}

/* #expand_link is the 'read more' link for long articles */
/* .expand-link can be used repeatedly under any specific ID */
a.expand-link:link, a.expand-link:visited, a#expand_link:link, a#expand_link:visited { 
	color: var(--dark-secondary);
	font-weight: var(--bold);
	border-bottom: none;
	white-space: nowrap;
}
a.expand-link:hover, a.expand-link:active, a#expand_link:hover, a#expand_link:active, .list-middle a.expand-link:hover, .list-middle a.expand-link:active {
	border-bottom: 1px solid var(--tertiary);
	color: var(--tertiary);
}
a.expand-link:focus, a#expand_link:focus {
	color: var(--tertiary);
	outline-color: var(--tertiary);
}
.offscreen { /* used by 'read more' javascript to hide content, though it could be used elsewhere */
	position: absolute !important;
	top: -9999px !important;
	left: -9999px !important;
}
#expand_content:not(.offscreen) {
    animation: fade-in 1s 1;
}

/* //////////////////// RIGHT SIDEBAR and SIDEBOXES (including media queries) \\\\\\\\\\\\\\\\\\\\ */

.sidebox {
	background-color: var(--very-light-primary);
	border: var(--light-border);
	margin-bottom: 10px;
}
.sidebox h2 {
	background-color: var(--light-primary);
	border-bottom: var(--light-border);
	font-size: 1.0rem;
	line-height: 1.0;
	text-transform: uppercase;
	color: var(--very-dark-primary);
	margin: 0;
}
.sidebox div, .sidebox h2, .sidebox2 div, .sidebox2 h2 {
	padding: 5px;
}
.sidebox p:last-of-type, .sidebox ul:last-of-type, .sidebox li:last-of-type {
	margin-bottom: 0;
}
.sidebox ul {
	list-style-type: none;
	padding-left: 0;
}
.sidebox ul ul {
	padding-left: 0.5rem;
}
.sidebox ul ul li{
    padding-left: 0.3rem;
}
.sidebox ul ul li::marker {
	content: "-";
}
.sidebox .spotlight, .sidebox2 .spotlight {
	text-align: center;
}
.sidebar {
	display: flex;
	flex-wrap: wrap;
}
.sidebox {
	width: 48.75%;
}
div.sidebox:nth-of-type(odd) {
	margin-right: 2.5%;
}
@media only screen and (min-width: 768px) and (max-width: 1160px), screen and (max-width: 379px) {
	.sidebar {
		display: block;
	}
	.sidebox {
	    width: 100%;
	}
}
	
/* //////////////////// ADS and AFFILIATES \\\\\\\\\\\\\\\\\\\\ */
/* Google media queries are embedded in those include files */

[id^=amzn_assoc_ad_div_adunit] {
	margin-bottom: 10px;
}
.amzn-native-brand.amzn-native-brand-bottom, [class^=amzn-native-search] {
	display: none !important;
}
.facebook-high, .facebook-low {
	display: block;
	margin-bottom: 10px;
}
#google-top, #google-page, #google-side {
	width: 100%;
}
#google-top, #google-page, #google-side, #google-top ins, #google-page ins, #google-side ins {
	text-align: center;
}
#google-top {
    margin: 10px 0 0;
}
#google-page {
	margin: 0 0 10px;
}
#google-side {
	display: block;
}

/* //////////////////// BOOTSTRAP OVERRIDES \\\\\\\\\\\\\\\\\\\\ */
/* there are more in the media queries... */
.btn-light {
    color: var(--darkest-neutral);
	background-color: var(--lightest-neutral);
	border:  var(--light-border);
}
.btn-sm {
	border-radius: var(--rounded-box);
    padding: .2rem .5rem;
}
.dropdown ul.show {
	animation: fade-in .1s  1;
	background-color: var(--extremely-light-neutral);
	box-shadow:	rgba(0, 0, 0, 0.15) 2px 2px 3px;
}
.form-control, .form-select {
    height: calc(1.0em + .75rem + 2px);
	line-height: 1.0;
}
header.container-fluid {
	padding-right: 0;
	padding-left: 0;
}
.nav-link {
    padding-top: .6rem;
	font-weight: var(--bold);
	text-transform: uppercase;
}
.nav-link:focus {
	outline: none;
}
.nav-link img {
    height: inherit;
    max-width: none;
	vertical-align: text-top;
	padding-bottom: 0;
}
.navbar {
	background-color: var(--light-primary);
	padding-top: 0;
	padding-bottom: 0;
}
.navbar-brand { /* use only after breakpoint */
	display: none !important;
	font-weight: var(--bold);
}
.navbar-brand:hover, .navbar-brand a:active, .navbar-brand a:focus {
	border-bottom: none;
	outline: none;
}
.navbar-light .navbar-toggler-icon {
	background-image: none;
    width: 2em;
    height: 2em;
}
.navbar-light .navbar-toggler {
    border-color: var(--very-dark-primary);
	border-color: rgba(24,38,160,0.7);
}
.navbar-light .navbar-toggler-icon {
    color: var(--very-dark-primary);
	color: rgba(24,38,160,0.7);
}
.navbar-light .navbar-toggler:hover, .navbar-light .navbar-toggler:active, .navbar-light .navbar-toggler:focus {
    border-color: var(--very-dark-primary);
	border-color: rgba(24,38,160,1.0);
	box-shadow: none;
}
.navbar-light .navbar-toggler-icon:hover,.navbar-light .navbar-toggler-icon:active, .navbar-light .navbar-toggler-icon:focus {
    color: var(--very-dark-primary);
	color: rgba(24,38,160,1.0);
}
.navbar-light .navbar-brand, .navbar-light .navbar-nav .nav-link, .navbar-light .navbar-nav .nav-link span {
    color: var(--very-dark-primary);
	color: rgba(24,38,160,1.0);
}
.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus, .navbar-light .navbar-nav .nav-link:focus, .navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus span, .navbar-light .navbar-nav .nav-link:hover span {
    color: var(--dark-secondary);
    color: rgba(153,0,0,1.0);
}
.navbar-toggler {
    padding: .25rem .7rem;
	background-color: var(--very-light-primary);
}
.tooltip-inner {
	max-width: 310px;
 	padding: 10px;
 	text-align: center;
 	border-radius: 0;
	background-color: var(--very-light-primary);
 	border: 1px solid var(--medium-neutral);
}
.tooltip.bs-tooltip-top .tooltip-arrow::before {
	border-top-color: var(--medium-neutral);
}
.tooltip.bs-tooltip-bottom .tooltip-arrow::before {
	border-bottom-color: var(--medium-neutral);
}
.tooltip.bs-tooltip-start .tooltip-arrow::before {
	border-left-color: var(--medium-neutral);
}
.tooltip.bs-tooltip-end .tooltip-arrow::before {
	border-right-color: var(--medium-neutral);
}
.tooltip.show {
	opacity: 1;
}
.tooltip { /* hack to prevent flickering on large links like images */
	pointer-events: none;
}

/* //////////////////// MEDIA QUERIES BEFORE BREAKPOINT \\\\\\\\\\\\\\\\\\\\ */

@media only screen and (min-width: 1501px) {
	#logo, .navbar, #content, footer {
		border-left: var(--light-border);
		border-right: var(--light-border);
	}
	#wrapper {
		margin-right: auto;
		margin-left: auto;
	}
}

@media only screen and (max-width: 1071px) {
	.navbar-expand-md .navbar-nav .nav-link {
	    padding-left: .3rem;
	    padding-right: .3rem;
	}
	.table-narrow {
		width: 65%;
	}
}

@media only screen and (max-width: 900px) {
	.table-narrow {
		width: 75%;
	}
}

@media only screen and (min-width: 768px) {
	#main-content {
		padding-right: 0
	}
	a.nav-link:link, a.nav-link:visited, a.nav-link:hover, a.nav-link:active, a.nav-link:focus { 
		border-bottom: none;
	}
	a.nav-link:hover, a.nav-link:active, a.nav-link:focus { 
		background-color: var(--light-secondary);
	}
	a.nav-link.img:hover, a.nav-link.img:active, a.nav-link.img:focus  {
		background-color: transparent;
	}
	.mobile-only { 
		display: none;
	}
	.navbar-expand-md .navbar-collapse {
 		justify-content: space-between;
	}
	#section-nav-bottom {
		margin-bottom: 0;
	}
	/* following makes Bootstrap dropdowns horizontal and styles them */
	.dropdown-menu {
		padding: 0 .3rem;
	}
	.dropdown-item:hover, .dropdown-item:focus {
	    color: var(--dark-secondary);
	    background-color: var(--light-secondary);
		border-bottom: 1px solid var(--light-secondary);
	}
	.navbar-nav .dropdown-menu {
    	width: max-content;
	}
	.dropdown-menu[data-bs-popper] {
	    margin-top: -.3rem;
		margin-left: -.3rem;
	}
	.dropdown-menu li {
		display: inline;
		float: left;
	}
	a.nav-link.dropdown-toggle {
		transition: ease-in .1s
	}
	.dropdown-item {
		font-weight: var(--bold);
		padding: .6rem;
	}
	aside div:last-child {
		position: sticky;
		top: 52px;
	}
	aside div.sidebox :last-child, aside span div:last-child {
		position: initial;
	}
}

@media only screen and (min-width: 768px) and (max-width: 1071px) {
	.nav-link, .dropdown-item, #section-nav-top, #section-nav-bottom {
		font-size: 90%;
	}
	a.nav-link.img {
		padding-top: 0.475rem;
		padding-bottom: 0.475rem;
	}
	#section-nav-top span, #section-nav-bottom span {
		font-size: inherit;
	}
	.highlight {
		margin: 0 1rem 1rem;
	}
	.callout, .caption-left, .caption-right {
		width: 40%
	}
	article img.float-left, article img.float-right {
		max-width: 40%
	}
}

@media only screen and (min-width: 768px) and (max-width: 881px) {
	.dropdown-item {
		padding: .4rem;
	}
	.callout, .caption-left, .caption-right {
		width: 44%
	}
	article img.float-left, article img.float-right {
		max-width: 44%
	}
}

/* //////////////////// MEDIA QUERIES AFTER MOBILE BREAKPOINT \\\\\\\\\\\\\\\\\\\\ */

@media only screen and (max-width: 767px) {
	/* this is where the menu collapses and logo disappears */
	#logo {
		position: absolute !important;
		top: -9999px !important;
		left: -9999px !important;
	}
	.navbar {
		padding-bottom: 0.5rem;
		padding-top: 0.5rem;
	}
	.navbar-brand {
		display: inline !important;
	}
	.navbar-nav {
		margin: 5px 0;
	}
	div.navbar-collapse.show {
	    padding-bottom: .25rem;
	}
	a.nav-link:link, a.nav-link:visited {
    	border-bottom: var(--tinted-border); 
	}
	a.nav-link:hover, a.nav-link:active, a.nav-link:focus {
        background-color: var(--light-secondary);
		border-bottom:  var(--tinted-border);
    }
	.nav-item:last-child .nav-link {
    	border-bottom: none;
	}
    #content { /* removes padding for full-width Google ads */
    	padding-bottom: 0;
    	padding-top: 0;
    }
	#section-nav-top, #section-nav-bottom, #section-nav-top span, #section-nav-bottom span {
		font-size: 90%
	}
	#section-nav-top span, #section-nav-bottom span {
		font-size: inherit;
	}
	.add-this {
		margin-top: 0;
	}
	.callout, .caption-left, .caption-right {
		width: 48%
	}
	article img.float-left, article img.float-right {
		max-width: 48%
	}
	.table-narrow {
		width: 65%;
	}
	.desktop-only {
		display: none;
	}
}

@media only screen and (max-width: 675px) {
	.table-narrow {
		width: 75%;
	}
}

@media only screen and (max-width: 575px) {
	#header img {
    	margin-left: 0;
    }
	#header h1, #header p {
    	margin-left: 100px;
	}
	.callout, .caption-left, .caption-right, article img.float-left, article img.float-right {
		float: none;
		margin: 0 10% 1rem;
	}
	.callout, .caption-left, .caption-right {
		width: 80%;
	}
	article img.float-left, article img.float-right {
		max-width: 80%;
	}
	.capsule a img {
		max-width: 25%;
	}
	.expand-box {
		margin: 5px 10px 5px 0;
	}
	.table-narrow {
		width: 100%;
	}
	.table.table-responsive tr, .table.table-responsive th, .table.table-responsive td {
		display: block;
	}
	.table.table-responsive thead tr:first-of-type {
		position: absolute;
		top: -9999px;
		left: -9999px;
	}
	.table.table-responsive th:before, .table.table-responsive td:before {
		content: attr(data-th) ": ";
		font-weight: var(--bold);
		text-transform: none;
	}
	.table.table-responsive tr {
		border-top-width: 2px;
		border-bottom: none;
	}
	.table.table-responsive td:first-of-type { /* hidden text mimics faux header in mobile view */
		color: var(--darkest-neutral);
		text-transform: uppercase;
		font-weight: var(--bold);
	}
	.table.table-responsive td:first-of-type em { /* exempts italic notes from above */
		text-transform: none;
		font-weight: normal;
	}
	.table.table-responsive td:last-of-type {
		border-bottom: none;
	}
	
}

@media only screen and (max-width: 468px) {
	.highlight, .callout, .caption-left, .caption-right, article img.float-left, article img.float-right {
		margin: 0 5% 1rem;
	}
	.highlight, .callout, .caption-left, .caption-right {
		width: 90%;
	}
	article img.float-left, article img.float-right {
		max-width: 90%;
	}
	.capsule a img {
		max-width: 40%;
	}
	.highlight img {
		clear: right;
	}
	ol.content-list, ul.content-list {
		padding-left: 1.5rem;
	}
}

@media only screen and (max-width: 379px) {
	.featured, .highlight, .callout, .caption-left, .caption-right, article img.float-left, article img.float-right {
		margin: 0 0 1rem;
	}
	.featured, .highlight, .callout, .caption-left, .caption-right {
		width: 100%;
	}
	article img.float-left, article img.float-right {
		max-width: 100%;
	}
	#introduction, #conclusion {
    	margin: 0 0 1rem;
	}
}