﻿
.control-label.text-force-left {
    text-align: left !important;
}


/*
 * Spinning glyphicons
 */
.sh-glyphicon-animatespin {
    -animation: sh-glyphspin1 .7s infinite linear;
    -webkit-animation: sh-glyphspin2 .7s infinite linear;
}

@-webkit-keyframes sh-glyphspin1 {
    from {
        -webkit-transform: rotate(0deg);
    }

    to {
        -webkit-transform: rotate(360deg);
    }
}

@keyframes sh-glyphspin2 {
    from {
        transform: scale(1) rotate(0deg);
    }

    to {
        transform: scale(1) rotate(360deg);
    }
}

@media (max-width: 767px) {
    .text-xs-center {
        text-align: center !important;
    }
}


/* TMP */

.modal-header.modal-header-danger {
    color: #fff;
    background-color: #d9534f;
}



/*
    CSS Spinner

*/

.css-spinner {
    height: 50px;
    width: 50px;
    margin: 0px auto;
    -webkit-animation: css-spinner-rotation .6s infinite linear;
    -moz-animation: css-spinner-rotation .6s infinite linear;
    -o-animation: css-spinner-rotation .6s infinite linear;
    animation: css-spinner-rotation .6s infinite linear;
    border-left: 6px solid rgba(0,174,239,.15);
    border-right: 6px solid rgba(0,174,239,.15);
    border-bottom: 6px solid rgba(0,174,239,.15);
    border-top: 6px solid rgba(0,174,239,.8);
    border-radius: 100%;
}

@-webkit-keyframes css-spinner-rotation {
    from {
        -webkit-transform: rotate(0deg);
    }

    to {
        -webkit-transform: rotate(359deg);
    }
}

@-moz-keyframes css-spinner-rotation {
    from {
        -moz-transform: rotate(0deg);
    }

    to {
        -moz-transform: rotate(359deg);
    }
}

@-o-keyframes css-spinner-rotation {
    from {
        -o-transform: rotate(0deg);
    }

    to {
        -o-transform: rotate(359deg);
    }
}

@keyframes css-spinner-rotation {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(359deg);
    }
}



/* Validation */

.field-validation-error {
    color: #ff0000;
    font-size: 0.9em;
}

.validation-summary-errors {
    padding: 1em;
    margin: 0em 1em 1em 1em;
    color: #a94442;
    background-color: #f2dede;
    border-color: #ebccd1;
    border: 1px solid transparent;
    border-radius: 4px;
}



.filter-table-input {
    background-image: url(../../../Img/Delta/Icons/16_search.png);
    background-position: 8px;
    background-repeat: no-repeat;
    padding-left: 40px;
}



/* Navigation */

.navbar-shell {
    background-color: #fff;
}

.navbar-shell .container-fluid {
    padding-left:0;
    padding-right:0;
}

    .navbar-shell #ulModuleSelector {
        margin: 0;
    }

        .navbar-shell #ulModuleSelector > li > a {
            font-weight: bold;
            font-size: 20px;
            padding: 13.5px 15px;
        }

            .navbar-shell #ulModuleSelector > li > a > span.glyphicon-th {
                margin-right: 2px;
                font-size:18px;
            }

        .navbar-shell #ulModuleSelector .dropdown-menu li:not(.divider, .dropdown-header) a {
            padding-left: 30px;
        }

    .navbar-shell .navbar-nav > li > a {
        color: #575757;
    }

    /* The current page in the module menu. dkbootstrap styles li.active only under
       .navbar-default, which the shell navbar does not use, so the selected state has to
       be spelled out here. Drawn as an inset shadow rather than a border so turning it on
       does not change the item's height. */
    .navbar-shell #shellNavbarCollapse .navbar-nav > li.active > a {
        color: #2d297c;
        box-shadow: inset 0 -3px 0 #2d297c;
    }

    .navbar-shell.test-system #shellNavbarCollapse .navbar-nav > li.active > a {
        color: #a94442;
        box-shadow: inset 0 -3px 0 #a94442;
    }

    .navbar-shell .navbar-right {
        margin: 0;
    }

        .navbar-shell .navbar-right > li > a {
            display: flex;
            align-items: center;
            padding: 15px 7.5px;
        }

            .navbar-shell .navbar-right > li > a .glyphicon {
                font-size: 20px;
            }

                .navbar-shell .navbar-right > li > a .glyphicon + span {
                    margin-left: 0.2em;
                }

        .navbar-shell .navbar-brand {
            margin-left: 0 !important;
            line-height: 30px;
            padding: 10px 15px;
        }

        .navbar-shell .navbar-brand img {
            height:30px;
        }

@media (max-width: 767px) {
    .navbar-shell .navbar-collapse {
        width: 100%;
        margin: 0;
    }

    /* Keep the normal style on a dropdown in xs view */
    .navbar-shell .navbar-nav .open .dropdown-menu.dropdown-menu-dk-xs {
        position: absolute;
        float: left;
        top: 50px;
        margin-top: 2px;
        background-color: #fff;
        border: 1px solid #ccc;
    }
}

