* {
	margin:0;
	padding:0;
	box-sizing: border-box;
}
article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary {
	display: block;
}
html {
	position: relative;
	min-height: 100%;
	background: #545454;
}
body {
	font: 16px/24px 'Open Sans', sans-serif;
	color:#545454;
	background: #545454;
}

/* Main
-------------------------------------------------------*/
.widesection {
	width:100%;
	position: relative;
}
.main_wrap {
	background: #FFF;
}
.container {
	margin: 0 auto;
	max-width: 1200px;
	position: relative;
	padding: 0 10px;
}
.maincontent {
	margin: 40px 0;
}
.mainsection .container {
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
}
.maincolumn {
	flex-basis: 300px;
    flex-grow: 1;
    max-width: 800px;
}
.sidebar_block {
	flex-basis: 320px;
}
@media (min-width: 769px) {
	.sticky {
		position: fixed;
		top: 0;
	}
	#menu {display:none;}
	.mainsection .container {justify-content: space-between;}
}



/* Typo
-------------------------------------------------------*/
h1 {
	line-height: 1em;
	font-weight: 400;
	margin: 0 0 30px;
	position:relative;
	font-size: 30px;
}
h2 {
	margin: 0 0 30px;
}
.block_title {
	text-transform: uppercase;
    text-align: center;
    padding: 40px 0 20px;
    line-height: 1;
    font-weight: 400;
	font-size: 2.5em;
}
p {
	margin: 0 0 20px;
}
img {
	vertical-align: top;
}
a {
	color:#8abf20;
}
a:hover {
	text-decoration:none;
}
article ul {
	margin: 0 0 20px;
	padding-left: 20px;
}

