/*

THIS FILE IS OVERWRITTEN WHEN THE SOLUTION IS UPDATED
--------
FAIL ZATIRAETSY PRI OBNOVLENII RESHENIY

*/

article, aside, details, figcaption, figure, footer, header, hgroup, section, main {
	display: block;
}

ol, ul {
	list-style-position: inside;
}

ul, ol, dir {
	margin: 0;
	padding: 0;
}

h1, h2, h3, h4, h5, h6 {
	margin: 0;
}

input, button, textarea {
	font-family: 'Montserrat', sans-serif;
	outline: none;
}

p {
	margin: 0;
}

a {
	color: #8F8F8F;
	text-decoration: none;
}

img {
	border: none;
}

html {
	height: 100%;
}

body {
	color: #121212;
	font-size: 15px;
	background: #fff;
	font-family: 'Montserrat', sans-serif;
	margin: 0;
	-webkit-font-smoothing: antialiased;
	font-weight: 500;
}

.clear {
	clear: both;
}


/*------------------
--- MAIN STYLES ---
----------------*/

.indexContainer {
	display: flex;
	flex-direction: column;
}

.indexBlock.hidden {
	display: none;
}

.indexBlock[data-order="1"] {
	order: 1;
}

.indexBlock[data-order="2"] {
	order: 2;
}

.indexBlock[data-order="3"] {
	order: 3;
}

.indexBlock[data-order="4"] {
	order: 4;
}

.indexBlock[data-order="5"] {
	order: 5;
}

.indexBlock[data-order="6"] {
	order: 6;
}

.indexWrapper {
	max-width: 1160px;
	margin: 0 auto;
}

.mainTitle {
	margin: 20px auto 20px;
	max-width: 1160px;
}

.mainTitle h1 {
	font-size: 24px;
	max-width: 1000px;
	line-height: 30px;
}

.mainTitle h1.max {
	font-size: 24px;
}

.mainTitle h1.min {
	font-size: 20px;
}

#workArea {
	max-width: 1160px;
	margin: 0 auto 90px auto;
}

.divFlex {
	display: flex;
	align-items: flex-start;
}

main {
	margin: 0 0 0 65px;
	width: 100%;
}

main.fullMain {
	margin: 0;
}

.sidebar {
	width: 325px;
	min-width: 325px;
	padding: 5px 0 0 0;
}

#wrapper.animationON main {
	animation: fadeInUp_30px 1.2s ease;
}

#wrapper.animationON .sidebar {
	animation: fadeIn 1.2s ease;
}

/*------------------
--- MAIN STYLES ---
----------------*/


/*------------------
-- HEADER SITE ---
----------------*/

header {
	z-index: 99;
}

#wrapper.animationON header {
	animation: fadeIn 1.1s ease;
}

.headerTop {
	border-bottom: 1px solid #F4F4F4;
	background: #fff;
	z-index: 3;
	position: relative;
}

.headerTopWrap {
	max-width: 1160px;
	margin: 0 auto;
	padding: 21px 0 21px 0;
	display: flex;
	justify-content: space-between;
}

.headerTopWrap > div {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.headerTop .headerSearch {
	margin: 0 0 0 39px;
	cursor: pointer;
	font-size: 13px;
	display: flex;
	align-items: center;
}

.headerTop .headerSearch svg {
	margin: 0 9px 0 0;
}

body.detailed .headerBottom {
	border-bottom: 1px solid #F4F4F4;
}

/* position: relative; z-index: 2; background: #fff; */
.headerBottomWrap {
	max-width: 1160px;
	margin: 0 auto;
	padding: 33px 0 35px 0;
	display: flex;
	justify-content: space-between;
}

.headerBottomWrap > div {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#menuButton {
	font-size: 22px;
	text-align: center;
	line-height: 45px;
	width: 19px;
	margin-right: 35px;
	cursor: pointer;
	display: none;
}

#logo {
}

#logo img, #logo svg {
	max-width: 185px;
	max-height: 70px;
	width: 185px;

	display: block;
}

.buttonTopMenu {
	color: #121212;
	letter-spacing: .02em;
	cursor: default;
	position: relative;
	padding: 0 18px 0 0;
	height: 40px;
	line-height: 40px;
	margin: 0 0 0 62px;
}

.buttonTopMenu.open svg {
	transform: rotate(180deg);
}

.buttonTopMenu svg {
	position: absolute;
	top: 50%;
	right: 0;
	margin: -2px 0 0 0;
	transition: transform .2s linear;
}

