/*
START GENERIC STYLES
*/
#root {
    min-height: 100vh;
}
.modal.show {
    padding-left: 0px !important;
}

textarea {
    white-space: pre;
}

.password {
    text-security: disc;
    -webkit-text-security: disc;
    -moz-text-security: disc;
}


.text-accent {
    color: var(--bs-primary) !important;
}

h1.small-h1 {
    font-size: 1.5rem;
}

.back-button:hover {
    cursor: pointer;
}

.landscape .portrait-only {
    display: none;
}
.portrait .landscape-only {
    display: none;
}

.sweet-bee {
    z-index: -1;
    height: 0px !important;
    width: 0px !important;
    padding: 0px !important;
    margin: 0px !important;
    border: none !important;
}

.copy-text {
    position: absolute;
    transform: translateX(-9000px);
}

.lh-1 {
    line-height: 1;
}

.text-white {
    color: white;
}
.text-black {
    color: black;
}
.text-om-orange {
    color: #FFC107;
}
.text-negative-balance {
    color: red;
}

.left {
    text-align: left;
}
.right {
    text-align: right;
}
.center {
    text-align: center;
}
.a-center {
    align-items: center;
}
.as-center {
    align-self: center;
}
.as-end {
    align-self: self-end;
}
.a-flex-start {
    align-items: flex-start !important;
}
.j-center {
    justify-content: center;
}

a.disabled {
    pointer-events: none !important;
}

.bg-none {
    background: transparent;
}
.bg-t {
    background: transparent;
}
.bd-t {
    border: transparent;
}

.d-none {
    display: none;
}

.modal .m-d-none {
    display: none;
}

.d-none-s-544 {
    display: none;
}

@media (max-width: 544px) {
    .d-none-s-544 {
        display: initial;
    }
}

.ws-pre {
    white-space: pre-wrap;
}
.ws-break {
    white-space: break-spaces;
}
.inline {
    display: inline;
}

.word-break-all {
    word-break: break-all;
}

/*Class to have display none effect but width can still be measured --> use with toggle displays*/
.d-none-haswidth,
.d-none-haswidth table {
    position: fixed !important;
    visibility: hidden !important;
}

.d-flex {
    display: flex;
}
.d-block {
    display: block;
}
.d-inline-block {
    display: inline-block;
}
.d-inline-flex {
    display: inline-flex;
}

.flex-row {
    flex-direction: row;
}

.o-scroll-x {
    overflow-x: scroll;
}
.o-hidden-x {
    overflow-x: hidden;
}
.o-scroll-y {
    overflow-y: scroll;
}
.o-hidden-y {
    overflow-y: hidden;
}

.hover:hover {
    cursor: pointer;
}

.bg-hover:hover {
    background: grey;
    cursor: pointer;
}
.underline-hover {
    text-decoration: none;
}
.underline-hover:hover {
    cursor: pointer;
    text-decoration: underline;
}

.p-a {
    position: absolute;
}
.p-r {
    position: relative;
}
.p-f {
    position: fixed;
}

.o-0 {
    opacity: 0;
}
.o-50 {
    opacity: .5;
}
.o-25 {
    opacity: .25;
}
.o-10 {
    opacity: .1;
}
.o-75 {
    opacity: .75;
}
.o-90 {
    opacity: .9;
}
.o-85 {
    opacity: .85;
}
.o-1 {
    opacity: 1 !important;
}

.fs-1r {
    font-size: 1rem;
}
.fs-2r {
    font-size: 2rem;
}
.fs-3r {
    font-size: 3rem;
}

.font-small {
    font-size: .65rem;
}

.font-large {
    font-size: 2.5rem;
}
.bold {
    font-weight: bold;
    -webkit-font-smoothing: antialiased;
}
.faded {
    opacity: .7;
}

.mw-50p {
    min-width: 50%;
}

.mxw-300 {
    max-width: 300px;
}

.mh-240 {
    min-height: 240px;
}
.mxh-500 {
    max-height: 500px;
}

.vh-100 {
    height: 100vh;
}

.h-1r {
    height: 1rem;
}

.child-rotate-270 > div {
    transform: rotate(270deg);
}

