﻿html, body {
    height: 100%;
}

body {
    overflow-x: hidden;
    overflow-y: auto;
}

a.disabled {
    cursor: not-allowed;
}

#chat-req-modal {
    position: static;
    overflow: visible;
}

.has-error ::-webkit-input-placeholder,
.has-error :-moz-placeholder,
.has-error ::-moz-placeholder,
.has-error ::-ms-input-placeholder {
    color: #e0b0af;
}

#container {
    display: flex;
    flex-direction: column;
    height: 100%;
}

#headerBar {
    display: flex;
    justify-content: space-between;
    position: relative;
    width: 100%;
    z-index: 1;
    background-color: #0B78D0;
    padding: 5px 10px 0;
    box-shadow: 0 0 2px rgba(0, 0, 0, .3);
}

#headerBar .fa {
    color: white;
    float: right;
    font-size: 20px;
    cursor: pointer;
}

#headerBar .fa:hover {
    cursor: pointer;
}

#headerBar .fa.fa-check {
    color: #23d13d !important;
}

#agentNameContainer {
    display: flex;
    flex-direction: column;
    color: #fff;
    padding: 15px 10px 0 10px;
    width: calc(100% - 50px);
}

#agentName {
    font-size: 16px;
}

#actionsContainer {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    text-align: right;
    width: 60px;
}

#actionsContainer .actionsWindow {
    padding-bottom: 20px;
    padding-right: 2px;
    padding-top: 2px;
}

#actionsContainer .uwf-cancel {
    margin-right: 0;
}

#actionsContainer #minimizeIcon {
    visibility: hidden;
    font-size: 16px;
    padding-right: 13px;
}

#actionsContainer #closeIcon {
    font-size: 16px;
}

#actionsContainer #closeIcon.disabled {
    opacity: 0.35;
    cursor: default;
}

#actionsContainer #transcriptOptionLabel {
    padding-right: 8px;
}

#console-chat {
    clear: both;
    word-break: normal;
    height: calc(100% - 80px - 75px); /* full viewport height minus header, inputs ( 75px =  55px (text area) + 20px (typing status))  */
    overflow-y: scroll;
    position: relative;
    z-index: 0; /* hint to mobile chrome to use fast scrolling */
    -webkit-overflow-scrolling: touch;
}

.has-survey #console-chat {
    height: calc(100% - 80px - 87px); /* adjust height with inline minus  header, inputs and chat survey ( 87px =  55px (text area) + 20px (typing status) + 12px (survey)) + */
}

#history {
    -webkit-overflow-scrolling: touch;
    height: 100%;
    overflow-y: auto;
}

#dialog {
    position: relative;
    bottom: 0;
    width: 100%;
}

#dialog-input {
    height: 50px;
    resize: none;
    font-size: 16px;
    margin: 0;
    border: none;
    box-shadow: 0 0 2px rgba(0, 0, 0, .3);
    overflow: hidden;
    -webkit-appearance: none;
}

#dialog-input::placeholder,
#dialog-input::-ms-input-placeholder{
    font-style: italic;
}

#dialog-input:not([disabled])::placeholder,
#dialog-input:not([disabled])::-moz-placeholder,
#dialog-input:not([disabled])::-ms-input-placeholder {
    color: #757575;
}

#dialog-input-label {
    display: none;
}

.bubble-holder {
    display: block;
    overflow: auto;
    margin-left: 0px !important;
    margin-bottom: 15px;
    width: 100%;
}

.chat-bubble {
    display: block;
    position: relative;
    overflow: auto;
    border-radius: 5px;
    clear: both;
    padding: 4px;
    margin-left: 0px !important;
    word-break: break-word;
    word-wrap: normal;
    font-size: 12px;
    line-height: 1.3;
}

.chat-bubble img {
    display: block;
    max-width: 100% !important;
    height: auto !important;
}

.bubble-holder:first-of-type {
    margin-top: 10px;
}

.by-agent .chat-bubble, .by-agent2 .chat-bubble {
    margin-right: 30% !important;
    margin-left: 15px !important;
}

.by-agent .chat-bubble {
    background: #eee;
    padding: 0px;
    border: 4px solid #eee;
}

.by-agent2 .chat-bubble {
    background: #D3D3D3;
}

.by-agent .chat-arrow, .by-agent2 .chat-arrow {
    background-color: transparent;
    content: '';
    position: absolute;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    border-right: 12px solid #eeeeee;
    display: block;
    width: 0;
    left: 6px;
    margin-top: 7px;
}

.by-agent .chat-arrow {
    border-right-color: #eee;
}