.buttonTopMenu.open:after {
	position: absolute;
	height: 40px;
	content: '';
	width: 100%;
	top: 100%;
	margin: -10px 0 0 0;
	left: 0;
}


.marginBottomMenu {
	margin: 0 0 0 36px;
}

.headerBottom .headerSearch {
	width: 46px;
	height: 46px;
	border-radius: 50%;
	box-sizing: border-box;
	line-height: 51px;
	cursor: pointer;
	text-align: center;
	display: none;
	box-shadow: 0px 20px 20px rgba(0, 0, 0, .05), 0px 10px 10px rgba(0, 0, 0, .05), 0px 5px 5px rgba(0, 0, 0, .05), 0px 2px 2px rgba(0, 0, 0, .05);
}

header .requestCall {
	display: inline-block;
	cursor: pointer;
	font-size: 13px;
	border-radius: 100px;
	letter-spacing: .01em;
	color: #fff;
	padding: 15px 25px 15px 25px;
}

header .requestCall svg {
	display: none;
}

.basketHeader {
	margin: 0 0 0 25px;
}


#mobileMenu {
	background: #fff;
	position: fixed;
	top: 0;
	bottom: 0;
	z-index: 1000;
	overflow: hidden;
	width: 310px;
	display: none;
	box-shadow: 0px 4px 40px rgba(0, 0, 0, .25);
}

#mobileMenu.redcodeVisible {
	animation: mobileMenuVisible .5s ease;
}

#mobileMenu .mobileMenu {
	overflow-x: hidden;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior: none;
	width: 106%;
	height: 100%;
}

.mobileMenuWrap {
	transition: transform .2s ease-in-out;
	margin: 0 4% 0 0;
}

.mobileMenuBasket {
	display: flex;
	align-items: center;
	padding: 12.5px 29px;
	cursor: pointer;
	border-bottom: 1px solid #F0F0F0;
	color: #121212;
	justify-content: space-between;
}

.mobileMenuBasket > p {
	display: flex;
	align-items: center;
}

.mobileMenuBasket .openBasket {
	margin: 0 20px 0 0;
}

.mobileMenuCallBack {
	display: flex;
	align-items: center;
	padding: 12.5px 29px;
	cursor: pointer;
	border-bottom: 1px solid #F0F0F0;
	justify-content: space-between;
}

.mobileMenuCallBack div {
	display: flex;
	align-items: center;
}

.mobileMenuCallBack p {
	width: 45px;
	height: 45px;
	text-align: center;
	margin: 0 20px 0 0;
	border-radius: 50%;
	line-height: 52px;
	box-shadow: 0px 20px 20px rgba(0, 0, 0, .05), 0px 10px 10px rgba(0, 0, 0, .05), 0px 5px 5px rgba(0, 0, 0, .05), 0px 1px 1px rgba(0, 0, 0, .05);
}

#mobileMenu .mobileContacts {
	padding: 0 30px;
	font-size: 13px;
	line-height: 22px;
	margin: 35px 0 0 0;
}

#mobileMenu .mobileContacts > div {
	margin: 30px 0 0 0;
	display: flex;
}

#mobileMenu .mobileContacts > div:first-child {
	margin-top: 0;
}

#mobileMenu .mobileContacts > div:first-child svg {
	width: 18px;
}

#mobileMenu .mobileContacts svg {
	padding: 5px 0 0 0;
	margin: 0 10px 0 0;
}

#mobileMenu .social {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	padding: 0 26px 26px 26px;
	margin: 35px 0 0 0;
}

#mobileMenu .social a {
	margin: 0 14px 0 0;
	border-radius: 50%;
	padding: 12px;
}

#mobileMenu .social a:last-child {
	margin-right: 0;
}

#mobileMenu .social img {
	display: block;
	max-width: 16px;
}

#mobileScrollBar {
	position: absolute;
	top: 2px;
	right: 3px;
	width: 4px;
	height: 0;
	-webkit-user-select: none;
	background: #C2C2C2;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	border-radius: 4px;
}

@keyframes mobileMenuVisible {
	0% {
		left: -100%;
	}
	100% {
		left: 0;
	}
}

/*------------------
-- HEADER SITE ---
----------------*/


/*------------------------
------- FOOTER SITE -------
------------------------*/

footer {
	padding: 68px 0 47px 0;
	background: #121212;
}