.fullscreen-modal .modal-dialog {
    max-width: 100vw;
    /*min-width: 100vw;*/
    margin: 0;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    min-height: 100vh;
    padding-right: 17px;
    padding-left: 1px;
    display: flex;
}

.mobile .fullscreen-modal .modal-dialog {
    padding-right: 1px;
    margin: .25rem;
}

.modal.no-top-border .modal-header {
    border-bottom: 0px solid black;
}

.modal.no-footer .modal-footer {
    display: none;
}

.modal.no-header .modal-header {
    display: none;
}

.modal.bg-transparent .modal-content {
    background: transparent;
    border-color: transparent;
}

.modal.header-white .modal-header {
    background: #FFF;
}

.big-modal .modal-dialog {
    max-width: 80vw;
    /*min-width: 100vw;*/
    /*margin: 0;*/
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    min-height: 80vh;
    padding-right: 17px;
    padding-left: 1px;
    display: flex;
}

.mobile .big-modal .modal-dialog {
    min-width: 95vw;
    padding-right: 1px;
    /*margin: .25rem;*/
}

.lightbox:hover {
    cursor: pointer;
}

.lightbox-modal .modal-dialog {
    max-width: 100vw;
    min-width: 100vw;
    margin: 0;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    min-height: 100vh;
    /*padding-right: 17px;*/
    padding-left: 1px;
    display: flex;
}
.lightbox-modal .modal-content {
    border: none;
    background-color: rgba(0, 0, 0, .5);
}
.lightbox-modal .modal-header {
    border: none;
}
.lightbox-modal img{
    max-width: 100vw;
    max-height: 90vh;
}
.lightbox-modal .modal-header button {
    color: white;
    text-shadow: none;
    opacity: 1;
    margin: -1rem auto -1rem -1rem;
}

.mobile .lightbox-modal .modal-dialog {
    padding-right: 1px;
}

.bd-1 {
    border: 1px solid black;
}

.z-1 { z-index: 1; }
.z-2 { z-index: 2; }
.z-3 { z-index: 3; }
.z-4 { z-index: 4; }
.z-5 { z-index: 5; }
.z-6 { z-index: 6; }
.z-7 { z-index: 7; }
.z-8 { z-index: 8; }
.z-9 { z-index: 9; }
.z-10 { z-index: 10; }

.gap-5 { gap: 5px; }
.gap-10 { gap: 10px; }
.f-wrap { flex-wrap: wrap; }

.m-a { margin: auto; }
.f-r { float: right; }
.f-l { float: left; }

.m-b-1r {
    margin-bottom: 1rem;
}
.m-t-1r {
    margin-top: 1rem;
}
.m-l-1r {
    margin-left: 1rem;
}
.m-r-1r {
    margin-right: 1rem;
}

.m-t-a { margin-top: auto; }
.m-b-a { margin-bottom: auto; }

.m-r-a { margin-right: auto; }
.m-r-0 { margin-right: 0px; }
.m-r-1 { margin-right: 1px; }
.m-r-2 { margin-right: 2px; }
.m-r-3 { margin-right: 3px; }
.m-r-4 { margin-right: 4px; }
.m-r-5 { margin-right: 5px; }
.m-r-6 { margin-right: 6px; }
.m-r-7 { margin-right: 7px; }
.m-r-8 { margin-right: 8px; }
.m-r-9 { margin-right: 9px; }
.m-r-10 { margin-right: 10px; }
.m-r-11 { margin-right: 11px; }
.m-r-12 { margin-right: 12px; }
.m-r-13 { margin-right: 13px; }
.m-r-14 { margin-right: 14px; }
.m-r-15 { margin-right: 15px; }
.m-r-16 { margin-right: 16px; }
.m-r-17 { margin-right: 17px; }
.m-r-18 { margin-right: 18px; }
.m-r-19 { margin-right: 19px; }
.m-r-20 { margin-right: 20px; }
.m-r-21 { margin-right: 21px; }
.m-r-22 { margin-right: 22px; }
.m-r-23 { margin-right: 23px; }
.m-r-24 { margin-right: 24px; }
.m-r-25 { margin-right: 25px; }
.m-r-26 { margin-right: 26px; }
.m-r-27 { margin-right: 27px; }
.m-r-28 { margin-right: 28px; }
.m-r-29 { margin-right: 29px; }
.m-r-30 { margin-right: 30px; }

