/* --------------------------- common --------------------------- */
@font-face {
    font-family: 'rubik';
    font-style: normal;
    font-weight: normal;
    src: url('../fonts/Rubik-Light.ttf') format('truetype');
}
@font-face {
    font-family: 'rubik';
    font-style: italic;
    font-weight: normal;
    src: url('../fonts/Rubik-LightItalic.ttf') format('truetype');
}
@font-face {
    font-family: 'rubik';
    font-style: normal;
    font-weight: bold;
    src: url('../fonts/Rubik-Medium.ttf') format('truetype');
}
@font-face {
    font-family: 'rubik';
    font-style: italic;
    font-weight: bold;
    src: url('../fonts/Rubik-MediumItalic.ttf') format('truetype');
}

:root {
    --bg-main: #F2F0E9;
    --text-main: #2C2E35;
    --text-dark: #333;

    --bg-top: #6E6962;
    --text-top: #fff;

    --bg-page: #fff;
    --bg-light: #ECECED;
    --bg-dark: #D4D8D3;
    --bg-input: #fff;
    --bg-input-2: #DDDBD4;
    --bg-button: #8B918F;
    --text-button: #fff;

    --bg-footer: #55473F;
    --text-footer: #fff;

    --border-light: #ccc;
    --border: #aaa;
    --border-dark: #777;

    --accent: #3AB5E6;
    --accent-light: #D3EDF7;
    --accent-dark: #0F5F98;
    --alert: #f00;
    --success: #3BB234;
    --link: #0D319B;
    --link-hover: #5A76C6;
}


html { color: var(--text-main); background: var(--bg-main);
    font: 18px/22px 'Open Sans', sans-serif; }

a { color: var(--link); }
a:visited {  }
a:hover { color: var(--link-hover); }
a:active {  }

.page { width: 1300px; margin: 0 auto; }