.footerWrap {
	max-width: 1160px;
	margin: 0 auto;
}

.footerTop {
	margin: 0 0 82px 0;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}

.footerTop > div:first-child {
	width: 70%;
}

#footerContacts {
	width: 25%;
	margin: 0 0 0 5%;
}

#footerContacts h3 {
	margin: 0 0 33px 0;
	color: #fff;
	font-size: 15px;
}

#footerContacts > div {
	margin: -9px 0 31px 0;
	line-height: 28px;
	font-size: 14px;
	color: #fff;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

#footerContacts > div:last-child {
	margin-bottom: 0;
}

#footerContacts > div > svg {
	height: 28px;
}

#footerContacts > div > div {
	width: 88.5%;
}

.footerBottom {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.footerCopyright {
	color: #aeaeae;
	font-size: 13px;
}

.footerCopyright div {
	margin: 0 0 10px 0;
}

.footerCopyright a:not(.redcodeColor) {
	color: #fff;
}

.footerSocial {
}


.buttonPosition {
	position: fixed;
	right: 31px;
	bottom: -61px;
	z-index: 9;
	min-width: 12px;
}

.animationFooterButton {
	transition: bottom .3s ease;
}

.buttonTop {
	width: 48px;
	border-radius: 50%;
	height: 48px;
	text-align: center;
	line-height: 54px;
	cursor: pointer;
}

.buttonMenu {
	position: fixed;
	right: 36px;
	bottom: -61px;
	width: 47px;
	border-radius: 50%;
	height: 47px;
	transition: bottom .3s ease;
	cursor: pointer;
	background: #fff;
	z-index: 9;
	box-shadow: 0 4px 7px 0 rgba(0, 0, 0, .15), rgba(0, 0, 0, .2) 0px 0px 1px 0px;
	color: #000;
	font-size: 28px;
	text-align: center;
	line-height: 47px;
	display: none;
}

.buttonSearch {
	position: fixed;
	right: 36px;
	bottom: -61px;
	width: 47px;
	border-radius: 50%;
	height: 47px;
	transition: bottom .3s ease;
	cursor: pointer;
	background: #fff;
	z-index: 9;
	box-shadow: 0 4px 7px 0 rgba(0, 0, 0, .15), rgba(0, 0, 0, .2) 0px 0px 1px 0px;
	color: #000;
	font-size: 27px;
	text-align: center;
	line-height: 47px;
	display: none;
}

/*------------------------
------- FOOTER SITE -------
------------------------*/


/*--------------------------------
--- ABOUT THE COMPANY (DETAILED) ---
--------------------------------*/

.company {
}

/*--------------------------------
--- ABOUT THE COMPANY (DETAILED) ---
--------------------------------*/


/*----------------------------------
--- CONTACTS - DETAILED PAGE ---
-----------------------------------*/

#mainAddress {
	padding: 72px 0;
	margin: 0 50px;
}

#mainAddress > div {
	display: flex;
	justify-content: space-between;
}

#mainAddress > div > div {
	box-shadow: 0px 30px 70px rgba(0, 0, 0, .075);
	border-radius: 5px;
	width: 360px;
	padding: 50px 50px 55px 50px;
	text-align: center;
	box-sizing: border-box;
	font-size: 16px;
	line-height: 30px;
	background: #fff;
}

#mainAddress svg {
	margin: 0 0 29px 0;
}

#mainAddress h3 {
	line-height: normal;
	margin: 0 0 29px 0;
	font-size: 18px;
}

/*----------------------------------
--- CONTACTS - DETAILED PAGE ---
-----------------------------------*/


/*----------------------------------
--- MODAL WINDOWS SENDING MESSAGES ---
----------------------------------*/

.modal {
	display: none;
	position: fixed;
	overflow: hidden;
	bottom: 0;
	right: 0;
	left: 0;
	top: 0;
	z-index: 100;
}

.modalWrapper {
	margin: 50px auto;
	background: #fff;
	max-width: 560px;
	border-radius: 5px;
}

.modalWrapper.smallModal {
	max-width: 490px;
}

.modalHeader {
	position: relative;
	padding: 48px 90px 33px 90px;
}

.modalWrapper.smallModal .modalHeader {
	padding: 48px 60px 28px 60px;
}

.modalHeader h3 {
	font-size: 23px;
	line-height: 34px;
}

.modalHeader p {
	font-size: 13px;
	line-height: 24px;
	color: #717171;
	margin: 26px 0 0 0;
}

