/* colors:
	red: #a42422;
	darker red: #691716;
	gray rules: #9d9d9c
	light gray: #ededed;
	
	family=Libre+Baskerville&family=Montserrat:ital,wght@0,400;0,600;1,400
 */
 
html, body, div, span, applet, object, input, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, select, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	vertical-align: baseline;
	background-repeat: no-repeat;
	background-position: 0 0;
}

*,
*::after,
*::before {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	padding: 0;
	margin: 0;
	background-repeat: no-repeat;
}

*:link, 
*:visited, 
*:hover, 
*:active,
*:focus { 
	-webkit-transition:
		border-color .5s linear,
		opacity .5s linear;
	transition:
		border-color .5s linear,
		opacity .5s linear;
}

:focus {
	outline: 1px #666 dotted;
	outline-offset: 5px;
}

html { 
	background-color: #fff;
	overflow-x: visible;
	overflow-y: scroll !important;
	font-size: 62.5%;
	height: 100%;
	scroll-behavior: smooth;
}

body { 
	text-align: center;
	color: #000;
	font-family: 'Montserrat', 'Arial', 'Helvetica', sans-serif;
	font-weight: 400;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	text-rendering: optimizeLegibility;
	background-color: #fff;
	font-size: 1.6rem;
	line-height: 1.6;
	position: relative !important;
	overflow-x: hidden;
	overflow-y: scroll !important;
	max-width: 100%;
	height: 100%;
}

bold,
strong { font-weight: 600; }

i,
em { font-style: italic; }

a,
a:link,
.link { 
	text-decoration: none;
	color: #a42422;
	outline: 0 none;
	cursor: pointer;
}

a:visited { color: #691716; }

a:hover,
a:active,
.link:hover { 
	text-decoration: underline;
	-webkit-transition: background 400ms ease;
	-moz-transition: background 400ms ease;
	-ms-transition: background 400ms ease;
	-o-transition: background 400ms ease;
	transition: background 400ms ease;
}

a:focus {  }

a.disabled { 
	opacity: 0.5;
	cursor: default;
}

a.disabled:hover { text-decoration: none; }

ul,
ol { 
   list-style-type: disc; 
   list-style-position: outside;
   margin: 10px 0 0 0;
   padding: 0 0 0 0;
}

ol { list-style-type: decimal; }

ul ul, 
ol ul { 
	margin: 0 0 9px 0;
	list-style-type: circle;
}

ol ol, 
ul ol { list-style-type: lower-latin; }

ul li,
ol li { 
	margin: 5px 0 0 2em;
	padding: 0;
}

ol li { padding-left: 5px; }

dl { margin: 10px 0 0 0; }

dt { 
	font-weight: 700;
	float: left;
	clear: left;
	margin: 0;
	padding: 5px 0.5em 0 0;
	text-transform: capitalize;
}

dt::after { content: "\003A"; }

dd { padding: 5px 0 0 0; }

blockquote,
q { quotes: none; }

blockquote::before,
blockquote::after,
q::before,
q::after {
	content: '';
	content: none;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section,
main { display: block; }

h1,
h2,
h3,
h4,
h5 { 
	font-weight: 600;
	line-height: 1.1;
	margin: 40px 0 0 0;
}

h1 {
	font-family: 'Libre Baskerville', Georgia, serif;
	font-weight: 400;
	font-size: 3.4rem;
	font-size: calc(0.7vw + 25.375px);
}

h2 { 
	font-size: 2.9rem;
	font-size: calc(0.8vw + 19px);
	font-family: 'Libre Baskerville', Georgia, serif;
	font-weight: 400;
	text-transform: uppercase;
}

h3 { 
	font-size: 2.7rem;
	font-size: calc(0.7vw + 18.375px);
}

h4 { font-size: 2.1rem; }

h5 { font-size: 1.8rem; }

p { margin: 25px 0 0 0; }

iframe { max-width: 100%; }

h1 + p,
h2 + p,
h3 + p,
h4 + p,
h5 + p,
h6 + p,
h1 + ul,
h2 + ul,
h3 + ul,
h4 + ul,
h5 + ul,
h6 + ul,
h1 + ol,
h2 + ol,
h3 + ol,
h4 + ol,
h5 + ol,
h6 + ol,
h1 + h1,
h1 + h2,
h1 + h3,
h1 + h4,
h1 + h5,
h1 + h6,
h2 + h1,
h2 + h2,
h2 + h3,
h2 + h4,
h2 + h5,
h2 + h6,
h3 + h1,
h3 + h2,
h3 + h3,
h3 + h4,
h3 + h5,
h3 + h6,
h4 + h1,
h4 + h2,
h4 + h3,
h4 + h4,
h4 + h5,
h4 + h6,
h5 + h1,
h5 + h2,
h5 + h3,
h5 + h4,
h5 + h5,
h5 + h6,
h6 + h1,
h6 + h2,
h6 + h3,
h6 + h4,
h6 + h5,
h6 + h6 { margin-top: 10px; }

h1 sup { 
	font-size: 50%;
	top: -0.75em;
}

img { 
	display: block; 
	max-width: 100%;
	width: auto;
	height: auto;
}

.caption,
figcaption { 
	font-size: 1.4rem;
	margin: 5px 0 10px 0;
}

input[type="email"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="text"],
input[type="url"],
input[type="number"],
select,
textarea,
textarea.form-control { 
	padding: 7px 10px;
	border: 1px #9d9d9c solid;
	font-size: 1.6rem;
	line-height: 1.1;
	background-color: #FFFFFF;
	-moz-border-radius: 4px;
	-webkit-border-radius: 4px;
	border-radius: 4px;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	resize: none;
	text-decoration: none;
	max-width: 100%;
	min-height: 39px;
}

.redactor-box.redactor-styles-on { border: 1px #9d9d9c solid !important; }

input.smaller[type="email"],
input.smaller[type="password"],
input.smaller[type="search"],
input.smaller[type="tel"],
input.smaller[type="text"],
input.smaller[type="url"],
input.smaller[type="number"],
select.smaller,
textarea.smaller,
textarea.form-control.smaller { max-width: 450px !important; }

form.submitted input:invalid,
form.submitted select:invalid,
form.submitted textarea:invalid {
	border: 1px #a42422 solid;
	outline: 0 none;
	box-shadow: 0 0 4px #a42422;
}

input + input,
textarea + textarea,
select + select,
.form-group .col-12 + .col-12 { margin-top: 5px; }

/*
input[type="email"]:invalid,
input[type="password"]:invalid,
input[type="search"]:invalid,
input[type="tel"]:invalid,
input[type="text"]:invalid,
input[type="url"]:invalid,
input[type="number"]:invalid,
select:invalid,
textarea:invalid,
input[type="email"]:-moz-ui-invalid,
input[type="password"]:-moz-ui-invalid,
input[type="search"]:-moz-ui-invalid,
input[type="tel"]:-moz-ui-invalid,
input[type="text"]:-moz-ui-invalid,
input[type="url"]:-moz-ui-invalid,
input[type="number"]:-moz-ui-invalid,
select:-moz-ui-invalid,
textarea:-moz-ui-invalid { 
	border: 1px #a42422 solid;
	outline: 0 none;
	box-shadow: 0 0 4px #a42422;
}
*/

input[type="text"]:disabled,
select option:disabled,
select option.disabled,
::placeholder,
.form-control::placeholder { color: #a0a0a0 !important; }

label[for="nav-trigger"]:hover,
.trigger:checked ~ label[for="nav-trigger"] {  }

label[for="nav-trigger"] { 
	display: block;
	position: absolute;
	z-index: 7;
	top: 15px;
	right: 15px;
	margin: 0;
	line-height: 1;
	/* background-color: #000000; */
	color: #a42422;
	cursor: pointer;
	width: 38px;
	height: 36px;
	border-radius: 0;
	border: 0 none;
	padding: 0;
	overflow: hidden;
}

.trigger { 
	position: absolute;
	clip: rect(0, 0, 0, 0);
}

label[for="nav-trigger"] span,
label[for="nav-trigger"] span::after,
label[for="nav-trigger"] span::before { 
	content: '';
	display: block;
	position: absolute;
	width: 38px;
	height: 6px;
	/* transition-timing-function: ease;
	transition-duration: .15s;
	transition-property: transform; */
	background-color: #000;
	transition: all 150ms ease;
}

.one-line { display: flex; }

.one-line > * { height: 30px; }

.one-line input { 
	border-radius: 0;
	width: 180px;
	height: 30px;
	min-height: unset;
}

.one-line button[type='submit'] { 
	background-color: #9d9d9c;
	color: #fff;
	white-space: nowrap;
}

.one-line button[type='submit']:hover,
.one-line button[type='submit']:active { background-color: #787876; }

.mag-icon {
	text-indent: -3000em;
	width: 30px;
	margin-left: -30px;
	background-position: 6px 6px;
	background-image: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' width='18px' height='18px' viewBox='0 0 18 18' style='overflow:visible;enable-background:new 0 0 18 18;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:none;stroke:%23ffffff;stroke-width:2;stroke-linecap:round;stroke-miterlimit:10;%7D .st1%7Bfill:%23ffffff;%7D%0A%3C/style%3E%3Cdefs%3E%3C/defs%3E%3Cline class='st0' x1='11.1' y1='11.1' x2='17' y2='17'/%3E%3Cg%3E%3Cpath class='st1' d='M6.5,1.5c2.8,0,5,2.2,5,5s-2.2,5-5,5s-5-2.2-5-5S3.7,1.5,6.5,1.5 M6.5,0C2.9,0,0,2.9,0,6.5S2.9,13,6.5,13 S13,10.1,13,6.5S10.1,0,6.5,0L6.5,0z'/%3E%3C/g%3E%3C/svg%3E%0A");
}

.mag-icon:hover,
.mag-icon:active { background-position: 7px 7px; }

label[for="nav-trigger"] span { 
	top: 15px;
	left: 0;
	text-indent: -5000em;
}

label[for="nav-trigger"] span::before { top: -15px; }
label[for="nav-trigger"] span::after { bottom: -15px; }

.trigger:checked ~ label[for="nav-trigger"] span,
.trigger:checked ~ label[for="nav-trigger"] span::after,
.trigger:checked ~ label[for="nav-trigger"] span::before { background-color: #000000; }

.trigger:checked ~ label[for="nav-trigger"] span { 
	transition-delay: .12s;
	transition-timing-function: cubic-bezier(.215,.61,.355,1);
	transform: rotate(45deg);
}

.trigger:checked ~ label[for="nav-trigger"] span::before { 
	top: 0;
	transition: top 75ms ease,opacity 75ms ease .12s;
	opacity: 0;
}

.trigger:checked ~ label[for="nav-trigger"] span::after { 
	bottom: 0;
	transition: bottom 75ms ease,transform 75ms cubic-bezier(.215,.61,.355,1) .12s;
	transform: rotate(-90deg);
}

blockquote.type-1 { margin: 25px 0 25px 0; }

blockquote.type-1 .quote,
blockquote.type-1 p:not(.speaker, .cite) {
	font-family: 'Libre Baskerville', Georgia, serif;
	font-size: 120%;
	text-align: center;
	line-height: 1.5;
	margin: 0 3%;
}

blockquote.type-1.bigger p:not(.speaker, .cite) { font-size: 140%; }

blockquote .cite,
blockquote .speaker {
	line-height: 1.3;
	margin: 6px 0 0 50%;
	text-align: left;
}

.fr .quote span::before,
.fr blockquote.type-1 .quote:before,
.fr blockquote.type-1 p:not(.speaker, .cite):before { content:'\00AB'; }

.fr .quote span::after,
.fr blockquote.type-1 .quote:after,
.fr blockquote.type-1 p:not(.speaker, .cite):after { content:'\00BB'; }


.en .quote span::before,
.en blockquote.type-1 .quote:before,
.en blockquote.type-1 p:not(.speaker, .cite):before { content: '\201C'; }

.en .quote span::after,
.en blockquote.type-1 .quote:after,
.en blockquote.type-1 p:not(.speaker, .cite):after { content: '\201D'; }

blockquote .speaker:before,
blockquote .cite:before {
	content: '\2014';
	display: inline-block;
	width: 1.1em;
	margin-left: -1.1em;
}

main { text-align: left; }

.page-width { 
	max-width: 1170px;
	margin-left: 15px;
	margin-right: 15px;
	text-align: left;
	overflow: hidden;
}

.page-width .page-width { 
	padding-left: 0;
	padding-right: 0;
	margin-right: 0;
	margin-left: 0;
}

#org-header { 
	position: relative;
	text-align: left;
	padding: 15px 0 20px 0;
}

#org-header .page-width { 
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: center;
	border-bottom: 1px #9d9d9c solid;
	overflow: visible;
}

#org-header .social-icons { margin: 0; }

#org-header .header-tools {
	display: flex;
	justify-content: space-between;
	flex: 1 0 auto;
}

.header-tools .contact { text-transform: uppercase; }

#org-header .header-tools .group-2 { 
	display: flex;
	flex-direction: column;
}

.header-tools .group-1 > * + *,
.header-tools .group-2 > * + * { margin-top: 5px; }

.header-tools .one-line input { 
	min-height: unset;
	width: 180px;
	font-size: 1.4rem;
}

.language-switcher ul {
	display: flex;
	list-style: none;
	padding: 0;
	margin: 0;
}

.language-switcher ul li {
	list-style: none;
	padding: 0;
	margin: 0;
}

.language-switcher ul li + li {	margin-left: 10px; }

.language-switcher ul li a {
	display: block;
	width: 30px;
	height: 21px;
	opacity: 1;
	overflow: hidden;
	text-indent: -10000em;
	background-size: 100% 100%;
	margin: 0 1px 1px 0;
}

.language-switcher ul li a:hover { 
	opacity: 0.6;
	margin: 1px 0 0 1px;
}

.language-switcher ul li.fr a { background-image: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' width='38px' height='26px' viewBox='0 0 38 26' style='overflow:visible;enable-background:new 0 0 38 26;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23F0F0F0;%7D .st1%7Bfill:%230052B5;%7D .st2%7Bfill:%23D90026;%7D%0A%3C/style%3E%3Cdefs%3E%3C/defs%3E%3Crect class='st0' width='38' height='26'/%3E%3Crect class='st1' width='12.7' height='26'/%3E%3Crect x='25.3' class='st2' width='12.7' height='26'/%3E%3C/svg%3E%0A"); }

.language-switcher ul li.en a { background-image: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' width='38px' height='26px' viewBox='0 0 38 26' style='overflow:visible;enable-background:new 0 0 38 26;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23F0F0F0;%7D .st1%7Bfill:%23D90026;%7D .st2%7Bfill:%230052B5;%7D%0A%3C/style%3E%3Cdefs%3E%3C/defs%3E%3Cg%3E%3Crect x='0' y='0' class='st0' width='38' height='26'/%3E%3Cpolygon class='st1' points='21.4,0 16.6,0 16.6,10.6 0,10.6 0,15.4 16.6,15.4 16.6,26 21.4,26 21.4,15.4 38,15.4 38,10.6 21.4,10.6 '/%3E%3Cpolygon class='st2' points='29.2,17.5 38,22.5 38,17.5 '/%3E%3Cpolygon class='st2' points='23.1,17.5 38,26 38,23.6 27.3,17.5 '/%3E%3Cpolygon class='st2' points='34,26 23.1,19.8 23.1,26 '/%3E%3Cpolygon class='st0' points='23.1,17.5 38,26 38,23.6 27.3,17.5 '/%3E%3Cpolygon class='st1' points='23.1,17.5 38,26 38,23.6 27.3,17.5 '/%3E%3Cpolygon class='st2' points='6.7,17.5 0,21.3 0,17.5 '/%3E%3Cpolygon class='st2' points='14.9,18.6 14.9,26 1.9,26 '/%3E%3Cpolygon class='st1' points='10.7,17.5 0,23.6 0,26 14.9,17.5 '/%3E%3Cpolygon class='st2' points='8.8,8.5 0,3.5 0,8.5 '/%3E%3Cpolygon class='st2' points='14.9,8.5 0,0 0,2.4 10.7,8.5 '/%3E%3Cpolygon class='st2' points='4,0 14.9,6.2 14.9,0 '/%3E%3Cpolygon class='st0' points='14.9,8.5 0,0 0,2.4 10.7,8.5 '/%3E%3Cpolygon class='st1' points='14.9,8.5 0,0 0,2.4 10.7,8.5 '/%3E%3Cpolygon class='st2' points='31.3,8.5 38,4.7 38,8.5 '/%3E%3Cpolygon class='st2' points='23.1,7.4 23.1,0 36.1,0 '/%3E%3Cpolygon class='st1' points='27.3,8.5 38,2.4 38,0 23.1,8.5 '/%3E%3C/g%3E%3C/svg%3E%0A"); }

#hdr-branding { 
	flex: 1 0 100%;
	max-width: 100%;
	margin: 5px 0 0 0;
}

#hdr-branding h2 { 
	font-family: 'Libre Baskerville', Georgia, serif;
	font-weight: 400;
	font-size: 30px;
	font-size: calc(2.2vw + 11.75px);
	text-align: center;
    line-height: 1.2;
    margin: 0;
    padding: 1.5% 0 1.5% 0;
}

#hdr-branding a { 
	display: block;
	color: #000;
}

#hdr-branding a:hover { text-decoration: none; }

#hdr-branding img { 
	display: block;
	width: 100%;
	height: auto !important;
	border-right: 1px transparent solid; /* this arbitrary style is what triggers JQuery scripts to add class="mobile" to body */
}

