@font-face {
    font-family: 'Roboto';
    src: url('/tmpl/fonts/Roboto-Regular.eot');
    src: url('/tmpl/fonts/Roboto-Regular.eot?#iefix') format('embedded-opentype'),
    url('/tmpl/fonts/Roboto-Regular.woff2') format('woff2'),
    url('/tmpl/fonts/Roboto-Regular.woff') format('woff'),
    url('/tmpl/fonts/Roboto-Regular.ttf') format('truetype'),
    url('/tmpl/fonts/Roboto-Regular.svg#Roboto-Regular') format('svg');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Roboto';
    src: url('/tmpl/fonts/Roboto-Bold.eot');
    src: url('/tmpl/fonts/Roboto-Bold.eot?#iefix') format('embedded-opentype'),
    url('/tmpl/fonts/Roboto-Bold.woff2') format('woff2'),
    url('/tmpl/fonts/Roboto-Bold.woff') format('woff'),
    url('/tmpl/fonts/Roboto-Bold.ttf') format('truetype'),
    url('/tmpl/fonts/Roboto-Bold.svg#Roboto-Bold') format('svg');
    font-weight: bold;
    font-style: normal;
}
html {
	scroll-behavior: smooth;
	scroll-padding-top: 50px;
}
* {
    margin: 0;
    padding: 0;
}
body {
    width: 100%;
    min-height: 100vh;
    font-size: 16px;
    color: #4f4f4f;
    background-color: #ffffff;
    font-family: 'Roboto', Calibri, serif;
	overflow-x: hidden;
}
a, a:link, a:visited {
    color: #605d6e;
    text-decoration: none;
    transition: .3s;
}
a:hover {
    color: #738faf!important;
    text-decoration: none;
}
h1, h2, h3 {
    font-size: 46px;
    color: #27233a;
    margin: 0px 2px;
    margin-bottom: 20px;
}
h2 {
    font-size: 36px;
}
h3 {
    font-size: 20px;
    margin-bottom: 15px;
    margin: 0 3px;
}
.clear {
    clear: both;
}
.btn {
	color: #212121!important;
	border: 2px solid #738faf;
	border-radius: 30px;
	padding: 15px 25px;
	font-size: 16px;
}
.btn > span {
	margin-right: 10px;
}
.btn.act {
	text-align: center;
	background: #738faf;
	color: #fff!important;
	border-color: #738faf!important;
}
.btn:hover {
	box-shadow: 0 0 30px 5px rgba(33, 33, 33, 0.1);
	border-color: #426892!important;
	background: #426892!important;
	color: #fff!important;
}
.successLight {
	background: #c4deff;
}
.warningLight {
	background: #a5bcd7;
}
.dangerLight {
	background: #ffecd2;
}
.infoLight {
	background: #dad1c1;
}
.success {
	background: #738faf;
}
.warning {
	background: #fca757;
}
.danger {
	background: #ff4897;
}
.info {
	background: #44a9ff;
}
.row {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.col {
	display: flex;
	flex-direction: column;
	align-items: initial;
	justify-content: start;
}
.a-top {
	align-items: start;
}
.a-stretch {
	align-items: stretch;
}
.j-start {
	justify-content: start;
}
.j-end {
	justify-content: end;
}
.j-center {
	justify-content: center!important;
}
.w-100 {
	width: 100%;
}
.w-80 {
	width: 80%;
	margin: 30px auto;
}
.w-60 {
	width: 60%;
}
.w-50 {
	width: 50%;
}
.w-40 {
	width: 40%;
}
.p-30 {
	padding: 30px;
}
.pr-30 {
	padding-right: 30px;
}
.pr-50 {
	padding-right: 50px;
}
.mb-0 {
	margin-bottom: 0!important;
}
.ml-10 {
	margin-left: 10px;
}
.mr-10 {
	margin-right: 10px;
}
.mr-15 {
	margin-right: 15px;
}
.mr-20 {
	margin-right: 20px;
}
.mr-25 {
	margin-right: 25px;
}
.mr-30 {
	margin-right: 30px;
}
.mr-50 {
	margin-right: 50px;
}
.mt-0 {
	margin-top: 0!important;
}
.mt-5 {
	margin-top: 5px;
}
.mt-10 {
	margin-top: 10px;
}
.mt-15 {
	margin-top: 20px;
}
.mt-20 {
	margin-top: 20px;
}
.mt-30 {
	margin-top: 30px;
}
.mt-50 {
	margin-top: 50px;
}
.mt-60 {
	margin-top: 60px;
}
.mt-80 {
	margin-top: 80px;
}
.mt-100 {
	margin-top: 100px;
}

.d-none {
	display: none;
}

.fw-bold {
	font-weight: bold;
}
.ta-center {
	text-align: center;
}

s {
	font-size: 24px;
	color: #999;
}

i {
	font-size: 20px;
	color: #738faf;
	margin-left: 10px;
	font-style: normal;
}

#overlay {
	display: none;
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 99;
	transition: background .3s;
}
#overlay.active {
	display: block;
}
#overlay.back {
	background: rgba(10, 10, 10, 50%);
}

