/* Custom CSS */

/* -------------- Color Pallete -------------- */
:root {
    /* ORIGINAL BRAND COLORS */
    --performive-midnight: #12293C;
    --performive-purple: #555BA9;
    --performive-blue: #3F76BB;
    --performive-teal: #0497AF;
    --performive-ice: #90D2D0;
    --performive-pink: #EB4C97;
    --performive-sun: #E8BD21;

    /* EXTRA SHADES */
    --performive-midnight-light: #1C415E;
    --performive-teal-dark: #037A8C;
    --performive-grey: #8491B4;
    --white: #FFF;
    --black: #000;

    /* CONTEXT COLORS */
    --performive-success: #3bb498;
    --performive-success-light: #B5FFEC;
    --performive-success-dark: #2f967e;

    --performive-warning: #E57A44;
    --performive-warning-light: #FAE5DB;
    --performive-warning-dark: #D75B1D;

    --performive-danger: #CC3333;
    --performive-danger-light: #FFD6D6;
    --performive-danger-dark: #A30000;
}

/* -------------- Global Settings -------------- */
/* To reduce CSS some general settings are
** consolidated here rather than organized with
** their respective components
*/

/* Fixes page shifting issue due to scrollbar */
html {
    overflow-x: auto;
    overflow-y: overlay;
}

body {
    font-family: "Jost", "Helvetica Neue", Arial, sans-serif;
}

a {
    color: var(--performive-teal);
    transition: none;
}

a:hover,
a:focus {
    color: var(--performive-teal-dark);
}

.form-control,
.input-group-text,
.dataTables_filter input,
.dataTables_wrapper .dataTables_paginate .paginate_button {
    padding: .35rem .75rem;
}


/* ----- Page Containter ------- */
.container {
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
}

@media (min-width: 1170px) {
    .container {
        max-width: 1140px;
    }
}

/* -------------- Header -------------- */
/* Fix site branding size */
.slim-header {
    height: 85px;
    border-color: var(--performive-midnight);
}

.header-branding img {
    height: 24px;
    vertical-align: unset;
    margin: 0;
}

.slim-header .logged-user {
    transition: none;
}

.slim-header .logged-user img {
    border-color: var(--performive-teal);
    margin-right: 7px;
}

.slim-header .logged-user span {
    text-align: right;
    margin: 0 8px 0 0 ;
}

.current-user {
    font-weight: 600;
    display: block;
    font-size: 0.75rem;
}

.current-company {
    font-weight: 600;
    display: block;
    font-size: 0.7rem;
    text-transform: capitalize;
}

.slim-header .logged-user:hover,
.slim-header .logged-user:focus,
.slim-header-right .dropdown-c.show a,
.slim-header-right .dropdown-c.show a .icon {
    color: var(--performive-teal-dark);
}

.slim-header-right .dropdown-c .dropdown-menu {
    margin-top: 20px;
}

.slim-header-right .dropdown-c .dropdown-menu::before {
    border-bottom-color: var(--performive-midnight-light);
}

.slim-header-right .dropdown-c .dropdown-menu .nav a {
    color: var(--performive-midnight);
}

/* -------------- Navbar -------------- */

.tcp-main-nav {
    height: 58px;
    text-transform: none;
    font-size: 1.5vw;
    font-weight: 600;
    background: var(--performive-midnight);
    padding: 0;
    z-index: 1024;
}

.tcp-main-nav .nav-link i {
    vertical-align: middle;
    font-size: 2.2vw;
    margin-right: 0.2vw;
}

@media screen and (min-width: 1022px) {
    .tcp-main-nav {
        font-size: 14px;
    }

    .tcp-main-nav .nav-link i {
        vertical-align: middle;
        font-size: 24px;
        margin-right: 4px;
    }
}

.tcp-main-nav a {
    color: var(--performive-ice) !important;
}

.tcp-main-nav a:hover {
    color: var(--performive-teal) !important;
}

.tcp-main-nav ul {
    background: var(--performive-midnight);
}

.tcp-main-nav .navbar-toggler.collapsed .fa-bars {
    color: #f0f2f7;
}

.tcp-main-nav ul.nav.navbar-nav {
    width: 100% !important;
    justify-content: space-between;
}

.nav-item.top-level {
    text-align: center;
    padding: 8px;
}

.nav-item.top-level > .dropdown-menu {
    margin-top: 3px;
}

@media screen and (max-width: 768px) {
    #main-navigation.collapse .nav-item, #main-navigation.collapsing .nav-item {
        text-align: left;
    }

    #main-navigation.collapse .nav-item ul, #main-navigation.collapsing .nav-item ul {
        margin-left: 10px;
        border: 0 !important;
        background: transparent;
        box-shadow: none;
    }

    .tcp-main-nav {
        font-size: 14px;
    }
}

.nav-link[data-toggle=dropdown]::after {
    content: '\f107';
    font-family: 'FontAwesome';
    font-weight: 400;
    margin-left: 4px;
    margin-top: 0;
    opacity: .7;
}

.nav-item.top-level:hover > .nav-link[data-toggle=dropdown] + .dropdown-menu,
.dropdown-menu:hover {
    display: block;
}

.tcp-main-nav .dropdown-menu {
    background: var(--performive-midnight);
    width: 100%;
    top: calc(100% - 3px);
    left: 0;
    border-top: 1px solid var(--performive-midnight-light);
    padding: 5px;
}

.tcp-main-nav .dropdown-menu .nav-item {
    font-size: 13px;
    white-space: nowrap;
}

/* -------------- Sidebar -------------- */
.sidebar-announcements {
    max-height: 600px;
    overflow-x: auto;
}

.sidebar-announcements .announcement-container {
    padding: 25px 20px 0 20px;
}

.sidebar-announcements .announcement-container > div {
    padding-bottom: 5px;
    border-bottom: 1px solid #ced4da;
}

.sidebar-announcements .announcement-heading {
    font-size: 14px;
    font-weight: 600;
    color: var(--performive-warning-dark);
}

.sidebar-announcements ul,
.sidebar-announcements ol {
    padding-left: 18px;
}

/* -------------- SIdebar Nav -------------- */
.nav-pills .nav-link.active {
    background-color: var(--performive-teal);
}

.nav-pills .nav-link.active:hover,
.nav-pills .nav-link.active:focus {
    background-color: var(--performive-teal-dark);
}

/* -------------- Headings -------------- */
.slim-pagetitle {
    padding-top: 6px;
    padding-bottom: 5px;
    text-transform: none;
    font-size: 20px;
    border-color: var(--performive-pink);
}

.slim-card-title {
    text-transform: none;
    font-size: 16px;
    letter-spacing: normal;
}

/* -------------- Card -------------- */
.card {
    margin-bottom: 1rem;
    box-shadow: 1px 3px 10px 1px rgba(0, 0, 0, .05)
}

.card .card {
    box-shadow: none;
}

.card-header {
    padding: 12px 20px;
    background-color: transparent;
}

/* dropdown menus inside card-header */
.card-header .dropdown {
    display: inline-block;
}

/* -------------- Card Profile -------------- */
.card-profile .card-body {
    flex-direction: row;
    flex: 0 1 auto;
    justify-content: center;
    padding: 20px;
    text-align: left;
}

.card-profile img {
    width: 62px;
    height: 62px;
    margin: 0 10px 0 0;
    vertical-align: top;
    border: 1px solid #ddd;
    padding: 2px;
}

.card-profile .profile-info {
    display: inline-block;
    vertical-align: top;
}

