/*  
Content:
- Fonts
- Reset
- General Styles
- Components
-- Social-icons
-- Breadcrumb
-- Navigation
- Case
- Tables
- Flex
- Box
- Flex align
- Flex additional properties 
- Row / col
- Hidden / Visible
- Align
- Padding Margin
- Styling
- Colors
- Mobility
- Menu
- Buttons
- Structure
-- Size
-- Header
-- Thumbnails
-- Footer
- POP-UP
- FORM
- CLEAR
- WORDPRESS POST FORMATTING
- Wordpres Post

К данному набору стилей есть комментарии по использованию, пользуйтесь поиском по строке "/*", чтобы их прочитать.

Общие моменты:

Брейкпойнты:
s - small - до 400px
m - medium - до 768px
l - large - до 1200px

Синтаксис большинства классов имеет вид:
свойство[-брейкпойнт][-номер вариации класса]

Именование блок__элемент необходимо, чтобы избежать случайного влияния стилевой конструкции .блок .элемент на элементы ниже по дереву. Но некоторые элементы, можно быть уверенными, не вкладываются друг в друга
.img
.btn
.link
.svg

* БЭМби (BEM-B) - ранняя версия для личного пользования

*/

/*		Fonts
*************************************************************************************/

@font-face {
  font-family: 'FontAwesome';
  src: url('../fonts/fontawesome-webfont.eot?v=4.3.0');
  src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.3.0') format('embedded-opentype'), url('../fonts/fontawesome-webfont.woff?v=4.3.0') format('woff');
  font-weight: normal;
  font-style: normal;
}
.fa {
	font-family: FontAwesome;
}

/************************************************************************************
RESET
*************************************************************************************/

/* reset */
html, body, address, blockquote, div, dl, form, h1, h2, h3, h4, h5, h6, ol, p, pre, table, ul,
dd, dt, li, tbody, td, tfoot, th, thead, tr, button, del, ins, map, object,
a, abbr, acronym, b, bdo, big, br, cite, code, dfn, em, i, img, kbd, q, samp, small, span,
strong, sub, sup, tt, var, legend, fieldset, figure {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}

img, fieldset {
	border: 0;
}

button {
	background: transparent;
}

/* set html5 elements to block */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { 
    display: block;
}

/* set img max-width */
img {
	max-width: 100%;
	height: auto;
	display: block;
}
/* ie 8 img max-width */
@media \0screen {
  img { width: auto;}
}

iframe {
	max-width: 100%;
}

/************************************************************************************
GENERAL STYLES
*************************************************************************************/

html {
	font-size:10px;
	line-height:1.5em;
}
body {
	font: 14px/150% Arial, Helvetica, sans-serif;
	background-color: white;
	color: #333;
	top: 0px;
	width: 100%;
	bottom: 0px;
}
a {
	text-decoration: none;
	outline: none;
}
a:hover {
	text-decoration: underline;
}
article p {
	text-align: justify;
}
p {
	margin: 0 0 0.1em;
	padding: 0;
}
b {
	font-weight: bold;
}
i {
	font-style: italic;
}
blockquote, quote {
	font-style: italic;
	display: inline-block;
	margin-left: 15px;
}
ul, ol {
	margin-left: 24px;
	margin-bottom: 1em;
}

sup {
	vertical-align: super;
	font-size: .6em;
	line-height: 1;
}

* {
	box-sizing: border-box;
}


.back {
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	z-index: 1;
	background-size: cover !important;
	background-repeat: no-repeat;
	object-fit: cover;
}
.back__img {
	object-fit: cover;
	min-width: 100%;
	min-height: 100%;
}
.parallax {
	background-attachment: fixed;
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
}

.relative {
	position: relative;
}
.absolute {
	position: absolute;
}

.load {
	background-color: white;
	position:fixed;
	top: 0px;
	left: 0px;
	height: 100%;
	width: 100%;
	z-index: 9;
	text-align: center;
	opacity: 1;
	transition: all 0.5s ease 0s; 
}
.load img {
	max-width: 200px;
	opacity: 0;
	transition: all 0.5s ease 0s;
}

.list .item {
	margin-right: 10px;
	vertical-align: middle;
}
.list .item:last-child {
	margin-right: 0;
}

body .overflow-hidden {
	overflow: hidden;
}
body .overflow-visible {
	overflow: visible;
}

/************************************************************************************
Components

Компонент может содержать список, например, меню. Для элементов списка, которые недостаточно богаты на собственные элементы, чтобы представить их отдельными компонентами,
используем префикс el_
Тогда запись вроде header-menu__item можно записать как el_header-menu

*************************************************************************************/

.close {
	background-size: contain;
	height: 12px;
	width: 12px;
	position: absolute;
	top: 8px;
	right: 12px;
	cursor: pointer;
	font-size: 18px;
}

/*	Social-icons
*************************************************************************************/

