﻿/*============================================================
   #region CSS BASE
============================================================ */
*, *::after, *::before {
    box-sizing: border-box;
}

input::-ms-reveal {
    display: none;
}

html {
    font-size: 62.5%;
    overflow: hidden;
}

body {
    font-size: 1.6rem;
    font-family: "Open Sans", sans-serif;
    color: #3e454c;
    background-color: #f8f9fa;
}

    body::after {
        clear: both;
        content: "";
        display: table;
    }

a {
    color: #323232;
    text-decoration: none;
}

    a:link, a:visited {
        color: #323232;
    }

    a:hover, a:active {
        color: #007f99;
    }

img {
    image-rendering: -webkit-optimize-contrast;
}

input {
    font-family: "Open Sans", sans-serif;
    font-size: 1.6rem;
}

    input[type=checkbox] {
        min-height: 15px;
    }

.form-control {
    font-size: 16px;
}

ol, ul {
    list-style: none;
}

.dropdown-menu {
    right: 0;
    left: auto;
    padding: 5px;
    font-size: inherit;
}

.dropup .dropdown-menu {
    top: auto;
    bottom: 100%;
    margin-top: 0;
    margin-bottom: 0.125rem;
    right: auto;
    left: 13px;
}

    .dropup .dropdown-menu a {
        padding-left: 5% !important;
    }

        .dropup .dropdown-menu a span {
            display: inline-block;
        }

.dropdown-config {
    min-width: 215px;
}

    .dropdown-config a {
        color: #ffffff;
        display: inline-block !important;
    }

        .dropdown-config a:hover, .dropdown-config a:active, .dropdown-config a:focus {
            color: #ffffff;
            font-weight: bold;
        }

.form-row {
    display: flex;
    flex-wrap: wrap;
    margin-right: -5px;
    margin-left: -5px;
}

.form-group {
    margin-bottom: 1rem;
}

main {
    height: calc(100vh - 54px);
    overflow: hidden;
}

#main {
    overflow: auto;
    height: calc(100vh - 54px);
    transition: margin 0.5s ease;
}

#main_content {
    margin: 15px 5px 5px 15px;
}

@media only screen and (min-width: 768px) {
    #main {
        margin: 0 0 0 200px;
    }

        #main.not_toggled {
            margin: 0 0 0 40px;
        }
}
/*#endregion*/

/*============================================================
   #region HEADER
============================================================ */
header {
    z-index: 2;
    background-color: var(--header-bg) !important;
    color: var(--header-color) !important;
}

#menu-toggle {
    cursor: pointer;
    font-size: 22px;
    padding: 5px 15px;
    position: relative;
    float: right;
    top: 10px;
    margin-bottom: 10px;
}

.menu-username_True {
    display: none;
}

@media only screen and (min-width: 768px) {
    header {
        border-bottom: none;
    }

    .menu-username_True {
        display: inline-flex;
    }
}

#notis_badge {
    background-color: maroon;
    border: 0px !important;
}
/*#endregion*/

/*============================================================
   #region SIDEBAR
============================================================ */
.cd-side-nav {
    position: absolute;
    z-index: 1;
    left: 0;
    top: 0;
    width: 0;
    padding: 39px 0 0 0;
    visibility: hidden;
    opacity: 0;
    max-height: 100vh;
    overflow: auto;
    -webkit-font-smoothing: antialiased;
    transition: opacity 0.2s 0s, visibility 0s 0.2s;
    background-color: var(--sidenav-bg) !important;
}

    .cd-side-nav.toggled {
        width: 100%;
        visibility: visible;
        opacity: 1;
    }

    .cd-side-nav .sideMenu span {
        display: none;
    }

    .cd-side-nav.toggled .sideMenu span {
        display: inline;
    }

    .cd-side-nav .sideMenu a {
        padding-left: 11px;
    }

.sideMenu {
    margin-top: 16px;
}

.cd-side-nav > ul {
    padding-top: 0 !important;
}

.cd-side-nav.nav-is-visible {
    opacity: 1;
    visibility: visible;
    overflow: visible;
    -webkit-overflow-scrolling: touch;
    transition: opacity 0.2s 0s, visibility 0s 0s;
    max-height: none;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
}

.cd-side-nav > ul {
    padding: 0.6em 0;
}

    .cd-side-nav > ul:last-of-type {
        padding-bottom: 0;
    }

.cd-side-nav a {
    display: block;
    padding: 1em 5%;
    font-size: 16px;
}

.cd-side-nav img {
    max-width: 20px;
    filter: invert(90%) sepia(100%) saturate(10005%) hue-rotate(118deg) brightness(44%) contrast(80%);
}

.cd-side-nav > ul > li > a {
    padding-left: calc(5% + 24px);
}

.cd-side-nav i {
    width: 18px;
    text-align: center;
}

.cd-side-nav > ul > li.overview > a::before {
    background-position: -64px 0;
}

.cd-side-nav > ul > li:not(.action-btn):hover > a {
    background-color: rgba(0, 0, 0, 0.5);
    filter: contrast(0.5);
}

