html,
body {
    scrollbar-width: none;
    -ms-overflow-style: none; /* IE and Edge */
}

    html::-webkit-scrollbar,
    body::-webkit-scrollbar {
        display: none;
    }

body {
    color: #e1e1e1;
    line-height: 1.5;
    font-size: 16px;
}

    body::before {
        content: '';
        background: linear-gradient( rgba(39, 108, 122, 0.76), rgba(39, 108, 122, 0.76)), url("../img/backgrounds/eagle-eye-main-bg.webp") center/cover repeat-y;
        position: fixed;
        inset: 0;
        z-index: -1;
    }

    body::after {
        content: '';
        background-color: rgba(0, 0, 0, 0.6);
        position: fixed;
        inset: 0;
        z-index: -1;
    }

ul {
    margin: 0;
    padding: 0;
}

input[type=checkbox]:checked {
    background-color: #399eb3;
    border-color: #399eb3;
}

footer {
    background-color: #276c7a;
    width: 100%;
    text-align: center;
    color: #fefefe;
    font-size: 1rem;
    padding: 1rem 1rem 0;
}

/********** Mobile App Nav **********/

/**********************************************************************/

.desktop-nav {
    display: none;
}

.toggle-icon {
    padding-left: 5%;
}

    .toggle-icon:hover {
        cursor: pointer;
    }

    .toggle-icon span {
        width: 2.6rem;
        height: 0.2rem;
        display: block;
        background-color: #fefefe;
        margin-bottom: 0.4rem;
        position: relative;
        transition: all 0.5s ease;
        border-radius: 0.5rem;
        opacity: 1;
        animation: fadeIn .50s ease-in-out
    }

        .toggle-icon span:first-child,
        .toggle-icon span:last-child {
            width: 1.6rem;
            margin-left: 0.5rem;
        }

.show .toggle-icon span:first-child {
    display: none;
    opacity: 0;
    animation: fadeOut .50s ease-in-out
}

.show .toggle-icon span:nth-child(2) {
    transform: rotate(45deg);
    top: 8px;
    transition: all 0.5s ease;
}

.show .toggle-icon span:nth-child(3) {
    transform: rotate(-45deg);
    bottom: 2px;
    transition: all 0.5s ease;
}

.show .toggle-icon span:last-child {
    display: none;
    opacity: 0;
    animation: fadeOut .50s ease-in-out
}

@keyframes fadeIn {
    0% {
        display: none;
        opacity: 0;
    }

    100% {
        display: block;
        opacity: 1;
    }
}

.mobile {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: #276c7a;
    height: 8.5rem;
    position: sticky;
    top: 0;
    z-index: 1;
}

    .mobile h2 {
        width: 100%;
        text-align: center;
        color: #fefefe;
        font-size: 1.75rem;
        padding-right: 9%;
    }

.mobile-nav {
    background: linear-gradient( rgb(51, 139, 156), rgb(104, 155, 165));
    position: absolute;
    width: 100%;
    text-align: center;
    top: 8.5rem;
    left: 0;
    max-height: 0;
    overflow: hidden;
    transition: all 0.7s ease-in-out;
    overflow-y: scroll;
    z-index: 1;
}

    .mobile-nav .main-option {
        /* padding: 2rem 0; */
        color: #fefefe;
        text-decoration: none;
        border-bottom: 2px #fefefe solid;
        font-size: 1.25rem;
    }

    .mobile-nav .account {
        border-bottom: none;
    }

    .mobile-nav .main-option .option {
        cursor: pointer;
        color: #fefefe;
        text-decoration: none;
        width: 100%;
        display: block;
        height: 2.95rem;
        padding: 2.5rem 0;
    }


/** Shows the nav **/

.show .mobile-nav {
    max-height: 77vh;
    overflow-y: scroll;
}

.main-option .option1 {
    transition: 0.4s;
}

.main-option ul {
    display: none;
    margin-bottom: 1rem;
    list-style-type: none;
}

.main-option .sub-options a {
    font-size: 1rem;
    line-height: 2.5;
    color: rgba(254,254,254,0.8);
    transition: all 0.4s ease-in;
    display: inline-block;
    width: 100%;
    text-decoration: none;
}

