/* Start: loading spinner */
.loading-spinner {
    z-index: 2000 !important;
    position: fixed;
    left: 0;
    top: 0;
    height: 100vh;
    width: 100%;
    background-color: rgba(0,0,0,0.1);
    transition: visibility 0.15s linear, opacity 0.15s linear;
    visibility: hidden;
}
.loading-spinner.show {
    visibility: visible;
}
.loading-spinner > .kt-spinner {
    display: table !important;
    margin: auto;
    top: 50%;
}
.preloader-wrapper {
    position: relative;
    display: inline-block;
    width: 3rem;
    height: 3rem;
    font-size: 0
}

.preloader-wrapper.small {
    width: 2.25rem;
    height: 2.25rem
}

.preloader-wrapper.big {
    width: 4rem;
    height: 4rem
}

.preloader-wrapper.active {
    -webkit-animation: container-rotate 1568ms linear infinite;
    animation: container-rotate 1568ms linear infinite
}

.preloader-wrapper.crazy {
    -webkit-animation-duration: 333ms;
    animation-duration: 333ms
}

.preloader-wrapper .spinner-layer {
    position: absolute;
    width: 100%;
    height: 100%;
    opacity: 0
}

.preloader-wrapper .spinner-layer .gap-patch {
    position: absolute;
    top: 0;
    left: 45%;
    width: 10%;
    height: 100%;
    overflow: hidden;
    border-color: inherit
}

.preloader-wrapper .spinner-layer .gap-patch .circle {
    left: -450%;
    width: 1000%
}

.preloader-wrapper .spinner-layer .circle-clipper {
    position: relative;
    display: inline-block;
    width: 50%;
    height: 100%;
    overflow: hidden;
    border-color: inherit
}

.preloader-wrapper .spinner-layer .circle-clipper .circle {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 200%;
    height: 100%;
    border-color: inherit;
    border-style: solid;
    border-width: .1875rem;
    border-bottom-color: transparent !important;
    border-radius: 50%;
    -webkit-animation: none;
    animation: none
}

.preloader-wrapper .spinner-layer .circle-clipper.left .circle {
    left: 0;
    border-right-color: transparent !important;
    -webkit-transform: rotate(129deg);
    transform: rotate(129deg)
}

.preloader-wrapper .spinner-layer .circle-clipper.right .circle {
    left: -100%;
    border-left-color: transparent !important;
    -webkit-transform: rotate(-129deg);
    transform: rotate(-129deg)
}

.preloader-wrapper .spinner-blue,.preloader-wrapper .spinner-blue-only {
    border-color: #4285f4
}

.preloader-wrapper .spinner-red,.preloader-wrapper .spinner-red-only {
    border-color: #db4437
}

.preloader-wrapper .spinner-twitter,.preloader-wrapper .spinner-twitter-only {
    border-color: #4AB3F4
}

.preloader-wrapper .spinner-yellow,.preloader-wrapper .spinner-yellow-only {
    border-color: #f4b400
}

.preloader-wrapper .spinner-green,.preloader-wrapper .spinner-green-only {
    border-color: #0f9d58
}

