:root{
	/* antikvariat custom */
	--heading-color: #315555;
	--orange: #f89c15;
	--header-background-color: #315555;
    --header-primary-color: #ffffff;
    --lighter-green: #336666;
    --lighter-green-rgb: rgb(51,102,102);
    --lighter-green-rgb-raw: 51,102,102;
    --lightest-green: #C1CCCC;
	--lightest-green-rgb-raw: 193,204,204;
	--darkened-green: #1f3d3d;
 	--warm-brown: #642717;
	--navigation-background-color: var(--lighter-green);
    --navigation-primary-color: #ffffff;
    --footer-text-color: #000000;
    --text-color: #121212;
    --link-color: #315555;
	--serif: "Literata", Georgia, "Times New Roman", serif;
    --site-background-color: #ffffff;
    --primary-content-background-color: #ffffff;
    --body-text: "Inter", Helvetica, Arial, sans-serif;
    --body-text-size: 1.5rem;
    --h1-text-size: 3.2rem;
	--h1-text: var(--serif);
    --h2-text: var(--serif);
	--h3-text: var(--serif);
    --h2-text-size: 2.6rem;
    --button-background: #315555;
    --button-text-color: #ffffff;
    --space-xs: 5px;
    --space-s: 10px;
    --space-m: 20px;
    --space-l: 30px;
    --space-xl: 40px;
    --space-xxl: 50px;
    --font-bold: 600;
    --font-norm: 300;
    --space-v: var(--space-l);
    --border-light: 1px dotted var(--bs-gray-300);
    
	/* bootstrap redefines */
	--bs-link-color-rgb: var(--lighter-green-rgb);
	--bs-border-radius: 5px;
	--bs-light: #f2f2f2;
	--bs-body-color: var(--text-color);
	--bs-body-font-family: var(--body-text);
	--bs-link-color: var(--lighter-green);
	--bs-info-rgb: var(--lightest-green-rgb-raw);
	--bs-breadcrumb-item-padding-x: var(--space-s);
	--bs-breadcrumb-divider-color: var(--lighter-green);
	--bs-btn-disabled-opacity: 0.5;
}

html { 
    background-color: var(--header-background-color); /* this helps when over-scrolling to not show white at header */
	overflow-y: scroll !important;
    font-size: 62.5%;
}

body { 
	color: var(--text-color);
    font-family: var(--body-text);
    font-weight: var(--font-norm);
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	text-rendering: optimizeLegibility;
    font-size: var(--body-text-size);
	line-height: 1.4;
	background-color: #FFF;
	position: relative !important;
	overflow: hidden !important;
}

* { font-family: var(--body-text); }

/* a figcaption, */
a { 
	color:var(--link-color);
	text-underline-offset: 0.3em;
    text-decoration-line: underline;
    text-decoration-style: dotted;
    text-decoration-thickness: 1px;
    text-decoration-color: rgba(var(--lighter-green-rgb-raw), 0.5);
}

/* a figcaption:hover, */
a:hover { 
	color:var(--link-color);
	text-decoration-line: none;
}

a:focus { outline-offset: 0.4rem; }

h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5 { 
	color: var(--heading-color);
	font-weight: var(--font-bold);
	line-height: 1.25;
	white-space: wrap !important;
	margin-bottom: 1rem;
}


h1, .h1,
h1 a, .h1 a { 
	font-size: var(--h1-text-size);
	font-family: var(--h1-text);
}

h2, .h2,
h2 a, .h2 a { 
	font-size: var(--h2-text-size);
	font-family: var(--h2-text);
}

h3, .h3 {
	font-size: 2.0rem; 
	color: var(--warm-brown);
	font-family: var(--h3-text);
}

h4, .h4 { font-size: 1.8rem; }

h5, .h5 { font-size: 1.6rem; }

h2 + h3 { margin-top: -.25em; }

b, strong { font-weight: var(--font-bold); }

img { 
	max-width: 100%; 
	width: auto; 
	height: auto;
	border: 0 none;
}

.image-link { display: block; }

/* Hide arrows in Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

/* Hide arrows in Firefox */
input[type="number"] {
	-moz-appearance: textfield;
}

.container { 
	--bs-gutter-x: var(--space-m);
	max-width: none;
}

#page-title { margin: var(--space-m) 0; }

label,
.label { 
	display: inline-block;
	font-size: 16px;
	line-height: 1.1;
}

.mt-4,
#top-container { margin-top: var(--space-v) !important; }

.row { --bs-gutter-x: var(--space-l); }

.form-control,
.form-select { 
	font-size: var(--body-text-size);
	color: var(--text-color);
	font-weight: var(--font-norm);
	padding: var(--input-padding);
}

.form-select { 
	font-weight: var(--font-norm);
	--input-padding: .55rem 3.5rem .55rem .75rem;
}
 
.form-control { --input-padding: .375rem .75rem; }

