/*
Theme Name: Stone Manor Homes
Theme URI: #
Author: NL
Author URI: 
Description: 
Version: 3.0.0
Text Domain: stoneManorHomes
*/

/* CUSTOM STYLES - DF --------------------------------------- */

/* ==========================================================================
   SM Branded Colors
   ========================================================================== */ 

:root {
	--yellow-hue: 234, 170, 0;
	--yellow: #EAAA00;

	--navy-hue: 0, 51, 73;
	--navy: #003349;

	--moss-hue: 89, 98, 29;
	--moss: #59621D;

	--slate-hue: 84, 88, 90;
	--slate: #54585A;

	--metallic-hue: 133, 113, 77;
	--metallic: #85714D;

	--flint-hue: 71, 55, 41;
	--flint: #473729;

	--clay-hue: 163, 147, 130;
	--clay: #A39382;

	--use-sans: "Nunito Sans", sans-serif;
	--use-serif: haboro-contrast-normal, serif;
}

/* ==========================================================================
   Smart Move Template
   ========================================================================== */

.page-template-template-sales-event section {
    padding: 2rem 0;
}


/* Base type - set once, children inherit
   -------------------------------------------------------------------------- */

.page-template-template-sales-event {
	font-family: var(--use-sans);
	color: var(--slate);
}

/* Hero image
   -------------------------------------------------------------------------- */

.hero-section.smart-move-hero .bg-img {
	position: relative;
	display: block;
	width: 100%;
	overflow: hidden;
	aspect-ratio: 16 / 9;
	min-height: 420px;
	max-height: 700px;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: 50% 38%;
}

.hero-section.smart-move-hero .bg-img img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 38%;
}

@media (min-width: 1800px) {
	.hero-section.smart-move-hero .bg-img {
		aspect-ratio: 21 / 9;
	}
}

@media (max-width: 960px) {
	.hero-section.smart-move-hero .bg-img {
		height: auto;
		aspect-ratio: 3 / 2;
		min-height: 300px;
		max-height: none;
		background-position: 50% 50%;
	}
	.hero-section.smart-move-hero .bg-img img {
		object-position: 50% 50%;
	}
	
	 .hero-section.smart-move-hero .btm {
        width: 100%;
        bottom: 19px;
    }
	
	.hero-section.smart-move-hero .btm .title1, .hero-section.smart-move-hero .btm h1 {
        font-size: 3.5rem;
    }
}

@media (max-width: 600px) {
	.hero-section.smart-move-hero .bg-img {
		aspect-ratio: 4 / 3;
		min-height: 240px;
		background-position: 50% 45%;
	}
	.hero-section.smart-move-hero .bg-img img {
		object-position: 50% 45%;
	}
}

/* Hero rate badge
   Circle size drives everything. cqw = percent of the circle's own width.
   -------------------------------------------------------------------------- */

.smart-move-hero {
	position: relative;
}

.rate-badge {
	position: absolute;
	right: 4rem;
	top: 35%;
	transform: translateY(-50%);
	z-index: 2;
	container-type: inline-size;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: .1em;
	width: clamp(180px, 22vw, 250px);
	aspect-ratio: 1;
	border-radius: 50%;
	background: var(--navy);
	outline: 2px solid var(--yellow);
	outline-offset: -10px;
	text-align: center;
	line-height: 1.05;
	padding: 1rem;
}

.rate-badge__eyebrow,
.rate-badge__label {
	color: #fff;
	font-size: 8cqw;
	letter-spacing: .1em;
	text-transform: uppercase;
	padding: 2px 0;
}

.rate-badge__rate {
	color: var(--yellow);
	font-size: 24cqw;
	font-weight: 600;
	line-height: 1;
}

.rate-badge__rate sup {
	font-size: .4em;
	top: -.55em;
}

/* Intro headline
   -------------------------------------------------------------------------- */

.smart-move-intro {
	padding: 4rem 0 2.5rem;
	text-align: center;
}

.smart-move-intro__title {
	font-family: var(--use-serif);
	font-weight: 400;
	color: var(--navy);
	font-size: 5rem;
	line-height: 1.1;
	margin: 0 0 .4em;
}

.smart-move-intro__sub {
	color: var(--metallic);
	font-size: 2rem;
	letter-spacing: .03em;
	text-transform: uppercase;
	margin: 0;
}

/* Two columns
   -------------------------------------------------------------------------- */

.smart-move-cols {
	display: grid;
	gap: 3rem;
}

@media (min-width: 900px) {
	.smart-move-cols {
		grid-template-columns: 1fr 1fr;
		align-items: start;
	}

	.smart-move-col--left {
		border-right: 1px solid rgba(var(--clay-hue), .45);
		padding-right: 3rem;
	}
}

.smart-move-lede {
	color: var(--navy);
	font-size: 1.6rem;
	line-height: 1.5;
	text-align: center;
	margin: 0 0 1.75rem;
}

/* Options
   -------------------------------------------------------------------------- */

.smart-move-option {
	background: var(--navy);
	outline: 1px solid var(--yellow);
	outline-offset: -6px;
	margin-bottom: 1.5rem;
}

.smart-move-option:not(.smart-move-option--stacked),
.smart-move-option__head {
	padding: 1.4rem 1.25rem;
}

.smart-move-option--stacked {
	background: none;
	outline: 1px solid var(--yellow);
	outline-offset: -6px;
	padding: 0;
}

.smart-move-option--stacked .smart-move-option__head {
	background: var(--navy);
}

