:root {
	/* Font families */
	--iman-globals-font-heading: 'Poppins', sans-serif;
	--iman-globals-font-body: 'Poppins', sans-serif;

	/* Font weights */
	--iman-globals-font-weight-heading: 700;
	--iman-globals-font-weight-body: 400;

	/* Headings - font size and line height (reduced) */
	--iman-globals-h1-size: clamp(2rem, 4vw, 3.2rem);
	--iman-globals-h1-line-height: clamp(2.4rem, 5vw, 3.6rem);

	--iman-globals-h2-size: clamp(1.6rem, 3.2vw, 2.4rem);
	--iman-globals-h2-line-height: clamp(2rem, 4vw, 2.8rem);

	--iman-globals-h3-size: clamp(1.4rem, 2.8vw, 2rem);
	--iman-globals-h3-line-height: clamp(1.8rem, 3.6vw, 2.4rem);

	--iman-globals-h4-size: clamp(1.2rem, 2.4vw, 1.6rem);
	--iman-globals-h4-line-height: clamp(1.6rem, 3vw, 2rem);

	--iman-globals-h5-size: clamp(1rem, 2vw, 1.2rem);
	--iman-globals-h5-line-height: clamp(1.4rem, 2.8vw, 1.6rem);

	--iman-globals-h6-size: clamp(0.85rem, 1.6vw, 1rem);
	--iman-globals-h6-line-height: clamp(1.3rem, 2.4vw, 1.5rem);

	/* Body text - font size and line height */
	--iman-globals-body-size: clamp(1rem, 1.5vw, 1.125rem);
	--iman-globals-body-line-height: clamp(1.5rem, 2vw, 1.75rem);

	/* Optional small text */
	--iman-globals-small-text-size: clamp(0.875rem, 1.25vw, 1rem);
	--iman-globals-small-text-line-height: clamp(1.25rem, 1.75vw, 1.5rem);

	/* Extra small text */
	--iman-globals-extra-small-text-size: clamp(0.75rem, 1vw, 0.875rem);
	--iman-globals-extra-small-text-line-height: clamp(1rem, 1.5vw, 1.25rem);

	/* Headings - common text styles */
	--iman-globals-heading-letter-spacing: 0.05em;
	--iman-globals-heading-text-transform: uppercase;

	/* Colors */
	--iman-globals-color-black: #000;
	--iman-globals-color-black-rgb: 0, 0, 0;
	--iman-globals-color-citrine: #ebdb33;
	--iman-globals-color-citrine-rgb: 235, 219, 51;
	--iman-globals-color-blood: #8B0000;
	--iman-globals-color-blood-rgb: 139, 0, 0;
	--iman-globals-color-white: #fff;
	--iman-globals-color-white-rgb: 255, 255, 255;
	--iman-globals-color-tomato: #F95738;
	--iman-globals-color-tomato-rgb: 249, 87, 56;
	--iman-globals-color-hunter-green: #33673B;
	--iman-globals-color-hunter-green-rgb: 51, 103, 59;
	--iman-globals-color-marian-blue: #3D3B8E;
	--iman-globals-color-marian-blue-rgb: 61, 59, 142;

	--iman-globals-color-opacity: .4;

	/* Form styles */
	--iman-globals-form-gap: 30px;
	--iman-globals-form-input-height: 48px;

	/* Layout */
	--image-globals-page-header-height: 150px;

	/* Plura Globals */
	--plura-globals-wp-form-gap: 25px;
    --plura-globals-wp-form-obj-h: 50px;
}

/* ==========================================================================
   TYPOGRAPHY
   ========================================================================== */
body {
	font-family: var(--iman-globals-font-body);
	font-weight: var(--iman-globals-font-weight-body);
	font-size: var(--iman-globals-body-size);
	line-height: var(--iman-globals-body-line-height);
	color: var(--iman-globals-color-black);
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--iman-globals-font-heading);
	font-weight: var(--iman-globals-font-weight-heading);
	letter-spacing: var(--iman-globals-heading-letter-spacing);
	text-transform: var(--iman-globals-heading-text-transform);
	color: var(--iman-globals-color-black);
}

h1 {
	font-size: var(--iman-globals-h1-size);
	line-height: var(--iman-globals-h1-line-height);
}

h2 {
	font-size: var(--iman-globals-h2-size);
	line-height: var(--iman-globals-h2-line-height);
}

