@font-face { font-family: "PT Sans"; font-style: normal; font-weight: normal; src: local("PT Sans"), local("PTSans-Regular"), url("../fonts/pt-sans-regular.woff2") format("woff2"), url("../fonts/pt-sans-regular.woff") format("woff"), url("../fonts/pt-sans-regular.ttf") format("truetype"); font-display: swap; }
@font-face { font-family: "PT Sans"; font-style: normal; font-weight: bold; src: local("PT Sans Bold"), local("PTSans-Bold"), url("../fonts/pt-sans-bold.woff2") format("woff2"), url("../fonts/pt-sans-bold.woff") format("woff"), url("../fonts/pt-sans-bold.ttf") format("truetype"); font-display: swap; }
@font-face { font-family: "PT Sans"; font-style: italic; font-weight: normal; src: local("PT Sans Italic"), local("PTSans-Italic"), url("../fonts/pt-sans-italic.woff2") format("woff2"), url("../fonts/pt-sans-italic.woff") format("woff"), url("../fonts/pt-sans-italic.ttf") format("truetype"); font-display: swap; }
@font-face { font-family: "PT Sans"; font-style: italic; font-weight: bold; src: local("PT Sans Bold Italic"), local("PTSans-BoldItalic"), url("../fonts/pt-sans-bold-italic.woff2") format("woff2"), url("../fonts/pt-sans-bold-italic.woff") format("woff"), url("../fonts/pt-sans-bold-italic.ttf") format("truetype"); font-display: swap; }
@font-face {
	font-family: "Material Design Icons";
	src: url("../fonts/materialdesignicons.woff2") format("woff2"), url("../fonts/materialdesignicons.ttf") format("truetype");
	font-weight: normal;
	font-style: normal;
}
* { font: inherit; margin: 0; padding: 0; }
html {
	--base-fonts: "PT Sans", system-ui, sans-serif;
	--heading-fonts: var(--base-fonts);
	--sidebar-1-width: 250px;
	--sidebar-2-width: 250px;
	--sidebar-horizontal-gap: 16px;
	--sidebar-section-vertical-gap: 1rem;
	--vertical-space-base: 1rem;
	--blog-horizontal-gap: 1.5rem;
	--blog-vertical-gap: 1.5rem;
	--default-line-height: 1.22;
	background: #fff url("../images/bg.png") center top repeat;
	color: #000;
	font: 13pt var(--base-fonts);
	font-size-adjust: ex-height .5;
	line-height: var(--default-line-height);
}
@media all and (min-width: 1280px) {
	html { font-size: 14pt; }
}
body {
	min-width: 320px;
	max-width: 1920px;
	margin: 0 auto;
}
a img { border: none; }
a { color: inherit; text-decoration: none; }
b, strong, th { font-weight: bold; }
i, em { font-style: italic; }
fieldset { border: none; }
input, textarea, select, option, button { box-sizing: border-box; }
[hidden] { display: none !important; }
sub, sup { font-size: smaller; }
button::-moz-focus-inner, input[type="submit"]::-moz-focus-inner { border: 0; padding: 0; }
.web-icon {
	display: inline-block;
	font: normal normal normal 1.5em/1 "Material Design Icons";
	font-size: inherit;
	text-rendering: auto;
	line-height: inherit;
	text-transform: none;
	letter-spacing: normal;
	word-wrap: normal;
	vertical-align: middle;
}
.web-icon-baseline {
	display: inline-block;
	font: normal normal normal 1.5em/1 "Material Design Icons";
	font-size: inherit;
	text-rendering: auto;
	line-height: inherit;
	text-transform: none;
	letter-spacing: normal;
	word-wrap: normal;
	vertical-align: baseline;
}
.clearfix::after, .sidebar-1 > section::after, .sidebar-2 > section::after, .category-desc::after, .items-row.cols-2::after, .items-row.cols-3::after, .items-row.cols-4::after, .items-row.cols-5::after, .items-row.cols-6::after, .items-row.cols-7::after, .items-row.cols-8::after, .items-row.cols-9::after, .items-row.cols-10::after, .items-row.cols-11::after, .items-row.cols-12::after { content: ""; display: block; clear: both; }
@supports (display: flow-root) { .clearfix, .sidebar-1 > section, .sidebar-2 > section, .category-desc, .items-row.cols-2, .items-row.cols-3, .items-row.cols-4, .items-row.cols-5, .items-row.cols-6, .items-row.cols-7, .items-row.cols-8, .items-row.cols-9, .items-row.cols-10, .items-row.cols-11, .items-row.cols-12 { display: flow-root; }
  .clearfix::after, .sidebar-1 > section::after, .sidebar-2 > section::after, .category-desc::after, .items-row.cols-2::after, .items-row.cols-3::after, .items-row.cols-4::after, .items-row.cols-5::after, .items-row.cols-6::after, .items-row.cols-7::after, .items-row.cols-8::after, .items-row.cols-9::after, .items-row.cols-10::after, .items-row.cols-11::after, .items-row.cols-12::after { content: none; display: none; clear: none; } }
