/*******************************************
 *** Файл стилей STYLE.CSS
 *** Собственность компании WEBBERRIES
 *** https://webberries.ru (C) 2005-2022
 *** Для вопросов: webberries@yandex.ru
 *** Дата обновления: 11.05.2022
 *** Версия файла: V4.00 
 *******************************************/

/*------------------------------------------------------------------------------
 ******************* ВСПОМОГАТЕЛЬНЫЕ СТИЛИ *************************************
-------------------------------------------------------------------------------*/

/*
Для изменения свойств элементов - раскомментировать и поменять со стандартных на нужные:
*/
/*------------------------------------------------------------------------------
		a.blue:link {color: #006699; text-decoration: underline; }
		a.blue:visited {color: #006699; text-decoration: underline; }
		a.blue:active {color: #006699; text-decoration: underline; }
		a.blue:hover {color: #009999; text-decoration: none; }

		body {
			background: #f5f5f5;
		}

		html, body, h1, h2, h3, h4, h5, h6, div, span, input, textarea, table, td {
			font-family: 'Nunito', sans-serif;
		}



		///////////// Checkbox & Radio

		.checkbox:after {
			border-left: 4px solid #535353 !important;
			border-bottom: 4px solid #535353 !important;
		}

		.radio:after {
			background-color: #535353 !important;
		}

		.radio:before, .checkbox:before {
			border: 1px solid #dddddd !important;
			background-color: #dddddd !important;
		}

		<input type="checkbox" id="cb1" checked> <label class="checkbox" for="cb1">Флажок 1</label>
		<input type="radio" name="rb" id="rb1" checked> <label class="radio" for="rb1">Переключатель 1</label>




		///////////// Кнопки

		input[type=submit], button, .btn {
			background: #232323 !important;
		}

		input[type=submit]:hover, button:hover, .btn:hover {
			background: #363636 !important;
		}
		
-------------------------------------------------------------------------------*/

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;700&display=swap');


body {
	background: #fefefe;
}

header, section, nav, footer {
	padding: 0;
}

/*------------------------------------------------------------------------------
 ******************* SETTINGS **************************************************
-------------------------------------------------------------------------------*/

* {
	/*color: #121212;*/
}



.hamburger {
	display: none;
	width: 55px;
	height: 55px;
	line-height: 55px;
	font-size: 1.75em;
	text-align: center;
	position: absolute;
	top: 15px;
	right: 15px;
	background: #efefef;
}

body {
	padding-top: 100px;
	/*min-height: 5000px;*/
}

body.addtop {
	padding-top: 140px;
}

header {
	height: 100px;
	background: #fff;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 100;
	transition: 0.2s;
}

header.scroll {
	height: 60px;
}

header .logo {
	margin-top: 10px;
	height: 80px;
	width: 400px;
	background: url(/images/main/logo-web-big-2.png) left center / contain no-repeat;
	transition: 0.2s;
}

header.scroll .logo {
	height: 50px;
	width: 300px;
	margin-top: 5px;
}

header .address {
	position: absolute;
	left: 450px;
	top: 50%;
	transform: translateY(-50%);
	color: #111;
	transition: 0.2s;
}

header .address .street {
	font-size: 1.1em;
	font-weight: 600;
}

header .address .worktime {
	margin-top: 10px;
	font-size: 0.8em;
	font-weight: 400;
	color: #1565C0;
}

header.scroll .address .worktime {
	display: none;
}

header .phone {
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}

header .phone .number {
	font-size: 2em;
	color: #111;
	font-weight: 600;
	transition: 0.2s;
}

header .phone .email {
	font-size: 1.2em;
	text-align: right;
	font-weight: 600;
	color: #1565C0;
	transition: 0.2s;
}

header.scroll .phone .number {
	font-size: 1.2em;
}

header.scroll .phone .email {
	font-size: 0.8em;
}


nav {
	background: rgba(0,0,0,0.65);
	height: 40px;
	line-height: 40px;
	position: fixed;
	top: 100px;
	left: 0;
	right: 0;
	z-index: 99;
	box-shadow: 0 14px 28px rgba(0,0,0,0.25), 0 10px 10px rgba(0,0,0,0.22);
	transition: 0.2s;
}