form.submitted input:invalid,
form.submitted select:invalid,
form.submitted textarea:invalid {
    border: 1px var(--bs-red) solid;
    outline: 0 none;
    background-color: var(--bs-light-yellow);
	/* box-shadow: 0 0 4px var(--red); */
}

.error-field { background-color: var(--bs-light-yellow) !important; }

input.error-field,
select.error-field,
textbox.error-field { border-color: var(--bs-red); }

.form-group.error-field {
	border: 1px var(--bs-red) solid;
	padding: 10px;
}

.form-check.error-field { border: 8px var(--bs-light-yellow) solid; }

#page-header { color: var(--header-primary-color); }

#page-header .icon {
	display: flex;
	align-items: center;
}

#hdr-nav-control {
	border: 1px solid var(--header-primary-color);
    border-radius: var(--bs-border-radius);
}

#hdr-brand {
	flex: 0 0 254px;
	max-width: 42%;
}

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

#page-header .form-text,
#page-header a { color: var(--header-primary-color); }

#page-header a:hover,
#page-header select:hover { color: var(--orange); }

#page-header .top-row .container {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-s) 2vw;
    width: 100%;
}

#page-header select { 
    border-radius: var(--bs-border-radius);
    background-color: transparent;
    border: 0 none;
    color: var(--header-primary-color);
}

/* #page-header .set-site-preference option { text-align: center; } */

#hdr-nav-outer { 
    padding: 0;
    background-color: #fff;
}

#hdr-nav {
	position: absolute;
	z-index: 5;
	top: 0px;
	left: 1px;
	min-width: 330px;
    padding: var(--space-s) var(--space-m);
    background-color: var(--navigation-background-color);
    align-items: center;
}

#hdr-nav .nav-item {
    align-content: center;
}

#hdr-nav .nav-link { 
    padding: var(--space-s);
    margin: 0 calc(var(--space-s) * -1);
	font-size: 1.6rem;
    font-weight: var(--font-bold);
}

#hdr-nav .nav-link:hover { 
    color: var(--header-primary-color);
    background-color: rgba(255,255,255,0.3);
}

#hdr-nav .nav-link:focus-visible { 
    outline-offset: -2px;
    outline: 1px solid var(--orange);
    box-shadow: none;
}
     
.top-row {
    padding: var(--space-m) 0;
    align-items: center;
    background-color: var(--header-background-color);
}

#hdr-qs { 
	flex: 1 1 100%;
    order: 4;
	min-width: 200px;
	max-width: 450px;
}

form .one-row { 
    display: flex;
    gap: 0;
    align-items: stretch;
}

#page-header .login .text {
    position: absolute;
	height: 1px !important;
	width: 1px !important;
	clip: rect(0, 0, 0, 0) !important;
}

#hdr-qs .one-row { position: relative; }

#hdr-qs .input-wrap { flex: 1; }

#hdr-qs input,
#hdr-qs button { 
    height: 9vw;
    max-height: 40px;
    min-height: 30px
}

#hdr-qs input { padding-right: 33px !important; }

#hdr-qs button { 
    line-height: 1;
    width: 25px;
    padding: 0; 
    border: 0;
    margin: 0;
    color: var(--heading-color);
    background-color: transparent;
    position: absolute;
    right: 5px;
}

#hdr-qs button:hover,
#hdr-nav-control:hover { 
    border-color: var(--orange); 
    color: var(--orange);
}

#hdr-nav-control:focus,
/* #hdr-brand:focus { outline-offset: 2px; outline: 1px solid #fff; } */

#hdr-qs label { 
    font-size: 1.0rem;
	font-size: calc(0.3vw + 8.875px);
}

#page-header .customer-actions {
    display: flex;
    align-items: center;
    margin-left: auto;
    gap: .5vw;
}

#page-header .customer-actions a,
#page-header .customer-actions select {
	font-size: 1.4rem;
	font-size: calc(1vw + 10.25px);
    font-weight: var(--font-bold);
    text-decoration: none;
}

#page-header .customer-actions select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

#page-header .cart-link { 
	display: flex; 
	align-items: center;
	line-height: 1;
	position: relative;
}

#page-header .cart-count {
	position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    right: -5px;
    font-size: 1.0rem;
    top: -4px;
    background-color: var(--orange);
    color: #000;
    border-radius: 50%;
    min-height: 1.25em;
    min-width: 1.25em;
    line-height: 0;
}

#page-footer h5 { font-family: inherit; }

#page-footer { background-color: #fff; }

#page-footer .footer-links {
    background-color: var(--bs-light);
    padding: var(--space-m) 0;
}

#page-footer .footer-links li { margin-top: var(--space-s); }

#page-footer .footer-links a { text-decoration: none; }
#page-footer .footer-links a:hover { text-decoration: underline; }
#page-footer .footer-links a:focus {}
#page-footer .footer-links a:active {}


#page-footer .assoc-logos { 
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: var(--space-s);
    padding: var(--space-m) 0;
}

