﻿
:root { --dark-red: oklch(43.5% .151 20.2); --red: oklch(50.8% .199 28.5); --charcoal: oklch(39.4% 0 0); --white: oklch(100% 0 0); --black: oklch(0% 0 0); --shadow: 0 0 5px oklch(0% 0 0 / 7%); --gutter: 2rem; --max-w-max: 95rem; --border-radius: 10px; --ff-body: "poppins-thin", sans-serif; --fs-sm: clamp(.8rem, .15vi + .77rem, .9rem); --fs-base: clamp(.94rem, .34vi + .86rem, 1.12rem); --fs-lg: clamp(1.47rem, 1vi + 1.24rem, 1.99rem); }
*, *::before, *::after { box-sizing: border-box; }
html { line-height: 1.5; -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: var(--ff-body); font-size: var(--fs-base); }
	body.no-scroll { overflow: hidden; }
img { display: block; max-width: 100%; }
a { font-size: var(--fs-base); text-decoration: none; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); }

.site-header { position: sticky; top: 0; z-index: 1003; width: 100%; background: var(--white); box-shadow: var(--shadow); }
.topbar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .75rem var(--gutter); background: var(--dark-red); }
	.topbar .contact-info { display: flex; align-items: center; gap: 1.25rem; margin-left: auto; }
		.topbar .contact-info a { color: var(--white); font-size: var(--fs-sm); font-weight: 600; }
.site-header-wrapper { display: flex; flex-direction: column; align-items: center; width: 100%; max-width: var(--max-w-max); margin-inline: auto; padding-inline: var(--gutter); }
.site-branding { display: grid; justify-items: center; width: 100%; padding: 1rem var(--gutter); }
.site-header .site-logo { display: block; width: 100%; max-width: 10rem; }
.site-header .main-navigation { width: 100%; }
.menu { margin: 0; padding: 0; }
.site-header .menu { display: flex; justify-content: center; align-items: center; }
.menu li { list-style: none; }
.site-header .menu a { display: block; padding: 1rem 1.5rem; color: var(--black); font-weight: 500; }
	.site-header .menu a:hover, .site-header .current-menu-item > a { color: var(--red); }

.hamburger { display: none; width: fit-content; padding: 0; border: 0; background: transparent; color: var(--white); cursor: pointer; }
	.hamburger .icon-close, .hamburger.on .icon-hamburger { display: none; }
	.hamburger.on .icon-close { display: block; }
.drawer-overlay { position: fixed; inset: 0; z-index: 1001; background: oklch(0% 0 0 / 30%); backdrop-filter: blur(4px); opacity: 0; pointer-events: none; transition: opacity .4s ease; }
	.drawer-overlay.is-open { opacity: 1; pointer-events: auto; }
.drawer { position: fixed; top: 0; right: 0; z-index: 1002; width: min(420px, 100vw); height: 100dvh; overflow-y: auto; background: var(--white); transform: translateX(100%); transition: transform .4s ease; }
	.drawer.is-open { transform: translateX(0); }
.drawer-wrapper { height: 100%; padding: var(--gutter) 3rem; }
.drawer .menu-item { border-bottom: 1px solid #0000000d; }
.drawer .menu a { display: block; padding-block: 1rem; color: var(--black); font-size: var(--fs-lg); }

.site-footer { width: 100%; background: var(--charcoal); }
.site-footer-wrapper { display: flex; flex-direction: column; row-gap: var(--gutter); max-width: var(--max-w-max); margin-inline: auto; padding: 4rem 6rem var(--gutter); }
footer span, footer a, footer p { color: var(--white); }
footer p { margin: 0; font-weight: 300; line-height: 1.6; }
.site-info { display: flex; justify-content: space-between; gap: var(--gutter); }
	.site-info .footer-branding { display: flex; flex-direction: column; gap: 1rem; width: 100%; max-width: 16rem; }
.site-footer .site-logo { max-width: 16rem; }
.site-footer span { font-weight: 600; line-height: 1; }
.site-info .sign-up { width: 100%; max-width: 44ch; }
.site-footer #footer-menu { display: flex; flex-direction: column; gap: .5rem; }
	.site-footer #footer-menu a { font-weight: 400; }
		.site-footer #footer-menu a:hover { color: var(--red); }

@media (max-width: 1024px) {
	.site-header .main-navigation { display: none; }
	.hamburger { display: block; }
	.site-footer-wrapper { padding-inline: 2rem; }
}

@media (max-width: 768px) {
	.topbar { justify-content: flex-end; }
		.topbar .contact-info { display: none; }
	.drawer-wrapper { padding: var(--gutter); }
	.site-footer-wrapper { gap: 1rem; padding: var(--gutter); }
	.site-info { flex-direction: column; gap: 1rem; }
}


/* BEGIN SSI Modifications */
html { font-size: unset; }
a:focus, a:hover { text-decoration: none; }
footer a:hover, footer a:active {color: var(--white);}
.featured-wrap .form { display: block; padding: 0; text-align: center; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); z-index: 2; width: 30%; margin: 20px auto; }

.featured-wrap input[type=text] { background: #fff; font-family: farnham-headline,serif; font-weight: 400; font-style: normal; padding: 15px; width: 100%; border: 0; display: inline-block; font-size: 1.5em; color: #666; }
.featured-wrap input[type=submit] { background: var(--dark-red); color: #fff; border: 0; padding: 15px; height: 100%; cursor: pointer; position: absolute; top: 0; right: 0; -webkit-appearance: none; outline: 0; }
	.featured-wrap input[type=submit]:hover { background: #000000; }
.featured-wrap { position: relative; }
	.featured-wrap h2 { position: absolute; top: 50%; transform: translateY(-50%); }
	.featured-wrap .featured { width: 100%; height: 400px; position: relative; background: #46433e; }
		.featured-wrap .featured img { width: 100%; height: 100%; object-fit: cover; object-position: center; position: absolute; left: 0; top: 0; z-index: 0; opacity: 0.6; }

@media screen and (max-width:1500px) {
	.featured-wrap .form { width: 75%; }
}

@media screen and (max-width:500px) {
	.featured-wrap .form input[type=text] { font-size: 1em; }
}