nav.addtop {
	background: rgba(0,0,0,1);
}

nav.scroll {
	top: 60px;
	background: rgba(0,0,0,1);
}

nav .con {
	text-align: center;
}

nav .menu-btn {
	display: inline-block;
	color: #fff;
	font-size: 1em;
	text-transform: uppercase;
	font-weight: 600;
	margin: 0 25px;
	overflow: visible;
	position: relative;
	cursor: pointer;
}

nav .menu-btn:before {
	content: "";
	position: absolute;
	bottom: 0;
	left: -5px;
	right: -5px;
	height: 0px;
	transition: 0.2s;
	border-top-right-radius: 5px;
	border-top-left-radius: 5px;
}

nav .menu-btn:hover:before {
	height: 5px;
	background: #fff;
	z-index: 102;
}

nav .menu-btn.dropdown .dropdown-menu {
	position: absolute;
	top: 40px;
	left: -5px;
	width: 340px;
	padding: 15px 20px;
	background: #fff;
	z-index: 100;
	box-shadow: 0 14px 28px rgba(0,0,0,0.25), 0 10px 10px rgba(0,0,0,0.22);
	display: none;
	border-top-right-radius: 5px;
	border-bottom-left-radius: 5px;
	border-bottom-right-radius: 5px;
}

nav .menu-btn.dropdown .dropdown-menu div {
	font-size: 1em;
	text-transform: none;
	font-weight: 600;
	padding: 5px 0px;
	text-align: left;
	color: #111;
	border-bottom: 1px solid #ccc;
	transition: 0.2s;
	cursor: pointer;
}

nav .menu-btn.dropdown .dropdown-menu div:hover {
	color: #1565C0;
	border-bottom: 1px solid #1565C0;
	cursor: pointer;
}

nav.mobile {
	display: none;
}


section.videobg {
	margin-top: 0px;
	position: relative;
	min-height: 450px;
	height: 85vh;
	max-height: 600px;
	z-index: 10;
}

section.videobg .video {
	position: absolute;
	z-index: 10;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}

section.videobg .con {
	height: 100%;
	z-index: 100;
}

section.videobg .con .content {
	position: absolute;
	top: calc(50% + 40px);
	transform: translateY(calc(-50% - 20px));
	text-align: center;
}

section.videobg .con .content h1 {
	font-size: 2.5em;
	text-transform: none;
	text-align: center;
	font-weight: 600;
	color: #fff;
	text-shadow: 1px 1px 0 rgba(0,0,0,0.2);
	margin-bottom: 50px;
}

section.videobg .con .content h1 span {
	font-weight: 800;
	font-size: 1.75em;
	text-transform: uppercase;
}

section.videobg .con .content .buttons {
	overflow: hidden;
	height: 60px;
}

section.videobg .con .content .button-more {
	height: 60px;
	line-height: 60px;
	font-size: 1.0em;
	text-transform: uppercase;
	font-weight: 600;
	background: #1565C0;/* url(/images/main/blick.gif) right bottom / cover;*/
	background-blend-mode: overlay;
	color: #fff;
	text-shadow: 1px 1px 0 rgba(0,0,0,0.2);
	display: inline-block;
	padding: 0 32px;
	cursor: pointer;
	transition: 0.2s;
	margin-right: 15px;
}

section.videobg .con .content .button-more:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	border: 4px solid rgba(0,0,0,0.2);
}

section.videobg .con .content .button-more:hover {
	background: #0D47A1;
}

section.videobg .con .content .button-calc {
	margin-left: 15px;
	height: 60px;
	line-height: 52px;
	font-size: 1.0em;
	text-transform: uppercase;
	font-weight: 600;
	background: transparent;
	border: 4px solid #fff;
	color: #fff;
	display: inline-block;
	padding: 0 32px;
	cursor: pointer;
	transition: 0.2s;
	overflow: hidden;
}

section.videobg .con .content .button-calc:hover {
	background: #fff;
	color: #111;
}

section.videobg .con .content {
	text-align: center;
}

