/*
Theme Name: Matha group
Theme URI: https://dev.wordpress-developer.us/matha-group/
Author: Matha group
Description: A clean WordPress theme for the Matha group website.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.9
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: matha-group
Tags: custom-logo, custom-menu, featured-images, blog, one-column
*/

@import url('https://fonts.googleapis.com/css2?family=Inter+Tight:ital,wght@0,100..900;1,100..900&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

html, body{
	overflow-x: hidden;
}

:root {
	--mg-blue: #3394f0;
	--mg-black: #020203;
	--mg-text: #353535;
	--mg-muted: #616161;
	--mg-soft-blue: #eaf3fd;
	--mg-border: #d6d6d6;
	--mg-font-heading: "Inter Tight", sans-serif;
	--mg-font-body: "Poppins", sans-serif;
	--mg-body-size: 18px;
	--mg-body-weight: 300;
	--mg-body-line-height: 26px;
	--mg-body-letter-spacing: 0;
	--mg-subheading-font-family: var(--mg-font-body);
	--mg-subheading-size: 18px;
	--mg-subheading-weight: 300;
	--mg-subheading-line-height: 26px;
	--mg-subheading-letter-spacing: 12.6px;
	--mg-h1-size: clamp(48px, 4.17vw, 80px);
	--mg-h1-line-height: 1.0625;
	--mg-h1-letter-spacing: -0.01em;
	--mg-h2-size: 60px;
	--mg-h2-line-height: 65px;
	--mg-h2-letter-spacing: -0.01em;
	--mg-h3-size: 34px;
	--mg-h3-line-height: 38px;
	--mg-h3-letter-spacing: -0.01em;
	--mg-button-min-height: 58px;
	--mg-button-padding: 15px 30px;
	--mg-button-radius: 60px;
	--mg-button-gap: 15px;
	--mg-button-font-size: 18px;
	--mg-button-line-height: 28px;
}

body {
	margin: 0;
	background: #ffffff;
	color: var(--mg-text);
	font-family: var(--mg-font-body);
	font-size: var(--mg-body-size);
	font-weight: var(--mg-body-weight);
	line-height: var(--mg-body-line-height);
	letter-spacing: var(--mg-body-letter-spacing);
}

h2 {
	margin-top: 0;
	font-family: var(--mg-font-heading);
	font-size: var(--mg-h2-size);
	font-weight: 700;
	line-height: var(--mg-h2-line-height);
	letter-spacing: var(--mg-h2-letter-spacing);
}

h3 {
	margin-top: 0;
	font-family: var(--mg-font-heading);
	font-size: var(--mg-h3-size);
	font-weight: 700;
	line-height: var(--mg-h3-line-height);
	letter-spacing: var(--mg-h3-letter-spacing);
}

a {
	color: inherit;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
}

img {
	max-width: 100%;
	height: auto;
}

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.mg-site-header {
	position: absolute;
	top: 72px;
	left: 0;
	z-index: 50;
	width: 100%;
}

.mg-navbar {
	position: relative;
	width: min(100% - 48px, 1440px);
	min-height: 80px;
	margin-inline: auto;
	padding: 12px 21px 12px 30px;
	background: rgba(0, 0, 0, 0.35);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 70px;
	backdrop-filter: blur(30px);
	-webkit-backdrop-filter: blur(30px);
}

.mg-navbar .container {
	max-width: none;
	padding-inline: 0;
}

.mg-navbar__brand {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	min-width: 0;
	margin-right: 0;
	color: #ffffff;
	font-family: var(--mg-font-heading);
	font-size: 28px;
	font-weight: 700;
	line-height: 1;
	text-transform: capitalize;
	letter-spacing: 0;
}

.mg-navbar__brand:hover,
.mg-navbar__brand:focus {
	color: #ffffff;
}

.mg-navbar__brand .custom-logo {
	display: block;
	width: auto;
	max-width: 218px;
	max-height: 32px;
	object-fit: contain;
}

.mg-navbar__logo-mark {
	display: inline-block;
	width: 46px;
	height: 30px;
	border-radius: 999px;
	background:
		radial-gradient(circle at 30% 50%, #ffffff 0 18%, transparent 19%),
		linear-gradient(135deg, #ffffff 0 48%, transparent 49%),
		var(--mg-blue);
}

.mg-navbar__site-name {
	white-space: nowrap;
}

.mg-navbar .navbar-nav {
	gap: clamp(42px, 4.9vw, 94px);
	margin-right: clamp(48px, 4.7vw, 90px);
}

.mg-navbar .nav-link {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 12px;
	padding: 10px 0;
	color: #ffffff;
	font-size: 18px;
	font-weight: 300;
	line-height: 26px;
	text-transform: capitalize;
	transition:
		color 180ms ease,
		transform 180ms ease;
}

.mg-navbar .nav-link::before {
	position: absolute;
	right: 0;
	bottom: -18px;
	left: 0;
	width: 0;
	height: 2px;
	margin-inline: auto;
	content: "";
	background: #fff;
	border-radius: 30px;
	transition: width 220ms ease;
}

.mg-navbar .dropdown-toggle::after {
	display: none;
}

.mg-menu-arrow {
	display: block;
	width: 10px;
	height: 6px;
	flex: 0 0 auto;
}

.mg-navbar .nav-link:hover,
.mg-navbar .nav-link:focus,
.mg-navbar .nav-link.active {
	color: #ffffff;
}
.mg-navbar .nav-link:hover::before {
	width: 37px;
}

.mg-navbar .nav-link.active::after,
.mg-navbar .current-menu-item > .nav-link::after {
	position: absolute;
	right: 0;
	bottom: -17px;
	left: 0;
	width: 37px;
	height: 2px;
	margin-inline: auto;
	content: "";
	background: #ffffff;
	border-radius: 30px;
}

.mg-navbar .nav-link.active::before,
.mg-navbar .current-menu-item > .nav-link::before {
	display: none;
}

.mg-navbar .dropdown-menu {
	margin-top: 16px;
	padding: 10px;
	background: rgba(0, 0, 0, 0.82);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 18px;
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
}

.mg-navbar .dropdown-item {
	color: #ffffff;
	border-radius: 10px;
	font-size: 16px;
}

.mg-navbar .dropdown-item:hover,
.mg-navbar .dropdown-item:focus {
	background: rgba(255, 255, 255, 0.12);
	color: #ffffff;
}

.mg-navbar__toggle {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	padding: 0;
	overflow: hidden;
	background: rgba(255, 255, 255, 0.1);
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 999px;
	box-shadow: none;
	transition: background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.mg-navbar__toggle:hover {
	background: rgba(51, 148, 240, 0.95);
	border-color: rgba(51, 148, 240, 0.95);
	box-shadow: 0 12px 28px rgba(51, 148, 240, 0.28);
}

.mg-navbar__toggle:focus {
	box-shadow: 0 0 0 3px rgba(51, 148, 240, 0.35);
}

.mg-navbar__toggle:active {
	transform: translateY(0);
}

.mg-navbar__toggle .navbar-toggler-icon {
	position: relative;
	width: 22px;
	height: 14px;
	background-image: none;
	filter: none;
}

.mg-navbar__toggle .navbar-toggler-icon::before,
.mg-navbar__toggle .navbar-toggler-icon::after {
	position: absolute;
	left: 0;
	width: 100%;
	height: 2px;
	content: "";
	background: #ffffff;
	border-radius: 999px;
	transition: top 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}

.mg-navbar__toggle .navbar-toggler-icon::before {
	top: 1px;
	box-shadow: 0 6px 0 #ffffff;
}

.mg-navbar__toggle .navbar-toggler-icon::after {
	top: 13px;
}

.mg-navbar__toggle[aria-expanded="true"] {
	background: #3394f0;
	border-color: #3394f0;
}

.mg-navbar__toggle[aria-expanded="true"] .navbar-toggler-icon::before {
	top: 7px;
	box-shadow: 0 0 0 transparent;
	transform: rotate(45deg);
}

.mg-navbar__toggle[aria-expanded="true"] .navbar-toggler-icon::after {
	top: 7px;
	transform: rotate(-45deg);
}

.mg-header-cta {
	position: relative;
	overflow: hidden;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--mg-button-gap);
	min-height: var(--mg-button-min-height);
	padding: var(--mg-button-padding);
	background: var(--mg-blue);
	border: 0;
	border-radius: var(--mg-button-radius);
	color: #ffffff;
	font-size: var(--mg-button-font-size);
	font-weight: 300;
	line-height: var(--mg-button-line-height);
	white-space: nowrap;
	box-shadow: 0 14px 30px rgba(51, 148, 240, 0.24);
	transition:
		background-color 180ms ease,
		box-shadow 180ms ease,
		transform 180ms ease;
}

.mg-header-cta::before {
	position: absolute;
	inset: 0;
	content: "";
	background: linear-gradient(110deg, transparent 0%, rgba(255, 255, 255, 0.28) 45%, transparent 60%);
	pointer-events: none;
	transform: translateX(-120%);
	transition: transform 500ms ease;
}

.mg-header-cta > * {
	position: relative;
	z-index: 1;
}

.mg-header-cta__icon {
	display: block;
	width: 12px;
	height: 12px;
	flex: 0 0 auto;
	transition: transform 180ms ease;
}

.mg-header-cta:hover {
	background: #1f82df;
	color: #ffffff;
	box-shadow: 0 20px 42px rgba(51, 148, 240, 0.36);
}

.mg-header-cta:hover::before {
	transform: translateX(120%);
}

.mg-header-cta:hover .mg-header-cta__icon {
	transform: rotate(45deg);
}

.mg-header-cta:focus {
	background: var(--mg-blue);
	color: #ffffff;
	box-shadow: 0 14px 30px rgba(51, 148, 240, 0.24);
	transform: none;
}

.mg-header-cta:focus::before,
.mg-header-cta:focus .mg-header-cta__icon {
	transform: none;
}

.mg-header-cta:active,
.mg-header-cta.btn:active,
.mg-header-cta.show {
	background: var(--mg-blue);
	color: #ffffff;
	box-shadow: 0 14px 30px rgba(51, 148, 240, 0.24);
	transform: none;
}

.mg-header-cta:active::before,
.mg-header-cta.btn:active::before,
.mg-header-cta.show::before,
.mg-header-cta:active .mg-header-cta__icon,
.mg-header-cta.btn:active .mg-header-cta__icon,
.mg-header-cta.show .mg-header-cta__icon {
	transform: none;
}

.site-main {
	min-height: 60vh;
}

.mg-error-404-body {
	background: #020203;
}

.mg-error-404 {
	position: relative;
	display: grid;
	min-height: 100vh;
	padding: 30px;
	overflow: hidden;
	background:
		linear-gradient(135deg, rgba(2, 2, 3, 0.92) 0%, rgba(5, 22, 38, 0.9) 48%, rgba(51, 148, 240, 0.16) 100%),
		radial-gradient(circle at 18% 18%, rgba(51, 148, 240, 0.34) 0, rgba(51, 148, 240, 0) 28%),
		radial-gradient(circle at 82% 76%, rgba(234, 243, 253, 0.18) 0, rgba(234, 243, 253, 0) 32%),
		#020203;
}

.mg-error-404::before {
	position: absolute;
	inset: 30px;
	content: "";
	border: 1px solid rgb(255 255 255 / 50%);
	border-radius: 40px;
	pointer-events: none;
}

.mg-error-404::after {
	position: absolute;
	inset: 0;
	content: "";
	background-image:
		linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
	background-size: 72px 72px;
	mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.62), rgba(0, 0, 0, 0));
	pointer-events: none;
}

.mg-error-404__shell {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-rows: auto 1fr;
	width: 100%;
	max-width: 1500px;
	min-height: calc(100vh - 60px);
	margin: 0 auto;
	padding: 30px;
}

.mg-error-404__brand {
	display: inline-flex;
	align-items: center;
	width: fit-content;
	margin-top: 28px;
	color: #ffffff;
	font-family: var(--mg-font-heading);
	font-size: 28px;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
}

.mg-error-404__brand .custom-logo {
	width: auto;
	max-width: 220px;
	max-height: 58px;
}

.mg-error-404__panel {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(360px, 0.75fr);
	align-items: center;
	gap: clamp(40px, 6vw, 110px);
	align-self: center;
	width: 100%;
}

.mg-error-404__content {
	position: relative;
	z-index: 2;
	max-width: 760px;
	padding: clamp(32px, 4vw, 58px);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 32px;
	background: rgba(255, 255, 255, 0.07);
	box-shadow: 0 30px 90px rgba(0, 0, 0, 0.28);
	backdrop-filter: blur(24px);
	-webkit-backdrop-filter: blur(24px);
}

.mg-error-404__eyebrow {
	margin: 0 0 16px;
	color: var(--mg-blue);
	font-family: var(--mg-font-body);
	font-size: var(--mg-body-size);
	font-weight: 300;
	line-height: var(--mg-body-line-height);
	letter-spacing: 0.32em;
	text-transform: uppercase;
}

.mg-error-404__title {
	margin: 0;
	color: #ffffff;
	font-family: var(--mg-font-heading);
	font-size: clamp(56px, 5.9vw, 108px);
	font-weight: 700;
	line-height: 0.95;
	letter-spacing: -0.03em;
	text-transform: capitalize;
}

.mg-error-404__text {
	max-width: 610px;
	margin: 26px 0 0;
	color: rgba(255, 255, 255, 0.76);
	font-family: var(--mg-font-body);
	font-size: 20px;
	font-weight: 300;
	line-height: 30px;
}

.mg-error-404__button.button {
	margin-top: 36px;
}

.mg-error-404__visual {
	position: relative;
	display: grid;
	place-items: center;
	min-height: 520px;
}

.mg-error-404__number {
	position: relative;
	z-index: 2;
	color: rgba(255, 255, 255, 0.96);
	font-family: var(--mg-font-heading);
	font-size: clamp(120px, 16vw, 300px);
	font-weight: 800;
	line-height: 0.8;
	letter-spacing: -0.08em;
	text-shadow: 0 24px 80px rgba(51, 148, 240, 0.28);
}

.mg-error-404__ring,
.mg-error-404__pulse {
	position: absolute;
	border-radius: 50%;
	pointer-events: none;
}

.mg-error-404__ring--one {
	width: min(35vw, 520px);
	height: min(35vw, 520px);
	border: 1px solid rgba(51, 148, 240, 0.42);
	box-shadow: inset 0 0 80px rgba(51, 148, 240, 0.08);
}

.mg-error-404__ring--two {
	width: min(25vw, 370px);
	height: min(25vw, 370px);
	border: 1px dashed rgba(255, 255, 255, 0.2);
	animation: matha-error-spin 26s linear infinite;
}

.mg-error-404__pulse {
	width: min(18vw, 270px);
	height: min(18vw, 270px);
	background: rgba(51, 148, 240, 0.22);
	filter: blur(30px);
	animation: matha-error-pulse 3.8s ease-in-out infinite;
}

@keyframes matha-error-spin {
	to {
		transform: rotate(360deg);
	}
}

@keyframes matha-error-pulse {
	0%,
	100% {
		opacity: 0.62;
		transform: scale(0.92);
	}

	50% {
		opacity: 1;
		transform: scale(1.08);
	}
}

.mg-page-banner {
	padding: 30px 0 0px;
	background: #ffffff;
}

.mg-page-banner__container {
	position: static;
	max-width: 1440px;
	padding-right: 0;
	padding-left: 0;
}

.mg-page-banner__content {
	position: static;
	max-width: 840px;
	color: #ffffff;
}

.mg-page-banner__title {
	margin: 0;
	color: #ffffff;
	font-family: var(--mg-font-heading);
	font-size: var(--mg-h1-size);
	font-weight: 700;
	line-height: var(--mg-h1-line-height);
	letter-spacing: var(--mg-h1-letter-spacing);
	text-transform: capitalize;
}

.mg-page-banner__title-line {
	display: inline-flex;
	align-items: center;
	gap: 16px;
}

.mg-page-banner__title-logo {
	display: inline-block;
	width: 56px;
	height: 56px;
	flex: 0 0 56px;
}

.mg-page-banner__description {
	max-width: 840px;
	margin: 4px 0 0;
	color: #ffffff;
	font-family: var(--mg-font-body);
	font-size: var(--mg-body-size);
	font-weight: var(--mg-body-weight);
	line-height: var(--mg-body-line-height);
	text-transform: capitalize;
}

.mg-page-banner__media-wrap {
	position: relative;
	width: min(100% - 60px);
	margin-top: 0;
	padding: 367px 0 85px 0;
	overflow: hidden;
	border-radius: 40px;
	isolation: isolate;
}

.mg-page-banner__media {
	position: absolute;
	inset: 0;
	z-index: -2;
	overflow: hidden;
	background: #111111;
	border-radius: inherit;
}

.mg-page-banner__overlay {
	position: absolute;
	inset: 0;
	z-index: -1;
	pointer-events: none;
	background:
		linear-gradient(90deg, rgba(0, 0, 0, 0.54) 0%, rgba(0, 0, 0, 0.34) 35%, rgba(0, 0, 0, 0.08) 64%, rgba(0, 0, 0, 0) 100%),
		linear-gradient(238deg, rgba(0, 0, 0, 0) 2.13%, rgba(0, 0, 0, 0.24) 97.63%);
	border-radius: inherit;
}

.mg-page-banner__media img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.mg-contact-content {
	padding: 0 0 92px;
}

.mg-about-content {
	padding: 92px 0;
}

.mg-about-who {
	padding: 100px 0 92px;
	background: #ffffff;
}

.mg-about-who__container {
	max-width: 1440px;
	padding-right: 0;
	padding-left: 0;
}

.mg-about-who__intro {
	max-width: 750px;
	margin: 0 auto;
	text-align: center;
}

.mg-about-who__kicker.mg-section-kicker {
	justify-content: center;
	align-items: center;
	flex-direction: column;
	gap: 9px;
}

.mg-about-who__kicker .mg-section-kicker__divider {
	width: 245px;
}

.mg-about-who__title {
	margin: 20px 0 0;
	color: #353535;
	text-transform: capitalize;
}

.mg-about-who__description {
	max-width: 750px;
	margin: 6px auto 0;
	color: #444444;
	font-family: var(--mg-font-body);
	font-size: var(--mg-body-size);
	font-weight: var(--mg-body-weight);
	line-height: var(--mg-body-line-height);
}

.mg-about-who__row {
	--bs-gutter-x: 38px;
	--bs-gutter-y: 32px;
	margin-top: 22px;
	align-items: stretch;
}

@media (min-width: 992px) {
	.mg-about-who__media-col {
		flex: 0 0 43.05%;
		max-width: 43.05%;
	}

	.mg-about-who__cards-col {
		flex: 0 0 56.95%;
		max-width: 56.95%;
	}

	.mg-clients__row > .col-lg-4 {
		flex: 0 0 calc(39% - 42.5px);
		max-width: calc(39% - 42.5px);
		width: calc(39% - 42.5px);
	}

	.mg-clients__row > .col-lg-8 {
		flex: 0 0 calc(61% - 42.5px);
		max-width: calc(61% - 42.5px);
		width: calc(61% - 42.5px);
	}

	.mg-testimonials__row > .col-lg-5 {
		width: 45%;
		flex: 0 0 45%;
		max-width: 45%;
	}

	.mg-testimonials__row > .col-lg-7 {
		width: 55%;
		flex: 0 0 55%;
		max-width: 55%;
	}
}

.mg-about-who__image {
	width: 100%;
	height: 404px;
	overflow: hidden;
	border-radius: 20px;
	background: #f8f8f8;
}

.mg-about-who__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.mg-about-who__cards {
	display: grid;
	gap: 24px;
	height: 100%;
}

.mg-about-who-card {
	display: block;
	min-height: 190px;
	padding: 38px 38px 32px;
	border-radius: 20px;
	background: #f8f8f8;
}

.mg-about-who-card__header {
	display: flex;
	align-items: center;
	gap: 16px;
}

.mg-about-who-card__icon {
	display: block;
	width: 30px;
	height: 30px;
	flex: 0 0 30px;
	object-fit: contain;
}

.mg-about-who-card__title {
	margin: 0;
	color: #3b3b3b;
	font-family: var(--mg-font-heading);
	font-size: 28px;
	font-weight: 700;
	line-height: 1.12;
	letter-spacing: -0.28px;
	text-transform: capitalize;
}

.mg-about-who-card__text {
	margin: 8px 0 0;
	color: #444444;
	font-family: var(--mg-font-body);
	font-size: var(--mg-body-size);
	font-weight: var(--mg-body-weight);
	line-height: var(--mg-body-line-height);
}

.mg-thank-you {
	position: relative;
	padding: 208px 0 116px;
	overflow: hidden;
	background:
		linear-gradient(180deg, rgba(234, 243, 253, 0.95) 0%, rgba(255, 255, 255, 1) 52%),
		linear-gradient(135deg, rgba(51, 148, 240, 0.12) 0%, rgba(2, 2, 3, 0) 58%);
}

.mg-thank-you::before {
	position: absolute;
	top: 112px;
	right: max(24px, calc((100% - 1440px) / 2));
	width: 320px;
	height: 320px;
	content: "";
	border: 1px solid rgba(51, 148, 240, 0.2);
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.52);
}

