.mainSite {
	--site-card-radius: 20px;
	--site-card-shadow: 0 6px 20px rgba(0, 0, 0, .04);
	--site-block-gap: 24px;
	--site-reading-font-size: 17px;
	--site-reading-line-height: 1.62;
}

.mainSite main {
	overflow-x: clip;
}

.mainSite .topBar > .brandBg {
	min-height: 44px;
}

.mainSite .topBar .usp,
.mainSite .topBar .topMenu {
	padding: 9px 0;
}

.mainSite .topBar .usp ul {
	display: flex;
	align-items: center;
	gap: 34px;
	margin: 0;
	padding: 0;
}

.mainSite .topBar .usp ul li {
	margin: 0;
	line-height: 1.35;
}

.mainSite .topBar .topMenu {
	line-height: 1.35;
}

.mainSite .topBar .topMenu a,
.mainSite .topBar .usp li {
	font-size: 14px;
}

.mainSite footer .brandBg {
	padding: 44px 0 38px;
}

.mainSite footer .footerSitemap {
	font-size: 15px;
	line-height: 1.45;
}

.mainSite footer .footerSitemap .footerTitle {
	margin: 0 0 8px;
	font-size: 16px;
	line-height: 1.35;
	font-weight: 700;
}

.mainSite footer .footerSitemap .footerMenu {
	line-height: 1.48;
	font-weight: 300;
}

.mainSite footer .footerSitemap .footerMenu li {
	margin-bottom: 5px;
}

.mainSite footer .footerSitemap .footerMenu p {
	margin: 0 0 16px;
}

.mainSite footer .footerSitemap .footerMenu .glyphicon {
	width: 18px;
	font-size: 14px;
	line-height: 1;
}

.mainSite footer .footerLogo {
	max-width: 74%;
	margin-bottom: 28px;
}

.mainSite footer .socialRow .socialIcon {
	width: 32px;
	height: 32px;
	margin-right: 8px;
}

.mainSite footer .socialRow .socialIcon svg {
	width: 22px;
	height: 22px;
	margin-top: 5px;
}

.mainSite footer .copyright {
	font-size: 13px;
	line-height: 1.45;
	margin: 22px 0;
}

.mainSite .contentPage {
	padding-bottom: 40px;
	font-size: var(--site-reading-font-size);
	line-height: var(--site-reading-line-height);
}

.mainSite .contentPage .breadcrumb {
	padding: 0;
	margin: 18px 0 10px 0;
	background: transparent;
}

.mainSite .contentPage>.container>.row>.breadcrumb,
.mainSite .contentPage .container>.row>.breadcrumb {
	margin-left: 15px;
	margin-right: 15px;
	width: calc(100% - 30px);
}

.mainSite .contentPage .breadcrumb hr {
	margin: 12px 0 0 0;
}

.mainSite .contentPage .filterContainer,
.mainSite .subMenuTemplate.contentPage .subMenu {
	margin-bottom: var(--site-block-gap);
	border-radius: var(--site-card-radius);
	overflow: hidden;
	box-shadow: var(--site-card-shadow);
}

.mainSite .contentElement {
	margin-bottom: var(--site-block-gap);
}

.mainSite .contentElement>.pageElement,
.mainSite .bookList,
.mainSite .product,
.mainSite .subPageOverviewItem {
	border-radius: var(--site-card-radius);
	overflow: hidden;
}

.mainSite .contentElement>.pageElement,
.mainSite .bookList {
	padding: 22px;
}

.mainSite .contentElement .bgImageElement,
.mainSite .contentElement .imageGallery .img {
	border-radius: var(--site-card-radius);
	overflow: hidden;
}

.mainSite .bookList {
	box-shadow: var(--site-card-shadow);
}

.mainSite .bookList h3 {
	margin-right: 120px;
}

.mainSite .bookList .scrollPageBtnHolder {
	top: 30px;
	right: 26px;
	left: auto;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 5px;
}

