/*  
Content:
- Fonts
- Reset
- General Styles
- Bsse Components
-- Input
-- Buttons
- Components
-- Social-icons
-- Breadcrumb
-- Navigation
-- POP-UP
-- FORM
-- List
-- Infoblock
-- Scroll
- Structure
-- Z-index
-- Size
-- Header
-- Thumbnails
-- Totop
-- Tags
-- Tabs
- Tables
- Flex
- Box
- Flex align
- Flex additional properties
- Order
- Col
- Hidden / Visible
- Align
- Padding Margin
- Styling
- Colors
- Images
- Mobility
- Menu
- Marks
- CLEAR
- WORDPRESS POST FORMATTING
- Wordpres Post

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

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

Брейкпойнты:
s - small - до 400px (увеличить до 480?)
m - medium - до 768px
l - large - до 1200px

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

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

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

*/

:root {
	--content-width: 1200px;
/*	--field-width: 400px; */
	--main-color: #239036;
	--main-color-hover: #000;
	--common-color: #000;
	--common-color-hover: #000;
}

/*		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;
		max-height: 100%;
	  width: 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;
		margin: 0;
}
main { /* Render the `main` element consistently in IE */
		display: block;
}
a {
		text-decoration: none;
		outline: none;
		color: var(--main-color);
}
a:hover {
		text-decoration: underline;
		color: var(--main-color-hover);
}
	article p {
		text-align: justify;
}
p {
		margin: 0 0 1em;
		padding: 0;
}
b, strong {
		font-weight: bold;
}
i {
		font-style: italic;
}
hr {
		box-sizing: content-box;
		height: 0;
		overflow: visible;
}
code, pre {
		font-family: monospace, monospace;
		font-size: 1em;
}
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;
}

.main {
		order: 2;
}
.side {
		order: 3;
}

* {
		box-sizing: border-box;
}

/************************************************************************************
Base Components
*************************************************************************************/

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

.btn {
	background: var(--main-color);
	color: #fff;
	font-size: 1.6rem;
	line-height: 1.3;
	padding: 5px 20px;
	max-width: 200px;
	width: 100%;
	justify-content: center;
	text-align: center;
	border: 0;
	cursor: pointer;
	display: inline-block;
	transition: all .2s linear 0s;
	min-height: 39px;
	display: flex;
	align-items: center;
}
.btn:visited {
	color: #fff;
}
.btn path {
	fill: #fff;
}

.btn.disabled, .btn:disabled {
	opacity: .6;
}
.btn--large {
	font-size: 1.8rem;
	min-height: 50px;
	max-width: 250px;
}
.btn--small {
	font-size: 1.6rem;
	min-height: 30px;
	max-width: 150px;
}
.btn--icon {
	padding: 5px;
	width: auto;
	line-height: 1;
	min-width: 35px;
}
.menu .btn {
	max-width: 100%;
}
.btn:hover, .btn.active {
	background: var(--main-color-hover);
	text-decoration: none;
	color: #fff;
}

.btn--common {
	background: var(--common-color);
	color: #333;
}
.btn--common:visited {
	color: #333;
}
.btn--common path {
	fill: #333;
}
.btn--common:hover, .btn--common.active {
	background: var(--common-color-hover);
	color: #333;
}

:not(.flex, .box) > .btn[class*="col-"] {
	float: none;
}

/*	Input
*************************************************************************************/

[type=text], [type=password], textarea, [type=search], [type=tel], [type="email"], [type="number"], [type="date"], select {
		border: solid 1px #bbb;
		padding: 7px 12px;
		-webkit-border-radius: 5px;
		-moz-border-radius: 5px;
		-webkit-appearance: none;
		box-shadow: 0 0 1px #ccc inset;
		color: grey;
		outline: 0;
		width: 100%;
		/* max-width: 400px; */
		min-height: 39px;
}
[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 2px #666 inset;
}
textarea:focus, [type=password]:focus, [type=text]:focus, [type=search]:focus, [type=tel]:focus, [type="email"]:focus {
		color: #333;
}