.modalClose {
	width: 43px;
	height: 43px;
	cursor: pointer;
	border-radius: 50%;
	border: 2px solid #FFF;
	position: absolute;
	top: 0;
	right: -63px;
	box-sizing: border-box;
}

.modalClose:before, .modalClose:after {
	position: absolute;
	content: '';
	width: 18px;
	height: 2px;
	background: #fff;
	margin: -1px 0 0 -9px;
	left: 50%;
	top: 50%;
}

.modalClose:before {
	transform: rotate(45deg);
}

.modalClose:after {
	transform: rotate(-45deg);
}

.modalClose span {
	font-size: 9px;
	color: #fff;
	text-transform: uppercase;
	bottom: -21px;
	position: absolute;
	left: -2px;
}

.modalBody {
	padding: 20px 90px 50px 90px;
}

.modalWrapper.smallModal .modalBody {
	padding: 20px 60px 50px 60px;
}

.modalField {
	margin: 0 0 58px 0;
	position: relative;
	padding: 0 0 1px 0;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #EAEAEA;
}

.modalField:last-child {
	margin: 0;
}

.inputField {
	position: relative;
	font-size: 15px;
	display: block;
	width: 100%;
	padding: 0 0 10px 0;
	border: none;
}

.inputLabel {
	position: absolute;
	top: 0;
	color: #828282;
	width: 100%;
	pointer-events: none;
	transition: transform .3s;
	transform-origin: 0 0;
}

.messageField {
	font-size: 17px;
	color: #121822;
	outline: none;
	min-height: 20px;
	padding: 0 0 10px 0;
}

.fileForm {
}

.fileForm input[name='userFile'] {
	cursor: pointer;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	filter: alpha(opacity=0);
	opacity: 0;
}

.fileForm span {
	display: block;
	height: 22px;
	overflow: hidden;
}

.fileID {
	display: none;
}

.inputField:focus + .inputLabel, .changeInput .inputLabel, .messageField:focus + .inputLabel {
	transform: translate(0, -23px) scale(0.8);
}

.modalWrapper .personalInfo {
	padding: 0 90px;
}

.modalWrapper.smallModal .personalInfo {
	padding: 0 60px;
}

.modalWrapper .personalInfo label:after {
	border: 1px solid #E4E4E4;
	top: 2px;
}

.modalWrapper .personalInfo label.ckecked:after {
	line-height: 18px;
}

.modalFooter {
	padding: 0 90px 50px 90px;
}

.modalWrapper.smallModal .modalFooter {
	padding: 0 60px 50px 60px;
}

.modalSend {
	color: #fff;
	font-size: 14px;
	border-radius: 100px;
	padding: 18px;
	margin: 0 auto;
	display: block;
	letter-spacing: .04em;
	cursor: pointer;
	width: 100%;
	max-width: 197px;
	-webkit-appearance: none;
	border: none;
	transition: width .3s ease, height .3s ease, background .3s ease, border .3s ease, box-shadow .2s ease;;
}

.modalFooter .disabled {
	cursor: not-allowed;
	background: #ccc !important;
	box-shadow: none !important;
}

.modalBody .errorInput {
	border-bottom-color: #D50000;
}

.modalBody .errorInput .inputLabel {
	color: #D50000;
}

.sendOkey {
	background: #494949;
	font-size: 34px;
	display: none;
	border-radius: 2px;
	line-height: 45px;
	width: 180px;
	height: 45px;
}

.modalOpen {
	overflow: hidden;
	padding: 0 17px 0 0;
}

.modalOpen .modal {
	overflow-x: hidden;
	overflow-y: auto;
}


input.animationButton {
	width: 50px;
	text-indent: -999px;
	cursor: default;
	border-width: 2px;
	border-style: dotted;
	height: 50px;
	background: none;
	box-sizing: border-box;
}

input.animationSuccess {
	background: #494949;
}

.modalSend.animationRotate {
	animation: rotating 4s linear infinite;
}

.modal.redcodeVisible .modalWrapper {
	animation: modalVisible .5s ease;
}

#blackBack {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 10;
	background: rgba(76, 84, 92, .6);
	display: none;
}

/*
#blackBack.redcodeVisible {animation: fadeIn .2s ease-in-out;}
#wrapper.redcodeBlur {animation: fadeIn .2s ease-in-out;}
*/

@keyframes rotating {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}

