/*##################################################################
#	Netbike Framework - center template - custom styles
#   ЭКСПЕРИМЕНТАЛЬНАЯ ЗАГОТОВКА ДЛЯ БЫСТРОЙ СБОРКИ САЙТ
#	26.11.2020
##################################################################*/
/***** MAIN STYLES *****/
/* подключите здесь шрифты, используя @import (из инструкции Google Fonts)*/
/*@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@400;700&display=swap");*/
/*@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap');*/
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;700;800&display=swap');
/* укажите основной шрифт */
html{
	font-family: 'Open Sans', sans-serif;
}
/* укажите шрифт и ццвет для заголовков */
h1, h2, h3, h4, .content .title{
	-font-family: 'Roboto', sans-serif;
	font-family: 'Open Sans', sans-serif;
	color:#353535;
}

h1 { font-size:40px;}

h2 {font-size:32px; padding:10px 0;}

.content.text p { font-size:24px; color:#353535;}

h2.idea-main{ font-size:32px; line-height:100%; font-weight:400;}


/* фон страницы*/
body{
	background-color: #fff;	
}
/* фон поля для контента*/
.container.page{
	background-color: #fff;	
}

body:not(.default) .container.page {
    background: transparent;
}

/* кнопки */
input[type='button'], input[type='submit'], a.button:link, a.button:visited{ /* обычная кнопка */
	border-radius: 0px;
    background-color: #fff;
    color: #353535;
    border: 1.5px solid #353535;
    float: none;
    width: 300px;
    text-align: center;
    padding: 5px 0;
    height: 50px;
	text-align: center;
	float: right;
}
input[type='button']:hover, input[type='submit']:hover, a.button:hover{ /* обычная кнопка при наведении */
	background-color:#353535;
	color:#fff;
	border-color:#353535;
}
a.button.button-light:link, a.button.button-light:visited, a.button.button-light:focus{ /* контурная кнопка */
	border-color:#353535;
	color:#353535;
}
a.button.button-light:hover{ /* контурная кнопка при наведении */
	background-color:#353535;
	color:#fff;
}

/***** HEADER, FOOTER *****/

#header{
	font-size: inherit;
	padding: 0px;
}
#header .block.logo{
	width:210px; /* ширина логотипа */
	height:60px; /* высота контейнера логотипа */
}
#header .block.logo a{
	background-size:auto 50px; /* размеры логотипа в контейтере (высота соответствует высоте контейнера) */
	background-position:0 50%; /* выравнивание логотипа в контейтере*/
	display:block;
	height:inherit;
	background-repeat:no-repeat;
	background-image:url(/images/logo.png);
	background-size: auto;
	background-position: 0 50%;	
}
#header .block.phone{
	width:220px; /* ширина контейтера с телефоном */
}
#header .block a.phone{ /* ссылка "телефон" */
    font-size: 24px; 
    color: #d01102;	
}

#header .block {
    padding: 0px;
}

.wrapper-header {
    box-shadow: 0px 10px 35px 0px rgba(0, 0, 0, 0.10);
}


#header .line_menu ul{display:flex; justify-content: right;}
#header .line_menu li{ display: inline-block;text-align:center; font-size:24px; font-weight:400; position: relative; padding: 30px 0;}
#header .line_menu li a{ text-decoration:none; color:#676767; font-weight:400; line-height:100%; letter-spacing:0.05em; padding:30px;}
#header .line_menu li:hover {background:#353535;}
#header .line_menu li:hover a{color:#fff; }
#header .line_menu li::after {
            content: '';
            position: absolute;
            right: 0;
            top: 50%;
            transform: translateY(-50%);
            width: 1px;
            height: 100px;
            background: #BFBABA;
}


.wrapper-footer{
	background-color:#fff;
	margin-top: 50px;
}
#footer{color:#000;}
#footer a:link, #footer a:visited{
	color:inherit;
}
.wrapper-footer a:hover{
	color:#383838;
}


#footer a{text-decoration:none;}

#footer a:hover{
	text-decoration:underline;
}

#footer .block.menu ul li.active a {
    color: #809936;
	text-decoration:underline;
	background-color:#fff;
}

#footer .block.menu ul li {
   padding:5px 0;
}

#footer .block.addr p{
	width:300px;
}

#footer .block.addr p{
	padding-bottom:10px;
	font-weight: 600;
    font-size: 18px;
    line-height: 19px;
	color:#353535;
}

#footer .block.addr p.large{
	font-size:14px;
	font-weight: 300;
	
}

#footer .block.footbar p.bottom{
	margin: 40px 0 10px;
}

