/*
 Theme Name:   Divi Child — RE Inc.
 Template:     Divi
 Version:      1.1.0
 Description:  Child theme for reinc.com, rebuilt from Salient 7.0.9 in 2026-10.
*/

/*
 * Sizes, spacing and colors are measured from the live Salient site at 1440px
 * (rebuild/measure.js, rebuild/probe2.js). Icons: salient-icons.css.
 */

/* ---------- Design tokens (from the old Salient settings) ---------- */
:root {
	--re-green: #10e528;      /* Salient accent: active / hover menu links */
	--re-orange: #f6653c;     /* extra color 1: service icons */
	--re-charcoal: #333333;   /* extra color 3: button, service list icons */
	--re-dark: #080a00;       /* About band */
	--re-header: #1f1f1f;     /* header once scrolled */
	--re-menu-dim: #a0a0a0;   /* menu links once scrolled */
	--re-text: #676767;
	--re-heading: #444444;
	--re-footer-heading: #777777;
	--re-footer-text: #999999; /* Salient used #ccc, too faint on white */
}

@font-face {
	font-family: 'Lovelo';
	src: url('fonts/Lovelo_Black.woff') format('woff'), url('fonts/Lovelo_Black.ttf') format('truetype');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

/* ---------- Base typography ---------- */
body,
.et_pb_text,
.et_pb_text p,
.et_pb_blurb_description,
.et_pb_blurb_description p {
	font-family: 'PT Sans', Helvetica, Arial, sans-serif;
	font-size: 16px;
	line-height: 1.8;
	color: var(--re-text);
}

.et_pb_text p {
	padding-bottom: 1em;
}

h1, h2, h3, h4, h5, h6,
.et_pb_module h1, .et_pb_module h2, .et_pb_module h4, .et_pb_module h5 {
	color: var(--re-heading);
	padding-bottom: 0;
}

h1, .et_pb_module h1 {
	font-family: 'Lovelo', 'PT Sans', sans-serif !important;
	font-weight: normal;
	font-size: 54px;
}

h4, .et_pb_module h4, .et_pb_module h4.et_pb_module_header {
	font-family: 'Raleway', sans-serif;
	font-size: 18px;
	font-weight: 400; /* Salient asked for 600 but only loaded Raleway 400 — this is what rendered */
	line-height: 32px;
	letter-spacing: 1px;
}

h5, .et_pb_module h5, .et_pb_module h5.et_pb_module_header {
	font-family: 'Open Sans', sans-serif;
	font-size: 18px;
	font-weight: 600;
	line-height: 28px;
	letter-spacing: -0.5px;
}

/* Light text on dark sections */
.re-light,
.re-light p,
.re-light h1, .re-light h2, .re-light h4, .re-light h5,
.re-light .et_pb_module_header,
.re-light .et_pb_blurb_description {
	color: #ffffff !important;
}

/* ---------- Button (Salient "large" button, extra color 3, with the arrow that slides in on hover) ---------- */
body #page-container .et_pb_button,
body #page-container .et_pb_button:hover {
	position: relative;
	display: inline-block;
	background-color: var(--re-charcoal) !important;
	color: #ffffff !important;
	opacity: 0.9;
	border: 0;
	border-radius: 0;
	font-family: 'Open Sans', sans-serif;
	font-size: 13px;
	font-weight: 400;
	line-height: 20px;
	letter-spacing: 2px;
	text-transform: uppercase;
	padding: 15px 42px !important;
	transition: padding 0.3s ease;
}

body #page-container .et_pb_button:after {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	right: 30px;
	left: auto;
	width: 20px;
	height: 12px;
	margin: -6px 0 0;
	opacity: 0;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 12' fill='none' stroke='%23fff' stroke-width='1.4'%3E%3Cpath d='M0 6h19M13.5 0.5 19 6l-5.5 5.5'/%3E%3C/svg%3E") no-repeat center / contain;
	transition: opacity 0.3s ease, right 0.3s ease;
}

body #page-container .et_pb_button:hover {
	padding: 15px 64px 15px 20px !important;
}

body #page-container .et_pb_button:hover:after {
	opacity: 1;
	right: 20px;
}

/* ---------- Header: 85px over the hero, 55px and dark once scrolled ---------- */
.re-header {
	position: fixed !important;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1000;
	background-color: transparent !important;
	transition: background-color 0.3s ease;
}

.admin-bar .re-header {
	top: 32px;
}

@media (max-width: 782px) {
	.admin-bar .re-header { top: 46px; }
}

.re-header.re-scrolled {
	background-color: var(--re-header) !important;
}

