/* ------------------------------------------
//
// Главная таблица стилей проекта library
//
// static/style.css
//
// June, 2023 - Mar, 2025
//
// Last changes at 2025-03-21 19:20
//
//-------------------------------------------*/

html {
	font-size: 14px;
	height: 100%;
}

body {
	height: 100%;
	background-color: #f0ffdb;
	font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
}

@media screen and (max-width:768px) {
	html {
		font-size: 10px;
	}
}

.navbar-logo {
	margin-bottom: 20px;
}

.navbar-logo a {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}

.navbar-logo a:hover,
.navbar-logo a:active {
	text-decoration: none;
}

.navbar-logo-name {
	color: #444;
	font-weight: 500;
	margin-bottom: 0;
	text-align: center;
	font-size: 0.9rem;
}

.navbar-logo-pic {
	width: 100px;
	margin-right: 10px;
}


.help-text {
	font-size: 0.9rem;
	color: #444;
	margin-bottom: 0.3rem;
}

@media (max-width: 768px) {
	.navbar-logo-name {
		font-size: 1.2rem;
	}
	
	.navbar-logo a {
		flex-direction: column;
	}
	
	.navbar-logo-pic {
		margin-right: 0;
	}
}

div.header-container {
	position: relative;
	top: 0;
	left: 60px;
	display: inline-flex;
	width: 100%;
	margin: 0;
	margin-top: 0;
	top: 0;
}

.body_wrapper_login {
	display: block;
	margin-top: 1rem;
	margin-left: 1rem;
}

@media screen and (max-width:768px) {
	.body_wrapper_login {
		margin: 0;
		margin-top: 2rem;
	}
}

.wrapper {
	border-left: 1px solid #c8c8c8;
	width: 100%;
	min-height: 100%;
	background: transparent;
}

.block_container {
	margin-left: 1rem;
	margin-right: 1rem;
	background: transparent;
}

@media screen and (max-width:768px) {
	.block_container {
		margin-left: 0.8rem;
		margin-right: 0.8rem;
	}
}

.page_title {
	display: block;
	font-size: 1.2rem;
	color: #666;
	text-align: center;
	margin-top: 0;
	margin-bottom: 0;
	margin-left: 4rem;
	margin-right: 4rem;
	padding-right: 0;
	background: transparent;
	height: max-content;
	padding-top: 0;
	text-overflow: ellipsis;
	overflow: hidden;
	white-space: wrap;
	z-index: 0;
}

@media screen and (max-width:768px) {
	.page_title {
		width: 100%;
		max-width: 300px;
		top: -19px;
		font-size: 1.7rem;
		margin-left: auto;
		margin-right: auto;
		padding-left: 1rem;
		padding-right: 1rem;
		padding-top: 0;
		padding-bottom: 0;
		line-height: 1.2;
	}
}

.subtitle {
	font-size: 1rem;
	font-weight: bold;
	margin-left: auto;
	margin-right: auto;
	padding-left: 1rem;
	padding-right: 1rem;
	padding-top: 0.3rem;
	padding-bottom: 0.3rem;
	line-height: 0.9rem;

}

@media screen and (max-width:768px) {
	.subtitle {
		font-size: 1.4rem;
		line-height: 1.2rem;
	}
}

div.header-image {
	display: inline-flex;
	flex-wrap: nowrap;
	margin-left: 5rem;
	align-content: space-between;
	background: #fff;
	text-align: center;
}

img.image-header {
	height: 10rem;
}

div.catalog-description {
	color: #999;
	font-size: 1.2rem;
}

div.unit_container {
	background-color: #f7f7f7;
}

/*-------------------------
        Загрузчик
--------------------------*/

.preloader {
	/*фиксированное позиционирование*/
	position: fixed;
	/* координаты положения */
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	/* фоновый цвет элемента */
	background: #e0e0e0;
	/* размещаем блок над всеми элементами на странице (это значение должно быть больше, чем у любого другого позиционированного элемента на странице) */
	z-index: 100;
}

.preloader__row {
	position: relative;
	top: 50%;
	left: 50%;
	width: 70px;
	height: 70px;
	margin-top: -35px;
	margin-left: -35px;
	text-align: center;
	animation: preloader-rotate 2s infinite linear;
}

.preloader__item {
	position: absolute;
	display: inline-block;
	top: 0;
	background-color: #337ab7;
	border-radius: 100%;
	width: 35px;
	height: 35px;
	animation: preloader-bounce 2s infinite ease-in-out;
}

.preloader__item:last-child {
	top: auto;
	bottom: 0;
	animation-delay: -1s;
}

@keyframes preloader-rotate {
	100% {
		transform: rotate(360deg);
	}
}

