.repository {
    @mega-octicon-width: 30px;

    padding-top: 15px;

    .repo-header {
        .ui.compact.menu {
            margin-left: 1rem;
        }

        .ui.header {
            margin-top: 0;
        }

        .mega-octicon {
            width: @mega-octicon-width;
            font-size: 30px;
        }

        .ui.huge.breadcrumb {
            font-weight: 400;
            font-size: 1.5rem;
        }

        .fork-flag {
            margin-left: @mega-octicon-width + 6px;
            margin-top: 3px;
            display: block;
            font-size: 12px;
            white-space: nowrap;
        }

        .octicon.octicon-repo-forked {
            margin-top: -1px;
            font-size: 15px;
        }

        .button {
            margin-top: 2px;
            margin-bottom: 2px;
        }
    }

    .tabs {
        .navbar {
            justify-content: initial;
        }
    }

    .navbar {
        display: flex;
        justify-content: space-between;

        .ui.label {
            margin-left: 7px;
            padding: 3px 5px;
        }
    }

    .owner.dropdown {
        min-width: 40% !important;
    }

    #file-buttons {
        /* The reason for the !important is that Semantic itself has
        margin-left: 0 !important on right items on mobile, which is mostly
        to make sure elements which on menus would otherwise be on the right
        align correctly with other elements when stacked.
        Unfortunately, this brings some weird alignment on this particular
        element, so we need to override it. */
        margin-left: auto !important;
        font-weight: normal;

        .ui.button {
            padding: 8px 10px;
            font-weight: normal;
        }
    }

    .metas {
        .menu {
            max-height: 300px;
            overflow-x: auto;
        }

        .ui.list {
            .hide {
                display: none !important;
            }

            .item {
                padding: 0;
            }

            .label.color {
                padding: 0 8px;
                margin-right: 5px;
            }

            a {
                margin: 2px 0;

                .text {
                    color: #444444;

                    &:hover {
                        color: #000000;
                    }
                }
            }
        }

        #deadlineForm input {
            width: 12.8rem;
            border-radius: 4px 0 0 4px;
            border-right: 0;
            white-space: nowrap;
        }
    }

    .header-wrapper {
        background-color: #fafafa;
        margin-top: -15px;
        padding-top: 15px;

        .ui.tabs.divider {
            border-bottom: 0;
        }

        .ui.tabular .octicon {
            margin-right: 5px;
        }
    }

    .filter.menu {
        .label.color {
            border-radius: 3px;
            margin-left: 15px;
            padding: 0 8px;
        }

        .octicon {
            float: left;
            margin: 5px -7px 0 -5px;
            width: 16px;
        }

        &.labels .octicon {
            margin: -2px -7px 0 -5px;
        }

        .text {
            margin-left: 0.9em;
        }

        .menu {
            max-height: 300px;
            overflow-x: auto;
            right: 0 !important;
            left: auto !important;
        }

        .dropdown.item {
            margin: 1px;
            padding-right: 0;
        }
    }

    .select-label {
        .item {
            max-width: 250px;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        .desc {
            padding-left: 16px;
        }
    }

    .ui.tabs {
        &.container {
            margin-top: 14px;
            margin-bottom: 0;

            .ui.menu {
                border-bottom: 0;
            }
        }

        &.divider {
            margin-top: 0;
            margin-bottom: 20px;
        }
    }

    #clone-panel {
        width: 350px;

        @media only screen and (max-width: 768px) {
            width: 100%;
        }

        input {
            border-radius: 0;
            padding: 5px 10px;
            width: 50%;
        }

        .clone.button {
            font-size: 13px;
            padding: 0 5px;

            &:first-child {
                border-radius: 0.28571429rem 0 0 0.28571429rem;
            }
        }

        .icon.button {
            padding: 0 10px;
        }

        .dropdown .menu {
            right: 0 !important;
            left: auto !important;
        }
    }

    &.file.list {
        .repo-description {
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        #repo-desc {
            font-size: 1.2em;
        }

        .choose.reference {
            .header .icon {
                font-size: 1.4em;
            }
        }

        .repo-path {

            .section,
            .divider {
                display: inline;
            }
        }

        #file-buttons {
            font-weight: normal;

            .ui.button {
                padding: 8px 10px;
                font-weight: normal;
            }

            .ui.tiny.blue.buttons {
                @media only screen and (max-width: 768px) {
                    width: 100%;
                }
            }
        }

        #repo-files-table {
            thead {
                th {
                    padding-top: 8px;
                    padding-bottom: 5px;
                    font-weight: normal;
                }

                .ui.avatar {
                    margin-bottom: 5px;
                }
            }

            tbody {
                .octicon {
                    margin-left: 3px;
                    margin-right: 5px;
                    color: #777777;

                    &.octicon-mail-reply {
                        margin-right: 10px;
                    }

                    &.octicon-file-directory,
                    &.octicon-file-submodule,
                    &.octicon-file-symlink-directory {
                        color: #1e70bf;
                    }
                }
            }

            td {
                padding-top: 8px;
                padding-bottom: 8px;
                overflow: initial;

                &.name {
                    max-width: 150px;
                }

                &.message {
                    max-width: 400px;
                }

                &.age {
                    width: 120px;
                }

                .truncate {
                    display: inline-block;
                    max-width: 100%;
                    overflow: hidden;
                    text-overflow: ellipsis;
                    vertical-align: top;
                    white-space: nowrap;
                }
            }

            td.message .isSigned {
                cursor: default;
            }

            tr:hover {
                background-color: #ffffee;
            }

            .jumpable-path {
                color: #888888;
            }
        }

        .non-diff-file-content {
            .header {
                .icon {
                    font-size: 1em;
                }

                .file-actions {
                    margin-top: 0;
                    margin-bottom: -5px;
                    padding-left: 20px;

                    .btn-octicon {
                        display: inline-block;
                        padding: 5px;
                        margin-left: 5px;
                        line-height: 1;
                        color: #767676;
                        vertical-align: middle;
                        background: transparent;
                        border: 0;
                        outline: none;
                    }

                    .btn-octicon:hover {
                        color: #4078c0;
                    }

                    .btn-octicon-danger:hover {
                        color: #bd2c00;
                    }

                    .btn-octicon.disabled {
                        color: #bbbbbb;
                        cursor: default;
                    }

                    #delete-file-form {
                        display: inline-block;
                    }
                }
            }

            .view-raw {
                padding: 5px;

                * {
                    max-width: 100%;
                }

                img {
                    padding: 5px 5px 0 5px;
                }
            }

            .plain-text {
                padding: 1em 2em 1em 2em;

                pre {
                    word-break: break-word;
                    white-space: pre-wrap;
                }
            }

            pre {
                overflow: auto;
            }

            .code-view {
                * {
                    font-size: 12px;
                    font-family: @monospaced-fonts, monospace;
                    line-height: 20px;
                }

                table {
                    width: 100%;
                }

                .lines-num {
                    vertical-align: top;
                    text-align: right;
                    color: #999999;
                    background: #f5f5f5;
                    width: 1%;
                    user-select: none;

                    span {
                        line-height: 20px;
                        padding: 0 10px;
                        cursor: pointer;
                        display: block;
                    }
                }

                .lines-num,
                .lines-code {
                    padding: 0;

                    pre,
                    ol,
                    .hljs {
                        background-color: white;
                        margin: 0;
                        padding: 0 !important;

                        li {
                            display: block;
                            width: 100%;

                            &.active {
                                background: #ffffdd;
                            }

                            &:before {
                                content: ' ';
                            }
                        }
                    }
                }

                .lines-commit {
                    vertical-align: top;
                    color: #999999;
                    padding: 0;
                    background: #f5f5f5;
                    width: 1%;
                    -moz-user-select: none;
                    -ms-user-select: none;
                    -webkit-user-select: none;
                    user-select: none;

                    .blame-info {
                        width: 350px;
                        max-width: 350px;
                        display: block;
                        user-select: none;
                        padding: 0 0 0 10px;

                        .blame-data {
                            display: flex;
                            font-family: @default-fonts;

                            .blame-message {
                                flex-grow: 2;
                                overflow: hidden;
                                white-space: nowrap;
                                text-overflow: ellipsis;
                                line-height: 20px;
                            }

                            .blame-time,
                            .blame-avatar {
                                flex-shrink: 0;
                            }
                        }
                    }

                    .ui.avatar.image {
                        height: 18px;
                        width: 18px;
                    }
                }

                .lines-num,
                .lines-code,
                .lines-commit {
                    .bottom-line {
                        border-bottom: 1px solid #eaecef;
                    }
                }

                .active {
                    background: #ffffdd;
                }
            }
        }

        .sidebar {
            padding-left: 0;

            .octicon {
                width: 16px;
            }
        }
    }

    &.file.editor {
        .treepath {
            width: 100%;

            input {
                vertical-align: middle;
                box-shadow: rgba(0, 0, 0, 0.0745098) 0 1px 2px inset;
                width: inherit;
                padding: 7px 8px;
                margin-right: 5px;
            }
        }

        .tabular.menu {
            .octicon {
                margin-right: 5px;
            }
        }

        .commit-form-wrapper {
            padding-left: 64px;

            .commit-avatar {
                float: left;
                margin-left: -64px;
                width: 3em;
                height: auto;
            }

            .commit-form {
                position: relative;
                padding: 15px;
                margin-bottom: 10px;
                border: 1px solid #dddddd;
                border-radius: 3px;
                #avatar-arrow;

                &:after {
                    border-right-color: #ffffff;
                }

                .quick-pull-choice {
                    .branch-name {
                        display: inline-block;
                        padding: 3px 6px;
                        font: 12px @monospaced-fonts, monospace;
                        color: rgba(0, 0, 0, 0.65);
                        background-color: rgba(209, 227, 237, 0.45);
                        border-radius: 3px;
                    }

                    .new-branch-name-input {
                        position: relative;
                        margin-left: 25px;

                        input {
                            width: 240px !important;
                            padding-left: 26px !important;
                        }
                    }

                    .octicon-git-branch {
                        position: absolute;
                        top: 9px;
                        left: 10px;
                        color: #b0c4ce;
                    }
                }
            }
        }
    }

    &.options {
        #interval {
            width: 100px !important;
            min-width: 100px;
        }

        .danger {
            .item {
                padding: 20px 15px;
            }

            .ui.divider {
                margin: 0;
            }
        }
    }

    @comment-avatar-width: 3em;

    &.new.issue {
        .comment.form {
            .comment {
                .avatar {
                    width: @comment-avatar-width;
                }
            }

            .content {
                margin-left: 4em;
                #avatar-arrow;

                &:after {
                    border-right-color: #ffffff;
                }

                .markdown {
                    font-size: 14px;
                }
            }

            .metas {
                min-width: 220px;

                .filter.menu {
                    max-height: 300px;
                    overflow-x: auto;
                }
            }

        }
    }

    &.view.issue {
        .title {
            padding-bottom: 0 !important;

            h1 {
                font-weight: 300;
                font-size: 2.3rem;
                margin-bottom: 5px;

                .ui.input {
                    font-size: 0.5em;
                    vertical-align: top;
                    width: 50%;
                    min-width: 600px;

                    input {
                        font-size: 1.5em;
                        padding: 6px 10px;
                    }
                }
            }

            .index {
                font-weight: 300;
                color: #aaaaaa;
                letter-spacing: -1px;
            }

            .label {
                margin-right: 10px;
            }

            .edit-zone {
                margin-top: 10px;
            }
        }

        .pull-desc {
            code {
                color: #0166e6;
            }
        }

        .pull {
            &.tabular.menu {
                margin-bottom: 10px;

                .octicon {
                    margin-right: 5px;
                }
            }

            &.tab.segment {
                border: 0;
                padding: 10px 0 0;
                box-shadow: none;
                background-color: inherit;
            }

            .merge.box {
                .avatar {
                    margin-left: 10px;
                    margin-top: 10px;
                }
            }

            .review-item {

                .avatar,
                .type-icon {
                    float: none;
                    display: inline-block;
                    text-align: center;
                    vertical-align: middle;

                    .octicon {
                        width: 23px;
                        font-size: 23px;
                        margin-top: 0.45em;
                    }
                }

                .text {
                    margin: 0.3em 0 0.5em 0.5em;
                }

                .type-icon {
                    float: right;
                    margin-right: 1em;
                }

                .divider {
                    margin: 0.5rem 0;
                }

                .review-content {
                    padding: 1em 0 1em 3.8em;
                }
            }
        }

        .comment-list {
            &:not(.prevent-before-timeline):before {
                display: block;
                content: "";
                position: absolute;
                margin-top: 12px;
                margin-bottom: 14px;
                top: 0;
                bottom: 0;
                left: 96px;
                width: 2px;
                background-color: #f3f3f3;
                z-index: -1;
            }

            .timeline-line {
                position: relative;
                display: block;
                width: 100%;
                max-width: 100%;

                &:before {
                    display: block;
                    content: "";
                    position: absolute;
                    margin-top: 12px;
                    margin-bottom: 14px;
                    top: 0;
                    bottom: 0;
                    left: 82px;
                    width: 2px;
                    background-color: #f3f3f3;
                    z-index: -1;
                }
            }

            .comment {
                .avatar {
                    width: @comment-avatar-width;
                }

                .tag {
                    color: #767676;
                    margin-top: 3px;
                    padding: 2px 5px;
                    font-size: 12px;
                    border: 1px solid rgba(0, 0, 0, 0.1);
                    border-radius: 3px;
                }

                .actions {
                    .item {
                        float: left;

                        &.tag {
                            margin-right: 5px;
                        }

                        &.action {
                            margin-top: 6px;
                            margin-left: 10px;
                        }
                    }
                }

                .content {
                    margin-left: 4em;

                    > .header {
                        #avatar-arrow;
                        font-weight: normal;
                        padding: auto 15px;
                        position: relative;
                        color: #767676;
                        background-color: #f7f7f7;
                        border-bottom: 1px solid #eeeeee;
                        border-top-left-radius: 3px;
                        border-top-right-radius: 3px;

                        .text {
                            max-width: 78%;
                            padding-top: 10px;
                            padding-bottom: 10px;
                        }
                    }

                    > .merge-section {
                        border-top: 1px solid #d4d4d5;
                        background-color: #f7f7f7;
                    }

                    .markdown {
                        font-size: 14px;
                    }

                    .no-content {
                        color: #767676;
                        font-style: italic;
                    }

                    > .bottom.segment {
                        background: #f3f4f5;

                        .ui.images::after {
                            clear: both;
                            content: ' ';
                            display: block;
                        }

                        a {
                            display: block;
                            float: left;
                            margin: 5px;
                            padding: 5px;
                            height: 150px;
                            border: solid 1px #eeeeee;
                            border-radius: 3px;
                            max-width: 150px;
                            background-color: #ffffff;

                            &:before {
                                content: ' ';
                                display: inline-block;
                                height: 100%;
                                vertical-align: middle;
                            }
                        }

                        .ui.image {
                            max-height: 100%;
                            width: auto;
                            margin: 0;
                            vertical-align: middle;
                        }

                        span.ui.image {
                            font-size: 128px;
                            color: #000000;
                        }

                        span.ui.image:hover {
                            color: #000000;
                        }
                    }
                }

                .ui.form {
                    .field:first-child {
                        clear: none;
                    }

                    .tab.segment {
                        border: 0;
                        padding: 10px 0 0;
                    }

                    textarea {
                        height: 200px;
                        font-family: @monospaced-fonts, monospace;
                    }
                }

                .edit.buttons {
                    margin-top: 10px;
                }
            }

            .event {
                position: relative;
                margin: 15px 0 15px 79px;
                padding-left: 25px;

                & > .octicon:not(.issue-symbol) {
                    text-shadow: -2px 0 #fff, 0 2px #fff, 2px 0 #fff, 0 -2px #fff;
                }

                & > .octicon.issue-symbol {
                    font-size: 20px;
                    margin-left: -35px;
                    margin-right: -1px;
                    margin-top: 0 !important;
                    height: 28px;
                    width: 28px;
                    border-radius: 50%;
                    text-align: center;
                    line-height: 28px;
                    background: #eee;

                    &::before {
                        width: 15px;
                        display: inline-block;
                    }

                    &.octicon-key::before {
                        width: 18px;
                    }

                    &.octicon-circle-slash::before {
                        width: 17px;
                    }

                    &.octicon-comment {
                        font-size: 21px;
                        line-height: 33px;

                        &::before {
                            width: 20px;
                        }
                    }
                }

                .octicon {
                    width: 30px;
                    float: left;
                    text-align: center;

                    &.octicon-circle-slash {
                        margin-top: 5px;
                        margin-left: -34.5px;
                        font-size: 20px;
                        color: #bd2c00;
                    }

                    &.octicon-primitive-dot {
                        margin-top: -1px;
                        margin-left: -28.5px;
                        margin-right: -1px;
                        font-size: 30px;
                        color: #6cc644;
                    }

                    &.octicon-bookmark {
                        margin-top: 2px;
                        margin-left: -31px;
                        margin-right: -1px;
                        font-size: 25px;
                    }

                    &.octicon-eye {
                        margin-top: 3px;
                        margin-left: -36px;
                        margin-right: 0;
                        font-size: 22px;
                    }

                    &.octicon-x {
                        margin-left: -33px;
                        font-size: 25px;
                    }
                }

                .detail {
                    font-size: 0.9rem;
                    margin-top: 5px;
                    margin-left: 35px;

                    .octicon {
                        &.octicon-git-commit {
                            margin-top: 2px;
                        }
                    }
                }
            }
        }

        .ui.segment.metas {
            margin-top: -3px;
        }

        .ui.participants {
            img {
                margin-top: 5px;
                margin-right: 5px;
            }
        }

        .ui.depending {
            .item.is-closed {
                .title {
                    text-decoration: line-through;
                }
            }
        }
    }

    .comment.form {
        .ui.comments {
            margin-top: -12px;
            max-width: 100%;
        }

        .content {
            .field:first-child {
                clear: none;
            }

            .form {
                #avatar-arrow;

                &:after {
                    border-right-color: #ffffff;
                }
            }

            .tab.segment {
                border: 0;
                padding: 10px 0 0;
            }

            textarea {
                height: 200px;
                font-family: @monospaced-fonts, monospace;
            }
        }
    }

    .label.list {
        list-style: none;
        padding-top: 15px;

        .item {
            padding-top: 10px;
            padding-bottom: 10px;
            border-bottom: 1px dashed #aaaaaa;

            a {
                font-size: 15px;
                padding-top: 5px;
                padding-right: 10px;
                color: #666666;

                &:hover {
                    color: #000000;
                }

                &.open-issues {
                    margin-right: 30px;
                }
            }

            .ui.label {
                font-size: 1em;
            }
        }
    }

    .milestone.list {
        list-style: none;
        padding-top: 15px;

        > .item {
            padding-top: 10px;
            padding-bottom: 10px;
            border-bottom: 1px dashed #aaaaaa;

            > a {
                padding-top: 5px;
                padding-right: 10px;
                color: #000000;

                &:hover {
                    color: #4078c0;
                }
            }

            .ui.progress {
                width: 40%;
                padding: 0;
                border: 0;
                margin: 0;

                .bar {
                    height: 20px;
                }
            }

            .meta {
                color: #999999;
                padding-top: 5px;

                .issue-stats .octicon {
                    padding-left: 5px;
                }

                .overdue {
                    color: red;
                }
            }

            .operate {
                margin-top: -15px;

                > a {
                    font-size: 15px;
                    padding-top: 5px;
                    padding-right: 10px;
                    color: #666666;

                    &:hover {
                        color: #000000;
                    }
                }
            }

            .content {
                padding-top: 10px;
            }
        }
    }

    &.new.milestone {
        textarea {
            height: 200px;
        }

        #deadline {
            width: 150px;
        }
    }

    &.compare.pull {
        .show-form-container {
            text-align: left;
        }

        .choose.branch {
            .octicon {
                padding-right: 10px;
            }
        }

        .comment.form {
            .content {
                #avatar-arrow;

                &:after {
                    border-right-color: #ffffff;
                }
            }
        }
    }

    .filter.dropdown .menu {
        margin-top: 1px !important;
    }

    &.branches {
        .commit-divergence {
            .bar-group {
                position: relative;
                float: left;
                padding-bottom: 6px;
                width: 90px;

                &:last-child {
                    border-left: 1px solid #b4b4b4;
                }
            }

            .count {
                margin: 0 3px;

                &.count-ahead {
                    text-align: left;
                }

                &.count-behind {
                    text-align: right;
                }
            }

            .bar {
                height: 4px;
                position: absolute;
                background-color: #d4d4d5;

                &.bar-behind {
                    right: 0;
                }

                &.bar-ahead {
                    left: 0;
                }
            }
        }
    }

    &.commits {
        .header {
            .search {
                input {
                    font-weight: normal;
                    padding: 5px 10px;
                }
            }
        }
    }

    #commits-table {
        thead {
            th:first-of-type {
                padding-left: 15px;
            }

            .sha {
                &td {
                    text-align: center;
                }

                width: 140px;
            }
        }

        td.sha .sha.label {
            margin: 0;
        }

        td.message {
            text-overflow: unset;
        }

        &.ui.basic.striped.table tbody tr:nth-child(2n) {
            background-color: rgba(0, 0, 0, 0.02) !important;
        }
    }

    #commits-table td.sha .sha.label,
    #repo-files-table .sha.label {
        &.isSigned {
            border: 1px solid #bbbbbb;

            .detail.icon {
                background: #fafafa;
                margin: -6px -10px -4px 0;
                padding: 5px 3px 5px 6px;
                border-left: 1px solid #bbbbbb;
                border-top-left-radius: 0;
                border-bottom-left-radius: 0;
            }
        }

        &.isSigned.isVerified {
            border: 1px solid #21ba45;
            background: fade(#21ba45, 10%);

            .detail.icon {
                border-left: 1px solid fade(#21ba45, 50%);
            }
        }
    }

    .diff-detail-box {
        padding: 7px 0;
        background: #ffffff;
        line-height: 30px;

        > div:after {
            clear: both;
            content: "";
            display: block;
        }

        ol {
            clear: both;
            padding-left: 0;
            margin-top: 5px;
            margin-bottom: 28px;

            li {
                list-style: none;
                padding-bottom: 4px;
                margin-bottom: 4px;
                border-bottom: 1px dashed #dddddd;
                padding-left: 6px;
            }
        }

        span.status {
            display: inline-block;
            width: 12px;
            height: 12px;
            margin-right: 8px;
            vertical-align: middle;

            &.modify {
                background-color: #f0db88;
            }

            &.add {
                background-color: #b4e2b4;
            }

            &.del {
                background-color: #e9aeae;
            }

            &.rename {
                background-color: #dad8ff;
            }
        }

        .detail-files {
            background: #ffffff;
            margin: 0;
        }
    }

    .diff-box .header {
        display: flex;
        align-items: center;

        .count {
            margin-right: 12px;
            font-size: 13px;
            flex: 0 0 auto;

            .bar {
                background-color: #bd2c00;
                height: 12px;
                width: 40px;
                display: inline-block;
                margin: 2px 4px 0 4px;
                vertical-align: text-top;

                .add {
                    background-color: #55a532;
                    height: 12px;
                }
            }
        }

        .file {
            flex: 1;
            color: #888888;
            word-break: break-all;
        }

        .button {
            margin: -5px 0 -5px 12px;
            padding: 8px 10px;
            flex: 0 0 auto;
        }
    }

    .diff-file-box {
        .header {
            background-color: #f7f7f7;
        }

        .file-body.file-code {
            .lines-num {
                text-align: right;
                color: #a6a6a6;
                background: #fafafa;
                width: 1%;
                min-width: 50px;
                user-select: none;
                vertical-align: top;

                span.fold {
                    display: block;
                    text-align: center;
                }
            }

            .lines-num-old {
                border-right: 1px solid #dddddd;
            }
        }

        .code-diff {
            font-size: 12px;

            td {
                padding: 0 0 0 10px;
                border-top: 0;
            }

            .lines-num {
                border-color: #d4d4d5;
                border-right-width: 1px;
                border-right-style: solid;
                padding: 0 5px;
            }

            tbody {
                tr {
                    td.halfwidth {
                        // halfwidth is used in split view - and in that case, 1% of each
                        width: 49%;
                    }

                    &.tag-code td,
                    td.tag-code {
                        background-color: #f0f0f0 !important;
                        border-color: #d3cfcf !important;
                        padding-top: 8px;
                        padding-bottom: 8px;
                        // td.selected-line, td.selected-line pre {
                        //     background-color: #ffffdd !important;
                        // }
                    }

                    // &.same-code {
                    //     td.selected-line, td.selected-line pre {
                    //         background-color: #ffffdd !important;
                    //     }
                    // }

                    .removed-code {
                        background-color: #ff9999;
                    }

                    .added-code {
                        background-color: #99ff99;
                    }

                    [data-line-num]::before {
                        content: attr(data-line-num);
                        text-align: right;
                    }

                    .lines-type-marker {
                        width: 10px;
                        min-width: 10px;
                        user-select: none;
                    }

                    [data-type-marker]::before {
                        content: attr(data-type-marker);
                        text-align: right;
                        display: inline-block;
                    }
                }
            }
        }

        .code-diff-unified tbody tr {
            &.del-code td {
                background-color: #ffe0e0 !important;
                border-color: #f1c0c0 !important;
            }

            &.add-code td {
                background-color: #d6fcd6 !important;
                border-color: #c1e9c1 !important;
            }
        }

        .code-diff-split {

            table,
            tbody {
                width: 100%;
            }

            tbody tr {

                // light gray for empty lines before / after commit
                &.add-code td:nth-child(1),
                &.add-code td:nth-child(2),
                &.add-code td:nth-child(3),
                &.del-code td:nth-child(4),
                &.del-code td:nth-child(5),
                &.del-code td:nth-child(6) {
                    background-color: #fafafa;
                }

                &.del-code td:nth-child(1),
                &.del-code td:nth-child(2),
                &.del-code td:nth-child(3),
                td.del-code {
                    background-color: #ffe0e0 !important;
                    border-color: #f1c0c0 !important;
                }

                &.add-code td:nth-child(4),
                &.add-code td:nth-child(5),
                &.add-code td:nth-child(6),
                td.add-code {
                    background-color: #d6fcd6 !important;
                    border-color: #c1e9c1 !important;
                }

                td:nth-child(4) {
                    border-left-width: 1px;
                    border-left-style: solid;
                }
            }
        }

        &.file-content {
            img {
                max-width: 100%;
                padding: 5px 5px 0 5px;
            }
            img.emoji {
                padding: 0;
            }

            clear: right;
        }
    }

    .code-view {
        overflow: auto;
        overflow-x: auto;
        overflow-y: hidden;
    }

    .repo-search-result {
        padding-top: 10px;
        padding-bottom: 10px;

        .lines-num a {
            color: inherit;
        }
    }

    &.quickstart {
        .guide {
            .item {
                padding: 1em;

                small {
                    font-weight: normal;
                }
            }

            .clone.button:first-child {
                border-radius: 0.28571429rem 0 0 0.28571429rem;
            }

            .ui.action.small.input {
                width: 100%;
            }

            #repo-clone-url {
                border-radius: 0;
                padding: 5px 10px;
                font-size: 1.2em;
            }
        }
    }

    &.release {
        #release-list {
            border-top: 1px solid #dddddd;
            margin-top: 20px;
            padding-top: 15px;

            > li {
                list-style: none;

                .meta,
                .detail {
                    padding-top: 30px;
                    padding-bottom: 40px;
                }

                .meta {
                    text-align: right;
                    position: relative;

                    .tag:not(.icon) {
                        display: block;
                        margin-top: 15px;
                    }

                    .commit {
                        display: block;
                        margin-top: 10px;
                    }
                }

                .detail {
                    border-left: 1px solid #dddddd;

                    .author {
                        img {
                            margin-bottom: -3px;
                        }
                    }

                    .download {
                        margin-top: 20px;

                        > a {
                            .octicon {
                                margin-left: 5px;
                                margin-right: 5px;
                            }
                        }

                        .list {
                            padding-left: 0;
                            border-top: 1px solid #eeeeee;

                            li {
                                list-style: none;
                                display: block;
                                padding-top: 8px;
                                padding-bottom: 8px;
                                border-bottom: 1px solid #eeeeee;
                            }
                        }
                    }

                    .dot {
                        width: 9px;
                        height: 9px;
                        background-color: #cccccc;
                        z-index: 999;
                        position: absolute;
                        display: block;
                        left: -5px;
                        top: 40px;
                        border-radius: 6px;
                        border: 1px solid #ffffff;
                    }
                }
            }
        }
    }

    &.new.release {
        .target {
            min-width: 500px;

            #tag-name {
                margin-top: -4px;
            }

            .at {
                margin-left: -5px;
                margin-right: 5px;
            }

            .dropdown.icon {
                margin: 0;
                padding-top: 3px;
            }

            .selection.dropdown {
                padding-top: 10px;
                padding-bottom: 10px;
            }
        }

        .prerelease.field {
            margin-bottom: 0;
        }

        .field {

            button,
            input {
                @media only screen and (max-width: 438px) {
                    width: 100%;
                }
            }

            button {
                @media only screen and (max-width: 768px) {
                    margin-bottom: 1em;
                }
            }
        }
    }

    &.forks {
        .list {
            margin-top: 0;

            .item {
                padding-top: 10px;
                padding-bottom: 10px;
                border-bottom: 1px solid #dddddd;

                .ui.avatar {
                    float: left;
                    margin-right: 5px;
                }

                .link {
                    padding-top: 5px;
                }
            }
        }
    }

    &.wiki {
        &.start {
            .ui.segment {
                padding-top: 70px;
                padding-bottom: 100px;

                .mega-octicon {
                    font-size: 48px;
                }
            }
        }

        &.new {
            .CodeMirror {
                .CodeMirror-code {
                    font-family: @monospaced-fonts, monospace;

                    .cm-comment {
                        background: inherit;
                    }
                }
            }

            .editor-preview {
                background-color: white;
            }
        }

        &.view {
            .choose.page {
                margin-top: -5px;
            }

            .ui.sub.header {
                text-transform: none;
            }

            > .markdown {
                padding: 15px 30px;

                h1,
                h2,
                h3,
                h4,
                h5,
                h6 {
                    &:first-of-type {
                        margin-top: 0;
                    }
                }
            }
        }

        @media only screen and (max-width: 767px) {
            .dividing.header .stackable.grid .button {
                margin-top: 2px;
                margin-bottom: 2px;
            }
        }
    }

    &.settings {
        &.collaboration {
            .collaborator.list {
                padding: 0;

                > .item {
                    margin: 0;
                    line-height: 2em;

                    &:not(:last-child) {
                        border-bottom: 1px solid #dddddd;
                    }
                }
            }

            #repo-collab-form {
                #search-user-box {
                    .results {
                        left: 7px;
                    }
                }

                .ui.button {
                    margin-left: 5px;
                    margin-top: -3px;
                }
            }
        }

        &.branches {
            .protected-branches {
                .selection.dropdown {
                    width: 300px;
                }

                .item {
                    border: 1px solid #eaeaea;
                    padding: 10px 15px;

                    &:not(:last-child) {
                        border-bottom: 0;
                    }
                }
            }

            .branch-protection {
                .help {
                    margin-left: 26px;
                    padding-top: 0;
                }

                .fields {
                    margin-left: 20px;
                    display: block;
                }

                .whitelist {
                    margin-left: 26px;

                    .dropdown img {
                        display: inline-block;
                    }
                }
            }
        }

        &.webhook {
            .events {
                .column {
                    padding-bottom: 0;
                }

                .help {
                    font-size: 13px;
                    margin-left: 26px;
                    padding-top: 0;
                }
            }
        }
    }

    .ui.attached.isSigned.isVerified {
        &:not(.positive) {
            border-left: 1px solid #a3c293;
            border-right: 1px solid #a3c293;
        }

        &.top:not(.positive) {
            border-top: 1px solid #a3c293;
        }

        &:not(.positive):last-child {
            border-bottom: 1px solid #a3c293;
        }
    }

    .ui.segment.sub-menu {
        padding: 7px;
        line-height: 0;

        .list {
            width: 100%;
            display: flex;

            .item {
                width: 100%;
                border-radius: 3px;

                a {
                    color: black;

                    &:hover {
                        color: #666666;
                    }
                }

                &.active {
                    background: rgba(0, 0, 0, 0.05);
                }
            }
        }
    }

    .segment.reactions,
    .select-reaction {
        &.dropdown .menu {
            right: 0 !important;
            left: auto !important;

            > .header {
                margin: 0.75rem 0 0.5rem;
            }

            > .item {
                float: left;
                padding: 0.5rem 0.5rem !important;

                img.emoji {
                    margin-right: 0;
                }
            }
        }
    }

    .segment.reactions {
        padding: 0.3em 1em;

        .ui.label {
            padding: 0.4em;

            &.disabled {
                cursor: default;
            }

            > img {
                height: 1.5em !important;
            }
        }

        .select-reaction {
            float: none;

            &:not(.active) a {
                display: none;
            }
        }

        &:hover .select-reaction a {
            display: block;
        }
    }
}

