:root {
	--br: 12px;
	--btn-br: 4px;
	--ad-blue: #032d3d;
	--ad-blue--light: #055d7f;
	--ad-green: #bad432;
	--ad-red: #84243f;
	--medium-grey: #f6f6f9;
	--medium-grey--light: #fbfbfe;
	--main-border: #efeff1;
	--ad-gradient: linear-gradient(120deg, var(--ad-blue), var(--ad-green));
	--text: #161618;
	--headings-titles: #032d3d;
	--ff-text: 'Montserrat', sans-serif;
	--ff-titles: 'Libre Franklin', sans-serif;
	--ls-text: -0.5px;
	--ls-titles: -0.2px;
	--lh-text: 1.5;
	--lh-titles: 1.4;
	--hover-shadow: 0 13px 27px -5px rgba(50, 50, 93, 0.25), 0 8px 16px -8px rgba(0, 0, 0, 0.3);
	--ad-med-grey-ring: 0 0 0 5px #f6f6f9;
	--ad-green-ring: 0 0 0 5px #bad4325f;
	--ad-red-ring: 0 0 0 5px #84243f5f;
	--footer-text: white;
	--footer-titles: #bad432;
	--transition: 0.25s ease;
}

/* Header */
.top-nav {
	box-shadow: unset !important;
	width: 100vw !important;
}
.top-nav.top-nav-scrolled {
	box-shadow: 0 4px 4px -2px rgb(0 0 0 / 10%) !important;
}
.nav-container {
	width: auto !important;
	padding: 0 15px !important;
	box-sizing: content-box !important;
}
.hamburger-search-nav-icon {
	display: block !important;
}
@media (min-width: 992px) {
	.hamburger-search-nav-icon {
		display: none !important;
	}
}

.nav-buttons .art-btn.art-btn.art-btn {
	border-radius: var(--btn-br) !important;
}
.nav-logo-image {
	height: 50px !important;
}

.top-nav .art-btn.art-btn:nth-child(odd) {
	background-color: var(--ad-green) !important;
	color: var(--ad-blue) !important;
}
.top-nav .art-btn.art-btn:nth-child(odd):hover {
	background-color: #d2ed47 !important;
	color: var(--btn-secondary-txt-colour-hover) !important;
	transition: all var(--transition) !important;
}

