/*
 * Fairfield Township Custom Styles
 * CSS that cannot be expressed in theme.json
 */

/* ========== Font Faces (matching old theme exactly) ========== */
@font-face {
	font-family: 'aparajitaregular';
	src: url('../fonts/aparajita/aparaj-webfont.eot');
	src: url('../fonts/aparajita/aparaj-webfont.eot?#iefix') format('embedded-opentype'),
		 url('../fonts/aparajita/aparaj-webfont.woff2') format('woff2'),
		 url('../fonts/aparajita/aparaj-webfont.woff') format('woff'),
		 url('../fonts/aparajita/aparaj-webfont.ttf') format('truetype'),
		 url('../fonts/aparajita/aparaj-webfont.svg#aparajitaregular') format('svg');
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: 'Avenir Next LT Pro Demi';
	font-style: normal;
	font-weight: normal;
	src: local('Avenir Next LT Pro Demi'),
		 url('../fonts/avenir-next-lt-pro/AvenirNextLTPro-Demi.woff') format('woff');
}
@font-face {
	font-family: 'Avenir Next LT Pro Demi Condensed';
	font-style: normal;
	font-weight: normal;
	src: local('Avenir Next LT Pro Demi Condensed'),
		 url('../fonts/avenir-next-lt-pro/AvenirNextLTPro-DemiCn.woff') format('woff');
}

/* Glyphicons font-face (Bootstrap 3 icons) */
@font-face {
	font-family: 'Glyphicons Halflings';
	src: url('../fonts/glyphicons/glyphicons-halflings-regular.eot');
	src: url('../fonts/glyphicons/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'),
		 url('../fonts/glyphicons/glyphicons-halflings-regular.woff2') format('woff2'),
		 url('../fonts/glyphicons/glyphicons-halflings-regular.woff') format('woff'),
		 url('../fonts/glyphicons/glyphicons-halflings-regular.ttf') format('truetype'),
		 url('../fonts/glyphicons/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');
	font-weight: normal;
	font-style: normal;
}

/* ========== Base Typography (matching old theme exactly) ========== */
body {
	font-family: 'aparajitaregular', Georgia, serif;
	font-size: 20px;
	color: #000;
}
a {
	color: #9e0b0f;
	font-weight: bold;
}
a:hover {
	color: #c67705;
	text-decoration: none;
}
h1 {
	font-family: 'Avenir Next LT Pro Demi Condensed', 'Avenir Next', Arial, sans-serif;
	font-size: 42px;
	text-transform: capitalize;
	color: #fff;
	padding-bottom: 15px;
	margin-bottom: 0;
	padding-top: 25px;
}
h2, .h2 {
	font-family: 'aparajitaregular', Georgia, serif;
	font-weight: bold;
	font-size: 48px;
	text-transform: uppercase;
	color: #c67705;
	margin-bottom: 15px;
}
h3 {
	font-family: 'aparajitaregular', Georgia, serif;
	font-size: 35px;
	color: #9e0b0f;
	text-transform: uppercase;
}
h4 {
	font-family: 'aparajitaregular', Georgia, serif;
	font-size: 24px;
	font-weight: bold;
	color: #9e0b0f;
	margin-bottom: 10px !important;
	margin-top: 15px !important;
	text-transform: uppercase;
}
p {
	margin-bottom: 20px;
}
.page h1, .single h1 {
	color: #670407;
}

/* ========== Header ========== */
.bg {
	background: #fff;
}
.fairfield-header {
	padding: 20px 0 0;
	font-size: 16px;
}
/* ========== Logo ========== */
.fairfield-logo {
	position: relative;
	z-index: 20;
	margin-bottom: 0;
}
.fairfield-logo img {
	max-width: 100%;
	height: auto;
}