@keyframes modalVisible {
	0% {
		opacity: .4;
		transform: scale(.9);
	}
	100% {
		opacity: 1;
		transform: scale(1);
	}
}

/*----------------------------------
--- MODAL WINDOWS SENDING MESSAGES ---
----------------------------------*/


/*------------------------------
------ ADD PRODUCT (BUTTON) ------
------------------------------*/

.addProduct {
	position: absolute;
	bottom: 25px;
	right: 0;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	transition: opacity .2s ease, box-shadow .2s ease;
}

.addProduct div {
	position: absolute;
	width: 100%;
	height: 100%;
	border-radius: 50%;
}

.addProduct div.ready {
	cursor: pointer;
}

.addProduct div.ready .svgBasket {
	opacity: 1;
}

.addProduct div:not(.ready) ~ .svgOk {
	opacity: 1;
}

.addProduct svg {
	position: absolute;
	top: 50%;
	left: 50%;
	opacity: 0;
}

.addProduct .svgBasket {
	margin: -8.5px 0 0 -11.5px;
	transition: opacity .3s ease;
	z-index: 2;
}

.addProduct div.ready .svgBasket {
	transition-delay: .4s
}

.addProduct .svgOk {
	margin: -7px 0 0 -9.5px;
	transition: opacity .3s ease .4s;
}

.addProduct div.ready ~ .svgOk {
	transition-delay: 0s
}

/*------------------------------
------ ADD PRODUCT (BUTTON) ------
------------------------------*/


/*------------------------
------ ERROR 404 ------
------------------------*/

.error404 {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: -20px;
	padding-bottom: 20px;
}

.error404 > div:first-child {
	font-size: 340px;
}

.error404 > div:last-child {
	padding: 0 0 0 115px;
}

.error404 .title404 {
	font-size: 29px;
	margin: 0 0 27px 0;
	text-transform: uppercase;
}

.error404 .description404 {
	color: #4D4D4D;
	margin: 0 0 34px 0;
	line-height: 28px;
}

.error404 a {
	display: inline-block;
}

.url404 {
	padding: 15px 38px;
	font-size: 13px;
	color: #fff;
	border-radius: 50px;
}

.back404 {
	color: #A2A2A2;
	text-decoration: underline;
}

.back404:hover {
	text-decoration: none;
}

/*------------------------
------ ERROR 404 ------
------------------------*/


/*------------------------
-------- SHARE ----------
------------------------*/

.shareBlock li.ya-share2__item {
	margin: 0 10px 0 0;
}

.shareBlock span.ya-share2__icon {
	height: 30px;
	width: 30px;
	background-size: 20px;
	background-position: center;
	background-repeat: no-repeat;
}

.shareBlock .ya-share2__badge {
	border-radius: 50%;
}

/*------------------------
-------- SHARE ----------
------------------------*/


/*---------------------------------------
------ PERSONAL_INFO (FORMS/FOOTER) ------
---------------------------------------*/

.personalInfo {
	padding: 0 40px;
	margin: 0 0 50px 0;
	font-size: 13px;
	line-height: 24px;
}

.checkboxError {
	display: none;
	color: #d41b1b;
	margin: 0 0 10px 0;
}

.personalInfo input {
	display: none;
}

.personalInfo label {
	cursor: pointer;
	position: relative;
	padding: 0 0 0 33px;
	display: inline-block;
}

.personalInfo a:hover {
	text-decoration: underline;
}

.personalInfo label:after {
	border: 2px solid #E4E4E4;
	position: absolute;
	height: 19px;
	width: 19px;
	content: '';
	left: 0;
	box-sizing: border-box;
	top: 5px;
	border-radius: 2px;
}

.personalInfo input:checked~label::after {
	font-family: FontAwesome;
	text-align: center;
	content: "\f00c";
	font-size: 12px;
	background-color: #E4E4E4;
	line-height: 14px;
}

.form-errors-show :has(.checkboxError+input:invalid) .checkboxError {
	display: block !important;
}

.form-errors-show input:invalid+label::after {
	box-shadow: 0 0 2px 1px red;
}

.personalInfo label:hover:after {
	background-color: #D9D9D9;
	border-color: #D9D9D9;
}

/*---------------------------------------
------ PERSONAL_INFO (FORMS/FOOTER) ------
---------------------------------------*/


/*------------------------------------
------ ADAPTIVE SITE LAYOUT ------
------------------------------------*/