.mobile-nav .main-option .active,
.mobile-nav .main-option .sub-options .active {
    font-weight: 600;
}

.mobile-nav .main-option .active {
    font-size: 1.5rem;
}

.mobile-nav .main-option .sub-options .active {
    font-size: 1.25rem;
}

.mobile-nav .main-option .option:not(.active):hover,
.mobile-nav .main-option .sub-options a:not(.active):hover,
.main-option .sub-options .sub-active {
    transform: scale(1.1);
}


/********** Login **********/

/**********************************************************************/
.login-container {
    display: grid;
    place-items: center;
    min-height: calc(100vh - 56px);
    max-width: 768px;
}

.login-body {
    width: 100%;
}

    .login-body .login-section {
        background-color: #fefefe;
        padding: 2rem 0 0;
        margin: 1rem auto 0;
        max-width: 60rem;
        width: 100%;
        border-radius: 0.25rem;
    }

.login-section h1 {
    color: rgb(51, 139, 156);
    padding: 0 3.2rem;
    font-size: 1.75rem;
    text-align: center;
    line-height: 2.5rem;
    margin-bottom: 1.5rem
}

    .login-section h1::after {
        content: "";
        display: block;
        margin: 0 auto;
        width: 100%;
        padding-top: 1rem;
        border-bottom: 6px solid rgb(51, 139, 156);
    }

.login-section h3 {
    color: #7c7c7c;
    text-align: center;
    padding: 0 1rem;
    font-size: 1.25rem;
    line-height: 1.5;
}

.login-section form {
    padding: 1rem;
}

    /* Removes the input control background when fields are autofilled */
    .login-section form input:-webkit-autofill,
    .login-section form input:-webkit-autofill:hover,
    .login-section form input:-webkit-autofill:focus,
    .login-section form input:-webkit-autofill:active {
        -webkit-box-shadow: 0 0 0 30px white inset !important;
    }

    .login-section form input {
        border: 1px solid #acacac;
        padding: 0.8rem;
        margin-bottom: 1.6rem;
        background-color: #fefefe;
    }

        .login-section form input::placeholder {
            color: #6c6c6c;
        }

        .login-section form input[type=text] {
            color: #6c6c6c;
            border: 1px solid #acacac;
            background-color: #fefefe;
        }

            .login-section form input[type=text]:focus {
                border-color: #86b7fe;
            }

.login-section input:focus,
.login-section select:focus,
.login-section textarea:focus,
.login-section button:focus {
    outline: none;
}

.login-section form .submit {
    font-size: 1rem;
    background-color: rgba(57, 158, 179, 1);
    border: none;
    color: #fefefe;
    margin: 1.5rem auto;
    display: flex;
    justify-content: center;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
}

    .login-section form .submit:hover {
        background-color: rgb(51, 139, 156);
        cursor: pointer;
    }

.login-section label {
    font-size: 1rem;
    color: #6c6c6c;
    margin-bottom: 0.25rem;
}

.create-btn {
    text-decoration: none;
    font-size: 1.8rem;
    color: #fefefe;
}

    .create-btn:hover {
        color: #FFC451;
    }


/********** Home **********/
/**********************************************************************/

.home-body {
    display: flex;
    flex-direction: column;
    background-color: #fefefe;
    margin-top: 1rem;
}

    .home-body .home-section {
        padding: 0.5rem 1rem;
        margin: 2rem auto;
        width: 100%;
        max-width: 48.0rem;
        height: fit-content;
    }

    .home-body h1 {
        color: #fefefe;
        padding: 1rem 0 1.5rem;
        font-size: 2.5rem;
        text-align: center;
        width: 100%;
        background-color: rgb(51, 139, 156);
        margin-bottom: 0;
    }

.account-bar {
    display: flex;
    justify-content: space-between;
    padding: 0.5rem 1rem;
    background-color: #cdcdcd;
    border-bottom: 2px solid rgb(51, 139, 156);
    font-weight: 600;
    color: #3c3c3c;
}

    .account-bar a {
        color: #3c3c3c;
        font-style: italic;
        font-weight: 400;
        transition: color 0.3s ease-in-out;
    }

        .account-bar a:hover {
            color: rgb(51, 139, 156);
        }

