/* Fonts */
    @font-face {
        font-family: SegoeUI;
        src:
            local("Segoe UI"),
            url(//c.s-microsoft.com/static/fonts/segoe-ui/west-european/normal/latest.woff2) format("woff2"),
            url(//c.s-microsoft.com/static/fonts/segoe-ui/west-european/normal/latest.woff) format("woff"),
            url(//c.s-microsoft.com/static/fonts/segoe-ui/west-european/normal/latest.ttf) format("truetype");
        font-weight: 400;
    }

    @font-face {
        font-family: SegoeUI;
        src:
        local("Segoe UI Bold"),
            url(//c.s-microsoft.com/static/fonts/segoe-ui/west-european/bold/latest.woff2) format("woff2"),
            url(//c.s-microsoft.com/static/fonts/segoe-ui/west-european/bold/latest.woff) format("woff"),
            url(//c.s-microsoft.com/static/fonts/segoe-ui/west-european/bold/latest.ttf) format("truetype");
        font-weight: 700;
    }

/* Basics */
    * {
        box-sizing: border-box;
    }
    body {
        font-family: "SegoeUI", sans-serif;
        font-weight: 400;
        font-size: 16px;
        height: 100%;
        margin: 0 auto;
        width: 100%;
        max-width: 414px;
        max-height: 926px;
        height: 100vh;
        color: #171717;
        position: relative;
    }
    h1 {
        font-size: 22px;
        margin-top: 0;
        margin-bottom: 5px;
    }
    h2 {
        font-size: 18px;
        margin-top: 0;
        margin-bottom: 0px;
        text-transform: uppercase;
    }
    p {
        margin-top: 0;
    }
    .text-center,
    .center {
        text-align: center;
    }

/* Forms */
    input {
        height: 50px;
        width: 100%;
        max-width: 100%;
        padding: 15px 23px;
        border-radius: 25px;
        border: 1px solid #A7A7A7;
        background-color: #fff;
        background-image: none;
        margin-bottom: 30px;
        font-size: 16px;
    }
    input:focus,
    input:active {
        outline: none;
    }

/* Buttons */
    .btn {
        background-color: #DE1326;
        color: #fff;
        text-transform: uppercase;
        border-radius: 25px;
        display: flex;
        justify-content: center;
        width: 100%;
        box-shadow: none;
        border: 1px solid #DE1326;
        padding: 16px 23px;
        cursor: pointer;
        font-weight: 700;
        font-size: 16px;
        transition: opacity 300ms ease-in-out;
    }
    .btn:hover,
    .btn:active {
        opacity: 0.8;
    }
    .btn img {
        display: inline-block;
        margin-right: 7px;
    }
    .btn.small {
        width: auto;
        white-space: nowrap;
        padding: 6px 23px;
        font-size: 14px;
        text-transform: none;
    }
    .btn.purple {
        background-color: #3435A2;
        border-color: #3435A2;
    }
    .btn.grey {
        background-color: #F2F2F2;
        border-color: #F2F2F2;
        color: #171717;
    }
    .btn_wrapper {
        margin: 9px 0;
        display: flex;
        justify-content: space-between;
    }
    .btn.ghost {
        background-color: transparent;
        color: #171717;
        padding: 0;
        border: 0;
        justify-content: flex-start;
        width: auto;
        margin-left: 60%;
        text-transform: none;
        font-weight: 400;
    }
    .btn.medium {
        width: auto;
        text-transform: none;
        padding: 16px 16px;
        cursor: pointer;
        font-weight: 700;
        font-size: 15px;
        flex-basis: 177px;
    }
    .btn_wrapper.error {
        justify-content: center;
    }

/* Grid */
    .container {
        width: 100%;
        max-width: 414px;
        overflow: hidden;
        margin: 0 auto;
    }
    .row {
        display: flex;
        flex-wrap: wrap;
    }
    .col-12 {
        width: 100%;
        padding-left: 15px;
        padding-right: 15px;
    }
    .col-4 {
        width: 33.3%;
        padding: 0 5px;
    }

/* Header Text */
    .header_wrapper {
        margin-top: 100px;
        margin-bottom: 40px;
    }

/* Header */
    .header {
        background-color: #F8F8F8;
        padding: 16px 0;
        text-align: center;
        position: relative;
    }
    .header .search {
        position: absolute;
        right: 20px;
        top: 16px;
    }

/* Content */
    .content.hasfooter {
        padding-bottom: 90px;
    }

/* Round Image */
    .img_wrapper {
        border-radius: 50%;
        width: 149px;
        height: 149px;
        background-color: #F7F7F7;
        display: flex;
        justify-content: center;
        align-items: center;
        margin: 0 auto 50px;
    }
    .img_wrapper.grey {
        background-color: #F7F7F7;
    }
    .img_wrapper.purple {
        background-color: #3435A2;
    }

/* Pages */
    .login,
    .scan {
        text-align: center;
    }   
    .searchpage div.media_info_wrapper:last-of-type {
        display: block;
    } 

/* Card */
    .card {
        background-color: #F7F7F7;
        -webkit-box-shadow: 0px 5px 20px 0px rgba(0,0,0,0.1); 
        box-shadow: 0px 5px 20px 0px rgba(0,0,0,0.1);
        border-radius: 10px;
        margin-bottom: 25px;
    }
    .card .card_body {
        background-color: #fff;
        display: flex;
        padding: 15px;
        border-top-left-radius: 10px;
        border-top-right-radius: 10px;
    }
    .card .card_body .media_img {
        width: 60%;
    }
    .card .card_body .media_infos {
        width: 40%;
    }
    .card .card_body .media_infos .media_info_wrapper {
        margin-bottom: 10px;
    }
    .card .card_body .media_infos .media_info_wrapper span {
        display: block;
    }
    .card .card_footer {
        padding: 12px;
    }
    a.updateQty {
        color: #000;
        font-size: 30px;
        text-decoration: none;
        background: #c4c4c4;
        border-radius: 50%;
        width: 36px;
        height: 36px;
        text-align: center;
        display: inline-block;
        line-height: 33px;
        transition: opacity 300ms ease-in-out;
    }
    a.updateQty:hover {
        opacity: 0.8;        
    }
    a.updateQty.disabled {
        background-color: #EDEDED;
    }
    a.updateQty.disabled:hover {
        background-color: #EDEDED;
        cursor: default;
    }
    div.media_info_wrapper:last-of-type {
        display: flex;
    }
    input.qty {
        width: 70px;
        height: 36px;
        display: inline-block;
        padding:0px;
        text-align:center;
        border: 0;
        -webkit-appearance: none;
        -moz-appearance: none;
        -ms-appearance: none;
        -o-appearance: none;
        appearance: none;
        margin-bottom: 0;
    }
    input[type=number].qty::-webkit-inner-spin-button, 
    input[type=number].qty::-webkit-outer-spin-button { 
        -webkit-appearance: none; 
        margin: 0; 
    }
    .card_footer .add_to_cart {
        background-color: transparent;
        color: #171717;
        padding: 0;
        border: 0;
        justify-content: flex-start;
        width: auto;
        margin-left: 60%;
        text-transform: none;
        font-weight: 400;
        text-decoration: none;
        display: flex;
    }
    .card_footer .add_to_cart img {
        display: inline-block;
        margin-right: 7px;
    }
    
/* Messages */
    .message_wrapper {
        background-color: #fff;
        padding: 16px;
        text-align: center;
        position: fixed;
        width: 100%;
        bottom: 0;
        max-width: 414px;
        z-index: 9;
        border-top-left-radius: 10px;
        border-top-right-radius: 10px;
    }
    .message_wrapper p {
        font-size: 22px;
        max-width: 320px;
        margin: 10px auto 20px;
    }
    .message_wrapper .btn_wrapper .btn {
        margin-left: auto;
        margin-right: auto;
    }
    #overlay {
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        background-color: rgba(23,23,23,0.7);
    }
    .alert_wrapper {
        background-color: #fff;
        color: #171717;
        padding: 16px;
        text-align: center;
        position: fixed;
        width: 100%;
        bottom: 81px;
        max-width: 414px;
        z-index: 9;
        border: 1px solid transparent;
        font-size: 14px;
    }
    .alert_wrapper p {
        margin-bottom: 0;
    }
    .alert_wrapper.success {
        background-color: #d4edda;
        color: #155724;
        border-color: #c3e6cb;
    }
    .error_cam {
    	color: red;
    	background-color: #fff;
	padding: 16px;
	text-align: center;
	position: fixed;
	width: 100%;
	max-width: 414px;
	top:130px;
	z-index: 9;
	border: 1px solid transparent;
	font-size: 14px;
    }
    #login_result {
        position: absolute;
        top: 0px;
        color: #721c24;
        background-color: #f8d7da;
        width: 100%;
        border: 1px solid #f5c6cb;
        padding: 20px;
        left: 0px;
    }

/* Search */
    .searchform {
        position: relative;
        margin: 9px 0;
    }
    .searchform .searchbutton {
        background-color: transparent;
        border-color: transparent;
        position: absolute;
        right: 12px;
        top: 9px;
    }
    .searchform input {
        margin-bottom: 0;
    }

/* Footer */
    .footer {
        background-color: #F8F8F8;
        padding: 16px 0;
        text-align: center;
        position: fixed;
        width: 100%;
        bottom: 0;
        max-width: 414px;
    }
    .footer .item_wrapper {
        display: flex;
        flex-direction: column;
        text-decoration: none;
        color: #171717;
        font-size: 11px;
    }
    .footer .content_wrapper {
        position: relative;
        cursor: pointer;
    }
    .footer .content_wrapper.active a {
        color: #DE1326;
    }
    .footer .content_wrapper .line {
        background-color: #DDDDDD;
        width: 1px;
        height: 50px;
        position: absolute;
        right: -2px;
        top: 50%;
        transform: translateY(-50%);
    }
    .footer img {
        max-height: 29px;
        margin-bottom: 5px;
    }

/* Splash Screen */
    .splashscreen {
        position: fixed;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        max-width: 100%;
        z-index: 99;
    }

    #install{
        margin-top: 30px; 
    }
    .login_result{
        margin-top: 10px; 
    }
    body.login .img_wrapper.grey img {
        margin-left: 15px;
    }
    #scanner_container {
        position: absolute;
        background-color: white;
        width: 100%;
        top: 56px;
        height: calc( 100% - 137px);
        text-align: center;
    }
	div#scanner {
        display: inline-block;
        background-color: black;
        margin: 0px auto;
        margin-top: 50px;

    }

    .loader {
        display: none;
        width: 100%;
        height: 450px;
        position: fixed;
        top: 60px;
        left: 50%;
        text-align: center;
        z-index: 2;
        overflow: auto;
        background: #fff;
        transform: translateX(-50%);
    }

    .loading-image {
        position: absolute;
        top: 50%;
        left: 50%;
        z-index: 10;
        transform: translate(-50%, -50%);
    }
      
    .loader_msg {
    	position: absolute;
    	top: 75%;
    	transform: translate(-50%, -75%);
    }
    
    .searchpage span.loader_msg {
       display: none;
    }
      

/* Search Page */
    #search_wrapper {
        margin-top: 20px;
    }
	
/* Online / Offline */
	@media all and (display-mode: standalone) {
        #install {
            display: none;
        }
	}
	#service_online {
        display:block;
    }
	#service_offline {
        display:none;
    }

/* Video Preview */
    #scanner, 
    .qrPreviewVideo{
        max-width: 100%;
    }