.page {
	width: 86%;
	max-width: 1250px;
	margin: 0 auto;
}

.mobileHeader {
	display: none;
	padding: 0 10px;
}
.mobileHeader .logo img {
	display: block;
	width: 200px;
}
.mobMenu {
	cursor: pointer;
}
.bar1, .bar2, .bar3 {
	width: 40px;
	height: 5px;
	background-color: #4f4f4f;
	margin: 6px 0;
	transition: 0.3s;
	border-radius: 3px;
}

.header {
	padding: 45px 0;
	font-size: 18px;
}
.header .logo {
	margin-right: 30px;
	font-size: 26px;
	font-weight: bold;
}
.header .topMenu {
	list-style-type: none;
}
.header .topMenu li {
	margin-right: 40px;
}
.header .topMenu li.subMenu {
	position: relative;
}
.header .topMenu li.subMenu a {
	padding-right: 30px;
}
.header .topMenu li.subMenu > a:before {
	display: none;
}
.header .topMenu li.subMenu > a::after {
	content: '▼';
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 12px;
}
.header .topMenu li ul {
	display: none;
	position: absolute;
	left: 0;
	top: calc(100% + 10px);
	z-index: 100;
	background-color: #ece1cd;
	padding: 0;
	margin: 0;
	border-radius: 10px;
	list-style: none;
}
.header .topMenu li:hover > ul {
	display: block;
}
.header .topMenu li ul li {
	position: relative;
	margin-right: 0;
}
.header .topMenu li ul li a {
	color: #444;
	padding: 16px 30px;
	display: block;
	white-space: nowrap;
	border-bottom: 1px solid #fff;
}
.header .topMenu li ul li:last-child a {
	border-bottom: none;
}
.header .topMenu li ul li:hover a {
	color: #738faf!important;
}
.header .topMenu li ul li a::before {
	display: none;
}

.header .topMenu a {
	position: relative;
	padding: 10px 10px;
	padding-left: 0;
	font-size: 18px;
	border-bottom: 2px solid #fff;
}
.header .topMenu .active > a {
	color: #000;
}
.header .topMenu a:before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	height: 1px;
	width: 30px;
	border-bottom: 2px solid #fff;
	transition: .3s;
}
.header .topMenu .active > a:before {
	border-bottom: 2px solid #738faf;
}
.header .topMenu a:hover:before {
	width: 60px;
	border-bottom: 2px solid #738faf;
}
.header .menu select {
	cursor: pointer;
	margin-left: 20px;
	color: #605d6e;
	font-size: 16px;
	padding: 7px 8px;
	border-radius: 8px;
	border: none;
	outline: none;
}

