/* Final frontend colour layer: white, grey, charcoal and blue. */
html body {
	background: #F7F9FC !important;
	color: #20242A !important;
}

html body .site,
html body .gjs-site-shell,
html body .gjs-site-content {
	background: #F7F9FC !important;
}

body :is(.gjs-homepage, .gjs-services-page, .gjs-projects-page, .gjs-contact-page, .gjs-faqs-page, .gjs-service-page, .gjs-about-page, .gjs-matterport-page, .gjs-measured-surveys-page, .gjs-laser-scanning-page, .gjs-autocad-drawings-page) {
	background: #F7F9FC !important;
	color: #20242A !important;
}

body :is(.gjs-homepage, .gjs-services-page, .gjs-projects-page, .gjs-contact-page, .gjs-faqs-page, .gjs-service-page, .gjs-about-page, .gjs-matterport-page, .gjs-measured-surveys-page, .gjs-laser-scanning-page, .gjs-autocad-drawings-page) :is(section, article, aside) {
	background: #F7F9FC !important;
	background-image: none !important;
	color: #20242A !important;
}

body :is(.gjs-homepage, .gjs-services-page, .gjs-projects-page, .gjs-contact-page, .gjs-faqs-page, .gjs-service-page, .gjs-about-page, .gjs-matterport-page, .gjs-measured-surveys-page, .gjs-laser-scanning-page, .gjs-autocad-drawings-page) section:nth-of-type(even) {
	background: #EEF2F6 !important;
	background-image: none !important;
}

body :is(.gjs-hero, .gjs-sp-hero, .gjs-pr-hero, .gjs-cp-hero, .gjs-fq-hero, .gjs-svc-hero, .gjs-about-hero, .gjs-cta, .gjs-sp-cta, .gjs-pr-cta, .gjs-cp-cta, .gjs-fq-cta, .gjs-svc-cta, .gjs-about-final) {
	background: #F1F4F8 !important;
	background-image: none !important;
	color: #20242A !important;
}

html body .gjs-homepage .gjs-hero::after,
body :is(.gjs-section, .gjs-sp-section, .gjs-pr-section, .gjs-cp-section, .gjs-fq-section, .gjs-svc-section, .gjs-about-section)::before,
body :is(.gjs-section, .gjs-sp-section, .gjs-pr-section, .gjs-cp-section, .gjs-fq-section, .gjs-svc-section, .gjs-about-section)::after {
	background: #D7DEE8 !important;
	background-image: none !important;
	border-color: #D7DEE8 !important;
}

body :is(.gjs-homepage, .gjs-services-page, .gjs-projects-page, .gjs-contact-page, .gjs-faqs-page, .gjs-service-page, .gjs-about-page, .gjs-matterport-page, .gjs-measured-surveys-page, .gjs-laser-scanning-page, .gjs-autocad-drawings-page) :is(h1, h2, h3, h4, h5, h6, strong, b) {
	color: #111827 !important;
}

body :is(.gjs-homepage, .gjs-services-page, .gjs-projects-page, .gjs-contact-page, .gjs-faqs-page, .gjs-service-page, .gjs-about-page, .gjs-matterport-page, .gjs-measured-surveys-page, .gjs-laser-scanning-page, .gjs-autocad-drawings-page) :is(p, li, figcaption, small, span, em) {
	color: #5C6674 !important;
}

body :is(.gjs-homepage, .gjs-services-page, .gjs-projects-page, .gjs-contact-page, .gjs-faqs-page, .gjs-service-page, .gjs-about-page, .gjs-matterport-page, .gjs-measured-surveys-page, .gjs-laser-scanning-page, .gjs-autocad-drawings-page) a {
	color: #1E88E5 !important;
	text-decoration-color: #1E88E5 !important;
}

body :is(.gjs-homepage, .gjs-services-page, .gjs-projects-page, .gjs-contact-page, .gjs-faqs-page, .gjs-service-page, .gjs-about-page, .gjs-matterport-page, .gjs-measured-surveys-page, .gjs-laser-scanning-page, .gjs-autocad-drawings-page) a:hover,
body :is(.gjs-homepage, .gjs-services-page, .gjs-projects-page, .gjs-contact-page, .gjs-faqs-page, .gjs-service-page, .gjs-about-page, .gjs-matterport-page, .gjs-measured-surveys-page, .gjs-laser-scanning-page, .gjs-autocad-drawings-page) a:focus-visible {
	color: #1565C0 !important;
	text-decoration-color: #1565C0 !important;
}