[type=search] {
	dth: 70%;
}
#searchsubmit {
		width: 30%;
		padding-left: 10px;
		padding-right: 10px;
		float:right;
		border-top-left-radius: 0;
	  border-bottom-left-radius: 0;
}

.back-clr [type="search"] {
		border: 0;
		-webkit-border-radius: 0;
	  -moz-border-radius: 0;
		box-shadow: none;
		background-color: var(--main-color-hover);
		color: white;
}
.back-clr [type="search"]:hover {
		box-shadow: none;
		color: white;
}

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

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

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

.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;
		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;
}

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

/*	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;
		display: inline-block;
		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__icon: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.--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;
		padding: 4px 0;
}
.breadcrumb ul li {
		display: inline-block;
		padding: 2px 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;
}

/*	Post
*************************************************************************************/

.post {

}
.post__date {
		margin-bottom: 5px;
}
.post__header {
		margin-bottom: 10px;
}
.post__content {
		margin-bottom: 10px;
}
.post > *:nth-last-child {
	margin-bottom: 0;
}

/*************************
	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.active {
		display: block;
}
.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.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;
		position: relative;
		margin: 0px auto;
		text-align:left;
		box-sizing: border-box;
		vertical-align: middle;
		width: 100%;
}
form fieldset{ 
		border:0px;
}
form label span {
		margin-bottom: 5px;
		display: inline-block;
}
form textarea{
		width: 100%;
		box-sizing: border-box;
}

.form-item {
		display: flex;
		margin-bottom: 20px;
		width: 100%;
		column-gap: 20px;
		max-width: 400px;
		text-align: left;
}
.form-item__img { 
		max-height: 200px;
}
.form-item__caption {
		font-size: .9em;
		color: #777;
}
.form-item--column {
		flex-wrap: wrap;
		cursor: pointer;
}
.form-item--column .form-item__label-wrap {
		flex: 0 100%;
		margin-bottom: 5px;
}
.form-item--column .form-item__label-input {
		flex: 0 100%;
}
.form-item--btn {
		padding: 10px;
}
.form-item__label-wrap {
		flex: 1 100px;
		align-content: center;
		font-weight: bold;
}
.form-item__input-wrap {
		flex: 1 200px;
		align-content: center;
}
.form-item__input-wrap [type=checkbox] {
		height:20px;
		width: 20px;
}

.form--horizontal {
		gap: 20px;
}
.form--horizontal .form-item {
		margin-bottom: 0;
		width: auto;
}
.form--horizontal .form-item__label-wrap {
		flex: auto;
}

@media screen and (max-width: 768px) {
		.form-item {
			display: block;
		}
		.form-item__label-wrap {
			padding-bottom: 0;
		}
}

/*************************
	LIST
**************************/

.list {

}

.fields--row:not([class*="flex"]) .field {
	margin-bottom: 0;
	margin-right: 20px;
}
.fields--row.flex {
	gap: 20px;
}
.fields--row.flex .field {
	margin-bottom: 0;
}

.field {
		display: flex;
		margin-bottom: 20px; 
	/*	width: var(--field-width); */
		column-gap: 20px;
		max-width: 100%;
		text-align: left;
}
.field img { 
		max-height: 200px;
}
.field__caption {
		font-size: 1em;
		color: #888;
		font-weight: normal;
}
.field--column {
		flex-wrap: wrap;
		cursor: pointer;
}
.field--column .field__key {
		flex: 0 100%;
		margin-bottom: 6px;
		max-width: 100%;
}
.field--column .field__value {
		flex: 0 100%;
}
.field--btn {
		padding: 10px;
}
.field--admin {
		//padding: 15px;
		//border: 1px solid #c0c0c0;
		//border-radius: 15px;

}
.field--admin .field__key { 
		padding-left: 15px;
		border-radius: 5px;
		background-color: #eee;
		min-height: 39px;
}
.field__key {
		flex: 1 100px;
		align-content: center;
		font-weight: bold;
		max-width: 200px;
}
.field__value {
		flex: 1 200px;
		align-content: center;
		max-width: 100%;
}
.field__value [type=checkbox] {
	/*	height:20px;
		width: 20px;	*/
		margin: 5px;
}

