/*
	COLORS
	text: #1a1a1a;
	red: #CC3300
	accent: #a32900 burgundy
	dark gray: #8f8f8f
	gray for rules and borders: 1px solid #ced4da;
	link: #1e21a3 dark purple
	visited: #9a29aa pinkish purple
*/

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;
}

:focus { outline: 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;
}

html { 
	background-color: #FFF;
	overflow-y: scroll;
    font-size: 62.5%;
}

body { 
	text-align: center;
	color: #1a1a1a;
/* 	font-family: 'Cabin', Arial, Helvetica, sans-serif; */
	font-family: 'Lato', Arial, Helvetica, sans-serif;
	font-weight: 300;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	text-rendering: optimizeLegibility;
	background-color: #ffffff;
	font-size: 1.6rem;
	line-height: 1.25;
	position: relative;
	overflow: hidden;
}

bold,
strong { font-weight: 700; }

i,
em { font-style: italic; }

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

a:visited { color: #9a29aa; }

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 {  }

img { 
	max-width: 100%;
	max-height:700px;
	height: auto !important;
}

.btn-row {
	text-align: center;
}

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

ol { list-style-type: decimal; }

ul ul, 
ol ul { 
	margin: 0 0 10px 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;
}

dl { 
	margin: 0 0 10px 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;
}

table { 
	margin: 0 0 10px 0;
	border-collapse: collapse;
	border-spacing: 5px;
	border: 1px #CCC solid;
}

table caption { 
	color: #F3743F;
	font-size: 18px;
	font-weight: 700;
	padding: 0;
	margin: 0 0 5px 0;
}

td { 
	border-top: 1px #CCC solid;
	padding: 5px;
	text-align: center;
}

td:first-child { text-align: left; }

thead td {
	color: #ffffff;
	background-color: #43423d;
	font-weight: 700;
	font-size: 90%;
}

th { 
	font-weight: 700;
	color: #FFF;
	background-color: #CCC;
}

th:first-child { text-align: left; }

td { 
	font-weight: normal;
	text-align: center;
}

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

h1,
h2,
h3,
h4,
h5 {
/* 	font-weight: 700; */
	line-height: 1.2;
	margin: 20px 0 10px 0;
}

h1 { 
	font-size: 2.7rem;
}

h2 { font-size: 2.3rem; }

h3 { font-size: 2.0rem; }

h4 { font-size: 1.8rem; }

h5 { font-size: 1.6rem; }

p { margin: 0 0 10px 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,
p + .carousel {  }

/* section { overflow: hidden; } */

/* More words and help for screen readers */
.speech {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	left: -10000px;
	top: -10000px;
}

.warning { color: #CC3300; }

.instruction { font-size: 90%; }

.badge-info { background-color: #1a1a1a; }

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

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(15deg);
	border-right: 1px solid currentColor;
	content: '';
	margin: 0 0.6em -0.2em 0.5em;
	height: 1em;
	padding: 0;
}

nav.breadcrumb [aria-current="page"] { text-decoration: none; }

.form-check {
    position: relative;
    padding-left: 2rem;
}

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

h2.author {
	font-size: 2.0rem;
	font-weight: 400;
	margin-top: 0;
}

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

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

label {
	text-transform: uppercase;
	font-size: 70%;
	font-weight: 400;
	padding: 0 0 5px 0;
}

.form-control {
	font-size: 1.6rem;
	color: #1a1a1a;
	border-color: #ced4da;
}

textarea.smaller { height: 7em; }

.form-control::placeholder { color: #ced4da; }

.form-group.submit-row { margin-top: 20px; }

.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 .form-group { margin: 0; }

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

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

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

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

.results-controls .pagination li { margin: 0; }

.results-controls .pagination li + li  { margin-left: 15px; }

.news-single .next,
.news-single .prev { max-width: 48%; }

.next a,
.prev a {
	display: inline-block;
	position: relative;
	padding: 0 0 0 16px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;  
	overflow: hidden;
}

.next a::after,
.prev a::before {
	content: '';
	display: inline-block;
	border-top: 4px solid transparent;
	border-right: 8px solid currentColor;
	border-bottom: 4px solid transparent;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
}

.next { text-align: right; }

.next a { padding: 0 16px 0 0; }

.next a::after {
	right: 0;
	left: auto;
	border-left: 8px solid currentColor;
	border-right: 0 none;
}

.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%;
}

/* page structure */

#primary { overflow: hidden; }

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

#page-header {
	background-color: rgba(255,255,255,0.9);
	position: fixed;
	top: 0;
	right: ;
	left: 0;
	right: 0;
	z-index: 10;
}

#page-header .page-width {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-top: 20px;
	padding-bottom: 13px;
	-webkit-transition: all 1s ease-in-out;
	-moz-transition: all 1s ease-in-out;
	-o-transition: all 1s ease-in-out;
	transition: all 1s ease-in-out;
}

#page-content { 
    margin-top: calc(30% + 33px);
	border-top: 1px solid #ced4da;
}

#page-content.has-sidebar,
#page-content.has-alt-sidebar {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	align-content: flex-start;
}

#page-content > #content-header { padding: 20px 0; }

#primary > #content-header { padding: 0 0 20px 0; }

#page-content.has-sidebar > .breadcrumb,
#page-content.has-sidebar > #content-header { width: 100%; }

#page-content.has-sidebar #primary,
#page-content.has-sidebar #secondary {
	flex: 1 1 100%;
}

#page-content.has-sidebar #secondary {
	padding: 20px;
	border: 1px #ced4da solid;
	margin: 20px 0 0 0;
	background-color: #ced4da;
}