#footer .block.footbar .block.right{
	position: absolute;
    right: 0;
    bottom: 20px;
	display:flex;
}

#footer .block.footbar .block.right .social {
	margin-right: 40px;
    margin-top: 20px;
}

#footer .block.footbar .block.right .social a{
	background-color:#0077FF;
	width:50px;
	height:50px;
	margin-right: 5px;
}
#footer .block.footbar .block.right .social a img{
	float:left;
	margin:15px 4px;
}

#footer .block.footbar .block.right p{
	text-align:center;
}

#footer .block.footbar .block.right p.icons a{
	display:block;
	margin-top:20px; 
	float:right;
}
#footer .block.footbar .block.right p.icons a img{display:block;}
#footer .block.footbar .block.right p.icons a:hover img.first{display:none;}
#footer .block.footbar .block.right p.icons a:hover img.second{display:block!important;}
/***** TOP_MENU *****/
/*
.wrapper-top-menu{
	background-color: #787878;
}
#top_menu > ul li, #top_menu > ul li:first-child{
	border-color: #686868;
}
#top_menu a:link, #top_menu a:visited{
	background-color: #787878;
	color:#fff;
}
#top_menu ul li a:hover {
	background-color: #888888;
}
#top_menu ul li.active a, #top_menu ul li.active a:hover{
	background-color: #989898;
}
*/
/***** BLOCKS *****/

/***** CONTENT *****/

/***** OTHER *****/

/* карточки для новостей */
.item-card-news{
	padding:7.5px 2.5px;
}
.item-card-news .block-wrapper{
	padding:7.5px; padding-bottom:27.5px;
}
.item-card-news .content{
	box-shadow:none;
	padding:0;
	
	position: relative;
    height: auto!important;
}
.item-card-news .content:before{
	padding-top: 100%!important;
	content: "";
    float: left;
}

.item-card-news .bg-wrapper{
	background: linear-gradient(0deg, rgba(32,32,32,0.7) 20%, rgba(1,255,255,0) 100%);  position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto; z-index:3000; padding:15px;
}
.item-card-news .bg-wrapper.noimage{
	    background: linear-gradient(0deg, rgba(32,32,32,0.7) 20%, rgba(1,255,255,0) 100%);
}
.item-card.item-card-news .noimage .title{
	
}

.item-card-news .image img{ transition:0.38s;}
.item-card.item-card-news p.descr{
	color:#6A6A6A;
	font-size:18px;
	line-height:1.2;
	margin: 15px 0; height:3.6em;
	position:relative;
}
.item-card.item-card-news p.descr:before{
	position:absolute; display:block; height:30px; content:''; top:40px; width:100%; background: linear-gradient(90deg, rgba(255,255,255,0) 50%, rgba(255,255,255,1) 100%);
}
.item-card.item-card-news .body{
	padding: 0 15px;
}
.item-card.item-card-news .panel{
	font-size:14px; padding-bottom:10px;
}
.item-card.item-card-news .title{
	position:absolute; bottom:0; color:#fff; font-size:24px; text-align:left; margin-bottom:20px; left:15px; right:15px; height:auto; max-height:3em; line-height:1;
}

.item-card.item-card-news .block-wrapper > a{
	background:#fff;
	box-shadow: 2px 1px 10px 2px rgba(34, 60, 80, 0.2);
}
.item-card.item-card-news .block-wrapper > a:hover img{transform:scale(1.05);}

.item-card-tourism .title{
	max-height:none!important;
	padding:10px;
}
.item-card.item-card-news .location{display:block; font-size:18px; margin-top:10px; background-image:url(/images/icons/mappin.svg); background-repeat:no-repeat; background-position: 0 50%; padding-left:18px;}


