//  #   Sidebar
//      Defines styles for the book's sidebar

//  *******************************************************
//  ##  Variables
//  *******************************************************

// The width of the entire sidebar
$sidebar-width                      : 300px !default;
// Amount of time the sidebar animates when toggled
$sidebar-transition-duration        : 250ms !default;

// The increment of padding used throughout the sidebar
$sidebar-padding-unit               : $spacing-unit;
// The amount of horizontal padding for each section of the sidebar
$sidebar-padding-h                  : 0;
// The amount of vertical padding for each section of the sidebar
$sidebar-padding-v                  : $sidebar-padding-unit * 2;

// The text color of the sidebar
$sidebar-color                      : hsl(207, 15%, 25%) !default;
// 
$sidebar-font-size                  : 1em !default;
// The background color of the sidebar
$sidebar-background                 : #171F34 !default;
// The color of right border of the entire sidebar
$sidebar-border-right               : 1px solid $color-border !default;

// The amount of indentation for each level of nav links
$sidebar-nested-padding             : $sidebar-padding-unit !default;
// Hides/shows nested levels when not active
$sidebar-show-nested-levels         : false;
// The vertical padding between links
$sidebar-link-padding-v             : $sidebar-padding-unit !default;
// The horizontal padding on the sides of links
$sidebar-link-padding-h             : 0 !default;



// Sidebar link headers styling
$sidebar-header-map                 : (
                                        color: #939da3,
                                        text-transform: uppercase,
                                        font-family: $font-family-headings
                                    ) !default;
// Headers that are parent to currently active page
$sidebar-header-selected-map        : ( color: $color-primary ) !default;



// Sidebar link styling
$sidebar-link-map                   : ( 
                                        color: #ffffff,
                                        font-family: $font-family-base
                                    ) !default;
// Sidebar link hover styling
$sidebar-link-hover-map             : (
                                        color: $color-primary,
                                        text-decoration: none
                                    ) !default;
// Links that are parent to current page
$sidebar-link-selected-map          : ( font-weight: bold ) !default;



// Sidebar dividers styling
$sidebar-divider-map                : ( background: $color-border ) !default;


//  *******************************************************
//  ## The sidebar
//  *******************************************************

.book-summary
{
    position: absolute;
    top: 0;
    left: $sidebar-width * -1;
    bottom: 0;
    z-index: 1;
    overflow-y: auto;

    width: $sidebar-width;

    color: $sidebar-color;
    background: $sidebar-background;
    border-right: $sidebar-border-right;

    font-family: $font-family-sans;
    font-size: $sidebar-font-size;

    transition: left $sidebar-transition-duration ease;

    @media (max-width: $mobile-breakpoint)
    {
        width: calc( 100% - 60px );
        bottom: 0;
        left: -100%;
    }
}

// When the sidebar is toggled on
.book.with-summary .book-summary { left: 0; }
// When animation is turned off
.book.without-animation .book-summary { transition: none !important; }

// Handle sizing of book body for sidebar states
.book-body
{
    transition: left $sidebar-transition-duration ease, transform $sidebar-transition-duration ease;
}

.book.with-summary .book-body
{
    @media (min-width: $mobile-breakpoint) { left: $sidebar-width; }
}
.book-summary, .book-body {
   top: $page-header-height;
}



//  *******************************************************
//  ## The list of links
//  *******************************************************

.book-summary ul.summary
{
    list-style: none;
    margin: 0;
    padding: $sidebar-padding-v $sidebar-padding-h;

    transition: top 0.5s ease;
}

// Hide nested levels when not active
.book-summary .hide { @if $sidebar-show-nested-levels == false { display: none !important } }

.book-summary ul.summary li { list-style: none; }

.book-summary ul.summary li.header
{
    padding: $sidebar-link-padding-v $sidebar-link-padding-h;
    padding-top: $sidebar-padding-unit * 2;

    @include print( $sidebar-header-map );
}
.book-summary ul.summary li.header:first-child { padding-top: 0; }

.book-summary ul.summary li.header.selected
{
    @include print( $sidebar-header-selected-map );
}

.book-summary ul.summary li.divider
{
    height: 1px;
    margin: $sidebar-padding-unit/2 0;
    overflow: hidden;

    @include print( $sidebar-divider-map );
}

.book-summary ul.summary li a,
.book-summary ul.summary li span
{
    position: relative;
    display: block;
    overflow: hidden;

    text-overflow: ellipsis;
    white-space: nowrap;
    
    padding: $sidebar-link-padding-v $sidebar-link-padding-h;

    border-bottom: none;

    font-size: 16px;

    @include print( $sidebar-link-map );
}
.book-summary ul.summary li span {
    opacity: 0.8;
}

.book-summary ul.summary li.selected > a,
.book-summary ul.summary li.selected > span
{
    @include print( $sidebar-link-selected-map );
}

.book-summary ul.summary li.active > a,
.book-summary ul.summary li a:hover
{
    @include print( $sidebar-link-hover-map );
}

.book-summary ul.summary li ul
{
    padding-left: $sidebar-nested-padding;
}


