/*  ======================================================================
    ---------------------------Reset/Normalize----------------------------
    ====================================================================== */
    /* 1. Reset/Normalize */
    * {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
    }

/*  ======================================================================
    ------------Base Styles (body, headings, links, etc.)-----------------
    ====================================================================== */
body{
    background-color:#DEE2E6; /*#f4f6f9;*/
    font-size:12px;
}
th,td{
    font-size:12px;
}
h4{
    font-size: 20px;
}
.btn{
    font-size: 12px;
}
input,textarea{
    font-size: 12px !important;
    text-align: left;
}

.btn-close.text-danger {
    filter: invert(27%) sepia(98%) saturate(749%) hue-rotate(342deg) brightness(91%) contrast(85%);
}

/*  ======================================================================
    -------------------------- form --------------------------------------
    ====================================================================== */
form .form-label{
    margin-bottom: 0px;
    font-size: 10.5px;
    font-weight: 500;
}
form .form-header {
    font-size: 14px;
}
form .instruction{
    color: #000000;
    margin-bottom: 5px;
    font-weight: 600;
}
/* Inputs */
/* .form-control:focus,
.form-select:focus,
.selectpicker:focus {
    border-color: #28a745 !important;
    box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25) !important;
}
.is-invalid:focus {
    border-color: #dc3545 !important;
    box-shadow: 0 0 0 0 !important;
} */
/* Check box */
.form-check-input:focus {
    border-color: #198754 !important;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset, 0 0 8px rgba(87, 199, 65, 0.6) !important;
}
.form-check-input:checked {
    background-color: #198754 !important;
    border-color: #198754 !important;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset, 0 0 8px rgba(87, 199, 65, 0.6) !important;
}
/* make custom datepicker show on top of modal */
.datepicker {
    z-index: 1055 !important;
}

/* Custom input file */
.custom-file-input label{
    cursor: pointer;
}

.custom-file-input input {
    opacity: 0;
    position: absolute;
    z-index: -1;
}

.shadow-inset {
    box-shadow: inset 0 0 40px #166B39;
}
/* Custom loading animation */
.loading {
    display: block;
    width: 4.25em;
    height: 4.25em;
}
.loading__ring, .loading__ball {
    animation: ring 2s ease-out infinite;
    stroke: #198754;
}
.loading__ball {
    animation-name: ball;
}

/* Bootstrap-select */
.bootstrap-select .form-control:focus {
    outline: 0px none #fff !important;
}

.bootstrap-select .form-control > div.filter-option:focus {
    outline: 0px none #fff !important;
}

.bootstrap-select .form-control > div.filter-option > div.filter-option-inner:focus {
    outline: 0px none #fff !important;
}

.bootstrap-select .form-control > div.filter-option > div.filter-option-inner > div.filter-option-inner-inner:focus {
    outline: 0px none #fff !important;
}

.is-invalid {
    border-color: #DC3545 !important; 
    padding-right: calc(1.5em + .75rem);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e") !important;
    background-repeat: no-repeat;
    background-position: right calc(.375em + .1875rem) center;
    background-size: calc(.75em + .375rem) calc(.75em + .375rem);
}
/*  ======================================================================
    ---------------------------Import ------------------------------------
    ====================================================================== */
    .overflow-documents {
        flex-grow: 1;
        overflow-y: auto;
        height: 60vh;
    }
    .custom-file-upload {
        display: inline-block;
        padding: 6px 12px;
        cursor: pointer;
        border-radius: 6px;
        background-color: #198754;
        color: white;
        font-weight: 500;
        transition: background-color 0.3s ease;
    }
    .custom-file-upload:hover {
        background-color: #157347;
        color: white;
    }
    #file-upload-members {
        display: none;
    }

    .view_fca_tab{
        text-decoration: none;
        color: #000000;
        font-weight: 500;
    }
/*  ======================================================================
    ---------------------- Custom shapes  --------------------------------
    ====================================================================== */
.custom-shape-divider-bottom-1683705025 {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    overflow: hidden;
    line-height: 0;
    transform: rotate(180deg);
    z-index: -1;
}

.custom-shape-divider-top-1683705066 {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    overflow: hidden;
    line-height: 0;
}

.custom-shape-divider-bottom-1683705025 svg, .custom-shape-divider-top-1683705066 svg {
    position: relative;
    display: block;
    width: calc(100% + 1.3px);
    height: 150px;
}

