// Name:            List
// Description:     Defines styles for ordered and unordered lists
//
// Component:       `uk-list`
//
// Modifiers:       `uk-list-line`
//                  `uk-list-striped`
//                  `uk-list-space`
//
// ========================================================================


// Variables
// ========================================================================

@list-nested-padding-left:                      20px;

@list-line-margin-top:                          5px;
@list-line-border:                              #ddd;
@list-line-border-width:                        1px;

@list-striped-padding-vertical:                 5px;
@list-striped-padding-horizontal:               5px;
@list-striped-background:                       #f5f5f5;

@list-space-margin-top:                         10px;


/* ========================================================================
   Component: List
 ========================================================================== */

.uk-list {
    padding: 0;
    list-style: none;
}

/*
 * Micro clearfix to make list more robust
 */

.uk-list > li:before,
.uk-list > li:after {
    content: "";
    display: table;
}

.uk-list > li:after { clear: both; }

/*
 * Remove margin from the last-child
 */

.uk-list > li > :last-child { margin-bottom: 0; }

/*
 * Nested lists
 */

.uk-list ul {
    margin: 0;
    padding-left: @list-nested-padding-left;
    list-style: none;
}


/* Modifier: `uk-list-line`
 ========================================================================== */

.uk-list-line > li:nth-child(n+2) {
    margin-top: @list-line-margin-top;
    padding-top: @list-line-margin-top;
    border-top: @list-line-border-width solid @list-line-border;
    .hook-list-line;
}


/* Modifier: `uk-list-striped`
 ========================================================================== */

.uk-list-striped > li {
    padding: @list-striped-padding-vertical @list-striped-padding-horizontal;
    .hook-list-striped;
}

.uk-list-striped > li:nth-of-type(odd) { background: @list-striped-background; }


/* Modifier: `uk-list-space`
 ========================================================================== */

.uk-list-space > li:nth-child(n+2) { margin-top: @list-space-margin-top; }


// Hooks
// ========================================================================

.hook-list-misc;

.hook-list-line() {}
.hook-list-striped() {}
.hook-list-misc() {}