section.videobg .con .content img {
	height: 100px;
	display: inline-block;
	margin: 50px 10px 0 10px;
}


section.videobg .video video {
	width: 100%;
}

section.videobg .video:after {
	content: "";
	position: absolute;
	z-index: 20;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: rgba(0,0,0,0.6);
}




section h2 {
	font-size: 3em;
	text-align: center;
	text-transform: uppercase;
	font-weight: 800;
	margin-bottom: 25px;
}



section.types {
	padding: 75px 0;
	background: #fff;
}

section.types .item:before {
	content: "";
	padding-top: 100%;
	float: left;
}

section.types .item .ins {
	position: absolute;
	top: 20px;
	right: 20px;
	left: 20px;
	bottom: 20px;
	box-shadow: 0 14px 28px rgba(0,0,0,0.25), 0 10px 10px rgba(0,0,0,0.22);
	background: #fff;
	transition: 0.2s;
	cursor: pointer;
	z-index: 5;
}

section.types .item .ins:hover {
	transform: scale(1.05);
	z-index: 10;
	box-shadow: 0 19px 38px rgba(0,0,0,0.2), 0 15px 12px rgba(0,0,0,0.12);
}

section.types .item .ins .image {
	position: absolute;
	top: 10px;
	left: 10px;
	right: 10px;
	bottom: 80px;
}

section.types .item .ins .text {
	position: absolute;
	bottom: 10px;
	left: 10px;
	right: 10px;
	height: 60px;
	line-height: 60px;
	font-size: 1.5em;
	font-weight: 600;
	text-align: center;
}




section.types.uslugi .item:before {
	padding-top: 90%;
}

section.types.uslugi .item .ins .text {
	font-size: 1.25em;
}





section.slide-vorota {
	height: 500px;
	background: url(/images/main/dom.jpg) center center / cover;
}

section.slide-vorota .vorota {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	background: url(/images/main/vorota.jpg) left center / cover;
	z-index: 20;
	transition: 0.2s;
}

section.slide-vorota .vorota.slide {
	left: 85%;
	right: -85%;
	transition: ease-in-out 2.0s ;
	transition-delay: 0.5s;
}

section.slide-vorota .zabor {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	width: 100px;
	background: url(/images/main/zabor.jpg) center center / cover;
	z-index: 30;
	box-shadow: 0 14px 28px rgba(0,0,0,0.25), 0 10px 10px rgba(0,0,0,0.22);
}

section.slide-vorota .zabor.zabor-r {
	left: unset;
	right: 0;
}

section.slide-vorota h2 {
	text-align: center;
	width: 70%;
	margin: 0 auto;
	display: block;
	color: #fff;
	text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.5);
}

section.slide-vorota p {
	text-align: center;
	width: 60%;
	margin: 0 auto;
	display: block;
	color: #fff;
	margin-top: 50px;
	margin-bottom: 50px;
	text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.5);
}

section.slide-vorota .content {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	text-align: center;
	z-index: 15;
}

section.slide-vorota .btn-more {
	height: 60px;
	line-height: 60px;
	font-size: 1.0em;
	text-transform: uppercase;
	font-weight: 600;
	background: #1565C0;/* url(/images/main/blick.gif) right bottom / cover;*/
	background-blend-mode: overlay;
	color: #fff;
	text-shadow: 1px 1px 0 rgba(0,0,0,0.2);
	display: inline-block;
	padding: 0 32px;
	cursor: pointer;
	transition: 0.2s;
	margin-right: 15px;
	position: relative;
}

section.slide-vorota .btn-more:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	border: 4px solid rgba(0,0,0,0.2);
}




section.preim {
	background: #eee;
}


section.preim.types .item .ins .image {
	position: absolute;
	top: 10px;
	left: 10px;
	right: 10px;
	bottom: 10px;
}

section.types.preim .item .ins .text {
	font-size: 1em;
	height: unset;	
	left: 9px;
	right: 9px;
	bottom: 9px;
	background: #fff;
	line-height: unset;
	padding: 10px 0 5px 0;
}




section.banner1 {
	height: 500px;
	background: url(/images/main/banner1.jpg) center center / cover;
	border-top: 10px solid #fff;
	border-bottom: 10px solid #fff;
}