// End of .repository

&.user-cards {
    .list {
        padding: 0;
        display: flex;
        flex-wrap: wrap;

        .item {
            list-style: none;
            width: 32%;
            margin: 10px 10px 10px 0;
            padding-bottom: 14px;
            float: left;

            .avatar {
                width: 48px;
                height: 48px;
                float: left;
                display: block;
                margin-right: 10px;
            }

            .name {
                margin-top: 0;
                margin-bottom: 0;
                font-weight: normal;
            }

            .meta {
                margin-top: 5px;
            }
        }
    }
}

#search-repo-box,
#search-user-box {
    .results {
        .result {
            .image {
                float: left;
                margin-right: 8px;
                width: 2em;
                height: 2em;
            }

            .content {
                margin: 6px 0;
            }
        }
    }
}

#issue-filters.hide {
    display: none;
}

#issue-actions {
    margin-top: -1rem !important; // counteract padding from Semantic
}

#issue-actions.hide {
    display: none;
}

.ui.checkbox.issue-checkbox {
    vertical-align: middle;
}

.issue.list {
    list-style: none;

    > .item {
        padding-top: 15px;
        padding-bottom: 10px;
        border-bottom: 1px dashed #aaaaaa;

        .title {
            color: #444444;
            font-size: 15px;
            font-weight: bold;
            margin: 0 6px;

            &:hover {
                color: #000000;
            }
        }

        .comment {
            padding-right: 10px;
            color: #666666;
        }

        .desc {
            padding-top: 5px;
            color: #999999;

            .checklist {
                padding-left: 5px;

                .progress-bar {
                    margin-left: 2px;
                    width: 80px;
                    height: 6px;
                    display: inline-block;
                    background-color: #eeeeee;
                    overflow: hidden;
                    border-radius: 3px;
                    vertical-align: 2px !important;

                    .progress {
                        background-color: #cccccc;
                        display: block;
                        height: 100%;
                    }
                }
            }

            a.milestone {
                padding-left: 5px;
                color: #999999 !important;

                &:hover {
                    color: #000000 !important;
                }
            }

            .assignee {
                margin-top: -5px;
                margin-right: 5px;
            }

            .overdue {
                color: red;
            }
        }
    }
}