#main-menu-wrap { order: -1; }
	
#hdr-branding { 
	max-width: 120px;
	width: 30%;
	margin: 0;
}

#hdr-branding a {
	display: block;
	text-align: center;
	margin: -4% -12% -7% -4%;
}

#hdr-branding img { 
	display: block;
	margin: 0 auto;
	max-width: 100%;
	-webkit-transition: all 1s ease-in-out;
	-moz-transition: all 1s ease-in-out;
	-o-transition: all 1s ease-in-out;
	transition: all 1s ease-in-out;
}

#page-header.sticky .page-width {
	padding-top: 10px;
	padding-bottom: 10px;
}

#page-header.sticky #hdr-branding img { max-width: 50%; }

button.menu-control {
	background: transparent;
	border: 0 none;
	padding: 0;
	margin: 0;
	opacity: 0.5;
}

button.menu-control:focus { outline: 2px solid #1e21a3; }

button.menu-control::after {
	display: block;
	content: '';
	width: 40px;
	height: 40px;
	background-size: 100% 100%;
}

button#main-menu-button::after {
	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='40px' height='40px' viewBox='0 0 40 40' style='enable-background:new 0 0 40 40;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:none;%7D%0A%3C/style%3E%3Cdefs%3E%3C/defs%3E%3Cg%3E%3Crect class='st0' width='40' height='40'/%3E%3C/g%3E%3Crect y='5' width='40' height='6'/%3E%3Crect y='17' width='40' height='6'/%3E%3Crect y='29' width='40' height='6'/%3E%3C/svg%3E%0A");
}

button#hdr-login-button::after {
	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='40px' height='43px' viewBox='0 0 40 43' style='enable-background:new 0 0 40 43;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:none;%7D .st1%7Bclip-path:url(%23SVGID_2_);%7D .st2%7Bclip-path:url(%23SVGID_4_);%7D%0A%3C/style%3E%3Cdefs%3E%3C/defs%3E%3Ccircle class='st0' cx='20' cy='20' r='20'/%3E%3Cg%3E%3Cdefs%3E%3Ccircle id='SVGID_1_' cx='20' cy='20' r='20'/%3E%3C/defs%3E%3CclipPath id='SVGID_2_'%3E%3Cuse xlink:href='%23SVGID_1_' style='overflow:visible;'/%3E%3C/clipPath%3E%3Cg class='st1'%3E%3Cpath d='M32,27c-1.3-0.9-3.7-1.4-6-1.6C24.3,27,22.2,28,20,28s-4.3-1-6-2.6c-2.3,0.3-4.7,0.8-6,1.6c-3,2-6,9-6,16h36 C38,36,35,29,32,27z'/%3E%3Cpath d='M20,7c-4.7,0-8,3.5-8,8.5c0,5.6,3.7,10.5,8,10.5s8-4.9,8-10.5C28,10.5,24.7,7,20,7z'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cpath d='M20,3c9.4,0,17,7.6,17,17s-7.6,17-17,17S3,29.4,3,20S10.6,3,20,3 M20,0C9,0,0,9,0,20s9,20,20,20s20-9,20-20S31,0,20,0L20,0 z'/%3E%3C/g%3E%3C/svg%3E%0A");
}

button.menu-control.active {
	opacity: 1;
}

/* #page-header .menu */
#page-header .menu { 
	display: block;
	position: absolute; 
/* 	top: 0; */
	max-width: 100%;
	margin: 0;
	padding: 15px;
	background-color: #4c4c4c;
	z-index: 6;
	list-style: none;
	-webkit-font-smoothing: antialiased; /* to stop flickering of text in safari */
	transform-origin: 0% 0%;
	transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0);
}

#page-header #main-menu { 
	width: 100%;
	left: 0;
	transform: translate(-100%, 0);
}

#page-header #header-memtools { 
/* 	width: 100%; */
	right: 0;
	transform: translate(100%, 0);
}

#page-header .menu.active,
#page-header #main-menu.active,
#page-header #header-memtools.active { transform: none; }

#page-header .menu li { 
	margin: 0;
	padding: 0;
	font-size: 2.0rem;
	line-height: 1.1;
	font-weight: 400;
}

#page-header .menu > li { border-top: 1px dotted #7e7e7e; }

#page-header .menu > li:last-child { border-bottom: 1px dotted #7e7e7e; }

#page-header .menu li a { 
	display: block;
	padding: 9px 10px 9px 10px;
	color: #c6c6c6;
	text-decoration: none;
}

#page-header .menu li + li { margin-top: -1px; }

#page-header .menu ul { 
	list-style: none;
	margin: -6px 0 5px 0;
	padding: 0;
	overflow: hidden;
    -webkit-transition: max-height 1.5s linear; /* For Safari 3.1 to 6.0 */
    transition: max-height 1.5s linear;
}

#page-header #main-menu ul {
	-webkit-columns: 3 180px;
	-moz-columns: 3 180px;
	columns: 3 180px;
}

#page-header .menu ul a {
	margin-left: 15%;
	-webkit-column-break-inside: avoid; /* Chrome, Safari */
	page-break-inside: avoid;           /* Theoretically FF 20+ */
	break-inside: avoid-column;         /* IE 11 */
	break-inside: avoid;
}

#header-memtools ul a { white-space: nowrap; }

#page-header .menu li a:hover,
#page-header .menu li a:active,
#page-header .menu li a:focus,
#page-header .menu li a.active { 
	background-color: #131313;
	color: #ffffff;
	/* 	padding: 9px 10px 9px 10px; */
	padding: 10px 9px 8px 11px;
}

