/*
Theme Name: Elitstroy
Theme URI: https://example.com/elitstroy
Author: Elitstroy
Author URI: https://example.com/
Description: Custom one-page WordPress theme based on the Elitstroy landing page.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: elitstroy
*/

.text-clouds {
	-webkit-text-fill-color: transparent;
	-webkit-background-clip: text;
	background-clip: text;
	background-image: url(images/text_cloud.png);
	background-position: 138% 32%;
	background-size: 375%;
	color: transparent;
	position: relative;
}

.hero {
	background-color: #202020;
	background-image:
		linear-gradient(to right, transparent calc(25% - .5px), var(--line-dark) 25%, transparent calc(25% + .5px)),
		linear-gradient(to right, transparent calc(50% - .5px), var(--line-dark) 50%, transparent calc(50% + .5px)),
		linear-gradient(to right, transparent calc(75% - .5px), var(--line-dark) 75%, transparent calc(75% + .5px)),
		linear-gradient(to right, transparent 48.23%, rgba(32, 32, 32, .3) 48.23%),
		url(images/bg_img.png);
	background-position: center, center, center, center, right bottom;
	background-size: 100% 100%, 100% 100%, 100% 100%, 100% 100%, 51.77% 100%;
	background-repeat: no-repeat;
}

.hero-slide__card--body--title > div {
	font-family: "Bebas Neue", sans-serif;
	font-size: 32px;
	font-weight: 600;
}

.company-numbers {
	position: relative;
	background-color: #eee;
	background-image: url("images/bg2.png");
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	color: #202020;
	padding: 130px 0 20px;
}

.company-numbers::before {
	content: "";
	position: absolute;
	inset: 0;
	background-color: #ccc;
	opacity: .15;
	pointer-events: none;
}

.company-numbers__line {
	position: absolute;
	z-index: 1;
	background-color: rgba(14, 14, 15, .15);
	pointer-events: none;
}

.company-numbers__line--vertical {
	top: 0;
	bottom: 0;
	width: 1px;
}

.company-numbers__line--left {
	left: 25.65%;
}

.company-numbers__line--center {
	left: 50%;
}

.company-numbers__line--right {
	right: 26.05%;
}

.company-numbers__line--horizontal {
	right: 0;
	bottom: 345px;
	left: 0;
	height: 1px;
}

.company-numbers .container {
	position: relative;
	z-index: 2;
	padding-right: 45px;
	padding-left: 45px;
}

.company-numbers__title {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 10px;
	padding-left: 15px;
	font-family: Onest, sans-serif;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: -.01em;
	text-transform: uppercase;
}

.company-numbers__title-dot {
	width: 6px;
	height: 6px;
	background-color: #202020;
}

.company-numbers__content {
	display: grid;
	grid-template-columns: 1fr 1fr;
}

.company-numbers__intro,
.company-numbers__info {
	padding: 64px 0;
}

.company-numbers__intro {
	padding-right: 112px;
}

.company-numbers__info {
	padding-left: 112px;
}

.company-numbers__area {
	display: flex;
	align-items: center;
	gap: 32px;
	font-family: "Bebas Neue", sans-serif;
	font-size: clamp(100px, 9.4vw, 180px);
	font-weight: 600;
	letter-spacing: -.005em;
	line-height: .9;
	text-transform: uppercase;
	white-space: nowrap;
}

.company-numbers__circles {
	flex: 0 0 92px;
	width: 92px;
	height: 92px;
	fill: #fff;
}

.company-numbers__slogan {
	max-width: 390px;
	margin-top: 13px;
	padding-left: 15px;
	color: rgba(32, 32, 32, .7);
	font-family: Onest, sans-serif;
	font-size: 20px;
	line-height: 1.3;
}

.company-numbers__images {
	display: flex;
	gap: 36px;
	margin-top: 37px;
	padding-left: 15px;
}

.company-numbers__image {
	height: 136px;
}

.company-numbers__image.company-numbers__image--wide.fl_img {
	width: 410px;
	height: 136px;
}

.company-numbers__image.company-numbers__image--small.fl_img {
	width: 136px;
	height: 136px;
}

.company-numbers__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.company-numbers__text {
	max-width: 100%;
	margin-bottom: 80px;
	font-family: Onest, sans-serif;
	font-size: 24px;
	font-weight: 500;
	line-height: 1.4;
}

.company-numbers__stats {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	row-gap: 120px;
}

.company-numbers__stat {
	min-width: 0;
	padding: 0 32px 32px 0;
}

.company-numbers__stat:nth-child(even) {
	padding-left: 32px;
}

.company-numbers__value {
	font-family: "Bebas Neue", sans-serif;
	font-size: 110px;
	line-height: .9;
	text-transform: uppercase;
}

.company-numbers__label {
	margin-top: 0;
	color: rgba(32, 32, 32, .7);
	font-family: Onest, sans-serif;
	font-size: 20px;
	line-height: 1.3;
}

.rectangle-div__title {
	display: inline-block;
	margin-bottom: 37px;
	color: #202020;
	font-family: Onest, sans-serif;
	font-size: 32px;
	font-weight: 500;
	letter-spacing: -.01em;
	line-height: 1.3;
	text-transform: uppercase;
}

.rectangle-div.dark .rectangle-div__title {
	color: #eee;
}

.rectangle-div {
	min-height: 320px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 32px;
	overflow: hidden;
}

.rectangle-div::before {
	width: 100px;
	height: 100px;
	top: -28px;
	right: 16px;
	border-radius: 50%;
	background: #202020;
}

.rectangle-div.dark {
	border: 0;
}

.rectangle-div.dark::after {
	content: "";
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	border: 1px solid #eee;
	pointer-events: none;
	z-index: 1;
}

.rectangle-div.dark::before {
	right: -74px;
	left: auto;
	top: calc(50% - 48px);
	background: #202020;
	z-index: 2;
}

.rectangle-div__text {
	font-family: Onest, sans-serif;
	font-size: 20px;
}

.bg-dark .articles-grid {
	gap: 40px;
}

