﻿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 {
    color: #e0b0af;
}

.has-error :-moz-placeholder {
    color: #e0b0af;
}

.has-error ::-moz-placeholder {
    color: #e0b0af;
}

.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: #00aeef;
    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: 50px;
}

    #actionsContainer .actionsWindow {
        padding-bottom: 20px;
        padding-right: 2px;
        padding-top: 2px;
    }

    #actionsContainer .uwf-cancel {
        margin-right: 0;
    }

    #actionsContainer #minimizeIcon {
        visibility: hidden;
        font-size: 16px;
    }

    #actionsContainer #closeIcon {
        font-size: 16px;
    }

        #actionsContainer #closeIcon.disabled {
            opacity: 0.35;
            cursor: default;
        }

    #actionsContainer #transcriptOptionLabel {
        padding-right: 8px;
    }

    #actionsContainer #minimizeIcon {
        padding-right: 13px;
    }

#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 {
        font-style: italic;
    }

    #dialog-input::-ms-input-placeholder {
        font-style: italic;
    }

    #dialog-input:not([disabled])::placeholder {
        color: #ebebeb;
    }

    #dialog-input:not([disabled])::-moz-placeholder {
        color: #c0c0c0;
    }

    #dialog-input:not([disabled])::-ms-input-placeholder {
        color: #c0c0c0;
    }

#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;
    white-space: pre-wrap;
}

    .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: #00aeef;
    padding: 0px;
    border: 4px solid #00aeef;
    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 #00aeef;
    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: #aaa;
    font-style: italic;
    margin-right: 15px !important;
    margin-left: 15px !important;
}

.chat-bubble[messageattachment-id] {
    white-space: normal;
}

#divTypingStatus {
    opacity: 0.5;
    font-size: small;
    padding-bottom: 0;
    margin-bottom: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    position: absolute;
    left: 5px;
    bottom: calc(100% + 4px)
}

.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;
    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;
}

.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;
}

    li::before {
        color: #AEAEAE;
        content: "\2606";
        display: block;
        transition: all .15s ease-out;
        transform: scale(.8);
    }

    li:hover::before,
    li:hover ~ li::before,
    li.selected::before,
    li.selected ~ li::before {
        color: #FFCC36;
        content: "\2605";
        text-shadow: 0 1px 3px rgba(0, 0, 0, .3);
    }

ul:hover li::before {
    color: #AEAEAE;
    content: "\2606";
    transform: scale(.8);
}

ul:hover li:hover::before,
ul:hover li:hover ~ li::before {
    color: #FFCC36;
    content: "\2605";
    transform: scale(.8);
}

.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;
    flex-direction: row-reverse;
    float: right;
    margin: 0 !important;
}

.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 */
    background-color: rgb(0,0,0); /* Fallback color */
    background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
    -webkit-transition: opacity 100ms ease-in;
    -moz-transition: opacity 100ms ease-in;
    transition: opacity 100ms ease-in;
}

.modal-content {
    background-color: #fefefe;
}

.close {
    color: #aaaaaa;
    float: right;
    font-size: 28px;
    font-weight: bold;
}

    .close:hover,
    .close:focus {
        color: #000;
        text-decoration: none;
        cursor: pointer;
    }

.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;
}