.mainSite .bookList .scrollPageBtn {
	float: none;
	width: 9px;
	height: 9px;
	margin: 0;
	background-color: rgba(0,0,0,.42);
	border-radius: 50%;
	opacity: 1;
}

.mainSite .bookList .scrollPageBtnActive,
.mainSite .bookList .scrollPageBtn:hover {
	background-color: rgba(0,0,0,.88);
}

.mainSite .contentPage .top {
	min-height: 150px;
	padding: 38px 0;
}

.mainSite .contentPage .top h1 {
	font-size: 32px;
	line-height: 1.18;
	font-weight: 600;
}

.mainSite .contentPage .top p {
	margin-top: 10px;
	line-height: 1.45;
}

.mainSite .contentPage .bookCoverWrap {
	margin-top: 34px;
}

.mainSite .contentPage .bookCover,
.mainSite .contentPage .bookBack,
.mainSite .contentPage .bookCover img,
.mainSite .contentPage .bookBack img {
	border-radius: 10px;
}

.mainSite .contentPage .bookCover,
.mainSite .contentPage .bookBack {
	box-shadow: 0 16px 36px rgba(0,0,0,.10);
}

.mainSite .contentPage .selectImg #selector {
	padding-top: 28px;
	gap: 12px;
}

.mainSite .contentPage .selectImg #selector img {
	height: 96px;
	margin: 0;
	border-radius: 8px;
	box-shadow: 0 6px 18px rgba(0,0,0,.08);
}

.mainSite .contentPage .prodIntro {
	max-width: 760px;
	padding: 32px 0 20px;
	font-size: var(--site-reading-font-size);
	line-height: var(--site-reading-line-height);
	color: #333;
}

.mainSite .contentPage .addToCart {
	border: 1px solid rgba(0,0,0,.06);
	border-radius: var(--site-card-radius);
	box-shadow: 0 14px 36px rgba(0,0,0,.08);
	padding: 28px 24px;
}

.mainSite .contentPage .addToCart .price {
	font-size: 36px;
	line-height: 1.1;
	margin-top: 0;
	text-align: right;
}

.mainSite .contentPage .addToCart hr {
	margin: 18px 0;
}

.mainSite .contentPage .addToCart .control-label {
	padding-top: 8px;
}

.mainSite .contentPage .addToCart input[type="number"] {
	border-radius: 6px;
	box-shadow: none;
}

.mainSite .contentPage .addToCart .btn-cta {
	margin: 18px 0 16px;
}

.mainSite .contentPage .addToCart .usp p {
	margin-bottom: 14px;
}

.mainSite .contentPage .addToCart .stock .table {
	margin: 16px 0 0;
	font-size: 14px;
}

.mainSite .contentPage .addToCart .stock .table>tbody>tr>td {
	padding: 10px 8px;
	border-top-color: rgba(0,0,0,.08);
}

@media screen and (min-width: 992px) {
	.mainSite .contentPage .sidebar .addToCart {
		position: sticky;
		top: 28px;
		z-index: 2;
	}
}

.mainSite .contentPage .specsContainer {
	background-color: #f7f7f7;
	border: 1px solid rgba(0,0,0,.04);
	border-radius: var(--site-card-radius);
	box-shadow: var(--site-card-shadow);
	padding: 30px 32px;
	margin: 40px 0 34px;
}

.mainSite .contentPage .specsContainer .table {
	margin-bottom: 0;
}

.mainSite .contentPage .specsContainer .table>tbody>tr>td {
	padding: 11px 8px;
	border-top-color: rgba(0,0,0,.08);
}

.mainSite .contentPage .specsContainer .table>tbody>tr:first-child>td {
	border-top: 0;
}

.mainSite .contentPage #content {
	max-width: 860px;
	font-size: var(--site-reading-font-size);
	line-height: var(--site-reading-line-height);
}

