/*
Theme Name: I G & P Consulting
Theme URI: $
Template: hello-elementor
Author: Kavinda Dilshan
Author URI: #
Description: IG&P Consulting is a professional advisory firm dedicated to helping businesses accelerate growth through strategic consulting services. The company provides expertise in capital raise advisory, business optimization, fractional talent placement, sales representation, and marketing services. With a focus on integrity, growth, and performance, IG&P partners with clients to strengthen strategy, drive revenue, and build scalable business systems that deliver long-term success.
Tags: business,consulting,corporate,professional-services,marketing,finance,advisory,fractional-talent,capital-raise,business-optimization,responsive-layout,custom-logo,custom-menu,featured-images,translation-ready,clean-design,seo-friendly,modern-layout,testimonials,contact-form,blog,team-section
Version: 1.0.0
Updated: 2025-10-30 12:00:00

*/

/*--------------------------------------------------------------
# Scroll Margin
--------------------------------------------------------------*/
:target {
	scroll-margin-top: 100px !important;
}

/*--------------------------------------------------------------
# Overlay Pseudo Elements
--------------------------------------------------------------*/
.overlay-before::before, .overlay-after::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

/*--------------------------------------------------------------
# Hero Section Sub Pages
--------------------------------------------------------------*/
.hero-alt::before {
	background: linear-gradient(180deg, transparent 0%, var(--e-global-color-85dc433) 100%);
}

/*--------------------------------------------------------------
# Grow Now - Button
--------------------------------------------------------------*/
.elementor-button {
	background-color: var(--e-global-color-primary) !important;
	color: var(--e-global-color-0c35808) !important;
	fill: var(--e-global-color-0c35808) !important;
	border-color: var(--e-global-color-primary) !important;
}
.elementor-button:hover {
	background-color: color-mix(in srgb, var(--e-global-color-primary) 85%, black) !important;
	color: var(--e-global-color-0c35808) !important;
	fill: var(--e-global-color-0c35808) !important;
	border-color: color-mix(in srgb, var(--e-global-color-primary) 85%, black) !important;
}
.elementor-button:active {
	background-color: color-mix(in srgb, var(--e-global-color-primary) 70%, black) !important;
	color: var(--e-global-color-0c35808) !important;
	fill: var(--e-global-color-0c35808) !important;
	border-color: color-mix(in srgb, var(--e-global-color-primary) 70%, black) !important;
}
.elementor-button-icon {
	display: flex;
}

/*--------------------------------------------------------------
# Grow Now Lite - Button
--------------------------------------------------------------*/
.custom-btn-grownow-lite .elementor-button {
	background-color: transparent !important;
	color: var(--e-global-color-primary) !important;
	fill: var(--e-global-color-primary) !important;
	border-color: var(--e-global-color-primary) !important;
}
.custom-btn-grownow-lite .elementor-button:hover {
	background-color: color-mix(in srgb, var(--e-global-color-primary) 10%, transparent) !important;
	color: var(--e-global-color-primary) !important;
	fill: var(--e-global-color-primary) !important;
	border-color: var(--e-global-color-primary) !important;
}
.custom-btn-grownow-lite .elementor-button:active {
	background-color: color-mix(in srgb, var(--e-global-color-primary) 20%, transparent) !important;
	color: var(--e-global-color-primary) !important;
	fill: var(--e-global-color-primary) !important;
	border-color: var(--e-global-color-primary) !important;
}