.mega-sub-panel {
	box-shadow: 0 4px 4px -2px rgb(0 0 0 / 10%);
	backdrop-filter: blur(6px);
}
.mega-sub-panel.active {
	background: linear-gradient(180deg, #032d3d 20%, rgb(3 45 61 / 85%)) 100% !important;
}
.art-mega-menu-item.is-closing .mega-sub-inner.multi-column {
	opacity: 0;
	transition: 0.5s ease;
}
.mega-sub-inner {
	box-shadow: unset !important;
	background: unset !important;
	justify-content: space-between !important;
	box-sizing: content-box !important;
}
.art-mega-menu-item a:not(.mega-widget-wrapper a) {
	width: 90% !important;
	box-sizing: content-box !important;
}
.mega-menu-toggle:hover:after {
	color: var(--ad-green) !important;
	transition: var(--transition);
}
.art-mega-menu-item.is-open .mega-menu-toggle:after {
	color: var(--ad-green) !important;
	transition: var(--transition);
}
.art-mega-menu-item a:not(.mega-widget-wrapper a) {
	gap: 16px !important;
	border-bottom: 4px solid transparent;
	border-radius: var(--btn-br) var(--btn-br) 0 0;
}
.mega-sub-menu .art-mega-menu-item .menu-item-title {
	color: white !important;
	font-size: 18px;
	font-weight: 500;
}
.art-mega-menu-item a:not(.mega-widget-wrapper a):hover {
	background: linear-gradient(var(--ad-blue--light) 0%, transparent 50%) !important;
	border-bottom: 4px solid var(--ad-green);
}
.art-mega-menu-item a i {
	border-radius: var(--btn-br);
	background: var(--ad-green) !important;
	color: var(--ad-blue) !important;
}
ul.mega-sub-menu-column:first-child,
ul.mega-sub-menu-column:not(:last-child) {
	border-right: 1px solid var(--ad-blue--light) !important;
	padding: 0 15px 0 0;
}
ul.mega-sub-menu {
	width: auto !important;
}
.menu-item-description {
	color: #aaa !important;
}
.art-mega-menu-item a:not(.mega-widget-wrapper a):hover .menu-item-description {
	color: var(--ad-green) !important;
	transition: var(--transition);
}
.mega-sub-menu-column {
	width: 360px !important;
	box-sizing: content-box !important;
}
.top-nav .art-btn {
	text-transform: uppercase !important;
	font-size: 16px !important;
	font-weight: 700;
	letter-spacing: var(--ls-text);
	padding: 18px 22px !important;
	min-width: 170px !important;
	height: 50px !important;
	width: max-content !important;
	overflow: hidden;
	display: flex !important;
	align-content: center !important;
	justify-content: center !important;
	align-items: center !important;
}
.mega-widget-wrapper {
	height: max-content;
}
.mega-widget-wrapper .widget {
	padding: 10px 10px 20px 10px;
	background: linear-gradient(var(--ad-blue--light) 0%, transparent 82%);
	border-radius: var(--btn-br);
	overflow: hidden;
	transition: var(--transition);
}
.mega-widget-wrapper .widget:before {
	content: '\f0a9';
	font-family: 'Font Awesome 6 Pro';
	display: block;
	background: transparent;
	height: 40px;
	width: 40px;
	font-size: 28px;
	position: absolute;
	z-index: 99;
	right: 16px;
	bottom: 10px;
	transform: translate(10px, 10px);
	transition: 0.6s cubic-bezier(0.6, -0.28, 0.74, 0.05);
}
@media (min-width: 992px) {
	.mega-widget-wrapper .widget:before {
		content: '\f0a9';
		font-family: 'Font Awesome 6 Pro';
		display: block;
		background: transparent;
		height: 40px;
		width: 40px;
		font-size: 28px;
		position: absolute;
		z-index: 99;
		right: 16px;
		bottom: 10px;
		transform: translate(60px, -5px);
		transition: 0.6s cubic-bezier(0.6, -0.28, 0.74, 0.05);
	}
}
@media (min-width: 992px) {
	.mega-widget-wrapper .widget:hover:before {
		color: var(--ad-green);
		transition: 0.4s cubic-bezier(0.18, 0.89, 0.36, 1.08);
		transform: translate(20px, -5px);
		animation: gentlemovement 2.25s cubic-bezier(0.455, 0.03, 0.515, 0.955) -0.4s infinite;
		z-index: -2;
	}
}
.mega-widget-wrapper .widget:after {
	content: '';
	position: absolute;
	left: 0px;
	bottom: 0px;
	width: 100%;
	height: 4px;
	background-color: var(--ad-green);
	transform: scaleX(1);
	transform-origin: left;
	border-radius: var(--br);
	transition: 0.45s
		linear(
			0 0%,
			0 1.8%,
			0.01 3.6%,
			0.03 6.35%,
			0.07 9.1%,
			0.13 11.4%,
			0.19 13.4%,
			0.27 15%,
			0.34 16.1%,
			0.54 18.35%,
			0.66 20.6%,
			0.72 22.4%,
			0.77 24.6%,
			0.81 27.3%,
			0.85 30.4%,
			0.88 35.1%,
			0.92 40.6%,
			0.94 47.2%,
			0.96 55%,
			0.98 64%,
			0.99 74.4%,
			1 86.4%,
			1 100%
		);
}
.mega-widget-wrapper .widget:not(:hover):after {
	transform: scaleX(0);
	transform-origin: left;
	border-radius: var(--br);
}
.mega-widget-gb-block {
	width: 300px;
}
/* Hide the "arrow" hover icon for mega menu cards. Add classname below to apply. Add class to menu item itself via WP menus */
.art-mega-marketing-menu-item .mega-widget-wrapper .widget:before,
.art-mega-websites-menu-item .mega-widget-wrapper .widget:before {
	display: none !important;
}
/* Custom buttons for mega menu cards. Add classname below to apply. Add class to menu item itself via WP menus */
.art-mega-marketing-menu-item .mega-widget-wrapper .mega-widget-gb-block a.art-btn,
.art-mega-websites-menu-item .mega-widget-wrapper .mega-widget-gb-block a.art-btn {
	border-color: var(--ad-green) !important;
	color: var(--ad-green);
	background-color: transparent;
	width: 100% !important;
}
.art-mega-marketing-menu-item .mega-widget-wrapper .mega-widget-gb-block a.art-btn:hover,
.art-mega-websites-menu-item .mega-widget-wrapper .mega-widget-gb-block a.art-btn:hover {
	border-color: transparent !important;
	color: var(--ad-green);
	background-color: #bad43240;
}
.mega-widget-wrapper .widget img {
	border-radius: var(--btn-br);
}
.mega-widget-wrapper .widget h2 {
	font-family: var(--ff-text);
	font-size: 18px !important;
	font-weight: 700 !important;
	color: white !important;
	letter-spacing: var(--ls-titles);
	overflow: hidden;
}
.mega-widget-wrapper .widget p {
	font-size: 14px !important;
	color: var(--ad-green);
}
.mega-menu-toggle {
	padding: 5px 10px;
	border: 1px solid transparent;
}
.is-open .mega-menu-toggle {
	padding: 5px 10px;
	background: var(--ad-green);
	border-radius: var(--btn-br);
	background: linear-gradient(var(--ad-blue--light) 0%, transparent 50%) !important;
	border: 1px solid var(--ad-blue--light);
}
.is-open .mega-menu-toggle .menu-item-content .menu-item-title:hover {
	color: white !important;
}

/* Hamburger Menu */
.hamburger-search-content {
	flex-direction: column;
}
.hamburger-search-popup a.nav-link:hover {
	color: var(--ad-green) !important;
	transition: var(--transition);
}
.hamburger-search-content-nav ul .sub-menu .nav-link {
	font-size: 18px !important;
	text-align: left;
	justify-content: flex-start;
	padding: 0 0 0 10px;
	margin-bottom: 4px;
}
/* XS Devices */
@media (max-width: 375px) {
	.hamburger-search-content-nav ul .sub-menu .nav-link {
		font-size: 16px !important;
	}
}
.hamburger-search-content-nav ul .sub-menu-open {
	padding: 10px 0 60px 0;
}
ul#nav-hamburger-menu {
	padding: 0 40px;
}
/* XS Devices */
@media (max-width: 375px) {
	ul#nav-hamburger-menu {
		padding: 0;
	}
}