.by-agent2 .chat-arrow {
    border-right-color: #D3D3D3;
}

.by-customer .bubbleStamp, .by-customer a, .by-customer .uploaded, .by-customer .uploading {
    color: white;
}

.bubble-holder.by-customer .bubbleStamp .left, .bubble-holder.by-agent .bubbleStamp .left, .bubble-holder.by-agent2 .bubbleStamp .left {
    font-weight: bolder;
    font-size: 11px;
    width: 60%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.by-customer .chat-bubble {
    margin-left: 30% !important;
    margin-right: 15px !important;
    background: #0B78D0;
    padding: 0px;
    border: 4px solid #0B78D0;
    color: white;
}

.by-customer .chat-arrow {
    background-color: transparent;
    content: '';
    position: absolute;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    border-right: 12px solid #0B78D0;
    display: block;
    width: 0;
    transform: scale(-1, 1);
    -webkit-transform: scale(-1, 1);
    margin-top: 7px;
    right: 6px;
}

.by-concierge .chat-bubble {
    position: relative;
    background: #fbfbfb;
    border: 1px dotted #ebebeb;
    color: #737373;
    font-style: italic;
    margin-right: 15px !important;
    margin-left: 15px !important;
}

.chat-bubble[messageattachment-id] {
    white-space: normal;
}

.typingStatus {
    opacity: 0.5;
    font-size: small;
    margin: 0 10px;
    height: 20px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.divOptionAreaDivs {
    display: inline-block;
}

.divOptionAreaDivError {
    text-align: center;
    margin-top: 10px;
    margin-bottom: -10px;
}

#divOptionArea {
    float: right;
}

.divOptionAreaEmail {
    position: absolute;
    z-index: 1;
    top: 100%;
    padding: 7px;
    border-radius: 6px;
    background-color: #fff;
    border: 1px solid #b7b7b7;
    right: 5px;
}

.divOptionAreaEmail::after {
    content: "";
    position: absolute;
    z-index: -1;
    bottom: 100%;
    left: 50%;
    margin-left: 172px;
    border-width: 5px;
    border-style: solid;
    border-color: transparent transparent #fff transparent;
}

#customerEmail {
    width: 250px;
    margin-top: 1px;
}

#transcriptOption {
    color: #333333;
    transition-duration: 0.3s;
    transition-property: color, background-color;
    transform: translateZ();
}

#transcriptOptionLabel {
    cursor: pointer;
}

.placeholder {
    color: #aaa;
}

#fileupload {
    position: absolute;
    clip: rect(0, 0, 0, 0);
    top: -4px;
    right: 0;
    margin: 0;
    opacity: 0;
    -ms-filter: 'alpha(opacity=0)';
    direction: ltr;
    cursor: pointer;
    min-height: 100%;
    width: 100%;
    border: none;
}

#fileupload[disabled] {
    cursor: not-allowed;
}

.upload {
    background-color: #dff0d8;
    border-color: #c1e2b3;
    border-radius: 4px;
    margin: 0 5px 5px 0;
    display: block;
    position: relative;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    height: 30px;
    border: 1px solid #c4c4c4;
    max-width: 150px;
}

.upload-label {
    line-height: 30px;
    padding: 0 20px 0 10px;
    position: relative;
    white-space: nowrap;
    max-width: 250px;
    overflow: hidden;
    -ms-text-overflow: ellipsis;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
}

.upload-label a {
    overflow: hidden;
    display: block;
    -ms-text-overflow: ellipsis;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
}

.btn-del {
    text-decoration: none;
    cursor: pointer;
    position: absolute;
    right: 5px;
    margin-top: -10px;
}


.attach-preview {
    max-width: 200px;
    text-align: center;
    background: #eee;
    border-radius: 3px 3px 0 0;
    box-shadow: #777 0 0 15px;
    padding: 10px;
    position: absolute;
    bottom: 75px;
    min-height: 57px;
    opacity: .7;
    transition: opacity ease-out .2s;
    z-index: 1;
}

.has-survey .attach-preview {
    bottom: 87px;
}

.attach-preview:hover {
    opacity: 1;
}

.attach-preview.has-thumb {
    padding: 10px 10px 0;
    min-height: 162px;
}

.attach-preview figcaption {
    float: left;
    margin-left: 17px;
    margin-top: -2px;
    width: 62%;
}

.attach-preview.has-thumb figcaption {
    float: none;
    margin: 0px;
    width: 100%;
}

.attach-preview figcaption .filename {
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    text-align: left;
}

.attach-preview figcaption .filesize {
    text-align: left;
}

.attach-preview.has-thumb figcaption .filename {
    text-align: center;
}

