/*PRE-STYLING - START*/
/*! normalize.css v4.1.1 | MIT License | github.com/necolas/normalize.css */
html {
    font-family: sans-serif;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

body {
    margin: 0
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
    display: block
}

audio,
canvas,
progress,
video {
    display: inline-block
}

audio:not([controls]) {
    display: none;
    height: 0
}

progress {
    vertical-align: baseline
}

template,
[hidden] {
    display: none
}

a {
    text-decoration: none;
    background-color: transparent;
    color: rgb(28, 105, 212);
    -webkit-text-decoration-skip: objects
}

a:active,
a:hover {
    outline-width: 0
}

abbr[title] {
    border-bottom: 0;
    text-decoration: underline;
    text-decoration: underline dotted
}

b,
strong {
    font-weight: inherit
}

b,
strong {
    font-weight: bolder
}

dfn {
    font-style: italic
}

h1 {
    font-size: 2em;
    margin: .67em 0
}

mark {
    background-color: #ff0;
    color: #000
}

small {
    font-size: 80%
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sub {
    bottom: -0.25em
}

sup {
    top: -0.5em
}

img {
    border-style: none
}

svg:not(:root) {
    overflow: hidden
}

code,
kbd,
pre,
samp {
    font-family: monospace, monospace;
    font-size: 1em
}

figure {
    margin: 1em 40px
}

hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible
}

button,
input,
select,
textarea {
    font: inherit;
    margin: 0
}

optgroup {
    font-weight: bold
}

button,
input {
    overflow: visible
}

button,
select {
    text-transform: none
}

button,
html [type="button"],
[type="reset"],
[type="submit"] {
    -webkit-appearance: button;
    -moz-appearance: button;
    appearance: button
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0
}

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
    outline: 1px dotted ButtonText
}

button {
    cursor: pointer;
    font-family: BMWTypeNext-Bold, HelveticaNeue, Helvetica, Arial, sans-serif;
    font-weight: bold;
    font-size: 14px;
    color: #fff;
    background-color: rgb(28, 105, 212);
    border: none;
    border-radius: 3px;
    padding: 10px 20px;
    margin: 5px 0px;
    width: 100%;
    max-width: 400px;
}

button:hover {
    background-color: rgb(6, 83, 182);
}

button.secondary {
    background-color: transparent;
    color: #000;
    border: #000 1px solid;
}

button.secondary:hover {
    background-color: #000;
    color: #fff;
    border: #000 1px solid;
}

button:disabled,
button[disabled] {
    cursor: not-allowed;
    background-color: #b1b1b1;
}

fieldset {
    border: 1px solid silver;
    margin: 0 2px;
    padding: .35em .625em .75em
}

legend {
    box-sizing: border-box;
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal
}

textarea {
    overflow: auto
}

[type="checkbox"],
[type="radio"] {
    box-sizing: border-box;
    padding: 0
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
    height: auto
}

[type="search"] {
    -webkit-appearance: textfield;
    -moz-appearance: textfield;
    appearance: textfield;
    outline-offset: -2px
}

[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

::-webkit-input-placeholder {
    color: inherit;
    opacity: .54
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit;
}

* {
    box-sizing: border-box;
}

::-webkit-scrollbar {
    width: 8px;
    height: 8px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 4px;
}

::-webkit-scrollbar-thumb {
    background-color: rgba(255, 255, 255, 0.2);
    border-radius: 4px;
}

::-webkit-scrollbar-corner,
::-webkit-resizer {
    background: rgba(255, 255, 255, 0.1);
}

/*IE Scrollbars*/
body {
    scrollbar-arrow-color: #044c8b;
    scrollbar-3dlight-color: #00417b;
    scrollbar-highlight-color: #00417b;
    scrollbar-face-color: #044c8b;
    scrollbar-shadow-color: #00417b;
    scrollbar-darkshadow-color: #00417b;
    scrollbar-track-color: #00417b;
}

/*PRE-STYLING - END*/

html {
    width: 100vw;
    height: 100vh;
}

body {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    width: 100vw;
    height: auto;
    font-family: BMWTypeNext-Regular, HelveticaNeue, Helvetica, Arial, sans-serif;
    font-size: 12px;
    color: #989A9C;
    letter-spacing: 1px;
    overflow-x: hidden;
    background: url("../img/bg.jpg") #003871 no-repeat;
    background-size: 100% 100%;
    background-attachment: fixed;
}

#toolbar {
    display: flex;
    width: 100%;
    height: auto;
    font-family: BMWTypeNext-Regular, HelveticaNeue, Helvetica, Arial, sans-serif;
    font-size: 11px;
    color: #fff;
    justify-content: space-between;
    margin: 0px;
    padding: 10px;
}