.re-header .et_pb_row {
	width: 100% !important;
	max-width: none !important;
	padding: 0 50px 0 28px !important;
}

.re-header .et_pb_menu,
.re-header .et_pb_menu_inner_container {
	background: transparent !important;
}

.re-header .et_pb_menu_inner_container {
	height: 85px;
	align-items: center;
	transition: height 0.3s ease;
}

.re-header.re-scrolled .et_pb_menu_inner_container {
	height: 55px;
}

.re-header .et_pb_menu_inner_container > .et_pb_menu__logo-wrap {
	flex: 0 0 auto;
	width: auto;
	max-width: none !important;
	margin: 0 !important;
}

.re-header .et_pb_menu__logo img {
	height: 30px;
	width: auto;
	max-width: none;
	transition: height 0.3s ease;
}

.re-header.re-scrolled .et_pb_menu__logo img {
	height: 24px;
}

.re-header .et_pb_menu__wrap {
	flex: 1 1 auto !important;
	justify-content: flex-end !important;
	margin: 0 !important;
}

.re-header .et_pb_menu__menu > nav > ul {
	justify-content: flex-end;
}

.re-header .et_pb_menu .et-menu > li {
	padding: 0 11px;
}

.re-header .et_pb_menu .et-menu > li:last-child {
	padding-right: 0;
}

.re-header .et_pb_menu .et-menu > li > a {
	padding: 0;
	font-family: 'Lovelo', 'PT Sans', sans-serif;
	font-size: 14px;
	letter-spacing: 1px;
	color: #ffffff !important;
	opacity: 1;
	transition: color 0.2s ease;
}

.re-header.re-scrolled .et_pb_menu .et-menu > li > a {
	color: var(--re-menu-dim) !important;
}

/* Every link is an anchor on the home page, so Divi marks them all "current";
   the section in view gets .re-active from functions.php instead (only once scrolled, like Salient). */
.re-header .et_pb_menu .et-menu > li > a:hover,
.re-header.re-scrolled .et_pb_menu .et-menu > li.re-active > a {
	color: var(--re-green) !important;
}

.re-header .mobile_nav .mobile_menu_bar:before,
.re-header .et_pb_menu .mobile_nav .mobile_menu_bar:before {
	color: #ffffff !important;
}

.re-header .et_mobile_menu {
	background-color: var(--re-header) !important;
	border-top-color: var(--re-green);
}

.re-header .et_mobile_menu li a {
	font-family: 'Lovelo', 'PT Sans', sans-serif;
	color: #ffffff !important;
	letter-spacing: 1px;
}

.re-header .et_mobile_menu li.re-active a {
	color: var(--re-green) !important;
}

@media (max-width: 980px) {
	.re-header .et_pb_row { padding: 0 20px !important; }
	.re-header .et_pb_menu_inner_container,
	.re-header.re-scrolled .et_pb_menu_inner_container { height: 60px; }
	.re-header .et_pb_menu__logo img,
	.re-header.re-scrolled .et_pb_menu__logo img { height: 22px; }
}