/*--------------------------------------------------------------
# Act Fast - Button
--------------------------------------------------------------*/
.custom-btn-actfast .elementor-button {
	background-color: var(--e-global-color-secondary) !important;
	color: var(--e-global-color-0c35808) !important;
	fill: var(--e-global-color-0c35808) !important;
	border-color: var(--e-global-color-secondary) !important;
}
.custom-btn-actfast .elementor-button:hover {
	background-color: color-mix(in srgb, var(--e-global-color-secondary) 85%, black) !important;
	color: var(--e-global-color-0c35808) !important;
	fill: var(--e-global-color-0c35808) !important;
	border-color: color-mix(in srgb, var(--e-global-color-secondary) 85%, black) !important;
}
.custom-btn-actfast .elementor-button:active {
	background-color: color-mix(in srgb, var(--e-global-color-secondary) 70%, black) !important;
	color: var(--e-global-color-0c35808) !important;
	fill: var(--e-global-color-0c35808) !important;
	border-color: color-mix(in srgb, var(--e-global-color-secondary) 70%, black) !important;
}

/*--------------------------------------------------------------
# Act Fast Lite - Button
--------------------------------------------------------------*/
.custom-btn-actfast-lite .elementor-button {
	background-color: transparent !important;
	color: var(--e-global-color-secondary) !important;
	fill: var(--e-global-color-secondary) !important;
	border-color: var(--e-global-color-secondary) !important;
}
.custom-btn-actfast-lite .elementor-button:hover {
	background-color: color-mix(in srgb, var(--e-global-color-secondary) 10%, transparent) !important;
	color: var(--e-global-color-secondary) !important;
	fill: var(--e-global-color-secondary) !important;
	border-color: var(--e-global-color-secondary) !important;
}
.custom-btn-actfast-lite .elementor-button:active {
	background-color: color-mix(in srgb, var(--e-global-color-secondary) 20%, transparent) !important;
	color: var(--e-global-color-secondary) !important;
	fill: var(--e-global-color-secondary) !important;
	border-color: var(--e-global-color-secondary) !important;
}

/*--------------------------------------------------------------
# Clear Path - Button
--------------------------------------------------------------*/
.custom-btn-clearpath .elementor-button {
	background-color: var(--e-global-color-0c35808) !important;
	color: var(--e-global-color-85dc433) !important;
	fill: var(--e-global-color-85dc433) !important;
	border-color: var(--e-global-color-0c35808) !important;
}
.custom-btn-clearpath .elementor-button:hover {
	background-color: color-mix(in srgb, var(--e-global-color-0c35808) 85%, black) !important;
	color: var(--e-global-color-85dc433) !important;
	fill: var(--e-global-color-85dc433) !important;
	border-color: color-mix(in srgb, var(--e-global-color-0c35808) 85%, black) !important;
}
.custom-btn-clearpath .elementor-button:active {
	background-color: color-mix(in srgb, var(--e-global-color-0c35808) 70%, black) !important;
	color: var(--e-global-color-85dc433) !important;
	fill: var(--e-global-color-85dc433) !important;
	border-color: color-mix(in srgb, var(--e-global-color-0c35808) 70%, black) !important;
}

/*--------------------------------------------------------------
# Clear Path Lite - Button
--------------------------------------------------------------*/
.custom-btn-clearpath-lite .elementor-button {
	background-color: transparent !important;
	color: var(--e-global-color-0c35808) !important;
	fill: var(--e-global-color-0c35808) !important;
	border-color: var(--e-global-color-0c35808) !important;
}
.custom-btn-clearpath-lite .elementor-button:hover {
	background-color: color-mix(in srgb, var(--e-global-color-0c35808) 15%, transparent) !important;
	color: var(--e-global-color-0c35808) !important;
	fill: var(--e-global-color-0c35808) !important;
	border-color: var(--e-global-color-0c35808) !important;
}
.custom-btn-clearpath-lite .elementor-button:active {
	background-color: color-mix(in srgb, var(--e-global-color-0c35808) 25%, transparent) !important;
	color: var(--e-global-color-0c35808) !important;
	fill: var(--e-global-color-0c35808) !important;
	border-color: var(--e-global-color-0c35808) !important;
}

