/* ================================
   Service Listing Banner Icon Box
================================ */
.bnr-ic-bx {
	--bnr-divider-image: url('data:image/svg+xml,<svg width="1" height="83" viewBox="0 0 1 83" fill="none" xmlns="http://www.w3.org/2000/svg"><line opacity="0.5" x1="0.5" y1="1.36393e-08" x2="0.499994" y2="83" stroke="url(%23paint0_linear_747_7592)"/><defs><linearGradient id="paint0_linear_747_7592" x1="-0.5" y1="-1.36393e-08" x2="-0.500002" y2="83" gradientUnits="userSpaceOnUse"><stop stop-color="%23395A7F" stop-opacity="0"/><stop offset="0.5" stop-color="%23395A7F"/><stop offset="1" stop-color="%23395A7F" stop-opacity="0"/></linearGradient></defs></svg>');
}

.bnr-ic-bx .elementor-widget-icon-box {
	position: relative;
}

.bnr-ic-bx .elementor-widget-icon-box:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 50%;
	left: calc(100% + 67px);
	width: 1px;
	height: 83px;
	background-image: var(--bnr-divider-image);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 1px 83px;
	transform: translateY(-50%);
	pointer-events: none;
}

/* ================================
   Service Listing Loop
================================ */
.serv-list-bx .elementor-loop-container.elementor-grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	column-gap: var(--grid-column-gap, 30px);
	row-gap: var(--grid-row-gap, 30px);
}

.serv-list-bx .elementor-loop-container.elementor-grid > * {
	width: calc((100% - (3 * var(--grid-column-gap, 30px))) / 4);
}

.serv-list-bx .e-loop-item:hover .elementor-image-box-img img {
	filter: brightness(0) invert(1);
}

/* ================================
   Request Quote Gravity Form
================================ */
.request-quote-frm {
	--gf-form-gap-y: 30px;
	--gf-field-gap-y: 0;
	--gf-field-date-width: 100%;
	--gf-field-pg-prog-bar-bg-color-blue: #78a8c9;
	--gf-ctrl-bg-color: #ffffff;
	--gf-ctrl-border-color: #e2e2e2;
	--gf-ctrl-border-radius: 10px;
	--gf-ctrl-color: #1f2937;
	--gf-ctrl-font-family: "DM Sans", sans-serif;
	--gf-ctrl-font-size: 20px;
	--gf-ctrl-size: 60px;
	--gf-label-space-primary: 15px;
	color: #1f2937;
	font-family: "DM Sans", sans-serif;
}

.request-quote-frm .gform_wrapper,
.request-quote-frm .gform_wrapper.gravity-theme {
	margin: 0;
	padding: 0;
}

.request-quote-frm .gform_heading,
.request-quote-frm .gform_required_legend,
.request-quote-frm .gform_validation_errors {
	display: none;
}

.request-quote-frm .gform_fields {
	grid-row-gap: 29px !important;
}

.request-quote-frm .gfield {
	margin: 0;
}

.request-quote-frm .gfield--width-full {
	grid-column: span 12;
}

.request-quote-frm .gfield--width-half {
	grid-column: span 6;
}

.request-quote-frm .gform_wrapper.gravity-theme .gfield .gfield_label,
.request-quote-frm .gform_wrapper.gravity-theme .gfield .gform-field-label,
.request-quote-frm .gform_wrapper.gravity-theme .gfield legend.gfield_label {
	display: block;
	margin: 0 0 15px;
	color: #1f2937;
	font-family: "DM Sans", sans-serif;
	font-size: 24px;
	font-weight: 600;
	line-height: 28.688px;
	text-transform: capitalize;
}

.request-quote-frm .gform_wrapper.gravity-theme .gfield .gfield_required,
.request-quote-frm .gform_wrapper.gravity-theme .gfield .gfield_required_text,
.request-quote-frm .gform_wrapper.gravity-theme .gfield .gfield_required_asterisk {
	color: #ff0000;
	font-size: 24px;
	line-height: 28.688px;
}

