﻿@font-face {
    font-family: 'NomNaTong';
    src: url('../fonts/NomNaTong-Regular.ttf') format('truetype'),url('../fonts/NomNaTongLight.ttf') format('truetype');
}

#input_area, #text_transcription, #text_interpretation, #comp, #cand {
    font-family: 'NomNaTong', sans-serif;
}

#copy:hover, #edit:hover, #save:hover, #national-trans:hover {
    background-color: #979797;
    /*font-size: larger;*/
}

#preview-request-img, #preview-response-img {
    max-height: 600px;
    max-width: 100%;
}

.form-group label {
    color: gray;
}

.page-view {
    max-width: 1200px;
    margin: auto;
}

#image-area img {
    max-height: 600px;
}

.image-border {
    border-color: black;
    border-style: solid;
    border-width: 2px;
    max-width: 100%;
}

table.wikitable {
    background-color: var(--background-color-neutral-subtle, #f8f9fa);
    color: var(--color-base, #202122);
    margin: 1em 0;
    border: 1px solid var(--border-color-base, #a2a9b1);
    border-collapse: collapse;
}

.wikitable > tr > th, .wikitable > tr > td, .wikitable > * > tr > th, .wikitable > * > tr > td {
    border: 1px solid var(--border-color-base, #a2a9b1);
    padding: 0.2em 0.4em;
}

.block-in-row > * {
    display: flex;
    flex-direction: row;
}

.left-logo-info {
    display: flex;
    flex-direction: row;
    align-items: center;
}

.dropdown-item, .dropdown-item > * {
    cursor: pointer;
}

.show {
    display: block;
}
.fade {
    background-color: rgb(33 33 33 / 60%);
}

#content {
    width: 100%;
    padding: 0;
    -webkit-transition: all .3s;
    -o-transition: all .3s;
    transition: all .3s;
    margin-bottom: 80px;
}

#error {
    overflow-wrap: anywhere;
}

#image-area {
    justify-content: center;
}

.list-unstyled {
    padding-left: 0;
    list-style: none
}

#footer .footer {
    margin-left: 250px;
    transition: all .3s;
}

#footer.active .footer {
    margin-left: 0px;
    transition: all .3s;
}

#content {
    margin-left: 250px;
    transition: all .3s;
}

    #content.active {
        margin-left: 0px;
        transition: all .3s;
    }

#sidebar-overlay {
    position: fixed;
    height: 100vh;
    width: 100vw;
    z-index: 1039;
    opacity: 0.46;
    background-color: rgb(33, 33, 33);
    display: none;
}

#sidebar {
    min-width: 250px;
    max-width: 250px;
    background: #212121;
    color: #fff;
    -webkit-transition: all .3s;
    -o-transition: all .3s;
    transition: all .3s;
    /*position: relative;*/
    position: fixed;
    height: 100vh;
    z-index: 1040;
}

    #sidebar .h6 {
        color: #fff
    }

    #sidebar.active {
        margin-left: -250px
    }


        #sidebar.active .custom-menu {
            margin-right: -48px
        }

    #sidebar h1 {
        margin-bottom: 20px;
        font-weight: 700;
        font-size: 20px
    }

        #sidebar h1 .logo {
            color: #fff;
            display: block;
            padding: 10px 30px;
            background: #2f89fc;
            text-decoration: none;
        }

    #sidebar ul.components {
        padding: 0
    }

    #sidebar ul li {
        font-size: 16px
    }

        #sidebar ul li > ul {
            margin-left: 10px
        }

            #sidebar ul li > ul li {
                font-size: 14px
            }

        #sidebar ul li a {
            padding: 15px 30px;
            display: block;
            color: rgba(255,255,255,.6);
            border-bottom: 1px solid rgba(255,255,255,.1);
            text-decoration: none;
        }

            #sidebar ul li a:hover {
                color: #fff;
                background: #2f89fc;
                border-bottom: 1px solid #2f89fc
            }

        #sidebar ul li.active > a {
            background: 0 0;
            color: #fff
        }

            #sidebar ul li.active > a:hover {
                background: #2f89fc;
                border-bottom: 1px solid #2f89fc
            }


    #sidebar .custom-menu {
        display: inline-block;
        position: absolute;
        top: 5px;
        right: 0;
        margin-right: -48px;
        -webkit-transition: .3s;
        -o-transition: .3s;
        transition: .3s
    }


        #sidebar .custom-menu .btn.btn-primary {
            background: 0 0;
            border-color: transparent
        }

            #sidebar .custom-menu .btn.btn-primary i {
                color: #000;
                font-size: 24px
            }

            #sidebar .custom-menu .btn.btn-primary:hover, #sidebar .custom-menu .btn.btn-primary:focus {
                background: 0 0 !important;
                border-color: transparent !important
            }

