/*
Theme Name: Foundation Child
Description: PPS Homes
Template: foundation-parent
Version: 1.0.0
*/
/*
PPS Homes colour roles (Customizer > Color Options):
  color_1 #000000 black  - headings / body text
  color_2 #2b5a2c green  - header, footer, buttons (from logo oval)
  color_3 #ed362a red    - accent: heading underlines, active states (from logo house)
  color_4 #ffffff white
Red on green fails contrast, so anything the parent paints color_3 on a color_2
background is re-pointed below.
*/
:root {
	--pps-green-dark: #1f4420;
	--pps-green-tint: #eef3ee;
}

/* Header - logo is black text on transparent, so it needs a white plate */
.primary-header .logo-col,
.mobile-logo {
	background-color: var(--color-4);
}
.primary-header .nav-col .info-row a,
.primary-header .nav-col .menu a:hover,
.primary-header .nav-col .menu a:focus,
.primary-header .nav-col .menu .current_page_item > a,
.primary-header .nav-col .menu .current-menu-parent > a {
	color: var(--color-4);
}
.primary-header .nav-col .info-row a:hover,
.primary-header .nav-col .info-row a:focus {
	color: var(--pps-green-tint);
	text-decoration: underline;
}
.primary-header .nav-col .menu > li > a {
	border-bottom: 3px solid transparent;
}
.primary-header .nav-col .menu > li > a:hover,
.primary-header .nav-col .menu > li > a:focus,
.primary-header .nav-col .menu > .current_page_item > a,
.primary-header .nav-col .menu > .current-menu-parent > a {
	border-bottom-color: var(--color-3);
}
.primary-header .sub-menu {
	background-color: var(--pps-green-dark);
}

/* Buttons */
.btn:hover,
.btn:focus,
.banner-section .content .btn,
.banner-section .content .btn:hover,
.banner-section .content .btn:focus {
	color: var(--color-4);
}

/* Footer */
.primary-footer a:hover,
.primary-footer a:focus,
.primary-footer .social a {
	color: var(--pps-green-tint);
	text-decoration: underline;
}
.primary-footer .form-col .gform_wrapper.gravity-theme .button {
	color: var(--color-4);
}
.primary-footer .contact-info {
	margin-bottom: 6px;
}

/* Stats bar - white type on brand green, red dividers */
.feature-section {
	background-color: var(--color-2);
	color: var(--color-4);
}
.feature-section .feature:not(:last-child):after {
	background-color: var(--color-3);
}

/* Testimonials */
.review-section {
	background-color: var(--pps-green-tint);
}
.review-section h2 {
	color: var(--color-2);
}
.review-section .owl-carousel .owl-nav {
	color: var(--color-2);
}
.review-section .owl-carousel .owl-dots .owl-dot {
	border-color: var(--color-2);
}
.review-section .owl-carousel .owl-dots .owl-dot.active {
	background-color: var(--color-2);
}
.review-section .reviews .heading {
	margin-top: 20px;
	font-weight: 700;
	color: var(--color-2);
}

/* About - logo sits in the content row image slot */
body.ip .content-section .image-col img[src*="pps-homes-logo"] {
	max-width: 450px;
	width: 100%;
}

/* Team section - stacked photo + bio rows, modelled on the Harmony theme's team-section */
.team-section {
	padding: 60px 0;
	background-color: #f7f7f7;
}
.team-section .content {
	margin-bottom: 30px;
}
.team-section h2 {
	color: var(--color-1);
}
.team-section .member {
	gap: 30px;
	padding: 30px 0;
	border-top: 1px solid #ececec;
}
.team-section .member .image-col {
	flex: 0 0 calc(25% - 22.5px);
}
.team-section .member .image-col img {
	width: 100%;
}
.team-section .member .text-col {
	flex: 1 1 0;
	min-width: 0;
}
.team-section .member .heading {
	display: block;
	margin: 0;
	padding: 10px 0 5px;
	font-size: 20px;
	font-weight: 400;
	letter-spacing: 4px;
	color: var(--color-1);
	border-bottom: 1px solid #ececec;
}
.team-section .member .title {
	margin-top: 10px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 2px;
	color: var(--color-2);
}
.team-section .member .content {
	margin: 20px 0 0;
}
.team-section .member .content p:last-child {
	margin-bottom: 0;
}
@media screen and (max-width: 767px) {
	.team-section .member .image-col {
		max-width: 300px;
		margin: 0 auto 20px;
	}
}

/* Nav has 7 top-level items - keep them on one line at desktop widths */
@media screen and (min-width: 992px) {
	.primary-header .header-row {
		column-gap: 30px;
	}
	.primary-header .logo-col {
		flex-basis: 340px;
	}
	.primary-header .nav-col {
		padding-right: 25px;
	}
	.primary-header .nav-col .menu > li > a {
		white-space: nowrap;
		padding-left: 9px;
		padding-right: 9px;
	}
}
@media screen and (min-width: 992px) and (max-width: 1399px) {
	.primary-header .logo-col {
		flex-basis: 260px;
	}
	.primary-header .nav-col .menu > li > a {
		font-size: 13px;
		padding-left: 6px;
		padding-right: 6px;
	}
}

/* Home quick links - client photos have mixed aspect ratios, so crop them to one shape */
.services-section .service .image img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}
