﻿html {
    font-size: 13px;
    position: relative;
    min-height: 100%;
}

a{
    color: #00A0E6;
}

a:hover {
    color: #008DCC;
}

a:focus,
a:active {
    outline: none;
    user-select: none;
}

option:hover {
    background-color: #008DCC !important;
}


.required:after {
    content: "*";
    color: red;
    padding-left:3px;
}

.is-invalid {
    color: #DC3545 !important;
    border-color: #DC3545 !important;
}
.is-valid:not([type="checkbox"]) {
    border-color: #50B049 !important;
}


.form-control[readonly].is-invalid:focus,
.is-invalid:focus {
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 5px rgba(255, 0, 0, 0.6) !important;
}

.form-control[readonly].is-valid:focus,
.is-valid:focus {
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px 1px rgba(60, 200, 120, 0.45) !important;
    border-color: #408C3A !important;
}


.grid-access-error {
    padding: 4px !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
    background-color: #DC3545;
    border-radius: 4px;
    color: white !important;
    line-height: 21px !important;
    vertical-align: middle;
    box-shadow: 0.1em 0.1em 0.3em rgba(0, 0, 0, 0.5) !important;
    display: inline-block;
}


.field-validation-error {
    padding: 1px 6px 2px 6px !important;
    background-color: #DC3545;
    border-radius: 4px;
    width: fit-content;
    font-size: 12px;
    color: white !important;
    position: relative;
    vertical-align: middle;
    box-shadow: 0.1em 0.1em 0.3em rgba(0, 0, 0, 0.5) !important;
}

.field-validation-error:before {
    content: "";
    line-height: 0px;
    font-size: 0px;
    width: 0;
    height: 0;
    border-style: solid;
    position: absolute;
    margin: auto;
    left: 20px;
    top: -9px;
    border-top: 5px solid transparent;
    border-right: 5px solid transparent;
    border-bottom: 5px solid #DC3545;
    border-left: 5px solid transparent;
}

a.navbar-brand {
    height: 45px;
    font-family: Arial;
    color: #F5F5F5;
    display: flex;
    flex-direction: row;
    justify-content: left;
    align-items: center;
    margin: 0px;
}

#qrCode {
    display: flex;
    justify-content: center;
    margin-bottom: 20px;
}

.identity-code kbd {
    display: inline-block;
    font-size: 16px;
    letter-spacing: 1px;
    padding: 8px 14px;
}

.recovery-codes {
    display: grid;
    grid-template-columns: repeat(2, minmax(220px,1fr));
    gap: 12px;
    margin-top: 20px;
}

.recovery-code {
    background: #F8FAFC;
    border: 1px solid #DCE3EB;
    border-radius: 8px;
    padding: 12px;
    text-align: center;
}

.recovery-code code {
    font-size: 15px;
    font-family: Consolas, "Courier New", monospace;
    color: #2D3748;
    background: transparent;
}

.border-top {
    border-top: 1px solid #e5e5e5;
}

.border-bottom {
    border-bottom: 1px solid #e5e5e5;
}

.box-shadow {
    box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .05);
}

.footer {
    position: absolute;
    bottom: 0;
    width: 100%;
    white-space: nowrap;
    line-height: 30px;
}

.nav-link:hover {
    text-decoration: none;
}

.nav-pills > li > a.active {
    background-color: #00A0E6 !important;
    color: white;
}
.nav-pills > li > a.active:hover {
    text-decoration: none;
    background-color: #008DCC !important;
    color: white;
}
.nav-pills > li > a {
    color: #00A0E6;
}
.nav-pills > li > a:hover {
    text-decoration: underline;
    color: #00A0E6;
}
.nav-pills > li > a:focus {
    text-decoration: underline;
    color: #008DCC;
}


.container-xl {
    max-width: 1680px; 
}

.navbar {
    padding: 0px;
}

.navbar-custom .navbar-nav {
    white-space: nowrap;
}


