/* плавное изменение прозрачности placeholder-а при фокусе */
input[type="text"]::-webkit-input-placeholder {opacity: 1; transition: opacity 0.3s ease;}
input[type="text"]::-moz-placeholder {opacity: 1; transition: opacity 0.3s ease;}
input[type="text"]:-moz-placeholder {opacity: 1; transition: opacity 0.3s ease;}
input[type="text"]:-ms-input-placeholder {opacity: 1; transition: opacity 0.3s ease;}
input[type="text"]:focus::-webkit-input-placeholder {opacity: 0; transition: opacity 0.3s ease;}
input[type="text"]:focus::-moz-placeholder {opacity: 0; transition: opacity 0.3s ease;}
input[type="text"]:focus:-moz-placeholder {opacity: 0; transition: opacity 0.3s ease;}
input[type="text"]:focus:-ms-input-placeholder {opacity: 0; transition: opacity 0.3s ease;}

body {margin: 0}
:focus {outline: none}
.nopadding {padding: 0 !important}
.nomargin {margin: 0 !important}
.text-white {color: #fff}
.display_flex, .display_flex_imp {display: flex;align-items: center;}
a:hover {text-decoration: none;}
.nopadding_left {
	padding-left: 0;
}


body.modal-open { /* Bootstrap fix */
    overflow-y: visible!important;
    padding-right: 0px!important;
}


textarea{
	resize: none;
}

/* МОДАЛЬНОЕ ОКНО */
.modal-body input,
.modal-body textarea {
	width: 100%;
	margin-bottom: 20px;
}
.modal-footer input {
	width: 100%;	
}

.inp_text {
	min-height: 48px;
	background-color: #eceff1;
	border: none;
	padding: 12px;
}

.modal-header {
	border: none;
	padding: 30px 30px 20px;
}

.modal-header p {
	text-align: center;
}

.modal-header h4 {
	margin: 20px 0 16px;
	font: 24px 'Geometria-Bold';
	color: #263238;
}

/* END МОДАЛЬНОЕ ОКНО */



/* Common style */

.btn,
.btn:focus {
	padding: 10px 24px;
	background-color: #fdd835;
	font: 14px 'Geometria';
	color: #212121;
	border-radius: 20px;
	outline: none;
}

.btn:hover,
.btn:active:hover,
.btn:active:focus,
.btn:active {
	background-color: #e1c030;
	transition: .5s;
	color: #444;
	outline: none;
}

body {
	font: 14px 'Geometria';
	color: #212121;
}

.bold {
	font-family: 'Geometria-Bold';
}

h2 {
	font: 28px 'Geometria-Bold';
	text-transform: uppercase;
	margin: 0;
}

.btn_center {
	text-align: center;
	padding-bottom: 20px;
}

.our_services_nav li:last-child a{
	    margin-right: 0 !important;
}

.our_services_nav>li>a {
	width: max-content;
	padding: 10px 19px;
	border-radius: 20px;
	transition: .5s;
	color: #3c5d8f;
	border: 1px solid #3c5d8f;
	font: 14px 'Geometria';
	margin: 0 auto 12px;
	float: left;
	margin-right: 20px;
}

.last_el {
	margin-right: 0 !important;
}

.our_services_nav>li>a:focus,
.our_services_nav>li>a:hover,
.our_services_nav li.active a {
	background-color: #3c5d8f;
	color: #fff;
}



/* Header */

.minpadding {
	background: rgba(21,21,21,.95);
}

.container_absolute {
	position: absolute;
	left: 0;
	right: 0;
	z-index: 999;
}

.container_absolute_off,
.container_absolute_admin{
	position: relative;
}

.navbar_admin{
	background: #000;
}

.navbar_fh {
	height: 80px;
	margin: 15px 0;
}

.nav_list {
	padding-left: 80px;
	margin-bottom: 0;
}

.nav_list li {
	display: inline-block;
	padding-right: 40px;
	padding-bottom: 12px;
}

.nav_list li a,
.nav_list li a:focus {
	text-decoration: none;
	text-transform: uppercase;
	font-size: 12px;
	color: #fff;
}

.nav_list li a:hover,
.nav_list li a:active:hover,
.nav_list li a:active:focus,
.nav_list li a:active {
	text-decoration: none;
	color: #bbb;
}

.nav_list li:last-child {
	padding-right: 0;
}

button.navbar-toggle {
	border: 1px solid black;
	margin: 0;
}

.navbar-toggle {
	position: relative;
	float: right;
	padding: 9px 10px;
	margin-top: 8px;
	margin-right: 15px;
	margin-bottom: 8px;
	background-color: transparent;
	background-image: none;
	border: 1px solid transparent;
	border-radius: 4px;
}

.navbar-toggle .icon-bar+.icon-bar {
	margin-top: 4px;
}

button.navbar-toggle span {
	background-color: black;
}

.navbar-collapse {
	padding: 0;
	box-shadow: none;
}

.phone_cnt {
	width: 100%;
	float: right;
	text-align: right;
	margin-bottom: 12px;
}

.phone_cnt a,
.phone_cnt a:focus {
	display: block;
	color: #fff;
	width: 100%;
	text-decoration: none !important;
}

.phone_cnt a:hover,
.phone_cnt a:active:hover,
.phone_cnt a:active:focus,
.phone_cnt a:active {
	color: #bbb;
}

.phonenum {
	font: 22px 'Geometria-Bold';
}

.address {
	font-size: 12px;
	color: #8eabd5;
}



/*Preview*/

.preview_heading {
	font: 24px 'Geometria-Bold';
	text-transform: uppercase;
	margin: 96px 0 0;
}

@media(min-width: 768px){
	.preview_heading {
		font: 36px 'Geometria-Bold';
	}	
}

#preview {
	background-image: url(../img/bg_gradient.png);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	color: #fff;
}