@keyframes preloader-bounce {

	0%,
	100% {
		transform: scale(0);
	}

	50% {
		transform: scale(1);
	}
}

.loaded_hiding .preloader {
	transition: 0.3s opacity;
	opacity: 0;
}

.loaded .preloader {
	display: none;
}

/* --------------------*/

#fullhei {
	min-height: calc(100% - 6rem - 3rem);
}

/* Спойлер описания книги */

.service {
	font-size: 1rem;
	color: #444;
	margin-left: 1rem;
	margin-right: 1rem;
}

.service_warn {
	font-size: 1rem;
	color: #FF0000;
	margin-left: 1rem;
}

@media screen and (max-width:768px) {
	.service {
		font-size: 1.4rem;
		color: #444;
		margin-left: 1rem;
		margin-right: 1rem;
	}
	
	.service_warn {
		font-size: 1.4rem;
	}
}

.vcenter {
	display: inline-flex;
	align-items: center;
}

div.vcenter {
	vertical-align: center;
}

hr {
	border-color: #DDDDDD;
}

.container {
	display: flex;
	background: transparent;
	justify-content: center;
	height: max-content;
	flex-wrap: wrap;
	align-content: space-between;
	padding-right: 15px;
	padding-left: 15px;
}

@media screen and (max-width:768px) {
	.container {
		padding-right: 0;
		padding-left: 0;
	}
}

.search_lm_container,
.search_am_container {
	background: #f7f7f7;
	border: 1px solid #ccc;
	border-radius: 4px;
	margin-top: 0.5rem;
	margin-bottom: 1rem;
	padding: 1rem;
	margin-left: 0.75rem;
	margin-right: 0.75rem;
	z-index: 0;
}


div.action_spacer {
	height: 2rem;
}

@media screen and (max-width:768px) {
	div.action_spacer {
		height: 0;
	}
}

.center {
	display: flex;
	justify-content: center;
	align-items: center;
}

.bold {
	font-weight: bold;
}

div.lbackground {
	background: transparent;
}

.service_container {
	display: block;
	margin-left: auto;
	margin-right: auto;
	max-width: 400px;
}

div #hidden_div {
	/* для спойлера */
	position: absolute;
	font-size: 14px;
}

.footer_text {
	font-size: 1rem;
	min-height: 3rem;
	font-style: italic;
	color: #444;
	text-align: center;
	background: transparent;
}

@media screen and (max-width:768px) {
	.footer_text {
		font-size: 1.3rem;
	}
}

.text {
	font-size: 1rem;
	margin: 0;
	color: #444;
}

.warn {
	font-size: 1rem;
	color: #FF0000;
}

.warn_bold {
	font-size: 1rem;
	color: #FF0000;
	font-style: bold;
	margin-left: 1rem;
	margin-right: 1rem;
}

.new_messages_round {
	position: absolute;
	width: 18px;
	height: 18px; 
	background-color: #FF0000;
	top: 0;
	right: 0;
	border: 1px solid #FF0000;
	border-radius: 9px;
	padding: 0;
	margin: 0;
}

.new_messages_ind {
	display: block;
	background: transparent;
	font-size: 10px;
	font-weight: bold;
	border: none;
	color: #fff;
	text-align: center;
	margin: 0;
}

.nav_back_link {
	width: max-content;
	margin-right: 1rem;
	margin-bottom: 0.2rem;
}

img.back_img {
	width: 30px;
}

@media screen and (max-width:768px) {
	.text {
		font-size: 1.2rem;
	}
	
	.warn {
		font-size: 1.4rem;
	}
	
	.warn_bold {
		font-size: 1.2rem;
	}
	
	.new_messages {
		font-size: 1.2rem;
	}
	
	.new_messages_round {
		width: 16px;
		height: 16px;
		border-radius: 8px;
	}
	
	.new_messages_ind {
		font-size: 9px;
	}
	
	img.back_img {
		width: 25px;
	}
}

.flexbox_404 {
	display: block;
	height: 100px;
	flex-flow: row wrap;
	align-items: center;
	justify-content: center;
	background: transparent;
	margin: 1rem;
}

.item_404 {
	/* default => flex: 0 1 auto */
	background: transparent;
	box-sizing: border-box;
	
}

.item_404_m {
	background: transparent;
	box-sizing: border-box;
	font-size: 1rem;
	color: #444;
}

/*--------------------
------ BibleCHA ------
----------------------*/

.biblecha {
    width: 100%;
    display: grid;
    margin-left: auto;
    margin-right: auto;
    justify-content: center;
}

.biblecha_image {
    width: 400px;
}

.hint-toggle {
    cursor: pointer;
}