#page-footer .assoc-logos img {
    width: auto;
	height: 13vw;
	max-height: 60px;
	min-height: 30px;
}

#main-content { 
    padding: var(--space-l) 0;
    background-color: #fff;
}

.form-group { margin: var(--space-s) 0; }

.label-placeholder input[type="text"],
.label-placeholder input[type="search"],
.label-placeholder input[type="number"],
.label-placeholder input[type="tel"],
.label-placeholder input[type="date"],
.label-placeholder input[type="url"],
.label-placeholder select,
.label-placeholder textarea { 
	padding: 1.6rem 1.0rem 0.5rem 1.0rem !important;
	min-width: 200px;
	border: 1px var(--bs-gray-400) solid !important;
	font-size: 1.4rem !important;
	line-height: 1.1 !important;
	background-color: #FFFFFF !important;
	border-radius: var(--bs-border-radius);
	box-sizing: border-box !important;
	resize: none !important;
	text-decoration: none !important;
	width: 100%;
	max-width: 100%;
}

.label-placeholder input[type="text"]::placeholder,
.label-placeholder input[type="search"]::placeholder,
.label-placeholder input[type="number"]::placeholder,
.label-placeholder input[type="tel"]::placeholder,
.label-placeholder input[type="date"]::placeholder,
.label-placeholder input[type="url"]::placeholder,
.label-placeholder textarea::placeholder { color: transparent; }

.label-placeholder { position: relative !important; }

.label-placeholder label { 
	font-size: 60%;
	position: absolute;
	top: 0.5rem;
	left: 1.2rem;
	z-index: 1;
	transform-origin: top left;
	transition: all .40s ease-in-out;
	cursor: text;
	color: var(--text-color);
	margin: 0;
}

.label-placeholder input:placeholder-shown + label {
	transform: translate(0, 5px) scale(1.7);
}

.label-placeholder input:not(:placeholder-shown) + label,
.label-placeholder input:focus + label {
	opacity: .7 !important;
	transform: translate(0, 0) scale(1);
}

a.no-photo { 
	text-decoration: none !important;
    background-color: #ffffff;
}

.no-photo div {
    display: flex;
    aspect-ratio: 100 / 130;
    align-items: center;
	justify-content: center;
    text-align: center;
    font-size: 1.2rem;
    color: var(--text-color);
    padding: var(--space-s);
	background-color: var(--bs-light);
}

.btn,
.btn a {
	--bs-btn-font-size: 1.45rem;
	--bs-btn-padding-x: 1rem;
	--bs-btn-padding-y: 0.375rem;

	/* Base button color */
	--bs-btn-bg: var(--lighter-green);
	--bs-btn-border-color: #285757;
	--bs-btn-color: #ffffff;
	
	/* Hover state */
	--bs-btn-hover-bg: #237979;
	--bs-btn-hover-border-color: #1f6868;
	--bs-btn-hover-color: #ffffff;
	
	/* Focus state */
	--bs-btn-focus-shadow-rgb: 35, 121, 121;
	--bs-btn-focus-border-color: #1c5c5c;
	
	/* Active state */
	--bs-btn-active-bg: #1a5252;
	--bs-btn-active-border-color: #164646;
	--bs-btn-active-color: #ffffff;
	--bs-btn-active-shadow: 0 0 0 0.2rem rgba(35, 121, 121, 0.5);
	
	/* Disabled state */
	--bs-btn-disabled-bg: #738f8f;
	--bs-btn-disabled-border-color: #617676;
	--bs-btn-disabled-color: #ccd5d5;

    color: var(--button-text-color);
    font-weight: var(--font-bold);
	line-height: 1.1;
}

.btn-white {
	/* Base button color */
	--bs-btn-bg: #ffffff;
	--bs-btn-border-color: var(--lightest-green);
	--button-text-color: var(--link-color);
	--bs-btn-color: var(--link-color);
	
	/* Hover state */
	--bs-btn-hover-bg: var(--bs-gray-300);
	--bs-btn-hover-border-color: var(--bs-gray-600);
	--bs-btn-hover-color: var(--link-color);
	
	/* Focus state */
	--bs-btn-focus-shadow-rgb: 35, 121, 121;
	--bs-btn-focus-border-color: #1c5c5c;
	
	/* Active state */
	--bs-btn-active-bg: #1a5252;
	--bs-btn-active-border-color: #164646;
	--bs-btn-active-color: #ffffff;
	--bs-btn-active-shadow: 0 0 0 0.2rem rgba(35, 121, 121, 0.5);
	
	/* Disabled state */
	--bs-btn-disabled-bg: #738f8f;
	--bs-btn-disabled-border-color: #617676;
	--bs-btn-disabled-color: #ccd5d5;
}

.btn-primary {
	--bs-btn-font-size: 100%;
	padding: .75rem 1.5rem;
}

.caption-overlay { 
	position: relative;
	margin: 0;
	flex: 1 0;
}