#preview .subheading {
	color: #8eabd5;
	font-size: 23px;
}

.preview_img {
	margin-top: 4px;
}



/*Our services*/

#our_services {
	background-image: url(../img/our_services_bg.png);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	padding: 48px 0;
}

#our_services .nav {
	margin: 16px 0 26px;
	text-align: center;
}

.service {
	background-color: #fff;
	text-align: center;
	border-radius: 8px;
	padding: 32px 0 20px;
	max-width: 262px;
	width: 100%;
	margin: 0 auto 30px;
}

.service h3 {
	font: 16px 'Geometria-Bold';
	text-transform: uppercase;
}

.service_img {
	height: 166px;
	width: 166px;
	border-radius: 166px;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	margin: 26px auto 32px;
}

.service_price_cnt {
	margin-bottom: 26px;
}

.service_price_cnt p {
	margin-bottom: 0;
}

.service_price {
	font: 26px 'Geometria-Bold';
}

.price_details {
	font-size: 10px;
	color: #bdbdbd;
	text-transform: uppercase;
}

.service a:not(.btn) {
	text-transform: uppercase;
	color: #637ea6;
	font: 12px 'Geometria-Bold';
	outline: none;
	text-decoration: none;
}

.service a:not(.btn):hover {
	text-decoration: underline;
	outline: none;
}



/*Our works*/

#our_works {
	background-image: url(../img/our_works_bg.png);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	color: #fff;
	padding-top: 48px;
}

#our_works .container{
	padding-bottom: 60px;
}

#our_works .tab-content {
	margin-top: 48px;
}

.our_work_media {
	height: 204px;
	max-width: 360px;
	width: 100%;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	margin: 0 auto 30px;
}

.our_work_media a {
	display: block;
	height: inherit;
}

.our_works_nav {
	text-align: center;
	margin-bottom: 30px;
}

.our_works_nav>li {
	display: inline-block;
}

.our_works_nav>li+li{
	margin-left: 10px;
}

.our_works_nav>li>a {
	background-color: #32527c;
	color: #fff;
	border-radius: 30px;
	display: flex;
	width: 30px;
	height: 30px;
	align-items: center;
	justify-content: center;
	transition: .3s;
}

.our_works_nav>li>a:focus,
.our_works_nav>li>a:hover,
.our_works_nav li.active a {
	background-color: #fdd835;
	color: #3c6092;
}



/*Discount*/

#discount {
	background-color: #fdd835;
	padding: 60px 0;
}

#discount .subheading {
	font-size: 18px;
	color: #8f7a1e;
	margin: 20px 0 0;
}

input.form-control {
	height: 40px;
	max-width: 180px;
	width: 100%;
	border-radius: 32px;
	border: none;
	float: left;
	padding: 0 22px;
}

input.form-control + input.form-control {
	margin-left: 20px;
	margin-bottom: 12px;
}

#discount .btn,
#discount .btn:focus {
	background-color: #3d598b;
	color: #fff;
}

#discount .btn:hover,
#discount .btn:active:hover,
#discount .btn:active:focus,
#discount .btn:active {
	background-color: #344c76;
	color: #eee;
}

@media(max-width: 767px){
	#discount .mfeedback{
		margin-top: 35px;
	}
}
/*Our clients*/

#our_clients {
	padding: 48px 0;
}



/* About Company */

#about_company {
	background-image: url(../img/bg_gradient.png);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	color: #fff;
	padding: 48px 0;
}

.company_advantages {
	padding-left: 0;
	margin: 68px 0 20px;
}

.company_advantages li {
	list-style-type: none;
	font: 16px 'Geometria-Bold';
}

.company_advantages li+li {
	margin-top: 16px;
}

