/*
Theme Name:   PSG Works Child
Theme URI:    https://psgworks.com
Description:  PSG Works Child Theme based on Astra
Author:       Logic Inbound
Author URI:   https://logicinbound.com
Template:     astra
Version:      1.0.0
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  psg-works-child
*/

/* ==========================================================================
   PSG Works Design Token System
   All custom properties defined here; consumed by Elementor + custom CSS.
   Update values here to retheme the entire site.
   ========================================================================== */
:root {

	/* -- Colors ------------------------------------------------------------ */
	--psg-color-primary:     #0F2C4D; /* deep navy    — trust, expertise         */
	--psg-color-secondary:   #2D5A8E; /* slate blue   — hover states, accents    */
	--psg-color-accent:      #EFC900; /* brand yellow — CTAs/highlights (logo-confirmed) */
	--psg-color-accent-dark: #D4AE00; /* dark yellow  — hover state for accent   */
	--psg-color-dark:        #0A1628; /* near-black   — hero, footer, dark bands */
	--psg-color-text:        #1A1A2E; /* charcoal     — all body copy            */
	--psg-color-text-muted:  #6B7280; /* medium gray  — captions, secondary text */
	--psg-color-text-light:  #FFFFFF; /* white text   — on dark backgrounds      */
	--psg-color-bg:          #FFFFFF; /* white        — base background          */
	--psg-color-bg-alt:      #F8FAFC; /* light gray   — alternating sections     */
	--psg-color-bg-dark:     #0F2C4D; /* primary dark — dark section backgrounds */
	--psg-color-border:      #E5E7EB; /* light border — cards, dividers          */
	--psg-color-success:     #16A34A; /* green        — success states           */

	/* -- Typography -------------------------------------------------------- */
	--psg-font-heading: 'Montserrat', sans-serif;
	--psg-font-body:    'Inter', sans-serif;

	/* -- Font sizes (fluid type scale) ------------------------------------- */
	--psg-text-xs:   0.75rem;   /*  12px */
	--psg-text-sm:   0.875rem;  /*  14px */
	--psg-text-base: 1rem;      /*  16px */
	--psg-text-lg:   1.125rem;  /*  18px */
	--psg-text-xl:   1.25rem;   /*  20px */
	--psg-text-2xl:  1.5rem;    /*  24px */
	--psg-text-3xl:  1.875rem;  /*  30px */
	--psg-text-4xl:  2.25rem;   /*  36px */
	--psg-text-5xl:  3rem;      /*  48px */
	--psg-text-hero: clamp(2.5rem, 5vw, 4rem); /* responsive hero heading */

	/* -- Spacing scale ----------------------------------------------------- */
	--psg-space-xs:  0.5rem;    /*   8px */
	--psg-space-sm:  1rem;      /*  16px */
	--psg-space-md:  1.5rem;    /*  24px */
	--psg-space-lg:  2.5rem;    /*  40px */
	--psg-space-xl:  4rem;      /*  64px */
	--psg-space-2xl: 6rem;      /*  96px */
	--psg-space-3xl: 8rem;      /* 128px */

	/* -- Layout ------------------------------------------------------------ */
	--psg-container:    1200px;
	--psg-container-sm: 760px;

	/* -- Border radius ----------------------------------------------------- */
	--psg-radius-sm:   4px;
	--psg-radius-md:   8px;
	--psg-radius-lg:   12px;
	--psg-radius-xl:   20px;
	--psg-radius-full: 9999px;

	/* -- Shadows ----------------------------------------------------------- */
	--psg-shadow-sm: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.04);
	--psg-shadow-md: 0 4px 12px rgba(0,0,0,.10), 0 2px 4px rgba(0,0,0,.06);
	--psg-shadow-lg: 0 10px 30px rgba(0,0,0,.12), 0 4px 8px rgba(0,0,0,.08);

	/* -- Transitions ------------------------------------------------------- */
	--psg-transition:     200ms ease-in-out;
	--psg-transition-slow: 400ms ease-in-out;

}

/* ==========================================================================
   Base overrides — typography applied globally
   ========================================================================== */
body {
	font-family: var( --psg-font-body );
	color:        var( --psg-color-text );
}

h1, h2, h3, h4, h5, h6,
.entry-title, .page-title {
	font-family: var( --psg-font-heading );
	color:        var( --psg-color-primary );
}

