/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Oct 23 2025 | 17:13:09 */
#ast-scroll-top {
	width: 35px;
	height: 60px;
	background: var(--e-global-color-primary);
	border-radius: 8px;

}

#ast-scroll-top .ast-icon {
	display: none;
}

#ast-scroll-top::before {
	content: '';
	display: block;
	width: 30px;
	height: 30px;
	background-image: url('https://charleslegalpl.com/wp-content/uploads/2025/08/arrow-up.svg');
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	filter: brightness(0) saturate(100%) invert(100%);
	margin: auto;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

#ast-scroll-top:hover {
	background: var(--e-global-color-secondary);
}

#ast-scroll-top:hover::before {
	filter: brightness(0) saturate(100%) invert(100%);
}

.w-fit-content {
	width: fit-content;
}

.swiper {
	user-select: none;
	cursor: grab;
}

input::placeholder,
select::placeholder,
textarea::placeholder {
	opacity: 1 !important;
}

input:focus,
select:focus,
textarea:focus {
	outline: none !important;
	box-shadow: none !important;
	border-style: solid !important;
}

div p:last-child {
	margin-bottom: 0 !important;
}

.home-quote-form input:focus,
.home-quote-form select:focus,
.home-quote-form textarea:focus {
	color: #cfcfcf !important;
	border-color: var( --e-global-color-742b82f ) !important;
}

.custom-btn .elementor-button .elementor-button-content-wrapper .elementor-button-icon svg {
	color: var( --e-global-color-primary );
	fill: var( --e-global-color-primary );
}

.custom-btn .elementor-button .elementor-button-content-wrapper .elementor-button-text {
	position: relative;
}

.custom-btn .elementor-button .elementor-button-content-wrapper .elementor-button-icon svg,
.custom-btn .elementor-button .elementor-button-content-wrapper .elementor-button-text::before {
	transition: all 0.3s linear;
}

.custom-btn .elementor-button .elementor-button-content-wrapper .elementor-button-text::before {
	content: "";
	display: block;
	width: 100%;
	height: 2px;
	background-color: var( --e-global-color-primary );
	position: absolute;
	left: 0;
	bottom: -2px;
	transform-origin: left;
	transform: scaleX(0);
}

.custom-btn .elementor-button:hover .elementor-button-content-wrapper .elementor-button-text::before {
	transform: scaleX(1);
}

.custom-btn .elementor-button:hover .elementor-button-content-wrapper .elementor-button-icon svg {
	transform: translateX(3px);
}

.top-header-divider {
	height: 8px;
	border-radius: 50%;
}


.main-header, 
.main-header.element-sticky .header-logo img {
	transition: all 0.3s linear;
}

.main-header::before {
	transition: all 0.2s linear;
}

.main-header.element-sticky {
	position: fixed;
	top: 0 !important;
	width: 100%;
	z-index: 9999999;

}

.main-header.element-sticky .header-logo img {
	width: 80% !important;
}

.main-header::before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: var( --e-global-color-secondary);
	opacity: 0.8;
	transform-origin: top;
	transform: scaleY(0);
}

.main-header.element-sticky::before {
	transform: scaleY(1);
}

.main-header.element-sticky .header-menu .elementor-nav-menu > li > a {
	padding-block: 40px !important;
}

.main-header.element-sticky .header-menu .elementor-nav-menu li a::after {
	height: 5px !important;
}

.main-header .sub-menu li a {
	padding-right: 20px !important;
}


.services-col .services-col-child,
.services-col .services-col-child .services-col-text {
	transition: all 0.3s linear !important;
}

.services-col {
	overflow: hidden;
}

.services-col .services-col-child {
	gap: 0;
}

.services-col .services-col-child .services-col-text {
	width: 100%;
	opacity: 0;
	height: 0px;
	bottom: -50px;
} 

.services-col:hover .services-col-child {
	margin-bottom: 0px !important;
	background-color: #6ec6569e;
	gap: 20px;
}

.services-col:hover .services-col-child .services-col-text {
	opacity: 1;
	height: 100%;
	bottom: 0px;
}

.choose-col::before, 
.choose-col .choose-col-icon-box h3,
.choose-col .choose-col-icon-box p,
.choose-col .choose-col-icon-box svg {
	transition: all 0.3s linear;
}

.choose-col {
	position: relative;
	overflow: hidden;
}

.choose-col::before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background-color: var( --e-global-color-primary );
	transform-origin: bottom;
	transform: scaleY(0);
}

.choose-col .choose-col-icon-box {
	position: relative;
	z-index: 5;
}

.choose-col:hover::before {
	transform: scaleY(1);
}

.choose-col:hover .choose-col-icon-box svg {
	filter: brightness(0) invert(1)
}

.choose-col:hover .choose-col-icon-box h3, 
.choose-col:hover .choose-col-icon-box p {
	color: #fff !important;
}

.blog-loop-item .blog-img a,
.blog-loop-item .blog-img a img {
	width: 100%;
}

.blog-loop-item .blog-img img,
.blog-loop-item .blog-link-col{
	transition: all 0.3s linear;
}

.blog-loop-item .blog-link-col {
	position: absolute;
	bottom: -71px;
}

.blog-loop-item:hover .blog-img img {
	transform: translateY(-20px);
}

.blog-loop-item:hover .blog-link-col {
	bottom: 0;
}

.client-testimonials-item .client-icon-quote svg {
	transition: all 0.3s linear;
}

.client-testimonials-item:hover .client-icon-quote svg {
	fill: var(--e-global-color-primary) !important;
}

.client-testimonials-item .client-name::before {
	content: "";
	display: block;
	width: 30px;
	height: 15px;
	background-color: inherit;
	clip-path: polygon(50% 0%, 0 100%, 100% 100%);
	position: absolute;
	top: -14px;
	left: 50%;
	transform: translate(-50%);
}

@media screen and (max-width:1024px) {
	.top-header-divider {
		height: 5px;
	}

	.main-header.element-sticky .header-menu .elementor-nav-menu > li > a {
		padding-block: 30px !important;
	}

	#ast-scroll-top {
		height: 50px;
	}
}


@media screen and (max-width:768px) {
	.home-quote-form-main-container {
		position: static;
		transform: none !important;
	}

	.home-quote-form-child-container {
		background-color: rgba(34, 47, 31, 0.95) !important;
	}

	.main-header.element-sticky .header-menu .elementor-nav-menu > li > a {
		padding-block: 10px !important;
	}

	.main-header.element-sticky {
		padding-block: 10px !important;
	}

	.main-header.element-sticky .header-logo img {
		width: 60% !important;
	}

	.services-col:hover .services-col-child .services-col-text {
		height: 20%;
	}

	#ast-scroll-top {
		width: 30px;
		height: 40px;
	}

	#ast-scroll-top::before {
		width: 25px;
		height: 25px;
	}
}