:root {
	--dc-primary: #2547a0;
	--dc-primary-dark: #1b3478;
	--dc-text: #172033;
	--dc-text-muted: #526078;
	--dc-background: #ffffff;
	--dc-background-alt: #f4f7fc;
	--dc-border: #dce3ee;
	--dc-radius-sm: 6px;
	--dc-radius-md: 8px;
	--dc-radius-lg: 12px;
	--dc-shadow-sm: 0 4px 14px rgba(23, 32, 51, 0.08);
	--dc-shadow-md: 0 12px 30px rgba(23, 32, 51, 0.12);
	--dc-container: 1240px;
	--dc-gutter: clamp(20px, 3vw, 40px);
	--dc-section-space: clamp(56px, 7vw, 96px);
}

html {
	scroll-padding-top: 180px;
}

body {
	background: var(--dc-background);
	color: var(--dc-text);
}

body :focus-visible {
	outline: 3px solid #f5b942;
	outline-offset: 3px;
}

main :is(h1, h2, h3, h4) {
	letter-spacing: 0 !important;
	text-wrap: balance;
}

main .elementor h1 {
	font-size: clamp(2.25rem, 4.8vw, 4.25rem) !important;
	line-height: 1.08 !important;
}

main .elementor h2 {
	font-size: clamp(1.8rem, 3.2vw, 2.75rem) !important;
	line-height: 1.15 !important;
}

main .elementor h3 {
	font-size: clamp(1.3rem, 2vw, 1.75rem) !important;
	line-height: 1.25 !important;
}

main .elementor p,
main .elementor li {
	line-height: 1.65;
}

main .e-con.e-con-boxed > .e-con-inner {
	--container-max-width: var(--dc-container);
}

main .elementor-widget-text-editor a:not(.elementor-button),
main .elementor-post__text a:not(.elementor-post__thumbnail__link) {
	color: var(--dc-primary);
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

main .elementor-widget-text-editor a:not(.elementor-button):hover,
main .elementor-post__text a:not(.elementor-post__thumbnail__link):hover {
	color: var(--dc-primary-dark);
}

.elementor-location-header {
	border-bottom: 1px solid rgba(23, 32, 51, 0.12);
	box-shadow: 0 5px 20px rgba(23, 32, 51, 0.1);
}

.elementor-location-header .elementor-nav-menu a,
.elementor-location-header .elementor-button,
.elementor-location-footer a {
	transition: color 180ms ease, background-color 180ms ease, box-shadow 180ms ease;
}

.elementor-location-header .elementor-nav-menu a:hover,
.elementor-location-header .elementor-nav-menu a:focus-visible,
.elementor-location-footer a:hover,
.elementor-location-footer a:focus-visible {
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 5px;
}

@media (min-width: 768px) {
	.elementor-location-header .elementor-widget-navigation-menu .menu-item.current-menu-item > a.hfe-menu-item {
		color: #ffffff !important;
	}

	.elementor-location-header .elementor-element-4bf3959a .hfe-nav-menu__layout-horizontal .hfe-nav-menu > .menu-item-has-children:is(:hover, :focus-within) > .sub-menu {
		display: block !important;
		height: auto !important;
		visibility: visible !important;
		opacity: 1 !important;
		transform: none !important;
		pointer-events: auto !important;
		transition: none !important;
	}

	.elementor-location-header .elementor-element-4bf3959a #menu-item-188 > .hfe-has-submenu-container > a.hfe-menu-item:focus-visible,
	.elementor-location-header .elementor-element-4bf3959a #menu-item-188 > .sub-menu a.hfe-sub-menu-item:focus-visible {
		outline: 3px solid var(--dc-text) !important;
		outline-offset: -3px !important;
	}

	.elementor-location-header .elementor-element-4bf3959a #menu-item-188 > .sub-menu a.hfe-sub-menu-item:focus-visible {
		background: var(--dc-background-alt) !important;
		color: var(--dc-text) !important;
		transition: none !important;
	}
}

main .elementor-button {
	min-height: 48px;
	padding: 14px 24px;
	border: 1px solid transparent;
	border-radius: var(--dc-radius-sm);
	font-weight: 700;
	line-height: 1.2;
}

main .elementor-button:hover {
	box-shadow: var(--dc-shadow-md);
	transform: translateY(-2px);
}

main :is(.elementor-widget-image, .elementor-widget-image-gallery) img {
	border-radius: var(--dc-radius-md);
}

main .elementor-widget-image img {
	display: block;
}