@media all and (max-width: 1270px) {
	.headerTopWrap {
		padding: 21px 50px;
	}

	.headerBottomWrap {
		padding: 33px 50px 35px 50px;
	}

	.mainTitle {
		padding: 0 50px;
	}

	#workArea {
		padding: 0 50px;
	}

	.mobileHeader {
		padding: 0 20px;
	}

	#mainAddress div div {
		width: 31%;
	}

	footer {
		padding: 50px 50px;
	}
}

@media all and (max-width: 1180px) {
	.headerTop .headerSearch, .marginBottomMenu {
		display: none;
	}

	.headerBottom .headerSearch {
		display: block;
	}

	header .requestCall {
		margin: 0 0 0 25px;
	}

	.mainTitle {
		margin: 20px auto 20px;
	}

	main {
		margin: 0 0 0 55px;
	}

	#workArea {
		margin: 0 auto 60px auto;
	}

	.headerBottomWrap {
		padding: 28px 50px 30px 50px;
	}

	.headerTopWrap {
		padding: 19px 50px;
	}
}

@media all and (max-width: 1140px) {
	#footerContacts {
		display: none;
	}

	.footerTop > div:first-child {
		width: 100%;
	}

	.error404 > div:first-child {
		font-size: 280px;
	}
}

@media all and (max-width: 1090px) {
	.error404 {
		padding: 0;
	}

	.error404 > div:first-child {
		font-size: 220px;
	}

	.error404 .title404 {
		margin: 0 0 20px 0;
		font-size: 27px;
	}

	.error404 .description404 {
		margin: 0 0 30px 0;
	}

	#mainAddress h3 {
		font-size: 15px;
		margin-bottom: 14px;
	}

	#mainAddress div div {
		width: 31%;
		font-size: 14px;
		padding: 35px 40px 35px 40px;
	}
}

@media all and (max-width: 990px) {
	.buttonTopMenu {
		display: none;
	}

	#menuButton {
		display: block;
	}

	.headerBottomWrap {
		padding: 25px 50px;
	}

	.sidebar {
		display: none;
	}

	main {
		width: 100%;
		margin: 0;
	}

	.error404 > div:last-child {
		padding: 0 0 0 80px;
	}
}

@media all and (max-width: 900px) {
	.error404 > div:first-child {
		font-size: 180px;
	}

	.error404 .title404 {
		margin: 0 0 15px 0;
	}

	.error404 .description404 {
		line-height: 23px;
	}

	#mainAddress > div {
		flex-wrap: wrap;
		justify-content: space-around;
	}

	#mainAddress div div {
		width: 45%;
	}

	#mainAddress div div:last-child {
		margin: 30px 0 0 0;
	}
}

@media all and (max-width: 780px) {
	.footerMenu > ul, .footerMenu > div {
		flex-basis: 50%;
		margin: 40px 0 0 0;
	}

	.footerMenu > ul:nth-child(3), .footerMenu > div:nth-child(3) {
		margin: 40px 0 0 0;
	}

	.footerMenu > ul > li > a, .footerMenu span {
		margin: 0 0 20px 0;
	}
}

@media all and (max-width: 760px) {
	.indexBlock:last-child {
		margin: 0;
	}

	.error404 {
		flex-direction: column;
	}

	.error404 > div:last-child {
		padding: 30px 0 0 0;
		text-align: center;
		max-width: 450px;
	}

	.url404 {
		margin: 0;
	}

	.modalClose {
		top: 10px;
		right: 10px;
	}

	.modalClose:before, .modalClose:after {
		background: #121212;
		margin: -1px 0 0 -9px;
	}

	.modalClose span {
		display: none;
	}
}

@media all and (max-width: 740px) {
	.modalWrapper {
		max-width: 490px !important;
	}

	.modalHeader {
		padding: 48px 60px 28px 60px !important;
	}

	.modalBody {
		padding: 20px 60px 50px 60px !important;
	}

	.modalWrapper .personalInfo {
		padding: 0 60px !important;
	}

	.modalFooter {
		padding: 0 60px 50px 60px !important;
	}
}

@media all and (max-width: 715px) {
	#mainAddress > div {
		display: block;
	}

	#mainAddress div div {
		margin: 0 0 30px 0;
		width: auto;
	}

	#mainAddress div div:last-child {
		margin: 0;
	}
}