body :is(.gjs-card, .gjs-panel, .gjs-stat, .gjs-service, .gjs-step, .gjs-detail, .gjs-benefit, .gjs-deliverable, .gjs-application, .gjs-faq, .gjs-contact-method, .gjs-project, .gjs-about-proof, .gjs-about-feature, .gjs-about-process, .gjs-about-technology, [class*="-card"], [class*="__card"], [class*="__panel"], [class*="__copy"], [class*="__item"], [class*="__form"], [class*="__info"]) {
	background: #FFFFFF !important;
	background-image: none !important;
	border-color: #D7DEE8 !important;
	box-shadow: 0 16px 42px rgba(32, 36, 42, 0.1) !important;
	color: #20242A !important;
}

body :is(.gjs-card, .gjs-panel, .gjs-stat, .gjs-service, .gjs-step, .gjs-detail, .gjs-benefit, .gjs-deliverable, .gjs-application, .gjs-faq, .gjs-contact-method, .gjs-project, .gjs-about-proof, .gjs-about-feature, .gjs-about-process, .gjs-about-technology, [class*="-card"], [class*="__card"], [class*="__panel"], [class*="__copy"], [class*="__item"], [class*="__form"], [class*="__info"]):hover {
	border-color: #1E88E5 !important;
	box-shadow: 0 18px 48px rgba(32, 36, 42, 0.14) !important;
}

body :is(.gjs-button--primary, .gjs-svc-button--primary, .gjs-sp-button--primary, .gjs-pr-button--primary, .gjs-cp-button--primary, .gjs-fq-button--primary, form button, input[type="submit"]) {
	background: #1E88E5 !important;
	background-image: none !important;
	border-color: #1E88E5 !important;
	box-shadow: none !important;
	color: #FFFFFF !important;
}

body :is(.gjs-button--primary, .gjs-svc-button--primary, .gjs-sp-button--primary, .gjs-pr-button--primary, .gjs-cp-button--primary, .gjs-fq-button--primary, form button, input[type="submit"]):hover,
body :is(.gjs-button--primary, .gjs-svc-button--primary, .gjs-sp-button--primary, .gjs-pr-button--primary, .gjs-cp-button--primary, .gjs-fq-button--primary, form button, input[type="submit"]):focus-visible {
	background: #1565C0 !important;
	background-image: none !important;
	border-color: #1565C0 !important;
	box-shadow: none !important;
	color: #FFFFFF !important;
}

body :is(.gjs-button--primary, .gjs-svc-button--primary, .gjs-sp-button--primary, .gjs-pr-button--primary, .gjs-cp-button--primary, .gjs-fq-button--primary, form button, input[type="submit"]) * {
	color: #FFFFFF !important;
}

html body .gjs-site-header .gjs-site-header__call {
	background: #6B7280 !important;
	background-image: none !important;
	border-color: transparent !important;
	box-shadow: 0 8px 20px rgba(32, 36, 42, 0.12) !important;
	color: #FFFFFF !important;
	transition: background-color 240ms ease, border-color 240ms ease, box-shadow 240ms ease, transform 240ms ease !important;
}

html body .gjs-site-header .gjs-site-header__call:hover,
html body .gjs-site-header .gjs-site-header__call:focus-visible {
	background: #1E88E5 !important;
	background-image: none !important;
	border-color: #1E88E5 !important;
	box-shadow: 0 14px 30px rgba(30, 136, 229, 0.22) !important;
	color: #FFFFFF !important;
	transform: translateY(-1px) !important;
}

html body .gjs-site-header .gjs-site-header__call * {
	color: #FFFFFF !important;
}

body :is(.gjs-button--secondary, .gjs-svc-button--secondary, .gjs-sp-button--secondary, .gjs-pr-button--secondary, .gjs-cp-button--secondary, .gjs-fq-button--secondary, .gjs-svc-button--light) {
	background: #FFFFFF !important;
	background-image: none !important;
	border-color: #1E88E5 !important;
	box-shadow: none !important;
	color: #1E88E5 !important;
}

body :is(.gjs-button--secondary, .gjs-svc-button--secondary, .gjs-sp-button--secondary, .gjs-pr-button--secondary, .gjs-cp-button--secondary, .gjs-fq-button--secondary, .gjs-svc-button--light):hover,
body :is(.gjs-button--secondary, .gjs-svc-button--secondary, .gjs-sp-button--secondary, .gjs-pr-button--secondary, .gjs-cp-button--secondary, .gjs-fq-button--secondary, .gjs-svc-button--light):focus-visible {
	background: #EAF4FE !important;
	background-image: none !important;
	border-color: #1565C0 !important;
	color: #1565C0 !important;
}