ul.account-bar {
    list-style: none;
}

.account-bar .btn-logout {
    display: flex;
    align-items: center;
    transition: color 0.3s ease-in;
}

    .account-bar .btn-logout:hover {
        cursor: pointer;
        color: rgb(51, 139, 156);
    }

    .account-bar .btn-logout > i {
        margin-left: 0.75rem;
    }

.home-section ul {
    text-decoration: none;
    list-style: none;
}

    .home-section ul.main-panel-nav > li {
        margin-bottom: 1rem;
    }

        .home-section ul.main-panel-nav > li:last-child {
            margin-bottom: 0;
        }

        .home-section ul.main-panel-nav > li a.btn-primary {
            width: 100%;
            background-color: rgba(57, 158, 179, 1);
            border-color: rgba(57, 158, 179, 1);
            padding: 0.75rem 1rem;
            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
            transition: all 0.3s ease-in;
        }

            .home-section ul.main-panel-nav > li a.btn-primary:hover {
                background-color: rgb(51, 139, 156);
                border-color: rgb(51, 139, 156);
                box-shadow: none;
            }

@media only screen and (min-width: 768px) {
    .home-body {
        margin-top: 3rem;
    }

        .home-body h1 {
            font-size: clamp(2.5rem, 5vw, 4rem);
        }

    .home-section ul.main-panel-nav > li {
        margin-bottom: 2rem;
    }

        .home-section ul.main-panel-nav > li:last-child,
        .home-section ul.main-panel-nav > li:nth-last-child(2) {
            margin-bottom: 0;
        }

        .home-section ul.main-panel-nav > li a.btn-primary {
            padding: 1.5rem 1rem;
        }

    footer {
        background-color: transparent;
    }

    .modal-body .chkbox-wrapper {
        margin-top: 2rem;
    }

    .enrollment-assignment-pass-container {
        margin-top: 2rem;
    }
}

/********** Administration **********/

/********** register **********/


/**********************************************************************/

.register-body {
    background: linear-gradient( rgba(39, 108, 122, 0.76), rgba(39, 108, 122, 0.76)), url("../img/backgrounds/registration-bg.webp") center / cover no-repeat;
}


/********** Application **********/


/**********************************************************************/

.app-body {
    display: flex;
    flex-direction: column;
    margin-bottom: 6rem;
}

    .app-body .app {
        top: 0;
        bottom: 0;
        background-color: #fefefe;
        width: 100%;
        overflow-y: scroll;
        scrollbar-width: none;
    }

        .app-body .app::-webkit-scrollbar {
            width: 0;
            background: none;
        }

.sub-options-layout {
    grid-area: pagebody;
    padding: 0 3rem;
    margin-top: 1rem;
    display: flex;
    flex-wrap: wrap;
    align-content: start;
    overflow-y: scroll;
    scrollbar-width: auto; 
    max-height: 500px; 
}

    .sub-options-layout::-webkit-scrollbar {
        width: 10px; 
        background: #f1f1f1; 
    }

    .sub-options-layout::-webkit-scrollbar-thumb {
        background: #888;
        border-radius: 4px;
    }

    .sub-options-layout a {
        text-decoration: none;
        padding: 2rem;
        background-color: #399eb3;
        width: 100%;
        text-align: center;
        line-height: 1.5;
        font-size: 1rem;
        color: #fefefe;
        border-radius: 0.5rem;
        margin: 1rem;
        display: flex;
        justify-content: center;
        align-items: center;
        transition: all 0.4s ease-in;
    }

        .sub-options-layout a:hover {
            background-color: rgb(39, 108, 122);
        }

    .sub-options-layout .permission-btn {
        width: 65%;
    }

    .modal-body .container a,
    .table .td-options a {
        background-color: transparent;
        color: #399eb3;
        padding: 10px;
        margin: 0;
        display: block;
        width: auto;
        text-align: left;
    }
    .modal-body .container a:hover,
    .table .td-options a:hover {
        background-color: transparent;
    }