ul#nav-hamburger-menu li:is(.menu-item.menu-item-has-children) > a.nav-link {
	font-size: 26px !important;
	justify-content: flex-start;
}
/* XS Devices */
@media (max-width: 375px) {
	ul#nav-hamburger-menu li:is(.menu-item.menu-item-has-children) > a.nav-link {
		font-size: 22px !important;
		justify-content: flex-start;
	}
}

ul#nav-hamburger-menu .art-btn-hamburger .nav-link {
	font-size: 18px !important;
	font-weight: 700;
	text-transform: uppercase;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--ad-green);
	color: var(--ad-blue);
	border-radius: var(--btn-br);
	min-width: 170px !important;
	min-height: 50px !important;
	width: 170px !important;
	height: 50px !important;
	opacity: 0;
	transform: translateY(20px);
	margin-top: 20px;
}

.hamburger-search-content-nav ul .sub-menu .nav-link i {
	border-radius: var(--btn-br);
	background: var(--ad-green) !important;
	color: var(--ad-blue) !important;
	font-weight: 900;
	height: 22px;
	width: 22px;
	padding: 4px;
	margin-right: 8px;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* Footer */
#footer .footer-bottom {
	overflow: hidden;
	padding-bottom: 40px;
}
@media (min-width: 992px) {
	#footer .footer-bottom {
		padding-bottom: 15px;
	}
}

