@height-title: 28px;
@height-tabs: 32px;
@height-controls: 67px;

//@tabs-bg-color: #fff;

.toolbar {
    position: relative;

    &:not(.folded) {
        height: @height-tabs + @height-controls;
    }

    &.folded {
        height: @height-tabs;
        transition: height .2s;
        overflow: hidden;

        &.expanded {
            height: @height-tabs + @height-controls;
            overflow: visible;
        }

        &:not(.expanded):not(.cover){
            .ribtab.active {
                > a {
                    font-weight: normal;
                }
            }
        }
    }

    .box-tabs {
        height: @height-tabs;
        font-size: 12px;

        display: flex;
        align-items: stretch;

        .extra {
            background-color: @tabs-bg-color;
        }

    //&::after {
    //  content: '';
    //  position: absolute;
    //  width: 100%;
    //  border-top: 1px solid @gray-dark;
    //  top: @height-tabs - 1;
    //  left: 0;
    //  z-index: 1;
    //}
    }

    .tabs {
        //flex-grow: 1;
        background-color: @tabs-bg-color;
        position: relative;
        overflow: hidden;
        display: flex;

        > ul {
            padding: 4px 0 0;
            margin: 0;
            white-space: nowrap;
            overflow: hidden;
            list-style: none;
            font-size: 0;
        }

        li {
            display: inline-flex;
            align-items: center;
            height: 100%;

            &:hover {
                background-color: rgba(255,255,255,0.2);
            }

            &.active {
                background-color: @gray-light;
            }


            > a {
                display: inline-block;
                padding: 0 12px;
                text-decoration: none;
                cursor: default;
                font-size: 12px;
                text-align: center;
                color: #fff;
            }

            &.active {
                > a {
                    color: #444;
                }
            }
        }

        &:not(.short) {
            .scroll {
                display: none;
            }
        }

        .scroll {
            line-height: @height-tabs;
            min-width: 20px;
            z-index: 1;
            cursor: pointer;
            position: relative;
            display: flex;
            align-items: center;

            &:hover {
                text-decoration: none;
            }

            &:not(:hover) {
                &:after {
                    opacity: .8;
                }
            }

            &.left{
                box-shadow: 5px 0 20px 5px @tabs-bg-color;

                &:after {
                    transform: rotate(135deg);
                    margin-left: 8px;
                }
            }
            &.right{
                box-shadow: -5px 0 20px 5px @tabs-bg-color;

                &:after {
                    transform: rotate(-45deg);
                    margin-left: 4px;
                }
            }

            @arrow-length: 8px;
            &:after {
                content: ' ';
                width: @arrow-length;
                height: @arrow-length;
                border: solid white;
                border-width: 0 2px 2px 0;
            }
        }
    }

    .box-controls {
        //height: @height-controls;         // button has strange offset in IE when odd height
        padding: 10px 0;
        display: flex;

        //background-color: #F2CBBF;

        .panel {
            display: table;
            height: 100%;
        }
        //width: 100%;
    }

    .box-panels {
        flex-grow: 1;
        -ms-flex: 1;

        .panel:not(.active) {
            display: none;
        }

        /* ##adopt-panel-width */
        .panel.compactwidth:not(#plugns-panel) {
            .btn-group, .btn-toolbar {
                &.x-huge {
                    .caption {
                        display: none;
                    }

                    .inner-box-caption {
                        justify-content: center;
                    }
                }
            }
        }
        /**/
    }

    background-color: @gray-light;
    .box-inner-shadow(0 -1px 0 @gray-dark);

    .group {
        position: relative;
        display: table-cell;
        vertical-align: middle;
        white-space: nowrap;
        padding-left: 12px;
        font-size: 0;

        &:last-child {
            padding-right: 12px;
        }
    }

    .elset {
        height: 20px;
        font-size: 0;

        &:not(:first-child) {
            margin-top: 6px;
        }
    }

    .separator {
        margin-left: 12px;

        &.close {
            margin-left: 5px;
        }

        &.long {
            height: 46px;
        }

        &.short {
            height: 20px;
        }
    }

    .btn-slot {
        display: inline-block;
        width: 20px;
        height: auto;

        &.split {
            width: 31px;
        }

        &.text {
            width: auto;
        }

        &.border {
            border: 1px solid @gray;
            .border-radius(1px);
            width: 22px;
            height: 22px;
        }

        .checkbox-indeterminate {
            margin-top: 3px;
        }
    }

    .toolbar-mask {
        position: absolute;
        top: 32px;
        left: 48px;
        right: 0;
        bottom: 0;
        opacity: 0;
        background-color: @gray-light;
        /* z-index: @zindex-tooltip + 1; */
    }

    &.toolbar-view .toolbar-mask{
        left: 0;
    }

    .top-title > & {
        &:not(.folded) {
            height: 28 + @height-controls;
        }

        &.folded {
            height: 28px;

            &.expanded {
                height: 28 + @height-controls;
            }
        }

        .tabs > ul {
            padding-top: 0;
        }

        .box-tabs {
            height: 28px;
        }

        .toolbar-mask {
            left: 0;
        }
    }
}

