/* 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: @baseBorderRadius;
    padding: 0 15px;
    margin-bottom: 20px;
    .box-sizing(border-box);
}
.userprofile .profile_tree section h3 {
    font-size: round(@baseFontSize * 1.30);
    line-height: @baseLineHeight;
}
.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;
    }
}