.item-card-news .content.square_preview .image.prop-3x2:before{padding-top:100%!important;}
.item-card-news .content.square_preview .body{
	position:absolute; bottom:0;  left:0; right:0; height:auto; margin-bottom:2px;
}
.item-card-news .content.square_preview .body .descr{color:#fff;}
.item-card-news .content.square_preview .body .panel{color:#fff;}
.item-card-news .content.square_preview .body p.descr:before{background:transparent;}

.item-card-news .content.square_preview .body .title{position:static; margin-bottom:37px;}

/* blog - news-filter */
.page-wrapper > ul.news-filter{padding:25px 13px;}
.news-filter li{display:inline-block; padding-right:0.5em;}

.module-blog .news-filter{
	margin-top:20px;
	padding: 0 10px;
}

.news-filter.main li {
    margin-top: 20px;
	margin-bottom: 20px;
    padding-left: 10px;
}

.news-filter li a {
    border: 1px solid #333333;
    border-radius: 0;
    font-size: 18px;
	line-height:100%;
    color: #525252;
    padding: 10px 50px;
    transition: .3s;
    margin-top: 5px;
    font-weight: 400;
    text-align: center;
	text-decoration:none;
}

.news-filter li.active a {
    background: #333333;
    border: 1px solid #333333;
    color: white;
    font-size: 18px;
    line-height: 18px;
    font-weight: 400;
    text-align: center;
    padding: 10px 50px;
}

.news-filter li a:hover {
    background: #333333;
	color: white;
}

/* Модуль Строим на главной*/

.container.item-card.building {
	position:relative;
	z-index:100;
	width:1200px;
	margin:0 auto;
}

.item-card.building .content {
    height:220px;
}

.item-card.building .content .title {
    font-size: 24px;
	font-weight:400;
    color: #333333;
    line-height: 100%;
    height: 4.5em;
    overflow: hidden;
    text-align: left;
	padding-left:30px;
	padding-top:30px;
}


.item-card.building .content .button-circle {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    border: 5px solid #333333;
    position: absolute;
    left: 50px;
    bottom: 40px;
    background: transparent;
}

.item-card.building .block-wrapper:nth-child(1) .content .button-arrow {
    position: absolute;
    right: 85px;
    bottom: 75px;
    width: 15px;
    height: 15px;
}

.item-card.building .content .button-arrow {
     position: absolute;
     right: 40px;
     bottom: 40px;
     width: 24px;
     height: 24px;
}

.item-card.building .content .button-arrow::after {
      content: '';
      position: absolute;
      width: 8px;
      height: 8px;
      border-right: 2px solid #333333;
      border-top: 2px solid #333333;
      transform: rotate(45deg);
      right: 0;
      top: 5px;
}

.item-card.building .block-wrapper > a {
    background-color: #fff;
}

.item-card.building .block-wrapper > a:hover {
    background-color: #E6E6E6;
}

.container.item-card.building .block-wrapper:nth-child(1) .content .title{
   font-size: 54px;
    font-weight: 700;
    color: #333333;
    line-height: 100%;
    height: auto;
    overflow: hidden;
    text-align: center;
    padding-left:0;
	padding-top:50px;
}

.item-card.building .content .descr {
    font-size: 18px;
    line-height: 100%;
    font-weight: 300;
	text-align: center;
	padding-left:0;
	margin: 10px 0 10px -30px; 
}

.container.item-card.building .block-wrapper:nth-child(1) .content .button-circle{
   display:none;
}


/* Модуль Проектируем*/

.block-card.proekt h2{
    text-align:center;
	font-size:36px;
	font-weight:400;
	line-height:100%;
	padding-bottom:40px;
}


.container.block-card.proekt.main {
    -margin:70px 0;
	margin-top:60px;
}
.container.block-card.proekt.main.slick-slider {
    -margin:70px 0;
	margin-top:0;
	margin-bottom:60px;
}

.block-card.proekt .body {
    background: none;
}

.block-card.proekt p.title {
    font-size: 20px;
    line-height: 100%;
	font-weight:400;
    height: auto;
    overflow: hidden;
    color: #fff;
    position: absolute;
    bottom: 25px;
    padding-right: 20px;
}


/* Страница Строим внутренняя*/
.container.block-card.building {
    margin: 40px auto;
}

.block-card.building .content {
    height:220px!important;
	background: none;
	box-shadow: 0px 0px 8px 1px rgba(0, 0, 0, 0.22);
}

.block-card.building .block-wrapper .content > a:hover {
    background-color: #E6E6E6;
}

.block-card.building .body {
    background: none;
}

.block-card.building .content .title {
    font-size: 24px;
	font-weight:400;
    color: #333333;
    line-height: 100%;
    height: 4.5em;
    overflow: hidden;
    text-align: left;
	padding-left:30px;
	padding-top:30px;
	text-shadow: none;
}

.block-card.building .content .button-circle {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    border: 5px solid #333333;
    position: absolute;
    left: 50px;
    bottom: 40px;
    background: transparent;
}

.block-card.building .content .button-arrow {
    position: absolute;         
	right: 40px;
    bottom: 40px;
    width: 24px;
    height: 24px;
}

.block-card.building .content .button-arrow::after {
    content: '';
    position: absolute;
    width: 10px;
    height: 10px;
    border-right: 2px solid #333333;
    border-top: 2px solid #333333;
    transform: rotate(45deg);
    right: 0;
    top: 5px;
}

/* Страница Проектируем внутренняя*/

.proekt .content .card-arrow {
    position: absolute;
    right: 40px;
    top: 40px;
    width: 24px;
    height: 24px;
}

.proekt .content .card-arrow::after {
     content: '';
     position: absolute;
     width: 12px;
     height: 12px;
     border-right: 2px solid white;
     border-top: 2px solid white;
     transform: rotate(45deg);
     right: 0;
     top: 5px;
}

/* Модули на внутренних страницах*/

/* Модуль Цитата*/

.container.quote.image-text.small .content {
    font-size: 24px;
    font-weight: 400;
    width: 1200px;
    box-shadow: none;
}

.container.quote.image-text.small .image-container {
    width: 220px;
    padding-right: 20px;
}

/* Модуль 2 блока внутренняя*/

.container.item-card.twoblocklist {
    margin: 40px 40px 0;
}

.container.item-card.twoblocklist.height .block-wrapper:nth-child(3) {
    margin: 0 auto;
	float:inherit;
}

.item-card.twoblocklist .content .title {
    font-size: 24px;
    color: #353535;
	font-weight:700;
	height:3.5em;
	text-align:left;
	padding-left:10px;
}

.item-card.twoblocklist .content .descr {
    display:none;
}

.item-card.twoblocklist.height .content {
    padding: 15px 25px;
    min-height: 470px;
}

/* Таблица внутренняя*/
table {
    margin: 20px 0;
}

table tr td, table tr th {
    vertical-align: middle;
    margin: 20px 0;
}

.table-no-col table, table.table-no-col {
    color: #4A4A4A;
    font-size: 24px;
    font-weight: 400;
}

/***** Список *****/

.content ul, .content ol {
    margin-left: 20px;
}

.content li {
    font-size: 24px;
    color: #353535;
}

.content ol {
    margin-left: 100px;
}

/* ФОС */

form.nbform div.label p, form.nbform label p {
    font-size: 14px;
    color: #353535;
	padding:5px;
}

form.nbform {
    padding-top: 20px;
}


input, textarea {
    border: none;
    background: #F2F6FA;
}

input[type='text'], input[type='password'], input[type='email'], input[type='date'], input[type='number'] {
    padding: 15px;
}

form.nbform .fa-asterisk {
    font-size: 8px;
    position: absolute;
}

form.nbform div.label, form.nbform label {
    margin-bottom: 20px;
}

/*Обводка*/

.content.text p.border {
    border: solid 1px #353535;
    padding: 40px;
    margin: 20px 0;
    text-align: center;
	font-weight:700;
}


.content.text p.border a{
    color:#b5b5b5;
}

.content.text p.border a:hover{
    text-decoration: underline solid #353535;
}

/*Раскрывающийся*/

details {
    border-left: none;
    border-right: none;
    border-top: solid 1px #353535;
	border-bottom: none;
    padding: 13px 0;
	margin-top: 50px;
}

details.one {
    border-left: none;
    border-right: none;
    border-top: solid 1px #353535;
	border-bottom: solid 1px #353535;
    margin: 0 0 50px;
    padding: 13px 0;
}

details summary {
    background-color: #fff;
    font-size: 32px;
    color: #353535;
	font-weight:400;
    display: block;
    background-image: url(/images/icons/summary-arrow-down.svg);
    background-repeat: no-repeat;
    background-position: calc(100% - 30px) 50%;
    padding: 15px 100px;
}

details summary:focus {
    background-color: #fff;
}

details .content p:first-child {
    padding-top: 0;
}

details[open] > summary {
    background-image: url(/images/icons/summary-arrow-up.svg);
}


/*Блок преимущества*/

.container.item-card.advantages {
    margin:50px 0;
	counter-reset: card-counter;
}

.item-card.advantages .content {
    box-shadow: 0px 0px 10px 1px rgba(0, 0, 0, 0.035);
    padding: 15px 20px;
}

.item-card.advantages .content .title {
    font-size: 18px;
    color: #353535;
    line-height: 1.5;
    height: 4em;
    overflow: hidden;
    text-align: left;
}
       
.item-card.advantages .content {
     counter-increment: card-counter; /* Увеличиваем счетчик для каждой карточки */
}
        
.item-card.advantages .content:hover {
     background-color: #353535;
}
        
.item-card.advantages .content:hover::after {
     content: counter(card-counter); /* Используем значение счетчика */
     position: absolute;
     right: 0;
     top: 0;
     height: 100%;
     display: flex;
     align-items: center;
     font-size: 96px;
     font-weight: 800;
     color: #fff;
    padding-right: 20px;
}
        
/*Подпись к фото*/

.content.text .page-end p {
    font-style: italic;
    color: #565656;
    padding: 0;
    font-weight: 300;
    font-size: 14px;
    line-height: 19px;
}

.page-end {
    margin: 30px 0;
}