.header .banner {
	padding: 55px 0;
}
.header .banner .left {
	width: 100%;
	max-width: 800px;
	margin: 0 auto;
	padding: 20px 0;
	text-align: center;
}
.header .banner .left h1 {
	margin-top: 15px;
	font-size: 42px;
}
.header .banner .left h3, h3 {
	color: #426892;
	font-weight: normal;
	margin-bottom: 10px;
}


.content {
	padding: 30px 0;
	min-height: 40dvh;
}
.content .blocks > div {
	margin-right: 20px;
	padding: 15px 18px;
	border-radius: 6px;
	text-align: left;
	font-size: 15px;
}
.content .blocks > div > span {
	padding: 10px;
	font-size: 30px;
	background: #fff;
	border-radius: 50%;
	aspect-ratio: 1;
	margin-right: 20px;
}
.content .blocks > div {
	margin-right: 30px;
}
.content .blocks > div:last-child {
	margin-right: 0;
}
.content .blocks > div h3 {
	margin-top: 25px;
	margin-bottom: 15px;
	color: initial;
	font-weight: bold;
}
.content .blocks > div img {
	display: block;
	width: 100px;
	margin: 0 auto;
}
.content .pictBlock .left img {
	display: block;
	width: 100%;
	max-width: 500px;
	margin: 0 auto;
	border-radius: 6px;
}
.content .pictBlock .right {
	font-size: 15px;
}
.content .pictBlock .right .icon {
	background: #f3f3f3;
	padding: 10px;
	border-radius: 6px;
	box-shadow: 0 0 20px 0 rgba(200,200,200,.2);
}
.content .pictBlock .right .icon span {
	font-size: 30px;
}
.content .pictBlock h3 {
	font-size: 19px;
	margin-left: 0;
	margin-bottom: 5px;
}
.content .news {
	display: flex;
	flex-wrap: wrap;
}
.content .news .new {
	align-items: start;
	flex: 1 1 300px;
	max-width: 400px;
	margin-right: 30px;
	margin-bottom: 30px;
	padding: 10px;
	background: #f5f5f5;
	border-radius: 6px;
}
.content .news .new .params {
	color: #999;
}
.content .news .new h4 {
	text-align: left;
	width: calc(100% - 30px);
	padding: 0 15px;
	font-size: 18px;
}
.content .news .new span.material-symbols-outlined {
	margin-right: 4px;
	font-size: 20px;
}
.content .news .new b {
	display: block;
	margin-bottom: 10px;
}
.content .news .new .text {
	width: calc(100% - 30px);
	padding: 10px 15px;
	text-align: left;
	color: #333!important;
}
.content .news .new .text p {
	display: block;
	margin-top: 5px;
	margin-bottom: 15px;
	font-size: 15px;
}
.content .news .new .img {
	position: relative;
	width: 100%;
	min-height: 240px;
	aspect-ratio: 1/.8;
	border-radius: 3px;
	margin-bottom: 20px;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	transform: scale(.98);
	transition: .3s;
}
.content .news .new:hover .img {
	transform: scale(1);
}
.content .news .new .img .type {
	position: absolute;
	bottom: 10px;
	left: 10px;
	padding: 9px 15px;
	padding-left: 40px;
	font-size: 18px;
	opacity: .9;
	color: #151515;
	background: #fff;
	border-radius: 10px;
	box-shadow: 0 0 10px 0 rgba(10, 10, 10, 0.2);
}
.content .news .new .img .type::before {
	content: "";
	position: absolute;
	left: 10px;
	top: 50%;
	transform: translateY(-50%);
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: #ffecd2;
}
.content .news .new .img .type::after {
	content: "";
	position: absolute;
	left: 15px;
	top: 50%;
	transform: translateY(-50%);
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #c5a366;
}
.content .news .new .img .type.art::before {
	background: #c4deff;
}
.content .news .new .img .type.art::after {
	background: #738faf;
}