/********** Admin Accout Setup **********/


/**********************************************************************/

.master-account-options {
    display: flex;
    flex-wrap: wrap;
    padding-top: 2rem;
}

.save-button {
    border: 2px #757575 solid;
    color: #ffffff;
    font-size: 2.5rem;
    cursor: pointer;
    padding: 0.5rem 4.5rem;
    border-radius: 5rem;
    background: linear-gradient( rgb(32, 87, 98), rgb(39, 108, 122), rgb(32, 87, 98));
    display: flex;
    transition: all 0.5s ease;
    margin: 1rem auto 0 auto;
}

    .save-button:hover {
        background: linear-gradient( rgb(39, 108, 122), rgb(32, 87, 98), rgb(39, 108, 122));
        color: #FFC451;
        font-size: 2.8rem;
        padding: 0.35rem 4.2rem;
        transition: all 0.5s ease;
    }

.account-main-options {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 2rem;
    min-width: 15rem;
}

.account-form-options li {
    padding: 0 2rem;
}

.account-form-options label {
    margin: 0 0.5rem;
    color: #000000;
    display: flex;
    align-items: center;
    position: relative;
    /*     padding-left: 3.5rem;
    margin-bottom: 1.2rem; */
    cursor: pointer;
    font-size: 2.2rem;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    height: 8rem;
}

    .account-form-options label::after {
        font-size: 1.6rem;
    }

.account-main-options button {
    border: none;
    background: none;
    font-size: 3.4rem;
    cursor: pointer;
    /* padding-bottom: 1.5rem; */
}

    .account-main-options button:hover {
        color: #00cf6f;
    }

.show-dropdown {
    color: #3394a8;
}

.area-closed {
    color: #3394a8;
}

.area-open {
    color: #00cf6f;
}

.account-main-options button:disabled {
    color: #cacaca;
}


/* Hide the browser's default checkbox */

label input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}


/* Create a custom checkbox */

.checkmark {
    position: absolute;
    top: 0;
    left: 0;
    height: 25px;
    width: 25px;
    background-color: #c4c4c4;
    border: 3px #1ea39b solid;
    margin-top: 2.5rem;
}

label input:disabled ~ .checkmark {
    position: absolute;
    top: 0;
    left: 0;
    height: 25px;
    width: 25px;
    background-color: #747474;
    border: 3px #747474 solid;
}

label span {
    display: block;
    width: 100%;
}


/* On mouse-over, add a grey background color */

label:hover input ~ .checkmark {
    background-color: #747474;
}


/* When the checkbox is checked, add a blue background */

label input:checked ~ .checkmark {
    background-color: #1ea39b;
}


/* Create the checkmark/indicator (hidden when not checked) */

.checkmark:after {
    content: "";
    position: absolute;
    display: none;
}


/* Show the checkmark when checked */

label input:checked ~ .checkmark:after {
    display: block;
}


/* Style the checkmark/indicator */

