

@font-face {
 font-family: 'Material Icons Outlined';
 font-style: normal;
 font-weight: 400;
 src: local('Material Icons Outlined'), local('MaterialIconsOutlined-Regular'), url(/sys/MaterialIconsOutlined-Regular.woff2) format('woff2');
}

.gicons {
 font-family: 'Material Icons Outlined';
 font-weight: normal;
 font-style: normal;
 font-size: 24px; /* Preferred icon size */
 display: inline-block;
 vertical-align: middle;
 line-height: 1;
 text-transform: none;
 letter-spacing: normal;
 word-wrap: normal;
 white-space: nowrap;
 direction: ltr;
 /* Support for all WebKit browsers. */
 -webkit-font-smoothing: antialiased;
 /* Support for Safari and Chrome. */
 text-rendering: optimizeLegibility;
 /* Support for Firefox. */
 -moz-osx-font-smoothing: grayscale;
 /* Support for IE. */
 font-feature-settings: 'liga';
}

body {
 background: #F2F2F2;
 font: 200 18px Helvetica;
 font-weight: 350;
 color: #223366;
}

a {
 color: #026acb;
 text-decoration: none;
 outline: none;
}

 a:hover {
  color: #cc3300;
  text-decoration: none;
  text-shadow: 3px 1px 6px #ccaa88;
 }


/************************************************************************************
STRUCTURE
*************************************************************************************/
#pagewrap {
 width: 960px;
 margin: 48px auto;
}

/************************************************************************************
HEADER
*************************************************************************************/
#header {
 position: relative;
 height: auto;
}

#header1 {
 position: fixed;
 left: 0;
 top: 0;
 padding-top: 5px;
 width: 100%;
 height: 48px;
 background-color: #DDDDDD;
 z-index: 1000;
 box-shadow: 0 0px 12px rgba(0,0,0,.4);
 transform: translateZ(0);
}

#header2 {
 height: 154px;
 float: none;
 position: relative;
 background: #2F7BA4 url(/img/header2.png) no-repeat;
}

#header21 {
 display: flex;
 left: 15%;
 width: 85%;
 height: 100%;
 background: url(/img/header21.png) no-repeat right center;
 position: relative;
 overflow: hidden;
 padding-right: 345px;
}

 #header21 a {
  align-self: center;
  font-size: 150%;
  color: #eeee88;
  text-decoration: none;
  text-shadow: 3px 2px 10px #002233;
 }

  #header21 a:hover {
   color: #FFFFFF;
   background: none;
  }


/************************************************************************************
MAIN NAVIGATION
*************************************************************************************/
 #main-nav {
 border-top: solid 1px #ffffff;
 width: 100%;
 margin: 0;
 padding: 0;
 position: static;
 z-index: 100;
 background: #F6BA30;
}

 #main-nav li {
  margin: 0;
  padding: 0;
  list-style: none;
  float: left;
  position: relative;
 }

  #main-nav li:first-child {
   margin-left: 10px;
  }

 #main-nav a {
  line-height: 100%;
  font-size: 120%;
  color: #FFFFFF;
  display: block;
  padding: 14px 15px;
  text-decoration: none;
  text-shadow: 1px 1px 8px #442200;
 }

  #main-nav a:hover {
   color: #fff;
   background: #03526B;
  }

 #main-nav sup {
  color: #ff0000;
  font-size: 60%;
  font-weight: bold;
 }

/************************************************************************************
Верхнее меню 
*************************************************************************************/

#top-nav {
 font-size: 85%;
 width: 100%;
 margin: 0;
 padding: 0;
 position: static;
 z-index: 99;
 display: flex;
 justify-content: center;
 align-items: center;
}

 #top-nav li {
  min-height: 26px;
  margin: 0px 8px;
  list-style: none;
  float: right;
  position: relative;
  vertical-align: middle;
 }

 #top-nav a {
  padding: 9px;
  color: #446688;
  display: flex; /* Включаем Flexbox из-за текста */
  justify-content: left;
  align-items: center;
  text-decoration: none;
  outline: none;
  white-space: nowrap;
 }

  #top-nav a:hover {
   color: #cc3300;
  }

/************************************************************************************
CONTENT
*************************************************************************************/

.content {
 float: none;
 width: auto;
 background: #ffffff;
 margin: 20px 0 10px;
 padding: 25px 25px;
 border-radius: 8px;
 box-shadow: 0 1px 3px rgba(0,0,0,.4);
}

