/*
 * Ed's Tree, Lawn & Landscaping — fluid desktop sizing.
 *
 * The mockup is drawn at 1920px wide. On smaller desktops/laptops (e.g. a
 * 1920 screen at 125% Windows scaling = 1536px) everything must shrink in
 * proportion, exactly like the design would, instead of keeping 1920 sizes.
 *
 *   --u   = one mockup pixel  (100vw / 1920 below 1920px, 1px at 1920+)
 *   --gut = side margin of the 1440px content grid (240 mockup px)
 *
 * Every size below is written as  calc(<mockup px> * var(--u)),  with a
 * max() floor on text so it never drops below a readable size.
 * Loaded last; only applies from 1000px up (tablet/phone rules live in
 * style.css and responsive-motion.css).
 */

:root {
	--u: 1px;
	--gut: 240px;
}
@media (min-width: 1000px) and (max-width: 1919.98px) {
	:root { --u: calc(100vw / 1920); }
}
@media (min-width: 1366px) {
	:root { --gut: calc(240 * var(--u)); }
}
@media (min-width: 1000px) and (max-width: 1365.98px) {
	/* Small laptops: a proportional 12.5% margin would squeeze the columns too much. */
	:root { --gut: 6vw; }
}

@media (min-width: 1000px) {

	/* ------------------------------------------------------------ Grid / container */
	body .container-wrap .container,
	body .container-wrap .main-content,
	body #header-outer #top > .container,
	body .nectar-global-section .container {
		max-width: calc(1440px + 2 * var(--gut)) !important;
		padding-left: var(--gut) !important;
		padding-right: var(--gut) !important;
		margin-left: auto;
		margin-right: auto;
	}

	/* ------------------------------------------------------------ Shared type */
	body { font-size: max(15px, calc(18 * var(--u))); line-height: max(24px, calc(28 * var(--u))); }
	body .eds-eyebrow { font-size: max(13px, calc(18 * var(--u))); margin-bottom: calc(14 * var(--u)); }
	body .eds-h2 { font-size: max(30px, calc(60 * var(--u))); line-height: max(36px, calc(66 * var(--u))); }
	body .nectar-button.eds-btn {
		font-size: max(14px, calc(20 * var(--u)));
		padding: calc(20 * var(--u)) calc(33 * var(--u)) !important;
	}
	body .nectar-button.eds-btn--shadow { padding: calc(21 * var(--u)) calc(39 * var(--u)) !important; }
	body .nectar-button.eds-btn--sm { font-size: max(13px, calc(18 * var(--u))); padding: calc(11 * var(--u)) calc(19 * var(--u)) !important; }
	body .nectar-button.eds-btn--green { font-size: max(13px, calc(16 * var(--u))); padding: calc(13 * var(--u)) calc(19 * var(--u)) !important; }

	/* ------------------------------------------------------------ Header */
	#header-outer.transparent #logo img,
	#header-outer #logo img { height: max(100px, calc(196 * var(--u))) !important; }
	#header-outer #logo img { border-radius: 0 0 calc(74 * var(--u)) calc(74 * var(--u)) / 0 0 calc(60 * var(--u)) calc(60 * var(--u)); }
	#header-outer:not(.transparent) #logo img { height: max(64px, calc(90 * var(--u))) !important; }
	#header-outer #top nav > ul.sf-menu > li > a { font-size: max(14px, calc(20 * var(--u))) !important; }
	#header-outer[data-transparent-header="true"] #top nav > ul.sf-menu:not(.buttons) > li > a {
		padding-left: calc(20 * var(--u)) !important;
		padding-right: calc(20 * var(--u)) !important;
	}
	#top nav ul.buttons li.eds-header-call { margin-left: calc(162 * var(--u)) !important; }
	#top nav ul.buttons li.eds-header-call img { width: max(40px, calc(55 * var(--u))) !important; height: max(40px, calc(55 * var(--u))) !important; }
	#top nav ul.buttons li.eds-header-call > a { gap: calc(10 * var(--u)); }
	.eds-header-call__text { gap: calc(6 * var(--u)); }
	.eds-header-call__text small { font-size: max(10px, calc(14 * var(--u))); }
	.eds-header-call__text strong { font-size: max(15px, calc(22 * var(--u))); }
	#header-outer #top nav > ul.sf-menu > li > ul.sub-menu {
		top: calc(50% + max(22px, calc(30 * var(--u)))) !important;
		width: max(220px, calc(270 * var(--u))) !important;
	}
	#header-outer #top nav > ul.sf-menu > li > ul.sub-menu li a { font-size: max(14px, calc(16 * var(--u))) !important; }

	/* ------------------------------------------------------------ 1. Hero */
	body .eds-hero:not(.eds-page-hero) {
		margin-top: calc(14 * var(--u)) !important;
		padding-top: calc(482 * var(--u)) !important;
		padding-bottom: calc(108 * var(--u)) !important;
	}
	body .wpb_row.eds-inset > .row-bg-wrap {
		margin-left: calc(-50vw + var(--scroll-bar-w, 0px) / 2 + 16 * var(--u)) !important;
		width: calc(100vw - var(--scroll-bar-w, 0px) - 32 * var(--u)) !important;
	}
	body .eds-hero__title { font-size: max(44px, calc(96 * var(--u))); line-height: max(48px, calc(100 * var(--u))); margin-bottom: calc(22 * var(--u)); }
	body .eds-hero__lead { max-width: calc(615 * var(--u)); font-size: max(15px, calc(20 * var(--u))); line-height: max(23px, calc(30 * var(--u))); margin-bottom: calc(30 * var(--u)); }

	/* ------------------------------------------------------------ 2. About */
	body .eds-about { padding-top: calc(130 * var(--u)) !important; }
	body .eds-about .eds-h2 { margin-bottom: calc(14 * var(--u)); }
	body .eds-about__copy { font-size: max(14px, calc(18 * var(--u))); line-height: max(23px, calc(28 * var(--u))); padding-bottom: calc(20 * var(--u)) !important; }
	body .eds-about__side .nectar-progress-bar { margin-bottom: calc(30 * var(--u)); }
	body .eds-about__side .nectar-progress-bar p { font-size: max(13px, calc(18 * var(--u))); padding-bottom: calc(10 * var(--u)); }
	body .eds-about__side .nectar-progress-bar .bar-wrap,
	body .eds-about__side .nectar-progress-bar .bar-wrap > span { height: calc(12 * var(--u)); }
	body .eds-about__small { margin-bottom: calc(18 * var(--u)) !important; }
	body .eds-exp-card > .vc_column-inner { padding: calc(30 * var(--u)) calc(20 * var(--u)) calc(16 * var(--u)) !important; }
	body .eds-exp-card__lead { max-width: calc(250 * var(--u)); font-size: max(12px, calc(18 * var(--u))); line-height: max(16px, calc(24 * var(--u))); }
	body .eds-exp-card__stat { gap: calc(16 * var(--u)); margin-bottom: calc(8 * var(--u)); }
	body .eds-exp-card__num { font-size: calc(90 * var(--u)); line-height: calc(90 * var(--u)); }
	body .eds-exp-card__label { font-size: max(12px, calc(18 * var(--u))); line-height: max(16px, calc(24 * var(--u))); }

	/* ------------------------------------------------------------ 3. Services */
	body .eds-services {
		margin-top: calc(95 * var(--u)) !important;
		padding-top: calc(135 * var(--u)) !important;
		padding-bottom: calc(90 * var(--u)) !important;
	}
	body .eds-services .eds-h2 { margin-bottom: calc(46 * var(--u)); }
	body .eds-service-grid { margin-bottom: calc(30 * var(--u)) !important; }
	body .eds-service-grid:last-child { margin-bottom: 0 !important; }
	body .eds-service-grid > .row_col_wrap_12_inner { margin-left: calc(-20 * var(--u)) !important; margin-right: calc(-20 * var(--u)) !important; }
	body .eds-service-grid > .row_col_wrap_12_inner > .wpb_column { padding-left: calc(20 * var(--u)) !important; padding-right: calc(20 * var(--u)) !important; }
	body .eds-service-card > .vc_column-inner { padding: calc(11 * var(--u)) calc(10 * var(--u)) calc(26 * var(--u)) !important; }
	body .eds-service-card > .vc_column-inner::after { left: calc(14 * var(--u)); right: calc(14 * var(--u)); bottom: calc(16 * var(--u)); height: calc(8 * var(--u)); }
	body .eds-service-card:hover > .vc_column-inner::after { left: calc(40 * var(--u)); right: calc(40 * var(--u)); }
	body .eds-service-card .img-with-aniamtion-wrap { margin-bottom: calc(30 * var(--u)); }
	body .eds-service-card .wpb_text_column { padding: 0 calc(16 * var(--u)) calc(30 * var(--u)); }
	body .eds-service-card__title { font-size: max(19px, calc(32 * var(--u))); line-height: max(23px, calc(36 * var(--u))); margin-bottom: calc(18 * var(--u)); }
	body .eds-services .eds-service-card__text { font-size: max(13px, calc(18 * var(--u))) !important; line-height: max(21px, calc(28 * var(--u))) !important; margin-bottom: calc(14 * var(--u)); }
	body .eds-read-more { font-size: max(13px, calc(16 * var(--u))); }
	body .eds-read-more span { font-size: max(17px, calc(22 * var(--u))); }
	body .eds-estimate-card > .vc_column-inner {
		border-width: calc(10 * var(--u)) !important;
		padding: calc(82 * var(--u)) calc(34 * var(--u)) calc(40 * var(--u)) !important;
	}
	body .eds-estimate-card__title { font-size: max(22px, calc(44 * var(--u))); line-height: max(27px, calc(50 * var(--u))); margin-bottom: calc(4 * var(--u)); }
	body ul.eds-contact-list--sm li { gap: calc(4 * var(--u)); margin-bottom: calc(4 * var(--u)); }
	body ul.eds-contact-list--sm li img { width: calc(76 * var(--u)) !important; height: calc(76 * var(--u)) !important; margin: calc(-8 * var(--u)) calc(-6 * var(--u)) calc(-8 * var(--u)) calc(-10 * var(--u)) !important; }
	body ul.eds-contact-list--sm li.is-big { font-size: max(15px, calc(28 * var(--u))) !important; line-height: max(19px, calc(32 * var(--u))); white-space: nowrap; }
	body ul.eds-contact-list--sm li.is-small { font-size: max(11px, calc(18 * var(--u))) !important; line-height: max(15px, calc(24 * var(--u))); }

	/* ------------------------------------------------------------ 4. Why choose us */
	body .eds-why-head { padding-top: calc(125 * var(--u)) !important; padding-bottom: calc(20 * var(--u)) !important; }
	body .eds-why-head__copy p { font-size: max(13px, calc(16 * var(--u))); line-height: max(21px, calc(28 * var(--u))); padding-top: calc(6 * var(--u)); }
	body .eds-why__cards .wpb_row.inner_row { margin-bottom: calc(20 * var(--u)) !important; }
	body .eds-why__cards .wpb_row.inner_row:last-child { margin-bottom: 0 !important; }
	body .eds-why__cards .inner_row > .row_col_wrap_12_inner { margin-left: calc(-10 * var(--u)) !important; margin-right: calc(-10 * var(--u)) !important; }
	body .eds-why__cards .inner_row > .row_col_wrap_12_inner > .wpb_column { padding-left: calc(10 * var(--u)) !important; padding-right: calc(10 * var(--u)) !important; }
	body .eds-why-card > .vc_column-inner,
	body .eds-discount-card > .vc_column-inner {
		height: calc(287 * var(--u)) !important;
		min-height: 0 !important;
		padding: calc(26 * var(--u)) calc(24 * var(--u)) calc(24 * var(--u)) !important;
		overflow: hidden;
	}
	body .eds-discount-card > .vc_column-inner { padding: calc(40 * var(--u)) calc(16 * var(--u)) !important; }
	body .eds-why-card__num { width: calc(78 * var(--u)); height: calc(78 * var(--u)); margin-bottom: calc(14 * var(--u)); font-size: max(18px, calc(32 * var(--u))); }
	body .eds-why-card__title { font-size: max(19px, calc(32 * var(--u))); line-height: max(23px, calc(36 * var(--u))); margin-bottom: calc(6 * var(--u)); }
	body .eds-why-card__text { max-width: calc(360 * var(--u)); font-size: max(13px, calc(18 * var(--u))) !important; line-height: max(20px, calc(28 * var(--u))) !important; }
	body .eds-discount-card__title { font-size: max(19px, calc(32 * var(--u))); line-height: max(22px, calc(35 * var(--u))); margin-bottom: calc(18 * var(--u)); }
	body .eds-why__photo .img-with-aniamtion-wrap img {
		width: calc(100% + 58 * var(--u)) !important;
		margin: calc(-30 * var(--u)) calc(-29 * var(--u)) !important;
	}

	/* ------------------------------------------------------------ 5. Gallery */
	body .eds-gallery-head { padding-top: calc(140 * var(--u)) !important; padding-bottom: calc(30 * var(--u)) !important; }
	body .eds-gallery .nectar-flickity .flickity-slider > .cell { width: calc(486 * var(--u)) !important; }
	body .eds-gallery .nectar-flickity .cell { margin-right: calc(-10 * var(--u)); }
	body .eds-project__overlay { inset: calc(12 * var(--u)) calc(15 * var(--u)) calc(16 * var(--u)); border-radius: calc(14 * var(--u)); }
	body .eds-project.is-plain img { padding: calc(12 * var(--u)) calc(15 * var(--u)) calc(16 * var(--u)); clip-path: inset(calc(12 * var(--u)) calc(15 * var(--u)) calc(16 * var(--u)) round calc(14 * var(--u))); }
	body .eds-project.is-plain::before { inset: calc(12 * var(--u)) calc(15 * var(--u)) calc(16 * var(--u)); border-radius: calc(14 * var(--u)); }
	body .eds-project__title { font-size: max(18px, calc(28 * var(--u))); line-height: max(22px, calc(34 * var(--u))); }
	body .eds-project__plus { font-size: max(32px, calc(52 * var(--u))); line-height: max(32px, calc(50 * var(--u))); }
	body .eds-gallery .flickity-page-dots { margin-top: calc(20 * var(--u)); }

	/* ------------------------------------------------------------ 6. Reviews */
	body .eds-reviews-head { padding-top: calc(150 * var(--u)) !important; padding-bottom: calc(25 * var(--u)) !important; }
	body .eds-review-arrows { gap: calc(12 * var(--u)); padding-top: calc(40 * var(--u)); }
	body .eds-review-arrows button { width: calc(52 * var(--u)); height: calc(52 * var(--u)); background-size: calc(116 * var(--u)) calc(52 * var(--u)); }
	body .eds-review-arrows button[data-dir="next"] { background-position: calc(-64 * var(--u)) 0; }
	body .eds-reviews .nectar-flickity .flickity-slider > .cell { width: calc(538 * var(--u)) !important; }
	body .eds-reviews .nectar-flickity .cell { padding-right: calc(38 * var(--u)) !important; }
	body .eds-review {
		min-height: calc(354 * var(--u));
		padding: calc(42 * var(--u)) calc(40 * var(--u)) calc(36 * var(--u));
		border-radius: calc(30 * var(--u));
	}
	body .eds-review__head { gap: calc(18 * var(--u)); margin-bottom: calc(22 * var(--u)); }
	body .eds-review__quote { width: max(38px, calc(53 * var(--u))); height: max(38px, calc(53 * var(--u))); font-size: max(24px, calc(34 * var(--u))); }
	body .eds-review__name { font-size: max(16px, calc(22 * var(--u))); line-height: max(20px, calc(28 * var(--u))); }
	body .eds-review__stars { font-size: max(18px, calc(26 * var(--u))); }
	body .eds-review__text { font-size: max(13px, calc(18 * var(--u))) !important; line-height: max(20px, calc(28 * var(--u))) !important; }

	/* ------------------------------------------------------------ 7. Contact */
	body .eds-contact {
		margin-top: calc(120 * var(--u)) !important;
		margin-bottom: calc(20 * var(--u)) !important;
		padding-top: calc(85 * var(--u)) !important;
		padding-bottom: calc(80 * var(--u)) !important;
	}
	body .eds-contact__title { font-size: max(40px, calc(80 * var(--u))); line-height: max(50px, calc(100 * var(--u))); margin-bottom: calc(12 * var(--u)); }
	body .eds-contact__lead { max-width: calc(560 * var(--u)); font-size: max(15px, calc(22 * var(--u))); line-height: max(22px, calc(32 * var(--u))); margin-bottom: calc(22 * var(--u)); }
	body ul.eds-contact-list--lg li { margin-bottom: calc(8 * var(--u)); gap: calc(12 * var(--u)); }
	body ul.eds-contact-list--lg li img { width: calc(85 * var(--u)) !important; height: calc(85 * var(--u)) !important; margin: calc(-14 * var(--u)) !important; }
	body ul.eds-contact-list--lg li.is-big { font-size: max(16px, calc(28 * var(--u))) !important; line-height: max(20px, calc(32 * var(--u))); }
	body ul.eds-contact-list--lg li.is-small { font-size: max(12px, calc(18 * var(--u))); line-height: max(16px, calc(24 * var(--u))); margin-top: calc(10 * var(--u)); }
	body .eds-form { padding: calc(56 * var(--u)) calc(55 * var(--u)) calc(60 * var(--u)); border-radius: calc(40 * var(--u)); }
	body .eds-form .eds-form-note { font-size: max(13px, calc(18 * var(--u))); line-height: max(20px, calc(34 * var(--u))); margin-bottom: calc(22 * var(--u)); }
	body .eds-form .eds-field { margin-bottom: calc(30 * var(--u)); }
	body .eds-form input[type="text"],
	body .eds-form input[type="email"],
	body .eds-form input[type="tel"],
	body .eds-form textarea { font-size: max(13px, calc(16 * var(--u))) !important; padding: calc(10 * var(--u)) 0 !important; }
	body .eds-form textarea { height: calc(95 * var(--u)); }
	body .eds-form .wpcf7-submit.eds-submit { height: max(46px, calc(67 * var(--u))); font-size: max(14px, calc(18 * var(--u))) !important; border-radius: calc(14 * var(--u)) !important; }

	/* ------------------------------------------------------------ 8. Footer */
	body img.eds-footer__logo,
	body .eds-footer__brand .hover-wrap,
	body .eds-footer__brand .hover-wrap-inner { width: max(130px, calc(203 * var(--u))) !important; max-width: none !important; }
	body img.eds-footer__logo { border-radius: 0 0 calc(102 * var(--u)) calc(102 * var(--u)) / 0 0 calc(84 * var(--u)) calc(84 * var(--u)) !important; }
	body .eds-footer__brand .img-with-aniamtion-wrap { margin-bottom: calc(26 * var(--u)); }
	body .eds-footer__about { max-width: calc(420 * var(--u)); font-size: max(13px, calc(18 * var(--u))); line-height: max(20px, calc(26 * var(--u))); }
	body .eds-footer__follow { font-size: max(13px, calc(18 * var(--u))); }
	body .eds-social { gap: calc(12 * var(--u)); }
	body .eds-social a { width: calc(38 * var(--u)); height: calc(38 * var(--u)); background-size: calc(188 * var(--u)) calc(38 * var(--u)); }
	body .eds-social a:nth-child(2) { background-position: calc(-50 * var(--u)) 0; }
	body .eds-social a:nth-child(3) { background-position: calc(-100 * var(--u)) 0; }
	body .eds-social a:nth-child(4) { background-position: calc(-150 * var(--u)) 0; }
	body .eds-footer > .row_col_wrap_12 > .eds-footer__cols {
		margin-top: calc(118 * var(--u)) !important;
		padding: 0 0 calc(26 * var(--u)) calc(94 * var(--u)) !important;
	}
	body .eds-footer__heading { font-size: max(18px, calc(32 * var(--u))); line-height: max(22px, calc(36 * var(--u))); margin-bottom: calc(22 * var(--u)); }
	body ul.eds-footer-links li { font-size: max(13px, calc(18 * var(--u))); line-height: max(20px, calc(26 * var(--u))); margin-bottom: calc(10 * var(--u)); }
	body ul.eds-contact-list--xs li { font-size: max(12px, calc(16 * var(--u))); gap: calc(6 * var(--u)); margin-bottom: calc(4 * var(--u)); }
	body ul.eds-contact-list--xs li.is-small { font-size: max(9px, calc(11 * var(--u))); }
	body ul.eds-contact-list--xs li img { width: calc(52 * var(--u)) !important; height: calc(52 * var(--u)) !important; margin: calc(-6 * var(--u)) calc(-4 * var(--u)) calc(-6 * var(--u)) calc(-8 * var(--u)) !important; }
	body .eds-footer__news-row { margin-top: calc(30 * var(--u)); }
	body .eds-news input[type="email"] { font-size: max(13px, calc(16 * var(--u))) !important; padding: calc(12 * var(--u)) calc(8 * var(--u)) !important; }
	body .eds-news .wpcf7-submit.eds-news-btn { font-size: max(22px, calc(30 * var(--u))) !important; }
	body .eds-copyright .wpb_text_column p { font-size: max(13px, calc(18 * var(--u))); padding: calc(18 * var(--u)) 0 calc(22 * var(--u)) !important; }

	/* ------------------------------------------------------------ Inner pages */
	body .eds-page-hero { margin-top: calc(14 * var(--u)) !important; padding-top: calc(290 * var(--u)) !important; padding-bottom: calc(110 * var(--u)) !important; }
	body .eds-page-hero__title { font-size: max(40px, calc(72 * var(--u))); line-height: max(46px, calc(80 * var(--u))); }
	body .eds-cta__title { font-size: max(32px, calc(60 * var(--u))); line-height: max(40px, calc(70 * var(--u))); }
}