@media screen and (max-width: 768px) {
		.field {
			display: block;
		}
		.field__key {
			margin-bottom: 6px;
			max-width: 100%;
		}
}

/*************************
	Scroll
**************************/

.scroll {
	overflow: scroll;
	border: 1px solid #eee;
	padding: 5px;
}
.scroll-x {
	overflow-x: scroll;
	border: 1px solid #eee;
	padding: 5px;
}

/*************************
	INFOBLOCK

Визуальное выделение блока информации
**************************/

.infoblock {
  padding: 20px;
  background-color: var(--common-color);
  border-radius: 15px;
  color: #333;
}

.block-main {

}
.block-common {
	
}

.iblock {
	margin-top: 20px;
  	margin-bottom: 20px;
  	position: relative;
}
.iblock > *:first-child {
	margin-top:0;
}
.iblock > *:last-child {
	margin-bottom:0;
}

@media screen and (max-width: 768px) {
	.iblock {
		margin: 20px;
	}
}

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

/*	Z-index
*************************************************************************************/

.z-index-0 {
		z-index: auto;
}
.z-index-5 {
		z-index: 5;
}
.z-index-10 {
		z-index: 10;
}
.z-index-15 {
		z-index: 15;
}

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

h1, h2, h3, h4, h5, h6 {
		line-height: 1.2em;
		margin: 0;
		margin-bottom: 10px;
}
h1:last-child, h2:last-child, h3:last-child, h4:last-child, h5:last-child, h6:last-child {
	margin-bottom: 0;
}
.user-content h1, .user-content h2, .user-content h3, .user-content h4, .user-content h5, .user-content h6 {
		margin: 1rem 0 1rem;
}
[class*="size-"] {
		line-height: 1.2;
}
.suptitle {

}
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-m-5 {
			font-size: 3.4rem;
		}
		.size-m-4 {
			font-size: 2.6rem;
		}
		.size-m-3 {
			font-size: 2rem;
		}
		.size-m-2 {
			font-size: 1.6rem;
		}
		.size-m-1 {
			font-size: 1.4rem;
		}

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

		body {
			font-size: 1.4rem;
		}
		h1, .size-6 {
		    font-size: 3rem;
		}
		h2, .size-5 {
		    font-size: 2rem;
		}
		h3, .size-4 {
			font-size: 2rem;
		}
		.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;
		}
		.size-s-2 {
			font-size: 1.6rem;
		}
		.size-s-1 {
			font-size: 1.4rem;
		}

}

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

#header {
		position: relative;
		z-index:3;
}
.logo {
		width: auto;
		margin-right: 20px;
		display: inline-block;
	/*	height: 80px;	*/
		min-width: 80px;
}
.logo__link {
	height: 100%;
	display: block;
}
.logo__img {
	height: 100%;
  	object-fit: contain;
}

#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;
}

.post-thumbnail--square {
		padding-bottom: 100%;
}

/*	Totop
*************************************************************************************/

.totop {
		position: fixed;
		bottom: 20px;
		right: 20px;
		text-align: center;
		opacity: 0;
		color: white;
		background-color: var(--main-color-hover);
		border-radius: 99px;
		box-shadow: 2px 1px 2px #808080;
		width: 50px;
		height: 50px;
		font-size: 30px;
		font-weight: bold;
		line-height: 45px;
		-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;
		font-family: Arial;
}
.totop.visible {
		opacity: 0.6;
}
.totop:hover {
		opacity: 1;
		text-decoration: none;
		color: white;
}

/*	Tags
*************************************************************************************/

.tags-item {
	display: inline-block;
	margin-right: 5px;
	margin-bottom: 5px;
}

/*	Tabs
*************************************************************************************/

.tabs {

}
.tabs__item {
	display: none;
}
.tabs__item.active {
	display: block;
}

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

