/* OVERRIDES */
.monogram header { background: #000000 !important; }
cx-page-layout.ContentPage1Template { padding-top: 0 !important; }
/* END OVERRIDES */


/* COMMON */
.col-centered {
	margin: 0 auto;
	float: none;
}

.img-fluid {
	width: 100%;
	max-width: 100%;
	height: auto;
	display: block;
}
/* END COMMON */


/* INTRO */
.offer-hero {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0;
	text-align: center;
}

.offer-hero > div:first-child {
	position: relative;
}

.offer-hero > div:first-child p {
	position: absolute;
	bottom: 20px;
	left: 0; right: 0;
	color: #ffffff;
	font-size: 14px;
}

.offer-hero > div:last-child {
	background-image: url('https://legendarydurability.ca/monogram-offers/wall-bg.png');
	background-size: cover;
	background-position: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.offer-hero h1 {
	font-family: 'Josefin Sans','Helvetica Neue',Helvetica,Arial,sans-serif;
	font-weight: 300;
	font-size: clamp(44px, 3vw, 80px);
	color: #ffffff;
	text-transform: uppercase;
	margin-bottom: 60px;
}

.offer-hero h1 span {
	color: #DDC07F;
}

@media (max-width: 1023px) {
	.offer-hero {
		grid-template-columns: 1fr;
	}

	.offer-hero > div:first-child img {
		display: none;
	}

	.offer-hero > div:last-child {
		padding: 60px 0;
	}
}

.offer-save-earn {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
	text-align: center;
	padding: 0 60px;
}

.offer-save-earn > div:first-child {
	border-right: 1px solid #F3F1F0;
	padding-right: 40px;
}

.offer-save-earn p,
.offer-save-earn span {
	font-family: 'Josefin Sans','Helvetica Neue',Helvetica,Arial,sans-serif;
	color: #F3F1F0;
	font-weight: 300;
	font-size: clamp(20px, 2vw, 28px);
	line-height: 1.2;
	text-transform: uppercase;
	padding: 0;
	margin: 0;
}

.offer-save-earn span {
	font-size: clamp(50px, 7vw, 80px);
	font-weight: 400;
	color: #DDC07F;
	padding: 14px 0;
	white-space: nowrap;
	display: block;
}

@media (max-width: 1023px) {
	.offer-save-earn {
		gap: 20px;
		padding: 0 20px;
	}

	.offer-save-earn > div:first-child {
		padding-right: 20px;
	}
}

.offer-intro {
	background: #000000;
	color: #ffffff;
	text-align: center;
	padding: 60px 0;
}

.offer-intro .btn {
	font-family: 'Josefin Sans','Helvetica Neue',Helvetica,Arial,sans-serif;
	background: #DDC07F;
	color: #494749;
	font-weight: 400;
	border-radius: 0;
	padding: 24px 24px 20px 24px;
}

.offer-intro .btn:hover {
	background: #e6d4ac;
}

@media (max-width: 568px) {
	.offer-intro {
		padding: 60px 15px;
	}
}
/* END INTRO */


/* FILTER */
.offer-packages .package-heading {
	position: relative;
	padding-bottom: 60px;
}

.offer-packages .package-heading h2 {
	font-family: 'Josefin Sans','Helvetica Neue',Helvetica,Arial,sans-serif;
	font-weight: 400;
	font-size: 1.375rem;
    text-align: left !important;
    padding: 0;
}

.offer-packages .open-filter {
	position: absolute;
	top: -5px;
	right: 0;

	font-family: 'Josefin Sans','Helvetica Neue',Helvetica,Arial,sans-serif;
	font-weight: 400;
	font-size: 1.375rem;
	color: #494749;
	text-decoration: underline;

	background-image: url('https://legendarydurability.ca/monogram-offers/icon-filter.svg');
	background-size: 36px 36px;
	background-position: top left;
	background-repeat: no-repeat;
	padding-left: 50px;
}

.offer-packages .filters {
	position: absolute;
	top: 0;
	right: 0;
	background: #ffffff;
	z-index: 100;

	opacity: 0;
	visibility: hidden;

	transform: translateY(10px);
	transition: opacity 0.2s ease, transform 0.2s ease;
}

.offer-packages .filters .desktop-only {
	display: block;
}

.offer-packages .filters .mobile-only {
	display: none;
}

.offer-packages .filters.is-open {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.offer-packages .filters > div {
	position: relative;
	font-family: 'Josefin Sans','Helvetica Neue',Helvetica,Arial,sans-serif;
	font-weight: 400;
	padding: 20px 20px 16px 20px;
}

.offer-packages .filters > div .close-filter {
	position: absolute;
	top: 18px;
	right: 20px;
}

.offer-packages .filters > div .close-filter img {
	width: 20px;
	height: 20px;
}

.offer-packages .filters label {
	font-family: 'Josefin Sans','Helvetica Neue',Helvetica,Arial,sans-serif;
	font-weight: 400;
	border-top: 1px solid rgba(73, 71, 73, 0.3);
	padding: 20px 20px 16px 50px;
	margin: 0;
}

.offer-packages .filters input[type="checkbox"],
.offer-packages .filters input[type="radio"] {
	appearance: none;
	width: 20px;
	height: 20px;
	background: url('https://legendarydurability.ca/monogram-offers/icon-checkbox.svg') no-repeat center;
	background-size: contain;
	border-radius: 0;
	border: none;
	margin-top: 1px;
	margin-inline-start: -2rem;
}

.offer-packages .filters input[type="checkbox"]:after,
.offer-packages .filters input[type="radio"]:after {
	border-radius: 0;
	background: transparent;
}

.offer-packages .filters input[type="checkbox"]:checked,
.offer-packages .filters input[type="radio"]:checked {
	background-image: url('https://legendarydurability.ca/monogram-offers/icon-checkbox-checked.svg');
}

.offer-packages .filters input[type="checkbox"]:focus,
.offer-packages .filters input[type="radio"]:focus {
	outline: none;
}

@media (max-width: 1023px) {
	.offer-packages .open-filter {
		display: none;
	}

	.offer-packages .filters {
		position: relative;
		top: auto; left: auto; right: auto;

		opacity: 1;
		visibility: visible;
	}

	.offer-packages .filters .close-filter {
		display: none;
	}

	.offer-packages .filters .desktop-only {
		display: none;
	}

	.offer-packages .filters .mobile-only {
		display: block;
	}

	.offer-packages .filters .mobile-only img {
        position: relative;
        top: -2px;
        margin-right: 6px;
		width: 24px;
		height: 24px;
	}

	.offer-packages .filters > div {
		padding: 15px 20px 10px 20px;
	}

	.offer-packages .filters label {
		border: none;
		padding: 10px 20px 10px 55px;
		display: inline-block;
	}
}
/* END FILTER */


/* PACKAGES */
.offer-packages {
	background: #f3f1f0;
	padding: 80px 0;
}

.offer-packages .package {
	border-top: 1px solid #494749;
	padding: 40px 0 60px 0;
}

.offer-packages .package h3 {
	font-family: 'Josefin Sans','Helvetica Neue',Helvetica,Arial,sans-serif;
	font-weight: 400;
	margin-bottom: 40px;
	font-size: 1.375rem;
    text-align: left !important;
    padding: 0;
}

.offer-packages .package h3 span {
	padding: 0 15px;
}

.offer-packages .package h3 strong {
	display: inline-block;
}

.offer-packages .package-content {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}

.offer-packages .package-content > div {
	position: relative;
}

.offer-packages .package-content > div .package-image {
	position: relative;
}

.offer-packages .package-content > div .package-image img {
	border: 1px solid #494749;
}

.offer-packages .package-content > div .package-image .icon-plus {
	position: absolute;
	top: 50%;
	right: calc(-10px - 22px); /* half the gap + half icon */
	transform: translateY(-50%);
	background: url('https://legendarydurability.ca/monogram-offers/icon-plus.svg');
	background-size: contain;
	width: 44px;
	height: 44px;
	z-index: 1;
}

.offer-packages .package-content > div .package-details {
	position: relative;
	border-top: 1px solid #494749;
	margin-top: 20px;
	padding-top: 20px;
	min-height: 90px;
}

.offer-packages .package-content > div .package-links {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px 0;
}

.offer-packages .package-content > div .package-links a {
	font-family: 'Josefin Sans','Helvetica Neue',Helvetica,Arial,sans-serif;
	font-weight: 400;
	font-size: 14px;
	color: #494749;
	text-transform: uppercase;
	white-space: nowrap;
}

.offer-packages .package-content > div .package-links a:hover {
	text-decoration: underline;
}

@media (max-width: 1023px) {
	.offer-packages .package-content > div .package-links {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 991px) {
	.offer-packages .package-content > div .package-details {
		min-height: 120px;
	}
}

@media (max-width: 767px) {
	.offer-packages .package-content > div .package-image .icon-plus {
		right: calc(-10px - 17px); /* half the gap + half icon */
		width: 34px;
		height: 34px;
	}

	.offer-packages .package-content > div .package-details {
		min-height: 140px;
	}

	.offer-fr .offer-packages .package-content > div .package-details {
		min-height: 170px;
	}

	.offer-packages .package-content > div .package-links a {
		font-size: 12px;
		white-space: nowrap;
		min-height: 0;
	}
}

@media (max-width: 468px) {
	.offer-packages .package-content > div .package-details {
		min-height: 190px;
	}

	.offer-fr .offer-packages .package-content > div .package-details {
		min-height: 220px;
	}
}
/* END PACKAGES */