label .checkmark:after {
    left: 9px;
    top: 5px;
    width: 5px;
    height: 10px;
    border: solid white;
    border-width: 0 3px 3px 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

.checkoptions-sub-area {
    padding: 3rem 2rem 1rem 2rem;
    background-color: #3394a8;
    margin-top: 3rem;
    display: none;
}

.hide {
    display: none;
}

.display {
    display: block;
}

.checkoptions-sub-area h3 {
    color: #ffffff;
    text-align: center;
    font-size: 2.8rem;
}

.checkoptions-sub-area ul {
    display: flex;
    flex-wrap: wrap;
}

.checkoptions-sub-area li {
    justify-content: center;
    align-items: center;
    min-width: 15rem;
}

.account-form-layout,
.reg-account-form-layout,
.edu-account-form-layout {
    margin: 1rem 0;
    background-color: #FFFFE1;
}

    .account-form-layout h4,
    .reg-account-form-layout h4,
    .edu-account-form-layout h4 {
        color: #000000;
        font-size: 2.5rem;
        margin: 0 2rem;
        text-align: center;
        border-bottom: 3px #000 solid;
        border-top: 3px #000 solid;
    }

    .account-form-layout h5,
    .reg-account-form-layout h5,
    .edu-account-form-layout h5 {
        color: #000000;
        font-size: 2rem;
        margin-left: 2rem;
    }

.subop-area-1,
.subop-area-2,
.subop-area-3,
.subop-area-4,
.subop-area-5,
.subop-area-6,
.subop-area-7,
.subop-area-8,
.subop-area-9,
.subop-area-10 {
    display: none;
}

.subop-area-1-show,
.subop-area-2-show,
.subop-area-3-show,
.subop-area-4-show,
.subop-area-5-show,
.subop-area-6-show,
.subop-area-7-show,
.subop-area-8-show,
.subop-area-9-show,
.subop-area-10-show {
    display: block;
}

.subop-area-1-show,
.subop-area-2-show,
.subop-area-3-show,
.subop-area-4-show,
.subop-area-5-show,
.subop-area-6-show,
.subop-area-7-show,
.subop-area-8-show,
.subop-area-9-show,
.subop-area-10-show {
    padding: 4rem 0 5rem 0;
}

.subop-form-display label {
    display: inline;
}

.utility-layout {
    color: #000000;
    width: 100%;
}

    .utility-layout .table {
        border-collapse: collapse;
        margin-top: 3rem;
        overflow-y: scroll;
    }

        .utility-layout .table thead {
            padding-bottom: 1.5rem;
        }

        .utility-layout .table::-webkit-scrollbar {
            width: 100vh;
            /* Remove scrollbar space */
            background: darkgrey;
            /* Optional: just make scrollbar invisible */
        }

        .utility-layout .table tr,
        .utility-layout .table td {
            border-bottom: none;
        }

        .utility-layout .table th {
            text-align: left;
            padding-bottom: 1.5rem;
            /* width: 50%; */
            padding-right: 2rem;
        }

        /* .utility-layout .table td {
            width: 50%;
        } */

        .utility-layout .table .td-options {
            display: flex;
            justify-content: space-between;
        }

            /* .utility-layout .table .td-options button {
                background: none;
                border: none;
                margin: 0 0.5rem;
                color: #399eb3;
            } */

        .utility-layout .table .td-options button {
            border: none;
            background-color: transparent;
            font-size: 1.25rem;
            color: rgb(33, 37, 41);
            cursor: pointer;
            position: relative;
            margin-left: 0.375rem;
        }

        .utility-layout .table .td-options button:last-of-type{
            color: rgb(210, 4, 45);
        }

        .utility-layout .table .td-options button > div {
            font-size: 0.875rem;
            position: absolute;
            top: 0;
            left: 50%;
            transform: translatex(-50%);
            width: 0;
            overflow: hidden;
            opacity: 0;
            transition: opacity 0.4s ease-in-out, top 0.4s ease-in-out;
        }

        .utility-layout .table .td-options button:hover > div {
            border-radius: 4px;
            width: max-content;
            overflow: auto;
            opacity: 1;
            top: 1.5rem;
            z-index: 100;
            color: #fefefe;
            background-color: rgb(33, 37, 41);
            padding: 1rem 0.5rem 0.25rem;
            clip-path: polygon(
                0% 35%,
                30% 35%,
                50% 0%,
                70% 35%,
                100% 35%,
                100% 100%,
                0% 100%
            );
        }

        .utility-layout .table .td-options button:last-of-type:hover > div {
            background-color: rgb(210, 4, 45);
        }

            

            

/*Eugeniu text style !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/

.modal-body fieldset legend {
    color: #fefefe;
    font-size: 1.25rem;
    font-weight: 700;
    background-color: #399eb3;
    border-radius: 3px;
    padding: 5px 10px;
}

    .modal-body fieldset legend > i {
        color: #a7ffff;
    }

.modal-body fieldset .control-label {
    padding-bottom: 5px;
}

.modal-body fieldset .form-group {
    padding-bottom: 0.5rem;
}

.modal-content .modal-body .container .row .col {
    margin: 0 4px;
}

.modal-body textarea {
    resize: none;
}
/*--------------*/
.utility-layout .table tbody tr:nth-child(even) {
    background-color: #c4c4c4;
}

.utility-layout .utility-header {
    border-bottom: 5px #757575 solid;
    height: fit-content;
    padding-bottom: 1rem;
    text-align: center;
}

.roles-nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    position: sticky;
    top: 0;
    z-index: 1;
    background: linear-gradient( rgba(39, 108, 122, 0.76), rgba(39, 108, 122, 0.76)), url("../img/backgrounds/eagle-eye-main-bg.webp") center 32% / cover no-repeat;
    padding: 2rem 0;
    border-radius: 1rem;
}

    .roles-nav .back-btn {
        text-decoration: none;
        padding: 1.5rem 2rem;
        background-color: #399eb3;
        text-align: center;
        height: 3rem;
        font-weight: lighter;
        line-height: 1.5;
        font-size: 1.6rem;
        color: #fefefe;
        border-radius: 0.5rem;
        transition: all 0.2s ease;
        display: flex;
        justify-content: center;
        align-items: center;
        width: fit-content;
        margin: 0 auto 1rem auto;
        filter: none;
    }

        .roles-nav .back-btn:hover {
            color: #FFC451;
            padding: 1.5rem 1.8rem;
            font-size: 1.65rem;
            transition: all 0.2s ease;
            margin: 0 auto 1rem auto;
            filter: none;
        }