.table {
	display: table;
	width: 100%;
	border-collapse: collapse;
}
.table-fixed {
	table-layout: fixed; /* чтобы работала ширина ячеек */
}
.table-fixed .cell {
	width: auto; /* чтобы таблица сохраняла гибкость */
}

.table--design {

}
.table--design .thead {
	background-color: #e8e8e8;
  font-weight: bold;
}
.table--design .cell {
	text-align: left;
  vertical-align: top;
	border: 1px solid #eee;
	padding: 5px 10px;
}
.table--break {
	word-break: break-all;
}

.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;
	}

}

.table--mobile {

}
@media (max-width: 1024px) {
	.table--mobile .row {
	    width: 100%;
	    display: block;
	    background-color: #eee;
	    border-radius: 10px;
	    margin-bottom: 5px;
	    overflow: hidden;
	}
	.table--mobile .cell {
		width: 100%;
	    display: none;
	}
	.table--mobile .cell.active {
	    display: block;
	}
	.table--mobile .cell.desctop {
	    display: none;
	}
	.table--mobile .cell.mobile {
	    display: block;
	    cursor: pointer;
	    width: 100%;
	}
	.table--mobile .cell[data-activator-link] {
	    display: block;
	    cursor: pointer;
	    width: 100%;
	}
}

/*		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%;
}

@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%;
	max-width: none;
  min-width: auto;
	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;
}
.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;
}
.justify-between {
	-webkit-justify-content: space-between;
	justify-content: space-between;
}
.justify-evenly {
	-webkit-justify-content: space-evenly;
	justify-content: space-evenly;
}
.flex[class*="align-top"], .box[class*="align-top"] {
	align-items: start;
	-webkit-align-items: start;
	align-content: start;
}
.flex[class*="align-bottom"], .box[class*="align-bottom"] {
	align-items: end;
	-webkit-align-items: end;
	align-content: end;
}
.flex[class*="align-middle"], .box[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;
}
.align-between {
	align-content: space-between;
}

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

.flex-nowrap {
	-webkit-flex-wrap: nowrap;
	-moz-flex-wrap: nowrap;
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
}
.flex-wrap {
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.flex-column {
	flex-direction: column;
}
.flex-row {
	flex-direction: column;
}
.flex-equal-columns > * {
	flex-grow: 1;
	flex-basis: 0;
}
.flex-gap-1, .flex-gap {
	gap: 10px;
}
.flex-gap-2 {
	gap: 20px;
}
@media (max-width: 1200px) {
	.flex-nowrap-l {
		-webkit-flex-wrap: nowrap;
		-moz-flex-wrap: nowrap;
		-ms-flex-wrap: nowrap;
		flex-wrap: nowrap;
	}
	.flex-wrap-l {
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	.flex-column-l {
		flex-direction: column;
	}
	.flex-row-l {
		flex-direction: row;
	}
}
@media (max-width: 768px) {
	.flex-wrap-m {
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	.flex-column-m {
		flex-direction: column;
	}
	.flex-row-m {
		flex-direction: row;
	}
}
@media (max-width: 480px) {
	.flex-wrap-s {
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	.flex-column-s {
		flex-direction: column;
	}
	.flex-row-s {
		flex-direction: row;
	}
}

/*		Order 
*************************************************************************************/

.order-1 {
	order: 1;
}
.order-2 {
	order: 2;
}
.order-3 {
	order: 3;
}

@media (max-width: 1200px) {
	.order-l-1 {
		order: 1;
	}
	.order-l-2 {
		order: 2;
	}
	.order-l-3 {
		order: 3;
	}
}
@media (max-width: 768px) {
	.order-m-1 {
		order: 1;
	}
	.order-m-2 {
		order: 2;
	}
	.order-m-3 {
		order: 3;
	}
}
@media (max-width: 400px) {
	.order-s-1 {
		order: 1;
	}
	.order-s-2 {
		order: 2;
	}
	.order-s-3 {
		order: 3;
	}
}