.attach-preview.has-thumb figcaption .filesize {
    text-align: center;
}

.attach-preview .thumb {
    max-width: 100%;
    max-height: 25vh;
}

.attach-preview .fa {
    float: left;
    margin-top: 5px;
}

.chat-bubble .fa {
    margin-right: 10px;
    margin-top: 5px;
}

.attach-info {
    padding-right: 10px;
    min-width: 100px;
}

.attach-copy {
    font-size: x-small;
    color: black;
}

.attach-copy > span {
    display: none;
}

.attach-copy.uploading .uploading {
    display: block;
}

.attach-copy.uploaded .uploaded {
    display: block;
}

.attach-copy.error .error {
    display: block;
    color: #b94a48;
}

.bubbleStamp {
    display: block;
    font-size: 10px;
    color: black;
    margin-bottom: 0px;
    height: 20px;
    margin-left: 4px;
    margin-right: 4px;
}

.left {
    float: left;
}

.right {
    float: right;
}

.bubbleMessage {
    margin-left: 4px;
    margin-right: 4px;
    clear: both;
}

.bubbleMessage.html {
    white-space: normal;
}

.bubbleMessage.plainText {
    white-space: pre-wrap;
}

.bubbleMessage ul {
    list-style: disc;
}

.bubbleMessage li {
    display: list-item;
    font-size: 12px;
}

.printFooter {
    width: 100%;
    height: 0.5in;
    border-top: solid 1pt black;
    clear: both;
    display: none;
}

.iconPoweredBy {
    height: 20px;
    float: right;
}

.printInfo {
    border-bottom: solid 1pt black;
    padding: 7pt 0;
    display: none;
}

.template { /* UWF-1854 ignore line breaks on templates */
    overflow: auto;
    white-space: normal;
}

.input-group {
    width: 100%;
}

.input-group-addon, .input-group-btn {
    width: auto;
    float: right;
    height: -webkit-fill-available;
}

.input-append {
    width: 100%;
    margin-bottom: 0px;
    padding: 6px 0px;
    white-space: normal;
    bottom: 0;
    left: 0;
    height: 32px;
    background-color: #eeeeee;
}

.chat-action {
    position: relative;
    background-image: none;
    border: none;
    box-shadow: none;
    padding: 0;
    font-size: 15px;
    margin: 0 10px;
    cursor: pointer;
    margin-top: 4px;
    padding-right: 10px;
}

.chat-action.disabled {
    opacity: 0.35;
    cursor: not-allowed;
}


.chat-action.blue {
    color: #06090a;
}

.chat-action.blue:hover {
    color: #005f8e;
}

.chat-action.blue.disabled {
    color: #0088cc !important;
}

.chat-action.red {
    color: rgb(255, 0, 0);
}

.chat-action.red:hover {
    color: rgb(200, 0, 0);
}

.chat-action.red.disabled {
    color: rgb(255, 0, 0) !important;
}

#btn-reqTranscript {
    width: 170px;
    font-size: 13px;
    padding: 7px;
    margin-top: 1px;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}

#btn-reqTranscript[disabled] {
    pointer-events: all;
    background-image: none;
    background-color: #dcdcdc;
    border-color: #cccccc;
}

.btn-transcript {
    background-image: linear-gradient(to bottom, #428bca 0%, #3071a9 100%);
    color: #fff;
    border-color: #366d9c;
    text-shadow: none;
}

.btn-transcript:hover {
    /*background-image: linear-gradient(to bottom, #428bca 0%, #3071a9 100%);*/
    color: #fff;
    border-color: #366d9c;
    background-color: #326aa5;
    /*text-shadow: none;*/
}

input[type="email"][disabled] {
    opacity: 0.5;
}

.has-error .form-control {
    border-width: 1px;
}

.fa-file-text-o {
    font-size: 24px !important;
    margin-top: 12px !important;
}

.fa-check {
    position: absolute;
    right: 33px;
    color: #00ff0a !important;
    font-size: 22px !important;
    transform: rotate(-7deg);
}

.bootbox-confirm {
    overflow: hidden;
}

body.modal-open {
    margin-right: 0px;
}

#chatrequestform .modal-content {
    border: none;
    border-radius: 0;
}

@media screen and (max-width: 450px) {
    .divOptionAreaEmail:after {
        margin-left: 156px;
    }

    .divOptionAreaDivs {
        width: 100%;
    }

    #customerEmail {
        width: 100%;
    }

    #btn-reqTranscript {
        margin-top: 5px;
        clear: both;
        float: right;
        margin-bottom: -5px;
        width: 210px;
    }

    .uwf-cancel {
        margin-right: 3px;
    }

    .divOptionAreaEmail {
        margin-left: 5px;
    }
}

