:root {
    --bs-primary: #387d3c;
    --tagify-dd-color-primary: #387d3c;
    --bs-primary-rgb: 56, 125, 60;
}

html {
    font-size: 14px;
    position: relative;
    min-height: 100%;
}

.header-user-container {
    display: flex;
    flex-wrap: nowrap;
    /*-webkit-box-align: center;*/
    align-items: center;
}

.header-user-account {
    font-size: 14px;
    line-height: 140%;
    font-weight: bold;
    color: rgb(151, 151, 151);
    font-family: Roboto, sans-serif;
    padding-right: 4px;
    text-align: right;
    white-space: normal !important;
}

.header-user-name {
    font-size: 14px;
    line-height: 140%;
    font-weight: normal;
    color: rgb(51, 51, 51);
    font-family: Roboto, sans-serif;
    padding-right: 4px;
    text-align: right;
    white-space: nowrap !important;
}

.table-action-column {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
    text-align: center;
}

.change-indicator-container {
    position: relative;
}

.change-indicator[data-count]:before {
    background: var(--bs-primary);
    border-color: var(--bs-primary);
    border-radius: 999px;
    border-style: solid;
    color: #f1f1ed;
    content: attr(data-count);
    font-size: 60%;
    font-weight: 700;
    line-height: .75em;
    min-width: 2em;
    padding: .34em;
    position: absolute;
    text-align: center;
}

.change-indicator[data-count="0"]:before {
    display: none;
}

.menu-change-indicator[data-count]:before {
    right: 1rem;
    top: -0.55rem;
}

.menu-item-change-indicator[data-count]:before {
    right: 1.2rem;
    top: 0.45rem;
}

.tab-change-indicator[data-count]:before {
    right: -0.88rem;
    top: 0.16rem;
    z-index: 3;
}

@media (min-width: 768px) {
    html {
        font-size: 16px;
    }
}

@media (min-width: 576px) {
    .container, .container-sm {
        max-width: 100%
    }
}

@media (min-width: 768px) {
    .container, .container-md, .container-sm {
        max-width: 100%
    }
}

@media (min-width: 992px) {
    .container, .container-lg, .container-md, .container-sm {
        max-width: 100%
    }
}

@media (min-width: 1200px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl {
        max-width: 1200px
    }
}

@media (max-width:992px) {
    .navbar-default .navbar-nav .nav-item .nav-item .nav-link {
        padding: .25rem 3rem !important
    }
    .navbar-default .navbar-nav .nav-item .nav-link {
        border-bottom: none;
        padding: .5rem 1.5rem !important
    }
    .table-action-column {
        padding-left: 0.25rem !important;
        padding-right: 0.25rem !important;
    }
    .table > :not(caption) > * > * {
        padding: .75rem .75rem;
    }
    .menu-change-indicator[data-count]:before {
        right: 0rem;
        top: 0.625rem;
    }
}

@media (max-width: 576px) {
    .navbar-vertical {
        max-width: 219px;
    }
    .nav-lb-tab .nav-item {
        margin: 0 0.75rem;
    }
    .header-user-account {
        font-size: 12px;
    }
    .header-user-name {
        font-size: 12px;
    }
}

@media (min-width: 576px) and (max-width: 767.98px) {
    #db-wrapper.toggled #page-content {
        margin-left: 250px;
    }
}

@media (pointer: coarse) {
    /* mobile device */
    #page-content {
        margin-left: 0;
    }
    .navbar-vertical {
        max-width: 219px;
        margin-left: -17rem;
    }
    #db-wrapper.toggled #page-content {
        margin-left: 15.625rem;
    }
    #db-wrapper.toggled .navbar-vertical {
        margin-left: 0;
    }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

body {
    margin-bottom: 60px;
}

    body.waiting * {
        cursor: progress;
    }

#page-content, #page-content-for-mini {
    min-height: auto;
}

.cart-indicator-count[data-count]:after {
    background: var(--bs-primary);
    border-color: var(--bs-primary);
    border-radius: 999px;
    border-style: solid;
    color: #f1f1ed;
    content: attr(data-count);
    font-size: 57%;
    font-weight: 700;
    line-height: .75em;
    min-width: 2em;
    padding: .34em;
    position: absolute;
    right: 0rem;
    text-align: center;
    top: -0.5rem;
}