/*		Row / col
По умолчанию .col - block-элемент. 
Если у него нет flex-родителя (.flex или .box), он становится float-элементом, чтобы сохранить колонки. || этот момент пока закомментирован
синтаксис класса: .col-число
если число от 1 до 19, например, 12 - это значит, одна двенадцатая ширины
если число больше 19 и не кратно 5, наприер, 32 - это значит, три вторых ширины
если число больше 10 и кратно 5, например, 35 - это значит, 35% ширины
если число 100 и больше и кратно 100 - это значит, пиксели (100px, 200px и т.д.)
Как задать две пятых? Легко, это 40%, col-40
Как задать 39%? Ну такие тонкости уже через свои стили
*************************************************************************************/

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

.gap-2 {   /* оборачиваем flex-контейнер */
	overflow: hidden;
}
.gap-2 > .flex, .gap-2 > .box {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -10px -20px;
}
.gap-2 > .flex > [class*="col-"], .gap-2 > .box > [class*="col-"] {
	padding: 0 10px 20px;
}

.gap-3 {   /* оборачиваем flex-контейнер */
	overflow: hidden;
}
.gap-3 > .flex, .gap-3 > .box {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -15px -30px;
}
.gap-3 > .flex > [class*="col-"], .gap-3 > .box > [class*="col-"] {
	padding: 0 15px 30px;
}

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

.col {  /* базовая ширина контента */
    margin: 0px auto;
    position: relative;
	z-index: 2;
	text-align: left;
	max-width: 100%;
	width: var(--content-width);
	/* height: 100%; */
	overflow: hidden;
}
.col:after {
	content: '';
	display: block;
	clear: both;
}

[class*="col-"] {
	width: 100%;
}

.col--p { /* сразу с отступами от краёв экрана */
	width: var(--content-width);
	padding-left: 20px;
	padding-right: 20px;
}

/* *:not(.flex, .box) > [class*="col-"]:not([class*="float-"])  {
	float: left;
} */
.flex > [class*="col-"] {
	align-self: stretch;
}
.col.flex, [class*="col-"].flex {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.col-0 {
	width: auto;
	max-width: none;
}
.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-8 {
	width: calc(100%/8);
}
.col-12 {
	width: calc(100%/12);
}
.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%;
}

.col-50 {
	width: 50px;
	flex-shrink: 0;
}
.col-100 {
	width: 100px;
	flex-shrink: 0;
}
.col-150 {
	width: 150px;
	flex-shrink: 0;
}
.col-200 {
	width: 200px;
	flex-shrink: 0;
}
.col-250 {
	width: 250px;
	flex-shrink: 0;
}
.col-300 {
	width: 300px;
	flex-shrink: 0;
}
.col-400 {
	width: 400px;
	flex-shrink: 0;
}
.col-500 {
	width: 500px;
	flex-shrink: 0;
}
.col-600 {
	width: 600px;
	flex-shrink: 0;
}
.col-700 {
	width: 700px;
	flex-shrink: 0;
}
.col-800 {
	width: 800px;
	flex-shrink: 0;
}
.col-900 {
	width: 900px;
	flex-shrink: 0;
}

@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-75 {
		width: 75%;
	}

}
@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-75 {
		width: 75%;
	}

}
@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);
	}

}
@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;	
}

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

.visually-hidden {   /* спрятать только визуально (заголовки разделов для aria, например) */
	position:absolute;
	width:1px;
	height:1px;
	margin:-1px;
	border:0;
	padding:0;
	-webkit-clip-path:inset(100%);
	clip-path:inset(100%);
	clip:rect(0 0 0 0);
	overflow:hidden
}