.card-profile .profile-name {
    display: inline-block;
    margin: 4px 0 8px 0;
    color: var(--performive-midnight);
}

.card-profile .profile-contact {
    color: var(--performive-blue);
    margin: 0;
    font-size: .75rem;
}

/* -------------- Tables -------------- */
.tcp-table-container {
    border: 1px solid #dee2e6;
    margin: 21px 0 18.5px 0;
}

.restricted-table,
.restricted-dataTable {
    overflow-x: auto;
}

.table.table-primary thead > tr > th {
    background-color: var(--performive-teal);
}

.table.table-success thead > tr > th {
    background-color: var(--performive-success);
}

.table.table-warning thead > tr > th {
    background-color: var(--performive-warning);
}

.table.table-danger thead > tr > th {
    background-color: var(--performive-danger);
}

.table.table-gray {
    background-color: #f6f7fa;
}

.table-key {
    font-weight: 600;
}

.no-action {
    cursor: default !important;
}

/* Table length Options and Search */
.tcp-table-options {
    display: flex;
}

.tcp-table-options > div {
    flex: 1 1 auto;
    display: flex;
}

.tcp-table-options .input-group > .form-control {
    flex: 0 1 auto;
    width: 72px;
}

.tcp-table-options > div:last-child {
    justify-content: flex-end;
}

.tcp-table-options input,
.tcp-table-options select {
    margin: 0;
}

.tcp-table-options input {
    width: 192px;
}

/* Pagination */
.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:focus {
    background-color: var(--performive-teal);
}

.pagination {
    justify-content: flex-end;
}

ul.pagination {
    margin-bottom: 0;
}
/* ================== */
.pagination .page-item .page-link {
    padding: .35rem .75rem;
    line-height: 21px;
    background-color: #e9ecef;
    border-color: transparent;
    border-radius: 0;
    width: auto;
    height: auto;
}

.pagination .page-item .page-link:hover,
.pagination .page-item:focus {
    background-color: #ced4da;
    background-image: none;
    border-color: transparent;
    color: #343a40 !important;
}

.pagination .page-item:active {
    box-shadow: none;
}

.pagination .page-item.current .page-link,
.pagination .page-item.current .page-link:hover,
.pagination .page-item.current .page-link:focus {
    background-color: var(--performive-teal);
    background-image: none;
    border-color: transparent;
    color: #fff !important;
}

.pagination .page-item.disabled .page-link,
.pagination .page-item.disabled .page-link:hover,
.pagination .page-item.disabled .page-link:focus {
    background-color: #e9ecef;
    color: #adb5bd !important;
}

.pagination .page-item .page-link:hover,
.pagination .page-item .page-link:focus {
    background-color: #ced4da;
}

.page-link:focus {
    box-shadow: none;
}

.my-services table td:last-child {
    text-align: right;
}

/* == Set padding to account for sorting toggles == */
.dataTable th.sorting,
.dataTable th.sorting_asc,
.dataTable th.sorting_desc {
    padding-right: 1.5rem;
}

/* == Table media queries == */
@media screen and (max-width: 1022px) {
    .restricted-table,
    .restricted-dataTable {
        max-height: 600px;
    }
    .restricted-dataTable {
        border: 1px solid #ced4da;
        padding: 10px 4px;
    }
}

/* == Override dataTables calls for images that do not exist == */
table.dataTable thead .sorting {
    background-image: none;
}
table.dataTable thead .sorting_asc {
    background-image: none;
}
table.dataTable thead .sorting_desc {
    background-image: none;
}
table.dataTable thead .sorting_asc_disabled {
    background-image: none;
}
table.dataTable thead .sorting_desc_disabled {
    background-image: none;
}

/* -------------- Forms -------------- */
/** Includes dataTables form control changes **/
input, select {
    margin-bottom: 3px;
}

label {
    font-weight: 600;
}

.form-control::placeholder {
    color: #a5a5a5;
}

.submit-btn {
    margin-left: 15px;
}

.dataTables_filter {
    padding-right: 7px;
}

/* File input override styling */
input[type="file"].form-control {
    height: 47px;
    cursor: pointer;
    padding: 10px 0 10px 30px;
    margin-bottom: 10px;
}

.form-control::-webkit-file-upload-button {
    visibility: hidden;
}

input[type="file"].form-control::before {
    border-radius: 5px;
    border: 0px;
    padding: .45rem .9rem;
    content: 'Choose File';
    display: inline-block;
    background-color: var(--performive-teal);
    color: #fff;
    outline: none;
    white-space: nowrap;
    -webkit-user-select: none;
    cursor: pointer;
    font-weight: 400;
    font-size: 0.857rem;
    visibility: visible;
    margin-left: -22px;
    margin-top: -6px;
}

/* "mock" disabled form fields - will display in a form like a
    disables input, but have no actual input field */
.form-control.mock-input {
    display: block;
    width: 100%;
    padding: .35rem .75rem;
    font-size: 0.875rem;
    line-height: 1.5;
    color: #495057;
    background-color: #e9ecef;
    background-clip: padding-box;
    border: 1px solid #ced4da;
    margin-bottom: 3px;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

input[type="file"].form-control:hover::before,
input[type="file"].form-control:active::before {
    background-color: var(--performive-blue);
}

/* Firefox overrides */
@-moz-document url-prefix() {
    input[type="file"].form-control {
        height: 30px;
        padding: 0 0 30px 0;
    }
}

/* Edge overrides */
@supports (-ms-ime-align:auto) {
    html {
        -ms-overflow-style: -ms-autohiding-scrollbar;
    }

    input[type="file"].form-control {
        padding: 10px;
    }

    .restricted-table,
    .restricted-dataTable {
        padding-bottom: 25px;
    }
}

/* EI overrides */
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
    html {
        -ms-overflow-style: -ms-autohiding-scrollbar;
    }

    input[type="file"].form-control {
        padding: 10px;
    }

    .restricted-table,
    .restricted-dataTable {
        padding-bottom: 25px;
    }
}

/* -------------- Select -------------- */
select.form-control:not([size]):not([multiple]) {
    height: calc(2rem + 2px);
}

/* -------------- Buttons -------------- */
.lead-btn {
    margin-right: 10px;
}

.card-options {
    display: flex;
    justify-content: flex-end;
}

.card-options .btn {
    text-align: left;
    border-radius: 0;
    border: 1px solid transparent;
}

.card-options .show .btn {
    border: 1px solid #ced4da;
    color: var(--performive-warning-dark);
}

.card-options .dropdown-menu {
    top: -1px !important;
    border: 1px solid #ced4da;
    margin: 0;
}

.card-options .dropdown-item {
    color: var(--performive-blue);
}

.card-options .dropdown-item:hover,
.card-options .dropdown-item:focus {
    color: var(--performive-warning-dark);
    background: #f8f9fa;
}

.card-options .dropdown-item:active {
    color: #fff;
    background: var(--performive-blue);
}


@media screen and (max-width: 991px) {
    .card-options {
        flex-direction: column;
        align-content: flex-end;
    }
    .card-options .btn {
        text-align: left;
    }
}

/* == Button Style Overrides == */

.btn {
    border-radius: 5px;
    border: 0px;
    padding: .45rem .9rem;
    font-weight: 600;
}

.btn:focus {
    box-shadow: none;
}

/* Primary btn */
.btn-primary,
.btn-info {
    background-color: var(--performive-teal);
}

.btn-outline-primary,
.btn-outline-info {
    border: 1px solid var(--performive-teal-dark);
    color: var(--performive-teal-dark);
}