.m-l-n-20 { margin-left: -20px; }
.m-l-a { margin-left: auto; }
.m-l-0 { margin-left: 0px; }
.m-l-1 { margin-left: 1px; }
.m-l-2 { margin-left: 2px; }
.m-l-3 { margin-left: 3px; }
.m-l-4 { margin-left: 4px; }
.m-l-5 { margin-left: 5px; }
.m-l-6 { margin-left: 6px; }
.m-l-7 { margin-left: 7px; }
.m-l-8 { margin-left: 8px; }
.m-l-9 { margin-left: 9px; }
.m-l-10 { margin-left: 10px; }
.m-l-11 { margin-left: 11px; }
.m-l-12 { margin-left: 12px; }
.m-l-13 { margin-left: 13px; }
.m-l-14 { margin-left: 14px; }
.m-l-15 { margin-left: 15px; }
.m-l-16 { margin-left: 16px; }
.m-l-17 { margin-left: 17px; }
.m-l-18 { margin-left: 18px; }
.m-l-19 { margin-left: 19px; }
.m-l-20 { margin-left: 20px; }
.m-l-21 { margin-left: 21px; }
.m-l-22 { margin-left: 22px; }
.m-l-23 { margin-left: 23px; }
.m-l-24 { margin-left: 24px; }
.m-l-25 { margin-left: 25px; }
.m-l-26 { margin-left: 26px; }
.m-l-27 { margin-left: 27px; }
.m-l-28 { margin-left: 28px; }
.m-l-29 { margin-left: 29px; }
.m-l-30 { margin-left: 30px; }

.m-t-0 { margin-top: 0px; }
.m-t-1 { margin-top: 1px; }
.m-t-2 { margin-top: 2px; }
.m-t-3 { margin-top: 3px; }
.m-t-4 { margin-top: 4px; }
.m-t-5 { margin-top: 5px; }
.m-t-6 { margin-top: 6px; }
.m-t-7 { margin-top: 7px; }
.m-t-8 { margin-top: 8px; }
.m-t-9 { margin-top: 9px; }
.m-t-10 { margin-top: 10px; }
.m-t-11 { margin-top: 11px; }
.m-t-12 { margin-top: 12px; }
.m-t-13 { margin-top: 13px; }
.m-t-14 { margin-top: 14px; }
.m-t-15 { margin-top: 15px; }
.m-t-16 { margin-top: 16px; }
.m-t-17 { margin-top: 17px; }
.m-t-18 { margin-top: 18px; }
.m-t-19 { margin-top: 19px; }
.m-t-20 { margin-top: 20px; }
.m-t-21 { margin-top: 21px; }
.m-t-22 { margin-top: 22px; }
.m-t-23 { margin-top: 23px; }
.m-t-24 { margin-top: 24px; }
.m-t-25 { margin-top: 25px; }
.m-t-26 { margin-top: 26px; }
.m-t-27 { margin-top: 27px; }
.m-t-28 { margin-top: 28px; }
.m-t-29 { margin-top: 29px; }
.m-t-30 { margin-top: 30px; }

