.catalog-tile-tooltip {
    word-wrap: break-word;
}
.dox-ui,
.onap-sdc-portal {
    @import 'bootstrap';
    @import '~react-select/dist/react-select.min.css';
    @import '~react-datepicker/dist/react-datepicker.min.css';

    @import 'common';
    @import 'components';
    @import 'modules';

    .sdc-alert__header,
    .sdc-error__header,
    .sdc-info__header {
        box-sizing: content-box;
    }
    &.dox-ui-punch-out {
        background-color: $content-background-color;
        &.dox-ui-punch-out-full-page {
            position: absolute;
            top: 0;
            bottom: 0;
            left: 0;
            right: 0;
            overflow-y: auto;
        }
    }
}

/* Out of namespace context for tooltips */
div[data-onboardingroot].tooltip {
    @import 'common/variables';
    @import 'common/typography';

    &.in {
        opacity: 1;
    }
    &.validation-error-message {
        &.bottom {
            .tooltip-arrow {
                border-bottom-color: $red !important;
            }
        }
        &.left {
            .tooltip-arrow {
                border-left-color: $red !important;
            }
        }
        &.right {
            .tooltip-arrow {
                border-right-color: $red !important;
            }
        }
        &.top {
            .tooltip-arrow {
                border-top-color: $red !important;
            }
        }
    }
    &.bottom {
        .tooltip-arrow {
            border-bottom-color: $dark-gray !important;
        }
    }
    &.top {
        .tooltip-arrow {
            border-top-color: $dark-gray !important;
        }
    }
    &.right {
        .tooltip-arrow {
            border-right-color: $dark-gray !important;
        }
    }
    &.left {
        .tooltip-arrow {
            border-left-color: $dark-gray !important;
        }
    }
    .tooltip-inner {
        @extend .body-1;
        max-width: 100%;
        background-color: $dark-gray;
        padding: 6px 9px;
        &:first-letter {
            text-transform: capitalize;
        }
    }

    // activity log tooltip
    &.activity-log-message-tooltip {
        @include base-font-regular;
        font-size: $body-font-2;
        .message-block {
            text-align: left;
            padding: 3px 12px;
        }
    }
    // manage permisions modal
    &.manage-permissions-owner-tooltip {
        .tooltip-inner {
            width: 400px;
        }
    }
    // WS/Catalog Tile
    &.tile-super-info {
        .tooltip-inner {
            font-size: $body-font-3;
        }
    }
    //dependency table error tooltip
    &.select-action-table-error-tooltip {
        @include base-font-regular;
        margin-right: 5px;
        font-size: $body-font-2;
        .message-block {
            text-align: left;
            padding: 3px 12px;
        }
        .tooltip-arrow {
            border-bottom-color: $red !important;
        }

        .tooltip-inner {
            background-color: $red;
            padding: 6px 8px;
            font-size: $body-font-2;
        }
    }

    // for read-only mode, vendor description in VLM overview
    &.vendor-description-tooltip {
        .tooltip-inner {
            max-width: 600px;
        }
    }
}

/* Out of namespace context for notifications */
.onboarding-notifications-container {
    position: absolute;
    &.position-top-right {
        right: 30px;
        top: 50px;
    }
}

.onboarding-loader {
    .onboarding-loader-backdrop {
        @import 'common/variables';
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        position: absolute;
        background-color: $transparent-black;
    }
}