.card-overflow {
    height: 50vh;
    overflow-y: auto;
}

.card-overflow-big {
    height: 70vh;
    overflow-y: auto;
}

.page-item.active .page-link {
    z-index: 3;
    color: #fff;
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
}

.btn:focus {
    /*box-shadow: none !important;*/
    /*box-shadow: 0 0 0 0.25rem rgba(56, 125, 60, 0.5);*/
    box-shadow: 0 0 0 0.25rem rgba(56, 125, 60, 0.25);
}

.custom-equipment-check {
    width:35px;
    height:35px;
}

.form-check-input:focus {
    /*box-shadow: none !important;*/
    box-shadow: 0 0 0 0.25rem rgba(56, 125, 60, 0.25);
}

.form-control:focus {
    /*box-shadow: none !important;*/
    box-shadow: 0px 0px 0px 3px rgba(56, 125, 60, 0.25) !important;
}

.form-select:focus {
    /*box-shadow: none !important;*/
    box-shadow: 0 0 0 0.25rem rgba(56, 125, 60, 0.25);
}

.form-select option {
    color: #18113c;
    font-weight: 500;
}

.swal2-styled.swal2-confirm {
    background-color: var(--bs-primary) !important;
}

.colored-toast.swal2-icon-success {
    background-color: var(--bs-success) !important;
}

.colored-toast.swal2-icon-error {
    background-color: var(--bs-danger) !important;
}

.colored-toast.swal2-icon-warning {
    background-color: var(--bs-warning) !important;
}

.colored-toast.swal2-icon-info {
    background-color: var(--bs-info) !important;
}

.colored-toast.swal2-icon-question {
    background-color: var(--bs-info) !important;
}

.colored-toast .swal2-title {
    color: white;
}

.colored-toast .swal2-close {
    color: white;
}

.colored-toast .swal2-html-container {
    color: white;
}


.select2-container--default .select2-selection--multiple,
.select2-container--default .select2-selection--single {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-clip: padding-box;
    background-color: #fff;
    border: 1px solid #e8e7ed;
    border-radius: .25rem;
    color: #18113c;
    display: block;
    font-size: .875rem;
    font-weight: 400;
    line-height: 1.6;
    padding: .75rem 1.25rem;
    transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
    width: 100%;
    cursor: text;
    height: fit-content;
}

    .select2-container--default .select2-selection--single .select2-selection__arrow {
        top: 10px;
    }

.select2-container--default.select2-container--focus .select2-selection--multiple,
.select2-container--default.select2-container--focus .select2-selection--single {
    border: 1px solid #e8e7ed;
    outline: 0;
    box-shadow: 0px 0px 0px 3px rgba(56, 125, 60, 0.25) !important;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice,
.select2-container--default .select2-selection--single .select2-selection__choice {
    background-color: var(--bs-primary);
    color: #fff;
}

.select2-results__option[aria-selected=true] {
    display: none;
}

div.dataTables_wrapper div.dataTables_paginate {
    margin-top: 4px;
    padding-right: 1px;
    padding-left: 1.5rem;
}

div.dataTables_wrapper div.dataTables_length {
    margin-top: 4px;
    padding-right: 1.5rem;
    padding-left: 1px;
}

div.dataTables_length, div.dataTables_length select {
    color: #18113c;
    font-size: 14px;
}

div.dataTables_length, div.dataTables_length option {
    font-weight: 500;
}

.chat-sender {
    background-color: var(--bs-primary);
}

.flatpickr-time input {
    color: #413c5e;
    font-weight: 500 !important;
}

.flatpickr-time .flatpickr-am-pm, .flatpickr-time .flatpickr-time-separator {
    color: #413c5e;
    font-weight: 500 !important;
}

.part-input {
    width: 100%;
}

.message-input-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #f5f5f5;
    margin: 5px;
    padding: 5px;
    border-radius: 10px;
    position: relative;
}

    .message-input-container input {
        width: 100%;
        border: none;
        background: inherit;
        outline: 0;
        padding: 10px 20px;
    }

        .message-input-container input[type=file] {
            display: none;
        }

    .message-input-container .actions {
        padding: 0 10px;
    }

        .message-input-container .actions svg {
            color: #aaa;
            cursor: pointer;
        }

            .message-input-container .actions svg:hover {
                color: #555;
            }