#hdr-branding .logo { 
	display: block;
	max-width: 141px;
    margin: 0 auto 0 auto;
    width: 30%;
}

/* #main-nav ul.page-menu */
#main-nav ul.page-menu { 
	display: block;
	max-width: 500px;
	position: absolute; 
	top: 0;
	right: 0;
	padding: 68px 15px 15px 15px;
	background-color: #ccc;
	z-index: 6;
	-webkit-font-smoothing: antialiased; /* to stop flickering of text in safari */
	transform: translate(105%, 0);
	transform-origin: 0% 0%;
	transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0);
}

#main-nav ul.page-menu.active,
#main-nav .trigger:checked ~ ul.menu { transform: none; }

#main-nav ul.page-menu li { font-size: 1.7rem; }

#main-nav ul.page-menu > li { border-top: 1px solid #ffffff; }

#main-nav ul.page-menu li a,
#main-nav ul.page-menu li span.menu-control { 
	display: block;
	padding: 10px 10px 10px 0;
	color: #000;
	text-decoration: none;
	text-transform: uppercase;
}

/*
.en #main-nav ul.page-menu > li > a,
.en #main-nav ul.page-menu > li > span.menu-control { text-transform: uppercase; }
*/

#main-nav ul.page-menu ul { 
	list-style: none;
	margin: -4px 0 5px 0;
	padding: 0;
}

#main-nav ul.page-menu li li { }

#main-nav ul.page-menu li li a { padding: 4px 11px 6px 20px; }

#main-nav ul.page-menu li.logged-in a { 
	background-color: rgba(0,0,0,0.5);
	color: #fff;
}

#main-nav ul.page-menu li.logged-in a:hover { 
	background-color: rgba(0,0,0,0.7);
	color: #fff;
}

#main-nav ul.page-menu li li a:hover { padding: 5px 10px 5px 21px; }

#main-nav ul.page-menu  .one-line input { 
	width: auto;
	font-size: 1.4rem;
}

/* other small screen changes for header */
#org-header .group-1,
#org-header .contact { display: none; }

#org-header .menu-search form {
	background: #000;
    padding: 15px 15px;
    margin: 10px -15px -15px -15px;
}

#org-header .menu-search form .form-group { margin: 5px 0; }

.page-title { }

.page-title > * { margin: 0; }

.social-icons {
	display: flex;
	list-style: none;
	margin: 10px -3px;
}

.social-icons li { 
	text-indent: -10000px;
	display: block;
	padding: 0 3px;
	margin: 0;
}

dt.social-icon span,
.social-icons li a {
	display: block;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	opacity: 1;
	background-color: #a42422;
	background-position: center center;
	margin: 0 1px 1px 0;
}

.social-icons li a:hover,
.social-icons li a:active { 
	opacity: 0.5;
	margin: 1px 0 0 1px;
}