#toolbar ul,
#toolbar li {
    display: flex;
    width: auto;
    height: auto;
    list-style-type: none;
    margin: 0px;
    padding: 0px;
}

#toolbar ul {
    margin: 0px 10px 0px 0px;
    padding: 10px;
    background-color: rgba(255, 255, 255, 0.1);
    border-radius: 24px;
}

#toolbar li {
    margin: 0px 10px 0px 0px;
}

#toolbar ul:last-child,
#toolbar li:last-child {
    margin: 0px;
}

#toolbar #profile {
    display: flex;
    cursor: pointer;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
}

#toolbar #profile .icon {
    display: flex;
    width: 24px;
    height: 24px;
    border-radius: 12px;
    background: url("../img/icons/regular/person_rg.svg") #666666 no-repeat;
    background-position: center center;
    background-size: 75%;
    margin: 0px 10px 0px 0px;
}

#toolbar #profile .welcome,
#toolbar #widgets #date-time {
    display: flex;
    position: relative;
    width: auto;
    min-width: max-content;
    height: 24px;
    margin: 0px 10px 0px 0px;
    align-items: center;
}

#toolbar #nav {
    display: flex;
    flex-direction: row;
    justify-content: left;
    align-items: center;
    flex: 1;
}

#toolbar #nav .link {
    text-align: left;
    align-self: flex-start;
    margin: 0px;
}

#toolbar #widgets {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: flex-end;
}

#toolbar #widgets #date-time {
    background-color: rgba(255, 255, 255, 0.2);
    border-radius: 12px;
    margin: 0px;
    padding: 0px 10px;
    opacity: 0.7;
}

#toolbar #widgets #date-time:hover {
    opacity: 1;
}

#toolbar a,
#toolbar button {
    display: flex;
    position: relative;
    width: auto;
    height: 24px;
    line-height: 24px;
    font-family: BMWTypeNext-Regular, HelveticaNeue, Helvetica, Arial, sans-serif;
    font-weight: normal;
    font-size: 12px;
    color: #fff;
    background-color: transparent;
    border-radius: 12px;
    margin: 0px;
    padding: 0px 10px;
}

#toolbar #profile_view button {
    display: flex;
    position: relative;
    width: max-content;
    height: 20px;
    line-height: 20px;
    font-size: 10px;
    border-radius: 12px;
    margin: 0px;
    padding: 0px 10px;
}

#toolbar a:hover,
#toolbar button:hover,
#toolbar #profile:hover {
    background-color: rgba(255, 255, 255, 0.2);
}

.sticky {
    position: -webkit-sticky;
    /* Safari */
    position: fixed;
    top: 0px;
    z-index: 99999;
}

#content {
    display: flex;
    clear: both;
    width: calc(100% - 40px);
    height: auto;
    position: relative;
    top: 75px;
    left: 0px;
    right: 0px;
    bottom: 0px;
    padding: 20px;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
}

#apps {
    display: flex;
    clear: both;
    width: 100%;
    height: auto;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 10px;
}

.app {
    display: flex;
    flex-direction: column;
    position: relative;
    width: 25%;
    min-width: 150px;
    max-width: 200px;
    aspect-ratio: 1 / 1;
    /* margin: 10px; */
    text-align: center;
    cursor: pointer;
}