.message-attachment-container {
    display: flex;
    flex-direction: column;
    -webkit-box-align: center;
    align-items: center;
}

.message-attachment-name-container {
    display: flex;
    flex-direction: row;
    align-self: flex-start;
    padding-top: 4px;
    padding-bottom: 4px;
    padding-left: 16px;
    background-color: rgb(233, 241, 234);
    border-radius: 16px;
    -webkit-box-align: center;
    align-items: center;
    word-break: break-all;
}

.message-attachment-name {
    font-size: 16px;
    line-height: 150%;
    font-weight: normal;
    color: rgb(36, 114, 42);
    letter-spacing: 0.04em;
    font-family: Roboto, sans-serif;
}

.message-attachment-button {
    padding: 4px 16px 4px 8px;
    cursor: pointer;
}

.message-attachment-button-icon {
    font-size: 12px;
    color: rgb(36, 114, 42);
}

@media (min-width:1200px) {
    .chat-footer {
        bottom: 0px;
    }
}

.notification-count {
    background-color: var(--bs-primary) !important;
}

.thumbnails-img {
    position: relative;
}

.thumbnail-delete {
    position: absolute;
    bottom: -8px;
    right: -8px;
    color: rgb(190, 185, 205);
    border-radius: 50%;
    border-style: solid;
    border-color: var(--bs-primary);
}

.addImageThumbnail {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #979797;
    background-color: #F1F1F1;
    font-size: 12px;
    font-weight: 600;
    aspect-ratio: 4/3;
    cursor: pointer;
    border-radius: 6px;
}

.addImageSlide {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #979797;
    background-color: #F1F1F1;
    font-size: 24px;
    font-weight: 600;
    aspect-ratio: 4/3;
    cursor: pointer;
    border-radius: 6px;
}

.imageSlide {
    border-color: transparent;
    border-width: 2px;
    border-style: solid;
}

.weather-icon {
    height: 64px;
    width: 64px;
    --bs-text-opacity: 1;
    fill: rgba(var(--bs-primary-rgb),var(--bs-text-opacity)) !important;
}

div.dataTables_processing > div:last-child > div {
    background: rgb(56,125,60, 0.9) !important;
}

.filter-field-container {
    position: relative;
}

.filter-clear-icon {
    position: absolute !important;
    right: 7px !important;
    top: 12% !important;
}

.radio-list {
    max-width: 370px;
}

    .radio-list .custom-amount {
        width: 70%;
        float: right;
    }

.make-payment-footer {
    display: flex;
    flex-direction: column;
    margin-bottom: 12px;
    max-width: 600px;
    font-size: 14px;
    line-height: 140%;
    font-weight: normal;
}

.carousel {
    scroll-snap-type: y mandatory;
    height: calc(100vh - 200px);
    scroll-padding: 1px; /*Prevents snapping when arriving to the end of the page*/
    max-height: 620px;
}

.carousel .carousel-item {
    scroll-snap-align: start;
    height: calc(100vh - 200px);
    max-height: 620px;
}

