/* Commom elements */

@open-sans: "Open Sans",sans-serif;
@bg-grey: #f9f9f9;
@text-black: #4d5258;
@text-grey: #777;
@text-light-grey: #a1a1a1;
@border-dark-grey: #cecece;
@blue: #0e9cd3;

body {
    background-color: @bg-grey;
    font-size: 1em;
    color: @text-black;
    font-family: @open-sans;
}

/* Feedback */

.feedback-aligner {
    top: 0.9em;
}

.alert {
    position: relative;
    display: inline-block;
    text-align: left;
    border-width: 1px;
    margin: 0;
    font-size: 1.1em;
    padding: 0.90909090909091em 3.63636363636364em;
    background-repeat: no-repeat;
    background-position: 1.27272727272727em center;
    line-height: 1.4em;
    border-radius: 2px;
    color: #4d5258;
    
    &.alert-success {
        border-color: #4b9e39;
        background-image: url(img/feedback-success-sign.png);
        background-color: #e4f1e1;
    }
    
    &.alert-error {
        border-color: #b91415;
        background-image: url(img/feedback-error-sign.png);
        background-color: #f8e7e7;
    }
    
    &.alert-warning {
        border-color: #f17528;
        background-image: url(img/feedback-warning-sign.png);
        background-color: #fef1e9;
    }
    
    &.alert-info {
        border-color: #5994b2;
        background-image: url(img/feedback-info-sign.png);
        background-color: #e4f3fa;
    }
}

#idletimeout {
    background: #CC5100;
    color: #FFFFFF;
    font-size: 1.1em;
    padding: 0.90909090909091em;
    text-align: center;
    display: none;
    
    a {
        color: #fff;
        font-weight: bold;
    }
}

.loading-backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1031;
  background-color: #FFFFFF;
  opacity: 0.75;
}

.loading {
    position: fixed;
    z-index: 1032;
    top: 50%;
    left: 50%;
    width: 6em;
    height: 6em;
    margin-top: -3em;
    margin-left: -3em;
    text-align: center;

    img {
        width: 3em;
        height: 3em;
        background-color: #f0f0f0;
        display: inline-block;
        padding: 0.3em;
        border-radius: 0.4em;
    }

    span {
        background: url(img/loader.gif) no-repeat center top;
        font-size: 1.2em;
        color: #666;
        display: inline-block;
        padding-top: 0.36363636363636em;
        margin-top: -2.27272727272727em;
        margin-left: -2.27272727272727em;
        padding-top: 2.90909090909091em;
    }
}


/* Header */