.mainSite .contentPage #content:empty {
	display: none;
}

@media screen and (min-width: 992px) {
	.mainSite .contentPage .bookCoverWrap {
		margin-top: -105px;
	}
}

.mainSite .contentPage .pageHeading {
	margin: 42px 0 18px;
	padding-top: 18px;
	border-top: 1px solid rgba(0,0,0,.08);
}

.mainSite .contentPage .pageHeading h3 {
	margin: 0;
	font-size: 24px;
	line-height: 1.25;
	font-weight: 400;
}

.mainSite .contentPage .pageHeading .new {
	text-align: right;
}

.mainSite .contentPage .pageHeading .new .cta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 4px;
	font-size: 16px;
	cursor: pointer;
}

.mainSite .product {
	box-shadow: 0 4px 16px rgba(0, 0, 0, .035);
}

.mainSite .product .info {
	padding: 16px;
}

.mainSite .bookList .product {
	background: transparent;
	border-radius: 0;
	box-shadow: none;
	overflow: visible;
	margin: 8px 0 0;
}

.mainSite .bookList .product .cover {
	filter: drop-shadow(0 14px 18px rgba(0, 0, 0, .10));
}

.mainSite .bookList .product .bookCover,
.mainSite .bookList .product .bookBack {
	box-shadow: none;
}

.mainSite .bookList .product .info {
	margin-top: 8px;
	padding: 8px 8px 0;
}

.mainSite .bookList .product .info .author {
	font-size: 15px;
	height: 24px;
	color: #1f2a33;
}

.mainSite .bookList .product .info .title {
	font-size: 15px;
	line-height: 1.45;
	height: 46px;
	color: inherit;
}

.mainSite .bookList .product .info .price {
	margin-top: 8px;
	font-size: 16px;
	height: auto;
}

.mainSite .prodList,
.mainSite .smallBookList,
.mainSite .subPageOverview {
	clear: both;
}

.mainSite .prodList:after,
.mainSite .smallBookList:after,
.mainSite .subPageOverview:after,
.mainSite .contentPage .col-md-9:after {
	content: "";
	display: table;
	clear: both;
}

.mainSite .subPageOverview {
	margin-top: 0;
}

.mainSite .subPageOverviewItem {
	margin-bottom: 14px;
}

.mainSite .subMenuTemplate.contentPage .contentElement>.pageElement .btgrid {
	margin-top: 4px;
}

.mainSite .subMenuTemplate.contentPage .contentElement>.pageElement .btgrid .content {
	text-align: center;
}

.mainSite .subMenuTemplate.contentPage .contentElement>.pageElement .btgrid img {
	display: block;
	width: 100% !important;
	height: min(42vw, 430px) !important;
	object-fit: contain;
	object-position: center bottom;
	margin: 0 auto 12px;
}

.mainSite .subMenuTemplate.contentPage .contentElement>.pageElement .btgrid p {
	margin: 0 0 10px 0;
	line-height: 1.35;
}

.mainSite .homepage .headerRow {
	align-items: stretch;
}

.mainSite .homepage .headerRow .headerItem {
	height: auto;
}

.mainSite .homepage .headerRow .headerItem .text {
	flex: 1 1 auto;
}

.mainSite .homepage .greyContainer {
	margin-bottom: 40px;
}

@media screen and (max-width: 767px) {
	.mainSite {
		--site-block-gap: 18px;
	}

	.mainSite .contentPage {
		padding-bottom: 28px;
	}

	.mainSite .contentElement>.pageElement,
	.mainSite .bookList,
	.mainSite .contentPage .filterContainer,
	.mainSite .subMenuTemplate.contentPage .subMenu {
		padding: 18px;
	}

	.mainSite .homepage .headerRow {
		gap: 18px;
	}

	.mainSite .subMenuTemplate.contentPage .contentElement>.pageElement .btgrid img {
		height: min(78vw, 300px) !important;
	}
}
