/* OS-AS overrides */

h1, .h1, h2.big_title, .big_title.h2 {
	color		: #e31a18;
}

.footer {
	/*background	: #e31a18;*/
}

.hideme {
	display		: none;
}

a.more {
    color: #e31a18;
    display: inline-block;
    border-bottom: 1px #e31a18 solid;
    font-weight: 600;
    margin-right: 1.125rem;
    text-decoration: none;
    position: relative;
    transition: color .3s;
}
a.more:after {
    content: "";
    display: block;
    width: 1.125rem;
    height: 1.125rem;
    background: url(../_dist/img/arrow-bottom-red.svg) center center no-repeat;
    background-size: 1.125rem;
    position: absolute;
    right: -1.325rem;
    top: .125rem;
}

todo {
	display		: block;
	background	: yellow;
	color		: red;
	padding		: 20px;
}
	todo:before {
		display		: block;
		content		: 'TODO:';
		font-weight	: bold;
		
	}

.hp_main__image > img {
	width	: 864px;
	height	: 461px;
}
@media (max-width: 575.98px) {
	.hp_main .hp_main__text .hp_main__image img {
        	max-width	: 100%;
        	height		: auto;
	}
}

@media (min-width: 768px) {
	.hp_infobox__inner .hp_infobox__image img {
		object-fit	: cover;
		width		: 100%;
		height		: 100%;
	}
}

.subpage_head__image {
	margin-top	: 1rem;
	height		: 461px;
}
	.subpage_head__image > img {
		object-fit	: contain;
		width		: 100%;
		height		: 100%;
	}

.subpage_content .service_detail__contact_box {
	background	: #ECECEB;
	border-radius	: 24px;
	padding		: 30px 60px;
	margin-bottom	: 48px;
	margin-left	: -60px;
	margin-right	: -60px;
}

.service_detail__contact_box {
	display		: flex;
	flex-direction	: row;
	justify-content	: space-between;
}
.service_detail__contact_box__right {
	text-align	: center;
}

.service_detail__contact_box .phone_icon {
    display: inline-block;
    background: #fff url(../_dist/img/phone-icon-red.svg) left 1.125rem center no-repeat;
    background-size: 1.3125rem;
    color: #000;
    font-weight: 600;
    font-size: 1.125rem;
    line-height: 1.875rem;
    padding: 10px 24px 10px 48px;
    border-radius: 1.5rem;
    text-decoration: none;
    margin-left: .625rem;
    transition: background-color .3s;
    white-space: nowrap;
}
.service_detail__contact_box .phone_icon span {
    color: #b2b1b1;
}

.service_detail__contact_box .mail_icon {
    display: inline-block;
    background: url(../_dist/img/envelope-gray-icon.svg) left center no-repeat;
    background-size: .9375rem;
    padding-left: 25px;
    font-size: .8125rem;
    line-height: 1.5rem;
    font-weight: 600;
    text-decoration: underline;
    white-space: nowrap;
}

.service_detail__contact_box .web_icon,
.service_long_item .service_long_item__content .service_long_item__top .service_long_item__right .web_icon {
    display: inline-block;
    background: url(../_dist/img/link-gray-icon.svg) left center no-repeat;
    background-size: .9375rem;
    padding-left: 25px;
    font-size: .8125rem;
    line-height: 1.5rem;
    font-weight: 600;
    text-decoration: underline;
    white-space: nowrap;
}
.service_long_item .service_long_item__content .service_long_item__top .service_long_item__right .web_icon {
	color: #000;
}

.searchResults {
	border-top	: 1px solid var(--bs-body-color);
	padding-top	: 1rem;
}
	.searchResults--result {
		margin		: 1rem 0 2rem 0;
	}
	.searchResults--path {
		font-size	: 80%;
		/*color		: #636363;*/
	}
		.searchResults--path a {
			/*color		: inherit;*/
			text-decoration	: none;
		}
		.searchResults--path a:hover {
			text-decoration	: underline;
			color		: #e31a18;
		}