.custom-shape-divider-bottom-1683705025 .shape-fill, .custom-shape-divider-top-1683705066 .shape-fill {
    fill: #198754;
}

/* a.btn-link */
.btn-link{
    color: #166B39 !important;
}
/*  ======================================================================
    -------------------------- Nav Brand  --------------------------------
    ====================================================================== */
/* Active */
a.active, li.active{
    color: #198754 !important;
}
/* Dropdown */
.dropdown-item {
    font-size: x-small !important;
    font-weight: 400 !important;
}
.dropdown-item.active, .dropdown-item:active {
    color: #ffffff !important;
    background: #198754 !important;
}
/* Navbar */
.navbar-nav .nav-item .nav-link, .navbar-nav .nav-item .nav-link span {
    color: #000000 !important;
    margin-bottom: 0 !important;
    font-weight: bold !important;
    font-size: small;
}
.navbar-nav .nav-item .nav-link:hover {
    color: #198754 !important;
    text-decoration: underline;
    text-decoration-thickness: 3px;
}
.navbar-nav .nav-item .nav-link.active {
    color: #198754 !important;
}
.nav-tabs .nav-item .nav-link, .nav-pills .nav-item .nav-link {
    color: #198754 !important;
    font-weight: bold !important;
}
.nav-tabs .nav-item .nav-link.active, .nav-pills .nav-item .nav-link.active {
    background-color: #198754 !important;
    color: #FFF !important;
}
.nav-pills .nav-item .nav-link.nav-link-danger{
    color: #dc3545 !important;
}
.nav-pills .nav-item .nav-link.nav-link-danger.active {
    background-color: #dc3545 !important;
    color: #FFF !important;
}
/* Nav Pills */
.nav-pills .nav-item .nav-link {
    font-size: x-small;
    padding-top: 5px !important;
    padding-bottom: 5px !important;
    margin-right: 7px !important;
    border: solid 1px #198754;
}
.nav-pills .nav-item .nav-link:hover {
    background-color: #198754;
    color: #FFF !important;
}
.nav-pills .nav-item .nav-link.nav-link-danger {
    font-size: x-small;
    padding-top: 5px !important;
    padding-bottom: 5px !important;
    margin-right: 7px !important;
    border: solid 1px #dc3545;
}
.nav-pills .nav-item .nav-link.nav-link-danger:hover {
    background-color: #dc3545;
    color: #FFF !important;
}
/*  ======================================================================
    ---------------------------- Sweet Alert -----------------------------
    ====================================================================== */
.swal2-radio {
    display: grid !important;
}
/*  ======================================================================
    ------------------------------- Table --------------------------------
    ====================================================================== */
/* Pagination */
.pagination > li > a, .pagination > li > span{
    font-size: 11px;
    color:green !important;}
.pagination > li.active > a, .pagination > li.active > span{
    color: white !important;
    background-color:green !important; /* #fff */
    font-size: 11px;
}
/* DataTable buttons */
.btn-datatable {
    background-color: white;
    color: #157347;
    border: 1px solid #157347 ;
}
.btn-datatable:hover {
    background-color: #157347;
    color:white;
}

/* Tables */
.table-link {
    text-decoration:none;
    color: #157347;
    padding: 0 5px 0 5px;
    border-radius: 5px;
}
.table-link:hover {
    color: white;
    background-color: #1da063;
}
.table-link-primary {
    text-decoration:none;
    color: #007BFF;
    padding: 0 5px 0 5px;
    border-radius: 5px;
}
.table-link-primary:hover {
    color: white;
    background-color: #007BFF;
}
.table-link-danger {
    text-decoration:none;
    color: #DC3545;
    padding: 0 5px 0 5px;
    border-radius: 5px;
}
.table-link-danger:hover {
    color: white;
    background-color: #DC3545;
}

.table-text-center th, .table-text-center td{
    text-align: center;
}
.table-layout-fixed{
    table-layout: fixed;
}

/* Accordion */
/* .accordion-button:focus {
    border-color: #198754 !important;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset, 0 0 8px rgba(87, 199, 65, 0.6) !important;
}
.accordion-button {
    color: #ffffff !important;
    background: #198754 !important;
}
.accordion-button::after, .accordion-button.collapsed::after{
    background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'><path fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/></svg>") !important;
} */
/* Custom Dropdown columns */
.dropdown-menu {
    min-width: 200px;
}
.dropdown-menu.columns-2 {
    min-width: 400px;
}
.dropdown-menu.columns-3 {
    min-width: 600px;
}
.dropdown-menu li a {
    padding: 5px 15px;
    font-weight: 300;
}