@media(max-width:991.98px) {
    #sidebar-collapse span {
        display: none
    }
}

@media(prefers-reduced-motion:reduce) {
    #sidebar .custom-menu {
        -webkit-transition: none;
        -o-transition: none;
        transition: none
    }
}

@media(max-width:991.98px) {
    #sidebar {
        margin-left: -250px;
    }

        #sidebar.active {
            margin-left: 0;
        }

        #sidebar .custom-menu {
            margin-right: -48px !important;
            top: 5px !important
        }

    #footer .footer {
        margin-left: 0px;
    }

    #footer.active .footer {
        margin-left: 250px;
    }

    #content {
        margin-left: 0px;
    }

        #content.active {
            margin-left: 250px;
        }
}


#sidebar-collapse {
    padding: 0px 10px;
    font-size: x-large;
}

.btn-repeat {
    padding: 0px 5px;
}
.btn-clear {
    padding: 0px 5px;
    position: absolute;
    top: 0px;
    right: 0px;
}

.btn-keyboard .mdi {
    font-size: x-large;
}

.btn-function-default {
    color: #1976d2 !important;
    caret-color: #1976d2 !important;
    align-items: center;
    border-radius: 4px;
    display: inline-flex;
    font-weight: 500;
    font-size: .875rem;
    border: thin solid currentColor;
    height: 33px;
}

.btn-function-select {
    background-color: #e5f2ff;
}

.btn-function-default .mdi, btn-function-select .mdi {
    margin-right: 5px;
    font-size: large;
}

.logo1 {
    height: 80px;
}

.logo2 {
    height: 60px;
}

.logo-title {
    border-left: 2px solid #f5f5f5;
    margin-left: 10px;
    padding-left: 10px;
    font-size: 30px;
    text-decoration: none;
    color: #222;
}

.bar {
    display: flex;
    flex-direction: row;
    align-items: center;
    flex-wrap: nowrap;
    justify-content: space-between;
}

.main {
    display: flex;
    max-width: 100%;
    transition: .2s cubic-bezier(.4,0,.2,1);
    justify-content: center;
    align-items: center;
    flex-wrap: nowrap;
    flex-direction: column;
}


.tools {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    padding: 20px 0px;
    flex-wrap: wrap;
    align-content: center;
}

.main-contain {
    margin-top: 15px;
    box-shadow: 0 3px 1px -2px rgba(0,0,0,.2), 0 2px 2px 0 rgba(0,0,0,.14), 0 1px 5px 0 rgba(0,0,0,.12);
    border-radius: 8px !important;
}

.line-1 {
    height: 1px;
    margin-top: 5px;
    color: #1976d2 !important;
    caret-color: #1976d2 !important;
    background-color: currentColor;
}

.line-2 {
    height: 2px;
    margin-top: 5px;
    color: #1976d2 !important;
    caret-color: #1976d2 !important;
    background-color: currentColor;
}

.justify-space-between {
    justify-content: space-between !important;
}

.readonly-style {
    background-color: #f5f5f5;
}

.tab-main {
    font-size: .875rem;
    font-weight: 500;
    text-align: center;
    padding-top: 5px;
    color: #1976d2 !important;
    caret-color: #1976d2 !important;
}

.content-wrapper {
    position: relative;
    padding: 20px 30px 20px 24px;
    height: calc(100% - 30px);
}

.widget-wrapper {
    margin-top: auto;
    padding: 5px;
    height: 30px;
    align-items: center;
    background-color: aliceblue;
}

.custom-counter-style {
    color: #5f6368;
    font-size: 12px;
}

