﻿/* DEFAULTS
----------------------------------------------------------*/

body   
{
    background: #b6b7bc;
    font-size: .80em;
    font-family: "Helvetica Neue", "Lucida Grande", "Segoe UI", Arial, Helvetica, Verdana, sans-serif;
    margin: 0px;
    padding: 0px;
    color: #696969;
}

a:link, a:visited
{
    color: #034af3;
}

a:hover
{
    color: #1d60ff;
    text-decoration: none;
}

a:active
{
    color: #034af3;
}

p
{
    margin-bottom: 10px;
    line-height: 1.6em;
}


/* HEADINGS   
----------------------------------------------------------*/

h1, h2, h3, h4, h5, h6
{
    font-size: 1.5em;
    color: #666666;
    font-variant: small-caps;
    text-transform: none;
    font-weight: 200;
    margin-bottom: 0px;
}

h1
{
    font-size: 1.6em;
    padding-bottom: 0px;
    margin-bottom: 0px;
}

h2
{
    font-size: 1.5em;
    font-weight: 600;
}

h3
{
    font-size: 1.2em;
}

h4
{
    font-size: 1.1em;
}

h5, h6
{
    font-size: 1em;
}

/* this rule styles <h1> and <h2> tags that are the 
first child of the left and right table columns */
.rightColumn > h1, .rightColumn > h2, .leftColumn > h1, .leftColumn > h2
{
    margin-top: 0px;
}


/* PRIMARY LAYOUT ELEMENTS   
----------------------------------------------------------*/

.page
{
    width: 960px;
    background-color: #fff;
    margin: 20px auto 0px auto;
    border: 1px solid #496077;
}

.header
{
    position: relative;
    margin: 0px;
    padding: 0px;
    background: #4b6c9e;
    width: 100%;
}

.header h1
{
    font-weight: 700;
    margin: 0px;
    padding: 0px 0px 0px 20px;
    color: #f9f9f9;
    border: none;
    line-height: 2em;
    font-size: 2em;
}

.main
{
    padding: 0px 12px;
    margin: 12px 8px 8px 8px;
    min-height: 420px;
}

.leftCol
{
    padding: 6px 0px;
    margin: 12px 8px 8px 8px;
    width: 200px;
    min-height: 200px;
}

.footer
{
    color: #4e5766;
    padding: 8px 0px 10px 0px;
    margin: 0px auto;
    text-align: center;
    line-height: normal;
}


/* TAB MENU   
----------------------------------------------------------*/

div.hideSkiplink
{
    background-color: #FFFFFF;
    width: 100%;
}

div.menu
{
    padding: 4px 0px 4px 12px;
}

