@import url("_base.css");
@import url("_editor-site.css");
@import url("_joomla.css");
@import url("_horizontal-menu.css");
@import url("_mobile-menu.css");
@import url("_ajax-form.css");
/* Page */
html {
	background: #fdfefe url("../images/bg.png") left top repeat;
	color: #000;
	font: 18px / 1.3 var(--base-fonts);
	accent-color: #8e47f9;
}
@media not print {
	html {
		padding-bottom: 32px;
	}
}
body {
	min-width: 320px;
	max-width: 1920px;
	margin: 0 auto;
}
/* Vector icons */
.icon {
	width: 1em;
	height: 1em;
}
/* Form popup */
.fullscreen-layout {
	position: fixed;
	z-index: 50;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,.5);
	overflow: auto;
	overscroll-behavior: contain;
}
.hidden-form-layout {
	width: 100%;
	max-width: 600px;
	height: 100%;
	table-layout: fixed;
	border-spacing: 0;
	margin: 0 auto;
}
.hidden-form-layout > tbody > tr > td {
	vertical-align: middle;
}
.hidden-form-layout > tbody > tr > td > div {
	background: #fff;
	background: linear-gradient(to bottom, #ededed, #fff, #ededed);
	color: #000;
	padding: 16px;
	border-radius: 3px;
}
.fullscreen-layout-close {
	position: absolute;
	z-index: 1;
	right: 0;
	top: 0;
}
.fullscreen-layout-close-button {
	background: transparent;
	color: inherit;
	border: none;
	border-radius: 3px;
	cursor: pointer;
	font-size: 1.3em;
	text-align: center;
	width: 1.5em;
	height: 1.5em;
	transition: background-color 300ms ease-out, color 300ms ease-out;
}
.fullscreen-layout-close-button:hover,
.fullscreen-layout-close-button:focus {
	background-color: #b24539;
	color: #fff;
}
/* Main content: all */
.main-body {
	display: flex;
	max-width: var(--content-max-width);
	padding-left: 16px;
	padding-right: 16px;
	margin-left: auto;
	margin-right: auto;
	gap: 16px;
}
.main-body > .content {
	flex-grow: 1;
}
.sidebar {
	flex-shrink: 0;
	flex-grow: 0;
}
.sidebar > section:not(:first-child) {
	margin-top: 1rem;
}
/* Main content: wide */
@media all and (min-width: 1108px) {
	.content {
		order: 1;
	}
	.sidebar-1 {
		width: 250px;
		order: 0;
	}
	.sidebar-2 {
		width: 250px;
		order: 2;
	}
}
/* Main content: narrow */
@media not all and (min-width: 1108px) {
	.main-body {
		flex-direction: column;
	}
	.content {
		order: 0;
	}
	.sidebar-1 {
		width: 100%;
		order: 1;
	}
	.sidebar-2 {
		width: 100%;
		order: 2;
	}
}
/* A wrapper for normal content, which needs padding on narrow screens */
.limit-content {
	display: flow-root;
	max-width: var(--content-max-width);
	padding-left: 1rem;
	padding-right: 1rem;
	margin-left: auto;
	margin-right: auto;
}
@media print {
	.limit-content { padding-left: 0; padding-right: 0; }
}
/* A wrapper for content with no padding (image slideshow, etc.) */
.sheet {
	display: flow-root;
	max-width: var(--content-max-width);
	margin-left: auto;
	margin-right: auto;
}
/* Hide on print. */
@media print {
	.hide-on-print { display: none !important; }
}
/* Show only on print. */
@media not print {
	.show-on-print { display: none !important; }
}
/* Template */
.top {
	margin-top: 32px;
}
.l-top {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
}
.bottom {
	margin-top: 2em;
	color: #666;
}
.main-body {
	margin-top: 2em;
}
.main-menu > li:not(:first-child) {
	margin-left: 1em;
}
.main-menu > li:not(:first-child)::before {
	speak: never;
	pointer-events: none;
	content: "|";
	color: #999;
	margin-right: 1em;
}
.main-menu a {
	transition: color 300ms ease-out;
}
.main-menu a:hover,
.main-menu a:focus {
	color: #6731b9;
	text-decoration: underline;
	outline: none;
}
.category_description:not(:first-child) {
	margin-top: 1em;
}
.mod-languages a {
	display: inline-block;
	padding: .2em .4em;
	border-radius: .2em;
}
.mod-languages .lang-active > a {
	background: #253c72;
	color: #fff;
}