.btn-primary:not(:disabled):not(.disabled):hover,
.btn-primary:not(:disabled):not(.disabled):active,
.btn-info:not(:disabled):not(.disabled):hover,
.btn-info:not(:disabled):not(.disabled):active,
.btn-outline-primary:not(:disabled):not(.disabled):hover,
.btn-outline-primary:not(:disabled):not(.disabled):active,
.btn-outline-info:not(:disabled):not(.disabled):hover,
.btn-outline-info:not(:disabled):not(.disabled):active {
    background-color: var(--performive-teal-dark);
}

.btn-primary:not(:disabled):not(.disabled):focus,
.btn-info:not(:disabled):not(.disabled):focus,
.btn-outline-primary:not(:disabled):not(.disabled):focus,
.btn-outline-info:not(:disabled):not(.disabled):focus {
    box-shadow: 0 0 0 3px var(--performive-ice);
}

/* Secondary btn */
.btn-secondary {
    background-color: var(--performive-midnight-light);
}

.btn-secondary:not(:disabled):not(.disabled):hover,
.btn-secondary:not(:disabled):not(.disabled):active {
    background-color: var(--performive-midnight);
}

.btn-secondary:focus {
    box-shadow: 0 0 0 3px var(--performive-grey);
}

/* Success btn */
.btn-success {
    background-color: var(--performive-success);
}

.btn-outline-success {
    border: 1px solid var(--performive-success-dark);
    color: var(--performive-success-dark);
}

.btn-success:not(:disabled):not(.disabled):hover,
.btn-success:not(:disabled):not(.disabled):active,
.btn-outline-success:not(:disabled):not(.disabled):hover,
.btn-outline-success:not(:disabled):not(.disabled):active {
    background-color: var(--performive-success-dark);
}

.btn-success:not(:disabled):not(.disabled):focus,
.btn-outline-success:not(:disabled):not(.disabled):focus {
    box-shadow: 0 0 0 3px var(--performive-success-light);
}

/* Warning btn */
.btn-warning {
    background-color: var(--performive-warning);
}

.btn-outline-warning {
    border: 1px solid var(--performive-warning-dark);
    color: var(--performive-warning-dark);
}

.btn-warning:not(:disabled):not(.disabled):hover,
.btn-warning:not(:disabled):not(.disabled):active,
.btn-outline-warning:not(:disabled):not(.disabled):hover,
.btn-outline-warning:not(:disabled):not(.disabled):active {
    background-color: var(--performive-warning-dark);
}

.btn-warning:not(:disabled):not(.disabled):focus,
.btn-outline-warning:not(:disabled):not(.disabled):focus {
    box-shadow: 0 0 0 3px var(--performive-warning-light);
}

/* Danger btn */
.btn-danger {
    background-color: var(--performive-danger);
}

.btn-outline-danger {
    border: 1px solid var(--performive-danger-dark);
    color: var(--performive-danger-dark);
}

.btn-danger:not(:disabled):not(.disabled):hover,
.btn-danger:not(:disabled):not(.disabled):active,
.btn-outline-danger:not(:disabled):not(.disabled):hover,
.btn-outline-danger:not(:disabled):not(.disabled):active {
    background-color: var(--performive-danger-dark);
}

.btn-danger:not(:disabled):not(.disabled):focus,
.btn-outline-danger:not(:disabled):not(.disabled):focus {
    box-shadow: 0 0 0 3px var(--performive-danger-light);
}

/* Focus state color overrides */
.btn-primary:not(:disabled):not(.disabled):focus,
.btn-secondary:not(:disabled):not(.disabled):focus,
.btn-info:not(:disabled):not(.disabled):focus,
.btn-success:not(:disabled):not(.disabled):focus,
.btn-warning:not(:disabled):not(.disabled):focus,
.btn-danger:not(:disabled):not(.disabled):focus {
    color: #fff;
}

/* == Toggler Button == */
.navbar-toggler.collapsed .fa-caret-up,
.navbar-toggler .fa-caret-down {
    display: block;
}

.navbar-toggler.collapsed .fa-caret-down,
.navbar-toggler .fa-caret-up {
    display: none;
}

.tcp-main-nav .navbar-toggler:focus {
    outline: none;
}

.tcp-main-nav  .navbar-toggler .fa-bars {
    color: #c0c6cc;
}

/* -------------- File Attachments Module -------------- */
.dropzone {
    font-size: 1.1rem;
}

.dropzone:hover,
.dropzone:focus {
    border-color: var(--performive-teal);
    color: var(--performive-teal);
}

.dropzone div.dz-message {
    margin: 1.7rem 0;
}

/* -------------- Alerts -------------- */
.alert {
    font-weight: 600;
    border-radius: 5px;
}

.alert-info,
.alert-primary {
    color: var(--performive-blue);
    border-color: var(--performive-blue);
    background-color: #c7f2f9;
}

.alert a {
    color: var(--performive-midnight);
}

.alert a:hover,
.alert a:focus {
    color: var(--performive-midnight);
}

.alert-success {
    color: var(--performive-success-dark);
    border-color: var(--performive-success-dark);
    background-color: var(--performive-success-light);
}

.alert-warning {
    color: var(--performive-warning-dark);
    border-color: var(--performive-warning-dark);
    background-color: var(--performive-warning-light);
}

.alert-danger {
    color: var(--performive-danger-dark);
    border-color: var(--performive-danger-dark);
    background-color: var(--performive-danger-light);
}

.alert ul:last-child {
    margin-bottom: 0;
}

.alert-dismissible .close {
    padding: 1rem 1.25rem;
}

.tcp-error-modal .swal2-title {
    margin-top: 40px;
    position: relative;
    display: block;
}

.icon-alert {
    display: flex;
}

.icon-alert * {
    flex: 1 1 auto;
}

.alert-icon {
    align-self: center;
    font-size: 1.15rem;
    margin-right: 20px;
}

/* -------------- Icons -------------- */
.card-icon-wrapper {
    font-size: 62px;
}

.card-icon-wrapper.primary {
    color: var(--performive-teal);
    border: 2px solid var(--performive-teal);
}

/* -------------- Helper Classes -------------- */
/* Text Helpers */
.text-primary,
.text-info {
    color: var(--performive-teal) !important;
}

a.text-primary:hover, a.text-primary:focus,
a.text-info:hover, a.text-info:focus {
    color: var(--performive-teal-dark) !important;
}

.text-secondary {
    color: var(--performive-midnight-light) !important;
}

a.text-primary:hover, a.text-primary:focus,
a.text-info:hover, a.text-info:focus {
    color: var(--performive-teal-dark) !important;
}


.text-success {
    color: var(--performive-success-dark) !important;
}

a.text-success:hover, a.text-success:focus {
    color: var(--performive-success) !important;
}

.text-warning {
    color: var(--performive-warning-dark) !important;
}

a.text-warnig:hover, a.text-warning:focus {
    color: var(--performive-warning) !important;
}

.text-danger {
    color: var(--performive-danger-dark) !important;
}

a.text-danger:hover, a.text-danger:focus {
    color: var(--performive-danger) !important;
}


/* Background Helpers */
.bg-primary,
.bg-info {
    background-color: var(--performive-teal) !important;
}

.bg-secondary {
    background-color: var(--performive-midnight) !important;
}

.bg-success {
    background-color: var(--performive-success) !important;
}

.bg-warning {
    background-color: var(--performive-warning) !important;
}

.bg-danger {
    background-color: var(--performive-danger) !important;
}

/* -------------- CDN Managment Page -------------- */
@media screen and (max-width: 991px){
    .city-list li {
        text-align: center;
    }
}