.social-icons {
	display: flex;
	width: 100%;
	height: 100%;
	align-items: center;
	justify-content: center;
	text-align: center;
	flex-wrap: wrap;
	align-self: stretch;
}
.el_social-icons__icon {
	margin-right: 4px;
	width: 36px;
	height: 36px;
	transition: all 0.2s linear 0s;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
}
.el_social-icons:hover .el_social-icons__icon {
	background-color: #cccaca;
}
.el_social-icons:last-child {
	margin-right: 0px;
}
.el_social-icons__icon.--ig {
	background-image: url(../images/icons/soc-ig.png);
}
.el_social-icons__icon.--fb {
	background-image: url(../images/icons/soc-fb.png);
}
.el_social-icons__icon.--ok {
	background-image: url(../images/icons/soc-ok.png);
}
.el_social-icons__icon.--yt {
	background-image: url(../images/icons/soc-yt.png);
}
.el_social-icons__icon.--vk {
	background-image: url(../images/icons/soc-vk.png);
}

.social-icons--small .el_social-icons__icon { 
	width: 26px;
	height: 26px;
}

.social-icons--big .el_social-icons__icon { 
	width: 46px;
	height: 46px;
}

/*	Breadcrumb
*************************************************************************************/

.breadcrumb ul {
	list-style-type: none;
	display: inline-block;
	margin: 0;
}
.breadcrumb ul li {
	display: inline-block;
	padding: 6px;
}
.breadcrumb, .breadcrumb a {
	color: #777;	
}

/*	Navigation
*************************************************************************************/

.page-nav {
	clear: both;
	text-align: center;
	margin-bottom: 10px;
}
.page-nav a, .page-nav span {
	display: inline-block;
	zoom:1;
	*display:inline;
	text-align: center;
}

.post-nav {
	padding: 15px;
	clear: both;
}
.post-nav span {
	width: 47%;
}
.post-nav .prev {
	float: left;
}
.post-nav .next {
	float: right;
	text-align: right;
}
/* post nav arrow */
.post-nav span span {
	width: auto;
	float: left;
	width: 24px;
	text-align: center;
	margin-right: 10px;
	height: 24px; 
}
.post-nav .next span {
	float: right;
	margin-left: 10px;
	margin-right: 0;
}

/*		Case
*************************************************************************************/

.case {
	display: block;
}
.case:after {
    content: '';
    clear: both;
    display: block;
}
.case > .item {
	display: block;
	float: left;
}

@media (max-width: 1200px) {

	.case-l {
		display: block;
	}
	.case-l:after {
	    content: '';
	    clear: both;
	    display: block;
	}
	.case-l > .item {
		display: block;
		float: left;
	}

}

@media (max-width: 768px) {

	.case-m {
		display: block;
	}
	.case-m:after {
	    content: '';
	    clear: both;
	    display: block;
	}
	.case-m > .item {
		display: block;
		float: left;
	}

}

@media (max-width: 400px) {

	.case-s {
		display: block;
	}
	.case-s:after {
	    content: '';
	    clear: both;
	    display: block;
	}
	.case-s > .item {
		display: block;
		float: left;
	}

}

/*		Tables
*************************************************************************************/

.table {
	display: table;
	width: 100%;
	border-collapse: collapse;
}
.table-fixed {
	table-layout: fixed; /* чтобы работала ширина ячеек */
}
.table-fixed .cell {
	width: auto; /* чтобы таблица сохраняла гибкость */
}
.table > .row { /* избегаем конфликта с row */
	display: table-row;
}
.cell {
	display: table-cell;
	vertical-align: middle;
	text-align: center;
	width: 999px;
	padding: 0px 5px;
}
.table > .item {
	display: table-cell;
	vertical-align: middle;
	text-align: center;
	width: 999px;
	padding: 0px 5px;
}

@media (max-width: 1200px) {

	.table-l {
		display: table;
		width: 100%;
		border-collapse: collapse;
	}
	.table-l > .item {
		display: table-cell;
		vertical-align: middle;
		text-align: center;
		width: 999px;
		padding: 0px 5px;
	}

}

@media (max-width: 768px) {

	.table-m {
		display: table;
		width: 100%;
		border-collapse: collapse;
	}
	.table-m > .item {
		display: table-cell;
		vertical-align: middle;
		text-align: center;
		width: 999px;
		padding: 0px 5px;
	}

}

@media (max-width: 400px) {

	.table-s {
		display: table;
		width: 100%;
		border-collapse: collapse;
	}
	.table-s > .item {
		display: table-cell;
		vertical-align: middle;
		text-align: center;
		width: 999px;
		padding: 0px 5px;
	}

}

/*		Flex
*************************************************************************************/

.flex {
    display: -webkit-box;
    display: -ms-flexbox;
	display: flex;	
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: flex-start;
}
.flex > * {
	max-width: 100%;
}
.flex > [class*="col-"] {
	align-self: stretch;
}

@media (max-width: 1200px) {
	.flex-l {
	    display: -webkit-box;
	    display: -ms-flexbox;
		display: flex;	
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		align-items: flex-start;
		justify-content: flex-start;
	}
}
@media (max-width: 768px) {
	.flex-m {
	    display: -webkit-box;
	    display: -ms-flexbox;
		display: flex;	
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		align-items: flex-start;
		justify-content: flex-start;
	}
}
@media (max-width: 400px) {
	.flex-s {
	    display: -webkit-box;
	    display: -ms-flexbox;
		display: flex;	
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		align-items: flex-start;
		justify-content: flex-start;
	}
}

/*		Box - элемент, заполняющий родителя, внутри всё центрируется по вертикали и горизонтали
*************************************************************************************/