.page.buttons {
    padding-top: 15px;
}

.ui.form {
    .dropzone {
        width: 100%;
        margin-bottom: 10px;
        border: 2px dashed #0087f5;
        box-shadow: none !important;

        .dz-error-message {
            top: 140px;
        }
    }
}

.settings {
    .content {
        margin-top: 2px;

        > .header,
        .segment {
            box-shadow: 0 1px 2px 0 rgba(34, 36, 38, 0.15);
        }
    }

    .list {
        > .item {
            .green {
                color: #21ba45;
            }

            &:not(:first-child) {
                border-top: 1px solid #eaeaea;
                padding: 1rem;
                margin: 15px -1rem -1rem -1rem;
            }

            > .mega-octicon {
                display: table-cell;
            }

            > .mega-octicon + .content {
                display: table-cell;
                padding: 0 0 0 0.5em;
                vertical-align: top;
            }

            .info {
                margin-top: 10px;

                .tab.segment {
                    border: 0;
                    padding: 10px 0 0;
                }
            }
        }

        &.key {
            .meta {
                padding-top: 5px;
                color: #666666;
            }
        }

        &.email {
            > .item:not(:first-child) {
                min-height: 60px;
            }
        }

        &.collaborator {
            > .item {
                padding: 0;
            }
        }
    }
}

