* {
	margin:0;
	padding:0;
	box-sizing: border-box;
}
.bt-googlemaps img {
	max-width: none!important;	
}
article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary {
	display: block;
}
html {
	position: relative;
	min-height: 100%;
	background: #f6fcff;
}
body {
	font: 18px/24px 'Calibri', sans-serif;
	color:#525252;
	background: #f6fcff;
}

/* Main
-------------------------------------------------------*/
.mainsection {
	box-shadow: 0px 0px 3px #CCC;
	background: #fff;
}
.maincontent .column {
	padding: 50px 20px;
}
.widesection {
	width:100%;
	position: relative;
}
.container {
	margin: 0 auto;
	width: 1000px;
	position: relative;
}
.flex {
	display:flex;
}
.column {
	flex-grow: 10;
	flex-shrink: 1;
	flex-basis: 0px;
}
.sidebar_block {
	flex-grow: 4;
	flex-basis: 0px;
}
.mainsection .flex {
	justify-content: space-between;
}
.mainsection article {
	margin-bottom: 20px;
}
.bottom_section {
	background: #f3f3f3;
}

/* Typo
-------------------------------------------------------*/
h1, .mod_header {
	line-height: 1em;
	font-size: 30px;
	margin: 0 0 20px;
	font-weight: 600;
}
h2, h3 {
    margin: 0 0 20px;
    font-size: 24px;
    font-weight: 600;
}
h1 + h2 {
	margin: 40px 0 20px;
}
p {
	margin: 0 0 20px;
}
a {
	color:#2596c7;
	text-decoration:none;
}
a:hover {
	text-decoration:underline;
}
article ul, article ol, .category-desc ul, .category-desc ol {
	margin: 0 0 20px;
	padding-left: 20px;
	display:inline-block;
}
article ul li, .category-desc ul li {
	list-style-type: square;
}
.yandex_map {
	margin: 0 0 40px;
}
.mod-title {
	line-height: 1em;
	font-size: 30px;
	margin: 0 0 20px;
}
p .fa {
	font-size: 20px;
    margin-right: 5px;
}
p .fa + a {
	color:#525252;
}
table {
	margin: 0 0 20px;
}
table td {
	padding: 5px 10px;
}
.intro-text {
	margin: 0 0 5px;
}
.item-content {
	margin: 0 0 20px;
}

/* Header
-------------------------------------------------------*/
#header {
	padding: 15px 0;
}
#header .container {
	justify-content: space-between;
	align-items: center;
}
#header p {
	margin: 0;
	line-height: 1.2em;
}
#header .logo {
	flex-grow: 1;
    line-height: 1;
	font-weight: 700;
    padding: 15px 0;
	color:#d34077;
	font-size: 32px;
	text-transform: uppercase;
}
#header .logo a {
	text-decoration:none;
	color:#ca0b03;
}
#header .slogan {
	font-size: 18px;
    display: block;
    padding: 10px 0 0;
    color: #222;
    line-height: 1.2;
    vertical-align: bottom;
    text-transform: none;
    max-width: 280px;
}
.customadres {
	color:#055375;
	flex-basis: 290px;
}
.customphone {
	font-size: 30px;
	letter-spacing: -1px;
	flex-basis: 280px;
	text-align: right;
}
.customphone a {
	display: inline-block;
	margin-left: 5px;
	color:#055375;
	text-decoration:none;
	transition: 0.5s;
}
.customphone a:hover, .customphone a:focus {
	color:#d34077;
	transition: 0.5s;
}
.customphone span {
	font-size: 16px;
	display: inline-block;
    font-weight: 400;
}

/* Footer
-------------------------------------------------------*/
#footer {
	width: 100%;
    padding: 20px 0;
}
#footer .container {
	justify-content: space-between;
	display: flex;
}
#footer p {
	margin: 0;
	line-height: 50px;
}
#footer a {
    transition: 0.5s;
	text-decoration:none;
	color: #525252;
}
#footer a:hover, #footer a:focus {
	transition: 0.5s;
}