.paginator {
	display		: flex;
	flex-direction	: row;
	justify-content	: center;
	align-items	: center;
	gap		: 10px;
	margin-top	: 5rem;
}
	.paginator .pagination {
		
	}
		.paginator .pagination > ul {
			display		: flex;
			flex-direction	: row;
			list-style-type	: none;
			margin		: 0;
			padding		: 0;
			gap		: 10px;
		}
			.paginator .pagination > ul > li {
				display		: flex;
			}
				.paginator .pagination > ul > li > a {
					display		: flex;
					justify-content	: center;
					align-items	: center;
					width		: 2rem;
					height		: 2rem;
					background	: #c30d25;
					border-radius	: 50%;
					text-decoration	: none;
					color		: white;
					border		: 1px solid transparent;
				}
				.paginator .pagination > ul > li.active > a {
					background	: none;
					color		: #c30d25;
					border-color	: #c30d25;
				}

@media (max-width: 991.98px) {
	.service_long_item .service_long_item__content .service_long_item__top .service_long_item__right {
		flex-direction: column-reverse;
	}
	.service_long_item .service_long_item__content .service_long_item__top .service_long_item__right .web_icon {
		margin-top	: 10px;
	}
	.subpage_head__image {
		height	: auto;
	}
}

@media (max-width: 767.98px) {
    .term_dictionary .term_dictionary__column {
        grid-template-columns: repeat(1, 1fr);
    }
}

@media (min-width: 768px) {
    .service_list {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }
}
@media (min-width: 992px) {
    .service_list .service_item {
        margin: 0;
        flex: 0 1 50%;
        box-sizing: border-box;
        padding: 1.5rem;
    }
}

.gallery_list {
	display		: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-auto-rows: 1fr;
	margin-bottom: 3rem;
}
	.gallery_list .gallery_item {
		display		: flex;
		flex-direction	: column;
		gap		: 10px;
		flex		: 0 1 33%;
		padding		: 20px;
	}
		.gallery_list .gallery_item .gallery_item_image_container {
			flex: 1;
			display: flex;
			background: black;
			align-items: center;
			position	: relative;
			border-radius	: 5px;
			overflow	: hidden;
		}
		
			.gallery_list .gallery_item .gallery_item_image_container::after {
				position	: absolute;
				display		: block;
				content		: "";
				vertical-align	: -.125em;
				background	: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="white" class="bi bi-play-circle-fill" viewBox="0 0 16 16"><path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0M6.79 5.093A.5.5 0 0 0 6 5.5v5a.5.5 0 0 0 .79.407l3.5-2.5a.5.5 0 0 0 0-.814z"/></svg>') center;
				background-repeat: no-repeat;
				background-size	: 3rem 3rem;
				width		: 100%;
				height		: 100%;
				z-index		: 99;
				opacity		: .75;
				transition: all .3s;
			}
				/*.gallery_list .gallery_item .gallery_item_image_container:hover .gallery_item_image {
					position: absolute;
					display: block;
					width: 150%;
					transform: translate(-50%, -50%);
					top: 50%;
					left: 50%;
					transition: all .3s;
				}*/
				
				.gallery_list .gallery_item .gallery_item_image_container:hover::after {
					opacity		: 1;
				}
		
		.gallery_list .gallery_item .gallery_item_image {
			width		: 100%;
			transition: all .3s;
		}
		.gallery_list .gallery_item .gallery_item_title {
			text-decoration	: none;
			color		: initial;
			height		: 3rem;
		}