/* Salient adds ~1.5em bottom margin to every contained row; the mockup's
   vertical rhythm is fully described by the row paddings above. */
body .main-content > .row > .wpb_row,
body .nectar-global-section .row > .wpb_row { margin-bottom: 0 !important; }
@media (min-width: 1000px) {
	body .eds-gallery-head { padding-bottom: calc(20 * var(--u)) !important; }
	body .eds-gallery-head .eds-h2,
	body .eds-reviews-head .eds-h2,
	body .eds-why-head .eds-h2 { margin-bottom: 0 !important; }
	body .eds-services .eds-h2 { margin-bottom: calc(40 * var(--u)) !important; }
	body .eds-hero .wpb_text_column { margin-bottom: 0 !important; }
}
@media (min-width: 1000px) {
	body .eds-service-card .wpb_text_column { padding-bottom: calc(15 * var(--u)); }
	body .eds-service-card__title { margin-bottom: calc(10 * var(--u)) !important; }
	body .eds-read-more { line-height: 1.2; }
}

/* ------------------------------------------------------------ Gallery page grid + centred page headers */
/* Salient's `.row .col img:not([srcset]) { width:auto }` collapsed these cards to 0px until the
   image loaded; give every project image a fixed footprint. */
body .eds-gallery-grid .eds-project,
body .eds-gallery .eds-project { width: 100%; }
body .eds-gallery-grid .eds-project img,
body .eds-gallery .eds-project img {
	display: block;
	width: 100% !important;
	height: auto !important;
	max-width: 100% !important;
	aspect-ratio: 486 / 580;
	object-fit: cover;
}
body .eds-gallery-grid > .row_col_wrap_12_inner { justify-content: center; }
body .eds-page-hero .wpb_text_column,
body .eds-page-hero .eds-page-hero__title,
body .eds-page-hero .eds-eyebrow { text-align: center; }
body .eds-gallery-page { padding-bottom: calc(20 * var(--u)) !important; }

/* Full-content sections */
@media (min-width: 1000px) {
	body .eds-service-page .eds-h2 { font-size: max(28px, calc(50 * var(--u))); line-height: max(34px, calc(58 * var(--u))); margin-bottom: calc(24 * var(--u)); }
	body .eds-h3 { font-size: max(20px, calc(28 * var(--u))); line-height: max(26px, calc(34 * var(--u))); }
	body ul.eds-check-list li { font-size: max(14px, calc(18 * var(--u))); line-height: max(23px, calc(28 * var(--u))); }
	body .eds-stat strong { font-size: max(34px, calc(60 * var(--u))); }
	body .eds-stat span { font-size: max(14px, calc(18 * var(--u))); }
}
