/*reset*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	font-family: 'Montserrat', sans-serif;
	line-height: 1.5;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
input, textarea, button {
	outline: none;
}
button {
	cursor: pointer;
}
button, input, a {
	-moz-transition: 0.3s;
	-ms-transition: 0.3s;
	-o-transition: 0.3s;
	-webkit-transition: 0.3s;
	transition: 0.3s;
}
.left {
	float: left;
}
.right {
	float: right;
}
.row:after,
.clearfix:after {
	content: "";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
a {
	color: inherit;
}
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sup {
  top: -0.5em;
}
sub {
  bottom: -0.25em;
}
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
input,
button,
select,
textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}
.img-responsive {
  display: block;
  max-width: 100%;
  height: auto;
}
.container {
  margin-right: auto;
  margin-left: auto;
  padding-left: 15px;
  padding-right: 15px;
}
@media (min-width: 768px) {
  .container {
    width: 750px;
  }
}
@media (min-width: 992px) {
  .container {
    width: 970px;
  }
}
@media (min-width: 1200px) {
  .container {
    width: 1170px;
  }
}
/*----------------------
		general
----------------------*/
:focus::-webkit-input-placeholder {color: transparent}
:focus::-moz-placeholder {color: transparent}
:focus:-moz-placeholder {color: transparent}
:focus:-ms-input-placeholder {color: transparent}
#wrap {
	overflow: hidden;
	position: relative;
	width: 100%;
	background: #fff;
}
.wrapper {
	width: 100%;
}
.df,
.dfj,
.dfja {
	display: flex;
}
.dfj,
.dfja {
	justify-content: space-between;
}
.dfja {
	align-items: center;
}
/*----------------------
	header
----------------------*/
#header {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
}
.wrap-header {
	padding: 20px 0;
	gap: 15px;
}
.logo {
	position: relative;
	z-index: 15;
	width: 13%;
}
.logo img {
	display: block;
	max-width: 100%;
}
#nav {
	position: relative;
	z-index: 20;
	background: #F39200;
	padding: 10px 18px;
}
#nav.fixed {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 999;
}
#nav.fixed ul {
	justify-content: center;
}
#nav ul {
	display: flex;
	gap: 18px;
	align-items: center;
}
#nav a {
	color: #fff;
	text-decoration: none;
	font-size: 12px;
	line-height: 1.4;
	display: block;
	text-align: center;
	font-weight: 500;
}
#nav a:hover {
	text-decoration: underline;
}
.contact-head {
	position: relative;
	z-index: 10;
	text-align: right;
}
.contact-head a {
	color: #fff;
	font-size: 18px;
	font-weight: bold;
	text-decoration: none;
}
.contact-head span {
	color: #fff;
	font-size: 14px;
	font-weight: 300;
	display: inline-block;
	cursor: pointer;
}
.contact-head span:hover {
	text-decoration: underline;
}
/*----------------------
	general-block
----------------------*/
#general-block {
	position: relative;
}
#general-block:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0,0,0, .7);
}
#general-block .container {
	position: relative;
	z-index: 3;
}
.wrap-gen-content-top {
	padding: 150px 0 60px;
}
.wrap-gen-content-top h1 {
	color: #fff;
	font-weight: bold;
	font-size: 42px;
	max-width: 820px;
}
.wrap-gen-content-top h1 span {
	color: #F39200;
}
.wrap-gen-content-top .btn-container {
	padding: 50px 0 0;
}
.btn-action {
	border: 2px solid #fff;
	color: #fff;
	font-size: 15px;
	padding: 10px 20px;
	background: transparent;
}
.btn-action:hover {
	background: #fff;
	color: #000;
}
.list-general-reas {
	display: flex;
	justify-content: space-between;
	padding: 30px 0 0;
}
.item-reas-gen {
	width: 20%;
	text-align: center;
	margin: 40px 0 0;
}
.item-reas-gen .title {
	font-size: 14px;
	margin: 5px 0 0;
	font-weight: bold;
	color: #fff;
}
.item-reas-gen .text {
	font-size: 12px;
	margin: 5px 0 0;
	color: #fff;
}
.wr-icon-reas {
	width: 60px;
	height: 60px;
	align-items: center;
	display: flex;
	margin: 0 auto;
}
/*----------------------
	services-general
----------------------*/
#services-general {
	padding: 60px 0;
}
#services-general h2 {
	font-size: 34px;
	font-weight: bold;
	text-align: center;
}
.descript_services {
	margin: 25px 0 0;
	text-align: center;
	font-weight: bold;
	font-size: 14px;
}
.wrap_services_gen {
	flex-wrap: wrap;
	padding: 30px 0 0;
	gap: 30px;
	justify-content: center;
}
.item_serv {
	width: 30%;
	position: relative;
	border-radius: 15px;
	overflow: hidden;
	height: 250px;
}
.item_serv img {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	-moz-transition: 0.3s;
	-ms-transition: 0.3s;
	-o-transition: 0.3s;
	-webkit-transition: 0.3s;
	transition: 0.3s;
}
.item_serv:hover img {
	transform: scale(1.1);
}
.item_serv span {
	display: block;
	position: absolute;
	z-index: 10;
	bottom: 15px;
	right: 15px;
	border-radius: 15px;
	padding: 10px;
	color: #fff;
	font-size: 15px;
	background: #1e1e36;
	left: 15px;
	text-align: center;
}
/*----------------------
	cases
----------------------*/
#cases {
	background: url(../img/bg-cases.jpg) no-repeat center;
	background-size: cover;
	padding: 40px 0;
}
#cases h3 {
	text-align: center;
	color: #fff;
	font-size: 36px;
	font-weight: bold;
}
.item_case {
	display: flex;
	padding: 50px 0 0;
	justify-content: space-between;
}
.gallery_case {
	width: 48%;
}
.wrap_image_case {
	height: 430px;
}
.wrap_image_case img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.info-case {
	width: 48%;
	padding: 30px 0 0;
}
.info-case h4 {
	color: #fff;
	font-weight: bold;
	font-size: 28px;
}
.box_info_case {
	color: #fff;
	font-size: 16px;
	line-height: 1.5;
	padding: 30px 0;
	border-top: 1px solid #fff;
	border-bottom: 1px solid #fff;
	text-align: justify;
	margin: 30px 0 0;
}
.sum_case {
	margin: 40px 0 0;
	color: #fff;
}
.sum_case span {
	font-size: 18px;
	font-weight: 500;
	display: block;
}
.sum_case strong {
	font-weight: bold;
	font-size: 32px;
}
.sum_case i {
	font-size: 14px;
}
.slick-arrow {
	border: none;
	background: #fff;
	width: 40px;
	height: 40px;
	border-radius: 90px;
	position: absolute;
	top: 50%;
	margin-top: -20px;
	font-size: 0;
	z-index: 3;
}
.slick-prev {
	background: #fff url(../img/arrow-prev.svg) no-repeat center;
	left: 0;
}
.slick-next {
	background: #fff url(../img/arrow-next.svg) no-repeat center;
	right: 0;
}
#cases .owl-dots {
	text-align: center;
}
#cases .owl-dot {
	display: inline-block;
	width: 10px;
	height: 10px;
	border-radius: 90px;
	margin: 0 5px;
	background: #fff;
}
#cases .owl-dot.active {
	background: #F39200;
}