/* Blog
-------------------------------------------------------*/
.item-column {
	display:flex;
	flex-wrap: wrap;
}
.items-row {
	margin: 0 0 30px;
}
.item-image {
	flex-basis: 200px;
	flex-grow: 1;
}
.item-image img {
	border: 1px solid #979797;
    box-shadow: 0px 2px 5px #8b8b8b;
}
.item-text {
	flex-basis: 200px;
	flex-grow: 10;
}
.item-date {
	font-weight: 300;
	margin: 0 0 10px;
}
.item-title {
	color: #d23f76;
    font-size: 25px;
    font-weight: 600;
	margin: 0 0 10px;
}
.readmore {
	margin: 0;
}
.item-desc-text {
	margin: 0 0 10px;
}
.contact_item {
	flex-basis: 360px;
    flex-grow: 1;
	display: flex;
    flex-direction: column;
    justify-content: flex-end;
}
article .item-image {
	margin-bottom: 10px;
}

/* Pagination
-------------------------------------------------------*/
.pagination {
    margin: 40px auto 0;
}
.pagination ul {
	display:flex;
}
.pagination li {
	list-style:none;
    text-align: center;
}
.pagination li.disabled {
	display:none;
}
.pagination li a, .pagination li span {
	display:block;
	padding: 0 4px;
	color: #002d64;
}
.pagination li.active span {
	color: #017dc7;
}
.pagination li:hover a {
	text-decoration:none;
	color: #017dc7;
}

/* Sidebar
-------------------------------------------------------*/
.customblock {
	background-repeat: no-repeat;
	line-height: 1em;
	font-size: 26px;
	font-weight: 700;
	text-shadow: 1px 1px 1px #5d5d5d;
	margin: 15px 0;
}
.customblock p {
	margin:0;
}
.customblock a {
	height: 110px;
	color: #fff;
	text-decoration:none;
	display: flex;
	align-items: center;
	justify-content: center;
}
.article-title.active {
	font-weight:700;
}


/* Slider
-------------------------------------------------------*/
.top_slider img {
	vertical-align: top;
}
.slide_title {
	font-weight: 400;
    text-align: center;
    text-transform: uppercase;
}
.slide_description {
	font-weight: 600;
}
.top_slider .owl-controls .owl-prev {
	transform: rotate(180deg);
	background: url("../images/slider_controls.png") no-repeat;
}
.top_slider .owl-controls .owl-next {
	background: url("../images/slider_controls.png") no-repeat;
}
.owl-controls {
	position: absolute;
    top: 35%;
    width: 100%;
}
.owl-nav div {
	position: absolute;
	outline: 0;
	opacity:0.4;
	width: 34px;
	height: 56px;
	text-indent: -9999px;
	overflow: hidden;
	z-index:100;
}
.owl-nav div:hover, .owl-nav div:focus {
	opacity: 0.8;
}
.owl-controls .owl-prev {
	left: 20px;
	transform: rotate(180deg);
	background: url("../images/slider_controls_dark.png") no-repeat 50% 50%/45%;
}
.owl-controls .owl-next {
	right: 20px;
	background: url("../images/slider_controls_dark.png") no-repeat 50% 50%/45%;
}