/* for touch devices so it doesn't depend on hover */
/*
#page-header .menu li.active ul,
#page-header .menu li:hover ul { 
	overflow: hidden;
}
*/

#page-header .menu li li { 
	margin-right: 0;
	margin-left: 0;
	font-weight: 400;
	border-top: 0 none;
	font-size: 1.8rem;
}

/*

#hdr-login-button {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	left: -10000px;
	top: -10000px;
}
*/

#page-footer { 
	background-color: #FFF;
	padding: 50px 0;
}

/*
#page-footer .row > * { margin-bottom: 20px; }

#page-footer .row > .aba-logo { margin-bottom: 0; }
*/

#page-footer .group-1 {
	display: flex;
	align-items: flex-end;
}

#page-footer .org-logos img,
#page-footer .org-logos a { display: block; }

/* #page-footer .row > * > h4:first-child { margin-top: 0; } */

#page-footer .org-logos > div {
	flex: 1 1 auto;
	max-width: 35%;
}

#page-footer .org-logos > div.ilab-logo { max-width: 24%; }

#page-footer .aba-logo img {
	margin: 0 0 -13% -6%;
	max-width: 165px;
}

#page-footer .ilab-logo img { max-width: 115px; }

#footer-menu .menu {
	-webkit-columns: 4 120px;
	-moz-columns: 4 120px;
	columns: 4 120px;
	margin: 0;
}
 
#footer-menu .menu a {
	-webkit-column-break-inside: avoid; /* Chrome, Safari */
	page-break-inside: avoid;           /* Theoretically FF 20+ */
	break-inside: avoid-column;         /* IE 11 */
	break-inside: avoid;
}

#footer-menu a { 
	color: inherit; 
	text-decoration: none;
}

#footer-menu a:hover,
#footer-menu a:focus { color: #1e21a3; }

#page-footer .legal { font-size: 90%; }

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

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

.social-icons li a {
	display: block;
	width: 35px;
	height: 35px;
	opacity: 1;
	background-size: contain;
}

.social-icons li a:hover,
.social-icons li a:active { opacity: 0.5; }

.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='45.8px' height='45.6px' viewBox='0 0 45.8 45.6' style='enable-background:new 0 0 45.8 45.6;' xml:space='preserve'%3E%3Cdefs%3E%3C/defs%3E%3Cpath d='M45.8,22.9C45.8,10.3,35.6,0,22.9,0S0,10.3,0,22.9c0,11.4,8.4,20.9,19.3,22.6v-16h-5.8v-6.6h5.8v-5c0-5.7,3.4-8.9,8.7-8.9 c2.5,0,5.1,0.4,5.1,0.4V15h-2.9c-2.8,0-3.7,1.8-3.7,3.6v4.3h6.4l-1,6.6h-5.3v16C37.5,43.8,45.8,34.4,45.8,22.9'/%3E%3C/svg%3E%0A"); }

.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='45.8px' height='45.8px' viewBox='0 0 45.8 45.8' style='enable-background:new 0 0 45.8 45.8;' xml:space='preserve'%3E%3Cdefs%3E%3C/defs%3E%3Cpath d='M22.9,0C10.3,0,0,10.3,0,22.9c0,12.7,10.3,22.9,22.9,22.9s22.9-10.3,22.9-22.9C45.8,10.3,35.6,0,22.9,0 M34.4,18.6 c0,0.2,0,0.5,0,0.7c0,7.3-5.6,15.7-15.7,15.7c-3.1,0-6-0.9-8.5-2.5c0.4,0.1,0.9,0.1,1.3,0.1c2.6,0,5-0.9,6.9-2.4 c-2.4,0-4.5-1.6-5.2-3.8c0.3,0.1,0.7,0.1,1,0.1c0.5,0,1-0.1,1.5-0.2c-2.5-0.5-4.4-2.7-4.4-5.4c0,0,0,0,0-0.1 c0.7,0.4,1.6,0.7,2.5,0.7c-1.5-1-2.5-2.7-2.5-4.6c0-1,0.3-2,0.7-2.8c2.7,3.3,6.8,5.5,11.4,5.8c-0.1-0.4-0.1-0.8-0.1-1.3 c0-3.1,2.5-5.5,5.5-5.5c1.6,0,3,0.7,4,1.7c1.3-0.2,2.4-0.7,3.5-1.3c-0.4,1.3-1.3,2.4-2.4,3.1c1.1-0.1,2.2-0.4,3.2-0.9 C36.4,16.8,35.5,17.8,34.4,18.6'/%3E%3C/svg%3E%0A"); }