.bg-dark .articles-grid:first-child {
	margin-bottom: 40px;
}

.articles-grid--bottom .grid-image.fl_img {
	height: 207px;
	border: .5px solid #eee !important;
}

.articles-grid.articles-grid--bottom {
	align-items: flex-end;
}

.articles-grid--bottom .rectangle-div.dark::before {
	right: auto;
	left: -74px;
	top: calc(50% - 48px);
	background: #202020;
	z-index: 2;
}

@media (min-width: 1280px) {
	.bg-dark .articles-grid .grid-image img {
		height: 100%;
		-o-object-fit: cover;
		object-fit: cover;
	}

	.articles-grid .rectangle-div.dark {
		max-width: 420px;
		min-height: 320px;
	}

	.bg-dark .articles-grid:nth-child(2) .rectangle-div:not(.dark)::before {
		top: auto;
		right: 16px;
		bottom: -70px;
		background: #202020;
	}
}

.production-stack {
	position: relative;
}

.production-feature {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 814px;
	overflow: hidden;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	color: #eee;
}

.production-feature::before {
	content: "";
	position: absolute;
	inset: 0;
	width: 100%;
	background: linear-gradient(90deg, rgba(14, 14, 15, .72) 0%, rgba(14, 14, 15, .34) 55%, rgba(14, 14, 15, .15) 100%);
	pointer-events: none;
}

.production-feature--4 {
	position: sticky;
	top: 0;
	z-index: 1;
}

.production-feature--5 {
	z-index: 2;
}

.production-feature .container {
	position: relative;
	z-index: 1;
	padding-right: clamp(45px, 11.2vw, 215px);
}

.production-feature__content_box {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(360px, 600px);
	align-items: center;
	gap: 80px;
}

.production-feature__content {
	min-width: 0;
}

.production-feature__content_img {
	width: 100%;
	aspect-ratio: 1;
	border-radius: 50%;
}

.production-feature__content_img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.production-feature__slogan {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 52px;
	font-family: Onest, sans-serif;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.3;
	text-transform: uppercase;
}

.production-feature__square {
	flex: 0 0 6px;
	width: 6px;
	height: 6px;
	background: #eee;
}

.production-feature__title {
	max-width: 930px;
	font-family: "Bebas Neue", sans-serif;
	font-size: clamp(76px, 5.4vw, 104px);
	font-weight: 600;
	letter-spacing: -.005em;
	line-height: 1;
	text-transform: uppercase;
}

.production-feature__text {
	max-width: 850px;
	margin-top: 58px;
	font-family: Onest, sans-serif;
	font-size: 24px;
	line-height: 1.4;
}

@media (max-width: 1025px) {
	.production-feature {
		min-height: 680px;
	}

	.production-feature__content_box {
		grid-template-columns: minmax(0, 1fr) minmax(280px, 420px);
		gap: 40px;
	}

	.production-feature__slogan {
		margin-bottom: 36px;
	}

	.production-feature__title {
		font-size: 70px;
	}

	.production-feature__text {
		margin-top: 40px;
		font-size: 20px;
	}
}

@media (max-width: 820px) {
	.production-feature {
		min-height: 620px;
		padding: 80px 0;
	}

	.production-feature--4 {
		position: relative;
		top: auto;
	}

	.production-feature__content_box {
		grid-template-columns: 1fr;
	}

	.production-feature__content_img {
		max-width: 420px;
	}

	.production-feature__title {
		font-size: 56px;
	}
}

@media (max-width: 560px) {
	.production-feature {
		min-height: 560px;
	}

	.production-feature__slogan {
		margin-bottom: 28px;
		font-size: 13px;
	}

	.production-feature__title {
		font-size: 44px;
	}

	.production-feature__text {
		margin-top: 32px;
		font-size: 16px;
	}
}

.projects-showcase {
	position: relative;
	overflow: hidden;
	background: #eee;
	padding: 160px 0;
	color: #202020;
}

.section-grid-line {
	position: absolute;
	top: 0;
	bottom: 0;
	z-index: 0;
	width: 1px;
	background: #eee;
	opacity: .15;
	pointer-events: none;
}

.section-grid-line--left {
	left: 25.65%;
}

.section-grid-line--center {
	left: 50%;
}

.section-grid-line--right {
	right: 26.05%;
}

.bg-dark {
	background: #202020;
}

.bg-dark > .container {
	position: relative;
	z-index: 1;
}

.projects-showcase > .container,
.projects-showcase__slider {
	position: relative;
	z-index: 1;
}

.projects-showcase .section-grid-line {
	background: #202020;
}

section.projects-showcase .section-grid-line--left {
	left: 26.2%;
}

section.projects-showcase .section-grid-line--right {
	right: 26.2%;
}

section.projects-showcase .section-grid-line--center {
	left: 50.3%;
}

.projects-showcase__heading {
	width: 678px;
	min-height: 421px;
	margin-left: auto;
}

.projects-showcase__slogan {
	display: flex;
	align-items: center;
	gap: 12px;
	font-family: Onest, sans-serif;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: -.01em;
	text-transform: uppercase;
}

.projects-showcase__square {
	flex: 0 0 6px;
	width: 6px;
	height: 6px;
	background: #202020;
}

.projects-showcase__title {
	position: relative;
	margin-top: 52px;
	padding-right: 116px;
	font-family: "Bebas Neue", sans-serif;
	font-size: 120px;
	font-weight: 600;
	letter-spacing: -.005em;
	line-height: 1;
	text-transform: uppercase;
}

.projects-showcase__title::before {
	content: "";
	position: absolute;
	right: 190px;
	bottom: 30px;
	width: 92px;
	height: 92px;
	background: url("images/circles.png") center / contain no-repeat;
	pointer-events: none;
}

.projects-showcase__intro {
	max-width: 599px;
	margin-top: 58px;
	color: #515151;
	font-family: Onest, sans-serif;
	font-size: 24px;
	font-weight: 500;
	line-height: 1.4;
}

.projects-showcase__slider {
	margin-top: -421px;
}

.projects-showcase__slider:not(.slick-initialized) .projects-showcase__slide:not(:first-child) {
	display: none;
}