.app .icon {
    display: flex;
    width: 100px;
    aspect-ratio: 1 / 1;
    margin: 0px auto;
    justify-content: center;
    align-items: center;
    background: linear-gradient(to bottom right, rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.2));
    -webkit-box-shadow: 7px 7px 5px rgba(0, 0, 0, 0.18);
    -moz-box-shadow: 7px 7px 5px rgba(0, 0, 0, 0.18);
    box-shadow: 7px 7px 5px rgba(0, 0, 0, 0.18);
    border-top: 2px solid rgba(255, 255, 255, 0.4);
    border-left: 2px solid rgba(255, 255, 255, 0.6);
    border-right: 2px solid rgba(255, 255, 255, 0.2);
    border-bottom: 2px solid rgba(255, 255, 255, 0.4);
    border-radius: 10px;
    background-clip: padding-box, border-box;
    background-origin: padding-box, border-box;
    transform: scale(1.0);
    -webkit-transform: scale(1.0);
    -ms-transform: scale(1.0);
    -moz-transform: scale(1.0);
    -o-transform: scale(1.0);
    transition: all 0.3s ease;
}

.app:hover .icon {
    background: linear-gradient(to bottom right, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.4));
    -webkit-box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.13);
    -moz-box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.13);
    box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.13);
    border-top: 2px solid rgba(255, 255, 255, 0.2);
    border-left: 2px solid rgba(255, 255, 255, 0.4);
    border-right: 2px solid rgba(255, 255, 255, 0.4);
    border-bottom: 2px solid rgba(255, 255, 255, 0.6);
    transform: scale(1.15);
    -webkit-transform: scale(1.15);
    -ms-transform: scale(1.15);
    -moz-transform: scale(1.15);
    -o-transform: scale(1.15);
    transition: all 0.3s ease;
}

.app .icon svg {
    width: 80%;
    height: 80%;
    color: #fff;
    fill: #fff;
}

.app .title {
    font-family: BMWTypeNext-Light, HelveticaNeue, Helvetica, Arial, sans-serif;
    font-weight: lighter;
    font-size: 1.2em;
    color: #fff;
    margin-top: 15px;
}

#popover {
    display: flex;
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px;
    background-color: rgba(0, 0, 0, 0.5);
    align-items: center;
    justify-content: center;
    z-index: 999999;
}

#popover .panel {
    display: flex;
    flex-direction: column;
    max-width: 90%;
    min-width: 400px;
    height: auto;
    background-color: rgba(255, 255, 255, 1);
    font-size: 1.1em;
    color: #000;
    border-radius: 8px;
    padding: 20px;
    -webkit-box-shadow: 15px 15px 10px rgba(0, 0, 0, 0.18);
    -moz-box-shadow: 15px 15px 10px rgba(0, 0, 0, 0.18);
    box-shadow: 15px 15px 10px rgba(0, 0, 0, 0.18);
    position: relative;
    text-align: center;
}

#popover .panel h3,
#popover .panel h4 {
    font-family: BMWTypeNext-Thin, HelveticaNeue, Helvetica, Arial, sans-serif;
    font-weight: lighter;
    font-size: 2em;
    color: #313131;
    margin: 0px 0px 10px 0px;
    text-align: center;
}

#popover .panel h4 {
    font-family: BMWTypeNext-Regular, HelveticaNeue, Helvetica, Arial, sans-serif;
    font-weight: normal;
    font-size: 1.65em;
    margin-bottom: 5px;
}

#popover .panel h5 {
    margin: 10px 0px;
    padding: 5px 10px;
    border-bottom: solid 1px #999999;
}

#popover #profile_view p.label {
    font-size: 1.2em;
}

#popover #profile_view span {
    font-family: BMWTypeNext-Bold, HelveticaNeue, Helvetica, Arial, sans-serif;
    font-weight: bold;
}

#popover form {
    display: block;
    width: 100%;
    margin: 10px 0px;
    padding: 0px;
}

#popover input[type="text"],
#popover input[type="email"],
#popover input[type="password"] {
    width: 100%;
    padding: 10px;
    margin: 10px 0px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 1.2em;
}

#popover input[type="text"]#code {
    text-align: center;
}

#popover input[type="checkbox"].static {
    pointer-events: none;
}

#popover #accounts {
    min-width: max-content;
    max-width: 1600px;
    height: auto;
    margin: 10px 0px;
    padding: 0px;
}

#popover #searchForm {
    display: flex;
    justify-content: center;
    align-items: top;
}

#popover #searchInput {
    width: 90%;
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px;
    border-top-right-radius: 0px;
    border-bottom-right-radius: 0px;
    margin: 0px;
    padding: 10px 20px;
}