dt.social-icon.facebook span,
.social-icons li a.facebook { background-image: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' width='9.8px' height='21px' viewBox='0 0 9.8 21' style='overflow:visible;enable-background:new 0 0 9.8 21;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23FFFFFF;%7D%0A%3C/style%3E%3Cdefs%3E%3C/defs%3E%3Cpath class='st0' d='M9.8,6.8H6.4V4.6c0-0.8,0.5-1,0.9-1h2.3V0L6.5,0C2.9,0,2.1,2.7,2.1,4.4v2.4H0v3.7h2.1V21h4.4V10.5h2.9L9.8,6.8z '/%3E%3C/svg%3E%0A"); }

dt.social-icon.twitter span,
.social-icons li a.twitter { background-image: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' width='18.6px' height='16.3px' viewBox='0 0 18.6 16.3' style='overflow:visible;enable-background:new 0 0 18.6 16.3;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23FFFFFF;%7D%0A%3C/style%3E%3Cdefs%3E%3C/defs%3E%3Cpath class='st0' d='M18.6,1.9c-0.7,0.3-1.4,0.5-2.2,0.6c0.8-0.5,1.4-1.3,1.7-2.3c-0.7,0.5-1.6,0.8-2.4,1C15,0.5,14,0,12.9,0 c-2.1,0-3.8,1.8-3.8,4.1c0,0.3,0,0.6,0.1,0.9C6,4.9,3.2,3.2,1.3,0.8C1,1.4,0.8,2.1,0.8,2.8c0,1.4,0.7,2.7,1.7,3.4 C1.8,6.2,1.3,6,0.7,5.7v0.1c0,2,1.3,3.6,3.1,4c-0.3,0.1-0.7,0.1-1,0.1c-0.2,0-0.5,0-0.7-0.1c0.5,1.6,1.9,2.8,3.6,2.9 c-1.3,1.1-3,1.8-4.7,1.8c-0.3,0-0.6,0-0.9-0.1c1.7,1.2,3.7,1.9,5.8,1.9c7,0,10.9-6.3,10.9-11.7c0-0.2,0-0.3,0-0.5 C17.4,3.5,18.1,2.7,18.6,1.9'/%3E%3C/svg%3E%0A"); }

dt.social-icon.instagram span,
.social-icons li a.instagram { background-image: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' width='18px' height='18px' viewBox='0 0 18 18' style='overflow:visible;enable-background:new 0 0 18 18;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23FFFFFF;%7D%0A%3C/style%3E%3Cdefs%3E%3C/defs%3E%3Cpath class='st0' d='M12,9c0,1.7-1.3,3-3,3c-1.7,0-3-1.3-3-3s1.3-3,3-3C10.7,6,12,7.4,12,9 M13.6,9c0-2.6-2.1-4.6-4.6-4.6 C6.5,4.4,4.4,6.5,4.4,9c0,2.6,2.1,4.6,4.6,4.6C11.6,13.6,13.6,11.6,13.6,9 M14.9,4.2c0-0.6-0.5-1.1-1.1-1.1s-1.1,0.5-1.1,1.1 c0,0.6,0.5,1.1,1.1,1.1S14.9,4.8,14.9,4.2 M15.4,15.4c-1.1,1.1-2.7,1-6.4,1c-3.8,0-5.3,0.1-6.4-1c-1.3-1.3-1-3.3-1-6.3 c0-4.2-0.4-7.1,3.7-7.4c1,0,1.2,0,3.6,0l0,0c4,0,7.1-0.4,7.3,3.7c0,1,0.1,1.2,0.1,3.6C16.4,12.7,16.5,14.2,15.4,15.4 M18,5.3 c-0.1-3.2-1.8-5.1-5.2-5.2C11.1,0,7,0,5.3,0.1C3.8,0.1,2.6,0.5,1.5,1.5C-0.2,3.2,0,5.6,0,9c0,3.5-0.2,5.8,1.5,7.5 C3.3,18.2,5.6,18,9,18c3.5,0,4.7,0,5.9-0.5c1.7-0.6,2.9-2.1,3.1-4.8C18.1,11.1,18,7,18,5.3'/%3E%3C/svg%3E%0A"); }

dt.social-icon {
	display:flex;
	justify-content: flex-end;
	align-items: flex-start;
}

dt.social-icon span { 
	text-indent: 10000px;
	overflow: hidden;
}

dt.social-icon::after { content: ''; }

.overlay { position: relative; }

.overlay .image-wrap { }

.overlay .image-wrap::after { 
	content: '';
	position: absolute;
	z-index: 1;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#000000+60,000000+100&0+60,0.7+100 */
	background: -moz-linear-gradient(top,  rgba(0,0,0,0) 60%, rgba(0,0,0,0.7) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top,  rgba(0,0,0,0) 60%,rgba(0,0,0,0.7) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom,  rgba(0,0,0,0) 60%,rgba(0,0,0,0.7) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#b3000000',GradientType=0 ); /* IE6-9 */
}

.overlay .image-wrap img {
	display: block;
	width: 100%;
	height: auto !important;
}

.overlay .text-wrap {
	position: absolute;
	bottom: 0;
	padding: 20px;
	z-index: 2;
	text-align: left;
}

img.grayscale { filter: grayscale(100%); }

img.low-brightness { filter: contrast(50%); }

.btn { 
	display: inline-block;
	font-size: 1.4rem;
	line-height: 1.3;
	font-weight: 600;
	padding: 4px 10px;
	background-color: #a42422;
	color: #ffffff !important;
	transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
	text-align: center;
	vertical-align: middle;
	border: 0 none;
	border-radius: 0;
	text-transform: uppercase;
}

.btn:hover,
.btn:active { 
	background-color: #691716;
	padding: 5px 9px 3px 11px;
	color: #ffffff !important;
}

.btn.big {
	font-size: 1.8rem;
	padding: 6px 15px;
}

/*

.one-line { display: flex; }

.one-line > * { height: 30px; }

.one-line > input { 
	border-radius: 0;
	padding-right: 30px;
}


*/

#page-content > section:first-child { margin-top: 4%; }

.slogan + .translated span {
    display: block;
    font-weight: 400;
    color: #9d9d9c;
    margin: 5px 0 20px 0;
}

.slogan + .translated::after {
	display: block;
	content: '\2767';
	font-size: 400%;
	font-style: normal;
    font-weight: 400;
	color: #000;
	line-height: 1;
	text-align: center;
}

.lead {
	font-size: 1.8rem;
	padding: 10px 0;
}

.red,
.warning { color: #a42422; }

a.warning,
.warning a { text-decoration: underline; }

.instruction { 
	font-size: 90%;
	font-style: italic;
}

.form-group .instruction { margin-top: 5px; }

.not-done { color: purple; }

.centered { text-align: center; }

.centered > img { margin: 0 auto 0 auto; }

.centered > h2 + img { margin-top: 15px; }

figure.align-center > img { margin: 10px auto 0 auto; }

.align-right,
.align-left { margin: 0 0 10px 0; }

dl.hanging-indents { 
	display: flex;
	flex-wrap: wrap;
	text-align: left;
}

dl.hanging-indents dt {
	flex: 0 0 100%;
	margin: 0;
	padding: 0;
	min-width: 100%;
}

dl.hanging-indents dd {
	flex: 0 0 100%;
	margin: 0 0 10px 0;
	padding: 0;
	width: 100%;
}

dl.hanging-indents p { margin: 0 0 5px 0; }

.text-cols {
	-webkit-columns: 4 150px;
	-moz-columns: 4 150px;
	columns: 4 150px;
}

ul.text-cols { /* list-style: none; */ }

ul.list-unstyled > li { margin-left: 0; }

.text-cols li,
.text-cols div.item {
	-webkit-column-break-inside: avoid;
	page-break-inside: avoid;
	break-inside: avoid-column;
	break-inside: avoid;
}

.text-cols > div { margin: 0 0 20px 0; }

.text-cols > li { /* margin-left: 0; */ }

.text-cols > li:first-child { margin-top: 0; }
 
.text-cols.three {
	-webkit-columns: 3 250px;
	-moz-columns: 3 250px;
	columns: 3 250px;
}
 
.text-cols.two {
	-webkit-columns: 2 300px;
	-moz-columns: 2 300px;
	columns: 2 300px;
}

.image-wrap img {
	display: block;
	max-width: 100%;
	width: auto;
	height: auto;
}

.image-wrap.no-photo img {
	object-fit: fill !important;
	padding: 20px !important;
	margin: 0 auto;
}

.boxed,
.search-box {
	border: 2px solid;
	padding: 15px;
	background-color: #fff;
}

.search-box.smaller { 
	max-width: 700px;
    margin-left: 15px;
    margin-right: 15px;
}

.boxed.tint-1 { border: 0 none; }

p + .boxed,
p + .search-box { margin-top: 30px; }

.search-box > h3:first-child { 
	text-align: center;
	margin-bottom: 15px;
	/* 	color: #a42422; */
	font-weight: 400;
}

#content-header { 
	padding-top: 5px;
	margin-bottom: 30px;
}

nav.breadcrumb + #content-header.has-menu { margin-top: 30px; }

#content-header.has-menu .image-wrap,
.content-type-1 .image-wrap,
section.banner-feature .image-wrap { 
	margin: 0 0 20px 0;
	position: relative;
	overflow: hidden;
	height: 40vw;
}

#content-header.has-menu .image-wrap img,
.content-type-1 .image-wrap img,
section.banner-feature .image-wrap img { 
    width: 100%;
    position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}

section.banner-feature.interview-single .image-wrap { background-color: #9d9d9c; }

section.banner-feature.interview-single .image-wrap img { width: auto; }

#content-header.has-logo .logo { margin: 0 0 15px 0; }

#content-header.has-logo .logo img { width: auto; }

#content-header.has-logo .logo + h1 { margin-top: 0; }

.content-type-1 form { text-align: left; }

.content-type-1 input,
.content-type-1 select,
.content-type-1 textarea { width: 100%; }

.sidebar-item > h3:first-child,
section > *:first-child,
.col > *:first-child,
.seller-desc .logo + *,
#content-header > *:first-child,
#content-header .text-wrap > *:first-child,
.boxed > *:first-child,
.search-box > *:first-child,
.content-type-1 .text-wrap > *:first-child,
.articles-summary .text-wrap > *:first-child,
.row > *[class^='col-'] > *:first-child,
.row > *[class^='col-'] > .text-wrap > *:first-child { margin-top: 0; }

.content-type-1 .form-group:last-of-type { margin-bottom: 0; }

#content-header h1 { text-transform: uppercase; }

.summary .item .text-wrap p { margin-top: 5px; }

.menu,
.menu ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.menu li {
	margin: 0;
	padding: 0;
}

.child-pages .menu {
	margin: 10px 0 0 0;
	padding-bottom: 5px;
	border-bottom: 1px #9d9d9c solid;
}

.child-pages .menu > li { 
	padding-top: 5px;
	border-top: 1px #9d9d9c solid;
}

.child-pages .menu a {
	display: block;
	padding: 6px 0;
	color: #000;
}

.child-pages .menu .current a { color: #a42422; }

.child-pages .menu a:hover {
	text-decoration: none;
	color: #a42422;
}

section {
	max-width: 1500px;
	margin-left: auto;
	margin-right: auto;
}

p + section,
section + section { margin-top: 30px; }

.w-100 img {
	width: 100%;
	height: auto;
	display: block;
}

.surhead {
	font-size: 1.8rem;
	font-size: calc(0.7vw + 13.375px);
	color: #9d9d9c;
	margin: 0 0 5px 0;
}

.surhead span { 
	display: inline-block;
	margin: 0 0 5px 0;
}

.surhead span:not(.cat-title) {
	text-transform: none;
	font-weight: 400;
}

.surhead span:not(:last-child)::after {
    display: inline-block;
    transform: rotate(25deg);
    border-right: 1px solid;
    content: '';
    margin: 0 .3em -.2em .6em;
    height: 1em;
    padding: 0;
}

section h2,
.section-head { 
	margin-top: 0;
    padding-top: 3px;
}

h3.section-head { margin-bottom: 20px; }

section .image-wrap + h2,
section figure + h2 { margin-top: 30px; }

h3.type-1 { font-weight: 400; }

#page-footer { 
    margin: 60px 0 0 0;
    padding-top: 30px;
    padding-bottom: 20px;
	font-size: 1.4rem;
	line-height: 1.3;
	background-color: #ededed;
}

#page-footer .content-wrap { width: 100%; }

#page-footer .logo a { display: block; }

#page-footer .logo img {
	display: block;
	width: 100px;
	height: auto;
	margin: 0 15px 10px 0;
}

#page-footer .org-name { 
	font-weight: 600;
	font-size: 1.7rem;
	line-height: 1.2;
	margin: 0 0 5px 0;
}

#page-footer .org-name span { display: block; }

/* #page-footer .org-desc { font-style: italic; } */

#page-footer .org-desc span { display: inline-block; }

#page-footer .legal { 
	font-size: 1.2rem;
	margin: 15px 0 0 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: baseline;
}

#page-footer .legal > * { 
	margin: 10px 0 0 0;
	flex: 0 0 100%;
}

#page-footer .legal > .low-emphasis,
#page-footer .legal > .credit { flex: 0 0 auto; }

.footer-menu h4 { 
	margin: 15px 0 3px 0 !important;
	font-size: 1.6rem;
}

.footer-menu-group .external-link { margin-top: 10px; }

.menu.low-emphasis,
#page-footer .legal > ul {
	margin: 10px 0 20px 0;
	display: flex;
	flex-wrap: wrap;
}