#footer .footer-bottom .art-container {
	width: unset;
}
@media (min-width: 992px) {
	#footer .footer-bottom .art-container {
		width: 100%;
	}
}

#footer .footer-middle-container {
	display: flex;
	flex-direction: column;
}
#footer .footer-contents-wrapper {
	display: flex;
	flex-direction: row;
	margin: 0 auto;
}
#back-to-top.affix {
	position: fixed;
}
#footer .footer-middle h3.widget-title {
	font-weight: 700;
	font-size: 20px;
	color: var(--ad-green) !important;
	height: 20px !important;
	margin-bottom: 20px;
}
#footer .footer-middle ul li a {
	color: white !important;
	transition: var(--transition);
}
#footer .footer-middle ul li a:hover {
	color: var(--ad-green) !important;
	transition: var(--transition);
}
/* XS Devices */
@media (max-width: 375px) {
	#footer .footer-middle ul li a {
		font-size: 15px;
	}
}

#footer .container.footer-middle {
	max-width: 1540px;
	width: unset;
	margin: 0;
}
@media (min-width: 992px) {
	#footer .container.footer-middle {
		max-width: 1540px;
		width: 100%;
		margin: 0 auto;
	}
}

#footer .col-md-3.col-sm-6.footer-widget {
	width: 100%;
	margin-bottom: 10px;
}
@media (min-width: 992px) {
	#footer .col-md-3.col-sm-6.footer-widget {
		width: 25%;
		margin-bottom: unset;
	}
}

#footer .art-block-office dd {
	margin-left: unset !important;
}
#footer .art-block-office-address dt,
#footer .art-block-office-email dt,
#footer .art-block-office-phone-general dt,
#footer .art-block-office-opening-hours dt,
#footer .art-block-office-address dd,
#footer .art-block-office-email dd,
#footer .art-block-office-phone-general dd,
#footer .art-block-office-opening-hours dd {
	color: white !important;
	letter-spacing: var(--ls-text);
	font-style: normal;
}
#footer .art-block-office-address dd a,
#footer .art-block-office-email dd a,
#footer .art-block-office-phone-general dd a,
#footer .art-block-office-opening-hours dd a {
	letter-spacing: var(--ls-text);
	transition: var(--transition);
}
#footer .art-block-office-address dd a:hover,
#footer .art-block-office-email dd a:hover,
#footer .art-block-office-phone-general dd a:hover,
#footer .art-block-office-opening-hours dd a:hover {
	color: var(--highlight);
	transition: var(--transition);
}
#footer .footer-middle-bar {
	border-top: 4px solid var(--ad-green);
}
#footer .art-custom-footer-top {
	display: flex;
	flex-direction: column;
	align-content: center;
	align-items: center;
}
#footer .art-custom-footer-top figure {
	margin: 0 75px -12px 75px;
	padding: 40px 40px 40px 40px;
	background: var(--ad-blue);
	border-radius: 100%;
	margin-top: -40px;
	margin-bottom: -30px;
}
#footer .art-custom-footer-top figure img {
	animation: spinY 6s
		linear(
			0 0%,
			0.22 2.1%,
			0.86 6.5%,
			1.11 8.6%,
			1.3 10.7%,
			1.35 11.8%,
			1.37 12.9%,
			1.37 13.7%,
			1.36 14.5%,
			1.32 16.2%,
			1.03 21.8%,
			0.94 24%,
			0.89 25.9%,
			0.88 26.85%,
			0.87 27.8%,
			0.87 29.25%,
			0.88 30.7%,
			0.91 32.4%,
			0.98 36.4%,
			1.01 38.3%,
			1.04 40.5%,
			1.05 42.7%,
			1.05 44.1%,
			1.04 45.7%,
			1 53.3%,
			0.99 55.4%,
			0.98 57.5%,
			0.99 60.7%,
			1 68.1%,
			1.01 72.2%,
			1 86.7%,
			1 100%
		)
		infinite;
	transform-style: preserve-3d;
}
#footer .art-block-office-icons a::before {
	font-weight: 900 !important;
}
#footer .art-block-social-links {
	justify-content: center;
}
#footer .art-block-social-link a > span:first-child {
	border-radius: 50px;
	background: transparent;
	border-color: var(--ad-green);
	color: var(--ad-green);
}
#footer .art-block-social-link a > span:first-child:hover {
	background: var(--ad-green);
	border-color: var(--ad-green);
	color: var(--ad-blue);
	transition: var(--transition);
}
/* Footer Carousel - Client Logos */
#clients .art-container {
	max-width: 100%;
	padding: unset;
}
.art-footer-logo-marquee.marquee-gsap {
	margin: 0 0 20px 0;
}
#clients .art-footer-logo-marquee--logo-item {
	width: 100%;
	display: flex;
	gap: 2rem;
	padding: 0;
	align-items: center;
	justify-content: center;
}
#clients .art-footer-logo-marquee--logo-item li {
	flex: 0 0 auto;
}
#clients .art-footer-logo-marquee--logo-item img {
	height: 90px;
	display: block;
	padding: 40px;
}