.box {
	display: flex;
	width: 100%;
	height: 100%;
	align-items: center;
	align-content: center;
	justify-content: center;
	text-align: center;
	flex-wrap: wrap;
	align-self: stretch;
}
.box.absolute {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	object-fit: cover;
}
.box[class*="align-middle"] {
	align-items:center;
	-webkit-align-items:center;
	align-content: center;
}
.flex > .box {
	height: auto; /* в старых Хром и Гугл height 100 внутри flex нарушает расчёт высоты */
}
.box > .box {
	height: auto; /* в старых Хром и Гугл height 100 внутри flex нарушает расчёт высоты */
}
.flex > .box:not([class*="col-"]), .box > .box:not([class*="col-"]) {
	width: auto;
}
/* временно попробуем без этого куска
@media (min-width: 769px) and (max-width: 1200px) {
	.flex > .box:not([class*="col-l"]), .box > .box:not([class*="col-l"]) {
		width: auto;
	}
}
@media (min-width: 401px) and (max-width: 768px) {
	.flex > .box:not([class*="col-m"]):not([class*="col-l"]), .box > .box:not([class*="col-m"]):not([class*="col-l"]) {
		width: auto;
	}	
}
@media (max-width: 400px) {
	.flex > .box:not([class*="col-s"]):not([class*="col-m"]):not([class*="col-l"]), .box > .box:not([class*="col-s"]):not([class*="col-m"]):not([class*="col-l"]) {
		width: auto;
	}	
}
*/
.flex-column > .box {
	width: 100%;
}

/*		Flex align
*************************************************************************************/

.flex[class*="align-left"] {
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
}
.flex[class*="align-right"] {
	-webkit-justify-content: flex-end;
	justify-content: flex-end;
}
.flex[class*="align-center"] {
	-webkit-justify-content: center;
	justify-content: center;
}
.align-between {
	-webkit-justify-content: space-between;
	justify-content: space-between;
}
.align-evenly {
	-webkit-justify-content: space-evenly;
	justify-content: space-evenly;
}
.flex[class*="align-top"], .box[class*="align-top"], [class*="col-"][class*="align-top"] {
	align-items: start;
	-webkit-align-items: start;
	align-content: start;
}
.flex[class*="align-bottom"], .box[class*="align-bottom"], [class*="col-"][class*="align-bottom"] {
	align-items: end;
	-webkit-align-items: end;
	align-content: end;
}
.flex[class*="align-middle"], .box[class*="align-middle"], [class*="col-"][class*="align-middle"] {
	align-items: center;
	-webkit-align-items: center;
	align-content: center;
}
.align-stretch {
	align-items:stretch;
	-webkit-align-items:stretch;
	align-content: stretch;
}

/*		Flex additional properties 
*************************************************************************************/

.flex-nowrap {
	-webkit-flex-wrap: nowrap;
	-moz-flex-wrap: nowrap;
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
}
.flex-column {
	flex-direction: column;
}

/*		Row / col
синтаксис класса: .col-число
если число от 1 до 10, например, 6 - это значит, шесть десятых ширины
если число больше 10 и кратно 5, например, 35 - это значит, 35% ширины
если число больше и не кратно 5, наприер, 32 - это значит, три вторых ширины
*************************************************************************************/

/*  отступы между ячейками сетки  */
.gap-wrap { 
	overflow: hidden;
}
.gap {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -10px -20px;
}
.gap > [class*="col-"] {
	padding: 0 10px 20px;
}

.fullwidth {
	width: 100%;
	max-width: 100%;
	height: auto;
	max-height: none;
}
.fullheight {
	height: 100%;
	max-height: 100%;
}

.row {
	width: 100%;	
	display: block;
	position: relative;
	z-index: 1;
	background-color: transparent;
	overflow: hidden;
}
.row:after {
	content: '';
	clear: both;
	display: block;
}
.col {  /* базовая ширина контента */
    width: 100%;
    margin: 0px auto;
    position: relative;
	z-index: 2;
	display: block;
	text-align: left;
	max-width: 1200px;
	width: 100%;
	padding: 0px 20px;
	height: 100%;
}
.col.flex {
    display: -webkit-box;
    display: -ms-flexbox;
	display: flex;	
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: flex-start;
}
.col:after {
	content: '';
	display: block;
	clear: both;
}
[class*="col-"] {
	width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
	display: flex;	
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: flex-start;
}
*:not(.flex, .box, [class*="col-"], .col) > [class*="col-"] {
	display: block;
	float: left;
}

.col-0 {
	width: auto;
}
.col-1 {
	width: 100%;
}
.col-2 {
	width: 50%;
}
.col-2:nth-child(2n+1) {
	clear:both;
}
.col-2:nth-last-child(-n+2) {
	margin-bottom: 0px !important;
}
.col-3 {
	width: calc(100%/3);
}
.col-3:nth-child(3n+1) {
	clear:both;
}
.col-4 {
	width: 25%;
}
.col-4:nth-child(4n+1) {
	clear:both;
}
.col-5 {
	width: 20%;
}
.col-6 {
	width: calc(100%/6);
}
.col-23 {
	width: calc(100%/3*2);
}
.col-10 {
	width: 10%;
}
.col-15 {
	width: 15%;
}
.col-30 {
	width: 30%;
}
.col-40 {
	width: 40%;
}
.col-60 {
	width: 60%;
}
.col-75 {
	width: 75%;
}
.col-80 {
	width: 80%;
}
.col-85 {
	width: 85%;
}