#popover #searchBtn {
    display: flex;
    justify-content: center;
    align-items: center;
    width: auto;
    height: 43.5px;
    border-top-right-radius: 20px;
    border-bottom-right-radius: 20px;
    border-top-left-radius: 0px;
    border-bottom-left-radius: 0px;
    margin: 0px;
    padding: 10px 15px 10px 10px;
}

#popover #searchBtn svg {
    width: 21.5px;
    height: 21.5px;
    fill: #fff;
}

#popover #viewAllBtn {
    width: max-content;
    border-radius: 20px;
    margin: 5px auto;
}

#popover #addUserBtn {
    width: 30px;
    height: 30px;
    margin: 0px;
    padding: 0px;
    cursor: pointer;
}

#popover #addUserBtn svg {
    width: 20px;
    height: 20px;
    margin: 5px;
    padding: 0px;
}

#popover .table-container {
    width: 100%;
    overflow: scroll;
    margin: 0px;
    padding: 0px;
}

#popover table {
    width: 100%;
    border-collapse: collapse;
    margin: 10px 0px 20px 0px;
    font-size: 1.25em;
}

#popover th {
    font-family: BMWTypeNext-Bold, HelveticaNeue, Helvetica, Arial, sans-serif;
    font-weight: bold;
    text-align: left;
    border-bottom: solid 2px #999999;
}

#popover tr.active {
    color: #000;
}

#popover tr.inactive {
    color: #999999;
}

#popover td {
    text-align: left;
    border-bottom: solid 1px #cccccc;
}

#popover td.account-type {
    text-transform: capitalize;
}

#popover table a {
    font-family: BMWTypeNext-Bold, HelveticaNeue, Helvetica, Arial, sans-serif;
    font-weight: bold;
    color: #044c8b;
    text-decoration: none;
}

#popover td.active,
#popover td.inactive {
    width: 150px;
}

#popover table button {
    border-radius: 20px;
}

#popover #changeStatus p {
    font-size: 1.2em;
}

#popover #changeStatus p.username {
    font-family: BMWTypeNext-Bold, HelveticaNeue, Helvetica, Arial, sans-serif;
    font-weight: bold;
    font-size: 1.5em;
}

#popover #changeStatus p span.active {
    color: green;
    font-weight: bold;
}

#popover #changeStatus p span.inactive {
    color: red;
    font-weight: bold;
}

#popover a {
    font-family: BMWTypeNext-Light, HelveticaNeue, Helvetica, Arial, sans-serif;
    font-weight: lighter;
    color: #000;
    text-decoration: underline;
}

#popover a:hover {
    text-decoration: none;
}

#popover a.close {
    width: 24px;
    height: 24px;
    position: absolute;
    top: 10px;
    right: 10px;
    background-image: url(../img/icons/regular/close_rg.svg);
    background-position: center center;
    background-size: contain;
    cursor: pointer;
}

.msg {
    background-color: #feffef;
    padding: 10px;
    border: 1px solid #eeeee0;
    margin-bottom: 10px;
    border-radius: 4px;
}

.msg_success,
#pwd_count.met,
#pwd_uppercase.met,
#pwd_lowercase.met,
#pwd_number.met,
#pwd_characters.met,
#pwd_match.met {
    color: green;
}

.msg_fail,
#pwd_count,
#pwd_uppercase,
#pwd_lowercase,
#pwd_number,
#pwd_characters,
#pwd_match {
    color: red;
}

.msg_warning {
    color: orange;
}

.green {
    background-color: #4CAF50 !important;
}

.green:hover {
    background-color: #45a049 !important;
}

.red {
    background-color: #f44336 !important;
}

.red:hover {
    background-color: #da190b !important;
}

.grey {
    background-color: #666666;
}

.uppercase {
    text-transform: uppercase;
}

.left {
    float: left;
}

.right {
    float: right;
}

@media screen and (max-width: 1100px) {}

@media screen and (max-width: 900px) {}

@media screen and (max-width: 650px) {}

@media screen and (max-width: 480px) {}

@media print {
    body {
        visibility: hidden;
    }

    .print {
        visibility: visible;
    }

    .sticky {
        position: relative;
    }
}