/* General styles */
body {
    margin: 0;
    font-family: Arial, sans-serif;
    background-color: #959284; /* Steam aesthetic background */
    color: #000;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

#logo,#logo-sm {
    font-size: 1.5rem;
    font-weight: bold;
    color: #FFF;
    background-size: 100% auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 4px 10px 0 0;
    padding: 0 20px;
    font-family: 'Merriweather', serif;
    text-shadow: 0px 0px 20px #2d3a4c;
}

#logo-sm {
    display: none;
}

#menu ul {
    list-style: none;
    display: flex;
    margin: 0;
    padding: 0;
    min-width: 300px;
}

#menu ul li {
    padding: 1px 10px;
    margin: 0 5px;
}

#menu ul li a {
    text-decoration: none;
    color: #FFF;
    font-size: 1rem;
    text-shadow: 0px 0px 20px #2d3a4c;
}

#menu ul li.active {
    background: #3f6fb1;
}

ul .point {
    color: #a8a494;
}

.main-content {
    display: flex;
    flex: 1;
    min-height: calc(100vh - 50px);
    justify-content: center;
}

.layout-wrapper {
    display: flex;
    justify-content: center;
    width: 100%;
    flex: 1;
    position: relative;
    padding-top: 100px;
    box-sizing: border-box;
}
/*
#panelTop {
    position: fixed;
    top: 0;
    width: 100%;
    height: 100px;
    background-color: #2d3a4c;
    box-shadow: 0 10px 0px rgba(0, 0, 0, 0.1);
    transition: height 0.3s;
    z-index: 10;
    justify-content: center;
    display: flex;
    flex: 1;

    background-image: url(/img/top_1.jpg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

}

#panelTop.shrink {
    height: 50px;
}
*/



#panelTop {
    position: fixed;
    top: 0;
    width: 100%;
    height: 100px;
    background-color: #2d3a4c;
    box-shadow: 0 10px 0px rgba(0, 0, 0, 0.1);
    transition: height 0.3s ease-in-out, background-color 0.3s ease-in-out;
    z-index: 10;
    justify-content: center;
    display: flex;
    flex: 1;
    overflow: hidden; /* Чтобы не было лишнего контента при уменьшении */
}

/* Фон-картинка */
#panelTop::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: var(--random-bg); /*url(/img/top_1.jpg);*/
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    opacity: 1;
    transition: opacity 0.3s ease-in-out;
    z-index: -1; /* Отправляем фон на задний план */
}

/* Контент внутри панели */
#panelTop .content-wrapper {
    position: relative;
    z-index: 1; /* Поднимаем текст и элементы поверх фона */
    width: 100%;
    max-width: 1024px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 100%;
    padding: 0 20px;
    color: white; /* Убедимся, что текст хорошо видно */
}

/* При уменьшении панели скрываем фон */
#panelTop.shrink {
    height: 50px;
    background-color: #2d3a4c; /* Оставляем основной фон */
}

#panelTop.shrink::after {
    opacity: 0; /* Плавно скрываем только фон */
}





#panelTop .content-wrapper {
    max-width: 1024px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 100%;
    padding: 0;
}

#panelHeader {
    max-width: 1024px;
    box-sizing: border-box;
    flex:1;
}

.panelTopLeft,.panelTopRight {
    width: 250px;
}

#panelLeft_ {
    background-color: #2a475e;
    width: 250px;
    position: relative;
    flex-shrink: 0;
    overflow-y: auto;
    z-index: 9;
    background-color: #959284;
    margin-top: 100px;
}

#panelLeft {
    width: 250px;
    position: sticky; /* Закрепляем относительно родителя */
    top: 100px; /* Учитываем высоту верхней панели */
    align-self: flex-start; /* Гарантируем, что он выровнен по началу */
    flex-shrink: 0;
    box-sizing: border-box;
    background-color: #959284;
    max-height: calc(100vh - 100px); /* Учитываем высоту верхней панели */
    overflow-y: auto; /* Прокрутка при переполнении */
    margin-top: 0;
}

#panelLeft.visible {
    transform: translateX(0);
}

/*
#panelLeft::-webkit-scrollbar {
    width: 8px;
}

#panelLeft::-webkit-scrollbar-track {
    background: #2a475e;
    border-radius: 10px;
}

#panelLeft::-webkit-scrollbar-thumb {
    background-color: #1b2838;
    border-radius: 10px;
    border: 2px solid #2a475e;
}

#panelLeft::-webkit-scrollbar-thumb:hover {
    background-color: chocolate;
}

#panelLeft {
    scrollbar-width: thin; 
    scrollbar-color: #1b2838 #2a475e;
}
*/