.page-id-142 .elementor-widget-image-box > .elementor-widget-container {
	height: 100%;
	overflow: hidden;
	border: 1px solid var(--dc-border);
	border-radius: var(--dc-radius-md);
	background: var(--dc-background);
	box-shadow: var(--dc-shadow-sm);
}

.page-id-142 .elementor-widget-image-box .elementor-image-box-img {
	margin: 0 !important;
}

.page-id-142 .elementor-widget-image-box .elementor-image-box-img img {
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
}

.page-id-142 .elementor-widget-image-box .elementor-image-box-content {
	padding: 24px;
}

.page-id-142 .elementor-widget-image-box:hover > .elementor-widget-container,
.page-id-142 .elementor-widget-image-box:focus-within > .elementor-widget-container {
	border-color: rgba(37, 71, 160, 0.38);
	box-shadow: var(--dc-shadow-md);
	transform: translateY(-2px);
}

.page-id-1259 .elementor-post {
	overflow: hidden;
	border: 1px solid var(--dc-border);
	border-radius: var(--dc-radius-md);
	background: var(--dc-background);
	box-shadow: var(--dc-shadow-sm);
}

.page-id-1259 .elementor-post__thumbnail img {
	object-fit: cover;
}

.page-id-1259 .elementor-post__text {
	padding: 24px !important;
}

.page-id-1259 .elementor-post__title a {
	color: var(--dc-text);
}

.page-id-1259 .elementor-post:hover,
.page-id-1259 .elementor-post:focus-within {
	border-color: rgba(37, 71, 160, 0.38);
	box-shadow: var(--dc-shadow-md);
	transform: translateY(-2px);
}

body.page-id-1259 article#post-1259 > header.entry-header {
	display: none !important;
}

body.page-id-1259 .elementor-1259 > .elementor-element-5ba136c {
	--margin-top: 0px;
}

.page-id-984 .ti-widget-container,
.page-id-984 [class*="ti-widget"] {
	border-radius: var(--dc-radius-md);
}

.page-id-984 .elementor-984 .elementor-element.elementor-element-fc9c70e {
	--padding-top: 80px;
}

.page-id-984 .elementor-984 .elementor-element.elementor-element-0334fbb {
	--padding-top: 10px;
}

.page-id-2108 iframe {
	display: block;
	width: 100%;
	border-radius: var(--dc-radius-md);
	background: var(--dc-background);
	box-shadow: var(--dc-shadow-sm);
}

body.page-id-2108 .elementor-element-40d56c7a .elementor-field-type-submit > button.elementor-button {
	min-height: 48px;
}

main :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
	min-height: 48px;
	border: 1px solid var(--dc-border);
	border-radius: var(--dc-radius-sm);
	background: #ffffff;
	color: var(--dc-text);
	box-shadow: inset 0 1px 2px rgba(23, 32, 51, 0.04);
}

main :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea):focus {
	border-color: var(--dc-primary);
	box-shadow: 0 0 0 3px rgba(37, 71, 160, 0.16);
	outline: 0;
}

