﻿body {
}

#scan_container {
    background-color: black;
    text-shadow: 0 0 10px #000000;
}

    #scan_container video {
        display: none;
    }

    #scan_container.camera-open video {
        display: block;
        position: absolute;
        width: 100%;
        height: 100%;
        width: 200%;
        margin-left: -50%;
        object-fit: cover;
    }

    #scan_container img {
        display: none;
    }

    #scan_container.image-open img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

        #scan_container.image-open img.contain {
            object-fit: contain;
        }

#border_box {
    display: block;
    left: 0;
    top: 0;
    position: absolute;
    border-style: solid;
    background-color: transparent;
    height: 100%;
    width: 100%;
    position: absolute;
    border-color: rgba(0,0,0,0.75);
    border-top-width: 55px;
    border-bottom-width: 80px;
    border-right-width: 80px;
    border-left-width: 20px;
    pointer-events: none;
}

    #border_box #rotate_tip {
        display: none;
        position: absolute;
        color: white;
        text-align: center;
        margin: 0;
        top: 0;
        width: 100%;
        background-color: rgba(160,0,0,.9);
        padding: 5px;
    }

.image-open #border_box #rotate_tip {
    display: block;
}


.scanning.image-open #border_box #rotate_tip,
.scan-succeeded.image-open #border_box #rotate_tip,
.manual-entry.image-open #border_box #rotate_tip,
.scan-failed.image-open #border_box #rotate_tip {
    display: none;
}

.camera-open #vin_box {
    display: block;
}

#vin_box {
    display: none;
    position: absolute;
    width: 100%;
    /*top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;*/
    border-width: 5px;
    border-top-width: 30px;
    border-bottom-width: 60px;
    border-color: rgba(160,0,0,.9);
    border-style: solid;
    height: 100%;
}

    #vin_box h6 {
        position: absolute;
        top: -35px;
        width: 100%;
        text-align: center;
    }

    #vin_box p {
        position: absolute;
        bottom: -32px;
        width: 100%;
        color: white;
        margin: 0;
        text-align: center;
        height: 30px;
    }

#scan_lines {
    border-color: rgba(160,0,0,.3);
    border-width: 5px;
    border-top-width: 8px;
    border-bottom-width: 8px;
    border-style: solid;
    position: absolute;
    top: calc(50% - 40px);
    height: 80px;
    width: calc(100%);
    left: 0;
    right: 0;
    margin: auto;
}

#message_box {
    position: absolute;
    bottom: 0;
    width: 100%;
}

#scan_error_msg {
    display: none;
    /*position: absolute;*/
    bottom: 0;
    color: white;
    padding: 5px;
    background-color: rgba(160,0,0,.9);
    text-align: center;
}

.image-open #scan_error_msg {
    display: block;
    max-height: 50px;
    overflow: scroll;
}

#manual_entry_mode {
    display: none;
    /*position:absolute;*/
    bottom: 0;
    padding: 5px;
    text-shadow: none;
    width: 100%;
}

.image-open.manual-entry #manual_entry_mode {
    display: block;
}

.camera-open #camera_fallback, .img-open #camera_fallback {
    display: none;
}

#camera_fallback {
    height: 100%;
    width: 100%;
    position: absolute;
}

    #camera_fallback h4, #scan_container h4 {
        color: white;
        width: 100%;
        text-align: center;
    }

#scan_container h4 {
    position: absolute;
    margin-top: 10px;
    top: 0;
}

#camera_fallback h4 {
    position: relative;
    top: unset;
    font-size: 25px;
}

#camera_fallback p {
    color: lightgray;
}

#vin_help_link {
    position: absolute;
    bottom: 0;
    left: 20px;
    right: 80px;
    text-align: center;
    height: 68px;
}

    #vin_help_link .material-icons {
        vertical-align: bottom;
    }

.image-open #vin_help_link {
    display: none;
}

#vin_help.splash {
    z-index: 2;
    background-color: white;
    text-shadow: none;
    padding: 10px;
}

    #vin_help.splash h6 {
        color: black;
    }

#vin_help img {
    display: unset;
    height: 150px;
    object-fit: contain;
    width: 100%;
    margin: auto;
}

#vin_help .col {
    position: relative;
}

#vin_help #img_attribution {
    position: absolute;
    left: 10px;
    top: 140px;
    font-size: 12px;
}

#close_help {
    position: absolute;
    bottom: 20px;
    right: 30px;
    font-size: 20px;
}

.image-open #rotate_photo {
    display: block;
    left: 10px;
    bottom: 0;
    right: unset;
}

.scan-control {
    position: absolute;
    bottom: 10px;
    left: 0;
    right: 0;
    margin: auto;
}

#start_scan {
    display: none;
    height: 60px;
    width: 50%;
}

.image-open #start_scan {
    display: block;
}


.scanning #start_scan,
.scan-failed #start_scan,
.manual-entry #start_scan,
.scan-succeeded #start_scan {
    display: none;
}

#start_scan .material-icons {
    margin: 0 10px 3px;
    vertical-align: middle;
}



#scan_indicator {
    display: none;
}

.scanning #scan_indicator {
    display: block;
    width: 50%;
    margin-bottom: 5px;
}

#scan_failure_menu {
    display: none;
    width: 70%;
    margin-bottom: 3px;
}

.image-open.scan-failed #scan_failure_menu {
    display: block;
}

.scanning.image-open.scan-failed #scan_failure_menu {
    display: none;
}

#scan_failure_menu .btn.btn-large {
    padding: 0;
    width: 100%
}