.projects-showcase__project {
	display: grid;
	grid-template-columns: 420px 420px;
	gap: 40px;
	width: 880px;
}

.projects-showcase__card {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 495px;
	overflow: hidden;
	background: #202020;
	padding: 51px 30px 30px;
	color: #fff;
}

.projects-showcase__card::before {
	content: "";
	position: absolute;
	top: -68px;
	right: 30px;
	width: 99px;
	height: 99px;
	border-radius: 50%;
	background: #eee;
}

.projects-showcase__project-title {
	font-family: "Bebas Neue", sans-serif;
	font-size: 52px;
	letter-spacing: -.01em;
	line-height: 1.3;
	text-transform: uppercase;
}

.projects-showcase__project-text {
	color: rgba(255, 255, 255, .8);
	font-family: Onest, sans-serif;
	font-size: 20px;
	font-weight: 500;
	letter-spacing: -.01em;
	line-height: 1.3;
}

.projects-showcase__main-image {
	width: 420px;
	height: 431px;
}

.projects-showcase__arrows {
	display: flex;
	gap: 12px;
	margin-top: 16px;
}

.projects-showcase__arrows--mobile {
	display: none;
}

.projects-showcase__arrow {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	padding: 11px;
	border: 1px solid #202020;
	border-radius: 50%;
	transition: .3s ease;
}

.projects-showcase__arrow img {
	width: 26px;
	height: 26px;
	object-fit: contain;
}

.projects-showcase__arrow--next img {
	transform: rotate(180deg);
}

.projects-showcase__arrow:hover {
	background: #202020;
}

.projects-showcase__arrow:hover img {
	filter: invert(1);
}

.projects-showcase__gallery {
	display: flex;
	gap: 40px;
	margin-top: 40px;
	padding-left: 60px;
	overflow-x: auto;
	overflow-y: hidden;
	scrollbar-width: none;
	cursor: grab;
	touch-action: pan-x;
	user-select: none;
	overscroll-behavior-inline: contain;
	border-top: 1px solid hsl(0deg 0% 13% / 15%);
}

.projects-showcase__gallery::-webkit-scrollbar {
	display: none;
}

.projects-showcase__gallery.is-dragging {
	cursor: grabbing;
}

.projects-showcase__gallery-image {
	flex: 0 0 calc((100vw - 160px) / 4.2);
	height: 340px;
}

@media (max-width: 1025px) {
	.projects-showcase {
		padding: 100px 0;
	}

	.projects-showcase__heading {
		width: 50%;
	}

	.projects-showcase__title {
		font-size: 76px;
	}

	.projects-showcase__title {
		padding-right: 80px;
	}

	.projects-showcase__title::before {
		width: 64px;
		height: 64px;
	}

	.projects-showcase__project {
		grid-template-columns: 340px 340px;
		width: 720px;
	}

	.projects-showcase__card {
		min-height: 420px;
	}

	.projects-showcase__main-image {
		width: 340px;
		height: 356px;
	}

	.projects-showcase__gallery-image {
		flex-basis: calc((100vw - 80px) / 2.4);
		height: 280px;
	}
}

@media (max-width: 820px) {
	.projects-showcase__heading {
		width: 100%;
		min-height: 0;
		margin-bottom: 48px;
	}

	.projects-showcase__slider {
		margin-top: 0;
	}

	.projects-showcase__project {
		grid-template-columns: 1fr;
		width: 100%;
	}

	.projects-showcase__main-image {
		width: 100%;
	}

	.projects-showcase__gallery {
		gap: 20px;
	}

	.projects-showcase__gallery-image {
		flex-basis: 78vw;
	}
}

@media (max-width: 560px) {
	.projects-showcase {
		padding: 60px 0;
	}

	.projects-showcase__title {
		margin-top: 32px;
		padding-right: 64px;
		font-size: 56px;
	}

	.projects-showcase__title::before {
		width: 48px;
		height: 48px;
	}

	.projects-showcase__intro {
		margin-top: 32px;
		font-size: 18px;
	}

	.projects-showcase__card {
		min-height: 380px;
	}

	.projects-showcase__project-title {
		font-size: 42px;
	}

	.projects-showcase__project-text {
		font-size: 16px;
	}

	.projects-showcase__main-image {
		height: 340px;
	}

	.projects-showcase__gallery-image {
		height: 240px;
	}
}

.work-projects {
	position: relative;
	overflow: hidden;
	background: #202020;
	padding: 160px 0 180px;
	color: #eee;
}

.work-projects > .container {
	position: relative;
	z-index: 1;
}

.work-projects .section-grid-line--left {
	left: 26.2%;
}

.work-projects .section-grid-line--center {
	left: 50.3%;
}

.work-projects .section-grid-line--right {
	right: 26.2%;
}

.work-projects__horizontal-line {
	position: absolute;
	top: 460px;
	left: 0;
	z-index: 0;
	width: 100%;
	height: 1px;
	background: #eee;
	opacity: .15;
	pointer-events: none;
}

.work-projects__heading {
	display: grid;
	grid-template-columns: 420px minmax(0, 928px);
	gap: 16px;
	align-items: start;
}

.work-projects__slogan {
	display: flex;
	align-items: center;
	gap: 12px;
	font-family: Onest, sans-serif;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: -.01em;
	text-transform: uppercase;
}

.work-projects__square {
	flex: 0 0 6px;
	width: 6px;
	height: 6px;
	background: #eee;
}

.work-projects__title {
	font-family: "Bebas Neue", sans-serif;
	font-size: 120px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: -.005em;
	text-align: center;
	text-transform: uppercase;
}

.work-projects__body {
	display: grid;
	grid-template-columns: 420px minmax(0, 1fr);
	gap: 40px;
	align-items: end;
	margin-top: 80px;
}

.work-projects__aside {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 40px;
	padding-left: 18px;
	padding-bottom: 10px;
}

.work-projects__aside::before {
	content: "";
	position: absolute;
	right: 24px;
	bottom: 218px;
	width: 92px;
	height: 92px;
	background: url("images/circles.png") center / contain no-repeat;
	transform: rotate(-90deg);
	pointer-events: none;
}

