/* style.css */


.toast-buttons {
    max-width: 700px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 15px;
    margin: 2em auto;
}

.toast-row {
    display: flex;
    justify-content: center;
    margin: 1em 0;
    padding: 1rem;
    flex-wrap: wrap;
}

button.custom-toast {
    padding: 0.5rem 1rem;
    border: none;
    color: #fff;
    font-weight: 500;
    border-radius: 5px;
    box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.785);
    cursor: pointer;
    width: 150px;
    margin: 0.5em;
    transition: filter 0.2s ease-in-out,
        transform 0.3s ease-in-out;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1rem;
    background-color: transparent;
    outline: none;
    background: #3498db;
    color: #fff;
}

button.custom-toast:hover {
    filter: brightness(0.9);
}

button.success-toast {
    background-color: #2ecc71;
}

button.danger-toast {
    background-color: #e74c3c;
}

button.info-toast {
    background-color: #3498db;
}

button.warning-toast {
    background-color: #f1c40f;
}


.toast {
    position: fixed;
    top: 25px;
    right: 25px;
    max-width: 300px;
    background: #fff;
    padding: 0.5rem;
    border-radius: 4px;
    box-shadow: -1px 1px 10px rgba(0, 0, 0, 0.3);
    z-index: 9999;
    animation: slideInRight 0.3s ease-in-out forwards,
        fadeOut 0.5s ease-in-out forwards 3s;
    transform: translateX(110%);
}

.toast.closing {
    animation: slideOutRight 0.5s ease-in-out forwards;
}

.toast-progress {
    position: absolute;
    display: block;
    bottom: 0;
    left: 0;
    height: 4px;
    width: 100%;
    background: #b7b7b7;
    animation: toastProgress 3s ease-in-out forwards;
}

.toast-content-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.toast-icon {
    padding: 0.35rem 0.5rem;
    font-size: 1.5rem;
}

.toast-message {
    flex: 1;
    font-size: 0.9rem;
    color: #000000;
    padding: 0.5rem;
}

.toast.toast-success {
    background: #95eab8;
}

.toast.toast-success .toast-progress {
    background-color: #2ecc71;
}

.toast.toast-danger {
    background: #efaca5;
}

.toast.toast-danger .toast-progress {
    background-color: #e74c3c;
}

.toast.toast-info {
    background: #bddaed;
}

.toast.toast-info .toast-progress {
    background-color: #3498db;
}

.toast.toast-warning {
    background: #ead994;
}

.toast.toast-warning .toast-progress {
    background-color: #f1c40f;
}

@keyframes slideInRight {
    0% {
        transform: translateX(110%);
    }

    75% {
        transform: translateX(-10%);
    }

    100% {
        transform: translateX(0%);
    }
}

@keyframes slideOutRight {
    0% {
        transform: translateX(0%);
    }

    25% {
        transform: translateX(-10%);
    }

    100% {
        transform: translateX(110%);
    }
}