/********** Bootstrap Pagination **********/


/**********************************************************************/

.dataTables_wrapper .dataTables_filter {
    display: flex;
    justify-content: center;
    padding-right: 11rem;
}

@media screen and (min-width: 550px) {
    /********** Home **********/
    /**********************************************************************/

    .home-section .account-btn {
        padding: 1.6rem 4.8rem;
    }
}

@media screen and (min-width: 750px) {
    .app-container {
        padding-top: 8rem;
    }
    /********** Desktop Nav **********/
    /**********************************************************************/
    .mobile {
        top: auto;
        z-index: 0;
        grid-area: header;
    }

        .mobile h2 {
            font-size: 2rem;
            padding-right: 0%;
        }

    footer {
        grid-area: footer;
    }

    .app-body footer {
        position: absolute;
        bottom: 0;
        z-index: 1;
    }

    .mobile-nav,
    .toggle-icon {
        display: none;
    }

    .desktop-nav {
        display: block;
        background: linear-gradient( rgb(39, 108, 122), rgb(51, 139, 156));
        overflow: hidden;
        grid-area: sidenav;
        text-align: center;
        overflow-y: scroll;
        scrollbar-width: none; /* Hides the scrollbar*/
    }

        .desktop-nav::-webkit-scrollbar {
            width: 0;
            background: transparent;
        }

        .desktop-nav .account {
            border-bottom: none;
            border-left: none;
            margin-top: 20rem;
            border-top: 2px #fefefe solid;
            color: #fefefe;
            text-decoration: none;
            font-size: 1.8rem;
            background-color: rgb(51, 139, 156);
            padding: 2rem 0;
            border-right: none;
            z-index: 1;
            position: absolute;
            width: 21.7rem;
            top: 59.6rem;
        }

        .desktop-nav .main-option {
            /* padding: 2rem 0; */
            color: #fefefe;
            text-decoration: none;
            border-bottom: 2px #fefefe solid;
            font-size: 1.25rem;
        }

            .desktop-nav .main-option:first-child {
                border-top: 2px #fefefe solid;
            }

            .desktop-nav .main-option:last-child {
                border-bottom: none;
            }

            .desktop-nav .main-option .option {
                cursor: pointer;
                color: #fefefe;
                text-decoration: none;
                width: 100%;
                display: block;
                padding: 1.25rem 0;
            }

            .desktop-nav .main-option .active {
                font-size: 1.5rem;
                font-weight: 600;
            }

        .desktop-nav .sub-options .active {
            font-size: 1.25rem;
        }

        .desktop-nav .main-option .option:not(.active):hover,
        .desktop-nav .main-option .sub-options a:not(.active):hover,
        .desktop-option .sub-options .sub-active {
            transform: scale(1.1);
        }
    /********** Login **********/
    /**********************************************************************/
    .login-body .login-section {
        padding: 4rem 0 2rem;
    }

    .login-section form {
        max-width: 30rem;
        margin: 3rem auto 0;
    }

    .login-section h1 {
        font-size: 3rem;
    }


    /********** Application **********/
    /**********************************************************************/
    .app-body {
        display: grid;
        grid-template-columns: 1fr;
        grid-template-areas: 'header header' 'body body' 'footer footer';
    }

        .app-body .app {
            padding: 0;
        }

            .app-body .app .app-page {
                grid-area: body;
                display: grid;
                grid-template-columns: 20rem 1fr;
                grid-template-rows: 2.275rem 1fr;
                grid-template-areas: 'sidenav accountbar' 'sidenav pagebody' 'sidenav pagebody' 'sidenav pagebody';
                min-height: calc(100vh - 23rem)
            }

    .app-page ul.account-bar {
        grid-area: accountbar;
        align-self: center;
    }

    .sub-options-layout a {
        width: 15rem;
    }
    /********** Admin Account Setup **********/
    /**********************************************************************/
    .utility-layout .utility-header h3 {
        font-size: 1.5rem;
    }

    .roles-nav .back-btn {
        margin: 1rem;
    }

        .roles-nav .back-btn:hover {
            margin: 1rem;
        }

    .save-button {
        margin: 1rem;
    }

    .utility-layout .utility-header {
        display: flex;
        justify-content: space-between;
        text-align: initial;
    }
    /********** Bootstrap Pagination **********/
    /**********************************************************************/
    .dataTables_wrapper .dataTables_filter {
        display: flex;
        justify-content: end;
        padding-right: 11rem;
    }
}

