/* styles by Konstantin Matveev */


body {font-family:Rubik, sans-serif;font-size:18px;color:#000;font-weight:300;}

button { font-size:18px;color:#fff;background:#ed1d24; padding:15px 55px;font-weight:400;}
button, button:active, button:focus, input, input:active, input:focus, textarea, textarea:active, textarea:focus {border:none;outline:none;}
img {max-width:100%;height:auto;}
.clear {clear:both}

.textleft {text-align:left;}
.textright {text-align:right;}

	a {color:#ed1d24;font-family:Rubik, sans-serif;font-weight:400;}
a:hover {text-decoration:none;}

.h2, .h3 {text-align:center;display:block;font-weight:300;}

.h2 {text-transform:uppercase;font-size:44px;color:#ed1d24;padding:70px 0;}
.h3 {color:#ed1d24;font-size:20px;padding:20px 0;}
	p {line-height:1.7;}

/* HEADER */

#logoandcontact {background:#c1c1c1;padding:5px 13%;}
#logoandcontact .textleft {    padding-right: 0;}
.address,.phone {padding:0 0 0 0;}
.address::before {content:'';background:url(../img/addressicon.png) no-repeat;position:absolute;    width: 25px;    height: 25px;   left: -35px;    top: 20px;}
.phone::before {content:'';background:url(../img/phoneicon.png) no-repeat;position:absolute;    width: 25px;    height: 25px;       margin-left: -25px;top: 20px;}
.address {padding-top:8px;}
.phone {padding-top:17px;}

#menublock {padding:5px 13%;}
#topmenu {padding:20px 0 10px 0;}
#menublock li {list-style-type:none;display:inline;    margin-left: 8%;}
#menublock li a {text-transform:uppercase;padding:15px 0;}

#menublock li a:hover {color:#000;}


#menublock li a {    transition: 0.3s;position:relative;}

#menublock li a::before {right: 0;
    top: 0;
    -webkit-transform-origin: 100% 50%;
    -ms-transform-origin: 100% 50%;
    transform-origin: 100% 50%;}
    
#menublock li a::before, #menublock li a::after {content: '';
    width: 100%;
    height: 2px;
    z-index: -1;
    background: #000;
    position: absolute;
    -webkit-transform: scale3d(0, 1, 1);
    transform: scale3d(0, 1, 1);
    transition: -webkit-transform 0.5s;
    transition: transform 0.5s;
    transition: transform 0.5s, -webkit-transform 0.5s;}
    
    #menublock li a::after {    left: 0;
    bottom: 0;
    -webkit-transform-origin: 0 50%;
    -ms-transform-origin: 0 50%;
    transform-origin: 0 50%;}
    
    #menublock li a:hover::before, #menublock li a:hover::after {   
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);}



/* TOPIMAGE */
#topimage {text-align:center;color:#fff;font-size:24px;position:relative;}
#sitedescription {position:absolute;bottom: 15%;    left: 0;    right: 0;font-weight:400;}

/* ABOUT */
#about {padding:5px 13%;background:url(../img/about_bg.jpg) no-repeat center center;background-size:cover;}
.plus {text-align:center;padding-bottom:40px;}
.plus ul li {text-align:left;list-style-type:none;}

.plus ul li::before {content:'';background:url(../img/list.png) no-repeat top left;position:absolute;width:5px;height:5px;    margin-top: 9px;    margin-left: -15px;}


/* REALIZATION */

/* PORTFOLIO */

#portfolio {text-align:center;}
#portfoliotabs {margin:0 auto 25px auto;}
.tabs {display:inline;margin:20px;cursor:pointer;}

#portfolio button.owl-prev {margin-left:1% !important;}
#portfolio button.owl-next {margin-right:1% !important;}
#portfolio .owl-nav {top:36% !important;}

#portfolio-1 {display:block;}
#portfolio-8, #portfolio-6, #portfolio-7, #portfolio-9, #portfolio-10, #portfolio-11, #portfolio-12, #portfolio-13, #portfolio-14, #portfolio-15, #portfolio-16, #portfolio-17, #portfolio-18, #portfolio-19, #portfolio-20, #portfolio-21 {display:none;}