.article {
	padding: 30px 0;
}
.article .articleImage {
	display: block;
	float: right;
	margin: 0 0 15px 15px;
	width: 35%;
	min-width: 300px;
	max-width: 550px;
	aspect-ratio: 1/.8;
	background-size: cover;
	background-position: center;
	border-radius: 16px;
}
.article p {
	display: block;
	width: 100%;
	margin-bottom: 15px;
}
.article img {
	display: inline-block;
	margin: 15px;
	border-radius: 10px;
	float: left;
	width: auto!important;
	clear: both;
}
.article img:first-of-type {
	 float: right;
 }

.article img:nth-of-type(2) {
	float: left;
}

.articleDate {
	display: block;
	margin-bottom: 15px;
	color: #999;
}

.product {
	align-items: stretch;
}
.product .productImageBlock {
	width: 30%;
	min-width: 400px;
	max-width: 450px;
	margin-right: 40px;
	padding: 15px;
	border: 1px solid #f0f0f0;
	border-radius: 6px;
}
.product .productImage {
	position: relative;
	width: 100%;
	height: 100%;
	min-height: 300px;
	background-size: cover;
	background-position: center;
	border-radius: 4px;
}
.product .productImage .type {
	position: absolute;
	bottom: 13px;
	left: 13px;
	padding: 9px 15px;
	padding-left: 40px;
	font-size: 18px;
	opacity: .9;
	color: #151515;
	background: #fff;
	border-radius: 10px;
	box-shadow: 0 0 10px 0 rgba(10, 10, 10, 0.2);
}
.product .productImage .type::before {
	content: "";
	position: absolute;
	left: 10px;
	top: 50%;
	transform: translateY(-50%);
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: #ceb893;
}
.product .productImage .type::after {
	content: "";
	position: absolute;
	left: 15px;
	top: 50%;
	transform: translateY(-50%);
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #c5a366;
}
.product .productImage .type.art::before {
	background: #b0c2da;
}
.product .productImage .type.art::after {
	background: #738faf;
}
.product h1 span {
	display: block;
	font-weight: normal;
	font-size: 20px;
	margin-bottom: 10px;
}
.product span.material-symbols-outlined {
	margin-right: 7px;
	font-size: 20px;
}
.product .price span.material-symbols-outlined {
	font-size: 34px;
}
.product .param {
	width: auto;
	margin-top: 20px;
	margin-right: 30px;
	font-size: 18px;
	color: #151515;
}
.product .options {
	width: 100%;
	max-width: 400px;
	margin-bottom: 10px;
}
.product .options > div {
	margin-bottom: 10px;
	padding-bottom: 7px;
	border-bottom: 1px dashed #dad1c1;
}
.product .options > div > div {
	display: flex;
}
.product .short {
	color: #999;
	font-size: 18px;
}
.product p {
	font-size: 15px;
}
.product .price {
	font-size: 32px;
	font-weight: bold;
	margin-bottom: 0!important;
}
.product .price span.wknd {
	display: block;
	margin-left: 10px;
	color: #c5a366;
}

.boards {
	align-items: start;
	margin-top: 40px;
}
.boards h3 {
	font-weight: bold;
	color: #27233a;
}
.boards .control {
	position: relative;
}
.boards .price {
	font-size: 32px;
	font-weight: bold;
	margin-right: 15px!important;
	padding: 10px 0;
}
.boards .price span {
	margin-right: 5px;
}
.control .swiper-button-prev, .control .swiper-button-next {
	position: relative;
	left: initial;
	right: initial;
	top: initial;
	bottom: initial;
	margin: 0;
	margin-left: 10px;
	width: 36px;
	height: 36px;
	padding: 0;
	border-radius: 50%;
	color: #fff;
	background: #738faf;
	border: 1px solid #738faf;
	transition: .3s;
}
.control .swiper-button-next:after, .control .swiper-button-prev:after {
	font-size: 20px !important;
}
.swiper-button-prev:after {
	margin-left: 0;
	margin-right: 3px;
}
.swiper-button-next:after, .swiper-button-prev:after {
	font-size: 18px !important;
	line-height: initial !important;
	margin-left: 3px;
}
.swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled {
	opacity: 1 !important;
	color: #99a1b7 !important;
	background: none !important;
	border: 1px solid #99a1b7;
}
.swiperHor {
	margin-bottom: 40px;
}
.swiperHor.swiper .swiper-slide {
	width: calc(29% - 20px);
	min-width: 290px;
	max-width: 350px;
	margin-right: 20px;
}
.swiperHor.swiper .swiper-slide:last-child {
	margin-right: 0;
}
.newsCat {
	width: calc(100% - 20px);
	padding: 8px;
	background: #f5f5f5;
	border-radius: 6px;
}
.newsCat .img {
	width: 100%;
	min-width: 240px;
	aspect-ratio: 1 / .8;
	border-radius: 4px;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	transform: scale(.98);
	transition: .3s;
}
.newsCat:hover .img {
	transform: scale(1);
}