.request-quote-frm .gform_wrapper.gravity-theme input[type="text"],
.request-quote-frm .gform_wrapper.gravity-theme input[type="email"],
.request-quote-frm .gform_wrapper.gravity-theme input[type="tel"],
.request-quote-frm .gform_wrapper.gravity-theme select,
.request-quote-frm .gform_wrapper.gravity-theme textarea {
	width: 100%;
	margin: 0;
	padding: 15px 20px;
	background-color: #ffffff;
	border: 1px solid #e2e2e2;
	border-radius: 10px;
	box-shadow: none;
	color: #1f2937;
	font-family: "DM Sans", sans-serif;
	font-size: 20px;
	font-weight: 400;
	line-height: 28px;
	outline: none;
	transition: border-color 0.2s ease;
}

.request-quote-frm .gform_wrapper.gravity-theme input[type="text"],
.request-quote-frm .gform_wrapper.gravity-theme input[type="email"],
.request-quote-frm .gform_wrapper.gravity-theme input[type="tel"],
.request-quote-frm .gform_wrapper.gravity-theme select {
	height: 60px;
}

.request-quote-frm .gform_wrapper.gravity-theme textarea {
	height: 211px;
	resize: none;
}

.request-quote-frm input:focus,
.request-quote-frm select:focus,
.request-quote-frm textarea:focus {
	border-color: #000000;
}

.request-quote-frm .gform_wrapper.gravity-theme input:focus,
.request-quote-frm .gform_wrapper.gravity-theme select:focus,
.request-quote-frm .gform_wrapper.gravity-theme textarea:focus {
	border-color: #000000;
}

.request-quote-frm input::placeholder,
.request-quote-frm textarea::placeholder {
	color: #a4a4a4;
	opacity: 1;
}

.request-quote-frm .gform_wrapper.gravity-theme input[type="email"]::placeholder {
	text-transform: capitalize;
}

.request-quote-frm .gform_wrapper.gravity-theme input[type="email"]:focus {
	text-transform: lowercase;
}

.request-quote-frm .ginput_complex {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	column-gap: 30px;
	row-gap: 0;
}

.request-quote-frm .ginput_complex span {
	margin: 0;
	padding: 0;
}

.request-quote-frm .gform_wrapper.gravity-theme .ginput_complex .gform-grid-col {
	padding-left: 0;
	padding-right: 0;
}

.request-quote-frm .gform_wrapper.gravity-theme .gform_body .gform_fields .gfield .ginput_complex.ginput_container_name span.gform-grid-col:not([style*="display:none"]):not(.ginput_full) {
	padding-left: 0;
	padding-right: 0;
}

.request-quote-frm .ginput_complex label {
	display: none;
}

.request-quote-frm .gfield_description,
.request-quote-frm .gform_fileupload_rules,
.request-quote-frm .validation_message {
	margin: 8px 0 0;
	padding: 0;
	font-family: "DM Sans", sans-serif;
	font-size: 14px;
	line-height: 20px;
}

.request-quote-frm .gform_wrapper.gravity-theme .gfield_checkbox,
.request-quote-frm .gform_wrapper.gravity-theme .gfield_radio {
	display: flex;
	flex-wrap: wrap;
	gap: 20px 35px;
	margin: 0;
	padding-right: 15px;
}

.request-quote-frm .gform_wrapper.gravity-theme .gchoice {
	display: flex;
	align-items: center;
	gap: 9px;
	margin: 0;
	min-width: 0;
	width: max-content;
}

.request-quote-frm .gform_wrapper.gravity-theme .gchoice input[type="checkbox"],
.request-quote-frm .gform_wrapper.gravity-theme .gchoice input[type="radio"] {
	appearance: none;
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	margin: 0;
	background-color: transparent;
	border: 1px solid #c6c6c6;
	border-radius: 2px;
	cursor: pointer;
}