@media (max-width: 1200px) {

	*:not(.flex, .box) > [class*="col-l"] {
		display: block;
		float: left;
	}

	.col-l-1 {
		width: 100%;
	}
	.col-l-2 {
		width: 50%;
	}
	.col-l-3 {
		width: calc(100%/3);
	}
	.col-l-4 {
		width: 25%;
	}
	.col-l-40 {
		width: 40%;
	}
	.col-l-60 {
		width: 60%;
	}
	.col-l-23 {
		width: calc(100%/3*2);
	}
	.col-l-75 {
		width: 75%;
	}

	.row-l {
		width: 100%;	
		display: block;
	}
	.row-l:after {
		content: '';
		clear: both;
		display: block;
	}
	.row-l > .item {
		float: left;
		display: block;
		width: auto;
		float: left;
	}

}
@media (max-width: 768px) {

	*:not(.flex, .box) > [class*="col-m"] {
		display: block;
		float: left;
	}

	.col-m-1 {
		width: 100%;
	}
	.col-m-2 {
		width: 50%;
	}
	.col-m-3 {
		width: calc(100%/3);
	}
	.col-m-4 {
		width: 25%;
	}
	.col-m-40 {
		width: 40%;
	}
	.col-m-60 {
		width: 60%;
	}
	.col-m-23 {
		width: calc(100%/3*2);
	}
	.col-m-75 {
		width: 75%;
	}

	.row-m {
		width: 100%;	
		display: block;
	}
	.row-m:after {
		content: '';
		clear: both;
		display: block;
	}
	.row-m > .item {
		float: left;
		display: block;
		width: auto;
		float: left;
	}

}
@media (max-width: 400px) {

	*:not(.flex, .box) > [class*="col-s"] {
		display: block;
		float: left;
	}

	.col-s-1 {
		width: 100%;
	}
	.col-s-2 {
		width: 50%;
	}
	.col-s-3 {
		width: calc(100%/3);
	}

	.row-s {
		width: 100%;	
		display: block;
	}
	.row-s:after {
		content: '';
		clear: both;
		display: block;
	}
	.row-s > .item {
		float: left;
		display: block;
		width: auto;
		float: left;
	}

}
@media print {

	.col-p-1 {
		width: 100%;
		display: block;
		float: none;
	}
	.col-p-2 {
		width: 50%;
		display: block;
		float: left;
	}

}

/*		Hidden / Visible
*************************************************************************************/

.transparent {
	opacity: 0;
	visibility: hidden;
}
.opaque {
	opacity: 1;
	visibility: visible;
}
.hidden {
	display: none;
}
.visible {
	display: block;
}
.cell.visible {
	display: table-cell;
}
.table.visible {
	display: table;
}
.flex.visible, .box.visible {
    display: -webkit-box;
    display: -ms-flexbox;
	display: flex;	
}

@media (max-width: 1200px) {

	.hidden-l {
		display: none;
	}
	.visible-l {
		display: block;
	}
	.table.visible-l {
		display: table;
	}
	.cell.visible-l {
		display: table-cell;
	}
	.flex.visible-l, .box.visible-l {
	    display: -webkit-box;
	    display: -ms-flexbox;
		display: flex;	
	}
}

@media (max-width: 768px) {

	.hidden-m {
		display: none;
	}
	.visible-m {
		display: block;
	}
	.table.visible-m {
		display: table;
	}
	.cell.visible-m {
		display: table-cell;
	}
	.flex.visible-m, .box.visible-m {
	    display: -webkit-box;
	    display: -ms-flexbox;
		display: flex;	
	}
}

@media (max-width: 400px) {

	.hidden-s {
		display: none;
	}
	.visible-s {
		display: block;
	}
	.table.visible-s {
		display: table;
	}
	.cell.visible-s {
		display: table-cell;
	}
	.flex.visible-s, .box.visible-s {
	    display: -webkit-box;
	    display: -ms-flexbox;
		display: flex;	
	}
}

/*		Align
*************************************************************************************/

.center {
	margin-left: auto;
	margin-right: auto;
}
.right {
	margin-left: auto;
}
.float-left {
	float: left;
}
.float-right {
	float: right;
}
.align-left {
	text-align: left;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
}
.align-right {
	text-align: right;
	-webkit-justify-content: flex-end;
	justify-content: flex-end;
}
.align-center {
	text-align: center;
	-webkit-justify-content: center;
	justify-content: center;
}
.align-top {
	vertical-align: top;
}
.align-bottom {
	vertical-align: bottom;
}
.align-middle {
	vertical-align: middle;
}