/*----------------------
	reasons
----------------------*/
#reasons {
	padding: 40px 0;
}
#reasons h3 {
	font-size: 36px;
	font-weight: bold;
	text-align: center;
}
.descript-reasons {
	text-align: center;
	font-size: 14px;
	font-weight: bold;
	margin: 20px 0 0;
}
.wrap-reasons {
	display: grid;
	padding: 40px 0 0;
	gap: 30px;
	grid-template-columns: repeat(3, 1fr);
}
.item-reas {
	position: relative;
	height: 210px;
}
.item-reas:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0,0,0, .7);
	z-index: 2;
}
.item-reas img {
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.item-reas .num-reas {
	position: relative;
	z-index: 3;
	color: #fff;
	font-size: 120px;
	line-height: 0.8;
	text-align: center;
	font-weight: bold;
	padding: 20px 0 0;
}
.item-reas p {
	position: relative;
	z-index: 3;
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	margin: 15px 0 0;
	text-align: center;
	padding: 0 15px;
}
/*----------------------
	Price
----------------------*/
.wrap-table-price {
	padding: 10px 0 0;
}
.wrap-table-price table {
	width: 100%;
	text-align: center;
	margin: 30px 0 0;
}
#services-general tr:first-child {
	background: #ecf4fd !important;
}
#services-general tr:nth-child(odd) {
	background: #f2f2f2;
}
#services-general td,
#services-general th {
	border-color: #f2f2f2;
}
.wrap-table-price p {
	font-size: 24px;
	font-weight: bold;
	margin: 30px 0 0;
	text-align: center;
}
/*----------------------
	call-to-action
----------------------*/
#call-to-action {
	padding: 80px 0;
	background: url(../img/bg-call-action.jpg) no-repeat right center;
}
.inner-call-action {
	max-width: 620px;
}
.title-call-action {
	font-weight: bold;
	font-size: 28px;
}
.descr-call-action {
	margin: 20px 0 0;
	font-size: 16px;
}
.inner-call-action form {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.group-inputs {
	width: 48%;
}
.group-inputs input[type='text'],
.group-inputs input[type='tel'],
.group-inputs input[type='email'],
.wr-hidden input[type='text'],
.wr-hidden input[type='tel'] {
	width: 100%;
	height: 48px;
	border: 1px solid #CED4DA;
	padding: 0 15px;
	font-size: 15px;
	margin: 10px 0 0;
}
.group-inputs textarea {
	width: 100%;
	height: 164px;
	resize: none;
	border: 1px solid #CED4DA;
	margin: 10px 0 0;
	padding: 10px 15px;
	font-size: 15px;
}
.group-inputs button[type='submut'],
.group-inputs input[type='submit'],
.wr-hidden input[type='submit'] {
	width: 100%;
	height: 48px;
	border: none;
	color: #fff;
	font-weight: bold;
	font-size: 16px;
	background: #F39200;
	cursor: pointer;
	margin: 15px 0 0;
}
.group-inputs button[type='submut']:hover,
.group-inputs input[type='submit']:hover,
.wr-hidden input[type='submit']:hover {
	background: #f9a62a;
	box-shadow: 0 0 14px rgba(0,0,0, .2);
}
.file-upload .file-upload-select {
	margin: 22px 0 0;
	display: inline-block;
	width: 100%;
	height: 48px;
	border: 1px solid #F39200;
	font-size: 14px;
	font-weight: bold;
	color: #000;
	cursor: pointer;
	text-align: center;
	background: #EFEFEF;
	overflow: hidden;
	position: relative;
}
.file-upload .file-upload-select:hover {
	background: url(img/buttons/btn-action-long-hover.svg) no-repeat center;
	background-size: 100% 100%;
}
.file-upload .file-upload-select .file-select-button {
	background: transparent;
	padding: 0;
	display: inline-block;
}
.file-upload .file-upload-select .file-select-name {
	display: inline-block;
	line-height: 40px;
	vertical-align: middle;
	max-width: calc(100% - 10px);
}
.file-upload .file-upload-select .file-select-name img {
	margin: 0 5px 2px 0;
	vertical-align: middle;
}
.file-upload .file-upload-select:hover .file-select-button {
	color: #ffffff;
	transition: all 0.2s ease-in-out;
	-moz-transition: all 0.2s ease-in-out;
	-webkit-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
}
.file-upload .file-upload-select input[type="file"] {
	display: none;
}
/*----------------------
	contacts-block
----------------------*/
#contacts-block {
	padding: 40px 0;
}
.title_all_block_cont {
	font-weight: bold;
	font-size: 28px;
}
.wrap-contacts {
	display: flex;
	padding: 30px 0 0;
	justify-content: space-between;
}
.map-block p,
.photos-contact p {
	font-size: 15px;
	padding: 0 0 10px;
}
.map-block {
	width: 48%;
}
.inner_map_block {
	overflow: hidden;
	border-radius: 15px;
	height: 390px;
}
.info-block {
	width: 20%;
}
.info-block li {
	margin: 10px 0 0;
}
.info-block li strong {
	display: block;
	font-weight: bold;
	font-size: 14px;
}
.info-block li span {
	display: block;
	font-size: 14px;
}
.socials-contacts {
	padding: 10px 0 0;
}
.socials-contacts a {
	display: inline-block;
	margin: 0 5px 0 0;
}
.socials-contacts img {
	display: block;
	max-width: 40px;
}
.photos-contact {
	width: 27%;
}
.wrap-photos-cont {
	display: flex;
	flex-direction: column;
	gap: 15px;
}
.item-image-cont {
	overflow: hidden;
	border-radius: 15px;
}
.item-image-cont img {
	display: block;
	max-width: 100%;
}
/*----------------------
	footer
----------------------*/
#footer {
	padding: 15px 0 35px;
}
.wrap-footer {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.logo-foot img {
	display: block;
	max-width: 148px;
}
.info-copyright {
	background: #F39200;
	padding: 10px;
	width: 67%;
	display: flex;
	justify-content: space-between;
}
.info-copyright p {
	font-size: 12px;
	width: 60%;
}
.info-copyright p:last-child {
	font-weight: bold;
	width: initial;
}
#footer .contact-head a,
#footer .contact-head span {
	color: #000;
}
/*----------------------
	MODAL
----------------------*/
.a-modal {
	position: relative;
	max-width: 380px;
	margin: 5% auto;
	background: #fff;
	border-radius: 4px;
	border-bottom: 4px solid #F39200;
	padding: 45px 25px 30px;
}
.wr-hidden li {
	text-align: center;
}
.wr-hidden ul {
	padding: 10px 0 0;
}
.g-hidden { display: none; }
.g-line { zoom: 1; }
.g-line:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
.arcticmodal-close {
	position: absolute;
	width: 20px;
	height: 20px;
	background: url(../img/cross.png) no-repeat top left;
	top: 10px;
	right: 10px;
	cursor: pointer;
}
.b-modal {
	position: relative;
	max-width: 998px;
	margin: 10% auto;
	background: #fff;
	padding: 25px;
	z-index: 9999;
}
.title-hidden {
	text-align: center;
	font-size: 22px;
	font-weight: 700;
}
form li {
	position: relative;
}
label.error {
	position: absolute;
	top: 36px;
	left: 0;
	color: #fff;
	background: red;
	font-size: 10px;
	padding: 2px 4px;
	border-radius: 3px;
}
.title-pol {
	font-size: 24px;
	text-align: center;
	text-transform: uppercase;
	font-weight: 700;
}
.text-pol {
	margin: 25px 0 0;
	line-height: 1.5;
	text-align: justify;
	font-size: 15px;
}
.text-pol strong {
	font-weight: 700;
}
/*---------------------------
		MEDIA QUERIES
---------------------------*/
@media screen and (max-width: 1200px) {
	#nav ul {
		gap: 8px;
	}
	#nav {
		padding: 5px;
	}
	#nav a {
		font-size: 10px;
	}
	.wrap-header {
		gap: 5px;
	}
}
@media screen and (max-width: 992px) {
	.mobile-nav-toggle-label {
	    -moz-box-sizing: border-box;
	    -webkit-box-sizing: border-box;
	    box-sizing: border-box;
	    z-index: 1010;
	    padding: 0;
	    position: fixed;
	    top: 2px;
	    right: 10px;
	    vertical-align: middle;
	    line-height: 16px;
	    text-align: right;
	    cursor: pointer;
	    user-select: none;
	    color: #e01e53;
	    width: 50px;
	    height: 49px;
	    background: #F3A120;
	}
	.mobile-nav-toggle-label .top-bar, .mobile-nav-toggle-label .middle-bar, .mobile-nav-toggle-label .bottom-bar {
	    width: 36px;
	    height: 3px;
	    background-color: #fff;
	    -webkit-transition: -webkit-transform .1s 0s ease-in-out,top .1s .1s ease-in-out;
	    -moz-transition: -moz-transform .1s 0s ease-in-out,top .1s .1s ease-in-out;
	    -ms-transition: -ms-transform .1s 0s ease-in-out,top .1s .1s ease-in-out;
	    -o-transition: -o-transform .1s 0s ease-in-out,top .1s .1s ease-in-out;
	    transition: transform .1s 0s ease-in-out,top .1s .1s ease-in-out;
	    -webkit-transform-origin: 50% 50%;
	    -moz-transform-origin: 50% 50%;
	    -ms-transform-origin: 50% 50%;
	    -o-transform-origin: 50% 50%;
	    transform-origin: 50% 50%;
	    position: absolute;
	    top: 12px;
	    right: 7px;
	}
	.mobile-nav-toggle-label .middle-bar {
	    -webkit-transition: opacity 0s .15s linear;
	    -moz-transition: opacity 0s .15s linear;
	    -ms-transition: opacity 0s .15s linear;
	    -o-transition: opacity 0s .15s linear;
	    transition: opacity 0s .15s linear;
	    top: 23px;
	}
	.mobile-nav-toggle-label .bottom-bar {
	    top: 34px;
	}
	#nav,
	#nav.fixed {
		position: fixed !important;
		top: 0 !important;
		margin: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: rgba(0,0,0, .96) !important;
		z-index: 0;
		-moz-transition: 0.5s;
		-ms-transition: 0.5s;
		-o-transition: 0.5s;
		-webkit-transition: 0.5s;
		transition: 0.5s;
		opacity: 0;
		visibility: hidden;
	}
	.inner-nav {
		text-align: center;
		width: 100%;
		max-width: inherit;
		height: 100%;
		transition: 0.5s;
		-webkit-transition: 0.5s;
		-moz-transition: 0.5s;
		-ms-transition: 0.5s;
		-o-transition: 0.5s;
	}
	.inner-nav:before {
	  content: '';
	  height: 100%;
	  display: inline-block;
	  vertical-align: middle;
	}
	#nav ul {
		width: 90%;
		display: inline-block;
		vertical-align: middle;
	}
	#nav.active-menu {
		z-index: 100;
		opacity: 1;
		visibility: visible;
	}
	.mobile-nav-toggle-label.active-close .middle-bar {
		display: none;
	}
	.mobile-nav-toggle-label.active-close .top-bar {
		-moz-transform: rotate(-45deg);
		-ms-transform: rotate(-45deg);
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
		-moz-transform-origin: 31px 7px 0;
		-ms-transform-origin: 31px 7px 0;
		-webkit-transform-origin: 31px 7px 0;
		transform-origin: 31px 7px 0;
	}
	.mobile-nav-toggle-label.active-close .bottom-bar {
		-moz-transform: rotate(45deg);
		-ms-transform: rotate(45deg);
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		-moz-transform-origin: 31px -2px 0;
		-ms-transform-origin: 31px -2px 0;
		-webkit-transform-origin: 31px -2px 0;
		transform-origin: 31px -2px 0;
	}
	#nav ul li {
		display: block;
		float: none;
		margin: 0 0 4px;
		padding: 0;
		text-align: center;
	}
	#nav ul li a,
	#nav.fixed a {
		color: #fff;
		font-size: 22px;
		line-height: 1.5;
		border: none;
		cursor: pointer;
		text-decoration: underline;
		padding: 2px 0;
		background: transparent;
		display: inline-block;
	}
	#nav ul li a:hover {
		color: #fff;
		text-decoration: none;
	}
	.wrap-contacts {
		flex-wrap: wrap;
	}
	.photos-contact {
		width: 100%;
	}
	.wrap-photos-cont {
		flex-direction: row;
	}
	.map-block {
		width: 60%;
	}
	.info-block {
		width: 36%;
	}
	.info-copyright {
		flex-direction: column;
		width: 44%;
		align-items: center;
		justify-content: space-between;
	}
	.info-copyright p {
		width: 100%;
		text-align: center;
	}
}
@media screen and (max-width: 767px) {
	.logo {
		width: 100%;
		max-width: 160px;
	}
	.contact-head {
		padding: 0 60px 0 0;
	}
	.mobile-nav-toggle-label {
		top: 20px;
	}
	.wrap-gen-content-top h1 {
		font-size: 34px;
	}
	.list-general-reas,
	.inner-call-action form,
	.wrap-footer {
		flex-wrap: wrap;
	}
	.item-reas-gen {
		width: 48%;
	}
	#services-general h2 {
		font-size: 28px;
	}
	.item_serv {
		width: 90%;
	}
	#cases h3 {
		font-size: 26px;
	}
	.item_case {
		flex-direction: column;
	}
	.gallery_case,
	.info-case,
	.group-inputs {
		width: 100%;
	}
	#reasons h3 {
		font-size: 30px;
	}
	.wrap-reasons {
		grid-template-columns: repeat(2, 1fr);
		gap: 20px;
	}
	.item-reas .num-reas {
		font-size: 70px;
	}
	.item-reas p {
		font-size: 14px;
	}
	.item-reas {
		height: 190px;
	}
	#call-to-action {
		background-position: -16% center;
		background-size: cover;
	}
	.map-block,
	.info-block {
		width: 100%;
	}
	.info-block ul {
		display: flex;
		flex-wrap: wrap;
	}
	.info-block li {
		width: 48%;
	}
	.wrap-footer {
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	.info-copyright {
		width: 100%;
		margin: 30px 0;
	}
	#footer .contact-head {
		text-align: center;
		padding: 0;
	}
}