.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='46.1px' height='46.1px' viewBox='0 0 46.1 46.1' style='enable-background:new 0 0 46.1 46.1;' xml:space='preserve'%3E%3Cdefs%3E%3C/defs%3E%3Cg%3E%3Cpath d='M23.1,4.2c6.2,0,6.9,0,9.3,0.1c2.2,0.1,3.5,0.5,4.3,0.8c1.1,0.4,1.8,0.9,2.7,1.7c0.8,0.8,1.3,1.6,1.7,2.7 c0.3,0.8,0.7,2,0.8,4.3c0.1,2.4,0.1,3.2,0.1,9.3c0,6.2,0,6.9-0.1,9.3c-0.1,2.2-0.5,3.5-0.8,4.3c-0.4,1.1-0.9,1.8-1.7,2.7 c-0.8,0.8-1.6,1.3-2.7,1.7c-0.8,0.3-2,0.7-4.3,0.8C30,41.9,29.2,42,23.1,42c-6.2,0-6.9,0-9.3-0.1c-2.2-0.1-3.5-0.5-4.3-0.8 c-1.1-0.4-1.8-0.9-2.7-1.7c-0.8-0.8-1.3-1.6-1.7-2.7c-0.3-0.8-0.7-2-0.8-4.3c-0.1-2.4-0.1-3.2-0.1-9.3c0-6.2,0-6.9,0.1-9.3 c0.1-2.2,0.5-3.5,0.8-4.3C5.5,8.4,6,7.6,6.8,6.8C7.6,6,8.4,5.5,9.5,5.1c0.8-0.3,2-0.7,4.3-0.8C16.2,4.2,16.9,4.2,23.1,4.2 M23.1,0 c-6.3,0-7,0-9.5,0.1C11.1,0.3,9.4,0.6,8,1.2C6.4,1.8,5.2,2.6,3.9,3.9C2.6,5.2,1.8,6.4,1.2,8c-0.6,1.5-1,3.1-1.1,5.6 C0,16,0,16.8,0,23.1c0,6.3,0,7,0.1,9.5c0.1,2.5,0.5,4.1,1.1,5.6c0.6,1.5,1.4,2.8,2.7,4.1c1.3,1.3,2.6,2.1,4.1,2.7 c1.5,0.6,3.1,1,5.6,1.1c2.5,0.1,3.2,0.1,9.5,0.1c6.3,0,7,0,9.5-0.1c2.5-0.1,4.1-0.5,5.6-1.1c1.5-0.6,2.8-1.4,4.1-2.7 c1.3-1.3,2.1-2.6,2.7-4.1c0.6-1.5,1-3.1,1.1-5.6c0.1-2.5,0.1-3.2,0.1-9.5c0-6.3,0-7-0.1-9.5c-0.1-2.5-0.5-4.1-1.1-5.6 c-0.6-1.5-1.4-2.8-2.7-4.1c-1.3-1.3-2.6-2.1-4.1-2.7c-1.5-0.6-3.1-1-5.6-1.1C30.1,0,29.3,0,23.1,0'/%3E%3Cpath d='M23.1,11.2c-6.5,0-11.8,5.3-11.8,11.8s5.3,11.8,11.8,11.8c6.5,0,11.8-5.3,11.8-11.8S29.6,11.2,23.1,11.2 M23.1,30.8 c-4.2,0-7.7-3.4-7.7-7.7s3.4-7.7,7.7-7.7c4.2,0,7.7,3.4,7.7,7.7S27.3,30.8,23.1,30.8'/%3E%3Cpath d='M38.1,10.8c0,1.5-1.2,2.8-2.8,2.8c-1.5,0-2.8-1.2-2.8-2.8c0-1.5,1.2-2.8,2.8-2.8C36.9,8,38.1,9.2,38.1,10.8'/%3E%3C/g%3E%3C/svg%3E%0A"); }

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

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

#page-footer .tel { margin-top: 10px; }

#footer-main-content { padding: 0 0 15px 0; }

.bigquote { 
	margin: 20px 0;
	padding: 0 10%;
}

.bigquote p {
	font-family: 'Libre Caslon Text', serif;
	text-align: center;
	font-size: 2.2rem;
	font-size: calc(1.6vw + 15px);
	line-height: 1.3;
}

.bigquote p:first-of-type::before { content: '\201C'; }
.bigquote p:last-of-type::after { content: '\201D'; }

.bigquote .speaker {
	font-family: 'Libre Caslon Text', serif;
	font-style: italic;
	font-size: 1.8rem;
	font-size: calc(1.3vw + 12px);
	line-height: 1.3;
	margin: 0;
	padding: 0 0 0 40%;
}

.bigquote .speaker::before { 
	display: inline-block;
	content: '\2014';
    margin-left: -1.25em;
    width: 1.25em;
}

#photo-quote { 
	background-color: #ced4da;
	position: relative;
	overflow: hidden;
}

#photo-quote .image-wrap {
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	background-color: #860000;
}

#photo-quote .image-wrap::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	background-color: rgba(0, 0, 0, 0.35);
}

#photo-quote .image-wrap img {
	object-fit: cover;
	object-position: center center;
	max-width: 2000px;
	height: 100%;
	width: 100%;
}

#photo-quote .bigquote { 
	color: #fff;
	padding: 10% 10%;
	margin: 0;
	text-shadow: -1px -1px 9px rgb(0, 0, 0), 1px 1px 9px rgb(0, 0, 0), 3px 3px 9px rgb(0, 0, 0);
	position: relative;
	z-index: 2;
}

/* general utility classes */

h1.title { font-size: calc(0.9vw + 18px); }

h2.surhead {
	text-transform: uppercase;
	color: #8f8f8f;
	font-weight: 300;
	margin-bottom: 0;
}

h2.surhead + h1 { margin-top: 2px; }

.featured-image {
	float: right;
	width: 35%;
	max-width: 400px;
	min-width: 250px;
	margin: 0 0 10px 20px;
}

.post-author { font-style: italic; }