.company_advantages li:before {
	margin-right: 5px;
	font-family: FontAwesome;
	content: "\f00c";
	color: #fdd835;
}

.document {
	height: 230px;
	max-width: 163px;
	width: 100%;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	margin: 0 auto;
	margin-bottom: 20px;
}

.document a {
	display: block;
	height: inherit;
}



/* Contacts */

#map .container {
	position: relative;
}

#map {
	height: 468px;
}

.contacts_cnt {
	max-width: 458px;
	width: 100%;
	margin: 80px 0;
	background-color: #fff;
	border-radius: 12px;
	padding: 24px 30px;
	font-size: 16px;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: 99;
}

.contact_info a {
	color: inherit;
}

.contact_info a:hover {
	color: inherit;
	text-decoration: underline;
}

.contacts_cnt h3 {
	font: 20px 'Geometria-Bold';
	margin: 0 0 24px;
}

.contact_info {
	padding-left: 0;
	margin-bottom: 24px;
}

.contact_info li {
	list-style-type: none;
}

.contact_info li+li {
	margin-top: 12px;
}

.contact_info .fa {
	color: #fdd835;
	margin-right: 10px;
}

.social_network,
.social_network:focus {
	display: flex;
	align-items: center;
	justify-content: center;
	color: #bdbdbd;
	border: 1px solid #bdbdbd;
	height: 37px;
	width: 37px;
	float: left;
	border-radius: 37px;
	transition: .3s;
	text-decoration: none;
}

.social_network+.social_network {
	margin-left: 10px;
}

.social_network:hover,
.social_network:active:hover,
.social_network:active:focus,
.social_network:active {
	border-color: inherit;
	color: white;
}

.sn_vk:hover {
	background-color: #507299;
}

.sn_ok:hover {
	background-color: #e77924;
}

.sn_gp:hover {
	background-color: #dc4a38;
}

.social_networks_cnt {
	margin-right: 30px;
	float: left;
}



/* Footer */
.footer_left {text-align:left;}
.footer_center {text-align:center;}
.footer_right {text-align:right;}

a.link_dev {
	color: inherit;
	text-transform: uppercase;
}
a.link_dev:hover {
	text-decoration: underline;
	color: inherit;
}

footer {
	background-image: url(../img/bg_gradient.png);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	color: #fff;
	padding: 30px 0;
}

footer .bold {
	font: 12px 'Geometria-Bold';
	text-transform: uppercase;
}
/* END FOOTER */



/* Checkbox */
.inp_checkbox {
	position: absolute;
	left: -9999px;
}

.inp_checkbox + .consent:before {
	font-family: FontAwesome;
	display: inline-block;
	content: "\f096";
	letter-spacing: 10px;
	font-size: 16px;
	color: #8f7a1e;
	position: absolute;
	margin-left: -24px;
}

.inp_checkbox:checked + .consent:before {
	content: "\f046";
	letter-spacing: 5px;
}

.consent {
	float:left;
	color: #8f7a1e;
	margin-left: 48px;
	margin-top: 0px;
	font: 14px 'Geometria';
}

/* END CONTENT */



/* OWL Logos */

.logo_style {
	height: 140px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.owl-carousel .owl-item {
	margin: 0 auto;
}

.owl-carousel .owl-item img {
	width: auto;
}

.owl-carousel {
	position: relative;
}

.owl_btn {
	height: 40px;
	width: 40px;
	background-color: white;
	border: 2px solid #4c4d52;
	border-radius: 99px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.owl_btn .fa {
	color: #4c4d52;
	font-size: 20px;
}

.owl-prev, .owl-next {
	position: absolute;
	top: 32px;
}

.owl-prev {
	left: 0;
}

.owl-next {
	right: 0;
}

.owl-theme .owl-nav [class*=owl-],
.owl-theme .owl-nav [class*=owl-]:hover {
	background: none;
}



/* Preview */

.owl-carousel {
	position: relative;
}

#preview_owl .item section {
	padding: 120px 0 28px;
	position: relative;
}

.owl-dots {
	position: absolute;
	right: 0;
	left: 0;
	bottom: 20px;
}

.owl-theme .owl-dots .owl-dot span {
	background: none;
	background-image: url(../img/dot_unchecked.png);
	width: 13px;
	height: 13px;
	transition: .3s;
	margin: 5px;
}

.owl-theme .owl-dots .owl-dot.active span, .owl-theme .owl-dots .owl-dot:hover span {
	background: none;
	background-image: url(../img/dot_checked.png);
}


/*__________________Медиа запросы___*/

@media (max-width: 1199px) { /*_0-md_*/

	.our_services_nav>li {
		display: inline-block;
		width: auto;
	}

	input.form-control {
		max-width: none;
		width: calc(50% - 10px);
	}

}

@media (max-width: 991px) { /*_0-sm_*/

	.nav_list {
		padding-left: 0;
	}

	.nav_list li {
		padding-right: 16px;
	}

	.owl-prev {
		left: 0;
	}

	.owl-next {
		right: 0;
	}

	#preview_owl .item section {
		padding-top: 160px;
	}
}