/* selected item color */
.dropdown-menu .selected{
    background-color: #157347;
    color:white;
}
.dropdown-menu   .selected .text-muted{
    color:white!important;
}
.multi-column-dropdown {
    list-style: none;
    margin: 0px;
    padding: 0px;
}
.multi-column-dropdown li a {
    font-weight: 400;
}
@media (max-width: 767px) {
    .dropdown-menu.multi-column {
        min-width: 240px !important;
        overflow-x: hidden;
    }
}

/*  ======================================================================
    ---------------------- Custom Print page -----------------------------
    ====================================================================== */
@media print {
    @page {
        /* margin-top: 0;
        margin-bottom: 0; */
    }
    body {
        font-size: 11px;
    }
}
/* Loading overlay */
.loading-overlay {
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0px;
    left: 0px;
    z-index: 99999;
    background-color: gray;
    filter: alpha(opacity=75);
    -moz-opacity: 0.75;
    opacity: 0.75;
    display: none;
}
.loading-overlay .loading-message {
    position: relative;
    top: 35%;
    color: #FFF;
}

/*  ======================================================================
    ---------------------------display Image -----------------------------
    ====================================================================== */
/* Existing FCA attachement display */
.custom-image-checkbox-ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
}

.custom-image-checkbox-li {
    display: inline-block;
    width: 100%
}

.custom-image-checkbox-input {
    display: none;
}

.custom-image-checkbox-label {
    display: block;
    position: relative;
    cursor: pointer;
    width: 100%;
    margin-bottom: 10px;
    border-radius: 7px;
    background-color: #212529;
    display: flex;
    justify-content: center;
    justify-items: center;
}

:checked + .custom-image-checkbox-label {
    border-color: #ddd;
}

.custom-image-checkbox-label:before {
    color: white;
    content: " ";
    display: block;
    border-radius: 50%;
    border: 1px solid grey;
    position: absolute;
    top: -5px;
    left: -5px;
    width: 20px;
    height: 20px;
    text-align: center;
    line-height: 23px;
    transition-duration: 0.4s;
    transform: scale(0);
    z-index: 1;
}

:checked + .custom-image-checkbox-label:before {
    content: "✓";
    background-color: grey;
    transform: scale(1);
}

.custom-image-checkbox-label img {
    max-height: 256px;
    max-width: 100%;
    border-radius: 7px;
    transition-duration: 0.2s;
    transform-origin: 50% 50%;
}

:checked + .custom-image-checkbox-label img {
    transform: scale(0.9);
    z-index: 0;
}

/*  ======================================================================
    ------------------------------Card -----------------------------------
    ====================================================================== */
.card-img-top {
    width: 100%;
    height: 10vw;
    object-fit: cover;
}

.card-zoom-hover{
    transition: all .2s ease-in-out;
}
.card-zoom-hover:hover {
    transform: scale(1.1);
}

.card-text{
    text-shadow: rgb(48, 48, 48) 0.1em 0.1em 0.2em;
}

/*  ======================================================================
    ----------------------------Footer -----------------------------------
    ====================================================================== */
/* Footer */
footer a:hover {
    color: #198754 !important;
}

@media (prefers-color-scheme: dark) {
    :root {
        --bg: hsl(var(--hue),10%,10%);
        --fg: hsl(var(--hue),10%,90%);
    }
}

@keyframes ring {
    from {
        stroke-dasharray: 0 257 0 0 1 0 0 258;
    }
    25% {
        stroke-dasharray: 0 0 0 0 257 0 258 0;
    }
    50%, to {
        stroke-dasharray: 0 0 0 0 0 515 0 0;
    }
}

@keyframes ball {
    from, 50% {
        animation-timing-function: ease-in;
        stroke-dashoffset: 1;
    }
    64% {
        animation-timing-function: ease-in;
        stroke-dashoffset: -109;
    }
    78% {
        animation-timing-function: ease-in;
        stroke-dashoffset: -145;
    }
    92% {
        animation-timing-function: ease-in;
        stroke-dashoffset: -157;
    }
    57%, 71%, 85%, 99%, to {
        animation-timing-function: ease-out;
        stroke-dashoffset: -163;
    }
}

 /* ?todo optimize code apply (DRY) */