/* Salient rows had no padding of their own; the section padding is the whole gap. */
.re-hero .et_pb_row,
.re-intro .et_pb_row,
.re-about .et_pb_row,
.re-services .et_pb_row,
.re-service-list .et_pb_row,
.re-footer .et_pb_row:first-child {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

/* ---------- Home: hero (was the Nectar Slider) ---------- */
.et_pb_section.re-hero {
	display: flex;
	align-items: center;
	min-height: 100vh;
	background-size: cover;
	background-position: center;
}

.re-hero h1,
.re-hero .et_pb_text h1 {
	color: #ffffff !important;
	font-size: 110px;
	line-height: 1.17;
	letter-spacing: -1px;
	text-transform: uppercase;
	padding-bottom: 10px;
}

.re-hero .re-tagline {
	font-family: 'Libre Baskerville', Georgia, serif;
	font-style: italic;
	font-size: 24px;
	line-height: 43px;
	letter-spacing: 0.5px;
	color: #ffffff;
}

@media (max-width: 1200px) {
	.re-hero h1, .re-hero .et_pb_text h1 { font-size: 80px; }
}

@media (max-width: 980px) {
	.re-hero h1, .re-hero .et_pb_text h1 { font-size: 56px; }
	.re-hero .re-tagline { font-size: 19px; line-height: 1.6; }
}

@media (max-width: 600px) {
	.re-hero h1, .re-hero .et_pb_text h1 { font-size: 36px; }
	.re-hero .re-tagline { font-size: 16px; }
}

/* ---------- Home: intro ---------- */
.et_pb_section.re-intro {
	background-size: auto 100% !important;
	background-repeat: no-repeat !important;
	background-position: right center !important;
}

.re-intro .re-intro-col {
	padding-right: 13% !important;
}

.re-intro p {
	font-family: 'Raleway', sans-serif;
	font-size: 26px;
	font-weight: 400; /* see h4 */
	line-height: 45px;
	letter-spacing: 0.5px;
	color: var(--re-text);
}

.re-intro strong {
	font-weight: 600;
}

@media (max-width: 980px) {
	/* Salient hid this background on mobile, too */
	.et_pb_section.re-intro { background-image: none !important; padding: 80px 0 !important; }
	.re-intro .re-intro-col { padding-right: 0 !important; }
	.re-intro p { font-size: 21px; line-height: 1.7; }
}

/* ---------- Home: about ---------- */
.re-about .et_pb_blurb {
	--si-size: 34px;
	margin-bottom: 50px !important;
}

.re-about .et_pb_blurb:last-child {
	margin-bottom: 0 !important;
}

.re-about .et_pb_blurb .et-pb-icon,
.re-about .et_pb_blurb .et-pb-icon:before {
	color: var(--re-green) !important;
}

/* Salient put the icon in its own 1/4 column: text starts 163px from the icon's left edge */
.re-about .et_pb_blurb_position_left .et_pb_main_blurb_image {
	width: 148px !important;
	text-align: left;
}

.re-about .et_pb_blurb_position_left .et_pb_blurb_container {
	padding-left: 15px;
}

.re-about .et_pb_module_header {
	padding-bottom: 7px !important;
}

.re-about .et_pb_blurb_description,
.re-about .et_pb_blurb_description p {
	font-size: 16px;
	line-height: 28.8px;
}

.re-quote {
	max-width: 572px; /* Salient's quote column width */
}

.re-quote p {
	font-family: 'Raleway', sans-serif;
	font-size: 26px;
	font-weight: 400; /* see h4 */
	line-height: 45px;
	letter-spacing: 0.5px;
	color: #ffffff;
	padding-bottom: 30px;
}

@media (max-width: 980px) {
	.re-about .et_pb_blurb_position_left .et_pb_main_blurb_image { width: 50px !important; }
	.re-quote p { font-size: 21px; line-height: 1.7; }
}

/* ---------- Home: services (four circles) ---------- */
.re-services .et_pb_blurb {
	--si-size: 30px;
}

.re-services .et_pb_blurb .et_pb_main_blurb_image {
	margin-bottom: 25px;
}

.re-services .et_pb_blurb .et-pb-icon {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 88px;
	height: 88px;
	border-radius: 50%;
	background-color: #f4f4f4;
	box-shadow: inset 0 0 0 1px #e8e8e8;
}

.re-services .et_pb_blurb .et-pb-icon,
.re-services .et_pb_blurb .et-pb-icon:before {
	color: var(--re-orange) !important;
}

/* ---------- Home: service list ---------- */
.re-service-list .et_pb_blurb {
	--si-size: 34px;
	margin-bottom: 44px !important;
}

.re-service-list .et_pb_blurb:last-child {
	margin-bottom: 0 !important;
}

.re-service-list .et_pb_blurb .et-pb-icon,
.re-service-list .et_pb_blurb .et-pb-icon:before {
	color: var(--re-charcoal) !important;
}

/* Title starts 55px from the icon's left edge */
.re-service-list .et_pb_blurb_position_left .et_pb_main_blurb_image {
	width: 40px !important;
}

.re-service-list .et_pb_blurb_position_left .et_pb_blurb_container {
	padding-left: 15px;
}

.re-service-list .et_pb_module_header {
	padding-bottom: 8px !important;
}

.re-service-list .et_pb_blurb_description,
.re-service-list .et_pb_blurb_description p {
	font-size: 16px;
	line-height: 28.8px;
}

/* ---------- Footer ---------- */
.re-footer h4 {
	font-family: 'Open Sans', sans-serif;
	font-size: 12px;
	font-weight: 400;
	line-height: 32px;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--re-footer-heading);
	padding-bottom: 12px;
}

.re-footer p {
	font-size: 16px;
	line-height: 28.8px;
	color: var(--re-footer-text);
}

.re-footer .re-copyright p {
	font-size: 12px;
	color: #aaaaaa;
}

/* Anchor targets sit below the fixed header */
#home, #intro, #about, #services, #xtr-services, #contact {
	scroll-margin-top: 52px; /* direct visits to /#about etc. land where a menu click does */
}