.caption-overlay .figure-caption { 
	position: absolute;
	bottom: 0;
	left: 0;
	max-width: 90%;
	margin: 0;
	padding: 1rem 1.25rem 0 0;
	background-color: rgba(255,255,255,1);
	border-top-right-radius: 10px;
}

.figure-caption h2 { margin: 0; }

.figure-caption.resp-font h2 {
	font-size: 1.5rem;
	font-size: calc(0.8vw + 12px);
}

.figure-caption a:hover,
.figure-caption a:focus { text-decoration: underline; }

#google-map {
	width: 100%;
	height: 600px;
	background: #f1f1f1;
}

#breadcrumbs { margin-bottom: var(--space-l); }

.breadcrumb { --bs-breadcrumb-item-padding-x: var(--space-s); }

.breadcrumbs {    /* this is checkout only */
	display: flex;
    flex-wrap: wrap;
	gap: var(--space-s);
}

.breadcrumbs > a,
.breadcrumb-item {
	max-width: 300px; 
	white-space: nowrap; 
	overflow: hidden; 
	text-overflow: ellipsis;
}

.breadcrumbs > a,
.breadcrumb-item a,
.actions-wrap .terms-and-conditions a { text-decoration-line: none; }

.breadcrumbs > a:hover,
.breadcrumb-item a:hover,
.actions-wrap .terms-and-conditions a:hover { text-decoration-line: underline; }

.breadcrumbs > a + a::before,
.breadcrumbs > a + span::before {
    padding-right: var(--space-s);
    color: var(--bs-breadcrumb-divider-color);
    content: var(--bs-breadcrumb-divider, "/");
}

p + section,
.content-section + .content-section { margin-top: var(--space-xxl); }

.content-section header { margin-bottom: var(--space-l); }

.content-section header > *:last-child,
.content-section .intro > *:last-child { margin-bottom: 0; }

header + .books-list { margin-top: var(--space-m); }

.books-type-2,
.books-list {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: flex-start;
}

.books-list > .item { line-height: 1.5; }

.books-type-2 .no-photo,
.books-list .no-photo div {
    width: 90px;
    padding: var(--space-xs);
}

.books-type-2 .no-photo,
.summary .no-photo {
	aspect-ratio: 1/1.2;
	background: var(--bs-gray-200);
    position: relative;
}

.no-photo img { 
	opacity: 0.4;
	filter: hue-rotate(-32deg);
}

.books-type-2 .no-photo img,
.summary .no-photo img {
	position: absolute;
    max-width: 66%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}


.books-type-2,
.books-list.tiles { 
	--line-h: 18px;
	--gap: var(--space-m);
	--num: 1;
    --space-xs: calc(var(--line-h) / 2);
    --item-w: calc((100% - ((var(--num) - 1) * var(--gap))) / var(--num));
	gap: var(--gap);
	align-items: stretch;
}

.books-type-2 .item,
.books-list.tiles .item {
	padding: var(--space-m);
	background-color: #fff;
	box-shadow: 2px 2px 10px 0 rgba(100, 100, 100, 0.3); 
	border-radius: var(--bs-border-radius);
	line-height: var(--line-h);
	min-width: 160px;
	flex: 0 0 100%;
}

.books-type-2 .image-wrap,
.books-list.tiles .image-wrap,
.books-list.rows .image-wrap { 
	float: right; 
	margin: 0 0 var(--space-xs) var(--space-xs);
}

.books-type-2 img,
.books-list.tiles img,
.books-list.rows img { 
	display: block;
    width: auto !important;
    height: auto !important;
    max-width: 150px;
    max-height: 150px;
}

.books-list.tiles .item .text-wrap { 
	position: relative;
	max-height: 15em;
	overflow: hidden;
	margin-bottom: var(--space-xs);
}

.books-list.tiles .item .text-wrap.no-author { max-height: calc(10em - var(--space-xs)); }
.books-list.tiles .text-wrap.no-author + .btn-sml { margin-top: var(--space-xs); }

.books-list.tiles .item .text-wrap.is-truncated { position: relative; }

span.more-indicator {
    position: absolute;
    bottom: 0;
    z-index: 2;
    background-color: #fff;
    right: 0;
}

.books-list.tiles .actions-wrap {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    --bs-btn-font-size: 1.45rem;
}

.books-list.tiles .btn-primary { --bs-btn-font-size: 90%; }

.books-list.tiles .actions-wrap .wishlist .btn {
	background: transparent;
	padding: 0;
	margin: 0;
	border: 0 none;
	font-weight: var(--font-norm);
	text-decoration
	color:var(--link-color);
	text-underline-offset: 0.25em;
    text-decoration-line: underline;
    text-decoration-style: dotted;
    text-decoration-thickness: 1px;
    text-decoration-color: rgba(var(--lighter-green-rgb-raw), 0.5);
}

.books-list.tiles .text-wrap a.text-link,
.books-list.tiles .sku { display: none; }

.books-list.tiles .actions-wrap a.text-link { font-size: var(--bs-btn-font-size); }