/* -------------- Bandwidth Graph -------------- */
.card-footer.bandwidth-options {
    padding: 0 25px;
    text-align: center;
    font-size: 18px;
}

.bandwidth-options > span {
    margin: 15px;
}

.bandwidth-options form {
    display: inline-block;
}

/* Custom Radio Button */
/* Hide the browser's default radio button */
.custom-radio input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}

/* Customize the label */
.custom-radio {
    display: inline-block;
    position: relative;
    margin: 10px;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

/* Create a custom radio button */
.radio-bandwidth {
    top: 3px;
    left: 0;
    padding: 4px 10px;
    background-color: transparent;
    border-radius: 15px;
    z-index: 0;
}

/* On mouse-over, add a grey background color */
.custom-radio:hover input ~ .radio-bandwidth {
    background-color: #ccc;
}

/* When the radio button is checked, add a blue background */
.custom-radio input:checked ~ .radio-bandwidth {
    background-color: var(--performive-midnight);
    color: #fff;
}

/* Graph Place Holder */
.bandwidth-graph {
    width: 1058px;
    max-width: 100%;
}

@media screen and (max-width: 991px) {
    .card-footer.bandwidth-options {
        flex-direction: column;
    }
}

/* -------------- Footer -------------- */
.tcp-version {
    padding-right: 10px;
}

/* -------------- Contacts Page -------------- */
.cancel-invite-container {
    text-align: right;
}

/* -------------- Archived Tickets -------------- */
.archive-ticket-title {
    display: flex;
    justify-content: center;
}

.archive-ticket-title h4 {
    margin: 0;
}

.archive-ticket-title div {
    flex: 1 1 auto;
    display: flex;
    flex-wrap: wrap;
}

.archive-ticket-title div:first-child {
    padding-right: 15px
}

.archive-ticket-title div:last-child {
    justify-content: flex-end;
    flex-shrink: 0;
}

.comment-archived .card-header {
    background: #ababaf;
    color: #fff;
    border-bottom: 1px solid #ced4da;
}

/* -------------- Dashboard -------------- */
.dashboard-complaints {
    margin-bottom: 0;
}

.dashboard-complaints thead > tr > th {
    color: #fff;
    background: var(--performive-danger);
    border-bottom: 2px solid transparent;
}

.dashboard-complaints thead tr th:first-child {
    border-left: 6px solid var(--performive-danger);
}

.dashboard-complaints thead tr th:last-child {
    border-right: 6px solid var(--performive-danger);
}

.dashboard-info {
    font-size: .75rem;
    margin-bottom: 25px;

}

/* -------------- Dashboard Tickets -------------- */
div.dash-table-container {
    padding: 10px;
}

/* OPEN */
tr.ticket-status-open td:first-child {
    border-left: 6px solid #c7f2f9 !important;
}

tr.ticket-status-open td:last-child {
    border-right: 6px solid #c7f2f9 !important;
}

tr.ticket-status-open td.ticket-status {
    color: var(--performive-blue);
}

/* PENDING */
tr.ticket-status-pending td:first-child,
tr.ticket-status-archived td:first-child {
    border-left: 6px solid var(--performive-grey) !important;
}

tr.ticket-status-pending td:last-child,
tr.ticket-status-archived td:last-child {
    border-right: 6px solid var(--performive-grey) !important;
}

tr.ticket-status-pending td.ticket-status,
tr.ticket-status-archived td.ticket-status {
    color: var(--performive-grey);
}


/* RESOLVED */
tr.ticket-status-resolved td:first-child {
    border-left: 6px solid var(--performive-success-light) !important;
}

tr.ticket-status-resolved td:last-child {
    border-right: 6px solid var(--performive-success-light) !important;
}

tr.ticket-status-resolved td.ticket-status {
    color: var(--performive-success);
}

/* CLOSED */
tr.ticket-status-closed td:first-child {
    border-left: 6px solid var(--performive-danger-light) !important;
}

tr.ticket-status-closed td:last-child {
    border-right: 6px solid var(--performive-danger-light) !important;
}

tr.ticket-status-closed td.ticket-status {
    color: var(--performive-danger);
}

/* REOPENED */
tr.ticket-status-reopened td:first-child {
    border-left: 6px solid var(--performive-warning-light) !important;
}

tr.ticket-status-reopened td:last-child {
    border-right: 6px solid var(--performive-warning-light) !important;
}

tr.ticket-status-reopened td.ticket-status {
    color: var(--performive-warning);
}

/* CUSTOMER RESOLVED */
tr.ticket-status-customer-resolved td:first-child {
    border-left: 6px solid var(--performive-success-light) !important;
}

tr.ticket-status-customer-resolved td:last-child {
    border-right: 6px solid var(--performive-success-light) !important;
}

tr.ticket-status-customer-resolved td.ticket-status {
    color: var(--performive-success);
}

/* PROJECT */
tr.ticket-status-project td:first-child {
    border-left: 6px solid #c7f2f9 !important;
}

tr.ticket-status-project td:last-child {
    border-right: 6px solid #c7f2f9 !important;
}

tr.ticket-status-project td.ticket-status {
    color: var(--performive-blue);
}

/* -------------- Abuse Status -------------- */
/* PENDING */
tr.abuse-status-pending-response td:first-child {
    border-left: 6px solid var(--performive-danger-light) !important;
}

tr.abuse-status-pending-response td:last-child {
    border-right: 6px solid var(--performive-danger-light) !important;
}

tr.abuse-status-pending-response span.abuse-status {
    color: var(--performive-danger);
}

/* DISPUTED */
tr.abuse-status-desputed td:first-child {
    border-left: 6px solid var(--performive-warning-light) !important;
}

tr.abuse-status-desputed td:last-child {
    border-right: 6px solid var(--performive-warning-light) !important;
}

tr.abuse-status-desputed span.abuse-status {
    color: var(--performive-warning);
}

/* closed */
tr.abuse-status-closed td:first-child {
    border-left: 6px solid var(--performive-success-light) !important;
}

tr.abuse-status-closed td:last-child {
    border-right: 6px solid var(--performive-success-light) !important;
}

tr.abuse-status-closed span.abuse-status {
    color: var(--performive-success);
}


/* WHMCS Service Statuses */

/* PENDING, SUSPENDED */
.whmcs-service-pending, .whmcs-service-suspended {
    color: var(--performive-warning);
}
tr.whmcs-service-pending td:first-child, tr.whmcs-service-suspended td:first-child {
    border-left: 6px solid var(--performive-warning-light) !important;
}
tr.whmcs-service-pending td:last-child, tr.whmcs-service-suspended td:last-child {
    border-right: 6px solid var(--performive-warning-light) !important;
}

/* ACTIVE, COMPLETED */
.whmcs-service-active, .whmcs-service-completed {
    color: var(--performive-success);
}
tr.whmcs-service-active td:first-child, tr.whmcs-service-completed td:first-child {
    border-left: 6px solid var(--performive-success-light) !important;
}
tr.whmcs-service-active td:last-child, tr.whmcs-service-completed td:last-child {
    border-right: 6px solid var(--performive-success-light) !important;
}

/* TERMINATED, CANCELLED, FRAUD*/
.whmcs-service-terminated, .whmcs-service-cancelled, .whmcs-service-fraud {
    color: var(--performive-danger);
}
tr.whmcs-service-terminated td:first-child, tr.whmcs-service-cancelled td:first-child,
tr.whmcs-service-fraud td:first-child  {
    border-left: 6px solid var(--performive-danger-light) !important;
}
tr.whmcs-service-terminated td:last-child, tr.whmcs-service-cancelled td:last-child,
tr.whmcs-service-fraud td:last-child {
    border-right: 6px solid var(--performive-danger-light) !important;
}

.service-actions {
    text-align: left;
}

.cpanel-icon {
    width: 28px;
}

.service-cancel {
    font-size: 14px;
    margin-top: 6px;
    color: #c2c9cf;
}

.service-cancel:hover {
    color: var(--performive-danger);
}

table.table.table-colored-edges th {
    border-bottom: 2px solid transparent;
}

table.table-colored-edges th:first-child {
    border-left: 6px solid #dee2e6 !important;
}

table.table-colored-edges th:last-child {
    border-right: 6px solid #dee2e6 !important;
}

/* WHMCS Invocie Statuses */
.whmcs-invoice-unpaid, .whmcs-invoice-draft {
    color: var(--performive-warning);
}
tr.whmcs-invoice-unpaid td:first-child, tr.whmcs-invoice-draft td:first-child {
    border-left: 6px solid var(--performive-warning-light) !important;
}
tr.whmcs-invoice-unpaid td:last-child, tr.whmcs-invoice-draft td:last-child {
    border-right: 6px solid var(--performive-warning-light) !important;
}

.whmcs-invoice-paid, .whmcs-service-refunded {
    color: var(--performive-success);
}
tr.whmcs-invoice-paid td:first-child, tr.whmcs-service-refunded td:first-child {
    border-left: 6px solid var(--performive-success-light) !important;
}
tr.whmcs-invoice-paid td:last-child, tr.whmcs-service-refunded td:last-child {
    border-right: 6px solid var(--performive-success-light) !important;
}

.whmcs-invoice-collections, .whmcs-invoice-cancelled {
    color: var(--performive-danger);
}
tr.whmcs-invoice-collections td:first-child, tr.whmcs-invoice-cancelled td:first-child {
    border-left: 6px solid var(--performive-danger-light) !important;
}
tr.whmcs-invoice-collections td:last-child, tr.whmcs-invoice-cancelled td:last-child {
    border-right: 6px solid var(--performive-danger-light) !important;
}

[data-toggle="tooltip"] {
    cursor: pointer;
}
/* Ticket images */
.iapi .card-body img:hover {
    max-width: 90vw;
    border: 1px solid #9e9e9e;
    z-index: 999;
    transition-delay: 0.3s;
    box-shadow: #00000030 3px 3px 5px 3px;
}

.iapi .card-body img {
    max-width: 100%;
    z-index: 0;
    border: 1px solid #ffffff;
}

.card-profile .card-footer > div span.location-block {
    flex: 1;
    text-align: center;
    display: inline-block;
    padding: 12px 20px;
    border-left: 1px solid #dee2e6;
    color: #2d3136;
}

.card-profile .card-footer > div span.location-block a {
    padding: 0;
    border: 0;
    margin-left: 4px;
}

.location-label {
    color: #6c757d;
}

.tooltip-inner {
    white-space: pre-wrap;
}

/* -------------- Video Player -------------- */
.video-embed {
    overflow:hidden;
    padding-bottom:56.25%;
    position:relative;
    height:0;
}

.video-embed iframe {
    left:0;
    top:0;
    height:100%;
    width:100%;
    position:absolute;
}

.playlist-header {
    margin-bottom: 8px;
}

.video-playlist ul {
    list-style: none;
    padding: 0 8px;
    height: 420px;
    overflow: auto;
    border: 1px solid #dee2e6;
    margin: 0;
}

@media screen and (max-width: 1199px) {
    .video-playlist ul {
        height: 343px;
    }
}

@media screen and (max-width: 991px) {
    .video-embed {
        margin-bottom: 20px;
    }
}

.video-playlist li {
    padding: 8px 0 8px 22px;
    border-bottom: 1px solid #dee2e6;
}

.video-playlist li:last-child {
    padding: 8px 0 8px 22px;
    border-bottom: 0;
}

.video-playlist ul li:before {
    font-family: FontAwesome;
    content: "\f16a";
    width: 12px;
    height: 12px;
    margin-left: -18px;
    margin-right: 6px;
    color: var(--performive-danger);
}

.search-filter .filter {
    margin-left: 12px;
    font-size: 16px;
    float: right;
}

.search-filter .search {
    float: left;
}

.search-filter .search input {
    padding: 4px;
}

td.nowrap {
    white-space: nowrap;
}

/* -------------- Device Assets -------------- */
.assets .slim-card-title {
    font-size: 14px;
}

.assets hr {
    margin-top: .75rem;
    margin-bottom: .75rem;
}

.assets hr:first-child {
    margin-top: 0;
}

.assets hr:last-child {
    margin-bottom: 0;
}

.assets span {
    display: block;
    margin-bottom: .75rem;
    padding: 0 2rem;
}

.assets .asset-name {
    color: #4d506b;
    padding: 0 1rem;
}

.assets .navbar-toggler .fa {
    color: var(--performive-blue);
}

.card-latest-activity div {
    margin-bottom: 1em;
}

td.service-details {
    width: 15em;
}

td.service-details .btn.toggle {
    cursor: pointer;
    padding: 0;
    margin-bottom: 0.5em;
}

td.service-details .toggle::after {
    content: "\f0da";
    font-family: FontAwesome;
    margin-left: 0.5em;
}

td.service-details .toggle[aria-expanded="true"]::after {
    content: "\f0d7";
    font-family: FontAwesome;
    margin-left: 0.5em;
}

td.service-details dl {
    font-size: 12px;
}

td.service-details dt {
    margin: 0;
}

td.service-details dt {
    font-weight: bold;
    /*text-decoration: underline;*/
}
td.service-details dd {
    margin: 0 0 2px 0;
    padding: 0;
    border-bottom: 1px dotted #cccccc;
}

/* inline checkbox */
.checkbox-inline input.form-control {
    display: inline-block;
    width: auto;
    margin-right: 1em;
    vertical-align: middle;
}

.form-group label {
    color: var(--performive-midnight);
}

p.help-block {
    font-size: 0.78rem;
}

label.section-label-companyname, .section-label-invoice-status {
    font-size: 1.5em;
    font-weight: 600;
}

.service-taxes .fa-times-circle-o {
    color: var(--performive-danger);
}

.service-taxes .fa-check-square-o {
    color: var(--performive-success);
}

form.inline {
    display: inline;
}

.badge-ticket-priority-low {
    color: #fff;
    background-color: var(--performive-grey);
}
.badge-ticket-priority-normal {
    color: #5d5d5d;
    background-color: #fff375;
}
.badge-ticket-priority-high {
    color: #2d3136;
    background-color: var(--performive-warning);
}
.badge-ticket-priority-highest {
    color: #ffffff;
    background-color: var(--performive-danger);
}

td.ticket-priority.low, td.ticket-priority.normal {
    color: var(--performive-grey);
}

td.ticket-priority.high {
    color: var(--performive-warning);
}

td.ticket-priority.highest {
    color:  var(--performive-danger);
}

/* Email Admin icon stack */
.email-manage-cogs {
    padding-left: 14px;
    margin-top: -5px;
    color: var(--performive-teal);
    font-size: 21px;
    margin-right: 14px;
    margin-bottom: 5px;
}

.pagination-count {
    display: inline-block;
    float: left;
}

.pagination-links {
    display: inline-block;
    float: right;
}

table.table-editable select, table.table-editable input,
table.table-editable textarea {
    width: 100%;
    min-width: 4.5rem;
}

#modal-add-modal .modal-dialog {
    width: 100%;
}