/* ========== Search ========== */
.fairfield-search {
	align-self: center;
}
/* Search form styling (matching old theme) */
.wp-block-search__input {
	border: none !important;
	padding: 5px 10px !important;
	background: #fff;
	width: 100%;
}
.wp-block-search {
	background: #fff;
	border: 1px #000 solid !important;
	display: inline-flex;
	padding: 6px 5px 0;
	width: 200px;
}
.wp-block-search__button {
	background: #c67705 !important;
	border: none !important;
	height: 45px;
	width: 44px;
	margin-left: -1px;
	margin-top: 1px;
	border-radius: 0 !important;
	color: #fff !important;
}

/* ========== Ceiling Bar ========== */
.fairfield-ceiling {
	background: #9e0b0f;
	padding: 5px 0;
}

/* ========== Row Variations ========== */
.row-beige {
	background: #fce1ba;
	padding: 20px 0;
	margin: 0;
}
.row-beige p {
	padding-left: 25px;
}
.row-white {
	background: #fff;
	padding: 20px 0;
	color: #000;
}
.row-white img {
	margin-bottom: 25px;
}
.row-gray {
	background: #f9f9fa;
	color: #343434;
}
.row-teal {
	background: #6bb4af;
	color: #fff;
}
.row-blue {
	color: #fff;
	text-align: left;
	padding: 30px 0;
	font-size: 20px;
}

/* ========== Homepage Banner ========== */
.fairfield-banner {
	position: relative;
}
.red-bar {
	background: rgba(158, 11, 15, .77);
	position: absolute;
	bottom: 0;
	width: 100%;
}

/* ========== Alex Brush Accent ========== */
.fairfield-accent {
	font-family: 'Alex Brush', cursive;
	font-size: 148px;
	line-height: .5;
	display: block;
}

/* ========== Front Page Boxes ========== */
.front-boxes {
	background: #f1b155;
	padding-bottom: 0;
	text-align: center;
	min-height: 450px;
}
.front-boxes ul {
	text-align: left;
	padding: 15px;
	font-size: 24px;
}
.front-boxes li {
	list-style-image: none;
	list-style-type: none;
	padding: 0 0 15px 23px;
	line-height: .75;
}

/* ========== Service Boxes ========== */
.frnt-box {
	border-left: 15px solid #c6a64b;
	padding: 10px 50px 10px 20px;
	min-height: 240px;
	font-size: 16px;
	margin: 20px 0;
}

/* ========== CTA Row ========== */
.cta-row {
	text-align: center;
	padding: 30px 0;
	background: #3a1211;
}
.cta-row .btn {
	margin-left: 30px;
}
.cta-row h2 {
	border-bottom: none;
	font-size: 36px;
	color: #dd9627;
	font-weight: bold;
	padding-bottom: 0;
	padding-right: 0;
}

/* ========== Contact Background ========== */
.con-bkg {
	text-align: center;
	padding: 30px;
}

/* ========== Single Post Sidebar ========== */
.single-content-area {
	border-right: 3px solid #9e0b0f;
}

/* ========== Page/Single H1 Override ========== */
.page-title-dark {
	color: #670407 !important;
}

/* ========== Footer (matching old theme: text-align:left, color:#fff, background:#9e0b0f, padding:15px 0 25px, line-height:1.5, font-size:24px) ========== */
.fairfield-footer {
	text-align: left;
	font-size: 24px;
	line-height: 1.5;
}
.fairfield-footer-inner {
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 20px;
	padding-right: 20px;
}
.fairfield-footer a {
	color: #c67705;
	font-weight: normal;
}
.fairfield-footer a:hover {
	color: #670407;
}
.fairfield-footer h2 {
	margin-bottom: 20px;
	color: #fff;
	display: inline-block;
}
.fairfield-footer h3 {
	color: #fff;
	font-size: 30px;
	margin-bottom: 50px;
}
.fairfield-footer p {
	margin-bottom: 20px;
}
.fairfield-btm {
	background: #670407;
	color: #fff;
	font-size: 12px;
	margin-top: 25px;
	text-align: center;
	padding: 5px 0;
}

