:root{
	--ac-red:#B02A29;
	--ac-red-dark:#952828;
	--ac-beige:#EAE1CE;
	--ac-text:#354120;
	--ac-hero-overlay: rgba(0,0,0,.55);
}

html{
	scroll-padding-top: 84px;
}

body{
	color: var(--ac-text);
}

.ac-skip-link{
	position:absolute;
	left:-9999px;
	top:auto;
	width:1px;
	height:1px;
	overflow:hidden;
}
.ac-skip-link:focus{
	left: 1rem;
	top: 1rem;
	width:auto;
	height:auto;
	padding:.5rem .75rem;
	background:#fff;
	border-radius:.5rem;
	z-index: 2000;
	box-shadow: 0 0 0 .25rem rgba(176,42,41,.25);
}

.ac-navbar{
	background: linear-gradient(90deg, var(--ac-red-dark), var(--ac-red));
	box-shadow: 0 10px 30px rgba(0,0,0,.10);
	overflow: visible;
}

.ac-navbar .navbar-brand{
	position: relative;
	z-index: 2;
	padding-left: 236px;
}

.ac-logo{
	position: absolute;
	left: 0;
	top: -8px;
	width: 220px;
	height: auto;
	border-radius: .35rem;
	background: rgba(255,255,255,.12);
	padding: .25rem .35rem;
	box-shadow: 0 12px 24px rgba(0,0,0,.18);
}

.ac-navbar .nav-link{
	border-radius: .75rem;
	transition: background-color .15s ease, color .15s ease;
}

.ac-navbar .nav-link:hover,
.ac-navbar .nav-link:focus-visible{
	background: rgba(234,225,206,.22);
	color: #fff;
	outline: none;
}

.ac-navbar .nav-link.active,
.ac-navbar .nav-link[aria-current="page"]{
	background: rgba(234,225,206,.30);
	color: #fff;
}

.ac-hero{
	position: relative;
	background:
		linear-gradient(var(--ac-hero-overlay), var(--ac-hero-overlay)),
		url("/images/header.jpg") center/cover no-repeat;
	min-height: 520px;
	display:flex;
	align-items: center;
}

.ac-eyebrow{
	letter-spacing: .08em;
	opacity: .9;
}

.ac-hero-card{
	border: 0;
	border-radius: 1.25rem;
}

.btn-ac{
	--bs-btn-color:#fff;
	--bs-btn-bg: var(--ac-red);
	--bs-btn-border-color: var(--ac-red);
	--bs-btn-hover-color:#fff;
	--bs-btn-hover-bg: var(--ac-red-dark);
	--bs-btn-hover-border-color: var(--ac-red-dark);
	--bs-btn-active-bg: var(--ac-red-dark);
	--bs-btn-active-border-color: var(--ac-red-dark);
	--bs-btn-focus-shadow-rgb: 176,42,41;
}

.text-accent{
	color: var(--ac-red-dark);
}

.ac-callout{
	background: rgba(234,225,206,.55);
	border: 1px solid rgba(149,40,40,.15);
}

.ac-lead-paragraph{
	line-height: 1.7;
}

.ac-contact-card{
	background: rgba(234,225,206,.40);
	border: 1px solid rgba(149,40,40,.15);
}

.ac-footer{
	background: linear-gradient(90deg, var(--ac-red-dark), var(--ac-red));
}


.ac-mobile-logo{
	display: none;
}

@media (prefers-reduced-motion: reduce){
	html{ scroll-behavior:auto; }
}

@media (max-width: 992px){
\t.ac-navbar{
\t\tbox-shadow: none;
\t}
\tbody.ac-scrolled .ac-navbar{
\t\tbox-shadow: 0 10px 30px rgba(0,0,0,.10);
\t}

	.ac-logo{
		top: -6px;
		width: 160px;
	}

	/* Collapsed navbar: big logo under menu at top */
	.ac-mobile-logo{
		display: block;
		overflow: hidden;
		max-height: 0;
		opacity: 0;
		padding-left: .75rem;
		padding-right: .75rem;
		padding-top: 0;
		padding-bottom: 0;
		background: linear-gradient(90deg, var(--ac-red-dark), var(--ac-red));
		pointer-events: none;
		transition: max-height .2s ease, opacity .2s ease, padding-top .2s ease, padding-bottom .2s ease;
	}
	body:not(.ac-scrolled) .ac-mobile-logo{
		max-height: 420px;
		opacity: 1;
		padding-top: var(--ac-navbar-height, 84px);
		padding-bottom: .75rem;
		pointer-events: auto;
	}

	.ac-mobile-logo-link{
		display: block;
	}

	.ac-mobile-logo-img{
		display: block;
		width: 100%;
		max-width: 560px;
		height: auto;
		margin: 0 auto;
		border-radius: .35rem;
		background: rgba(255,255,255,.12);
		padding: .25rem .35rem;
		box-shadow: 0 12px 24px rgba(0,0,0,.18);
	}

	.ac-navbar .navbar-brand{
		transition: padding-left .2s ease;
	}
	.ac-logo{
		transition: opacity .2s ease, transform .2s ease;
	}

	body:not(.ac-scrolled) .ac-navbar .navbar-brand{
		padding-left: 0;
	}
	body.ac-scrolled .ac-navbar .navbar-brand{
		padding-left: 176px;
	}

	body:not(.ac-scrolled) .ac-navbar .navbar-brand .ac-logo{
		opacity: 0;
		transform: scale(.9);
		pointer-events: none;
	}
}

@media (max-width: 576px){
	.ac-navbar .navbar-brand{
		padding-left: 0;
	}
	.ac-logo{
		top: -4px;
		width: 120px;
	}
	body.ac-scrolled .ac-navbar .navbar-brand{
		padding-left: 136px;
	}

	

	.ac-navbar .navbar-collapse{
		text-align: right;
		padding-top: 1.25rem;
	}
	.ac-navbar .navbar-nav{
		align-items: flex-end;
	}
	.ac-navbar .nav-link{
		font-size: 1.15rem;
		padding-top: .55rem;
		padding-bottom: .55rem;
		padding-left: 1rem;
		padding-right: 1rem;
	}
}