#header .logo {
    flex-basis: 230px;
}
#header .phone {
	text-align: right;
}
#header .site_desc {
	flex-basis: 300px;
}
#footer p {
	flex-basis: 370px;
}
#footer .phone {
	text-align: right;
}

	
/* Topnav
-------------------------------------------------------*/
#topnav .menu {
	background:#d1dbdd;
	border-bottom: 4px solid #628386;
}
#topnav li {
	list-style:none;
	position:relative;
}
nav ul.menu {
	list-style:none;
	display: flex;
}
nav ul.menu > li {
	flex-grow: 1;
}
nav ul.menu li a {
	text-decoration:none;
	display: block;
}
nav ul.menu > li > a {
	display:block;
	padding: 15px 0;
	font-size:17px;
	color:#304446;
	font-weight: 700;
	text-transform:uppercase;
	line-height: 1em;
	text-shadow: 1px 1px 1px #f5fdff;
	text-align:center;
	transition: 0.5s;
}
nav ul.menu > li:hover > a,
nav ul.menu > li.active > a {
	background:#a3b4b7;
	transition: 0.5s;
	text-shadow: 1px 1px 1px #c9dbde;
}
nav ul.menu > li.active > a {
	cursor: default;
}
/* 2nd Level
-------------------------------------------------------*/
#topnav .nav-child {
	display: none;
	position: absolute;
	z-index: 100;
	background: rgba(209, 219, 221, 0.94);
	min-width: 285px;
}
#topnav .parent:hover ul {
	display:block;
}
#topnav .nav-child a {
	font-size:18px;
	color:#5d5d5d;
	padding: 10px 20px;
}
#topnav .nav-child a:hover {
	background:#5d5d5d;
	color:#FFF;
}
#topnav .nav-child li.active a {
	font-weight: 700;
}
#header .phone {
	font-size: 24px;
}
#header .site_desc {
	font-size: 18px;
}

/* Special
-------------------------------------------------------*/
.specials {
	background: #fbfbfb;
	padding: 0 0 20px;
	border: 3px solid #d34077;
}
.specials .flex {
	justify-content: space-around;
}
.special_container {
	flex-basis:20%;
	text-align: center;
    padding: 0 12px;
    font-size: 16px;
	color: #000;
    font-weight: 700;
	line-height:1.2;
}
.special_image {
	max-width: 80px;
    margin: 40px auto 10px;
}
.special_image img {
	width: 100%;
}


/* Accorderon menu
-------------------------------------------------------*/
.je_acc,
.je_acc ul,
.je_acc ul li,
.je_acc ul li a {
  line-height: 1;
    display: block;
    position: relative;
	color:#525252;
}
.je_acc { width: 100%; }
.je_acc ul ul {display: none; margin:0; padding:0;}
.je_acc img { margin:0 10px 0 0; vertical-align:middle}
.align-right { float: right;}
.holder { width: 0; height: 0; position: absolute; top: 10%; right: -8px;}
.holder::after, .holder::before {display: block; position: absolute; content: ""; width: 6px; height: 6px; right: 20px; z-index: 10; transform: rotate(-135deg);}
.holder::after { top: 12px;}
.holder::before { top: 13px; border-top: 2px solid; border-left: 2px solid; border-top-color: inherit; border-left-color: inherit;}
.je_acc ul ul li a { cursor: pointer;  padding: 8px 10px; z-index: 1; text-decoration: none;}
.je_acc ul ul ul li a { padding-left: 30px;}
.je_acc > ul > li > ul > li:last-child > a,
.je_acc > ul > li > ul > li.last > a { border-bottom: 0;}
.je_acc > ul > li > ul > li.open:last-child > a,
.je_acc > ul > li > ul > li.last.open > a {}
.je_acc > ul > li > ul > li.open:last-child > ul > li:last-child > a { border-bottom: 0;}
.je_acc ul ul li.has-sub > a::after { display: block; position: absolute; content: "";  width: 5px;  height: 5px;  right: 20px;  z-index: 10;  top: 12px; transform: rotate(-135deg);}
.je_acc  ul {
	list-style:none;
}
.je_acc  .parent {
    margin: 5px 0;
    border-radius: 3px;
	position:relative;
	cursor: pointer;
	display: block;	
}
.je_acc .parent > a {
    font-weight: 700;
    color: #4e3a00;
	background: #ffde7c
}
.je_acc > ul > li > a {
	padding: 15px 10px;
	cursor: pointer;
	z-index: 2;
	text-decoration: none;
}
.je_acc .parent > a:hover, .je_acc .parent.open > a {
	background: #d34077;
    color: #FFF;
}
.je_acc .parent ul {
	display: none;
    padding: 10px 15px;
    overflow: hidden;
    background: #f7f7f7;
}
.je_acc ul ul li:hover a, .je_acc ul ul li.active a {
	font-weight: 700;
}

.door-img img {
    height: 350px;
    width: 158px;
}