@media (max-width: 992px) {
	.gallery_list {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 768px) {
	.gallery_list {
		grid-template-columns: repeat(1, 1fr);
	}
}

.file_list {
	display: flex;
	justify-items: center;
	justify-content: center;
	margin-bottom: 3rem;
}
	.file_list .file_list--item {
		display		: flex;
		flex-direction	: row;
		align-items	: center;
	}
	.file_list .file_list--item > img {
		width		: 32px;
		height		: 32px;
		margin		: 20px;
	}

/*.breadcrumb {
	position	: relative;
	z-index		: 99;
}*/
.breadcrumb ul {
	list-style-type	: none;
	margin		: 0;
	padding		: 0;
	display		: flex;
	gap		: 10px;
	color		: rgba(0,0,0,.85);
	justify-content	: center;
	font-size	: .9rem;
	overflow	: auto;
}
	/* Hide scrollbar for Chrome, Safari and Opera */
	.breadcrumb ul::-webkit-scrollbar {
		display: none;
	}
	/* Hide scrollbar for IE, Edge and Firefox */
	.breadcrumb ul {
		-ms-overflow-style: none;  /* IE and Edge */
		scrollbar-width: none;  /* Firefox */
	}
	
	.breadcrumb ul > li {
		white-space	: nowrap;
	}
	.breadcrumb ul li:not(:last-child):after {
		content		: '/';
		margin		: 0 0 0 5px;
	}
	.breadcrumb ul li > a {
		color		: rgba(227, 26, 24, .75);
	}

.service_detail__contact_box .web_icon,
.service_long_item .service_long_item__content .service_long_item__top .service_long_item__right .web_icon {
    display: inline-block;
    background: #fff url(../_dist/img/link-gray-icon.svg) left 1.125rem center no-repeat;
    background-size: 1.3125rem;
    color: #000;
    font-weight: 600;
    font-size: 1.125rem;
    line-height: 1.875rem;
    padding: 5px 24px 5px 48px;
    border-radius: 1.25rem;
    text-decoration: none;
    margin-left: .625rem;
    transition: background-color .3s;
    white-space: nowrap;
}

@media (max-width: 1300px) {
	.main_header .main_header__inner {
		display		: block !important;
	}
	.main_header .main_header__inner .main_menu {
		display		: inline-block;
	}
	.main_header .header_search {
		margin-top	: -80px !important;
		float		: right;
	}
	.breadcrumb {
		margin-top	: 50px;
	}
	
}

@media (min-width: 992px) {
	.main_header .header_search {
		margin-top	: -80px !important;
	}
}

@media (min-width: 1300px) {
	.main_header .header_search {
		margin-top	: 1.5625rem !important;
	}
}

@media (max-width: 992px) {
	.breadcrumb {
		margin-top	: 20px;
	}
	.breadcrumb ul {
		justify-content	: flex-start;
	}
}

/* @media (max-width: 1300px) { */
	.main_header .main_header__inner .main_menu {
		display		: none;
	}
/* } */

.hp_main .hp_main__text {
	display		: flex;
	gap		: 20px;
	width		: 100% !important;
	max-width	: 100% !important;
}
.hp_main .hp_main__text .hp_main__content {
	flex		: 0 1 50%;
}
.hp_main .hp_main__text .hp_main__image {
	flex		: 0 1 50%;
	position	: relative !important;
	right		: unset;
	bottom		: unset;
}
.hp_main__image > img {
	width		: auto;
	height		: auto;
	max-width	: 100% !important;
	border-radius	: 20px;
}
@media (max-width: 992px) {
	.hp_main .hp_main__text .hp_main__image {
		display		: none;
	}
	.hp_main .hp_main__text .hp_main__content {
		flex		: 1;
	}
}

.service_long_item {
	background-image	: none;
}
.service_long_item__content {
	position	: relative;
}
.service_long_item__link {
	position	: absolute;
	right		: 15px;
	bottom		: 15px;
}

mark {
	background	: none;
	font-weight	: bold;
	padding		: inherit;
	color		: inherit;
}

.sorting ul {
	z-index		: 99;
}

.term_dictionary {
	margin-top:	0;
}

.news_list {
	flex-wrap	: wrap;
}
.news_list a.news_item {
	display		: flex;
	flex-direction	: column;
	margin-bottom	: 20px;
}
.news_list a.news_item .news_item__content {
	flex		: 1;
}