.style-off-tabs {
    .toolbar {
        @underscore_height: 2px;

        .tabs, .extra {
            background-color: transparent;
            box-shadow: inset 0 -1px 0 0 @gray;
        }

        .tabs {
            ul {
                padding: 0;
            }

            li {
                position: relative;

                &:after {
                    //transition: opacity .1s;
                    //transition: bottom .1s;
                    border-top: @underscore_height solid @gray-deep;
                    content: '';
                    position: absolute;
                    width: 100%;
                    bottom: -@underscore_height;
                    opacity: 0;
                }

                &.active {
                    background-color: transparent;

                    &:after {
                        opacity: 1;
                        bottom: 0;
                    }
                }

                &:hover:not(.active) {
                    background-color: rgba(0, 0, 0, .05);
                    //background-color: @secondary;
                }

                > a {
                    color: @gray-deep;
                }
            }
        }

        .extra {
            #header-logo {
                i {
                    .background-ximage('@{common-image-path}/header/dark-logo.png', '@{common-image-path}/header/dark-logo@2x.png', 86px);
                }
            }
        }

        .tabs .scroll {
            &.left {
                box-shadow: 5px 0 20px 5px @gray-light;
            }

            &.right {
                box-shadow: -5px 0 20px 5px @gray-light;
            }

            &:after {
                border-color: @gray-deep;
            }
        }

        // TODO: move to appropriate module
        .btn-header, .btn-users {
            svg.icon {
                fill: @gray-deep;
            }

            .caption {
                color: @gray-deep;
            }

            &:hover:not(.disabled) {
                background-color: @secondary;
            }

            &:active, &.active {
                &:not(.disabled) {
                    background-color: @primary;

                    svg.icon {
                        fill: #fff;
                    }

                    .caption {
                        color: #fff;
                    }
                }
            }
        }

        #rib-doc-name {
            color: @gray-deep;
        }

        &.editor-native-color {
            .tabs li:after {
                border-color: @tabs-bg-color;
            }
        }
    }

    &.style-skip-docname .toolbar {
        #box-doc-name > input {
            display: none;
        }
    }
}

.toolbar-fullview-panel {
    position: absolute;
    bottom: 0;
    width: 100%;
    z-index: @zindex-navbar + 3;
}

.toolbar {
    &.cover {
        ul {
            z-index: @zindex-navbar + 4;
        }
    }

    &:not(.cover):not(.z-clear) {
        z-index: @zindex-navbar + 1;
    }
}

.btn-toolbar {
    &:active {
        svg.icon {
            fill: #fff;
        }
    }

    svg.icon {
        background-image: none;

        fill: @gray-deep;
    }
}

.button-otherstates-icon2(btn-toolbar, @toolbar-icon-size);