.request-quote-frm .gform_wrapper.gravity-theme .gchoice input[type="checkbox"]:checked {
	background-color: transparent;
	border-color: #395a7f;
	background-image: url('data:image/svg+xml,<svg width="11" height="8" viewBox="0 0 11 8" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M10.7444 0.245836C10.4041 -0.0820487 9.8514 -0.0818419 9.5106 0.245836L3.95766 5.58863L1.48961 3.2141C1.14881 2.88621 0.596391 2.88621 0.255596 3.2141C-0.0851988 3.54198 -0.0851988 4.07348 0.255596 4.40136L3.34052 7.36942C3.51081 7.53326 3.7341 7.61539 3.95742 7.61539C4.18074 7.61539 4.40424 7.53346 4.57453 7.36942L10.7444 1.43308C11.0852 1.10542 11.0852 0.5737 10.7444 0.245836Z" fill="%23395A7F"/></svg>');
	background-repeat: no-repeat;
	background-position: center;
	background-size: 11px 7.62px;
}

.request-quote-frm .gform_wrapper.gravity-theme .gchoice input[type="radio"] {
	appearance: auto;
	accent-color: #395a7f;
	border-radius: 50%;
}

.request-quote-frm .gform_wrapper.gravity-theme .gchoice label {
	margin: 0;
	color: #6b7280;
	font-family: "DM Sans", sans-serif;
	font-size: 20px;
	font-weight: 400;
	line-height: 28px;
	white-space: nowrap;
}

.request-quote-frm .gform_wrapper.gravity-theme .gfield .gfield_checkbox .gfield-choice-input + label,
.request-quote-frm .gform_wrapper.gravity-theme .gfield .gfield_radio .gfield-choice-input + label {
	margin: 0;
	color: #6b7280;
	cursor: pointer;
	font-family: "DM Sans", sans-serif;
	font-size: 20px;
	font-weight: 400;
	line-height: 28px;
	white-space: nowrap;
}

.request-quote-frm input[type="file"] {
	width: 100%;
	color: #6b7280;
	font-family: "DM Sans", sans-serif;
	font-size: 20px;
	font-weight: 400;
	line-height: 28px;
}

.request-quote-frm .gform_footer,
.request-quote-frm .gform_page_footer {
	display: flex;
	justify-content: center;
	margin: 45px 0 0;
	padding: 0;
}

.request-quote-frm .gform_button,
.request-quote-frm .gform_next_button,
.request-quote-frm .gform_previous_button,
.request-quote-frm input[type="submit"],
.request-quote-frm button[type="submit"] {
	min-height: 58px;
	margin: 0;
	padding: 16px 28px;
	background-color: #78a8c9;
	border: 0;
	border-radius: 100px;
	box-shadow: none;
	color: #ffffff;
	font-family: "DM Sans", sans-serif;
	font-size: 22px;
	font-weight: 600;
	line-height: 24px;
	text-align: center;
	cursor: pointer;
	transition: background-color 0.2s ease;
}

.request-quote-frm .gform_button:hover,
.request-quote-frm .gform_button:focus,
.request-quote-frm .gform_next_button:hover,
.request-quote-frm .gform_next_button:focus,
.request-quote-frm .gform_previous_button:hover,
.request-quote-frm .gform_previous_button:focus,
.request-quote-frm input[type="submit"]:hover,
.request-quote-frm input[type="submit"]:focus,
.request-quote-frm button[type="submit"]:hover,
.request-quote-frm button[type="submit"]:focus {
	background-color: #78a8c9;
	color: #ffffff;
}

/* ================================
   Responsive CSS
================================ */
@media (max-width: 1440px) {
	.bnr-ic-bx .elementor-widget-icon-box:not(:last-child)::after {
		left: calc(100% + 40px);
	}

	.serv-list-bx .elementor-loop-container.elementor-grid > * {
		width: calc((100% - (2 * var(--grid-column-gap, 30px))) / 3);
	}
}
@media (max-width: 1199px) {
	.bnr-ic-bx .elementor-widget-icon-box:not(:last-child)::after {
		left: calc(100% + 25px);
	}
}
@media (max-width: 1024px) {
	.serv-list-bx .elementor-loop-container.elementor-grid > * {
		width: calc((100% - var(--grid-column-gap, 30px)) / 2);
	}

	.request-quote-frm .gform_fields,
	.request-quote-frm .ginput_complex {
		column-gap: 24px;
	}

	.request-quote-frm .gform_wrapper.gravity-theme .gfield_checkbox,
	.request-quote-frm .gform_wrapper.gravity-theme .gfield_radio {
		gap: 15px;
		padding-right: 0;
	}
	.bnr-ic-bx .elementor-widget-icon-box:not(:last-child)::after {
		left: calc(100% + 15px);
	}
}

