
.cell::before, .cell-false::before {
	width:calc(100% - 41px);
	height: 32px;
	margin: -1px 20px;
}

.cell-false .cell-ribbon {
    top: 30px;
}

.title {
	grid-area: title;
	margin-top:-20px;
	text-align: center;
}
	.cell.title::before {
		height: 35px;
		margin-left:24px;
		width: 100%;
	}
	.title .cell-ribbon {
		background-clip:initial;
	}

	.title h1 {
		line-height: 100px;
	}

		.parent-title {
			display: inline;
		}

		.child-title {
			display: inline-block;
			width: 0px;
			height: 0px;
			overflow: hidden;
		}

	.back-icon {
		display: block;
		width: 80px;
		height: 80px;
		position: absolute;
		top: calc(50% - 40px);
		left: 10px;
		border-radius: 5px;
	}

	a:focus .back-icon:not(:hover) {
		background:#AB223C;
		outline: 2px white solid;
	}

	.back-icon:hover {
		background:#AB223C;
	}

.content {
	grid-area: content;
	position: relative;
}

	.content .cell-ribbon {
		border-top: 16px #B72440 solid;
		border-bottom: 16px #B72440 solid;
		background-color: #B72440;
		background-clip:initial;
		overflow: visible;
	}

	.content .cell-content {
		position: relative;
		transform: none;
		border: none;
		overflow: hidden;
		display: flex;
		align-items: stretch;
		min-height: 100%;
	}

		.sub-nav {
			position: relative;
			z-index: 1;
			flex-shrink: 0;
			background-color: #B72440;
			width: 300px;
			min-width: max-content;
			padding: 40px 0px;
			box-shadow: 0px 0px 9px rgba(0,0,0,0.16);
			margin: -3px 0px;
		}

			.sub-nav a {
				display: block;
				color: white;
				text-decoration: none;
				font-weight: 650;
				font-size: 24px;
				transform: skewY(1.6deg);
				line-height: 50px;
			}

				.limiter {
					display: block;
					box-sizing: border-box;
					padding: 0px 40px 0px 30px;
					white-space: nowrap;
					overflow: hidden;
					text-overflow: ellipsis;
					max-width: 350px;
					margin: 2px 0;
				}

				.sub-nav a:focus:not(:hover) {
					background-color: #AB223C;
				}

				.sub-nav a:hover {
					background-color: #AB223C;
				}
				.sub-nav a:after {
					position: absolute;
					top: 0px;
					right:-14.4px;
					display:block;
					content:"";
					height: 0;
					border-style: solid;
					border-width: 25px 0 25px 15px;
					border-color: transparent transparent transparent transparent;
				}
				.sub-nav a:hover:after,
				.sub-nav a:focus:after {
					border-color: transparent transparent transparent #AB223C;
				}

				.sub-nav a.active {
					background-color: #AB223C;
				}
				.sub-nav a.active:after {
					border-color: transparent transparent transparent #AB223C;
				}

		.article {
			width: 100%;
			background-color: #FFFDE6;
		}

			.article-content {
				padding: 40px;
				transform: skewY(1.6deg);
				user-select:text;
			}

		.article-sidebar {
			flex-shrink: 0;
			width:216px;
			background-color: #FFFDE6;
		}

			.sidebar-fixer {
				border-left: 8px white solid;
				margin-left: -2px;
				min-height: 100%;
				overflow: hidden;
			}

			.sidebar-content {
				padding: 30px 20px;
				transform: skewY(1.6deg);
				font-size: 0.9em;
				line-height: 1.2em;
				user-select:text;
			}

				.sidebar-content h2 {
					color:#AB223C;
					font-size: 22px;
					line-height: 1.1em;
					margin:0.2em 0px 0.5em 0px;
				}

				.sidebar-content h3 {
					line-height: 1.1em;
					margin:0.2em 0px 0.5em 0px;
				}

				.sidebar-img {
					display: block;
					width: 100%;
					border-radius: 5px;
				}

				.sidebar-banner {
					display: block;
					width: calc(100% + 40px);
					margin: auto -20px 0.8em -20px;
				}

				.sidebar-link {
					display: block;
					width: auto;
					margin: auto auto 0.8em auto;
				}

				.sidebar-banner-img {
					display: block;
					width: 100%;
				}

				.sidebar-content ul {
					margin: 0.8em 0;
					padding: 0 0 0 20px;
					line-height: 1.35em;
					list-style-type: circle;
				}

				.sidebar-banner:hover .sidebar-banner-img,
				.sidebar-banner:focus .sidebar-banner-img {
					outline: 5px #FFE89D solid;
				}
				a:hover .sidebar-img,
				a:focus .sidebar-img {
					outline: 5px #FFE89D solid;
				}

				.section-gallery {
					margin-left: -5px;
					box-sizing: content-box;
					width: 100%;
					max-width: 301px;
					height: 170px;
					display: grid;
					grid-template-rows: 1fr 1fr;
					grid-template-columns: 1fr 1fr;
					border: 5px #FFF3CC solid;
					cursor: pointer;
					gap: 1px;
					background-color: white;
					border-radius: 10px;
					overflow: hidden;
					text-decoration: none;
				}

				.section-gallery + h3 {
					margin-top: 0.8em;
				}

				.section-gallery + h2 {
					margin-top: 0.8em;
				}

				.section-gallery:hover,
				.section-gallery:focus {
					border-color:#FFE89D;
				}

					.section-gallery-photobox {
						position: relative;
						overflow: hidden;
					}

						.preview {
							object-fit: cover;
							width: 100%;
							height: 100%;
							opacity: 0.8;
						}

						.section-gallery:hover .preview,
						.section-gallery:focus .preview {
							opacity: 1;
						}

						.section-gallery-more {
							line-height: 82px;
							text-align: center;
							font-size: 24px;
							font-weight: 500;
							background-color: #FFF3CC;
							color:#AB223C;
						}

						.section-gallery:hover .section-gallery-more {
							background-color: white;
						}

		.article-line {
			position: relative;
			flex-shrink: 0;
			width:16px;
			background-color: #B72440;
			margin: -3px 0px;
			box-shadow: 0px 0px 9px rgba(0,0,0,0.16);
		}