.work-projects__text {
	width: 100%;
	color: rgba(238, 238, 238, .7);
	font-family: Onest, sans-serif;
	font-size: 24px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: -.01em;
}

.work-projects__arrows {
	display: flex;
	gap: 12px;
}

.work-projects__arrow {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	padding: 11px;
	border: 1px solid rgba(255, 255, 255, .5);
	border-radius: 50%;
	transition: .3s ease;
}

.work-projects__arrow--next {
	border-color: #fff;
}

.work-projects__arrow img {
	width: 26px;
	height: 26px;
	object-fit: contain;
	filter: invert(1);
}

.work-projects__arrow--next img {
	transform: rotate(180deg);
}

.work-projects__arrow:hover {
	background: #eee;
}

.work-projects__arrow:hover img {
	filter: none;
}

.work-projects__slider {
	min-width: 0;
	cursor: grab;
	clip-path: inset(-100px -100vw -100px 0);
}

.work-projects__slider:active {
	cursor: grabbing;
}

.work-projects__slider:not(.slick-initialized) {
	display: flex;
	gap: 40px;
	overflow: hidden;
}

.work-projects__slider .slick-list {
	overflow: visible;
}

.work-projects__slider .slick-track {
	display: flex;
	gap: 40px;
}

.work-projects__slide {
	width: 880px;
}

.work-projects__card {
	position: relative;
	display: grid;
	grid-template-columns: 358px minmax(0, 1fr);
	gap: 30px;
	width: 880px;
	height: 450px;
	overflow: hidden;
	background: #eee;
	padding: 10px 30px 10px 10px;
	color: #202020;
}

.work-projects__card::before {
	content: "";
	position: absolute;
	top: -50px;
	right: 100px;
	z-index: 1;
	width: 99px;
	height: 99px;
	border-radius: 50%;
	background: #202020;
}

.work-projects__image {
	width: 358px;
	height: 430px;
}

.work-projects__content {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 27px;
	min-width: 0;
	padding: 10px 0;
}

.work-projects__number {
	font-family: Onest, sans-serif;
	font-size: 18px;
	font-weight: 200;
	line-height: 1.3;
	letter-spacing: -.01em;
	text-align: right;
}

.work-projects__info {
	display: flex;
	flex: 1;
	flex-direction: column;
	justify-content: space-between;
}

.work-projects__card-title {
	font-family: "Bebas Neue", sans-serif;
	font-size: 56px;
	line-height: 1.3;
	letter-spacing: -.01em;
	text-transform: uppercase;
}

.work-projects__card-text {
	margin-top: 40px;
	color: rgba(32, 32, 32, .7);
	font-family: Onest, sans-serif;
	font-size: 20px;
	line-height: 1.4;
	letter-spacing: -.01em;
}

.work-projects__bottom {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
}

.work-projects__readiness-label {
	font-family: Onest, sans-serif;
	font-size: 20px;
	font-weight: 300;
	line-height: 1.3;
	letter-spacing: -.01em;
}

.work-projects__readiness-value {
	margin-top: 8px;
	font-family: "Bebas Neue", sans-serif;
	font-size: 48px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: -.01em;
	text-transform: uppercase;
}

.work-projects__case-link {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	background: #fff;
	padding: 10px 18px;
	color: #202020;
	font-family: Onest, sans-serif;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: -.01em;
	white-space: nowrap;
	transition: .3s ease;
}

.work-projects__case-link:hover {
	background: #202020;
	color: #fff;
}

.work-projects__case-link--hidden {
	display: none;
}

@media (max-width: 1300px) {
	.work-projects {
		padding: 120px 0;
	}

	.work-projects__heading,
	.work-projects__body {
		grid-template-columns: 320px minmax(0, 1fr);
	}

	.work-projects__title {
		font-size: 90px;
	}

	.work-projects__slide,
	.work-projects__card {
		width: 760px;
	}

	.work-projects__card {
		grid-template-columns: 310px minmax(0, 1fr);
	}

	.work-projects__image {
		width: 310px;
	}
}

.contacts-grid {
	position: relative;
	overflow: hidden;
	padding: 120px 0 180px;
	background: #eee;
	color: #151515;
}

.contacts-grid .section-grid-line {
	background: #202020;
}

.contacts-grid .section-grid-line--left {
	left: 26.2%;
}

.contacts-grid .section-grid-line--center {
	left: 50.3%;
}

.contacts-grid .section-grid-line--right {
	right: 26.2%;
}

.contacts-grid__row {
	position: relative;
	z-index: 1;
	display: grid;
	width: 100%;
	border-bottom: 1px solid rgba(32, 32, 32, .15);
}

.contacts-grid__row--top {
	grid-template-columns: 26.2% 24.1% 49.7%;
	min-height: 0;
}

.contacts-grid__title-cell {
	display: flex;
	align-items: center;
	padding: 0 32px 0 60px;
}

.contacts-grid__title {
	max-width: 420px;
	font-family: "Bebas Neue", sans-serif;
	font-size: 120px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: -.005em;
	text-transform: uppercase;
}