/* Test system */

.navbar-shell.test-system {
    background-color: #f2dede;
}

    .navbar-shell.test-system .navbar-brand {
        color: #a94442;
    }

    .navbar-shell.test-system .navbar-nav > li > a {
        color: #a94442;
        background-color: #f2dede;
    }

        .navbar-shell.test-system .navbar-nav > li > a:hover,
        .navbar-shell.test-system .navbar-nav > li > a:active {
            background-color: #f2dede;
        }


/* Multilingual user glyph */

.navbar-shell .glyphicon-flag-grid {
    display: -ms-inline-grid;
    display: inline-grid;
}

    .navbar-shell .glyphicon-flag-grid .glyphicon {
        grid-column: 1;
        grid-row: 1;
    }

    .navbar-shell .glyphicon-flag-grid .flag-icon {
        grid-column: 1;
        grid-row: 1;
        margin-left: 8px !important;
        margin-top: -4px;
        height: 11px;
    }

/*
 * Struct trees (.ekstruct-tree): the struct page, the Our Page filter and the
 * struct node selector modal all render nodes as Bootstrap list-group items.
 * The shared rules in struct.less assume .list-group-root is nested inside
 * .ekstruct-tree, but they are the same element, so every node kept its full
 * card border. Nodes laid out as .row also bled 15px outside the panel and left
 * a wide gap between the toggle column and the node name.
 */
.ekstruct-tree.list-group-root {
    margin-bottom: 0;
    border: 1px solid #ddd;
    border-radius: 4px;
}

.ekstruct-tree .ekstruct-children {
    margin-bottom: 0;
}

.ekstruct-tree .ekstruct-node {
    padding-top: 6px;
    padding-bottom: 6px;
    border-width: 1px 0 0 0;
    border-radius: 0;
}

.ekstruct-tree > .ekstruct-node:first-child {
    border-top-width: 0;
    border-radius: 3px 3px 0 0;
}

.ekstruct-tree .ekstruct-node.row {
    display: flex;
    align-items: center;
    margin-left: 0;
    margin-right: 0;
}

.ekstruct-tree .ekstruct-node.row > .col-xs-1:first-child {
    float: none;
    width: auto;
    flex: 0 0 1.6em;
}

.ekstruct-tree .ekstruct-node.row > .col-xs-10,
.ekstruct-tree .ekstruct-node.row > .col-xs-11 {
    float: none;
    width: auto;
    flex: 1 1 auto;
    min-width: 0;
}

.ekstruct-tree .ekstruct-node.row > .col-xs-1:last-child {
    float: none;
    width: auto;
    flex: 0 0 auto;
}

.ekstruct-tree .ekstruct-node-toggle {
    display: inline-block;
    padding: 2px 0;
}

.ekstruct-tree .ekstruct-node-toggle .glyphicon {
    top: 2px;
}

.ekstruct-tree .ekstruct-node-name {
    overflow-wrap: anywhere;
}

/* Nothing inside the struct node selector modal opens a dropdown, so its tree
   can clip rows to the rounded corners. The struct page cannot: its node menus
   open past the bottom edge of the tree. */
.shcc-sns-tree .ekstruct-tree.list-group-root {
    overflow: hidden;
}

/*
 * Paging control under lists: one compact input group instead of loose
 * buttons and text. Bootstrap's table layout stretches an input group to
 * its container because the addons use percentage widths, so lay it out
 * as an inline flex row instead.
 */
.ek-pager.input-group {
    display: inline-flex;
    width: auto;
    vertical-align: middle;
}

.ek-pager .input-group-addon,
.ek-pager .input-group-btn {
    width: auto;
}

.ek-pager .input-group-addon {
    background-color: #fff;
}

/* Draw the select's arrow ourselves: the native one ignores padding, so it
   sat hard against the border. */
.ek-pager select.form-control {
    float: none;
    width: auto;
    min-width: 4.5em;
    padding-right: 1.9em;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: #fff;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M2 3.5l3 3 3-3' fill='none' stroke='%23555' stroke-width='1.5'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.6em center;
    background-size: 10px 10px;
}

.ek-pager select.form-control::-ms-expand {
    display: none;
}

/* Rows that open their object on a click anywhere on the row (the ek-row-open handler in
   CommonShell.js). The selector beats .table-striped's odd-row background, which has three
   parts as well but no class on the tr. The actions cell is excluded by the handler, so it
   gets the default cursor back. */

.table > tbody > tr.ek-row-open {
    cursor: pointer;
}

.table > tbody > tr.ek-row-open:hover {
    background-color: #f0f0f0;
}

.table > tbody > tr.ek-row-open .ek-row-open-actions,
.table > tbody > tr.ek-row-open table {
    cursor: default;
}