@font-face {
    font-family: 'Mont';
    src: url('../fonts/MontSemiBold.woff');
    src: local('Mont SemiBold'), local('Mont-SemiBold'),
        url('../fonts/MontSemiBold.otf?#iefix') format('embedded-opentype'),
        url('../fonts/MontSemiBold.woff') format('woff'),
        url('../fonts/MontSemiBold.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
}

@font-face {
  font-family: 'pt_root';
  src: url("../fonts/PT Root UI_Light.eot");
  src: url("../fonts/PT Root UI_Light.eot?#iefix") format("embedded-opentype"), url("../fonts/PT Root UI_Light.woff") format("woff"), url("../fonts/PT Root UI_Light.ttf") format("truetype");
  font-weight: 300;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: 'pt_root';
  src: url("../fonts/PT Root UI_Regular.eot");
  src: url("../fonts/PT Root UI_Regular.eot?#iefix") format("embedded-opentype"), url("../fonts/PT Root UI_Regular.woff") format("woff"), url("../fonts/PT Root UI_Regular.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: 'pt_root';
  src: url("../fonts/PT Root UI_Medium.eot");
  src: url("../fonts/PT Root UI_Medium.eot?#iefix") format("embedded-opentype"), url("../fonts/PT Root UI_Medium.woff") format("woff"), url("../fonts/PT Root UI_Medium.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: 'pt_root';
  src: url("../fonts/PT Root UI_Bold.eot");
  src: url("../fonts/PT Root UI_Bold.eot?#iefix") format("embedded-opentype"), url("../fonts/PT Root UI_Bold.woff") format("woff"), url("../fonts/PT Root UI_Bold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap; }


* {
	margin: 0;
	padding: 0;
	outline:none;
	box-sizing: border-box;
}

html {
	min-height: 100%;
	background: #F2F2F2;

}
header, nav, section, article, aside, footer {
	display: block;
}
body {
	font: 12px/18px 'Mont';
	width: 100%;
	min-height: 100%;
	background: #F2F2F2;
	
}
a {
	color:#065D8A;
	outline: none;
	text-decoration: none;
}
a:hover {
	text-decoration: none;
}
p {
	margin: 0 0 18px
}
img {
	border: none;
}
input {
	vertical-align: middle;
}
#wrapper {
	width: 100%;
	
	min-height: 100%;
	height: auto !important;
	height: 100%;


}

.bg_dark{
	background: #000000;
	color: #fff;
}

.container{
	width: 100%;
	max-width: 1440px;
	padding: 0 80px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

/* Header
-----------------------------------------------------------------------------*/
#header {
	font-style: normal;
	font-weight: 700;
	font-size: 18px;
	line-height: 109.8%;
	padding:80px 0;
	color: #fff;
}

#header a{
	color: inherit;
}

.header_call_link{
	display: flex;
	align-items: center;

}

.header_call_link img{
	display: block;
	margin-right: 10px
}

.top_menu{
	display: flex;
	align-items: center;
	justify-content: center;
}

.top_menu a{
	margin: 0 75px;
}

.logo img{
	display: block;
}

.service_list{
	padding: 60px 0;
}

.service_list_item{
	width: 100%;
	margin-bottom: 40px;
	position: relative;
	padding: 55px 30px;
	color: #fff
}

.service_list_item:last-of-type{
	margin-bottom: 0;
}

.service_img{
	position: absolute;
	display: block;
	right: 43px;
	top: 50%;
	transform: translateY(-50%);
}

.service_list_item3 .service_img{
	right: 11px
}

.service_desc{
	font-weight: 600;
	font-size: 24px;
	line-height: 130%;
}

.service_name{
	font-weight: 700;
	font-size: 50px;
	line-height: 64px;
	margin-bottom: 48px;
	position: relative;
	display: flex;
	align-items: center;
}

.service_name:before{
	position: relative;
	content: "";
	background: #6400E6;
	width: 48px;
	height: 49px;
	margin-right: 20px;
	display: block;
}

.service_list .container{
	flex-direction: column;
}

.top_banner{
	color: #fff;
	padding: 123px 0 195px;
	position: relative;
	width: 100%;
	overflow: hidden;
}

.top_banner_name{
	font-weight: 700;
	font-size: 64px;
	line-height: 82px;
	margin-bottom: 46px;
	position: relative;
	z-index: 10
}

.top_banner_name span, .top_banner_desc a{
	border-bottom: 2px solid #6400E6;
	line-height: 1;
    display: inline-block;
    color: inherit;
}

.top_banner_desc{
	font-weight: 600;
	font-size: 32px;
	line-height: 41px;
	position: relative;
	z-index: 10;
}

.top_banner_img{
	position: absolute;
	right: -140px;
	bottom: 25px;
}

.about_block{
	padding: 60px 0;
	position: relative;
	width: 100%
}

.title1{
	font-weight: 700;
	font-size: 64px;
	line-height: 82px;
	margin-bottom: 60px
}

.about_block_text{
	font-weight: 600;
	font-size: 24px;
	line-height: 140%;
}

.about_block_img{
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 300px;
	height: auto;
}

.portfolio_block{
	padding: 70px 0 128px;
	position: relative;
	width: 100%
}


.portfolio_img img{
	display: block;
	width: 100%;
	height: auto;
}

.portfolio_img{
	margin-bottom: 20px
}

.portfolio_name {
	font-weight: 700;
	font-size: 30px;
	line-height: 38px;

	color: #FFFFFF;
	margin-bottom: 5px;
}

.portfolio_name a{
	color: inherit;
}

.portfolio_desc{
	font-weight: 400;
	font-size: 20px;
	line-height: 25px;
	color: #FFFFFF;
	font-family: 'pt_root';
}

.portfolio_slider_next{
	position: absolute;
	right: 0;
	height: 100%;
	top: 0;
	width: 161px;
	cursor: pointer;
	z-index: 50;
	background: url(../img/portfolio_slider_next.svg) 107px 143px no-repeat, linear-gradient(270deg, #000000 0%, rgba(0, 0, 0, 0) 100%);
}

.portfolio_slider_next.swiper-button-disabled{
	display: none
}

.portfolio_slider_prev{
	position: absolute;
	left: 0;
	height: 100%;
	top: 0;
	width: 161px;
	cursor: pointer;
	z-index: 50;
	background: url(../img/portfolio_slider_next.svg) 107px 143px no-repeat, linear-gradient(270deg, #000000 0%, rgba(0, 0, 0, 0) 100%);
	transform: scale(-1, 1) 
}

.portfolio_slider_prev.swiper-button-disabled{
	display: none
}

.portfolio_block_item_last{
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 600;
	font-size: 26px;
	line-height: 33px;
	color: #FFFFFF;
	height: 290px;


}

.portfolio_block_item_last a{
	color: inherit;
	background: url(../img/portfolio_slider_next.svg) 100% 50% no-repeat;
	display:block;
	padding-right: 50px
}



.service_page_faq_item_desc{
	padding: 30px;
	font-family: 'pt_root';
	font-style: normal;
	font-weight: 400;
	font-size: 18px;
	line-height: 23px;
	background: #DEDEDE;
	margin-top: 25px;
	display: none
}

.service_page_faq_item_desc p{
	margin-top: 0;
}

.service_page_faq_item_desc p:last-of-type{
	margin-bottom: 0;
}

.service_page_faq_item{
	margin-bottom: 40px;
}

.service_page_faq_item.active .service_page_faq_item_desc{
	display: block;
}

.service_page_faq_item_name{
	font-weight: 700;
	font-size: 25px;
	line-height: 32px;
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: url(../img/service_page_faq_item_name.png) 50% 50%/auto 2px repeat-x;

}

.service_page_faq_item_name span{
	background: #F2F2F2;
}

.service_page_faq_item_name .icon{
	background: url(../img/service_page_faq_item_open.svg) 100% 50%/19px auto  no-repeat #F2F2F2;
	width: 46px;
	height: 26px;
	display: block;
}

.service_page_faq_item.active .service_page_faq_item_name .icon{
	background: url(../img/service_page_faq_item_close.svg) 100% 50%/19px auto  no-repeat #F2F2F2;
}

.service_page_faq_item_name_wrap{
	padding-right: 20px;

}

.faq_block{
	padding: 60px 0;
	width: 100%
}

#footer{
	padding: 60px 0 68px
}

.footer_top{
	border-bottom: 2px solid #E3E3E3;
	padding-bottom: 30px;
	width: 100%;
}

.footer_bottom{
	padding-top: 30px;
	width: 100%;
}

#footer .container{
	flex-direction:column;
}

.footer_top{
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-weight: 700;
	font-size: 26px;
	line-height: 33px;
}

.footer_top a{
	color: inherit;
}

.footer_bottom{
	display: flex;
	align-items: center;
	justify-content: space-between;
	color: #F2F2F2;
	font-weight: 400;
	font-size: 18px;
	font-family: 'pt_root';
	line-height: 23px;
}

.footer_bottom a{
	color: inherit;
	color: #F2F2F2;
}

.footer_copyright{
	line-height: 20px;
}

.portfolio_contact_block{
	
}

.portfolio_contact_block:before {
    position: absolute;
    width: 84px;
    height: 258px;
    content: " ";
    left: 14px;
    top: 14px;
    background: #000000;
}

.portfolio_contact_block:after {
    position: absolute;
    width: 84px;
    height: 84px;
    content: " ";
    background: #000000;
    left: 14px;
    bottom: 14px;
}


.portfolio_contact_block {

    height: 386px;
    padding-right: 104px;
    box-sizing: border-box;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 60px 0 0;
	background: #F7F7F7;
	width: 100%;
	padding: 50px 76px 60px 150px
}

.portfolio_contact_block_left .title_1 {
    font-family: Mont;
    font-style: normal;
    font-weight: 600;
    font-size: 38.6595px;
	line-height: 49px;
    margin-bottom: 91px;
    color: #000000;
}

.portfolio_contact_block_left .title_2 {
    font-family: 'pt_root';
    font-style: normal;
    font-size: 14px;
	line-height: 18px;
    color: #000000;
}

.portfolio_contact_block_right {
    width: 450px;
    max-width: 100%;
}

.portfolio_contact_block .portfolio_contact_block_form {
    background: #fff;
    padding: 0 25px;
    box-sizing: border-box;
    margin-bottom: 38px;
}

.portfolio_contact_block_right_submit {
    background: #6100E4;
    color: #fff;
    height: 55px;
    padding: 0 20px;
    font-family: Mont;
    font-style: normal;
    font-weight: 600;
    font-size: 18px;
	line-height: 13px;
    border: none;
    box-sizing: border-box;
    cursor: pointer;
}

.portfolio_contact_block .form_zakaz p {
    margin: 41px 0;
    font-size: 19.25px;
    line-height: 25px;
    font-family: 'pt_root';
    font-style: normal;
    font-weight: normal;
}

.portfolio_contact_block .form_zakaz input[type="text"], .portfolio_contact_block .form_zakaz input[type="email"] {
    height: 61px;
    width: 100%;
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    border: none;
    font-family: Mont;
    font-weight: 600;
    font-style: normal;
    font-size: 18px;
	line-height: 13px;
    outline: none;
    color: #000000;
    -webkit-appearance: none;
}

.portfolio_contact_block .form_zakaz input[type="text"]:last-of-type, .portfolio_contact_block .form_zakaz input[type="text"]:nth-of-type(2), .portfolio_contact_block .form_zakaz input[type="email"]:last-of-type {
    border-top: 1.375px solid #DADADA;
}

.mob_menu_trigger{
	display: none;
	cursor: pointer;
	width: 28px;
	height: 21px;
	align-items: center;
	justify-content: space-between;
	flex-direction: column;
}

.mob_menu_trigger span{
	background: #FFFFFF;
	width: 100%;
	height: 3px;
}

.footer_logo_box img{
	display: block;
}

.mob_show{
	display: none
}

.about_block_text p:last-of-type{
	margin-bottom: 0
}

.mob_menu_wrap{
	position: fixed;
	z-index: 999;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: #fff;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: center;
	padding: 20px;
	display: none

}

.mob_menu_wrap.active{
	display: flex;
}

.mob_menu_bottom{
	width: 100%
}

.mob_menu_bottom a{
	margin-top: 10px;
	background: #F6F6F6;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	font-size: 18px;
	line-height: 100%;
	width: 100%;
	height: 69px;
	color: #000000;

}

.top_menu_mob{
	display: flex;
	flex-direction: column;
	padding: 0 20px;
	font-family: 'pt_root';
	font-style: normal;
	font-weight: 400;
	font-size: 22px;
	line-height: 109%;
	width: 100%;
	margin-bottom: auto;
}

.top_menu_mob a{
	color: inherit;
	margin-bottom: 30px
}

.header_call_link_mob{
	display: flex;
	align-items: center;
}

.header_call_link_mob img{
	width: 18px;
	margin-right: 10px
}

.mob_menu_wrap_header{
	width: 100%;
	margin-bottom: 40px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

body.no_scroll{
	overflow: hidden;
}

@media screen and (max-width: 1279px){
	.container{
		padding: 0 40px
	}

	.top_menu a{
		margin: 0 30px
	}

	.portfolio_contact_block_right{
		width: 380px;
		
	}

	.portfolio_contact_block{
		padding-right: 	30px;
		padding-left: 	130px
	}
}

@media screen and (max-width: 1023px){
	.container{
		padding: 0 20px
	}

	.top_menu a{
		margin: 0 20px
	}

	.about_block_text{
		padding-right: 300px
	}

	.about_block_text br{
		display: none
	}

	.top_menu{
		display: none;
	}

	.header_call_link{
		display: none
	}

	.mob_menu_trigger{
		display: flex;
	}

	.service_img{
		width: 180px
	}

	.about_block_text{
		padding-right: 0;
		padding-top: 325px
	}

	.about_block_img{
		top: 195px;
		left: 50%;
		transform: translateX(-50%)
	}

	.about_block_text br{
		display: none
	}

	.portfolio_contact_block_left .title_1{
		font-size: 26px;
		margin-bottom: 60px
	}

	.portfolio_contact_block{
		padding-right: 20px
	}

	.portfolio_contact_block_left .title_2 br{
		display: none
	}

	.portfolio_contact_block_right{
		width: 280px;
		min-width: 280px
	}
}

@media screen and (max-width: 767px){
	html, body{
		background: #fff
	}

	.portfolio_contact_block{
		flex-direction: column;
	}

	.footer_logo_box{
		margin-bottom: 10px
	}

	.footer_top{
		flex-direction: column;
	}

	.footer_bottom{
		flex-direction: column;
		text-align:center;
		padding-top: 40px;
		font-size: 16px;
		line-height: 20px
	}

	.footer_copyright{
		margin-bottom: 20px
	}

	#footer{
		padding: 40px 0
	}

	.footer_top{
		font-size: 20px;
		line-height: 28px;
		padding-bottom: 40px
	}

	.footer_top a{
		margin-top: 20px
	}

	.portfolio_contact_block{
		height: auto;
		padding: 70px 20px 40px;
	}

	.title1{
		margin-bottom: 30px;
		font-size: 36px;
		line-height: 46px;
	}

	.service_page_faq_item{
		margin-bottom: 20px
	}

	.service_page_faq_item_name{
		font-size: 16px;
		line-height: 20px;
	}

	.service_page_faq_item_name span{
		background-color: #fff!important
	}

	.service_page_faq_item_desc{
		padding: 15px;
		font-size: 12px;
		line-height: 15px;
		background: #F6F6F6;
		margin-top: 15px
	}

	.service_page_faq_item_name .icon{
		width: 22px;
		background-size: 12px auto !important

	}

	.faq_block{
		padding: 50px 0
	}

	.mob_hide{
		display: none
	}

	.mob_show{
		display: flex;
	}

	.portfolio_block_items_mob{
		flex-direction: column;
	}

	.portfolio_block_item{
		margin-bottom: 30px
	}

	.portfolio_img {
		margin-bottom: 12px
	}

	.portfolio_name{
		margin-bottom: 3px;
		font-size: 20px;
		line-height: 26px;
	}

	.portfolio_desc{
		font-size: 16px;
		line-height: 20px;
	}

	.portfolio_mob_more{
		font-weight: 700;
		font-size: 26px;
		line-height: 33px;
		color: #FFFFFF;
	}

	.portfolio_mob_more{
		display: flex;
		width: 100%;
		align-items: center;
		justify-content: center;
		margin-top: 23px
	}

	.portfolio_block{
		padding: 20px 0 33px
	}

	.about_block{
		padding: 30px 0 55px
	}

	.about_block_text{
		font-size: 16px;
		line-height: 20px;
		font-family: 'pt_root';
		font-weight: 400;
		padding-top: 280px
	}

	.about_block_img{
		top: 86px
	}

	.service_list_item .service_img{
		display: none
	}

	.service_name{
		font-size: 32px;
		line-height: 41px;
		margin-bottom: 30px;

	}

	.service_name:before{
		width: 34px;
		height: 32px
	}

	.service_desc{
		font-family: 'pt_root';
		font-weight: 400;
		font-size: 18px;
		line-height: 130%;
	}

	.service_desc br{
		display: none
	}

	.service_list_item{
		padding: 40px 20px 20px 20px;
		margin-bottom: 30px
	}

	.service_list{
		padding: 50px 0
	}

	#header{
		padding: 27px 0 23px
	}

	.top_banner{
		padding: 0 0 50px
	}

	.top_banner_name{
		font-size: 32px;
		line-height: 41px;
		margin-bottom: 130px;
		max-width: 300px
	}

	.top_banner_desc{
		font-size: 22px;
		line-height: 28px;
		font-weight: 400;
		font-family: 'pt_root';
	}

	.top_banner_img{
		width: 100%;
		top: 50%;
		left: 50%;
		right: auto;
		bottom: auto;
		transform: translate(-50%, -50%);
	}

	.portfolio_contact_block:before{
		width: 70px;
		height: 11px;
		top: 22px;
		left: 20px
	}

	.portfolio_contact_block:after{
		width: 214px;
		height: 11px;
		top: 22px;
		left: 101px
	}

	.portfolio_contact_block_left .title_1{
		font-size: 22px;
		line-height: 28px;
		margin-bottom: 58px
	}

	.portfolio_contact_block_left .title_2{
		margin-bottom: 30px;
		font-size: 17px;
		line-height: 22px;
		font-family: 'Mont';
		font-weight: 700;
	}

	.portfolio_contact_block_right{
		width: 100%
	}

	.portfolio_contact_block .portfolio_contact_block_form{
		margin-bottom: 40px;
		padding: 0 15px
	}

	.portfolio_contact_block_right_submit{
		width: 100%;
		height: 60px;
	}

	.portfolio_contact_block .form_zakaz input[type="text"], .portfolio_contact_block .form_zakaz input[type="email"]{
		height: 56px;
		font-size: 15px
	}

	.top_banner_name span{
		line-height: inherit;
	}
}