/* @import "https://fonts.googleapis.com/css?family=Material+Icons|PT+Sans|PT+Sans+Narrow&subset=cyrillic-ext"; */

:root {
	--accent-color: #333333;
	--column-color: #e6e6e6;
	--content-color: #eeeeee;
	--hover-color: #ff0000;
	--block-shadow: 0em 0em 0.375em 0em rgba(0, 0, 0, 0.5);
	--block-radius: 0.188em;
	--header-height: 5em;
}

html, body {
	height: 100vh;
	font: 100% "PT Sans";
	background: var(--content-color);
	/* antialiasing */
	text-shadow: 0 0 2px rgba(0, 0, 0, 0.1);
}

html, body, div {
	margin: 0em;
	padding: 0em;
}

a {
	text-decoration: none;
	transition: 0.2s;
	transition-timing-function: ease-in-out;
}

h1, h2, h3, h4, h5, h6, .cm-header { 
	color: var(--accent-color);
	font-family: "PT Sans Narrow";
}

hr { 
	height: 0.063em;
	border: none;
	color: #cccccc;
	background-color: #cccccc;
}

body .material-icons {
	display: inline-block;
	vertical-align: middle;
	color: var(--accent-color);
}

header, footer {
	width: 100%;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	box-sizing: border-box;
	box-shadow: var(--block-shadow);
	background: var(--accent-color);
}

header {
	height: var(--header-height);
	padding: 0em 1em;
	position: fixed;
	top: 0em;
	z-index: 10;
}

header .logo {
	margin-right: 3em;
	position: relative;
	min-width: 200px;
}

header .logo img { 
	vertical-align: middle;
	height: 56px;
	min-width: 200px;
	width: 100px;
    /*object-fit: cover;*/
    display: block;
}

header i#menu.icons { display: none; }

header nav { 
	text-transform: uppercase;
	white-space: nowrap;
}

header nav .menu {
	color: #ffffff;
	margin-right: 1em;
	display: inline-block;
	line-height: var(--header-height);
}

header nav .menu:last-child { margin-right: 0em; }

header nav .menu a {
	font-size: 0.875em;
	color: #ffffff;
	display: block;
}

header nav .menu a:hover { color: var(--hover-color); }

header nav .submenu {
    min-width: 10em;
	line-height: 3em;
	display: none;
    position: absolute;
	border-radius: 0em 0em var(--block-radius) var(--block-radius);
	background: var(--accent-color);
	box-shadow: 0em -1em 0em 0em var(--accent-color), var(--block-shadow);
}

header nav .submenu a {
	font-size: 0.75em;
	display: block;
	padding: 0em 2em;
	border-bottom: 0.063em solid rgba(255, 255, 255, 0.2);
}

header nav .submenu a:last-child { border-bottom: 0em; }

header nav .menu:hover .submenu { display: block; }

page {
	min-height: 100%;
	display: flex;
	flex-direction: column;
}

page title,
page description,
page keywords { display: none; }

page a,
page a:visited { color: var(--hover-color); }

page columns {
	margin-top: var(--header-height);
	display: flex;
	flex: 1;
}

page columns a,
page columns a:visited { 
	color: var(--hover-color);
	border-bottom: 1px solid transparent;
}

page columns a:hover { border-bottom: 1px solid; }

page columns .column {
	background: var(--column-color);
	padding: 1em;
}

page columns .column.left { 
	width: 15%;
	order: 1;
}

page columns .column.middle {
	flex: 1;
	order: 2;
	background: var(--content-color);
}

page columns .column.right { 
	width: 15%;
	order: 3;
}

page columns .column.left img,
page columns .column.right img { 
	transition: filter 0.2s ease-in-out;
	filter: grayscale(100%); 
}

page columns .column.left img:hover,
page columns .column.right img:hover { filter: grayscale(0%); }

page columns .column .card {
	padding: 1.25em;
	margin-bottom: 0.6em;
	border-radius: var(--block-radius);
	background: var(--content-color);
	box-shadow: var(--block-shadow);
	font-size: 0.875em;
	position: relative;
}

page columns .column .card:after {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	box-shadow: inset -3em 0em 0.5em -1em var(--accent-color);
	pointer-events: none;
}

page columns .column .card.oauth { 
	background: var(--accent-color);
	color: #ffffff;
	text-align: center;
}

page columns .column .card.oauth img {
	display: block;
	margin: 0em auto 0.625em auto;
}

page columns .column .card.oauth h1 { 
	margin-bottom: 0em;
	color: #ffffff;
	font-size: 1.25em;
	text-transform: uppercase;
}

page columns .column .card.index {
	background: var(--accent-color);
	overflow: hidden;
	cursor: pointer;
}

page columns .column .card.index > * { display: none; }
page columns .column .card.index > *:nth-child(-n+2) { display: block; }
page columns .column .card.index:hover > * { display: block; }

page columns .column .card.index a { 
	white-space: nowrap;
	color: #ffffff;
	margin-bottom: 0.4em;
	border-bottom: 0;
}