/* #content img {BORDER:solid 1px #6699cc; }
*/


/************************************************************************************
SIDEBAR
*************************************************************************************/
#sidebar {
 width: 240px;
 float: right;
 margin: 20px 0 20px;
}

.widget {
 text-align: left;
 background: #fff;
 margin: 0 0 20px;
 padding: 15px 20px;
 /* rounded corner */
 -webkit-border-radius: 8px;
 -moz-border-radius: 8px;
 border-radius: 8px;
 /* box shadow */
 -webkit-box-shadow: 0 1px 3px rgba(0,0,0,.4);
 -moz-box-shadow: 0 1px 3px rgba(0,0,0,.4);
 box-shadow: 0 1px 3px rgba(0,0,0,.4);
}

.widgettitle {
 margin: 0 0 5px;
 padding: 0;
}

.widget ul {
 margin: 0;
 padding: 0;
}

.widget li {
 margin: 0;
 padding: 0;
 list-style: none;
 clear: both;
 border-top: solid 1px #eee;
}

.widget .flickr_badge_image {
 margin-top: 10px;
}

 .widget .flickr_badge_image img {
  width: 200px;
  height: auto;
  margin-right: 12px;
  margin-bottom: 12px;
  float: left;
  border: solid 1px;
 }

.widget .bandiv {
 float: none;
 line-height: 1.2em;
 font-size: 85%;
 width: 180px;
 margin-right: 12px;
 margin-bottom: 12px;
 background: #ffeedd;
 border: solid 1px #ddcc99;
 padding: 10px;
}

.widget .ahover a {
 padding: 6px 0;
 display: block;
}

.widget p {
 text-align: left;
}


/************************************************************************************
FOOTER
*************************************************************************************/
#footer {
}

 #footer a {
 }

#sidebar1 {
 width: 49%;
 float: left;
 margin: 10px 0 0;
 font-size: 85%;
}

#sidebar2 {
 width: 49%;
 float: right;
 margin: 10px 0 0;
 font-size: 85%;
}

.pleft {
 text-align: left;
}

.copyr {
 text-align: left;
 font-size: 85%
}


/************************************************************************************
CLEARFIX
*************************************************************************************/
.clearfix:after {
 visibility: hidden;
 display: block;
 font-size: 0;
 content: " ";
 clear: both;
 height: 0;
}

.clearfix {
 display: inline-block;
}

.clearfix {
 display: block;
 zoom: 1;
}


/************************************************************************************
КНОПКА
*************************************************************************************/
.button1 {
 display: inline-block;
 padding: 8px 18px;
 background-color: #4CAF50;
 color: white;
 text-align: center;
 text-decoration: none;
 font-size: 16px;
 border: none;
 border-radius: 5px;
 cursor: pointer;
}

 .button1:hover {
  background-color: #409544;
 }

#divFindImg {
 display: flex;
 justify-content: center;
 align-items: center;
 width: 100%;
}

 #divFindImg img {
  border: none;
  width: 50px;
  height: 40px;
  opacity: 0.6;
 }


#divLoadNextBooks {
 text-align: center;
}

#divLoadImg {
 display: none;
}
 #divLoadImg img {
  border: none;
  margin: 10px;
  width: 32px;
  height: 32px;
 }

#btnLoadNextBooks {
 min-width: 220px;
 margin-top: 5px;
 display: inline-block;
 padding: 8px 15px;
 background-color: #dddddd;
 color: #555555;
 text-align: center;
 text-decoration: none;
 font-size: 16px;
 border: none;
 border-radius: 18px;
 cursor: pointer;
}

 #btnLoadNextBooks:hover {
  background-color: #cccccc;
 }



/************************************************************************************
Корректировка BS
*************************************************************************************/
.form-control:focus {
 box-shadow: 0 0 0 0.1rem rgba(0, 123, 255, 0.15);
}


/************************************************************************************
Кнопка "НАВЕРХ"
*************************************************************************************/
#top_button {
 display: none;
 background: #F6BA20 url(/img/ico/arrow_up.png) no-repeat center center;
 width: 50px;
 height: 50px;
 text-align: center;
 border-radius: 4px;
 margin: 30px;
 position: fixed;
 bottom: 10px;
 right: 10px;
 transition: background-color .3s;
 z-index: 1000;
}

 #top_button:hover {
  cursor: pointer;
  background-color: #e6aA10;
 }

 #top_button:active {
  background-color: #cc8800;
 }