/* ========== Navigation (matching old theme navbar-default exactly) ========== */
.wp-block-navigation {
	font-family: 'Avenir Next LT Pro Demi Condensed', 'Avenir Next', Arial, sans-serif;
	font-size: 15px;
}
.wp-block-navigation .wp-block-navigation-item__content {
	color: #000;
	text-transform: uppercase;
	padding-left: 25px;
	padding-right: 25px;
	padding-bottom: 15px;
	text-decoration: none;
	text-align: center;
	line-height: 1.2;
}
.wp-block-navigation .wp-block-navigation-item__content:hover {
	color: #9e0b0f;
	padding-bottom: 10px;
}
.wp-block-navigation .current-menu-item > .wp-block-navigation-item__content,
.wp-block-navigation .current-menu-ancestor > .wp-block-navigation-item__content {
	color: #ffebcc !important;
	background: none !important;
	text-decoration: none !important;
}
.wp-block-navigation .wp-block-navigation-item.open > .wp-block-navigation-item__content,
.wp-block-navigation .wp-block-navigation-submenu.open > .wp-block-navigation-item__content {
	color: #ffebcc !important;
	background: none !important;
	border-bottom: solid 5px #dd9627;
}

/* ========== Navigation Dropdown Overrides ========== */
.wp-block-navigation .wp-block-navigation__submenu-container {
	background: #9e0b0f !important;
	border-radius: 0;
	box-shadow: none;
	padding: 10px 0;
}
.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	color: #fff !important;
	text-transform: uppercase;
	padding: 10px 30px;
	font-size: 16px;
}
.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
	color: #000 !important;
	background: #c67705 !important;
}
.wp-block-navigation .wp-block-navigation__submenu-icon {
	color: inherit;
}

/* ========== Widget / Sidebar Styles ========== */
.widget_nav_menu ul,
.widget ul {
	padding-left: 0;
	text-align: left;
	list-style: none;
}
.widget_nav_menu li a,
.widget li a {
	padding: 10px 15px;
	display: block;
	text-transform: uppercase;
}
.widget_nav_menu li a:hover,
.widget li a:hover {
	background: #f1b155;
	display: block;
	color: #670407;
}

/* ========== WP Block Buttons (theme.json overrides) ========== */
:root :where(.wp-element-button, .wp-block-button__link) {
	background-color: var(--wp--preset--color--gold-medium);
	border-radius: 0px;
	border-width: 0;
	color: var(--wp--preset--color--base);
	font-family: var(--wp--preset--font-family--avenir-next-demi-condensed);
	font-size: clamp(14px, 0.875rem + ((1vw - 3.2px) * 0.455), 18px);
	font-style: inherit;
	font-weight: inherit;
	letter-spacing: inherit;
	line-height: inherit;
	padding-top: 5px;
	padding-right: 30px;
	padding-bottom: 5px;
	padding-left: 10px;
	text-decoration: none;
	margin-bottom: 10px;
	text-transform: uppercase;
}

/* ========== Buttons ========== */
.btn {
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;
	color: #fff;
	text-transform: uppercase;
	font-size: 18px;
	background: #dd9627;
	padding: 5px 30px;
	border: none;
	text-decoration: none;
	font-family: 'Avenir Next LT Pro Demi Condensed';
}
.btn:hover {
	background: #3a1211;
	color: #fff;
	text-decoration: none;
}
.btn-red {
	color: #fff;
	background: #9e0b0f;
	border: none;
}
.btn-red:hover {
	background: #c67705;
}
.btn-hide-request {
	visibility: hidden;
	display: none;
}

/* ========== Table Styles ========== */
td, th {
	padding: 5px;
	line-height: 1;
}

/* ========== Row White H2 Override ========== */
.row-white h2,
.row-white .h2 {
	display: block;
	color: #fff;
	padding: 15px 45px 10px;
	margin-bottom: 0;
	background: #c67705;
	text-align: center;
	font-size: 40px;
	letter-spacing: 2px;
}

