.services-swiper-slider {
	overflow : hidden;
}

.services-swiper-slider-container {
	position            : relative;
	width               : 100%;
	height              : 100%;
	display             : flex;
	transition-property : transform;
	box-sizing          : content-box;
	transform           : translate3d(0px, 0, 0);
}

.services-swiper-slider-item {
	flex       : none;
	transform  : translate3d(0px, 0, 0);
	transition : 0.3s;
}

.services-swiper-dot {
	display       : inline-block;
	width         : 20px;
	height        : 4px;
	background    : rgba(0, 0, 0, 0.15);
	border-radius : 4px;
	margin        : 16px 4px 0;
	cursor        : pointer;
}

.services-swiper-dot--active {
	background : #2dbf60;
}

h1 {
	margin         : 0;
	font-weight    : bold;
	font-size      : 20px;
	line-height    : 24px;
	letter-spacing : -0.1125px;
	color          : #000;
}

.page-title {
	text-align : center;
	background : #f8f8f8 url(title-bg.jpg) center center no-repeat;
	padding    : 40px 16px;
}

.mg-about-text {
	padding-top : 32px;
	text-align  : center;
}

.mg-about-text__inner {
	max-width : 912px;
	margin    : 0 auto;
	padding   : 0 16px;
}

.mg-about-text__subtitle {
	font-size      : 20px;
	line-height    : 1.46;
	letter-spacing : -0.3px;
	color          : #333;
	margin-bottom  : 16px;
}

.mg-about-text__text {
	font-weight    : 300;
	font-size      : 14px;
	line-height    : 1.6;
	letter-spacing : -0.3px;
	color          : #909090;
	margin-bottom  : 24px;
}

.mg-about-text__button {
	display         : block;
	background      : #f8f8f8;
	border          : 2px solid #f8f8f8;
	border-radius   : 40px;
	text-decoration : none;
	font-weight     : 500;
	font-size       : 17px;
	line-height     : 24px;
	padding         : 16px 24px;
	color           : #0950d0;
}

.mg-about-digits {
	padding-top : 32px;
	text-align  : center;
}

.mg-about-digits__title {
	font-weight    : bold;
	font-size      : 20px;
	line-height    : 1.2;
	letter-spacing : -0.1125px;
	color          : #000;
	margin-bottom  : 24px;
}

.mg-about-digits__item {
	background    : #f8f8f8;
	border-radius : 12px;
	padding       : 24px;
}

.mg-about-digits__item + .mg-about-digits__item {margin-top : 16px;}

.mg-about-digits__item-image {
	height        : 152px;
	font-size     : 0;
	margin-bottom : 16px;
}

.mg-about-digits__item-title {
	font-weight   : 800;
	font-size     : 18px;
	line-height   : 1.14;
	margin-bottom : 8px;
	color         : #000;
}

.mg-about-digits__item-text {
	font-size   : 15px;
	line-height : 1.5;
	color       : #909090;
}

.mg-about-advantages {
	padding    : 32px 0;
	text-align : center;
}

.mg-about-advantages__title {
	font-weight    : bold;
	font-size      : 20px;
	line-height    : 1.2;
	letter-spacing : -0.1125px;
	color          : #000;
	margin-bottom  : 8px;
}

.mg-about-advantages__subtitle {
	font-weight    : 300;
	font-size      : 16px;
	line-height    : 1.34;
	letter-spacing : -0.1125px;
	color          : #909090;
	margin-bottom  : 24px;
}

.mg-about-advantages__item {
	display : flex;
}

.mg-about-advantages__item + .mg-about-advantages__item {margin-top : 16px;}

.mg-about-advantages__item-ico {
	flex         : none;
	margin-right : 16px;
}

.mg-about-advantages__item-title {
	align-self     : center;
	text-align     : left;
	font-size      : 16px;
	line-height    : 1.5;
	letter-spacing : -0.1125px;
	color          : #000;
}

.mg-about-steps {
	padding: 32px 0;
	background: url(images/pages/about/step-bg.svg) center center no-repeat #f8f8f8;
	text-align: center;
}

.mg-about-steps__title {
	font-weight    : bold;
	font-size      : 20px;
	line-height    : 1.2;
	letter-spacing : -0.1125px;
	color          : #000;
	margin-bottom  : 24px;
}