/*--------------------------------------------------------------
# Trust Edge - Button
--------------------------------------------------------------*/
.custom-btn-trustedge .elementor-button {
	background-color: var(--e-global-color-85dc433) !important;
	color: var(--e-global-color-0c35808) !important;
	fill: var(--e-global-color-0c35808) !important;
	border-color: var(--e-global-color-85dc433) !important;
}
.custom-btn-trustedge .elementor-button:hover {
	background-color: color-mix(in srgb, var(--e-global-color-85dc433) 85%, white) !important;
	color: var(--e-global-color-0c35808) !important;
	fill: var(--e-global-color-0c35808) !important;
	border-color: color-mix(in srgb, var(--e-global-color-85dc433) 85%, white) !important;
}
.custom-btn-trustedge .elementor-button:active {
	background-color: color-mix(in srgb, var(--e-global-color-85dc433) 70%, white) !important;
	color: var(--e-global-color-0c35808) !important;
	fill: var(--e-global-color-0c35808) !important;
	border-color: color-mix(in srgb, var(--e-global-color-85dc433) 70%, white) !important;
}

/*--------------------------------------------------------------
# Trust Edge Lite - Button
--------------------------------------------------------------*/
.custom-btn-trustedge-lite .elementor-button {
	background-color: transparent !important;
	color: var(--e-global-color-85dc433) !important;
	fill: var(--e-global-color-85dc433) !important;
	border-color: var(--e-global-color-85dc433) !important;
}
.custom-btn-trustedge-lite .elementor-button:hover {
	background-color: color-mix(in srgb, var(--e-global-color-85dc433) 10%, transparent) !important;
	color: var(--e-global-color-85dc433) !important;
	fill: var(--e-global-color-85dc433) !important;
	border-color: var(--e-global-color-85dc433) !important;
}
.custom-btn-trustedge-lite .elementor-button:active {
	background-color: color-mix(in srgb, var(--e-global-color-85dc433) 20%, transparent) !important;
	color: var(--e-global-color-85dc433) !important;
	fill: var(--e-global-color-85dc433) !important;
	border-color: var(--e-global-color-85dc433) !important;
}

/*--------------------------------------------------------------
# Split Section Left
--------------------------------------------------------------*/
.split-section-left {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	position: sticky;
	top: var(--header-height);
	min-height: 650px;
}
.split-section-left .image-wrap {
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 50%;
	padding: 46px 46px 46px 5%;
	background-color: var(--e-global-color-accent);
}
.split-section-left .image {
	aspect-ratio: 4 / 3;
}
.split-section-left .image::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	border-radius: 24px;
	border: 5px solid rgba(255, 255, 255, 0.15);
	z-index: 10;
}
.split-section-left .content {
	display: flex;
	flex-direction: column;
	justify-content: start;
	width: 50%;
	gap: 16px;
	padding: 46px 5% 46px 46px;
	background-color: var(--e-global-color-0c35808);
}
@media (max-width: 1024px) {
	.split-section-left {
		position: inherit;
		top: inherit;
	}
	.split-section-left .image-wrap {
		padding: 46px 5%;
		width: 100%;
	}
	.split-section-left .content {
		padding: 46px 5%;
		width: 100%;
	}
}
@media (max-width: 767px) {
	.split-section-left .image-wrap {
		padding: 40px 5% 40px 5%;
	}
	.split-section-left .content {
		padding: 20px 5% 40px 5%;
	}
}
.split-section-left .elementor-icon {
	display: flex;
}

/*--------------------------------------------------------------
# Split Section Right
--------------------------------------------------------------*/
.split-section-right {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	position: sticky;
	top: var(--header-height);
	min-height: 650px;
}
.split-section-right .image-wrap {
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 50%;
	padding: 46px 5% 46px 46px;
	background-color: var(--e-global-color-accent);
}
.split-section-right .image {
	aspect-ratio: 4 / 3;
}
.split-section-right .image::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	border-radius: 24px;
	border: 5px solid rgba(255, 255, 255, 0.15);
	z-index: 10;
}
.split-section-right .content {
	display: flex;
	flex-direction: column;
	justify-content: start;
	width: 50%;
	gap: 16px;
	padding: 46px 46px 46px 5%;
	background-color: var(--e-global-color-0c35808);
}
@media (max-width: 1024px) {
	.split-section-right {
		position: inherit;
		top: inherit;
	}
	.split-section-right .image-wrap {
		padding: 46px 5%;
		width: 100%;
	}
	.split-section-right .content {
		padding: 46px 5%;
		width: 100%;
	}
}
@media (max-width: 767px) {
	.split-section-right .image-wrap {
		padding: 40px 5% 40px 5%;
	}
	.split-section-right .content {
		padding: 20px 5% 40px 5%;
	}
}
.split-section-right .elementor-icon {
	display: flex;
}

