@import url("//cdn.jsdelivr.net/npm/bootstrap@5/dist/css/bootstrap.min.css");
@import url("//cdn.jsdelivr.net/npm/bootstrap-icons@1/font/bootstrap-icons.min.css");
@import url("//cdn.jsdelivr.net/npm/tom-select@2/dist/css/tom-select.bootstrap5.min.css");
@import url("//cdn.jsdelivr.net/npm/summernote@0/dist/summernote-bs5.min.css");

/* Grid template body */ 
main
{
    display: grid;
    grid-template-areas: 'header header' 'aside section' 'aside footer';
    grid-template-columns: 260px auto;
    grid-template-rows: auto 1fr auto;
    min-height: 100dvh;
}

/* Grid template header */
header
{
    grid-area: header;
}

/* Grid template aside */
aside
{
    grid-area: aside;
    transition: none !important;
    min-width: 0;   
}

/* Grid template main */
section
{
    grid-area: section;
    padding-top: 1rem;
    padding-bottom: 1rem;
    min-width: 0;
}

/* Grid template footer */
footer
{
    grid-area: footer;
}

@media (max-width: 767.98px)
{
    /* Grid template body */
    main
    {
        display: grid;
        grid-template-areas: 'header header' 'section section' 'footer footer';
        grid-template-columns: 260px auto;
        grid-template-rows: auto 1fr auto;
        min-height: 100dvh;
    }

    aside
    {
        display: none;
        position: fixed;
        top: 55px;
        min-width: 0;
        min-width: 260px;
        height: 100%;
        z-index: 1048;
    }
}

@media print
{
    main,  main *
    {
        visibility: hidden;
    }

    .table, .table *,
    .card-body, card-body *
    {
        visibility: visible;
    }

    .table, .card-body
    {
        width : 100% !important;
        height : auto !important;
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
    }

    th > input, td > input, th > .btn, td > .btn
    {
        display: none;
    }
}

/* Page Loader */
.page-loader
{
    z-index: 1048;
}

/* Navbar branding*/
.navbar-brand
{
    width: 260px;
    text-align: center;
}

/* Sidebar navbar */
ul.navbar-nav > li.nav-item
{
    a.nav-link
    {
        color: var(--bs-secondary-text-emphasis);
        padding: 0.5rem 0.5rem;
        margin-bottom: 5px;
        border-radius: var(--bs-border-radius);
    }
    
    a.nav-link.active
    {
	color: var(--bs-light-text-emphasis);
	background-color: var(--bs-secondary-bg);
    }
    
    a.nav-link:hover
    {
        color: var(--bs-emphasis-color);
    }
}

/* Table a href links remove */
th > a:not(.btn),
td > a:not(.btn)
{
    text-decoration: none;
    /*color: rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important;*/
}

/* Required Label*/
label:has(+input:required):after,
label:has(+select:required):after,
label:has(+textarea:required):after
{
    content: ' *';
    color: var(--bs-red);
}

/* Required Label (Form Group)*/
label:has(+div>input:required):after,
label:has(+div>select:required):after,
label:has(+div>textarea:required):after
{
    content: ' *';
    color: var(--bs-red);
}

/* Application buttons */
.btn-app
{
    min-height: 60px;
    min-width: 80px;
    padding: 8px 5px 5px 5px;
    font-size: 12px;
    text-align: center;
    position: relative;
}

.btn-app > i
{
    display: block;
    font-size: 20px;
}

/* Trash button */
.btn-trash
{
    display: none;
}

/* Summernote toolbar fix*/
.note-btn
{
    color: rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important;
}

.note-btn:hover
{
    color: var(--bs-btn-hover-color) !important;
    background-color: var(--bs-btn-hover-bg) !important;
    border-color: var(--bs-btn-hover-border-color) !important;
}

.note-popover
{
    position: absolute !important;
}

/* TomSelect Fix */
.ts-dropdown-content .option,
.ts-dropdown-content .no-results
{
    color: var(--bs-body-color);
}

.ts-control .item,
.ts-control > input
{
    color: var(--bs-body-color);
}