@media (max-width: 767px) { /*_0-xs_*/

	#preview_owl .item section {
		padding-top: 120px;
	}

	.preview_img {
		margin-top: 32px;
	}

	.header_xs {
		background-color: rgba(0,0,0,.9);
	}

	button.navbar-toggle {
		border-color: #fff;
	}

	button.navbar-toggle span {
		background-color: #fff;
	}

	.nav_list li {
		display: block;
		text-align: right;
		padding: 4px 0;
	}

	.navbar_fh {
		height: 34px;
	}

	.nofh_xs .navbar_fh {
		height: auto;
		padding: 0;
	}

	.nav-justified>li>a {
		width: auto;
	}

	input.form-control {
		max-width: none;
		width: 100%;
		margin-bottom: 12px;
	}

	input.form-control + input.form-control {
		margin-left: 0;
	}

	h1,
	.preview_heading {
		margin-top: 24px;
	}

	footer {
		padding: 16px;
	}

	.company_advantages {
		margin-top: 32px;
	}

	.company_advantages + .btn {
		margin-bottom: 32px;
	}

	.our_services_nav>li,
	.our_services_nav>li>a {
		width: 100%;
	}

	.our_services_nav>li>a {
		margin: 0 auto 8px;
	}

	#map {
		height: 534px;
	}

	.contacts_cnt {
		margin-top: 16px;
	}

	.social_networks_cnt {
		margin-bottom: 12px;
	}

	#our_services {
		padding-bottom: 0;
	}

	#our_works h2 {
		margin-bottom: 12px;
	}

	#discount {
		padding: 30px 0;
	}

	#discount .subheading {
		margin-bottom: 16px;
	}



	.display_flex {
		display: block;
	}
	.footer_left,
	.footer_center,
	.footer_right {
		text-align:center;
	}

	.nomargin_xs {
		margin: 0;
	}
}

#ServiceMoreInfo .modal-header{
	border: none;
}

.service_info_text{
	font: 14px 'Geometria';
}

/*     our_works     */

.our_works_owl .owl-dots {
    counter-reset: dots;  
}

.our_works_owl .owl-dot{
	position: relative;
}

.our_works_owl .owl-dot:before{
    counter-increment:dots;
    font: 14px 'Geometria-Bold';
    content: counter(dots);
    position: absolute;
    left: 0;
    right: 0;
    top: 10px;
}

.our_works_owl .owl-dot.active{
	color: #344c76;
}

.our_works_owl .owl-dots {
	position: absolute;
	right: 0;
	left: 0;
	bottom: -35px;
}

.our_works_owl.owl-theme .owl-dots .owl-dot.active span, .owl-theme .owl-dots .owl-dot:hover span {
    height: 30px;
    width: 30px;
    background: #fdd835;
}

.our_works_owl.owl-theme .owl-dots .owl-dot span {
    height: 30px;
    width: 30px;
    background: #344c76;
}

.img_video{
	position: absolute;
    display: block;
    margin: 0 auto;
    right: 0;
    left: 0;
    top: 40%;
}

.fancybox_works{
	position: relative;
}

/*   end our_works   */

/*   feedback   */

.mfeedback{
	position: relative;
}
.valid_block p{
	margin: 0px;
}

.valid_block p:nth-child(1) .errortext,
.valid_block .mf-ok-text{
	position: absolute;
	top: -25px;
	left: 0;
	right: 0;
	text-align: center;
}

.valid_block p:nth-child(2) .errortext{
	position: absolute;
	top: -45px;
	left: 0;
	right: 0;
	text-align: center;
}

.modal-body .valid_block p:nth-child(3) .errortext{
	position: absolute;
	top: -65px;
	left: 0;
	right: 0;
	text-align: center;
}

.modal-body .valid_block p:nth-child(1) .errortext,
.modal-body .valid_block .mf-ok-text{
	position: absolute;
	top: -15px;
	left: 0;
	right: 0;
	text-align: center;
}

.modal-body .valid_block p:nth-child(2) .errortext{
	position: absolute;
	top: -30px;
	left: 0;
	right: 0;
	text-align: center;
}

.modal-body .valid_block p:nth-child(3) .errortext{
	position: absolute;
	top: -45px;
	left: 0;
	right: 0;
	text-align: center;
}

/* end feedback */

/* 404 page  */

.cont_404 {
    height: 50%;
}

.page_404_title {
    text-align: center;
    margin: 200px 0 150px;
}

.link_agreement,
.link_agreement:focus{
	text-decoration: none;
}