a {
	color:              var( --psg-color-secondary );
	transition:         color var( --psg-transition );
	text-decoration:    none;
}

a:hover,
a:focus {
	color:              var( --psg-color-accent );
}

/* ==========================================================================
   Header — solid navy bar, white nav, yellow CTA button
   ========================================================================== */

#masthead,
.site-header,
.main-header-bar,
.ast-primary-header-bar,
.ast-theme-transparent-header #masthead,
.ast-theme-transparent-header .site-header,
.ast-theme-transparent-header .main-header-bar,
.ast-theme-transparent-header .ast-primary-header-bar {
	background-color: var( --psg-color-primary ) !important;
	/* No border-bottom — avoids visible seam when hero bg matches header (#0F2C4D).
	   Shadow used instead: creates depth over light content, invisible over same-navy content. */
	border-bottom: none !important;
	box-shadow:    0 2px 12px rgba( 0, 0, 0, .20 ) !important;
}

.ast-theme-transparent-header #masthead {
	position: relative !important;
}

.ast-site-identity .site-title,
.ast-site-identity .ast-site-title-wrap,
.ast-site-identity .site-description {
	display: none !important;
}

.ast-site-logo .custom-logo,
.ast-header-custom-item .custom-logo,
.ast-site-identity .custom-logo {
	max-height: 68px !important;
	width:      auto !important;
}

.ast-builder-menu-1 .menu-item > .menu-link,
.ast-builder-menu-1 .menu-item > a,
.ast-primary-menu-area .menu-item > a,
.ast-primary-menu-area .menu-item > .menu-link {
	color:          #FFFFFF !important;
	font-family:    var( --psg-font-body );
	font-size:      var( --psg-text-sm );
	font-weight:    500;
	letter-spacing: 0.01em;
}

.ast-builder-menu-1 .menu-item:hover > .menu-link,
.ast-builder-menu-1 .menu-item:hover > a,
.ast-builder-menu-1 .menu-item.current-menu-item > .menu-link,
.ast-builder-menu-1 .menu-item.current-menu-item > a,
.ast-builder-menu-1 .menu-item.current-menu-ancestor > .menu-link,
.ast-builder-menu-1 .menu-item.current-menu-ancestor > a,
.ast-primary-menu-area .menu-item:hover > a,
.ast-primary-menu-area .menu-item:hover > .menu-link,
.ast-primary-menu-area .menu-item.current-menu-item > a,
.ast-primary-menu-area .menu-item.current-menu-item > .menu-link,
.ast-primary-menu-area .menu-item.current-menu-ancestor > a {
	color: var( --psg-color-accent ) !important;
}

.ast-builder-menu-1 .sub-menu,
.ast-primary-menu-area .sub-menu {
	background-color: var( --psg-color-dark );
	border-top:       2px solid var( --psg-color-accent );
	box-shadow:       var( --psg-shadow-lg );
}

.ast-builder-menu-1 .sub-menu .menu-item > .menu-link,
.ast-builder-menu-1 .sub-menu .menu-item > a,
.ast-primary-menu-area .sub-menu .menu-item > a {
	color: rgba( 255, 255, 255, .80 ) !important;
}

.ast-builder-menu-1 .sub-menu .menu-item:hover > .menu-link,
.ast-builder-menu-1 .sub-menu .menu-item:hover > a,
.ast-primary-menu-area .sub-menu .menu-item:hover > a {
	color:            var( --psg-color-accent ) !important;
	background-color: rgba( 255, 255, 255, .04 ) !important;
}

/* Fix 1 — single-row nav at all desktop widths */
@media ( min-width: 1101px ) {
	.main-header-menu.ast-flex,
	.main-header-menu {
		flex-wrap: nowrap !important;
	}
}

/* Fix 2 — compact item spacing at narrow desktop (1101–1280px)
   gives comfortable slack for 6–7 nav items without visual compromise. */
@media ( min-width: 1101px ) and ( max-width: 1280px ) {
	.ast-builder-menu-1 .menu-item > .menu-link,
	.ast-builder-menu-1 .menu-item > a,
	.ast-primary-menu-area .menu-item > a,
	.ast-primary-menu-area .menu-item > .menu-link {
		padding-left:   10px !important;
		padding-right:  10px !important;
		font-size:      13px !important;
		letter-spacing: 0 !important;
	}
	.ast-header-button-1 .ast-custom-button,
	.ast-header-button-1 a.ast-custom-button {
		padding-left:  14px !important;
		padding-right: 14px !important;
	}
}