/* ========== Background Sections ========== */
#watermark {
	background: url(../images/logo-bkg.png) center no-repeat;
}
#bkg {
	background-image: url(../images/Rectangle\ 12.jpg);
	background-size: cover;
	background-position: center;
	min-height: 400px;
}
#together {
	min-height: 400px;
}
#beige {
	min-height: 400px;
	background-color: #ffebcc;
	color: #000;
}

/* ========== Utility Classes ========== */
.clear { clear: both; }
.l { float: left; }
.r { float: right; }
.txt-r { text-align: right; }
.txt-c { text-align: center; }

.mb10 { margin-bottom: 10px; }
.mr5 { margin-right: 5px; }
.mr10 { margin-right: 10px; }
.mr20 { margin-right: 20px; }
.mr40 { margin-right: 40px; }
.mr50 { margin-right: 50px; }
.ml5 { margin-left: 5px; }
.ml10 { margin-left: 10px; }
.ml20 { margin-left: 20px; }
.ml40 { margin-left: 40px; }
.ml50 { margin-left: 50px; }
.mt5 { margin-top: 5px; }
.mt10 { margin-top: 10px; }
.mt20 { margin-top: 20px; }
.mt25 { margin-top: 25px; }
.mt35 { margin-top: 37px; }
.mt50 { margin-top: 50px; }
.pr5 { padding-right: 5px; }
.pr10 { padding-right: 10px; }
.pr20 { padding-right: 20px; }
.pt5 { padding-top: 5px; }
.pt10 { padding-top: 10px; }
.pt15 { padding-top: 15px; }
.pt20 { padding-top: 20px; }
.pb5 { padding-bottom: 5px; }
.pb10 { padding-bottom: 10px; }
.pb15 { padding-bottom: 15px; }
.pb20 { padding-bottom: 20px; }
.pl5 { padding-left: 5px; }
.pl10 { padding-left: 10px; }
.pl20 { padding-left: 20px; }

/* ========== WordPress WYSIWYG Alignment ========== */
.entry-content img { margin: 0 0 1.5em 0; }
.alignleft, img.alignleft { margin-right: 1.5em; display: inline; float: left; }
.alignright, img.alignright { margin-left: 1.5em; display: inline; float: right; }
.aligncenter, img.aligncenter { margin-right: auto; margin-left: auto; display: block; clear: both; }
.wp-caption { margin-bottom: 1.5em; text-align: center; padding-top: 5px; }
.wp-caption img { border: 0 none; padding: 0; margin: 0; }
.wp-caption p.wp-caption-text { line-height: 1.5; font-size: 10px; margin: 0; }

/* ========== Responsive Breakpoints ========== */

/* Large Devices, Wide Screens */
@media only screen and (max-width: 1200px) {
	.wp-block-navigation .wp-block-navigation-item__content {
		padding-left: 15px;
		padding-right: 15px;
	}
}

/* Medium Devices, Desktops */
@media only screen and (max-width: 992px) {
	.wp-block-navigation .wp-block-navigation-item__content {
		padding-left: 5px;
		padding-right: 5px;
	}
	.r { float: none; }
	.fairfield-footer { text-align: center; }
}

/* Small Devices, Tablets */
@media only screen and (max-width: 768px) {
	.btn-hide-request {
		visibility: visible;
		display: block;
		background: #b13232;
	}
	.btn-hide-request a {
		color: #fff !important;
	}
	.fairfield-accent {
		font-size: 75px;
	}
	.cta-row .btn {
		margin-left: auto;
		margin-right: auto;
		margin-top: 10px;
	}
}

/* Extra Small Devices, Phones */
@media only screen and (max-width: 480px) {
	.btn-hide-request {
		visibility: visible;
		display: block;
		background: #b13232;
	}
	.btn-hide-request a {
		color: #fff !important;
	}
}