.slider {
	position: relative;
	grid-area: slider;
}
	.slider .cell-ribbon {
		border-top: 16px #B72440 solid;
		border-bottom: 16px #B72440 solid;
		background-color: #FFFDE6;
	}

	.slider .true-cell-content {
		padding: 90px 40px 60px 40px;
	}

	.slider h2 {
		margin:0px 0px 0.4em 0px;
		display: inline-block;
		color: #AB223C;
	}
		.slider h2.inactive-header {
			color: #ab223b5b;
		}
		.slider h2.inactive-header a {
			color: #ab223b5b;
			text-decoration-color: #ab223b5b;
		}
		.slider h2.inactive-header a:hover {
			text-decoration: none;
			opacity: 1;
			color: #ab223bff;
		}

		.scrollable-list-area {
			margin-top:10px;
			margin-bottom:30px;
			overflow: hidden;
			width: calc(100% - 30px);
			margin-left:-5px;
			padding:4px 0px;
		}

		.scrollable-box {
			position: relative;
		}

		.slider-next {
			width: 27px;
			height: 124px;
			position:absolute;
			top: 20px;
			right: 0px;
			cursor:pointer;
			-webkit-tap-highlight-color: transparent;
			-ms-tap-highlight-color: transparent;
		}

		.scrollable-list {
			position: relative;
			width: calc(100% + 1px);
			overflow: visible;
			display: flex;
			flex-flow: row nowrap;
			align-items: flex-start;
			gap: 20px;
			transition: transform 600ms ease-out;
		}

			.scrollable-list .text-frame,
			.scrollable-list .image-frame,
			.scrollable-list .icon-frame {
				flex-shrink: 0;
				width:calc(100%/3 - 20px);
				margin: 14px 0 0 0;
			}

				.scrollable-list .image-frame-limit {
					max-height: 219px;
				}

			.material-box {
					flex-shrink: 0;
					position: relative;
					display: flex;
					align-items: stretch;
					width:calc(100%/3 - 20px);
					min-height: 214px;
					max-height: 250px;
					background-color: white;
					border: 5px #FFF3CC solid;
					text-decoration: none;
			}

				.material-box:focus,
				.material-box:hover {
					border-color:#B72440;
				}

				.material-image-box {
					position: relative;
					flex-shrink: 0;
					width:170px;
					max-width: 45%;
					max-height: 214px;
					min-height: 200px;
					overflow: hidden;
					display: block;
				}

				.material-image {
					display: block;
					width:100%;
					height: 100%;
					background-repeat: no-repeat;
					background-position: top center;
					background-size: cover;
					transition: transform 300ms ease-out;
				}

					.material-box:hover .material-image, .material-box:focus .material-image {
						transform: scale(1.1);
					}

				.material-description {
					margin: 13px 20px;
					display: -webkit-box;
					-webkit-box-orient: vertical;
					-webkit-line-clamp: 7;
					overflow: hidden;
					height: min-content;
				}

					.material-title {
						font-weight: 650;
						line-height: 1.2;
						padding-bottom: 0.8em;
					}
					.material-text {
						font-size:0.85em;
					}