@media all and (max-width: 690px) {
	header .requestCall {
		background: #fff;
		height: 46px;
		width: 46px;
		padding: 0;
		position: relative;
		box-shadow: 0px 20px 20px rgba(0, 0, 0, .05), 0px 10px 10px rgba(0, 0, 0, .05), 0px 5px 5px rgba(0, 0, 0, .05), 0px 2px 2px rgba(0, 0, 0, .05);
	}

	header .requestCall span {
		display: none;
	}

	header .requestCall svg {
		display: block;
		position: absolute;
		top: 50%;
		left: 50%;
		margin: -7px 0 0 -8px;
	}
}

@media all and (max-width: 580px) {
	.headerBottomWrap {
		display: block;
	}

	.headerBottomWrap > div:first-child {
		justify-content: flex-start;
		margin: 0 0 15px 0;
	}

	.headerBottomWrap > div:last-child {
		justify-content: center;
	}

	.footerBottom {
		display: block;
	}

	.footerCopyright {
		text-align: center;
		margin: 0 0 30px 0;
	}

	footer .social {
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.footerTop {
		margin: 0 0 40px 0;
	}

	.footerMenu > ul, .footerMenu > div {
		flex-basis: 100%;
		text-align: center;
	}

	.footerMenu > ul:nth-child(2), .footerMenu > div:nth-child(2) {
		margin: 40px 0 0 0;
	}
}

@media all and (max-width: 550px) {
	.buttonPosition {
		right: 20px;
	}
}

@media all and (max-width: 520px) {
	.modalWrapper {
		margin: 50px 15px 50px 15px;
	}
}

@media all and (max-width: 500px) {
	.mainTitle h1 {
		font-size: 20px;
	}

	.headerTopWrap {
		padding: 21px 20px;
	}

	.headerBottomWrap {
		padding: 33px 20px 35px 20px;
	}

	.mainTitle {
		padding: 0 20px;
	}

	#workArea {
		padding: 0 20px;
	}

	footer {
		padding: 50px 20px;
	}
}

@media all and (max-width: 430px) {
	#mainAddress div div {
		width: 100%;
	}

	.error404 > div:first-child {
		font-size: 130px;
		line-height: 100px;
	}

	.error404 > div:last-child {
		padding: 30px 0 0 0;
	}

	.modalHeader {
		padding: 40px 40px 28px 40px !important;
	}

	.modalBody {
		padding: 20px 40px 50px 40px !important;
	}

	.modalWrapper .personalInfo {
		padding: 0 40px !important;
	}

	.modalFooter {
		padding: 0 40px 50px 40px !important;
	}
}

@media all and (max-width: 340px) {
	.modalWrapper {
		margin: 50px 0;
	}

	.modalHeader {
		padding: 40px 35px 28px 35px !important;
	}

	.modalBody {
		padding: 20px 35px 50px 35px !important;
	}

	.modalWrapper .personalInfo {
		padding: 0 35px !important;
	}

	.modalFooter {
		padding: 0 35px 50px 35px !important;
	}

	#mobileMenu {
		width: 100%;
	}
}


/*------------------
--- REDCODE CLASS ---
-------------------*/

.redcodeFW_thin {
	font-weight: 100;
}

.redcodeFW_extraLight {
	font-weight: 200;
}

.redcodeFW_light {
	font-weight: 300;
}

.redcodeFW_regular {
	font-weight: 400;
}

.redcodeFW_medium {
	font-weight: 500;
}

.redcodeFW_semiBold {
	font-weight: 600;
}

.redcodeFW_bold {
	font-weight: 700;
}

.redcodeFW_extraBold {
	font-weight: 800;
}

.redcodeFW_black {
	font-weight: 900;
}

.redcodeColor {
	color: #E81C34;
}

.redcodeFill {
	fill: #E81C34;
}

.redcodeStroke {
	stroke: #E81C34;
}

.redcodeBG_color {
	background-color: #E81C34;
}

.redcodeBorderColor {
	border-color: #E81C34;
}

.redcodeBlur {
	filter: blur(5.5px);
}

.redcodeVisible {
	display: block !important;
}

.redcodeButtonHover {
	letter-spacing: .04em;
}

.redcodeButtonHover:not(.modalSend):not(.addProduct) {
	transition: box-shadow .2s ease;
}

.redcodeButtonHover:hover {
	box-shadow: inset 1000px 0 0 rgba(255, 255, 255, .12);
}

/*------------------
--- REDCODE CLASS ---
-------------------*/


/*------------------
---- ANIMATION ----
-------------------*/

