div#npc-conversation-interface {
    transform: translate(-50%, 0) scale(1);
    left: 50%;
    bottom: 62px;
    width: calc(100% - 60px);
    max-width: 650px;
}

.npc-opener {
    font-size: 18px;
    background: #EFEFEF;
    padding: 17px 20px;
    border: 2px solid #b1b1b1;
    border-radius: 6px;
    line-height: 1.4em;
}

.npc-name {
    margin: 0 0 10px 0;
}

.npc-name span {
    font-weight: 600;
}

div#npc-questions-container {
    margin: 10px 0 0 0;
}

div#npc-questions-container button {
    display: block;
    width: 100%;
    text-align: center;
    margin: 4px 0 0 0;
    font-size: 16px;
    padding: 0 8px;
    border-radius: 6px;
    border: 2px solid #000;
    background-color: #000;
    color: #FFF;
    cursor: pointer;
    overflow: hidden;
    height: 42px;
    line-height: 36px;
}

div#npc-questions-container button:hover,
div#npc-questions-container button:active{
    background-color: #3c3c3c;
}

div#npc-questions-container button.npc-question-action{
    background-color: #0e9161;
    border: 2px solid #0e9161;
}

div#npc-questions-container button.npc-question-action:hover,
div#npc-questions-container button.npc-question-action:active{
    background-color: #26b17d;
}

div#npc-portrait-holder {
    position: relative;
    backface-visibility: hidden;
}

img#npc-portrait-img {
    position: absolute;
    image-rendering: pixelated;
    image-rendering: -moz-crisp-edges;
    image-rendering: crisp-edges;
}

#npc-question-button.flip {    
    animation: flipButton 1s linear;
}

@keyframes flipButton {
    0% {
        color: #FFF;
        background-color: #000;    
    }
    25% {    
        text-indent: 1000px;
        background-color: #646464;  
        color: #646464;    
    }
    50%{    
        text-indent: 0;
        background-color: #000;
        color: #FFF;
    }
    75%{    
        background-color: #0e9161;
    }
    100%{    
        background-color: #000;
    }
}

div#npc-opener-text span {
    color: #6f6f6f;
}

div#npc-questions-container button.npc-quest-btn {
    background: #f5bb0f;
    color: #000;
}

div#npc-questions-container button.npc-quest-btn:hover {
    background: #f5d010;
}

/* QUEST INTERFACE */

div#npc-quest-interface {
    transform: translate(-50%, -50%) scale(1);
    left: 50%;
    top: 50%;
}

label.quest-info-label {
    color: #FFF;
    text-transform: uppercase;
    font-size: 10px;
    display: block;
    background: #535252;
    padding: 4px 6px;
    margin-top: 5px;
    width: auto;
    border-radius: 4px 4px 0 0;
}

.quest-info-field {
    background: #e9e9e9;
    padding: 9px 10px;
    width: calc(100% - 20px);
    border-radius: 0 0 4px 4px;
    border: none;
    outline: none;
    line-height: 1.3em;
    font-size: 16px;
}

div#quest-info-button-holder {
    overflow: hidden;
}

div#quest-info-button-holder button:nth-child(1) {
    float: left;
    width: calc(50% - 2px);
}

div#quest-info-button-holder button:nth-child(2) {
    float: right;
    width: calc(50% - 2px);
}

.quest-info-reward-holder {
    overflow: hidden;
    background: #e9e9e9;
    margin: 4px 0;
    border-radius: 4px;
}

.quest-info-reward-text {
    float: right;
    width: calc(100% - 80px);
    display: flex;
    align-items: center;
    height: 70px;
    background: #f9f9f9;
    padding-left: 10px;
    font-size: 14px;
}

.quest-info-reward-img-holder {
    backface-visibility: hidden;
    float: left;
    width: 70px;
    height: 70px;
    overflow: hidden;
    background: #FFF;
    box-shadow: 1px 1px 6px #00000030;
}

.quest-info-reward-img-holder img {
    image-rendering: pixelated;
    image-rendering: -moz-crisp-edges;
    image-rendering: crisp-edges;
    backface-visibility: hidden;
}

div#quest-info-rewards-container {
    padding: 6px 10px;
    background: #e9e9e9;
    margin-bottom: 13px;
    border-radius: 0 0 4px 4px;
}

div#quest-info-button-holder button.full-width-btn {
    width: 100%;
}

div#npc-quest-interface.npc-quest-completed-interface .interface-content-container {
    height: auto !important;
    overflow-y: auto;
    padding-right: 0;
}

@media (max-width: 600px) {  
    .npc-opener {
        font-size: 14px;
        padding: 10px 13px;
    }

    .npc-name,
    div#npc-questions-container button {
        font-size: 14px;
    }

    .quest-info-field {
        font-size: 14px;
    }
    
    .quest-info-reward-img-holder {
        width: 50px;
        height: 50px;
    }
    
    .quest-info-reward-img-holder img {
        max-width: 100%;
        image-rendering: smooth; /* Standard property */
        image-rendering: -moz-crisp-edges; /* Mozilla Firefox */
        image-rendering: -webkit-optimize-contrast; /* Google Chrome, Safari, Opera */
        image-rendering: optimizeQuality; /* Microsoft Edge */
    }
    
    .quest-info-reward-text {
        width: calc(100% - 60px);
        height: 50px;
        font-size: 12px;
    }
    
    #npc-quest-interface.interface h2 {
        font-size: 18px;
    }
}

@media (max-width: 340px) {  
    .npc-opener {
        font-size: 12px;
    }

    .npc-name,
    div#npc-questions-container button {
        font-size: 12px;
    }

    .quest-info-field {
        font-size: 13px;
    }
}

@media (max-height: 800px) {  
    div#npc-quest-interface .interface-content-container {
        height: 350px;
        overflow-y: scroll;
        padding-right: 5px;
    }

    div#npc-quest-interface .interface-content-container::-webkit-scrollbar-track {
        background-color: #a9a7a7;
        border-radius: 5px;
    }
    
    div#npc-quest-interface .interface-content-container::-webkit-scrollbar-thumb {
        background-color: #000;
        border-radius: 4px;
    }
    
    div#npc-quest-interface .interface-content-container::-webkit-scrollbar {
        width: 8px;
    }
    
    div#npc-quest-interface .interface-content-container label.quest-info-label:nth-child(1) {
        margin-top: 0;
    }
}