.menu-item-cta > a,
.menu-item-cta > .menu-link {
	display:          inline-block !important;
	background-color: var( --psg-color-accent ) !important;
	color:            var( --psg-color-primary ) !important;
	border-radius:    var( --psg-radius-full ) !important;
	padding:          0.5rem 1.375rem !important;
	font-weight:      700 !important;
	font-size:        var( --psg-text-sm ) !important;
	line-height:      1.4 !important;
	margin-left:      var( --psg-space-xs ) !important;
	transition:       background-color var( --psg-transition ),
	                  transform var( --psg-transition ) !important;
}

.menu-item-cta > a:hover,
.menu-item-cta > .menu-link:hover {
	background-color: var( --psg-color-accent-dark ) !important;
	color:            var( --psg-color-primary ) !important;
	transform:        translateY( -1px ) !important;
}

#ast-mobile-header .menu-toggle,
#ast-mobile-header .ast-mobile-menu-trigger-minimal,
#ast-mobile-header .ast-button-wrap button {
	color: var( --psg-color-text-light ) !important;
}

#ast-mobile-header .ast-mobile-svg,
#ast-mobile-header .ast-mobile-svg path {
	fill: var( --psg-color-text-light ) !important;
}

#ast-mobile-header .mobile-menu-toggle-icon__label {
	color: var( --psg-color-text-light ) !important;
}

@media ( max-width: 1100px ) {
	.menu-item-cta {
		margin-top: var( --psg-space-xs );
	}

	.menu-item-cta > a {
		display:    block !important;
		text-align: center !important;
		margin-left: 0 !important;
	}
}

/* ==========================================================================
   Footer — dark multi-column layout + Astra bottom bar override
   ========================================================================== */

/* Astra Pro HFB 4.x — below-footer builder row */
.site-below-footer-wrap,
.ast-builder-footer-grid-columns,
.site-footer-below-section-1,
/* Legacy selectors kept for compatibility */
.ast-footer-bar {
	background-color: var( --psg-color-bg-dark ) !important;
	border-top:       1px solid rgba( 255, 255, 255, .08 ) !important;
	padding:          var( --psg-space-sm ) 0 !important;
}

.ast-builder-layout-element.ast-footer-copyright,
.ast-footer-copyright,
.ast-footer-bar .ast-footer-copyright {
	color:     rgba( 255, 255, 255, .70 ) !important;
	font-size: var( --psg-text-xs ) !important;
}

.ast-footer-copyright a,
.site-below-footer-wrap a {
	color: rgba( 255, 255, 255, .75 ) !important;
}

.psg-footer {
	background-color: var( --psg-color-bg-dark );
	color:            rgba( 255, 255, 255, .85 );
	padding:          var( --psg-space-2xl ) 0 var( --psg-space-xl );
	border-top:       3px solid var( --psg-color-accent );
}

.psg-footer__inner {
	max-width: var( --psg-container );
	margin:    0 auto;
	padding:   0 var( --psg-space-lg );
	display:   grid;
	grid-template-columns: 1.4fr 1fr 1fr;
	gap:       var( --psg-space-xl );
	align-items: start;
}

.psg-footer__company {
	font-family: var( --psg-font-heading );
	font-size:   var( --psg-text-2xl );
	font-weight: 700;
	color:       var( --psg-color-text-light );
	margin:      0 0 var( --psg-space-xs );
}

.psg-footer__tagline {
	font-size:   var( --psg-text-sm );
	color:       rgba( 255, 255, 255, .70 );
	margin:      0 0 var( --psg-space-sm );
	line-height: 1.5;
}

.psg-footer__badge {
	display:        flex;
	flex-direction: column;
	gap:            0.35rem;
	margin:         0;
	list-style:     none;
	padding-left:   0;
}

.psg-footer__badge li {
	display:     flex;
	align-items: baseline;
	gap:         0.45rem;
	font-size:   var( --psg-text-sm );
	font-weight: 600;
	color:       rgba( 255, 255, 255, .85 );
	letter-spacing: 0.02em;
}