@media (max-width: 1200px) {
	.center-l {
		margin: 0px auto;
	}
	.left-l {
		float: left;
	}
	.right-l {
		float: right;
	}
	.align-left-l {
		text-align: left;
	}
	.align-right-l {
		text-align: right;
	}
	.align-center-l {
		text-align: center;
	}
	.align-top-l {
		vertical-align: top;
	}
	.align-bottom-l {
		vertical-align: bottom;
	}
	.align-middle-l {
		vertical-align: middle;
	}
}
@media (max-width: 768px) {
	.center-m {
		margin: 0px auto;
	}
	.left-m {
		float: left;
	}
	.right-m {
		float: right;
	}
	.align-left-m {
		text-align: left;
	}
	.align-right-m {
		text-align: right;
	}
	.align-center-m {
		text-align: center;
	}
	.align-top-m {
		vertical-align: top;
	}
	.align-bottom-m {
		vertical-align: bottom;
	}
	.align-middle-m {
		vertical-align: middle;
	}
}
@media (max-width: 400px) {
	.center-s {
		margin: 0px auto;
	}
	.left-s {
		float: left;
	}
	.right-s {
		float: right;
	}
	.align-left-s {
		text-align: left;
	}
	.align-right-s {
		text-align: right;
	}
	.align-center-s {
		text-align: center;
	}
	.align-top-s {
		vertical-align: top;
	}
	.align-bottom-s {
		vertical-align: bottom;
	}
	.align-middle-s {
		vertical-align: middle;
	}
}

/*		Padding / Margin
*************************************************************************************/

.padding-0 {
	padding: 0;
}
.padding, .padding-1 {
	padding: 10px;
}
.padding-2 {
	padding: 20px;
}
.padding-3 {
	padding: 30px;
}

.padding-x-0 {
	padding-left: 0;
	padding-right: 0;
}
.padding-x, .padding-x-1 {
	padding-left: 10px;
	padding-right: 10px;
}
.padding-x-2 {
	padding-left: 20px;
	padding-right: 20px;
}
.padding-left-0 {
	padding-left: 0;
}
.padding-left, .padding-left-1 {
	padding-left: 10px;
}
.padding-left-2 {
	padding-left: 20px;
}
.padding-right-0 {
	padding-right: 0;
}
.padding-right, .padding-right-1  {
	padding-right: 10px;
}
.padding-right-2 {
	padding-right: 20px;
}

.padding-y-1 {
	padding-top: 10px;
	padding-bottom: 10px;
}
.padding-y-2 {
	padding-top: 20px;
	padding-bottom: 20px;
}
.padding-top-0 {
	padding-top: 0;
}
.padding-top, .padding-top-1 {
	padding-top: 10px;
}
.padding-top-2 {
	padding-top: 20px;
}
.padding-bottom-0 {
	padding-bottom: 0;
}
.padding-bottom, .padding-bottom-1  {
	padding-bottom: 10px;
}
.padding-bottom-2 {
	padding-bottom: 20px;
}

.margin-left, .margin-left-1 {
	margin-left: 20px;
}
.margin-left-0 {
	margin-left: 0;
}
.margin-right, .margin-right-1  {
	margin-right: 20px;
}
.margin-right-0 {
	margin-right: 0;
}
.margin-top, .margin-top-1 {
	margin-top: 20px;
}
.margin-top-0 {
	margin-top: 0;
}
.margin-top-2 {
	margin-top: 40px;
}
.margin-bottom, .margin-bottom-1  {
	margin-bottom: 20px;
}
.margin-bottom-0 {
	margin-bottom: 0;
}
.margin-bottom-2 {
	margin-bottom: 40px;
}

.-padding-child {
	padding: 0px;
}
.-padding-child > .item {
	padding: 20px;	
}
.padding-hor--small.-padding-child > .item {
	padding-left: 10px;
	padding-right: 10px;
}
.padding-hor.-padding-child > .item {
	padding-left: 20px;
	padding-right: 20px;
}

.-padding-family {
	padding: 0px;
}
.-padding-family > .item {
	padding: 20px;	
}
.padding-hor--small.-padding-family {
	padding-left: 10px;
	padding-right: 10px;
}
.padding-hor--small.-padding-family > .item {
	padding-left: 10px;
	padding-right: 10px;
}
.padding-hor.-padding-family {
	padding-left: 20px;
	padding-right: 20px;
}
.padding-hor.-padding-family > .item {
	padding-left: 20px;
	padding-right: 20px;
}