.elementor-location-footer {
	border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.elementor-location-footer :is(h2, h3, h4, .elementor-heading-title) {
	letter-spacing: 0 !important;
}

.elementor-location-footer iframe {
	overflow: hidden;
	border-radius: var(--dc-radius-md);
}

.elementor-location-footer .elementor-element-8911662 li.menu-item-188 > a :is(.sub-arrow, .dropdown-menu-toggle) {
	display: none !important;
}

.elementor-location-footer .elementor-element-8911662 li.menu-item-188 > ul.sub-menu.elementor-nav-menu--dropdown {
	display: block !important;
	position: static !important;
	inset: auto !important;
	width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 2px 0 6px 16px !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	transform: none !important;
}

.elementor-location-footer .elementor-element-8911662 li.menu-item-188 > ul.sub-menu.elementor-nav-menu--dropdown > li > a.elementor-sub-item {
	min-height: 36px;
	padding: 7px 0 !important;
	background: transparent !important;
	color: var(--dc-text) !important;
	font-size: 14px;
	line-height: 1.45;
	white-space: normal;
}

:where(.page-id-2069, .page-id-2215, .page-id-2216, .page-id-2217, .page-id-2218, .page-id-2219) {
	color: var(--dc-text);
}

:where(.page-id-2069, .page-id-2215, .page-id-2216, .page-id-2217, .page-id-2218, .page-id-2219) main .elementor > .e-con {
	min-height: 0 !important;
	padding: var(--dc-section-space) var(--dc-gutter) !important;
}

:where(.page-id-2069, .page-id-2215, .page-id-2216, .page-id-2217, .page-id-2218, .page-id-2219) main .elementor > .e-con:first-child {
	background: var(--dc-background-alt);
	border-bottom: 1px solid var(--dc-border);
}

:where(.page-id-2069, .page-id-2215, .page-id-2216, .page-id-2217, .page-id-2218, .page-id-2219) main .elementor > .e-con:first-child :is(h1, p) {
	color: var(--dc-text);
}

:where(.page-id-2069, .page-id-2215, .page-id-2216, .page-id-2217, .page-id-2218, .page-id-2219) main .elementor > .e-con:first-child .elementor-widget-text-editor {
	max-width: 760px;
}

:where(.page-id-2069, .page-id-2215, .page-id-2216, .page-id-2217, .page-id-2218, .page-id-2219) main .elementor > .e-con:not(:first-child):not(:last-child) .elementor-widget-text-editor {
	max-width: 780px;
}

:where(.page-id-2215, .page-id-2216, .page-id-2217, .page-id-2218, .page-id-2219) main .elementor > .e-con:not(:first-child):not(:last-child) .elementor-widget-text-editor {
	color: var(--dc-text);
}

:where(.page-id-2069, .page-id-2215, .page-id-2216, .page-id-2217, .page-id-2218, .page-id-2219) main li::marker {
	color: var(--dc-primary);
}

:where(.page-id-2069, .page-id-2215, .page-id-2216, .page-id-2217, .page-id-2218, .page-id-2219) main .elementor > .e-con:last-child {
	background: var(--dc-text);
}

:where(.page-id-2069, .page-id-2215, .page-id-2216, .page-id-2217, .page-id-2218, .page-id-2219) main .elementor > .e-con:last-child :is(h2, p) {
	color: #ffffff;
}

body:is(.page-id-2069, .page-id-2215, .page-id-2216, .page-id-2217, .page-id-2218, .page-id-2219) .elementor-button {
	min-height: 48px;
	padding: 14px 24px;
	border-radius: var(--dc-radius-sm);
	background: var(--dc-primary);
	color: #ffffff;
	box-shadow: var(--dc-shadow-sm);
	font-weight: 700;
	line-height: 1.2;
}

body:is(.page-id-2069, .page-id-2215, .page-id-2216, .page-id-2217, .page-id-2218, .page-id-2219) .elementor-button:is(:hover, :focus-visible) {
	background: var(--dc-primary-dark);
	color: #ffffff;
	box-shadow: var(--dc-shadow-md);
	transform: translateY(-2px);
}

@media (prefers-reduced-motion: no-preference) {
	main .elementor-button,
	.page-id-142 .elementor-widget-image-box > .elementor-widget-container,
	.page-id-1259 .elementor-post {
		transition: background-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
	}
}

@media (max-width: 767px) {
	:root {
		--dc-gutter: 20px;
		--dc-section-space: 56px;
	}

	html {
		scroll-padding-top: 190px;
	}

	.elementor-location-header .elementor-element-626c3301,
	.elementor-location-header .elementor-element-44ce2acf,
	.elementor-location-header .elementor-element-3ee8ca18 {
		min-height: 0 !important;
		height: auto !important;
	}

	.elementor-location-header .elementor-element-626c3301 {
		padding: 10px 20px !important;
	}

	.elementor-location-header .elementor-element-b693d04,
	.elementor-location-header .elementor-element-3ee8ca18,
	.elementor-location-header .elementor-element-2c8ac44c {
		--flex-wrap-mobile: nowrap;
		flex-wrap: nowrap !important;
	}

	.elementor-location-header .elementor-element-44ce2acf {
		--width: 100%;
		--flex-direction: column;
		--flex-wrap-mobile: wrap;
		flex-wrap: wrap !important;
		gap: 8px !important;
	}

	.elementor-location-header .elementor-element-3ee8ca18 {
		--width: 100%;
		--align-items: center;
		gap: 8px !important;
	}

	.elementor-location-header .elementor-element-62ce0d0a {
		width: auto !important;
		max-width: none !important;
		min-width: 0;
		flex: 1 1 auto !important;
		order: -3;
	}

	.elementor-location-header .elementor-element-62ce0d0a .elementor-heading-title {
		display: flex;
		align-items: center;
		height: 80px;
		font-size: 14px;
		line-height: 1.25 !important;
		white-space: normal !important;
	}

	.elementor-location-header .elementor-element-62ce0d0a .elementor-heading-title a {
		line-height: 1.25 !important;
		white-space: normal !important;
	}

	.elementor-location-header .elementor-element-693942f9 {
		width: auto !important;
		max-width: none !important;
		order: -2;
	}

	.elementor-location-header .elementor-element-693942f9 > .elementor-widget-container {
		margin: 0 !important;
		padding: 0 !important;
	}

	.elementor-location-header .elementor-element-693942f9 p {
		line-height: 1.25;
	}

	.elementor-location-header .elementor-element-7d84ca65 {
		flex: 0 0 80px !important;
		order: -1;
	}

	.elementor-location-header .elementor-element-7d84ca65 .e-rating-wrapper {
		flex-wrap: nowrap !important;
	}

	.elementor-location-header .elementor-element-4bf3959a nav.hfe-dropdown.menu-is-active {
		left: calc(-5vw + 0.75px) !important;
		width: 100vw !important;
		margin-top: 15px !important;
	}

	.elementor-location-header .elementor-element-4bf3959a #menu-item-188 > .hfe-has-submenu-container {
		display: flex !important;
		align-items: stretch;
		position: relative;
	}

	.elementor-location-header .elementor-element-4bf3959a #menu-item-188 > .hfe-has-submenu-container > a.hfe-menu-item {
		flex: 1 1 auto;
		min-width: 0;
	}

	.elementor-location-header .elementor-element-4bf3959a #menu-item-188 > .hfe-has-submenu-container > .hfe-menu-toggle.sub-arrow {
		display: flex;
		flex: 0 0 48px;
		align-items: center;
		justify-content: center;
		cursor: pointer;
	}

	.elementor-location-header .elementor-element-4bf3959a #menu-item-188 > .hfe-has-submenu-container > .hfe-menu-toggle.sub-arrow:focus-visible {
		outline: 3px solid var(--dc-text);
		outline-offset: -3px;
	}

	body .elementor-location-header .elementor-element.elementor-element-4bf3959a #menu-item-188.menu-item[data-dc-services-expanded="false"] > ul.sub-menu {
		height: 0 !important;
		visibility: hidden !important;
		opacity: 0 !important;
		pointer-events: none !important;
	}

	body .elementor-location-header .elementor-element.elementor-element-4bf3959a #menu-item-188.menu-item[data-dc-services-expanded="true"] > ul.sub-menu {
		height: auto !important;
		visibility: visible !important;
		opacity: 1 !important;
		pointer-events: auto !important;
	}

	.elementor-location-header .elementor-element-2c8ac44c {
		--width: 100%;
		--margin-top: 0;
		margin-top: 0 !important;
		gap: 8px !important;
	}

	.elementor-location-header .elementor-element-3ee8ca18 .elementor-widget-heading,
	.elementor-location-header .elementor-element-3ee8ca18 .elementor-widget-text-editor,
	.elementor-location-header .elementor-element-3ee8ca18 p,
	.elementor-location-header .elementor-element-3ee8ca18 h2 {
		margin-block: 0 !important;
	}

	.elementor-location-header .elementor-element-3ee8ca18 .elementor-button {
		min-height: 44px;
		padding: 10px 14px;
	}

	.elementor-location-header .elementor-element-5ce8648c,
	.elementor-location-header .elementor-element-d9eaeeb {
		min-height: 76px !important;
		height: 76px !important;
	}

	main .elementor h1 {
		font-size: clamp(2.1rem, 10vw, 2.75rem) !important;
	}

	main .elementor h2 {
		font-size: clamp(1.65rem, 7.5vw, 2.15rem) !important;
	}

	main .elementor h3 {
		font-size: clamp(1.25rem, 5.5vw, 1.55rem) !important;
	}

	main .elementor p,
	main .elementor li {
		font-size: max(1rem, 16px);
		line-height: 1.6;
	}

	main .elementor-button {
		min-height: 48px;
		white-space: normal;
	}

	.page-id-142 .elementor-widget-image-box .elementor-image-box-content,
	.page-id-1259 .elementor-post__text {
		padding: 20px !important;
	}

	.page-id-2108 .elementor > .e-con {
		padding-inline: var(--dc-gutter) !important;
	}

	.page-id-984 .elementor-984 .elementor-element.elementor-element-fc9c70e {
		--padding-top: 48px;
	}

	.elementor-location-footer .e-con {
		gap: 28px;
	}
}

@media (min-width: 768px) and (max-width: 1024px) {
	.elementor-location-footer .elementor-element-ef0f990 {
		flex-wrap: wrap !important;
	}

	.elementor-location-footer .elementor-element-6694507 {
		width: 190px !important;
	}
}