footer.psg-footer .psg-footer__badge li .psg-footer__check {
	color:       #EFC900 !important;
	font-weight: 700;
	flex-shrink: 0;
	line-height: 1;
}

.psg-footer__heading {
	font-family:    var( --psg-font-heading );
	font-size:      var( --psg-text-sm );
	font-weight:    700;
	color:          var( --psg-color-text-light );
	text-transform: uppercase;
	letter-spacing: 0.08em;
	margin:         0 0 var( --psg-space-sm );
	padding-bottom: 0.5rem;
	border-bottom:  1px solid rgba( 255, 255, 255, .12 );
}

.psg-footer__list {
	list-style: none;
	margin:     0;
	padding:    0;
}

.psg-footer__list li {
	margin-bottom: 0.5rem;
}

.psg-footer__list a {
	color:       rgba( 255, 255, 255, .75 );
	font-size:   var( --psg-text-sm );
	transition:  color var( --psg-transition );
}

.psg-footer__list a:hover {
	color: var( --psg-color-accent );
}

.psg-footer__address {
	font-style: normal;
	margin:     0 0 var( --psg-space-sm );
}

.psg-footer__address p {
	margin:    0 0 0.375rem;
	font-size: var( --psg-text-sm );
	color:     rgba( 255, 255, 255, .80 );
}

.psg-footer__phone {
	color:       var( --psg-color-text-light );
	font-weight: 700;
	font-size:   var( --psg-text-lg );
}

.psg-footer__phone:hover {
	color: var( --psg-color-accent );
}

.psg-footer__email {
	color: rgba( 255, 255, 255, .75 );
}

.psg-footer__email:hover {
	color: var( --psg-color-accent );
}

.psg-footer__hours {
	color:       var( --psg-color-accent );
	font-weight: 600;
}

.psg-footer__cta {
	display:          inline-block;
	background-color: var( --psg-color-accent );
	color:            var( --psg-color-primary ) !important;
	font-weight:      700;
	font-size:        var( --psg-text-sm );
	padding:          0.625rem 1.375rem;
	border-radius:    var( --psg-radius-full );
	margin-top:       var( --psg-space-sm );
	transition:       background-color var( --psg-transition ),
	                  transform var( --psg-transition );
}

.psg-footer__cta:hover {
	background-color: var( --psg-color-accent-dark );
	color:            var( --psg-color-primary ) !important;
	transform:        translateY( -1px );
}

@media ( max-width: 767px ) {
	.psg-footer__inner {
		grid-template-columns: 1fr;
		gap:     var( --psg-space-lg );
		padding: 0 var( --psg-space-sm );
	}
}

@media ( min-width: 768px ) and ( max-width: 1023px ) {
	.psg-footer__inner {
		grid-template-columns: 1fr 1fr;
		gap: var( --psg-space-lg );
	}

	.psg-footer__col--brand {
		grid-column: 1 / -1;
	}
}

/* Legacy fallback selectors — pre-HFB Astra footer classes */
.footer-bar-wrap,
.ast-small-footer,
.footer-bar-align {
	background-color: var( --psg-color-bg-dark ) !important;
	color:            rgba( 255, 255, 255, .70 ) !important;
	border-top:       1px solid rgba( 255, 255, 255, .08 );
}
.ast-small-footer a,
.footer-bar-align a {
	color: rgba( 255, 255, 255, .75 );
}

/* Astra Pro HFB 4.x — below-footer / copyright strip */
.site-below-footer-wrap,
.ast-builder-footer-grid-columns,
.site-footer-below-section-1,
.ast-site-below-footer-wrap {
	background-color: var( --psg-color-dark ) !important;
	border-top:       1px solid rgba( 255, 255, 255, .08 ) !important;
	padding:          var( --psg-space-sm ) 0 !important;
}

.site-below-footer-wrap,
.site-below-footer-wrap p,
.site-below-footer-wrap span,
.site-below-footer-wrap div,
.ast-builder-footer-grid-columns,
.ast-builder-footer-grid-columns p,
.ast-builder-footer-grid-columns span,
.ast-builder-footer-grid-columns div {
	color: rgba( 255, 255, 255, .70 ) !important;
}

.site-below-footer-wrap a,
.ast-builder-footer-grid-columns a {
	color: rgba( 255, 255, 255, .75 ) !important;
}