@-webkit-keyframes container-rotate {
    to {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}

@keyframes container-rotate {
    to {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}

.active .spinner-layer.spinner-blue {
    -webkit-animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,blue-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
    animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,blue-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both
}

.active .spinner-layer.spinner-red {
    -webkit-animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,red-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
    animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,red-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both
}

.active .spinner-layer.spinner-twitter {
    -webkit-animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,red-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
    animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,red-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both
}

.active .spinner-layer.spinner-yellow {
    -webkit-animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,yellow-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
    animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,yellow-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both
}

.active .spinner-layer.spinner-green {
    -webkit-animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,green-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
    animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,green-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both
}

.active .spinner-layer.spinner-blue-only,.active .spinner-layer.spinner-red-only,.active .spinner-layer.spinner-yellow-only,.active .spinner-layer.spinner-green-only,.active .spinner-layer.spinner-primary-color-only,.active .spinner-layer.spinner-twitter-only {
    opacity: 1;
    -webkit-animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
    animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both
}

.active .circle-clipper.left .circle {
    -webkit-animation: left-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
    animation: left-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both
}

.active .circle-clipper.right .circle {
    -webkit-animation: right-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
    animation: right-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both
}

@-webkit-keyframes fill-unfill-rotate {
    12.5% {
        -webkit-transform: rotate(135deg);
        transform: rotate(135deg)
    }

    25% {
        -webkit-transform: rotate(270deg);
        transform: rotate(270deg)
    }

    37.5% {
        -webkit-transform: rotate(405deg);
        transform: rotate(405deg)
    }

    50% {
        -webkit-transform: rotate(540deg);
        transform: rotate(540deg)
    }

    62.5% {
        -webkit-transform: rotate(675deg);
        transform: rotate(675deg)
    }

    75% {
        -webkit-transform: rotate(810deg);
        transform: rotate(810deg)
    }

    87.5% {
        -webkit-transform: rotate(945deg);
        transform: rotate(945deg)
    }

    to {
        -webkit-transform: rotate(1080deg);
        transform: rotate(1080deg)
    }
}

@keyframes fill-unfill-rotate {
    12.5% {
        -webkit-transform: rotate(135deg);
        transform: rotate(135deg)
    }

    25% {
        -webkit-transform: rotate(270deg);
        transform: rotate(270deg)
    }

    37.5% {
        -webkit-transform: rotate(405deg);
        transform: rotate(405deg)
    }

    50% {
        -webkit-transform: rotate(540deg);
        transform: rotate(540deg)
    }

    62.5% {
        -webkit-transform: rotate(675deg);
        transform: rotate(675deg)
    }

    75% {
        -webkit-transform: rotate(810deg);
        transform: rotate(810deg)
    }

    87.5% {
        -webkit-transform: rotate(945deg);
        transform: rotate(945deg)
    }

    to {
        -webkit-transform: rotate(1080deg);
        transform: rotate(1080deg)
    }
}

@-webkit-keyframes blue-fade-in-out {
    from {
        opacity: 1
    }

    25% {
        opacity: 1
    }

    26% {
        opacity: 0
    }

    89% {
        opacity: 0
    }

    90% {
        opacity: 1
    }

    100% {
        opacity: 1
    }
}

@keyframes blue-fade-in-out {
    from {
        opacity: 1
    }

    25% {
        opacity: 1
    }

    26% {
        opacity: 0
    }

    89% {
        opacity: 0
    }

    90% {
        opacity: 1
    }

    100% {
        opacity: 1
    }
}

@-webkit-keyframes red-fade-in-out {
    from {
        opacity: 0
    }

    15% {
        opacity: 0
    }

    25% {
        opacity: 1
    }

    50% {
        opacity: 1
    }

    51% {
        opacity: 0
    }
}

@keyframes red-fade-in-out {
    from {
        opacity: 0
    }

    15% {
        opacity: 0
    }

    25% {
        opacity: 1
    }

    50% {
        opacity: 1
    }

    51% {
        opacity: 0
    }
}

@-webkit-keyframes yellow-fade-in-out {
    from {
        opacity: 0
    }

    40% {
        opacity: 0
    }

    50% {
        opacity: 1
    }

    75% {
        opacity: 1
    }

    76% {
        opacity: 0
    }
}

@keyframes yellow-fade-in-out {
    from {
        opacity: 0
    }

    40% {
        opacity: 0
    }

    50% {
        opacity: 1
    }

    75% {
        opacity: 1
    }

    76% {
        opacity: 0
    }
}

@-webkit-keyframes green-fade-in-out {
    from {
        opacity: 0
    }

    65% {
        opacity: 0
    }

    75% {
        opacity: 1
    }

    90% {
        opacity: 1
    }

    100% {
        opacity: 0
    }
}

@keyframes green-fade-in-out {
    from {
        opacity: 0
    }

    65% {
        opacity: 0
    }

    75% {
        opacity: 1
    }

    90% {
        opacity: 1
    }

    100% {
        opacity: 0
    }
}

@-webkit-keyframes left-spin {
    from {
        -webkit-transform: rotate(130deg);
        transform: rotate(130deg)
    }

    50% {
        -webkit-transform: rotate(-5deg);
        transform: rotate(-5deg)
    }

    to {
        -webkit-transform: rotate(130deg);
        transform: rotate(130deg)
    }
}

@keyframes left-spin {
    from {
        -webkit-transform: rotate(130deg);
        transform: rotate(130deg)
    }

    50% {
        -webkit-transform: rotate(-5deg);
        transform: rotate(-5deg)
    }

    to {
        -webkit-transform: rotate(130deg);
        transform: rotate(130deg)
    }
}

@-webkit-keyframes right-spin {
    from {
        -webkit-transform: rotate(-130deg);
        transform: rotate(-130deg)
    }

    50% {
        -webkit-transform: rotate(5deg);
        transform: rotate(5deg)
    }

    to {
        -webkit-transform: rotate(-130deg);
        transform: rotate(-130deg)
    }
}

@keyframes right-spin {
    from {
        -webkit-transform: rotate(-130deg);
        transform: rotate(-130deg)
    }

    50% {
        -webkit-transform: rotate(5deg);
        transform: rotate(5deg)
    }

    to {
        -webkit-transform: rotate(-130deg);
        transform: rotate(-130deg)
    }
}

#spinnerContainer.cooldown {
    -webkit-animation: container-rotate 1568ms linear infinite,fade-out 400ms cubic-bezier(0.4, 0, 0.2, 1);
    animation: container-rotate 1568ms linear infinite,fade-out 400ms cubic-bezier(0.4, 0, 0.2, 1)
}

@-webkit-keyframes fade-out {
    from {
        opacity: 1
    }

    to {
        opacity: 0
    }
}

@keyframes fade-out {
    from {
        opacity: 1
    }

    to {
        opacity: 0
    }
}
/* End: loading spinner */

/*
Start: Voice Call styles
 */
.kt-call-popover-wrapper .popover {
    background-color: black;
    padding: 0;
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.15);
    border: none;
    border-radius: 20px;
}
.kt-call-popover-wrapper .call-popover {
    background-color: black;
    color:white;
    width: 180px;
    border-radius: 5%;
}
.kt-call-popover-wrapper .call-popover .fullName {
    font-weight: bold;
}
.kt-call-popover-wrapper .call-popover .phoneNum {
    font-size: 22px;
    text-align: center;
    letter-spacing: -2.5px;
}
.kt-call-popover-wrapper .call-popover .dropdown-menu.dropdown-menu-fit.dropdown-menu-right {
    margin-top: -13px;
    margin-left: 23px;
}
.kt-call-popover-wrapper .call-popover .btn-dialpad {
    font-size: 20px;
    cursor: pointer;
    color: white;
}
.kt-call-popover-wrapper .call-popover .btn-popover-call-forward > img {
    width: 16px;
}
.kt-call-popover-wrapper .call-popover .btn-popover-call-forward.spinner:before {
    border: 2px solid #F3F6F9;
    border-right: 2px solid transparent;
    margin-left: 6px;
}
.kt-call-popover-wrapper .call-popover .btn-popover-call-forward.spinner:hover:before {
    border: 2px solid #181C32;
    border-right: 2px solid transparent;
}
.kt-call-popover-wrapper .call-popover .btn-popover-call-forward.spinner> img {
    opacity: 0;
}
.kt-call-popover-wrapper .call-popover .btn-popover-call-forward > img:first-child {
    display: none !important;
}
.kt-call-popover-wrapper .call-popover .btn-popover-call-forward:hover > img:last-child {
    display: none !important;
}
.kt-call-popover-wrapper .call-popover .btn-popover-call-forward:hover > img:first-child {
    display: block !important;
}
.kt-call-popover-wrapper .call-popover .forwardPad .btn-save.spinner:before {
    margin-left: 5px;
}
.kt-call-popover-wrapper .call-popover .btn-dialpad.active {
    color: #4AB3F4;
}
.kt-call-popover-wrapper .call-popover .dialPad span.number {
    font-size: 24px;
    text-align: center;
    line-height: 2.5rem;
}
.kt-call-popover-wrapper .call-popover .dialPad .btn-vm-greeting span.number {
    font-size: 20px;
}
.kt-call-popover-wrapper .call-popover .dialPad span.ext-text {
    text-align: center;
    color: #6c757d;
    font-size: 10px;
}
.kt-call-popover-wrapper .call-popover .dialPad span.dot {
    width: 5px;
    height: 5px;
    background-color: #6c757d;
    border-radius: 50%;
    text-align: center;
    margin: auto;
    margin-bottom: 5px;
}
.kt-call-popover-wrapper .call-popover .dialPad > .row > div {
    border-radius: 15px;
    cursor: pointer;
}
.kt-call-popover-wrapper .call-popover .dialPad > .row > div:hover {
    background-color: #40474d;
}
.kt-call-popover-wrapper .call-popover .btn-close-call-popover {
    position: absolute;
    top: -8px;
    right: -8px;
}
.kt-call-popover-wrapper .call-popover.dial-popover .btn-close-call-popover,
.kt-call-popover-wrapper .call-popover.callstatus-popover .btn-close-call-popover {
    left: -8px;
    right: unset;
}
.kt-call-popover-wrapper .call-popover .btn-close-call-popover:hover {
    cursor: pointer;
}
.kt-call-popover-wrapper .call-popover .btn-close-call-popover i {
    color: white !important;
}
.kt-call-popover-wrapper .call-popover.callstatus-popover {
    width: 250px;
    text-align: center;
}
.kt-call-popover-wrapper .call-popover.callstatus-popover span.status-title {
    font-size: 18px;
}
.kt-call-popover-wrapper .call-popover.callstatus-popover span.status-desc {
    font-size: 13px;
    text-align: right;
}
.kt-call-popover-wrapper .call-popover.callstatus-popover span.status-so-title {
    font-size: 16px;
    display: block;
    margin-top: 15px;
}
.kt-call-popover-wrapper .call-popover.callstatus-popover span.status-so-list {
    font-size: 13px;
    display: block;
    text-align: right;
    margin: 5px 0;
    padding: 5px 0;
    border-top: 1px solid white;
}
.kt-call-popover-wrapper .call-popover.callstatus-popover span.status-so-list > a {
    color: #FFA800;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow-x: hidden;
    display: block;
}
.kt-call-popover-wrapper .call-popover.callstatus-popover span.status-so-list:empty {
    display: none;
}
.kt-call-popover-wrapper .call-popover.dial-popover .actionPad {
    padding-left: 32px;
}
.kt-call-popover-wrapper .bs-popover-top > .arrow::before,
.kt-call-popover-wrapper .bs-popover-auto[x-placement^="top"] > .arrow::before {
    border-top-color: black;
}
.kt-call-popover-wrapper .bs-popover-top > .arrow::after,
.kt-call-popover-wrapper .bs-popover-auto[x-placement^="top"] > .arrow::after {
    border-top-color: #161313;
}
.kt-call-popover-wrapper .bs-popover-bottom > .arrow::before,
.kt-call-popover-wrapper .bs-popover-auto[x-placement^="bottom"] > .arrow::before {
    border-bottom-color: black;
}
.kt-call-popover-wrapper .bs-popover-bottom > .arrow::after,
.kt-call-popover-wrapper .bs-popover-auto[x-placement^="bottom"] > .arrow::after {
    border-bottom-color: #161313;
}
.kt-call-popover-wrapper .popover.bs-popover-left > .arrow::before,
.kt-call-popover-wrapper .popover.bs-popover-auto[x-placement^="left"] > .arrow::before {
    border-left-color: black;
}
.kt-call-popover-wrapper .popover.bs-popover-left > .arrow::after,
.kt-call-popover-wrapper .popover.bs-popover-auto[x-placement^="left"] > .arrow::after {
    border-left-color: #161313;
}
.link-btn-dialpad:not(.in-call) .link-btn-hangup-call,
.link-btn-dialpad.in-incoming-call .link-btn-hangup-call {
    display: none;
}
.studio-modal {
    z-index: 2000 !important;
    position: fixed;
    left: 0;
    top: 0;
    height: 100vh;
    width: 100%;
    background-color: rgba(0,0,0,0.8);
    transition: visibility 0.15s linear, opacity 0.15s linear;
    visibility: hidden;
}
.studio-modal.show {
    visibility: visible;
}
.studio-modal > .btn-close {
    position: absolute;
    top: 10px;
    right: 15px;
    font-size: 25px;
}
.studio-modal > audio,
.studio-modal > video {
    margin: auto;
}
#toast-container .toast.toast-incoming-bell {
    background-image: unset !important;
    background-color: #212121;
}
.toast.toast-incoming-bell:before {
    content: "\f0f3";
    -webkit-animation: ring 2s ease infinite;
    animation: ring 2s ease infinite;
    font-family: Font Awesome\ 5 Free;
    transform-origin-x: 50%;
    transform-origin-y: 0;
    transform-origin-z: initial;
    font-size: 28px;
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
    position: absolute;
    left: 20px;
    top: 35px;
}
.toast.toast-incoming-bell.live:before {
    content: "\f111";
    -webkit-animation: burst 2s infinite linear;
    animation: burst 2s infinite linear;
    font-family: Font Awesome\ 5 Free;
    transform-origin-x: 50%;
    transform-origin-y: 0;
    transform-origin-z: initial;
    font-size: 20px;
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
    position: absolute;
    left: 20px;
    top: 42px;
}
.toast.toast-incoming-bell .toast-title {
    text-align: right;
    font-size: 1.5rem;
    margin-bottom: 5px;
}
.toast.toast-incoming-bell .toast-title > span.call-caller {
    font-size: 0.9rem;
    display: block;
    margin-bottom: 5px;
}
.toast.toast-incoming-bell .toast-title > span.call-so-title {
    font-size: 1.3rem;
    margin-top: 20px;
    display: block;
}
.toast.toast-incoming-bell .toast-title > span.call-so-list {
    font-size: 1rem;
    display: block;
    margin: 5px 0 5px -40px;
    padding: 5px 0;
    border-top: 1px solid white;
}
.toast.toast-incoming-bell .toast-title > span.call-so-list > a {
    color: #FFA800;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow-x: hidden;
    display: block;
}
.toast.toast-incoming-bell .toast-title > span.call-so-list:empty {
    display: none;
}
/*
end: Voice Call Styles
 */