#page-footer .legal > ul {
	list-style: none;
	padding: 0;
}

#page-footer .legal > ul li {
	margin: 0;
	padding: 0;
}

.menu.low-emphasis a,
#page-footer .legal > ul a { color: inherit; }

.menu.low-emphasis > li + li,
#page-footer .legal > ul > li + li { 
	padding-left: 10px;
	margin-left: 10px;
	border-left: 1px #9d9d9c solid;
}

.footer-menu,
.footer-menu input[type="text"] { font-size: 1.4rem; }

#cookie-disclaimer {
	display: none;
	position: fixed;
	z-index: 5;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 20px 0 20px 0;
	background-color: #282828;
	color: #ffffff;
	-webkit-box-shadow: 2px -1px 9px 5px rgba(0,0,0,0.2);
	-moz-box-shadow: 2px -1px 9px 5px rgba(0,0,0,0.2);
	box-shadow: 2px -1px 9px 5px rgba(0,0,0,0.2);
}

.no-js #cookie-disclaimer { display: block; }

#cookie-disclaimer .page-width { text-align: center; }

#cookie-disclaimer .page-width > *:first-child { margin-top: 0; }

#cookie-disclaimer .page-width > p { margin: 3px 0 5px 0; }

#cookie-disclaimer a,
#cookie-disclaimer a:link { color: #dddddd; }

#cookie-disclaimer .btn { background-color: #8f8f8f; }

#cookie-disclaimer .btn:hover,
#cookie-disclaimer .btn:active { background-color: #707070; }

a.box-link { 
	display: block; 
	text-decoration: none;
	color: inherit;
}

a.box-link:hover { text-decoration: none; }

.summary { 
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 0 -15px -15px -15px;
}

.summary > .item { 
	flex: 0 0 100%;
	padding: 0 15px;
	margin: 0 0 15px 0;
}

.summary.wide-gutters {
	margin-left: -30px;
	margin-right: -30px;
}

.summary.wide-gutters > .item { padding: 0 30px; }

p + .summary { margin-top: 30px; }

.summary.text-rows { margin-bottom: 15px; }

.summary.text-rows .item {
    margin: 10px 0 0 0;
    width: 100%;
	overflow: hidden;
	line-height: 1.3;
}

.summary.text-rows .item + .item {
    padding-top: 10px;
	border-top: 1px #9d9d9c solid;
}

.summary.text-rows .image-wrap {
	float: right;
	margin: 0 0 5px 20px;
	width: 40%;
	height: 100%;
	max-width: 170px;
	max-height: 125px;
}

.seller-desc .logo img,
.summary.text-rows .image-wrap img {
	max-height: 100%;
	margin: 0 0 0 auto;
}

.summary.text-rows .email a,
.summary.text-rows .phone a,
.summary.text-rows .website a { color: inherit; }

.articles-summary:not(.page-width .articles-summary) { 
	margin-left: 0;
	margin-right: 0;
}

.articles-summary > h2,
.articles-summary > .more { text-align: center; }

.articles-summary .item { 
	margin: 0 0 15px 0;
	text-align: left;
}

.articles-summary:not(.labels-only) .item + .item > *:first-child { 
	padding-top: 20px;
	border-top: 1px #9d9d9c solid;
}

.articles-summary:not(.labels-only) .image-wrap {
	width: 35%;
	float: right;
	margin: 5px 0 5px 20px;
}

.articles-summary.labels-only a.box-link { position: relative; }

.articles-summary.labels-only a.box-link > .text-wrap {
	position: absolute;
	bottom: 0;
	padding: 5px 10px;
	background: rgba(255,255,255,0.85);
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: baseline;
}

.articles-summary.labels-only h3 { font-weight: 400; }

.date + .desc { margin-top: 5px; }

.article-title { font-weight: 600; }

.article-author {}

.desc {}