.post-meta {
	background-color: #ced4da;
	padding: 3px 10px;
	width: 100%;
	margin: 5px 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.post figure {
	float: right;
	width: 30%;
	max-width: 300px;
	min-width: 150px;
	margin: 0 0 10px 20px;
	border: 1px #ced4da solid;
	padding: 10px;
	text-align: center;
	font-size: 80%;
}

#primary-content + .results-controls { margin-top: 30px; }

.boxed {
	padding: 20px;
	border: 1px #ced4da solid
}

.tint-1 {
	padding: 20px;
	background-color: #ced4da;
}

div.more {  }

div.more.btn { margin: 5px 0 10px 0; }

.row > div > *:first-child,
.boxed > *:first-child,
.tint-1 > *:first-child,
#content-header > *:first-child,
#secondary >.item > *:first-child,
.text-wrap > *:first-child,
form > *:first-child,
section .heading > *:first-child,
section > h2:first-child,
.data .item > *:first-child,
.summary.type-3 .item .text-wrap > *:first-child { margin-top: 0; }

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

.summary .item { margin-bottom: 15px; }

.summary .image-wrap,
.summary .no-photo,
.book-details .no-photo { 
	position: relative;
	overflow: hidden;
}

.summary .no-photo::after, 
.sidebar .summary .no-photo::after,
.book-details .no-photo::after { 
	content: '';
    float: left;
    padding-top: 45%;
}

.no-photo img + div { 
	margin-top: 10px; 
	text-align: center;
	font-weight: 700;
	font-size: 80%;
}

.banner-event .no-photo img,
.summary .no-photo img,
.book-details .no-photo img { 
    max-width: 400px;
    max-height: none;
    width: 67%;
    transform: rotate(-20deg);
    opacity: 0.5;
    margin-bottom: 0;
	filter: drop-shadow(1px 1px 2px rgba(0, 0, 0, 0.6));
	position: static !important;
}

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

.summary .offered-by { font-style: italic; }

/* posts: photo is cropped to size */
.summary.posts .image-wrap {
	margin-bottom: 10px;
	transition: all .5s;
	transform-origin: bottom left;
}

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

.summary .text-wrap { line-height: 1.2; }

.summary .text-wrap > * { margin-bottom: 5px; }

.summary .box-link:hover .image-wrap { transform: scale(1.03); }

.summary + .btn-row,
.intro .btn-row,
.boxed + .btn-row { margin-top: 20px; }

.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'; }

.preferred-vendor .price {
	font-size: 110%;
	font-weight: 600;
	margin: 0 0 10px 0;
}

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

.purchase-options h5 {
	text-transform: uppercase;
	font-weight: 400;
	font-size: 90%;
	margin: 0;
}

div + .purchase-options h5 { margin-top: 10px; }

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

.purchase-options ul li { 
	margin:  5px 0 0 0;
	line-height: 1.1;
}

.purchase-options div { display: inline-block; }


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

.summary.type-1 .image-wrap {
	max-width: 220px;
	margin-bottom: 10px;
	transition: all .5s;
	transform-origin: bottom left;
}

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

.summary.type-2 .image-wrap::after { padding-top: 130% }

.summary.type-1 .image-wrap img { border: 1px rgba(0,0,0,0.1) solid; }

.summary.type-1 .image-wrap img,
.summary.type-2 .image-wrap img {
	display: block;
	position: absolute;
}

.summary.type-1 .image-wrap:not(.no-photo) img,
.summary.type-2 .image-wrap:not(.no-photo) img {
	bottom: 0;
	left: 0;
	width: auto !important;
	height: auto !important;
	max-width: 100%;
	max-height: 100%;
}

/* type-2: single row, photo on left, desc right */
.summary.type-2 .item { 
	width: 100%;
	margin: 0 0 30px 0;
	overflow: hidden;
}

.summary.type-2 .image-wrap {
	margin: 0;
	float: left;
	width: 25%;
}

.summary.type-2 .text-wrap,
.summary.type-2 .actions { margin-left: calc(25% + 15px); }

.summary.type-2 .image-wrap:not(.no-photo) img { 
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}

/* photos floated to right, text on left */ 
.summary.type-3 .item { overflow: hidden; }

.summary.type-3 .item .image-wrap {
	float: right;
	margin: 0 0 5px 15px;
	max-width: 40%;
}

.summary.type-2 .image-wrap.no-photo .spacer,
a.box-link .no-photo .spacer,
.no-photo a,
.book-details .no-photo .spacer { 
	display: flex;
    flex-direction: column;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	background-color: #c2c2c2;
	justify-content: center;
	align-items: center;
	color: #FFF;
	font-size: 14px;
	padding: 10%;
}

/*
.book-details .no-photo .spacer {
	max-width: 300px;
	max-height: 400px;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}
*/

#secondary .summary.type-2 .image-wrap.no-photo .spacer,
#secondary a.box-link .no-photo .spacer,
#secondary .no-photo a { background-color: #8f8f8f; }

.summary.type-2 .image-wrap.no-photo .spacer {
	right: 5%;
	left: 5%;
}

.summary.type-2 .no-photo::after { padding-top: 120%; }

.summary.type-2 .text-wrap { flex: 2 1 0; }

.summary.type-2 .description { font-size: 90%; }

.summary.type-2 .actions { margin-top: 10px; }

.summary.type-2 .preferred-vendor {
	display: flex;
	align-items: center;
	margin: 5px 0 0 0;
}

.summary.type-2 .preferred-vendor .price { margin: 0 15px 0 0; }

.summary.type-2 .purchase-options ul { margin: 0 -10px; }

.summary.type-2 .purchase-options ul li { margin: 5px 10px 0 10px; }

.btn.bigger,
.actions .btn { 
	background-color: #1a1a1a;
	color: #ffffff !important;
}

.btn.bigger:hover,
.btn.bigger:active,
.actions .btn:hover,
.actions .btn:active { 
	background-color: #ffffff;
	color: #1a1a1a !important;
}

.summary.type-2 .actions > form { display: inline-block; }

.summary.type-2 .actions > * { margin: 3px 4px 3px 0; }

.btn.smaller,
.summary.type-2 .btn.smaller {
	font-size: 1.2rem;
	padding: 3px 8px;
}

.buy .btn { 
	background-color: #CC3300;
	border-color: #CC3300;
	color: #ffffff !important;
	font-size: 115%;
	padding: 4px 15px;
}

.buy .btn:hover,
.buy .btn:active { 
	background-color: #a32900;
	color: #eeeeee !important;
}


.box-link .more:not(.btn) { 
	font-weight: 400;
	color: #1e21a3;
}

.box-link:hover .more:not(.btn),
.box-link:active .more:not(.btn) { text-decoration: underline; }

/* .summary .box-link .more, */
.btn { 
	display: inline-block;
	border-radius: 4px;
	font-size: 1.4rem;
	line-height: 1.5;
	font-weight: 400;
	border: 1px #1a1a1a solid;
	padding: 4px 10px;
	background-color: #fff;
	color: #1a1a1a !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;
}

/*
.summary .box-link .more:hover,
.summary .box-link .more:active,
*/
.btn:hover,
.btn:active { 
	background-color: #1a1a1a;
	color: #fff !important;
}

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

ul.menu li,
ul.menu ul li { margin: 0; }


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

ul.text-cols { }
 
.text-cols li,
.text-cols div.item {
	-webkit-column-break-inside: avoid; /* Chrome, Safari */
	page-break-inside: avoid;           /* Theoretically FF 20+ */
	break-inside: avoid-column;         /* IE 11 */
	break-inside: avoid;
}

.text-cols > div { margin: 0 0 20px 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;
}

.carousel ul {
	list-style: none;
	margin: 0;
}

.carousel ul li {
	padding: 0;
	margin-top: 0;
	margin-left: 0;
}

.carousel .image-wrap img {
    display: block;
    width: 100%;
    height: auto;
    max-width: 2000px;
    margin: 0 auto;
}

.carousel-inner .carousel-control-prev,
.carousel-inner .carousel-control-next {
	-webkit-transition: all 0.5s ease-in-out;
	-moz-transition: all 0.5s ease-in-out;
	-o-transition: all 0.5s ease-in-out;
	transition: all 0.5s ease-in-out;
}

.carousel-control-prev { left: -15%; }
.carousel-control-next { right: -15%; }

.carousel-inner:hover .carousel-control-prev { left: 0; }
.carousel-inner:hover .carousel-control-next { right: 0; }

.welcome p { font-size: calc(1.6rem + 0.5vw); }

.credit-cards img {
    display: inline-block;
    width: 32%;
    max-width: 50px;
    height: auto !important;
    margin:  5px 5px 0 5px;
}

ul.major-points {
	font-weight: 400;
	margin: 15px 0;
}

.summary.text-rows .item {
	display: flex;
	flex-wrap: wrap;
	margin: 10px 0 0 0;
	width: 100%;
	padding-top: 10px;
	border-top: 1px #ced4da solid;
}

.summary.text-rows .item > *:not(.box-link) { margin: 0 15px 0 0; }

#secondary + section { 
	width: 100%;
	border-top: 1px solid #ced4da;
	padding-top: 20px;
	margin-top: 40px;
	order: 3;
}