.span-hover:hover {
    cursor: pointer;
    background: #d2e3fc;
}

.custom-style-interpretations, .custom-style-output {
    width: 100%;
    min-height: 56px;
    border: none;
    flex: 1;
    background: transparent;
    overflow: auto hidden;
    resize: none;
    padding: 0;
    outline: none;
    white-space: pre-wrap;
    z-index: 1;
    display: inline-block;
}

.custom-style-output {
    font-size: 18px;
    line-height: 28px;
    color: #3c4043;
}

.custom-style-interpretations {
    font-size: 18px;
    line-height: 28px;
    color: #3c4043;
}

.custom-style-interpretations p {
    margin-bottom: 14px;
}

@media (max-width: 320px) {
    .toolbar .btn .btn-text { display: none; }
    .toolbar .btn i { margin-right: 0; }
}

.nom-input-area {
    height: 100%;
    width: 100%;
    resize: none;
    outline: none;
    border-color: lightgray;
    border-style: none;
    font-size: large;
    min-height: 120px;
}
.nom-output-area {
    height: 100%;
    width: 100%;
    outline: none;
    border-color: lightgray;
    border-style: none;
    font-size: large;
}

.setting-input-area {
    height: 100%;
    width: 100%;
    resize: none;
    outline: none;
    border-color: lightgray;
    border-style: none;
    min-height: 300px;
}

.recommend-col {
    width: 120px;
}

#comp {
    width: 120px;
    resize: none;
    outline: none;
    border-color: lightgray;
    border-style: none;
    font-size: large;
    position: absolute;
    top: 0;
    right: 0;
}

#cand {
    width: 120px;
    resize: none;
    outline: none;
    border-color: lightgray;
    border-style: none;
    overflow: hidden;
    font-size: large;
    position: absolute;
    top: 30px;
    right: 0;
    z-index: 1050;
}

.select-language {
    display: inline-block;
    position: absolute;
    top: 5px;
    right: 10px;
}

    .select-language > button {
        padding: 0px;
    }

.footer {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    text-align: center;
    color: #222;
    font-size: 16px;
    padding: 20px 5%;
    background-color: aliceblue;
}



.clear-margin-left-right {
    margin-left: 0px !important;
    margin-right: 0px !important;
}

.clear-padding-left-right {
    position: relative;
    padding-left: 0px !important;
    padding-right: 0px !important;
}

.custom-counter-style {
    color: #5f6368;
    font-size: 12px;
    margin-right: 5px;
}

.float-right {
    float: right !important;
}

@media (max-width: 1024px) {
    .logo1 {
        height: 60px
    }

    .logo2 {
        height: 40px
    }

    .logo-title {
        font-size: 20px;
        border: none;
        margin: 0;
    }
}

@media (max-width: 768px) {
    .left-logo-info {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
    }

    .logo1 {
        height: 80px
    }

    .logo2 {
        height: 30px
    }

    .logo-title {
        font-size: 20px;
        white-space: nowrap;
    }

    .content-wrapper {
        position: relative;
        padding: 0px 0px 0px 0px;
    }

    .hamnom-mode-label {
        font-size: small;
    }

    .footer {
        font-size: small;
        padding: 5px;
    }

    .btn-function-default {
        height: auto;
        font-size: small;
        padding: .0rem .25rem;
    }

    .tools {
        padding: 10px 0px;
    }

    #footer.active .footer {
        margin-left: 0px;
        z-index: 99;
    }

    #content.active {
        margin-left: 0px;
    }

    .tab-main {
        font-size: 12px;
    }

    #sidebar-overlay.active {
        display: inherit;
    }
}

@media only screen and (max-width: 600px) {
    #footer .footer {
       display:none !important;
    }
    .hamnom-mode-label {
        font-size: x-small;
    }
}

.spanner {
    display: flex;
    transition: all 0.3s;
    text-align: center;
    justify-content: center
}

.loader,
.loader:before,
.loader:after {
    color: gray;
    width: 15px;
    height: 15px;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation: load7 1.8s infinite ease-in-out;
    animation: load7 1.8s infinite ease-in-out;
}