#panelRight {
    width: 250px;
    min-height: 200px;
    position: sticky; /* Закрепляем относительно родителя */
    top: 100px; /* Учитываем высоту верхней панели */
    align-self: flex-start; /* Гарантируем, что он выровнен по началу */
    flex-shrink: 0;
    box-sizing: border-box;
    background-color: #959284;
    max-height: calc(100vh - 100px); /* Учитываем высоту верхней панели */
    overflow-y: auto; /* Прокрутка при переполнении */
    margin-top: 0;
}

#panelContent {
    max-width: 1024px;
    padding: 13px 20px 20px 20px;
    box-sizing: border-box;
    flex: 1;
    margin-top: 100px;
    background: #a8a494;
    overflow-x: auto;
}

#panelFooter {
    background-color: #7e7a6d;
    text-align: center;
    margin-top: auto;
    height: 50px;	
}

#scrollTopBtn {
    position: fixed;
    bottom: 20px;
    right: 20px;
    width: 50px;
    height: 50px;
    font-size: 24px;
    text-align: center;
    background-color: #2d3a4c; /* Цвет фона */
    color: white;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s, visibility 0.3s;
}

#scrollTopBtn:hover {
    background-color: #000; /* Темнее при наведении */
}

#scrollTopBtn.show {
    opacity: 0.3;
    visibility: visible;
}

#nextImageBtn {
    position: fixed;
    bottom: 20px;
    left: 20px;
    width: 50px;
    height: 50px;
    font-size: 24px;
    text-align: center;
    background-color: #2d3a4c; /* Цвет фона */
    color: white;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    opacity: 0.3;
    transition: opacity 0.3s, visibility 0.3s;
}

#nextImageBtn:hover {
    background-color: #000; /* Темнее при наведении */
}

#nextImageBtn.show {
    opacity: 0.3;
    visibility: visible;
}

.ext {
    display: none;	
}

#burger-menu {
    margin-left: 10px;
    background: none;
    border: none;
    color: #fff;
    font-size: 1.5rem;
    cursor: pointer;
}

.side-menu ul {
    padding: 20px 0;
    list-style: none;
}

.side-menu ul li {
    margin: 15px;
    padding-left: 16px;
}

.side-menu ul li a {
    text-decoration: none;
    color: #2d3a4c;
}

.side-menu ul li a:hover {
    text-decoration: none;
    color: #2d3a4c;
    padding-bottom: 3px;
    border-bottom: 3px solid #2d3a4c;
}

.side-menu ul li.active {
    border-left: 8px solid #a8a494;
    padding-left: 8px;
}

.side-content {
    padding: 48px 10px;
}

.banner {
    margin: 10px 0;
    padding: 10px;
    text-align: center;
    border-radius: 5px;
    border: 1px solid #7e7a6d;
    transition: background-color 0.3s, color 0.3s;
}

.banner-click:hover {
    background-color: #7e7a6d;
    cursor: pointer;	
}


@media (max-width: 1200px) {
    #exit {
        display: none;
    }
}

/* Small Window */
@media (max-width: 1024px) {
    #panelRight {
        display: none;
    }
    .panelTopRight {
        display: none;
    }

    #logo {
        display: none;
    }
    #logo-sm {
        display: inline-flex;
    }
}

/*
    #panelLeft.visible {
	width: 100%;
    }
*/

/* Mobile */
@media (max-width: 768px) {
    .panelTopLeft {
        width: 55px;
    }
    #panelLeft {
        width: 100%;
        max-width: 500px;
        height: calc(100vh - 100px);
        overflow-y: auto;
        position: fixed;
/*        top: 0; */
        left: -100%; /* Изначально скрыто за левым краем */
        background-color: #959284;
        transition: left 0.3s ease-in-out; /* Плавное появление меню */
        z-index: 1000;
        -webkit-overflow-scrolling: touch;
    }

    /* Меню, когда оно открыто */
    #panelLeft.visible {
        left: 0; /* Меню сдвигается на 0 */
    }

    .side-menu {
        font-size: 20px;
    }

    .side-menu ul {
        padding: 10px;
	margin-left: 8px;
    }

    .side-menu ul li {
        margin: 10px;
        padding-left: 24px;
    }
   
    .side-menu ul li.active {
        border-left: 8px solid #a8a494;
        padding-left: 15px;
    }

    .side-content {
        padding: 10px 20px 20px 20px;
    }

    .ext {
        display: block;
    }

    body.menu-open {
        overflow: hidden;
    }

    #burger-menu {
        display: block;
    }

    #menu {
        display: none;
    }

    .banner {
	border: 1px solid #959284;
    }	

    #nextImageBtn {
        display: none;
    }
}

/* Big Window */
@media (min-width: 769px) {
    #burger-menu {
        display: none;
    }
}








a {
	color: #fff;
	text-decoration: none;
}
a:visited {
	color: #fff;
	text-decoration: none;
}
a:hover {
	color: #fff;
	text-decoration: none;
}

.c-pointer {
    cursor: pointer;
}
hr {
    border: 2px solid #a8a494;
}