section.additional-content,
section.page-width + section.page-width,
section + section {
	border-top: 1px solid #ced4da;
	padding-top: 20px;
	margin-top: 20px;
}

.data .item { display: flex; }

.data .item + .item { margin-top: 10px; }

.data .item h5 { flex: 0 0 5.3em; }

picture + .map-box { margin-top: 20px; }

p.map-text { margin: 0; }

.search-results-map-tradingname { font-weight: 400; }

a.remove::after { 
	display: inline-block;
	content: '\005B\0078\005D';
	padding: 0 0 0 5px;
}

.accordion-section {  }

div.collapse-control { 
	margin: 0;
	padding: 10px 0;
	border-top: 1px #ced4da solid;
}

.collapse-control button {
	background-color: transparent;
	border: 0 none;
}

a.collapse-control::after,
.collapse-control button::after { 
	display: inline-block;
	content: '\005B\002B\005D';
	padding: 0 0 0 5px;
}

a.collapse-control[aria-expanded="true"]::after,
.collapse-control button[aria-expanded="true"]::after { content: '\005B\2013\005D'; }

.collapse-inner { padding: 10px 0; }

.nav-tabs { border-bottom: 1px solid #ced4da; }

.nav-tabs .nav-item { margin-left: 0; }

.nav-tabs .nav-link {
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
    font-weight: 400;
    padding: 5px 10px;
}

.tab-content {
	padding: 20px; 
	border-left: 1px solid #ced4da;
	border-right: 1px solid #ced4da;
	border-bottom: 1px solid #ced4da;
}

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

#cookie-disclaimer {
	display: none;
	position: fixed;
	z-index: 1000;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 20px 0 20px 0;
	background-color: #1a1a1a;
	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 a,
#cookie-disclaimer a:link { color: #ced4da; }

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

/* specific pages */

#invoices-accordion .collapse-control { border-top: 0 none; }

#invoices-accordion .section-header { 
	border-top: 1px #ced4da solid;
	display: flex;
	justify-content: space-between;
}

#invoices-accordion .stripe-container { padding: 10px 0; }

.homepage .intro .row { align-items: center; }

.bookseller-search-results .results-controls + .row { margin-top: 20px; }

.bookseller-search-results .summary.text-rows .item:first-child {
    margin-top: 0;
    padding-top: 0;
    border-top: 0 none;
}