.m-b-0 { margin-bottom: 0px; }
.m-b-1 { margin-bottom: 1px; }
.m-b-2 { margin-bottom: 2px; }
.m-b-3 { margin-bottom: 3px; }
.m-b-4 { margin-bottom: 4px; }
.m-b-5 { margin-bottom: 5px; }
.m-b-6 { margin-bottom: 6px; }
.m-b-7 { margin-bottom: 7px; }
.m-b-8 { margin-bottom: 8px; }
.m-b-9 { margin-bottom: 9px; }
.m-b-10 { margin-bottom: 10px; }
.m-b-11 { margin-bottom: 11px; }
.m-b-12 { margin-bottom: 12px; }
.m-b-13 { margin-bottom: 13px; }
.m-b-14 { margin-bottom: 14px; }
.m-b-15 { margin-bottom: 15px; }
.m-b-16 { margin-bottom: 16px; }
.m-b-17 { margin-bottom: 17px; }
.m-b-18 { margin-bottom: 18px; }
.m-b-19 { margin-bottom: 19px; }
.m-b-20 { margin-bottom: 20px; }
.m-b-21 { margin-bottom: 21px; }
.m-b-22 { margin-bottom: 22px; }
.m-b-23 { margin-bottom: 23px; }
.m-b-24 { margin-bottom: 24px; }
.m-b-25 { margin-bottom: 25px; }
.m-b-26 { margin-bottom: 26px; }
.m-b-27 { margin-bottom: 27px; }
.m-b-28 { margin-bottom: 28px; }
.m-b-29 { margin-bottom: 29px; }
.m-b-30 { margin-bottom: 30px; }


.p-r-0 { padding-right: 0px; }
.p-r-1 { padding-right: 1px; }
.p-r-2 { padding-right: 2px; }
.p-r-3 { padding-right: 3px; }
.p-r-4 { padding-right: 4px; }
.p-r-5 { padding-right: 5px; }
.p-r-6 { padding-right: 6px; }
.p-r-7 { padding-right: 7px; }
.p-r-8 { padding-right: 8px; }
.p-r-9 { padding-right: 9px; }
.p-r-10 { padding-right: 10px; }
.p-r-11 { padding-right: 11px; }
.p-r-12 { padding-right: 12px; }
.p-r-13 { padding-right: 13px; }
.p-r-14 { padding-right: 14px; }
.p-r-15 { padding-right: 15px; }
.p-r-16 { padding-right: 16px; }
.p-r-17 { padding-right: 17px; }
.p-r-18 { padding-right: 18px; }
.p-r-19 { padding-right: 19px; }
.p-r-20 { padding-right: 20px; }
.p-r-21 { padding-right: 21px; }
.p-r-22 { padding-right: 22px; }
.p-r-23 { padding-right: 23px; }
.p-r-24 { padding-right: 24px; }
.p-r-25 { padding-right: 25px; }
.p-r-26 { padding-right: 26px; }
.p-r-27 { padding-right: 27px; }
.p-r-28 { padding-right: 28px; }
.p-r-29 { padding-right: 29px; }
.p-r-30 { padding-right: 30px; }

.p-l-0 { padding-left: 0px; }
.p-l-1 { padding-left: 1px; }
.p-l-2 { padding-left: 2px; }
.p-l-3 { padding-left: 3px; }
.p-l-4 { padding-left: 4px; }
.p-l-5 { padding-left: 5px; }
.p-l-6 { padding-left: 6px; }
.p-l-7 { padding-left: 7px; }
.p-l-8 { padding-left: 8px; }
.p-l-9 { padding-left: 9px; }
.p-l-10 { padding-left: 10px; }
.p-l-11 { padding-left: 11px; }
.p-l-12 { padding-left: 12px; }
.p-l-13 { padding-left: 13px; }
.p-l-14 { padding-left: 14px; }
.p-l-15 { padding-left: 15px; }
.p-l-16 { padding-left: 16px; }
.p-l-17 { padding-left: 17px; }
.p-l-18 { padding-left: 18px; }
.p-l-19 { padding-left: 19px; }
.p-l-20 { padding-left: 20px; }
.p-l-21 { padding-left: 21px; }
.p-l-22 { padding-left: 22px; }
.p-l-23 { padding-left: 23px; }
.p-l-24 { padding-left: 24px; }
.p-l-25 { padding-left: 25px; }
.p-l-26 { padding-left: 26px; }
.p-l-27 { padding-left: 27px; }
.p-l-28 { padding-left: 28px; }
.p-l-29 { padding-left: 29px; }
.p-l-30 { padding-left: 30px; }