/*--------------------------------------------------------------
# Breadcrumb Section
--------------------------------------------------------------*/
.breadcrumb {
	padding-top: 80px;
	background: linear-gradient(to bottom, var(--e-global-color-primary), var(--e-global-color-secondary));
}
@media (max-width: 1024px) and (min-width: 768px) {
	.breadcrumb {
		padding-top: 60px;
	}
}
@media (max-width: 767px) {
	.breadcrumb {
		padding-top: 40px;
	}
}
.breadcrumb .image {
	width: 90%;
	max-width: 680px;
	aspect-ratio: 8 / 5;
	border-radius: 24px;
	box-shadow: rgba(0, 0, 0, 0.09) 0px 2px 1px, rgba(0, 0, 0, 0.09) 0px 4px 2px, rgba(0, 0, 0, 0.09) 0px 8px 4px, rgba(0, 0, 0, 0.09) 0px 16px 8px, rgba(0, 0, 0, 0.09) 0px 32px 16px;
}
@media (min-width: 768px) {
	.breadcrumb .image {
		margin-bottom: -80px;
	}
}
@media (max-width: 767px) {
	.breadcrumb .image {
		margin-bottom: -60px;
	}
}
.breadcrumb .image::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	border-radius: 24px;
	border: 5px solid rgba(255, 255, 255, 0.15);
	z-index: 10;
}

/*--------------------------------------------------------------
# Service Card
--------------------------------------------------------------*/
.service-card {
	padding: 24px 16px;
	border: 1px solid rgba(255, 255, 255, 0.1);
	gap: 16px;
	text-align: center;
	flex-direction: column;
	justify-content: space-between;
	cursor: pointer;
	transition: padding 0.5s ease, border 0.5s ease;
}
.service-card:hover {
	padding: 32px 16px 16px 16px;
	border: 1px solid rgba(255, 255, 255, 0.2);	
}
.service-card h4 {
	color: var(--e-global-color-0c35808) !important;
}
.service-card p {
	color: var(--e-global-color-0c35808);
	font-size: 14px;
}

/*--------------------------------------------------------------
# Check List
--------------------------------------------------------------*/
.check-list {
	display: flex;
	flex-direction: row !important;
	justify-content: start;
	overflow: hidden;
	border-radius: 12px;
	box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px;
	cursor: pointer;
	transition: width 0.5s ease, margin 0.5s ease;
}
.check-list .check-icon-box {
	padding: 14px 12px;
	width: 54px;
	display: flex;
	flex-direction: row !important;
	justify-content: center;
	align-items: center;
	background-color: var(--e-global-color-secondary);
	transition: background 0.3s ease;
}
.check-list:hover {
	margin-left: 8px;
	width: calc(100% - 8px);
}
.check-list:hover .check-icon-box {
	background-color: var(--e-global-color-85dc433);
}
.check-icon-box .elementor-icon {
	display: flex;
	fill: var(--e-global-color-0c35808);
}
.check-content {
	padding: 8px 16px;
	color: var(--e-global-color-0c35808);
}
.check-content h6 {
	font-weight: 500 !important;
}