.mg-thank-you__container {
	position: relative;
	z-index: 1;
	max-width: 1440px;
}

.mg-thank-you__panel {
	width: min(100%, 860px);
	margin: 0 auto;
	padding: 84px 72px 76px;
	text-align: center;
	background: #ffffff;
	border: 1px solid rgba(51, 148, 240, 0.16);
	border-radius: 24px;
	box-shadow: 0 20px 70px rgba(2, 2, 3, 0.08);
}

.mg-thank-you__mark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 86px;
	height: 86px;
	margin-bottom: 28px;
	border-radius: 50%;
	background: var(--mg-blue);
	box-shadow: 0 16px 32px rgba(51, 148, 240, 0.26);
}

.mg-thank-you__mark span {
	display: block;
	width: 31px;
	height: 17px;
	border-bottom: 4px solid #ffffff;
	border-left: 4px solid #ffffff;
	transform: rotate(-45deg) translate(2px, -2px);
}

.mg-thank-you__kicker {
	margin: 0 0 13px;
	color: var(--mg-blue);
	font-family: var(--mg-subheading-font-family);
	font-size: var(--mg-subheading-size);
	font-weight: var(--mg-subheading-weight);
	line-height: var(--mg-subheading-line-height);
	letter-spacing: var(--mg-subheading-letter-spacing);
	text-transform: uppercase;
}

.mg-thank-you__title {
	margin: 0;
	color: var(--mg-text);
	font-family: var(--mg-font-heading);
	font-size: var(--mg-h1-size);
	font-weight: 700;
	line-height: var(--mg-h1-line-height);
	letter-spacing: var(--mg-h1-letter-spacing);
}

.mg-thank-you__text {
	max-width: 620px;
	margin: 20px auto 0;
	color: #444444;
	font-family: var(--mg-font-body);
	font-size: var(--mg-body-size);
	font-weight: var(--mg-body-weight);
	line-height: var(--mg-body-line-height);
}

.mg-thank-you__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 18px 30px;
	margin-top: 38px;
}

.mg-thank-you__button {
	position: relative;
	overflow: hidden;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--mg-button-gap);
	min-height: var(--mg-button-min-height);
	padding: var(--mg-button-padding);
	border-radius: var(--mg-button-radius);
	background: var(--mg-blue);
	color: #ffffff;
	font-family: var(--mg-font-body);
	font-size: var(--mg-button-font-size);
	font-weight: var(--mg-body-weight);
	line-height: var(--mg-button-line-height);
	text-decoration: none;
	box-shadow: 0 14px 30px rgba(51, 148, 240, 0.24);
	transition:
		background-color 180ms ease,
		box-shadow 180ms ease,
		transform 180ms ease;
}

.mg-thank-you__button::before {
	position: absolute;
	inset: 0;
	content: "";
	background: linear-gradient(110deg, transparent 0%, rgba(255, 255, 255, 0.28) 45%, transparent 60%);
	pointer-events: none;
	transform: translateX(-120%);
	transition: transform 500ms ease;
}

.mg-thank-you__button > * {
	position: relative;
	z-index: 1;
}

.mg-thank-you__button-icon {
	display: block;
	width: 12px;
	height: 12px;
	flex: 0 0 auto;
	transition: transform 180ms ease;
}

.mg-thank-you__button:hover,
.mg-thank-you__button:focus-visible {
	color: #ffffff;
	background-color: #1f82df;
	box-shadow: 0 20px 42px rgba(51, 148, 240, 0.36);
}

.mg-thank-you__button:hover::before,
.mg-thank-you__button:focus-visible::before {
	transform: translateX(120%);
}

.mg-thank-you__button:hover .mg-thank-you__button-icon,
.mg-thank-you__button:focus-visible .mg-thank-you__button-icon {
	transform: rotate(45deg);
}

.mg-thank-you__button:active {
	background-color: var(--mg-blue);
	box-shadow: 0 14px 30px rgba(51, 148, 240, 0.24);
	transform: none;
}

.mg-thank-you__button:active::before {
	transform: none;
}

.mg-thank-you__button:active .mg-thank-you__button-icon {
	transform: none;
}

.mg-thank-you__link {
	color: var(--mg-text);
	font-family: var(--mg-font-body);
	font-size: var(--mg-button-font-size);
	font-weight: 400;
	line-height: var(--mg-button-line-height);
	text-decoration: none;
}

.mg-thank-you__link:hover,
.mg-thank-you__link:focus-visible {
	color: var(--mg-blue);
}

.mg-page-banner__support {
	margin-top: 21px;
	gap: 18px;
}

.mg-contact-form-section {
	padding: 100px 0 70px 0;
	background: #ffffff;
}

.mg-contact-form-section__container {
	max-width: 1440px;
	padding-right: 0;
	padding-left: 0;
}

.mg-contact-form-section__row {
	--bs-gutter-x: 81px;
	--bs-gutter-y: 48px;
	align-items: flex-start;
}

.mg-contact-form-section__kicker {
	display: inline-flex !important;
	align-items: flex-start !important;
	flex-direction: column;
	gap: 11px !important;
}

.mg-contact-form-section__kicker .mg-section-kicker__divider {
	width: 245px;
}

.mg-contact-form-section__title,
.mg-contact-form-card__title {
	margin: 20px 0 0;
	color: #353535;
	text-transform: capitalize;
}

.mg-contact-form-section__title {
	max-width: 399px;
}

.mg-contact-info-list {
	display: grid;
	gap: 20px;
	max-width: 553px;
	margin-top: 21px;
}

.mg-contact-info-card {
	display: flex;
	align-items: center;
	gap: 25px;
	min-height: 120px;
	padding: 24px 34px 24px 21px;
	border: 1px solid #e8e8e8;
	border-radius: 20px;
	background: #ffffff;
}

.mg-contact-info-card--address {
	min-height: 146px;
}

.mg-contact-info-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 50px;
	height: 50px;
	flex: 0 0 50px;
	border-radius: 50%;
	background: #f3f9ff;
}

.mg-contact-info-card__icon img {
	display: block;
	width: 20px;
	height: 20px;
	object-fit: contain;
	filter: brightness(0) saturate(100%) invert(49%) sepia(82%) saturate(1527%) hue-rotate(184deg) brightness(99%) contrast(91%);
}

.mg-contact-info-card__label {
	display: block;
	color: #444444;
	font-family: var(--mg-font-body);
	font-size: var(--mg-body-size);
	font-weight: var(--mg-body-weight);
	line-height: var(--mg-body-line-height);
}

.mg-contact-info-card__value {
	display: block;
	margin-top: 1px;
	color: #3b3b3b;
	font-family: var(--mg-font-heading);
	font-size: 28px;
	font-weight: 700;
	line-height: 1.08;
	letter-spacing: -0.28px;
	text-transform: capitalize;
	text-decoration: none;
	overflow-wrap: anywhere;
}

a.mg-contact-info-card__value:hover,
a.mg-contact-info-card__value:focus-visible {
	color: var(--mg-blue);
}

.mg-contact-form-card {
	min-height: 635px;
	padding: 77px 63px 64px;
	background: #ffffff;
	border-radius: 20px;
	box-shadow: 0 4px 50px rgba(0, 0, 0, 0.08);
}

.mg-contact-form-card__title {
	margin-top: 0;
}

.mg-contact-form-card__text {
	margin: 5px 0 34px;
	color: #444444;
	font-family: var(--mg-font-body);
	font-size: var(--mg-body-size);
	font-weight: var(--mg-body-weight);
	line-height: var(--mg-body-line-height);
}

.mg-contact-form-card__form {
	margin-top: 0;
}