.mg-about-steps__subtitle {
	margin-top: 24px;
	font-size: 18px;
	line-height: 1.38;
	letter-spacing: -0.6px;
	color: #000000;
	margin-top: 24px;
}

.mg-about-steps__text {
	font-size: 14px;
	line-height: 1.65;
	color: #909090;
	margin-top: 16px;
}

.mg-about-services {
	padding    : 32px 0 0;
	text-align : center;
}

.mg-about-services__title {
	font-weight    : bold;
	font-size      : 20px;
	line-height    : 1.2;
	letter-spacing : -0.1125px;
	color          : #000;
	margin-bottom  : 24px;
}

.mg-about-services__item {
	border          : 2px solid #f8f8f8;
	box-sizing      : border-box;
	border-radius   : 16px;
	display         : flex;
	padding         : 16px 24px;
	align-items     : center;
	justify-content : center;
	height          : 108px;
}

.mg-about-services__item img {
	max-width : 100%;
	height    : auto;
}

.mg-about-services__item + .mg-about-services__item {margin-top : 16px;}

.mg-about-video {
	padding         : 32px 16px;
	background-size : cover;
	display         : none;
}

.mg-about-video__popup {
	display         : flex;
	position        : fixed;
	left            : 0;
	right           : 0;
	top             : 0;
	bottom          : 0;
	z-index         : 55;
	background      : rgba(0, 0, 0, .5);
	visibility      : hidden;
	opacity         : 0;
	align-items     : center;
	justify-content : center;
	padding         : 24px;
}

.mg-about-video__popup._opened {
	opacity    : 1;
	visibility : visible;
}

.mg-about-video__popup-inner {
	flex          : none;
	width         : 100%;
	max-width     : 936px;
	border        : 8px solid #fff;
	box-shadow    : 0px 30px 60px rgba(0, 0, 0, 0.095908);
	border-radius : 14px;
	background    : #fff;
	position      : relative;
}

.mg-about-video__inner {
	width         : 936px;
	margin-left   : auto;
	margin-right  : auto;
	max-width     : 100%;
	box-sizing    : border-box;
	background    : #fff;
	border        : 8px solid #fff;
	box-shadow    : 0px 30px 60px rgba(0, 0, 0, 0.095908);
	border-radius : 12px;
	position      : relative;
}

.mg-about-video__popup-close {
	position         : absolute;
	width            : 48px;
	height           : 48px;
	box-shadow       : 0 5px 3px -3px hsla(0, 0%, 69%, .27), inset 0 0 0 2px #dfdfdf;
	border-radius    : 50%;
	background-color : #fafaf9;
	border           : none;
	padding          : 8px;
	outline          : 0;
	top              : -28px;
	box-sizing       : border-box;
	right            : -28px;
	transition       : all 0.15s;
	cursor           : pointer;
	z-index          : 5;
}

.mg-about-video__popup-close:hover {
	box-shadow       : 0 6px 4px -4px rgba(130, 166, 233, .27), inset 0 0 0 2px #a3c0ea;
	background-color : #d9e4f5;
}

.mg-about-video__popup-close:active {
	background-color : #a4bfe9;
	box-shadow       : none;
}

.mg-about-video__popup-close > * {width : 100%; height : 100%;}

.mg-about-video__popup-container {
	position    : relative;
	width       : 100%;
	padding-top : 56.2%;
}

.mg-about-video__popup-container > * {
	position      : absolute;
	left          : 0;
	top           : 0;
	width         : 100%;
	height        : 100%;
	border-radius : 10px;
}

.mg-about-video__video-wrap {
	width         : 100%;
	padding-top   : 56.522%;
	border-radius : 12px;
	overflow      : hidden;
	position      : relative;
}

.mg-about-video__video {
	position : absolute;
	left     : 0;
	right    : 0;
	top      : 0;
	bottom   : 0;
	width    : 100%;
	height   : 100%;
}

.mg-about-video__poster {
	position   : absolute;
	width      : 100%;
	height     : 100%;
	object-fit : cover;
	filter     : brightness(0.8);
}