page columns .column .card.index a:hover { color: var(--hover-color); }

page columns .column .card .button { 
	width: 40%;
	display: block;
	color: #ffffff;
	font-size: 0.875em;
	text-transform: uppercase;
	margin: 1.25em auto 0em auto;
	padding: 0.625em 1.25em;
	border: 2px solid #ffffff;
	border-radius: var(--block-radius);
	background: rgba(0, 0, 0, 0.2);
	color: #ffffff;
}

page columns .column .card .button:hover {
	color: var(--accent-color);
	background: rgba(255, 255, 255, 0.8);
}

page #editor { 
	display: none;
	min-height: 100%;
	border-radius: var(--block-radius);
/*	border: 2px dashed var(--hover-color);*/
	box-sizing: border-box;
}

page #editor input[type="file"] { display: none; }

page #editor .CodeMirror .CodeMirror-code .cm-link { 
	color: var(--hover-color);
	text-decoration: none;
}

page #editor .editor-toolbar,
page #editor .CodeMirror { 
	border: 0;
	background: transparent;
}

page #editor .editor-toolbar { 
	opacity: 1;
	text-align: center;
	position: sticky;
	position: -webkit-sticky;
	top: var(--header-height);
	z-index: 2;
	background: var(--content-color);
	box-shadow: 0em 0.5em 0.5em 0em var(--content-color);
	margin: 0em 0.5em;
}

page #editor .editor-toolbar a { 
	outline: none;
	color: var(--hover-color) !important;
	margin: 0em 0.2em;
	border: 0;
}

page #editor .editor-toolbar a:hover,
page #editor .editor-toolbar a.active { 
	color: #fff !important;
	background: var(--hover-color);
}

page #editor .editor-toolbar.disabled-for-preview a:not(.active) { opacity: 0.3; }

page #editor .editor-preview { background: var(--content-color); }

content { 
	display: block; 
	border-radius: var(--block-radius);
	border: 2px dashed transparent;
	padding: 0 1em;
}

content.editable {
	transition: border 0.2s ease-in-out, background 0.2s ease-in-out;
	min-height: 1em;
	position: relative;
}

content.editable:before {
	opacity: 0;
	content: attr(data-key);
	left: 0.5em;
	top: 0.5em;
	position: absolute;
	color: rgba(255, 255, 255, 0.9);
	font-size: 0.7em;
	background: var(--hover-color);
	padding: 0.2em 0.5em;
	border-radius: var(--block-radius);
	transition: opacity 0.2s ease-in-out;
}

content.editable:hover:before { opacity: 1; }

content.editable:hover { 
	cursor: cell;
	border: 2px dashed var(--hover-color);
	background: rgba(0, 0, 0, 0.03);
}

content img { 
	max-width: 100%;
	display: block;
	margin: auto;
	object-fit: contain;
	width: 100%;
}

.icons {
	font-family: "Material Icons";
	font-weight: normal;
	font-style: normal;
 	font-size: 1.125em;  /* Preferred icon size */
 	display: inline-block;
 	line-height: 1;
 	text-transform: none;
 	letter-spacing: normal;
 	word-wrap: normal;
 	white-space: nowrap;
 	direction: ltr;
	vertical-align: text-top;
	
	-webkit-font-smoothing: antialiased;	/* Support for all WebKit browsers. */
	text-rendering: optimizeLegibility;		/* Support for Safari and Chrome. */
	-moz-osx-font-smoothing: grayscale;		/* Support for Firefox. */
	font-feature-settings: "liga";			/* Support for IE. */
}

footer {
	padding: 1.5em 2em 3em 2em;
	position: relative;
	justify-content: space-around;
}

footer * a:hover { color: var(--hover-color) !important; }

footer .phones img { vertical-align: middle; }

footer .phones a {
	color: #ffffff;
	display: block;
	padding: 0.313em 0em;
	white-space: nowrap;
	font-size: 1em;
	border-bottom: 0em;
}

footer nav {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	text-transform: uppercase;
	white-space: nowrap;
}

footer nav div {
	min-width: 10em;
	display: block;
	margin-left: 1em;
}

footer nav div a {
	color: #ffffff !important;
	font-size: 0.75em;
	display: block;
	padding: 0.625em 0.938em;
	border-bottom: 0.063em solid rgba(255, 255, 255, 0.2) !important;
}

footer .bottom {
	width: 100%;
	padding: 0.625em 0em;
	color: #eeeeee;
	font-size: 0.750em;
	position: absolute;
	bottom: 0em;
	left: 0em;
	text-align: center;
	text-transform: uppercase;
	background: rgba(0, 0, 0, 0.2);
}

footer .bottom #oauth {
	color: #ffffff;
	position: absolute;
	left: 0.625em;
}

page table {
	border: 1px solid #000;
	background: #fff;
	width: 50%;
	margin: 0 auto;
	border-spacing: 0;
}

page table th, 
page table td {
	padding: 0.5em;
	border: 1px solid #000;
}