input[type=search]::-webkit-search-cancel-button {
    -webkit-appearance: searchfield-cancel-button;
}

/* special "popup" style for dns record alerts */
.alert.dns-record.dns-message {
    position: absolute;
    width: 50%;
    left: 25%;
    top: -5em;
    z-index: 999;
    box-shadow: 2px 3px 3px 2px #adb5bd;
}

.dns-record-filter {
    color: #868ba1;
    text-transform: uppercase;
    margin-left: 0.2em;
    font-weight: 600;
}

.card-header .card-activities {
    display: inline-block;
    float: right;
}

.access-request-visitor .form-group {
    display: inline-block;
}

.shipment-status {
    font-size: 2.2em;
    font-weight: 600;
    color: var(--performive-teal);
    margin-bottom: 1em;
}

.toggle-wrapper {
    width: 75px;
    display: inline-block;
    margin-right: 5px;
    position: relative;
}

.toggle-light .toggle-on, .toggle-light .toggle-on.active {
    color: #fff !important;
    background: var(--performive-success) !important;
    line-height: 25px !important;
}

.toggle-light .toggle-off, .toggle-off.active {
    color: #fff !important;
    background: var(--performive-danger) !important;
    line-height: 25px !important;
}

.toggle-light .toggle-on + .toggle-blob,
.toggle-light .toggle-off + .toggle-blob,
.toggle-light .toggle-on.active + .toggle-blob,
.toggle-light .toggle-off.active + .toggle-blob {
    background: #d0d4e7 !important;
    border: 1px solid #adb5bd !important;
    box-shadow: none !important;
}