.map {
	width: 100%;
	min-height: 300px;
	border-radius: 6px;
	overflow: hidden;
}
.map iframe {
	width: 100%;
	min-height: 300px;
	border-radius: 6px;
	overflow: hidden;
	border: none;
}

.content .text {
	padding: 5px;
}
.content .text p {
	display: block;
	margin-top: 8px;
}

.flex-wrap {
	flex-direction: row-reverse;
	flex-wrap: wrap;
}
.flex-wrap > div {
	flex: 1;
}

#prices {
	width: 350px;
	max-width: 350px;
	margin-left: 30px;
}
#prices .blocks > div {
	flex-direction: row;
	align-items: center;
	justify-content: start;
	margin-right: 0;
	margin-bottom: 20px;
}
#book {
	width: 100%;
	max-width: 600px;
}


.footer {
	position: relative;
	background: #11243b;
	color: #a3a3a3;
	padding: 20px 0;
}
.footerContent {
	width: 86%;
	max-width: 1250px;
	margin: 0 auto;
	padding: 60px 0;
}
.footerContent a {
	padding: 3px 0;
	color: #dfdfdf;
}
.footerBottom {
	padding: 0 10px;
	text-align: center;
}

.d-none {
	display: none!important;
}

.swal2-popup {
	border-radius: 20px;
}
.swal2-popup .cat {
	padding: 10px;
	color: #605d6e !important;
	background: #f5f5f5;
	border-radius: 16px;
	margin-bottom: 10px;
}
.swal2-popup .cat .catImg {
	width: 73px;
	height: 73px;
	margin-right: 15px;
	background-size: cover;
	background-position: center;
	border-radius: 10px;
}
.swal2-popup .cat .catName {
	text-align: left;
	font-size: 18px;
	color: #27233a;
	font-weight: bold;
	margin-bottom: 10px;
	transition: .3s;
}
.swal2-popup .cat .catInfo .param {
	margin-bottom: 2px;
	font-size: 15px;
}
.swal2-popup .cat span.material-symbols-outlined {
	margin-right: 5px;
	font-size: 18px;
}
.swal2-popup .btn {
	transition: .3s;
}
.swal2-popup .swal2-cancel {
	background: none;
}
.swal2-popup .swal2-input {
	border: 1px solid #ddd;
	border-radius: 10px;
	outline: none;
	box-shadow: none;
}
.swal2-popup .swal2-input-label {
	margin: 1em 2em 3px;
}
.swal2-popup .swal2-input:focus {
	border-color: #738faf;
}
.swal2-html-container .swal2-input.date {
	margin-top: 10px;
	margin-left: 10px;
	width: 90px;
	height: 45px;
	padding: 5px .75em;
}