@toolbar-big-icon-size: 26px;
.button-normal-icon(btn-inserttable,      0, @toolbar-big-icon-size);
.button-normal-icon(btn-insertimage,      1, @toolbar-big-icon-size);
.button-normal-icon(btn-insertchart,      2, @toolbar-big-icon-size);
.button-normal-icon(btn-text,             3, @toolbar-big-icon-size);
.button-normal-icon(btn-insertshape,      4, @toolbar-big-icon-size);
.button-normal-icon(btn-ic-doclang,       5, @toolbar-big-icon-size);
.button-normal-icon(btn-textart,          6, @toolbar-big-icon-size);
.button-normal-icon(btn-insertequation,   7, @toolbar-big-icon-size);
.button-normal-icon(btn-notes,            8, @toolbar-big-icon-size);
.button-normal-icon(btn-inserthyperlink,  9, @toolbar-big-icon-size);
.button-normal-icon(~'x-huge .btn-menu-comments', 10, @toolbar-big-icon-size);
.button-normal-icon(btn-addslide,         11, @toolbar-big-icon-size);
.button-normal-icon(~'x-huge .btn-ic-docspell', 12, @toolbar-big-icon-size);
.button-normal-icon(~'x-huge .btn-ic-review', 13, @toolbar-big-icon-size);
.button-normal-icon(review-save,          14, @toolbar-big-icon-size);
.button-normal-icon(review-deny,          15, @toolbar-big-icon-size);
.button-normal-icon(review-next,          16, @toolbar-big-icon-size);
.button-normal-icon(review-prev,          17, @toolbar-big-icon-size);
.button-normal-icon(btn-dropcap,          18, @toolbar-big-icon-size);
.button-normal-icon(~'x-huge .btn-pagebreak', 19, @toolbar-big-icon-size);
.button-normal-icon(btn-editheader,       20, @toolbar-big-icon-size);
.button-normal-icon(btn-pageorient,       21, @toolbar-big-icon-size);
.button-normal-icon(btn-pagemargins,      22, @toolbar-big-icon-size);
.button-normal-icon(btn-pagesize,         23, @toolbar-big-icon-size);
.button-normal-icon(btn-columns,          24, @toolbar-big-icon-size);
.button-normal-icon(btn-img-align,        25, @toolbar-big-icon-size);
.button-normal-icon(btn-img-group,        26, @toolbar-big-icon-size);
.button-normal-icon(btn-img-bkwd,         27, @toolbar-big-icon-size);
.button-normal-icon(btn-img-frwd,         28, @toolbar-big-icon-size);
.button-normal-icon(btn-img-wrap,         29, @toolbar-big-icon-size);
.button-normal-icon(~'x-huge .btn-ic-reviewview', 30, @toolbar-big-icon-size);
.button-normal-icon(~'x-huge .btn-ic-sharing', 31, @toolbar-big-icon-size);
.button-normal-icon(~'x-huge .btn-ic-coedit', 32, @toolbar-big-icon-size);
.button-normal-icon(~'x-huge .btn-ic-chat', 33, @toolbar-big-icon-size);
.button-normal-icon(~'x-huge .btn-ic-history', 34, @toolbar-big-icon-size);
.button-normal-icon(~'x-huge .btn-ic-protect', 35, @toolbar-big-icon-size);
.button-normal-icon(~'x-huge .btn-ic-signature', 36, @toolbar-big-icon-size);
.button-normal-icon(~'x-huge .btn-add-pivot', 37, @toolbar-big-icon-size);
.button-normal-icon(~'x-huge .btn-update-pivot', 38, @toolbar-big-icon-size);
.button-normal-icon(btn-contents-update, 38, @toolbar-big-icon-size);
.button-normal-icon(~'x-huge .btn-pivot-layout', 39, @toolbar-big-icon-size);
.button-normal-icon(~'x-huge .btn-blank-rows', 43, @toolbar-big-icon-size);
.button-normal-icon(~'x-huge .btn-subtotals', 46, @toolbar-big-icon-size);
.button-normal-icon(~'x-huge .btn-grand-totals', 52, @toolbar-big-icon-size);
.button-normal-icon(~'x-huge .btn-contents', 53, @toolbar-big-icon-size);
.button-normal-icon(btn-controls,         54, @toolbar-big-icon-size);
.button-normal-icon(~'x-huge .btn-select-pivot', 55, @toolbar-big-icon-size);
.button-normal-icon(~'x-huge .btn-bookmarks', 56, @toolbar-big-icon-size);
.button-normal-icon(btn-blankpage,         57, @toolbar-big-icon-size);
.button-normal-icon(btn-print-area,         58, @toolbar-big-icon-size);