.navbar-custom .navbar-nav .nav-link {
    height: 45px;
    line-height: 45px;
    padding: 0rem 1.1rem;
    font-size: 1.1rem;
    vertical-align: middle;
}


.navbar-custom .navbar-nav .nav-link:focus,
.navbar-custom .navbar-nav .nav-link:active,
.navbar-custom .nav-item.active .nav-link,
.navbar-custom .nav-item:active .nav-link,
.navbar-custom .nav-item:hover .nav-link {
    color: #ffffff;
    background-color: #000000;
    box-shadow: none;
    -moz-box-shadow: none;
    -webkit-box-shadow: none;
}

.nav-link i {
    font-size: 1.2rem; /* Navbar Icon size  */
    padding-right: 5px; /* Navbar Icon padding  */
}

.navbar-custom .dropdown .dropdown-menu {
    margin-top: -1px;
    font-size: 1.1rem;
    border-top-left-radius: 0px;
    border-top-right-radius: 0px;
    border-bottom-left-radius: 0px;
    border-bottom-right-radius: 0px;
}

.dropdown-menu .dropdown-item:active {
    background-color: #007bb3 !important;
}

.dropdown-menu .dropdown-item:active img {
    filter: brightness(0) invert(1);
}

.dropdown-menu {
    padding-top: 0px;
    padding-bottom: 0px;
    z-index: 3000 !important;
}

.dropdown-menu .dropdown-item:hover {
    background-color: #00A0E6;
    color: #ffffff;
}

.dropdown-menu .dropdown-item:hover img {
    filter: brightness(0) invert(1);
}

.dropdown-menu .dropdown-item {
    cursor: pointer;
    vertical-align: middle;
    padding-top: 5px;
    padding-bottom: 7px;
}

.dropdown-toggle:focus {
    outline: none;
    box-shadow: none;
}



.form-control:focus,
.form-control:hover,
.btn-light:hover {
    border-color: #989898;
}



.btn-primary,
.ui-dialog-buttonpane .btn-primary.ui-button {
    background: #00A0E6;
    border-radius: 6px;
    border: 1px solid #00A0E6;
    color: #fff;
    text-shadow: none;
    font-size: 14px;
    box-shadow: 0 1px 2px rgba(0,0,0,.08);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all .15s ease-in-out;
    gap: 8px;
    height: 35px;
    line-height: 35px;
    padding-top: 0;
    padding-bottom: 0;
}

.btn-primary:hover,
.btn-primary:focus,
.ui-dialog-buttonpane .btn-primary.ui-button:hover,
.ui-dialog-buttonpane .btn-primary.ui-button:focus {
    background: #008DCC;
    color: white !important;
    border: 1px solid #008DCC;
    box-shadow: 0 3px 8px rgba(0,0,0,.12);
}


.btn-primary:active,
.ui-dialog-buttonpane .btn-primary.ui-button:active {
    background: #007FBA !important;
    border-color: #007FBA !important;
}

.btn-primary:disabled,
.ui-dialog-buttonpane .btn-primary.ui-button:disabled {
    background: #00A0E6;
    border-color: #00A0E6;
    cursor: not-allowed !important;
    opacity: 0.6 !important;
    box-shadow: none !important;
}


.btn-secondary,
.ui-dialog-buttonpane .btn-secondary.ui-button {
    background: #fff;
    border: 1px solid #ced4da;
    border-radius: 6px;
    color: #6c757d;
    font-size: 14px;
    text-shadow: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all .15s ease-in-out;
    gap: 8px;
    height: 35px;
    line-height: 35px;
    padding-top: 0;
    padding-bottom: 0;
}

.btn-secondary:hover,
.btn-secondary:focus,
.ui-dialog-buttonpane .btn-secondary.ui-button:hover,
.ui-dialog-buttonpane .btn-secondary.ui-button:focus {
    background: #f8f9fa;
    border-color: #adb5bd;
    color: #495057;
    box-shadow: 0 0 0 .2rem rgba(108,117,125,.15);
}