.date { color: #a42422; }

img.grayscale,
.grayscale img { filter: grayscale(100%); }

.books .image-wrap,
.circle .image-wrap,
.square .image-wrap,
.portrait .image-wrap,
.rect .image-wrap {
	overflow: hidden;
	margin: 0 auto 10px auto;
	position: relative;
	color: #fff;
	text-align: center;
}

.circle .image-wrap,
img.circle {
	border-radius: 50%;
	overflow: hidden;
	position: relative;
}

.circle .image-wrap::after {
	content: '';
	float: left;
	padding-top: 100%;
}

.circle .image-wrap.no-photo img { padding: 0 !important; }

.square .image-wrap,
.portrait .image-wrap,
.rect .image-wrap { background-color: #ededed; }

.square .image-wrap::after,
.portrait .image-wrap::after,
.rect .image-wrap::after {
	padding-top: 100%;
	float: left;
	content: '';
}

.rect .image-wrap::after { padding-top: 70%; }

.summary.portrait a.box-link {
	display: flex;
	align-items: center;
	max-width: 450px;
	margin: 0 auto;
}

.summary.portrait a.box-link .image-wrap {
	flex: 0 0 30%;
	margin: 0 20px 0 0;
}

.summary.portrait a.box-link .text-wrap { flex: 1 0 70%; }

.portrait .image-wrap::after { 
	padding-top: 125%;
	max-width: 180px;
}

.books .image-wrap { max-width: 180px; }

.books .image-wrap::after {
	padding-top: 114%;
	float: left;
	content: '';
}

.books .image-wrap img {
	position: absolute;
	max-height: 100%;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}

.circle .image-wrap img,
.portrait .image-wrap img,
.square .image-wrap img,
.rect .image-wrap img {
	position: absolute;
	left: 0;
	top: 0;
	object-fit: cover;
	max-height: 100%;
	min-width: 100%;
	min-height: 100%;
}

.podcast .image-wrap::before {
	content: '';
	position: absolute;
	bottom: 10px;
	right: 10px;
	z-index: 2;
	width: 25%;
	height: 35.7%;
	max-width: 100px;
	max-height: 100px;
	background-image: url('../images/podcast-icon.png');
	background-size: 100% 100%;
	transform: rotate(10deg);
}

.ilab-sponsored .image-wrap::before {
	content: '';
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 2;
	width: 25%;
	height: 35.7%;
	max-width: 100px;
	max-height: 100px;
	background-image: url('../images/ILAB-logo-color.svg');
	background-size: 100% 100%;
}

.ilab-callout {
	display: inline-block;
	font-size: 1.4rem;
	font-weight: 600;
	padding: 2px 15px;
	margin: 3px;
	border-radius: 15px;
	color: #fff;
	background-color: #a42422;
}

.summary.interviews .image-wrap { width: 150px; }

.summary.interviews .desc { 
	font-size: 1.6rem;
	line-height: 1.3;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;  
	overflow: hidden;
}

.summary .article-title,
.summary .title,
.summary .author { 
	font-size: 1.6rem;
	line-height: 1.3;
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;  
	overflow: hidden;
}

.horiz-scroll {
	display: flex;
	flex-wrap: nowrap;
	overflow-x: scroll;
}

.horiz-scroll .item { 
	flex: 0 0 41%; /* size is intentionally leaving a bit hanging off right side as visual clue to scroll */
	max-width: 41%; 
	padding: 0 25px;
	position: relative;
}

.horiz-scroll .image-wrap { margin-bottom: 10px; }

.horiz-scroll .text-wrap > *:first-child { margin-top: 0; }

.horiz-scroll.timeline { 
	background-color: #ededed;
	padding: 0 0 20px 0;
	margin: 20px 0 30px 0;
}

.horiz-scroll.timeline .item { padding: 0; }

.horiz-scroll.timeline a.box-link::before {
	content: '';
	position: absolute;
	width: 100%;
	padding-bottom: calc(37% - 5px);
	background-color: #fff;
	border-bottom: 10px #a42422 solid;
	top: 0;
	right: 0;
	left: 0;
}

.horiz-scroll.timeline .image-wrap { max-width: 74%; }

.horiz-scroll.timeline .text-wrap {
	padding: 0 calc(6% + 2px) 0 6%;
	margin: 0 0 0 -2px;
	border-left: 2px #9d9d9c solid;
	font-size: 1.4rem;
}

.mt,
h2 + .summary { margin-top: 20px; }

.mb { margin-bottom: 20px; }

.mb-smaller { margin-bottom: 10px; }

.mt-bigger { margin-top: 30px; }

.mb { margin-bottom: 20px; }

.mb-bigger { margin-bottom: 30px; }

.mr { margin-right: 15px; }

.ml { margin-left: 15px; }

.more { margin-top: 5px; }

a:hover .more,
.more a:hover,
a.more:hover { color: #a42422; }

a .more,
.more a,
a.more { 
	color: inherit;
	text-decoration: none;
}

a .more::after,
.more a::after,
a.more::after { 
	display: inline-block;
	padding: 0 0 0 5px;
	content: '\003E\003E\003E';
	color: #a42422;
	font-weight: 600;
	letter-spacing: 0.25em;
}

.summary + .more { margin-top: 20px; }

.tint-1 { background-color: #ededed; }

section.full-width { padding: 50px 0; }
	
.narrow { 
	max-width: 900px;
	overflow: hidden;
	margin-left: auto;
	margin-right: auto;
}

.roster { line-height: 1.4; }

.roster .name { font-weight: 600; }

.roster .biz-hours { margin-top: 5px; }

.roster .summary .item { margin-bottom: 20px; }

.roster .image-wrap {
	margin: 0 auto 10px auto;
	width: 22%;
	max-width: 162px;
	min-width: 100px;
}

.roster .text-wrap > h4 { margin: 0 0 5px 0; }

.summary > h2,
.summary > h3,
.summary > h4,
.summary > h5 { 
	flex: 0 0 100%;
	margin-bottom: 20px;
}

nav.breadcrumb {
    display: block;
    background-color: transparent;
    padding: 0;
	margin-top: 0;
	margin-bottom: 20px;
}

nav.breadcrumb ol {
    margin: 0;
    padding-left: 0;
    list-style: none;
    font-size: 1.2rem;
    text-transform: uppercase;
    font-weight: 400;
}

nav.breadcrumb li {
    display: inline-block;
    margin: 0;
    padding: 0;
    max-width: 250px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

nav.breadcrumb li + li::before {
    display: inline-block;
    transform: rotate(25deg);
    border-right: 1px solid;
    content: '';
    margin: 0 .6em -.2em .5em;
    height: 1em;
    padding: 0;
}

.term { color: #9d9d9c; }

#content-header h1 + .search-terms { 
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	margin: 10px 0 0 0;
}

#content-header h1 + .search-terms span { 
	display: inline-block;
	margin: 0 15px 0 0;
}

#content-header .article-meta { margin: 10px 0 0 0; }

.form-control {
    font-size: 1.6rem;
    color: #1a1a1a;
    border: 1px #9d9d9c solid;
    border-radius: 4px;
}

.to-separated {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.to-separated .form-control {
	flex: 1 1 auto;
	width: calc(50% - 30px);
}

.to-separated .form-to {
	text-align: center;
	flex: 0 0 auto;
	width: 30px;
	font-size: 80%;
}

.label-left .form-group.submit .btn { margin-top: 10px; }

.form-check {
    position: relative;
    padding-left: 30px;
    line-height: 1.2;
    margin-top: 5px !important;
}

.form-check input[type="checkbox"] {
	position: absolute;
	left: 0;
	top: 0;
	width: 20px;
	height: 20px;
	
}

.form-check input[type="radio"] {
	position: absolute;
	left: 0;
	top: 5px;
}

ul.pagination li { margin-left: 1.5em; }

ul.pagination li:first-child { margin-left: 0; }

.results-controls {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #ced4da;
    border-top: 1px solid #ced4da;
    padding: 10px 0;
}

.results-controls + .summary { 
	margin-top: 20px;
	margin-bottom: 30px;
}

.results-controls .pagination {
    order: 3;
    width: 100%;
    flex: 2 1 auto;
    margin: 5px 0 0 0;
    justify-content: center;
}

.results-controls .pagination .divider::before { content: '\2026'; }

.results-controls .form-control {
    width: auto;
    margin: 0;
    font-size: 1.2rem;
    height: auto;
    min-height: 0;
}

.results-controls .form-group { margin: 0; }

.results-controls .form-group:last-child > * { margin: 0 0 0 auto; }

.results-controls .form-group label { padding: 0; }

.errors,
.invalid-feedback { color: #a42422; }

.notice { color: #2a8438; }

.form-group + .invalid-feedback,
.form-group + .feedback { margin: -5px 0 10px 0; }

section.banner-feature,
section.banner-feature > a.box-link {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

section.banner-feature > a.box-link { width: 100%; }

section.banner-feature .image-wrap {
	margin: 30px auto 0 auto;
	width: 60vw;
}

section.banner-feature:not(.interview-single) .image-wrap img {
	min-width: 100%;
	min-height: 100%;
	object-fit: cover;
}

section.banner-feature .text-wrap { 
	text-align: center;
	line-height: 1.3;
	padding: 20px;
}

section.banner-feature .event-name,
section.banner-feature h3 {
	font-size: 28px;
	font-weight: 600;
	margin: 10px 0 0 0;
}

section.banner-feature .country,
section.banner-feature .dates { 
	font-size: 20px;
	font-weight: 600;
}

section.banner-feature .article-title + .date { margin-top: 10px; }

section.banner-feature .desc { margin-top: 15px; }

.featured-summary {
	padding: 20px;
	background-color: #ededed;
}

.featured-summary .books .image-wrap { max-width: 250px; }

.smartmap-mapcanvas::after {
    content: '';
    display: block;
    float: left;
    padding-top: 100%;
}

.seller-desc { 
	overflow: hidden;
	margin: 20px 0 0 0;
	padding: 20px 0;
	border-top: 1px #9d9d9c solid;
	border-bottom: 1px #9d9d9c solid;
}

.seller-desc .logo { 
	float: left;
	margin: 0 20px 5px 0;
	width: 40%;
	height: 100%;
	max-width: 170px;
	/* 	max-height: 150px; */
}

.seller-desc .logo img { margin: 0; }

.seller-desc p { margin-top: 0; }

h2 + .long-summary { margin-top: 10px; }

.welcome {
	font-size: 2.7rem;
	font-size: calc(0.7vw + 18.375px);
	padding: 30px 0;
	border-top: 1px #9d9d9c solid;
}

.history-summary > .row { padding-bottom: 30px; }

.history-summary > .row + .row {
	padding-top: 30px;
	border-top: 1px #9d9d9c solid;
}

.history-summary .title,
.history-summary .subtitle,
.history-summary .long-summary h3,
.history-summary .long-summary h4,
.history-summary .long-summary h5 { text-align: center; }

.history-summary .title,
.breslauer-archive .year {
	font-family: 'Libre Baskerville', Georgia, serif;
	font-weight: 400;
	font-size: 2.8rem;
}

.history-summary .long-summary > *:first-child { margin-top: 0; }

.history-summary .long-summary,
.history-summary .long-summary p,
.history-summary .long-summary h3,
.history-summary .long-summary h4,
.history-summary .long-summary h5 { margin-top: 10px; }

.history-summary .long-summary h3 {font-size: 2.1rem; }
.history-summary .long-summary h4 {font-size: 1.9rem; }


.articles-summary .item.event { line-height: 1.3; }
	
.summary .event .country {
	text-transform: uppercase;
	font-weight: 600;
	font-size: 120%;
}

.summary .event .event-name { font-size: 120%; }

.summary .event .dates { 
	margin: 3px 0 0 0;
	color: #a42422;
}

.info-box {
	padding: 25px;
	outline-offset: -10px;
	outline: 1px #fff solid;
	background-color: #a42422;
	color: #fff;
	line-height: 1.3;
}

.info-box a { 
	color: #fff;
	text-decoration: underline;
}

.info-box header { 
	font-weight: 600;
	font-size: 135%;
	margin: 0 0 15px 0;
	padding: 0 0 15px 0;
	border-bottom: 1px #fff solid;
}

section.hr-divided {
	margin-top: 30px;
	padding-top: 30px;
	border-top: 1px #9d9d9c solid;
}

.hidden-content {
	overflow: hidden;
	position: relative;
    -webkit-transition: all 500ms linear 0ms; /* For Safari 3.1 to 6.0 */
    transition: all 500ms linear 0ms;
	min-width: 150px;
}

.hidden-content * { margin: 0; }

.hidden-content .open {
	width: 100%;
	position: absolute;
	bottom: 0;
	/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#ffffff+0,ffffff+100&0+0,0.8+72,1+100 */
	background: -moz-linear-gradient(top,  rgba(255,255,255,0) 0%, rgba(255,255,255,0.8) 72%, rgba(255,255,255,1) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top,  rgba(255,255,255,0) 0%,rgba(255,255,255,0.8) 72%,rgba(255,255,255,1) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom,  rgba(255,255,255,0) 0%,rgba(255,255,255,0.8) 72%,rgba(255,255,255,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ffffff',GradientType=0 ); /* IE6-9 */
	cursor: pointer;
	z-index: 1;
	overflow: hidden;
	color: #00ACEE !important;
	padding: 13px 0 2px 0;
}

.hidden-content .open::after { 
	display: inline-block;
	content: '\005B\002B\005D';
	padding: 0 5px 0 0;
	background-color: #fff;
}

.hidden-content.active { 
	max-height: 2000px !important;
	padding-bottom: 1.25em;
}

.hidden-content.active .open { background: transparent; }

/* .hidden-content.active .open::before, */
.hidden-content.active .open::after { content: '\005B\2013\005D'; }

/* type-1: books on top, desc below */

.summary.type-1 > .item { margin-bottom: 25px; }

.summary.type-1 .text-wrap { 
	line-height: 1.2;
	font-size: 90%;
}

.summary.type-1 .image-wrap,
.summary.books.type-2.books .image-wrap {
	margin: 1px 1px 10px 1px;
	transition: all .5s;
	transform-origin: bottom left;
	background-color: #fff;
	outline: 1px #D1DBDE solid;
	/* 	border: 7px #fff solid; */
	max-width: 420px;
    position: relative;
    overflow: hidden;
}

.summary.books .text-wrap { line-height: 1.2; }
.summary.books .text-wrap > div + div { margin-top: 4px; }

.summary.type-1.count-1 .image-wrap { max-width: 414px; }

.summary.type-1 .image-wrap::after,
.summary.books.type-2 .image-wrap::after {
	content: '';
	float: left;
	padding-top: 114%;
}

.summary.type-1 .image-wrap img,
.summary.books.type-2 .image-wrap img {
	display: block;
	position: absolute;
	width: auto !important;
	height: auto !important;
	max-width: 100%;
	max-height: 100%;
	max-width: calc(100% - 14px);
	max-height: calc(100% - 14px);
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}

.summary.type-1 .price-box,
.summary.type-1 .term-wrapper,
.summary.type-1 .description { display: none; }

.summary.type-3 {
	border-top: 1px #9d9d9c solid;
	margin: 0;
	display: block;
	overflow: hidden;
}

.summary.type-3 > .item {
 	border-bottom: 1px #9d9d9c solid;
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	margin: 0 -10px 10px -10px;
	padding: 10px 0;
}

.summary.type-3 > .item > * { 
	padding-left: 10px;
	padding-right: 10px;
}

.summary.type-3 .image-wrap.logo {
	flex: 0 0 75px;
	max-width: 75px;
}

.summary.type-3 .text-wrap { }

.summary.type-3 .image-wrap img { margin: 5px auto; }

.no-photo-wrap {
	padding: 10px;
	font-style: italic;
	text-align: center;
}

.summary.type-1 .image-wrap .no-photo-wrap,
.summary.type-2 .image-wrap .no-photo-wrap,
.carousel-item .no-photo-wrap {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	background-color: #eeeeee;
	margin: 7px;
}

.title + .author,
.offered-by,
.purchase-options { margin: 5px 0 0 0; }

.purchase-options ul,
.purchase-options ul li {
	margin: 0;
	padding: 0;
	list-style: none;
}

.purchase-options ul li { }

span.price { white-space: nowrap; }

span.currency-symbol { 
	display: inline-block;
	padding-right: 3px;
}

.topics {
	line-height: 1.2;
	margin-bottom: 5px;
}

.topic { 
	text-transform: uppercase;
	color: #a42422;
	font-weight: 600;
	font-size: 90%;
}

.topics .topic:not(:last-child)::after {
    display: inline-block;
    transform: rotate(25deg);
    border-right: 1px solid;
    content: '';
    margin: 0 .3em -.2em .6em;
    height: 1em;
    padding: 0;
}

.summary.associations .country { 
	text-transform: uppercase;
	font-weight: 600;
}

.image-wrap.hero {
	overflow: hidden;
	position: relative;
	max-height: 50vh;
}

.image-wrap.hero::after {
	content: '';
	float: left;
	padding-top: 75%;
}

.image-wrap.hero img {
	display: block;
	position: absolute;
	width: auto !important;
	height: auto !important;
	min-width: 100%; /* force it to cover box */
	min-height: 100%;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}

.event-cat {
	display: inline-block;
	font-size: 1.4rem;
	font-weight: 600;
	padding: 2px 15px;
	margin: 3px;
	border-radius: 15px;
	color: #fff;
	background-color: #a42422;
}

.has-sidebar { 
	display: flex;
	flex-wrap: wrap;
}

#primary > *:first-child,
#secondary > *:first-child { margin-top: 10px; }

#secondary { 
	padding-top: 20px;
	margin: 30px 0 0 0;
	border-top: 1px #9d9d9c solid;
}

h3 + form,
h4 + form { margin-top: 20px; }

.bookseller-summary .business { text-transform: uppercase; }

.intro + div { margin-top: 30px; }

.single-column { }

.single-column .image-wrap { 
	position: relative;
	overflow: hidden;
}

.single-column .image-wrap::after {
	padding-top: 50%;
	float: left;
	content: '';
}

.single-column .image-wrap img {
	position: absolute;
	max-width: 100%;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}

.single-column .text-wrap {}

.single-column .image-wrap + .text-wrap { margin-top: 20px; }

.single-column .text-wrap > div { margin-top: 10px; }

.main-event .event-name {}

.main-event .dates { 
	color: #a42422;
	font-size: 125%;
	font-weight: 600;
}

.main-event .location { }

.location .city + .country::before { content: ', '; }

#secondary .sidebar-item > h3:first-child { 
	margin-bottom: 20px;
	font-size: 2.7rem;
}

div.social-share {
    display: flex;
    align-items: center;
    margin: 10px 0 10px 0;
}

div.social-share h5 { margin: 0 10px 2px 0; }

#secondary .summary .item { 
	flex: 0 0 50%;
	max-width: 50%;
}

form .credit { font-size: 70%; } /* vialibri credit */

#page-footer .credit { font-size: 90%; } /* biblio credit */

.centered > figure img { margin: 0 auto; }

.breslauer .hero { margin-bottom: 57px; }

.breslauer .more-text > .centered *:first-child { margin-top: 0; }

.breslauer h1,
.breslauer a .more::after, 
.breslauer .more a::after,
.breslauer a.more::after,
.breslauer blockquote.type-1 { color: #8C7236; }

.breslauer .summary.type-1 .text-wrap { 
	font-size: 100%;
	line-height: 1.2;
}

.breslauer .summary.type-1 .title,
.breslauer .summary.type-1 .subtitle { 
	font-size: 110%;
	font-weight: 600;
}

.breslauer .summary.type-1 .author { margin-top: 3px; }

.banner {
	position: absolute;
	top: 0;
	left: 0;
	background-color: #8C7236;
	box-shadow: 0 2px 5px rgba(0,0,0,0.75);
	text-align: center;
	font-size: 1.4rem;
	font-weight: 600;
	color: #fff;
	line-height: 1;
	transform: rotate(-45deg);
	padding: 4px 30px;
	width: 165px;
	transform-origin: 90px 77px;
	z-index: 4;
}

.banner.awd-1st-place-winner { background-color: #a42422; }
.banner.awd-2nd-place-winner { background-color: #007ba7; }
.banner.awd-3rd-place-winner { background-color: #8C7236; }

.background-compositor { margin-bottom: -29px; } /* CC: not sure why this is necessary... very weird layout bug I couldn't figure out */

.background-compositor a.box-link { 
	overflow: hidden; 
	position: relative; 
	background-color: #691716; 
	display: flex; 
	align-items: stretch;
	justify-content: space-between;
	min-height: 150px;
}

.background-compositor .background-images { 
	display: flex; 
	position: absolute; 
	overflow: hidden; 
	z-index: 0;
	top: 0;
	bottom: 0;
	left: 0;
}

.background-compositor .background-images img { width: auto; }

.background-compositor .text-wrap { 
	position: absolute; 
	z-index: 1;
	top: 0;
	bottom: 0;
	right: 0; 
	display: flex;
	align-items: center;
	padding: 20px; 
	background-color: #000; 
	color: #fff;
	flex-direction: column;
	justify-content: center;
}

.background-compositor .text-wrap > *:first-child { margin-top: 0; }

.breslauer-dates ul { 
	list-style: none;
	margin: 10px 0 0 0;
}

.breslauer-dates ul li { 
	font-size: 120%;
	margin: 5px 0 0 0;
}

.page-home .welcome { 
	font-family: 'Libre Baskerville', Georgia, serif;
	margin-bottom: 25px;
}

.text-wrap + .video { margin-top: 30px; }

.photo-grid { 
	align-items: center;
	justify-content: center;
	margin: 0 -5px 15px -5px;
}

.photo-grid > div { 
	padding: 0 5px;
	margin: 0 0 15px 0;
}

.photo-grid img { margin: 0 auto; }

/* slideshow */
.carousel-inner { max-height: calc((100vw - 30px) / 1.8); }

.carousel-item > * { margin: 0 auto; }

.carousel-control {
	top: calc(50% - 20px);
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background-color: rgba(0,0,0,0.9);
}

.carousel-control-next { right: 15px; }

.carousel-control-prev { left: 15px; }

.carousel-indicators { 
	position: static;
	flex-wrap: wrap;
	margin: 20px 0;
}

.carousel-indicators li {
	height: 75px;
	width: auto;
	border: 0 none;
}

.carousel-indicators li img { height: 75px; }

button.close { font-size: 3.0rem; }

.collapse > .boxed { position: relative; }

.collapse > .boxed button.close { 
	position: absolute;
	top: 5px;
	right: 10px;
}

.summary .overview { 
	display: flex;
	align-items: center;
}

.summary .overview .image-wrap {
	flex: 0 0 75px;
	max-width: 75px;
	margin: 1px 20px 1px 1px;
	font-size: 11px;
	line-height: 1.1;
}

button.btn.control { font-size: 1.2rem; }

.summary .overview button.btn.control { margin: 10px 0 0 0; }

ul.pseudo-checkboxes > li {
	padding: 0 0 0 26px;
	margin: 3px 0 0 0;
	position: relative;
	list-style: none;
	overflow: hidden;
}

ul.pseudo-checkboxes > li > span.checkbox,
ul.pseudo-checkboxes > li > a { 
	display: inline-block;
	color: inherit;
}

ul.pseudo-checkboxes > li > a:hover { text-decoration: none; }

ul.pseudo-checkboxes > li > span.checkbox::before,
ul.pseudo-checkboxes > li > a::before { 
	content:'';
	display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.0rem;
    line-height: 1.1;
    font-weight: 600;
    vertical-align: middle;
    padding-bottom: 2px;
    width: 20px;
	height: 20px;
	border: 2px #5e5e5e solid;
	position: absolute;
	left: 0;
	top: 3px;
	background-color: #FFFFFF;
}

ul.pseudo-checkboxes > li.checked > span.checkbox::before,
ul.pseudo-checkboxes > li.checked > a::before,
ul.pseudo-checkboxes > li > a:hover::before { content:'x' }

.loggedin label {
	font-size: 80%;
    text-transform: uppercase;
    font-weight: 600;
    margin: 0 0 3px 0;
}

.loggedin .form-group { margin-bottom: 15px; }

a.remove {
	display: block;
    text-align: center;
    line-height: 1.1;
    font-size: 80%;
    margin: 5px 0 5px 0;
}

/* bootstrap nav panel tabs */

.nav-tabs {
	border-bottom: 1px #9d9d9c solid;
	margin: 0;
}

.nav-tabs .nav-link { 
	padding: 7px 10px 4px 10px;
    border-top-left-radius: 7px;
    border-top-right-radius: 7px;
    font-size: 16px;
}

.nav-tabs .nav-link:focus,
.nav-tabs .nav-link:hover { border-color: #9d9d9c #9d9d9c #9d9d9c; }

.nav-link:not(.active) { color: #9d9d9c; }

.nav-tabs .nav-item.show .nav-link,
.nav-tabs .nav-link.active {
    color: #000000;
    background-color: #fff;
    border-color: #9d9d9c #9d9d9c #ffffff;
}

.nav-tabs .nav-item {
    font-weight: 600;
    margin: 0 0 -1px 0;
}

.tab-content {
	padding: 15px;
	border-right: 1px #9d9d9c solid;
	border-left: 1px #9d9d9c solid;
	border-bottom: 1px #9d9d9c solid;
}

.tab-panel {}

.tab-pane > *:first-child { margin-top: 0; }

.alert-info {
	color: #a42422;
	background-color: #ededed;
	border-color: #9d9d9c;
}

#loading {
    position: fixed;
    background-color: rgba(0,0,0,0.25);
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
}

#loading .spinner {
    margin: auto;
    border: 12px solid #f3f3f3;
    border-radius: 50%;
    border-top: 12px solid #444444;
    width: 50px;
    height: 50px;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    100% {
        transform: rotate(360deg);
    }
}

@media (min-width: 375px) { /* iphone6, 7, 8 */

}

@media (max-width: 420px) and (orientation: portrait) {

}

@media (min-width: 420px) {
	
	#hdr-branding h2 span { display: block; }
	
	/* 	#hdr-branding .logo { margin-top: -55px; } */

	#page-footer .logo { float: left; }
	
	#page-footer .branding { margin-left: 115px; }
	
	#page-footer .footer-menu { clear: both; }

	.summary.two-cols > .item {
	    flex: 0 0 50%;
	    max-width: 50%;
	}
	
	.articles-summary.three-cols:not(.labels-only):not(.centered > .articles-summary) .item { text-align: left; }
	
	.articles-summary.three-cols:not(.labels-only):not(.centered > .articles-summary) .item > *:first-child { 
		display: flex;
		align-items: flex-start;
	}
	
	.articles-summary.three-cols:not(.labels-only):not(.centered > .articles-summary) .image-wrap {
		flex: 0 0 25%;
		margin: 0 3% 10px 0;
	    float: none;
	}
	
	.articles-summary.three-cols:not(.labels-only):not(.centered > .articles-summary) .text-wrap {
		flex: 0 0 72%;
		margin: 0;
	}
	
	.articles-summary.three-cols:not(.labels-only):not(.centered > .articles-summary) + .more {
		text-align: left;
		margin-left: 28%;
	}

    .articles-summary.four-cols {
		margin-left: -3px;
		margin-right: -3px;
	}

	.articles-summary.four-cols:not(.labels-only) .item > :first-child { display: block; }
	
	.articles-summary.four-cols:not(.labels-only) > .item { 
		padding-right: 3px;
		padding-left: 3px;
		flex: 0 0 50%;
	}
	
	.articles-summary.four-cols:not(.labels-only) .item + .item > *:first-child { 
		padding-top: 0;
		border-top: 0 none;
	}

	.articles-summary.four-cols:not(.labels-only) .image-wrap { 
		width: 100%;
		margin: 0 0 15px 0;
	}

	.articles-summary.four-cols:not(.labels-only) > .item .text-wrap { 
		padding-left: 15px;
		padding-right: 15px;
	}
	
	.articles-summary.four-cols .date + .desc { margin-top: 15px; }

	.articles-summary.four-cols:not(.labels-only) + .more {
		text-align: center;
		margin-left: 0;
	}
	
	.roster .summary > h3 { 
		text-align: left;
		padding-left: calc((100% - 30px) * .22 + 30px);
	}
	
	.roster .summary .item {
		text-align: left;
		display: flex;
		align-items: flex-start;
	}
	
	.roster .summary .image-wrap {
		margin: 0 15px 10px 0;
		flex: 0 0 22%;
		min-width: 85px;
	}
	
	.roster .summary .text-wrap {
		flex: 0 0 75%;
		max-width: 75%;
	}
		
	.horiz-scroll .item { 
		flex: 0 0 30%; /* size is intentionally leaving a bit hanging off right side as visual clue to scroll */
		max-width: 30%; 
	}

}

@media (min-width: 540px) { 
	
	.mt-bigger,
	section + section { margin-top: 60px; }

	.boxed,
	.search-box,
	.featured-summary { padding: 30px; }
	
	.nav-tabs .nav-link { 
		padding: 7px 15px 4px 15px;
	    font-size: 18px;
	}
	
	.tab-content { padding: 30px; }

	.nav-tabs .nav-item { font-size: 20px; }
	
	.search-box > h3:first-child { margin-bottom: 30px; }
	
	.results-controls .form-group {
	    display: flex;
	    align-items: center;
	    flex-wrap: wrap;
	    max-width: 50%;
	}
	
	.results-controls .form-group:last-child > * { margin: 0; }
	
	.results-controls .form-group label { padding: 0 10px 0 0; }
}

/* bootstrap sm */
@media (min-width: 576px) {

	.align-right { 
		float: right;
		margin: 0 0 10px 20px;
		max-width: 50%;
	}
	
	.align-right + .align-right { clear: right; }
	
	.align-left { 
		float: left;
		margin: 0 20px 10px 0;
		max-width: 50%;
	}
	
	dl.hanging-indents dt {
		flex: 0 0 25%;
		text-align: right;
		margin: 0 0 10px 0;
		min-width: 25%;
	}
	
	dl.hanging-indents dd {
		flex: 0 0 calc(75% - 15px);
		margin: 0 0 10px 15px;
	}

	dl.hanging-indents.type-2 dt {
		flex: 0 0 40%;
		min-width: 40%;
		padding-right: 7px;
	}
	
	dl.hanging-indents.type-2 dd {
		flex: 0 0 60%;
		margin-left: 0;
		padding-left: 8px;
	}

	#content-header.has-menu,
	.content-type-1 { display: flex; }
		
	#content-header.has-menu .text-wrap { 
		flex: 1 1 45%;
		max-width: 45%;
	}
	
	.content-type-1 .text-wrap { 
		flex: 1 1 50%;
		max-width: 50%;
	}
	
	#content-header.has-menu .image-wrap { 
		flex: 1 1 55%;
		order: 2;
		max-width: 55%;
		height: auto;
		min-height: 40vw;
		margin-bottom: 0;
		margin-left: 20px;
	}
	
	.content-type-1 .image-wrap { 
		order: 2;
		flex: 1 1 50%;
		max-width: 50%;
		margin: 0 0 0 30px;
		height: auto;
	}

	#content-header.has-menu .image-wrap img,
	.content-type-1 .image-wrap img { 
		width: auto;
		min-width: 100%;
		min-height: 100%;
		/* max-width: none; */
		max-height: none;
		object-fit: cover;
	}
    
	#page-footer .logo img { width: 130px; }

	#page-footer .branding { margin-left: 145px; }
	
	.summary.four-cols > .item { 
		flex: 0 0 50%;
		max-width: 50%;
	}

    .articles-summary.labels-only:not(.page-width .articles-summary) {
		margin-left: -3px;
		margin-right: -3px;
	}
	
	.articles-summary.labels-only > .item { 
		padding-right: 3px;
		padding-left: 3px;
		flex: 0 0 33.33%;
		max-width: 33.33%;
	}
	
	.articles-summary.labels-only .item + .item > *:first-child { 
		padding-top: 0;
		border-top: 0 none;
	}
	
	.articles-summary.labels-only a.box-link > .text-wrap { 
		position: static;
		padding: 0 15px;
		display: block;
		text-align: center;
	}
/*


	.articles-summary.three-cols .item > :first-child { display: block; }
	
	

	.articles-summary.three-cols .image-wrap { 
		width: 100%;
		margin: 0 0 15px 0;
	}

	
	.articles-summary.three-cols .date + .desc { margin-top: 15px; }

	.articles-summary.three-cols + .more {
		margin-left: 0;
	}
*/
	.summary.type-3 > .item {
		align-items: center;
		margin: 0 -15px 10px -15px;
	}
	
	.summary.type-3 > .item > * { 
		padding-left: 15px;
		padding-right: 15px;
	}

	.summary.type-3 .image-wrap.logo {
		flex: 0 0 150px;
		max-width: 150px;
	}
	
	.bookseller-details .contact-wrap {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
	}
	
	.bookseller-details .contact-wrap > * {
		flex: 0 0 48%;
		max-width: 48%;
	}
	
	.bookseller-details .contact-wrap figure.logo img,
	.bookseller-details .contact-wrap figure.photo img { margin: 0 0 0 auto; }

	.label-left .form-group { 
		display: flex;
		align-items: center;
	}
	
	.label-left .form-group label {
		flex: 0 1 200px;
		max-width: 200px;
		text-align: right;
		padding: 0 10px 0 0;
	}
	
	.label-left .form-group .form-check label { text-align: left; }
	
	.label-left .form-group label + input,
	.label-left .form-group label + select,
	.label-left .form-group label + textarea,
	.label-left .form-group label + div {
		flex: 1 0 calc(100% - 200px);
		max-width: calc(100% - 200px);
	}
	
	.label-left ul.errors,
	.label-left .form-group.submit,
	.label-left .invalid-feedback,
	.label-left .form-group.checkboxes,
	.label-left .feedback { margin-left: 200px; }
	
	.background-compositor a.box-link { min-height: 200px; }

	#content-header.has-logo { 
		display: flex;
		align-items: center;	
	}
	
	#content-header.has-logo .logo { 
		margin: 0 15px 0 0;
		flex: 0 0 150px;
		max-width: 150px;
	}

	.topic { display: inline-block; }

}

@media (min-width: 730px) { 
	
	.search-box.smaller {
	    margin-left: auto;
	    margin-right: auto;
	}
	
}

/* bootstrap md */
@media (min-width: 768px) { 
	
	body { border-bottom-style: dashed; } /* used for jquery device size check */
	
	#org-header .header-tools .group-2 {
		position: absolute;
		left: 15px;
		top: 15px;
	}

	.footer-menu .one-line { max-width: 100%; }
	
	.footer-menu .one-line > div { flex: 1 1 auto; }
	
	.footer-menu .one-line > button[type="submit"] { flex: 0 0 auto; }
	
	.footer-menu .one-line input { width: 100%; }

    #page-footer .branding { padding-top: 15px; }
    
	.articles-summary .item { margin-bottom: 20px; }
	
    .articles-summary.three-cols:not(.page-width .articles-summary) {
		margin-left: -3px;
		margin-right: -3px;
	}

	.articles-summary.three-cols .item > :first-child { display: block; }
	
	.articles-summary.three-cols > .item { 
		padding-right: 3px;
		padding-left: 3px;
	}
	
	.articles-summary.three-cols .item + .item > *:first-child { 
		padding-top: 0;
		border-top: 0 none;
	}

	.articles-summary.three-cols .image-wrap { 
		width: 100%;
		margin: 0 0 15px 0;
		float: none;
	}

	.articles-summary.three-cols > .item .text-wrap { 
		padding-left: 15px;
		padding-right: 15px;
	}
	
	.articles-summary.three-cols .date + .desc { margin-top: 10px; }

	.articles-summary.three-cols + .more {
		text-align: center;
		margin-left: 0;
	}

	.summary.four-cols > .item { 
		flex: 0 0 25%;
		max-width: 25%;
	}

	.summary.three-cols > .item { 
		flex: 0 0 33.33%;
		max-width: 33.33%;
	}
	
	.roster .summary > h3 { 
		text-align: center;
		padding-left: 0;
	}
	
	.roster .summary > .item {
		flex: 0 0 50%;
		max-width: 50%;
		margin-bottom: 25px;
	}
	
	.roster .summary.one-col > .item { margin: 0 25% 25px 25%; }

	.roster .summary .image-wrap {
		margin: 0 4% 10px 0;
		flex: 0 0 30%;
	}
	
	.roster .summary .text-wrap {
		flex: 0 0 66%;
		max-width: 66%;
	}
	
	.results-controls .pagination {
	    order: 0;
	    width: auto;
	    margin: 0 15px;
	    justify-content: center;
	}

	section.banner-feature .image-wrap { display: flex; }
		
	section.banner-feature .text-wrap { 
		flex: 1 1 50%;
		max-width: 50%;
		align-self: center;
	}
	
	section.banner-feature .image-wrap { 
		flex: 1 1 50%;
		max-width: 50%;
		width: auto;
		height: auto;
		margin: 0;
		min-height: 33vw;
	}

	#content-header.has-menu .image-wrap { min-height: 308px; }
	
	section.banner-feature .text-wrap { padding: 30px 30px; }
		
	.horiz-scroll .item { 
		flex: 0 0 22%; /* size is intentionally leaving a bit hanging off right side as visual clue to scroll */
		max-width: 22%; 
	}
	
	.lead { font-size: 2.1rem; }

	#secondary .summary .item { 
		flex: 0 0 25%;
		max-width: 25%;
	}

	.articles-summary .item.event { text-align: inherit; }

	.summary.portrait a.box-link { display: block; }
	
	.summary.portrait a.box-link .image-wrap { margin: 0 0 10px 0; }
	
}

/* bootstrap lg */
@media (min-width: 992px) {

	body { border-bottom-style: solid; } /* used for jquery device size check */

	#page-footer .group-2 { display: flex; }
	
	#page-footer .logo { 
		float: none;
		flex: 0 0 auto;
	}
	
	#page-footer .branding { 
		margin: 5px 0 0 0;
		flex: 1 0 auto;
	}
	
	.has-sidebar #primary { 
		flex: 1 1 70%;
		max-width: 70%;
	}

	.has-sidebar #secondary { 
		flex: 1 1 calc(30% - 30px);
		max-width: calc(30% - 30px);
		margin: 0 0 0 30px;
		border-top: 0 none;
		border-left: 1px #9d9d9c solid;
		padding: 0 0 0 30px;
	}

	#secondary .summary .item { 
		flex: 0 0 100%;
		max-width: 100%;
	}
	
	section.banner-feature .image-wrap { display: flex; }
		
	section.banner-feature .text-wrap { 
		flex: 1 1 40%;
		max-width: 60%;
	}
	
	section.banner-feature .image-wrap { 
		flex: 1 1 40%;
		max-width: 60%;
		height: auto;
		margin-bottom: 0;
	}
	
	section.banner-feature .text-wrap { padding: 60px 30px; }
	
	.horiz-scroll.timeline { padding-bottom: 30px }
	
	.horiz-scroll.timeline .text-wrap { font-size: 1.6rem; }
	
	.horiz-scroll.timeline .image-wrap::before { padding-bottom: 76px; }

	.horiz-scroll.timeline .image-wrap img { max-width: 162px; }
	
	.background-compositor a.box-link { min-height: 230px; }
	
	.form-group .col-lg-6 + .col-lg-6 { margin-top: 0; }

}