.hint {
    display: grid;
    position: relative;
    justify-content: center;
    vertical-align: center;

}

.hint-text {
    background-color: #333333;
    color: #FFFFFF;
    font-size: 1rem;
    line-height: 20px;
    font-weight: 400;
    text-transform: none;
    padding: 20px 18px 18px 22px;
    border-radius: 10px;
    width: 256px;
    position: absolute;
    bottom: 100%;
    left: 50%;
    z-index: 1;
    transform: translateX(-50%);
    text-align: center;
    display: none;
}

.hint-toggle:hover + .hint-text,
.hint-toggle:focus + .hint-text {
    display: block;
}

.hint-service {
    display: block;
	margin-left: auto;
	margin-right: auto;
	max-width: 400px;
    color: #666;
    font-size: 0.8rem;
}
/*---------------------*/

@media screen and (max-width:768px) {
	.item_404_m {
		font-size: 1.4rem;
	}

	/*--------------------
    ------ BibleCHA ------
    ----------------------*/

	.biblecha_image {
        width: 100%;
    }

    .hint-text {
        background-color: #333333;
        color: #FFFFFF;
        font-size: 1.4rem;
        line-height: 20px;
        font-weight: 400;
        text-transform: none;
        padding: 20px 18px 18px 22px;
        border-radius: 10px;
        width: 240px;
        position: absolute;
        bottom: 100%;
        left: 50%;
        z-index: 1;
        transform: translateX(-50%);
        text-align: center;
        display: none;
    }

    .hint-service {
        display: block;
        margin-left: auto;
        margin-right: auto;
        max-width: 400px;
        color: #666;
        font-size: 1.4rem;
    }

    /*---------------------*/
}

/* :))))) */
.supercats_manager_action_container,
.districts_action_container,
.rpausers_action_container,
.device_action_container, /* Общий контейнер для книг, разделов, категорий */
.post_action_container,
.userbar_action_container,
.download_action_container,
.list_action_container {
	display: flex;
	width: max-content;
	margin-left: auto;
	margin-right: auto;
	/*max-width: 30rem;*/
}

@media screen and (max-width:768px) {
	.supercats_manager_action_container,
	.districts_action_container,
	.rpausers_action_container,
	.device_action_container, /* Общий контейнер для книг, разделов, категорий */
	.post_action_container,
	.userbar_action_container,
	.download_action_container,
	.list_action_container	{
		display: block;
		width: 100%;
		padding-left: 1rem;
		padding-right: 1rem;
	}
}

.supercats_manager_action,
.districts_action,
.rpausers_action,
.device_action, /* Общий контейнер для книг, разделов, категорий */
.post_action,
.userbar_action,
.download_action,
.list_action {
	display: inline-flex;
	flex-wrap: wrap;
	padding-left: 0.4rem;
	padding-right: 0.4rem;
	margin-top: 0.4rem;
	margin-bottom: 0.4rem;
}

@media screen and (max-width:768px) {
	.supercats_manager_action,
	.districts_action,
	.rpausers_action,
	.device_action, /* Общий контейнер для книг, разделов, категорий */
	.post_action,
	.userbar_action,
	.download_action,
	.list_action	{
		display: block;
		width: 100%;
		margin-top: 1.2rem;
		margin-bottom: 1.2rem;
		padding-left: 0;
		padding-right: 0;
	}
}

.header_spacer {
	padding-top: 6rem;
}

.vertical_spacer {
	padding-top: 1rem;
	padding-bottom: 0;
	background: transparent;
}

@media screen and (max-width:768px) {
	.vertical_button_spacer {
		padding-top: 0.5rem;
		padding-bottom: 0;
	}
}

a {
	font-size: 1rem;
	color: #1E90FF;
	text-decoration: none;
	cursor: pointer;
	margin: 0;
}

a.lib {
	font-size: 1rem;
	color: #1E90FF;
	text-decoration: none;
	cursor: pointer;
	margin: 0;
}

@media screen and (max-width:768px) {
	a {
		font-size: 0.9rem;
	}
	
	a.lib {
		font-size: 1.4rem;
	}
}

a.lib:hover {
	color: #CC0000;
	text-decoration: none;
}

a.lib:active {
	color: #880000;
	text-decoration: none;
}

a.dropdown-item:active {
	/* переопределим встроенный стиль */
	color: #880000;
	text-decoration: none;
}

a.dropdown-item {
	/* переопределим встроенный стиль */
	color: #444;
	text-decoration: none;
}

.close {
		font-size: 2rem !important;
		line-height: 0.6 !important;
	}

@media screen and (max-width:768px) {
	.close {
		font-size: 2.5rem !important;
		line-height: 0.6 !important;
	}
}

footer {
	background: transparent;
}