/* Home page — suppress header box-shadow over matching-navy hero */
.home #masthead,
.home .site-header,
.home .main-header-bar,
.home .ast-primary-header-bar {
	box-shadow: none !important;
}

/* Page builder template — remove Astra content wrapper padding
   and hide empty page-title banner (ast-normal-title-enabled adds it)
   that creates a gap between sticky header and first Elementor section */
.ast-page-builder-template .site-content,
.ast-page-builder-template .ast-container,
.ast-page-builder-template .entry-content,
.ast-page-builder-template .ast-article-single,
.ast-page-builder-template .site-main,
.ast-page-builder-template #primary,
.ast-page-builder-template .content-area,
.elementor-page .entry-content,
.elementor-page .ast-article-single,
.elementor-page .site-main,
.home .entry-content,
.home .site-main,
.home #content,
.home #primary,
.page-id-8 .entry-content,
.page-id-8 .site-main {
	padding-top:    0 !important;
	margin-top:     0 !important;
	padding-bottom: 0 !important;
}

/* Hide the empty Astra page-title wrapper on Elementor page-builder pages */
.ast-page-builder-template .entry-header,
.ast-page-builder-template .ast-page-header-wrap,
.ast-page-builder-template .page-header,
.elementor-page .entry-header,
.elementor-page .ast-page-header-wrap,
.home .entry-header,
.home .page-header {
	display: none !important;
}

/* ==========================================================================
   ACCESSIBILITY: Contrast overrides — Phase 4.5
   ========================================================================== */

[style*="background: #ffffff"] p[style*="color: #EFC900"],
[style*="background: #f8f9fa"] p[style*="color: #EFC900"],
[style*="background: #FFFFFF"] p[style*="color: #EFC900"],
[style*="background: #F8F9FA"] p[style*="color: #EFC900"] {
	color: #8B6600 !important;
}

/* ==========================================================================
   ACCESSIBILITY: Minimum touch-target size — Phase 4.5
   ========================================================================== */

a[href^="tel:"],
a[href^="mailto:"] {
	display:     inline-flex;
	align-items: center;
	min-height:  44px;
}

.ast-header-html-code .ast-inline-flex li a,
.main-header-bar .main-navigation li > a {
	padding-top:    7px;
	padding-bottom: 7px;
}

/* ==========================================================================
   Responsive: fix 2-column inline CSS-grid layouts on mobile.
   ========================================================================== */

@media ( max-width: 767px ) {

	.page-id-58 .elementor-widget-text-editor [style*="padding:64px 40px"] {
		padding: 32px 16px !important;
	}

	.page-id-58 .elementor-widget-text-editor [style*="grid-template-columns:1fr 1.2fr"] {
		grid-template-columns: 1fr !important;
		gap:                   28px !important;
	}

	.page-id-59 .elementor-widget-text-editor [style*="padding:64px 40px"] {
		padding: 32px 16px !important;
	}

	.page-id-59 .elementor-widget-text-editor [style*="grid-template-columns:1.4fr 1fr"] {
		grid-template-columns: 1fr !important;
		gap:                   28px !important;
	}

	.page-id-59 .elementor-widget-text-editor [style*="display:flex"][style*="gap:40px"] {
		gap:          16px !important;
		flex-wrap:    wrap !important;
		justify-content: center !important;
	}

}

@media ( max-width: 767px ) {

	.page-id-8 .elementor-widget-text-editor [style*="grid-template-columns: repeat(2, 1fr)"] {
		grid-template-columns: 1fr !important;
		gap:                   28px !important;
	}

	.page-id-48 .elementor-widget-text-editor [style*="grid-template-columns:repeat(3,1fr)"] {
		grid-template-columns: 1fr !important;
	}
	.page-id-48 .elementor-widget-text-editor [style*="grid-template-columns:repeat(4,1fr)"] {
		grid-template-columns: 1fr 1fr !important;
	}

	.page-id-56 .elementor-widget-text-editor [style*="grid-template-columns:1fr 1fr"] {
		grid-template-columns: 1fr !important;
		gap:                   32px !important;
	}
	.page-id-56 .elementor-widget-text-editor [style*="padding:72px 40px"],
	.page-id-56 .elementor-widget-text-editor [style*="padding:56px 40px"] {
		padding-left:  20px !important;
		padding-right: 20px !important;
	}

	.page-id-55 .elementor-widget-text-editor [style*="grid-template-columns:1fr 1fr"] {
		grid-template-columns: 1fr !important;
		gap:                   32px !important;
	}
	.page-id-55 .elementor-widget-text-editor [style*="grid-template-columns:repeat(3,1fr)"] {
		grid-template-columns: 1fr !important;
	}
	.page-id-55 .elementor-widget-text-editor [style*="grid-template-columns:repeat(2,1fr)"] {
		grid-template-columns: 1fr !important;
	}

}