.bookseller-search-results .text-rows a.box-link {
	width: 100%;
	display: flex;
	justify-content: space-between;
}

.bookseller-search-results .seller-logo {
	max-width: 100px;
	max-height: 100px;
	width: 30%;
}

.bookseller-search-results .seller-logo img {
	object-fit: contain;
	max-height: 100%;
	position: absolute;
	top: 0;
	right: 0;
}

.bookseller-details .image-wrap img {
	display: block;
	margin: 0 auto;
	max-height: 450px;
}

#event-highlights .summary.type-3 { display: flex; }

#event-highlights .summary.type-3 .item .image-wrap {
	margin: 0 0 5px 15px;
	max-width: 30%;
	border-radius: 20px;
	overflow: hidden;
}

#event-highlights .image-wrap img { display: block; }

.post-meta .event-lede { font-style: italic; }

.event-logo { margin: 15px 0; }

.smartmap-mapcanvas { margin: 0 0 10px 0; }

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

section#homepage-carousel + section { padding-top: 30px; }

#about-aba-sidebar { text-align: center; }

#about-aba-sidebar img + h3,
#about-aba-sidebar picture + h3 { margin-top: 0; }

#about-aba-sidebar img { 
	padding: 0 0 0 4%;
	max-width: 150px;
}

#details-carousel .carousel-inner { max-width: 400px; }

#details-carousel .list-inline {
    white-space: nowrap;
    overflow-x: auto;
}

#details-carousel .carousel-item,
#details-carousel .carousel-indicators > li {
    position: relative;
    overflow: hidden;
    background-color: #ced4da;
}

#details-carousel .carousel-item::after,
#details-carousel .carousel-indicators > li::after {
    float: left;
    content: '';
    padding-top: 100%;
}

#details-carousel .carousel-item img,
#details-carousel .carousel-indicators > li img {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
	margin: 0 auto;
}

#details-carousel .carousel-indicators {
    position: static;
    left: initial;
    width: initial;
    flex-wrap: wrap;
    justify-content: flex-start;
    margin: 0 -10px 0 0;
}

#details-carousel .carousel-indicators > li {
    width: initial;
    height: initial;
    text-indent: initial;
    margin: 10px 10px 0 0;
    width: calc(20% - 10px);
    max-width: calc(20% - 10px);
    border-width: 0;
}

#details-carousel .carousel-indicators > li.active img {
    opacity: 0.7;
}

.book-details .no-photo::after { padding-top: 120%; }

.book-details .no-photo img + div { 
	margin-top: 20px; 
	font-size: 110%;
}

.book-details .boxed {
	text-align: center;
}

.book-details .price {
	font-size: 125%;
	font-weight: 700;
}

.book-details .price-box > div { margin: 10px 0 0 0; }


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

}

@media (max-width: 420px) and (orientation: portrait) {
	#homepage-carousel { max-height: 68vh; }
}

@media (min-width: 420px) {
	
	#page-content { margin-top: 159px; }
	
	.find-bookseller .form-group {
		display: flex;
		align-items: center;
	}
	
	.find-bookseller .form-group label {
		padding: 0 10px 0 0;
		text-align: right;
		width: 43%;
	}

}

@media (min-width: 540px) { 
	
	.results-controls .form-group { 
		display: flex;
		align-items: center;
		flex-wrap: wrap;
		max-width: 50%;
	}
	.results-controls .form-group label { padding: 0 10px 0 0; }
	
	.results-controls .form-group:last-child > * { margin: 0; }
	
}

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

	nav.breadcrumb ol { text-align: right; }

	.summary.type-2 .image-wrap { width: 23%; }
	
	.summary.type-2 .text-wrap,
	.summary.type-2 .actions { margin-left: calc(23% + 15px); }
	
	.form-group.label-left {
		display: flex;
		align-items: center;
	}
	
	.form-group.label-left > label {
	    flex: 0 0 30%;
	    text-align: right;
	    padding: 0 8px 0 0;
	    margin: 0 1% 0 0;
	    position: relative;
	    max-width: 30%;
	}
	
	.form-group.label-left > label + div,
	.form-group.label-left > input[type="text"],
	.form-group.label-left > input[type="email"],
	.form-group.label-left > input[type="password"],
	.form-group.label-left > select,
	.form-group.label-left > textarea {
	    flex: 1 1 69%;
	    max-width: 69%;
	}
	
	.form-group.label-left.submit-row,
	.form-group.label-left.checkboxes { margin-left: 31%; }


	#footer-main-content { overflow: hidden; }

	#page-footer .group-1 {
		display: block;
		float: left;
		width: 20%;
		max-width: 170px;
		margin: 0 15px 0 0;
	}
	
	#page-footer .group-3 {
		float: left;
		margin: 0 25px 0 0;
	}
	
	#page-footer .org-logos > div, 
	#page-footer .org-logos > div.ilab-logo { 
		margin: 0 auto;
		max-width: 100%;
	}
	
	#page-footer .aba-logo img {
		margin: 0 -4% 0 2%;
		max-width: none;
	}

	#page-footer .ilab-logo img {
		max-width: 70%;
		margin: 0 auto;
	}
	
	#page-footer .org-logos a { margin: 0 auto; }

	#page-footer .legal { 
		margin: 20px 0 0 0;
		clear: both;
	}

}