.mg-contact-form-card__form .gform_wrapper.gravity-theme,
.mg-contact-form-card__form .gform_wrapper {
	margin: 0;
}

.mg-contact-form-card__form .gform_required_legend,
.mg-contact-form-card__form .gform_validation_errors,
.mg-contact-form-card__form .gform_heading {
	display: none !important;
}

.mg-contact-form-card__form .gform_fields {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 39px;
	row-gap: 29px;
}

.mg-contact-form-card__form .gfield {
	grid-column: auto;
	margin: 0;
	padding: 0;
}

.mg-contact-form-card__form .gfield--width-full,
.mg-contact-form-card__form .gfield--type-textarea,
.mg-contact-form-card__form .gfield:has(textarea),
.mg-contact-form-card__form .gfield.message {
	grid-column: 1 / -1;
}

.mg-contact-form-card__form .gfield_label {
	display: none;
	margin: 0;
	color: #444444;
	font-family: var(--mg-font-body);
	font-size: var(--mg-body-size);
	font-weight: var(--mg-body-weight);
	line-height: var(--mg-body-line-height);
}

.mg-contact-form-card__form input[type="text"],
.mg-contact-form-card__form input[type="email"],
.mg-contact-form-card__form input[type="tel"],
.mg-contact-form-card__form input[type="url"],
.mg-contact-form-card__form textarea {
	width: 100%;
	min-height: 44px;
	padding: 0 0 14px !important;
	border-top: 0 !important;
	border-left: 0 !important;
	border-right: 0 !important;
	border-bottom: 1px solid #e2e2e2;
	border-radius: 0;
	background: transparent;
	color: #353535;
	font-family: var(--mg-font-body);
	font-size: var(--mg-body-size) !important;
	font-weight: var(--mg-body-weight);
	line-height: var(--mg-body-line-height);
	box-shadow: none;
	outline: none;
}

.mg-contact-form-card__form textarea {
	height: 84px !important;
	resize: vertical;
}
.mg-contact-form-card__form .gform_wrapper.gravity-theme .gform_fields {
    grid-column-gap: 36px !important;
    grid-row-gap: 56px !important;
}
.mg-contact-form-card__form input::placeholder,
.mg-contact-form-card__form textarea::placeholder {
	color: #444444;
	opacity: 1;
}

.mg-contact-form-card__form .gform_footer,
.mg-contact-form-card__form .gform_page_footer {
	margin: 25px 0 0 !important;
	padding: 0 !important;
}

.mg-contact-form-card__form input[type="submit"],
.mg-contact-form-card__form button[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: var(--mg-button-min-height);
	padding: 15px 57px 15px 30px !important;
	border: 0;
	border-radius: var(--mg-button-radius);
	background: #3394f0 url("assets/image/footer-button-arrow.svg") calc(100% - 30px) 50% / 10px 10px no-repeat;
	color: #ffffff;
	font-family: var(--mg-font-body);
	font-size: var(--mg-button-font-size);
	font-weight: var(--mg-body-weight);
	line-height: var(--mg-button-line-height);
	box-shadow: none;
	transition: background-color 180ms ease, transform 180ms ease;
	margin: 0 !important;
}

.mg-contact-form-card__form input[type="submit"]:hover,
.mg-contact-form-card__form input[type="submit"]:focus-visible,
.mg-contact-form-card__form button[type="submit"]:hover,
.mg-contact-form-card__form button[type="submit"]:focus-visible {
	background-color: #187ed8;
	transform: translateY(-1px);
}

.mg-banner-slider {
	position: relative;
	width: min(100% - 60px);
/* 	min-height: 983px; */
	margin: 30px auto 0;
	overflow: hidden;
	background: #111111;
	border-radius: 20px;
	color: #ffffff;
	cursor: grab;
	touch-action: pan-y;
	user-select: none;
}

.mg-banner-slider.is-dragging {
	cursor: grabbing;
}

.mg-banner-slider .carousel-inner,
.mg-banner-slider .carousel-item {
	min-height: 862px;
}

.mg-banner-slide {
	position: relative;
	background:
		linear-gradient(238deg, rgba(0, 0, 0, 0) 2.13%, rgba(0, 0, 0, 0.44) 97.63%),
		radial-gradient(circle at 72% 34%, rgba(255, 255, 255, 0.28) 0, rgba(255, 255, 255, 0) 23%),
		linear-gradient(135deg, #1b2a34 0%, #08090a 58%, #050505 100%);
}

.mg-banner-slide.has-background-image {
	background:
		linear-gradient(238deg, rgba(0, 0, 0, 0) 2.13%, rgba(0, 0, 0, 0.8) 97.63%),
		var(--mg-banner-bg) center / cover no-repeat;
}

.mg-banner-slide__content {
	position: relative;
	z-index: 2;
	width: min(100% - 48px, 1440px);
	margin-inline: auto;
	padding-top: 280px;
	padding-bottom: 150px;
}

.mg-banner-slide__title {
	max-width: 825px;
	margin: 0;
	color: #ffffff;
	font-family: var(--mg-font-heading);
	font-size: var(--mg-h1-size);
	font-weight: 700;
	line-height: var(--mg-h1-line-height);
	letter-spacing: var(--mg-h1-letter-spacing);
	text-transform: capitalize;
}

.mg-banner-slide__title-line {
	display: inline-flex;
	align-items: center;
	gap: 16px;
}

.mg-banner-slide__title-logo {
	display: inline-block;
	width: 56px;
	height: 56px;
	flex: 0 0 auto;
	vertical-align: middle;
}

.mg-banner-slide__description {
	max-width: 840px;
	margin: 10px 0 0;
	color: #ffffff;
	font-family: var(--mg-font-body);
	font-size: var(--mg-body-size);
	font-weight: 300;
	line-height: var(--mg-body-line-height);
	text-transform: capitalize;
}

.mg-banner-slide__button {
	gap: var(--mg-button-gap);
}

.mg-banner-support {
	display: flex;
	align-items: center;
	gap: 24px;
	margin-top: 26px;
	color: #ffffff;
}

.mg-banner-support__images {
	display: flex;
	align-items: center;
	min-width: 142px;
}

.mg-banner-support__image {
	display: block;
	width: 53px;
	height: 53px;
	flex: 0 0 53px;
	margin-left: -24px;
	border: 2px solid #020203;
	border-radius: 999px;
	object-fit: cover;
}

.mg-banner-support__image:first-child {
	margin-left: 0;
	border-color: transparent;
}

.mg-banner-support__text {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	text-transform: capitalize;
}

.mg-banner-support__text strong {
	color: #ffffff;
	font-family: var(--mg-font-heading);
	font-size: 34px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: -0.01em;
}

.mg-banner-support__text span {
	color: #ffffff;
	font-family: var(--mg-font-body);
	font-size: var(--mg-body-size);
	font-weight: 300;
	line-height: var(--mg-body-line-height);
}

.button > *,
.wp-block-button__link > * {
	position: relative;
	z-index: 1;
}

.mg-button-icon {
	display: block;
	width: 12px;
	height: 12px;
	flex: 0 0 auto;
	transition: transform 180ms ease;
}

.button:hover .mg-button-icon,
.wp-block-button__link:hover .mg-button-icon {
	transform: rotate(45deg);
}

.mg-banner-slider__meta {
	position: absolute;
	bottom: 100px;
	left: max(24px, calc((100% - 1440px) / 2));
	z-index: 4;
	display: flex;
	align-items: center;
	gap: 14px;
	color: #ffffff;
}

.mg-banner-slider__current,
.mg-banner-slider__total {
	display: inline-block;
	min-width: 24px;
	font-family: var(--mg-font-heading);
	font-size: 18px;
	font-weight: 300;
	line-height: 26px;
	letter-spacing: 0;
}

.mg-banner-slider__current {
	text-align: left;
	color: #ffffff;
}

.mg-banner-slider__total {
	text-align: right;
	color: rgba(255, 255, 255, 0.55);
}

.mg-banner-progress {
	position: relative;
	display: block;
	width: 101px;
	height: 2px;
	overflow: hidden;
	background: rgba(255, 255, 255, 0.26);
	border-radius: 999px;
}

.mg-banner-progress__bar {
	position: absolute;
	inset: 0 auto 0 0;
	width: 100%;
	background: #ffffff;
	border-radius: inherit;
	transform: scaleX(0);
	transform-origin: left center;
}

.mg-banner-progress__bar.is-running {
	animation: matha-banner-progress 6000ms linear forwards;
}

@keyframes matha-banner-progress {
	to {
		transform: scaleX(1);
	}
}

.mg-home-logos {
	padding: 52px 0 36px;
	background: #ffffff;
}

.mg-home-logos__container {
	max-width: 1440px;
	padding-right: 16px;
	padding-left: 16px;
}

.mg-home-logos__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.mg-home-logos__item {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 192px;
	padding: 36px 30px;
	overflow: hidden;
	border: 1px solid #0f5fa8;
	border-radius: 20px;
	text-decoration: none;
	transition: border-color 220ms ease, box-shadow 220ms ease, transform 220ms ease;
}


.mg-home-logos__item:hover,
.mg-home-logos__item:focus-visible {
	border-color: rgba(51, 148, 240, 0.58);
	box-shadow: 0 28px 62px rgba(51, 148, 240, 0.3);
	transform: translateY(-6px);
}

.mg-home-logos__item:hover::before,
.mg-home-logos__item:focus-visible::before {
	opacity: 0.7;
	transform: translateX(110%);
}

.mg-home-logos__item:hover::after,
.mg-home-logos__item:focus-visible::after {
	inset: 10px;
	opacity: 1;
}

.mg-home-logos__image {
	position: relative;
	z-index: 1;
	display: block;
	width: auto;
	max-width: min(100%, 360px);
	max-height: 70px;
	object-fit: contain;
	transition: filter 220ms ease, opacity 220ms ease, transform 220ms ease;
}

.mg-home-logos__item:hover .mg-home-logos__image,
.mg-home-logos__item:focus-visible .mg-home-logos__image {
	filter:
		drop-shadow(0 1px 0 rgba(255, 255, 255, 0.28))
		drop-shadow(0 18px 28px rgba(0, 0, 0, 0.26));
	transform: scale(1.05);
}

.mg-who {
	background: #ffffff;
	padding: 100px 0;
}

.mg-who__container {
	max-width: 1440px;
	padding-right: 0;
	padding-left: 0;
}

.mg-who__top {
	--bs-gutter-x: 0;
	--bs-gutter-y: 0;
	column-gap: 35px;
}

@media (min-width: 1200px) {
	.mg-who__meta-col {
		width: 37%;
	}

	.mg-who__body-col {
		width: 63%;
	}

	.mg-who-stats {
		gap: 30px;
		margin-right: 0;
		margin-left: 0;
	}

	.mg-who-stats > .col {
		flex: 0 0 460px;
		max-width: 460px;
		padding-right: 0;
		padding-left: 0;
	}
}

.mg-section-kicker {
	display: flex;
	align-items: flex-end;
	gap: 20px;
	padding-top: 0;
	color: #616161;
	font-family: var(--mg-subheading-font-family);
	font-size: var(--mg-subheading-size);
	font-weight: var(--mg-subheading-weight);
	line-height: var(--mg-subheading-line-height);
	letter-spacing: var(--mg-subheading-letter-spacing);
	text-transform: uppercase;
	white-space: nowrap;
}

.mg-section-kicker__divider {
	display: block;
	width: 245px;
	height: 15px;
	flex: 0 0 auto;
}

.mg-who__copy {
	width: 100%;
	margin-top: 15px;
}

.mg-who__title {
	max-width: 100%;
	margin: 0;
	color: #e4e4e4;
	font-family: var(--mg-font-heading);
	font-size: var(--mg-h2-size);
	font-weight: 700;
	line-height: var(--mg-h2-line-height);
	letter-spacing: var(--mg-h2-letter-spacing);
	text-transform: capitalize;
}

.mg-who__title span {
	color: #353535;
}

.mg-who__description {
	margin: 0;
	color: #444444;
	font-family: var(--mg-font-body);
	font-size: var(--mg-body-size);
	font-weight: 300;
	line-height: var(--mg-body-line-height);
}

.mg-who__description p {
	margin: 0;
}

.mg-who__description p + p {
	margin-top: 26px;
}

.mg-who__button {
	margin-top: 28px;
}

.mg-who-stats {
	--bs-gutter-x: 30px;
	--bs-gutter-y: 30px;
	margin-top: 35px;
}


.mg-who-stat {
	position: relative;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 239px;
	height: 239px;
	padding: 39px 36px 38px;
	background: rgba(127, 127, 127, 0.05);
	border-radius: 20px;
	color: #353535;
}

.mg-who-stat::after {
	display: none;
}

.mg-who-stat strong {
	display: block;
	color: var(--mg-blue);
	font-family: var(--mg-font-heading);
	font-size: 60px;
	font-weight: 700;
	line-height: 65px;
	letter-spacing: -0.01em;
	text-transform: capitalize;
}

.mg-who-stat__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	width: 100%;
}

.mg-who-stat span {
	display: inline-block;
	color: #353535;
	font-family: var(--mg-font-heading);
	font-size: 34px;
	font-weight: 700;
	line-height: 38px;
	letter-spacing: -0.01em;
	text-transform: capitalize;
	white-space: nowrap;
}

.mg-who-stat small {
	display: inline-block;
	color: #444444;
	font-family: var(--mg-font-body);
	font-size: 18px;
	font-weight: 300;
	line-height: 26px;
	white-space: nowrap;
}

.hero {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(280px, 0.95fr);
	align-items: center;
	gap: 40px;
	min-height: 760px;
	padding: 220px min(12vw, 240px) 90px;
	background:
		linear-gradient(238deg, rgba(0, 0, 0, 0) 2%, rgba(0, 0, 0, 0.4) 98%),
		#111111;
	color: #ffffff;
}

.hero__eyebrow {
	margin: 0 0 20px;
	color: #ffffff;
	font-size: 18px;
	font-weight: 300;
	letter-spacing: 0;
	text-transform: capitalize;
}

.hero h1 {
	max-width: 820px;
	margin: 0;
	font-family: var(--mg-font-heading);
	font-size: var(--mg-h1-size);
	font-weight: 700;
	line-height: var(--mg-h1-line-height);
	letter-spacing: var(--mg-h1-letter-spacing);
	text-transform: capitalize;
}

