/* 404 */
.article.page__404 {
	background: linear-gradient(90deg, #313840 0%, #252a2f 100%);
	color: #fff;
}

.page__404__title {
	color: inherit;
	margin-bottom: 22.5px;
}

.page__404__big_text {
	font-size: 22px;
	font-weight: 300;
}

.page__404__small_text {
	font-size: 130px;
	line-height: 1;
	margin-top: 12px;
}

.btn_page__404 {
	background: #ffffff;
	position: relative;
	font-size: 16px;
	display: inline-flex;
	padding: 20px 40px;
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
	background: rgba(36, 38, 41, 0.5);
	color: #fff;
}

.btn_page__404 .borders {
	position: absolute;
	top: -2px;
	left: -2px;
	width: calc(100% + 4px);
	height: calc(100% + 4px);
	-webkit-transition: all 0.2s;
	transition: all 0.2s;
}

.btn_page__404 .borders div,
.btn_page__404 div.borders div {
	position: absolute;
	height: 12px;
	width: 12px;
	border-width: 0px;
	border-color: #fff;
	border-style: solid;
	-webkit-transition: all 0.5s;
	transition: all 0.5s;
}
.btn_page__404 .borders div:nth-child(1) {
	top: 0;
	left: 0;
	border-top-width: 2px;
	border-left-width: 2px;
	-webkit-animation: reverseWidthAnimation 0.5s forwards;
	animation: reverseWidthAnimation 0.5s forwards;
}
.btn_page__404 div.borders div:nth-child(2) {
	top: 0;
	right: 0;
	border-top-width: 2px;
	border-right-width: 2px;
	-webkit-animation: reverseHeightAnimation 0.5s forwards;
	animation: reverseHeightAnimation 0.5s forwards;
}
.btn_page__404 div.borders div:nth-child(3) {
	bottom: 0;
	right: 0;
	border-bottom-width: 2px;
	border-right-width: 2px;
	-webkit-animation: reverseWidthAnimation 0.5s forwards;
	animation: reverseWidthAnimation 0.5s forwards;
}
.btn_page__404 div.borders div:nth-child(4) {
	bottom: 0;
	left: 0;
	border-bottom-width: 2px;
	border-left-width: 2px;
	-webkit-animation: reverseHeightAnimation 0.5s forwards;
	animation: reverseHeightAnimation 0.5s forwards;
}
.btn_page__404:hover div.borders {
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
}
.btn_page__404:hover div.borders div {
	width: 100%;
	height: 100%;
}

@media screen and (max-width: 550px) {
	.page__404__small_text {
		font-size: 110px;
		margin-top: 15px;
	}

	.page__404__inner {
		justify-content: center;
		display: flex;
		flex-direction: column;
		align-items: center;
		text-align: center;
	}

	.page__404__big_text {
		font-size: 20px;
	}
}

/* default text */

.default_text * {
	margin-bottom: 1.55em;
	margin-top: 0;
	line-height: 1.6;
	font-size: inherit;
}

.default_text {
	font-size: 17px;
}

.default_text h1 {
	font-size: 2.5em;
}

.default_text h2 {
	font-size: 1.85em;
	margin-bottom: 1.1em;
	line-height: 1.35;
	margin-top: 1.75rem;
}

.main_title {
	font-size: 60px;
}

.default_text ul,
.default_text ol {
	list-style: initial;
	padding-left: 1em;
}

.default_text ul li {
	list-style: disc;
}
.default_text ol li {
	list-style: decimal;
}

.default_text strong {
	display: inline;
}

img.article__image {
	margin-top: 40px;
	margin-bottom: 40px;
}

.default_text--post * {
	color: #222;
	line-height: 1.65;
}

.default_text a,
.default_text a > span {
	color: #298dda;
}

.default_text a:hover,
.default_text a > span:hover {
	color: inherit;
}
.support__text * {
	margin-bottom: 25px;
}

.support__text *:last-child {
	margin-bottom: 0;
}
.default_text--post {
	margin-top: 30px;
}
section.article.article--information_2 {
	padding: 50px 0;
}
.project--info_page img {
	aspect-ratio: 8/5;
	object-fit: cover;
}
.article__service .default_text--post {
	margin-top: 0;
	padding-bottom: 40px;
}
@media (max-width: 640px) {
	.main_title {
		font-size: 30px;
	}
}
@media (max-width: 960px) {
	section.article div.container {
		grid-gap: 30px;
	}

	img.article__image {
		margin-top: 30px;
		margin-bottom: 30px;
	}

	.default_text h2 {
		font-size: 1.3em;
		line-height: 1.35;
		margin-bottom: 1.25em;
	}
	.default_text {
		font-size: 14px;
	}
	.default_text * {
		line-height: 1.6;
		margin-bottom: 1.5em;
	}
}

/* service add */

.service_triggers__list {
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
}

.service_triggers__item {
	width: 100%;
	display: flex;
	gap: 30px;
	border-bottom: 1px solid;
	padding-bottom: 35px;
	align-items: flex-start;
}

.service_triggers__item__icon {
	width: 60px;
	height: auto;
	font-size: 0;
}

.service_triggers__item__icon img {
	width: 100%;
	border-radius: 0;
}

.service_triggers__item__title {
	font-size: 20px;
	margin-bottom: 10px;
	color: #000;
	font-weight: 300;
}

.service_triggers__item__text {
	font-size: 16px;
}

.service_triggers__item__info {
	flex: 1;
}

.service_triggers h2 {
	font-size: 40px;
	margin-bottom: 55px;
	line-height: 1.2;
}

.service_triggers {
	padding: 50px 0;
}

.service_triggers__item:last-child {
	padding-bottom: 0;
	border: none;
}

.item.item-subservices--0 h3 {
	background: linear-gradient(90deg, #406eb4 0%, #5e3b89 100%);
}
.item.item-subservices--1 h3 {
	background: linear-gradient(90deg, #6d597c 0%, #5978c8 100%);
}
.item.item-subservices--2 h3 {
	background: linear-gradient(90deg, #bb7787 0%, #918ae0 100%);
}
.item.item-subservices--3 h3 {
	background: linear-gradient(90deg, #b68145 0%, #ba2c2c 100%);
}
.item.item-subservices--4 h3 {
	background: linear-gradient(90deg, #655f8a 0%, #4274c0 100%);
}
.item.item-subservices--5 h3 {
	background: linear-gradient(90deg, #ad9f90 0%, #b1856d 100%);
}
.item.item-subservices--6 h3 {
	background: linear-gradient(90deg, #aea7d8 0%, #d6a4de 100%);
}
.item.item-subservices--7 h3 {
	background: linear-gradient(90deg, #c3976e 0%, #c06042 100%);
}
.item.item-subservices--8 h3 {
	background: linear-gradient(90deg, #ede1d0 0%, #edc9b4 100%);
}
.item.item-subservices--9 h3 {
	background: linear-gradient(90deg, #96c8c9 0%, #0e608f 100%);
}
.item.item-subservices--10 h3 {
	background: linear-gradient(90deg, #a76b48 0%, #e7a891 100%);
}

.article__service {
	padding-top: 50px;
}

.short_description__projects__inner {
	display: -webkit-box;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
}

.swiper-slide-active .short_description__projects__inner {
	-webkit-line-clamp: 3;
}

.cookie_modal {
	display: none;
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 999;
	background: #fff;
	padding: 1rem 1rem;
	text-align: center;
	color: #000;
	font-size: 1rem;
	box-shadow: 0 -10px 2rem -1rem #ccc;
}

.cookie_modal__text {
	font-size: 0.9rem;
	text-align: left;
}

.cookie_modal__close {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' version='1.1' xmlns:xlink='http://www.w3.org/1999/xlink' width='512' height='512' x='0' y='0' viewBox='0 0 24 24' style='enable-background:new 0 0 512 512' xml:space='preserve' class=''%3E%3Cg%3E%3Cpath d='M9.707 19.121a.997.997 0 0 1-1.414 0l-5.646-5.647a1.5 1.5 0 0 1 0-2.121l.707-.707a1.5 1.5 0 0 1 2.121 0L9 14.171l9.525-9.525a1.5 1.5 0 0 1 2.121 0l.707.707a1.5 1.5 0 0 1 0 2.121z' fill='%23000000' opacity='1' data-original='%23000000' class=''%3E%3C/path%3E%3C/g%3E%3C/svg%3E");
	width: 32px;
	aspect-ratio: 1/1;
	background-size: 55%;
	background-repeat: no-repeat;
	background-position: 50%;
	cursor: pointer;
	flex-shrink: 0;
	margin-top: 1px;
	font-size: 0;
	margin-left: 12.5px;
	margin-top: -1px;
}

.cookie_modal__close:hover {
	opacity: 0.5;
}

.cookie_modal .container {
	display: flex;
	justify-content: center;
}
.cookie_modal__text > * {
	font-size: inherit;
}

.cookie_modal__text a {
	color: #2c7ede;
}

.cookie_modal__text a:hover {
	color: inherit;
}

@media screen and (max-width: 900px) {
	.cookie_modal__text {
		font-size: 12px;
	}
}
@media screen and (max-width: 550px) {
	section.what div.image div.sticky {
		top: 0;
		transform: translate(0, 40%);
	}
}

img.size-full.wp-image-461.alignleft {
	float: left;
	margin-right: 2rem;
	max-width: 35.5%;
}

img.wp-image-455.alignleft {
	float: left;
	max-width: 36%;
	margin-right: 2rem;
}

@media screen and (max-width: 900px) {
	img.size-full.wp-image-461.alignleft {
		float: none;
		margin: 0;
		max-width: 100%;
	}
	img.wp-image-455.alignleft {
		float: none;
		margin: 0;
		max-width: 100%;
	}
}

#gallery-1 {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	margin-bottom: 2rem !important;
}

#gallery-1 br {
	display: none;
}

#gallery-1 .gallery-item {
	float: none;
	margin: 0;
	min-width: 155px;
	flex: 1 0 calc((100% - 4rem) / 5);
}

dl.gallery-item * {
	margin: 0;
}

#gallery-1 img {
	width: 100%;
	height: auto;
	border: 1px solid #ccc;
	border-radius: 0.25rem;
}

.what__man__image {
	font-size: 0;
	border-radius: 50%;
	overflow: hidden;
	aspect-ratio: 1/1;
	width: 100px;
}

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

.what__man__block {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	margin-top: 40px;
}

.what__man {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	align-items: center;
	margin-bottom: 50px;
}

.what__man__name {
	font-weight: bold;
	color: #000;
	font-size: 20px;
	margin-bottom: 2px;
}

.what__man__addtitle {
	line-height: 1.4;
	font-size: 13.5px;
}

.what__text p {
	font-size: 28px;
	font-weight: 500;
	color: #000;
	line-height: 1.45;
}

.what__text {
	position: relative;
	padding: 20px 0px 60px 60px;
	flex: 1;
	line-height: 1;
}

.what__text:before {
	top: 0;
	content: '"';
	position: absolute;
	left: 0;
	font-size: 70px;
	color: #000;
	line-height: 0.5;
	font-style: italic;
}

.what__text:after {
	bottom: 0;
	content: '"';
	position: absolute;
	right: 0;
	font-size: 70px;
	color: #000;
	line-height: 0.5;
	font-style: italic;
}

@media screen and (max-width: 960px) {
	.what__text p {
		font-size: 20px;
		line-height: 1.45;
	}

	.what__man__image {
		width: 85px;
	}

	.what__text:before,
	.what__text:after {
		font-size: 50px;
	}

	.what__text {
		padding: 20px 0px 50px 40px;
	}

	.what__man__name {
		font-size: 18px;
	}

	.what__man__addtitle {
		font-size: 13px;
	}
}
@media screen and (max-width: 700px) {
	.what__man__block {
		flex-direction: column;
		align-items: flex-start;
		margin-bottom: -45px;
	}

	.what__man__image {
		width: 75px;
	}

	.what__man {
		width: 100%;
		gap: 15px;
		margin-bottom: 40px;
	}

	.what__text {
		padding: 30px 0 40px;
	}

	.what__text:before,
	.what__text:after {
		font-size: 45px;
	}

	.what__text:before {
		left: -10px;
	}

	.what__text p {
		font-size: 18px;
	}
}

button[disabled] {
	opacity: 0.5;
	pointer-events: none;
	filter: blur(1.5px);
}

/* new menu  */

.menu_x {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1000;
	background: transparent;
	pointer-events: none;
	opacity: 0;
	visibility: hidden;
}
.menu_x.active {
	pointer-events: all;
	opacity: 1;
	visibility: visible;
}

.menu_x__bg {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	display: block;
	z-index: 1;
	background: rgb(0 0 0 / 50%);
	backdrop-filter: blur(10px);
	cursor: pointer;
}

.menu_x__content {
	z-index: 2;
	width: 50%;
	background: #fff;
	transform: translate(-100%, 0);
	overflow: scroll;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	min-width: 675px;
	padding: 20px 20px 0;
}

.menu_x.active .menu_x__content {
	transform: translate(0, 0);
}

.loaded .menu_x__content {
	transition: 0.35s ease-in-out;
}

.loaded .menu_x {
	transition: 0.35s ease-in-out;
}
.menu_x__content::-webkit-scrollbar {
	display: none;
}

.menu_x__content {
	-ms-overflow-style: none;
	scrollbar-width: none;
}

.menu_x__content .cross {
	position: absolute;
	right: 15px;
	top: 12px;
	cursor: pointer;
}

.menu_x__content .logo {
	margin-bottom: 32px;
	width: 190px;
}

.menu_x__content__menu__title {
	font-size: 18px;
	margin-bottom: 14px;
	display: block;
	line-height: 1.15;
}

.menu_x__content__menu__list {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.menu_x__content__menu {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 30px;
	flex: 1;
	gap: 30px;
}

.menu_x__content__menu > * {
	flex: 1;
}

.menu_x__content__menu__list a {
	font-size: 15.5px;
	display: inline-block;
}

.menu_x__content__menu__list li {
	line-height: 1.15;
}

.menu_x__content__menu__list a:hover {
	color: #000;
}

.menu_x__content__info {
	border-radius: 0;
	padding: 20px;
	background: #313840;
	margin: 0 -20px;
	color: #fff;
	position: relative;
}

.menu_x__content__info .socials {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 20px;
}

.menu_x__content__info .socials a {
	width: 36px;
	height: 36px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 5.5px;
}

.menu_x__content__info .socials a svg {
	width: 100%;
	height: auto;
}

.menu_x__content__info .socials svg:not(:hover) path {
	fill: #fff;
}

.menu_x__content__info .socials path {
	transition: 0.25s;
}

.menu_x__content__info__title {
	color: inherit;
	font-size: 18px;
	line-height: 1.3;
	margin-bottom: 17px;
}

.menu_x__content__info .contacts {
	display: flex;
	flex-direction: column;
	gap: 6px;
	align-items: flex-start;
}

.menu_x__content__info .support {
	margin-bottom: 20px;
}

.menu_x__content__info .contacts a {
	font-size: 15px;
	display: flex;
	align-items: center;
	gap: 10px;
}

.menu_x__content__info .contacts a:hover {
	opacity: 0.5;
}

.loaded .menu_x__content__info .contacts a {
	transition: 0.25s ease;
}

.menu_x__content__info__buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.menu_x__content__info .apps {
	position: absolute;
	right: 21px;
	top: 103px;
	display: flex;
	flex-wrap: wrap;
	gap: 5px 10px;
}
.menu_x__content__info .apps a {
	height: 41px;
}

.menu_x__content__info .apps img {
	height: 100%;
}

.menu_x__content .logo a {
	display: block;
	font-size: 0;
}

.menu_x__content__info__buttons button {
	border: 1px solid rgb(255 255 255 / 35%);
	background: transparent;
	display: flex;
	align-items: center;
	gap: 19px;
	padding: 12px 20px;
	font-size: 16px;
	flex: 1;
	justify-content: center;
}

.menu_x__content__info__buttons button svg {
	width: 27px;
}

.menu_x__content__info__buttons button:hover {
	background: #232528;
	border-color: #232528;
}

.loaded .menu_x__content__info__buttons button {
	transition: 0.25s;
}

@media screen and (min-width: 1600px) {
	.menu_x__content .container {
		display: flex;
		flex-direction: column;
		min-height: 100%;
	}

	.menu_x__content__menu__list a {
		font-size: 18.5px;
	}

	.menu_x__content__menu__list {
		gap: 11px;
	}

	.menu_x__content__menu__title {
		font-size: 22px;
	}

	.menu_x__content .logo {
		width: 200px;
		margin-bottom: 35px;
	}

	.menu_x__content__info .contacts a {
		font-size: 16px;
	}

	.menu_x__content__info__title {
		font-size: 20px;
	}
}
@media screen and (max-width: 800px) {
	.menu_x__content {
		min-width: 0;
		width: 100%;
	}

	.menu_x__content__info .apps {
		right: 20px;
		max-width: 300px;
		justify-content: flex-end;
	}
}

@media screen and (max-width: 550px) {
	.menu_x__content__menu {
		flex-direction: column;
		gap: 24px;
		margin-bottom: 20px;
	}

	.menu_x__content__menu__title {
		margin-bottom: 7.5px;
	}

	.menu_x__content__menu__list {
		gap: 7.5px;
	}

	.menu_x__content .logo {
		width: 150px;
		margin-bottom: 24px;
	}

	.menu_x__content__info .apps {
		position: static;
		margin-bottom: 22px;
		gap: 8px;
		justify-content: flex-start;
		max-width: 100%;
	}

	.menu_x__content__info {
		padding: 22px 15px 75px;
		margin: 0 -15px;
	}

	.menu_x__content__info__buttons button {
		font-size: 15px;
		padding: 10px;
		line-height: 1.2;
		width: 100%;
		flex: none;
	}

	.menu_x__content__info__buttons button svg {
		width: 25px;
	}

	.menu_x__content__info__buttons {
		gap: 7.5px;
		flex-direction: column;
	}

	.menu_x__content {
		padding: 15px;
	}
}

div.breadcrumbs--service a small {
	color: #a4adba;
}

.breadcrumbs--service a {
	color: #a4adba;
}

div.breadcrumbs--service a:after {
	background: #a4adba;
	opacity: 1;
	width: 95%;
}

.contact__add__info__list {
	display: flex;
	flex-wrap: wrap;
	gap: 2rem;
}

.contact__add__info__item {
	width: calc(50% - 1rem);
}

.contact__add__info {
	background: #f3f3f3;
	padding: 3rem 0;
	color: #000;
}

.contact__add__info__item__title {
	font-size: 24px;
	font-weight: bold;
	margin-bottom: 0.5rem;
	line-height: 1.24;
}

.contact__add__info__item__info a {
	font-size: 16px;
	line-height: 1;
	font-weight: 400;
}

.contact__add__info__item__info {
	line-height: 1.35;
}

.contact__add__info__item__info a:hover {
	color: #167df0;
}

@media screen and (max-width: 700px) {
	.contact__add__info__item {
		width: 100%;
	}

	.contact__add__info__list {
		gap: 40px;
	}

	.contact__add__info__item__title {
		font-size: 19px;
	}

	.contact__add__info__item__info a {
		font-size: 15px;
	}

	.contact__add__info__item__info {
		line-height: 1.3;
	}

	.contact__add__info {
		padding: 45px 0;
	}
}


.apps__link__footer {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    max-width: 270px;
    justify-content: flex-start;
}

@media screen and (max-width:961px){
    .apps__link__footer{max-width:300px}
}