@media (min-width: 1130px) {
	
	.page-width {
		margin-left: 30px;
		margin-right: 30px;
	}
	
	#org-header { padding-top: 30px; }
	
/*
	#hdr-branding .logo { margin-top: -90px; }

	body.logged-in #hdr-branding .logo { margin-top: -123px; }
*/
	
/*
	body.missing-books #hdr-branding .logo,
	body.logged-in.missing-books #hdr-branding .logo { margin-top: -85px; }
*/

	#main-nav { flex: 1 0 100%; }
	
	label[for="nav-trigger"],
	#main-nav input.trigger { display: none; }
	
	#main-nav ul.page-menu { 
		position: static;
		background-color: transparent;
		display: flex;
		justify-content: space-between;
		margin: 0;
		padding: 0;
		transform: none !important;
		width: auto !important;
		max-width: 100%;
		padding: 0;
		border-top: 1px #9d9d9c solid;
		border-bottom: 1px #9d9d9c solid;
	}

	#main-nav ul.page-menu > li { 
		flex: 1 0 auto;
		border-top: 0 none;
		padding: 10px 0;
	}

	#main-nav ul.page-menu li a,
	#main-nav ul.page-menu li span.menu-control { color: #000; }

	#main-nav ul.page-menu > li > a,
	#main-nav ul.page-menu > li > span.menu-control { 
		padding: 0 1px 1px 0;
		text-align: center;
		background-color: transparent;
	}

	#main-nav ul.page-menu > li:hover > a,
	#main-nav ul.page-menu > li:hover > span.menu-control { 
		padding: 1px 0 0 1px;
		color: #a42422;
		background-color: transparent;
	}

	#main-nav ul.page-menu > li + li > a,
	#main-nav ul.page-menu > li + li > span.menu-control { border-left: 1px #a42422 solid; }
	