@media screen and (min-width: 1200px) {
    /********** Application **********/
    /**********************************************************************/
    .desktop-nav button {
        top: 68.2rem;
        margin-top: 11.7rem;
    }

    .desktop-nav .account {
        top: 59.3rem;
    }

    .app-container {
        margin-left: auto;
        margin-right: auto;
        padding-top: 3rem;
        width: 100%;
    }

    .home-body .home-section {
        margin: 4rem auto;
    }

    .app-body {
        display: flex;
        flex-direction: column;
    }

        .app-body footer {
            position: sticky;
            top: 100%;
        }

    .sub-options-layout {
        justify-content: center;
        align-content: start;
    }
    /********** Login **********/
    /**********************************************************************/


    /********** Admin Account Setup **********/
    /**********************************************************************/
    .form-layout {
        padding: 0 5rem 2rem 5rem;
        margin-top: 2rem;
    }
}


/********** Bootstrap Pagination **********/


/**********************************************************************/

.dataTables_wrapper .dataTables_filter input {
    border: 2px solid #000000 !important;
    border-radius: 3px;
    padding: 5px;
    background-color: transparent;
    margin-left: 3px;
}

table.dataTable tbody tr > th,
table.dataTable tbody tr > td {
    padding: 0 10px;
    vertical-align: middle;
}

.dataTables_filter label input {
    opacity: 1;
    margin-top: 0.2rem;
    width: 10rem;
    height: 2rem;
}

.dataTables_wrapper .dataTables_paginate .paginate_button {
    display: inline-block;
    font-size: 1rem;
    padding: 0.1rem 0.5rem !important;
    margin: 0.5rem auto 0.75rem;
    text-align: center;
    text-decoration: none !important;
    color: #333 !important;
    border: 1px solid transparent;
    border-radius: 2px;
    background-color: transparent;
    filter: drop-shadow(0 0 0rem #cacaca);
    width: initial;
}

    .dataTables_wrapper .dataTables_paginate .paginate_button:hover {
    }


/********** Modal Setup **********/


/**********************************************************************/


.btn-primary,
.modal-body h5 {
    background-color: rgb(57, 158, 179);
    border-color: rgb(57, 158, 179);
}

    .btn-primary:hover,
    :not(.btn-check) + .btn:active,
    .btn-primary:active,
    .btn-primary:focus-visible {
        background-color: rgb(39, 108, 122);
        border-color: rgb(39, 108, 122);
    }