@media screen and (max-width: 650px) {
	h2 {
		font-size: 26px;
	}
	.btn {
		padding: 13px 15px;
		font-size: 15px;
	}
	.btn.mr-30 {
		margin-right: 15px;
	}
	.page {
		width: calc(100% - 30px);
	}
	.header {
		padding-top: 20px;
	}
	.header .logo {
		margin-right: 0;
	}
	.header .menu {
		position: absolute;
		flex-direction: column;
		justify-content: start;
		margin-top: -20px;
		margin-left: -15px;
		padding: 20px;
		transform: translateX(-100%);
		transition: transform .3s;
		background: #fff;
		z-index: 1000;
		width: 220px;
		min-width: 220px;
		height: 100%;
		min-height: 100vh;
		box-shadow: 0 0 30px 0 rgb(82 63 105 / 25%);
	}
	.header .menu.active {
		transform: translateX(0);
		transition: transform .3s;
	}
	.header .menu a img {
		display: block;
		width: 90%;
		margin: 0 auto;
	}
	.header .menu .topMenu {
		flex-direction: column;
		align-items: center;
		justify-content: center;
		margin-top: 50px;
	}
	.header .topMenu li {
		display: block;
		width: 100%;
		margin-right: 0;
		margin-bottom: 50px;
	}
	.header .topMenu li ul li {
		margin-bottom: 0;
	}
	.header .topMenu a {
		padding-left: 10px;
	}
	.header .topMenu a:before {
		left: initial;
	}
	.mobileHeader {
		display: flex;
	}
	.header .banner {
		padding: 30px 0;
	}
	.header .banner .left h1 {
		margin-top: 0;
		font-size: 34px;
	}
	.content .blocks {
		flex-wrap: wrap;
	}
	.mt-100 {
		margin-top: 50px;
	}
	.pictBlock {
		flex-direction: column;
		margin-top: 30px;
	}
	.pictBlock > div {
		width: 100%;
		margin-right: 0;
	}
	.pictBlock .right {
		margin-top: 20px;
		font-size: 15px;
	}
	.pictBlock .right h2 {
		text-align: center;
	}
	.pictBlock .right .row.mt-50 {
		justify-content: center;
	}
	.content {
		padding: 0;
	}
	.content .news {
		margin-top: 30px;
	}
	.content .news .new {
		margin-right: 0;
	}
	.content .news .new span.material-symbols-outlined {
		margin-top: -2px;
	}
	.content h1 {
		font-size: 36px;
	}
	.content .article {
		padding-top: 5px;
	}
	.content .article img {
		width: 100% !important;
		height: initial !important;
		max-width: 100%;
		margin: 15px 0;
	}
	.article .articleImage {
		width: 100% !important;
		height: initial !important;
		max-width: 100%;
		margin: 15px 0;
	}

	.product {
		flex-direction: column;
	}
	.product .productImageBlock {
		min-width: calc(100% - 30px);
		max-width: calc(100% - 30px);
		width: calc(100% - 30px);
		margin-right: 0;
	}
	.product .productBlock {
		margin-top: 20px;
	}
	.swiperHor.swiper .swiper-slide {
		width: calc(94% - 30px);

	}
	.productBlock .itemName {
		font-size: 26px;
	}
	.product .param {
		margin-top: 10px;
		font-size: 15px;
	}
	.product .param:last-child {
		margin-right: 0;
	}

	.product .options {
		max-width: 100%;
	}
	.product .price {
		font-size: 24px;
		margin-right: auto;
	}

	#prices {
		max-width: 100%;
		margin-left: 0;
	}

	#prices .blocks > .row div:last-child {
		width: 100%;
	}

	#calendar {
		width: 100% !important;
		height: 100%;
		aspect-ratio: 1;
	}
	#calendar h2.fc-toolbar-title {
		font-size: 20px;
	}
	#calendar .fc-col-header-cell-cushion {
		padding: 5px;
	}
	#calendar .fc-daygrid-body-unbalanced .fc-daygrid-day-events {
		min-height: 15px;
	}

	.swal2-popup .swal2-title {
		font-size: 24px;
	}

	.footerContent {
		width: calc(100% - 30px);
		flex-direction: column;
		padding: 40px 0;
	}
	.footerContent > div {
		margin-top: 30px;
	}
	.footerContent > div a {
		padding: 5px 0;
	}
}

@media screen and (max-width: 500px) {

}