.hero p {
	max-width: 720px;
	margin: 22px 0 0;
	color: rgba(255, 255, 255, 0.88);
	font-size: 18px;
	font-weight: 300;
	line-height: 26px;
}

.hero__panel {
	display: none;
}

.button,
.wp-block-button__link {
	position: relative;
	overflow: hidden;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--mg-button-gap);
	min-height: var(--mg-button-min-height);
	margin-top: 30px;
	padding: var(--mg-button-padding);
	background: var(--mg-blue);
	border-radius: var(--mg-button-radius);
	color: #ffffff;
	font-size: var(--mg-button-font-size);
	font-weight: 300;
	line-height: var(--mg-button-line-height);
	text-decoration: none;
	box-shadow: 0 14px 30px rgba(51, 148, 240, 0.24);
	transition:
		background-color 180ms ease,
		box-shadow 180ms ease,
		transform 180ms ease;
}

.button::before,
.wp-block-button__link::before {
	position: absolute;
	inset: 0;
	content: "";
	background: linear-gradient(110deg, transparent 0%, rgba(255, 255, 255, 0.28) 45%, transparent 60%);
	pointer-events: none;
	transform: translateX(-120%);
	transition: transform 500ms ease;
}

.button:hover,
.wp-block-button__link:hover {
	background: #1f82df;
	color: #ffffff;
	box-shadow: 0 20px 42px rgba(51, 148, 240, 0.36);
}

.button:hover::before,
.wp-block-button__link:hover::before {
	transform: translateX(120%);
}

.button:focus,
.wp-block-button__link:focus {
	background: var(--mg-blue);
	color: #ffffff;
	box-shadow: 0 14px 30px rgba(51, 148, 240, 0.24);
	transform: none;
}

.button:focus::before,
.wp-block-button__link:focus::before {
	transform: none;
}

.button:active,
.wp-block-button__link:active {
	background: var(--mg-blue);
	color: #ffffff;
	box-shadow: 0 14px 30px rgba(51, 148, 240, 0.24);
	transform: none;
}

.button:active::before,
.wp-block-button__link:active::before {
	transform: none;
}

.mg-who .mg-who__button {
	margin-top: 28px;
}

.mg-what__container {
	max-width: 1880px;
	padding-right: 0;
	padding-left: 0;
}

.mg-what__panel {
	position: relative;
	overflow: hidden;
	padding: 104px 220px 100px;
	background: #f5f9fe;
	border-radius: 50px;
}

.mg-what__panel::after {
	position: absolute;
	right: -170px;
	bottom: -40px;
	width: 489px;
	height: 489px;
	content: "";
	background: url("assets/image/what-star.svg") center / contain no-repeat;
	pointer-events: none;
}

.mg-what__header {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 1440px;
	margin: 0 auto;
}

.mg-what__label,
.mg-what-company__number {
	margin: 0;
	color: #616161;
	font-family: var(--mg-subheading-font-family);
	font-size: var(--mg-subheading-size);
	font-weight: var(--mg-subheading-weight);
	line-height: var(--mg-subheading-line-height);
	letter-spacing: var(--mg-subheading-letter-spacing);
	text-transform: uppercase;
	white-space: nowrap;
}

.mg-what__title {
	margin: 15px 0 0;
	color: #353535;
	text-transform: capitalize;
}

.mg-what__divider {
	display: block;
	margin-top: 20px;
}

.mg-what__divider img {
	display: block;
	width: 130px;
	height: 15px;
}

.mg-what__companies {
	position: relative;
	z-index: 1;
	max-width: 1440px;
	margin: 42px auto 0;
}

.mg-what-company {
	--bs-gutter-x: 34px;
	--bs-gutter-y: 30px;
	align-items: flex-start;
}

.mg-what-company + .mg-what-company {
	margin-top: 70px;
}

.mg-what-company__image {
	display: block;
	width: 100%;
	height: 500px;
	object-fit: cover;
	border-radius: 20px;
}

.mg-what-company__content {
	padding-top: 23px;
}

.mg-what-company--reversed .mg-what-company__content {
	padding-top: 39px;
}

.mg-what-company__title {
	margin: 25px 0 0;
	color: #000000;
	text-transform: capitalize;
}

.mg-what-company__description {
	max-width: 829px;
	margin: 10px 0 0;
	color: #444444;
}

.mg-what-services {
	--bs-gutter-x: 16px;
	--bs-gutter-y: 16px;
	margin-top: 15px;
}

.mg-what-service {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	min-height: 178px;
	height: 100%;
	padding: 31px 27px 24px;
	background: #eaf3fd;
	border-radius: 20px;
	color: #444444;
}

.mg-what-service__icon {
	display: block;
	width: 35px;
	height: 35px;
	object-fit: contain;
}

.mg-what-service span {
	display: block;
	margin-top: 35px;
	color: #444444;
}

.mg-what-company__button {
	min-height: 58px;
	margin-top: 35px;
	padding: 15px 30px;
	font-size: 18px;
	line-height: 28px;
}

.mg-clients {
	padding: 100px 0;
}

.mg-clients__container {
	max-width: 1440px;
	padding-right: 0;
	padding-left: 0;
}

.mg-clients__row {
	--bs-gutter-x: 0;
	--bs-gutter-y: 42px;
	display: flex;
	align-items: flex-start;
	gap: 85px;
}


.mg-clients__label {
	margin: 0;
	color: #616161;
	font-family: var(--mg-subheading-font-family);
	font-size: var(--mg-subheading-size);
	font-weight: var(--mg-subheading-weight);
	line-height: var(--mg-subheading-line-height);
	letter-spacing: var(--mg-subheading-letter-spacing);
	text-transform: uppercase;
	white-space: nowrap;
}

.mg-clients__heading-row {
	display: flex;
	align-items: center;
	gap: 30px;
	margin-top: 30px;
}

.mg-clients__divider {
	display: block;
	width: 130px;
	height: 15px;
	flex: 0 0 auto;
}

.mg-clients__title {
	margin: 0;
	color: #000000;
	white-space: nowrap;
}

.mg-clients__image-frame {
	overflow: hidden;
	margin-top: 20px;
	padding: 15px 20px;
	background: rgba(217, 217, 217, 0.2);
	border-radius: 20px;
}

.mg-clients__image {
	display: block;
	width: 100%;
	height: 197px;
	object-fit: cover;
	border-radius: 20px;
}

.mg-clients-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 338px minmax(0, 1fr);
}

.mg-clients-logo {
	display: flex;
	align-items: center;
	justify-content: center;
	/* min-height: 82px; */
	padding: 20px;
	border-right: 1px solid #ECECEC;
	border-bottom: 1px solid #ECECEC;
}

.mg-clients-logo:nth-child(-n + 3) {
	padding-top: 0;
}

.mg-clients-logo:nth-child(3n) {
	padding-right: 20px;
	border-right: 0;
}

.mg-clients-logo:nth-child(3n + 1) {
	padding-left: 20px;
}

.mg-clients-logo:nth-last-child(-n + 3) {
	padding-bottom: 0;
	border-bottom: 0;
}

.mg-clients-logo__image {
	display: block;
	width: auto;
	/* max-width: 160px; */
	max-height: 80px;
	object-fit: contain;
	opacity: 0.3;
	mix-blend-mode: luminosity;
	filter: grayscale(1);
	transition:
		filter 180ms ease,
		mix-blend-mode 180ms ease,
		opacity 180ms ease;
}

.mg-clients-logo:hover img,
.mg-clients-logo:focus-within img{
	opacity: 1;
	mix-blend-mode: normal;
	filter: none;
}

.mg-clients-logo span {
	color: #616161;
	font-weight: 600;
}

.mg-gallery {
	overflow: hidden;
}

.mg-gallery__header {
	text-align: center;
}

.mg-gallery__label {
	margin: 0;
	color: #616161;
	font-family: var(--mg-subheading-font-family);
	font-size: var(--mg-subheading-size);
	font-weight: var(--mg-subheading-weight);
	line-height: var(--mg-subheading-line-height);
	letter-spacing: var(--mg-subheading-letter-spacing);
	text-transform: uppercase;
}

.mg-gallery__divider {
	display: block;
	width: 245px;
	height: 15px;
	margin: 11px auto 0;
	object-fit: contain;
}

.mg-gallery__title {
	margin: 23px 0 0;
	color: #353535;
	text-transform: capitalize;
}

.mg-gallery__marquees {
	--mg-gallery-gap: 32px;
	--mg-gallery-gap-offset: 16px;
	display: grid;
	gap: var(--mg-gallery-gap);
	margin-top: 49px;
}

.mg-gallery-row {
	width: 100%;
	overflow: visible;
}

.mg-gallery-row__track {
	display: flex;
	width: max-content;
	gap: var(--mg-gallery-gap);
	backface-visibility: hidden;
	transform-style: preserve-3d;
	will-change: transform;
}

.mg-gallery-row--rtl .mg-gallery-row__track {
	animation: matha-gallery-rtl 36s linear infinite;
}

.mg-gallery-row--ltr .mg-gallery-row__track {
	animation: matha-gallery-ltr 36s linear infinite;
	transform: translateX(-50%);
}

.mg-gallery-row.is-js .mg-gallery-row__track {
	animation: none;
	cursor: grab;
	-webkit-user-select: none;
	touch-action: pan-y;
	user-select: none;
	transform: translate3d(var(--mg-gallery-x, 0px), 0, 0);
}

.mg-gallery-row.is-dragging .mg-gallery-row__track {
	cursor: grabbing;
}

.mg-gallery-card {
	flex: 0 0 clamp(280px, 21.86vw, 420px);
	aspect-ratio: 420 / 397;
	margin: 0;
	overflow: hidden;
	border-radius: 20px;
	background: #f5f5f5;
	backface-visibility: hidden;
	transform: translateZ(0);
}

.mg-gallery-card__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	pointer-events: none;
	-webkit-user-drag: none;
	user-select: none;
}

.mg-gallery-page-section {
	padding: 100px 0 70px;
	background: #ffffff;
}

.mg-gallery-page-section__container {
	max-width: 1472px;
	padding-right: 16px;
	padding-left: 16px;
}

.mg-gallery-page-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 35px 35px;
}

.mg-gallery-page-card {
	position: relative;
	aspect-ratio: 457 / 397;
	margin: 0;
	overflow: hidden;
	border-radius: 20px;
	background: #f5f5f5;
	box-shadow: 0 0 0 rgba(0, 0, 0, 0);
	transition: box-shadow 260ms ease, transform 260ms ease;
}

.mg-gallery-page-card:nth-child(-n+3) {
	aspect-ratio: 457 / 435;
}

.mg-gallery-page-card__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1);
	transition: transform 520ms ease, filter 260ms ease;
}

.mg-gallery-page-card__link {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	cursor: zoom-in;
}

.mg-gallery-page-card__link::after {
	position: absolute;
	inset: 0;
	content: "";
	background:
		linear-gradient(180deg, rgba(0, 0, 0, 0) 38%, rgba(0, 0, 0, 0.22) 100%),
		rgba(51, 148, 240, 0.08);
	opacity: 0;
	pointer-events: none;
	transition: opacity 260ms ease;
}

.mg-gallery-page-card:hover,
.mg-gallery-page-card:focus-within {
	box-shadow: 0 22px 50px rgba(0, 0, 0, 0.16);
	transform: translateY(-6px);
}

.mg-gallery-page-card:hover .mg-gallery-page-card__image,
.mg-gallery-page-card:focus-within .mg-gallery-page-card__image {
	filter: saturate(1.08) contrast(1.04);
	transform: scale(1.055);
}

.mg-gallery-page-card:hover .mg-gallery-page-card__link::after,
.mg-gallery-page-card:focus-within .mg-gallery-page-card__link::after {
	opacity: 1;
}

.mg-gallery-page-section__actions {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	margin-top: 54px;
}

.mg-gallery-page-load-more {
	display: inline-flex;
	align-items: center;
	gap: 15px;
	padding: 15px 30px;
	border: 0;
	border-radius: 60px;
	background: #3394f0;
	color: #ffffff;
	font-family: var(--mg-font-body);
	font-size: var(--mg-button-font-size);
	font-weight: 300;
	line-height: var(--mg-button-line-height);
	text-decoration: none;
	transition: opacity 0.2s ease, transform 0.2s ease;
	margin: 0;
}

.mg-gallery-page-load-more:hover,
.mg-gallery-page-load-more:focus-visible {
	color: #ffffff;
	background: #247ed3;
}

.mg-gallery-page-load-more:disabled {
	cursor: wait;
	opacity: 0.72;
}

.mg-gallery-page-loader {
	width: 22px;
	height: 22px;
	opacity: 0;
	visibility: hidden;
	border: 2px solid rgba(51, 148, 240, 0.25);
	border-top-color: #3394f0;
	border-radius: 999px;
	animation: matha-gallery-loader 0.75s linear infinite;
	transition: opacity 180ms ease, visibility 180ms ease;
}

.mg-gallery-page-loader.is-active {
	opacity: 1;
	visibility: visible;
}

.mg-gallery-page-load-more__icon {
	width: 10px;
	height: 10px;
	flex: 0 0 10px;
	transition: transform 180ms ease;
}

.mg-gallery-page-load-more:hover .mg-gallery-page-load-more__icon,
.mg-gallery-page-load-more:focus-visible .mg-gallery-page-load-more__icon {
	transform: rotate(45deg);
}

@keyframes matha-gallery-loader {
	to {
		transform: rotate(360deg);
	}
}

.mg-testimonials {
	padding: 100px 0 70px;
	background: #ffffff;
}

.mg-testimonials__container {
	max-width: 1488px;
}

.mg-testimonials__row {
	--bs-gutter-x: 130px;
	--bs-gutter-y: 42px;
}


.mg-testimonials__intro {
	max-width: 575px;
}

.mg-testimonials__label {
	margin: 0;
	color: #616161;
	font-family: var(--mg-subheading-font-family);
	font-size: var(--mg-subheading-size);
	font-weight: var(--mg-subheading-weight);
	line-height: var(--mg-subheading-line-height);
	letter-spacing: var(--mg-subheading-letter-spacing);
	text-transform: uppercase;
}

.mg-testimonials__title {
	margin: 20px 0 0;
	color: #353535;
	text-transform: capitalize;
}

.mg-testimonials__divider {
	display: flex;
	align-items: center;
	gap: 15px;
	margin-top: 20px;
}

.mg-testimonials__divider img {
	width: 15px;
	height: 15px;
	flex: 0 0 auto;
}