.ui.vertical.menu {
    .header.item {
        font-size: 1.1em;
        background: #f0f0f0;
    }
}

.edit-label.modal,
.new-label.segment {
    .form {
        .column {
            padding-right: 0;
        }

        .buttons {
            margin-left: auto;
            padding-top: 15px;
        }

        .color.picker.column {
            width: auto;

            .color-picker {
                height: 35px;
                width: auto;
                padding-left: 30px;
            }
        }

        .minicolors-swatch.minicolors-sprite {
            top: 10px;
            left: 10px;
            width: 15px;
            height: 15px;
        }

        .precolors {
            padding-left: 0;
            padding-right: 0;
            margin: 3px 10px auto 10px;
            width: 120px;

            .color {
                float: left;
                width: 15px;
                height: 15px;
            }
        }
    }
}

#avatar-arrow {

    &:before,
    &:after {
        right: 100%;
        top: 20px;
        border: solid transparent;
        content: " ";
        height: 0;
        width: 0;
        position: absolute;
        pointer-events: none;
    }

    &:before {
        border-right-color: #d3d3d4;
        border-width: 9px;
        margin-top: -9px;
    }

    &:after {
        border-right-color: #f7f7f7;
        border-width: 8px;
        margin-top: -8px;
    }
}

#transfer-repo-modal,
#delete-repo-modal {
    .ui.message {
        width: 100% !important;
    }
}