.smart-move-option__title {
	font-family: var(--use-sans);
	color: var(--yellow);
	font-size: 2.2rem;
	font-weight: 400;
	line-height: 1.25;
	text-align: center;
	margin: 0;
}

.smart-move-option__sub {
	color: var(--yellow);
	font-size: 1.85rem;
	text-align: center;
	margin: 5px 0 0;
	letter-spacing: .04em;
}

/* Payment table
   -------------------------------------------------------------------------- */

.smart-move-table__wrap {
	background: rgba(var(--clay-hue), .16);
	overflow-x: auto;
	padding: 5px 0 10px 0;
}

.smart-move-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 1.2rem;
}

.smart-move-table th,
.smart-move-table td {
	padding: .85rem 1.5em;
	text-align: left;
	white-space: nowrap;
}

.smart-move-table thead th {
	color: var(--navy);
	font-weight: 700;
	font-size: 9px;
}

.smart-move-table tbody th {
	color: #000000;
	font-weight: 400;
	font-size: 14px;
}

.smart-move-table tbody tr + tr th,
.smart-move-table tbody tr + tr td {
	border-top: 1px solid rgba(var(--clay-hue), .45);
}

/* Total
   -------------------------------------------------------------------------- */

.smart-move-total {
	background: var(--navy);
	padding: 1.25rem 1.25rem 1.8rem;
	text-align: center;
}

.smart-move-total__amount {
	font-family: var(--use-sans);
	color: var(--yellow);
	font-size: 3rem;
	font-weight: 700;
	margin: 0;
}

.smart-move-total__basis {
	color: var(--yellow);
	font-size: 1.85rem;
	margin: .15rem 0 .75rem;
}

.smart-move-total__fine {
	color: rgba(255, 255, 255, .82);
	font-size: 1.2rem;
	line-height: 1.5;
	margin: 0;
}

/* Right column
   -------------------------------------------------------------------------- */

.smart-move-savings {
	background: var(--navy);
	padding: 1.5rem;
	text-align: center;
	outline: 1px solid var(--yellow);
    outline-offset: -6px;
}

.smart-move-savings__title {
	font-family: var(--use-sans);
	color: var(--yellow);
	font-size: 2.5rem;
	font-weight: 700;
	line-height: 1.15;
	margin: 0;
}

.smart-move-savings__sub {
	color: var(--yellow);
	font-size: 1.85rem;
	margin: .2rem 0 0;
}

.smart-move-bonus {
	background: rgba(var(--clay-hue), .16);
	padding: 1.5rem 1.25rem 0;
	text-align: center;
}

.smart-move-bonus__title {
	color: var(--navy);
	font-size: 1.5rem;
	font-weight: 400;
	margin: 0;
}

.smart-move-bonus__items {
	color: var(--navy);
	font-size: 1.125rem;
	margin: .25rem 0 .5rem;
}

.smart-move-bonus__img {
	display: block;
	width: 100%;
	height: auto;
}

.smart-move-desc {
	color: var(--slate);
	font-size: 1.8rem;
	line-height: 1.7;
	text-align: center;
	margin: 1.5rem 0 0;
}

/* CTA
   -------------------------------------------------------------------------- */

.smart-move-cta {
	padding-bottom: 3rem;
}

.smart-move-cta .cont {
	display: block;
	background: var(--navy);
	outline: 1px solid var(--yellow);
	outline-offset: -6px;
	color: var(--yellow);
	font-size: 1.9rem;
	letter-spacing: .04em;
	line-height: 1.35;
	padding: 1.25rem 1.5rem;
	text-align: center;
}



/* Legal
   -------------------------------------------------------------------------- */
.smart-move-legal {
	padding-bottom: 4rem;
}

.smart-move-legal__title {
	font-family: var(--use-sans);
	font-size: .9375rem;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--slate);
	margin: 0 0 .5rem;
}

.smart-move-legal .desc p {
	font-size: .875rem;
	line-height: 1.55;
	margin: 0 0 .75rem;
}

/* Footer form, matching FAQ
   -------------------------------------------------------------------------- */

.page-template-template-smart-move .footer-form {
	display: none !important;
}

/* Tablet
   -------------------------------------------------------------------------- */

@media (max-width: 900px) {
	.smart-move-intro {
		padding: 2.5rem 0 2rem;
	}
	
	.smart-move-intro__title {
		font-size: 4rem;
		margin: 0 0 .2em;
	}
	
	.smart-move-cols {
		gap: 2rem;
	}

}

/* Mobile
   -------------------------------------------------------------------------- */

@media (max-width: 599px) {
	.rate-badge {
		transform: none;
		width: 160px;
	}

}


/* FOOTER ADDRESS --------------------------------------- */
.footer-address {
	font-style: normal;
	color: #eaaa00;
	margin-bottom: 20px;
}

.footer-address__label {
	color: #eaaa00;
	display: block;
	font-size: 10px;
	font-weight: 500;
	line-height: 18px;
	letter-spacing: .08em;
}

.footer-address__label a {
	display: block;
	color: #eaaa00;
	font-weight: 400;
  	text-decoration: none;
	font-size: 12px;
	line-height: 16px;
	letter-spacing: .04em;
	margin-top: 2px;
}

.footer-address__label a:hover,
.footer-address__label a:focus-visible {
  	text-decoration: underline;
	color: #ffffff;
}

@media (max-width: 960px) {
    .footer-address {
		text-align: center;
		margin: 0 auto 20px;
	}
}