.btn-secondary:active,
.ui-dialog-buttonpane .btn-secondary.ui-button:active {
    background: #e9ecef !important;
    border-color: #adb5bd !important;
    color: #343a40 !important;
    box-shadow: inset 0 2px 4px rgba(0,0,0,.08);
}

.btn-secondary:disabled,
.ui-dialog-buttonpane .btn-secondary.ui-button:disabled {
    background: #fff;
    border-color: #dee2e6;
    color: #adb5bd;
    opacity: 1;
    cursor: not-allowed;
    box-shadow: none;
}


.btn.btn-info {
    background-color: #0FB5D7;
    border-color: #0FB5D7;
    color: white;
    font-size: 14px
}

.btn.btn-info:hover,
.btn.btn-info:focus {
    background-color: #0da1bf;
    border-color: #0da1bf;
    color: white;
}

.btn-light {
    border-color: #CED4DA;
}

.btn.btn-outline-info:hover,
.btn.btn-outline-info:focus {
    background-color: #0ea9c9;
    border-color: #0ea9c9;
}

.form-control:focus:not(.is-valid):not(.is-invalid):not([readonly]) {
    border-color: #00A0E6;
    box-shadow: 0 0 0 .2rem rgba(0, 160, 230, .18) !important;
}

.btn-close:active,
.btn-close:hover,
.btn-close:focus,
.btn.btn-link.glow-button
.btn.btn-link:active,
.btn.btn-link:hover,
.btn.btn-link:focus {
    box-shadow: none;
}


.form-check-input:checked {
    background-color: #00A0E6 !important;
    border: 0;
}

.form-check-input:hover {
    background-color: #008DCC !important;
    border: 0;
}

.form-check-input:focus, .label::after, label.form-check-label:focus, .form-check-input::after, .form-check-input:not(:disabled):not(.disabled):active:focus {
    color: black;
    outline: 0;
    border: 0;
    box-shadow: 0 0 0 0.1rem #008DCC !important;
}



/* remove blueish backgroud color of input boxes after autofill */
/*
input:-webkit-autofill {
    background-clip: text;
    -webkit-background-clip: text !important;
    transition: background-color 0s ease-in-out 0s;
}
*/


/* Text selection background */
::-moz-selection { /* Code for Firefox */
    color: white;
    background: #00A0E6;
}
::selection {
    color: white;
    background: #00A0E6;
}

.modal {
    z-index: 99999 !important;
}

.modal-backdrop {
    opacity: 0.2 !important;
    z-index: 99998 !important;
}

.modal-header {
    color: #404040;
    background-color: #f8f9fa;
}
.modal-footer {
    color: #404040;
    background-color: #f8f9fa;
}

.modal-body {
    padding-left: 40px;
    padding-right: 40px;
}

.modal-dialog {
    max-width: 90%;
    margin-left: auto;
    margin-right: auto;
    justify-content: center !important;
}

.modal-title {
    padding-right: 20px !important;
}



.modal-content {
    width: initial !important;
}


/* Styles page-link - for datatable pagination numbers */
.page-item.active .page-link {
    background-color: #F3F3F3 !important;
    border-color: #A9A9A9;
    
}
.page-link {
    color: black !important;
}


/* Style for DataTable */
:root {
    --dt-row-selected: 216, 216, 216;
    --dt-row-selected-text: 0, 0, 0;
    --dt-row-selected-link: 9, 10, 11;
    --dt-row-stripe: 0, 0, 0;
    --dt-row-hover: 0, 0, 0;
    --dt-column-ordering: 0, 0, 0;
    --dt-html-background: white;
}
.table {
    vertical-align: middle;
}

/* Display message below dataTable about rows selected */
.select-info{
    display:none;
}

.disabled {
    opacity: 0.4;
}

.termcard {
    border-radius: 4px;
    background: transparent;
    box-shadow: 0 6px 10px rgba(0,0,0,.08), 0 0 6px rgba(0,0,0,.05);
    transition: .3s transform cubic-bezier(.155,1.105,.295,1.12),.3s box-shadow,.3s -webkit-transform cubic-bezier(.155,1.105,.295,1.12);
    cursor: pointer;
    margin-left: 3px;
    margin-right: 3px;
    width: 80px;
}