@media (min-width: 767px) and (max-width: 990px) {
	.bnr-ic-bx {
		zoom: 0.8;
	}
}

@media (max-width: 767px) {
	.bnr-ic-bx .elementor-widget-icon-box:not(:last-child)::after {
		left: calc(100% + 10px);
	}

	.bnr-ic-bx .elementor-widget-icon-box:nth-child(even)::after,
	.bnr-ic-bx .elementor-widget-icon-box:last-child::after {
		content: none;
	}

	.serv-list-bx .elementor-loop-container.elementor-grid > * {
		width: 100%;
	}

	.request-quote-frm .gform_fields {
		grid-template-columns: 1fr;
	}

	.request-quote-frm .ginput_complex {
		grid-template-columns: 1fr;
		row-gap: 20px;
	}

	.request-quote-frm .gform_wrapper.gravity-theme .ginput_complex .gform-grid-col {
		margin-bottom: 0;
	}

	.request-quote-frm .gfield--width-half,
	.request-quote-frm .gfield--width-full {
		grid-column: span 1;
	}

	.request-quote-frm .gform_wrapper.gravity-theme .gfield .gfield_label,
	.request-quote-frm .gform_wrapper.gravity-theme .gfield .gform-field-label,
	.request-quote-frm .gform_wrapper.gravity-theme .gfield legend.gfield_label {
		margin-bottom: 10px;
		font-size: 18px;
		line-height: 24px;
	}

	.request-quote-frm .gform_wrapper.gravity-theme .gfield .gfield_required,
	.request-quote-frm .gform_wrapper.gravity-theme .gfield .gfield_required_text,
	.request-quote-frm .gform_wrapper.gravity-theme .gfield .gfield_required_asterisk {
		font-size: 18px;
		line-height: 24px;
	}

	.request-quote-frm input[type="text"],
	.request-quote-frm input[type="email"],
	.request-quote-frm input[type="tel"],
	.request-quote-frm select,
	.request-quote-frm textarea,
	.request-quote-frm input[type="file"] {
		font-size: 16px;
		line-height: 24px;
	}

	.request-quote-frm input[type="text"],
	.request-quote-frm input[type="email"],
	.request-quote-frm input[type="tel"],
	.request-quote-frm select {
		height: 52px;
	}

	.request-quote-frm textarea {
		min-height: 160px;
	}

	.request-quote-frm .gform_wrapper.gravity-theme .gfield_checkbox,
	.request-quote-frm .gform_wrapper.gravity-theme .gfield_radio {
		justify-content: stretch;
		gap: 12px;
	}

	.request-quote-frm .gform_wrapper.gravity-theme .gchoice {
		width: 45%;
		align-items: flex-start;
	}

	.request-quote-frm .gform_wrapper.gravity-theme .gchoice input[type="checkbox"],
	.request-quote-frm .gform_wrapper.gravity-theme .gchoice input[type="radio"] {
		margin-top: 5px;
	}

	.request-quote-frm .gform_wrapper.gravity-theme .gchoice label {
		color: #6b7280;
		font-size: 20px;
		font-weight: 400;
		line-height: 28px;
		white-space: normal;
	}

	.request-quote-frm .gform_wrapper.gravity-theme .gfield .gfield_checkbox .gfield-choice-input + label,
	.request-quote-frm .gform_wrapper.gravity-theme .gfield .gfield_radio .gfield-choice-input + label {
		white-space: normal;
	}

	.request-quote-frm .gform_footer,
	.request-quote-frm .gform_page_footer {
		margin-top: 32px;
	}

	.request-quote-frm .gform_button,
	.request-quote-frm .gform_next_button,
	.request-quote-frm .gform_previous_button,
	.request-quote-frm input[type="submit"],
	.request-quote-frm button[type="submit"] {
		min-height: 52px;
		font-size: 18px;
		line-height: 22px;
	}
}

@media (max-width: 490px) {
	.request-quote-frm .gform_wrapper.gravity-theme .gchoice {
		width: 100%;
	}
}