.limit-content, .front-info > .wrap, .stages > .wrap, .last-works > .wrap { max-width: 1280px; box-sizing: border-box; margin-left: auto; margin-right: auto; }
@media all and (max-width: 1311px) { .limit-content, .front-info > .wrap, .stages > .wrap, .last-works > .wrap { padding-left: 16px; padding-right: 16px; } }
table.equal-cage-top, table.equal-cage-middle, table.equal-cage-bottom { border-collapse: collapse; table-layout: fixed; width: 100%; }
table.equal-cage-top:not(:first-child), table.equal-cage-middle:not(:first-child), table.equal-cage-bottom:not(:first-child) { margin-top: 1em; }
table.equal-cage-top > tbody > tr > td { vertical-align: top; }
table.equal-cage-middle > tbody > tr > td { vertical-align: middle; }
table.equal-cage-bottom > tbody > tr > td { vertical-align: bottom; }
table.simple { border-collapse: collapse; margin-left: auto; margin-right: auto; }
table.simple:not(:first-child) { margin-top: 1em; }
table.simple > thead > tr > td, table.simple > thead > tr > th, table.simple > tbody > tr > td, table.simple > tbody > tr > th, table.simple > tfoot > tr > td, table.simple > tfoot > tr > th { border: 1px solid #AAA; padding: 8px; }
table.simple > thead > tr > td, table.simple > tbody > tr > td, table.simple > tfoot > tr > td { vertical-align: top; }
table.simple > thead > tr > th, table.simple > tbody > tr > th, table.simple > tfoot > tr > th { vertical-align: middle; }
table.bordered:not(:first-child) { margin-top: 1em; }
table.bordered > thead > tr > td, table.bordered > thead > tr > th, table.bordered > tbody > tr > td, table.bordered > tbody > tr > th, table.bordered > tfoot > tr > td, table.bordered > tfoot > tr > th { border: 1px solid #666; }
table.spaced-cells > thead > tr > td, table.spaced-cells > thead > tr > th, table.spaced-cells > tbody > tr > td, table.spaced-cells > tbody > tr > th, table.spaced-cells > tfood > tr > td, table.spaced-cells > tfood > tr > th { padding: .5em .5ex; }
table.spaced-cells > thead > tr > td:first-child, table.spaced-cells > thead > tr > th:first-child, table.spaced-cells > tbody > tr > td:first-child, table.spaced-cells > tbody > tr > th:first-child, table.spaced-cells > tfood > tr > td:first-child, table.spaced-cells > tfood > tr > th:first-child { padding-left: 0; }
table.spaced-cells > thead > tr > td:last-child, table.spaced-cells > thead > tr > th:last-child, table.spaced-cells > tbody > tr > td:last-child, table.spaced-cells > tbody > tr > th:last-child, table.spaced-cells > tfood > tr > td:last-child, table.spaced-cells > tfood > tr > th:last-child { padding-right: 0; }
table.spaced-cells > :first-child > tr:first-child > td, table.spaced-cells > :first-child > tr:first-child > th { padding-top: 0; }
table.spaced-cells > :last-child > tr:last-child > td, table.spaced-cells > :last-child > tr:last-child > th { padding-bottom: 0; }
table.spaced-rows > thead > tr > td, table.spaced-rows > thead > tr > th, table.spaced-rows tbody > tr > td, table.spaced-rows tbody > tr > th, table.spaced-rows tfood > tr > td, table.spaced-rows tfood > tr > th { padding-top: .5em; padding-bottom: .5em; }
table.spaced-rows > :first-child > tr:first-child > td, table.spaced-rows > :first-child > tr:first-child > th { padding-top: 0; }
table.spaced-rows > :last-child > tr:last-child > td, table.spaced-rows > :last-child > tr:last-child > th { padding-bottom: 0; }
table.symmetrical-aligned-cells > tbody > tr > td { text-align: center; }
table.symmetrical-aligned-cells > tbody > tr > td:first-child { text-align: left; }
table.symmetrical-aligned-cells > tbody > tr > td:last-child { text-align: right; }
table.wide { width: 100%; }
@media print { table.collapse-on-print > tbody, table.collapse-on-print > tbody > tr, table.collapse-on-print > tbody > tr > td { display: block !important; width: auto !important; text-align: left !important; }
  table.collapse-on-print > thead, table.collapse-on-print > tfoot { display: none !important; }
  table.collapse-on-print > tbody > tr:not(:first-child) > td { padding: 1em 0 0 0 !important; }
  table.collapse-on-print > tbody > tr:first-child > td:not(:first-child) { padding: 1em 0 0 0 !important; } }
.pull-right { float: right; margin-left: 2rem; }
.pull-left { float: left; margin-right: 2rem; }
input, textarea, select, option, button {
	line-height: var(--default-line-height);
	background: #fff;
	color: #000;
}
input, textarea, select { border: 1px solid #ccc; padding: 6px 10px; }
option { padding: 3px 8px; }
input[type="button"]:not([class]), input[type="button"].default-styles, input[type="submit"]:not([class]), input[type="submit"].default-styles, button:not([class]), button.default-styles { background: #2f2f2f; border: none; color: #fff; padding: .5em 1em; transition: background-color 300ms ease-out; }
input[type="button"]:not([class]):hover, input[type="button"]:not([class]):focus, input[type="button"].default-styles:hover, input[type="button"].default-styles:focus, input[type="submit"]:not([class]):hover, input[type="submit"]:not([class]):focus, input[type="submit"].default-styles:hover, input[type="submit"].default-styles:focus, button:not([class]):hover, button:not([class]):focus, button.default-styles:hover, button.default-styles:focus { background-color: #000; }
a.as-button { display: inline-block; background: #2f2f2f; border: none; color: #fff; padding: .5em 1em; line-height: var(--default-line-height); text-decoration: none; transition: background-color 300ms ease-out; }
a.as-button:hover, a.as-button:focus { background-color: #000; }
h1, h2, h3, h4, h5, h6 { page-break-after: avoid; page-break-inside: avoid; font-family: var(--heading-fonts); line-height: var(--default-line-height); }
h1:not([class]):not(:first-child), h1.default-styles:not(:first-child), h2:not([class]):not(:first-child), h2.default-styles:not(:first-child), h3:not([class]):not(:first-child), h3.default-styles:not(:first-child), h4:not([class]):not(:first-child), h4.default-styles:not(:first-child), h5:not([class]):not(:first-child), h5.default-styles:not(:first-child), h6:not([class]):not(:first-child), h6.default-styles:not(:first-child) { margin-top: 1.2em; }
h1.site-heading {
	font-family: var(--base-fonts);
	padding: .2em .5em;
}
@media not print {
	h1.site-heading {
		background: #ed6562;
		background: linear-gradient(to right, #ed6562, #d75c59);
		color: #fff;
		box-shadow: 2px 2px 2px 0 rgba(0,0,0,.1);
	}
}
h1:not([class]), h1.default-styles,
h2:not([class]), h2.default-styles {
	font-size: 18pt;
	font-weight: bold;
	border-bottom: 2px solid #ed6562;
	padding-bottom: .1em;
	color: #e55754;
	text-shadow: 1px 1px 1px rgba(0,0,0,.1);
}
@media all and (min-width: 1200px) {
	h1:not([class]), h1.default-styles,
	h2:not([class]), h2.default-styles {
		font-size: 22pt;
	}
}
@media not all and (min-width: 1200px) {
	h1:not([class]), h1.default-styles,
	h2:not([class]), h2.default-styles {
		text-align: center;
		background: #ed6562;
		color: #fff;
		border: none;
	}
}
h3:not([class]), h3.default-styles { font-size: 18pt; font-weight: bold; color: #245978; border-bottom: 1px solid #cedbe2; text-shadow: 1px 1px 1px rgba(0,0,0,.1); }
h4:not([class]), h4.default-styles { font-size: 16pt; font-weight: bold; }
h5:not([class]), h5.default-styles { font-size: 14pt; font-weight: bold; }
h6:not([class]), h6.default-styles { font-size: 13pt; font-weight: bold; }
hr { border: none; border-top: 1px dashed #79868d; height: 0; overflow: hidden; max-width: 220px; margin-left: auto; margin-right: auto; }
hr:not(:first-child) { margin-top: 1em; }
.fullscreen-layout { position: fixed; z-index: 50; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.5); overflow: auto; overscroll-behavior: contain; }
.l-basic { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; }
.l-basic-start { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; }
.l-basic-end { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; }
.l-promo:not(:first-child) { margin-top: 1em; }
.l-promo > :nth-child(2) { margin-top: 1em; }
.l-promo img { vertical-align: top; }
p.iconized {
	text-indent: -.65em;
	margin-left: 1.2em;
}
p.iconized:not(:first-child) {
	margin-top: 1em;
}
p.iconized + p.iconized {
	margin-top: .5em;
}
p.promo-text {
	font-size: .9em;
}
p.promo-text:not(:first-child) {
	margin-top: 1em;
}
.promo-controls:not(:first-child) { margin-top: 1em; }
@media print {
	.promo-controls {
		display: none;
	}
}
@media all and (min-width: 1200px) {
	.l-promo { display: flex; align-items: flex-start; justify-content: space-between; }
	.l-promo > :first-child { width: calc(70% - 32px); text-align: left; }
	.l-promo > :nth-child(2) { width: 30%; margin-top: 0; text-align: right; }
	.l-promo._alt > :first-child { order: 2; }
	.l-promo._alt > :nth-child(2) { text-align: left; }
}
@media not all and (min-width: 1200px) {
	.front-info .l-promo > :nth-child(2) > p:first-child {
		display: none;
	}
	.stages .l-promo > :nth-child(2) {
		display: none;
	}
}
.button-1, .readmore > a { display: inline-block; padding: 11px 15px 11px 12px; background: #4d98c5; color: #fff; cursor: pointer; transition: background-color 300ms ease-out, color 300ms ease-out; text-align: center; border: 1px solid #30627c; border-left-width: 4px; }
.button-1:hover, .readmore > a:hover, .button-1:focus, .readmore > a:focus { background-color: #fff; color: #30627c; }
.button-2 { display: inline-block; padding: 11px 15px 11px 12px; background: #559f6e; color: #fff; cursor: pointer; transition: background-color 300ms ease-out, color 300ms ease-out; text-align: center; border: 1px solid #25462f; border-left-width: 4px; }
.button-2:hover, .button-2:focus { background-color: #fff; color: #25462f; }
.button-front-info-portfolio,
.button-front-info-contacts {
	box-sizing: border-box;
	width: 100%;
	max-width: 357px;
	display: inline-block;
	padding: 11px 15px 11px 12px;
	background: #fff;
	color: #1d3b4b;
	cursor: pointer;
	transition: background-color 300ms ease-out, color 300ms ease-out, border-left-color 300ms ease-out;
	text-align: center;
	border: 1px solid #30627c;
	border-left-width: 4px;
}
.button-front-info-portfolio:hover,
.button-front-info-portfolio:focus,
.button-front-info-contacts:hover,
.button-front-info-contacts:focus {
	background-color: #3c7597;
	color: #fff;
	border-left-color: #23465b;
}
.l-prices { font-size: 13pt; line-height: 1.4; }
.l-prices:not(:first-child) { margin-top: 2em; }
.l-prices > .wrap { display: flex; flex-wrap: wrap; align-items: stretch; justify-content: space-around; gap: 2em; }
.price-item {
	contain: content;
	box-sizing: border-box;
	width: 508px;
	max-width: 100%;
	box-shadow: 0 0 4px 2px rgba(0, 0, 0, 0.2);
	padding: 12px;
	outline: 2px solid rgba(249,89,89,0);
	transition: outline-color 300ms ease-out;
	background: #fff;
	color: #000;
}
.price-item:hover,
.price-item:focus {
	outline-color: #d57c7a;
}
.data-title { font-size: 16pt; line-height: var(--default-line-height); background: #888; color: #fff; padding: 4px 8px 5px 8px; transition: background-color 300ms ease-out, color 300ms ease-out; }
.price-item:nth-child(odd) .data-title {
	background: #d9d1bd;
	color: #000;
}
.price-item:nth-child(even) .data-title {
	background: #4a75a7;
	color: #fff;
}
.price-item:hover .data-title, .price-item:focus .data-title { background-color: #d57c7a !important; color: #fff !important; }
.price-w { float: right; margin-top: 1em; margin-left: .5em; }
.price { display: inline-block; padding: 0 8px 5px 8px; border-bottom: 1px solid #000; font-size: 16pt; font-weight: bold; color: #000; }
.button-contact-us {
	display: inline-block;
	padding: .5em 1em;
	background: #fff;
	color: #1d3b4b;
	cursor: pointer;
	transition: background-color 300ms ease-out, color 300ms ease-out, border-left-color 300ms ease-out;
	text-align: center;
	border: 1px solid #30627c;
	border-left-width: 4px;
	font-size: 18pt;
}
.button-contact-us:hover,
.button-contact-us:focus {
	background-color: #3c7597;
	color: #fff;
	border-left-color: #23465b;
}
.l-portfolio { display: flex; flex-wrap: wrap; align-items: stretch; justify-content: space-around; font-size: 13pt; line-height: 1.4; gap: 2em; }
.l-portfolio:not(:first-child) { margin-top: 2em; }
.portfolio-item {
	contain: content;
	box-sizing: border-box;
	width: 508px;
	max-width: 100%;
	box-shadow: 0 0 4px 2px rgba(0, 0, 0, 0.2);
	padding: 12px;
	outline: 2px solid rgba(249,89,89,0);
	transition: outline-color 300ms ease-out;
	background: #fff;
	color: #000;
}
.portfolio-item:hover,
.portfolio-item:focus {
	outline-color: #ed6562;
}
.portfolio-item img {
	vertical-align: top;
	max-width: 100%;
}
.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; }
.space-above { margin-top: var(--vertical-space-base); }
.space-below { margin-bottom: var(--vertical-space-base); }
.space-above-2x { margin-top: calc(var(--vertical-space-base) * 2); }
.space-below-2x { margin-top: calc(var(--vertical-space-base) * 2); }
.space-above-3x { margin-top: calc(var(--vertical-space-base) * 3); }
.space-below-3x { margin-top: calc(var(--vertical-space-base) * 3); }
.space-above-4x { margin-top: calc(var(--vertical-space-base) * 4); }
.space-below-4x { margin-top: calc(var(--vertical-space-base) * 4); }
.space-above-5x { margin-top: calc(var(--vertical-space-base) * 5); }
.space-below-5x { margin-top: calc(var(--vertical-space-base) * 5); }
.sidebar-1 { float: left; width: var(--sidebar-1-width); }
.sidebar-1 ~ .content { margin-left: calc(var(--sidebar-1-width) + var(--sidebar-horizontal-gap)); }
.sidebar-1 > section:not(:first-child) { margin-top: var(--sidebar-section-vertical-gap); }
.sidebar-2 { float: right; width: var(--sidebar-2-width); }
.sidebar-2 ~ .content { margin-right: calc(var(--sidebar-2-width) + var(--sidebar-horizontal-gap)); }
.sidebar-2 > section:not(:first-child) { margin-top: var(--sidebar-section-vertical-gap); }
@media print { .hide-on-print { display: none !important; } }
@media not print { .show-on-print { display: none !important; } }
.tip-wrap { background: #fff; color: #000; border: 1px solid #999; padding: 3px; }
.tooltip { display: none !important; }
.blog .item-image { text-align: center; margin-top: 1em; }
@media all and (max-width: 640px) { .blog .item-image { float: none; margin-left: auto; margin-right: auto; } }
.article-icons { float: right; }
.article-icons-items { margin: 0; }
.article-icons-items > li { display: inline-block; }
.article-icons-items > li:not(:first-child) { margin-left: 1ex; }
span.highlight { background-color: #ffffcc; font-weight: bold; padding: 1px 4px; }
#article-index li { display: inline; border-left: 1px solid #d1d1d1; margin-left: .5ex; padding-left: .75ex; }
#article-index li:first-child { margin-left: 0; padding-left: 0; border-left: none; }
.category-desc + .cat-items { margin-top: 1em; }
.readmore:not(:first-child) { margin-top: 1em; }
.navigation, .pagination { clear: both; padding-top: 1em; text-align: center; }
.navigation > ul, .pagination > ul { display: inline-block; margin: 0 !important; border: 1px solid #006198; border-radius: .2em; background: #006198; color: #fff; }
.navigation > ul > li, .pagination > ul > li { display: inline-block; margin: 0 !important; }
.navigation > ul > li > *, .pagination > ul > li > * { display: block; border-left: 1px solid #006198; padding: .3em .5em; text-decoration: none; }
.navigation > ul > li > a:hover, .navigation > ul > li > span, .pagination > ul > li > a:hover, .pagination > ul > li > span { background-color: #0070b0; color: #fff; }
.navigation > ul > li:first-child > *, .pagination > ul > li:first-child > * { border-left: none; }
.navigation > ul > li.pagination-start > *, .navigation > ul > li.pagination-prev > *, .navigation > ul > li.pagination-next > *, .navigation > ul > li.pagination-end > *, .pagination > ul > li.pagination-start > *, .pagination > ul > li.pagination-prev > *, .pagination > ul > li.pagination-next > *, .pagination > ul > li.pagination-end > * { background: transparent; color: inherit; }
.navigation > .counter, .pagination > .counter { display: inline-block; margin: 0; }
#system-message-container { position: relative; }
#system-message-container .alert { background: #fbf9f9; border: 1px solid #ccc; padding: 8px 14px; color: #000; }
#system-message-container .alert h4 { color: #000064; margin: 5px 0; }
#system-message-container .alert p { padding: 0; margin: 0; }
#system-message-container .close { position: absolute; right: 4px; top: 0; cursor: pointer; text-decoration: none; border: none; background: transparent; color: inherit; font-size: 16pt; }
#system-message-container .close:focus, #system-message-container .close:hover { text-shadow: 2px 2px 2px rgba(0, 0, 0, 0.3); }
.option-com_content.view-category .category-list .category { margin-top: 1em; width: 100%; border-collapse: collapse; }
.option-com_content.view-category .category-list .category > * > tr > td, .option-com_content.view-category .category-list .category > * > tr > th { vertical-align: top; padding: 8px 16px; border: 1px solid #ddd; }
.option-com_content.view-category .category-list .category a { text-decoration: none !important; }
.option-com_content.view-category .category-list .category a:hover, .option-com_content.view-category .category-list .category a:focus { text-decoration: underline !important; }
.item-page > .page-header { margin-bottom: 1rem; }
.login { margin-top: 1em; }
.login fieldset { display: table; }
.login .controls { margin-top: 1em; }
.login .control-label { float: left; width: 15ex; }
.login .control-group { clear: left; }
.icon-calendar { display: inline-block; background: transparent url("../../../media/system/images/calendar.png"); width: 16px; height: 16px; }
.content #searchForm { margin-top: 1em; }
.content #searchForm .btn-toolbar button::before { content: "➟"; }
.content #searchForm fieldset { margin-top: 1em; }
.content #searchForm legend { margin-bottom: .5em; }
.content #searchForm .ordering-box { margin-top: 1em; }
.content #searchForm + .error { margin-top: 1em; font-weight: bold; }
.content .search-results .result-title { margin-top: 1em; font-size: 1.2em; }
.content .search-results .result-category, .content .search-results .result-text { margin-top: .5em; }
.items-row.cols-2 > .item { float: left; width: calc((100% - var(--blog-horizontal-gap) * 1) / 2); }
.items-row.cols-2 > .item:not(:first-child) { margin-left: var(--blog-horizontal-gap); }
.items-row.cols-2:not(:first-child) { margin-top: var(--blog-vertical-gap); }
.items-row.cols-3 > .item { float: left; width: calc((100% - var(--blog-horizontal-gap) * 2) / 3); }
.items-row.cols-3 > .item:not(:first-child) { margin-left: var(--blog-horizontal-gap); }
.items-row.cols-3:not(:first-child) { margin-top: var(--blog-vertical-gap); }
.items-row.cols-4 > .item { float: left; width: calc((100% - var(--blog-horizontal-gap) * 3) / 4); }
.items-row.cols-4 > .item:not(:first-child) { margin-left: var(--blog-horizontal-gap); }
.items-row.cols-4:not(:first-child) { margin-top: var(--blog-vertical-gap); }
.items-row.cols-5 > .item { float: left; width: calc((100% - var(--blog-horizontal-gap) * 4) / 5); }
.items-row.cols-5 > .item:not(:first-child) { margin-left: var(--blog-horizontal-gap); }
.items-row.cols-5:not(:first-child) { margin-top: var(--blog-vertical-gap); }
.items-row.cols-6 > .item { float: left; width: calc((100% - var(--blog-horizontal-gap) * 5) / 6); }
.items-row.cols-6 > .item:not(:first-child) { margin-left: var(--blog-horizontal-gap); }
.items-row.cols-6:not(:first-child) { margin-top: var(--blog-vertical-gap); }
.items-row.cols-7 > .item { float: left; width: calc((100% - var(--blog-horizontal-gap) * 6) / 7); }
.items-row.cols-7 > .item:not(:first-child) { margin-left: var(--blog-horizontal-gap); }
.items-row.cols-7:not(:first-child) { margin-top: var(--blog-vertical-gap); }
.items-row.cols-8 > .item { float: left; width: calc((100% - var(--blog-horizontal-gap) * 7) / 8); }
.items-row.cols-8 > .item:not(:first-child) { margin-left: var(--blog-horizontal-gap); }
.items-row.cols-8:not(:first-child) { margin-top: var(--blog-vertical-gap); }
.items-row.cols-9 > .item { float: left; width: calc((100% - var(--blog-horizontal-gap) * 8) / 9); }
.items-row.cols-9 > .item:not(:first-child) { margin-left: var(--blog-horizontal-gap); }
.items-row.cols-9:not(:first-child) { margin-top: var(--blog-vertical-gap); }
.items-row.cols-10 > .item { float: left; width: calc((100% - var(--blog-horizontal-gap) * 9) / 10); }
.items-row.cols-10 > .item:not(:first-child) { margin-left: var(--blog-horizontal-gap); }
.items-row.cols-10:not(:first-child) { margin-top: var(--blog-vertical-gap); }
.items-row.cols-11 > .item { float: left; width: calc((100% - var(--blog-horizontal-gap) * 10) / 11); }
.items-row.cols-11 > .item:not(:first-child) { margin-left: var(--blog-horizontal-gap); }
.items-row.cols-11:not(:first-child) { margin-top: var(--blog-vertical-gap); }
.items-row.cols-12 > .item { float: left; width: calc((100% - var(--blog-horizontal-gap) * 11) / 12); }
.items-row.cols-12 > .item:not(:first-child) { margin-left: var(--blog-horizontal-gap); }
.items-row.cols-12:not(:first-child) { margin-top: var(--blog-vertical-gap); }
.top-1 { padding-top: 16px; padding-bottom: 16px; }
.l-top-1 { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; }
@media all and (max-width: 680px) { .l-top-1 { flex-direction: column; line-height: 1.7; } }
.top-1-site-name { font-size: 18pt; }
.top-1-site-name-prefix { font-size: 14pt; }
.top-1-site-name-value { font-weight: bold; }
.top-1-phone { font-size: 18pt; }
.top-1-site-name > a:focus, .top-1-phone > a:focus { text-decoration: underline; }
.lang-selector > li { list-style: none; display: inline; }
.lang-selector > li:not(:first-child)::before { content: " - "; pointer-events: none; speak: never; color: #666; }
.lang-selector > .active > a, .lang-selector a:hover, .lang-selector a:focus { text-decoration: underline; text-underline-offset: .3em; }
.top-2 { background: #4d98c5; background-image: linear-gradient(to right, #4d98c5, #4a75a7); color: #fff; padding-top: 8px; padding-bottom: 8px; font-size: 13pt; box-shadow: 0 2px 2px 0 rgba(0,0,0,.1); }
.main-menu { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; list-style: none; position: relative; z-index: 1; }
.main-menu > li > :first-child { display: inline-block; padding: 8px 12px; cursor: pointer; transition: background-color 300ms ease-out, color 300ms ease-out; line-height: normal; }
.main-menu > li.active > :first-child, .main-menu > li > :first-child:hover, .main-menu > li > :first-child:focus { background-color: #fff; color: #2f6e95; }
.main-menu ul { box-sizing: border-box; position: absolute; left: 0; top: 0; background: #fff; border: 1px solid #4d98c5; color: #000; box-shadow: 2px 2px 2px rgba(0,0,0,.2); padding: 8px; min-width: 400px; font-size: 15pt; }
.main-menu ul > li > :first-child { display: block; padding: 8px 12px; cursor: pointer; transition: background-color 300ms ease-out, color 300ms ease-out; line-height: normal; }
.main-menu ul > li.active > :first-child, .main-menu ul > li > :first-child:hover, .main-menu ul > li > :first-child:focus { background-color: #4d98c5; color: #fff; }
@media all and (max-width: 1279px) { .main-menu, .main-menu .nav-child { justify-content: space-around; } }
.main-menu .item-selector-none:not(:checked) ~ div { display: none; }
.main-menu .item-selector:checked + div { display: block; flex-grow: 1; }
.main-menu .item-selector:checked + div > label { display: none; }
.main-menu .item-selector:checked + div .nav-child { display: flex; }
.front-info { padding-top: 32px; padding-bottom: 32px; font-size: 16pt; }
.front-info-title {
	font-weight: bold;
	font-size: 22pt;
	text-shadow: 1px 1px 1px rgba(0,0,0,.1);
}
.stages { padding-bottom: 32px; }
.stages-title { font-size: 18pt; font-weight: bold; }
.stages-title:not(:first-child) { margin-top: 1em; }
.stages-title + p { margin-top: .5em !important; }
.last-works { padding-top: 32px; font-size: 16pt; }
.bottom { margin-top: 2em; color: #888; padding-top: 8px; padding-bottom: 8px; }
.last-works + .bottom { margin-top: 0; }
.mobile-nav { display: none; }
.mobile-nav-button { box-sizing: border-box; width: 100%; text-align: left; padding: 12px 0; background: transparent; color: inherit; border: none; cursor: pointer; transition: color 200ms ease-out; }
.mobile-nav-button:hover::after, .mobile-nav-button:focus::after { content: " \F004D"; font: normal normal normal 1.5em/1 "Material Design Icons"; font-size: inherit; text-rendering: auto; line-height: inherit; text-transform: none; letter-spacing: normal; word-wrap: normal; vertical-align: middle; }
@media all and (max-width: 800px) {
	.main-menu { display: none; }
	.mobile-nav { display: block; }
	.top-2 { padding-top: 0; padding-bottom: 0; }
}
.mobile-menu { position: fixed; z-index: 10; left: 0; top: 0; box-sizing: border-box; padding: 16px; height: 100%; width: 400px; max-width: 100%; background: #fafafa; color: #000; box-shadow: 2px 0 2px 0 rgba(0,0,0,.2); overflow: auto; overscroll-behavior: contain; }
.mobile-menu-itself { font-size: 14pt; font-weight: normal; padding: 0; }
.mobile-menu-itself li { list-style: none; position: relative; }
.mobile-menu-itself li:hover > ul, .mobile-menu-itself li:focus > ul { display: block; }
.mobile-menu-itself li > :first-child:focus + ul { display: block; }
.mobile-menu-itself > li ul { margin-left: 1.2em; }
.mobile-menu-itself li > :first-child { display: block; padding: 6px 12px 5px 12px; transition: background-color 300ms ease-out, color 300ms ease-out; outline: none; }
.mobile-menu-itself li > :first-child:hover, .mobile-menu-itself li > :first-child:focus { background-color: #ed6562; color: #fff; }
.mobile-menu-itself .separator::after { content: ":"; }
.button-mobile-menu-close { padding: 0; border: none; width: 100%; display: block; cursor: pointer; background: transparent; color: inherit; text-align: left; }
.menu-horizontal li { list-style: none; position: relative; }
.menu-horizontal li:hover > ul,
.menu-horizontal ul:hover {
	display: block;
}
.menu-horizontal > li:focus-within > ul,
.menu-horizontal > li li:focus-within > ul {
	display: block;
}
.menu-horizontal li > :first-child:focus + ul { display: block; }
.menu-horizontal > li ul { display: none; position: absolute; }
.menu-horizontal > li > ul { left: 0; top: 100%; }
.menu-horizontal > li > ul ul { left: 100%; top: 0; }
.qlform fieldset input, .qlform textarea, .qlform .captcha input, .qlform select, .qlform option { width: 100%; }
.qlform fieldset input[type="checkbox"] { width: auto; }
.qlform .submit.control-group { margin-top: 1em; }
textarea { height: 7em; resize: vertical; }
.qlform .message { margin-bottom: 1em; }
.qlform .additionalFields { margin-top: .5em; margin-bottom: .5em; }
.qlform .jform_sendcopy { display: inline-block; }
.qlform label + .controls { margin-top: .2em; }
.menu-vertical li { list-style: none; position: relative; }
.menu-vertical li:hover > ul, .menu-vertical li:focus > ul { display: block; }
.menu-vertical li > :first-child:focus + ul { display: block; }
.menu-vertical > li ul { display: none; position: absolute; left: 100%; top: 0; }
.menu-vertical > li li > :first-child { display: block; padding: .2em 1ex; }
.wysiwyg-content p:not([class]):not(:first-child), .wysiwyg-content p.default-styles:not(:first-child) { margin-top: 1em; }
.wysiwyg-content ul:not([class]), .wysiwyg-content ul.default-styles, .wysiwyg-content ol:not([class]), .wysiwyg-content ol.default-styles { margin-top: 1em; margin-left: 3ex; }
.wysiwyg-content ul:not([class]) ul:not([class]), .wysiwyg-content ul:not([class]) ul.default-styles, .wysiwyg-content ul:not([class]) ol:not([class]), .wysiwyg-content ul:not([class]) ol.default-styles, .wysiwyg-content ul.default-styles ul:not([class]), .wysiwyg-content ul.default-styles ul.default-styles, .wysiwyg-content ul.default-styles ol:not([class]), .wysiwyg-content ul.default-styles ol.default-styles, .wysiwyg-content ol:not([class]) ul:not([class]), .wysiwyg-content ol:not([class]) ul.default-styles, .wysiwyg-content ol:not([class]) ol:not([class]), .wysiwyg-content ol:not([class]) ol.default-styles, .wysiwyg-content ol.default-styles ul:not([class]), .wysiwyg-content ol.default-styles ul.default-styles, .wysiwyg-content ol.default-styles ol:not([class]), .wysiwyg-content ol.default-styles ol.default-styles { margin-top: .5em; }
.wysiwyg-content ul:not([class]) > li:not(:first-child), .wysiwyg-content ul.default-styles > li:not(:first-child), .wysiwyg-content ol:not([class]) > li:not(:first-child), .wysiwyg-content ol.default-styles > li:not(:first-child) { margin-top: .2em; }
.wysiwyg-content td > :first-child:not([class]), .wysiwyg-content td > :first-child.default-styles, .wysiwyg-content th > :first-child:not([class]), .wysiwyg-content th > :first-child.default-styles { margin-top: 0; }
.wysiwyg-content a:not([class]), .wysiwyg-content a.default-styles { text-decoration: underline; }
.wysiwyg-content img { max-width: 100%; height: auto; }
.wysiwyg-content blockquote:not([class]), .wysiwyg-content blockquote.default-styles { margin-top: 1ex; margin-left: 1ex; padding-left: 1ex; border-left: 2px solid #ddd; }
.wysiwyg-content a[href$=".doc"]:not([class])::before, .wysiwyg-content a[href$=".doc"].default-styles::before, .wysiwyg-content a[href$=".docx"]:not([class])::before, .wysiwyg-content a[href$=".docx"].default-styles::before { content: ""; display: inline-block; vertical-align: middle; background: transparent url("../../../media/media/images/mime-icon-32/doc.png") no-repeat left top; height: 32px; width: 32px; margin-right: 4px; }
.wysiwyg-content a[href$=".xls"]:not([class])::before, .wysiwyg-content a[href$=".xls"].default-styles::before, .wysiwyg-content a[href$=".xlsx"]:not([class])::before, .wysiwyg-content a[href$=".xlsx"].default-styles::before { content: ""; display: inline-block; vertical-align: middle; background: transparent url("../../../media/media/images/mime-icon-32/xls.png") no-repeat left top; height: 32px; width: 32px; margin-right: 4px; }
.wysiwyg-content a[href$=".pdf"]:not([class])::before, .wysiwyg-content a[href$=".pdf"].default-styles::before { content: ""; display: inline-block; vertical-align: middle; background: transparent url("../../../media/media/images/mime-icon-32/pdf.png") no-repeat left top; height: 32px; width: 32px; margin-right: 4px; }
.wysiwyg-content a[href$=".txt"]:not([class])::before, .wysiwyg-content a[href$=".txt"].default-styles::before, .wysiwyg-content a[href$=".odt"]:not([class])::before, .wysiwyg-content a[href$=".odt"].default-styles::before { content: ""; display: inline-block; vertical-align: middle; background: transparent url("../../../media/media/images/mime-icon-32/odt.png") no-repeat left top; height: 32px; width: 32px; margin-right: 4px; }
.wysiwyg-content a[href$=".zip"]:not([class])::before, .wysiwyg-content a[href$=".zip"].default-styles::before { content: ""; display: inline-block; vertical-align: middle; background: transparent url("../../../media/media/images/mime-icon-32/zip.png") no-repeat left top; height: 32px; width: 32px; margin-right: 4px; }
.wysiwyg-content a[href$=".rar"]:not([class])::before, .wysiwyg-content a[href$=".rar"].default-styles::before { content: ""; display: inline-block; vertical-align: middle; background: transparent url("../../../media/media/images/mime-icon-32/rar.png") no-repeat left top; height: 32px; width: 32px; margin-right: 4px; }
.wysiwyg-content a[href$=".ppt"]:not([class])::before, .wysiwyg-content a[href$=".ppt"].default-styles::before, .wysiwyg-content a[href$=".pptx"]:not([class])::before, .wysiwyg-content a[href$=".pptx"].default-styles::before { content: ""; display: inline-block; vertical-align: middle; background: transparent url("../../../media/media/images/mime-icon-32/ppt.png") no-repeat left top; height: 32px; width: 32px; margin-right: 4px; }
.wysiwyg-content > :first-child { margin-top: 0; }
.body {
	margin-top: 1em;
}
.front-page .body {
	margin-top: 0;
}
.contact-us:not(:first-child) {
	margin-top: 1em;
}
.qlformcontact-us:not(:first-child) {
	margin-top: 1em;
}
.form-contact-us {
	margin-top: 1em;
}
.form-contact-us .form-group:not(:first-child) {
	margin-top: 1em;
}
.form-contact-us .form-group .form-control {
	box-sizing: border-box;
	width: 100%;
	margin-top: .2em;
}
.form-contact-us #fieldsetCaptcha {
	margin-top: 1em;
}
.form-contact-us .submit.control-group {
	margin-top: 1em;
}
.form-contact-us .btn.submit {
	background: #ed6562;
	color: #fff;
	border: 1px solid #d04a4a;
	border-left-width: 4px;
	padding: .4em 1em;
	transition: background-color 300ms ease-out, border-color 300ms ease-out;
}
.form-contact-us .btn.submit:hover,
.form-contact-us .btn.submit:focus {
	background-color: #4d98c5;
	border-color: #3d799c;
}
.contact-us-title + .qlform {
	margin-top: 1em;
}
.contact-us-title::before {
	content: "\F01EE";
	display: inline-block;
	font: normal normal normal 1.5em/1 "Material Design Icons";
	font-size: inherit;
	text-rendering: auto;
	line-height: inherit;
	text-transform: none;
	letter-spacing: normal;
	word-wrap: normal;
	vertical-align: middle;
	margin-right: .5em;
	speak: never;
}
.l-partners {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: flex-start;
}
.l-partners:not(:first-child) {
	margin-top: 1em;
}
.partner {
	width: 250px;
	max-width: 100%;
	transition: filter 300ms linear;
}
.partner:hover {
	filter: grayscale(80%);
}
.partner img {
	vertical-align: top;
}
.l-contact:not(:first-child) {
	margin-top: 1em;
}
@media not all and (min-width: 800px) {
	.l-contact > div:not(:first-child) {
		margin-top: 1em;
	}
}
@media all and (min-width: 800px) {
	.l-contact {
		display: flex;
		align-items: stretch;
		justify-content: space-between;
	}
	.l-contact > div {
		width: calc(50% - 16px);
	}
}
.l-portfolio-full {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: space-around;
	font-size: 13pt;
	line-height: 1.4;
	gap: 2em;
	padding-top: 1em;
}
.l-portfolio-full:not(:first-child) {
	margin-top: 1em;
}
.portfolio-full-item {
	contain: content;
	box-sizing: border-box;
	width: 508px;
	max-width: 100%;
	box-shadow: 0 0 4px 2px rgba(0, 0, 0, 0.2);
	padding: 12px;
	outline: 2px solid rgba(249,89,89,0);
	transition: outline-color 300ms ease-out;
	background: #fff;
	color: #000;
}
.portfolio-full-item:hover {
	outline-color: #ed6562;
}
.portfolio-full-item img {
	vertical-align: top;
	max-width: 100%;
}
.portfolio-full-controls {
	margin-top: 8px;
}
.portfolio-full-button {
	box-sizing: border-box;
	background: transparent;
	color: inherit;
	padding: 6px;
	width: 100%;
	text-align: center;
	font-size: 18pt;
	border: none;
	cursor: pointer;
	transition: background-color 300ms ease-out, color 300ms ease-out;
}
.portfolio-full-button:hover,
.portfolio-full-button:focus {
	background-color: #ed6562;
	color: #fff;
}
.image-modal-link {
	cursor: zoom-in;
}
.portfolio-full-item .image-modal-link > img {
	outline: 12px solid rgba(237,171,98,0);
	transition: outline-color 300ms ease-out;
}
.portfolio-full-item .image-modal-link:hover > img,
.portfolio-full-item .image-modal-link:focus > img {
	outline-color: #ed6562;
}
.service-price {
	display: table;
	table-layout: fixed;
	border-spacing: 0;
	background: #3c7597;
	color: #fff;
	padding: .5em 1em;
}
.service-price:not(:first-child) {
	margin-top: 1em;
}
.humane,
.humane-flatty {
	position: fixed;
	transition: all .4s ease-in-out;
	z-index: 100000;
}
.humane,
.humane-flatty {
	font-size: 16px;
	top: 0;
	left: 30%;
	opacity: 0;
	width: 40%;
	color: #444;
	padding: 10px;
	text-align: center;
	background-color: #fff;
	border-bottom-right-radius: 3px;
	border-bottom-left-radius: 3px;
	box-shadow: 0 1px 2px rgba(0,0,0,.5);
	transform: translateY(-100px);
}
.humane p,
.humane-flatty p,
.humane ul,
.humane-flatty ul {
	margin: 0;
	padding: 0;
}
.humane ul,
.humane-flatty ul {
	list-style: none;
}
.humane.humane-flatty-info,
.humane-flatty.humane-flatty-info {
	background-color: #3498db;
	color: #fff;
}
.humane.humane-flatty-success,
.humane-flatty.humane-flatty-success {
	background-color: #18bc9c;
	color: #fff;
}
.humane.humane-flatty-error,
.humane-flatty.humane-flatty-error {
	background-color: #e74c3c;
	color: #fff;
}
.humane-animate,
.humane-flatty.humane-flatty-animate {
	opacity: 1;
	transform: translateY(0);
}
.humane-animate:hover,
.humane-flatty.humane-flatty-animate:hover {
	opacity: .7;
}
.humane-js-animate,
.humane-flatty.humane-flatty-js-animate {
	opacity: 1;
	transform: translateY(0);
}
.humane-js-animate:hover,
.humane-flatty.humane-flatty-js-animate:hover {
	opacity: .7;
}
