* {
    box-sizing: border-box;
}

:root {
    --color-primary: rgb(41, 41, 41);
    --color-secondary: rgb(89, 110, 165);
    --color-secondary-60: rgba(89, 110, 165, 0.6);
    --color-secondary-light: rgba(89, 110, 165, 0.2);
    --color-black: rgb(0, 0, 0);
    --color-white: rgb(255, 255, 255);
    --color-off-white: rgb(242, 242, 242);
    --color-red: rgb(255, 0, 0);
    --color-red-60: rgba(255, 0, 0, 0.6);
    --color-red-light: rgba(255, 0, 0, 0.2);
    --color-gray: rgb(128, 128, 128);
    --color-gray-30: rgba(181, 178, 178, 0.3);
    --color-gray-40: rgba(128, 128, 128, 0.4);
    --color-tan: rgb(239, 238, 229);
    --color-background: rgb(241, 241, 241);
    --color-green: rgb(76, 175, 80);
    --color-green-light: rgba(76, 175, 80, 0.2);
    --color-lightblue: rgb(176, 196, 222);
    --color-orange: rgb(255, 165, 0);
    --color-orange-light: rgba(255, 165, 0, 0.2);
    --color-treasures: rgb(60, 127, 139);
    --color-ministry: rgb(214, 143, 0);
    --color-living: rgb(191, 47, 19);
    --color-sunday: rgb(89, 110, 165);
    --color-cart: rgb(76, 175, 80);
    --color-gray-lines: rgba(128, 128, 128, 0.4);
}

html, body {
    width: 100vw;
    min-width: 360px;
    min-height: 100%;
    user-select: none;
    margin: 0;
    bottom: 0;
    font-family: Helvetica, Arial, sans-serif;
    background-color: var(--color-background);
    display: flex;
}

body {
    overflow-x: hidden;
}

.hide {
    display: block;
}

.show {
    display: none;
}

.print {
    display: none;
}

.tableprint {
    display: none;
}

.disabled {
    background-color:grey;
    color : #C0C0C0;
    opacity : 0.1;
}

.nav-item:hover::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border-left: 12px solid transparent;
    border-right: 12px solid transparent;
    border-top: 10px solid var(--color-primary);
    position: absolute;
    bottom: -8px;
    left: 50%;
    transform: translateX(-50%);
    transition: width 0.2s ease, height 0.2s ease;
}

.nav-item-active::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border-left: 12px solid transparent;
    border-right: 12px solid transparent;
    border-top: 10px solid var(--color-secondary);
    position: absolute;
    bottom: -8px;
    left: 50%;
    transform: translateX(-50%);
    transition: width 0.2s ease, height 0.2s ease;
}

.topnav {
    background-color: var(--color-secondary);
    color: var(--color-gray);
    box-shadow: 0px 2px 5px var(--color-gray);
    height: 40px;
    width: 100vw;
    min-width: 360px;
    position: fixed;
    z-index: 98;

    & .navClass {
        display: flex;
        justify-content: space-between;
        max-width: 1070px;
        margin: auto;
        z-index: 97;
    }
    & .navClass > ul {
        top: 0;
        margin: 0;
        padding: 0;
        }
    & .navClass > ul > li {
        list-style-type: none;
        display: inline-block;
        padding: 10px 10px;
        position: relative;
        transition: background-color .2s ease;
        }
    & .navClass > ul > li > span {
        color: var(--color-white);
        }
    & .navClass > ul > li > a {
        color: var(--color-white);
        text-decoration: none;
        font-size: 1em;
        }

    & ul.sub-menu {
        position: absolute;
        background-color: var(--color-white);
        box-shadow: 0px 2px 5px var(--color-gray);
        list-style-type: none;
        padding: 0;
        right: 0;
        top: 40px;
        opacity: 0;
        visibility: hidden;
        width: auto !important;
        white-space: nowrap;
        transition: background-color .2s ease;
        z-index: 10;
        max-height: calc(100vh - 45px);
        overflow-y: auto;
        }
    & ul.sub-menu li {
        padding: 5px 20px 5px 10px;
        color: var(--color-primary);
        transition: background-color .2s ease;
        }
    & ul.sub-menu li:hover {
        background-color: var(--color-gray-30);
        }
    & ul.sub-menu i {
        color: var(--color-secondary);
        }
    & .navClass li:hover .sub-menu {
        opacity: 1;
        visibility: visible;
        transition: opacity .2s ease;
        }
    & .navClass .sub-menu .heading {
        color: var(--color-secondary);
        font-weight:bolder;
        font-variant: small-caps;
        border-bottom: 1px solid var(--color-secondary);
        border-top: 1px solid var(--color-secondary);
        text-align: center;
        }
    & .navClass .sub-menu .heading:hover {
        background-color: var(--color-white);
        color: var(--color-secondary);
        font-weight:bolder;
        font-variant: small-caps;
        }
    & .navClass .sub-menu a {
        background-color: var(--color-gray-30);
        color: var(--color-primary);
        text-decoration: none;
        font-size: 1em;
        }
    & .active-menu{
        background-color: var(--color-gray-30);
        }
}

@media (max-width: 820px) {
    .hide {
        display:none;
    }
    .show {
        display:block;
    }
    .badge {
        display: none;
    }
}