.mg-testimonials__divider span {
	display: block;
	width: 100px;
	height: 1px;
	background: #b6b6b6;
}

.mg-testimonials__description {
	max-width: 575px;
	margin: 16px 0 0;
	color: #444444;
}

.mg-testimonials-slider .carousel-inner {
	overflow: hidden;
	border: 1px solid #d6d6d6;
	border-radius: 40px;
}

.mg-testimonial-card {
	min-height: 429px;
	padding: 42px 49px 37px 52px;
	background: #ffffff;
}

.mg-testimonial-card__quote {
	display: block;
	width: 55px;
	height: 40px;
	margin-bottom: 36px;
	object-fit: contain;
	transform: rotate(180deg);
	transform-origin: center;
}

.mg-testimonial-card__content {
	max-width: 100%;
	color: #444444;
}

.mg-testimonial-card__content p {
	margin: 0;
}

.mg-testimonial-card__content p + p {
	margin-top: 26px;
}

.mg-testimonial-card__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 28px;
	margin-top: 25px;
}

.mg-testimonial-author {
	display: flex;
	align-items: center;
	min-width: 0;
	gap: 12px;
}

.mg-testimonial-author__image {
	width: 69px;
	height: 69px;
	flex: 0 0 69px;
	border-radius: 50%;
	object-fit: cover;
}

.mg-testimonial-author__name {
	margin: 0;
	color: #3b3b3b;
	font-size: 28px;
	line-height: 1;
	letter-spacing: -0.28px;
	text-transform: capitalize;
}

.mg-testimonials-controls {
	display: flex;
	align-items: center;
	gap: 11px;
}

.mg-testimonials-control {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 41px;
	height: 41px;
	padding: 0;
	border: 1px solid #d6d6d6;
	border-radius: 50%;
	background: transparent;
	transition: background-color 180ms ease, border-color 180ms ease, opacity 180ms ease, transform 180ms ease;
}

.mg-testimonials-control:disabled {
	cursor: default;
	opacity: 0.5;
}

.mg-testimonials-control:not(:disabled):hover,
.mg-testimonials-control:not(:disabled):focus-visible {
	border-color: #3394f0;
	background: #3394f0;
	color: #ffffff;
	transform: translateY(-1px);
}

.mg-testimonials-control__icon {
	display: block;
	width: 12px;
	height: 12px;
	color: #d6d6d6;
	transition: color 180ms ease;
}

.mg-testimonials-control__icon path {
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.mg-testimonials-control:not(:disabled):hover .mg-testimonials-control__icon,
.mg-testimonials-control:not(:disabled):focus-visible .mg-testimonials-control__icon {
	color: #ffffff;
}

@keyframes matha-gallery-rtl {
	0% {
		transform: translateX(0);
	}

	100% {
		transform: translateX(calc(-50% - var(--mg-gallery-gap-offset)));
	}
}

@keyframes matha-gallery-ltr {
	0% {
		transform: translateX(calc(-50% - var(--mg-gallery-gap-offset)));
	}

	100% {
		transform: translateX(0);
	}
}

@media (prefers-reduced-motion: reduce) {
	.mg-header-cta,
	.mg-header-cta::before,
	.mg-header-cta__icon,
	.mg-button-icon,
	.button,
	.button::before,
	.mg-thank-you__button,
	.mg-thank-you__button::before,
	.mg-gallery-page-card,
	.mg-gallery-page-card__image,
	.mg-gallery-page-card__link::after,
	.wp-block-button__link,
	.wp-block-button__link::before {
		transition: none;
	}

	.mg-banner-progress__bar.is-running {
		animation: none;
		transform: scaleX(1);
	}

	.mg-header-cta:hover,
	.button:hover,
	.mg-thank-you__button:hover,
	.mg-gallery-page-card:hover,
	.mg-gallery-page-card:focus-within,
	.wp-block-button__link:hover {
		transform: none;
	}

	.mg-gallery-page-card:hover .mg-gallery-page-card__image,
	.mg-gallery-page-card:focus-within .mg-gallery-page-card__image {
		transform: none;
	}

	.mg-gallery-row__track {
		animation: none;
		transform: none;
	}

	.mg-error-404__ring--two,
	.mg-error-404__pulse {
		animation: none;
	}
}

.content-area {
	width: min(100% - 32px, 1180px);
	margin: 60px auto;
}

.entry-title {
	font-family: var(--mg-font-heading);
	font-size: clamp(34px, 4vw, 60px);
	line-height: 1.08;
}

.site-footer {
	padding: 20px;
	background: #ffffff;
	color: #ffffff;
}
.site-footer .container{
	max-width: 1464px;
}
.site-footer__shell {
	position: relative;
	width: 100%;
	min-height: 476px;
	margin-inline: auto;
	overflow: hidden;
	padding: 135px 0px 26px;
	background-color: #141414;
	background-image: url("assets/image/footer-bg.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	border-radius: 50px;
}

.site-footer__main {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: 266px 235px 352px 426px;
	column-gap: 54px;
	align-items: start;
}

.site-footer__logo {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	color: #ffffff;
	text-decoration: none;
}

.site-footer__logo img {
	width: 265px;
	height: auto;
	object-fit: contain;
}

.site-footer__heading {
	margin: 0;
	color: #ffffff;
	font-family: var(--mg-font-heading);
	font-size: var(--mg-h3-size);
	font-weight: 700;
	line-height: var(--mg-h3-line-height);
	letter-spacing: var(--mg-h3-letter-spacing);
	text-transform: capitalize;
}

.site-footer__socials {
	display: flex;
	align-items: center;
	gap: 20px;
	margin-top: 20px;
}

.site-footer__socials a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	border: 1px solid #ffffff;
	border-radius: 50%;
	background: transparent;
	box-shadow: 0 0 0 rgba(51, 148, 240, 0);
	transition: transform 220ms ease, border-color 220ms ease, background-color 220ms ease, box-shadow 220ms ease;
}

.site-footer__socials a:hover,
.site-footer__socials a:focus-visible {
	background: #3394f0;
	border-color: #3394f0;
	box-shadow: 0 12px 28px rgba(51, 148, 240, 0.32);
	transform: translateY(-4px);
}

.site-footer__socials img {
	display: block;
	width: 20px;
	height: 20px;
	object-fit: contain;
	transition: transform 220ms ease, filter 220ms ease;
}

.site-footer__socials a:hover img,
.site-footer__socials a:focus-visible img {
	filter: brightness(0) invert(1);
	transform: scale(1.08);
}

.site-footer__menu {
	display: grid;
	grid-template-columns: repeat(2, max-content);
	column-gap: 15px;
	row-gap: 20px;
	margin: 21px 0 0;
	padding: 0;
	list-style: none;
}
.site-footer__form .gform_validation_errors {
	display: none !important;
}
.site-footer__menu li {
	margin: 0;
}

.site-footer a,
.site-footer__menu a,
.site-footer__contact-list a {
	color: #ffffff;
	text-decoration: none;
}

.site-footer__menu a,
.site-footer__contact-list,
.site-footer__form {
	font-size: var(--mg-body-size);
	font-weight: var(--mg-body-weight);
	line-height: var(--mg-body-line-height);
}

.site-footer__menu a {
	text-transform: capitalize;
	transition: color 180ms ease;
}

.site-footer__menu a:hover,
.site-footer__menu a:focus-visible,
.site-footer__contact-list a:hover,
.site-footer__contact-list a:focus-visible {
	color: #9fd0ff;
}

.site-footer__contact-list {
	display: grid;
	gap: 21px;
	margin: 26px 0 0;
	padding: 0;
	list-style: none;
}

.site-footer__contact-list li {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin: 0;
}

.site-footer__contact-list img {
	width: 20px;
	height: 20px;
	flex: 0 0 20px;
	object-fit: contain;
	margin-top: 3px;
}

.site-footer__newsletter {
	min-width: 0;
}

.site-footer__form {
	margin-top: 15px;
}

.site-footer__form .gform_wrapper.gravity-theme,
.site-footer__form .gform_wrapper {
	margin: 0;
}

.site-footer__form .gform_fields {
	display: block;
}

.site-footer__form .ginput_container,
.site-footer__form .ginput_container_email {
	margin: 0;
}

.site-footer__form .gfield,
.site-footer__form .gform_footer {
	margin: 0;
	padding: 0;
}

.site-footer__form .gfield_label,
.site-footer__form .gform_required_legend,
.site-footer__form .validation_message,
.mg-contact-form-card__form .validation_message{
	background: transparent !important;
	border: 0 !important;
	padding: 0 !important;
}

.site-footer__form input[type="email"],
.site-footer__form input[type="text"] {
	width: 100%;
	height: 58px;
	min-height: 58px;
	padding: 16px 24px 16px 66px !important;
	border: 1px solid #bfbdc3;
	border-radius: 50px;
	background: transparent url("assets/image/footer-icon-mail.svg") 29px 50% / 20px 16px no-repeat;
	color: #ffffff;
	font: inherit;
	line-height: 26px;
	box-shadow: none;
	outline: none;
}

.site-footer__form input::placeholder {
	color: rgba(255, 255, 255, 0.9);
	opacity: 1;
	text-transform: capitalize;
}

.site-footer__form .gform_footer {
	margin-top: 15px;
}

.site-footer__form input[type="submit"],
.site-footer__form button[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 58px;
	padding: 15px 57px 15px 30px;
	border: 0;
	border-radius: 60px;
	background: #3394f0 url("assets/image/footer-button-arrow.svg") calc(100% - 30px) 50% / 10px 10px no-repeat;
	color: #ffffff;
	font: inherit;
	line-height: 28px;
	text-align: left;
	transition: background-color 180ms ease, transform 180ms ease;
	margin: 0 !important;
}
.site-footer__form .gform-footer{
	padding: 0 !important;
	margin: 15px 0 0 0 !important;
}
.site-footer__form input[type="submit"]:hover,
.site-footer__form input[type="submit"]:focus-visible,
.site-footer__form button[type="submit"]:hover,
.site-footer__form button[type="submit"]:focus-visible {
	background-color: #187ed8;
	transform: translateY(-1px);
}

.site-footer__bottom {
	position: relative;
	z-index: 1;
	margin-top: 73px;
	padding-top: 17px;
	border-top: 1px solid rgba(255, 255, 255, 0.24);
	text-align: center;
}

.site-footer__bottom p {
	margin: 0;
	color: #ffffff;
	font-size: var(--mg-body-size);
	font-weight: var(--mg-body-weight);
	line-height: var(--mg-body-line-height);
}

.mg-about-team {
	--mg-h3-size: 28px;
	--mg-h3-line-height: normal;
	--mg-h3-letter-spacing: -0.01em;
	padding: 100px 0 70px 0;
	overflow: hidden;
	background: #ffffff;
}

.mg-about-team__container {
	max-width: 1440px;
	padding-right: 0;
	padding-left: 0;
}

.mg-about-team__intro {
	max-width: 750px;
	margin-right: auto;
	margin-left: auto;
	text-align: center;
}

.mg-about-team__kicker.mg-section-kicker {
	justify-content: center;
	align-items: center;
	flex-direction: column;
	gap: 9px;
}

.mg-about-team__kicker .mg-section-kicker__divider {
	width: 245px;
}

.mg-about-team__title {
	margin: 20px 0 0;
	color: #353535;
	text-transform: capitalize;
}

.mg-about-team__text {
	max-width: 750px;
	margin: 6px auto 0;
	color: #444444;
}

.mg-about-team__rail-wrap {
	margin-top: 50px;
	overflow-x: hidden;
	overflow-y: hidden;
	cursor: grab;
	overscroll-behavior-x: contain;
	scrollbar-width: none;
	touch-action: pan-y;
	-webkit-overflow-scrolling: touch;
}

.mg-about-team__rail-wrap::-webkit-scrollbar {
	display: none;
}

.mg-about-team__rail-wrap.is-dragging {
	cursor: grabbing;
	user-select: none;
}

.mg-about-team__rail {
	display: flex;
	gap: 30px;
	width: max-content;
	min-width: 100%;
	padding-right: 30px;
	padding-left: max(16px, calc((100vw - 1920px) / 2 - 28px));
	transform: translate3d(var(--mg-team-x, 0), 0, 0);
	will-change: transform;
}

.mg-about-team-card {
	position: relative;
	flex: 0 0 420px;
	width: 420px;
	height: 480px;
	overflow: hidden;
	border-radius: 20px;
	background: #eaf3fd;
}

.mg-about-team-card::after {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 222px;
	content: "";
	background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.4) 100%);
	pointer-events: none;
}

.mg-about-team-card__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	pointer-events: none;
	user-select: none;
}

.mg-about-team-card__content {
	position: absolute;
	right: 30px;
	bottom: 22px;
	left: 30px;
	z-index: 1;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px;
	color: #ffffff;
}

.mg-about-team-card__name {
	margin: 0;
	color: #ffffff;
	text-transform: capitalize;
}

.mg-about-team-card__role {
	margin: 0;
	color: #ffffff;
	text-align: right;
	white-space: nowrap;
}

.mg-about-journey {
	--mg-h3-size: 28px;
	--mg-h3-line-height: normal;
	--mg-h3-letter-spacing: -0.01em;
	background: #ffffff;
}

.mg-about-journey__frame {
	width: min(100% - 40px, 1880px);
	height: calc(100vh - 48px);
	min-height: 640px;
	margin-right: auto;
	margin-left: auto;
	overflow: hidden;
	border-radius: 40px;
	background: #f4f9fe;
}

.mg-about-journey__pin {
	height: 100%;
	overflow: hidden;
	border-radius: inherit;
	background: inherit;
}

.mg-about-journey__container {
	max-width: 1440px;
	height: 100%;
	padding-right: 0;
	padding-left: 0;
}

.mg-about-journey__grid {
	display: grid;
	grid-template-columns: 701px minmax(0, 1fr);
	column-gap: 43px;
	height: 100%;
	padding-top: 123px;
}

.mg-about-journey__content {
	position: relative;
	z-index: 2;
	max-width: 701px;
}

.mg-about-journey__kicker.mg-section-kicker {
	display: block;
	margin: 0 0 19px;
	color: #616161;
	white-space: nowrap;
}

.mg-about-journey__title {
	max-width: 701px;
	margin: 0;
	color: #353535;
	text-transform: capitalize;
}

.mg-about-journey__divider {
	display: flex;
	align-items: center;
	gap: 15px;
	margin-top: 11px;
}

