/**
 * Global CSS for the Affiliate Products Core plugin.
 */

/* Material Icons with Reader View/SEO Fallback */
span[class*="material"]:after {
	content: attr(data-icon);
}

/* Fallback text for reader view and SEO crawlers when CSS is disabled */
span[class*="material"][data-icon]:empty::before {
	content: attr(aria-label, attr(title, attr(data-icon)));
	font-family: inherit;
	font-size: inherit;
}

/*
* Layout
*/
.apc-f {
	display: -webkit-flex;
	display: -ms-flex;
	-webkit-display: flex;
	-moz-display: flex;
	-ms-display: flex;
	-o-display: flex;
	display: flex;
}

.apc-f-wrap {
	flex-wrap: wrap;
}

.apc-if {
	display: -webkit-inline-flex;
	display: -ms-inline-flex;
	-webkit-display: inline-flex;
	-moz-display: inline-flex;
	-ms-display: inline-flex;
	-o-display: inline-flex;
	display: inline-flex;
}

.apc-f-jcsb {
	-webkit-justify-content: space-between;
	-moz-justify-content: space-between;
	-ms-justify-content: space-between;
	-o-justify-content: space-between;
	justify-content: space-between;
}

.apc-f-aic {
	-ms-align-items: center;
	-webkit-align-items: center;
	align-items: center;
}

.apc-reset-list {
	margin: 0;
	padding: 0;
	list-style-type: none;
}

.apc-global-radius {
	border-radius: 8px;
}

.apc-tac {
	text-align: center;
}

.apc-blocks {
	clear: both;
	margin-top: 40px;
}

/*
* Typography
*/
.apc-heading {
	font-weight: 600;
	line-height: 125%;
}

.apc-heading.apc-prod-title {
	font-size: 1.5rem;
}

.apc-blocks .apc-heading.apc-prod-title {
	padding: 0;
	margin: 0 0 1em;
}

/*
* Elements
*/

.apc-designation {
	font-weight: 700;
	font-size: 14px;
	line-height: 16px;
}

.apc-designation.apc-des-absolute {
	position: absolute;
	top: -0.94em;
	left: 32px;
}

.apc-designation-minimal {
	display: inline-block;
	font-weight: 400;
	line-height: 135%;
	margin-bottom: 0.571428em;
}

.apc-designation-minimal-uppercase {
	font-weight: 600;
	text-transform: uppercase;
}

.apc-designation-colored {
	border-radius: 8px;
	padding: 0.44444em 0.88888em;
	text-transform: uppercase;
}

.apc-apb-product-header .apc-heading {
	margin-bottom: 1em;
}

.apc-apb-stars {
	margin-right: 8px;
}

.apc-star-icon {
	margin-right: 2px;
	width: 22px;
	max-height: 22px;
}

.apc-star-icon span {
	font-size: 26px;
}

.apc-star-icon:last-child {
	margin-right: 0;
}

.apc-apb-stars .apc-star-half {
	position: relative;
	display: block;
	width: 20px;
}

.apc-apb-stars .apc-star-half>* {
	position: absolute;
	left: 0;
}

.apc-apb-stars .apc-star-half>*:first-child {
	z-index: 1;
	overflow: hidden;
	width: 13px;
}

.apc-apb-rate {
	font-weight: 700;
	font-size: 24px;
	line-height: 1;
}

.apc-cta {
	border: 2px solid transparent;
	border-radius: 8px;
	box-sizing: border-box;
	color: #fff;
	display: inline-block;
	font-weight: 700;
	font-size: 16px;
	line-height: 1;
	letter-spacing: 0.02em;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	-webkit-transition: opacity 0.3s ease;
	-o-transition: opacity 0.3s ease;
	transition: opacity 0.3s ease;
	padding: calc(0.88888em - 2px);
}

body .apc-cta:focus {
	color: #fff;
}

.apc-cta:hover {
	color: #fff;
	opacity: 0.8;
	text-decoration: none;
}

.apc-secondary-cta {
	background: #fff;
	border: 2px solid #ef5b09;
}

.apc-tertiary-cta {
	display: inline-block;
	font-weight: 600;
	font-size: 18px;
	line-height: 1;
	position: relative;
	text-decoration: none;
}

.apc-tertiary-cta p {
	display: inline-block;
}

.apc-tertiary-cta span {
	font-size: 1.7em;
	line-height: 1;
	max-height: 0.5em;
	position: relative;
	vertical-align: middle;
	top: -0.3em;
	right: 0.18em;
	width: 0.5em;
}

/* Bullet Items list */
.apc-apb-key-info li {
	display: flex;
	align-items: center;
	font-weight: 400;
	font-size: 20px;
	line-height: 1.5;
	margin-bottom: 0.8em;
}

.apc-apb-key-info li p {
	flex: 1;
	margin-bottom: 0;
	margin-left: 0.5em;
}

.apc-apb-key-info .material-icons-round {
	-webkit-transform: rotate(90deg);
	-ms-transform: rotate(90deg);
	transform: rotate(90deg);
	font-size: 1.2em;
	flex-shrink: 0;
}

small.apc-extra-cta-text {
	display: block;
	font-weight: 400;
	font-size: 14px;
	line-height: 1.4;
	margin-top: 8px;
	text-align: center;
}

/* Margin bottom and bottom border values for all APC blocks */
.apc-affiliate-product+hr.apc-sep,
.apc-product-list-table {
	margin-bottom: 80px;
}

.apc-affiliate-product+hr.apc-sep {
	background-color: #ccc;
	height: 2px;
	margin-top: 48px;
}

picture.apc-block-prod-image img,
img.apc-block-prod-image {
	aspect-ratio: 4/3;
	border-radius: 8px;
	object-fit: cover;
	width: 100%;
}

@media only screen and (min-width: 1023px) {
	.apc-designation {
		font-size: 16px;
	}
}

@media only screen and (max-width: 1023px) {

	.apc-cta,
	.apc-tertiary-cta,
	.apc-apb-key-info li {
		font-size: 15px;
	}
}

@media only screen and (max-width: 850px) {
	.apc-designation {
		left: 24px;
	}
}

@media only screen and (max-width: 370px) {
	.apc-designation {
		left: 16px;
	}
}