@media screen and (max-width: 420px) {
    /* iPhone 6 Plus / Nexus 6P / Nexus 5X */
    .divOptionAreaEmail:after {
        margin-left: 156px;
    }
}

@media screen and (max-width: 390px) {
    /* iPhone 6 /  */
    .divOptionAreaEmail:after {
        margin-left: 141px;
    }
}

@media screen and (max-width: 370px) {
    /* Galaxy S5 /  */
    .divOptionAreaEmail:after {
        margin-left: 132px;
    }
}

@media screen and (max-width: 340px) {
    /* iPhone 5 /  */
    .divOptionAreaEmail:after {
        margin-left: 116px;
    }
}

/* Styling for IE11+ */
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
    #btn-reqTranscript {
        margin-top: -26px;
    }

    .divOptionAreaEmail {
        padding: 2px 7px;
    }

    #customerEmail {
        margin-top: 4px;
    }
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) and (max-width: 420px) {
    #btn-reqTranscript {
        margin-top: 0px;
        margin-bottom: 0;
    }
}

/* Prevents iOS Safari zoom in on input select */
@media screen and (-webkit-min-device-pixel-ratio: 0) {
    .form-control {
        font-size: 16px;
    }
}

/* Fix for removing a caret border from drop down lists in IE. Remove this after updating to Bootstrap 3.3.6+ */
.form-control::-ms-expand {
    border: 0;
    background-color: transparent;
}


ul {
    list-style: none;
}

li {
    display: block;
    margin: 0;
    padding: 0;
    font-size: 2.3em;
}

.template ul {
    list-style-type: disc;
}

.template ol {
    list-style-type: decimal;
}

.template li {
    display: list-item;
    font-size: 12px;
    line-height: 1.3;
    white-space: pre-wrap;
}

.template li::before,
.template ul:hover li::before,
.template ol:hover li::before,
.template ul:hover li:hover::before,
.template ol:hover li:hover::before,
.template ul:hover li:hover ~ li::before,
.template ol:hover li:hover ~ li::before {
    content: none;
    display: list-item;
    transition: none;
    transform: none;
}

.template li:hover::before,
.template li:hover ~ li::before,
.template li.selected::before,
.template li.selected ~ li::before {
    content: none;
    text-shadow: none;
    transform: none;
}

.chat-survey-holder {
    margin: 10px !important;
    background: #ebf7ff;
    border: dashed 1px #CCC;
    cursor: pointer;
}

#btn-submit-chat-survey {
    margin-bottom: 10px !important;
}

.chat-survey-title {
    margin-top: 14px !important;
    margin-bottom: 14px !important;
    font-weight: bold;
}

#stars {
    padding: 0 !important;
    display: flex;
    justify-content: start;
    float: right;
    margin: 0 !important;
    border: 2px solid transparent;
}

.input-append.chat-survey {
    padding: 0 !important;
    display: none;
    line-height: 32px;
}

.has-survey .chat-survey {
    display: block !important;
}

.chat-survey-modal {
    overflow-y: auto;
    display: none; /* Hidden by default */
    background-color: rgba(0, 0, 0, 0.4); /* Black w/ opacity */
    z-index: 1; /* Sit on top */
    padding-top: 100px; /* Location of the box */
    left: 0;
    top: 0;
    width: 100%; /* Full width */
    height: 100%; /* Full height */
    overflow: auto; /* Enable scroll if needed */
    -webkit-transition: opacity 100ms ease-in;
    -moz-transition: opacity 100ms ease-in;
    transition: opacity 100ms ease-in;
}

.modal-content {
    background-color: #fefefe;
}

.modal-open {
    overflow: auto;
}