/* Preheader
-------------------------------------------------------*/
.preheader {
	background: #f4f4f4;
	border-bottom:1px solid #eeeeee;
	padding: 10px 0;
}
.preheader .container {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
}
.preheader .menu {
	display:none;
}
.preheader li {
	list-style:none;
	position:relative;
}
.preheader a {
	text-decoration:none;
	display: block;
}
.preheader .menu > li > a {
	color: #919191;
	font-size: 14px;
	font-weight: 700;
	padding: 5px 15px;
	text-shadow: 1px 1px 1px #FFF;
}
.preheader .menu > li > a:hover,
.preheader .menu > li.active > a {
	color:#000;
}
/* Soc Share
-------------------------------------------------------*/
.social {transition:0.2s;display: flex;flex-wrap: wrap;margin:10px 0;}
.social a { margin:0 3px 0; position:relative; width:30px; height:30px; color:#FFF; text-shadow:none; overflow:hidden; display:flex; text-align:center; cursor:pointer; transition:0.5s; justify-content:center; align-items:center; text-decoration:none;background:#bbbbbb;}
.social a .fa {font-size:20px;}
.social a:first-child {margin-left:0;}
.social a:hover {background: #8abf20;}

@media (min-width: 769px) {
	.preheader .menu {
		display:flex;
	}
	.preheader .container {
		justify-content: space-between;
	}
	.social {
		margin:0;
	}
}

/* Header
-------------------------------------------------------*/
header {
	padding: 20px 0;
	line-height: 1;
}
header .container {
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	display: flex;
}
header p {
	margin: 0;
}
header .logo {
	flex-basis: 400px;
}
header .logo a {
	text-decoration:none;
	display: block;
	color:#545454;
}
.site_name {
	color:#8abf20;
	text-transform: uppercase;
    font-weight: 700;
    font-size: 28px;
    line-height: 1.5;
}
.top_phones, .top-contacts {display:none;}

@media (max-width: 768px) {
	header .logo {
		text-align: center;
	}
}
@media (min-width: 769px) {
header .container {justify-content: space-between;}
.top_phones, .top-contacts {display:block;}
.top_phones {
	position: relative;
	padding-left: 20px;
}
.top_phones a {
	display:block;
	color:#545454;
	font-size: 16px;
	text-decoration:none;
	margin: 5px 0;
}
.top_phones a:hover {
	color: #8abf20;
}
.top-contacts {
	position: relative;
    padding-left: 20px;
}
.top-contacts:before {
	font-family: FontAwesome;
    display: block;
    font-size: 20px;
    content: "\f041";
    position: absolute;
	color: #8abf20;
    left: 0;
	bottom: 0;
}
.top-contacts p {
	margin: 5px 0;
}
}

/* Topnav
-------------------------------------------------------*/
.topnav_section {
	min-height: 55px;	
}
.topnav {
	background: #8abf20;
	z-index:10;
	box-shadow: 0px 3px 0px #699216;
}
.topnav .container {
	display:flex;
	flex-wrap: wrap;
	justify-content:center;
}
.topnav .menu {display:none;}

.topnav a.callback_button {
	font-size:14px;
	text-decoration: none;
	padding: 10px;
	background:#ffd957;
	color:#bf7e20;
	flex-basis: 230px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
	transition: 0.5s;
    text-shadow: 1px 1px 1px #fff1c0;
	box-shadow: 0px 3px 0px #d58c20;
}
.topnav a.callback_button:hover {
	background:#ffca13;
	transition: 0.5s;
}

@media (max-width: 768px) {
a.mobile_menu_btn{cursor:pointer; padding:15px 0; position:relative; z-index:99; width: 100%;}
a.mobile_menu_btn:hover{color: var(--main-yellow);}
a.mobile_menu_btn span{width:40px; height:3px; background:#FFF; display:block; margin:10px auto}
a.mobile_menu_btn::before, a.mobile_menu_btn::after{width:40px; height:3px; content:""; background:#FFF; display:block; margin:0 auto}
.mm-menu {color: #FFF;background:#699216;}
.topnav a.callback_button {
	position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
	height: 50px;
}
}
@media (min-width: 769px) {
.mobile_menu_btn {display:none;}
.topnav .container {justify-content: center;}
.topnav .menu {
	display:flex;
	flex-wrap: wrap;
}
.topnav li {
	list-style:none;
	position:relative;
}
.topnav li:hover {
	
}
.topnav li a,
.topnav li .separator {
	text-decoration:none;
	display: block;
	transition: 0.5s;
}
.topnav .menu > li > a,
.topnav .menu > li > .separator {
	color:#FFF;
	font-size:14px;
	text-transform:uppercase;
	padding: 15px 20px;
	position:relative;
}
.topnav .menu > li > a:after,
.topnav .menu > li > .separator:after {
	background:#76a811;
	height: 20px;
	width:1px;
	content:"";
	display:block;
	position:absolute;
	right:0px;
	top:17px;
}
.menu li:hover > a,
.menu li.active > a,
.menu li:hover > .separator,
.menu li.active > .separator {
	color:#ffd957;
}
.topnav .menu > li:first-child > a {
	padding-left:0;
}
.topnav .menu > li:last-child > a:after {
	display:none;
}

/* 2nd Level
-------------------------------------------------------*/
.nav-child {
	display: none;
	position: absolute;
    z-index: 100;
    background: #70a00f;
    min-width: 220px;
}
.parent:hover > .nav-child {
	display: flex;
    flex-wrap: wrap;
    width: 250px;
}
.nav-child li {
	width: 100%;
}
.nav-child .nav-child {
	right: 0;
	display: none;
    flex-wrap: wrap;
    width: 250px;
    transform: translate(100%, -35px);
	background: #649403;	
}
.nav-child .separator:focus-within + .nav-child, 
.nav-child .separator:hover + .nav-child {
	display: flex;
}
.nav-child a,
.nav-child .separator {
	position: relative;
	padding: 10px;
	display: flex;
	font-size: 16px;
    color: #FFF;
    line-height: 1;
}
.nav-child a:after,
.nav-child .separator:after {
    position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
    height: 1px;
    content: "";
    display: block;
    background: #7eb315;    
}
.nav-child li:last-child a:after {
	display:none;
}
}
@media (max-width:1060px) {
    .topnav a.callback_button {flex-grow: 1;}
}
@media (min-width:1060px) {
	.topnav .container {justify-content: space-between;}
	.topnav a.callback_button {flex-basis: 230px;}
}