#scan_failure_menu .material-icons {
    margin-bottom: 3px;
    vertical-align: middle;
}


#scan_results {
    display: none;
}

    #scan_results span {
        line-height: 2rem;
        font-size: 20px;
        height: 28px;
        white-space: nowrap;
        text-overflow: ellipsis;
    }

.scan-succeeded.image-open #scan_results,
.manual-entry.image-open #scan_results {
    display: block;
    color: white;
    width: 70%;
}

    .scan-succeeded.image-open #scan_results input[type=text],
    .manual-entry.image-open #scan_results input[type=text] {
        height: 28px;
        color: white;
        /*margin-left:10px;*/
        font-size: 20px;
        letter-spacing: 2px;
    }

#scan_results #decode_vin_button {
    font-size: 30px;
    margin-bottom: 9px;
    /*margin-left: -13px;*/
}

#data_result.col {
    padding-left: 0px;
}


.camera-open #camera_on {
    display: block;
    right: unset;
    width: 60px;
    top: 0px;
    color: rgba(255,0,0,.8);
}

#camera_on .material-icons {
    font-size: 36px;
    margin: auto;
}

#photo_control {
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    color: white;
    font-size: 16px;
    display: flex;
    align-items: center;
    width: 80px;
}

.camera-button {
    display: none;
    position: absolute;
    left: 0;
    right: 0;
    margin-top: 10px;
    margin-bottom: 10px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    width: 60px;
    color: white;
    font-size: 16px;
    line-height: 20px;
}

.camera-open #take_photo {
    display: block;
    margin: auto;
    height: 60px;
    width: 60px;
    border-radius: 30px;
    background-color: lightgray;
    border-width: 4px;
    border-style: solid;
    border-color: white;
}

#take_photo:active {
    background-color: lightyellow;
    border-color: yellow;
}

#cancel_retake,
#delete_photo {
    top: 0;
}

.image-open #delete_photo,
.image-open #retake_photo,
.image-open #rotate_photo {
    display: block;
}

.scanning #delete_photo,
.scanning #retake_photo,
.scanning.image-open #rotate_photo {
    display: none;
}

.retake-photo #cancel_retake {
    display: block;
}

#flashlight {
    display: none;
    /*display:block;*/ /*debug mode...*/
    bottom: 21%;
    color: lightgray;
    opacity: 0.8;
    width: 40px;
}

    #flashlight .icon {
        font-size: 30px;
        margin-right: 2px;
    }

    #flashlight.on {
        color: white;
        opacity: 1;
    }

.camera-open.flashlight #flashlight {
    display: block;
}

#finished {
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
}




/* PORTRAIT MODE */
@media only screen and (max-width: 450px) {
    #border_box {
        border-bottom-width: 80px;
        border-right-width: 0px;
        border-left-width: 0px;
        pointer-events: none;
        height: calc(100% - 80px);
    }

    /*#vin_box {
        width: 100%;
        left: 0px;
        right: 0px;
    }*/

    .camera-open #camera_on {
        width: 60px;
        top: 0px;
    }

    .image-open #rotate_photo {
        display: block;
        right: 5px;
        top: 0;
        left: unset;
        width: 50px;
        height: 50px;
        margin-top: 4px;
    }

    #vin_help_link {
        position: absolute;
        bottom: 80px;
        left: 0px;
        right: 0px;
    }

    #vin_help img {
        max-width: 100%;
    }

    #vin_help #vin_sample {
        max-width: 60%;
        margin: 10px;
    }

    .scan-control {
        bottom: 88px;
    }

    .image-open #start_scan {
        width: 70%;
        padding: 5px;
    }

    .scanning #scan_indicator {
        display: block;
        width: 70%;
        margin-bottom: 8px;
    }

    #scan_failure_menu {
        width: 100%;
        padding-bottom: 3px;
    }

    .scan-succeeded.image-open #scan_results,
    .manual-entry.image-open #scan_results {
        left: 0;
        width: 100%;
        bottom: 85px;
    }

    #photo_control {
        width: 100%;
        bottom: 0;
        top: unset;
        height: 80px;
        margin-right: 0;
        background: linear-gradient(to bottom, rgba(0,0,0,.8), rgba(0,0,0,.6), rgba(0,0,0,.6), rgba(0,0,0,.8))
    }

        #photo_control .camera-button {
            margin: auto;
            bottom: unset;
            top: unset;
            width: 14%;
        }

        #photo_control #take_photo.camera-button {
            width: 60px;
        }

        #photo_control #cancel_retake, #photo_control #delete_photo {
            right: unset;
            left: 8px;
        }

        #photo_control #flashlight {
            right: 22.5%;
            left: unset;
        }

        #photo_control #finished {
            right: 8px;
            left: unset;
        }
}

/* NARROW SCREENS */
@media only screen and (max-width: 380px) {
    #scan_results span {
        font-size: 18px;
    }

    .scan-succeeded.image-open #scan_results input[type=text],
    .manual-entry.image-open #scan_results input[type=text] {
        /*margin-left:10px;*/
        font-size: 18px;
        letter-spacing: 2px;
    }

    #scan_results #decode_vin_button {
        font-size: 30px;
    }
}
/* NARROW-ER SCREENS */
@media only screen and (max-width: 350px) {
    #scan_results span {
        font-size: 16px;
    }

    .scan-succeeded.image-open #scan_results input[type=text],
    .manual-entry.image-open #scan_results input[type=text] {
        font-size: 16px;
    }

    #scan_results #decode_vin_button {
        font-size: 30px;
    }
}