.carousel-caption {
    height: calc(100vh - 200px);  /*Adjust this value as needed */
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

.caption-main-container {
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 16px;
    padding-right: 16px;
    position: absolute;
    top: 50%;
    left: 15%;
    right: 15%;
    transform: translateY(-50%);
}

.featured-image-carousel-image {
    height: calc(100vh - 200px);
    object-fit: cover;
}

.opacity-hover-100:hover {
    opacity: 1!important;
}

.carousel-caption-title {
    font-size: 6.5rem;
    color: white;
    text-shadow: #000 1px 0px 10px;
}

.carousel-caption-caption {
    font-size: 2rem;
    color: white;
    text-shadow: #000 1px 0px 10px;
}

.carousel-button {
    box-shadow: 1px 1px 10px #000;
}

.carousel-row {
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
}

@media (max-width: 576px) {
    .caption-main-container {
        left: 7%;
        right: 7%;
    }
    .carousel {
        height: calc(100vh - 250px);
    }
    .carousel .carousel-item {
        height: calc(100vh - 250px);
    }
    .carousel-caption {
        height: calc(100vh - 250px);
    }
    .featured-image-carousel-image {
        height: calc(100vh - 250px);
        object-fit: cover;
    }
    .carousel-caption-title {
        font-size: 3.75rem;
    }
    .carousel-caption-caption {
        font-size: 1.5rem;
    }
}

.ai-chat-card-footer {
    text-align: left;
    font-size: 0.8rem;
    color: #6c757d;
    font-style: normal;
}

.ai-message-container {
    width: 70%;
}

.user-message {
    justify-content: flex-end !important;
}

    .user-message .ai-message-content {
        display: flex;
        justify-content: flex-end;
    }

.agent-message .ai-message-content {
    display: flex;
    justify-content: flex-start;
}

.ai-card {
    max-width: 100%;
    word-wrap: break-word; /* Ensure long words break appropriately */
}
.ai-citations-list {
    display: none;
    margin-top: 10px;
    padding-left: 20px;
}

.ai-references {
    padding-top: 10px;
    margin-top: 10px;
}

.offcanvas-content {
    display: flex;
    flex-direction: column;
}

div.dataTables_wrapper div.dataTables_paginate, div.dataTables_wrapper div.dataTables_length {
    margin-top: 4px;
    padding-right: 10px;
    padding-left: 10px;
    width: fit-content
}

div.dataTables_wrapper div.dataTables_info {
    margin-top: 4px;
    padding-right: 10px;
    padding-left: 10px;
    width: fit-content;
    align-content: center;
}

table.dataTable td.dt-control:before {
    font-family: 'Font Awesome 6 Free';
    content: '\f0da';
    font-weight: 900;
    vertical-align: middle;
    color: #A09DAF;
    border: none;
    border-radius: 0;
    box-shadow: none;
    font-size: 12px;
    background-color: transparent !important;
    margin-top: 0;
}

table.dataTable tr.dt-hasChild td.dt-control:before {
    content: "\f0d7";
}

@media (max-width:992px) {
    table.dataTable th.dt-control,
    table.dataTable td.dt-control,
    table.dataTable tr.dt-hasChild td.dt-control:before {
        padding-left: .25rem !important;
        padding-right: .25rem !important;
    }
}

table.dataTable > tbody > tr.child td.child {
    padding: 0;
    box-sizing: border-box;
    max-width: 100%;
}

table.dataTable > tbody > tr.child ul.dtr-details {
    display: inline-block;
    list-style: none;
    margin-top: 0;
    margin-bottom: 0;
    padding: .75rem;
    padding-left: 2rem;
    width: 100%;
    background-color: #F6F6F6;
}

table.dataTable > tbody > tr.child ul.dtr-details > li {
    border-bottom: 1px solid #efefef;
    padding: 0.5em 0;
    display: flex;
}

table.dataTable > tbody > tr.child ul.dtr-details > li > span {
    vertical-align: sub;
}

table.dataTable > tbody > tr.child ul.dtr-details > li:first-child {
    padding-top: 0;
}

table.dataTable > tbody > tr.child ul.dtr-details > li:last-child {
    padding-bottom: 0;
    border-bottom: none;
}

table.dataTable > tbody > tr.child span.dtr-title {
    display: block;
    font-family: Inter, sans-serif;
    font-size: 10.5px;
    font-weight: 600;
    min-width: 134px;
    text-transform: uppercase;
}

table.dataTable > tbody > tr.child span.dtr-data {
    display: block;
}

.collapse-filters-button {
    padding: 1rem !important;
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
    width: 100px;
}

.tab-list-ellipses-container {
    overflow: hidden;
    position: relative;
}

.tab-list-ellipses-tabs {
    overflow-x: auto;
    overflow-y: hidden;
    flex-wrap: nowrap;
}

.tab-list-left-ellipsis {
    background-color: white;
    position: absolute;
    bottom: 18px;
    left: -1px;
    padding-right: 4px;
    z-index: 2;
}

.tab-list-right-ellipsis {
    background-color: white;
    position: absolute;
    bottom: 18px;
    right: -1px;
    padding-left: 4px;
    z-index: 2;
}

.overlay-fade {
    background: linear-gradient(to top, rgba(0,0,0,0.4) 0%, rgba(0,0,0,0) 60%);
}

.text-shadow-sm {
    text-shadow: 1px 1px 3px rgba(0,0,0,0.6);
}
.table-highlight-unread {
    background-color: #f6fbf6;
    font-weight: bold
}