body :is(.gjs-button--secondary, .gjs-svc-button--secondary, .gjs-sp-button--secondary, .gjs-pr-button--secondary, .gjs-cp-button--secondary, .gjs-fq-button--secondary, .gjs-svc-button--light) * {
	color: inherit !important;
}

body :is(.gjs-eyebrow, .gjs-sp-eyebrow, .gjs-pr-eyebrow, .gjs-cp-eyebrow, .gjs-fq-eyebrow, .gjs-svc-eyebrow, [class*="__icon"], [class*="-icon"], .gjs-icon, .gjs-number, [class*="__number"], [class*="-number"]) {
	color: #1E88E5 !important;
	border-color: #1E88E5 !important;
}

body :is(.gjs-eyebrow, .gjs-sp-eyebrow, .gjs-pr-eyebrow, .gjs-cp-eyebrow, .gjs-fq-eyebrow, .gjs-svc-eyebrow)::before,
html body .gjs-site-header__menu a::after,
html body .gjs-site-footer::before,
html body .gjs-site-footer h3::before {
	background: #1E88E5 !important;
	background-image: none !important;
}

html body .gjs-site-header--over-hero,
html body .gjs-site-header--solid,
html body .gjs-site-header.is-scrolled,
html body .gjs-site-header.is-menu-open,
html body .gjs-site-header .gjs-site-header__menu .sub-menu,
html body .gjs-site-header .gjs-site-header__menu .children {
	background: #FFFFFF !important;
	background-image: none !important;
	border-color: #D7DEE8 !important;
	box-shadow: 0 12px 30px rgba(32, 36, 42, 0.1) !important;
	color: #20242A !important;
}

html body .gjs-site-header__menu a,
html body .gjs-site-header__brand-text {
	color: #20242A !important;
}

html body .gjs-site-header__menu a:hover,
html body .gjs-site-header__menu a:focus-visible {
	background-color: #EAF4FE !important;
	color: #1E88E5 !important;
}

html body .gjs-site-header__brand-text {
	border-left-color: #D7DEE8 !important;
	text-transform: none !important;
}

html body .gjs-site-footer {
	background: #20242A !important;
	background-image: none !important;
	border-color: #2F3742 !important;
	box-shadow: none !important;
	color: #FFFFFF !important;
}

html body .gjs-site-footer :is(h2, h3, h4, strong, b),
html body .gjs-site-footer :is(p, li, span, small, em) {
	color: #FFFFFF !important;
}

html body .gjs-site-footer a {
	color: #EAF4FE !important;
	text-decoration-color: #EAF4FE !important;
}

html body .gjs-site-footer a:hover,
html body .gjs-site-footer a:focus-visible {
	background-color: transparent !important;
	color: #8EC5F4 !important;
	text-decoration-color: #8EC5F4 !important;
}

html body .gjs-site-footer__quote,
html body .gjs-site-footer__call-panel {
	background: #1E88E5 !important;
	background-image: none !important;
	border-color: #1E88E5 !important;
	color: #FFFFFF !important;
}

html body .gjs-site-footer__quote *,
html body .gjs-site-footer__call-panel * {
	color: #FFFFFF !important;
}

body :is(input, textarea, select) {
	background: #FFFFFF !important;
	background-image: none !important;
	border-color: #B9C4D1 !important;
	box-shadow: none !important;
	color: #20242A !important;
}

body :is(input, textarea, select):focus {
	border-color: #1E88E5 !important;
	box-shadow: 0 0 0 3px rgba(30, 136, 229, 0.24) !important;
}

body ::placeholder {
	color: #7A8492 !important;
}

body :is(.gjs-tag, .gjs-pill, .gjs-chip, .gjs-svc-pill, .gjs-svc-tag, .gjs-about-client-tags span, .gjs-about-future__items span) {
	background: #EAF4FE !important;
	background-image: none !important;
	border-color: #1E88E5 !important;
	color: #1565C0 !important;
}

body .gjs-icon :is(path, rect, circle, ellipse, line, polyline, polygon),
body [class*="__icon"] svg :is(path, rect, circle, ellipse, line, polyline, polygon),
body [class*="-icon"] svg :is(path, rect, circle, ellipse, line, polyline, polygon) {
	stroke: #1E88E5 !important;
}

body :is(a, button, input, textarea, select, summary):focus-visible {
	outline: 3px solid #1E88E5 !important;
	outline-offset: 3px !important;
}

body :is([style*="linear-gradient"], [style*="radial-gradient"]) {
	background-image: none !important;
}