.toggle-light .toggle-on, .toggle-light .toggle-select .toggle-inner .active {
    background: #45a31f;
    box-shadow: none !important;
    text-shadow: none !important;
}

.toggle-light .toggle-slide {
    box-shadow: none !important;
}

/* Issues */

.issue-note .card-header {
    border-bottom: 1px solid #dee2e6;
    padding: 10px;
}

.issue-note .card-header .media-body {
    margin-left: 10px;
}

/* Issue Note card header colors */

.issue-note .card-header {
    border-left: 3px solid transparent;
}

.issue-note-persistent .card-header {
    border-left: 3px solid var(--performive-danger) !important;
}

.issue-note-tss .card-header {
    border-left: 3px solid var(--performive-teal) !important;
}

.issue-note-customer .card-header {
    border-left: 3px solid var(--performive-success) !important;
}

.issue-note-icon {
    font-size: 24px;
}

/* Issue Timeline/Note Type icons */

.issue-note-origin .issue-note-icon:before {
    /* fa-list */
    content: "\f03a";
    color: var(--performive-success);
}

.issue-note-persistent .issue-note-icon:before {
    /* fa-thumb-tack */
    content: "\f08d";
    color: var(--performive-danger);
}

.issue-note-tss .issue-note-icon:before {
    /* fa-share */
    content: "\f064";
    color: var(--performive-teal);
}

.issue-note-customer .issue-note-icon:before {
    /* fa-reply */
    content: "\f112";
    color: var(--performive-success);
}

/* Issue Status Icons */

.issue-status-icon.issue-status-open:before {
    /* fa-list */
    content: "\f03a";
    color: var(--performive-success);
}

.issue-status-icon.issue-status-acknowledged:before {
    /* fa-check-circle */
    content: "\f058";
    color: var(--performive-success);
}

.issue-status-icon.issue-status-closed:before {
    /* fa-flag-checkered */
    content: "\f11e";
    color: var(--performive-success);
}

.issue-status-icon.issue-status-disputed:before {
    /* fa-exclamation-circle */
    content: "\f06a";
    color: var(--performive-danger);
}

.issue-status-icon.issue-status-pending:before {
    /* fa-clock-o */
    content: "\f017";
    color: var(--performive-warning);
}

.issue-status-icon.issue-status-resolved:before {
    /* fa-flag-checkered */
    content: "\f11e";
    color: var(--performive-teal);
}

.issue-status-icon.issue-status-need-support:before {
    /* fa-flag-checkered */
    content: "\f059";
    color: #cc4444;
}

.card.issue .card-body.show {
    display: block;
    max-height: none;
    overflow: unset;
}

.nav-activity-profile .fa {
    font-size: 20px;
    margin-right: 10px;
}

.fa.issue-note-icon {
    margin-right: 10px;
}

.card.issue-details.sticky-top {
    top: 20px !important;
}

.issue-note .card-body.overflown {
    display: block;
    position: relative;
    max-height: 265px;
    overflow: hidden;
}

.show-overflown {
    cursor: pointer;
}

.card-body.overflown.collapse .card-body-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 86px;
    background: transparent;
    background: linear-gradient(
            0deg, rgba(255,255,255,1) 0%,
            rgba(255,255,255,0) 100%
    );
}

.card-body.overflown.collapse:not(.show) {
    display: block;
    height: 265px;
    overflow: hidden;
}

.card-body.overflown.collapsing {
    height: 256px;
    -webkit-transition: height 50ms ease;
    -o-transition: height 50ms ease;
    transition: height 50ms ease;
}

.card-body.overflown.collapse.show {
    max-height: none;
    height: auto;
}

.card-body.overflown.collapse.show .card-body-overlay {
    background: transparent !important;
}

.issue-note-link {
    cursor: pointer;
}

.issue-status.modal .modal-dialog {
    width: 40vw;
    height: 35vh;
}

.issue-status.modal .modal-content {
    font-size: 16px;
}

.issue-status.modal .badge {
    font-size: 24px;
    width: 100%;
    margin-top: 10px;
}

.issue-status.modal .status-messages {
    width: 100%;
    text-align: center;
    margin-bottom: 20px;
}

.issue-status.modal .status-messages .msg {
    display: none;
}

.badge.last-update {
    background: #ccc;
    color: #333;
    font-size: 12px;
    margin-bottom: 4px;
}

.badge.sticky-notes {
    background: #c00;
    color: #fff;
    font-size: 12px;
    margin-bottom: 4px;
}

.media.highlight {
    background: #eaf4fc;
    border-radius: 10px;
    padding: 4px;
    transition: background 500ms;
}

@media screen and (max-width: 768px) {
    .tcp-main-nav {
        display: block;
        height: auto;
    }
    .card.issue.card-activities {
        display: none;
    }

    .bulk-actions.dropdown {
        margin-bottom: 4px;
        text-align: center;
    }

    .pagination {
        justify-content: center;
    }
}

/* Issue Type & Status colors */

.issue-status, .issue-type {
    font-size: 1.1em;
}

.badge.issue-type {
    color: #cccccc;
}

.issue-status-open {
    color: var(--performive-teal);
}

.issue-status-closed, .issue-status-resolved {
    color: var(--performive-midnight);
}

.issue-status-disputed {
    color: var(--performive-warning);
}

.issue-status-pending {
    color: #fff375;
}

.issue-status-acknowledged {
    color: var(--performive-success);
}

.issue-note-links {
    margin-bottom: 6px;
    clear: both;
}

.issue-note-links .pagination .page-item .page-link {
    background-color: #ffffff;
}

.issue-note-links .pagination .page-item .page-link:hover {
    background-color: #81868a;
}

.issue-note-links .pagination .active .page-link {
    color: #00A2E5;
}

.issue-note-links .pagination .active .page-link:hover {
    color: #333;
}

.dropdown.issue-note-menu {
    z-index: 1022;
}

.issue-note .card-footer .dropdown {
    margin-top: -8px;
}