.project_active {color:#ed1d24;font-weight:700;}

/* CLIENTS */
#clients, #clients .h2 {text-align:center;background:#ed1d24;color:#fff;    padding: 25px 13% 0 13%;}
#clients .owl-carousel .owl-item img {width:unset;max-width:unset;    margin: auto;}

#clients .owl-nav {top:27% !important;}
#clients button.owl-prev {margin-left:-2% !important;}
#clients button.owl-next {margin-right:-2% !important;}

#clients button.owl-prev:hover {background:url(../img/arrowleft_white.png) no-repeat center top !important;}
#clients button.owl-next:hover {background:url(../img/arrowright_white.png) no-repeat center top !important;}

/* CONTACTBLOCK */
#contactblock {padding:0 0 0 0;height:690px;}
#contacts, #contactform, #map {height:100%;}


#contactblock div {padding:0 0 0 0;}
#contactblock .h2 {text-align:left;padding:25px 0;}

#contactform {background:#303030;text-align:center;color:#fff;}
#contactform .h2 {color:#fff;text-align:center;padding:25px 0;}

#contactform_form input, #contactform_form textarea, #contactform_form button {display:block;    margin: 5px auto;}

#contactform_form input, #contactform_form textarea {border-radius:5px;width:80%;color:#000;background:#cdcdcd;}
#contactform_form input:active, #contactform_form textarea:active,#contactform_form input:focus, #contactform_form textarea:focus {background:#fff;}
#contactform_form input {padding:15px 25px;margin:10px auto;}
#contactform_form textarea {padding:10px 25px;height:100px;}

#contactform_form p {text-align:left;padding-left:10%;padding-top:10px;}
#contactform_form button {margin:34px auto;}
#contactform_form button:hover {background:#c20e0e;}

#contacts {padding-left:8% !important;}

.bottomsocial {margin-top:40px;}
.bottomsocial img {margin-right:20px;}

/* FOOTER and COPYRIGHTs */
#footer {background:#c1c1c1;text-align:center;padding:15px 0 5px 0;}
#footer ul {padding:0;}
#footer ul li {display:inline;list-style-type:none;margin:15px;}
#footer ul li a {text-transform:uppercase;color:#000;font-weight:400;}
#footer ul li a:hover {color:#ed1d24;}

#copyright {text-align:center;padding:15px;}

/* fixed effects */

#portfolio .owl-stage {    margin: 0 auto;}

.owl-carousel .owl-nav button.owl-next, .owl-carousel .owl-nav button.owl-prev, .owl-carousel button.owl-dot {background: 0 0;
    color: inherit;
    border: none;
    padding: 0!important;
    font: inherit;}


	.owl-nav {width:100%;height:40px !important;    position: absolute;     top: 47%;}
	
	button.owl-prev {float:left;background:url(../img/arrowleft_black.png) no-repeat center top !important;width:25px;height:40px;margin-left: 13% !important;}
	button.owl-next {float:right;background:url(../img/arrowright_black.png) no-repeat center top !important;width:25px;height:40px;margin-right: 13% !important;}
	
	button.owl-prev:hover {background:url(../img/arrowleft.png) no-repeat center top !important;}
	button.owl-next:hover {background:url(../img/arrowright.png) no-repeat center top !important;}
	
	.owl-theme .owl-dots .owl-dot.active span { background: #fff;    border: 2px solid #ed1d24; }
	.owl-theme .owl-dots .owl-dot:hover span { background:#ed1d24;}
	
	.owl-theme .owl-dots .owl-dot span { background:#000;}
	
	.owl-theme .owl-dots {margin-top:10px;}
	
	/* govno ie */
	
	
	.owl-carousel .owl-stage-outer {max-height:640px;}
	
	
/* MODAL windows, FORM */

/* MEDIA AND ADAPTIVE */

@media (min-width:1201px) and (max-width:1715px) {
    
    #contactblock .h2 {font-size:24px;padding-top:0;padding-bottom:0;}
    #contactblock form p {font-size:14px;padding-top:0;padding-bottom:0;}
    #contactblock {height:690px;}
    
    
}

@media (max-width:1200px) {

#logoandcontact, .textleft,.textright {text-align:center;}
.address::before, .phone::before {content:none;}
	#sitedescription {font-size:16px;bottom:4px;}
	#menublock, #about, #clients,#contactblock {padding:0 5px;}
	#menublock li {margin-left:2px;display: block;}
	#menublock li a:hover {border-top:none;padding:0;}
	.h2 {padding:0; padding-top:10px;font-size:24px;}
	
	button.owl-prev,#clients button.owl-prev {margin-left:1px !important;}
	button.owl-next,#clients button.owl-next {margin-right:1px !important;}	
	
	.owl-nav {top:36%;}
	
	#contacts, #contactform {padding:10px 25px !important;}
	
	#contactblock {height:unset;}
	
	#map {height:200px;}


	
}

@media (max-width:400px) {
	#topimage {display:none;}
}

.fancybox-title {
    position: absolute;
    bottom: 0;
    left: 0;
    background: rgba(255, 255, 255, 0.77);
    padding: 40px 20px;
    font-size: 16px;
    text-align: center;
}

.flex {display:-ms-flexbox;display:-webkit-flex;display:flex;display:-moz-box}
.row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}
.column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}
.wrap { 
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;

}

.wrap > * {
    -webkit-box-flex-grow: 1;
    -moz-box-flex-grow: 1;
    -webkit-flex-grow: 1;
    -ms-flex-grow: 1;
    flex-grow: 1;
}

.text--center {text-align:center;}

.sdf {max-width: initial;}

.auto--left{margin-left:auto}
.vertical--center{-webkit-box-align:center;-ms-flex-align:center;align-items:center}
.horizontal--end{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}
.horizontal--between{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}
.horizontal--center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}

.clear:after{content: "";display: block;overflow: hidden;clear: both;}
.float--right {float:right;}
.float--left {float:left;}

.page {padding: 5px 13%;}

.news_item {
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: solid 1px #ccc8c8;
}

.news_description {margin-left: 20px;}

.news__date {
    font-size: 14px;
    margin: 0;
    color: #aba6a6;
}

.news__title {font-size: 28px;}

.neighbors {margin: 40px 0;}

.neighbors_item a {margin: 0 10px;}

.neighbors_item {width:400px;}

.page__title {
    text-transform: uppercase;
    font-size: 44px;
    color: #ed1d24;
    padding: 30px 0;
    text-align: center;
}

.sg_3 {width:30%;}

.mt1 {margin-top: 20px;}

.mb1 {
    background: #efefef;    
    padding-bottom: 70px;
}

.w100 {width:100%;}

.animate {
	-webkit-transition: all 100ms linear;
	-moz-transition: all 100ms linear;
	-ms-transition: all 100ms linear;
	-o-transition: all 100ms linear;
	transition: all 100ms linear;
}

.popup_news {
    width: 350px;
    height: 325px;
    position: fixed;
    right: -309px;
    top: 50%;
    margin-top: -170px;
    overflow: hidden;
    background: #fdfdfd;
    border-radius: 10px 0 0 10px;
    z-index: 10;
    border: solid 2px #ed1d24;
    border-right: none;
    padding: 15px 0 15px 39px;
    text-align: center;
    box-shadow: 0 0 0 1px #fdfdfd; 
}

.popup_news.active {right: 0;}

.popup_block .sg_3 {width: 100%;}
.popup_block .mt1 {margin-top: 2px;}
.popup_block .news__title {
    font-size: 24px;
    line-height: 20px;
    margin: 12px 0px;
    display: block;
}
.popup_block .news__intro {
    font-size: 14px;
    line-height: 19px;
    padding: 0 10px;
}

.popup_leftText {
    -moz-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
    transform: rotate(-90deg);
    position: absolute;
    text-align: center;
    width: 326px;
    left: -144px;
    background: #ed1d24;
    color: #fff;
    bottom: 142px;
    padding: 7px 0;
    text-transform: uppercase;
    letter-spacing: 0.1rem;
    cursor: pointer;
}

.popup__folow {margin-top: auto;}

.popup_links a {
    display: inline-block;
    margin: 10px 5px 15px 5px;
    border: solid 2px;
    width: 35px;
    height: 35px;
    line-height: 35px;
    text-align: center;
    border-radius: 5px;
}

.text--right {text-align:right;}
.text--center {text-align:center;}

@media (max-width:1150px) {
    .asdf {-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}
    .sg_3 {width: 70%;-ms-flex-item-align: center;align-self: center;margin-bottom: 40px;}
    .sg_3 .news__title {    text-align: center; width: 100%; display: block;}
}

@media (max-width:950px) {
    .news_item {-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}
    .small--center {text-align:center; display: block;}
    .sdf {max-width: 100%;}
}

@media (max-width:850px) {
    .sg_3 {width: 100%;}
    .neighbors {-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;}
    .neighbors_item {
    width: 100%;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 20px 0;
    }   
}

@media (max-width:360px) {
    .popup_news {width: 100%;}
}