@media (max-width: 1200px) {
	.padding-l, .padding-l-1 {
		padding: 10px;
	}
	.padding-l-0 {
		padding: 0;
	}
	.padding-l-2 {
		padding: 20px;
	}
	.padding-x-l, .padding-x-l-1 {
		padding-left: 10px;
		padding-right: 10px;
	}
	.padding-x-l-0 {
		padding-left: 0;
		padding-right: 0;
	}
	.padding-x-l-2 {
		padding-left: 20px;
		padding-right: 20px;
	}
	.padding-left-l, .padding-left-l-1 {
		padding-top: 10px;
	}
	.padding-left-l-0 {
		padding-left: 0;
	}
	.padding-left-l-2 {
		padding-left: 20px;
	}
	.padding-right-l, .padding-right-l-1  {
		padding-right: 10px;
	}
	.padding-right-l-0 {
		padding-right: 0;
	}
	.padding-right-l-2 {
		padding-right: 20px;
	}
	.padding-top-l, .padding-top-l-1 {
		padding-top: 10px;
	}
	.padding-top-l-0 {
		padding-bottom: 0;
	}
	.padding-top-l-2 {
		padding-bottom: 20px;
	}
	.padding-bottom-l, .padding-bottom-l-1  {
		padding-bottom: 10px;
	}
	.padding-bottom-l-0 {
		padding-bottom: 0;
	}
	.padding-bottom-l-2 {
		padding-bottom: 20px;
	}

	.margin-left-l, .margin-left-l-1 {
		margin-top: 20px;
	}
	.margin-left-l-0 {
		margin-left: 0;
	}
	.margin-right-l, .margin-right-l-1  {
		margin-right: 20px;
	}
	.margin-right-l-0 {
		margin-right: 0;
	}
	.margin-top-l, .margin-top-l-1 {
		margin-top: 20px;
	}
	.margin-top-l-0 {
		margin-bottom: 0;
	}
	.margin-bottom-l, .margin-bottom-l-1  {
		margin-bottom: 20px;
	}
	.margin-bottom-l-0 {
		margin-bottom: 0;
	}
}
@media (max-width: 768px) {
	.padding-m, .padding-m-1 {
		padding: 10px;
	}
	.padding-m-0 {
		padding: 0;
	}
	.padding-m-2 {
		padding: 20px;
	}
	.padding-x-m, .padding-x-m-1 {
		padding-left: 10px;
		padding-right: 10px;
	}
	.padding-x-m-0 {
		padding-left: 0;
		padding-right: 0;
	}
	.padding-x-m-2 {
		padding-left: 20px;
		padding-right: 20px;
	}
	.padding-left-m, .padding-left-m-1 {
		padding-top: 10px;
	}
	.padding-left-m-0 {
		padding-left: 0;
	}
	.padding-left-m-2 {
		padding-left: 20px;
	}
	.padding-right-m, .padding-right-m-1  {
		padding-right: 10px;
	}
	.padding-right-m-0 {
		padding-right: 0;
	}
	.padding-right-m-2 {
		padding-right: 20px;
	}
	.padding-top-m, .padding-top-m-1 {
		padding-top: 10px;
	}
	.padding-top-m-0 {
		padding-bottom: 0;
	}
	.padding-top-m-2 {
		padding-bottom: 20px;
	}
	.padding-bottom-m, .padding-bottom-m-1  {
		padding-bottom: 10px;
	}
	.padding-bottom-m-0 {
		padding-bottom: 0;
	}
	.padding-bottom-m-2 {
		padding-bottom: 20px;
	}

	.margin-left-m, .margin-left-m-1 {
		margin-top: 20px;
	}
	.margin-left-m-0 {
		margin-left: 0;
	}
	.margin-right-m, .margin-right-m-1  {
		margin-right: 20px;
	}
	.margin-right-m-0 {
		margin-right: 0;
	}
	.margin-top-m, .margin-top-m-1 {
		margin-top: 20px;
	}
	.margin-top-m-0 {
		margin-bottom: 0;
	}
	.margin-bottom-m, .margin-bottom-m-1  {
		margin-bottom: 20px;
	}
	.margin-bottom-m-0 {
		margin-bottom: 0;
	}
}
@media (max-width: 400px) {
	.padding-s, .padding-s-1 {
		padding: 10px;
	}
	.padding-s-0 {
		padding: 0;
	}
	.padding-s-2 {
		padding: 20px;
	}
	.padding-x-s, .padding-x-s-1 {
		padding-left: 10px;
		padding-right: 10px;
	}
	.padding-x-s-0 {
		padding-left: 0;
		padding-right: 0;
	}
	.padding-x-s-2 {
		padding-left: 20px;
		padding-right: 20px;
	}
	.padding-left-s, .padding-left-s-1 {
		padding-top: 10px;
	}
	.padding-left-s-0 {
		padding-left: 0;
	}
	.padding-left-s-2 {
		padding-left: 20px;
	}
	.padding-right-s, .padding-right-s-1  {
		padding-right: 10px;
	}
	.padding-right-s-0 {
		padding-right: 0;
	}
	.padding-right-s-2 {
		padding-right: 20px;
	}
	.padding-top-s, .padding-top-s-1 {
		padding-top: 10px;
	}
	.padding-top-s-0 {
		padding-bottom: 0;
	}
	.padding-top-s-2 {
		padding-bottom: 20px;
	}
	.padding-bottom-s, .padding-bottom-s-1  {
		padding-bottom: 10px;
	}
	.padding-bottom-s-0 {
		padding-bottom: 0;
	}
	.padding-bottom-s-2 {
		padding-bottom: 20px;
	}

	.margin-left-s, .margin-left-s-1 {
		margin-top: 20px;
	}
	.margin-left-s-0 {
		margin-left: 0;
	}
	.margin-right-s, .margin-right-s-1  {
		margin-right: 20px;
	}
	.margin-right-s-0 {
		margin-right: 0;
	}
	.margin-top-s, .margin-top-s-1 {
		margin-top: 20px;
	}
	.margin-top-s-0 {
		margin-bottom: 0;
	}
	.margin-bottom-s, .margin-bottom-s-1  {
		margin-bottom: 20px;
	}
	.margin-bottom-s-0 {
		margin-bottom: 0;
	}
}

/*		Styling
*************************************************************************************/

.boxshadow {
	box-shadow: -3px 3px 5px #9d9d9d;
}
.textshadow {
	text-shadow: -1px 1px 5px #373737;
}
.border {
	border: 2px solid green;
}
.border-2 {
	border: 2px solid green;
}
.border-white {
	border: 2px solid white;
}
.border-bottom {
	border-bottom: 1px solid white;
}
.radius {
	border-radius: 20px;
}
.radius-circle {
	border-radius: 100%;
}