@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-both-0 {
		padding-left: 0;
		padding-right: 0;
}
.padding-both, .padding-both-1 {
		padding-left: 10px;
		padding-right: 10px;
}
.padding-both-2 {
		padding-left: 20px;
		padding-right: 20px;
}
.padding-hor-0 {
		padding-left: 0;
		padding-right: 0;
}
.padding-hor, .padding-hor-1 {
		padding-left: 10px;
		padding-right: 10px;
}
.padding-hor-2 {
		padding-left: 20px;
		padding-right: 20px;
}
.padding-vert-0 {
		padding-top: 0;
		padding-bottom: 0;
}
.padding-vert, .padding-vert-1 {
		padding-top: 10px;
		padding-bottom: 10px;
}
.padding-vert-2 {
		padding-top: 20px;
		padding-bottom: 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-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;
}
.padding-bottom-100 {
		padding-bottom:  100%;
}
.padding-bottom-70 {
		padding-bottom: 70%;
}
.padding-bottom-40 {
		padding-bottom: 40%;
}

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

@media (max-width: 1200px) {
		.padding-l, .padding-l-1 {
			padding: 10px;
		}
		.padding-l-0 {
			padding: 0;
		}
		.padding-l-2 {
			padding: 20px;
		}
		.padding-both-l, .padding-both-l-1 {
			padding-left: 10px;
			padding-right: 10px;
		}
		.padding-both-l-0 {
			padding-left: 0;
			padding-right: 0;
		}
		.padding-both-l-2 {
			padding-left: 20px;
			padding-right: 20px;
		}
		.padding-hor-l, .padding-hor-l-1 {
			padding-left: 10px;
			padding-right: 10px;
		}
		.padding-hor-l-0 {
			padding-left: 0;
			padding-right: 0;
		}
		.padding-hor-l-2 {
			padding-left: 20px;
			padding-right: 20px;
		}
		.padding-left-l, .padding-left-l-1 {
			padding-left: 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-l-0 {
			margin: 0;
		}
		.margin-vert-l-0 {
				margin-top: 0;
				margin-bottom: 0;
		}
		.margin-vert-l, .margin-vert-l-1 {
				margin-top: 10px;
				margin-bottom: 10px;
		}
		.margin-left-l-0 {
			margin-left: 0;
		}
		.margin-left-l-1 {
			margin-top: 10px;
		}
		.margin-left-l, .margin-left-l-2 {
			margin-top: 20px;
		}
		.margin-left-l-4 {
			margin-top: 40px;
		}
		.margin-right-l-0 {
			margin-right: 0;
		}
		.margin-right-l-1  {
			margin-right: 10px;
		}
		.margin-right-l, .margin-right-l-2  {
			margin-right: 20px;
		}
		.margin-right-l-4  {
			margin-right: 40px;
		}
		.margin-top-l-0 {
			margin-bottom: 0;
		}
		.margin-top-l-1 {
			margin-top: 10px;
		}
		.margin-top-l, .margin-top-l-2 {
			margin-top: 20px;
		}
		.margin-top-l-4 {
			margin-bottom: 40px;
		}
		.margin-bottom-l-0 {
			margin-bottom: 0;
		}
		.margin-bottom-l-1  {
			margin-bottom: 10px;
		}
		.margin-bottom-l, .margin-bottom-l-2  {
			margin-bottom: 20px;
		}
		.margin-bottom-l-4 {
			margin-bottom: 40px;
		}
}
@media (max-width: 768px) {
		.padding-m, .padding-m-1 {
			padding: 10px;
		}
		.padding-m-0 {
			padding: 0;
		}
		.padding-m-2 {
			padding: 20px;
		}
		.padding-both-m, .padding-both-m-1 {
			padding-left: 10px;
			padding-right: 10px;
		}
		.padding-both-m-0 {
			padding-left: 0;
			padding-right: 0;
		}
		.padding-both-m-2 {
			padding-left: 20px;
			padding-right: 20px;
		}
		.padding-hor-m, .padding-hor-m-1 {
			padding-left: 10px;
			padding-right: 10px;
		}
		.padding-hor-m-0 {
			padding-left: 0;
			padding-right: 0;
		}
		.padding-hor-m-2 {
			padding-left: 20px;
			padding-right: 20px;
		}
		.padding-left-m, .padding-left-m-1 {
			padding-left: 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-m-0 {
			margin: 0;
		}
		.margin-vert-m-0 {
				margin-top: 0;
				margin-bottom: 0;
		}
		.margin-vert-m, .margin-vert-m-1 {
				margin-top: 10px;
				margin-bottom: 10px;
		}
		.margin-left-m-0 {
			margin-left: 0;
		}
		.margin-left-m-1 {
			margin-top: 10px;
		}
		.margin-left-m, .margin-left-m-2 {
			margin-top: 20px;
		}
		.margin-left-m-4 {
			margin-top: 40px;
		}
		.margin-right-m-0 {
			margin-right: 0;
		}
		.margin-right-m-1  {
			margin-right: 10px;
		}
		.margin-right-m, .margin-right-m-2  {
			margin-right: 20px;
		}
		.margin-right-m-4  {
			margin-right: 40px;
		}
		.margin-top-m-0 {
			margin-bottom: 0;
		}
		.margin-top-m-1 {
			margin-top: 10px;
		}
		.margin-top-m, .margin-top-m-2 {
			margin-top: 20px;
		}
		.margin-top-m-4 {
			margin-bottom: 40px;
		}
		.margin-bottom-m-0 {
			margin-bottom: 0;
		}
		.margin-bottom-m-1  {
			margin-bottom: 10px;
		}
		.margin-bottom-m, .margin-bottom-m-2  {
			margin-bottom: 20px;
		}
		.margin-bottom-m-4 {
			margin-bottom: 40px;
		}
}
@media (max-width: 400px) {
		.padding-s, .padding-s-1 {
			padding: 10px;
		}
		.padding-s-0 {
			padding: 0;
		}
		.padding-s-2 {
			padding: 20px;
		}
		.padding-both-s, .padding-both-s-1 {
			padding-left: 10px;
			padding-right: 10px;
		}
		.padding-both-s-0 {
			padding-left: 0;
			padding-right: 0;
		}
		.padding-both-s-2 {
			padding-left: 20px;
			padding-right: 20px;
		}
		.padding-hor-s, .padding-hor-s-1 {
			padding-left: 10px;
			padding-right: 10px;
		}
		.padding-hor-s-0 {
			padding-left: 0;
			padding-right: 0;
		}
		.padding-hor-s-2 {
			padding-left: 20px;
			padding-right: 20px;
		}
		.padding-left-s, .padding-left-s-1 {
			padding-left: 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-s-0 {
			margin: 0;
		}
		.margin-vert-s-0 {
				margin-top: 0;
				margin-bottom: 0;
		}
		.margin-vert-s, .margin-vert-s-1 {
				margin-top: 10px;
				margin-bottom: 10px;
		}
		.margin-left-s-0 {
			margin-left: 0;
		}
		.margin-left-s-1 {
			margin-top: 10px;
		}
		.margin-left-s, .margin-left-s-2 {
			margin-top: 20px;
		}
		.margin-left-s-4 {
			margin-top: 40px;
		}
		.margin-right-s-0 {
			margin-right: 0;
		}
		.margin-right-s-1  {
			margin-right: 10px;
		}
		.margin-right-s, .margin-right-s-2  {
			margin-right: 20px;
		}
		.margin-right-s-4  {
			margin-right: 40px;
		}
		.margin-top-s-0 {
			margin-bottom: 0;
		}
		.margin-top-s-1 {
			margin-top: 10px;
		}
		.margin-top-s, .margin-top-s-2 {
			margin-top: 20px;
		}
		.margin-top-s-4 {
			margin-bottom: 40px;
		}
		.margin-bottom-s-0 {
			margin-bottom: 0;
		}
		.margin-bottom-s-1  {
			margin-bottom: 10px;
		}
		.margin-bottom-s, .margin-bottom-s-2  {
			margin-bottom: 20px;
		}
		.margin-bottom-s-4 {
			margin-bottom: 40px;
		}
}

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

.boxshadow {
		box-shadow: 0px 5px 5px #373737;
}
.textshadow {
		text-shadow: -1px 1px 5px #373737;
}
.border {
		border: 2px solid var(--main-color);
}
.border-2 {
		border: 2px solid var(--main-color);
}
.border-white {
		border: 2px solid white;
}
.border-bottom {
		border-bottom: 1px solid var(--main-color);
}
.border-bottom-common {
		border-bottom: 1px solid var(--common-color);
}
.border-bottom-white {
		border-bottom: 1px solid #fff;
}
.border-bottom-dark {
		border-bottom: 1px solid #333;
}
.radius {
		border-radius: 20px;
}
.radius-circle {
		border-radius: 100%;
}

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

.back-clr {
		background-color: var(--main-color);
}
.back-clr, .back-clr a {
		color: white;
}
.back-clr-black {
		background-color: #333;
}
.back-clr-white {
		background-color: white;
}
.clr {
		color: var(--main-color);
}
.clr-white {
		color: white;
}
.clr-black {
		color: #333;
}
.clr-red {
		color: #f00;
}
.clr-green {
    color: #239036;
}

/*		Images
*************************************************************************************/

.img--fit {
		height: 100%;
  	width: 100%;
  	object-fit: cover;
}
.img--square {
	aspect-ratio: 1 / 1;
}


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

.mobile-menu-btn {
	cursor: pointer;
	position:relative;
	z-index: 5;
	transition: all 0.3s ease 0s;
	font-size: 28px;
	color: #666;
	align-items: center;
	justify-content: center;
}

.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;
}
.admin-bar .mobile-menu { 
	top: var(--wp-admin--admin-bar--height);	
}
.mobile-menu.active {
	transform: translateX(0);
}

/*	Menu
*************************************************************************************/

.menu ul, .menu ol {
	margin-left: 0;
	margin-bottom: 0;
	list-style-type: none;
}
.menu--btn {
	background-color: var(--main-color);
}
.menu__list {
	display: flex;
}

.menu-item {
	flex-grow: 1;
	position: relative;
}

.submenu {
	position: absolute;
	top: 100%;
	left: 0;
	opacity: 0;
	visibility: hidden;
	transition: all .2s linear 0s;
	text-align: left;
}
.submenu__list {

}
.menu-item:last-child .submenu {
	left: none;
	right: 0px;
}
.menu-item:hover .submenu {
	opacity: 1;
	visibility: visible;
}

.submenu-item {
	display: block;
	width: 100%;
}
.submenu-item__link {
	padding: 5px 15px;
}

.menu--vert {

}
.menu--vert .menu-item__link {
	justify-content: start;
	height: auto;
}

.menu--footer .menu-item {
	padding: 5px;
}

/*	Accordion
*************************************************************************************/

.accordion__title {
	padding: 5px 10px;
	border-radius: 10px;  
	background-color: #eee;
	cursor: pointer;
	min-height: 30px;
	position: relative;
}
.accordion__title:after {
	content: '+';
	position: absolute;
	top: 0;
	right: 15px;
	bottom: 0;
	display: flex;
	align-items: center;
	font-weight: bold;
}
.accordion__title.active {

}
.accordion__title.active:after {
	content: '-';
}
.accordion__content {
	display: none;
	margin-top: -10px;
	padding: 25px 10px 10px;
	border-bottom-left-radius: 10px;
	border-bottom-right-radius: 10px;
	border: 2px solid #eee;
}
.accordion__content.active {
	display: block;
}
.accordion__footer {
	padding: 5px;
	background-color: #eee;
	border-radius: 5px;
}

/*	Marks
*************************************************************************************/

.mark-success {
	color: green;
  font-weight: bold;
  background-color: #c4ddc4;
  padding-left: 5px;
  padding-right: 5px;
  border-radius: 5px;
}
.mark-error {
	color: red;
  font-weight: bold;
  background-color: #ddc6c4;
  padding-left: 5px;
  padding-right: 5px;
  border-radius: 5px;
}

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

/* clearfix   */
.clearfix:after {
	content: "";
	display: table;
	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%;
}