.termcard:hover {
    transform: scale(1.14);
    box-shadow: 0 10px 20px rgba(0,0,0,.32), 0 4px 8px rgba(0,0,0,.06);
}

.termcardhovered {
    transform: scale(1.14);
    box-shadow: 0 10px 20px rgba(0,0,0,.32), 0 4px 8px rgba(0,0,0,.06);
}

.card-button {
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 6px 10px rgba(0,0,0,.08), 0 0 6px rgba(0,0,0,.05);
    transition: .3s transform cubic-bezier(.155,1.105,.295,1.12),.3s box-shadow,.3s -webkit-transform cubic-bezier(.155,1.105,.295,1.12);
    padding: 14px 22px 18px 22px;
    cursor: pointer;
}

.card-button:hover {
    transform: scale(1.05);
    box-shadow: 0 10px 20px rgba(0,0,0,.12), 0 4px 8px rgba(0,0,0,.06);
    border-color: #999
}

.card-button a {
    font-size: 15px
}


.grey-border {
    border: 1px solid #CCCCCC !important;
}

/* hide numeric input spinner for Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* hide numeric input spinner for  Firefox */
input[type=number] {
    -moz-appearance: textfield;
}

.right-radius {
    border-top-right-radius: 5px !important;
    border-bottom-right-radius: 5px !important;
}

.footer-terminal {
    height: 35px !important;
    vertical-align: middle;
    white-space: nowrap
}

.dropdown-submenu {
    position: relative;
    white-space: nowrap;
}

    .dropdown-submenu .dropdown-menu {
        top: 0;
        left: 100%;
        margin-top: -1px;
        white-space: nowrap;
    }

/* separator on index page with cards */
.separator {
    display: flex;
    align-items: center;
    text-align: center;
    margin-bottom: 1em;
}

.separator::before,
.separator::after {
    content: '';
    flex: 1;
    border-bottom: 1px solid #999;
}

.separator:not(:empty)::before {
    margin-right: .4em;
}

.separator:not(:empty)::after {
    margin-left: .4em;
}

.dataTables_filter input {
    width: 300px !important;
}

.cke_dialog_background_cover {
    background-color: rgba(0, 0, 0, 0.5) !important;
}

.cke_dialog {
    border-radius: 3px !important;
    box-shadow: 1px 4px 10px 0px rgba(50, 50, 50, 0.75) !important;
    z-index: 100000 !important;
}

.cke_dialog input:focus,
.cke_dialog textarea:focus,
.cke_dialog select:focus {
    outline: none;
    box-shadow: 0 0 0 1px #999;
    border: 1px solid #999 !important;
}

#toastContainer {
    position: fixed;
    top: 45px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 9999;
}

.toast-success-icon {
    color: #4BB04C
}

.toast-info-icon {
    color: #008DCC
}

.custom-toast {
    min-width: 150px;
    width: fit-content;
    max-width: 900px;
    background: rgba(32, 33, 36, 0.8);
    color: #fff;
    border: none;
    border-radius: 4px;
}

.toast-container > :not(:last-child) {
    margin-bottom: 6px;
}

.custom-toast .toast-content {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
}

.custom-toast .toast-icon {
    align-self: flex-start;
    margin-top: 5px;
}

.custom-toast .toast-icon::before {
    font-size: 16px !important;
    vertical-align: 0.125em !important;
}

.custom-toast .toast-text {
    flex: 1;
}

.custom-toast .toast-title {
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
    margin: 0;
}

.custom-toast .toast-action {
    color: #2ea8ff;
    text-decoration: none;
    font-size: 14px;
    margin-left: 20px;
    white-space: nowrap;
}

.custom-toast .toast-action:hover {
    text-decoration: underline;
}

.custom-toast .btn-close {
    margin-left: 4px;
    transform: scale(.8);
}