.loader {
    font-size: 8px;
    position: relative;
    text-indent: -9999em;
    -webkit-transform: translateZ(0);
    -ms-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-animation-delay: -0.16s;
    animation-delay: -0.16s;
}

    .loader:before,
    .loader:after {
        content: '';
        position: absolute;
        top: 0;
    }

    .loader:before {
        left: -3.5em;
        -webkit-animation-delay: -0.32s;
        animation-delay: -0.32s;
    }

    .loader:after {
        left: 3.5em;
    }

@-webkit-keyframes load7 {
    0%, 80%, 100% {
        box-shadow: 15px 0 0px -10px
    }

    40% {
        box-shadow: 15px 0px 0 0;
    }
}

@keyframes load7 {
    0%, 80%, 100% {
        box-shadow: 15px 0 0px -10px
    }

    40% {
        box-shadow: 15px 0px 0 0;
    }
}

/* Typewriter effect styles */
.typewriter-text {
    overflow: hidden;
    border-right: 2px solid #333;
    white-space: pre-wrap;
    animation: typing 1.5s steps(40, end), blink-caret 0.75s step-end infinite;
}

.typewriter-container {
    font-family: 'NomNaTong', sans-serif;
    line-height: 1.2;
}

.typewriter-line {
    margin-bottom: 0;
    min-height: 1.2em;
    position: relative;
    padding: 0;
}

/* Sequential line animation */
.typewriter-line.completed {
    animation: lineComplete 0.1s ease-out;
}

@keyframes lineComplete {
    0% { background-color: rgba(255, 255, 0, 0.1); }
    100% { background-color: transparent; }
}

@keyframes typing {
    from { width: 0; }
    to { width: 100%; }
}

@keyframes blink-caret {
    from, to { border-color: transparent; }
    50% { border-color: #333; }
}

@keyframes fadeInChar {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* Smooth text appearance */
.text-appearing {
    transition: opacity 0.05s ease-in;
}

.text-appearing.fade-in {
    opacity: 1;
}

/* Cursor animation for typewriter effect */
/* .typewriter-cursor {
    display: inline-block;
    width: 2px;
    height: 1.2em;
    background-color: #333;
    animation: blink 0.6s infinite;
    margin-left: 2px;
    vertical-align: text-bottom;
} */

@keyframes blink {
    0%, 50% { opacity: 1; }
    51%, 100% { opacity: 0; }
}

/* Enhanced typewriter effect for better readability */
.typewriter-char {
    opacity: 0;
    animation: fadeInChar 0.01s ease-in forwards;
    /* display: inline-block; */
}

/* Smooth transition for text appearance */
#text_transcription, #text_interpretation {
    transition: all 0.1s ease-in-out;
}

/* Loading state for typewriter effect */
.typewriter-loading {
    opacity: 0.7;
    pointer-events: none;
}

/* Sequential processing indicator */
.typewriter-processing {
    position: relative;
}

.typewriter-processing::after {
    content: '';
    position: absolute;
    right: -20px;
    top: 50%;
    transform: translateY(-50%);
    width: 8px;
    height: 8px;
    border: 2px solid #333;
    border-top: 2px solid transparent;
    border-radius: 50%;
    animation: spin 0.6s linear infinite;
}

/* Independent processing indicator */
/* .typewriter-independent {
    position: relative;
    border-left: 3px solid #007bff;
    padding-left: 10px;
    margin-left: 5px;
} */

/* .typewriter-independent::before {
    content: '⚡';
    position: absolute;
    left: -8px;
    top: 0;
    font-size: 12px;
    color: #007bff;
} */

/* Parallel processing animation */
.typewriter-parallel {
    animation: parallelPulse 1.5s ease-in-out infinite;
}

@keyframes parallelPulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.9; }
}

@keyframes spin {
    0% { transform: translateY(-50%) rotate(0deg); }
    100% { transform: translateY(-50%) rotate(360deg); }
}


.select-group {
    display: flex;
    flex-direction: row;
    gap: 16px;
    flex-wrap: wrap;
}

.select-group select {
    flex: 1 1 0;
    min-width: 120;
}

@media (max-width: 767.98px) {
    .select-group {
        flex-direction: column;
        gap: 8px;
    }
    .select-group select {
        width: 100%;
        min-width: 100%;
    }
}
