/**
 * This file provides the design styles for the sitetools (nav).
 *
 * @author Jana Deutschlaender <deutschlaender@cosmocode.de>
 */


.side-tools.main-sidebar {
    @icon-size: @margin-default;

    counter-increment: bar-counter;

    ul,
    .trace {
        padding-left: (@margin-big + .5);
    }

    ul {
        border-bottom: 1px solid @color-border;
    }

    li {
        list-style-type: none;

        a {
            display: list-item;
            list-style-type: square;
            color: @color-nav;
            padding-top: .1em;
            padding-bottom: .1em;
            transition: @transition color;

            &:hover,
            &:focus,
            &:active {
                color: @button_background;
            }
        }

        &:first-of-type {
            padding-top: .3em;
        }
    }

    > nav {
        > ul {
            margin: 0;
            padding: 0 0 0 (@margin-big + .5);

            li {
                list-style-type: none;
                color: @color-nav;

                &:first-of-type {
                    padding-top: .3em;
                }
            }
        }
    }


/* + + + + +  headlines for linklists  + + + + + */
    h6 {
        position: relative;
        width: auto;
        height: auto;
        color: @color-nav;
        font-weight: normal;
        padding: .7em 0 .7em (@margin-big + 1.1);

        &[class="sr-only"] {
            border-bottom: solid 1px @color-border;
        }

        * {
            color: inherit;
        }


/* + + +  icon  + + + */
        &::before {
            .display-flex();
            .flex-direction();
            .justify-content();

            content: counter(bar-counter, lower-alpha);
            position: absolute;
            top: 0;
            left: 0;
            height: 100%;
            width: @margin-big;
            overflow: hidden;
            text-align: center;
            margin-top: auto;
            margin-bottom: auto;
        }


/* + + +  line bottom  + + + */
        &::after {
            content: '';
            position: absolute;
            top: 15%;
            bottom: 15%;
            width: 1px;
            left: (@margin-big + .6);
            background-color: @color-border;
            transition: @transition background-color;
        }

        + ul,
        + div {
            height: auto;
            overflow: hidden;
        }


/* + + +  toggle  + + + */
        &.opened,
        &.closed {
            padding: 0;

            &::before,
            &::after {
                display: none;
            }

            a {
                position: relative;
                display: block;
                border: 1px solid transparent;
                border-radius: @fix_border-radius;
                padding: .6em 0 .6em (@margin-big + 1);
                transition: @transition color, @transition background-color, @transition border-color;

                &::before {
                    .display-flex();
                    .flex-direction();
                    .justify-content();

                    content: counter(bar-counter, lower-alpha);
                    position: absolute;
                    top: 1px;
                    bottom: 1px;
                    left: 0;
                    height: 100%;
                    width: @margin-big;
                    overflow: hidden;
                    color: @color-nav;
                    text-align: center;
                    margin-top: auto;
                    margin-bottom: auto;
                    transition: @transition color;
                }

                &::after {
                    content: '';
                    position: absolute;
                    top: 15%;
                    bottom: 15%;
                    width: 1px;
                    left: @margin-big;
                    background-color: @color-border;
                    transition: @transition background-color;
                }

                &:hover,
                &:focus,
                &:active {
                    background-color: @button_color;
                    border-color: @button_background;
                    color: @button_background;
                    text-decoration: none;

                    &::before {
                        color: @button_background;
                    }

                    &::after {
                        background-color: @button_background;
                    }
                }
            }
        }

        &.opened {
            a {
                background-color: @button_background;
                color: @button_color;

                &::before {
                    background-color: @color-site-bg;
                    border-radius: @fix_border-radius 0 0 @fix_border-radius;
                }

                &::after {
                    display: none;
                }

                &:hover,
                &:focus,
                &:active {
                    background-color: @button_color;
                    border-color: @button_background;
                    color: @button_background;
                    text-decoration: none;

                    &::before {
                        background-color: @button_color;
                        color: @button_background;
                    }

                    &::after {
                        display: block;
                        background-color: @button_background;
                    }
                }
            }

            + ul,
            + div {
                height: auto;
                overflow: hidden;
            }

            + ul {
                margin-top: .5em;
                padding-bottom: .4rem;
            }
        }

        &.closed {
            + ul,
            + div {
                height: 0;
                 a{
                    display: none;
                }
            }
        }
    }


/* + + + + +  f.i. trace  + + + + + */
    p {
        max-height: 6rem;
        overflow-y: auto;
        background-color: @color-content-bg;
        border: 1px solid @button_background;
        border-radius: @fix_border-radius;
        font-size: @font-size-small;
        margin-top: .1rem;
        padding: .3rem .6em;

        * {
            font-size: inherit;
        }

        .bchead {
            display: none;
        }

        .bcsep {
            float: left;
            clear: both;
            display: block;
            width: 3%;
            vertical-align: top;
            color: @color-link;
            padding-top: .3em;
        }

        .breadcrumbs {
            border: 0 none;
            padding: 0;
            margin: 0;
        }

        bdi {
            display: block;
            float: left;
            width: 94%;
            line-height: 125%;
            padding: .1rem 0;
            margin-left: 2%;
        }

        a {
            cursor: pointer;
        }
    }
}


/* + + + + + + + + + + + + + + + + + + + + + + + + + + */
/* min-width: 1440px */

@media @screen_min-xlg {
    .side-tools.main-sidebar {
        h6 {
            font-size: @font-size-default;

            * {
                font-size: inherit;
            }
        }

        li {
            font-size: @font-size-small;
            padding: .1em 0 .1em .1rem;

            > * {
                font-size: inherit;
            }
        }
    }
}


/* + + + + + + + + + + + + + + + + + + + + + + + + + + */
/* max-width: 1439px */

@media @screen_max-xlg {
    .side-tools.main-sidebar {
        h6 {
            font-size: @font-size-default;
        }

        li {
            font-size: @font-size-small;
            padding: .15em 0 .15em .23rem;

            > * {
                font-size: inherit;
            }
        }

        p {
            font-size: @font-size-small;
        }
    }
}