.issue-note .card-footer {
    padding: 12px 6px 12px 12px;
    border-top-width: 1px;
}

.dropdown-menu.dropdown-menu-right.show {
    z-index: 1025;
}


.service-cancel {
    cursor: pointer;
}
.ciid {
    font-size: 24px;
    color: #7d7d7d;
}

#user-menu-company-switcher ul.dropdown-menu {
    margin-top: -10px;
    margin-left: -1px;
    border: 1px solid #82838f;
    background-color: #f5f5f5;
    max-height: 200px;
    overflow-y: auto;
    font-size: 12px;
}

#user-menu-company-switcher ul.dropdown-menu:before {
    left: 16px;
    right: unset;
}

#user-menu-company-switcher ul.dropdown-menu:after {
    left: 16px;
    right: unset;
}

#user-notifications-toggle .fa {
    font-size: 24px;
    margin-top: 4px;
}

.dropdown-menu {
    z-index: 5000;
}

.slim-header {
    height: 65px;
}

.header-menu {
    display: flex;
    align-items: center;
}

.header-menu .dropdown .dropdown-toggle {
    margin-top: 5px;
    color: #333333;
}

.header-menu .dropdown-menu {
    margin-top: 16px;
}

.header-menu ul.dropdown-menu::before {
    content: '';
    border: 8px solid transparent;
    border-bottom-color: #ced4da;
    position: absolute;
    top: -16px;
    right: 12px;
}

.header-menu ul.dropdown-menu::after {
    content: '';
    border: 8px solid transparent;
    border-bottom-color: #fff;
    position: absolute;
    top: -15px;
    right: 12px;
}

#user-menu .dropdown-toggle {
    color: var(--performive-teal);
}

#user-menu .dropdown-toggle::after {
    border: 0;
}

#user-menu .dropdown-toggle:hover {
    color: var(--performive-teal-dark);
}

#user-menu-dropdown-toggle > .fa {
    font-size: 32px;
}

.user-menu-company {
    color: #5b636a;
    text-align: right;
    margin-right: 10px;
    padding-right: 10px;
    border-right: 1px solid #ced4da;
}

#user-menu .dropdown-menu {
    min-width: 168px;
    border-color: #ced4da;
}

#user-notifications ul.dropdown-menu.dropdown-menu-right.show {
    min-width: 418px;
    padding: 6px;
}

#user-notifications li {
    margin-bottom: 6px;
}

#user-notifications li:last-child {
    border: 0;
}

#user-notifications li.title {
    font-size: 14px;
    font-weight: 700;
    color: #5a5e61;
}

#user-notifications span.count {
    font-size: 12px;
    font-weight: 700;
    position: relative;
    left: -16px;
    top: -4px;
    color: #fff;
}

#user-menu .dropdown {
    float: left;
}

.tab-content.tabcontent-border {
    border: 1px solid #dee2e6;
    margin-bottom: 10px;
}

.card.os-options ul {
    margin-top: 10px;
    list-style-type: none;
    line-height: 2em;
}

#os-options .status .list-group-item {
    border: 0;
}

.card.os-options .card-body {
    padding: 0;
}

.card.os-options .card-body ul.nav-tabs {
    margin-top: 0;
    padding-top: 5px;
    padding-left: 5px;
    background-color: #f0f2f7;
}

.card.os-options .card-body ul.nav-tabs .nav-link {
    font-size: 1.2em;
}

.card.os-options .card-body ul.nav-tabs .nav-link.active {
    background-color: #ffffff;
}

#os-options #reloads, #os-options #rescue {
    margin-top: 10px;
}

#confirmationModal .modal-dialog.modal-lg {
    width: 50%;
}

.os-reload-status-title {
    flex:1 0 auto;
}

.os-reload-cancel {
    flex: 0 1 auto;
    align-self: center;
}


/* -------------- Feature Icon -------------- */
.feature-icon {
    display: flex;
}

.feature-icon .feature-icon-copy {
    flex: 1 1 auto;
}

.feature-icon .fa {
    align-self: center;
    font-size: 4rem;
    flex: 0 1 auto;
}


@media screen and (max-width: 768px) {
    .feature-icon {
        flex-wrap: wrap;
    }

    .feature-icon .feature-icon-copy {
        order: 2;
    }

    .feature-icon .fa {
        order: 1;
        flex: 1 0 100%;
        margin-bottom: 1rem;
    }
}

/* -------------- Status Tracker -------------- */
.tracker-header {
    padding-top: 15px;
    display: flex;
    margin-bottom: 4px;
}

.tracker-status {
    display: flex;
}

.tracker-section-title {
    flex: 1 0 0;
    text-align: center;
}

.tracker-status {
    margin: 0 -2px;
}

.tracker-status .progress {
    flex: 1 0 0  ;
    background-color:#CED4DA;
    margin: 0 2px;
    height: 56px;
}

.tracker-status .progress:first-of-type {
    border-radius: 28px 0 0 28px;
}

.tracker-status .progress:last-of-type {
    border-radius: 0 28px 28px 0;
}

.tracker-status .progress-bar {
    width: 100%;
    height: 56px;
    font-size: .9rem;
    position: relative;
}

.progress-bar.no-progress {
    background-color: transparent;
    font-size: 1.1rem;
}

.tracker-labels {
    display: flex;
    margin-top: 1px;
}

.tracker-label {
    flex: 1 0 0;
}

.tracker-label span {
    margin: 0 2px;
    font-size: .75rem;
}

.tracker-label:first-of-type span {
    margin-left: 21px;
}

.tracker-footer {
    padding: 0 21px 15px;
}

.tracker-total {
    display: block;
    text-align: right;
    font-size: .75rem;
}

@media screen and (max-width: 768px) {
    .tracker-status .progress {
        height: 32px;
    }

    .tracker-status .progress-bar {
        height: 32px;
    }

    .tracker-status .progress:first-of-type {
        border-radius: 16px 0 0 16px;
    }

    .tracker-status .progress:last-of-type {
        border-radius: 0 16px 16px 0;
    }
}

/* -------------- Progress Bars -------------- */
.progress-animated {
    animation: animate-progress 1.5s linear infinite;
}

@keyframes animate-progress {
    to{ background-position: 1rem 2rem;}
}

#os-options .card-header {
    border-bottom: 1px solid #cccccc;
    background-color: #e9ecef;
}


/* ---------- Service Bandwdith Graphs ----------*/
#bandwidth {
    min-height: 424px;
}

#bandwidth-graph-image {
    position: relative;
    min-width: 200px;
    min-height: 100px;
    margin: 0 auto;
}

.graph-loading {
    margin: 10px auto
    border-radius: 5px;
    background-color: rgba(255, 255, 255, .7);
    border: 1px solid #cccccc;
    padding: 6px;
    font-size: 22px;
    font-weight: 600;
}

#bandwidth .alert.alert-danger {
    position: absolute;
    top: 40%;
    left: 43%;
}

#bandwidth-graph {
    position: relative;
}

#bw-totals {
    position: absolute;
    right: 40px;
    bottom: 12px;
}

.bandwidth-totals {
    color: #000000;
    font-size: 10px;
}

@media (min-width: 576px) {
    .bandwidth-totals {font-size: 0;}
}

@media (min-width: 768px) {
    .bandwidth-totals {font-size: 11px;}
}

@media (min-width: 1020px) {
    .bandwidth-totals {font-size: 12px;}
}

@media (min-width: 1150px) {
    .bandwidth-totals {font-size: 14px;}
}

.bandwidth-totals .in {
    color: #91b13c
}

