#overlay_qrcode {
    position: absolute;
    left: 0; top: 0; right: 0; height: 100%;
    backdrop-filter: blur(10px);
    /* background-color: rgba(0,0,0,0.85); */
    background-color: rgba(255,255,255,0.3);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s;
    z-index: 2000;
}

#overlay_qrcode #qrcode {
    position: absolute;
    box-sizing: border-box;
    left: 50%; top: 50%; width: 36%; height: 36%;
    max-width: 36dvh; max-height: 36dvw;
    transform: translate(-50%,-50%);
    background-color: rgba(255,255,255,1);
    border-radius: 3rem;
    padding: 3rem;
    border: 0.8rem solid #007AFF;
}

#overlay_qrcode #qrcode > div:first-child {
    position: relative;
    box-sizing: border-box;
    left: 0; top: 0; width: 100%; height: 100%;
}

#overlay_qrcode #qrcode > div:first-child img {
    width: 100%; height: 100%;
}

body.qrcode #overlay_qrcode {
    opacity: 1;
    pointer-events: all;
}

#overlay_qrcode .btn_x {
    position: absolute;
    display: block;   
    box-sizing: border-box; 
    top: 1.6rem; right: 1.6rem; width: 7rem; height: 7rem;
    background-color: #007AFF;
    border-radius: 1.8rem;
    border: 0;
    cursor: pointer;
    z-index: 1000;
}

#overlay_qrcode .btn_x img { vertical-align: middle; }
#overlay_qrcode .btn_x:active { transform: translateY(1px); }


#overlay_qrcode #qrcode .info {
    position: absolute;
    left: 50%; bottom: 100%; transform: translate(-50%,-4rem);
    width: 200%;
    font-family: Verdana, Geneva, Tahoma, sans-serif;
    color: #007AFF;
    text-align: center;
}

#overlay_qrcode #qrcode .item_title {
    font-size: 6rem;
    font-weight: bold;
}

#overlay_qrcode #qrcode .hint {
    font-size: 3rem;
    white-space: nowrap;
}