.books-list.tiles .actions-wrap .wishlist .btn:hover { 
	color:var(--link-color);
	text-decoration-line: none;
}


.books-list .text-wrap > *:not(:last-child) { margin-bottom: var(--space-xs); }

.books-type-2 .title,
.books-type-2 .author,
.books-list .author,
.books-list .title { 
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;  
	overflow: hidden;
/* 	font-size: 110%; */
}

/*
.books-list .author { 
	font-weight: bold;
}
*/

.books-list .title { 
		font-weight: bold;
}

.books-list .title a { text-decoration: none; }

.books-list .sku,
.books-list .description { 
	font-size: 90%;
	margin-bottom: var(--space-xs);
}

.books-list.tiles .btn-sml { 
	align-self: flex-start;
}

.books-list.rows .item {
	--space-v: var(--space-m);
	padding-bottom: var(--space-v);
	margin-bottom: var(--space-v);
	border-bottom: var(--border-light);
	background-color: #fff;
	flex: 0 0 100%;
	align-items: flex-start;
}

.books-list.rows .text-wrap { 
	flex: 1 0;
	align-self: center;
}

.books-list.rows .description { 
	display: -webkit-box;
	-webkit-line-clamp: 6;
	-webkit-box-orient: vertical;  
	overflow: hidden;
	line-height: 1.5;
}

.books-list.rows a.text-link { font-size: 90%; }

.books-list.rows .actions-wrap a.text-link { display: none; }

.books-list.rows a.text-link:hover { text-decoration: none; }

.books-list.rows .actions-wrap {
	display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-s) var(--space-s);
    width: 100%;
    margin-top: var(--space-s);
	flex: 0 1 fit-content;
}

.books-list.rows .wishlist { flex: 0 0 100%; }

.actions-wrap .price { 
	font-weight: var(--font-bold);
	font-size: 110%;
}

.actions-wrap .terms-and-conditions { font-size: 80%; }

.books-list.hscroll { 
	flex-wrap: nowrap;
	max-width: 100%;
	width: 100%;
	overflow-x: scroll;
	overflow-y: clip;
	padding: 5px 0 15px 5px;
	margin-left: -5px;
}

.row-of-entries { 
	--gap: var(--space-m);
	gap: var(--gap);
	display: flex;
	flex-wrap: wrap;
}

.row-of-entries.count-1 { --count: 1; }
.row-of-entries.count-2 { --count: 2; }
.row-of-entries.count-3 { --count: 3; }
.row-of-entries.count-4 { --count: 4; }
.row-of-entries.count-5 { --count: 5; }

.row-of-entries > div { 
	flex: 0 0 100%;
	overflow: auto;
	border-top: var(--border-light);
	padding-top: var(--space-m);
}

.row-of-entries .image-wrap { 
	float: right;
	max-width: 40%;
	margin: 0 0 var(--space-xs) var(--space-s);
}

.image-w-text {
	--pad: 0px;
	--gap: var(--space-s);
	display: flex;
	gap: var(--gap);
	padding: var(--pad);
	flex-wrap: wrap;
	align-items: center;
}

.image-w-text.padded { --pad: var(--space-m); }

.image-w-text.row-reverse { flex-direction: row-reverse; }

.image-w-text .image-wrap { align-self: stretch; }
	
.image-w-text .image-wrap a { height: 100%; }

img.cover { 
	object-fit: cover;
    width: 100%;
    height: 100%;
}

.pagination {
	--bs-pagination-active-bg: var(--lightest-green);
	--bs-pagination-font-size: inherit;
	--bs-pagination-active-border-color: rgba(var(--lighter-green-rgb-raw), 0.4);
	--bs-pagination-hover-color: var(--darkened-green);
	margin: 0;
	/*
	--bs-pagination-color: var(--bs-link-color);
	--bs-pagination-padding-x: 0.75rem;
	--bs-pagination-padding-y: 0.375rem;
	--bs-pagination-font-size: 1rem;
	--bs-pagination-bg: #fff;
	--bs-pagination-border-width: 1px;
	--bs-pagination-border-color: #dee2e6;
	--bs-pagination-border-radius: 0.375rem;
	--bs-pagination-hover-color: var(--bs-link-hover-color);
	--bs-pagination-hover-bg: #e9ecef;
	--bs-pagination-hover-border-color: #dee2e6;
	--bs-pagination-focus-color: var(--bs-link-hover-color);
	--bs-pagination-focus-bg: #e9ecef;
	--bs-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
	--bs-pagination-active-color: #fff;
	--bs-pagination-active-bg: #0d6efd;
	--bs-pagination-disabled-color: #6c757d;
	--bs-pagination-disabled-bg: #fff;
	--bs-pagination-disabled-border-color: #dee2e6;
	*/
}

.current-page-info { flex: 1 0 100%; }