.page-id-55 .elementor-widget-text-editor [style*="list-style:none"][style*="color:#6B7280"] li {
	color: #374151 !important;
}

[style*="background: #ffffff"] a[style*="color: #EFC900"],
[style*="background: #f8f9fa"] a[style*="color: #EFC900"],
[style*="background: #ffffff"] a[style*="color: #efc900"],
[style*="background: #f8f9fa"] a[style*="color: #efc900"],
[style*="background: #FFFFFF"] a[style*="color: #EFC900"],
[style*="background: #F8F9FA"] a[style*="color: #EFC900"] {
	color: #8B6600 !important;
}

/* ============================================================
   Get a Free Estimate — nav CTA button
   Compact yellow pill; text is ALWAYS navy for contrast —
   including on hover and when on the /get-estimate/ page.
   ============================================================ */

/* 1. Constrain the li to button height — no full-nav-bar fill */
li.psg-nav-cta {
	display:     inline-flex !important;
	align-items: center !important;
	align-self:  center !important;
	padding:     0 !important;
}

/* 2. The anchor itself — button-sized, not block-filling */
.psg-nav-cta > a.menu-link,
.psg-nav-cta > a {
	display:          inline-block !important;
	background-color: var(--psg-color-accent) !important;
	color:            var(--psg-color-primary) !important;
	border-radius:    4px !important;
	font-weight:      700 !important;
	padding:          0.45rem 1rem !important;
	line-height:      1.4 !important;
	transition:       background-color 0.2s ease !important;
}

/* 3. Hover — override general nav hover rule that turns text yellow */
.psg-nav-cta > a.menu-link:hover,
.psg-nav-cta > a:hover,
.ast-builder-menu-1 li.psg-nav-cta:hover > .menu-link,
.ast-builder-menu-1 li.psg-nav-cta:hover > a,
.ast-primary-menu-area li.psg-nav-cta:hover > a,
.ast-primary-menu-area li.psg-nav-cta:hover > .menu-link {
	background-color: var(--psg-color-accent-dark) !important;
	color:            var(--psg-color-primary) !important;
}

/* 4. Active/current page — override current-menu-item yellow-text rule */
.ast-builder-menu-1 li.psg-nav-cta.current-menu-item > .menu-link,
.ast-builder-menu-1 li.psg-nav-cta.current-menu-item > a,
.ast-primary-menu-area li.psg-nav-cta.current-menu-item > a,
.ast-primary-menu-area li.psg-nav-cta.current-menu-item > .menu-link,
li.psg-nav-cta.current-menu-item > a.menu-link,
li.psg-nav-cta.current-menu-item > a {
	background-color: var(--psg-color-accent) !important;
	color:            var(--psg-color-primary) !important;
}

@media ( min-width: 1101px ) and ( max-width: 1280px ) {
	.psg-nav-cta > a.menu-link,
	.psg-nav-cta > a {
		padding-left:  8px  !important;
		padding-right: 8px  !important;
		font-size:     12px !important;
	}
}

/* ============================================================
   Footer gap fix
   Zero out any bottom padding/margin Astra or WooCommerce adds
   below the footer (white box issue).
   ============================================================ */
#page,
.ast-container,
.site-content,
.site-main,
#content,
.ast-site-main-content,
.entry-content-wrap,
.ast-main-content-area {
	padding-bottom: 0 !important;
	margin-bottom:  0 !important;
}
body {
	margin-bottom: 0 !important;
}

/* Elementor sections — strip any rogue bottom spacing on the last section */
.elementor-top-section:last-of-type,
.elementor-section:last-of-type,
.e-con:last-of-type {
	margin-bottom:  0 !important;
	padding-bottom: 0 !important;
}