/*		Colors
*************************************************************************************/

body .back-clr {
	background-color: green;
}
body .back-clr-black {
	background-color: #333;
}
body .back-clr-white {
	background-color: white;
}
body .clr {
	color: green;
}
body .clr-white {
	color: white;
}
body .clr-black {
	color: #333;
}
body .clr-red {
	color: #f00;
}
body .clr-green {
	color: #239036;
}


/*		Mobility
*************************************************************************************/

.mobile-menu-btn {
	cursor: pointer;
	position:relative;
	z-index: 5;
	transition: all 0.3s ease 0s;
	font-size: 28px;
	color: #666;
	margin-top: 10px;
}

.mobile-menu {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	transform: translateX(-100%);
	z-index: 2;
	transition: all 0.3s linear 0s;
	overflow: hidden;
}
.mobile-menu.active {
	transform: translateX(0);
}

/*	menu
*************************************************************************************/

nav ul, nav ol {
	margin-left: 0px;
	margin-bottom: 0em;
	display: table-cell;
}

nav ul li {
	position: relative;
	display: table-cell;
	width: 999px;
	vertical-align: middle;
	padding: 0px;
}
nav ul li a {
	width: 999px;
	vertical-align: middle;
	display: table-cell;
	text-align: center;
	font-size: 18px;
	height: 100px;
	transition: all 0.3s linear 0s;
	color: white;
}
nav ul li ul {
	position: absolute;
	top: 50px;
	left: 0px;
	height: 0px;
	transition: all 0.2s linear 0.1s;
	margin-left: 0px;
	overflow: hidden;
	width: 150%;
}
nav ul li ul li {
	display: block !important;
	width: 100% !important;
}
nav ul li ul li a { 
	padding: 5px 15px;
}
nav ul li:last-child ul {
	left: none;
	right: 0px;
}
nav ul li:hover ul {
	height: auto;
}

/*	Buttons
*************************************************************************************/

[type=reset], [type=submit], .btn {
	background: #239036;
	color: #fff;
	font-size: 1.6rem;
	padding: 10px;
	max-width: 200px;
	width: 100%;
	text-align: center;
	border: 0;
	cursor: pointer;
	display: inline-block;
	transition: all .2s linear 0s;
}
.btn--large {
	font-size: 1.8rem;
	padding: 10px 15px;
	max-width: 250px;
}
.btn--fullwidth {
	max-width: 100%;
}
.btn:visited {
	color: #fff;
}
[type=reset]:hover, [type=submit]:hover, .btn:hover {
	background: #239036;
	text-decoration: none;
}

/************************************************************************************
STRUCTURE
*************************************************************************************/

/*	Size
*************************************************************************************/

h1, h2, h3, h4, h5, h6 {
	line-height: 1.4em;
	margin: 1rem 0 1rem;
}
[class*="size-"] {
	line-height: 1.2;
}
.suptitle {

}
.size-7 {
	font-size: 5.6rem;
}
h1, .size-6 {
	font-size: 4.4rem;
}
h2, .size-5 {
	font-size: 3.4rem;
}
h3, .size-4 {
	font-size: 2.6rem;
}
h4, .subtitle, .size-3 {
	font-size: 2rem;
}
h5, .size-2 {
	font-size: 1.6rem;
}
h6, .size-1 {
	font-size: 1.4rem;
}

.bold {
	font-weight: bold;
}

@media screen and (max-width: 768px) {

	.size-7 {
		font-size: 4.8rem;
	}
	h1, .size-6 {
		font-size: 3.8rem;
	}
	h2, .size-5 {
		font-size: 3rem;
	}
	h3, .size-4 {
		font-size: 2.4rem;
	}

	.size-m-5 {
		font-size: 3.4rem;
	}
	.size-m-4 {
		font-size: 2.6rem;
	}

}
@media screen and (max-width: 400px) {

	body {
		font-size: 1.4rem;
	}
	h1, .size-6 {
	    font-size: 3.4rem;
	}
	h2, .size-5 {
	    font-size: 2.6rem;
	}
	h3, .size-4 {
		font-size: 2rem;
	}
	h4, .size-3 {
		font-size: 1.6rem;
	}
	h5, .size-2 {
		font-size: 1.4rem;
	}
	.size-1 {
		font-size: 1rem;
	}

	.size-s-5 {
		font-size: 3.4rem;
	}
	.size-s-4 {
		font-size: 2.6rem;
	}
	.size-s-3 {
		font-size: 2rem;
	}

}

/*	Header
*************************************************************************************/

#header #searchform {
	position: absolute;
	right: 0;
	top: 0px;
}

#header {
	position: relative;
}
.logo {
	width: auto;
	margin: 20px 20px 10px 0px;
	display: inline-block;
	height: 80px;
	min-width: 50px;
}

#header nav {
	position: relative;
	margin-left: 0px;
}

/*	Thumbnails
*************************************************************************************/

.back-cover {
	background-size: cover !important;
	display: inline-block;
	width: 100%;
}
.back-contain {
	background-size: contain !important;
	display: inline-block;
	width: 100%;
}
.filler {
	width: 100%;
	height: auto;
}

/*	Footer
*************************************************************************************/