@keyframes fadeOut {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

@keyframes toastProgress {
    0% {
        width: 100%;
    }

    100% {
        width: 0%;
    }
}

.form-body {
    background-color: #f9fafd;
    padding: 25px 25px 0;
    border: 1px solid rgba(0, 0, 0, 0.15);
    font-weight: 600;
    color: #8c7579 !important;

}

.form-divided {
    margin-bottom: 25px;
    border-top: 1px solid rgba(0, 0, 0, .12);
    height: 0;
}

.form-footer {
    border-top: 1px dashed #01a9ac;
}



/* Drag and Drop  */
:root {
    --colorPrimaryNormal: #00b3bb;
    --colorPrimaryDark: #00979f;
    --colorPrimaryGlare: #00cdd7;
    --colorPrimaryHalf: #80d9dd;
    --colorPrimaryQuarter: #bfecee;
    --colorPrimaryEighth: #dff5f7;
    --colorPrimaryPale: #f3f5f7;
    --colorPrimarySeparator: #f3f5f7;
    --colorPrimaryOutline: #dff5f7;
    --colorButtonNormal: #00b3bb;
    --colorButtonHover: #00cdd7;
    --colorLinkNormal: #00979f;
    --colorLinkHover: #00cdd7;
}

.upload_dropZone {
    color: #0f3c4b;
    background-color: var(--colorPrimaryPale, #c8dadf);
    outline: 2px dashed var(--colorPrimaryHalf, #c1ddef);
    outline-offset: -12px;
    transition:
        outline-offset 0.2s ease-out,
        outline-color 0.3s ease-in-out,
        background-color 0.2s ease-out;
}

.upload_dropZone.highlight {
    outline-offset: -4px;
    outline-color: var(--colorPrimaryNormal, #0576bd);
    background-color: var(--colorPrimaryEighth, #c8dadf);
}

.upload_svg {
    fill: var(--colorPrimaryNormal, #0576bd);
}

.btn-upload {
    color: #fff;
    background-color: var(--colorPrimaryNormal);
}

.btn-upload:hover,
.btn-upload:focus {
    color: #fff;
    background-color: var(--colorPrimaryGlare);
}

.upload_img {
    width: calc(33.333% - (2rem / 3));
    object-fit: contain;
}

#upload_image_background {
    width: 10px !important;
}

.required:after {
    content: " *";
    color: red;
}

.error {
    color: red;
}



/*----------multiple-file-upload-----------*/
.file-upload-contain {
    position: relative;
    margin-bottom: 40px;
}

.file-upload-contain .file-input,
.file-upload-contain .file-preview {
    position: initial;
}

.file-upload-contain .file-drop-zone {
    border: 2px dashed #1e80e8;
    transition: 0.3s;
    margin: 0;
    padding: 0;
    border-radius: 20px;
    background-color: #f1f8fe;
    min-height: auto;
}

.file-upload-contain .file-drop-zone.clickable:hover,
.file-upload-contain .file-drop-zone.clickable:focus,
.file-upload-contain .file-highlighted {
    border: 2px dashed #1e80e8 !important;
    background-color: #dfedfc;
}

.upload-area i {
    color: #1e80e8;
    font-size: 50px;
}

.upload-area p {
    margin-bottom: 30px;
    margin-top: 30px;
    font-size: 20px;
    font-weight: 600;
    color: #2580e8;
}

.upload-area p b {
    color: #1e80e8;
}

.upload-area button {
    padding: 8px 16px;
    min-width: 150px;
    font-size: 16px;
    font-weight: 600;
    color: #fff;
    background-color: #1e80e8;
    border: 2px solid #1e80e8;
    border-radius: 50px;
    transition: 0.3s;
}

.upload-area button:hover {
    background-color: #1e80e8;
    box-shadow: 0px 4px 8px rgb(37 128 232 / 48%);
}

.file-preview {
    padding: 0;
    border: none;
    margin-bottom: 30px;
}

.file-preview .fileinput-remove {
    display: none;
}

.file-drop-zone-title {
    padding: 55px 10px;
}

.file-drop-zone .file-preview-thumbnails {
    cursor: pointer;
}

.file-preview-frame {
    cursor: default;
    display: flex;
    align-items: center;
    border: none;
    background-color: #2580e8;
    box-shadow: none;
    border-radius: 8px;
    width: 100%;
    padding: 15px;
    margin: 8px 0px;
}

.file-preview-frame:not(.file-preview-error):hover {
    border: none;
    box-shadow: 0 0 10px 0 rgb(0 0 0 / 20%);
}

.file-preview-frame .kv-file-content {
    min-width: 45px;
    min-height: 45px;
    width: 45px;
    height: 45px;
    border-radius: 4px;
    margin-right: 10px;
    background-color: #fff;
    padding: 3px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.file-preview-image {
    border-radius: 4px;
}

.file-preview-frame .file-footer-caption {
    padding-top: 0;
}

.file-preview-frame .file-footer-caption {
    text-align: left;
    margin-bottom: 0;
}

.file-detail {
    font-size: 14px;
    height: auto;
    width: 100%;
    line-height: initial;
}

.file-detail .file-caption-name {
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    margin-bottom: 6px;
}

.file-detail .file-size {
    color: #f1f8fe;
    font-size: 12px;
}

.kv-zoom-cache {
    display: none;
}

.file-preview-frame .file-thumbnail-footer {
    height: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

.file-preview-frame .file-drag-handle,
.file-preview-frame .file-upload-indicator {
    float: none;
}

.file-preview-frame .file-footer-buttons {
    float: none;
    display: flex;
    align-items: center;
}

.file-preview-status.text-center {
    display: none;
}

.kv-file-remove.file-remove {
    border: none;
    background-color: #ef2f2f;
    color: #fff;
    width: 25px;
    height: 25px;
    font-size: 12px;
    border-radius: 4px;
    margin: 0px 4px;
}

.file-drag-handle.file-drag {
    border: none;
    background-color: #fff;
    color: #2580e8;
    width: 25px;
    height: 25px;
    font-size: 12px;
    border-radius: 4px;
    margin: 0px 4px;
}

.kv-file-upload.file-upload {
    border: none;
    background-color: #48bd22;
    color: #fff;
    width: 25px;
    height: 25px;
    font-size: 12px;
    border-radius: 4px;
    margin: 0px 4px;
}

.file-thumb-loading {
    background: none !important;
}

.file-preview-frame.sortable-chosen {
    background-color: #64a5ef;
    border-color: #64a5ef;
    box-shadow: none !important;
}


div.hide {
    display: none;
}

/*  Jtree  */

.jsTree {
    width: max-content;
}

.jsTree .itemParent {
    /* div. more down under */
    transition: all 0.3s ease-in;
    padding: 2px 0px;
    display: flex;
}

.jsTree .itemParent:hover {
    background-color: rgb(209, 209, 209);
}

.jsTree .itemParent p {
    margin: 0px;
    flex-grow: 1;
}

.jsTree .itemParent .afterIcon {
    display: inline-block;
    flex-shrink: 0;
    width: 19px;
    height: 19px;
    margin: 0px 4px;
    background: url("../../../images/edit-black.svg");
    background-size: 12px 12px;
    background-repeat: no-repeat;
    background-position: center center;
    cursor: pointer;
    transition: opacity 0.3s ease-out;
    opacity: 0;
}

.jsTree .itemParent:hover .afterIcon {
    opacity: 1;
}

.addPage {
    display: inline-block;
    flex-shrink: 0;
    width: 65px;
    height: 19px;
    margin: 0px 4px;
    background-size: 12px 12px;
    background-repeat: no-repeat;
    background-position: center center;
    cursor: pointer;
    transition: opacity 0.3s ease-out;
    opacity: 0;
}

.jsTree .itemParent:hover .addPage {
    opacity: 1;
}

.jsTree .childGroup {
    /* ul */
    padding: 0px 0px 0px 12px;
    margin: 0;
}

.jsTree .item {
    /* li */
    list-style: none;
    padding: 0;
    margin: 0;
    transition: all 0.3s ease-in;
}

.jsTree .itemParent .preIcon {
    display: inline-block;
    flex-shrink: 0;
    width: 19px;
    height: 19px;
    margin: 0px 4px;
    background-size: 14px 14px !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
}

.jsTree .itemParent .preIcon.arrowDown {
    cursor: pointer;
    background: url("../../../images/arrowdown-black.svg");
    transition: transform 0.3s ease-out;
}

.jsTree .itemParent .preIcon.arrowDown.arrowRotate {
    transform: rotate(-90deg);
}

.jsTree .itemParent .preIcon.checkboxIcon {
    cursor: pointer;
    background: url("../../../images/notselected-black.svg");
}

.jsTree .itemParent .preIcon.checkboxIcon.checked {
    background: url("../../../images/selected-black.svg");
}

.jsTree .itemParent .preIcon.radiobtnIcon {
    cursor: pointer;
    background: url("../../../images/radionotselected-black.svg");
}

.jsTree .itemParent .preIcon.radiobtnIcon.checked {
    background: url("../../../images/radioselected-black.svg");
}

@media (hover: hover) and (pointer: fine) {
    .jsTree .itemParent .preIcon.checkboxIcon:hover {
        background: url("../../../images/selected-black.svg");
        border: 1px solid;
    }

    .jsTree .itemParent .preIcon.radiobtnIcon:hover {
        background: url("../../../images/radioselected-black.svg");
        border: 1px solid;
    }
}

.jsTreeContextMenu {
    width: max-content;
    display: none;
    position: fixed;
    border-radius: 1px;
    overflow: hidden;
    background: white;
    border: 1px solid rgb(16, 111, 171);
    box-sizing: border-box;
}

.jsTreeContextMenu p {
    margin: 0;
    padding: 4px 8px;
    transition: all 0.3s ease-in;
    background: white;
}

.jsTreeContextMenu p:hover {
    background: #eee;
}

/* Overlay CSS start */
.loading-overlay {
    display: none;
    background: rgba(255, 255, 255, 0.7);
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    top: 0;
    z-index: 9998;
    align-items: center;
    justify-content: center;
}

.loading-overlay.is-active {
    display: flex;
}

.code {
    font-family: monospace;
    /*   font-size: .9em; */
    color: #dd4a68;
    background-color: rgb(238, 238, 238);
    padding: 0 3px;
}

.bg-none {
    background-image: none !important;
}