/*new header styling*/
#site-title {
	text-align: center;
	margin-left: 0;
	padding-left: 2%;
	padding-right: 2%
}

#branding hgroup {
	margin-left:0;
	margin-right:0;
}

#site-description {
	color:#2b4e72;
	float:left;
	font-size:30px;
	margin:0;
	width:100%;
	text-align:center;
	box-sizing: border-box;
	padding-left: 2%;
	padding-right: 2%;
}
.wf-active #site-description {
	font-size:30px
}
@media screen and (max-width: 767px) {
	#site-description {
		margin-top:0;
	}
	hgroup {
		height:100px;
	}
	#access li a {
		line-height:1.7
	}
	#access ul ul {
		top:1.5em
	}
}
@media screen and (max-width: 600px) {
	.wf-active #site-description {
		font-size: 24px;
		margin-left: 0;
		margin-right: 0;
		padding-left: 2%;
		padding-right: 2%;
		box-sizing:  border-box;
	}
}
@media screen and (max-width: 480px) {
	.wf-active #site-description {
		font-size: 18px;
	}
	.wf-active #site-title a {
		font-size: 60px;
	}
	hgroup {
		height: 110px;
	}
}
@media screen and (max-width: 375px) {
	.wf-active #site-title a {
		font-size:45px;
		text-align:center;
	}
	.wf-active #site-description {
		font-size:16px;
		text-align:center;
	}
}
@media screen and (max-width: 360px) {
	.wf-active #site-description {
		font-size: 14px;
	}
	hgroup {
		height: 100px
	}
}
.instant-quote-button a {
    background-color: red;
    color: white !important;
    padding: 10px 15px;
    border-radius: 5px;
}


@media screen and (max-width: 360px) {
	.wf-active #site-title a {
		font-size:180%;
		text-align:center
	}
	.wf-active #site-description {
		font-size:22px;
		text-align:center
	}
	/* Add space between header and page content for all pages */
#content.site-content {
    padding-top: 100px !important;
}

/* Adjust the spacing for mobile devices */
@media (max-width: 768px) {
    #content.site-content {
        padding-top: 40px !important;
    }
html {
  scroll-behavior: smooth;
}

#open-positions {
  scroll-margin-top: 580px;
}
}
}
/* Desktop */
@media (min-width: 1024px) {
  .elementor-section:first-of-type {
      padding-top: 180px !important;
  }
}

/* Tablet */
@media (max-width: 1023px) {
  .elementor-section:first-of-type {
      padding-top: 140px !important;
  }
}

/* Mobile */
@media (max-width: 767px) {
  .elementor-section:first-of-type {
      padding-top: 120px !important;
  }
}
/* ===== DROPDOWN WIDTH FIX (ASTRA) ===== */
.main-header-menu .sub-menu {
    width: 100px !important; /* adjust this number */
    min-width: 200px !important;
}

/* Improve spacing + readability */
.main-header-menu .sub-menu li a {
    padding: 10px 15px;
    white-space: normal;
}
.hover-section:hover {
    transform: scale(1.03);
}
}
/* Base style */
.hover-section {
    transition: all 0.3s ease;
}

/* Hover effect */
.hover-section:hover {
    transform: translateY(-5px); /* lifts section */
  
}
/* Icon base style */
.icon-hover {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
    transition: all 0.3s ease;
}

/* Hover effect */
.icon-hover:hover {
    background-color: #c9d8f4;
    border-radius: 50%;
}

/* Optional: make icon white on hover */
.icon-hover:hover i,
.icon-hover:hover svg {
    color: #ffffff;
    fill: #ffffff;
}
/* FORCE TRUE EDGE-TO-EDGE ON MOBILE */
@media (max-width: 768px) {

    /* Kill ALL side spacing from Astra wrappers */
    body,
    .site,
    .site-content,
    .ast-container,
    .ast-container-fluid,
    .entry-content {
        margin: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    /* Remove any max-width restrictions */
    .ast-container,
    .ast-container-fluid {
        max-width: 100% !important;
        width: 100% !important;
    }

    /* FORCE sections to bleed edge-to-edge */
    .wp-block-group.alignfull,
    .alignfull {
        width: 100vw !important;
        max-width: 100vw !important;
        margin-left: calc(-50vw + 50%) !important;
        margin-right: calc(-50vw + 50%) !important;
    }
}
/* ===== AREA CARD BASE ===== */
.area-card {
    display: flex;
    align-items: center;
    gap: 12px;

    background: #f3f5f7;
    padding: 16px 20px;
    border-radius: 12px;

    transition: all 0.3s ease;

    /* base shadow */
    box-shadow: 0 3px 8px rgba(0,0,0,0.05);
}

/* ===== HOVER EFFECT ===== */
.area-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 25px rgba(0,0,0,0.15);
}

/* ===== ICON ===== */
.area-card .icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 36px;
    height: 36px;

    background: #dbe6ee;
    border-radius: 8px;

    transition: all 0.3s ease;
}

/* ICON HOVER */
.area-card:hover .icon {
    background: #6691dd;
    color: #fff;
    transform: scale(1.1);
}