@import url("_base.css");
@import url("_editor-site.css");
@import url("_joomla.css");
@import url("_vertical-menu.css");
@import url("_mobile-menu.css");
/* Page */
html {
	background: #fff;
	color: #000;
	font: 14px / 1.3 var(--base-fonts);
	--menu-left-size: min(100% - 1108px, 596px);
}
@media all and (min-width: 1108px) {
	html {
		font-size: 16px;
	}
}
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;
}
/* Main content: all */
.main-body {
	display: flex;
	max-width: var(--content-max-width);
	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 */
.top {
	padding-top: 16px;
	margin-left: var(--menu-left-size);
}
/* top: line 1 */
.l-top {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}
.top-slogans {
	font-size: 1.1em;
}
@media not all and (min-width: 1108px) {
	.l-top {
		padding-right: 22px;
	}
}
/* main menu */
.main-nav {
	box-sizing: border-box;
	background: #414858;
	background-image: linear-gradient(to right, #586381, #414858);
	color: #fff;
	padding: 8px 16px;
	position: fixed;
	z-index: 9;
	left: 0;
	top: 0;
	height: 100%;
	width: var(--menu-left-size);
	overflow: auto;
	overflow-wrap: break-word;
	overscroll-behavior: contain;
}
.main-nav .lang-switcher,
.main-menu {
	max-width: 335px;
	margin-left: auto;
}
.main-nav .lang-switcher {
	text-align: center;
}
.main-nav .lang-switcher a {
	all: revert;
	color: #fff;
	display: inline-block;
	padding: 6px 12px 5px 12px;
	transition: background-color 300ms ease-out, color 300ms ease-out;
	outline: none;
}
.main-nav .lang-switcher a:hover,
.main-nav .lang-switcher a:focus {
	background-color: #f0d799;
	color: #000;
}
.main-nav .lang-switcher li,
.main-nav .lang-switcher li.lang-active {
	all: revert;
	list-style: none;
	display: inline;
}
.main-nav .lang-switcher li > a {
	text-decoration: none;
}
.main-nav .lang-switcher .lang-active > a {
	text-decoration: underline;
}
.main-menu a:hover,
.main-menu a:focus {
	text-decoration: underline;
}
.main-menu .active > a {
	font-weight: bold;
}
.main-menu > li:not(:first-child) {
	margin-top: 8px;
	padding-top: 8px;
	border-top: 1px solid rgba(255,255,255,.15);
}
.main-menu a {
	display: block;
	padding: 6px 12px 5px 12px;
	transition: background-color 300ms ease-out, color 300ms ease-out;
	outline: none;
	text-transform: uppercase;
}
.main-menu a:hover,
.main-menu a:focus {
	background-color: #f0d799;
	color: #000;
	text-decoration: none;
}
/* main content */
.c-main {
	margin-top: 1em;
	margin-bottom: 1em;
	margin-left: var(--menu-left-size);
}
/* information form */
.information-w {
	margin-top: 1em;
}
.form-information-input {
	margin-top: .25em;
	box-sizing: border-box;
	width: 100%;
	padding: 6px 40px 6px 16px;
	transition: border-color 300ms ease-out;
	border: 2px solid #c9c9c9;
	border-radius: 2px;
	background: #fff right 8px top 50% / 24px 24px no-repeat;
	color: #000;
	outline: none;
}
.form-information-input:focus {
	border-color: #3daee9;
}
.form-information-input:invalid {
	background-image: url("../images/invalid.svg");
}
.form-information .form-unit:not(:first-child) {
	margin-top: 1em;
}
/* document list */
.documents {
	margin-top: 1em;
}
.documents-list {
	list-style: none;
}
.documents-list:not(:first-child) {
	margin-top: 1em;
}
.documents-list > li:not(:first-child) {
	margin-top: .5em;
}
/* order: new */
.order-new {
	margin-top: 1em;
}
.order-new .form-unit:not(:first-child) {
	margin-top: 1em;
}
.form-new-input {
	margin-top: .25em;
	box-sizing: border-box;
	width: 100%;
	padding: 6px 40px 6px 16px;
	border: 2px solid #c9c9c9;
	border-radius: 2px;
	background: #fff right 8px top 50% / 24px 24px no-repeat;
	color: #000;
	outline: none;
}
.form-new-input[type="file"] {
	transition: border-color 300ms ease-out;
}
.form-new-input:focus {
	border-color: #3daee9;
}
.form-new-input:invalid {
	background-image: url("../images/invalid.svg");
}
/* task list */
.tasks {
	margin-top: 1em;
}
.task-list {
	list-style: none;
}
.task-list:not(:first-child) {
	margin-top: 1em;
}
.task-list > li {
	padding: .5em;
	background: #fafafa;
	color: #000;
	border: 1px solid #e5decb;
}
.task-list > li > div:first-child {
	font-weight: bold;
	background: #fff3d5;
	color: #000;
	padding: .25em .5em;
	margin-bottom: .5em;
}
.task-list > li:not(:first-child) {
	margin-top: 1em;
}
/* task form */
.task-form {
	margin-top: 1em;
}
.task-form .form-unit:not(:first-child) {
	margin-top: 1em;
}
.task-form-input[type="file"] {
	box-sizing: border-box;
	width: 100%;
	padding: 6px 40px 6px 16px;
	border: 2px solid #c9c9c9;
	border-radius: 2px;
	background: #fff right 8px top 50% / 24px 24px no-repeat;
	color: #000;
}
/* list of information items */
.info-list {
	display: flex;
	flex-wrap: wrap;
	gap: 1em;
	align-items: center;
	justify-content: space-between;
	border: 1px solid #fde9b7;
}
.info-list:not(:first-child) {
	margin-top: 1em;
}
.info-list > li {
	list-style: none;
}
.info-list > li:nth-child(n + 3) {
	margin-top: 1em;
}
.info-list > li.info-list-picture {
	width: 150px;
	flex-shrink: 0;
	flex-grow: 0;
	background: #fffaed;
	padding: 1em;
}
.info-list > li:not(.info-list-picture) {
	box-sizing: border-box;
	padding: 1em;
	width: calc(100% - 150px - 3em);
}
@media all and (max-width: 600px) {
	.info-list > li:not(.info-list-picture) {
		width: 100%;
	}
	.info-list {
		flex-direction: column;
		justify-content: center;
	}
	.info-list > li.info-list-picture {
		order: -1;
		margin-top: 1em;
	}
}
.note-1 {
	padding: 1em;
	background: #f1ffe8;
	border: 1px solid #c5d0bd;
}
.note-1:not(:first-child) {
	margin-top: 1em;
}
@media all and (min-width: 1350px) {
	.top,
	.c-main {
		padding-left: 32px;
		max-width: var(--content-max-width);
		padding-right: 32px;
	}
}
@media not all and (min-width: 1350px) {
	.top,
	.c-main {
		display: flow-root;
		max-width: var(--content-max-width);
		padding-left: 1rem;
		padding-right: 1rem;
		margin-left: auto;
		margin-right: auto;
	}
}
.page-calc {
	height: calc(100vh - 116px);
}
/* Invoice */
.invoice-form:not(:first-child),
.invoice-form-unit:not(:first-child) {
	margin-top: 1em;
}
.invoice-form-input {
	width: 100%;
	margin-top: .2em;
	padding: 2px;
}
/* Invoice document */
.invoice-document-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2em;
}
.invoice-document-heading-1 {
	font-size: 60pt;
	font-weight: bold;
}
.invoice-document-date-num {
	margin-top: 4em;
	font-weight: bold;
}
.invoice-notice {
	border: 1px solid #bbd5b6;
	background: #e0ffda;
	color: #000;
	padding: 8px 16px;
}
.invoice-notice:not(:first-child) {
	margin-top: 1em;
}
.invoice-table {
	width: 100%;
	border-collapse: collapse;
}
.invoice-table > * > tr > td,
.invoice-table > * > tr > th {
	border: 1px solid #666;
	padding: .25em .5em;
}
.invoice-table > * > tr > td:last-child {
	text-align: center;
}
/* Invoices list */
.invoices-list {
	margin-top: 1em;
}
.invoices-list > li {
	list-style: none;
}
.invoices-list > li:not(:first-child) {
	margin-top: 1em;
	border-top: 1px dashed #666;
	padding-top: 1em;
}
.page-invoice .top,
.page-invoice .com-content-article.item-page {
	display: none;
}
.invoices-delete-form:not(:first-child) {
	margin-top: .5em;
}
.form-add-user-input {
	width: 100%;
	padding: 4px 8px;
	margin-top: .2em;
}
.form-add-user .form-unit:not(:first-child) {
	margin-top: 1em;
}