/* Trustist Widget */
#footer div.ts-widgetBody {
	text-align: center !important;
	line-height: 18px !important;
	font-family: var(--ff-text) !important;
	border: unset !important;
	min-width: 110px !important;
	background-color: white !important;
	display: table !important;
	margin: auto !important;
	padding: 8px 12px !important;
	border-radius: 4px !important;
	display: flex !important;
	align-items: flex-start;
	margin-top: 20px !important;
}
#footer div.ts-small div.ts-widgetLogo {
	height: 38px !important;
	padding: 4px !important;
	margin: unset !important;
	margin-right: 12px !important;
	box-sizing: border-box !important;
}
#footer div.ts-widgetContent {
	display: inline-block !important;
	border-left: 1px solid var(--ad-bg-5) !important;
	padding: 4px 4px 4px 12px !important;
	box-sizing: border-box !important;
	text-align: left !important;
}
#footer div.ts-small a.ts-widgetLinkReviewer {
	margin: unset !important;
	display: none !important;
}
#footer .footer-menus {
	flex-direction: column;
	padding: 0 15px;
	width: unset;
	flex-wrap: wrap;
}
@media (min-width: 992px) {
	#footer .footer-menus {
		flex-direction: row;
		flex-wrap: nowrap;
	}
}

#footer #copyright {
	display: flex;
	flex-direction: row;
	gap: 16px;
	justify-content: space-between;
}
#footer .footer-bottom .copyright p,
#footer .copyright li,
#footer .copyright-info,
.copyright-info p,
.copyright-info p a {
	font-size: 16px;
}
/* Desktop */
@media (min-width: 992px) {
	#footer .footer-bottom .copyright p,
	#footer .copyright li,
	#footer .copyright-info,
	.copyright-info p,
	.copyright-info p a {
		font-size: 16px;
	}
}
/* XS Devices */
@media (max-width: 375px) {
	#footer .footer-bottom .copyright p,
	#footer .copyright li,
	#footer .copyright-info,
	.copyright-info p,
	.copyright-info p a {
		font-size: 14px;
	}
}

/* Animations */
@keyframes spinY {
	from {
		transform: rotateY(0deg);
	}
	to {
		transform: rotateY(360deg);
	}
}