// generate .tab-size-{i} from 1 to 16
.generate-tab-size(16);

.generate-tab-size(@n, @i: 1) when (@i =< @n) {
    .tab-size-@{i} {
        tab-size: @i !important;
    }

    .generate-tab-size(@n, (@i + 1));
}

.stats-table {
    display: table;
    width: 100%;

    .table-cell {
        display: table-cell;

        &.tiny {
            height: 0.5em;
        }
    }
}

tbody.commit-list {
    vertical-align: baseline;
}

.commit-list .message-wrapper {
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: calc(100% - 50px);
    display: inline-block;
    vertical-align: middle;
}

.commit-list .commit-status-link {
    display: inline-block;
    vertical-align: middle;
}

.commit-body {
    white-space: pre-wrap;
}

.git-notes {
    &.top {
        text-align: left;
    }

    .commit-body {
        margin: 0;
    }
}

@media only screen and (max-width: 767px) {
    .ui.stackable.menu {
        &.mobile--margin-between-items > .item {
            margin-top: 5px;
            margin-bottom: 5px;
        }

        &.mobile--no-negative-margins {
            margin-left: 0;
            margin-right: 0;
        }
    }
}

#topic_edit {
    margin-top: 5px;
}

#repo-topics {
    margin-top: 5px;
}

.repo-topic {
    cursor: pointer;
}

#new-dependency-drop-list {
    &.ui.selection.dropdown {
        min-width: 0;
        width: 100%;
        border-radius: 4px 0 0 4px;
        border-right: 0;
        white-space: nowrap;
    }

    .text {
        width: 100%;
        overflow: hidden;
    }
}

#manage_topic {
    font-size: 12px;
}

.label + #manage_topic {
    margin-left: 5px;
}

.repo-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
}

.repo-header .repo-buttons {
    display: flex;
    align-items: center;
}

.repo-buttons .disabled-repo-button .label {
    opacity: 0.5;
}

.repo-buttons .disabled-repo-button a.button {
    opacity: 0.5;
    cursor: not-allowed;
}

.repo-buttons .disabled-repo-button a.button:hover {
    background: none !important;
    color: rgba(0, 0, 0, 0.6) !important;
    box-shadow: 0 0 0 1px rgba(34, 36, 38, 0.15) inset !important;
}

.repo-buttons .ui.labeled.button > .label {
    border-left: 0 !important;
    margin: 0 !important;
}