/************************************************************************************
Разное
*************************************************************************************/

.tcenter {
 text-align: center;
}

.insetblock {
 margin-left: 30px;
 padding: 5px;
 border: inset 1px;
 background: #ffffed
}

.cat_card {
 text-align: center;
 display: block;
}

.myoverflow {
 display: block;
 white-space: nowrap;
 overflow: hidden;
 text-overflow: ellipsis;
}

.nowrap {
 white-space: nowrap;
}

#rowFindFrom {
 display: none;
}

/* A[download] {display: none;}   /* скрывает кнопку Скачать */

.pt7 {
 font-size: 7pt;
}

.pt8 {
 font-size: 8pt;
}

.pt9 {
 font-size: 9pt;
}

.pt10 {
 font-size: 10pt;
}

.pt11 {
 font-size: 11pt;
}


#FIND_TITLE {
 width: 650px;
 margin: auto;
 margin-bottom: 1.1em;
 text-align: center;
}

.desc79 {
 margin-top: 0.6em;
 font-size: 0.9em;
}

.other {
 font-size: 0.9em;
}

.bak {
 margin-top: 0.7em;
 font-size: 0.9em;
}

.swnub {
 font-size: 11px;
 color: #FFFFFF;
}

.num {
 font-size: 7pt;
 color: #aaaaaa;
}

.lit0 {
 width: 650px;
 margin: auto;
 margin-bottom: 1.1em;
 background-color: #dddddd;
 border-radius: 7px;
 box-shadow: 2px 3px 7px rgba(0,0,0,.3);
}

.lit1 {
 width: 650px;
 margin: auto;
 margin-bottom: 1.1em;
 background-color: #ddddcc;
 border-radius: 7px;
 box-shadow: 2px 3px 7px rgba(0,0,0,.3);
}

 .lit1 tr, .lit0 tr {
  vertical-align: top;
 }

 .lit1 td, .lit0 td {
  padding: 7px;
 }

.catalog {
 border-collapse: collapse;
 width: 100%;
}

 .catalog th {
  font-weight: 100;
  border: 1px solid white;
  padding: 8px;
  text-align: center;
  background-color: #D60435;
  color: white;
 }

 .catalog td {
  border: 1px solid #D60435;
  padding: 8px;
  text-align: left;
 }

 /* ***********************  */

.keywrd {     /* выделение ключ слов */
 text-shadow: 0px 0px 8px #ddcc00; 
}

.sigla {
 color: #DD6633;
}

.tmpl_ekz {
 margin-top: 0.6em;
 font-size: 0.9em;
}

.tmpl_ekz b {
 color: #006633;
}

.tmpl_cover {
 border-top: 1px solid #cccccc;
 width: 100%;
 margin: auto;
 margin-bottom: 1.1em;
}
 .tmpl_cover tr {
  vertical-align: top;
 }

 .tmpl_cover td {
  padding: 3px;
 }

 .tmpl_cover .chkbasket {
  color: #026acb;
  white-space: nowrap;
  margin-top: 0.7em;
  margin-bottom: 0.3em;
 }

.custom-control-label {
 cursor: pointer;
}