.more {
	position: absolute;
	bottom: 50px;
	right: 20px;
	color: #AB223C;
	font-weight: 650;
	letter-spacing: 1px;
}

	.more a {
		color: #AB223C;
		text-decoration-color: #AB223C;
	}
	.more a:focus {
		background: #AB223C;
		padding: 12px;
		outline: 3px white solid;
		border-radius: 3px;
		text-decoration: none;
		color:white;
	}
	.more a:hover {
		background: transparent;
		padding: 0px;
		outline: none;
		border-radius: 5px;
		text-decoration: none;
		color:#AB223C;
	}

.footer .cell-ribbon {
	border-color:#B72440;
}


.footer .true-cell-content {
	padding-top: 87px;
}
/* ============ pages specialities ====================== */

h1.primary-h1 {
	text-align: left;
}

.events-body {
	margin: -88px -40px -40px 0;
	padding: 88px 119px 40px 58px;
	background: transparent url(/resources/img/icons/timeline.svg) repeat-y 100% top;
}

	.events-body h1,
	.events-body h1:first-child {
		margin-right: -33px;
		margin-left: -45px;
		text-align: right;
	}
	.events-body h1.primary-h1 {
		text-align: left;
	}
	.events-body h2,
	.events-body h2:first-child {
		margin-right: -33px;
		text-align: right;
	}

.header-icon {
	height: 1.5em;
	vertical-align: middle;
	margin-top: 0.3em;
	margin-bottom: 0.5em;
	margin-right: 18px;
}

.article-content nav {
	padding: 0 0 0 30px;
}

.article-content .header-nav-a,
.article-content .header-nav-a:visited {
	display: list-item;
	color: black;
	text-decoration:underline;
	padding: 0 0 0.3em 10px;
	white-space: wrap;
	overflow: visible;
	max-width: max-content;
}
	.article-content .header-nav-a:hover,
	.article-content .header-nav-a:focus {
		background-color: transparent;
		text-decoration: none;
	}

	.article-content .menu-item-icon,
	.article-content .menu-icon {
		display: none;
	}

 form {
	text-align: center;
}

label {
	display:block;
	margin: 0.5em auto;
	text-align: right;
	width: 400px;
	font-weight: 500;
	max-width: 100%;
}

input {
	border: 1px black solid;
	border-radius: 3px;
	width: 220px;
	height: 1.6em;
	margin-left: 10px;
	font-size: inherit;
	font-family: inherit;
	font-weight: inherit;
	padding: 0px 8px;
}