/*
	#main-nav ul.page-menu li a:hover,
	#main-nav ul.page-menu li a:active,
	#main-nav ul.page-menu li a:focus,
	#main-nav ul.page-menu li a.active { 
		background-color: rgba(0,0,0,0.3);
		color: #ffffff;
		padding: 11px 9px 9px 11px;
	}
*/
	
/*
	#main-nav ul.page-menu > li > a { 
	}
	
	#main-nav ul.page-menu > li:hover > a,
	#main-nav ul.page-menu > li > a:active,
	#main-nav ul.page-menu > li > a:focus,
	#main-nav ul.page-menu > li > a.active {
		padding: 4px 0 2px 1px;
		color: #a42422;
		background-color: transparent;
	}
*/
	
	#main-nav ul.page-menu .submenu {
		max-height: 0;
		overflow: hidden;
	    position: absolute;
	    z-index: 11;
	    margin-top: 10px;
	}
	
	#main-nav ul.page-menu .submenu > li { margin: 0 10px; }
	
	#main-nav ul.page-menu .submenu > li:first-child { margin-top: 10px; }

	#main-nav ul.page-menu .submenu > li:last-child { margin-bottom: 10px; }
	
	#main-nav ul.page-menu ul {
	    clear: both;
	    height: auto;
	    margin: 0;
	    border: 0 none;
	    max-width: 430px;
	    min-width: 180px;
	    background-color: #ccc;
	}

	#main-nav ul.page-menu #price-submenu ul { columns: 1 auto; }

	#main-nav ul.page-menu li li { margin: 0; }
			
	#main-nav ul.page-menu li:hover .submenu { 
		max-height: 500px;
	    -webkit-transition: max-height 1.0s linear;
	    transition: max-height 1.0s linear;
	}

	#main-nav ul.page-menu li li a { 
		padding: 10px 13px 10px 17px;
		background-color: rgba(0,0,0,0);
		margin: 0;
		-webkit-transition: all .2s ease-in-out;
		-o-transition: all .2s ease-in-out;
		transition: all .2s ease-in-out;
	}

	#main-nav ul.page-menu li li a:hover {
		padding: 11px 12px 9px 18px;
		background-color: rgba(255,255,255,0.5);
	}
	
	/* 	other changes for header / menu */
	
	#org-header { padding-bottom: 15px; }
	
	#org-header .page-width { 
		position: relative;
		border-bottom: 0 none;
	}

	#org-header .contact { display: block; }
	
	#org-header .header-tools .group-1 { 
		display: block;
		position: absolute;
		left: 0;
		top: 0;
	}	

	#org-header .header-tools .group-2 { 
		display: flex;
		align-items: flex-end;
		flex-direction: column;
		position: absolute;
		left: auto;
		right: 0;
		top: 0;
	}	

	.language-switcher ul li a {
		width: 38px;
		height: 26px;
	}
	
	.header-tools .btn { font-size: 1.6rem; }
	
	#org-header .menu-search { display: none; }
	
	/* 	end other changes for header / menu */

	nav.breadcrumb { 
		margin-top: 5px;
		margin-bottom: 5px;
	}

	.articles-summary .summary {
		margin-left: -30px;
		margin-right: -30px;
	}
	
	.horiz-scroll .item { 
		flex: 0 0 250px;
		max-width: 250px; 
	}
}

/* bootstrap xl */
@media (min-width: 1200px) {
	 
	h1 { font-size: 3.4rem; }
	
	h3,
	.welcome { font-size: 2.7rem; }
	
	.surhead { font-size: 2.2rem; }
	
	#page-content > section:first-child { margin-top: 48px; }

	#hdr-branding h2 { font-size: 3.8rem; }
	
	section h2 { font-size: 2.9rem; }
	
	section.banner-feature:not(.interview-single) .image-wrap { min-height: 395px; }
}

@media (min-width: 1230px) {
	.page-width {
		margin-left: auto;
		margin-right: auto;
	}

	.articles-summary .summary {
		margin-left: 0;
		margin-right: 0;
	}
}

@media (min-width: 1400px) {
	
}

html {
    visibility: visible !important;
    opacity: 1 !important;
}