@keyframes fadeInUp_7px {
	from {
		opacity: 0;
		transform: translateY(7px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}


@keyframes fadeInUp_15px {
	from {
		opacity: 0;
		transform: translateY(15px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}


@keyframes fadeInUp_30px {
	from {
		opacity: 0;
		transform: translateY(30px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}


@keyframes fadeIn {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}


.animationAddProduct {
	animation: animationAddProduct .4s ease;
}

@keyframes animationAddProduct {
	0% {
		opacity: .8;
	}
	100% {
		opacity: 0;
		transform: translate(15px, -30px);
	}
}

/*------------------
---- ANIMATION ----
-------------------*/


/*-------/change/--------*/
 .standart_button {
	display: inline-block;
	cursor: pointer;
	font-size: 13px;
	border-radius: 100px;
	letter-spacing: .01em;
	color: #fff;
	padding: 15px 25px 15px 25px;
	background-color: #fc3;
	color: #000;
	border-radius: 0;
}
@media all and (max-width: 990px) {
	.standart_button {
		margin-right: 10px !important;
	}
}
/*------- end page ---- /change/--------*/



.services {display: flex; flex-wrap: wrap; width: 100%;}
#wrapper.animationON .services {animation: fadeInUp_30px 1.2s ease;}

	.servicesSection {margin: 4% 4% 0 0; width: calc((100% - 8%)/3); padding: 0 0 56px 0; border-radius: 5px; text-align: center;
		box-shadow: 0px 30px 70px rgba(0, 0, 0, .075);
	}
	.servicesSection.thisElement {padding-bottom: 0;}
	.servicesSection:nth-child(3n) {margin-right: 0;}
	.servicesSection:nth-child(1), .servicesSection:nth-child(2), .servicesSection:nth-child(3) {margin-top: 0;}

			.servicesSection > a {height: 350px; width: 100%; display: block; border-radius: 5px 5px 0px 0px;
				background-repeat: no-repeat; background-position: center;
			}
			.servicesSection .name {font-size: 19px; margin: 28px auto 34px auto; max-width: 290px; line-height: 32px;}
				.servicesSection .name a:not(.redcodeColor) {color: #121212;}

			.servicesSectionItem {position: relative; margin: 0 auto 25px auto; max-width: 270px; line-height: 28px;}
				.servicesSectionItem a:not(.redcodeColor) {color: #666;}
			.servicesSectionItem:after {position: absolute; content: ""; width: 42px; height: 1px; background: #E0E0E0;
				margin: 0 auto; bottom: -14px; left: 0; right: 0;
			}
			.servicesSectionItem:last-child {margin-bottom: 0;}
			.servicesSectionItem:last-child:after {content: none;}


@media all and (max-width: 1270px) {
	.servicesSection {width: 46%; margin:4% 4% 0 0;}
}

@media all and (max-width: 1110px) {
	.services {margin: 30px auto; width: 800px;}
		.servicesSection {width: 47%; margin: 6% 6% 0 0;}
		.servicesSection:nth-child(3) {margin-top: 6%;}
		.servicesSection:nth-child(3n) {margin-right: 6%;}
		.servicesSection:nth-child(2n) {margin-right: 0;}
}

@media all and (max-width: 935px) {
	.services { width: 100%;}
}


@media all and (max-width: 780px) {
	.services { width: 400px;}
	.servicesSection {width: 100%; margin: 0 auto 45px auto;}
	.servicesSection:nth-child(3) {margin-top: 0;}
	.servicesSection:nth-child(2n), .indexServicesSection:nth-child(3n) {margin-right: auto;}
	.servicesSection:last-child {margin-bottom: 0;}
		.servicesItem a {text-decoration: underline;}
}

@media all and (max-width: 500px) {
	.services {width: auto;}
}

#js-alert-cookie-window {
	border: 2px solid black;
	background-color: #fff;
}


.ag_cookie_alert_window.color_theme_neutral .ag_user_alert_window_content {
	background-color: #fff;
	max-width: 1160px;
	margin: 0 auto;
}

#js-cookie-alert-close {
	cursor: pointer;
	font-size: 13px;
	color: #fff;
	padding: 15px 25px 15px 25px;
	background: 100% 100%/200% 100% linear-gradient(90deg, #ac8a3f 50%, #c2a26d 0);
	transition: .25s;
}

#js-cookie-alert-close:hover {
	background-position: 0 100%;
	box-shadow: none;
}

.ag_cookie_alert_window.color_theme_neutral .ag_cookie_alert_window_button {
	border: none;
}