/* --------------------------- header --------------------------- */
ul.dropd { display: none; list-style: none; position: absolute; background: var(--bg-dark); padding: 10px 0;
    box-shadow: 2px 2px 10px 0 #666; opacity: .93; z-index: 10; }
ul.dropd li a { color: var(--text-main); display: block; padding: 3px 10px; text-decoration: none; font-weight: bold; }
ul.dropd li a:hover, ul.dropd li a.dd-current { background: var(--bg-top); color: var(--text-top); }

.top-panel { position: fixed; left: 0; top: 0; width: 100%; font-size: 14px; color: var(--text-top); background: var(--bg-top); z-index: 1000; }
.top-panel a { text-decoration: none; font-weight: bold; color: var(--text-top); }
ul.social-ico { list-style: none; }
ul.social-ico li { display: inline-block; margin: 8px 5px; }
ul.social-ico li a { display: block; font-size: 16px; color: var(--bg-top); background-color: var(--text-top);
    padding: 4px 3px; width: 23px; line-height: 20px; text-align: center; border-radius: 3px;}
ul.social-ico li a:hover { background: var(--accent); }

.bar-level-1 { display: inline-block; }
.bar-level-1 > a { color: var(--text-top); display: block; padding: 5px 10px; margin: 7px 5px; }
.bar-level-1 > a:hover { color: var(--text-top); }
.bar ul { right: 5px; top: 37px; }
.bar ul.lang-bar { width: 100px; }
.bar ul.user-bar { width: 180px; }
.bar ul li a { font-size: 14px; }
.bar ul.contact-bar li { width: 250px; }
a.login { display: inline-block; color: var(--bg-top); background: var(--bg-page); padding: 5px 10px; margin: 7px 5px; border-radius: 10px; }
a.login:hover { background: var(--accent); }

.name-panel { margin-top: 42px; padding-bottom: 30px; font-family: 'rubik'; background-color: var(--bg-page); overflow: hidden; }
a.name-site { width: 60%; margin-top: 50px; display: flex; justify-content: start; align-items: center; text-decoration: none; }
.name-site .logo { display: block; width: 120px; height: 100px; background: url(../images/logo-1.png) center center;
    background-size: cover; }
.name-site .top-title { display: block; margin-left: 10px; line-height: 36px; font-size: 26px; color: var(--accent-dark); }
.search-container { width: 40%; margin-top: 50px; }
.search-container .search, .search-container .search form { width: 100%; text-align: right; }
.search-container .search input { display: inline-block; width: calc(100% - 50px); vertical-align: middle;
    border: none; padding: 0 5px; line-height: 36px; background-color: var(--bg-input-2); }
.search-container .search input::placeholder { color: var(--text-top); }
.search-container .search button.fa-search { display: inline-block; width: 36px; height: 36px; vertical-align: middle;
    font-size: 22px; border: none; background-color: var(--bg-button); color: var(--text-top); cursor: pointer; }
.search-container .work-time { margin-top: 20px; text-align: right; font-size: 18px; }

.service-bar { font-family: 'rubik'; background-color: var(--bg-page); }
.service-bar ul { list-style: none; display: flex; }
.service-bar ul li { margin-right: 10px; padding: 0 10px; line-height: 40px;
    border-radius: 10px 10px 0 0; background-color: var(--bg-light); }
.service-bar ul li:hover { background-color: var(--accent); }
.service-bar ul li a { display: block; color: var(--text-main); font-size: 16px; text-decoration: none; font-weight: bold; }
.service-bar ul li a:hover { color: var(--text-top); }

.service-bar-640 { display: none; }

a.menu-button { display: none; color: var(--text-top); font-size: 28px; margin: 9px 10px 0 0; }
a.menu-button:hover { color: var(--accent); }

.mm-container { height: 150px; font-family: 'rubik';
    background: url(../images/top-img.jpg) center center; background-size: cover; }
.mm-container.home { height: 400px; }
.mm-close { display: none; }

ul.main-menu { position: absolute; left: 0; bottom: 10px; width: 100%; list-style: none; background: rgba(255,255,255,.9); text-align: right; }
ul.main-menu>li { display: inline-block; position: relative; }
ul.main-menu>li>a { display: block; padding: 0 10px; color: var(--text-main); text-decoration: none; font-size: 18px; line-height: 46px;
    text-transform: uppercase; font-weight: bold; }
ul.main-menu>li>a:hover, a.mm-current { color: var(--accent-dark)!important; }
ul.main-menu>li>a>i { font-size: 1em; margin-left: 5px; }
ul.main-menu ul.level-2 { right: 10px; top: 40px; width: 300px; text-align: left; }
ul.main-menu ul.level-2>li>a { font-size: 16px; }

/* old ?
.main-menu-container { height: 46px; }
.main-menu-container ul.main-menu { position: relative; bottom: 0; }
*/

/* --------------------------- template --------------------------- */
.branchLine { margin: 0; padding: 10px 0; }
.branchLine .fa { margin: 0 7px; }
.branchLine a { text-decoration: none; }
.branchLine a:hover { }

.page-title { background: var(--bg-top); color: var(--text-top); padding: 7px 0; margin: 0; }
.page-title h1 { font-size: 24px; font-weight: bold; text-transform: uppercase; text-align: center; }

.main-container { display: flex; justify-content: flex-start; align-items: flex-start; }
.main-panel { padding: 30px 30px 80px; background: var(--bg-page); }
.main-column { width: calc(100% - 320px); margin-right: 20px; z-index: 1; }
.right-column { width: 300px; box-sizing: border-box; }

/* --------------------------- main column --------------------------- */
a.open-right-col { display: none; position: absolute; right: -3px; top: -3px; background-color: var(--bg-button); color: var(--text-button);
    text-decoration: none; padding: 1px 5px; font-size: 14px; }
.rc-close { display: none; }
ul.page_menu { list-style: none; margin: 20px 0 30px; display: flex; }
ul.page_menu li { margin-right: 10px; }
ul.page_menu li a { display: block; text-transform: uppercase; color: var(--text-button); background-color: var(--bg-top); padding: 3px 10px;
    font-size: 12px; text-decoration: none; border-radius: 3px; white-space: nowrap; }
ul.page_menu li a:hover { background-color: var(--accent-dark); }

.actual_info { background-color: var(--bg-top); color: var(--text-top); margin-bottom: 40px; padding: 20px 30px; font-family: 'rubik'; }
.actual_info h2 { font-size: 22px; margin-bottom: 5px; }
.actual_info p { margin-bottom: 0; }
h2.home { font-size: 32px; font-weight: normal; font-family: 'rubik'; }
h3.home { font-size: 24px; font-weight: bold; margin-left: 50px; }

ul.schedule { list-style: none; display: flex; justify-content: start; flex-wrap: wrap; margin: 0 0 20px; }
ul.schedule li { width: 33%; padding: 30px; background-color: var(--bg-page); box-sizing: border-box; font-size: 14px; }
ul.schedule li:nth-child(odd) { background-color: var(--bg-dark); }
ul.schedule li h3 { font-size: 22px; font-weight: bold; font-family: 'rubik'; text-transform: uppercase; }
ul.schedule li .one { margin-bottom: 10px; }
ul.schedule li .time-info { display: flex; align-items: flex-start; }
ul.schedule li .time { font-size: 30px; font-family: 'rubik'; margin-right: 10px; margin-top: 10px; }
ul.schedule li .info { }
ul.schedule li .department { font-size: 12px; line-height: normal; }

ul.gallery { list-style: none; }
ul.gallery li { display: inline-block; margin: 5px; height: 120px; }
ul.gallery li img { height: 100%; }
img.gal-img { max-width: 180px; max-height: 180px; }

.news-list-container { display: flex; justify-content: space-between; align-items: stretch; }
.news-list-container > .news-list-column { width: calc(50% - 10px); }

ul.news-list { list-style: none; font-family: 'rubik'; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: stretch; }
ul.news-list li { margin-bottom: 30px; box-sizing: border-box; background-color: var(--bg-page); }
ul.news-list li a { text-decoration: none; color: var(--text-main); }
ul.news-list li:hover { color: var(--text-main); }
ul.news-list li .img { width: 100%; height: 290px; background-size: cover; background-position: center center; }
ul.news-list li .note { padding: 20px; }
ul.news-list li .date { font-size: 14px; margin-bottom: 5px; }
ul.news-list li .name { font-weight: bold; }
ul.news-list li .lead {  }
ul.news-list li .info { margin: 15px 10px 0; }
ul.news-list li .info-row { display: flex; justify-content: space-between; align-items: stretch; }
ul.news-list li .info-row div { font-size: 16px; }

ul.news-list-1 { margin: 30px 0; }
ul.news-list-1 li:hover { background-color: var(--bg-dark); }
ul.news-list-1 li .img { height: 290px; }
ul.news-list-1 li.news-1 { width: 100%; }
ul.news-list-1 li.news-2 { width: calc(50% - 15px); }
ul.news-list-1 li.news-3 { width: calc(33% - 15px); }
ul.news-list-1 li.news-4 { width: calc(25% - 15px); }

ul.news-list-2 { margin: 0; }
ul.news-list-2 li:nth-child(odd) { background: var(--bg-dark); }
ul.news-list-2 li:hover { background-color: var(--bg-light); }
ul.news-list-2 li .img { height: 200px; }
ul.news-list-2 li.news-1 { width: calc(100% - 5px); }
ul.news-list-2 li.news-2 { width: calc(50% - 5px); }
ul.news-list-2 li.news-3 { width: calc(33% - 5px); }
ul.news-list-2 li.news-4 { width: calc(25% - 5px); }

ul.pagination { list-style: none; text-align: center; min-height: 30px; margin: 10px 0; }
ul.pagination li.page-item { display: inline-block; margin: 0 5px; }
ul.pagination li.page-item a { text-decoration: none; }
ul.pagination li.page-item a:hover { background: var(--accent-dark); }
ul.pagination li.page-item .page-link { background: var(--accent); padding: 5px 10px; border-radius: 15px; color: #fff; }
ul.pagination li.page-item .page-link.back { border-radius: 15px 0 0 15px; }
ul.pagination li.page-item .page-link.forward { border-radius: 0 15px 15px 0; }
ul.pagination li.page-item.disabled .page-link { background: transparent; padding: 5px 0; color: var(--text-main); }
ul.pagination li.page-item.active .page-link { background: var(--bg-dark); color: var(--text-dark); }
ul.pagination li.page-item .fa-angle-left { margin-right: 7px; }
ul.pagination li.page-item .fa-angle-right { margin-left: 7px; }

.listing { border: 1px solid var(--border-light); margin: 5px 0; }
.listing th { background: var(--bg-dark); padding: 3px; font-weight: bold; border-bottom: 1px solid var(--border-light); }
.listing td { border-bottom: 1px solid var(--border-light); background: var(--bg-light); padding: 3px; }
.list0, .list1, .list2 { padding: 3px; margin: 10px 0; border: 1px solid var(--border-light); }
.list0 { background: var(--bg-light); }
.list1 { background: var(--bg-page); }
.list0 .list2 { background: var(--bg-page); }
.list1 .list2 { background: var(--bg-light); }

img.news-left { margin: 0 10px 0 0; float: left; }
img.news-right { margin: 0 0 0 10px; float: right; }

    /* --------------------------- form --------------------------- */
.fa.required { margin-right: 5px; font-size: 18px; color: var(--alert); }
textarea, input, select { font-size: 18px; background: var(--bg-input); border: 1px solid var(--border); }

.page-form { margin: 10px 0; }
.row-form { margin-bottom: 10px; }
.page-form .row-form { display: inline-block; vertical-align: top; }
.page-form label { display: block; }

.page-form textarea,
.page-form input[type=text],
.page-form input[type=password],
.page-form select { width: calc(100% - 10px); box-sizing: border-box; padding: 5px 10px; }

.page-form input[type=checkbox], .page-form input[type=radio] { float: left; margin-right: 10px; }
.page-form select.day { width: calc(30% - 10px); margin-right: 5px; }
.page-form select.month { width: calc(40% - 10px); margin-right: 5px; }
.page-form select.year { width: calc(30% - 10px); }

.err, .formErr { color: var(--alert); }
.errBorder { border: 1px solid var(--alert); }
.radio { font-size: 11px; background: transparent; border: none; }
.note-form { font-size: 14px; font-weight: normal; font-style: italic; }
.form-footer { margin-top: 10px; display: flex; justify-content: space-around; align-items: center; }

.button-link, .button, .button-small { display: inline-block; border: none; color: var(--text-button); background: var(--bg-button); margin: 0 4px;
    text-decoration: none; }
.button-link, .button { padding: 4px 12px; font-size: 16px; }
.button-small { padding: 1px 8px; font-size: 14px; }
.button-link:hover, .button:hover, .button-small:hover { background-color: var(--accent-dark); color: var(--text-top); }

.button-disabled { background: var(--bg-dark); color: var(--text-main); }
.button-alert { background: var(--alert); color: var(--text-top); }

.user-form { min-width: 500px; width: 50%; margin: 0 auto; }
.big-item-img { max-width: 300px; }

    /* --------------------------- catalog -------------------------- */
.form_container, .panel { padding: 10px; background: var(--bg-dark); margin-bottom: 20px; }
.form_container .letter { display: inline-block; width: 25px; line-height: 25px; font-size: 22px; text-align: center;
    margin: 3px; }
.form_container a.letter { text-decoration: none; background: #64397C; color: #FFCD44; }
.form_container a.letter:hover, .form_container a.letter.cur { background: #fff; }

.book-panel { background: var(--bg-light); margin-bottom: 10px; }
.book-panel .img { flex-grow: 0; width: 110px; text-align: center; }
.book-panel .info { overflow: hidden; padding: 7px 10px; }
.book-panel .info.flex { justify-content: space-between; }
.book-panel .info.flex .text { flex-shrink: 10; }
.book-panel .num_side { width: 60px; float: left; }
.book-panel .info_side { margin-left: 60px; }
.book-panel .more { display: flex; justify-content: space-between; background: rgba(254,204,25,.25); padding: 7px 10px; font-size: 12px; }
.book-panel .more a { margin: 0 2px; font-size: 12px; padding: 0 8px 1px; border-radius: 2px; }
.book-panel .more .fa-book { border: 1px solid #676767; margin-right: 5px; border-radius: 50%; padding: 3px 6px; background-color: #fff; }
.book-panel .info.flex .more { flex-direction: column; justify-content: flex-start; text-align: center; }
.book-panel .info.flex .more a { margin-bottom: 2px; }
.book-panel .info-2 { padding: 7px 10px 7px 50px; border-bottom: 1px dashed var(--border); }
.ipn_author { }
.ipn_title { font-weight: bold; }
.ipn_img { }
.ipn_more { text-align: right; }
.ipn_more a { border: 1px solid #836F47; background: #E3CEA5; padding: 2px 4px; text-decoration: none; color: #383124; margin: 0 4px; }
.ipn_more a:hover { background: #F7D895; }
a.toc { text-decoration: none; color: #212121; }
a.toc:hover { color: #64397D; }
a.toc .fa { font-size: 18px; margin-left: 10px; vertical-align: bottom; }

.more-panel { display: flex; justify-content: space-between; background: var(--bg-page); padding: 7px 10px; font-size: 12px; }
.more-panel .more-1 { width: 145px; }
.more-panel .more-2 { width: calc(100% - 300px); }
.more-panel .more-3 { width: 145px; text-align: right; }
.more-panel a { margin: 0 2px; font-size: 12px; padding: 0 8px 1px; border-radius: 2px; }
.more-panel .fa-book { border: 1px solid #676767; margin-left: 5px; border-radius: 50%; padding: 3px 6px; background-color: #fff; }

div.list-result { margin-bottom: 10px; padding-bottom: 10px; border-bottom: 1px solid #DAD2C5; }
div.list-result h2 a { font-size: .8em; margin-left: 20px; }

.one-item { background: rgba(254,204,25,.15); display: flex; position: relative; box-sizing: border-box; padding: 10px; margin-top: 10px; }
.one-item .img { text-align: center; }
.one-item .img img { margin: 0; width: 100%; }
.one-item.item-small .img { width: 100px; }
.one-item.item-big .img { width: 250px; }
.one-item .info { padding: 0 10px; width: 100%; }
.one-item.item-small .info-right { width: calc(100% - 100px); }
.one-item.item-big .info-right { width: calc(100% - 250px); }
.one-item .info h1, .one-item .info .h1 { text-align: center; }
.one-item.item-small .info h1, .one-item.item-small .info .h1 { font-size: 20px; }
.one-item .add-info { margin-top: 10px; font-size: 12px; line-height: normal; }

ul.zmist { list-style: none; }
ul.zmist li { position: relative; }
ul.zmist li span { display: block; }
ul.zmist li span:nth-child(1) { width: calc(100% - 40px); overflow: hidden; position: relative; }
ul.zmist li span:nth-child(2) { position: absolute; right: 0; bottom: 0; width: 30px; }
ul.zmist li span:nth-child(1)::after {
    content: " . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . "
    ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . "
    ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . "
    ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ";
    white-space: nowrap;
    overflow: hidden;
    text-overflow: clip;
    position: absolute;
    bottom: 0;
    margin-left: 10px;
}

.item-panel { display: flex; position: relative; box-sizing: border-box; width: 80%; border: 1px solid #F7EDD3; border-radius: 3px;
    box-shadow: 4px 4px 10px -4px #000; padding: 15px; margin: 10px auto; text-decoration: none; color: #383124; }
.item-panel:hover { color: #383124; background: #fff; border: 1px solid #eee; box-shadow: 1px 1px 4px 1px #999; }
.item-panel .img { text-align: center; width: 30%; margin-right: 10px; }
.item-panel .ipn_img img { max-width: 100%; max-height: 100%; margin: 0; }
.item-panel .ipn_info { margin-bottom: 30px; }
.item-panel .more { position: absolute; right: -2px; bottom: 10px; border: none; }
.item-panel .more a { padding: 4px 50px 4px 10px; }
.item-panel .ipn_more:hover { background: #836F47; }
.item-panel h3 { margin-top: 10px; text-align: center; }

.item-list { display: flex; justify-content: space-between; flex-wrap: wrap; }
.item-list .item-panel { display: block; flex-basis: calc(33% - 10px); margin: 10px 0; }
.item-list .item-panel .ipn_img { text-align: center; width: 100%; height: 180px; margin: 0 0 10px 0; }

ul.tile-list { list-style: none; margin: 20px 0; text-align: center; }
ul.tile-list li { display: inline-block; box-sizing: border-box; vertical-align: top; width: 250px; height: 400px; margin: 0; padding: 10px;
    position: relative; }
ul.tile-list li .item-panel { display: block; width: 100%; height: 100%; margin: 0; box-sizing: border-box; background: #fff; }
ul.tile-list li .item-panel .img { width: auto; height: 150px; text-align: center; margin-bottom: 5px; }
ul.tile-list li .item-panel .img img { max-width: 100%; max-height: 100%; margin: 0; }
ul.tile-list li .item-panel .info { height: 155px; overflow: hidden; font-size: 13px; line-height: normal; }
ul.tile-list li .item-panel .info .author { font-size: 13px; font-weight: bold; line-height: normal; }
ul.tile-list li .item-panel .info h3 { font-size: 18px; margin: 3px 0; text-align: center; }
ul.tile-list li .item-panel .more { position: absolute; bottom: 15px; }
ul.tile-list li .item-panel .more a { padding: 3px 30px 4px 10px; font-size: 12px; }
ul.tile-list li .item-panel .publ_info { height: 120px; font-size: 12px; line-height: 15px; text-align: left; overflow: hidden; }
ul.tile-list li .editor-link { position: absolute; left: 6px; bottom: 26px; text-align: left; }
ul.tile-list li .editor-link a { display: block; padding: 3px 10px 4px 10px; font-size: 12px; margin-top: 2px; }

ul.line-list { list-style: none; margin: 20px 0; }
ul.line-list li { display: block; box-sizing: border-box; margin-bottom: 10px; background: rgba(254,204,25,.15); }
ul.line-list li .item-panel { width: 100%; border: none; border-radius: 0; box-shadow: none; padding: 15px; text-decoration: none; color: #383124; }
ul.line-list li .item-panel:hover { color: inherit; background: transparent; border: inherit; box-shadow: inherit; }
ul.line-list li .item-panel .ipn_more:hover { background: inherit; }

ul.masonry>li.slbook .flickity-viewport { width: 100%; height: 100%; }
ul.masonry>li .slbook-cell { width: 100%; height: 100%; margin-right: 10px; }
ul.masonry>li .item-panel { width: 100%; height: 100%; border: none; border-radius: 0; box-shadow: none; padding: 0; margin: 0; }
ul.masonry>li .item-panel .img { width: 40%; }
ul.masonry>li .item-panel .img img { width: 100%; margin: 0; }
ul.masonry>li .item-panel .info { width: 60%; }
ul.masonry>li .item-panel .more { bottom: 0; right: 0; }
ul.masonry>li .item-panel .more a { font-size: 12px; }
ul.masonry>li .flickity-prev-next-button.previous { left: -14px; }
ul.masonry>li .flickity-prev-next-button.next { right: -14px; }

    /* --------------------------- comment -------------------------- */
.comment-container { background: var(--accent-light); padding: 30px 0 60px; }
.comment-list h3 { text-align: center; }
.comment { padding: 10px 100px; border-bottom: 1px dashed #fff; }
.comment .title { width: 160px; float: left; }
.comment .name { font-weight: bold; }
.comment .date-in { font-size: 15px; }
.comment .note { font-size: 15px; margin-left: 170px; }
.comment .admin { margin-top: 10px; padding: 10px; font-style: italic; background: #E3F2F7; border: 1px dashed #fff; }
.comment-form { width: 70%; margin: 30px auto; border: 1px dashed #fff; padding: 20px 30px; background: #E3F2F7; border-radius: 5px; }
.comment-form label { display: inline-block; width: 40%; }
.comment-form input[type=text] { display: inline-block; width: calc(60% - 8px); padding: 3px; }
.comment-form textarea { width: calc(100% - 8px); height: 100px; padding: 3px; }
.comment-form h4 { font-size: 18px; margin: 0 0 10px 20px; }

/* --------------------------- right column --------------------------- */

.col-panel { width: 100%; margin-bottom: 25px; padding: 15px 15px; font-size: 18px; box-sizing: border-box; }
.col-panel-content { }
.col-panel-content a { text-decoration: none; }
.col-panel-content a:hover { color: #051239; }

.columnHeader { margin: 0 0 20px 0; font-size: 24px; font-weight: bold; text-transform: uppercase; line-height: 28px; text-align: center; }
.col-bg-1 { background: var(--bg-page); }
.col-bg-2 { background: var(--bg-dark); }
.col-bg-3 { background: var(--bg-light); }

.sub-menu { }
.sub-menu a { display: block; text-decoration: none; color: var(--text-main); }
.sub-menu > a { margin-bottom: 12px; }
.sub-menu a:hover, .sub-menu a.sm-current { color: var(--accent-dark); }
.sub-menu a.sm-current { font-weight: bold; }
.sub-menu ul { margin: 0 0 10px 20px; list-style-type: none; }
.sub-menu ul li { margin-bottom: 10px; }
.sub-menu ul a { font-weight: normal; }
.sub-menu ul a.sm-current { font-weight: bold; }

/* --------------------------- slider --------------------------- */
.slider-news-container { padding: 10px 0 30px; }
.slider-news { height: 300px; margin: 0 40px; }
.carousel-cell { width: 20%; height: 300px; padding: 0; margin: 0; text-align: center; background: var(--bg-page); color: var(--text-main);
  font-size: 16px; text-decoration: none; }
.carousel-cell:nth-child(odd) { background: var(--bg-dark); }
.carousel-cell:hover { background-color: var(--bg-light); color: var(--text-main); }
.carousel-cell .img { width: 100%; height: 180px; background-size: cover; }
.carousel-cell .date { font-size: 14px; margin-bottom: 5px; }
.carousel-cell .note { padding: 10px; }
.carousel-cell .name { font-weight: bold; }
.carousel-cell .lead {  }

.static-banner { position: absolute; right: -20px; bottom: -15px; background: rgba(255,255,255,.8); padding: 3px 8px; z-index: 2; }
.static-banner a { text-decoration: none; }
.flickity-prev-next-button { background: var(--bg-page); width: 32px; height: 32px; }
.flickity-prev-next-button .arrow { fill: var(--text-main); }
.flickity-prev-next-button:hover { background: var(--bg-page); }
.flickity-prev-next-button:hover .arrow { fill: var(--text-main); }
.flickity-prev-next-button.previous { left: -40px; }
.flickity-prev-next-button.next { right: -40px; }
.flickity-page-dots { bottom: -30px; }
.flickity-page-dots .dot { margin: 0 20px; opacity: 1; }
.flickity-page-dots .dot.is-selected { background-color: var(--accent); }

/* --------------------------- footer --------------------------- */
.footer { padding: 40px 0 10px; background-color: var(--bg-footer); color: var(--text-footer); }
.footer a { color: var(--text-footer); }
.footer a:hover { color: var(--accent); }
.footer .title { font-size: 20px; font-weight: bold; text-align: center; margin-bottom: 10px; }
.footer-part { display: flex; justify-content: space-between; align-items: center; margin-bottom: 50px; }

.footer-menu ul { list-style: none; }
.footer-menu ul li a { text-decoration: none; }

.footer-logo { margin-right: 30px; }
.footer-logo img { width: 120px; }
.footer-contact { }

.copyright { font-size: 12px; }

/* --------------------------- misc --------------------------- */
.thumb { max-width: 100px; max-height: 100px; }
.lineH { border-bottom: 1px solid #DBD3C0; }
.v-line { border-left: 2px solid #AAAAAA; }
.alertText, .okText { font-size: 14px; font-weight: bold; text-align: left; margin: 20px 0; padding: 5px 10px; }
.alertText { color: var(--alert); border: 1px solid var(--alert); }
.okText { color: var(--success); border: 1px solid var(--success); }
.alertTextSmall { color: var(--alert); font-weight: bold; }

    /* --------------------------- map --------------------------- */
.div_map { margin-left: 20px; }
.div_map a { display: block; }

    /* --------------------------- dialog --------------------------- */
.over-container { position: fixed; left: 0; top: 0; display: block; width: 100%; height: 100%; z-index: 2000; }
.over-bg { background-color: rgba(0,0,0,.4); }
.dialog-container { width: 40%; max-height: 80%; margin: 80px auto 0 auto; }
.dialog { padding: 0 45px; height: 100%; background: var(--bg-page); border-radius: 10px; z-index: 2500; box-shadow: 3px 3px 20px #666; }
.dialog-content {  margin: 35px 0; }
a.dialog-close { position: absolute; right: -11px; top: -14px; display: block; z-index: 2510; text-decoration: none; color: var(--text-main);
    font-size: 18px; background: var(--bg-page); border: 1px solid #666; border-radius: 16px; padding: 2px 6px 4px; }
a.dialog-close:hover { background: #eee; }
.dialog label { display: inline-block; width: calc(35% - 20px); text-align: right; margin-right: 20px; }
.dialog input[type=text], .dialog input[type=password] { display: inline-block; width: calc(65% - 2px); }

    /* --------------------------- calendar --------------------------- */
.calendar-win { position: fixed; bottom: 50px; z-index: 2; }
.calendar { background: rgba(54,56,58,.85); box-shadow: 5px 3px 6px 0 #000; border: 4px solid #b9b9b9; padding: 10px;
    width: 330px; min-height: 240px; }
.calendar h3 { position: absolute; left: 12px; bottom: -13px; transform-origin: 0 0; transform: rotate(-90deg); font-size: 22px; color: #ffcd05; text-align: center;
    cursor: default; font-weight: normal; }
.calendar h3 .fa { margin-left: 10px; text-decoration: none; color: #ffcd05; }
.calendar table { width: 250px; margin: 35px 0 35px 45px; }
.calendar table a { font-weight: bold; text-decoration: none; color: #ffcd05; }
.calendar table a:hover { color: #FFEDA5; }
.calendar tr { border-bottom: 1px solid #888; }
.calendar th { padding: 0 3px 7px 3px; }
.calendar td { text-align: center; font-size: 18px; line-height: normal; color: #f4f4f4; }
.calendar select { border: 1px solid #fff; color: #333; font-size: 16px; margin: 0 5px; }



/* --------------------------------------- old ----------------------------------*/
.user-bar-640 { float: right; }
.logo-top-w {  }
.logo-top-w a { display: block; width: 40px; height: 35px; margin: 0 auto; background: url(../images/logo-top-w.png) no-repeat;
    background-size: contain; }
/*
.side-bar { display: none; position: fixed; width: 90%; height: calc(100% - 60px); overflow: auto; left: 0; top: 35px;
    padding: 10px; background: #64397D; z-index: 1100; }
.side-bar a { color: #ffcd05; text-decoration: none; }
.side-bar a:hover { color: #fff; }
*/
ul.lang-bar-640 { list-style: none; margin-bottom: 10px; text-align: right; }
ul.lang-bar-640 li { display: inline-block; margin: 0 5px; }
ul.lang-bar-640 li a.lb-current { color: #fff; }


.portal_link { position: absolute; bottom: 70px; left: 0; background: url(../images/bg-service.png); padding: 5px 15px; font-size: 18px;
    border: solid #FECC19; border-width: 4px 4px 4px 0; border-radius: 0 20px 20px 0; }
.top-attantion { position: absolute; top: 30px; right: 0; width: 200px; background: #F7EDD3; padding: 5px 10px; border: solid #D50301;
    border-width: 1px 0 1px 1px; line-height: 18px; font-size: 14px; }

/* --------------------------- main menu --------------------------- */



ul.cab-main-menu { padding: 20px 50px; }
ul.cab-main-menu li { list-style: none; }
ul.cab-main-menu li a { text-decoration: none; text-transform: uppercase; font-weight: bold; font-size: 17px; }
ul.cab-main-menu li a:hover { text-decoration: underline; }

ul.left-column { position: absolute; top: 150px; left: 0; }

/* --------------------------- right column --------------------------- */
.one-news-pan { margin: 15px 0 10px ; padding-bottom: 10px; border-bottom: 1px solid #666; }
.one-news-pan .date { font-size: 14px; }
.one-news-pan img { float: right; width: 40%; margin-left: 10px; }

#photoFrame { margin: 20px 0 0 20px; height: 170px; }
.social-panel a { display: inline-block; margin: 20px 10px; }
.social-panel .strong { font-size: 14px; color: #62240E; }

/* --------------------------- content --------------------------- */
ul.list-group { list-style: none; border: 1px solid #ddd; }
ul.list-group li { display: flex; justify-content: space-between; background-color: #fff; padding: 10px 15px; border-bottom: 1px solid #ddd; }
ul.list-group li:last-child { border-bottom: none; }
ul.list-group li a { text-decoration: none; }


/* --------------------------- main column --------------------------- */

.margin-left-cat { margin-left: 30px; }
.signature { font-size: .85em; }
.signature a { color: #fff; font-weight: bold; }
.signature a:hover { color: #E6DECC; }

ul.dl { list-style: none; }
ul.dl li { margin-bottom: 5px; display: flex; }
ul.dl li .dt { width: 200px; font-weight: bold; }

/* --------------------------- form --------------------------- */
/* --------------------------- tiles masonry --------------------------- */
ul.masonry { list-style: none; }
ul.masonry>li { display: inline-block; width: calc(33% - 37px); padding: 15px; text-align: center; box-shadow: 4px 4px 10px -4px #000;
    margin-bottom: 10px; background: #fff; }
ul.masonry>li>img { width: 100%; margin: 0 auto 15px; }
ul.masonry>li>h2 { margin-bottom: 20px; }
ul.masonry>li p { text-align: left; }
ul.masonry li a.more, .slider-1-cell a.more
    { display: block; background: #64397C; color: #ffcd05; padding: 4px 50px 4px 10px; font-size: 12px; text-decoration: none; }
ul.masonry li a.more { float: right; margin-right: -15px;}
.slider-1-cell a.more { position: absolute; right: 0; bottom: 10px; }
ul.masonry li a.more:hover, .slider-1-cell a.more:hover { color: #fff; }

/* --------------------------- misc --------------------------- */
#social-viget { margin: 10px; }



div.voteBar
{
    border: 1px solid #C0C0C0;
    background: #EEEEEE;
    font-size: 6px;
    margin: 3px 0;
}
.star { color: red; font-weight: bold; }

.ico-add { width: 16px; height: 16px; background: url(../images/ico/plus.png) no-repeat; font-size: .1%; vertical-align: top; }
.ico-remove { width: 16px; height: 16px; background: url(../images/ico/delete.png) no-repeat; font-size: .1%; vertical-align: top; }


#share42 {
  position: fixed;
  z-index: 1000;
  margin-left: 20px; /* смещение панели влево от края контента */
}

/* --------------------------- min win --------------------------- */
.min-win { position: fixed; bottom: 20px; background: rgba(36,150,151,.75); color: #fff; padding: 10px; border: 4px solid #b9b9b9;
    text-align: center; box-shadow: 4px 4px 8px -2px #000; width: 180px; height: 180px; border-radius: 150px; z-index: 100000; }
.min-win a.control { position: absolute; color: #FECC19; font-size: 28px; text-decoration: none; top: -10px; text-shadow: 1px 1px 2px #fff; }
.min-win a.control:hover { color: #fff; text-shadow: 1px 1px 2px #FECC19; }
.min-win a.fa-arrow-right { right: -8px; }
.min-win a.fa-arrow-left { left: -22px; }