.mg-about-journey__divider img {
	display: block;
	width: 15px;
	height: 15px;
	object-fit: contain;
}

.mg-about-journey__divider span {
	display: block;
	width: 100px;
	height: 1px;
	background: #b6b6b6;
}

.mg-about-journey__text {
	max-width: 701px;
	margin: 23px 0 0;
	color: #444444;
}

.mg-about-journey__timeline {
	position: relative;
	min-width: 0;
	height: 100%;
	padding-top: 7px;
}

.mg-about-journey__viewport {
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.mg-about-journey__track {
	position: relative;
	width: 100%;
	min-height: 856px;
	padding-bottom: 60px;
	will-change: transform;
}

.mg-about-journey__track::before {
	position: absolute;
	top: 31px;
	bottom: 31px;
	left: 92px;
	width: 1px;
	content: "";
	background: #cde5fb;
}

.mg-about-journey__progress {
	position: absolute;
	top: 31px;
	left: 92px;
	width: 1px;
	height: 189px;
	background: #3394f0;
	transform-origin: top center;
	will-change: height;
}

.mg-about-journey-card {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 696px;
	min-height: 356px;
}

.mg-about-journey-card + .mg-about-journey-card {
	margin-top: 64px;
}

.mg-about-journey-card__header {
	display: grid;
	grid-template-columns: 70px 28px minmax(0, 1fr);
	align-items: center;
	column-gap: 8px;
}

.mg-about-journey-card__year,
.mg-about-journey-card__title {
	margin: 0;
	color: #3b3b3b;
	text-transform: capitalize;
}

.mg-about-journey-card__title {
	padding-left: 8px;
}

.mg-about-journey-card__marker {
	display: block;
	width: 28px;
	height: 28px;
	border: 1px solid #3394f0;
	border-radius: 50%;
	background:
		radial-gradient(circle, #3394f0 0 10px, transparent 10px),
		rgba(51, 148, 240, 0.12);
}

.mg-about-journey-card__text {
	max-width: 574px;
	margin: 2px 0 0 122px;
	color: #444444;
}

.mg-about-journey-card__image {
	width: 574px;
	height: 224px;
	margin-top: 12px;
	margin-left: 122px;
	overflow: hidden;
	border-radius: 20px;
	background: #eaf3fd;
}

.mg-about-journey-card__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

/*Responsive*/
@media (max-width: 1700px) {
	.mg-banner-slide__title {
		max-width: 700px;
	}
	.mg-what__panel {
		padding: 100px 80px 100px;
	}
	.site-footer__shell {
		padding: 100px 0px 26px;
		min-height: 0;
		background-position: center;
	}
}

@media (min-width: 1200px) and (max-width: 1599.98px) {
	:root {
		--mg-h2-size: 54px;
		--mg-h2-line-height: 60px;
		--mg-h3-size: 29px;
		--mg-h3-line-height: 36px;
	}

	.mg-site-header {
		top: 42px;
	}

	.mg-navbar {
		width: min(100% - 48px, 1180px);
	}

	.mg-navbar .navbar-nav {
		gap: clamp(28px, 3vw, 52px);
		margin-right: clamp(28px, 3vw, 54px);
	}

	.mg-banner-slider {
		width: min(100% - 40px);
/* 		min-height: 820px; */
	}

	.mg-banner-slider .carousel-inner,
	.mg-banner-slider .carousel-item {
		min-height: 815px;
	}

	.mg-banner-slide__content {
		width: min(100% - 56px, 1180px);
	}

	.mg-banner-slider__meta {
		left: max(28px, calc((100% - 1180px) / 2));
	}

	.mg-page-banner {
		padding-top: 30px;
	}

	.mg-page-banner__media-wrap {
		padding: 310px 0 72px;
	}

	.mg-page-banner__container {
		max-width: 1180px;
	}

	.mg-page-banner__content {
		max-width: 620px;
	}

	.mg-page-banner__description {
		max-width: 700px;
	}

	.mg-contact-form-section__container {
		max-width: 1180px;
		padding-right: 16px;
		padding-left: 16px;
	}

	.mg-contact-form-section__row {
		--bs-gutter-x: 48px;
	}

	.mg-contact-form-card {
		padding: 56px 44px 42px;
	}

	.mg-contact-info-card__value {
		font-size: 24px;
	}

	.mg-about-who__container {
		max-width: 1180px;
		padding-right: 16px;
		padding-left: 16px;
	}

	.mg-about-who__row {
		--bs-gutter-x: 32px;
	}

	.mg-about-who__image {
		height: 372px;
	}

	.mg-about-who-card {
		min-height: 174px;
		padding: 30px 28px;
	}

	.mg-about-who-card__text {
		font-size: 16px;
		line-height: 24px;
	}

	.mg-who__container,
	.mg-clients__container {
		max-width: 1180px;
		padding-right: 16px;
		padding-left: 16px;
	}

	.mg-who__top {
		column-gap: 24px;
	}

	.mg-who-stats > .col {
		flex: 1 1 0;
		max-width: none;
	}

	.mg-who-stat {
		padding: 34px 28px;
	}

	.mg-who-stat span {
		font-size: 24px;
		line-height: 34px;
		white-space: normal;
	}

	.mg-what__container {
		max-width: 1320px;
		padding-right: 20px;
		padding-left: 20px;
	}

	.mg-what__panel {
		padding: 84px 60px;
	}

	.mg-what-company__image {
		height: 430px;
	}

	.mg-what-service {
		min-height: 166px;
		padding: 26px 20px 22px;
	}

	.mg-what-service span {
		margin-top: 28px;
	}

	.mg-clients__row {
		gap: 54px;
	}

	.mg-clients__row > .col-lg-4 {
		flex: 0 0 calc(39% - 27px);
		max-width: calc(39% - 27px);
		width: calc(39% - 27px);
	}

	.mg-clients__row > .col-lg-8 {
		flex: 0 0 calc(61% - 27px);
		max-width: calc(61% - 27px);
		width: calc(61% - 27px);
	}

	.mg-clients-grid {
		grid-template-columns: minmax(0, 1fr) minmax(250px, 250px) minmax(0, 1fr);
	}

	.mg-clients-logo {
		padding-right: 26px;
		padding-left: 26px;
	}

	.mg-testimonials__container {
		max-width: 1180px;
		padding-right: 16px;
		padding-left: 16px;
	}
	.site-footer .container {
		max-width: 1180px;
	}
	.mg-testimonial-card {
		padding: 38px 36px 34px;
	}

	.site-footer__shell {
		padding: 100px 0px 26px;
	}

	.site-footer__main {
		grid-template-columns: minmax(220px, 1fr) minmax(180px, 0.85fr) minmax(300px, 1.2fr) minmax(340px, 1.35fr);
		column-gap: 32px;
	}
	.site-footer__menu {
		grid-template-columns: unset;
	}
	.site-footer__logo img {
		width: 230px;
	}
	.mg-banner-slide__title {
		max-width: 600px;
	}
	.mg-banner-slide__description {
		max-width: 700px;
	}
	.mg-section-kicker__divider {
		width: 130px;
	}
	.mg-testimonials__row {
		--bs-gutter-x: 30px;
	}

	.mg-about-team {
		--mg-h3-size: 24px;
		padding-top: 72px;
	}

	.mg-about-team__container {
		max-width: 1180px;
		padding-right: 16px;
		padding-left: 16px;
	}

	.mg-about-team__rail-wrap {
		margin-top: 72px;
	}

	.mg-about-team__rail {
		gap: 24px;
		padding-left: 16px;
	}

	.mg-about-team-card {
		flex-basis: 360px;
		width: 360px;
		height: 412px;
	}

	.mg-about-journey {
		padding-bottom: 72px;
	}

	.mg-about-journey > .pin-spacer {
		width: 100% !important;
		max-width: none !important;
		margin-right: 0 !important;
		margin-left: 0 !important;
		inset: 0px !important;
	}

	.mg-about-journey__frame {
		position: relative;
		left: 16px !important;
		width: calc(100% - 32px);
		max-width: none;
		border-radius: 32px;
	}

	.mg-about-journey__container {
		max-width: 1212px;
		padding-right: 16px;
		padding-left: 16px;
	}

	.mg-about-journey__pin {
		border-radius: 32px;
	}

	.mg-about-journey__grid {
		grid-template-columns: minmax(0, 46%) minmax(0, 54%);
		column-gap: 36px;
		padding-top: 92px;
	}

	.mg-about-journey-card {
		min-height: 312px;
	}

	.mg-about-journey-card + .mg-about-journey-card {
		margin-top: 52px;
	}

	.mg-about-journey-card__text {
		max-width: 500px;
		margin-left: 112px;
	}

	.mg-about-journey-card__image {
		width: auto;
		height: 196px;
		margin-left: 112px;
	}
	.mg-gallery-page-section__container {
    	max-width: 1180px;
	}
}

@media (min-width: 1200px) and (max-width: 1365px) {
	.site-footer__menu {
    	grid-template-columns: repeat(1, 100%);
	}
	.site-footer__main {
        grid-template-columns: repeat(4, 1fr);
    }
}

@media (max-width: 1199.98px) {
	:root {
		--mg-h2-size: 48px;
		--mg-h2-line-height: 54px;
		--mg-h3-size: 30px;
		--mg-h3-line-height: 34px;
	}

	.mg-error-404 {
		padding: 24px;
	}

	.mg-error-404::before {
		inset: 24px;
		border-radius: 32px;
	}

	.mg-error-404__shell {
		max-width: 960px;
		min-height: calc(100vh - 48px);
		padding: 24px;
	}

	.mg-error-404__panel {
		grid-template-columns: 1fr;
		align-content: center;
		gap: 34px;
	}

	.mg-error-404__content {
		max-width: 760px;
	}

	.mg-error-404__visual {
		min-height: 340px;
		order: -1;
	}

	.mg-error-404__number {
		font-size: clamp(132px, 25vw, 260px);
	}

	.mg-error-404__ring--one {
		width: min(52vw, 420px);
		height: min(52vw, 420px);
	}

	.mg-error-404__ring--two {
		width: min(40vw, 310px);
		height: min(40vw, 310px);
	}

	.mg-error-404__pulse {
		width: min(30vw, 230px);
		height: min(30vw, 230px);
	}

	.mg-site-header {
		top: 24px;
	}

	.mg-navbar {
		width: min(100% - 32px, 960px);
		padding: 12px 18px;
		border-radius: 32px;
	}

	.mg-banner-slider {
		width: min(100% - 32px);
/* 		min-height: 760px; */
		margin-top: 16px;
	}

	.mg-banner-slider .carousel-inner,
	.mg-banner-slider .carousel-item {
		min-height: 771px;
	}

	.mg-banner-slide__content {
		width: min(100% - 48px, 960px);
		padding-top: 200px;
		padding-bottom: 150px;
	}
	.mg-banner-slide__description {
		max-width: 530px;
	}

	.mg-banner-slider__meta {
		bottom: 62px;
		left: 24px;
	}

	.mg-home-logos {
		padding: 34px 0 18px;
	}

	.mg-home-logos__container {
		max-width: 960px;
	}

	.mg-home-logos__item {
		min-height: 140px;
		padding: 34px 26px;
		border-radius: 18px;
	}

	.mg-home-logos__image {
		max-width: min(100%, 300px);
		max-height: 50px;
	}

	.mg-page-banner {
		padding: 16px 0 0;
	}

	.mg-page-banner__content {
		max-width: 560px;
	}

	.mg-page-banner__title-logo {
		width: 42px;
		height: 42px;
		flex-basis: 42px;
	}

	.mg-page-banner__media-wrap {
		width: min(100% - 32px);
		padding: 260px 0 54px;
	}

	.mg-page-banner__container {
		max-width: none;
		padding-right: 40px;
		padding-left: 40px;
	}

	.mg-contact-content {
		padding-bottom: 72px;
	}

	.mg-about-content {
		padding: 72px 0;
	}

	.mg-about-who {
		padding: 84px 0 72px;
	}

	.mg-about-who__container {
		max-width: 960px;
		padding-right: 16px;
		padding-left: 16px;
	}

	.mg-about-who__row {
		--bs-gutter-x: 28px;
		margin-top: 28px;
	}

	.mg-about-who__image {
		height: 360px;
	}

	.mg-about-who-card {
		min-height: 170px;
		padding: 30px 28px;
	}

	.mg-about-who-card__text {
		font-size: 16px;
		line-height: 24px;
	}

	.mg-thank-you {
		padding: 168px 0 88px;
	}

	.mg-thank-you__container {
		max-width: 960px;
		padding-right: 16px;
		padding-left: 16px;
	}

	.mg-thank-you__panel {
		padding: 64px 48px 58px;
	}

	.mg-contact-form-section {
		padding: 72px 0;
	}

	.mg-contact-form-section__container {
		max-width: 960px;
		padding-right: 16px;
		padding-left: 16px;
	}

	.mg-contact-form-section__row {
		--bs-gutter-x: 0;
		--bs-gutter-y: 38px;
	}
	.mg-contact-info-card__value {
		font-size: 18px;
	}
	.mg-contact-form-card {
		min-height: 0;
		padding: 48px 40px;
	}
	.mg-contact-info-card {
		min-height: 115px;
	}
	.mg-who {
		padding: 64px 0 48px;
	}

	.mg-what__container {
		padding-right: 16px;
		padding-left: 16px;
	}

	.mg-what__panel {
		min-height: 0;
		padding: 64px 32px;
		border-radius: 28px;
	}

	.mg-what__panel::after {
		right: -230px;
		bottom: -140px;
	}

	.mg-what__label,
	.mg-what-company__number {
		letter-spacing: 8px;
	}

	.mg-what__companies {
		margin-top: 42px;
	}

	.mg-what-company {
		--bs-gutter-x: 24px;
	}

	.mg-what-company > .col-12 {
		flex: 0 0 100%;
		max-width: 100%;
		width: 100%;
		order: initial !important;
	}

	.mg-what-company + .mg-what-company {
		margin-top: 70px;
	}

	.mg-what-company__image {
		height: 420px;
	}

	.mg-what-company__content,
	.mg-what-company--reversed .mg-what-company__content {
		padding-top: 0;
	}

	.mg-what-services {
		--bs-gutter-x: 14px;
		--bs-gutter-y: 14px;
	}

	.mg-what-services > .col {
		flex: 0 0 50%;
		max-width: 50%;
	}

	.mg-what-service {
		min-height: 160px;
		padding: 24px;
	}

	.mg-clients {
		padding-bottom: 64px;
	}

	.mg-clients__container {
		max-width: 960px;
		padding-right: 16px;
		padding-left: 16px;
	}
	.mg-clients__row {
		gap: 40px;
	}
	.mg-clients-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.mg-clients-logo {
		padding: 20px;
	}

	.mg-clients-logo:nth-child(-n + 3) {
		padding-top: 30px;
	}

	.mg-clients-logo:nth-child(3n),
	.mg-clients-logo:nth-child(3n + 1) {
		justify-content: center;
		padding-right: 30px;
		padding-left: 30px;
	}

	.mg-clients-logo:nth-child(3n) {
		border-right: 1px solid #ECECEC;
	}

	.mg-clients-logo:nth-child(2n) {
		justify-content: flex-end;
		border-right: 0;
	}

	.mg-clients-logo:nth-child(2n + 1) {
		justify-content: flex-start;
	}

	.mg-clients-logo:nth-last-child(-n + 3) {
		padding-bottom: 30px;
		border-bottom: 1px solid #ECECEC;
	}

	.mg-clients-logo:nth-last-child(-n + 2) {
		padding-bottom: 0;
		border-bottom: 0;
	}
	.mg-gallery-card {
		flex-basis: clamp(260px, 34vw, 380px);
	}

	.mg-gallery-page-section {
		padding: 72px 0 50px;
	}

	.mg-gallery-page-section__container {
		padding-right: 16px;
		padding-left: 16px;
	}

	.mg-gallery-page-grid {
		gap: 24px;
	}

	.mg-testimonials {
		padding: 76px 0;
	}

	.mg-testimonials__container {
		max-width: 960px;
		padding-right: 16px;
		padding-left: 16px;
	}

	.mg-testimonials__row {
		--bs-gutter-x: 30px;
	}

	.mg-testimonials__intro {
		max-width: 720px;
	}

	.mg-testimonial-card {
		padding: 38px 36px 34px;
	}

	.mg-who__container {
		max-width: 960px;
		padding-right: 12px;
		padding-left: 12px;
	}

	.mg-who__top {
		--bs-gutter-x: 24px;
		--bs-gutter-y: 28px;
		column-gap: 0;
	}

	.mg-who__copy {
		max-width: 100%;
	}
	.mg-who-stat span {
		font-size: 20px;
		line-height: 30px;
	}
	.mg-who__description {
		margin-top: 0;
	}

	.site-footer__shell {
		min-height: 0;
		padding: 72px 42px 28px;
		border-radius: 36px;
		background-position: 72% center;
		background-size: cover;
	}

	.site-footer__main {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 48px 42px;
	}

	.site-footer__form {
		max-width: 520px;
	}

	.site-footer__logo img {
		width: 230px;
	}

	.site-footer__contact-list span,
	.site-footer__contact-list a {
		white-space: normal;
	}

	.site-footer__newsletter {
		grid-column: span 2;
	}

	.site-footer__bottom {
		margin-top: 48px;
	}

	.mg-banner-slide__title {
		max-width: 525px;
	}

	.mg-about-team {
		--mg-h3-size: 20px;
		padding-top: 72px;
	}

	.mg-about-team__container {
		max-width: 960px;
		padding-right: 16px;
		padding-left: 16px;
	}

	.mg-about-team__rail-wrap {
		margin-top: 56px;
	}

	.mg-about-team__rail {
		gap: 22px;
		padding-right: 16px;
		padding-left: max(16px, calc((100vw - 960px) / 2 + 16px));
	}

	.mg-about-team-card {
		flex-basis: 320px;
		width: 320px;
		height: 366px;
		border-radius: 16px;
	}

	.mg-about-team-card::after {
		height: 190px;
	}

	.mg-about-team-card__content {
		right: 22px;
		bottom: 20px;
		left: 22px;
	}

	.mg-about-journey__frame {
		width: min(100% - 32px, 960px);
		border-radius: 28px;
	}

	.mg-about-journey__container {
		max-width: 880px;
		padding-right: 16px;
		padding-left: 16px;
	}

	.mg-about-journey__pin {
		border-radius: 28px;
	}

	.mg-about-journey__grid {
		grid-template-columns: minmax(0, 42%) minmax(0, 58%);
		column-gap: 40px;
		padding-top: 76px;
	}

	.mg-about-journey__timeline {
		padding-top: 4px;
	}

	.mg-about-journey__track {
		min-height: 704px;
	}

	.mg-about-journey-card {
		min-height: 292px;
	}

	.mg-about-journey-card + .mg-about-journey-card {
		margin-top: 48px;
	}

	.mg-about-journey-card__text {
		max-width: 430px;
		margin-left: 120px;
	}

	.mg-about-journey-card__image {
		width: auto;
		height: 168px;
		margin-left: 120px;
		border-radius: 16px;
	}
}

@media (min-width: 992px) and (max-width: 1199.98px) {
	.mg-contact-form-section__row {
		--bs-gutter-x: 40px;
	}

	.mg-about-who__row {
		--bs-gutter-x: 40px;
	}

	.mg-about-who__media-col {
		flex: 0 0 42%;
		max-width: 42%;
	}

	.mg-about-who__cards-col {
		flex: 0 0 58%;
		max-width: 58%;
	}

	.mg-navbar__brand .custom-logo {
		max-width: 170px;
		max-height: 34px;
	}

	.mg-navbar__collapse {
		padding-top: 0;
	}

	.mg-navbar .navbar-nav {
		gap: 20px;
		margin-right: 20px;
		align-items: center !important;
	}

	.mg-navbar .nav-link {
		gap: 8px;
		padding: 10px 0;
		font-size: 16px;
		line-height: 24px;
	}

	.mg-navbar .nav-link.active::after,
	.mg-navbar .current-menu-item > .nav-link::after {
		display: block;
		bottom: -16px;
	}

	.mg-header-cta {
		width: auto;
		min-height: 48px;
		margin-top: 0;
		padding: 12px 20px;
		font-size: 16px;
		line-height: 24px;
	}

	.mg-what-company__image {
		height: auto;
		aspect-ratio: 577 / 360;
	}
}

@media (max-width: 991.98px) {
	.mg-navbar {
		border-radius: 28px;
	}

	.mg-navbar .container {
		align-items: center;
	}

	.mg-navbar__collapse {
		position: absolute;
		top: calc(100% + 10px);
		right: 0;
		left: 0;
		z-index: 60;
		width: 100%;
		margin-top: 0;
		padding: 18px;
		overflow: hidden;
		background: rgba(0, 0, 0, 1);
		border: 1px solid rgba(255, 255, 255, 0.12);
		border-radius: 24px;
		box-shadow: 0 18px 42px rgba(0, 0, 0, 0.22);
		backdrop-filter: blur(30px);
		-webkit-backdrop-filter: blur(30px);
	}

	.mg-navbar__collapse.collapsing {
		transition: height 220ms ease;
	}

	.mg-navbar .navbar-nav {
		gap: 0;
		margin-right: 0;
		align-items: stretch !important;
	}

	.mg-navbar .nav-link {
		width: 100%;
		justify-content: space-between;
		padding: 12px 0;
	}

	.mg-navbar .nav-link::before,
	.mg-navbar .nav-link.active::after,
	.mg-navbar .current-menu-item > .nav-link::after {
		display: none;
	}

	.mg-navbar .dropdown-menu {
		margin-top: 0;
		background: rgba(255, 255, 255, 0.08);
		border-color: rgba(255, 255, 255, 0.12);
		box-shadow: none;
	}

	.mg-header-cta {
		width: 100%;
		margin-top: 12px;
	}

	.mg-what-services > .col {
		flex: 0 0 50%;
		max-width: 50%;
	}
	.mg-navbar {
		width: calc(100% - 52px);
	}
	.mg-clients__row {
		gap: 0;
	}
	.mg-gallery-row__track {
		gap: 15px;
	}
	.mg-gallery__marquees {
		gap: 15px;
	}

	.mg-gallery-page-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 22px;
	}

	.mg-gallery-page-card,
	.mg-gallery-page-card:nth-child(-n+3) {
		aspect-ratio: 457 / 397;
		border-radius: 16px;
	}

	.mg-contact-form-section__title {
		max-width: 100%;
	}
	.mg-contact-info-list {
		max-width: 100%;
	}
	.mg-contact-info-card__value {
        font-size: 24px;
    }

	.mg-about-journey__container {
		max-width: 720px;
	}

	.mg-about-journey__pin {
		min-height: 0;
	}

	.mg-about-journey__grid {
		grid-template-columns: 1fr;
		row-gap: 38px;
		padding: 64px 0px 72px;
	}

	.mg-about-journey__content {
		max-width: 100%;
	}

	.mg-about-journey__title,
	.mg-about-journey__text {
		max-width: 100%;
	}

	.mg-about-journey-card {
		max-width: 100%;
	}

	.mg-about-journey-card__image {
		width: auto;
		height: auto;
		aspect-ratio: 574 / 224;
	}

	.mg-about-journey-card__text {
		max-width: 100%;
		margin-left: 120px;
	}
	.mg-home-logos__image {
        max-height: 40px;
    }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
	.mg-error-404__panel {
		justify-items: center;
		gap: 24px;
		padding: 24px 0 52px;
	}

	.mg-error-404__content {
		width: 100%;
		max-width: 720px;
	}

	.mg-error-404__visual {
		width: 100%;
		min-height: clamp(280px, 42vw, 360px);
		overflow: hidden;
	}

	.mg-error-404__number {
		font-size: clamp(120px, 22vw, 220px);
	}

	.mg-error-404__ring--one {
		width: min(42vw, 360px);
		height: min(42vw, 360px);
	}

	.mg-error-404__ring--two {
		width: min(32vw, 260px);
		height: min(32vw, 260px);
	}

	.mg-error-404__pulse {
		width: min(24vw, 190px);
		height: min(24vw, 190px);
	}

	.mg-clients-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.mg-clients-logo,
	.mg-clients-logo:nth-child(-n + 3),
	.mg-clients-logo:nth-child(3n),
	.mg-clients-logo:nth-child(3n + 1),
	.mg-clients-logo:nth-child(2n),
	.mg-clients-logo:nth-child(2n + 1),
	.mg-clients-logo:nth-last-child(-n + 2),
	.mg-clients-logo:nth-last-child(-n + 3) {
		justify-content: center;
		padding: 15px;
		border-right: 1px solid #ECECEC;
		border-bottom: 1px solid #ECECEC;
	}
	.mg-clients-logo__image {
		max-height: 60px;
	}
	.mg-clients-logo:nth-child(3n) {
		border-right: 0;
	}

	.mg-clients-logo:nth-last-child(-n + 3) {
		border-bottom: 0;
	}
}

@media (max-width: 767.98px) {
	:root {
		--mg-body-size: 16px;
		--mg-body-line-height: 24px;
		--mg-subheading-size: 14px;
		--mg-subheading-line-height: 22px;
		--mg-subheading-letter-spacing: 6px;
		--mg-h2-size: 32px;
		--mg-h2-line-height: 36px;
		--mg-h3-size: 28px;
		--mg-h3-line-height: 32px;
		--mg-button-min-height: 52px;
		--mg-button-padding: 12px 24px;
		--mg-button-font-size: 16px;
		--mg-button-line-height: 24px;
	}

	.mg-error-404 {
		padding: 16px;
	}

	.mg-error-404::before {
		inset: 16px;
		border-radius: 24px;
	}

	.mg-error-404__shell {
		min-height: calc(100vh - 32px);
		padding: 16px;
	}

	.mg-error-404__brand {
		margin-top: 18px;
		font-size: 24px;
	}

	.mg-error-404__brand .custom-logo {
		max-width: 180px;
		max-height: 48px;
	}

	.mg-error-404__panel {
		grid-template-columns: 1fr;
		gap: 22px;
		padding: 28px 0 42px;
	}

	.mg-error-404__content {
		padding: 24px 20px;
		border-radius: 24px;
	}

	.mg-error-404__visual {
		min-height: 220px;
		order: -1;
	}

	.mg-error-404__title {
		font-size: clamp(42px, 14vw, 64px);
		letter-spacing: -0.025em;
	}

	.mg-error-404__number {
		font-size: clamp(110px, 34vw, 180px);
	}

	.mg-error-404__ring--one {
		width: 240px;
		height: 240px;
	}

	.mg-error-404__ring--two {
		width: 180px;
		height: 180px;
	}

	.mg-error-404__pulse {
		width: 150px;
		height: 150px;
	}

	.mg-error-404__eyebrow {
		margin-bottom: 12px;
		font-size: 14px;
		line-height: 22px;
		letter-spacing: 0.22em;
	}

	.mg-error-404__text {
		margin-top: 20px;
		font-size: 16px;
		line-height: 24px;
	}

	.mg-error-404__button.button {
		width: 100%;
	}

	.mg-navbar__brand {
		font-size: 22px;
	}

	.mg-navbar__brand .custom-logo {
		max-width: 170px;
		max-height: 38px;
	}

	.mg-navbar {
		width: calc(100% - 24px);
		padding: 10px 14px;
	}

	.mg-navbar__toggle {
		width: 46px;
		height: 46px;
	}

	.hero {
		display: block;
		min-height: 680px;
		padding: 160px 24px 70px;
	}

	.mg-banner-slider {
		min-height: 690px;
		border-radius: 0px;
		width: 100%;
		margin-top: 0;
	}

	.mg-banner-slider .carousel-inner,
	.mg-banner-slider .carousel-item {
		min-height: 700px;
	}

	.mg-banner-slide__content {
		width: min(100% - 32px, 520px);
		padding-top: 150px;
		padding-bottom: 100px;
	}

	.mg-banner-slide__description {
		font-size: var(--mg-body-size);
		line-height: var(--mg-body-line-height);
	}

	.mg-banner-slide__title {
		font-size: clamp(38px, 11vw, 54px);
	}

	.mg-banner-slide__title-line {
		flex-wrap: wrap;
		white-space: normal;
	}

	.mg-banner-slide__title-logo {
		width: 30px;
		height: 30px;
	}

	.mg-banner-support__text {
		display: block;
	}

	.mg-banner-support__text strong,
	.mg-banner-support__text span {
		display: block;
	}

	.mg-banner-slider__meta {
		bottom: 40px;
		left: 16px;
		gap: 16px;
	}

	.mg-home-logos {
		padding: 26px 0 10px;
	}

	.mg-home-logos__grid {
		grid-template-columns: 1fr;
		gap: 14px;
	}

	.mg-home-logos__item {
		min-height: 138px;
		padding: 28px 22px;
		border-radius: 16px;
	}

	.mg-home-logos__image {
		max-width: min(100%, 280px);
		max-height: 55px;
	}

	.mg-page-banner {
		padding: 0 0 0;
	}

	.mg-page-banner__content {
		max-width: 520px;
	}

	.mg-page-banner__title-line {
		gap: 10px;
	}

	.mg-page-banner__title-logo {
		width: 30px;
		height: 30px;
		flex-basis: 30px;
	}

	.mg-page-banner__description {
		margin-top: 14px;
		font-size: var(--mg-body-size);
		line-height: var(--mg-body-line-height);
	}

	.mg-page-banner__support {
		gap: 14px;
		margin-top: 18px;
	}

	.mg-page-banner__media-wrap {
		width: 100%;
		padding: 268px 0 36px;
		border-radius: 0;
	}

	.mg-page-banner__container {
		padding-right: 16px;
		padding-left: 16px;
	}

	.mg-page-banner__media {
		border-radius: 0;
	}

	.mg-page-banner__overlay {
		border-radius: 0;
		background: linear-gradient(180deg, rgba(0, 0, 0, 0.08) 0%, rgba(0, 0, 0, 0.62) 100%);
	}

	.mg-contact-content {
		padding-bottom: 56px;
	}

	.mg-about-content {
		padding: 56px 0;
	}

	.mg-about-who {
		padding: 54px 0 56px;
	}

	.mg-about-who__container {
		padding-right: 16px;
		padding-left: 16px;
	}

	.mg-about-who__intro {
		max-width: 620px;
	}

	.mg-about-who__kicker .mg-section-kicker__divider {
		width: min(245px, 100%);
	}

	.mg-about-who__title {
		margin-top: 16px;
	}

	.mg-about-who__description {
		margin-top: 10px;
	}

	.mg-about-who__row {
		--bs-gutter-y: 24px;
		margin-top: 28px;
	}

	.mg-about-who__image {
		height: auto;
		aspect-ratio: 610 / 404;
		border-radius: 16px;
	}

	.mg-about-who__cards {
		gap: 16px;
	}

	.mg-about-who-card {
		min-height: 0;
		padding: 24px 20px;
		border-radius: 16px;
	}

	.mg-about-who-card__title {
		font-size: 24px;
	}

	.mg-thank-you {
		min-height: auto;
		padding: 126px 0 62px;
	}

	.mg-thank-you::before {
		top: 82px;
		right: -120px;
		width: 240px;
		height: 240px;
	}

	.mg-thank-you__container {
		padding-right: 16px;
		padding-left: 16px;
	}

	.mg-thank-you__panel {
		padding: 44px 22px 40px;
		border-radius: 18px;
	}

	.mg-thank-you__mark {
		width: 72px;
		height: 72px;
		margin-bottom: 22px;
	}

	.mg-thank-you__mark span {
		width: 27px;
		height: 15px;
		border-bottom-width: 3px;
		border-left-width: 3px;
	}

	.mg-thank-you__kicker {
		font-size: 14px;
		line-height: 22px;
		letter-spacing: 6px;
	}

	.mg-thank-you__text {
		margin-top: 16px;
	}

	.mg-thank-you__actions {
		display: grid;
		gap: 16px;
		margin-top: 30px;
	}

	.mg-thank-you__button {
		width: 100%;
	}

	.mg-contact-form-section {
		padding: 54px 0;
	}

	.mg-contact-form-section__container {
		padding-right: 16px;
		padding-left: 16px;
	}

	.mg-contact-form-section__kicker .mg-section-kicker__divider {
		width: min(245px, 100%);
	}

	.mg-contact-form-section__title,
	.mg-contact-form-card__title {
		margin-top: 16px;
	}

	.mg-contact-info-list {
		gap: 14px;
		margin-top: 24px;
	}

	.mg-contact-info-card,
	.mg-contact-info-card--address {
		min-height: 0;
		padding: 20px;
		border-radius: 16px;
		gap: 16px;
	}

	.mg-contact-info-card__icon {
		width: 46px;
		height: 46px;
		flex-basis: 46px;
	}

	.mg-contact-info-card__value {
		font-size: 22px;
		line-height: 1.14;
	}

	.mg-contact-form-card {
		padding: 34px 20px;
		border-radius: 18px;
	}

	.mg-contact-form-card__form .gform_fields {
		grid-template-columns: 1fr;
		row-gap: 24px;
	}

	.mg-banner-progress {
		width: 101px;
	}

	.mg-section-kicker {
		align-items: flex-start;
		flex-wrap: wrap;
		white-space: normal;
	}

	.mg-section-kicker__divider {
		width: min(245px, 100%);
	}

	.mg-who__title {
		max-width: 100%;
	}

	.mg-who__copy {
		max-width: 100%;
	}

	.mg-who-stats {
		gap: 12px;
		margin-top: 32px;
	}

	.mg-who-stat {
		min-height: 210px;
		height: auto;
		padding: 30px 28px;
	}

	.mg-who-stat strong {
		font-size: 48px;
		line-height: 54px;
	}

	.mg-who-stat__footer {
		align-items: flex-start;
	}

	.mg-who-stat span {
		font-size: 24px;
		line-height: 32px;
		white-space: normal;
	}

	.mg-what__container {
		padding-right: 16px;
		padding-left: 16px;
	}

	.mg-what__panel {
		padding: 44px 18px;
		border-radius: 20px;
	}

	.mg-what__title {
		overflow-wrap: anywhere;
	}

	.mg-what__label,
	.mg-what-company__number {
		letter-spacing: var(--mg-subheading-letter-spacing);
		white-space: normal;
	}

	.mg-what-company + .mg-what-company {
		margin-top: 30px;
	}

	.mg-what-company__image {
		height: auto;
		aspect-ratio: 577 / 500;
		border-radius: 20px;
	}

	.mg-what-company__title {
		margin-top: 18px;
	}

	.mg-what-service {
		min-height: 145px;
		padding: 22px 18px;
	}

	.mg-what-service span {
		margin-top: 26px;
	}

	.mg-clients {
		padding-bottom: 48px;
		padding-top: 48px;
	}

	.mg-clients__label {
		white-space: normal;
	}

	.mg-clients__heading-row {
		align-items: flex-start;
		flex-direction: column;
		gap: 14px;
	}

	.mg-clients__image-frame {
		padding: 14px;
	}

	.mg-clients__image {
		height: auto;
		aspect-ratio: 465 / 197;
	}

	.mg-clients-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.mg-clients-logo {
		justify-content: center;
		padding: 15px;
		border-right: 1px solid #ECECEC;
		border-bottom: 1px solid #ECECEC;
	}

	.mg-clients-logo:nth-child(-n + 3),
	.mg-clients-logo:nth-last-child(-n + 2),
	.mg-clients-logo:nth-child(3n),
	.mg-clients-logo:nth-child(3n + 1),
	.mg-clients-logo:nth-child(2n),
	.mg-clients-logo:nth-child(2n + 1) {
		justify-content: center;
		padding: 15px;
	}

	.mg-clients-logo:nth-child(2n) {
		border-right: 0;
	}

	.mg-clients-logo:nth-last-child(-n + 2) {
		border-bottom: 0;
	}

	.mg-clients-logo__image {
		max-height: 50px;
	}
	.mg-gallery__divider {
		width: 200px;
	}

	.mg-gallery__title {
		margin-top: 18px;
	}

	.mg-gallery__marquees {
		--mg-gallery-gap: 20px;
		--mg-gallery-gap-offset: 10px;
		margin-top: 34px;
	}

	.mg-gallery-card {
		flex-basis: 220px;
		border-radius: 16px;
	}

	.mg-gallery-page-section {
		padding: 56px 0 72px;
	}

	.mg-gallery-page-grid {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.mg-gallery-page-card,
	.mg-gallery-page-card:nth-child(-n+3) {
		aspect-ratio: 457 / 397;
		border-radius: 14px;
	}

	.mg-gallery-page-section__actions {
		position: relative;
		margin-top: 32px;
	}

	.mg-gallery-page-loader {
		position: absolute;
		top: calc(100% + 14px);
		left: 50%;
		margin-left: -11px;
	}

	.mg-gallery-page-load-more {
		padding: 15px 24px;
	}

	.mg-testimonials {
		padding: 58px 0;
	}

	.mg-testimonials__title {
		margin-top: 22px;
	}

	.mg-testimonials__divider {
		margin-top: 22px;
	}

	.mg-testimonials-slider .carousel-inner {
		border-radius: 24px;
	}

	.mg-testimonial-card {
		min-height: 0;
		padding: 30px 22px;
	}

	.mg-testimonial-card__quote {
		margin-bottom: 28px;
	}

	.mg-testimonial-card__footer {
		align-items: flex-start;
		flex-direction: column;
		margin-top: 28px;
	}

	.mg-testimonial-author__image {
		width: 58px;
		height: 58px;
		flex-basis: 58px;
	}

	.mg-testimonial-author__name {
		font-size: 24px;
	}

	.site-footer {
		padding: 12px;
	}

	.site-footer__shell {
		padding: 46px 22px 24px;
		border-radius: 28px;
		background-position: 76% center;
		background-size: cover;
	}

	.site-footer__main {
		grid-template-columns: 1fr;
		gap: 36px;
	}

	.site-footer__form {
		max-width: none;
	}

	.site-footer__logo img {
		width: 210px;
	}

	.site-footer__newsletter {
		grid-column: auto;
	}

	.site-footer__heading {
		font-size: 24px;
		line-height: 30px;
	}

	.site-footer__menu {
		grid-template-columns: 1fr;
		row-gap: 12px;
	}

	.site-footer__socials {
		gap: 14px;
	}

	.site-footer__socials a {
		width: 44px;
		height: 44px;
	}

	.site-footer__contact-list span,
	.site-footer__contact-list a {
		white-space: normal;
	}

	.site-footer__form input[type="email"],
	.site-footer__form input[type="text"] {
		padding-left: 54px;
		background-position-x: 22px;
	}

	.site-footer__bottom {
		margin-top: 40px;
	}
	.mg-site-header {
        top: 15px;
    }
	.mg-contact-form-card__form .gform_wrapper.gravity-theme .gform_fields {
		grid-column-gap: 0 !important;
		grid-row-gap: 30px !important;
	}

	.mg-about-team {
		padding-top: 56px;
	}

	.mg-about-team__container {
		padding-right: 16px;
		padding-left: 16px;
	}

	.mg-about-team__intro {
		max-width: 100%;
	}

	.mg-about-team__kicker .mg-section-kicker__divider {
		width: min(245px, 100%);
	}

	.mg-about-team__title {
		margin-top: 16px;
	}

	.mg-about-team__text {
		margin-top: 10px;
	}

	.mg-about-team__rail-wrap {
		margin-top: 36px;
	}

	.mg-about-team__rail {
		gap: 16px;
		padding-right: 12px;
		padding-left: 12px;
	}

	.mg-about-team-card {
		flex-basis: min(82vw, 320px);
		width: min(82vw, 320px);
		height: auto;
		aspect-ratio: 420 / 480;
	}

	.mg-about-team-card__content {
		right: 18px;
		bottom: 18px;
		left: 18px;
		gap: 12px;
	}

	.mg-about-team-card__role {
		white-space: normal;
	}

	.mg-about-journey {
		--mg-h3-size: 24px;
	}

	.mg-about-journey__frame {
		width: min(100% - 24px, 720px);
		border-radius: 22px;
	}

	.mg-about-journey__container {
		padding-right: 0;
		padding-left: 0;
	}

	.mg-about-journey__pin {
		border-radius: 22px;
	}

	.mg-about-journey__grid {
		row-gap: 10px;
		padding: 30px 16px 30px;
	}

	.mg-about-journey__kicker.mg-section-kicker {
		white-space: normal;
		margin: 0px 0 10px;
	}

	.mg-about-journey__divider {
		margin-top: 10px;
	}

	.mg-about-journey__text {
		margin-top: 10px;
	}

	.mg-about-journey__track {
		min-height: 0;
		padding-bottom: 0px;
	}

	.mg-about-journey__track::before {
		top: 27px;
		left: 76px;
	}

	.mg-about-journey__progress {
		top: 27px;
		left: 76px;
	}

	.mg-about-journey-card {
		max-width: 100%;
		min-height: 0;
	}

	.mg-about-journey-card + .mg-about-journey-card {
		margin-top: 36px;
	}

	.mg-about-journey-card__header {
		grid-template-columns: 58px 24px minmax(0, 1fr);
		column-gap: 7px;
	}

	.mg-about-journey-card__title {
		padding-left: 7px;
	}

	.mg-about-journey-card__marker {
		width: 24px;
		height: 24px;
		background:
			radial-gradient(circle, #3394f0 0 5px, transparent 6px),
			rgba(51, 148, 240, 0.12);
	}

	.mg-about-journey-card__text {
		width: auto;
		max-width: none;
		margin-left: 102px;
	}

	.mg-about-journey-card__image {
		width: auto;
		margin-left: 102px;
		border-radius: 10px;
	}
}

@media (max-width: 575.98px) {
	.mg-error-404 {
		padding: 10px;
	}

	.mg-error-404::before {
		inset: 10px;
		border-radius: 18px;
	}

	.mg-error-404__shell {
		min-height: calc(100vh - 20px);
		padding: 12px;
	}

	.mg-error-404__brand {
		margin-top: 10px;
	}

	.mg-error-404__panel {
		padding: 22px 0 32px;
	}

	.mg-error-404__content {
		padding: 22px 18px;
		border-radius: 18px;
	}

	.mg-error-404__visual {
		min-height: 190px;
	}

	.mg-error-404__number {
		font-size: clamp(96px, 32vw, 136px);
	}

	.mg-error-404__ring--one {
		width: 180px;
		height: 180px;
	}

	.mg-error-404__ring--two {
		width: 136px;
		height: 136px;
	}

	.mg-error-404__pulse {
		width: 112px;
		height: 112px;
	}

	.mg-navbar__brand .custom-logo {
		max-width: 150px;
	}

	.mg-what__container {
		padding-right: 12px;
		padding-left: 12px;
	}

	.mg-what__panel {
		padding: 38px 16px;
	}

	.mg-what-services > .col {
		flex: 0 0 100%;
		max-width: 100%;
	}

	.mg-what-service {
		min-height: 0;
	}
}