.chat-survey-modal.custom {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.chat-survey-modal.custom .modal-header {
    border: none;
}

.chat-survey-modal.custom .modal-body {
    padding-top: 20px;
    padding-right: 30px;
    padding-left: 30px;
}

.chat-survey-modal.custom .modal-dialog .modal-content {
    width: 100%;
    height: 100%;
    border-radius: 5px;
}

.chat-survey-modal.custom .modal-dialog {
    margin: 0 auto;
    padding: 20px
}

.modal.custom .modal-dialog button {
    color: black;
    font-size: 24px;
    font-weight: bold;
    opacity: 1;
}

.chat-survey-modal.custom .modal-body h3 {
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    color: black;
    font-size: 1.333em;
}

.close {
    float: right;
    font-size: 21px;
    font-weight: 700;
    line-height: 1;
    color: #000;
    text-shadow: 0 1px 0 #fff;
    opacity: .2;
    filter: alpha(opacity=20)
}

.close:hover, .close:focus {
    color: #000;
    text-decoration: none;
    cursor: pointer;
    opacity: .5;
    filter: alpha(opacity=50)
}

button .close {
    padding: 0;
    cursor: pointer;
    background: 0 0;
    border: 0;
    -webkit-appearance: none;
}

.chat-survey-rating-container {
    text-align: center;
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
}

.btn-external-survey-launcher {
    margin: 20px !important
}

.rating-list-items {
    justify-content: center !important;
}

.chat-survey-modal-title {
    text-align: center !important;
    max-height: 200px;
    overflow-y: auto;
}

.spinner-container {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}

.spinner {
    border: 16px solid #f3f3f3; /* Light grey */
    border-top: 16px solid #3399ff; /* Blue */
    border-radius: 50%;
    width: 120px;
    height: 120px;
    animation: spin 2s linear infinite;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

.input-container {
    display: flex;
    flex-direction: row-reverse;
    align-items: flex-start;
    padding: 0 10px;
}

.textarea-container {
    position: relative;
    flex-grow: 1;
}

.textarea-container textarea {
    border-radius: 10px !important;
    padding: 0 35px 0 10px;
    margin: 0 0 0 10px;
}

.btn-send {
    position: absolute;
    top: 0;
    right: 0;
    font-size: 28px;
    margin: 0;
    padding: 0 !important;
    background: transparent !important;
    outline: none;
    border: none;
    cursor: pointer;
}

.btn-send.deactivated {
    color: #eee !important;
    cursor: default;
}

.btn-attachment {
    font-size: 20px;
    padding: 0 !important;
    margin-left: 0;
}

.has-survey > #dialog > .typingStatus {
    position: absolute;
}

::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-thumb {
    background: #d1d1d1;
}

.btnChatRatingContinue {
    margin-top: 16px;
}

.reCaptcha-container {
    margin-bottom: 0px;
    height: 15px;
}

.grecaptcha-badge {
    transform: scale(0.50);
    -webkit-transform: scale(0.50);
    transform-origin: 0 0;
    -webkit-transform-origin: 0 0;
    bottom: 0 !important;
    left: -92px !important;
}

.positive-action-button {
    background-color: transparent;
    box-shadow: none;
    color: #3f51b5;
    border: none;
    outline: none;
    font-weight: bold;
}

.negative-action-button {
    background-color: transparent;
    box-shadow: none;
    color: rgba(0, 0, 0, .87);
    border: none;
    outline: none;
    font-weight: bold;
}

.positive-action-button:hover {
    background-color: rgba(0, 0, 0, 0.04);
    color: #3f51b5;
}

.negative-action-button:hover {
    background-color: rgba(0, 0, 0, 0.04);
    color: rgba(0, 0, 0, .87);
}

.positive-action-button:focus, .negative-action-button:focus {
    background-color: rgba(0, 0, 0, 0.04);
    border: none;
    outline: none;
}

#btn-send:focus {
    border: 2px dotted #555555;
}


.attach-button input[type=file]:focus + label {
    border: 2px dotted #555555;
}

#printArea,
.attach-button input[type=file] + label {
    border: 2px solid transparent;
}

.actionsWindow strong {
    padding: 0;
    background: transparent;
    border: 2px solid transparent;
    outline: none;
}

.actionsWindow strong:focus {
    border: 2px dotted #FFFFFF;
    outline: none;
}

#printArea:focus,
#stars:focus {
    outline: none;
    border: 2px dotted #555555;
}

.sampleclass {
    color: #B88A00;
    content: "\2606";
}

input[type=text].form-control::placeholder {
    color: #757575;
    opacity: 1;
}

input[type=text].form-control:-ms-input-placeholder {
    color: #757575;
}

input[type=text].form-control::-ms-input-placeholder {
    color: #757575;
}

#chatrequestform .form-control:focus {
    border-color: #3F9AE4;
}

#chatrequestform .btn-primary {
    background-color: #347AB7;
}

#stars li.starFilled::before {
    color: #B88A00;
    content: "\2605";
    text-shadow: 0 1px 3px rgba(0, 0, 0, .3);
}

#stars li.starOutline::before {
    color: #949494;
    content: "\2606";
    transform: scale(.8);
}

#printIcon {
    outline: none !important;
    border: 2px solid transparent;
}

.actionsChat a:focus {
    outline: none !important; 
    outline-offset: 0 !important;
}

.actionsChat a:focus > strong {
    border: 2px dotted #FFFFFF !important;
    outline: none !important;
}