.p-t-0 { padding-top: 0px; }
.p-t-1 { padding-top: 1px; }
.p-t-2 { padding-top: 2px; }
.p-t-3 { padding-top: 3px; }
.p-t-4 { padding-top: 4px; }
.p-t-5 { padding-top: 5px; }
.p-t-6 { padding-top: 6px; }
.p-t-7 { padding-top: 7px; }
.p-t-8 { padding-top: 8px; }
.p-t-9 { padding-top: 9px; }
.p-t-10 { padding-top: 10px; }
.p-t-11 { padding-top: 11px; }
.p-t-12 { padding-top: 12px; }
.p-t-13 { padding-top: 13px; }
.p-t-14 { padding-top: 14px; }
.p-t-15 { padding-top: 15px; }
.p-t-16 { padding-top: 16px; }
.p-t-17 { padding-top: 17px; }
.p-t-18 { padding-top: 18px; }
.p-t-19 { padding-top: 19px; }
.p-t-20 { padding-top: 20px; }
.p-t-21 { padding-top: 21px; }
.p-t-22 { padding-top: 22px; }
.p-t-23 { padding-top: 23px; }
.p-t-24 { padding-top: 24px; }
.p-t-25 { padding-top: 25px; }
.p-t-26 { padding-top: 26px; }
.p-t-27 { padding-top: 27px; }
.p-t-28 { padding-top: 28px; }
.p-t-29 { padding-top: 29px; }
.p-t-30 { padding-top: 30px; }

.p-b-0 { padding-bottom: 0px; }
.p-b-1 { padding-bottom: 1px; }
.p-b-2 { padding-bottom: 2px; }
.p-b-3 { padding-bottom: 3px; }
.p-b-4 { padding-bottom: 4px; }
.p-b-5 { padding-bottom: 5px; }
.p-b-6 { padding-bottom: 6px; }
.p-b-7 { padding-bottom: 7px; }
.p-b-8 { padding-bottom: 8px; }
.p-b-9 { padding-bottom: 9px; }
.p-b-10 { padding-bottom: 10px; }
.p-b-11 { padding-bottom: 11px; }
.p-b-12 { padding-bottom: 12px; }
.p-b-13 { padding-bottom: 13px; }
.p-b-14 { padding-bottom: 14px; }
.p-b-15 { padding-bottom: 15px; }
.p-b-16 { padding-bottom: 16px; }
.p-b-17 { padding-bottom: 17px; }
.p-b-18 { padding-bottom: 18px; }
.p-b-19 { padding-bottom: 19px; }
.p-b-20 { padding-bottom: 20px; }
.p-b-21 { padding-bottom: 21px; }
.p-b-22 { padding-bottom: 22px; }
.p-b-23 { padding-bottom: 23px; }
.p-b-24 { padding-bottom: 24px; }
.p-b-25 { padding-bottom: 25px; }
.p-b-26 { padding-bottom: 26px; }
.p-b-27 { padding-bottom: 27px; }
.p-b-28 { padding-bottom: 28px; }
.p-b-29 { padding-bottom: 29px; }
.p-b-30 { padding-bottom: 30px; }

.dropdown-item-card {
    padding: 0.75rem;
    margin: 0.25rem;
    background: var(--bs-dark);
    border: 1px solid var(--bs-secondary);
    border-radius: 0.375rem;
    color: var(--bs-light);
    text-decoration: none;
    display: block;
    transition: all 0.2s ease;
    cursor: pointer;
}

.dropdown-item-card:hover{
    background: var(--bs-primary);
    border-color: var(--bs-primary);
    color: var(--bs-dark) !important;
    transform: translateY(-1px);
    box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.1);
}

.dropdown-item-card:hover div  {
    color: var(--bs-dark) !important;
}

    

.dropdown-item-card .contact-name {
    font-weight: 600;
    margin-bottom: 0.25rem;
}

.dropdown-item-card .contact-org {
    font-size: 0.875rem;
    opacity: 0.8;
}

.dropdown-item-card:hover .contact-org {
    opacity: 1;
}

/*PRINT STYLES*/
@media print {
    body, html, #wrapper {
        width: 100% !important;
        margin-top: 0%;
        display: block;
        height: 100% !important;
        margin: 0.5cm;
        font: 12pt Georgia, "Times New Roman", Times, serif;
        line-height: 1.3;
        overflow-x: visible !important;
        overflow-y: visible !important;
    }
}
/*
END GENERIC STYLES
*/