.cover_img {
 width: 130px;
 height: auto;
 min-height: 168px;
 margin: 4px;
 padding: 0px;
 filter: drop-shadow(1px 2px 4px #555);
}
.cover_img img {
   width: 100%;
  }

.cover_lit0 {
 background: url(/img/cover1.png) no-repeat;
 background-size: 100% 100%;
}

.cover_lit1 {
 background: url(/img/cover2.png) no-repeat;
 background-size: 100% 100%;
}

.read_cnt {
 font-size: 0.8em;
}

/* ******* тип просмотра - обложки ********** */
.container_cover2 {
 z-index: -1;
 display: grid;
 grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
 gap: 0px;
 place-items: center;
 width: 98%;
}

.tmpl_cover2 {
 font-size: 0.8em;
 z-index: 0;
 width: 200px;
 min-height: 310px;
 margin: 0.5em 1.0em 1.5em 0.5em;
 padding: 3px;
 text-align: center;
 overflow: hidden;
 text-overflow: ellipsis;
}

.cover_img2 {
 width: 100%;
 height: 240px;
 overflow: hidden;
 margin: 0px 0px 3px 0px;
 padding: 0px;
 filter: drop-shadow(1px 2px 4px #555);
}

 .cover_img2 img {
  width: 100%;
 }

.tmpl_cover2_text {
 display: -webkit-box;
 -webkit-box-orient: vertical;
 -webkit-line-clamp: 3; /* Ограничение в 3 строки */
 overflow: hidden;
 text-overflow: ellipsis;
 max-height: 4.5em; /* Зависит от line-height */
 line-height: 1.5em; /* Высота строки */
 word-break: break-word;
}


.center {
 text-align: center;
}

.pointer {
 cursor: pointer;
}

.msgdiv {
 color: #886655;
 font-size: 0.9em;
 border: solid 1px #ddaa88;
 background-color: #eeeeee;
 margin: auto;
 padding: 12px;
 max-width: 500px;
 border-radius: 9px;
 box-shadow: 1px 2px 7px rgba(0,0,0,.2);
}

.eyegroup {
 position: relative;
}

#eye {
 position: absolute;
 right: 10px;
 bottom: 7px;
 width: 24px;
 height: 24px;
 cursor: pointer;
}

.login {
 width: 400px;
 margin: auto;
}

.login_one {
 width: 400px;
 margin: auto;
 background: url(/img/bgloginone.gif) no-repeat;
 background-size: 100% 100%;
}

.qr {
 width: 100%;
 height: 100%;
 background-color: #ffffff;
 text-align: center;
}
.qr2 {
  max-width: 500px;
  margin: auto;
 }
.qr2 img {
 width: 100%;
}

.qr3 {
 display: flex;
 align-items: center;
 font-size: 3em;
 max-width: 900px;
 margin: auto;
 text-align: center;
}

.qr3 img {
 float: left;
 width: 300px;
}

.qr4 {
 font-size: 3em;
 max-width: 900px;
 margin: auto;
 text-align: center;
}

.ctlgCnt {   /* для индекса кол-ва книг в каталогах */
 color: #cc3300;
}

.basket_img {
 background: url(/img/ico/basket.png) no-repeat left;
 background-position: 8px center;
 min-width: 55px;
}

.search_img {
 background: url(/img/ico/search_new.png) no-repeat left;
 background-position: 8px center;
 min-width: 55px;
}

.logo_img {
 background: url(/img/ico/logo_org.png) no-repeat left;
 background-position: 8px center;
 min-width: 55px;
}

.mybooks_img {
 background: url(/img/ico/mybooks.png) no-repeat left;
 background-position: 8px center;
 min-width: 55px;
}

.login_img {
 background: url(/img/ico/login.png) no-repeat left;
 background-position: 8px center;
 min-width: 55px;
}

.basket {
 position: absolute;
 top: 12%;
 left: 14px;
 transform: translate(50%, -50%);
 background-color: #ff4400;
 color: white;
 font-size: 10px;
 font-weight: bold;
 padding: 1px 2px;
 margin: 0px 0px;
 border-radius: 50%;
 text-align: center;
 min-width: 18px;
 height: 18px;
 line-height: 18px;
}

#OrdersReport {
 color: #004477;
 font-weight: normal;
}

#StudInform {
 font-weight: normal;
}


.userinfobar {
 width: 40%;
 float: left;
 position: relative;
 margin: 10px 0 0;
 font-size: 90%;
}
 .userinfobar img {
  width: 40%;
  border: solid 1px #ddaa88;
  background-color: #eeeeee;
  max-width: 500px;
  border-radius: 6px;
  box-shadow: 1px 2px 7px rgba(0,0,0,.2);
 }

.visible {display:inline-block; visibility:hidden;}
.nonvisible {display: none; visibility: hidden;}

.user_img {
 width: 27px;
 height: 27px;
 border: none; /* solid 1px #0044dd; */
 background-color: #FFFFFF;
 display: flex;
 border-radius: 50%;
 overflow: hidden;
 background-image: url('/img/ico/nouser.png');
 background-size: cover;
}

 .user_img img {
  width: 100%;
  height: auto;
  object-fit: cover;
  object-position: top;
 }

.user_photo {
 background-color: #eeeeee;
 margin: 2px;
 padding: 12px;
 max-width: 300px;
 border-radius: 9px;
 box-shadow: 3px 3px 8px rgba(0,0,0,.2);
}