/* bootstrap md */
@media (min-width: 768px) { 
	
	#page-header {  }
	
	.results-controls .pagination { 
		order: 0;
		width: auto;
		margin: 0 15px;
		justify-content: center;
	}
	
	.summary.type-2 .item {
		display: flex;
		flex-wrap: wrap;
		align-items: flex-start;
	}

	.summary.type-2 .image-wrap {
	    flex: 1 1 auto;
	    max-width: 17%;
	    margin: 0 15px 0 0;
	}
	
	.summary.type-2 .text-wrap { margin-left: 0; }
	
	.summary.type-2 .actions {
		text-align: center;
		flex: 0 0 170px;
		margin: 0 0 0 15px;
	}
	
	.summary.type-2 .preferred-vendor { 
		display: block;
		margin: 0;
	}
	
	.summary.type-2 .preferred-vendor .price { margin: 0 0 5px 0; }
	
	.btn.bigger,
	.summary.type-2 .btn {
		font-size: 1.6rem;
		padding: 6px 16px;
	}
	
	.book-details .price-box > div { margin-top: 20px; }
	
	#seller-info .bookseller-desc { text-align: center; }
	
	.find-bookseller .form-group { display: block; }
	
	.find-bookseller .form-group label {
		padding: 0 0 5px 0;
		text-align: left;
		width: auto;
	}

}

/* bootstrap lg */
@media (min-width: 992px) {
	
	#page-content.has-sidebar #primary {
		flex: 1 1 60%;
		order: 1;
	}
	
	#page-content.has-sidebar #secondary {
		flex: 1 1 35%;
		margin: 0 4% 0 0;
		max-width: 250px;
		background-color: transparent;
	}

	#secondary .summary.type-2 .image-wrap.no-photo .spacer,
	#secondary a.box-link .no-photo .spacer,
	#secondary .no-photo a { background-color: #c2c2c2; }
	
	#page-content.has-alt-sidebar #primary {
		flex: 1 1 55%;
		order: 0;
	}
	
	#page-content.has-alt-sidebar #secondary {
		flex: 1 1 40%;
		margin: 0 0 0 4%;
		max-width: 300px;
	}
	
	#page-header .page-width {
		align-items: flex-end;
		justify-content: flex-start;
	}
	
	#hdr-branding { margin-right: 20px; }
	
	#hdr-branding a { text-align: left; }
	
	#hdr-branding img { margin: 0; }
	
	#page-header nav { padding-bottom: 2%; }

	#main-menu-wrap { 
		order: 0;
		flex: 1 1 auto;
	}
	
	#page-header .menu-control { display: none; }

	#main-nav { flex: 1 1 auto; }
	
	#page-header .menu { 
		position: static;
		background-color: transparent;
		display: flex;
		align-items: flex-end;
		margin: 0;
		padding: 0;
		transform: none !important;
		width: auto !important;
	}

	#page-header .menu li { 
		font-size: 1.8rem;
		border-top: 0 none;
	}
	
	#page-header .menu > li:last-child { border-bottom: 0 none; }
	
	#page-header .menu li + li { margin-top: 0; }
	
	#page-header .menu > li { 
		display: inline-block;
		margin: 0 0 0 3%;
		padding: 0;
	}
	
	#page-header .menu > li:first-child { margin-left: 0; }
	
	ul#login-menu > li > a,
	#page-header .menu > li > a { 
		padding: 10px 1px 5px 0;
		position: relative;
		color: inherit;
	}
	
	#page-header .menu > li:hover > a,
	#page-header .menu > li:active > a,
	#page-header .menu > li.current-menu-item a {
		padding: 11px 0px 4px 1px;
		background-color: transparent;
		color: #000;
	}

	#page-header .menu ul {
	    position: absolute;
	    z-index: 4;
	    clear: both;
	    left: -999em;
	    height: auto;
	    margin: 0;
	    border: 0 none;
	    max-width: 260px;
	    background-color: #4c4c4c;
		-webkit-columns: auto;
		-moz-columns: auto;
		columns: auto;
		max-height: 0;
	}

	#page-header .menu li li {
		margin: 0;
	    border-top: 1px #e8e8e8 dotted;
	}
			
	#page-header .menu li:hover ul ul,
	#page-header .menu li:hover ul ul ul { left: -999em; }
	
	#page-header .menu li:hover ul,
	#page-header .menu li li:hover ul,
	#page-header .menu li li li:hover ul { 
		left: auto;
		max-height: 500px;
	}
	
	#header-memtools > li { position: relative; }
	
	#header-memtools li:hover ul,
	#header-memtools li li:hover ul,
	#header-memtools li li li:hover ul { right: 0; }

	#page-header .menu li li a { 
		padding: 13px 15px 13px 15px;
		background-color: #4c4c4c;
		margin: 0;
		color: #c6c6c6;
		-webkit-transition: all .2s ease-in-out;
		-o-transition: all .2s ease-in-out;
		transition: all .2s ease-in-out;
	}

	#page-header .menu li li a:hover {
		padding: 14px 14px 12px 16px;
		background-color: #131313;
		color: #FFF;
	}

	#page-footer .legal { 
		display: flex;
		justify-content: space-between;
	}
	
	h1.title { font-size: 2.7rem; }

	.bigquote p { font-size: 3.0rem; }
	
	.bigquote .speaker { font-size: 2.5rem; }

	#homepage-carousel { 
		overflow: hidden;
		max-height: 68vh;
	}
	
	.book-details .price { font-size: 150%; }

	#footer-main-content {
		display: flex;
		justify-content: space-between;
	}

	#page-footer .group-1 { max-width: 140px; }
	
	#page-footer .group-2 { margin-right: 20px; }

}

/* bootstrap xl */
@media (min-width: 1200px) { 
	
	.page-width { margin: 0 auto 0 auto; }

	.welcome p { font-size: 2.2rem; }
		
}