.contacts-grid__address {
	padding: 0 46px 0 86px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.contacts-grid__label {
	margin-bottom: 44px;
	color: #515151;
	font-family: Onest, sans-serif;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: -.01em;
	text-transform: uppercase;
}

.contacts-grid__value {
	max-width: 288px;
	font-family: Onest, sans-serif;
	font-size: 24px;
	line-height: 1.4;
	letter-spacing: -.01em;
}

.contacts-grid__map {
	position: relative;
	width: 100%;
	height: 427px;
	overflow: hidden;
	margin-top: 0;
	background: #ddd;
}

.contacts-grid__map iframe {
	width: 100%;
	height: 100%;
	border: 0;
	filter: grayscale(1);
}

.contacts-grid__map-pin {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 1;
	width: 51px;
	height: 63px;
	object-fit: contain;
	pointer-events: none;
	transform: translate(-50%, -50%);
}

.contacts-grid__row--bottom {
	grid-template-columns: 26.2% 24.1% 23.5% 26.2%;
	min-height: 0;
}

.contacts-grid__item {
	min-width: 0;
	padding: 59px 32px 30px 60px;
}

.contacts-grid__row--bottom .contacts-grid__item:nth-child(2) {
	padding-left: 86px;
}

.contacts-grid__row--bottom .contacts-grid__item:nth-child(3) {
	padding-left: 112px;
}

.contacts-grid__email {
	display: block;
	font-family: Onest, sans-serif;
	font-size: 28px;
	line-height: 1.4;
	letter-spacing: -.01em;
	transition: .3s ease;
}

.contacts-grid__socials {
	display: flex;
	gap: 12px;
	margin-top: 24px;
}

.contacts-grid__social {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 51px;
	height: 51px;
	overflow: hidden;
	border-radius: 16px;
	background: #fff;
	padding: 8px;
	transition: .3s ease;
}

.contacts-grid__social img {
	display: block;
	width: 32px;
	height: 32px;
	object-fit: contain;
}

.contacts-grid__social:hover,
.contacts-grid__email:hover,
.contacts-grid__documents a:hover {
	opacity: .65;
}

.contacts-grid__list,
.contacts-grid__documents {
	display: flex;
	flex-direction: column;
	gap: 16px;
	font-family: Onest, sans-serif;
	font-size: 24px;
	line-height: 1.4;
	letter-spacing: -.01em;
}

.contacts-grid__documents {
	font-size: 20px;
}

.contacts-grid__documents a {
	transition: .3s ease;
}

@media (max-width: 1300px) {
	.contacts-grid__title {
		font-size: 84px;
	}

	.contacts-grid__title-cell,
	.contacts-grid__item {
		padding-left: 40px;
	}

	.contacts-grid__address,
	.contacts-grid__row--bottom .contacts-grid__item:nth-child(2) {
		padding-left: 48px;
	}

	.contacts-grid__row--bottom .contacts-grid__item:nth-child(3) {
		padding-left: 56px;
	}

	.contacts-grid__value,
	.contacts-grid__list {
		font-size: 20px;
	}

	.contacts-grid__email {
		font-size: 22px;
	}
}

@media (max-width: 1025px) {
	.contacts-grid {
		padding: 60px 0;
	}

	.contacts-grid__row--top {
		grid-template-columns: 1fr 1fr;
	}

	.contacts-grid__map {
		grid-column: 1 / -1;
		height: 400px;
		margin-top: 0;
	}

	.contacts-grid__row--bottom {
		grid-template-columns: 1fr 1fr;
	}

	.contacts-grid__title-cell {
		padding: 0 40px;
	}

	.contacts-grid__address,
	.contacts-grid__item,
	.contacts-grid__row--bottom .contacts-grid__item:nth-child(2),
	.contacts-grid__row--bottom .contacts-grid__item:nth-child(3) {
		padding: 60px 40px;
	}
}

@media (max-width: 560px) {
	.contacts-grid__row--top,
	.contacts-grid__row--bottom {
		grid-template-columns: 1fr;
	}

	.contacts-grid__title-cell {
		padding: 0 20px;
	}

	.contacts-grid__address,
	.contacts-grid__item,
	.contacts-grid__row--bottom .contacts-grid__item:nth-child(2),
	.contacts-grid__row--bottom .contacts-grid__item:nth-child(3) {
		padding: 40px 20px;
	}

	.contacts-grid__title {
		max-width: 175px;
		font-size: 48px;
	}

	.contacts-grid__map {
		grid-column: auto;
		height: 300px;
	}

	.contacts-grid__label {
		margin-bottom: 28px;
	}
}

@media (max-width: 1025px) {
	.work-projects__heading {
		grid-template-columns: 240px minmax(0, 1fr);
	}

	.work-projects__body {
		grid-template-columns: 240px minmax(0, 1fr);
		gap: 24px;
	}

	.work-projects__title {
		font-size: 68px;
	}

	.work-projects__aside {
		padding-left: 0;
	}

	.work-projects__aside::before {
		width: 64px;
		height: 64px;
	}

	.work-projects__card::before {
		display: none;
	}

	.work-projects__text {
		font-size: 18px;
	}
}

@media (max-width: 820px) {
	.work-projects {
		padding: 80px 0;
	}

	.work-projects__horizontal-line {
		top: 300px;
	}

	.work-projects__heading,
	.work-projects__body {
		grid-template-columns: 1fr;
	}

	.work-projects__title {
		margin-top: 32px;
		font-size: 64px;
		text-align: left;
	}

	.work-projects__body {
		margin-top: 64px;
	}

	.work-projects__aside {
		align-items: flex-start;
	}

	.work-projects__aside::before {
		right: 0;
		bottom: 0;
	}

	.work-projects__slide,
	.work-projects__card {
		width: calc(100vw - 80px);
	}

	.work-projects__card {
		grid-template-columns: 42% minmax(0, 1fr);
		height: 390px;
	}

	.work-projects__image {
		width: 100%;
		height: 370px;
	}

	.work-projects__card-title {
		font-size: 42px;
	}

	.work-projects__card-text,
	.work-projects__readiness-label {
		font-size: 16px;
	}
}

@media (max-width: 560px) {
	.work-projects {
		padding: 60px 0;
	}

	.work-projects__title {
		font-size: 50px;
	}

	.work-projects__slide,
	.work-projects__card {
		width: calc(100vw - 40px);
	}

	.work-projects__card {
		grid-template-columns: 1fr;
		height: auto;
		padding: 10px;
	}

	.work-projects__card::before {
		right: 30px;
	}

	.work-projects__image {
		height: 340px;
	}

	.work-projects__content {
		min-height: 360px;
		padding: 20px 10px 10px;
	}

	.work-projects__slider .slick-track {
		gap: 20px;
	}

	.work-projects__case-link {
		padding: 10px;
		font-size: 13px;
	}
}

@media (max-width: 1025px) {
	.company-numbers {
		padding: 100px 0;
	}

	.company-numbers__intro {
		padding-right: 48px;
	}

	.company-numbers__info {
		padding-left: 48px;
	}

	.company-numbers__area {
		font-size: 88px;
	}

	.company-numbers__circles {
		flex-basis: 60px;
		width: 60px;
		height: 60px;
	}

	.company-numbers__value {
		font-size: 76px;
	}

	.company-numbers__images {
		grid-template-columns: minmax(0, 1fr) 100px;
		gap: 20px;
	}
}

@media (max-width: 820px) {
	.company-numbers {
		padding: 60px 0;
	}

	.company-numbers__content {
		grid-template-columns: 1fr;
	}

	.company-numbers__intro,
	.company-numbers__info {
		padding: 40px 0;
	}

	.company-numbers__info {
		border-left: 0;
	}

	.company-numbers__text {
		margin-bottom: 48px;
		font-size: 20px;
	}

	.company-numbers__images {
		max-width: 560px;
	}
}

@media (max-width: 560px) {
	.company-numbers__circles {
		flex-basis: 45px;
		width: 45px;
		height: 45px;
	}

	.company-numbers__slogan,
	.company-numbers__label {
		font-size: 16px;
	}

	.company-numbers__stats {
		grid-template-columns: 1fr;
	}

	.company-numbers__stat,
	.company-numbers__stat:nth-child(even) {
		padding: 28px 0;
		border-left: 0;
	}

	.company-numbers__value {
		font-size: 64px;
	}

	.company-numbers__images {
		grid-template-columns: minmax(0, 1fr) 72px;
		gap: 12px;
		margin-top: 40px;
	}

	.company-numbers__image {
		height: 110px;
	}
}


header a:not(.text-logo):hover {
    text-decoration-line:none !important
}


.site-footer {
	position: relative;
	min-height: 248px;
	overflow: hidden;
	padding: 75px 70px;
	border-bottom: 1px solid rgba(255, 255, 255, .35);
	background: #202020;
	box-sizing: border-box;
}

.site-footer .section-grid-line--left {
	left: 26.2%;
}

.site-footer .section-grid-line--center {
	left: 50.3%;
}

.site-footer .section-grid-line--right {
	right: 26.2%;
}

.site-footer__logo {
	position: relative;
	z-index: 1;
	display: block;
	width: 295px;
	height: 98px;
	object-fit: contain;
}

@media (max-width: 1025px) {
	.site-footer {
		min-height: 200px;
		padding: 60px 40px;
	}

	.site-footer__logo {
		width: 211px;
		height: 70px;
		margin: 0 auto;
	}
}

@media (max-width: 560px) {
	.site-footer {
		min-height: 160px;
		padding: 45px 20px;
	}

	.site-footer__logo {
		width: 211px;
		height: 70px;
	}
}

@media (max-width: 770px) {
	* {
		box-sizing: border-box !important;
	}

	.contacts-grid {
		padding: 60px 0 50px;
	}

	.section-grid-line,
	.company-numbers__line--vertical {
		display: none;
	}

	.menu-header {
		top: 0;
		height: 73px;
	}

	.menu-header > .container {
		padding-right: 20px;
		padding-left: 20px;
	}

	.menu-header > .container > div:first-child > a:first-child svg {
		width: 117px;
		height: 39px;
	}

	.menu-header .phone-link {
		display: none;
	}

	.mobile-recall-button {
		display: flex;
		width: 160px;
		padding: 10px;
		font-size: 14px;
	}

	a.recall-button {
		padding-inline: 0;
		font-family: Onest, sans-serif;
		font-size: 16px;
		font-style: normal;
		font-weight: 600 !important;
		letter-spacing: -.16px;
		line-height: 130%;
	}

	.menu-button {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 48px;
		height: 48px;
		background: #fff;
	}

	.hero {
		min-height: 735px;
		padding: 113px 0 0;
		background-color: #202020;
		background-image:
			linear-gradient(rgba(32, 32, 32, .6), rgba(32, 32, 32, .6)),
			url(images/bg_img.png);
		background-position: center 223px, center 223px;
		background-size: 100% 512px, 100% 512px;
		background-repeat: no-repeat;
		overflow: hidden;
	}

	.hero > .container {
		padding-right: 20px;
		padding-left: 20px;
	}

	.hero > .container > p:first-child {
		display: none;
	}

	.hero > div:last-child,
	.hero > div:last-child > .container {
		position: static;
	}

	.hero-title {
		padding: 0;
		font-size: 72px;
		line-height: .78;
		letter-spacing: -1px;
	}

	.hero-title > span:first-child {
		font-size: 100% !important;
	}

	.hero-text {
		width: 353px;
		max-width: 100%;
		margin: 32px 0 0;
		font-size: 13px;
		font-weight: 500;
		line-height: 1.3;
	}

	.hero-slider__nav {
		position: absolute;
		top: 440px;
		left: 20px;
		z-index: 2;
		padding: 0;
	}

	.hero-slider {
		position: absolute;
		top: 520px;
		left: 20px;
		width: calc(100% - 20px);
		clip-path: inset(-100px -100vw -100px 0);
	}

	.hero-slider .slick-list {
		overflow: visible;
		margin-left: 0;
	}

	.hero-slider .slick-list.draggable {
		padding-right: 10%;
	}

	.hero-slider .slick-slide {
		width: auto;
		margin-right: 12px;
	}

	.hero-slide__card {
		width: 339px;
		height: 175px;
		margin: 0;
		padding: 4px 12px 4px 4px;
	}

	.hero-slide__card--link {
		gap: 12px;
	}

	.hero-slide__card--image {
		width: 141px;
		height: 167px;
	}

	.hero-slide__card--image.fl_img img {
		display: block;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.hero-slide__card--body {
		height: 167px !important;
		padding: 9px 0 10px;
	}

	.hero-slide__card--body--title > div {
		font-size: 28px;
	}

	.hero-slide__card--body--title p,
	.hero-slide__card--body--completely span {
		font-size: 13px;
		line-height: 1.2;
	}

	.hero-slide__card--body--completely strong {
		font-size: 20px;
	}

	.company-numbers {
		padding: 60px 0;
	}

	.company-numbers__line {
		display: none;
	}

	.company-numbers .container {
		padding-right: 20px;
		padding-left: 20px;
	}

	.company-numbers__intro {
		padding: 32px 0 24px;
		border-bottom: 1px solid hsl(240deg 3% 6% / 15%);
	}

	.company-numbers__slogan br {
		display: none;
	}

	.company-numbers__slogan {
		padding-left: 0;
	}

	.company-numbers__area {
		gap: 20px;
		font-size: 80px;
		line-height: 1;
		white-space: normal;
	}

	.company-numbers__circles {
		flex-basis: 39px;
		width: 39px;
		height: 39px;
	}

	.company-numbers__images {
		display: flex;
		gap: 18px;
		margin-top: 15px;
		padding-left: 0;
	}

	.company-numbers__image.company-numbers__image--wide.fl_img {
		width: 260px;
		height: 136px;
		flex-shrink: 0;
	}

	.company-numbers__image.company-numbers__image--small.fl_img {
		width: 100%;
		max-width: 130px;
		height: 136px;
	}

	.company-numbers__info {
		padding: 24px 0 0;
	}

	.company-numbers__text {
		margin-bottom: 32px;
		font-size: 18px;
		line-height: 1.4;
	}

	.company-numbers__stats {
		grid-template-columns: 1fr 1fr;
		gap: 32px 18px;
	}

	.company-numbers__stat,
	.company-numbers__stat:nth-child(even) {
		padding: 0;
		border-left: 0;
	}

	.company-numbers__value {
		font-size: 60px;
	}

	.company-numbers__label {
		font-size: 16px;
	}

	.bg-dark {
		padding: 40px 0;
	}

	.bg-dark > .container {
		padding-right: 20px;
		padding-left: 20px;
	}

	.bg-dark .hero-text {
		margin: 49px 0 32px;
		font-size: 48px;
		line-height: 1;
		text-align: left;
	}

	.bg-dark .articles-grid {
		display: grid;
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.bg-dark .articles-grid:first-child {
		margin-bottom: 20px;
	}

	.bg-dark .grid-image {
		display: none;
	}

	.bg-dark .rectangle-div {
		width: 100%;
		min-height: 236px;
		padding: 32px 16px;
	}

	.bg-dark .rectangle-div__title {
		font-family: "Bebas Neue", sans-serif;
		font-size: 36px;
		font-weight: 600;
		line-height: 1;
	}

	.bg-dark .rectangle-div__text {
		font-size: 18px;
		line-height: 1.4;
	}

	.bg-dark .rectangle-div::before {
		width: 58px;
		height: 58px;
	}

	.rectangle-div.dark::before {
		top: calc(50% - 30px);
		right: -27px;
		left: auto;
		z-index: 2;
		background: #202020;
	}

	.production-feature {
		display: block;
		min-height: 633px;
		padding: 40px 0;
	}

	.production-feature > .container {
		padding-right: 20px;
		padding-left: 20px;
	}

	.production-feature__content_box {
		display: flex;
		flex-direction: column;
		gap: 0;
		align-items: flex-start;
	}

	.production-feature__content {
		display: contents;
	}

	.production-feature__slogan {
		display: flex;
		justify-content: flex-start;
		order: 1;
		width: 100%;
		margin-bottom: 32px;
		font-size: 13px;
	}

	.production-feature__title {
		order: 2;
		font-size: 48px;
		line-height: .96;
	}

	.production-feature__content_img {
		order: 3;
		width: 260px;
		height: 260px;
		margin-top: 32px;
		border-radius: 50%;
	}

	.production-feature__text {
		order: 4;
		margin-top: 32px;
		font-size: 18px;
		line-height: 1.4;
	}

	.projects-showcase {
		width: 100%;
		max-width: 100vw;
		padding: 40px 0;
	}

	.projects-showcase > .container {
		padding-right: 20px;
		padding-left: 20px;
	}

	.projects-showcase__heading {
		width: 100%;
		min-height: 0;
		margin-bottom: 32px;
	}

	.projects-showcase__title {
		margin-top: 32px;
		padding-right: 0;
		font-size: 48px;
		line-height: 1;
	}

	.projects-showcase__title::before {
		width: 39px;
		height: 39px;
	}

	.projects-showcase__intro {
		margin-top: 24px;
		font-size: 18px;
		line-height: 1.4;
	}

	.projects-showcase__project {
		display: flex;
		flex-direction: column;
		gap: 24px;
		width: 100%;
	}

	.projects-showcase__slider,
	.projects-showcase__slider .slick-list {
		width: 100%;
		max-width: 100%;
		min-width: 0;
		overflow: hidden;
	}

	.projects-showcase__slider .slick-list {
		margin-left: 0;
	}

	.projects-showcase__slide {
		min-width: 0;
	}

	.projects-showcase__slide > .container {
		width: 100%;
		max-width: 100%;
		padding-right: 20px;
		padding-left: 20px;
	}

	.projects-showcase__main {
		order: 1;
		overflow: hidden;
	}

	.projects-showcase__main-image {
		width: 100%;
		height: 314px;
	}

	.projects-showcase__card {
		order: 2;
		min-height: 313px;
		padding: 32px 20px;
	}

	.projects-showcase__card::before {
		content: "";
		position: absolute;
		top: -28px;
		right: 20px;
		width: 58px;
		height: 58px;
		border-radius: 50%;
		background: #eee;
	}

	.projects-showcase__project-title {
		font-size: 48px;
	}

	.projects-showcase__project-text {
		font-size: 18px;
		line-height: 1.4;
	}

	.projects-showcase__gallery {
		gap: 12px;
		margin-top: 24px;
		padding-left: 20px;
		border-top: 0;
	}

	.projects-showcase__gallery-image {
		flex-basis: 339px;
		height: 247px;
	}

	.projects-showcase__arrows--desktop {
		display: none;
	}

	.projects-showcase__arrows--mobile {
		display: flex;
		margin: 24px 20px 0;
	}

	.work-projects {
		padding: 40px 0;
	}

	.work-projects > .container {
		padding-right: 20px;
		padding-left: 20px;
	}

	.work-projects__horizontal-line {
		display: none;
	}

	.work-projects__heading {
		display: block;
	}

	.work-projects__title {
		margin-top: 32px;
		font-size: 48px;
		line-height: 1;
		text-align: left;
	}

	.work-projects__body {
		display: flex;
		flex-direction: column;
		margin-top: 24px;
	}

	.work-projects__aside {
		display: contents;
	}

	.work-projects__aside::before {
		display: none;
	}

	.work-projects__text {
		order: 1;
		font-size: 18px;
		line-height: 1.4;
	}

	.work-projects__slider {
		order: 2;
		width: 100%;
		max-width: 100%;
		margin-top: 15px;
	}

	.work-projects__slider .slick-list {
		margin-left: 0;
	}

	.work-projects__arrows {
		order: 3;
		align-self: flex-start;
		margin-top: 5px;
	}

	.work-projects__slide,
	.work-projects__card {
		width: 339px;
	}

	.work-projects__card {
		grid-template-columns: 147px minmax(0, 1fr);
		gap: 12px;
		height: 227px;
		padding: 4px 12px 4px 4px;
	}

	.work-projects__image {
		width: 147px;
		height: 219px;
	}

	.work-projects__image.fl_img img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.work-projects__content {
		min-height: 0;
		padding: 12px 0;
	}

	.work-projects__number,
	.work-projects__case {
		display: none;
	}

	.work-projects__card-title {
		font-size: 28px;
	}

	.work-projects__card-text {
		margin-top: 8px;
		font-size: 13px;
		line-height: 1.2;
	}

	.work-projects__readiness-label {
		font-size: 13px;
	}

	.work-projects__readiness-value {
		margin-top: 4px;
		font-size: 20px;
	}

	.contacts-grid__title-cell {
		padding-bottom: 32px;
		border-bottom: 1px solid hsl(240deg 3% 6% / 15%);
	}

	.contacts-grid__item {
		border-bottom: 1px solid hsl(240deg 3% 6% / 15%);
	}

	.contacts-grid__social {
		display: flex;
		align-items: center;
		justify-content: center;
		overflow: hidden;
		border-radius: 8px;
		background: #fff;
		padding: 0;
		transition: .3s ease;
	}
}

@media (max-width: 380px) {
	a.recall-button.mobile-recall-button {
		display: none;
	}
}

.wpcf7 label.ch {
	margin: 0;
	display: flex;
	align-items: flex-start;
	color: rgb(5 5 5);
	font-size: 16px !important;
	font-weight: 400;
	line-height: 1.6;
	cursor: pointer;
}

.wpcf7 .ch .wpcf7-form-control-wrap {
	display: block;
	width: 16px;
}

.wpcf7 label.ch input[type="checkbox"] {
	position: relative;
	width: 19px;
	height: 19px;
	margin: 3px 0 0;
	padding: 0;
	flex: 0 0 16px;
	appearance: none;
	border: 1px solid rgb(25 25 25);
	border-radius: 4px;
	background: #fff;
	cursor: pointer;
	transition: border-color .3s ease, background-color .3s ease;
}

.wpcf7 label.ch input[type="checkbox"]:checked {
	border-color: #0f2a44;
	background: #0f2a44;
}

.wpcf7 label.ch input[type="checkbox"]:checked::after {
	content: '';
	position: absolute;
	top: 2px;
	left: 5px;
	width: 4px;
	height: 8px;
	transform: rotate(45deg);
	border-right: 2px solid #fff;
	border-bottom: 2px solid #fff;
}

.wpcf7 label.ch > span:last-child {
	width: calc(100% - 16px);
	padding-left: 9px;
	font-size: 14px !important;
	line-height: 1.6;
}

.wpcf7 label.ch a {
	color: rgb(0 0 0);
	font-weight: 600;
	text-decoration: underline;
}

.wpcf7 label.ch a:hover {
	color: #0f2a44;
}

.modal_box {
	width: 636px;
	max-width: calc(100vw - 32px);
	padding: 64px !important;
	border-radius: 12px;
	background: #fff;
}

.modal__title {
	margin: 0;
	color: #191919;
	font-size: 26px;
	font-weight: 700;
	line-height: 1.3;
}

.modal__subtitle {
	margin-top: 12px;
	color: rgb(0 0 0);
	font-size: 16px;
	line-height: 1.6;
}

.modal .wpcf7 {
	margin-top: 28px;
}

.modal_box .fancybox-close-small {
	top: 8px !important;
	right: 8px !important;
	padding: 0;
}


html body .wpcf7 input.wpcf7-form-control:not([type="submit"]):not([type="checkbox"]),
html body .wpcf7 select.wpcf7-form-control,
html body .wpcf7 textarea.wpcf7-form-control {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 24px !important;
	display: block !important;
	border: 1px solid rgb(0 0 0) !important;
	border-radius: 12px !important;
	background: none !important;
	color: #191919 !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	line-height: normal !important;
	text-align: left !important;
	outline: none !important;
	transition: border-color .3s ease !important;
}

html body .wpcf7 input.wpcf7-form-control:not([type="submit"]):not([type="checkbox"]),
html body .wpcf7 select.wpcf7-form-control {
	height: 55px !important;
}


span.wpcf7-list-item-label {
	display: none;
}


span.wpcf7-list-item.first.last {
	margin: 0;
}


span.wpcf7-not-valid-tip {
	display: none !important;
}


.wpcf7-not-valid input[type="checkbox"] {
	box-shadow: inset 0 0 0 2px #f00;
}


input.wpcf7-not-valid {
	border-color: #f00 !important;
}


.wpcf7 .form_item {
	position: relative;
	margin: 0 0 25px;
}


.form_item.mb0 {
	margin: 0 !important;
	text-align: center;
}


input.wpcf7-form-control.wpcf7-submit.has-spinner {
	width: 280px;
	background: #000;
	line-height: 55px;
	color: #fff;
	text-align: center;
	margin: 0 auto !important;
}
