// ------------------------------------------------------------------
//  General
// ------------------------------------------------------------------
.o_web_client {
    position: relative; // normally useless but required by bootstrap-datepicker
    background-color: $o-webclient-background-color;
}

// ------------------------------------------------------------------
// Misc. widgets
// ------------------------------------------------------------------
.o_notification_manager {
    width: 300px;
    max-width: 100%;

    @include o-position-absolute($navbar-height, 0px);
    z-index: 1100; // Bootstrap modal z-index is 1050

    .o_notification {
        padding: 0;
        margin: 5px 0 0 0;

        opacity: 0;

        background-color: $o-notification-info-bg-color;
        box-shadow: 0px 0px 5px 1px $o-main-text-color;

        position: relative;
        .o_close {
            @include o-position-absolute(5px, 5px);
            color: rgba(0, 0, 0, 0.3);
            text-decoration: none;
        }

        .o_notification_title {
            @include o-flex-display;
            @include o-align-items(center);

            border-bottom: 1px solid rgba(0, 0, 0, 0.1);
            padding: 10px 10px 10px 20px;

            font-weight: bold;

            .o_icon {
                display: inline-block;
                margin-right: 20px;
                color: rgba(0, 0, 0, 0.3);
            }
        }

        .o_notification_content {
            padding: 10px;
        }

        &.o_error {
            color: white;
            background-color: $o-notification-error-bg-color;
        }
    }
}

// Buttons
.o_icon_button {
    background-color: transparent;
    border: 0;
    padding: 0;
    outline: none;
}

// Boolean Toggle widget
div.o_boolean_toggle {
    position: relative;
    display: inline-block;
    width: 32px !important;
    height: 18px;

    > input {
            display: none;
        }

    .slider {
        position: absolute;
        cursor: pointer;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: #a0a0a0;
        border-radius: 24px;

        &:before {
            position: absolute;
            content: "";
            height: 12px;
            width: 12px;
            left: 3px;
            bottom: 3px;
            background-color: white;
            border-radius: 50%;
        }
    }

    > input:checked + .slider {
        background-color: $o-brand-optional;

        &:before {
            @include translate(14px, 0px);
        }
    }
}

// Full bg colors (bootstrap extension)
.bg-success-full {
    background-color: $brand-success;
}
.bg-warning-full {
    background-color: $brand-warning;
}
.bg-danger-full {
    background-color: $brand-danger;
}
.bg-info-full {
    background-color: $brand-info;
}

.o_web_accesskey_overlay {
    font-family: $font-family-sans-serif;
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background-color: rgba(0,0,0,.6);
    color: #FFFFFF;
    justify-content: center;
    display: flex;
    align-items: center;
}

//== Badges
.badge {
    margin: 1px 2px 1px 0;
    padding-top: 0;
    padding-bottom: 0;
}

// Btn-link variations
.btn-link {
    font-weight: $btn-font-weight;

    &.btn-default {
        @include o-btn-link-variant($text-color, $headings-color);
    }
    &.btn-success, &.text-success {
        @include o-btn-link-variant($text-color, $brand-success);
    }
    &.btn-warning, &.text-warning {
        @include o-btn-link-variant($text-color, $brand-warning);
    }
    &.btn-danger, &.text-danger {
        @include o-btn-link-variant($text-color, $brand-danger);
    }
    &.btn-info, &.text-info {
        @include o-btn-link-variant($text-color, darken($brand-info, 20%));
    }
}

//== Printing improvements
@media print {
    .table-responsive {
        overflow-x: initial;
    }
}