.menu > ul {
    display: flex !important;
    width: 100% !important;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

    .menu > ul > li {
        flex: 1 1 auto; /* Rozciąga elementy równomiernie */
        text-align: center;
    }

.menu a {
    box-sizing: border-box;
    padding: 10px 5px !important; /* Zmniejszony padding, by nie wychodziło poza 960px */
}

div.menu ul li a:hover
{
    background-color: white;
    color: #465c71;
    text-decoration: none;
}

div.menu ul li a:active
{
    background-color: white;
    color: #cfdbe6;
    text-decoration: none;
}

/* FORM ELEMENTS   
----------------------------------------------------------*/

fieldset
{
    margin: 1em 0px;
    padding: 1em;
    border: 1px solid #ccc;
}

fieldset p 
{
    margin: 2px 12px 10px 10px;
}

fieldset.login label, fieldset.register label, fieldset.changePassword label
{
    display: block;
}

fieldset label.inline 
{
    display: inline;
}

legend 
{
    font-size: 1.1em;
    font-weight: 600;
    padding: 2px 4px 8px 4px;
}

input.textEntry 
{
    width: 320px;
    border: 1px solid #ccc;
}

input.passwordEntry 
{
    width: 320px;
    border: 1px solid #ccc;
}

div.accountInfo
{
    width: 42%;
}

/* MISC  
----------------------------------------------------------*/

.clear
{
    clear: both;
}

.title
{
    display: block;
    float: left;
    text-align: left;
    width: auto;
}

.loginDisplay
{
    font-size: 1.1em;
    display: block;
    text-align: right;
    padding: 10px;
    color: White;
}

.loginDisplay a:link
{
    color: white;
}

.loginDisplay a:visited
{
    color: white;
}

.loginDisplay a:hover
{
    color: white;
}

.failureNotification
{
    font-size: 1.2em;
    color: Red;
}

.bold
{
    font-weight: bold;
}

.submitButton
{
    text-align: right;
    padding-right: 10px;
}

.collapsible {
    color: #034af3;
    cursor: pointer;
    padding: 10px;
    width: 100%;
    border: none;
    text-align: left;
    outline: none;
    font-size: 14px;
}

.active, .collapsible:hover {
    background-color: rgba(225, 225, 225, 0.5);
}

.content {
    padding: 0;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.2s ease-out;
    background-color: #ffffff;
}

/* Reset dla menu ASP.NET z klasą menu */
.menu {
    margin: 0;
    padding: 0;
    font-family: Arial, sans-serif;
}

    /* Wszystkie listy w menu */
    .menu ul {
        margin: 0;
        padding: 0;
        list-style: none;
    }

    /* Menu główne (poziom 1 - statyczne) */
    .menu > ul {
        border: 1px solid #000;
        background-color: #fff;
        display: block;
    }

        .menu > ul > li {
            display: inline-block;
            position: relative;
            border-right: 1px solid #000;
            margin: 0;
            padding: 0;
        }

            .menu > ul > li:last-child {
                border-right: none;
            }

    /* Wszystkie linki w menu */
    .menu a {
        display: block;
        padding: 12px 20px;
        color: #000;
        text-decoration: none;
        background-color: #fff;
        white-space: nowrap;
        font-size: 14px;
    }

        /* Linki statyczne (poziom 1) */
        .menu a.static {
            padding: 12px 20px;
        }

    /* Efekt hover dla menu głównego */
    .menu > ul > li > a:hover,
    .menu > ul > li > a.highlighted {
        background-color: #e0e0e0;
        color: #000;
    }

    /* Podmenu (dynamiczne) */
    .menu ul.dynamic {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        margin: 0;
        padding: 0;
        border: 1px solid #000;
        background-color: #fff;
        min-width: 220px;
        z-index: 1000;
        box-shadow: 2px 2px 5px rgba(0,0,0,0.2);
    }

    /* Pokazanie podmenu przy hover na desktopie */
    .menu > ul > li:hover > ul.dynamic {
        display: block;
    }

    /* Pokazanie podmenu po kliknięciu na mobile (klasa active) */
    .menu > ul > li.menu-active > ul.dynamic {
        display: block;
    }

    /* Elementy w podmenu */
    .menu ul.dynamic li {
        display: block;
        border-bottom: 1px solid #000;
        position: relative;
        margin: 0;
        padding: 0;
    }

        .menu ul.dynamic li:last-child {
            border-bottom: none;
        }

    /* Linki w podmenu */
    .menu ul.dynamic a {
        padding: 10px 20px;
        display: block;
    }

        /* Efekt hover dla podmenu */
        .menu ul.dynamic a:hover,
        .menu ul.dynamic a.highlighted {
            background-color: #d0d0d0;
            color: #000;
        }

    /* Podmenu drugiego poziomu */
    .menu ul.dynamic ul.dynamic {
        top: 0;
        left: 100%;
        margin-left: -1px;
    }

    /* Pokazanie podmenu drugiego poziomu przy hover */
    .menu ul.dynamic li:hover > ul.dynamic {
        display: block;
    }

    /* Pokazanie podmenu drugiego poziomu po kliknięciu */
    .menu ul.dynamic li.menu-active > ul.dynamic {
        display: block;
    }

    /* Ukryj domyślne obrazki ASP.NET (strzałki popout) */
    .menu a.popout {
        background-image: none !important;
        padding-right: 30px;
    }

    /* Dodaj własne wskaźniki strzałek */
    .menu > ul > li > a.popout::after {
        content: " ▼";
        font-size: 0.75em;
        margin-left: 5px;
        opacity: 0.7;
    }

    .menu ul.dynamic li > a.popout::after {
        content: " ►";
        font-size: 0.75em;
        position: absolute;
        right: 10px;
        top: 50%;
        transform: translateY(-50%);
    }

    /* Ukryj separatory ASP.NET */
    .menu img.separator,
    .menu img.horizontal-separator {
        display: none !important;
    }

    /* Ukryj ikony ASP.NET */
    .menu img.icon {
        display: none !important;
    }

    /* Styl dla aktywnego elementu menu */
    .menu a.selected {
        background-color: #f5f5f5;
        font-weight: bold;
    }

    a.HyperLinkHover:hover {
        color: #000;
    }  


/* ========================================
   RESPONSYWNOŚĆ DLA URZĄDZEŃ MOBILNYCH
   ======================================== */

@media (max-width: 768px) {
    /* Menu główne - pionowo na mobile */
    .menu > ul > li {
        display: block;
        border-right: none;
        border-bottom: 1px solid #000;
        width: 100%;
    }

        .menu > ul > li:last-child {
            border-bottom: none;
        }

        /* Linki rozciągnięte na całą szerokość */
        .menu > ul > li > a {
            width: 100%;
            box-sizing: border-box;
        }

    /* Podmenu - statyczne położenie */
    .menu ul.dynamic {
        position: static;
        border: none;
        border-top: 1px solid #000;
        margin-left: 0;
        padding-left: 20px;
        min-width: auto;
        width: 100%;
        box-shadow: none;
        background-color: #f9f9f9;
    }

        /* Podmenu drugiego poziomu */
        .menu ul.dynamic ul.dynamic {
            position: static;
            left: auto;
            margin-left: 0;
            padding-left: 20px;
            background-color: #f3f3f3;
        }

    /* Zmiana strzałki na mobile */
    .menu > ul > li > a.popout::after {
        content: " ▼";
        float: right;
        transform: rotate(0deg);
        transition: transform 0.3s ease;
    }

    /* Obrót strzałki gdy menu aktywne */
    .menu > ul > li.menu-active > a.popout::after {
        transform: rotate(180deg);
    }

    .menu ul.dynamic li > a.popout::after {
        content: " ▼";
        position: static;
        float: right;
        transform: rotate(0deg);
        transition: transform 0.3s ease;
    }

    .menu ul.dynamic li.menu-active > a.popout::after {
        transform: rotate(180deg);
    }

    /* Hover na mobile działa jak zwykłe tło */
    .menu > ul > li > a:hover {
        background-color: #fff;
    }

    /* Podświetlenie przy kliknięciu */
    .menu > ul > li.menu-active > a {
        background-color: #f0f0f0;
    }
}

/* Dla bardzo małych ekranów (telefony) */
@media (max-width: 768px) {
    .menu > ul {
        display: block !important; /* Menu pionowe na mobilu */
        width: 50% !important;
    }

    .menu ul.dynamic {
        display: none !important; /* Ukryte domyślnie */
        position: static !important;
        visibility: visible !important;
        width: 50% !important;
    }

    /* Wyświetlanie po dodaniu klasy przez JS */
    .menu li.menu-active > ul.dynamic {
        display: block !important;
    }

    .menu > ul > li {
        border-right: none !important;
        border-bottom: 1px solid #ccc;
    }
}