.bandwidth-totals .out {
    color: #8080bd
}

div.service-graph-devices ul li {
    display: inline-block;
    width: 25%;
}

div.service-graph-devices h3 {
    margin-top: 5px;
    text-align: center;
    border-bottom: 1px solid #ced4da;
}


/* ---------- Login ----------*/
.signin-left {
    background: var(--black);
}

.login-lead {
    font-size: 23px;
    margin-bottom: 20px;
}

.login-body {
    hyphens: auto;
}

.signin-title-primary {
    font-weight: 600;
    color: var(--performive-midnight);
}

.signin-title-secondary {
    font-weight: 400;
    margin: 10px 0 35px 0;
    color: var(--performive-midnight);
    font-size: 20px;
}

#loginform {
    margin-bottom: 10px;
}

.no-hyphens {
    hyphens: none;
}

ul.table-cell-list {
    max-height: 120px;
    overflow: scroll;
    border: 1px solid #efefef;
}

/** TICKETS **/
.card.conversation img {
    max-width: 600px;
    margin-bottom: 10px;
}

.card.conversation .card-body {
    margin-bottom: 1em;
}

.ticket-conversation-user-name {
    color: var(--performive-teal);
}

/** TICKET FILE UPLOAD **/
.upload-area{
    width: 70%;
    height: 200px;
    border: 2px solid lightgray;
    border-radius: 3px;
    margin: 0 auto;
    margin-top: 100px;
    text-align: center;
    overflow: auto;
}

.upload-area:hover{
    cursor: pointer;
}

.upload-area h1{
    text-align: center;
    font-weight: normal;
    font-family: sans-serif;
    line-height: 50px;
    color: darkslategray;
}

#file{
    display: none;
}

/* Thumbnail */
.thumbnail{
    width: 80px;
    height: 80px;
    padding: 2px;
    border: 2px solid lightgray;
    border-radius: 3px;
    float: left;
}

.size{
    font-size:12px;
}

/** DDOS Order Form **/
.ddos_order #service-total {
    font-weight: 700;
    font-size: 24px;
    color: var(--performive-success);
}

div.ajax {
    min-height: 80px;
    position: relative;
}

.ajax-loader {
    display: inline-block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    min-height: 80px;
    text-align: center;
    background-color: rgba(0, 0, 0, .07);
}

.ajax-loader div {
    display: inline-block;
    position: absolute;
    width: 100%;
    height: 80px;
    text-align: center;
    left: calc(50% - 23px);
    top: calc(50% - 40px);
}

.ajax-loader div div {
position: absolute;
    top: 33px;
    width: 13px;
    height: 13px;
    border-radius: 50%;
    background: var(--performive-blue);
    animation-timing-function: cubic-bezier(0, 1, 1, 0);
}

.ajax-loader div div:nth-child(1) {
    left: 8px;
    animation: lds-ellipsis1 0.6s infinite;
}

.ajax-loader div div:nth-child(2) {
    left: 8px;
    animation: lds-ellipsis2 0.6s infinite;
}

.ajax-loader div div:nth-child(3) {
    left: 32px;
    animation: lds-ellipsis2 0.6s infinite;
}

.ajax-loader div div:nth-child(4) {
    left: 56px;
    animation: lds-ellipsis3 0.6s infinite;
}

@keyframes lds-ellipsis1 {
    0% {
        transform: scale(0);
    }
    100% {
        transform: scale(1);
    }
}

@keyframes lds-ellipsis3 {
    0% {
        transform: scale(1);
    }
    100% {
        transform: scale(0);
    }
}

@keyframes lds-ellipsis2 {
    0% {
        transform: translate(0, 0);
    }
    100% {
        transform: translate(24px, 0);
    }
}

/* new CORE tickets views (ConnectWise) */
.bouncing-circles {
    margin: 0 45%;
    width: 60px;
    opacity: 0.5;
}

.ticket-note .card-header .timestamp {
    float: right;
}

.card.ticket-note.ext {
    width: 100%;
    float: left;
}

.card.ticket-note.int {
    width: 100%;
    float: right;
}

.card.ticket-note .card-header {
    background-color: var(--performive-midnight);
    color: var(--performive-success-light);
}

.card.ticket-note.prime .card-body {
    overflow-y: scroll;
    max-height: 450px;
}

.ticket-note.int .card-header {
    background-color: var(--performive-grey);
    color: var(--performive-success-light);
}

.ticket-note.ext .card-header {
    background-color: var(--performive-success);
    color: var(--performive-midnight);
}

#add-reply textarea {
    width: 100%;
    height: 80px;
}

.ticket-note img {
    border: none;
    border-radius: unset;
    width: auto;
    height: auto;
    margin: 0;
    padding: 0;
    max-width: 95%;
    max-height: 300px
}

.ticket-list .search input {
    border-radius: 6px;
    box-shadow: 1px 3px 10px 1px rgba(0, 0, 0, .05);
    width: 15vw;
    /* margin-left: 20px; */
}

.ticket-list .card-options .btn {
    border-radius: 6px;
    /* margin-right: 20px; */
}

.ticket-list .card-body {
    /* overflow-y: auto; */
}

@keyframes fade-in {
    from { opacity: 0; }
}

::view-transition-new(slide-it) {
    animation: 460ms cubic-bezier(0, 0, 0.2, 1) 100ms both fade-in;
}

tfoot .pagination .page-item .page-link {
    background-color: #ffffff;
}

.ticket-note .card-footer {
    background-color: #bfbfbf;
    color: #343a40;
    font-size: 12px;
}

.ticket-note .card-body strong {
    color: var(--performive-teal);
}

.ticket-note .attachment-container {
    margin-bottom: 4px;
}

.ticket-note .attachment-container i {
    width: 16px;
}

.card.announcement {
    border: 3px solid rgb(4 151 175 / 15%);
    margin: 0;
    box-shadow: none;
    border-radius: 10px;
}

.card.announcement .card-header, .card.announcement .card-body {
    padding: 5px;
}

.card.announcement .card-header {
    background-color: rgb(4 151 175 / 5%);
    padding: 6px 4px 4px 6px;
}

.card.announcement .card-footer {
    background-color: rgb(4 151 175 / 5%);
    border: 1px solid rgb(4 151 175 / 5%);
    border-radius: 0 0 6px 6px;
}

.card.announcement .card-header h5 {
    font-size: 14px;
    font-weight: 900;
    color: #242424;
}

.modal.announcement .modal-dialog {
    min-width: 35vw;
    box-shadow: 5px 5px 10px #00000061;
}

.modal.announcement .modal-body {
    width: 35vw !important;
    height: 35vh !important;
    overflow-y: auto;
    overflow-x: clip;
    max-width: 35vw;
}

.modal.announcement .modal-footer {
    border-radius: 0 0 10px 10px;
}
.modal.announcement .modal-header {
    border-radius: 10px 10px 0 0;
}
.modal.announcement .modal-content {
    border-radius: 10px;
}

ul#ann-list {
    background-color: #fff;
    border-radius: 0 0 10px 10px;
}

#ann-list li.title {
    text-align: center;
    font-size: 16px;
    color: var(--performive-midnight);
}

ul#ann-list button.btn-sm {
    padding: 4px 6px;
    font-size: 12px;
    line-height: 1;
    border-radius: 5px;
}

ul#ann-list .card-footer {
    padding: 4px;
}

@keyframes flash {
    0%,
    100% {
        background-color: transparent;
    }

    50% {
        background-color: #fff9d5;
    }
}

div.card.ticket-note .highlight {
    animation: flash 650ms 4;
}