/*--------------------------------------------------------------
# Resources Card
--------------------------------------------------------------*/
.reps-card {
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	justify-content: center;
	align-self: center;
	gap: 24px;
	width: 100%;
	max-width: 400px;
	background-color: var(--e-global-color-0c35808);
	border: 1px solid rgba(255, 255, 255, 1);
	border-radius: 16px;
	padding: 32px 24px;
	min-height: 280px;
	box-shadow: rgba(0, 0, 0, 0.1) 0px 10px 15px -3px, rgba(0, 0, 0, 0.05) 0px 4px 6px -2px;
	transition: border 0.3s ease, box-shadow 0.3s ease;
}
.reps-card:hover {
	border: 1px solid rgba(255, 255, 255, 1);
	box-shadow: rgba(18, 60, 107, 0.2) 0px 10px 15px -3px, rgba(18, 60, 107, 0.15) 0px 4px 6px -2px;
}
@media (max-width: 767px) {
	.reps-card {
		padding: 24px 16px;
	}
}

/*--------------------------------------------------------------
# Split Section Left
--------------------------------------------------------------*/
.media-split-left {
	dipslay: flex;
	flex-wrap: wrap;
}
.media-split-left .content {
	z-index: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	border-radius: 16px;
	gap: 24px;
	width: 52.5%;
	min-height: 420px;
	margin-right: -2.5%;
	padding-top: 24px;
	padding-right: calc(5% + 40px);
	padding-bottom: 24px;
	padding-left: 24px;
	background: linear-gradient(0deg, var(--e-global-color-primary) 0%, var(--e-global-color-secondary) 100%);
}
.media-split-left .image {
	z-index: 2;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 16px;
	width: 52.5%;
	margin-left: -2.5%;
	margin-top: 32px;
	margin-bottom: 32px;
	padding: 32px 24px;
	box-shadow: 0 4px 28px 0 rgba(0, 0, 0, 0.15);
}
@media (max-width: 1024px) and (min-width: 768px) {
	.media-split-left {
		gap: 0px;
	}
	.media-split-left .content {
		width: 100%;
		margin: 0;
		order: 2;
		min-height: 320px;
		padding: 24px 40px;
	}
	.media-split-left .image {
		width: 100%;
		margin: 0;
		order: 1;
	}
}
@media (max-width: 767px) {
	.media-split-left {
		gap: 0px;
	}
	.media-split-left .content {
		width: 100%;
		margin: 0;
		order: 2;
		padding: 32px 16px;
		min-height: 320px;
	}
	.media-split-left .image {
		width: 100%;
		margin: 0;
		order: 1;
		padding: 16px;
	}
}

/*--------------------------------------------------------------
# Split Section Right
--------------------------------------------------------------*/
.media-split-right {
	dipslay: flex;
	flex-wrap: wrap;
}
.media-split-right .content {
	z-index: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	border-radius: 16px;
	gap: 24px;
	width: 52.5%;
	min-height: 420px;
	border: 1px solid rgba(0, 0, 0, 0.05);
	margin-left: -2.5%;
	padding-top: 24px;
	padding-left: calc(5% + 40px);
	padding-bottom: 24px;
	padding-right: 24px;
	background: var(--e-global-color-accent);
}
.media-split-right .image {
	z-index: 2;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 16px;
	width: 52.5%;
	margin-right: -2.5%;
	margin-top: 32px;
	margin-bottom: 32px;
	padding: 32px 24px;
	box-shadow: 0 4px 28px 0 rgba(0, 0, 0, 0.15);
}
@media (max-width: 1024px) and (min-width: 768px) {
	.media-split-right {
		gap: 0px;
	}
	.media-split-right .content {
		width: 100%;
		margin: 0;
		order: 2;
		min-height: 320px;
		padding: 24px 40px;
	}
	.media-split-right .image {
		width: 100%;
		margin: 0;
		order: 1;
	}
}
@media (max-width: 767px) {
	.media-split-right {
		gap: 0px;
	}
	.media-split-right .content {
		width: 100%;
		margin: 0;
		order: 2;
		padding: 32px 16px;
		min-height: 320px;
	}
	.media-split-right .image {
		width: 100%;
		margin: 0;
		order: 1;
		padding: 16px;
	}
}