section.banner1 .fon {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	display: inline-block;
	padding: 50px 75px;
	background: rgba(255, 255, 255, .75);
	width: 60%;
}

section.banner1 .fon h2 {
	color: #111;
	text-align: left;
	font-size: 3em;
}


section.banner1 .fon h3 {
	color: #111;
	text-align: left;
}


section.banner1 .fon h3 span {
	color: #1565C0;
}





section.myworks	{
	padding: 75px 0;
}


section.myworks .item:before {
	content: "";
	padding-top: 100%;
	float: left;
}

section.myworks .item .ins {
	position: absolute;
	top: 10px;
	right: 10px;
	left: 10px;
	bottom: 10px;
	box-shadow: 0 14px 28px rgba(0,0,0,0.25), 0 10px 10px rgba(0,0,0,0.22);
	background: #fff;
	transition: 0.2s;
	cursor: pointer;
	z-index: 5;
}

section.myworks .item .ins .image {
	position: absolute;
	top: 10px;
	left: 10px;
	right: 10px;
	bottom: 10px;
}




section.about {
	padding: 75px 0;
	background: #eee;
}

section.about p {
	line-height: 2;
	margin-bottom: 25px;
}

section.about p.last {
	margin-bottom: unset;
}


section.about .b-4f {
	padding-right: 50px;
}

section.about .b-4 img {
	display: block;
	margin-bottom: 10px;
}





footer {
	padding: 75px 0;
	background: #2a2a2a;
}

footer .left {
}

footer .left img, footer .right img {
	display: block;
}

footer h2 {
	font-size: 1.25em;
	font-weight: 600;
	color: #fff;
	margin-bottom: 25px;
	text-align: center;
}

footer h2.mtop {
	margin-top: 50px;
}

footer .left p {
	font-size: 1.0em;
	font-weight: 400;
	color: #fff;
}

footer .mid {
	padding: 0 50px;
	color: #fff;
	text-align: center;
}


footer .mid input[type=text] {
	height: 40px;
	line-height: 40px;
	border: 0;
	margin-bottom: 10px;
}

footer .mid textarea {
	height: 100px;
	padding: 15px;
	border: 0;
	margin-bottom: 10px;
}


footer button {
	height: 50px;
	line-height: 50px;
	font-size: 1.0em;
	text-transform: uppercase;
	font-weight: 600;
	background: #1565C0;/* url(/images/main/blick.gif) right bottom / cover;*/
	background-blend-mode: overlay;
	color: #fff;
	text-shadow: 1px 1px 0 rgba(0,0,0,0.2);
	display: inline-block;
	padding: 0 32px;
	cursor: pointer;
	transition: 0.2s;
	margin-right: 15px;
	position: relative;
}

footer button:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	border: 4px solid rgba(0,0,0,0.2);
}


footer .right .phone {
	font-size: 1.75em;
	font-weight: 600;
	text-align: center;
	padding: 15px 0;
	background: #fff;
	color: #111;
	border-radius: 50px;
	margin-top: 25px;
}

footer .right img {
	width: 60%;
	margin: 0 auto;
}

footer .b-1 {
	text-align: center;
	padding: 50px 0 0 0;
	font-size: 0.8em;
	color: #ccc;
}



section.map {
	height: 400px;
	padding: 0;
	margin: 0;
	background: #cfcfcf;
}







section.recommend {
	padding: 75px 0;
	background: #1565C0;
}

section.recommend h2 {
	color: #fff;
}

section.recommend .left {
	padding-right: 25px;
}

section.recommend .right {
	padding-left: 25px;
}












section.page {
	padding: 50px 0;
}

section .breadcrumbs {
	margin-bottom: 50px;
	font-size: 0.8em;
	color: #777;
}

section.page h1 {
	font-size: 2.5em;
	font-weight: 700;
	text-align: center;
	margin-top: 0;
	margin-bottom: 50px;
}

section.page h2 {
	font-size: 2.5em;
	font-weight: 700;
	text-transform: none;
	margin-bottom: 25px;
	margin-top: 75px;
}

