@font-face {
    font-style: normal;
    font-weight: normal;
    src: url("../fonts/OpenSans-Regular.eot");
    src: url("../fonts/OpenSans-Regular.eot?#iefix") format("embedded-opentype"),
    url("../fonts/OpenSans-Regular.woff") format("woff"),
    url("../fonts/OpenSans-Regular.svg") format("svg");
    font-family: "Open Sans";
}


@font-face {
    font-style: normal;
    font-weight: 600;
    src: url("../fonts/OpenSans-Semibold.eot");
    src: url("../fonts/OpenSans-Semibold.eot?#iefix") format("embedded-opentype"),
    url("../fonts/OpenSans-Semibold.woff") format("woff"),
    url("../fonts/OpenSans-Semibold.svg#Semibold") format("svg");
    font-family: "Open Sans";
}

@font-face {
    font-style: normal;
    font-weight: 700;
    src: url("../fonts/OpenSans-Semibold.eot");
    src: url("../fonts/OpenSans-Semibold.eot?#iefix") format("embedded-opentype"),
    url("../fonts/OpenSans-Semibold.woff") format("woff"),
    url("../fonts/OpenSans-Semibold.svg#Semibold") format("svg");
    font-family: "Open Sans";
}


html {
    height: 100%;
    overflow-y: scroll;
}
body {
    margin: 0;
    padding: 0;
    background: #f8f8f8;
    color: #111;
    font-size: 14px;
    font-family: "Open Sans", Arial, sans-serif;
    letter-spacing: 0;
}

input, textarea {
    font-size: 15px;
    line-height: 20px;
    font-family: "Open Sans", Arial, sans-serif;
}
a {
    color: #305fd2;
    text-decoration: none;
    transition: all 0.1s ease-out;
}
a:hover {
    color: #2552c1;
}

/* Layout */
.main-wrapper {
    position: relative;
    min-width: 300px;
    margin: 0 auto;
}
.main-wrapper.with-header {
    padding-top: 95px;
}
.main-wrapper > .main-header {
    z-index: 9;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
}

.main-header > .top {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: flex-end;
    height: 50px;
    padding: 0 10px;
    border-bottom: 1px solid #eaeaea;
    background: #205ecf;
}
.main-header > .top .logo {
    display: block;
    position: relative;
    flex: 0 0 auto;
}
.main-header > .top .logo > .title {
    color: #fbfeff;
    font-weight: bold;
    font-size: 20px;
    line-height: 20px;
}
.main-header > .top .side {
    display: flex;
    flex: 1 1 auto;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: flex-end;
}
.main-header > .top .side > .timer {
    flex: 0 0 auto;
    color: #fff;
    font-weight: 600;
    font-size: 16px;
    line-height: 18px;
}
.main-header > .top .side > .timer.expiring {
    color: red;
    animation: session-timer-blink 1.5s infinite;
}
.main-header > .top .side > .vehicle {
    flex: 0 0 auto;
    margin-left: 25px;
}
.main-header > .top .side > .vehicle > .number {
    display: block;
    height: 33px;
    padding: 0 7px;
    border-radius: 3px;
    background: #205ecf;
    color: #fbfeff;
    font-weight: bold;
    font-size: 16px;
    line-height: 33px;
    text-transform: uppercase
}
.main-header > .top .side > .logout {
    display: block;
    flex: 0 0 auto;
    width: 35px;
    height: 35px;
    margin-left: 10px;
    border-radius: 5px;
    background: url('/frontend/template/assets/images/icons/logout-white.svg') center center no-repeat;
    background-size: 24px 24px;
    transition: all 0.15s ease-out
}
.main-header > .top .side > .logout:hover {
    background-color: #03fc;
}

.main-header > .nav-container {
    padding-top: 8px;
    background: #f8f8f8
}
.main-header > .nav-container > .nav {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    margin: 0 auto;
    padding: 5px;
    border-radius: 5px;
    background: #ebebeb;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}
.main-header > .nav-container > .nav {
    max-width: 600px;
}
.main-header > .nav-container > .nav > .item {
    flex: 1 1 0;
    width: 50%;
    border-radius: 5px;
    text-align: center;
    transition: all 0.2s ease
}
.main-header > .nav-container > .nav > .item > .label {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    color: #555;
    font-weight: bold;
    font-size: 14px;
    line-height: 45px;
    text-align: center
}
.main-header > .nav-container > .nav > .item:hover {
    background-color: #eee;
}
.main-header > .nav-container > .nav > .item.active {
    background-color: #fff;
}
.main-header > .nav-container > .nav > .item.active > .label {
    color: #305fd2;
}

.main-area {
    padding-bottom: 20px;
}

/* Buttons */
.im-button i.icon.close-white {
    background-image: url("../images/icons/close-white.svg");
}
.im-button.large i.icon.close-white {
    background-size: 16px 16px;
}
.im-button i.icon.check-black {
    background-image: url("../images/icons/check-black.svg");
}
.im-button.gray i.icon-trash-black {
    opacity: 0.8;
}

.im-button i.icon.reload-black {
    background-image: url("../images/icons/reload-black.svg");
}
.im-button.gray i.reload-black {
    opacity: 0.8;
}
.im-button.medium i.reload-black {
    background-size: 18px 18px;
}

.im-button i.icon.qr-code {
    background-image: url("../images/icons/qr-code-black.svg");
}
.im-button.gray i.icon.qr-code {
    opacity: 0.8;
}

.imjs-dialog .imjs-content {
    text-align: center;
}
.imjs-dialog .imjs-buttons .imjs-button {
    padding: 5px 20px;
}

.im-button {
    transition: opacity 0.15s ease-in;
}
.im-button.busy {
    opacity: 0.5;
}

.imjs-dialog {
    .imjs-buttons {
        .imjs-button {
            flex: 0 0 auto;
            min-width: 90px;
            margin: 0 10px;
            padding: 10px 12px;
            border: 1px solid #aaa;
            border-radius: 5px;
            color: #222;
            font-weight: bold;
            font-size: 14px;
            line-height: 14px;
            text-align: center;
            text-decoration: none;
            cursor: pointer;
            user-select: none;

        }
    }
}


/* Kiosk mode */
.kiosk-mode {
    padding-bottom: 400px;
}
.kiosk-mode .im-input {
    height: 52px;
    font-size: 20px;
    line-height: 50px;
}
.kiosk-mode .im-button.large {
    height: 52px;
    border-radius: 5px;
    font-size: 20px;
    line-height: 52px;
}
.kiosk-mode .im-button.xl {
    height: 52px;
    border-radius: 5px;
    font-size: 20px;
    line-height: 52px;
}

@media all and (max-width: 650px) {
    .main-header > .nav-container > .nav {
        margin: 0 20px;
    }
}

@media all and (max-width: 500px) {
    .main-wrapper > .main-header > .logo > .title {
        font-size: 16px;
        line-height: 16px;
    }
}

@media all and (max-width: 280px) {
    .main-wrapper > .main-header > .side > .vehicle > .number {
        height: 30px;
        font-size: 14px;
        line-height: 30px;
    }
}

@keyframes session-timer-blink {
    0% {
        opacity: 0.4;
    }
    50% {
        opacity: 1;
    }
    100% {
        opacity: 0.4;
    }
}