h3 {
	font-size: var(--iman-globals-h3-size);
	line-height: var(--iman-globals-h3-line-height);
}

h4 {
	font-size: var(--iman-globals-h4-size);
	line-height: var(--iman-globals-h4-line-height);
}

h5 {
	font-size: var(--iman-globals-h5-size);
	line-height: var(--iman-globals-h5-line-height);
}

h6 {
	font-size: var(--iman-globals-h6-size);
	line-height: var(--iman-globals-h6-line-height);
}

/* ==========================================================================
   COMPONENTS
   ========================================================================== */

/* icons */
body [class^="icon-"].icon-default-style {
	color: var(--iman-globals-color-black);
	line-height: 26px;
    height: 26px;
    width: 26px;
    font-size: 26px;
}

/* hover */
.iwithtext .iwt-text {
	padding-left: calc( 26px + 26px / 2 );
}

.iwithtext .iwt-text a {
	color: var(--iman-globals-color-black);
}
.iwithtext .iwt-text a:hover {
	color: var(--iman-globals-color-tomato);
}

/* ==========================================================================
   GLOBAL LAYOUT
   ========================================================================== */

/* Header */
header #logo img {
	width: auto;
	max-height: 300px;
}

#header-outer header#top .nav-outer > nav > .sf-menu .menu-item > a {
	font-family: var(--iman-globals-font-heading);
	font-weight: var(--iman-globals-font-weight-heading);
	font-size: var(--iman-globals-h6-size);
	line-height: var(--iman-globals-h6-line-height);
	letter-spacing: var(--iman-globals-heading-letter-spacing);
	text-transform: var(--iman-globals-heading-text-transform);
	text-decoration: none;
	color: var(--iman-globals-color-black);
}

#header-outer header#top .nav-outer > nav > .sf-menu > li.current-menu-item > a .nectar-text-reveal-button__text {
	color: var(--iman-globals-color-tomato);
}

#header-outer header#top .nav-outer > nav > .sf-menu > li > a:hover .nectar-text-reveal-button__text:after {
	color: var(--iman-globals-color-tomato);
}

/* Form (CF7) */
.wpcf7-form .wpcf7-not-valid-tip {
	box-shadow: none;
}

.wpcf7-form :is(
	input:is([type="email"],[type="submit"],[type="tel"],[type="text"]),
	label,
	select,
	textarea
) {
	display: block;
	font-family: inherit;
}

.wpcf7-form :is(
	input:is([type="email"],[type="tel"],[type="text"]), 
	textarea
)::placeholder,
.wpcf7-form :is( 
	input[type="submit"],
	select:has(> option[value=""]:checked),
	select option[value=""]
) { 
	font-weight: 700;
	font-size: var(--iman-globals-h6-size);
	line-height: var(--iman-globals-h6-line-height);
	text-transform: uppercase;
}

.wpcf7-form  :is(input:is([type="email"],[type="tel"],[type="text"]), textarea),
.wpcf7-form  :is(input:is([type="email"],[type="tel"],[type="text"]), textarea)::placeholder,
.wpcf7-form  select { 
	color: rgba(var(--iman-globals-color-black-rgb), var(--iman-globals-color-opacity));
}

.wpcf7-form select option:not(:first-child) {
	font-size: var(--iman-globals-body-size);
	font-weight: var(--iman-globals-font-weight-body);
	text-transform: none;
}

.wpcf7-form :is(.wpcf7-not-valid-tip, .wpcf7-response-output) {
	font-size: var(--iman-globals-extra-small-text-size);
	line-height: var(--iman-globals-extra-small-text-line-height);
}

.wpcf7-form:is(.invalid, .sent) .wpcf7-response-output {
	border-color: var(--iman-globals-color-tomato) !important;
}


/* Page Header */
#page-header-bg .page-header-overlay-color {
	display: none;
}

#page-header-wrap + .container-wrap {
	padding-top: 0;
}

/* ==========================================================================
   PAGE SPECIFIC STYLES
   ========================================================================== */

/* Contact Page */
.page-id-36 form.wpcf7-form.plura-wp-cf7.plura-wp-cf7-no-labels .wpcf7-form-control-wrap:is(
	[data-name="first-name"],[data-name="last-name"],
	[data-name="your-email"],[data-name="your-phone"],
	[data-name="project-type"],[data-name="timeline"]
) {
	--plura-globals-wp-form-cols: 2;
}