/*--------------------------------------------------------------
# Post Archive
--------------------------------------------------------------*/
.loading-posts {
	text-align: center;
	padding: 20px;
	font-style: italic;
	color: #666;
}
.tag-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 20px;
	justify-content: center;
}
/*
.tag-filter {

}
.tag-filter:hover {

}
*/
.tag-filter.active {
	background-color: var(--e-global-color-e466b8e) !important;
	color: var(--e-global-color-2e22a0c) !important;
	fill: var(--e-global-color-2e22a0c) !important;
	border-color: var(--e-global-color-e466b8e) !important;
}

.custom-archive-posts {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
}

/* Individual Post Item */
.archive-post-item {
	overflow: hidden;
	width: calc(33.33% - 16px);
}

.post-inner {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
}

.post-thumbnail-container {
	width: 100%;
	position: relative;
	overflow: hidden;
	aspect-ratio: 16/9;
	border-radius: 8px;
}
.post-thumbnail-background {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	transition: transform 0.5s ease;
}
.post-thumbnail-link:hover .post-thumbnail-background {
	transform: scale(1.08);
}

.post-thumbnail-link {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	text-indent: -9999px;
}

.archive-post-item:hover .post-thumbnail img {
	transform: scale(1.03);
}

.post-content {

}

.post-title {
	margin-bottom: 9px;
}

.post-title a {
	color: var( --e-global-color-57cd6c4 ) !important;
	text-decoration: none;
	transition: color 0.2s;
}

.post-title:hover a {
	color: var( --e-global-color-text ) !important;
}

.post-title a:hover {
	color: #0073aa;
}

.post-meta {
	color: #666;
	font-size: 0.9rem;
	margin-bottom: 8px;
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
}

.post-meta a {
	color: #555;
	text-decoration: none;
	transition: color 0.2s;
}

.post-meta a:hover {
	color: #d54e21;
	text-decoration: underline;
}

.post-excerpt {
	margin-bottom: 8px;
}

.post-inner .read-more {
	display: flex;
	gap: 8px;
	align-items: center;
	font-weight: 500;
	transition: gap 0.3s ease;
}
.post-inner:hover .read-more {
	gap: 12px;
}

.post-footer a {
	color: var(--e-global-color-c71c7f0) !important;
}
.post-footer:hover a {
	color: var(--e-global-color-c71c7f0) !important;
}

/* Pagination */
.pagination {
	margin-top: 3rem;
	text-align: center;
}
.nav-links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
}
.page-numbers {
	background-color: var(--e-global-color-primary);
	color: var(--e-global-color-0c35808);
	min-width: 48px;
	padding: 12px;
	line-height: 1;	
	border-radius: 12px;
}
.page-numbers:hover {
	background-color: color-mix(in srgb, var(--e-global-color-primary) 85%, black);
	color: var(--e-global-color-0c35808);
}
.page-numbers:active {
	background-color: color-mix(in srgb, var(--e-global-color-primary) 70%, black);
	color: var(--e-global-color-0c35808);
}

/* Tablet: 1024px to 768px */
@media (max-width: 1024px) and (min-width: 768px) {
	.archive-post-item {
		width: calc(50% - 12px);
	}
}

/* Mobile: 767px and below */
@media (max-width: 767px) {
	.archive-post-item {
		width: 100%;
	}
	.post-inner {
		flex-direction: column;
	}
	
	.post-thumbnail {
		flex: 0 0 100%;
		width: 100%;
	}
}

/*--------------------------------------------------------------
# CSS Classes for Logged In/Out Users
--------------------------------------------------------------*/
.user-logged-in .show-logged-out {
    display: none !important; /* Only be visible to logged-out users */
}

.user-logged-out .show-logged-in {
    display: none !important; /* Only visible to logged-in users. */
}