section.page .item {
	padding: 0 20px;
}

section.page .item .ins {
	padding: 25px;
	box-shadow: 0 14px 28px rgba(0,0,0,0.25), 0 10px 10px rgba(0,0,0,0.22);
	background: #fff;
	transition: 0.2s;
	cursor: pointer;
	z-index: 5;
}
/*
section.page .item .ins:hover {
	transform: scale(1.05);
	z-index: 10;
	box-shadow: 0 19px 38px rgba(0,0,0,0.2), 0 15px 12px rgba(0,0,0,0.12);
}
*/

section.page .item .ins .image {
	margin-bottom: 25px;
	overflow: hidden;
}

section.page .item .ins .image:before {
	content: "";
	float: left;
	padding-top: 56.25%;
}

section.page .item .ins .image.small:before {
	content: "";
	float: left;
	padding-top: 25%;
}

section.page .item .ins .image.big:before {
	content: "";
	float: left;
	padding-top: 75%;
}

section.page .item .ins h3 {
	font-size: 1.5em;
	text-align: left;
	font-weight: 800;
	margin-bottom: 15px;
	margin-top: 0;
	text-align: left;
}

section.page p {
	font-size: 1em;
	text-align: left;
	line-height: 1.75;
	margin-bottom: 15px;
}

section.page .item .btn-more {
	height: 50px;
	line-height: 50px;
	font-size: 1.0em;
	text-transform: uppercase;
	font-weight: 600;
	background: #1565C0;/* url(/images/main/blick.gif) right bottom / cover;*/
	background-blend-mode: overlay;
	color: #fff;
	text-shadow: 1px 1px 0 rgba(0,0,0,0.2);
	display: inline-block;
	padding: 0 32px;
	cursor: pointer;
	transition: 0.2s;
	margin-right: 15px;
	position: relative;
}

section.page .item .btn-more:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	border: 4px solid rgba(0,0,0,0.2);
}

section.page .left-image {
	padding-right: 50px;
}

section.page .right-image {
	padding-left: 50px;
}

section.page .mtop50 {
	margin-top: 50px;
}

section.page .mtop0 {
	margin-top: 0px;
}

section.page .mbot0 {
	margin-bottom: 0px;
}

section.page h2.mtop0 {
	font-size: 2em;
	text-align: left;
}

section.page p.bold {
	font-weight: 700;
	text-align: center;
	font-size: 0.8em;
	text-transform: uppercase;
}

section.page img.marginauto {
	display: block;
	margin: 0 auto;
}





.callphone {
	margin-top: 50px;
	text-align: center;
}

.callphone p {
	font-size: 1.2em;
	text-align: center;
	margin-bottom: 10px;
	font-weight: 400;
}

.callphone span {
	font-size: 2em;
	font-weight: 800;
}









.catalog-inside {
	margin-top: 75px;
}

.catalog-inside .ob-20 {
	margin-top: 50px;
}

.catalog-inside .image1 {
	overflow: hidden;
	position: relative;
	padding-top: 75%;
}
/*
.catalog-inside .image1:before {
	content: "";
	float: left;
	padding-top: 100%;
}
*/

.catalog-inside .text {
	margin-top: 15px;
	margin-bottom: 15px;
}

.catalog-inside .text strong {
	color: #1565C0;
}

.catalog-inside .text p {
	margin-top: 15px;
	font-size: 0.8em;
	line-height: 1.2;
}

.catalog-inside .text .price {
	font-size: 1.25em;
	font-weight: 600;
}

.catalog-inside .button-go {
	height: 50px;
	line-height: 50px;
	font-size: 0.8em;
	text-transform: uppercase;
	font-weight: 600;
	background: #1565C0;/* url(/images/main/blick.gif) right bottom / cover;*/
	background-blend-mode: overlay;
	color: #fff;
	text-shadow: 1px 1px 0 rgba(0,0,0,0.2);
	display: inline-block;
	padding: 0 32px;
	cursor: pointer;
	transition: 0.2s;
	margin-right: 15px;
	position: relative;
}

.catalog-inside .button-go:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	border: 4px solid rgba(0,0,0,0.2);
}