/* user.less */
.userprofile .fullprofilelink {
    text-align: center;
    margin: 10px;
}
.userprofile .page-context-header {
    margin-bottom: 10px;
}
.userprofile .description {
    margin-top: 10px;
    margin-bottom: 30px;
}
.userprofile .profile_tree {
    .content-columns(2);
}
.userprofile .profile_tree section {
    display: inline-block;
    width: 100%;
    border: 1px solid #ddd;
    border-radius: @border-radius-base;
    padding: 0 15px;
    margin-bottom: 20px;
    .box-sizing(border-box);
}
.userprofile .profile_tree section h3 {
    font-size: 18px;
    line-height: @line-height-base;
}
.userprofile dl.list {
    .dl-horizontal;
}
.user-box {
    margin: 8px;
    width: 115px;
    height: 160px;
    text-align: center;
    float: left;
    clear: none;
}
#page-user-profile .node_category,
.path-user .node_category {
    ul {
        margin-left: 0;
        margin-right: 0;
        list-style: none;
    }
    li {
        margin-top: 5px;
    }
    .editprofile,
    .viewmore {
        text-align: right;
    }
}

/**
 * This rule has been added to duplicate the style of icons with the
 * .iconsmall class for consistent rendering.
 *
 * Loading a pix icon using the template helper returns icons with
 * the class 'smallicon' instead of 'iconsmall'.
 */
#page-user-profile {
    .ajax-contact-button {
        img {
            &.smallicon {
                margin: 0;
                padding: 0.3em;
                height: 12px;
                width: 12px;
                vertical-align: middle;
            }
        }
    }
}

.ajax-contact-button {
    box-sizing: border-box;
    position: relative;

    &.loading {
        .loading-icon {
            display: block;
        }
    }

    .loading-icon {
        display: none;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(255, 255, 255, 0.7);

        .smallicon {
            position: absolute;
            left: 50%;
            top: 50%;
            transform: translate(-50%, -50%);
        }
    }
}

@media (max-width: 480px) {
    .userprofile .profile_tree {
        /** Display the profile on one column on phones. */
        .content-columns(1);
    }
}

.userlist .action-icon img {
    vertical-align: middle;
}
.userlist #showall {
    margin: 10px 0;
}
.userlist .buttons {
    text-align: center;
}
.userlist .buttons label {
    padding: 0 3px;
}
.userlist table#participants {
    text-align: center;
}
.userlist table#participants td {
    text-align: left;
    padding: 4px;
    vertical-align: middle;
}
.userlist table#participants th {
    text-align: left;
    padding: 4px;
}
.userlist {
    table.controls {
        width: 100%;
        tr {
            vertical-align: top;
        }
        .right {
            text-align: right;
        }
        .groupselector {
            margin-bottom: 0;
            margin-top: 0;
            label {
                display: block;
            }
        }
    }
}
.userinfobox {
    width: 100%;
    border: 1px solid;
    border-collapse: separate;
    padding: 10px;
}
.userinfobox .left,
.userinfobox .side {
    width: 100px;
    vertical-align: top;
}
.userinfobox .userpicture {
    width: 100px;
    height: 100px;
}
.userinfobox .content {
    vertical-align: top;
}
.userinfobox .links {
    width: 100px;
    padding: 5px;
    vertical-align: bottom;
}
.userinfobox .links a {
    display: block;
}
.userinfobox .list td {
    padding: 3px;
}
.userinfobox .username {
    padding-bottom: 20px;
    font-weight: bold;
}
.userinfobox td.label {
    text-align: right;
    white-space: nowrap;
    vertical-align: top;
    font-weight: bold;
}
.groupinfobox {
    .well
}
.groupinfobox .left {
    padding: 10px;
    width: 100px;
    vertical-align: top;
}
.course-participation #showall {
    text-align: center;
    margin: 10px 0;
}
#user-policy .noticebox {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 10px;
    width: 80%;
    height: 250px;
}
#user-policy #policyframe {
    width: 100%;
    height: 100%;
}
.iplookup #map {
    margin: auto;
}
.userselector select {
    width: 100%;
}
.userselector div {
    margin-top: 0.2em;
}
.userselector div label {
    margin-right: 0.3em;
}
/* Next style does not work in all browsers but looks nicer when it does */
.userselector .userselector-infobelow {
    font-size: 0.8em;
}
#userselector_options {
    padding: 0.3em 0;
}
#userselector_options .collapsibleregioncaption {
    font-weight: bold;
}
#userselector_options p {
    margin: 0.2em 0;
    text-align: left;
}
/** user full profile */
#page-user-profile .messagebox {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
}
/** user course profile */
#page-course-view-weeks .messagebox {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
}

.profileeditor {
    > .singleselect {
        margin: 0 0.5em 0 0;
    }
    > .singlebutton {
        display: inline-block;
        margin: 0 0 0 0.5em;
        div,
        input {
            margin: 0;
        }
    }
}

#groupeditform {
    .groups,
    .members {
        min-width: 175px;
        width: 49%;
        float: left;
        text-align: left;

        select {
            min-width: 175px;
            max-width: 90%;
        }
    }
}

/** Preferences page */
.preferences-group {
    ul {
        list-style: none;
        margin-left: 0;
        margin-right: 0;
    }
}

/** BS3 only **/
.jsenabled {
    .usermenu {
        float: left;
        .moodle-actionmenu {
            .usertext {
                display: inline-block;
                vertical-align: middle;
                line-height: 1em;
                color: inherit;
                .meta,
                .role {
                    display: block;
                    font-size: 12px;
                    .value {
                        font-weight: bold;
                    }
                }
                .role {
                    font-weight: bold;
                }
            }
            .toggle-display {
                display: block;

                &.textmenu {
                    padding: 7px;
                    .usertext {
                        margin-right: 3px;
                    }
                }
                .caret {
                    display: inline-block;
                    position: relative;
                }
            }
            > .menu {
                min-width: 160px;
                .filler {
                    display: block;
                    .nav-divider();
                }
            }

            &.show {
                background-color: @navbar-default-link-active-bg;
                .menu {
                    padding: 5px 0;
                    margin: 2px 0 0;
                    background-clip: padding-box;
                    &:before {
                        content: '';
                        display: inline-block;
                        border-left:   7px solid transparent;
                        border-right:  7px solid transparent;
                        border-bottom: 7px solid #ccc;
                        border-bottom-color: @dropdown-border;
                        position: absolute;
                        top: -7px;
                    }
                    &:after {
                        content: '';
                        display: inline-block;
                        border-left:   6px solid transparent;
                        border-right:  6px solid transparent;
                        border-bottom: 6px solid @dropdown-bg;
                        position: absolute;
                        top: -6px;
                    }

                    a {
                        border-radius: 0;

                        &:focus {
                            text-decoration: none;
                        }
                        &:hover {
                            color: @text-color;
                            text-decoration: none;
                            #gradient > .vertical(@dropdown-link-hover-bg, darken(@dropdown-link-hover-bg, 5%));
                        }
                    }
                    &.align-tr-br {
                        margin-top: 2px;
                    }
                    .box-shadow(0 5px 10px rgba(0, 0, 0, 0.2));
                }
            }
        }
    }
    &.userloggedinas .usermenu .userbutton .avatars .avatar.current {
        position: relative;
        top: 12px;
        left: 42px;
        width: 25px;
        height: 25px;
        img {
            border-radius: 50%;
            border: 1px solid #fff;
            .box-shadow(-2px -2px 2px rgba(0,0,0,.125));
            width: inherit;
            height: inherit;
        }
    }
}