.results-control {
	display: flex;
	flex-wrap: wrap;
	margin: var(--space-m) 0 var(--space-l) 0;
	padding: var(--space-m) 0;
	border-top: 1px solid var(--lightest-green);
	border-bottom: 1px solid var(--lightest-green);
	gap: var(--space-s);
	justify-content: space-between;
	align-items: center;
}

.results-control,
.results-control .form-select { font-size: 15px; }

.sort-tools { 
	display: flex;
	align-items: center;
	gap: var(--space-s);
}

.sort-tools > * { margin: 0; }

.terms-list { font-weight: var(--font-norm); }

.search-terms .terms-list {
	display: inline-flex;
    flex-wrap: wrap;
    gap: var(--space-xs);
    margin-top: var(--space-xs);
}

.terms-list .term { display: inline-block; }

.terms-list .badge .remove-term { 
	display: inline-block;
	font-size: 1.5rem;
	padding: 0 0 0 var(--space-xs);
	margin: calc(-1 * var(--space-xs));
	margin-left: 0;
	text-decoration: none;
}

.terms-list .badge .remove-term:hover { color: #fff; }

.search-results-wrapper { 
	display: flex;
	gap: var(--space-l);
	align-items: stretch;
	justify-content: flex-start;
	flex-direction: column;
}

.search-results { flex: 1 0; }

.range-seperator {
    flex: 0 1 content;
    align-self: flex-end;
    text-align: center;
    padding: 5px 3px 8px 3px;
    max-width: fit-content;
}

.results-filters {
	border-radius: var(--bs-border-radius);
	padding: var(--space-m);
/*     background-color: var(--lightest-green); */
}

.text-cols { columns: 12em; }

.text-cols > *:first-child { margin-top: 0; }

.text-cols > li,
.text-cols > div,
.text-cols div.form-group,
.text-cols .address-wrap {
	-webkit-column-break-inside: avoid; /* Chrome, Safari */
	page-break-inside: avoid;           /* Theoretically FF 20+ */
	break-inside: avoid-column;         /* IE 11 */
	break-inside: avoid;
}

/* #checkout .text-cols {
	-webkit-columns: 3 200px;
	-moz-columns: 3 200px;
	columns: 3 200px;
} */

/* this is to fix a safari bug */
/* #checkout .text-cols a:not([class]) { text-underline-offset: auto; } */

.books-list.rows .no-photo img { max-width: 125px; }

.books-list.tiles.single-row-l .item:nth-child(n+5) {  display: none; } /* max display of 4 rows (one per row) */

/* book-details */
h1.title {
	font-size: 2.4rem;
	font-size: calc(1.3vw + 19.125px);
}

.text-wrap > .author,
h1.author,
.books-type-2 .author { color: var(--warm-brown); }

h2.title,
.books-type-2 .author { font-weight: var(--font-norm); }

h1.title + h2.author {
	font-size: 2.2rem;
	font-size: calc(0.6vw + 19.75px);
}

.image-wrap.no-photo {
	float: right;
	max-width: 200px;
	margin: 0 0 var(--space-xs) var(--space-s);
}

/* .modal-body { font-size: 90%; } */

span.data-label {
    display: inline-block;
    font-weight: var(--font-bold);
    font-size: 75%;
}

.expander { box-sizing: content-box; }

.expander.content-hidden { padding-bottom: 1.5em; }

.content-hidden {
	overflow: hidden;
	position: relative;
    transition: all 500ms linear 0ms;
	min-width: 150px;
	
}

.content-hidden > *:first-child { margin-top: 0; }

.content-hidden > *:last-child { margin-bottom: 0; }

.content-hidden .open {
	width: 100%;
	position: absolute;
	left: 0;
	bottom: 0;
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ffffff',GradientType=0 ); /* IE6-9 */
	cursor: pointer;
	z-index: 2;
	height: 4.25em;
	background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 70%, rgba(255,255,255,1) 90%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	color: var(--link-color);
    font-size: 90%;
    font-weight: var(--font-bold);
}

.content-hidden .open span.control { 
	background-color: #ffffff;
	position: absolute;
	bottom: 0;
	left: 0;
}

.content-hidden .open span:focus { color: var(--lightest-green); }

.content-hidden .open span.control::before { 
    display: inline-block;
	content: '\005B\002B\005D';
	padding-right: .25em;
}

.content-hidden.active { 
	max-height: none;
}

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

/* .content-hidden.active .open .more-phrase { display: none; } */

.content-hidden.active .open span.control::before { content: '\005B\2013\005D'; }

.content-hidden.active .more { 
	position: relative; 
	z-index: 3;
}

.glossary-index-nav {
  overflow-x: auto;
}

.glossary-pagination-list {
  display: flex;
  flex-wrap: nowrap;
  list-style: none;
  padding: 0;
  margin: 0;
}

.glossary-pagination-list .page-item {
  flex: 0 0 auto;
  text-align: center;
}

.image-w-text .image-wrap {
  aspect-ratio: 525 / 388;
  width: 100%;
  overflow: hidden;
}

.form-check-input:checked {
  background-color: #315555;
  border-color: #315555;
}

#cart h1 { font-size: 2.6rem; }
#cart h2 { font-size: 2.2rem; }

.books-type-2 h4.author,
.books-type-2 h3.title { font-size: var(--body-text-size); }

.books-type-2 .item-title { 
	display: flex; 
	flex-direction: column;
}

.books-type-2 h3.title + h4.author { order: -1; }

@media (min-width: 450px) {
	
/*
	.container { 
		padding-right: var(--bs-gutter-x);
		padding-left: var(--bs-gutter-x);
	}
*/
	
	.books-type-2,
	.books-list.tiles { --num: 2; }
	
	.books-type-2 .item,
	.books-list.tiles .item {
		display: flex;
		flex-direction: column;
		gap: var(--space-xs);
	    flex: 0 0 var(--item-w);
	    max-width: var(--item-w);
	}

	.books-type-2 .image-wrap,
	.books-list.tiles .image-wrap { 
		float: none;
		margin: 0;
	}
	
	.books-type-2 .no-photo { 
		width: auto;
		aspect-ratio: auto; 
	}

	.books-type-2 .image::after,
	.books-list.tiles .image-link::after,
	.books-list-rev.tiles .image-link .no-photo::after {
	    content: '';
	    float: left;
	    padding-top: 100%;
	}
	
	.books-type-2 .image,
	.books-list.tiles .image-link {
	    display: block;
	    position: relative;
	    color: inherit;
	    overflow: hidden;
	}
	
	.books-type-2 img,
	.books-list.tiles img { 
	    position: absolute;
	    max-width: 100%;
	    max-height: 100%;
	    top: auto;
	    bottom: 0;
	    left: 0;
	    transform: none;
	}
	
	.books-type-2 .no-photo img,
	.books-list.tiles .no-photo img { max-width: 80px; }

	.books-list.tiles .item .text-wrap { 
		margin-top: var(--space-xs);
		margin-bottom: 0;
	}
	
	.books-list.tiles.single-row-l .item:nth-child(n+5) {  display: flex; } /* explicitly un-do display none */
	.books-list.tiles.single-row-l .item:nth-child(n+7) {  display: none; } /* max display of 3 rows (2 per row) */

	/* they wanted everything centered; only going to do it for larger than mobile */
	.books-type-2 img,
	.books-list.tiles img { 
		left: 50%;
		transform: translateX(-50%);
	}

	.books-type-2 .item,
	.books-list.tiles .item .text-wrap { text-align: center; }
	
	.books-type-2 .minor-actions,
	.books-list.tiles .actions-wrap { 
		padding-top: var(--space-xs);
		margin-top: auto;
		justify-content: center;
		align-items: center;
	}

	.books-list.tiles .btn-sml { align-self: center; }

	.books-type-2 .minor-actions .actions-wrap .price,
	.books-list.tiles .actions-wrap .price {  text-align: center; }
	
	/* .tiles .item.book .text-wrap :is(.author, .title, .seller-details) {
	text-align: center;
	} */

}

/* bootstrap sm */   
@media (min-width: 576px) { 
	.container { --bs-gutter-x: var(--space-l); }
    #page-header .top-row .container { gap: var(--space-m) var(--space-s); }
    #page-header .customer-actions { gap: var(--space-xs); }
    #page-footer .assoc-logos { gap: var(--space-m) var(--space-l); }  
	#page-header .customer-actions a,
	#page-header .customer-actions select { font-size: 1.6rem; }
	
	.books-type-2,
	.books-list.tiles,
	.row-of-entries { --gap: var(--space-l); }

	.row-of-entries > div { 
		display: flex;
		gap: var(--space-m);
	}
	
	.row-of-entries .text-wrap { 
		flex-grow: 1;
		align-self: center;
	}
	
	.row-of-entries .image-wrap { 
		flex: 0 0 fit-content;
		margin: 0;
		order: 1;
	}

	.books-list.rows .image-wrap .no-photo { background: none; } /* Defensive — the link itself */

	.books-list.rows .image-wrap:has(.no-photo) { background: none; }

	.image-w-text.padded { padding: var(--space-m); }
	
	.image-w-text { --gap: var(--space-m); }

	.image-w-text > div { flex: 0 0 calc((100% - (2 * var(--pad)) - var(--gap)) / 2); }

	.books-list.rows .item { 
		display: flex;
		gap: var(--space-s);
	}
	
	.books-list.rows .actions-wrap,
	.books-list.rows .price-wrap { 
		flex-direction: column;
		justify-content: center;
		text-align: center;
		margin-top: 0;
	}
	
	.books-list.rows .image-wrap { 
		float: none;
		margin: 0;
		flex: 0 0 20%;
		max-width: 150px;
/* 		background-color: var(--bs-light); */
		justify-content: center;
		text-align: center;
	    padding: var(--space-xs);
	}
	
	.books-list.rows .image-link::after {
	    content: '';
	    float: left;
	    padding-top: 100%;
	}
	
	.books-list.rows .image-link {
	    display: block;
	    position: relative;
	    color: inherit;
	    overflow: hidden;
	}
	
	.books-list.rows img,
	.books-list.rows .no-photo div { 
	    position: absolute;
	    max-width: 100%;
	    max-height: 100%;
	    top: 50%;
	    left: 50%;
	    transform: translate(-50%, -50%);
	    background-color: #ffffff;
	}

	.books-list.rows .no-photo img { max-width: 90%; }
}

/* bootstrap md */   
@media (min-width: 768px) { 
	
	.footer-columns {
		justify-content:space-between;
	}
	
	.books-type-2,
	.books-list.tiles { --num: 3; }
	
	.row-of-entries:not(.count-1) > div { 
		flex: 0 0 calc(((100% - ((var(--count) - 1) * var(--gap))) / var(--count)));
		flex-wrap: wrap;
        align-content: flex-start;
		padding-top: 0;
		border-top-width: 0;
    }
	
	.row-of-entries:not(.count-1) .image-wrap { 
		flex: 0 0 100%;
		order: 0;
		max-width: 100%;
	}
	
	.row-of-entries:not(.count-1) .text-wrap { 
		flex: 0 0 100%;
		align-self: flex-start;
	}
	
	.image-w-text { --gap: var(--space-l); }

	.image-w-text.padded { padding: var(--space-l); }
	
	.search-results-wrapper { 
		flex-direction: row;
		align-items: flex-start;
		gap: var(--space-l);
	}
	
	.results-filters { padding: var(--space-m) var(--space-s); }

	.search-results + .results-filters {
	    order: -1;
	    flex: 0 0 28%;
	    max-width: 320px;
	    min-width: 230px;
	}
	
	.glossary-pagination-list {
	    justify-content: space-between;
	  }
	  .glossary-pagination-list .page-item {
	    flex: 1 1 auto;
	  }
}
 
/* bootstrap lg ...main menu expands */
@media (min-width: 992px) { 
	
	#page-footer { margin-top: var(--space-l); }

	.form-group { margin: var(--space-m) 0; }

	.figure-caption.resp-font h2 { font-size: 2.0rem; }
	
	.content-section { margin-top: var(--space-xxl); }

	#hdr-nav-control { display: none !important; }
	
	#hdr-nav { 
		position: static;
		padding: 0;
	}

    #hdr-nav .nav-link { 
        padding: var(--space-s) var(--space-m);
        margin: 0 0 0 calc(var(--space-m) * -1);
    }
    
    #hdr-nav-outer { 
        padding: 0;
        background-color: var(--navigation-background-color);
    }
    
    #hdr-nav-outer .navbar-nav { gap: var(--space-m); }

    #hdr-qs { 
		flex: 1 1;
	    order: 0;
		margin: 0 auto;
		max-width: 500px;
    }
    
    #hdr-qs label { font-size: 1.2rem; }
    
    #page-header .top-row .container { gap: var(--space-m) var(--space-m); }	        

    #page-header .customer-actions {
        gap: var(--space-s);
        margin-left: 0;
    }

    #page-header .login .text {
        position: static;
		height: auto !important;
		width: auto !important;
		clip: auto !important;
	}
	
    #page-header .login .material-symbols-outlined { display: none; }

	.books-list.rows .item { --space-v: var(--space-l); }

	.books-type-2,
	.books-list.tiles { --num: 4; }
	
	.current-page-info { flex: 0 0 auto; }

	.results-filters { padding: var(--space-m); }
	
	.books-list.tiles.single-row-l .item:nth-child(n+5) {  display: none; } /* max display of 1 rows (4 per row) */

    .books-list.rows .item { gap: var(--space-m); }

	h1.title { font-size: 3.2rem; }
	h1.title + h2.author  { font-size: 2.6rem; }
	
}

/* bootstrap xl */   
@media (min-width: 1200px) { 

	.form-control { --input-padding: .55rem .75rem; }

	.form-group { --space-s: 15px; }
 
	.container { max-width: 1200px; }
	
	.row-of-entries { --gap: var(--space-xl); }
    
	.books-type-2,
    .books-list.tiles { --num: 5; }

	.image-w-text { --gap: var(--space-xl); }
	.image-w-text.padded { padding: var(--space-xl); }
	
	.results-filters { padding: var(--space-l); }
	
	.books-list.tiles.single-row-l .item:nth-child(n+5) { display: flex; }
	.books-list.tiles.single-row-l .item:nth-child(n+6) {  display: none; } /* max display of 1 rows (5 per row) */

}

/*
	MOBILE FIRST!!!
	
@media (max-width: 767.98px) {
	.footer-columns {
		flex-direction: column;
	}
	
	.seller-info {
		display: inline-block;
		padding-top: 30px;
	}
} 
*/
/*
@media (max-width: 1400px) {
	.seller-info {
		display: inline-block;
		padding-top: 30px;
	}
	
}
*/