UNPKG

@microblink/blinkid-in-browser-sdk

Version:

A simple ID scanning library for WebAssembly-enabled browsers.

746 lines (737 loc) 38 kB
@charset "UTF-8"; /** * Copyright (c) Microblink Ltd. All rights reserved. */ /** * Copyright (c) Microblink Ltd. All rights reserved. * * SASS variables, not customizable via CSS variables */ /** * Camera experiences */ /** * Copyright (c) Microblink Ltd. All rights reserved. */ /* --- Reticle --- */ @keyframes reticle-rotation { 100% { transform: rotate(360deg); } } @keyframes reticle-horizontal-shrink { 0% { height: 50%; top: 25%; } 50% { height: 30%; top: 35%; } 80% { height: 30%; top: 35%; } 100% { height: 50%; top: 25%; } } @keyframes reticle-cursor-horizontal-flip { 0% { opacity: 0; } 100% { opacity: 0; } } @keyframes reticle-horizontal-flip { 0% { border-radius: 0; background-color: transparent; -webkit-backdrop-filter: none; backdrop-filter: none; background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOTYiIGhlaWdodD0iNjAiIHZpZXdCb3g9IjAgMCA5NiA2MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik02IDBDMi42ODYyOSAwIDAgMi42ODYyOSAwIDZWNTRDMCA1Ny4zMTM3IDIuNjg2MjkgNjAgNiA2MEg5MEM5My4zMTM3IDYwIDk2IDU3LjMxMzcgOTYgNTRWNkM5NiAyLjY4NjI5IDkzLjMxMzcgMCA5MCAwSDZaTTQ4LjY3MTMgMTAuOEM0Ny4zMDY0IDEwLjggNDYuMiAxMS44NzQ1IDQ2LjIgMTMuMkM0Ni4yIDE0LjUyNTUgNDcuMzA2NCAxNS42IDQ4LjY3MTMgMTUuNkg4Mi4xMjg3QzgzLjQ5MzYgMTUuNiA4NC42IDE0LjUyNTUgODQuNiAxMy4yQzg0LjYgMTEuODc0NSA4My40OTM2IDEwLjggODIuMTI4NyAxMC44SDQ4LjY3MTNaTTcyIDQ5LjJDNzIgNDcuODc0NSA3My4wNTgyIDQ2LjggNzQuMzYzNiA0Ni44SDgxLjYzNjRDODIuOTQxOCA0Ni44IDg0IDQ3Ljg3NDUgODQgNDkuMkM4NCA1MC41MjU1IDgyLjk0MTggNTEuNiA4MS42MzY0IDUxLjZINzQuMzYzNkM3My4wNTgyIDUxLjYgNzIgNTAuNTI1NSA3MiA0OS4yWk00OC43MDE5IDMzLjZDNDcuMzIwMSAzMy42IDQ2LjIgMzQuNjc0NSA0Ni4yIDM2QzQ2LjIgMzcuMzI1NSA0Ny4zMjAxIDM4LjQgNDguNzAxOSAzOC40SDY0LjA5ODFDNjUuNDc5OSAzOC40IDY2LjYgMzcuMzI1NSA2Ni42IDM2QzY2LjYgMzQuNjc0NSA2NS40Nzk5IDMzLjYgNjQuMDk4MSAzMy42SDQ4LjcwMTlaTTQ2LjIgMjQuNkM0Ni4yIDIzLjI3NDUgNDcuMzA2NCAyMi4yIDQ4LjY3MTMgMjIuMkg4Mi4xMjg3QzgzLjQ5MzYgMjIuMiA4NC42IDIzLjI3NDUgODQuNiAyNC42Qzg0LjYgMjUuOTI1NSA4My40OTM2IDI3IDgyLjEyODcgMjdINDguNjcxM0M0Ny4zMDY0IDI3IDQ2LjIgMjUuOTI1NSA0Ni4yIDI0LjZaTTEzLjI2NDggMTAuOEMxMS41NzIxIDEwLjggMTAuMiAxMi4yMDc0IDEwLjIgMTMuOTQzNlYzNy45NjgzQzEwLjIgMzkuMDg1NCAxMC43NjkgNDAuMDY1NSAxMS42MjA2IDQwLjYyMTVDMTEuODg1OSA0MC43OTQ3IDEyLjIxMDMgNDAuODQ0NyAxMi41MTM1IDQwLjc1OUMxMi44MTY4IDQwLjY3MzQgMTMuMDcwNSA0MC40NjAyIDEzLjIxMiA0MC4xNzIxQzE0LjU5NyAzNy4zNTI1IDE2Ljg4OTkgMzUuMTUwOSAxOS42NDk1IDM0LjAxMDFDMjAuMDIzNSAzMy44NTU1IDIwLjI4NjcgMzMuNTA1NiAyMC4zMzc1IDMzLjA5NTRDMjAuMzg4NCAzMi42ODUyIDIwLjIxOSAzMi4yNzg4IDE5Ljg5NDggMzIuMDMzMUMxOC4xNzIzIDMwLjcyODEgMTcuMDU1OCAyOC42MjY0IDE3LjA1NTggMjYuMjUzOUMxNy4wNTU4IDIyLjI5MTUgMjAuMTcwMSAxOS4wODkyIDI0IDE5LjA4OTJDMjcuODI5OSAxOS4wODkyIDMwLjk0NDIgMjIuMjkxNSAzMC45NDQyIDI2LjI1MzlDMzAuOTQ0MiAyOC42MjY0IDI5LjgyNzcgMzAuNzI4MSAyOC4xMDUyIDMyLjAzMzFDMjcuNzgxIDMyLjI3ODggMjcuNjExNiAzMi42ODUyIDI3LjY2MjUgMzMuMDk1NEMyNy43MTMzIDMzLjUwNTYgMjcuOTc2NSAzMy44NTU1IDI4LjM1MDUgMzQuMDEwMUMzMS4xMTAxIDM1LjE1MDkgMzMuNDAzIDM3LjM1MjUgMzQuNzg4IDQwLjE3MjFDMzQuOTI5NSA0MC40NjAyIDM1LjE4MzIgNDAuNjczNCAzNS40ODY0IDQwLjc1OUMzNS43ODk3IDQwLjg0NDcgMzYuMTE0MSA0MC43OTQ3IDM2LjM3OTQgNDAuNjIxNUMzNy4yMzEgNDAuMDY1NSAzNy44IDM5LjA4NTQgMzcuOCAzNy45NjgzVjEzLjk0MzZDMzcuOCAxMi4yMDc0IDM2LjQyNzkgMTAuOCAzNC43MzUyIDEwLjhIMTMuMjY0OFoiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPgoK); opacity: 0; } 5% { opacity: 1; } 15% { transform: rotateY(0deg); background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOTYiIGhlaWdodD0iNjAiIHZpZXdCb3g9IjAgMCA5NiA2MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik02IDBDMi42ODYyOSAwIDAgMi42ODYyOSAwIDZWNTRDMCA1Ny4zMTM3IDIuNjg2MjkgNjAgNiA2MEg5MEM5My4zMTM3IDYwIDk2IDU3LjMxMzcgOTYgNTRWNkM5NiAyLjY4NjI5IDkzLjMxMzcgMCA5MCAwSDZaTTQ4LjY3MTMgMTAuOEM0Ny4zMDY0IDEwLjggNDYuMiAxMS44NzQ1IDQ2LjIgMTMuMkM0Ni4yIDE0LjUyNTUgNDcuMzA2NCAxNS42IDQ4LjY3MTMgMTUuNkg4Mi4xMjg3QzgzLjQ5MzYgMTUuNiA4NC42IDE0LjUyNTUgODQuNiAxMy4yQzg0LjYgMTEuODc0NSA4My40OTM2IDEwLjggODIuMTI4NyAxMC44SDQ4LjY3MTNaTTcyIDQ5LjJDNzIgNDcuODc0NSA3My4wNTgyIDQ2LjggNzQuMzYzNiA0Ni44SDgxLjYzNjRDODIuOTQxOCA0Ni44IDg0IDQ3Ljg3NDUgODQgNDkuMkM4NCA1MC41MjU1IDgyLjk0MTggNTEuNiA4MS42MzY0IDUxLjZINzQuMzYzNkM3My4wNTgyIDUxLjYgNzIgNTAuNTI1NSA3MiA0OS4yWk00OC43MDE5IDMzLjZDNDcuMzIwMSAzMy42IDQ2LjIgMzQuNjc0NSA0Ni4yIDM2QzQ2LjIgMzcuMzI1NSA0Ny4zMjAxIDM4LjQgNDguNzAxOSAzOC40SDY0LjA5ODFDNjUuNDc5OSAzOC40IDY2LjYgMzcuMzI1NSA2Ni42IDM2QzY2LjYgMzQuNjc0NSA2NS40Nzk5IDMzLjYgNjQuMDk4MSAzMy42SDQ4LjcwMTlaTTQ2LjIgMjQuNkM0Ni4yIDIzLjI3NDUgNDcuMzA2NCAyMi4yIDQ4LjY3MTMgMjIuMkg4Mi4xMjg3QzgzLjQ5MzYgMjIuMiA4NC42IDIzLjI3NDUgODQuNiAyNC42Qzg0LjYgMjUuOTI1NSA4My40OTM2IDI3IDgyLjEyODcgMjdINDguNjcxM0M0Ny4zMDY0IDI3IDQ2LjIgMjUuOTI1NSA0Ni4yIDI0LjZaTTEzLjI2NDggMTAuOEMxMS41NzIxIDEwLjggMTAuMiAxMi4yMDc0IDEwLjIgMTMuOTQzNlYzNy45NjgzQzEwLjIgMzkuMDg1NCAxMC43NjkgNDAuMDY1NSAxMS42MjA2IDQwLjYyMTVDMTEuODg1OSA0MC43OTQ3IDEyLjIxMDMgNDAuODQ0NyAxMi41MTM1IDQwLjc1OUMxMi44MTY4IDQwLjY3MzQgMTMuMDcwNSA0MC40NjAyIDEzLjIxMiA0MC4xNzIxQzE0LjU5NyAzNy4zNTI1IDE2Ljg4OTkgMzUuMTUwOSAxOS42NDk1IDM0LjAxMDFDMjAuMDIzNSAzMy44NTU1IDIwLjI4NjcgMzMuNTA1NiAyMC4zMzc1IDMzLjA5NTRDMjAuMzg4NCAzMi42ODUyIDIwLjIxOSAzMi4yNzg4IDE5Ljg5NDggMzIuMDMzMUMxOC4xNzIzIDMwLjcyODEgMTcuMDU1OCAyOC42MjY0IDE3LjA1NTggMjYuMjUzOUMxNy4wNTU4IDIyLjI5MTUgMjAuMTcwMSAxOS4wODkyIDI0IDE5LjA4OTJDMjcuODI5OSAxOS4wODkyIDMwLjk0NDIgMjIuMjkxNSAzMC45NDQyIDI2LjI1MzlDMzAuOTQ0MiAyOC42MjY0IDI5LjgyNzcgMzAuNzI4MSAyOC4xMDUyIDMyLjAzMzFDMjcuNzgxIDMyLjI3ODggMjcuNjExNiAzMi42ODUyIDI3LjY2MjUgMzMuMDk1NEMyNy43MTMzIDMzLjUwNTYgMjcuOTc2NSAzMy44NTU1IDI4LjM1MDUgMzQuMDEwMUMzMS4xMTAxIDM1LjE1MDkgMzMuNDAzIDM3LjM1MjUgMzQuNzg4IDQwLjE3MjFDMzQuOTI5NSA0MC40NjAyIDM1LjE4MzIgNDAuNjczNCAzNS40ODY0IDQwLjc1OUMzNS43ODk3IDQwLjg0NDcgMzYuMTE0MSA0MC43OTQ3IDM2LjM3OTQgNDAuNjIxNUMzNy4yMzEgNDAuMDY1NSAzNy44IDM5LjA4NTQgMzcuOCAzNy45NjgzVjEzLjk0MzZDMzcuOCAxMi4yMDc0IDM2LjQyNzkgMTAuOCAzNC43MzUyIDEwLjhIMTMuMjY0OFoiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPgoK); } 20% { transform: rotateY(90deg); background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOTYiIGhlaWdodD0iNjAiIHZpZXdCb3g9IjAgMCA5NiA2MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0wIDZDMCAyLjY4NjI5IDIuNjg2MjkgMCA2IDBIOTBDOTMuMzEzNyAwIDk2IDIuNjg2MjkgOTYgNlY1NEM5NiA1Ny4zMTM3IDkzLjMxMzcgNjAgOTAgNjBINkMyLjY4NjI5IDYwIDAgNTcuMzEzNyAwIDU0VjZaTTEwLjIgMTMuOEMxMC4yIDEyLjQ3NDUgMTEuMzEwMyAxMS40IDEyLjY4IDExLjRIODIuMTJDODMuNDg5NyAxMS40IDg0LjYgMTIuNDc0NSA4NC42IDEzLjhDODQuNiAxNS4xMjU1IDgzLjQ4OTcgMTYuMiA4Mi4xMiAxNi4ySDEyLjY4QzExLjMxMDMgMTYuMiAxMC4yIDE1LjEyNTUgMTAuMiAxMy44Wk04MC43IDQ5LjJDODIuODUzOSA0OS4yIDg0LjYgNDcuNDUzOSA4NC42IDQ1LjNDODQuNiA0My4xNDYxIDgyLjg1MzkgNDEuNCA4MC43IDQxLjRDNzguNTQ2MSA0MS40IDc2LjggNDMuMTQ2MSA3Ni44IDQ1LjNDNzYuOCA0Ny40NTM5IDc4LjU0NjEgNDkuMiA4MC43IDQ5LjJaTTEwLjIgNDYuMkMxMC4yIDQ0Ljg3NDUgMTEuMjk3NSA0My44IDEyLjY1MTQgNDMuOEgzNC4xNDg2QzM1LjUwMjUgNDMuOCAzNi42IDQ0Ljg3NDUgMzYuNiA0Ni4yQzM2LjYgNDcuNTI1NSAzNS41MDI1IDQ4LjYgMzQuMTQ4NiA0OC42SDEyLjY1MTRDMTEuMjk3NSA0OC42IDEwLjIgNDcuNTI1NSAxMC4yIDQ2LjJaTTEyLjY3NDIgMzIuNEMxMS4zMDc3IDMyLjQgMTAuMiAzMy40NzQ1IDEwLjIgMzQuOEMxMC4yIDM2LjEyNTUgMTEuMzA3NyAzNy4yIDEyLjY3NDIgMzcuMkg0My4xMjU4QzQ0LjQ5MjMgMzcuMiA0NS42IDM2LjEyNTUgNDUuNiAzNC44QzQ1LjYgMzMuNDc0NSA0NC40OTIzIDMyLjQgNDMuMTI1OCAzMi40SDEyLjY3NDJaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K); } 25% { transform: rotateY(-15deg); background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOTYiIGhlaWdodD0iNjAiIHZpZXdCb3g9IjAgMCA5NiA2MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0wIDZDMCAyLjY4NjI5IDIuNjg2MjkgMCA2IDBIOTBDOTMuMzEzNyAwIDk2IDIuNjg2MjkgOTYgNlY1NEM5NiA1Ny4zMTM3IDkzLjMxMzcgNjAgOTAgNjBINkMyLjY4NjI5IDYwIDAgNTcuMzEzNyAwIDU0VjZaTTEwLjIgMTMuOEMxMC4yIDEyLjQ3NDUgMTEuMzEwMyAxMS40IDEyLjY4IDExLjRIODIuMTJDODMuNDg5NyAxMS40IDg0LjYgMTIuNDc0NSA4NC42IDEzLjhDODQuNiAxNS4xMjU1IDgzLjQ4OTcgMTYuMiA4Mi4xMiAxNi4ySDEyLjY4QzExLjMxMDMgMTYuMiAxMC4yIDE1LjEyNTUgMTAuMiAxMy44Wk04MC43IDQ5LjJDODIuODUzOSA0OS4yIDg0LjYgNDcuNDUzOSA4NC42IDQ1LjNDODQuNiA0My4xNDYxIDgyLjg1MzkgNDEuNCA4MC43IDQxLjRDNzguNTQ2MSA0MS40IDc2LjggNDMuMTQ2MSA3Ni44IDQ1LjNDNzYuOCA0Ny40NTM5IDc4LjU0NjEgNDkuMiA4MC43IDQ5LjJaTTEwLjIgNDYuMkMxMC4yIDQ0Ljg3NDUgMTEuMjk3NSA0My44IDEyLjY1MTQgNDMuOEgzNC4xNDg2QzM1LjUwMjUgNDMuOCAzNi42IDQ0Ljg3NDUgMzYuNiA0Ni4yQzM2LjYgNDcuNTI1NSAzNS41MDI1IDQ4LjYgMzQuMTQ4NiA0OC42SDEyLjY1MTRDMTEuMjk3NSA0OC42IDEwLjIgNDcuNTI1NSAxMC4yIDQ2LjJaTTEyLjY3NDIgMzIuNEMxMS4zMDc3IDMyLjQgMTAuMiAzMy40NzQ1IDEwLjIgMzQuOEMxMC4yIDM2LjEyNTUgMTEuMzA3NyAzNy4yIDEyLjY3NDIgMzcuMkg0My4xMjU4QzQ0LjQ5MjMgMzcuMiA0NS42IDM2LjEyNTUgNDUuNiAzNC44QzQ1LjYgMzMuNDc0NSA0NC40OTIzIDMyLjQgNDMuMTI1OCAzMi40SDEyLjY3NDJaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K); } 30% { transform: rotateY(0deg); } 95% { opacity: 1; } 100% { background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOTYiIGhlaWdodD0iNjAiIHZpZXdCb3g9IjAgMCA5NiA2MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0wIDZDMCAyLjY4NjI5IDIuNjg2MjkgMCA2IDBIOTBDOTMuMzEzNyAwIDk2IDIuNjg2MjkgOTYgNlY1NEM5NiA1Ny4zMTM3IDkzLjMxMzcgNjAgOTAgNjBINkMyLjY4NjI5IDYwIDAgNTcuMzEzNyAwIDU0VjZaTTEwLjIgMTMuOEMxMC4yIDEyLjQ3NDUgMTEuMzEwMyAxMS40IDEyLjY4IDExLjRIODIuMTJDODMuNDg5NyAxMS40IDg0LjYgMTIuNDc0NSA4NC42IDEzLjhDODQuNiAxNS4xMjU1IDgzLjQ4OTcgMTYuMiA4Mi4xMiAxNi4ySDEyLjY4QzExLjMxMDMgMTYuMiAxMC4yIDE1LjEyNTUgMTAuMiAxMy44Wk04MC43IDQ5LjJDODIuODUzOSA0OS4yIDg0LjYgNDcuNDUzOSA4NC42IDQ1LjNDODQuNiA0My4xNDYxIDgyLjg1MzkgNDEuNCA4MC43IDQxLjRDNzguNTQ2MSA0MS40IDc2LjggNDMuMTQ2MSA3Ni44IDQ1LjNDNzYuOCA0Ny40NTM5IDc4LjU0NjEgNDkuMiA4MC43IDQ5LjJaTTEwLjIgNDYuMkMxMC4yIDQ0Ljg3NDUgMTEuMjk3NSA0My44IDEyLjY1MTQgNDMuOEgzNC4xNDg2QzM1LjUwMjUgNDMuOCAzNi42IDQ0Ljg3NDUgMzYuNiA0Ni4yQzM2LjYgNDcuNTI1NSAzNS41MDI1IDQ4LjYgMzQuMTQ4NiA0OC42SDEyLjY1MTRDMTEuMjk3NSA0OC42IDEwLjIgNDcuNTI1NSAxMC4yIDQ2LjJaTTEyLjY3NDIgMzIuNEMxMS4zMDc3IDMyLjQgMTAuMiAzMy40NzQ1IDEwLjIgMzQuOEMxMC4yIDM2LjEyNTUgMTEuMzA3NyAzNy4yIDEyLjY3NDIgMzcuMkg0My4xMjU4QzQ0LjQ5MjMgMzcuMiA0NS42IDM2LjEyNTUgNDUuNiAzNC44QzQ1LjYgMzMuNDc0NSA0NC40OTIzIDMyLjQgNDMuMTI1OCAzMi40SDEyLjY3NDJaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K); border-radius: 0; -webkit-backdrop-filter: none; backdrop-filter: none; background-color: transparent; opacity: 0; } } :host .reticle { box-sizing: border-box; position: relative; width: 100%; height: 100%; border-radius: 50%; background-color: rgba(107, 114, 128, 0.3); background-position: center; background-size: contain; background-repeat: no-repeat; -webkit-backdrop-filter: blur(var(--mb-blur-filter)); backdrop-filter: blur(var(--mb-blur-filter)); transition: all 0.4s ease; } :host .reticle__cursor { box-sizing: border-box; display: block; position: absolute; width: 50%; height: 50%; left: 25%; top: 25%; border-radius: 50%; border-color: transparent; border-style: solid; border-width: 4px; transition: all 125ms cubic-bezier(0.42, 0.01, 0.35, 1.74); background-position: center; background-size: contain; background-repeat: no-repeat; } :host .reticle__cursor::before { content: ""; position: absolute; width: 4px; height: 4px; top: 50%; left: 50%; transition: all 0.2s ease; transform-origin: center; transform: translate(-50%, -50%); background-color: #ffffff; border-radius: 50%; } :host .reticle__cursor::after { content: ""; position: absolute; top: -4px; left: -4px; width: calc(50% + 4px); height: calc(50% + 4px); display: block; border-left-width: 4px; border-left-style: solid; border-left-color: #ffffff; border-top-width: 4px; border-top-style: solid; border-top-color: #ffffff; border-top-left-radius: 100%; transition: all 0.2s ease; opacity: 0; filter: drop-shadow(0 0 4px rgba(0, 0, 0, 0.1)); } :host .reticle__el { box-sizing: border-box; } :host .reticle__done { display: block; position: absolute; width: 50%; height: 50%; left: 25%; top: 25%; transition: all 125ms cubic-bezier(0.42, 0.01, 0.35, 1.74); transform-origin: center; transform: rotate(15deg) translateY(-5%); opacity: 0; } :host .reticle.is-default ~ .label[data-message=is-default], :host .reticle.is-detection ~ .label[data-message=is-detection], :host .reticle.is-classification ~ .label[data-message=is-classification], :host .reticle.is-done ~ .label[data-message=is-done], :host .reticle.is-done-all ~ .label[data-message=is-done-all], :host .reticle.is-flip ~ .label[data-message=is-flip], :host .reticle.is-error-move-farther ~ .label[data-message=is-error-move-farther], :host .reticle.is-error-move-closer ~ .label[data-message=is-error-move-closer], :host .reticle.is-error-adjust-angle ~ .label[data-message=is-error-adjust-angle] { opacity: 1; visibility: visible; margin: 8px 0 0 0; } :host .reticle.is-default .reticle__cursor { animation: reticle-rotation 1000ms ease-in-out infinite; border-style: none; } :host .reticle.is-default .reticle__el { position: absolute; display: block; width: 50%; height: 50%; overflow: hidden; } :host .reticle.is-default .reticle__el::after, :host .reticle.is-default .reticle__el::before { content: ""; position: absolute; display: block; width: 100%; height: 100%; } :host .reticle.is-default .reticle__el:nth-child(1) { top: 0; left: 0; } :host .reticle.is-default .reticle__el:nth-child(1)::after, :host .reticle.is-default .reticle__el:nth-child(1)::before { top: 0; left: 0; border-top: 4px solid rgba(255, 255, 255, 0.5); border-left: 4px solid rgba(255, 255, 255, 0.5); border-top-left-radius: 100%; transform-origin: bottom right; } :host .reticle.is-default .reticle__el:nth-child(1)::after { transform: rotate(67.5deg); } :host .reticle.is-default .reticle__el:nth-child(1)::before { transform: rotate(-67.5deg); } :host .reticle.is-default .reticle__el:nth-child(2) { top: 0; right: 0; } :host .reticle.is-default .reticle__el:nth-child(2)::after, :host .reticle.is-default .reticle__el:nth-child(2)::before { top: 0; right: 0; border-top: 4px solid rgba(255, 255, 255, 0.5); border-right: 4px solid rgba(255, 255, 255, 0.5); border-top-right-radius: 100%; transform-origin: bottom left; } :host .reticle.is-default .reticle__el:nth-child(2)::after { transform: rotate(67.5deg); } :host .reticle.is-default .reticle__el:nth-child(2)::before { transform: rotate(-67.5deg); } :host .reticle.is-default .reticle__el:nth-child(3) { bottom: 0; right: 0; } :host .reticle.is-default .reticle__el:nth-child(3)::after, :host .reticle.is-default .reticle__el:nth-child(3)::before { bottom: 0; right: 0; transform-origin: top left; border-bottom: 4px solid rgba(255, 255, 255, 0.5); border-right: 4px solid rgba(255, 255, 255, 0.5); border-bottom-right-radius: 100%; } :host .reticle.is-default .reticle__el:nth-child(3)::after { transform: rotate(67.5deg); } :host .reticle.is-default .reticle__el:nth-child(3)::before { transform: rotate(-67.5deg); } :host .reticle.is-default .reticle__el:nth-child(4) { bottom: 0; left: 0; } :host .reticle.is-default .reticle__el:nth-child(4)::after, :host .reticle.is-default .reticle__el:nth-child(4)::before { bottom: 0; left: 0; border-bottom: 4px solid rgba(255, 255, 255, 0.5); border-left: 4px solid rgba(255, 255, 255, 0.5); border-bottom-left-radius: 100%; transform-origin: top right; } :host .reticle.is-default .reticle__el:nth-child(4)::after { transform: rotate(67.5deg); } :host .reticle.is-default .reticle__el:nth-child(4)::before { transform: rotate(-67.5deg); } :host .reticle.is-detection .reticle__cursor { border-color: rgba(255, 255, 255, 0.75); } :host .reticle.is-classification .reticle__cursor { animation: reticle-rotation 250ms cubic-bezier(0.4, 0.02, 1, 1) infinite; border-style: solid; border-color: rgba(255, 255, 255, 0.25); } :host .reticle.is-classification .reticle__cursor::after { opacity: 1; } :host .reticle.is-flip { animation: reticle-horizontal-flip 3.5s cubic-bezier(0.4, 0.02, 1, 1) both; } :host .reticle.is-flip .reticle__cursor { transform-style: preserve-3d; animation: reticle-cursor-horizontal-flip 3.5s cubic-bezier(0.4, 0.02, 1, 1) both; } :host .reticle.is-done, :host .reticle.is-done-all { background-color: #ffffff; box-shadow: 0px 2px 24px rgba(0, 0, 0, 0.1), 0px 2px 8px rgba(0, 0, 0, 0.05); transition: all 125ms cubic-bezier(0.4, 0.02, 1, 1); } :host .reticle.is-done .reticle__done, :host .reticle.is-done-all .reticle__done { transform: rotate(0) translateY(0); opacity: 1; } :host .reticle.is-done-all .reticle__cursor::before { width: 150vw; height: 150vh; opacity: 0; transition: all 200ms ease; } :host .reticle.is-error-move-farther { background-color: rgba(255, 45, 85, 0.75); } :host .reticle.is-error-move-farther .reticle__cursor { border-color: rgba(255, 255, 255, 0.75); width: 40%; height: 40%; left: 30%; top: 30%; transition: all 125ms cubic-bezier(0.42, 0.01, 0.35, 1.74); } :host .reticle.is-error-move-closer { background-color: rgba(255, 45, 85, 0.75); } :host .reticle.is-error-move-closer .reticle__cursor { border-color: rgba(255, 255, 255, 0.75); width: 60%; height: 60%; left: 20%; top: 20%; transition: all 125ms cubic-bezier(0.42, 0.01, 0.35, 1.74); } :host .reticle.is-error-adjust-angle { background-color: rgba(255, 45, 85, 0.75); } :host .reticle.is-error-adjust-angle .reticle__cursor { border-color: rgba(255, 255, 255, 0.75); animation: reticle-horizontal-shrink 600ms cubic-bezier(0.42, 0.01, 0.35, 1.74); } /** * Copyright (c) Microblink Ltd. All rights reserved. */ /* --- Rectangle --- */ /** * Copyright (c) Microblink Ltd. All rights reserved. * * SASS variables, not customizable via CSS variables */ /** * Camera experiences */ @keyframes rectangle-shrink-animation { 0% { transform: scale(1); } 50% { transform: scale(0.95); } 100% { transform: scale(1); } } @keyframes scanning-line-animation { 0% { top: -60%; } 45% { transform: matrix(1, 0, 0, 1, 0, 0); } 50% { top: 120%; transform: matrix(1, 0, 0, -1, 0, 0); } 95% { transform: matrix(1, 0, 0, -1, 0, 0); } 100% { top: -60%; transform: matrix(1, 0, 0, 1, 0, 0); } } :host #barcode .rectangle { width: 100%; height: 100%; box-sizing: border-box; position: relative; background-color: transparent; background-position: center; background-repeat: no-repeat; transition: all 0.3s ease-in; } :host #barcode .rectangle__cursor { width: 100%; height: 100%; border-radius: 8px; position: relative; } :host #barcode .rectangle__el { box-sizing: border-box; position: absolute; display: block; width: 50%; height: 50%; overflow: hidden; } :host #barcode .rectangle__el::after, :host #barcode .rectangle__el::before { content: ""; position: absolute; display: block; width: 32px; height: 32px; } :host #barcode .rectangle__el:nth-child(1) { top: 0; left: 0; } :host #barcode .rectangle__el:nth-child(1)::after, :host #barcode .rectangle__el:nth-child(1)::before { top: 0; left: 0; border-top: 4px solid white; border-left: 4px solid white; border-top-left-radius: 8px; box-shadow: inset 3px 3px 8px -6px rgba(0, 0, 0, 0.2), -3px -3px 8px -6px rgba(0, 0, 0, 0.2); transition: border-color 0.15s linear; } :host #barcode .rectangle__el:nth-child(2) { top: 0; right: 0; } :host #barcode .rectangle__el:nth-child(2)::after, :host #barcode .rectangle__el:nth-child(2)::before { top: 0; right: 0; border-top: 4px solid white; border-right: 4px solid white; border-top-right-radius: 8px; box-shadow: inset -3px 3px 8px -6px rgba(0, 0, 0, 0.2), 3px -3px 8px -6px rgba(0, 0, 0, 0.2); transition: border-color 0.15s linear; } :host #barcode .rectangle__el:nth-child(3) { bottom: 0; right: 0; } :host #barcode .rectangle__el:nth-child(3)::after, :host #barcode .rectangle__el:nth-child(3)::before { bottom: 0; right: 0; border-bottom: 4px solid white; border-right: 4px solid white; border-bottom-right-radius: 8px; box-shadow: inset -3px -3px 8px -6px rgba(0, 0, 0, 0.2), 3px 3px 8px -6px rgba(0, 0, 0, 0.2); transition: border-color 0.15s linear; } :host #barcode .rectangle__el:nth-child(4) { bottom: 0; left: 0; } :host #barcode .rectangle__el:nth-child(4)::after, :host #barcode .rectangle__el:nth-child(4)::before { bottom: 0; left: 0; border-bottom: 4px solid white; border-left: 4px solid white; border-bottom-left-radius: 8px; box-shadow: inset 3px -3px 8px -6px rgba(0, 0, 0, 0.2), -3px 3px 8px -6px rgba(0, 0, 0, 0.2); transition: border-color 0.15s linear; } :host #barcode .rectangle.is-default ~ .label[data-message=is-default], :host #barcode .rectangle.is-detection ~ .label[data-message=is-detection], :host #barcode .rectangle.is-classification ~ .label[data-message=is-classification], :host #barcode .rectangle.is-done ~ .label[data-message=is-done], :host #barcode .rectangle.is-done-all ~ .label[data-message=is-done-all], :host #barcode .rectangle.is-flip ~ .label[data-message=is-flip], :host #barcode .rectangle.is-error-move-farther ~ .label[data-message=is-error-move-farther], :host #barcode .rectangle.is-error-move-closer ~ .label[data-message=is-error-move-closer], :host #barcode .rectangle.is-error-adjust-angle ~ .label[data-message=is-error-adjust-angle] { opacity: 1; visibility: visible; margin: 8px 0 0 0; } :host #barcode .rectangle.is-done, :host #barcode .rectangle.is-done-all { -webkit-animation-delay: 0; -webkit-animation-duration: 250ms; -webkit-animation-name: rectangle-shrink-animation; -moz-animation-delay: 0; -moz-animation-duration: 250ms; -moz-animation-name: rectangle-shrink-animation; animation-delay: 0; animation-duration: 250ms; animation-name: rectangle-shrink-animation; } :host .scanning-line { opacity: 0; visibility: hidden; position: absolute; width: 100%; height: 115px; left: 0px; top: -125px; background: radial-gradient(100% 100% at 49.85% 100%, #ffffff 0%, rgba(255, 255, 255, 0) 100%); filter: blur(var(--mb-blur-scanning-line)); } :host .scanning-line.is-active { opacity: 1; visibility: visible; animation: scanning-line-animation 2400ms cubic-bezier(0.13, 0.71, 1, 0.82) infinite; } *::after, *::before { box-sizing: border-box; } :host { display: block; } :host .gradient-overlay { position: absolute; width: 100%; height: 112px; background: linear-gradient(180deg, rgba(0, 0, 0, 0.35625) 0%, rgba(0, 0, 0, 0.25) 20.83%, rgba(0, 0, 0, 0) 100%); } :host .gradient-overlay.bottom { bottom: 0; transform: matrix(1, 0, 0, -1, 0, 0); } :host(.is-error) mb-camera-toolbar { display: none; } :host::after { width: 124px; height: 58px; position: absolute; bottom: 10px; left: calc(50% - 62px); background: no-repeat center url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iODUiIGhlaWdodD0iMjUiIHZpZXdCb3g9IjAgMCA4NSAyNSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTIwLjA4NzcgNi41NzIwNEMyMS40MDE3IDYuNTcyMDQgMjIuMjY1NyA1LjY4MTA0IDIyLjI2NTcgNC40MTIwNEMyMi4yNjU3IDMuMTI1MDQgMjEuNDEwNyAyLjI2MTA0IDIwLjA4NzcgMi4yNjEwNEgxNy40ODY3VjguODQwMDRIMTguNjM4N1Y2LjU3MjA0SDIwLjA4NzdaTTE5Ljg2MjcgMy4yODcwNEMyMC42Mjc3IDMuMjg3MDQgMjEuMDU5NyAzLjY4MzA0IDIxLjA1OTcgNC40MDMwNEMyMS4wNTk3IDUuMTIzMDQgMjAuNjM2NyA1LjU0NjA0IDE5Ljg0NDcgNS41NDYwNEgxOC42Mzg3VjMuMjg3MDRIMTkuODYyN1oiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGQ9Ik0yMi43NzIgNi42MDgwNEMyMi43NzIgNy45OTQwNCAyMy43NzEgOC45NDgwNCAyNS4xNDggOC45NDgwNEMyNi41MjUgOC45NDgwNCAyNy41MjQgNy45OTQwNCAyNy41MjQgNi42MDgwNEMyNy41MjQgNS4yMjIwNCAyNi41MjUgNC4yNjgwNCAyNS4xNDggNC4yNjgwNEMyMy43NzEgNC4yNjgwNCAyMi43NzIgNS4yMjIwNCAyMi43NzIgNi42MDgwNFpNMjMuODcgNi42MDgwNEMyMy44NyA1Ljc5ODA0IDI0LjM5MiA1LjI0OTA0IDI1LjE0OCA1LjI0OTA0QzI1LjkwNCA1LjI0OTA0IDI2LjQyNiA1Ljc5ODA0IDI2LjQyNiA2LjYwODA0QzI2LjQyNiA3LjQxODA0IDI1LjkwNCA3Ljk2NzA0IDI1LjE0OCA3Ljk2NzA0QzI0LjM5MiA3Ljk2NzA0IDIzLjg3IDcuNDE4MDQgMjMuODcgNi42MDgwNFoiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGQ9Ik0yOS4zMzU2IDguODQwMDRIMzAuNDA2NkwzMS4wMTg2IDYuOTMyMDRDMzEuMjQzNiA2LjIwMzA0IDMxLjMyNDYgNS44ODgwNCAzMS4zNjk2IDUuNjgxMDRDMzEuNDA1NiA1LjkwNjA0IDMxLjUwNDYgNi4zMjkwNCAzMS42ODQ2IDYuOTE0MDRMMzIuMjk2NiA4Ljg0MDA0SDMzLjMyMjZMMzQuODYxNiA0LjM5NDA0SDMzLjcwMDZMMzMuMTA2NiA2LjMwMjA0QzMzLjAyNTYgNi41ODEwNCAzMi44ODE2IDcuMTEyMDQgMzIuODA5NiA3LjQ0NTA0QzMyLjc1NTYgNy4xNDgwNCAzMi41NzU2IDYuNDgyMDQgMzIuNTIxNiA2LjMwMjA0TDMxLjkyNzYgNC4zOTQwNEgzMC44MTE2TDMwLjE5OTYgNi4zMDIwNEMzMC4wNTU2IDYuNzQzMDQgMjkuOTc0NiA3LjAyMjA0IDI5Ljg5MzYgNy40NTQwNEMyOS44MTI2IDcuMDQwMDQgMjkuNzIyNiA2LjY1MzA0IDI5LjYyMzYgNi4zMDIwNEwyOS4wMzg2IDQuMzk0MDRIMjcuODk1NkwyOS4zMzU2IDguODQwMDRaIiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBkPSJNMzcuNDc1OCA4Ljk1NzA0QzM4LjYzNjggOC45NTcwNCAzOS40NDY4IDguMzcyMDQgMzkuNjM1OCA3LjQwMDA0SDM4LjYxODhDMzguNDkyOCA3LjgyMzA0IDM4LjA5NjggOC4wNTcwNCAzNy40OTM4IDguMDU3MDRDMzYuNzY0OCA4LjA1NzA0IDM2LjM1MDggNy42NjEwNCAzNi4yNjk4IDYuODc4MDRMMzkuNjE3OCA2Ljg2OTA0VjYuNTM2MDRDMzkuNjE3OCA1LjE1MDA0IDM4Ljc3MTggNC4yNTkwNCAzNy40Mzk4IDQuMjU5MDRDMzYuMTM0OCA0LjI1OTA0IDM1LjIyNTggNS4yMjIwNCAzNS4yMjU4IDYuNjE3MDRDMzUuMjI1OCA3Ljk5NDA0IDM2LjE1MjggOC45NTcwNCAzNy40NzU4IDguOTU3MDRaTTM3LjQ0ODggNS4xNTkwNEMzOC4xMDU4IDUuMTU5MDQgMzguNTI4OCA1LjU2NDA0IDM4LjUyODggNi4xNzYwNEgzNi4yOTY4QzM2LjQwNDggNS41MTAwNCAzNi44MDA4IDUuMTU5MDQgMzcuNDQ4OCA1LjE1OTA0WiIgZmlsbD0id2hpdGUiLz4KPHBhdGggZD0iTTQzLjQ2NjUgNC4zNzYwNEM0My4yODY1IDQuMzMxMDQgNDMuMTMzNSA0LjMxMzA0IDQyLjk4MDUgNC4zMTMwNEM0Mi4zODY1IDQuMzEzMDQgNDEuOTYzNSA0LjYxMDA0IDQxLjc3NDUgNS4wNTEwNEw0MS43MTE1IDQuNDAzMDRINDAuNjc2NVY4Ljg0MDA0SDQxLjc3NDVWNi42ODAwNEM0MS43NzQ1IDUuODE2MDQgNDIuMjY5NSA1LjM5MzA0IDQzLjA2MTUgNS4zOTMwNEg0My40NjY1VjQuMzc2MDRaIiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBkPSJNNDYuMjI5MyA4Ljk1NzA0QzQ3LjM5MDMgOC45NTcwNCA0OC4yMDAzIDguMzcyMDQgNDguMzg5MyA3LjQwMDA0SDQ3LjM3MjNDNDcuMjQ2MyA3LjgyMzA0IDQ2Ljg1MDMgOC4wNTcwNCA0Ni4yNDczIDguMDU3MDRDNDUuNTE4MyA4LjA1NzA0IDQ1LjEwNDMgNy42NjEwNCA0NS4wMjMzIDYuODc4MDRMNDguMzcxMyA2Ljg2OTA0VjYuNTM2MDRDNDguMzcxMyA1LjE1MDA0IDQ3LjUyNTMgNC4yNTkwNCA0Ni4xOTMzIDQuMjU5MDRDNDQuODg4MyA0LjI1OTA0IDQzLjk3OTMgNS4yMjIwNCA0My45NzkzIDYuNjE3MDRDNDMuOTc5MyA3Ljk5NDA0IDQ0LjkwNjMgOC45NTcwNCA0Ni4yMjkzIDguOTU3MDRaTTQ2LjIwMjMgNS4xNTkwNEM0Ni44NTkzIDUuMTU5MDQgNDcuMjgyMyA1LjU2NDA0IDQ3LjI4MjMgNi4xNzYwNEg0NS4wNTAzQzQ1LjE1ODMgNS41MTAwNCA0NS41NTQzIDUuMTU5MDQgNDYuMjAyMyA1LjE1OTA0WiIgZmlsbD0id2hpdGUiLz4KPHBhdGggZD0iTTUxLjI1NzEgOC45NTcwNEM1MS45MzIxIDguOTU3MDQgNTIuNTA4MSA4LjY2MDA0IDUyLjc3ODEgOC4xNDcwNEw1Mi44NTAxIDguODQwMDRINTMuODU4MVYyLjE0NDA0SDUyLjc2OTFWNC45NjEwNEM1Mi40OTAxIDQuNTIwMDQgNTEuOTQxMSA0LjI1OTA0IDUxLjMyMDEgNC4yNTkwNEM0OS45NzkxIDQuMjU5MDQgNDkuMTY5MSA1LjI0OTA0IDQ5LjE2OTEgNi42MzUwNEM0OS4xNjkxIDguMDEyMDQgNDkuOTcwMSA4Ljk1NzA0IDUxLjI1NzEgOC45NTcwNFpNNTEuNTAwMSA3Ljk0OTA0QzUwLjczNTEgNy45NDkwNCA1MC4yNjcxIDcuMzkxMDQgNTAuMjY3MSA2LjU5OTA0QzUwLjI2NzEgNS44MDcwNCA1MC43MzUxIDUuMjQwMDQgNTEuNTAwMSA1LjI0MDA0QzUyLjI2NTEgNS4yNDAwNCA1Mi43NjAxIDUuNzk4MDQgNTIuNzYwMSA2LjU5OTA0QzUyLjc2MDEgNy40MDAwNCA1Mi4yNjUxIDcuOTQ5MDQgNTEuNTAwMSA3Ljk0OTA0WiIgZmlsbD0id2hpdGUiLz4KPHBhdGggZD0iTTU4LjgwNTEgOC44NDAwNEw1OC44NzcxIDguMTQ3MDRDNTkuMTM4MSA4LjY2MDA0IDU5LjcwNTEgOC45NTcwNCA2MC4zNzExIDguOTU3MDRDNjEuNjQ5MSA4Ljk1NzA0IDYyLjQ4NjEgOC4wMTIwNCA2Mi40ODYxIDYuNjQ0MDRDNjIuNDg2MSA1LjI0MDA0IDYxLjcxMjEgNC4yNTAwNCA2MC40NDMxIDQuMjUwMDRDNTkuNzY4MSA0LjI1MDA0IDU5LjE3NDEgNC41NDcwNCA1OC44ODYxIDUuMDQyMDRWMi4xNDQwNEg1Ny43ODgxVjguODQwMDRINTguODA1MVpNNTguODk1MSA2LjU5OTA0QzU4Ljg5NTEgNS43OTgwNCA1OS4zOTAxIDUuMjQwMDQgNjAuMTQ2MSA1LjI0MDA0QzYwLjkyMDEgNS4yNDAwNCA2MS4zNzkxIDUuODA3MDQgNjEuMzc5MSA2LjU5OTA0QzYxLjM3OTEgNy4zOTEwNCA2MC45MjAxIDcuOTQ5MDQgNjAuMTQ2MSA3Ljk0OTA0QzU5LjM5MDEgNy45NDkwNCA1OC44OTUxIDcuNDAwMDQgNTguODk1MSA2LjU5OTA0WiIgZmlsbD0id2hpdGUiLz4KPHBhdGggZD0iTTYyLjk4NjQgMTAuOTAxQzYzLjIyOTQgMTAuOTY0IDYzLjQ5OTQgMTEgNjMuODA1NCAxMUM2NC41MzQ0IDExIDY1LjAwMjQgMTAuNjU4IDY1LjMzNTQgOS44MzAwNEw2Ny41MTM0IDQuMzk0MDRINjYuMzc5NEw2NS4xNzM0IDcuNjM0MDRMNjQuMDMwNCA0LjM5NDA0SDYyLjg2OTRMNjQuNjYwNCA5LjAyOTA0TDY0LjUzNDQgOS4zNjIwNEM2NC4zNDU0IDkuODg0MDQgNjQuMDc1NCA5Ljk4MzA0IDYzLjY0MzQgOS45ODMwNEg2Mi45ODY0VjEwLjkwMVoiIGZpbGw9IndoaXRlIi8+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF81NjZfMTU1NDMpIj4KPHBhdGggZD0iTTQuODE2MzMgMjIuNTk1OUwxLjkyNTE5IDE1LjE2MzZIMFYyNC44MzY2SDEuMzEzNzdWMTcuMjI4OUw0LjMwOTkzIDI0Ljg3NzRINS4yNjg0N0w4LjI5MTQxIDE3LjE2MDhWMjQuODM2Nkg5LjY0NTcxVjE1LjE2MzZINy43MDc0N0w0LjgxNjMzIDIyLjU5NTlaIiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBkPSJNMTMuNjUyOSAxNS4xNjM2SDEyLjIzMTNWMjQuODM2NkgxMy42NTI5VjE1LjE2MzZaIiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBkPSJNMzIuNjYyOCAxOS45OTEzQzMzLjA1MDIgMTkuNDQ3OSAzMy4yNTY5IDE4Ljc5MjcgMzMuMjUyNyAxOC4xMjE0QzMzLjI1MjcgMTcuMzI5NyAzMi45MTI2IDE2LjU5MTQgMzIuMjk0OCAxNi4wNDE3QzMxLjY1NzcgMTUuNDc1NiAzMC43NzIxIDE1LjE2NSAyOS43OTggMTUuMTY1SDI1Ljg3MzdWMjQuODM4SDI3LjI5NTNWMjEuMzc4NkgyOS41OTc5TDMxLjYwNjYgMjQuODM2NkgzMy4yOTM5TDMxLjE0NDIgMjEuMTQwOUMzMS43NTA3IDIwLjkxODMgMzIuMjc4OSAyMC41MTgzIDMyLjY2MjggMTkuOTkxM1pNMzEuODAzOSAxOC4xMzVDMzEuODA3MSAxOC4zODg5IDMxLjc2MDIgMTguNjQwOSAzMS42NjYgMTguODc1OUMzMS41NzE3IDE5LjExMSAzMS40MzIgMTkuMzI0NSAzMS4yNTUyIDE5LjUwMzdDMzAuODkzMyAxOS44NjU4IDMwLjM4NTUgMjAuMDY1MiAyOS44MjUyIDIwLjA2NTJIMjcuMjkzNVYxNi40OTE3SDI5LjgyNTJDMzAuOTUzMiAxNi40OTE3IDMxLjgwMzkgMTcuMTk3NyAzMS44MDM5IDE4LjEzNVoiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGQ9Ik0zOS4yODAzIDE1QzM3Ljk0NjEgMTUgMzYuNzQzIDE1LjUyNDYgMzUuODg4IDE2LjQ3NjZDMzUuMDY1NSAxNy4zOTQ1IDM0LjYxMjMgMTguNjQ1OSAzNC42MTIzIDE5Ljk5OThDMzQuNjEyMyAyMS4zNTM4IDM1LjA2NTUgMjIuNjEyIDM1Ljg4OCAyMy41Mjg1QzM2Ljc0MDEgMjQuNDc3MiAzNy45NDQ3IDI0Ljk5ODYgMzkuMjgwMyAyNC45OTg2QzQwLjYyMTUgMjQuOTk4NiA0MS44MzA2IDI0LjQ3NTggNDIuNjg0MiAyMy41Mjg1QzQzLjUwODEgMjIuNjEzIDQzLjk2MTYgMjEuMzU5OSA0My45NjE2IDE5Ljk5OThDNDMuOTYxNiAxOC42Mzk4IDQzLjUwODEgMTcuMzkzOCA0Mi42ODQ1IDE2LjQ3NjZDNDEuODI5MiAxNS41MjM1IDQwLjYyMDEgMTUgMzkuMjgwMyAxNVpNMzkuMjgwMyAyMy42NDQ2QzM4Ljg0MjQgMjMuNjQ2MyAzOC40MDkzIDIzLjU1MTcgMzguMDEwNyAyMy4zNjc0QzM3LjYxMjEgMjMuMTgzIDM3LjI1NzMgMjIuOTEzMiAzNi45NzA2IDIyLjU3NjVDMzYuMzg0MiAyMS44OTkxIDM2LjA2MSAyMC45ODM3IDM2LjA2MSAxOS45OTk4QzM2LjA2MSAxOS4wMTU5IDM2LjM4NDIgMTguMTA3NyAzNi45NzA2IDE3LjQyODJDMzcuNTY3OSAxNi43MzYyIDM4LjM4OCAxNi4zNTUgMzkuMjgwMyAxNi4zNTVDNDAuMTcyNiAxNi4zNTUgNDAuOTk2MSAxNi43MzYyIDQxLjU5NyAxNy40Mjg2QzQyLjE4NzYgMTguMTA5OCA0Mi41MTMyIDE5LjAyMiA0Mi41MTMyIDE5Ljk5OThDNDIuNTEzMiAyMC45Nzc2IDQyLjE4OCAyMS44OTc3IDQxLjU5NyAyMi41NzY1QzQxLjMwODcgMjIuOTEzMiA0MC45NTI3IDIzLjE4MjkgNDAuNTUyOSAyMy4zNjcyQzQwLjE1MzIgMjMuNTUxNSAzOS43MTkxIDIzLjY0NjEgMzkuMjgwMyAyMy42NDQ2WiIgZmlsbD0id2hpdGUiLz4KPHBhdGggZD0iTTUxLjc1NCAxOS43NjI1QzUyLjU4MzIgMTkuMjk2NCA1My4wNzU5IDE4LjQ3ODkgNTMuMDc1OSAxNy41NjMxQzUzLjA3NTkgMTYuMTUwMyA1MS44NDI1IDE1LjE2MzYgNTAuMDgwNSAxNS4xNjM2SDQ1LjkxMTVWMjQuODM2Nkg1MC4yODEzQzUyLjAxNzMgMjQuODM2NiA1My4yNzY4IDIzLjY2MTIgNTMuMjc2OCAyMi4wNDE5QzUzLjI3ODIgMjEuMDcwNiA1Mi42OTYgMjAuMjAzMiA1MS43NTQgMTkuNzYyNVpNNTAuMzIyNiAyMy41MDg4SDQ3LjMzMjRWMjAuNTA3Nkg1MC4xMTkyQzUxLjE0MTIgMjAuNTA3NiA1MS44Mjg0IDIxLjA2NDUgNTEuODI4NCAyMS44OTI4QzUxLjgyOTUgMjIuODc0MSA1MS4yMzc4IDIzLjUwODggNTAuMzIyNiAyMy41MDg4Wk00OS45NTg1IDE5LjIwNkg0Ny4zMzI0VjE2LjQ5MTdINTAuMTE5MkM1MS4wMzU1IDE2LjQ5MTcgNTEuNjI2MSAxNi45NzY1IDUxLjYyNjEgMTcuNzI3QzUxLjYyNzIgMTguNDYzOCA1MS4xMTEyIDE5LjIwNjcgNDkuOTU4NSAxOS4yMDY3VjE5LjIwNloiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGQ9Ik01Ni43NDYyIDE1LjE2MzZINTUuMzI0MlYyNC44MzY2SDYxLjU0NTZWMjMuNDgxNkg1Ni43NDYyVjE1LjE2MzZaIiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBkPSJNNjQuNTUzOCAxNS4xNjM2SDYzLjEzMThWMjQuODM2Nkg2NC41NTM4VjE1LjE2MzZaIiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBkPSJNNzMuNDg0NCAyMi4zMjAyTDY4LjUyOTkgMTUuMTkzN0w2OC41MDg4IDE1LjE2MzZINjcuMTM0NFYyNC44MzY2SDY4LjQ3NTNWMTcuMzI1N0w3My42OTM3IDI0LjgzNjZINzQuODI1M1YxNS4xNjM2SDczLjQ4NDRWMjIuMzIwMloiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGQ9Ik04MS4xNzc4IDE5LjQxOTRMODQuODk4NSAxNS4xNjM2SDgzLjE1OTRMNzguODI1OSAyMC4xMTE0VjE1LjE2MzZINzcuNDAzOVYyNC44MzY2SDc4LjgyNTlWMjIuMDI4Nkw4MC4yMDUyIDIwLjQ2ODJMODMuMjc2MSAyNC44MzY2SDg1TDgxLjE3NzggMTkuNDE5NFoiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGQ9Ik0yMi45MTM0IDIxLjU2MzlDMjIuMjc5MSAyMy4wMzE4IDIxLjQ2NTQgMjMuNjU4MyAyMC4xODY5IDIzLjY1ODNDMTkuMzEzMyAyMy42NTgzIDE4LjUxMjkgMjMuMjc4NSAxNy45MzM2IDIyLjU4OTRDMTcuMzYzIDIxLjkxMDYgMTcuMDQ4NyAyMC45OTA5IDE3LjA0ODcgMTkuOTk5OEMxNy4wNDg3IDE5LjAxNjMgMTcuMzU2IDE4LjEwMjcgMTcuOTEzNSAxNy40MjcxQzE4LjQ4NDQgMTYuNzM1OCAxOS4yNzczIDE2LjM1NSAyMC4xNDY3IDE2LjM1NUMyMS4zMjQ0IDE2LjM1NSAyMi4xODU3IDE2Ljk1MiAyMi43Nzk5IDE4LjE4MDFMMjIuODA1MyAxOC4yMzIxSDI0LjI5MjhMMjQuMjg1NyAxOC4xOTAxQzI0LjI1MDUgMTcuOTg2NSAyNC4xNzcyIDE3Ljc5NTcgMjQuMTA2MyAxNy42MDg2TDI0LjA4MzQgMTcuNTQ4M0MyMy43NzkzIDE2Ljc3ODcgMjMuMjQ3MiAxNi4xMjQ1IDIyLjU2MSAxNS42NzY2QzIxLjg3NTYgMTUuMjI3NyAyMS4wNDk2IDE1IDIwLjEwNjIgMTVDMTguODE2NCAxNSAxNy42NTI3IDE1LjUyNDYgMTYuODI4OCAxNi40Nzc2QzE2LjAzNjIgMTcuMzk0OCAxNS41OTk2IDE4LjY0NTkgMTUuNTk5NiAxOS45OTk4QzE1LjU5OTYgMjEuMzcyIDE2LjAzODcgMjIuNjI4NSAxNi44MzU5IDIzLjUzNzhDMTcuNjc0NiAyNC40OTQ0IDE4LjgyMzggMjUgMjAuMTU5NyAyNUMyMS4wOTU3IDI1IDIxLjkxODIgMjQuNzUzMyAyMi42MDQ3IDI0LjI2NzFDMjIuNzIwMSAyNC4xODU0IDIyLjgzMTEgMjQuMDk3NSAyMi45MzcxIDI0LjAwMzVDMjMuNjMzMSAyMy4zODc1IDI0LjE2MDMgMjIuNTExNiAyNC4zNDY3IDIxLjY2TDI0LjM1MTMgMjEuNjM3N0MyNC4zNTc2IDIxLjYwODMgMjQuMzYzMiAyMS41Nzg5IDI0LjM2ODIgMjEuNTQ5NUwyNC4zNzUyIDIxLjUwNzZIMjIuOTM2TDIyLjkxMzQgMjEuNTYzOVoiIGZpbGw9IndoaXRlIi8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDBfNTY2XzE1NTQzIj4KPHJlY3Qgd2lkdGg9Ijg1IiBoZWlnaHQ9IjEwIiBmaWxsPSJ3aGl0ZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAxNSkiLz4KPC9jbGlwUGF0aD4KPC9kZWZzPgo8L3N2Zz4K"); background-size: 100%; content: " "; } :host(.no-overlay)::after { display: none; } /** * Wrapper */ :host #card-identity, :host #barcode { position: absolute; top: 0; bottom: 0; left: 0; right: 0; display: none; } :host #card-identity.visible, :host #barcode.visible { display: block; } :host .message { display: block; opacity: 0; visibility: hidden; position: absolute; transform-origin: center; transform: translate(-50%, 0); margin: 0; padding: 8px 12px; font-size: 1em; font-weight: 600; text-align: center; text-shadow: 0px 1px 4px rgba(0, 0, 0, 0.1); white-space: nowrap; color: #fff; background-color: rgba(107, 114, 128, 0.7); -webkit-backdrop-filter: blur(var(--mb-blur-filter)); backdrop-filter: blur(var(--mb-blur-filter)); border-radius: 8px; transition: all 200ms cubic-bezier(0.42, 0.01, 0.35, 1.74); } :host .message.is-active { opacity: 1; visibility: visible; margin: 8px 0 0 0; } :host #card-identity .reticle-container { position: absolute; top: 50%; left: 50%; width: var(--mb-reticle-size); height: var(--mb-reticle-size); transform-origin: center; transform: translate(-50%, -50%); perspective: 600px; } :host #card-identity .reticle-container .message { top: 100%; left: 50%; } :host #barcode .rectangle-container { position: absolute; top: 112px; left: 20px; width: calc(100% - 40px); height: calc(100% - 224px); perspective: 600px; } :host #barcode .rectangle-container .message { top: -70px; left: 50%; } @media only screen and (min-width: 568px) and (orientation: landscape) { :host::after { bottom: 40px; left: unset; right: 5%; } :host .gradient-overlay { height: 88px; } :host #barcode .rectangle-container { top: 88px; left: 186px; width: calc(100% - 372px); height: calc(100% - 128px); } :host #barcode .rectangle-container .message { top: -50px; left: 50%; } } @media only screen and (min-width: 768px) and (orientation: portrait) { :host::after { bottom: 10px; left: calc(50% - 61px); } :host .gradient-overlay { height: 112px; } :host #barcode .rectangle-container { top: 112px; left: 50px; width: calc(100% - 100px); height: calc(100% - 224px); perspective: 600px; } :host #barcode .rectangle-container .message { top: -70px; left: 50%; } } @media only screen and (min-width: 1024px) and (orientation: landscape) { :host::after { bottom: 10px; left: calc(50% - 61px); } :host .gradient-overlay { height: 112px; } :host #barcode .rectangle-container { top: 112px; left: 50px; width: calc(100% - 100px); height: calc(100% - 224px); perspective: 600px; } :host #barcode .rectangle-container .message { top: -70px; left: 50%; } } @media only screen and (min-width: 1280px) { :host::after { bottom: 10px; left: calc(50% - 61px); } :host .gradient-overlay { height: 112px; } :host #barcode .rectangle-container { top: 112px; left: 188px; width: calc(100% - 374px); height: calc(100% - 224px); perspective: 600px; } :host #barcode .rectangle-container .message { top: -70px; left: 50%; } } @media only screen and (min-width: 1440px) { :host::after { bottom: 10px; left: calc(50% - 61px); } :host .gradient-overlay { height: 112px; } :host #barcode .rectangle-container { top: 112px; left: 188px; width: calc(100% - 374px); height: calc(100% - 224px); perspective: 600px; } :host #barcode .rectangle-container .message { top: -70px; left: 50%; } } @media only screen and (min-width: 1920px) { :host::after { bottom: 10px; left: calc(50% - 61px); } :host .gradient-overlay { height: 112px; } :host #barcode .rectangle-container { top: 112px; left: 188px; width: calc(100% - 374px); height: calc(100% - 224px); perspective: 600px; } :host #barcode .rectangle-container .message { top: -70px; left: 50%; } } @media only screen and (max-height: 299px) and (orientation: landscape) { :host::after { bottom: 10px; left: unset; right: 20px; } :host .gradient-overlay { height: 88px; } } @media only screen and (min-height: 300px) and (max-height: 499px) and (orientation: landscape) { :host::after { bottom: 30px; left: unset; right: 20px; } :host .gradient-overlay { height: 88px; } } @media only screen and (max-width: 360px) and (orientation: portrait) { :host::after { bottom: 10px; left: calc(50% - 61px); } :host .gradient-overlay { height: 88px; } } @media only screen and (min-height: 500px) and (max-height: 699px) and (orientation: landscape) { :host::after { bottom: 10px; left: calc(50% - 61px); } :host .gradient-overlay { height: 88px; } }