.totop {
	position: fixed;
	bottom: 20px;
	right: 20px;
	text-align: center;
	opacity: 0;
	color: white;
	background-color: #df0000;
	border-radius: 99px;
	box-shadow: 2px 1px 2px #808080;
	width: 50px;
	height: 50px;
	font-size: 30px;
	font-weight: bold;
	line-height: 50px;
	-webkit-transition: opacity 0.5s linear;
	-moz-transition: opacity 0.5s linear;
	-o-transition: opacity 0.5s linear;
	transition: opacity 0.5s linear;
	cursor: pointer;
	z-index: 3;
}
.totop.visible {
	opacity: 0.6;
}
.totop:hover {
	opacity: 1;
	text-decoration: none;
}

/*************************
	POP-UP
**************************/

#veil {
	display: none;
	position: fixed;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
	background-color: black;
	opacity: 0.4;
	z-index: 9;
}
.noscroll {
	overflow:hidden;
}

.pop-up {
	display: none;
	position: fixed;
	bottom: 0;
	left: 0;
	top: 0px;
	right: 0px;
	font-size: 13px;
	text-align: center;
	z-index: 10;
	overflow-y: auto;
	max-height: 100%;
}
.pop-up:before {
	height: 100%;
	display: inline-block;
	vertical-align: middle;
	content: '';
	min-height: inherit;
}
.pop-up .content {
	background-color: white;
	border-radius: 5px;
	position: relative;
	margin: 0px auto;
	text-align:left;
	box-sizing: border-box;
	padding: 15px 25px;
	display: inline-block;
	vertical-align: middle;
	width: 480px;
	box-shadow: 0px 0px 10px #454545;
	max-width: 95%;
	font-size: 1.2em;
}
.pop-up .close {
	z-index: 2;
}
.pop-up form fieldset{ 
	border:0px;
}
.pop-up h3 {
	margin-bottom: 5px;
}
.pop-up form label {
	margin-bottom: 10px;
	display: block;
}
.pop-up form label span {
	margin-bottom: 5px;
	display: inline-block;
}
.pop-up form input[type="submit"] {
	height: 45px;
	margin: 0px auto;
	display: block;
}
.pop-up form textarea{
	width: 100%;
	box-sizing: border-box;
}
.pop-up.feedback form {
	width: 460px;
}

/*************************
	FORM
**************************/

.form {

}
.form__list {

}
.el_form {
	margin-bottom: 10px;
}
.el_form__label {
	display: block;
}
.el_form__input-text {
	width: 100%;
}
.el_form__input-textarea {
	width: 100%;
}

.form__field {

}
.form__field-label {

}
.form__field .input-text {

}
.form__field .input-radio {

}
.form__btn-submit {

}
.form__btn-reset {

}


form {
	display: inline-block;
	background-color: white;
	border-radius: 5px;
	position: relative;
	margin: 0px auto;
	text-align:left;
	box-sizing: border-box;
	padding: 15px 25px;
	vertical-align: middle;
	max-width: 500px;
	width: 100%;
}
form fieldset{ 
	border:0px;
}
form label span {
	margin-bottom: 5px;
	display: inline-block;
}
form textarea{
	width: 100%;
	box-sizing: border-box;
}

/* form input */
[type=text], [type=password], textarea, [type=search], [type=tel], [type="email"], [type="number"], select {
	border: solid 1px #999;
	padding: 7px 12px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	-webkit-appearance: none;
	box-shadow: 0 0 1px #b9b9b9 inset;
	color: grey;
	outline: 0;
}
[type="number"] {
	padding-right: 1px;
}
select {
	-webkit-appearance: auto;
}
textarea:focus, input[type="password"]:focus, input[type="text"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="email"]:focus, input[type="number"]:focus {
	box-shadow: 0px 0px 1px #353535 inset;
}
textarea:focus, [type=password]:focus, [type=text]:focus, [type=search]:focus, [type=tel]:focus, [type="email"]:focus {
	color: black;
}

[type=search] {
	width: 70%;
}
#searchsubmit {
	width: 30%;
	float:right;
}

/************************************************************************************
CLEAR
*************************************************************************************/
.clear {
	clear: both;
}

/* clearfix   */
.clearfix:before, .clearfix:after {
	content: "";
	display: table;
}
.clearfix:after {
	clear: both;
}
 
.clearfix {
	zoom: 1; /* ie 6/7 */
}

/************************************************************************************
WORDPRESS POST FORMATTING
*************************************************************************************/

img.alignleft, img.aligncenter, img.alignright, img.alignnone {
	margin-bottom: 15px;
}
.alignleft {
	float: left;
	margin-right: 20px;
	max-width: 50%;
}
.alignright {
	float: right;
	margin-left: 20px;
	max-width: 50%;
}
.aligncenter {
	text-align: center;
	display: block;
	margin-left: auto;
	margin-right: auto;
}
.wp-caption {
	text-align: center;
	margin-bottom: 15px;
	max-width: 100%;
}
.wp-caption-text {
	font-style: italic;
	font-size: 95%;
	line-height: 120%;
	margin: 6px 0;
}


/*	Wordpress Post
*************************************************************************************/

/* post image */
.post-image {
	margin: 0 0 5px;
}
.post-image.left, .attachment-medium {
	float: left;
	margin-right: 15px;
}
.post-image.right {
	float: right;
	margin-left: 15px;
}

/* fancybox */
.post-thumb {
	display: inline-block;
	width: 100%;
}