.mg-about-video__play-button {
	position   : absolute;
	left       : 50%;
	top        : 50%;
	transform  : translate(-50%, -50%);
	z-index    : 1;
	cursor     : pointer;
	max-width  : 80px;
	transition : all 0.25s;
}

.mg-about-video__play-button:hover {opacity : 0.8}

.mg-about-form {
	padding    : 32px 0;
	background : #f8f8f8;
	text-align : center;
}

.mg-about-form__title {
	font-weight    : bold;
	font-size      : 20px;
	line-height    : 1.2;
	letter-spacing : -0.1125px;
	color          : #000;
	margin-bottom  : 8px;
}

.mg-about-form__subtitle {
	font-weight    : 300;
	font-size      : 16px;
	line-height    : 1.34;
	letter-spacing : -0.1125px;
	color          : #909090;
	margin-bottom  : 24px;
}

.mg-about-form__form {display : none;}

.mg-about-form__button {
	background      : linear-gradient(180deg, #47c634 0%, #2dbf60 100%);
	border          : 1px solid #2fc05f;
	box-shadow      : 0px 8px 12px rgba(45, 191, 96, 0.30025);
	border-radius   : 28px;
	color           : #fff;
	text-decoration : none;
	display         : block;
	font-weight     : bold;
	font-size       : 16px;
	line-height     : 24px;
	text-align      : center;
	padding         : 12px;
	transition      : transform 0.25s;
}

.mg-about-form__button:hover {
	background : linear-gradient(180deg, #51d53d 0%, #2dbf60 100%);
	box-shadow : 0px 8px 12px rgba(45, 191, 96, 0.30025);
}

.mg-about-form__button:active {
	background : #2ebf5f;
	box-shadow : none;
}

.mg-about-form__note {
	font-size      : 14px;
	line-height    : 24px;
	letter-spacing : -0.1125px;
	color          : #333;
	margin-top     : 24px;
}

.mg-about-reviews {
	padding    : 32px 0;
	text-align : center;
}

.mg-about-reviews__title {
	font-weight    : bold;
	font-size      : 20px;
	line-height    : 1.2;
	letter-spacing : -0.1125px;
	color          : #000;
	margin-bottom  : 24px;
}

.mg-about-reviews__item {
	border        : 2px solid #f5f6fa;
	box-sizing    : border-box;
	border-radius : 16px;
	padding       : 32px 24px;
}

.mg-about-reviews__slider-arrows {
	display : none;
}

.mg-about-reviews__list-inner {
	align-items : flex-start;
}

.mg-about-reviews__item-title {
	font-weight : 600;
	font-size   : 17px;
	line-height : 1.45;
	color       : #333;
}

.mg-about-reviews__item-subtitle {
	font-weight : 500;
	font-size   : 15px;
	line-height : 1.5;
	color       : #0369d9;
    text-decoration: none;
}

.mg-about-reviews__item-text {
	font-size   : 15px;
	line-height : 1.5;
	color       : #909090;
	margin-top  : 16px;
}

.mg-about-reviews__item-text p:first-child {margin-top : 0;}

.mg-about-reviews__item-text p:last-child {margin-bottom : 0;}

.mg-about-reviews__slider-dots {
	font-size   : 0;
	padding-top : 6px;
}

@media all and (min-width : 600px) {
	h1 {
		font-size   : 30px;
		line-height : 40px;
	}

	.page-title { padding : 48px 24px; }

	.mg-about-text {
		padding-top : 48px;
	}

	.mg-about-text__inner {
		padding : 0 24px;
	}

	.mg-about-text__subtitle {
		font-size     : 22px;
		margin-bottom : 24px;
	}

	.mg-about-text__text {
		font-size : 17px;
	}

	.mg-about-text__button {
		display : inline-block;
		padding : 16px 40px;
	}

	.mg-about-digits {
		padding-top : 48px;
	}

	.mg-about-digits__title {
		font-size     : 30px;
		margin-bottom : 32px;
	}

	.mg-about-digits__list {
		display               : grid;
		grid-template-columns : repeat(2, 1fr);
		grid-column-gap       : 24px;
		grid-row-gap          : 24px;
	}

	.mg-about-digits__item {
		padding : 32px;
	}

	.mg-about-digits__item + .mg-about-digits__item {margin-top : 0;}

	.mg-about-digits__item-title {font-size : 22px;}

	.mg-about-digits__item-text {font-size : 16px;}

	.mg-about-advantages {
		padding : 48px 0;
	}

	.mg-about-advantages__title {
		font-size : 30px;
	}

	.mg-about-advantages__subtitle {
		font-size     : 20px;
		margin-bottom : 32px;
	}

	.mg-about-advantages__list {
		display               : grid;
		grid-template-columns : repeat(2, 1fr);
		grid-column-gap       : 24px;
		grid-row-gap          : 24px;
		align-items           : start;
	}

	.mg-about-advantages__item + .mg-about-advantages__item {margin-top : 0;}
	
	.mg-about-steps { padding: 48px 0; }
	
	.mg-about-steps__title {
		font-size      : 30px;
		margin-bottom  : 32px;
	}
	
	.mg-about-steps__subtitle {
		margin-top: 32px;
		font-size: 22px;
	}
	
	.mg-about-steps__text {
		font-size: 16px;
	}

	.mg-about-services {
		padding : 48px 0 0;
	}

	.mg-about-services__title {
		font-size     : 30px;
		margin-bottom : 32px;
	}

	.mg-about-services__list {
		display               : grid;
		grid-template-columns : repeat(2, 1fr);
		grid-column-gap       : 32px;
		grid-row-gap          : 32px;
	}

	.mg-about-services__item {
		height : 120px;
	}

	.mg-about-services__item + .mg-about-services__item {margin-top : 0;}

	.mg-about-video {
		padding : 48px 24px;
	}

	.mg-about-video__play-button {max-width : 110px;}

	.mg-about-form {
		padding : 48px 0 32px;
	}

	.mg-about-form__title {
		font-size : 30px;
	}

	.mg-about-form__subtitle {
		font-size : 20px;
	}

	.mg-about-form__button {
		display : inline-block;
		padding : 16px 40px;
	}

	.mg-about-form__note {
		margin-top : 32px;
	}

	.mg-about-reviews {
		padding : 48px 0;
	}

	.mg-about-reviews__title {
		font-size     : 30px;
		margin-bottom : 32px;
	}

	.mg-about-reviews__item {
		padding : 32px;
	}

	.mg-about-reviews__item-title {
		font-size : 20px;
	}

	.mg-about-reviews__item-subtitle {
		font-size : 16px;
	}

	.mg-about-reviews__item-text {
		font-size : 16px;
	}

	.mg-about-reviews__slider-dots {
		padding-top : 16px;
	}

	.services-swiper-dot {width : 40px;}
}

@media all and (min-width : 960px) {
	h1 {
		font-size   : 40px;
		line-height : 56px;
	}

	.mg-about-text {
		padding-top : 80px;
	}

	.mg-about-text__subtitle {
		font-size     : 24px;
		margin-bottom : 32px;
	}

	.mg-about-text__text {
		font-size     : 20px;
		margin-bottom : 32px;
	}

	.mg-about-text__button {
		font-size : 18px;
		padding   : 20px 40px;
	}

	.mg-about-digits {
		padding-top : 80px;
	}

	.mg-about-digits__title {
		font-size     : 40px;
		margin-bottom : 56px;
	}

	.mg-about-digits__list {
		grid-template-columns : repeat(4, 1fr);
		grid-column-gap       : 32px;
	}

	.mg-about-digits__item {
		padding : 40px;
	}

	.mg-about-digits__item-title {font-size : 28px;}

	.mg-about-advantages {
		padding : 72px 0 80px;
	}

	.mg-about-advantages__title {
		font-size : 40px;
	}

	.mg-about-advantages__subtitle {
		font-size     : 24px;
		margin-bottom : 56px;
	}

	.mg-about-advantages__list {
		grid-template-columns : repeat(3, 1fr);
		grid-column-gap       : 32px;
		grid-row-gap          : 40px;
	}
	
	.mg-about-steps { padding: 80px 0; }
	
	.mg-about-steps__title {
		font-size     : 40px;
		margin-bottom : 48px;
	}
	
	.mg-about-steps__subtitle {
		margin-top: 48px;
		font-size: 29px;
	}
	
	.mg-about-steps__text {
		font-size: 17px;
		max-width: 912px;
		margin-left: auto; 
		margin-right: auto;
	}

	.mg-about-services {
		padding : 80px 0 0;
	}

	.mg-about-services__title {
		font-size     : 40px;
		margin-bottom : 48px;
	}

	.mg-about-services__list {
		grid-template-columns : repeat(4, 1fr);
	}

	.mg-about-services__item {
		height : 144px;
	}

	.mg-about-video {
		padding : 58px 72px;
		display : block;
	}

	.mg-about-video__play-button {max-width : 150px;}

	.mg-about-form {
		padding : 80px 0 32px;
	}

	.mg-about-form__title {
		font-size : 40px;
	}

	.mg-about-form__subtitle {
		font-size : 24px;
	}

	.mg-about-form__button {
		display : none;
	}

	.mg-about-form__form {
		display : block;
	}

	.mg-about-form__form form {
		display               : grid;
		grid-template-columns : repeat(4, 1fr);
		grid-column-gap       : 32px;
		grid-row-gap          : 32px;
	}

	.mg-about-form__form input[type="text"] {
		width          : 100%;
		box-sizing     : border-box;
		background     : #fff;
		border         : 1px solid #d3d3d3;
		border-radius  : 40px;
		height         : 64px;
		padding        : 0 24px;
		font-weight    : 500;
		font-size      : 16px;
		line-height    : 24px;
		letter-spacing : -0.1125px;
		color          : #767676;
		outline        : none;
	}

	.mg-about-form__form button[type="submit"] {
		background      : linear-gradient(180deg, #47c634 0%, #2dbf60 100%);
		border          : 1px solid #2fc05f;
		box-shadow      : 0px 8px 12px rgba(45, 191, 96, 0.30025);
		border-radius   : 40px;
		color           : #fff;
		text-decoration : none;
		display         : block;
		font-weight     : bold;
		font-size       : 16px;
		line-height     : 24px;
		text-align      : center;
		height          : 64px;
		transition      : transform 0.25s;
		width           : 100%;
		box-sizing      : border-box;
		cursor          : pointer;
	}

	.mg-about-form__form input[type="text"]:hover, .mg-about-form__form input[type="text"]:focus {
		box-shadow : 0 2px 12px rgb(0 0 0 / 10%);
	}

	.mg-about-form__form button[type="submit"]:hover {
		background : linear-gradient(180deg, #51d53d 0%, #2dbf60 100%);
		box-shadow : 0px 8px 12px rgba(45, 191, 96, 0.30025);
	}

	.mg-about-form__form button[type="submit"]:active {
		background : #2ebf5f;
		box-shadow : none;
	}

	.mg-about-form__note {
		margin-top : 40px;
	}

	.mg-about-reviews {
		padding : 80px 0;
	}

	.mg-about-reviews__title {
		font-size     : 40px;
		margin-bottom : 56px;
	}

	.mg-about-reviews__list-wrapper {
		position : relative;
	}

	.mg-about-reviews__item {
		padding    : 48px;
		text-align : left;
	}

	.mg-about-reviews__item-title {
		font-size : 22px;
	}

	.mg-about-reviews__slider-dots {
		padding-top : 32px;
	}

	.mg-about-reviews__slider-arrows {
		display    : block;
		position   : absolute;
		left       : 0;
		right      : 0;
		top        : 50%;
		margin-top : -25px;
		font-size  : 0;
	}

	.mg-about-reviews__slider-arrows > * {
		position : absolute;
		top      : 0;
	}

	.mg-about-reviews__list-inner {
		align-items : stretch;
	}

	.mg-about-reviews__slider-prev-arrow {left : -20px;}

	.mg-about-reviews__slider-next-arrow {right : -20px; transform : rotate(180deg);}
}

@media all and (min-width : 1200px) {
	.page-title { padding : 64px 24px; }
}

@media all and (min-width : 1380px) {
	.mg-about-reviews__slider-prev-arrow {left : -88px;}

	.mg-about-reviews__slider-next-arrow {right : -88px;}
}

@media all and (min-width : 1720px) {
	.mg-about-reviews__slider-prev-arrow {left : -138px;}

	.mg-about-reviews__slider-next-arrow {right : -138px;}
}