﻿:root {
    --blue: #007bff;
    --indigo: #6610f2;
    --purple: #6f42c1;
    --pink: #e83e8c;
    --red: #dc3545;
    --orange: #fd7e14;
    --yellow: #ffc107;
    --green: #28a745;
    --teal: #20c997;
    --cyan: #17a2b8;
    --white: #fff;
    --gray: #6c757d;
    --gray-dark: #343a40;
    --primary: #007bff;
    --secondary: #6c757d;
    --success: #28a745;
    --info: #17a2b8;
    --warning: #ffc107;
    --danger: #dc3545;
    --light: #f8f9fa;
    --dark: #343a40;
    --breakpoint-xs: 0;
    --breakpoint-sm: 576px;
    --breakpoint-md: 768px;
    --breakpoint-lg: 992px;
    --breakpoint-xl: 1200px;
    --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

body {
    background-color: whitesmoke;
}

a {
    color: var(--color-red-ec);
    text-decoration: none;
    background-color: transparent;
    -webkit-text-decoration-skip: objects;
}

.jumbotron {
    padding: 2rem 2rem;
    margin-bottom: 2rem;
    background-color: var(--color-C-25);
    border-radius: 0.3rem;
}

.nav-link {
    border-radius : 10px 10px 10px 10px;
    background : var(--color-red-ec);
    color : whitesmoke !important;
    height : 45px;
    width : 100%;
}

    .nav-link:hover {
        border-color: var(--color-red-ec);
        box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(255, 0, 0, 0.6) !important;
    }

.btn-primary {
    color: #fff;
    background-color: var(--color-red-ec);
    border-color: var(--color-red-ec);
}

.btn-primary:hover {
    color: #fff;
    background-color: var(--color-red-ec);
    border-color: var(--color-red-ec);
}

.form-check-input {
    position: absolute;
    margin-top: 0.3rem;
    margin-left: 0.5rem !important;
    background-color: green !important;
    -ms-transform: scale(2); /* IE */
    -moz-transform: scale(2); /* FF */
    -webkit-transform: scale(2); /* Safari and Chrome */
    -o-transform: scale(2); /* Opera */
    padding: 10px;
}

    .form-check-input:checked {
        background-color: var(--color-red-ec);
        border-color: var(--color-red-ec);
    }

/** override*/
.custom-checkbox {
    position: relative;
    display: inline-block;
    left: 10px;
    background: none;
}

    .custom-checkbox > [type="checkbox"],
    .custom-checkbox > label {
        margin-bottom: 0px !important;
        -webkit-touch-callout: none;
        -webkit-user-select: none;
        -khtml-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
        transform: scale(2);
    }

        .custom-checkbox > [type="checkbox"]:not(:checked),
        .custom-checkbox > [type="checkbox"]:checked {
            position: absolute;
            left: -9999px;
        }

            .custom-checkbox > [type="checkbox"]:not(:checked) + label,
            .custom-checkbox > [type="checkbox"]:checked + label {
                position: relative;
                padding-left: 22px;
                cursor: pointer;
            }

                .custom-checkbox > [type="checkbox"]:not(:checked) + label:before,
                .custom-checkbox > [type="checkbox"]:checked + label:before {
                    content: '';
                    position: absolute;
                    left: 0;
                    top: 50%;
                    margin-top: -9px;
                    width: 20px;
                    height: 20px;
                    border: 1px solid var(--color-red-ec);
                    background: #ffffff;
                    border-radius: 2px;
                }

                .custom-checkbox > [type="checkbox"]:not(:checked) + label:after,
                .custom-checkbox > [type="checkbox"]:checked + label:after {
                    font-family: "Font Awesome 5 Pro";
                    font-weight: 900;
                    content: '\f14a';
                    position: absolute;
                    top: 50%;
                    margin-top: -11px;
                    left: 3px;
                    color: var(--color-red-ec);
                }

                .custom-checkbox > [type="checkbox"]:not(:checked) + label:after {
                    opacity: 0;
                    transform: scale(0);
                }

                .custom-checkbox > [type="checkbox"]:checked + label:after {
                    opacity: 1;
                    transform: scale(1);
                }

        .custom-checkbox > [type="checkbox"][data-indeterminate] + label:after,
        .custom-checkbox > [type="checkbox"][data-indeterminate] + label:after {
            font-family: "Font Awesome 5 Pro";
            font-weight: 900;
            content: '\f14a';
            left: 2px;
            opacity: 1;
            transform: scale(1);
        }

        .custom-checkbox > [type="checkbox"]:disabled:not(:checked) + label:before,
        .custom-checkbox > [type="checkbox"]:disabled:checked + label:before {
            box-shadow: none;
            background-color: var(--color-C-25);
            border-color: var(--color-C-25);
            cursor: not-allowed;
            opacity: 1;
            color: #dadada;
        }

        .custom-checkbox > [type="checkbox"]:disabled:checked + label:after {
            color: var(--color-C-25);
            cursor: not-allowed;
        }

        .custom-checkbox > [type="checkbox"]:disabled + label {
            color: #aaa;
            cursor: not-allowed;
        }

        .custom-checkbox > [type="checkbox"]:checked:focus + label:before,
        .custom-checkbox > [type="checkbox"]:not(:checked):focus + label:before {
            border: 1px solid var(--color-C-25);
        }

        .custom-checkbox > label:hover:before {
            border: 1px solid var(--color-red-ec) !important;
        }

        .custom-checkbox > [type="checkbox"]:disabled:not(:checked) + label:hover:before,
        .custom-checkbox > [type="checkbox"]:disabled:checked + label:hover:before {
            border: 1px solid #ced4da !important;
        }

.form-control:focus {
    border-color: var(--color-red-ec);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(255, 0, 0, 0.6) !important;
}

.form-control-file, .form-control-range {
    display: block;
    width: 100%;
    background: var(--color-red-ec);
    height: 35px;
    padding-top: 5px;
    padding-left: 5px;
    color: var(--color-A);
    border-radius: 10px 10px 10px 10px;
}

    .form-control-file::-webkit-file-upload-button {
        visibility: hidden;
    }

.form-control-file::before {
    content: 'Select some files';
    display: inline-block;
    background: linear-gradient(top, #f9f9f9, #e3e3e3);
    border: 1px solid #999;
    border-radius: 3px;
    padding: 5px 8px;
    outline: none;
    white-space: nowrap;
    -webkit-user-select: none;
    cursor: pointer;
    text-shadow: 1px 1px #fff;
    font-weight: 700;
    font-size: 10pt;
}

    .form-control-file:hover::before {
        border-color: black;
    }

    .form-control-file:active::before {
        background: -webkit-linear-gradient(top, #e3e3e3, #f9f9f9);
    }

.file {
    position: relative;
    display: inline-block;
    cursor: pointer;
    height: 2.5rem;
}

    .file input {
        min-width: 14rem;
        margin: 0;
        filter: alpha(opacity=0);
        opacity: 0;
    }

.file-custom {
    width: 320px;
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    z-index: 5;
    height: 2.5rem;
    padding: .5rem 1rem;
    line-height: 1.5;
    color: #555;
    background-color: #fff;
    border: .075rem solid #ddd;
    border-radius: .25rem;
    box-shadow: inset 0 .2rem .4rem rgba(0,0,0,.05);
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

    .file-custom::before {
        position: absolute;
        top: -.075rem;
        right: -.075rem;
        bottom: -.075rem;
        z-index: 6;
        display: block;
        content: "Browse";
        height: 2.5rem;
        padding: .5rem 1rem;
        line-height: 1.5;
        color: #555;
        background-color: #eee;
        border: .075rem solid #ddd;
        border-radius: 0 .25rem .25rem 0;
    }

    .file-custom::after {
        content: "Choose file...";
    }

.button-text-center {
    height: 35px !important;
    display: inline-block;
    margin-top: 0px;
    vertical-align: text-bottom;
    padding-right: 10px;
    padding-left: 10px;
}

.bg-light {
    background-color: var(--color-grey-ec) !important;
    border-bottom: 3px solid var(--color-C) !important;
}

.padding-none {
    padding : 0px;
}

.margin-none {
    padding: 0px;
}
.quiz-title {
    border: 2px solid var(--color-red-ec);
    padding: 20px;
    border-radius: 10px 10px 10px 10px;
    background: var(--color-red-ec);
    color: whitesmoke;
    text-align: center;
}

.quiz-label {
    height: calc(2.875rem + 2px);
    padding: 0.5rem 1rem;
    font-size: 1.25rem;
    line-height: 1.5;
    border-radius: 0.3rem;
}

.quiz-image {
    text-align: center;
}

.quiz-image-actual {
    border: 5px solid #ced4da;
    width: 100%;
    max-width: 320px;
    height: 440px;
    /*min-width: 260px;*/
}

.quiz-image-container {
    padding : 20px;
}

.quiz-question-hint {
    margin: 0 5px 5px 5px;
    padding: 10px;
    min-height: 40px;
    height: auto;
    float: left;
    border-radius: 5px;
    text-align: center;
    width: 100% !important;
    background-color: var(--warning-50);
    color: var(--warning);
}

.user-name-selected {
    font-weight: bold;
    font-size: 24px;
    text-align: center;
    color: var(--black);
}

.class-year-selected {
    font-weight: bold;
    font-size: 24px;
    text-align : center;
}

.class-year-max-count {
    color: var(--color-red-ec);
}

.question-number {
    border-radius: 10px 10px 10px 10px;
    font-weight: bold;
    color: white;
    background: var(--color-red-ec);
    height: 40px;
    margin-bottom: 15px;
    width: 100%;
    max-width: none;
    text-align: center;
    padding-top: 7px;
    font-size: 18px
}

.navigation-button {
    width: 100%;
    max-width : 185px;
}

.navigation-large-button {
    width: 100%;
    max-width : 400px;
}

.question-status {
    float: right;
    background: var(--color-red-ec);
    color: whitesmoke;
    padding: 5px;
    font-size: 9px;
    border-radius: 10px
}

.question-progress {
    height: auto;
    background: var(--color-B);
    text-align: center;
    opacity: 0.1;
    border-radius: 10px 10px 10px 10px;
}

.question-progress-active {
    background: var(--color-C);
    opacity: 1;
}

.question-progress:hover {
    cursor: pointer;
    background: var(--color-C);
    opacity: 1;
}

.question-progress .item {
    height: 30px;
    color: var(--color-A);
    border-bottom: 1px solid var(--color-F)
}

.question-progress .image {
    text-align : center;
    padding : 5px;
}

.image-thumbnail {
    height: 50px;
    width: 45px;
    border-radius: 5px 5px 5px 5px;
}

.ip-address {
    color : lightgrey;
    font-size : 12px;
    text-align : right;
}

.score-percentage {
    color: lightgrey;
    font-size: 12px;
    text-align: center;
}

.result-row {
    border-bottom: 1px solid var(--color-A);
    margin-bottom: 5px;
}

.result-score {
    text-align: center;
    font-size: 24px;
    padding-top: 10px;
    border-radius: 10px;
    font-weight: bold;
    color: var(--color-C);
}

.result-total-score {
    font-size: 24px;
    font-weight: bold;
    color: var(--black);
    text-align: center;
    border-radius: 10px 10px 10px 10px;
    padding-bottom: 10px;
}

.result-grading {
    color: whitesmoke;
    font-size: 24px;
    height: 60px;
    border-radius: 10px 10px 10px 10px !important;
}

.result-answer {
    font-weight: bold;
    color: var(--color-C)
}

.result-error {
   background : var(--color-A);
   color : var(--danger);
}

    .result-error .explanation {
        width: auto;
        float: left;
    }

    .result-error .icon {
        float: right;
        padding-top: 5px;
    }
    .result-grading[data-scoregrading="A+"], .result-grading[data-scoregrading="A"] {
        background-color: #2ae473;
    }

.result-grading[data-scoregrading="B+"], .result-grading[data-scoregrading="B"] {
    background-color: #cdf03a;
}

.result-grading[data-scoregrading="C+"], .result-grading[data-scoregrading="C"] {
    background-color: #ffe500;
}

    .result-grading[data-scoregrading="D+"], .result-grading[data-scoregrading="D"] {
        background-color: #ffc107;
    }

.result-grading[data-scoregrading="E+"], .result-grading[data-scoregrading="E"] {
    background-color: #d57643;
}

.result-grading[data-scoregrading="F"] {
    border-radius :0;
    background-color: #ff3925;
}

.result-score[data-score="5"] {
    border-radius: 0;
    border-bottom: 1px solid #2ae473;
}

.result-score[data-score="4"] {
    border-radius: 0;
    border-bottom: 1px solid #cdf03a;
}

.result-score[data-score="3"] {
    border-radius: 0;
    border-bottom: 1px solid #ffe500;
}

.result-score[data-score="2"] {
    border-radius: 0;
    border-bottom: 1px solid #ffc107;
}

.result-score[data-score="0"] {
    border-radius: 0;
    border-bottom: 1px solid #ff3925;
}

.browser-history-container {
    background : var(--color-A);
    width : 100%;
    height : auto;
    border-radius : 10px 10px 10px 10px;
}

.browser-history-item {
    margin: 0 5px 5px 5px;
    padding: 10px;
    min-height: 40px;
    height: auto;
    float: left;
    color: var(--color-C-25);
    border: 1px solid var(--color-B);
    background-color: var(--color-A);
    border-radius: 5px;
    cursor: pointer;
}

    .browser-history-item:hover {
        border: 1px solid var(--color-red-ec);
        background : var(--color-red-ec);
        color : whitesmoke;
    }

    .browser-history-item .text {
        float: left;
        padding-right: 40px
    }

    .browser-history-item .remove {
        float: right;
        color: var(--color-C);
    }


.countdown-clock {
    margin: 0 5px 5px 5px;
    padding: 10px;
    padding-top : 7px;
    min-height: 40px;
    height: 30px;
    float: left;
    color: var(--color-C-25);
    border: 1px solid var(--color-B);
    background-color: var(--color-A);
    border-radius: 5px;
    width : 100%;
    text-align : center;
}    