@media only screen and (min-width: 768px) {
    .cd-side-nav {
        position: relative;
        float: left;
        top: auto;
        background-color: var(--sidenav-bg) !important;
        min-height: calc(100vh - 54px);
        padding-top: 0px;
        width: 40px;
        visibility: visible;
        opacity: 1;
        overflow: visible;
        max-height: none;
        transition: all 0.5s ease;
    }

        .cd-side-nav.toggled {
            width: 200px;
        }

        .cd-side-nav.nav-is-visible {
            box-shadow: none;
        }

        .cd-side-nav > ul {
            padding: 0.6em 0;
        }

        .cd-side-nav a {
            font-size: 16px;
        }

        .cd-side-nav > ul > li > a {
            padding: 1em 1em 1em 19px;
            text-align: left;
            border-bottom: none;
        }

        .cd-side-nav .active > a {
            box-shadow: inset 3px 0 0 var(--sidenav-color);
            background-color: rgba(0, 0, 0, 0.5);
            filter: contrast(0.5);
        }
}

ul.sideMenu li a span {
    margin-left: 10px;
}

ul.sideMenu li a:hover {
    text-decoration: none !important;
}

#sideMenuFooter a {
    padding-top: 2px;
    padding-bottom: 2px;
    font-size: 14px;
}

@media only screen and (min-width: 768px) {
    #sideMenuFooter {
        position: absolute;
    }
}
/*#endregion*/

/*============================================================
   #region SYNCFUSION & UTILS
============================================================ */
input::-moz-selection {
    color: #fff !important;
    background: var(--header-bg) !important;
}

input::selection {
    color: #fff !important;
    background: var(--header-bg) !important;
}

input:not([type='submit']):focus {
    border-color: var(--header-bg) !important;
}

.e-control.e-btn.e-lib.e-primary.e-flat:hover,
.e-control.e-btn.e-lib.e-primary.e-flat:focus,
.e-control.e-btn.e-lib.e-primary.e-flat:active {
    background-color: transparent !important;
}

.e-date-wrapper span.e-input-group-icon.e-date-icon.e-icons.e-active {
    color: var(--header-bg) !important;
}

.e-calendar .e-btn.e-today.e-flat.e-primary, .e-calendar .e-css.e-btn.e-today.e-flat.e-primary {
    color: var(--header-bg) !important;
}

.e-calendar .e-content td.e-today span.e-day {
    border-color: var(--header-bg) !important;
    color: var(--header-bg) !important;
}

.e-calendar .e-content td.e-selected span.e-day {
    background-color: var(--header-bg) !important;
    color: #ffffff !important;
    border: none !important;
}

.e-checkbox-wrapper .e-frame.e-check, .e-css.e-checkbox-wrapper .e-frame.e-check {
    background-color: var(--header-bg) !important;
}

input[type='button']:focus {
    border-top-color: transparent !important;
    border-left-color: transparent !important;
    border-right-color: transparent !important;
}

input:focus ~ label.e-float-text, .e-input-focus ~ label.e-float-text {
    color: #323232 !important;
}

.e-input-focus .e-float-text {
    color: #323232 !important;
}

.e-pager .e-currentitem, .e-pager .e-currentitem:hover {
    background-color: #323232 !important;
    color: #ffffff !important;
}

.e-float-line::before, .e-float-line::after, .e-input-focus::before, .e-input-focus::after {
    background-color: #323232 !important;
}

.e-control.e-btn.e-lib.e-primary.e-flat {
    color: #323232 !important;
}

.e-spinner-pane .e-spinner-inner .e-spin-material {
    stroke: #323232 !important;
}

.e-toolbar .e-tbar-btn.e-btn .e-icons {
    color: #000 !important;
}

.e-dropdownbase .e-list-item.e-item-focus, .e-dropdownbase .e-list-item.e-active, .e-dropdownbase .e-list-item.e-active.e-hover, .e-dropdownbase .e-list-item.e-hover {
    color: #323232 !important;
}

#Grid_dialogEdit_wrapper {
    min-width: 300px;
}

/* Botones especiales de Grid */
.btn_color {
    color: #323232 !important;
    box-shadow: none !important;
    background-color: transparent !important;
}

    .btn_color:hover {
        border-bottom: 3px solid #323232 !important;
        margin-bottom: -2px;
    }

    .btn_color:disabled {
        border-color: transparent !important;
        opacity: 0.5 !important;
        cursor: not-allowed !important;
    }

.btnGrid_color {
    background-color: #323232 !important;
    color: #ffffff !important;
}

    .btnGrid_color:hover {
        background-color: #007f99 !important;
    }

/* Ojo de contraseña en el Login */
.btn-show-pass {
    font-size: 16px;
    color: #999999;
    display: flex;
    align-items: center;
    position: absolute;
    height: 100%;
    top: 0;
    right: 0;
    padding-right: 10px;
    cursor: pointer;
    transition: all 0.4s;
    z-index: 2;
}

    .btn-show-pass:hover, .btn-show-pass.active {
        color: #4c6ef5;
    }