input[type='submit'] {
	margin: 0.5em auto;
	margin-left: 41px;
	width: 116px;
	background:white;
	font-weight: 500;
	cursor: pointer;
}

input[type='submit']:hover {
	background: #FFE89D;
}

/* ============ photogalery ====================== */

.photogalery-area {
	position: fixed;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.8);
	z-index: 51;
	opacity: 1;
	animation-name: fade-in;
  	animation-duration: 500ms;

	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: center;
}

	.photogalery-area::before {
		content: "";
		display: block;
		position: absolute;
		top: -45px;
		left: 0px;
		right: 0px;
		height: 50px;
		background: #FFFDE6;
		transform: skewY(-1.6deg);
		box-shadow:  0px 16px 0px #AB223C;
		z-index: 1;
	}

	.photogalery-area::after {
		content: "";
		display: block;
		position: absolute;
		bottom: -45px;
		left: 0px;
		right: 0px;
		height: 50px;
		background: #FFFDE6;
		transform: skewY(-1.6deg);
		box-shadow:  0px -16px 0px #AB223C;
	}

@keyframes fade-in {
	from {opacity: 0;}
	to {opacity: 1;}
}

@keyframes fade-out {
	from {opacity: 1;}
	to {opacity: 0;}
}

.fake-scrollbar {
	position: fixed;
	top: 0px;
	right:0px;
	height: 100vh;
	background:transparent;
	width: 200px;
	z-index:-1;
	overflow: hidden;
	overflow-y:scroll;
}

	.photogalery-close-tag {
		position: absolute;
		top: 10px;
		right: 10px;
		transition: transform 300ms ease-out;
		cursor: pointer;
		filter: drop-shadow(0px 0px 5px black);
		opacity: 0;
		transition: opacity 800ms ease-out, transform 500ms ease-out;
	}

	.photogalery-next-tag,
	.photogalery-prev-tag {
		transition: transform 300ms ease-out;
		cursor: pointer;
		width:50px;
		flex-grow: 0;
		margin: 10px;
		opacity: 0;
		transition: opacity 800ms ease-out, transform 500ms ease-out;
	}

		.photogalery-close-tag:focus:not(:hover),
		.photogalery-next-tag:focus:not(:hover),
		.photogalery-prev-tag:focus:not(:hover)
		{
			filter: invert(100%);
			background: black;
			border-radius: 5px;
		}

		.photogalery-close-tag:hover,
		.photogalery-next-tag:hover,
		.photogalery-prev-tag:hover
		{
			transform: scale(1.2);
			outline:none;
		}

	.photogalery-gallery-tag {
		width:100%;
		max-width: 1400px;
		height: 100%;
		background: transparent;
		overflow: hidden;
	}

		.photogalery-gallery-scroller {
			position: relative;
			transition: transform 800ms ease-out;
			display: flex;
			height: 100%;
			width: 100%;
		}

		.photogalery-image {
			width: calc(100% - 10px);
			height: 100%;
			margin: 0px 5px;
			object-fit:scale-down;
			object-position: center center;
			filter: drop-shadow(0px 0px 5px black);
			flex-shrink: 0;
			flex-grow: 0;
			opacity: 0;
			transition: opacity 300ms ease-out, transform 800ms ease-out;
			transform: scale(0.4);
		}

		.photogalery-image.active {
			transform: scale(1);
		}

		.photogalery-loading {
			position: fixed;
			top: calc(50% - 30px);
			left: calc(50% - 30px);
			width: 60px;
			height: 60px;
		}

@media only screen and (orientation: portrait) {

	.photogalery-area {
		flex-flow: row wrap;
		align-items: center;
		justify-content: center;
	}
	.photogalery-gallery-tag {
		order: -1;
		height: calc(100% - 70px);
	}

	.photogalery-image {
		width: 100%;
		margin: 0px;
	}

	.photogalery-loading {
		top: calc(50% - 80px);
	}
}