.header.rcue {

    z-index: 50;

    .navbar.utility {
        background-color: #393F45;
        border-bottom: 1px solid #53565B;
        
        .navbar-inner {
            border-bottom: 0;
            max-width: 1170px;
        }
    }

    .navbar.primary {
        background-image:-moz-linear-gradient(top,#474c50,#383f43);
        background-image:-webkit-gradient(linear,0 0,0 100%,from(#474c50),to(#383f43));
        background-image:-webkit-linear-gradient(top,#474c50,#383f43);
        background-image:-o-linear-gradient(top,#474c50,#383f43);
        background-image:linear-gradient(to bottom,#474c50,#383f43);
        background-repeat:repeat-x;
        background-color: #41474b;
        
        .navbar-inner {
            min-height: 42px;
            max-width: 1170px;
        }
        
        .nav > li {
        
            .dropdown-label {
                font-size: 0.84615384615385em;
                color: #dbdada;
                margin-left: 1.36363636363636em;
                float: left;
                margin-top: 0.63636363636364em;
                line-height: 2.36363636363636em
            }
    
            .select-rcue {
                font-size: 0.76923076923077em;
                margin-left: 1em;
                margin-top: 0.7em;
                display: inline-block;
                vertical-align: middle;
                background-color: #555a5e;
                background-image: none;
                background-image: url(img/sprite-arrow-down.svg);
                background-repeat: no-repeat;
                background-position: right -26px;
                border: 1px solid #676c6e;
                border-radius: 2px;
                padding-left: 0;
                
                &:hover {
                    border-color: #7e8385;
                }
                
                select {
                    color: #fff;
                    
                    &:-moz-focusring {
                        color: transparent;
                        text-shadow: 0 0 0 #fff;
                    }
                    
                    option {
                        background-color: #fff;
                        color: #333;
                    }
                }
            }
            
            a#refresh {
                border: none;
                margin: 0;
                padding: 0;
                display: inline-block;
                vertical-align: middle;
                font-size: 0.76923076923077em;
                margin-left: 1em;
                margin-top: 0.7em;
                
                &:hover {
                    background: none;
                }
                
                .icon-spinner6 {
                    margin-right: 0;
                    background-image: url('img/sprites-gray.png');
                    
                    &:hover {
                        background-image: url('img/sprites-white.png');
                        background-color: transparent;
                    }
                }
            }
            
    /*
            .dropdown { 
                display: inline-block;
                margin-left: 0.53846153846154em;
                margin-top: 0.46153846153846em;
                min-width: 15.3846153846154em;
                width: auto;
                
                .dropdown-toggle {
                    font-size: 0.84615384615385em;
                    color: #fff;
                    display: inline-block;
                    line-height: 2.36363636363636em;
                    border: 1px solid #676c6e;
                    border-radius: 2px;
                    padding: 0 0.54545454545455em;
                    background: #555a5e url(img/sprite-arrow-down.svg) no-repeat right -26px;
                    display: block;
                    
                    &:hover,
                    &:focus {
                        text-decoration: none;
                    }
                    
                    &:hover {
                        border-color: #7e8385;
                    }
                }
                
                .dropdown-menu {
                
                    left: 0;
                    min-width: 0;
                    width: 100%;
                    overflow: hidden;
                
                    li,
                    li.selected {
                        width: auto;
                        
                        a {
                            width: auto;
                            border-top: 1px solid transparent;
                            border-bottom: 1px solid transparent;
                            
                            &:hover {
                                background-color: #D5ECF9;
                                background-image: none;
                                border-bottom: 1px solid #A7D7F1;
                                border-top: 1px solid #A7D7F1;
                                color: #4D5258;
                            }
                        }
                    }
                    
                    li.selected a {
                        background-color: #2B99C0;
                        background-image: linear-gradient(top, #2EA1CA 0%, #2792B6 100%);
                        background-image: -o-linear-gradient(top, #2EA1CA 0%, #2792B6 100%);
                        background-image: -moz-linear-gradient(top, #2EA1CA 0%, #2792B6 100%);
                        background-image: -webkit-linear-gradient(top, #2EA1CA 0%, #2792B6 100%);
                        background-image: -ms-linear-gradient(top, #2EA1CA 0%, #2792B6 100%);
                        background-image: -webkit-gradient(
                          linear,
                          left top,
                          left bottom,
                          color-stop(0.0, #2EA1CA),
                          color-stop(1,0, #2792B6)
                        );
                        background-repeat: repeat-x;
                        color: #FFFFFF;
                    }
                }
            
                &.open .dropdown-toggle {
                    text-decoration: none;
                    box-shadow: inset 0px 2px 5px rgba(0,0,0,0.2);
                    border-color: #7e8385;
                }
            }
    */
        }
        
        .button {
            font-size: 0.84615384615385em;
            margin-right: 1.36363636363636em;
            margin-top: 0.63636363636364em;
            
            &:focus {
                text-decoration: none;
            }
        }
    }
} 

.bs-sidebar {
    background-color: @bg-grey;
    padding-top: 4.3em;
    padding-right: 0;
    padding-left: 0;
    z-index: 20;
    
    ul li {
        margin-bottom: 0.5em;
        margin-left: -1em;
        
        a {
            font-size: 1.3em;
            font-family: @open-sans;
            padding-left: 1.92307692307692em;
            color: @text-black;
            line-height: 2.07692307692308em;
            display: block;
            border-width: 1px 0 1px 1px;
            border-style: solid;
            border-color: @bg-grey;
            
            &:hover,
            &:focus {
                text-decoration: none;
                color: @text-grey;
            }
        }
    
        &.active a {
            background-color: #c7e5f0;
            border-color: #56bae0;
            font-weight: bold;
            background-image: url(img/icon-sidebar-active.svg);
            background-repeat: no-repeat;
            background-position: right center;
        }
    }
}

#content-area {
    padding: 0;
    z-index: 10;
        border-width: 0 1px;
        border-color: #cecece;
        border-style: solid;
    
    .top-nav {
        background-color: #f6f6f6;
        
        ul.rcue-tabs {
            border-color: @border-dark-grey;
            font-size: 1em;
            margin-bottom: 0;
            min-height: 4.4em;
            
            li {
                margin: 0 0.5em -1px 0;
                
                a {
                    font-size: 1.3em;
                    line-height: 3.23076923076923em;
                    display: block;
                    padding: 0 0.76923076923077em;
                    color: @text-black;
                    
                    &:hover {
                        color: @text-grey;
                    }
                }
                
                &.active a {
                    color: @blue;
                }
                
                &:first-child {
                    margin-left: 1.5em;
                }
            }
        }
    }
    
    #content {
        padding: 1em 3em 3em 3em;
        background: #fff;
        
        h2 {
            font-family: @open-sans;
            font-weight: 100;
            font-size: 2.4em;
            margin-bottom: 1.04166666666667em;
            margin-top: 1em;
            
            span {
                color: @text-light-grey;
            }
        }
        
        p.subtitle {
            color: #B7B7B7;
            float: right;
            font-size: 1.1em;
            margin-top: 2.72727272727273em;
            
            .required {
                color: #CB2915;
            }
            
            &+ form {
                clear: both;
            }
        }
        
        fieldset {
            margin-top: 1.5em;
        }
        
        .tooltip-box fieldset {
            margin: 0;
        }
        
        .input-group {
            display: inline-table;
            width: 20em;
            
            input[type="text"] {
                border-radius: 2px 0 0 2px;
            }
            
            button {
                border-radius: 0 2px 2px 0;
                border-left: none;
            }
        }
        
        .input-select {
            height: 3.6em;
        }
        
        form a.bottom {
            font-size: 1.1em;
            display: inline-block;
            margin-top: 1.36363636363636em;
        }
    }
}

.tooltip {
    font-family: @open-sans;
    font-size: 1.1em;
    text-align: left;
    line-height: 1.63636363636364em;
    
    .tooltip.in {
        opacity: 0.85;
        filter: alpha(opacity=85);
    }
    
    .tooltip-inner {
        background-color: #434343;
        border-radius: 1px;
        padding: 5px 12px;
        text-align: left;
        max-width: 220px;
    }
}

.tooltip.right {
    padding: 0 8px;
    
    .tooltip-arrow {
        border-right-color: #434343;
        border-width: 8px 8px 8px 0;
        margin-top: -8px;
    }
}

#container-right-bg {
    background-color: #fff;
    border-width: 0 1px 0 1px;
    border-style: solid;
    border-color: @border-dark-grey;
    bottom: 0;
    margin-left: 292.5px;
    position: fixed;
    top: 70px;
    width: 877.5px;
}

table {

    thead tr {
    
        th {
            font-size: 1.1em;
            
            span {
                font-size: 0.90909090909091em;
    
                button {
                    margin: 0;
                }
            }
        }
        
        &:first-child th {
            padding: 5px 7px;
        }
    }
    
    a:hover {
        color: #0099D3;
    }
    
    + .feedback.inline.warning {
        margin-top: 1em; 
    }

}

.advanced-search-comp {
    position: relative;
    display: inline-block;
    
    .advanced-search-link {
        font-weight: normal;
        margin-left: 1em;
    }
}

.tooltip-box {
    position: absolute;
    font-size: 1em;
    background-image: url("img/tooltip-box-arrow-right-up.png");
    background-position: right top;
    background-repeat: no-repeat;
    padding-top: 1em;
    right: 0;
    top: 1.5em;
    font-size: 0.90909090909091em;
    
    fieldset {
        width: 30.8em;
        padding-left: 1.5em;
        padding-right: 1.5em;
        padding-top: .5em;
        background-color: #fff;
        border: 1px solid #b6b6b6;
        border-top: none;
        border-radius: 0 2px 2px 2px;
        box-shadow: 0px 2px 2px rgba(0,0,0,0.15);
    
        legend {
            display: none;
        }
        
        label {
            width: 6em;
        }
        
        .form-actions {
            margin: 0;
            padding: 1em 1.5em 1em 0;
            background-color: #f8f8f8;
            display: block;
            float: none;
            margin-right: -1.5em;
            margin-left: -1.5em;
        }
    }
}

td.token-cell button {
    margin-top: -1px;
}


/* Modal boxes */

.modal {
    
    .modal-dialog {
        padding-top: 10em;
    }
    
    .modal-content {
        box-shadow: none;
        border-radius: 0;
        border: 1px solid #666;
    }
    
    .modal-header {
        background-color: #f8f8f8;
        padding: 1.5em 2em;
        border-bottom: none;
        
        h3 {
            font-size: 1.3em;
            font-weight: bold;
            font-family: @open-sans;
            margin: 0;
        }
    }
    
    .modal-body {
        
        p span {
            display: block;
            font-size: 1.1em;
        
            &.primary {
                font-weight: bold;
                margin-bottom: 0.45454545454545em;
            }
        }
    }
    
    .modal-footer {
        border-top: 0;
        
        .primary,
        .destructive {
            float: right;
            margin-left: 0.90909090909091em;
        }
        
    }
}


/* Page: User Account */

.user {
    
    form fieldset div:first-child {
        margin-top: 1em;
    }
    
    form fieldset p + div {
        margin-top: 2.5em;
    }
    
    .bs-sidebar {
        padding-top: 3.3em;
    }
    
    p.info {
        font-size: 1.1em;
    }
}

table.list {
    
    border-left: none;
    border-right: none;
    margin-top: 1.5em;
    border-color: #ededed;
    
    caption {
        display: none;
    }
    
    tbody tr {
    
        &:first-child td {
            border-top: 1px solid #ededed;
        }
        
        &:nth-child(2n) {
            background-color: #fff;
        }
        
        td {
            border-right: none;
            border-left: none;
            
            &.provider {
                font-weight: bold;
                font-size: 1.2em;
                
                a {
                    padding-top: 0.41666666666667em;
                    padding-bottom: 0.33333333333333em;
                    display: inline-block;
                }
            }
            
            &.soft {
                color: #a1a1a1;
            }
            
            &.action {
                text-align: right;
                font-size: 1em;
            }
        }
        
        &.expanded {
        
            background-color: #f6f6f6;
                
            .provider {
                font-size: 1.39130434782609em;
                padding-top: 0.5em;
                display: block;
            }
            
            p {
                margin-top: 1.30434782608696em;
                margin-bottom: 1.73913043478261em;
            }
            
            ul li {
                margin-left: 1.30434782608696em;
                
                .item,
                .status {
                    margin-right: 2.60869565217391em;
                }
                
                .red {
                    color: #BA1212;
                }
            }
            
            .form-actions {
                font-size: 0.8695652173913em;
                margin-top: 0.5em;
                margin-bottom: 1.5em;
            }
        }
    }
}

/* Page: TOTP setup */

.totp ol li {
    margin-bottom: 2.5em;
    margin-left: 2.4em;
    width: 100%;
    
    p {
        font-size: 1.3em;
        margin-bottom: 1.53846153846154em;
        
        strong {
            text-indent: -1em;
            float: left;
            font-size: 1.84615384615385em;
            font-weight: normal;
            margin-top: -0.375em;
            color: #999;
        }
    }
    
    img {
        width: 136px;
    }
    
    .code {
        font-size: 1.3em;
        margin-left: 1.53846153846154em;
        vertical-align: bottom;
    }
        
    &:last-child {
        margin-bottom: 0;
    }
    
    .form-actions {
        margin-right: 2.4em;
        
        input[type="button"], 
        button, 
        a.button {
            font-size: 1.1em;
        }
    }
}



/* Break Points */

@media (max-width: 1200px) {

    .header.rcue {
        
        .navbar.utility .navbar-inner,
        .navbar.primary .navbar-inner {
            max-width: 970px;
        }
    }
    
    #container-right-bg {
        margin-left: 242.5px;
        width: 727.5px;
    }
}

@media (max-width: 992px) {

    .header.rcue {
        
        .navbar.utility .navbar-inner,
        .navbar.primary .navbar-inner {
            max-width: 750px;
        }
    }
    
    .bs-sidebar,
    .user .bs-sidebar {
        padding-top: 1em;
        width: 100%;
        
        ul li {
        
            margin-left: 0;
            
            a {
                border-width: 1px;
                padding-left: 1.53846153846154em;
            }
            
            &.active a {
                background-image: none;
            }   
        } 
    }
    
    #content-area .top-nav {
        border-top: 1px solid #cecece;
    }

    #container-right-bg {
        margin-left: 0;
        width: 750px;
    }
    
    .user #content-area #content {
        border-top: 1px solid #cecece;
    }

}

@media (max-width: 768px) {

    .header.rcue {
        
        .navbar.utility .navbar-inner,
        .navbar.primary .navbar-inner {
            max-width: 100%;
        }
    }
    
    .bs-sidebar,
    .user .bs-sidebar {
        
        ul li.active a {
            border-left: none;
            border-right: none;
        }
    }  
    
    .container {
        min-width: 56em;
    }
    
    #content-area {
        border: none;
    }
    
    #container-right-bg {
        border: none;
        width: 100%;
    }
}