.mnuc {
 padding-left:29px;
}

.book-list-ul {
 max-width: 530px;
 box-shadow: 3px 3px 10px rgba(0,0,0,.4);
}

.book-list {
 white-space: nowrap; /* Запрещаем перенос строк */
 overflow: hidden; /* Обрезаем все, что не помещается в область */
 padding: 5px; /* Поля вокруг текста */
 text-overflow: ellipsis; /* Добавляем многоточие */
 cursor: pointer;
}


/********* Шаблон для Мои книги **********/

#template {
 display: none;
}

@media screen and (max-width: 600px) {
 #books {
  grid-template-columns: 1fr; /* Одна колонка */
 }
}

#books {
 z-index: -2;
 display: grid;
 grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
 gap: 20px;
 place-items: center; /* Центрирование по горизонтали и вертикали */
 width: 98%;
}

.book {
 z-index: -1;
 width: 280px;
 height: auto;
 min-height: 380px;
 margin-bottom: 20px;
 padding: 20px;
 filter: drop-shadow(4px 4px 8px #888899);
}
 .book::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0.4; /* Прозрачность фона */
  z-index: -1; /* Отправляем фон назад */
  background: url(/img/book-grey.png) no-repeat;
  background-size: 100% 100%;
 }
 .book hr {
  border: 1px solid #333333;
  filter: drop-shadow(1px 1px 2px #ddddee);
 }

 .book:hover {
  opacity: 1.0;
  transition: opacity 0.1s ease-out;
 }

.BkGreen {
 background: url(/img/book-green.png) no-repeat;
 background-size: 100% 100%;
}

.BkBrown {
 background: url(/img/book-brown.png) no-repeat;
 background-size: 100% 100%;
}

.BkGrey {
 background: url(/img/book-grey.png) no-repeat;
 background-size: 100% 100%;
}

.stars {
 margin: 5px;
 text-align: left;
}

.LeftTop {
 float: left;
 background-color: #ccbb00;
 font-size: 0.7em;
 font-weight: normal;
 min-height: 20px;
 margin: 3px;
 padding: 6px;
 text-align: left;
 border-radius: 5px;
}

.RightTop {
 float: right;
 background-color: #cc4400;
 font-size: 0.7em;
 font-weight: normal;
 min-height: 20px;
 margin: 3px;
 padding: 6px;
 text-align: right;
 border-radius: 5px;
}

.Nobody {
 float: none;
 height: auto;
 min-height: 70px;
}

.Desc {
 z-index: 2;
 float: none;
 line-height: 1.0em;
 font-size: 1.0em;
 font-weight: bold;
 color: #000000;
 margin: 17px;
 padding: 0px;
 text-align: center;
 text-shadow: 2px 2px 6px #ddddee;
}

.Info {
 margin-left: 18px;
 font-size: 0.9em;
 text-shadow: 1px 1px 4px #ddddee;
}

.DateIn0 {
 display: none;
}

.DateTerm0 {
 display: none;
}

.dolg {
 color: #bb0000;
}

.vozvrat {
 color: #aaaaaa;
}

/********* END Шаблон для Мои книги **********/


/********* Смена языка **********/

.custom-lang-select {
 position: relative;
 width: 45px;
 user-select: none;
}

.selected-lang {
 padding: 8px;
 cursor: pointer;
 text-align: center;
}

.lang-options {
 position: absolute;
 top: 110%;
 left: 0;
 right: 0;
 background: white;
 border: 1px solid #ccc;
 border-radius: 5px;
 display: none;
 box-shadow: 0 2px 6px rgba(0,0,0,0.1);
 z-index: 100;
}

.lang-option {
 padding: 10px 7px;
 cursor: pointer;
 text-align: center;
 transition: background 0.2s;
}

 .lang-option:hover {
  background: #eee;
 }

.adaptive-table {
 display: flex;
 flex-direction: column;
 gap: 1rem;
 border: 1px solid #ccc;
 padding: 1rem;
 background-color: #f9f9f9;
}

 .adaptive-table > .row {
  display: flex;
  justify-content: space-between;
  padding: 0.5rem;
  background: #f0f0f0;
 }

.row > .label {
 width: 35%;
 font-weight: bold;
}

.row > .value {
 max-width: 60%;
 flex-grow: 1;
 text-align: justify;
}

