:root{
    --MAIN: #2b002d;
    --MAIN-LIGHTER-10: #4e2b50;
    --MAIN-LIGHTER-20: #725573;
    --MAIN-LIGHTER: #c2b0c3;
    --MAIN-EXTRA-LIGHTER: #dcd5dc;
    --MAIN-EXTRA-LIGHTER-TRANSPARANT: rgba(220, 213, 220, 0.5);
    --MAIN-DARKER: #220024;
    --SECOND: #faaf19;
    --SECOND-LIGHTER: #fcca66;
    --SECOND-EXTRA-LIGHTER: #fef2d9;
    --SECOND-DARKER: #f1a816;
    --ACCENT: #eb4622;
    --ACCENT-LIGHTER: #f2846c;
    --ACCENT-EXTRA-LIGHTER: #fce0da;
    --ACCENT-TRANSPARANT: rgba(235, 70, 34, 0.5);
    --LINK: #19B9FA;
    --GREEN: #479679;
    --GREEN-EXTRA-LIGHTER: #e0eee9;


    --SELECTED: rgba(220, 213, 220, 0.5);

    --LEFT-MENU-WIDTH: 70px;

    --GRID-ROW: 12;
    --GRID-COLUMN: 12;
}

@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap');

body{
    margin: 0px;
    background: white;
    overflow-x: hidden;
    font-family: "Open Sans", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-variation-settings: "wdth" 100;
}


@media print
{
    body * {
        visibility: hidden !important;
        margin:0; padding:0;
    }

    #divVisualizationBuilder, #divVisualizationBuilder *{
        visibility: visible !important;
    }

    #divVisualizationBuilder {
        position: absolute !important;
        left: 0 !important;
        top: 0 !important;
        width: 110% !important;
        transform: scale(0.9); /* adjust as needed */
        transform-origin: top left;
    }

    .divPage{
        background: red !important;
        left: 0 !important;
        top: 0 !important;
        width: 100% !important;
        height: 100vh !important;
        page-break-after: always !important;
        break-after: page !important;
        aspect-ratio: inherit !important;
    }

    .divReportItem{
        padding: 0px !important;
    }


    @page {
        size: A4 landscape !important;
    }

    /*body, html {*/
    /*    margin: 0;*/
    /*    padding: 0;*/
    /*}*/
}

.print {page-break-after:always;}

a{
    color: var(--LINK);
    cursor: pointer;
}

#divLeftMenu{
    width: var(--LEFT-MENU-WIDTH);
    height: 100%;
    position: fixed;
    top: 0px;
    left: 0px;
    background-color: var(--MAIN-DARKER);
    /*background-image: url('/images/fbg.svg');*/
    background-size: cover;
    background-position: 72% 10%;
    padding-top: 30px;
    box-sizing: border-box;
    z-index: 999999;
}

#imgLogo{
    width: calc(var(--LEFT-MENU-WIDTH) - 30px);
    margin-left: 15px;
    margin-top: -10px;
    margin-bottom: 10px;
}

.aMenuItem{
    width: 100%;
    position: relative;
    display: block;
    margin: 0px;
    padding: 0px;
    text-align: center;
    padding-top: 15px;
    padding-bottom: 3px;
    box-sizing: border-box;
    margin-bottom: 1px;
    color: #afafaf;
    color: #d29a9a;
    text-decoration: none !important;
    font-weight: 600;
}

.aMenuItem i{
    font-size: 18px;
}

.aMenuItem p{
    font-size: 10px;
    max-width: calc(100% - 2px);
}

.aMenuItem:hover{
    opacity: 0.8;
    color: white;
}

#divLeftMenuBottom{
    position: absolute;
    width: 100%;
    bottom: 0px;
}

#divTopMenu{
    width: calc(100% - var(--LEFT-MENU-WIDTH));
    height: 30px;
    background: rgba(241, 241, 241, 1);
    position: fixed;
    top: 0px;
    left: var(--LEFT-MENU-WIDTH);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-bottom: 1px solid #dcdcdc;
    z-index: 99999;
}

.divTopMenuRootItem{
    display: inline-block;
    height: 30px;
    margin: 0px;
    padding: 0px;
}

.pTopMenuRootItem{
    padding: 0px;
    margin: 0px;
    padding: 3px 10px 3px 10px;
    cursor: pointer;
    box-sizing: border-box;
    height: 30px;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.pTopMenuRootItem:hover{
    background: #dcdcdc;
}

.divTopMenuRootItem:hover .divTopMenuSubWrapper{
    display: block;
}

.divTopMenuSubWrapper{
    background: rgba(241, 241, 241, 1);
    border: 1px solid #f1f1f1;
    border-top: none;
    position: absolute;
    box-sizing: border-box;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    display: none;
}

.divTopMenuSubWrapper a{
    text-decoration: none;
    color: #323232;
}

.divTopMenuSubWrapper i, .divTopMenuSubWrapper p{
    display: inline;
}

.divTopMenuSubWrapper i{
    margin: 0px;
    margin-right: 10px;
}

.divTopMenuSubWrapper ul{
    list-style-type: none;
    display: block;
    margin: 0px;
    padding: 0px;
}

.divTopMenuSubWrapper ul li{
    display: block;
    margin: 0px;
    padding: 8px 25px 10px 25px;
    font-size: 12px;
    cursor: pointer;
}

.divTopMenuSubWrapper ul li:hover{
    background: #dcdcdc;
}

.divStageIndicatorWrapper {
    display: flex;
    align-items: center;
    flex-direction: column;
    height:35px;
    position: relative;
    z-index: 10;
}

#divStageIndicator{
    width: 100%;
    height: 35px;
    text-align: center;
    padding: 0px;
    display: inline-block;
    overflow: hidden;
}

.divStage{
    display: inline-block;
    background: rgb(255,250,255);
    background: -moz-linear-gradient(90deg, rgba(255,250,255,1) 0%, rgba(241,241,241,1) 100%);
    background: -webkit-linear-gradient(90deg, rgba(255,250,255,1) 0%, rgba(241,241,241,1) 100%);
    background: linear-gradient(90deg, rgba(255,250,255,1) 0%, rgba(241,241,241,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#fffaff",endColorstr="#f1f1f1",GradientType=1);
    cursor: pointer;
    margin: 0px;
    height: 36px;
    position: relative;
    overflow: visible;
    margin-left: -15px;
}

#divStageIndicator a:first-of-type .divStage{
    border-radius: 10px 0px 0px 10px;
}

#divStageIndicator a:first-of-type .divStage p{
    padding-left: 15px;
}

#divStageIndicator a:last-of-type .divStage{
    border-radius: 0px 10px 10px 0px;
}

.divStage:hover p{
    transform: scale(1.1);
}

.divStage::after{
    content: ' ';
    width: 0;
    height: 0;
    position: absolute;
    top: -1px;
    right: -6px;
    z-index: 9;
    border-top: 18px solid transparent;
    border-bottom: 18px solid transparent;
    border-left: 18px solid #f1f1f1;
}

.divStage p{
    font-weight: 600;
    margin: 0px;
    font-size: 11px;
    padding: 8px;
    padding-left: 25px;
    padding-right: 15px;
    color: var(--MAIN);
}

.aStageLink{
    pointer-events: none;
}

.stageDone{
    pointer-events: all;
}

.divStageSelected{
    background: var(--SECOND);
    pointer-events: all;
}

.divStageSelected p{
    font-weight: 700;
}

.divStageSelected::after{
    border-top: 18px solid transparent;
    border-bottom: 18px solid transparent;
    border-left: 18px solid var(--SECOND);
}

.stageDone{
    background: rgb(253,228,178);
    background: -moz-linear-gradient(90deg, rgba(253,228,178,1) 0%, rgba(255,220,151,1) 100%);
    background: -webkit-linear-gradient(90deg, rgba(253,228,178,1) 0%, rgba(255,220,151,1) 100%);
    background: linear-gradient(90deg, rgba(253,228,178,1) 0%, rgba(255,220,151,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#fde4b2",endColorstr="#ffdc97",GradientType=1);
}

.stageDone::after{
    border-top: 18px solid transparent;
    border-bottom: 18px solid transparent;
    border-left: 18px solid #ffdc97;
}

.divStageDisabled{
    pointer-events: none;
}

.disabled{
    opacity: 0.2;
    pointer-events: none;
}

.disabled-text {
    color:#a0a0a0
}

#divStageIndicator a:last-of-type .divStage:after{
    display: none;
}

.divAvatarHolder{
    width: 40px;
    height: 40px;
    border-radius: 20px;
    background: #4e2b50;
    margin: auto;
    text-align: center;
    position: relative;
}

.divAvatarHolder i{
    color: white;
    margin-top: 10px;
    font-size: 18px;
}

#divLeftMenuBottom .divAvatarHolder{
    margin-bottom: 15px;
    margin-top: 15px;
}

#divContentWrapper{
    margin-top: 30px;
    margin-left: 70px;
    margin-right: 0px;
    box-sizing: border-box;
    display: flex;
}

#divSidePanelWrapper, #divSidePanelWrapperRight{
    display: flex;
    position: sticky;
    top: 30px;
    overflow: auto;
    flex-direction: row;
    align-items: stretch;
    border-right: 1px solid #f1f1f1;
    overflow-x: hidden;
    /*min-height: calc(100vh - 70px);*/
    height: calc(100vh - 50px);
}

.divSidePanel{
    max-width: 300px;
    border-right: 1px solid #f1f1f1;
    position: relative;
}

#divSidePanelWrapperBackgroundWrapper{
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0px;
    left: 0px;
    z-index: -1;
    background-color: #e5e5f7;
    opacity: 0.1;
    background-image:  repeating-radial-gradient( circle at 0 0, transparent 0, #ffffff 50px ), repeating-linear-gradient( rgba(71, 18 ,74, 0.1), rgba(71, 18 ,74, 0.01) );
}

#divContentHolder{
    flex-grow: 1;
    padding: 50px;
    width: 50%;
}

.divContentHolderVisualize{
    background: #f1f1f1;
}

h1{
    font-weight: 600;
    color: var(--MAIN-DARKER);
    font-size: 25px;
    margin: 0px;
}

h2{
    font-weight: 600;
    color: var(--MAIN-LIGHTER);
    font-size: 18px;
    margin-top: 10px;
}

.divContentCenterWrapper{
    margin: auto;
    text-align: center;
    margin-top: 20px;
    position: relative;
}

.divImportFile{
    max-width: 600px;
    width: 100%;
    height: 300px;
    background: #ffffff;
    display: inline-block;
    box-sizing: border-box;
    border: 4px dashed var(--MAIN-LIGHTER);
    cursor: pointer;
    margin-top: 100px;
    transition: all 0.2s ease-in-out;
    border-radius: 30px;
    position: relative;
    padding-top: 80px;
}

.divImportFile:hover{
    border: 4px dashed var(--MAIN);
    transform: scale(1.02);
}

.divImportFile i{
    font-size: 50px;
}

.divImportFile p{
    font-size: 18px;
    margin-top: 10px;
}

.pUploadSubtitle{
    font-size: 10px !important;
}

.divSupportedFormats{
    width: 100%;
    padding: 20px;
    text-align: right;
    position: absolute;
    bottom: 0px;
    right: 10px;
}

.divSupportedFormats p:last-of-type{
    font-weight: bold;
}


.divSupportedFormats p{
    font-size: 11px !important;
    padding: 0px;
    margin: 0px;
}

#divReportWrapper{
    width: 100%;
    min-height: 80vh;
}

.grid{
    background-image:
            repeating-linear-gradient(#f1f1f1 0 1px, transparent 1px 100%),
            repeating-linear-gradient(90deg, #f1f1f1 0 1px, transparent 1px 100%);
    background-size: 5% 9.1%;
    position: relative;
    box-shadow: inset 0 0 100px #ffffff;
}
.dropzone{
    width: 100%;
    height: 100%;
    border-radius: 30px;
    border: none !important;
    position: absolute;
    padding-top: 50px;
}

.dropzone .dz-preview.dz-file-preview .dz-image {
    background: #f1f1f1;
    padding: 50px;
}

.button{
    display: inline-block;
    border: none;
    background: var(--ACCENT);
    color: white;
    padding: 8px 15px 8px 15px;
    border-radius: 40px;
    font-weight: 600;
    transition: all 0.2s ease-in-out;
    cursor: pointer;
    text-decoration: none !important;
}

.button:hover{
    transform: scale(1.05);
}

.right{
    float: right;
}

#divImportWrapper{
    height: 100%;
    max-width: 100%;
    overflow: auto;
}

#tableImport .select2, .select2-selection{
    border: none !important;
    background: transparent !important;
    color: var(--MAIN) !important;
    text-align: left;
    width: 100% !important;
}

#tableImport .select2 .selection .select2-selection .select2-selection__rendered{
    color: var(--MAIN);
}

#tableImport .select2 .selection .select2-selection .select2-selection__rendered span:first-of-type{
    text-align: left;
}

#tableImport .select2 .selection .select2-selection .select2-selection__rendered span:last-of-type{
    float: right;
}

#tableImport thead tr th{
    min-width: 200px;
    border-right: 1px solid #f1f1f1;
    border-top: 1px solid #f1f1f1;
}

#tableImport thead tr th:first-of-type{
    border-left: 1px solid #f1f1f1;
}

#tableImport tr{
    height: 4vh;
}

#tableImport tr th, #tableImport tr td{
    text-align: left;
    padding: 5px;
}

#tableImport thead select{
    width: 100%;
}

#tableImport thead th{
    background: #ffffff;
    border-bottom: 2px solid var(--MAIN);
}

#tableImport thead input{
    width: 100%;
    border: 1px solid #dcdcdc;
    background: #ffffff;
    padding: 5px;
    margin-bottom: 5px;
    border-radius: 5px;
    color: black;
    padding-left: 10px;
    outline-color: var(--MAIN);
    font-weight: 600;
}


#tableImport tbody td{
    padding: 5px 10px 5px 10px;
}

.pLimitSize{
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 200px;
    margin: 0px;
}

#tableImport tbody tr td:hover{
    background: #dcdcdc;
}

.tdLastRow{
    background: var(--MAIN);
    color: white;
}

.tableImportHeaderInfo{
    width: 100%;
    margin-top: 10px;
    pointer-events: none;
}

.tableImportHeaderInfo tr td {
    padding: 0px !important;
    font-size: 12px;
}

.tableImportHeaderInfo tr td:last-of-type{
    text-align: right !important;
}

.tableImportHeaderInfo tr td:first-of-type{
    font-weight: 400;
    text-align: left;
}

#footer{
    position: fixed;
    bottom: 0px;
    left: 70px;
    background: rgba(241, 241, 241, 1);
    text-align: right;
    padding-right: 10px;
    width: calc(100% - 70px);
    height: 30px;
    padding-top: 3px;
    z-index: 999;
}

#footer p{
    color: var(--MAIN);
    font-weight: bold;
    display: inline-block;
}

#divSubToolbar{
    width: 100%;
    margin-bottom: 20px;
    border-bottom: 1px solid #f1f1f1;
    padding-bottom: 20px;
    position: relative;
}

.divButtonWrapper{
    position: absolute;
    bottom: 50px;
    right: 0px;
}

#divDialog {
    width: 280px;
    padding: 0px;
    padding-bottom: 10px;
    background: #ffffff;
    box-shadow: 0px 0px 10px #f1f1f1;
}

#divDialogWrapper{
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-self: flex-end;
}

#divDialogHistory{
    width: 100%;
    flex-grow: 1;
    flex-shrink: 1;
    padding: 30px;
    align-items: end;
    max-height: 90vh;
    overflow: auto;
}

#divDialogHistory::-webkit-scrollbar {
    display: none;
}

/* Hide scrollbar for IE, Edge and Firefox */
#divDialogHistory {
    -ms-overflow-style: none;  /* IE and Edge */
    scrollbar-width: none;  /* Firefox */
}

#divDialogInputWrapper{
    width: 100%;
    flex-shrink: 0;
    padding: 10px;
    position: relative;
    overflow: hidden;
}

#textDialog{
    width: 100%;
    min-height: 100px;
    max-height: 600px;
    resize: none;
    border: 1px solid #f1f1f1;
    border-radius: 15px;
    box-shadow: 0px 10px 10px #f1f1f1;
    padding: 20px 15px 50px 15px;
    box-sizing: border-box;
    font-family: "Open Sans";
    color: var(--MAIN-DARKER);
    overflow-y: hidden;
    transition: all 0.1s ease-out;
    outline-color: var(--SECOND);
    background: rgb(255, 255, 255, 0.5);
}

#btnSentDialog{
    width: 30px;
    height: 30px;
    border-radius: 15px;
    color: white;
    background: var(--SECOND);
    border: none;
    position: absolute;
    bottom: 25px;
    right: 20px;
}

#divInfiniteLoadingWrapper{
    position: absolute;
    width: 100%;
    left: 0px;
    top: 0px;
    text-align: center;
}

.divDialogMessage{
    max-width: 100%;
    display: inline-block;
    padding: 15px 20px 10px 20px;
    border-radius: 30px 30px 30px 5px;
    box-sizing: border-box;
    color: var(--MAIN);
    margin-bottom: 10px;
    clear: both;
    transition: all 1s ease;
    animation: message .2s ease 0s forwards;
}

@keyframes message {
    0% {
        max-height: 100vmax;
    }
    80% {
        transform: scale(1.05);
    }
    100% {
        transform: scale(1);
        max-height: 100vmax;
        overflow: visible;
        padding-top: 1rem;
    }
}

.dialogIn{
    border-radius: 30px 30px 30px 5px;
    background: rgba(43, 0, 45, 0.1);
    float: left;
    font-weight: 500;
    font-size: 13px;
}

.dialogOut{
    border-radius: 30px 30px 5px 30px;
    background: rgba(250, 175, 25, 0.1);
    float: right;
}

.dialogIn p{
    background: -webkit-linear-gradient(#1a001b, #4e2b50);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-size: 13px;
}

.dialogIn a{
    color: var(--MAIN);
}

.dialogOut p{
    background: -webkit-linear-gradient(#322305, #96690f);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-size: 13px;
}

.dialogOut a{
    color: var(--GREEN);
}

.divDialogMessageLoading p, .divDialogMessageLoading .divDialogMessageOptions{
    display: none;
}

.imgLoadDialog{
    height: 20px;
    margin: 0px;
    padding: 0px;
    margin-top: -8px;
}

.divDialogMessageOptions{
    width: 100%;
    margin-top: 5px;
    display: none;
}

#divDialogHistory .divDialogMessage:last-of-type .divDialogMessageOptions{
    display: block;
}

.divDialogMessageOptions a{
    padding: 5px 10px 5px 10px;
    font-size: 13px;
    font-weight: 600;
    text-align: center;
    background: rgba(255, 255, 255, 0.7);
    border-radius: 30px;
    height: 30px;
    text-decoration: none;
    cursor: pointer;
    display: inline-block;
    margin-bottom: 8px;
    margin: 2px;
}

.divDialogMessageOptionsMultiple div{
    padding: 5px 10px 5px 10px;
    font-size: 13px;
    font-weight: 600;
    text-align: center;
    background: rgba(255, 255, 255, 0.7);
    border-radius: 30px;
    height: 30px;
    text-decoration: none;
    cursor: pointer;
    display: inline-block;
    margin-bottom: 8px;
    margin: 2px;
    width: 100%;
    padding-right: 20px;
    box-sizing: border-box;
}

.divDialogMessageOptionsMultiple div i{
    display: inline-block;
    margin: 0px;
    padding: 0px;
    float: left;
    margin-top: 3px;
}

.divDialogMessageOptionsMultiple div p{
    text-align: right;
    display: inline-block;
}

.divDialogMessageOptions a:hover{
    background: rgba(255, 255, 255, 0.9);
    transform: scale(1.05);
}

.divDialogMessageOptions div:hover{
    background: rgba(255, 255, 255, 0.9);
    transform: scale(1.05);
}

.aSentMultiple{
    float: right;
    background: var(--MAIN) !important;
    color: white !important;
    margin-top: 10px !important;
}

#iDialogHandle{
    position: absolute;
    right: -18px;
    top: calc(50% - 101px);
    font-size: 18px;
    color: #dcdcdc;
    cursor: pointer;
    padding: 10px;
    display: block;
    z-index: 999;
}

.rotate180{
    transform: rotate(180deg);
}

#tableImport hr{
    margin: 10px;
    border-top: 1px solid #dcdcdc;
}

#divFlowWrapper{
    width: 200px;
}

#divFlowPanel{
    padding: 10px;
}

#divDynamicFlowItemWrapper .divFlowItem:nth-of-type(even){
    background: #f1f1f1;
}

#divDynamicFlowItemWrapper .divFlowItem:nth-of-type(even) .iFlowItem{
    color: #f1f1f1;
}

.divFlowItem{
    display: block;
    width: 100%;
    padding: 10px;
    border-top: none;
    position: relative;
    font-size: 12px;
    font-weight: 500;
    background: rgb(255,255,255);
    /*background: linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 50%, rgba(255,255,255,1) 100%);*/
    color: var(--MAIN);
}

.iFlowItem{
    display: block;
    font-size: 12px;
    z-index: 9999;
    position: absolute;
    color: white;
    transform: rotate(180deg);
    right: 5px;
    bottom: -10px;
}

.divFlowItem:hover{
    background: var(--MAIN-EXTRA-LIGHTER);
}

.divFlowItem:hover .iFlowItem{
    color: var(--MAIN-EXTRA-LIGHTER);
}

.divFlowItem p{
    margin: 0px;
}

#divFlowItemResult{
    background: var(--MAIN);
    color: white;
    font-weight: bold;
    border-radius: 0px 0px 5px 5px;
}

#divFlowItemResult .iFlowItem{
    color: var(--MAIN);
    transform: rotate(90deg);
    right: -10px;
    bottom: 5px;
}

#divFlowItemDataset{
    background: #f1f1f1;
    color: var(--MAIN);
    font-weight: bold;
    border-radius: 5px 5px 0px 0px;
}

#divFlowItemDataset .iFlowItem{
    color: #f1f1f1;
}

.visualize i{
    color: rgba(34, 192, 241, 0.1);
}

/*.divFlowItem::after{*/
/*    content: ' ';*/
/*    right: 10px;*/
/*    bottom: -15px;*/
/*    position: absolute;*/
/*    width: 0;*/
/*    height: 0;*/
/*    border-left: 10px solid transparent;*/
/*    border-right: 10px solid transparent;*/
/*    border-top: 15px solid #fff7e8;*/
/*    z-index: 9;*/
/*    text-shadow: -1px 0 black, 0 1px black, 1px 0 black, 0 -1px black;*/
/*}*/


#tableImport tr td:nth-of-type(even), #tableImport thead tr th:nth-of-type(even){
    background: rgba(241, 241, 241, 0.6);
}

.divImportHeaderGroup{
    /*background: rgba(241, 241, 241, 0.6);*/
    padding: 10px;
}

/*.divImportHeaderGroupOk{*/
/*    background: #e0eee9;*/
/*}*/

/*.divImportHeaderGroupNotOk{*/
/*    background: #fce0da;*/
/*}*/

.tableImportHeaderInfo tr{
    background: transparent !important;
    display: none;
}

#divVersion{
    display: inline-block;
    font-size: 10px;
}

#divVersion p{
    font-weight: 500;
    font-style: italic;
    color: #484848;
}

#divLoginBackground{
    width: 50%;
    height: 100%;
    position: fixed;
    background-color: var(--MAIN);
    background-image: url('/images/fbg.svg');
    /*background-color: white;*/
    /*background-image: url("/images/gblur.png");*/
    background-size: cover;
    top: 0px;
    left: 0px;
}

#divLoginBackground canvas{
    width: 100% !important;
    height: 100% !important;
}

#divLoginWrapper{
    width: 50%;
    min-width: 600px;
    height: 100%;
    background: rgba(255,255,255,0.7);
    position: fixed;
    right: 0px;
    text-align: center;
    padding: 100px;
    box-sizing: border-box;
    backdrop-filter: blur(13px);
    -webkit-backdrop-filter: blur(13px);
    background-blend-mode: overlay;
}

#divLoginContent{
    margin: auto;
    display: inline-block;
    margin-top: calc(50vh - 300px);
}

#imgLoginLogo{
    height: 100px;
    margin-right: 100px;
    margin-bottom: 20px;
}

#divLoginFormWrapper{
    margin: auto;
    margin-top: 30px;
    width: 350px;
}

.divFormInputWrapper input{
    width: 100%;
    height: 40px;
    border: none;
    box-shadow: rgba(99, 99, 99, 0.15) 0px 0px 7px 0px;
    border-radius: 20px;
    outline-color: var(--ACCENT);
    padding-left: 20px;
    padding-right: 20px;
}

.divFormInputWrapper p{
    margin: 0px;
    margin: 0px;
    text-align: left;
    margin-left: 10px;
    margin-bottom: 5px;
    font-weight: bold;
    color: var(--MAIN);
}

.divFormInputWrapper{
    margin-bottom: 20px;
}

/*#divLoader{*/
/*    position: fixed;*/
/*    width: 54px;*/
/*    height: 54px;*/
/*    z-index: 99999999;*/
/*    background: rgb(255,255,255,1);*/
/*    border: 2px solid #f1f1f1;*/
/*    border-radius: 26px;*/
/*    left: calc(50% - 25px);*/
/*    top: calc(50% - 25px);*/
/*    box-shadow: 0px 0px 50px white;*/
/*    display: none;*/
/*}*/

/*#divLoader img{*/
/*    width: 30px;*/
/*    height: 30px;*/
/*    margin-left: 8px;*/
/*    margin-top: 10px;*/
/*}*/

#divLoader{
   display: inline-block;
    margin-right: 20px;
}

#btnLogin, #btnForgotPassword, #btnResetPassword {
    float: right;
    width: 40%;
    background: var(--ACCENT);
}

#aForgotPassword, #aBackToLogin {
    float: left;
    color: var(--MAIN);
    margin-top: 10px;
}

.sn-notifications-container {
    /* colors */
    --sn-success-color: var(--GREEN) !important;
    --sn-success-progress-color: rgb(84, 170, 120);
    --sn-error-color: var(--ACCENT) !important;;
    --sn-error-progress-color: rgb(192, 69, 69);
    --sn-warning-color: var(--SECOND) !important;
    --sn-warning-progress-color: rgb(196, 166, 79);
    --sn-info-color: var(--LINK) !important;
    --sn-info-progress-color: rgb(84, 169, 196);

    /* container */
    --sn-notifications-gap: 20px; /* controlled by js */
    --sn-notifications-padding: 20px; /* controlled by js */

    /* notify */
    --sn-notify-width: 320px;
    --sn-notify-radius: 6px;
    --sn-notify-transition-timing-function: ease;
    --sn-notify-transition-duration: 500ms; /* controlled by js */
    --sn-notify-autoclose-timeout: 30000ms; /* controlled by js */
    --sn-notify-padding: 0.75em;
    --sn-notify-icon-size: 2em;
    --sn-notify-close-icon-size: 1em;
    --sn-notify-border-size: 1px;
    --sn-notify-border-color: transparent;
    --sn-notify-border-style: solid;
    --sn-notify-progress-color: rgb(51, 51, 51);
    --sn-notify-close-icon-color: rgb(51, 51, 51);
    --sn-notify-title-color: #ffffff !important;
    --sn-notify-text-color: #ffffff !important;
    --sn-notify-shadow-color: transparent;
    --sn-notify-progress-height: 5px;
}

.sn-notify-title, .sn-notify-text, .sn-notify-icon{
    color: #ffffff !important;
}

#divUserSubMenu{
    padding: 20px;
    width: 200px;
    background: #ffffff;
    border: 1px solid #dcdcdc;
    position: absolute;
    left: 25px;
    bottom: 25px;
    border-radius: 20px 20px 20px 3px;
    text-align: left;
    display: none;
}

#divUserSubMenu a{
    display: block;
    width: 100%;
    font-size: 14px;
    color: var(--MAIN);
    text-align: left;
    position: relative;
}

#divUserSubMenu a i{
    display: inline-block;
    color: var(--MAIN);
    font-size: 14px;
    width: 30px;
    position: absolute;
    right: -14px;
    bottom: 5px;
}

#pEmail{
    font-size: 13px;
    font-weight: bold;
    color: var(--MAIN);
}

.divAvatarHolder:hover #divUserSubMenu{
    display: block;
}

.divSidePanel{
    padding: 20px;
    border-right: 2px solid #dcdcdc;
}

.divSidePanel h2{
    font-weight: 600;
    color: var(--MAIN-LIGHTER);
    font-size: 14px;
    margin-top: 10px;
    border-left: 2px solid var(--MAIN);
    padding-left: 5px;
}

.ulSidePanelOption{
    margin: 0px;
    padding: 0px;
    margin-top: 20px;
    width: calc(100% + 65px);
}

.ulSidePanelOption li{
    list-style-type: none;
    color: var(--MAIN);
    display: block;
    font-size: 14px;
    padding: 5px;
    padding-left: 15px;
    border-radius: 5px 0px 0px 5px;
}

.ulSidePanelOption li:hover{
    background: var(--SELECTED);
}

.ulSidePanelOption .active{
    background: var(--SELECTED);
}

.ulSidePanelOption li i{
    font-size: 17px;
    width: 30px;
    margin-top: 5px;
}

.ulSidePanelOption a{
    display: block;
    text-decoration: none;
}

.tableItems{
    width: 100%;
}

.tableItems tbody tr:nth-of-type(even){
    background: #fcfcfc;
}

.tableItems tbody tr:hover{
    background: #f1f1f1;
}

.tableItems tbody tr:hover .divTableActionsWrapper{
    opacity: 1;
}

.tableItems tr td{
    text-align: left;
    border-bottom: 1px solid #f1f1f1;
    padding: 10px;
}

.tableItems thead td{
    font-weight: bold;
    color: var(--MAIN);
}

.tableItems thead td a{
    color: var(--MAIN);
}

.trTableActions td{
    text-align: right;
}

.divTableSearchWrapper{
    float: right;
    position: relative;
}

.divTableAddWrapper{
    float: left;
    position: relative;
}

.divTableSearchWrapper input{
    float: right;
    border: none;
    height: 40px;
    font-weight: normal;
    padding-left: 10px;
    padding-right: 10px;
    border-radius: 20px;
    background: #f1f1f1;
    width: 200px;
    color: black;
}

.divTableSearchWrapper button{
    position: absolute;
    right: 0px;
    width: 40px;
    height: 40px;
    border-radius: 20px;
    border: none;
    background: var(--SECOND);
    color: #ffffff;
}

.trTableActions td{
    padding: 0px !important;
    border: none !important;
    height: 60px;
}

.add{
    background: var(--GREEN);
    color: #ffffff !important;
}

.divTableActionsWrapper{
    text-align: right;
    opacity: 0;
}

.divTableActionsWrapper a{
    color: var(--MAIN);
    margin-left: 2px;
    background: white;
    display: inline-block;
    width: 26px;
    height: 26px;
    text-align: center;
    border-radius: 13px;
    padding-top: 2px;
    box-sizing: border-box;
    transition: all 0.1s ease-in-out;
}

.divTableActionsWrapper a:hover{
    transform: scale(1.2);
}

.divTableActionsWrapper i{
    font-size: 14px;
}

.destructive{
    color: var(--ACCENT) !important;
}

.pTableTotal{
    float: left;
    padding-top: 10px;
    font-weight: 600;
}

.divTablePaginationHolder{
    float: right;
    margin: 0px;
    padding: 0px;
}

.pagination{
    margin: 0px;
}

.pagination .active span{
    background: var(--SECOND);
    border-color: var(--SECOND);
}

.pagination .active:hover span{
    background: var(--SECOND);
    border-color: var(--SECOND);
}


.pagination li a{
    color: var(--MAIN)
}

.pagination li:hover a{
    color: var(--MAIN)
}

#aBackButton{
    color: var(--SECOND);
    font-weight: 600;
}

.divContentFormWrapper{
    max-width: 700px;
    margin-top: 50px;
    box-shadow: 0px 0px 10px #f1f1f1;
    padding: 50px;
}

.divContentFormWrapper .divFormCategoryWrapper:nth-of-type(even){

}

.divFormCategoryWrapper{
    padding: 0px;
}

.divFormCategoryFieldsWrapper{
    box-sizing: border-box;
    padding-top: 10px;
}

.divFormItemWrapper{
    margin-bottom: 10px;
}

.divFormItemWrapper label{
    color: var(--MAIN-DARKER);
}

.form input, .form select{
    border: 1px solid #f1f1f1;
    height: 40px;
    width: calc(100% + 15px);
    margin-left: -15px;
    border-radius: 20px;
    padding-left: 15px;
    padding-right: 15px;
    box-sizing: border-box;
    color: black;
}

#btnSave{
    background: var(--GREEN);
    color: white;
    float: right;
}

.pFormCategory{
    color: #dcdcdc;
    font-weight: 600;
    font-size: 13px;
    text-transform: uppercase;
    display: inline-block;
    margin: 0px;
}


.aSimpleLink{
    color: #636b6f;
    text-decoration: none;
}

.aSimpleLink:hover{
    text-decoration: underline;
    color: #636b6f;
}

#divImportMethodWrapper{
    margin-top: 100px;
}

#divBreadcrumbs{
    margin-top: 5px;
    float: right;
}

#divBreadcrumbs p, #divBreadcrumbs a{
    display: inline-block;
    color: var(--MAIN);
    text-decoration: none;
    font-weight: 500;
}

#divBreadcrumbs p:last-of-type{
    font-weight: bold;
}

#pCurrentProject{
    background: rgba(220, 213, 220, 0.39);
    padding: 0px;
    padding: 0px 5px 0px 5px;
    border-radius: 4px;
}

.divImportMethod{
    background: #ffffff;
    width: 400px;
    height: 400px;
    margin: 20px;
    padding: 0px;
    display: inline-block;
    box-shadow: 0px 0px 10px #f1f1f1;
    border: 1px solid #f1f1f1;
    border-radius: 30px;
    padding: 50px;
    box-sizing: border-box;
    transition: all 0.2s ease-in-out;
    position: relative;
    overflow: hidden;
}

.divImportMethod:hover{
    transform: scale(1.02);
    box-shadow: 0px 0px 10px #dcdcdc;
}

.divImportMethod p{
    color: var(--MAIN);
}

.divImportMethod p:first-of-type{
    font-size: 20px;
    font-weight: bold;
}

.divImportMethod i{
    font-size: 200px;
    color: var(--MAIN);
    position: absolute;
    left: -10px;
    bottom: -10px;
    opacity: 0.03;
}

#divContentHolder h1{
    float: left;
}

.divImportMethod hr{
    width: 30px;
    border: 1px solid var(--SECOND);
}

.tableData{
    max-width: 100%;
    width: 100%;
    text-align: left;
    border-collapse: separate;
    border-spacing: 0;
    box-shadow: 0px 0px 10px #f1f1f1;
}

.tableData thead th{
    min-width: 250px;
}

.tableData thead{
    background: rgba(241, 241, 241, 1.0);
    color: var(--MAIN);
}

.tableData thead tr th{
    padding: 10px 10px 10px 10px;
    white-space: nowrap;
    position: sticky;
    top: 0px;
    /*background: rgba(241, 241, 241, 1.0);*/
    background: white;
    border-bottom: 2px solid var(--MAIN);
    vertical-align: top;
}

.tableData thead tr th hr{
    border-color: #f1f1f1;
}

.tableData tbody tr td{
    padding: 5px 10px 5px 10px;
    white-space: nowrap;
}

.tableData tbody tr:hover{
    background: rgba(43, 0, 45, 0.1) !important;
}

.tableData tbody tr td:hover{
    box-shadow: inset 0 0 0 2px var(--MAIN);
}

.tdNumber{
    text-align: right;
}

.tableData tbody tr:nth-of-type(even){
    background: rgba(241, 241, 241, 0.6);
}

.tableData tbody tr td{
    border-left: 1px solid #f1f1f1;
}

.tableData .tableImportHeaderInfo tr td{
    border: none;
    color: #636363;
    height: 20px !important;
}

.divTableWrapper{
    width: 100%;
    overflow-x: auto;
    position: relative;
}

.divTableWrapper::-webkit-scrollbar, .doubleScroll-scroll-wrapper::-webkit-scrollbar{
    width: 10px !important;
    height: 10px !important;
}

.divTableWrapper::-webkit-scrollbar-thumb, .doubleScroll-scroll-wrapper::-webkit-scrollbar-thumb{
    background: #dcdcdc;
    border-radius: 5px;
}

.divTableWrapper::-webkit-scrollbar-track, .doubleScroll-scroll-wrapper::-webkit-scrollbar-track{
    background: #f1f1f1;
}

.divTableWrapperHideScroll{
    overflow: auto;
}

.divTableWrapperInsets{
    position: absolute;
    width: 100%;
    height: 100%;
    top: 5px;
    left: 0px;
    z-index: -1;
    /*box-shadow: 0px 0px 50px #f1f1f1;*/
    /*border: 1px solid #f1f1f1;*/
}

.tableData thead tr th i{
   margin-left: -10px;
    color: var(--MAIN-LIGHTER);
}

.tableData thead tr th a{
    float: left;
    margin-right: 20px;
    color: var(--MAIN);
    width: calc(100% - 20px);
    text-align: left;
}

#tableColumnFilter tr td:first-of-type{
    width: 20px;
}

input[type="checkbox"] {
    accent-color: var(--GREEN);
}

.divTableDataPaginationWrapper{
    float: right;
}

.selectPagination{
    border: 1px solid #f1f1f1;
    height: 38px;
    background: #ffffff;
    box-shadow: 0px 0px 10px #f1f1f1;
}

#divRightSidePanelOverlay{
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0px;
    left: 0px;
    z-index: 99;
    background: rgba(0,0,0,0.5);
}

#divRightSidePanel{
    position: fixed !important;
    height: 100%;
    top: 0px;
    right: 0px !important;
    background: #ffffff;
    z-index: 999;
    padding: 50px;
    padding-top: 100px;
    text-align: left;
    min-width: 500px;
}

#iCloseRightSidePanel{
    width: 35px;
    height: 35px;
    border-radius: 18px;
    text-align: center;
    padding-top: 11px;
    font-weight: bold;
    box-sizing: border-box;
    background: var(--MAIN-LIGHTER);
    position: absolute;
    top: 50px;
    left: -18px;
    color: var(--MAIN);
    cursor: pointer;
}

#iCloseRightSidePanel:hover{
    transform: scale(1.05);
}

#divResizeRightSidePanel{
    width: 25px;
    height: 25px;
    border-radius: 13px;
    text-align: center;
    font-weight: bold;
    box-sizing: border-box;
    background: #f1f1f1;
    position: absolute;
    top: calc(50% - 18px);
    left: -13px;
    color: var(--MAIN);
    cursor: pointer;
    font-size: 12px;
    padding-top: 3px;
}

.pTitle{
    font-size: 18px;
    font-weight: 600;
    color: var(--MAIN);
}

.swal2-cancel{
    background-color: var(--MAIN-EXTRA-LIGHTER) !important;
}
div.swal2-container button.swal2-styled.swal2-cancel:focus-visible {
    box-shadow: 0 0 0 3px var(--MAIN-EXTRA-LIGHTER-TRANSPARANT) !important;
}

.swal2-deny{
    background-color: var(--MAIN-EXTRA-LIGHTER) !important;
}
div.swal2-container button.swal2-styled.swal2-deny:focus-visible {
    box-shadow: 0 0 0 3px var(--MAIN-EXTRA-LIGHTER-TRANSPARANT) !important;
}

.swal2-confirm{
    background-color: var(--ACCENT) !important;
}
div.swal2-container button.swal2-styled.swal2-confirm:focus-visible {
    box-shadow: 0 0 0 3px var(--ACCENT-TRANSPARANT) !important;
}

.swal2-icon{
    color: var(--MAIN) !important;
    border-color: var(--MAIN) !important;
}

.swal2-title{
    color: var(--MAIN-DARKER) !important;
}

.ulErrors{
    list-style-type: none;
    margin: 0px;
    padding: 0px;
}

.liError{
    list-style-type: circle;
    margin: 0px;
    color: var(--ACCENT);
    font-size: 13px;
    font-weight: 600;
    padding: 10px;
    border-radius: 30px;
}

.has-error{
    background: rgba(235, 70, 34, 0.1);
}

.pInputError{
    color: var(--ACCENT);

    padding-top: 5px;
}

@-webkit-keyframes glow {
    to {
        border-color: var(--ACCENT);
        -webkit-box-shadow: 0 0 10px  var(--ACCENT);
        -moz-box-shadow: 0 0 10px var(--ACCENT);
        box-shadow: 0 0 10px var(--ACCENT);
    }
}

.myGlower {
    border: 1px solid transparent;
    -webkit-animation: glow 1.0s infinite alternate;
    -webkit-transition: border 1.0s linear, box-shadow 1.0s linear;
    -moz-transition: border 1.0s linear, box-shadow 1.0s linear;
    transition: border 1.0s linear, box-shadow 1.0s linear;
}

#divStatus{
    display: inline-block;
    margin-right: 10px;
}

.divStatusWrapper i{
    font-size: 10px;
    margin: 0px;
}

#divStatus{
    float: left;
    margin-left: 10px;
}

.divStatusWrapper{
    float: left;
    height: 16px;
    margin: 0px;
    margin-right: 3px;
}

.loadOk{
    color: var(--GREEN);
}

.loadSlow{
    color: var(--SECOND);
}

.loadNotOk{
    color: var(--ACCENT);
}

.tableSettings{
    max-width: 100%;
    margin-top: 20px;
}

.tableSettings tr:nth-of-type(even){
    background: #fafafa;
}

.tableSettings tr td{
    padding: 10px;
}

.tableSettings tr{
    border-bottom: 1px solid #f1f1f1;
}

.tableSettings tr td:first-of-type{
    min-width: 300px;
    font-weight: 600;
}

.tableSettings input, .tableSettings select{
    border: none;
    background: transparent;
    height: 40px;
}

#textCopyPaste{
    width: 100%;
    height: 80vh;
    border: 1px solid #dcdcdc;
    border-radius: 30px;
    resize: none;
    padding: 30px;
    box-sizing: border-box;
}

.inputSA{
    width: 250px;
    height: 40px;
    border: none;
    background: #ffffff;
    box-shadow: 0px 0px 10px #f1f1f1;
    border: 1px solid #f1f1f1;
    padding-left: 10px;
    padding-right: 10px;
}

.inputDestructive{
    color: var(--ACCENT);
    font-weight: 600;
}

.tabulator{
    font-size: 95% !important;
    font-family: "Open Sans" !important;
}

.tabulator-headers .tabulator-col-content{
    background: rgba(241, 241, 241, 1.0);;
    color: var(--MAIN);
}

.tabulator-row-even{
    background: rgba(241, 241, 241, 0.6) !important;
}

.tabulator-row{
    border-bottom: none !important;
    min-height: 30px !important;
}

.tabulator-cell{
    padding-top: 10px !important;
    border-left: 1px solid #f1f1f1;
}

.tabulator-row .tabulator-cell:last-of-type{
    border-right: 1px solid #f1f1f1;
}

.tabulator-row-handle{
    padding: 10px !important;
}

.tabulator-row-handle-box .tabulator-row-handle-bar{
    background: #f1f1f1 !important;
}

.tabulator-row.tabulator-selected {
    background-color: var(--MAIN-EXTRA-LIGHTER) !important;
    color: var(--MAIN) !important;
}

.tabulator-col-title i{
    font-size: 12px;
    margin-right: 5px;
}

.tabulator-col-title .select2{
    width: 100% !important;
    margin-left: 0px;
    font-weight: normal;
}

.tabulator-cell .select2 .select2-selection span{
    font-weight: normal;
}

.tabulator-cell .select2-selection__arrow{
    display: none !important;
}

.trProject .select2{
    width: 100% !important;
    color: #dcdcdc !important;
    font-weight: 500 !important;
    font-size: 12px !important;
}

.trProject .select2 i{
    color: var(--MAIN) !important;
    margin-left: -7px;
}

.trProject .select2 .select2-selection__arrow{
    display: none;
}

.trProject hr{
    margin-top: 5px;
    margin-bottom: 5px;
    border: 0;
    border-top: 1px solid #dcdcdc;
}

#divGenerate{
    border-radius: 30px 30px 0px 30px;box-sizing: border-box;
    color: var(--MAIN);
    font-weight: 500;
    margin: auto;
}

#divGenerate img{
    margin-bottom: 15px;
    margin-top: 5px;
}

#divGenerate p{
    margin: 0px;
    padding: 0px;
}

#divGenerate p:last-of-type{
    font-weight: normal;
    font-size: 11px;
}

.columnSelected{
    background: var(--MAIN-EXTRA-LIGHTER) !important;
    color: white !important;
}

.columnSelected .column-info{
    color: var(--MAIN) !important;
    background: transparent !important;
    border: none;
}

.cellSelected{
    background: var(--MAIN-EXTRA-LIGHTER) !important;
    color: var(--MAIN) !important;
    box-shadow: inset 0 0 0 2px var(--MAIN);
    font-weight: bold;
}

.level-column-select, .level-column-select-text, .level-column-select-number{
    display: none;
}

.aBack{
    float: left;
    width: 100%;
    color: var(--ACCENT);
    text-decoration: none;
    margin-bottom: 5px;
}

#tableClassify{
    width: 100%;
    height: calc(100% - 200px);
}

#tableClassify .tdClassify{
    width: 33.33%;
    height: 100%;
    border-right: 1px solid #f1f1f1;
    vertical-align: top;
    padding: 0px 20px 0px 20px;
    box-sizing: border-box;
}

#tableClassify .tdClassify:first-of-type{
    padding-left: 0px;
}

#tableClassify .tdClassify:last-of-type{
    border-right: none;
    padding-right: 0px;
}

#tableClassify th{
    color: var(--MAIN);
}

.pClassifyRowTitle{
    font-weight: bold;
    font-size: 15px;
}

.tableClassify{
    width: 100%;
}

.tableClassify tr td{
    padding: 5px;
    height: 35px !important;
}

.tableClassify tbody tr:nth-of-type(odd){
    background: rgba(241, 241, 241, 0.6);
}

.divClassifierEmptyResults{
    text-align: center;
    position: relative;
    font-size: 13px;
    font-weight: 500;
    color: var(--MAIN-EXTRA-LIGHTER);
    margin-top: 100px;
}

.divClassifierEmptyResults p{
    margin-top: 5px;
}

#divSubToolbarRightContent{
    float: right;
    margin-top: 10px;
}

#divButtonToolBar table tr td{
    text-align: center;
    border-left: 1px solid #dcdcdc;
    padding: 10px;
    box-sizing: border-box;
    min-width: 70px;
    font-size: 13px;
    color: var(--MAIN);
}

#divButtonToolBar table tr td p{
    margin: 0px;
}


#divButtonToolBar table tr td:first-of-type{
    border: none;
}

#divButtonToolBar a{
    color: var(--MAIN);
    text-decoration: none;
}

#divButtonToolBar a:hover{
    color: var(--ACCENT);
    text-decoration: none;
}

#divButtonToolBar td:hover:not(#sparkline){
    transform: scale(1.08);
}



.tdClassifierCategory{
    cursor: pointer;
}

.tableClassify tr:hover td{
    background: var(--MAIN-EXTRA-LIGHTER);
}

.tdClassify{
    position: relative;
}

.divClassifyBorder{
    height: 5px;
    width: calc(100% + 1px);
    position: absolute;
    top: -20px;
    left: 0px;
}

#tableClassify tr .tdClassify:nth-of-type(1) .divClassifyBorder{
    background: var(--MAIN);
    background: linear-gradient(90deg, var(--MAIN) 0%, var(--MAIN) 90%, var(--ACCENT) 100%);
}

#tableClassify tr .tdClassify:nth-of-type(2) .divClassifyBorder{
    background: var(--ACCENT);
    background: linear-gradient(90deg, var(--ACCENT) 0%, var(--ACCENT) 90%, var(--GREEN) 100%);
}


#tableClassify tr .tdClassify:nth-of-type(3) .divClassifyBorder{
    background: var(--GREEN);
}

.slider{
    width: 100%;
    accent-color: var(--MAIN);
}

#divUIToolsWrapper{
    float: right;
    display: flex;
    gap: 3px;
    margin-right: 10px;
}

#divUIToolsWrapper div{
    float: left;
    width: 22px;
    height: 22px;
    border-radius: 11px;
    margin-top: 4px;
    background: #dcdcdc;
    position: relative;
}

#divUIToolsWrapper div img{
    height: 15px;
    margin-top: 0px;
    position: absolute;
    top: 3px;
    left: 4px;
}

.tdClassifyActions{
    text-align: right;
    opacity: 0.05;
    cursor: pointer;
    height: 35px !important;
    padding: 0px !important;
    width: 40px;
}

.tableClassify tr:hover .tdClassifyActions{
    opacity: 1;
}

.tdClassifyActions i{
    font-size: 13px;
    margin-left: 5px;
}

.tdClassifyActions i:hover{
    transform: scale(1.2);
}

.tableClassify tr td:first-of-type{
    /*width: calc(100% - 20px);*/

}

.trClassifierWord{
    cursor: move;
}

.ui-droppable-hover{
    background: var(--MAIN);
    color: white;
}

.ui-draggable-dragging{
    background: #f1f1f1;
}

.pClassifierStatus{
    display: inline-block;
    padding: 5px;
    border-radius: 3px;
    font-weight: 600;
    font-size: 10px;
}

.pClassifierStatusNew{
    background: rgba(43, 0, 45, 0.2);
    color: #2b002d;
}

.pClassifierStatusQueued{
    background: rgba(235, 70, 34, 0.07);
    color: #eb4622;
}

.pClassifierStatusGenerating{
    background: rgba(43, 0, 45, 0.2);
    color: #2b002d;
}

.pClassifierStatusDone{
    background: rgba(71, 150, 121, 0.2);
    color: #479679;
}

.pClassifierStatusFailed{
    background: rgba(235, 70, 34, 0.2);
    color: #eb4622;
}

.pClassifierStatusUnsaved{
    background: rgba(235, 70, 34, 0.2);
    color: #eb4622;
}

.pClassifierStatusSaving{
    background: rgba(43, 0, 45, 0.2);
    color: #2b002d;
}

#iAddClassifierCategory{
    float: right;
    padding-top: 5px;
    color: var(--MAIN);
    cursor: pointer;
}

#iAddClassifierCategory:hover{
    transform: scale(1.2);
}

.tdGenerate{
    cursor: pointer;
}

.sn-notifications-container{
    z-index: 9999999999 !important;
}

#divProcessingWrapper{
    margin: auto;
    padding: 50px;
    display: inline-block;
    width: 400px;
    height: 400px;
    margin-top: calc(50vh - 400px);
    padding-top: 120px;
    box-sizing: border-box;
    position: relative;
}

#pProcessingTitle{
    margin: 0px;
    padding: 0px;
    font-weight: bold;
    font-size: 17px;
    color: var(--MAIN);
}

#pProcessingDescription{
    margin: 0px;
    padding: 0px;
    font-weight: normal;
    margin-top: 5px;
    color: var(--MAIN);
    margin-bottom: 20px;
}

.gradientBackground{
    background: url("/images/fbg_light.svg");
    background-size: cover;
}

#svgProgress{
    position: absolute;
    right: 0px;
    top: 0px;
    --size: 400px;
    --half-size: calc(var(--size) / 2);
    --stroke-width: 10px;
    --radius: calc((var(--size) - var(--stroke-width)) / 2);
    --circumference: calc(var(--radius) * pi * 2);
    --dash: calc((var(--progress) * var(--circumference)) / 100);
}

#svgProgress circle {
    cx: var(--half-size);
    cy: var(--half-size);
    r: var(--radius);
    stroke-width: var(--stroke-width);
    fill: none;
    stroke-linecap: round;
}

#svgProgress circle.bg {
    stroke: #ddd;
}

#svgProgress circle.fg {
    transform: rotate(-90deg);
    transform-origin: var(--half-size) var(--half-size);
    stroke-dasharray: var(--dash) calc(var(--circumference) - var(--dash));
    transition: stroke-dasharray 0.3s linear 0s;
    stroke: var(--MAIN);
}

.divToggleSideBarWrapper{
    width: 24px;
    height: 24px;
    position: absolute;
    background: #dcdcdc;
    border-radius: 12px;
    position: absolute;
    right: 5px;
    top: 5px;
    text-align: center;
    z-index: 999;
    cursor: pointer;
}

.divToggleSideBarWrapper:hover{
    transform: scale(1.1);
}

.divToggleSideBarWrapper i {
    font-size: 10px;
    color: #a9a9a9;
}

.divIconGraph{
    width: 100px;
    margin: 50px;
}

.divIconGraph i{
    font-size: 150px !important;
    position: absolute;
}

.iIconGraphBackground{
    color: #dcdcdc;
}

.iIconGraphOverlay{
    background: linear-gradient(0deg, var(--color) 0%, var(--color) var(--progress), rgba(0,0,0,0) var(--progress), rgba(0,0,0,0) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.panelFolded{
    width: 35px !important;
    background: var(--MAIN-EXTRA-LIGHTER) !important;
    opacity: 0.4;
    position: relative;
}

.panelFolded *{
    display: none;
}

.panelFolded .divToggleSideBarWrapper{
    display: block;
    background: white;
}

.panelFolded .divToggleSideBarWrapper i{
    display: inline-block;
}

.pSidePanelTitle{
    display: none;
}

.panelFolded .pSidePanelTitle{
    display: inline-block;
    position: absolute;
    writing-mode: vertical-lr;
    top: 38px;
    left: 8px;
    margin: 0px;
    padding: 0px;
    font-size: 12px;
    font-weight: bold;
    height: 12px;
    color: #928793;
}

#divReleasesWrapper{
    width: 100%;
    float: left;
    margin-top: 20px;
}

#divReleases{
    box-shadow: 0px 0px 10px #f1f1f1;
    border: 1px solid var(--MAIN-EXTRA-LIGHTER);
    width: 250px;
    padding: 50px;
    box-sizing: border-box;
    border-radius: 30px;
    float: left;
    position: sticky;
    top: 70px;
}

.aRelease{
    display: block;
    width: 100%;
}

#divReleasesContentWrapper{
    width: calc(100% - 300px);
    float: right;
    display: inline-block;
}

.divReleaseContent{
    border-bottom: 1px solid #f1f1f1;
    padding: 25px;
}

.aFavoriteStyle i{
    color: var(--SECOND);
    transition:all 0.3s;
}

.divContentHolderPattern{
    background-image:  repeating-radial-gradient( circle at 0 0, transparent 0, #fbfbfb 200px ), repeating-linear-gradient( rgba(255, 255, 255, 0.07), #ffffff );
}

.trClassifierCategoryOther td{
    color: var(--ACCENT);
}

.trClassifierCategoryOther .tdClassifyActions{
    opacity: 1;
}

.trClassifierCategoryOther .tdClassifyActions i{
    opacity: 0.1;
}

.trClassifierCategoryOther:hover i{
    opacity: 1;
}

#iDragDropInfoClassify{
    text-align: center;
    width: 100%;
    display: inline-block;
    font-size: 12px;
    padding: 50px;
    box-sizing: border-box;
    font-weight: normal;
    color: var(--MAIN);
    font-style: normal;
}

.trCategory td:last-of-type{
    width: 50px;
}

#divClassifierWords{
    position: sticky;
    top: 50px;
}

.aDeleteColumn{
    position: absolute;
    right: 2px;
    top: 2px;
    background: #ffffff;
    border: 1px solid #dcdcdc;
    width: 25px;
    height: 25px;
    border-radius: 13px;
    text-align: center;
    display: none;
}

.aDeleteColumn:hover{
    transform: scale(1.1);
}

#tableImport thead th:hover .aDeleteColumn{
    display: block;
}

.divColorSettingsWrapper{
    margin-left: -25px;
}

.divColorSettingsWrapper table{
    border-collapse: separate;
    border-spacing: 25px;
}

.divColorItem{
    width: 150px;
    height: 200px;
    border-radius: 15px;
}

.pColorName{
    padding-left: 10px;
    margin: 0px;
    font-weight: bold;
    color: var(--MAIN);
    margin-bottom: 3px;
}

#divOnboardingWrapper{
    width: 100%;
    float: left;
    margin-top: 20px;
    height: calc(100vh - 200px);
}

.divOnboardingPreview{
    width: 30%;
    float: right;
    max-width: 500px;
    min-width: 350px;
    border-left: 1px solid #f1f1f1;
    padding: 20px;
    padding-top: 0px;
    box-sizing: border-box;
}

.divOnboardingItem h2{
    margin: 0px;
    margin-bottom: 20px;
}

.divOnboardingItem{
    width: 100%;
    height: 90%;
    position: relative;
}

#divOnboardingItemColors{
    text-align: center;
    height: calc(100% - 50px);
    overflow-y: hidden;
    overflow-x: scroll;
    flex: 1;
    display: flex;
}

.divOnboardingItemPanelWrapper{
    display: flex;
    width: 100%;
    height: 100%;

}

.divOnboardingColorItem{
    width: 150px;
    min-width: 100px;
    height: 100%;
    float: left;
    padding: 5px;
    box-sizing: border-box;
    overflow: hidden;
    border-radius: 25px;
}

.divOnboardingColorItem:hover{
    transform: scale(1.02);
    cursor: move;
}

.tableColorItem{
    width: 100%;
    height: 100%;
    box-shadow: 0px 0px 50px #f1f1f1;
}

.tableColorItem tr:first-of-type td{
    border-radius: 15px 15px 0px 0px;
}

.tableColorItem tr:last-of-type td{
    border-radius: 0px 0px 15px 15px;
}

.tableColorItem tr td{
    position: relative;
}

.pOnboardingColorName{
    height: 20px;
    position: absolute;
    left: 10px;
    bottom: 10px;
    margin: 0px;
    text-transform: uppercase;
    font-weight: bold;
}

.pOnboardingItemDescription{
    float: left;
    clear: both;
    width: 100%;
    margin-bottom: 20px;
    padding-bottom: 10px;
    border-bottom: 1px solid #f1f1f1;
}

#divOnboardingColorItemNew{
    cursor: pointer;
}

#divOnboardingColorItemNew table{
    box-shadow: none;
}

#divOnboardingColorItemNew table tr td{
    border: 2px dashed #dcdcdc;
}

#clr-picker{
   z-index: 99999;
}

#inputColor{
    background: #000000;
    height: 60px;
    width: 60px;
    border-radius: 30px;
    border: 5px solid #f1f1f1;
    cursor: pointer !important;
    font-size: 1px;
}

#inputColor:hover{
    transform: scale(1.1);
}

.pImportColumnError{
    margin: 0px;
    background: rgba(231, 76, 60, 0.1);
    color: #e74c3c;
    padding: 5px;
    border-radius: 5px;
    font-size: 12px;
    margin: 10px;
    margin-bottom: 0px;
}

.aMenuItemDisabled{
    pointer-events: none;
    opacity: 0.3;
}

.divHorizontalProgress{
    width: calc(100% - 60px);
    position: relative;
    margin: 30px;
    height: 10px;
    background: #f1f1f1;
    border-radius: 10px;
    overflow: hidden;
}

.divHorizontalProgressValue{
    position: relative;
    width: 0%;
    height: 100%;
    background: var(--MAIN);
    transition: all 0.2s ease-in-out;
}

.tableData td:empty {
    height: 32.4px;
}

#pProgress{
    width: 100%;
    text-align: center;
    font-size: 11px;
    margin: 0px;
    margin-top: -15px;
    display: none;
}

#divVisualizationBuilder{
    width: 100%;
    height: auto;
    margin-top: 0px;
    box-sizing: border-box;
    display:flex;
    flex-wrap:wrap;
    align-items:flex-start;
    position: relative;
    padding-bottom: 100px;
    overflow: auto;
    transition: all 0.2s ease-in-out;
}

.divPage{
    scroll-snap-align: start;
    width: 100%;
    aspect-ratio: 16 / 9;
    background-color: white;
    margin-bottom: 10px;
    border: 1px solid var(--MAIN-EXTRA-LIGHTER);
    display: grid;
    grid-template-columns: repeat(var(--GRID-COLUMN), 1fr); /* 10 columns */
    grid-template-rows: repeat(var(--GRID-ROW), 1fr);    /* 10 rows */
    padding: 5%;
    padding-top: calc(5% + 50px);
    /*background-image:*/
    /*        repeating-linear-gradient(#f1f1f1 0 1px, transparent 1px 100%),*/
    /*        repeating-linear-gradient(90deg, #f1f1f1 0 1px, transparent 1px 100%);*/
    background-size: 5% 9.1%;
    position: relative;
    box-shadow: inset 0 0 400px white;
}

.divReportItem{
    display: flex;
    box-sizing: border-box;
    background: white;
    /*border: 1px solid #f1f1f1;*/
    /*box-shadow: inset 0px 0px 5px #f1f1f1;*/
    grid-column: span 5;
    grid-row: span var(--GRID-ROW);
    padding: 20px;
    position: relative;
}

.divReportItem h2{
    color: var(--MAIN);
}

.divReportItem p{
    font-size: 15px;
    font-weight: 600;
    color: var(--MAIN);
}

.divReportItemTitle{
    border: none;
    padding: 0;
    padding-top: 2.5%;
    box-sizing: border-box;
}

#btnAddPage{

}

#divBtnAddPageWrapper{
    float: right;
}

#divPageTemplates{
    background: white;
    border: 1px solid #f1f1f1;
    box-shadow: 0px 0px 10px #dcdcdc;
    position: absolute;
    z-index: 9;
    right: 20px;
    bottom: 55px;
    padding: 0px;
    text-align: right;
    border-radius: 10px;
    transition: all 0.2s ease-in-out;
    display: none;
    width: 102px;
}

#divAddPageWrapper{
    float: right;
}

.divPageFormat{
    width: 50px;
    float: left;
    padding: 10px;
}

.divPageFormat:hover{
    background: var(--MAIN);
    cursor: pointer;
    transform: scale(1.2);
    border-radius: 10px;
}

#divPageTemplates p{
    font-weight: bold;
    font-size: 12px;
    color: var(--MAIN);
}

.divChart{
    width: 100%;
}

#selectReport{
    border: none;
    background: var(--MAIN-EXTRA-LIGHTER-TRANSPARANT);
    color: var(--MAIN);
    font-weight: bold;
    outline: 0;
    padding: 10px;
    border-radius: 10px;
}

.divReportItemEmpty{
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;

    box-shadow: 0px 0px 10px #dcdcdc;
    margin: 5px;
}

#divBottomToolBar{
    position: fixed;
    bottom: 50px;
    width: 600px;
    height: 60px;
    border-radius: 30px;
    right: calc(50% - 300px - 35px);
    background: rgba(220, 213, 220, 0.5);
    backdrop-filter: blur(10px);
    border: 1px solid #dcdcdc;
    padding: 10px;
    box-sizing: border-box;
    box-shadow: 0px 10px 10px rgba(0, 0, 0, 0.1);
}

.buttonBottomToolbar{
    background: var(--MAIN-LIGHTER-20);
    cursor: pointer;
}

.buttonBottomToolbar:hover{
    transform: scale(1.1);
}

.buttonBottomToolbarInactive{
    background: var(--MAIN-EXTRA-LIGHTER);
}

.buttonBottomToolbar i{
    font-size: 15px;
}

.pPageNumber{
    position: absolute;
    right: 30px;
    bottom: 20px;
    margin: 0px;
    padding: 0px;
    color: #dcdcdc;
}

.divPageOptions{
    width: 100%;
    height: 30px;
    padding: 10px;
    position: absolute;
    text-align: right;
    display: none;
}

.divPage:hover .divPageOptions{
    display: block;
}

.divPageOptions button{
    width: 30px;
    height: 30px;
    background: #f1f1f1;
    border:none;
    border-radius: 15px;
    color: var(--MAIN);
}

.divChartContainer{
    width: 100%;
}

.divChartContainerSmall{
    height: 320px;
}

@media screen and (max-width: 1500px) {
    .divChartContainerSmall{
        height: 250px;
    }
}


@media screen and (max-width: 1200px) {
    .divChartContainerSmall{
        height: 200px;
    }
}

.divReportItem:has(.divChartContainerSmall){
    align-items: center;
}

#divReportBuilderZoomWrapper{
    float: right;
}

#divReportBuilderZoomWrapper .buttonBottomToolbar{

}

#divBottomToolBar hr{
    width: 1px;
    height: 100%;
    display: inline-block;
    float: right;
    background: #dcdcdc;
    margin: 0px 10px 0px 10px;
}

.noselect {
    -webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none; /* Safari */
    -khtml-user-select: none; /* Konqueror HTML */
    -moz-user-select: none; /* Old versions of Firefox */
    -ms-user-select: none; /* Internet Explorer/Edge */
    user-select: none; /* Non-prefixed version, currently
                                  supported by Chrome, Edge, Opera and Firefox */
}

.divPageTemplatesInPage{
    display: none;
    position: absolute;
    right: 8px;
    top: 50px;
    width: 102px;
    z-index: 999;
    background: #f1f1f1;
    border-radius: 10px;
}

#divReportLayout{
    width: 350px;
    height: 100%;
    background: #e5e5e5;
    padding: 0px;
    /*background-image:  repeating-radial-gradient( circle at 0 0, transparent 0, rgba(251, 251, 251, 0.27) 100px ), repeating-linear-gradient( rgba(255, 255, 255, 0.07), #ffffff );*/
}

#divSidePanelWrapperRight{
    box-shadow: inset 2px 0px 10px var(--MAIN-EXTRA-LIGHTER);
    padding-left: 5px;
    background: #e5e5e5;
}

#divSidePanelWrapperRight{
    display: block;
}

#divSidePanelWrapperRight:has(.panelFolded){
    display: none !important;
}

.divReportItemToolsWrapper{
    position: absolute;
    right: 0px;
    top: 0px;
    z-index: 99;
    display: none;
    padding: 10px;
}

.divReportItemToolsWrapper button{
    width: 30px;
    height: 30px;
    background: var(--ACCENT);
    border:none;
    border-radius: 15px;
    color: white;
}

.divReportItemToolsWrapper button:hover{
    transform: scale(1.1);
}

.divReportItem:hover .divReportItemToolsWrapper{
    display: block;
}

#divReportLayoutTabMenu{
    width: 100%;
    display: flex;
}

.divReportLayoutTab{
    flex-grow: 1;
    text-align: center;
    background: #d5d5d5;
    padding: 10px;
    font-size: 12px;
    font-weight: 500;
    cursor: pointer !important;
}

.divReportLayoutTab i{
    font-size: 11px;
    margin-top: 4px;
    margin-right: 5px;
}

.divReportLayoutTabSelected{
    background: #e5e5e5;
    color: var(--MAIN);
}

.divReportLayoutTabDisabled{
    pointer-events: none;
    opacity: 0.4;
}

.divReportLayoutTabDisabled.divReportLayoutTabSelected{
    pointer-events: all;
    opacity: 1;
}


.divReportLayoutTab:hover:not(.divReportLayoutTabSelected){
    background: #bfbfbf;
}

#divChartSettingsLoadingWrapper{
    position: absolute;
    width: 100%;
    height: 100%;
    background: #e5e5e5;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    display: none;
}

#divChartSettingsLoadingWrapper p{
    margin: 0px;
    padding: 0px;
    font-weight: bold;
    font-size: 12px;
    color: var(--MAIN);
}


#divChartSettingsLoadingWrapper div{
    margin-top: -100px;
}

#divReportLayout table{
    width: calc(100% - 40px);
    margin: 20px;
    box-sizing: border-box;
}

#divReportLayout table tr td:first-of-type{
    width: 80px;
}

#divReportLayout table input{
    float: right;
    background: #f1f1f1;
    border: none;
    height: 30px;
    width: calc(100% - 10px);
    padding-left: 10px;
    padding-right: 10px;
    border-radius: 5px;
}

#divReportLayout table input[type='checkbox']{
    width: 16px;
    height: 16px;
    accent-color: var(--ACCENT);
}

#divReportLayout table tr td{
    color: var(--MAIN);
    font-weight: 500;
    height: 40px;
}

#divReportLayout table tr td:first-of-type{
    padding: 5px;
    padding-left: 10px;
    font-size: 12px;
}

#divReportLayout table tr td:last-of-type{
    padding-right: 10px;
}

.trChartSettingsTableHeader td{
    height: 10px !important;
    font-weight: bold !important;
    background: #e5e5e5 !important;
    border-bottom: 1px solid var(--MAIN-EXTRA-LIGHTER);
}

#divReportLayout table tr:nth-of-type(odd) td{
    /*background: #e1e1e1;*/
}

.trChartSettingsSpacer td{
    height: 10px !important;
}

.divChartSettings{
    display: none;
}

#btnSaveChartSettings{
    background: var(--ACCENT);
    color: white;
    border: none;
    height: 40px;
    border-radius: 20px;
    position: fixed;
    bottom: 50px;
    right: 20px;
    font-weight: bold;
    font-size: 12px;
}

#btnAddReport{
    margin-top: 10px;
}

#btnCancelChartSettings{
    background: #dcdcdc;
    color: var(--MAIN);
    border: none;
    height: 40px;
    border-radius: 20px;
    position: fixed;
    bottom: 50px;
    right: 120px;
    font-weight: bold;
    font-size: 12px;
}

template {
    display: none !important;
}

#divChartSettingSavingIndicator{
    position: fixed;
    bottom: 30px;
    width: 300px;
    right: 0px;
    height: 30px;
    background: #e5e5e5;
    text-align: center;
    padding-right: 10px;
    box-sizing: border-box;
    display: none;
}

.divAlignTextControl{
    margin-top: 5px;
    float: right;
}

.divAlignTextControl input[type="radio"] {
    display: none;
}

.divAlignTextControl label {
    cursor: pointer;
    padding: 5px 10px;
    border: none;
    border-radius: 4px;
    display: inline-block;
    background: #ededed;
}

.divAlignTextControl input[type="radio"]:checked + label {
    background-color: var(--ACCENT);
    color: white;
}

.divChartSettings input[type='range']{
    accent-color: var(--ACCENT);
}

.divChartSettings input[type='color']{
    width: 50px !important;
    background: #f1f1f1 !important;
    padding: 3px !important;
}

.filter {
    margin-left: 10px;
}

.filter-button, .group-button {
    height: 35px;
    border: none;
    border-radius: 10px;
    font-weight: 600;
    margin: 0;
    font-size: 11px;
    padding: 8px 15px 8px 15px;
    color: var(--MAIN);
}

.set-filters-button {
    margin-top: 10px;
    float: right
}

#filter-options, #group-options {
    background-color: white;
    box-shadow: 0 0 10px #dcdcdc;
    border-radius: 10px;
    min-width: 180px;
    max-height: 550px;
    overflow: scroll;
    position: absolute;
    z-index: 15;
    padding: 20px;
    border: 1px solid #f1f1f1;

    display: flex;
    flex-direction: column;
    right:0;
}

#filter-options > a > p {
    font-weight: bold;
    padding-bottom: 0;
}

#filter-options > hr {
    margin: 0;
    height: 2px;
}

#filter-options > div {
    display: flex;
    flex-direction: column;
}

#filter-options > a > p {
    color: var(--MAIN);
    margin-top: 5px;
    margin-bottom: 0;
}

#filter-options > div,
#filter-options > a > p {
 padding: 2px;
}

#filter-options > div > input[type="checkbox"] {
    margin-top: 0;
}

#filter-options > div > div {
    display: block;
}

#filter-options a {
    display: block;
    color: var(--MAIN);
    text-decoration: none;
}

#filter-options i{
    font-weight: 300;
}

.divTableHeaderIndicatorWrapper {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin-top: 10px;
    align-content: flex-start;
}

.divTableHeaderFilterWrapper {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin-top: 10px;
    align-content: flex-start;
}

.divTableIndicator{
    font-size: 11px;
    border-radius: 5px;
    font-weight: 500;
    color: var(--GREEN);
    width: 100%;
    text-align: left !important;
}

.divTableIndicatorWaiting{
    color: var(--MAIN-LIGHTER);
}

.divTableIndicator img{
    display: inline-block;
    margin-bottom: 3px;
}

.divTableIndicator p{
    margin: 0px;
    padding: 0px;
    display: inline-block;
}

.remove-filters-button {
    border: none;
    font-size: 12px;
    text-align: left;
    background: none;
    background: #f1f1f1;
    border-radius: 5px;
    display: inline-block;
    margin: 0 5px 5px 0;
}

.remove-filters-button i{
    color: var(--ACCENT) !important;
    margin-left: 0 !important;
    margin-right: 5px;
}

.toggle-content > div {
    margin-left: 10px;
}

.toggle-content > div > div > div {
    margin-left: 10px;
}

/* region Column Headers */
.column-info-wrapper {
    margin: 0 -10px 20px -10px;
    padding: 0px;
}

.column-info {
    height: 120px;
    background: white;
    margin: 5px;
    border: 1px solid #f1f1f1;
    box-shadow: 0px 0px 10px #f1f1f1;
    border-left: 2px solid var(--SECOND);
    border-radius: 0px;
    display: flex;
    border-radius: 10px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    padding: 15px;
    font-size: 12px;
    min-width: 300px;
    background-image: url('/images/ds_card_bg.png');
    background-size: cover;
    background-position: bottom right;
}

.column-info-empty{
    opacity: 0;
}

/* region Column Headers: NUMBERS */
.column-info-numeric-second-row{
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
}

.column-info-numeric-mean {
    font-weight: normal;
    text-align: center;

    display: flex;
    flex-direction: column;
}

.column-info-numeric-mean span{
    font-size: 30px;
    font-weight: bold;
}

.mean {
    color: #eb4622;
    line-height: 100%;
}

.column-info-numeric-second-row-divider {
    width: 40px
}

.column-info-numeric-mode, .column-info-numeric-median {
    font-weight: normal;
}

.column-info-numeric-first-row,
.column-info-numeric-second-row {
    margin: 2px 0 2px 0;
}

.column-info-category-2-rows > .column-info-category-first-row {
    margin: 7px 0 7px 0;
}

/* endregion Column Headers: NUMBERS */

/* region Column Headers: CATEGORY */
.column-info-category-first-row,
.column-info-category-second-row,
.column-info-category-third-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 2px 0 2px 0;
}

.column-info-content {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    text-align: left;
    width: 100%;
    height: 100%;
}

.column-info-category-3-rows {
    justify-content: space-between !important;
}

.column-info-category-2-rows{
    justify-content: center !important;
}

.column-info-category-1-row {
    justify-content: center !important;
}

.category-name {
    font-weight: normal;
}

.cat1percentage,
.cat2percentage,
.cat3percentage{
    font-weight: normal;
    margin: 0;
    padding: 0;
}

.percentage {
    display: flex;
    align-items: center;
    justify-content: center;
}

.cat1percentage span,
.cat2percentage span,
.cat3percentage span{
   font-weight: bold;
}

.percentage-bar {
    width: 100px;
    height: 18px;
    background-color: transparent;
    border-radius: 5px;
    overflow: hidden;
    position: relative;
    font-weight: normal;
}

.percentage-bar-filled {
    height: 100%;
    background-color: #eb4622;
    position: relative;
}

.percentage {
    position: absolute;
    right: -27px;
    color: #eb4622;
}

.divColumnInfoChartContainer{
    width: 100%;
    height: 100%;
}

/* endregion Column Headers: CATEGORY */

/* endregion Column Headers */

.divDatabaseImportForm {
    max-width: 600px;
    width: 100%;

    border-radius: 30px;
    border: 4px solid var(--MAIN-LIGHTER);

    box-sizing: border-box;
    margin-top: 100px;
    transition: all 0.2s ease-in-out;
    position: relative;

    padding: 25px;
}

.divDatabaseImportForm * {
    display: flex;
    justify-content: center;
    align-items: center;
}

.divDatabaseImportForm label {
    display: flex;
    justify-content: end;
    align-items: center;
    margin: 5px 15px 5px 0;
}

.divDatabaseImportForm p {
    margin: 0;
    width: 100%;
}

.divDatabaseImportForm input, .divDatabaseImportForm select {
    margin: 5px 15px 5px 15px;
    border: 1px solid #f1f1f1;
    height: 40px;
    border-radius: 20px;
    padding-left: 15px;
    padding-right: 15px;
    box-sizing: border-box;
    color: black;
    width: 80%;
    align-self: center;
}

/* region Database Connection */
#divDatabaseConnectionForm {
    display: grid;
    grid-template-columns: 1fr 1.5fr;
    grid-template-rows: repeat(7, 50px);
}

#divDatabaseConnectionForm label, #divDatabaseConnectionForm button  {
    grid-column-start:1;
    grid-column-end:1;
}

#divDatabaseConnectionForm input, #divDatabaseConnectionForm select {
    grid-column-start:2;
    grid-column-end:2;
}

.whitelistIPMessage {
    display: flex;
    flex-direction: column;
    grid-column-start:1;
    grid-column-end:3;
    margin-top: 15px;
}

.whitelistIPMessage p {
    color: rgb(211, 211, 211);
}

.databaseConnectionButtons {
    margin-top: 20px;
    grid-column-start:1;
    grid-column-end:3;
}

.databaseConnectionButtons button {
    margin: 0 25px 0;
    height: 40px;
}

.databaseConnectionTestResult {
    margin-top: 25px !important;
    grid-column-start:1;
    grid-column-end:3;
    align-self: center;
    text-align: center;
}

.databaseConnectionTest {
    max-height: 50px;
    float: right;
}

#divDatabaseConnectionForm button {
    justify-self: end;
    width: 100px;
    display: flex;
    justify-content: center;
}

.databaseConnectionButtons .button:disabled {
    opacity: .5;
    cursor: not-allowed;
    pointer-events: none;
}
/* endregion Database Connect */

/* region Data Selection */
.dataSelectionWrapper {
    margin: 50px 0 0 0;
    display: flex;
    justify-content: center;
    align-items: center;
    user-select: none;
}

.dataSelectionWrapper > div {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.dataDisplayList {
    margin: 0 30px 0 30px;
    padding: 5px;
    height: 450px;
    width: 450px;
    resize: none;
    border-radius: 10px;
    border: 1px solid var(--MAIN);

    overflow-y: auto;
}

.toggleIcon {
    font-size: 12px;
}


.selectButton {
    border: none;
    background-color: white;
}

.selectButton i {
    font-size: 18px;
    padding: 10px;
    color: var(--MAIN);
}

.selectButton i:hover {
    color: var(--SECOND);
}

.selectionWrapperSelectedItem {
    color: var(--MAIN);
    background-color: var(--SECOND-EXTRA-LIGHTER);
}

.dataSelectionItem {
    list-style-type: none;
    text-align: start;
    cursor: pointer;
    color: #636b6f;
    position: relative;
    z-index: 1;
}

.selectedDataBackground {
    align-self: center;
    justify-self: center;
    text-align: center;

    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 22.4px;
    z-index: -1;
}

.selectedData > .selectedDataBackground {
    background-color: var(--SECOND-EXTRA-LIGHTER);
}

.dataToExport {
    color: #397861;
    font-weight: bold;
}
.dataToExport > * {
    font-weight: normal;
}

/* endregion Data Selection */

/* region Data Filtering */
.dataFilteringTypeWrapper {
    margin: 0 0 10px;
}

.dataFilteringTypeSelection {
    display: flex;
    justify-content: center;
    align-items: center;
    justify-self: start;

}

.dataFilterRowsWrapper {
    padding-left: 35px;
}

.filterWrapper p.series {
    overflow-y: scroll;
    max-height: 35px;
}

.dataFilteringTypeSelection input[type="checkbox"] {
    border-radius: 25px;
    width: 15px;
    height: 15px;
    margin: 0;
}

.dataFilteringTypeSelection label {
    color: black;
    font-size: 14px;
    margin: 0 0 0 20px;
}

.dataFilter {
    display: flex;
    justify-content: start;
    width: 100%;
}

.dataFilter label {
    font-weight: normal;
    font-size: 12px;
    align-self: start;
    margin-bottom: 0;
}

.dataFilter p {
    margin: 0;
}

.dataFilter i {
    font-size: 10px;
    font-weight: normal;
    margin-bottom: -2px;
}

.dataFilter .addFilterButtonWrapper,
.dataFilter .removeFilterButtonWrapper {
    display: flex;
    flex-direction: column;
    justify-content: end;
    align-items: center;
    min-width: 100px;
    color: var(--ACCENT);
}

.newFilterWrapper .dataFilter div:not(.addFilterButtonWrapper) {
    min-width: 190px;
}

.dataFilter div:not(.addFilterButtonWrapper) {
    display: flex;
    flex-direction: column;
}

.newFilterWrapper {
    margin-top: 10px;
}

.filterWrapper .dataFilter * {
    justify-content: center;
}

.dataFilter span, .dataFilter i {
    display: flex;
    flex-direction: column;
    justify-content: end;
    align-items: end;
}

.filterInput .select2.select2-container.select2-container--default.select2-container--disabled {
    color: rgba(118, 118, 118, 0.3);
    border-color: rgba(118, 118, 118, 0.3);
    opacity: 0.7;
}

option * {
    color: red;
}

.filterInput {
    display: flex!important;
    flex-direction: row!important;
    justify-content: center!important;
}

.filterWrapper .filterInput {
    overflow-y: scroll;
}

.filterInput i {
    display: flex;
    flex-direction: column;
    justify-content: end;
    align-items: end;
}

.newFilterWrapper .dataFilter i, .dataFilter .select2-selection__rendered {
    margin-bottom: 4px;
}

.filterInput .select2.select2-container.select2-container--default {
    height: 23px;
    display: flex !important;
    justify-content: center !important;
    border: 1px solid black;
    border-radius: 2px;
    align-items: start!important;
}

.filterInput .selection {
    width: 100%;
}

.filterInput .select2 * {
    margin: 0!important;
    padding: 0!important;
    width: 100%!important;
}

.filterInput .select2-selection.select2-selection--multiple {
    display: flex;
    justify-content: center;
}

.filterInput .select2-search.select2-search--inline{
    display: flex;
    justify-content: center;
}

.filterInput .select2-selection__rendered{
    color: rgba(118, 118, 118, 1);
    padding-left: 4px!important;
}

.filterInput .select2-selection__choice{
    width: 100%;
}

.filterInput .select2-selection__choice {
    display: none !important;
}

.select2-results__option {
    font-size: 12px;
}

.filterInput .select2.select2-container.select2-container--default {
    width: 350px!important;
}

.addFilterButton, .removeFilterButton {
    width: 20px;
    height: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 14px;
}

.filterWrapper .removeFilterButton {
    background-color: white;
    border: none;
    color: var(--ACCENT);
}

.removeFilterButton i {
    font-size: 14px;
    color: var(--ACCENT);
    margin: 0;
}

.dataFilterAddRow {
    font-size: 24px;
}

.dataFilterAddRow:not(.disabled):hover{
    transform: scale(1.05);
}

.select2-results__option {
    display: flex;
    align-items: center;
}

.select2-results__option:not(.select2-results__message):not(.loading-results):not(.select2-results__option--load-more):before {
    content: "";
    display: inline-block;
    position: relative;
    min-height: 16px;
    min-width: 16px;
    max-height: 16px;
    max-width: 16px;
    border: 2px solid #e9e9e9;
    border-radius: 4px;
    background-color: #fff;
    margin-right: 20px;
    vertical-align: middle;
}

.select2-results__option[aria-selected=true]:not(.select2-results__message):not(.loading-results):not(.select2-results__option--load-more):before {
    font-family:fontAwesome;
    content: "\f00c";
    color: #fff;
    background-color: var(--GREEN);

    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border: 0
}

.select2-container--open .select2-dropdown--below {
    border-radius: 6px;
    box-shadow: 0 0 10px rgba(0,0,0,0.2);
}
/* endregion Data Filtering*/

#divImportTabWrapper{
    background: rgba(241, 241, 241, 0.6);
    width: 100%;
    height: 40px;
    position: sticky;
    bottom: 40px;
    margin-top: 10px;
    padding: 0 10px;
    display: flex;

    border-left: 1px solid #f1f1f1;
    border-right: 1px solid #f1f1f1;
    border-bottom: 1px solid #f1f1f1;
}

.divImportTab {
    background-color: rgb(241, 241, 241);
    width: 200px;
    height: 40px;
    border-radius: 0 0 15px 15px;
    margin: 0 -1px -1px;
    cursor: pointer;
    display: flex;
    align-items: center;
    border-right: 2px solid rgba(0, 0, 0, .1);
    border-bottom: 2px solid rgba(0, 0, 0, .1);
    border-left: 2px solid rgba(0, 0, 0, .1);

    overflow: hidden;
}

.divImportTab--selected {
    cursor: default;
    font-weight: bold;
    background-color: white;
}

.divImportTab--loading {
    background-color: rgba(241, 241, 241, 0.6);
    cursor: default;
    pointer-events: none;
    opacity: 70%;
}

.importDatasetTabTextWrapper {
    width: 100%;
    text-align: center
}

.importDatasetTabIcon {
    box-sizing: border-box;
    width: 15px;
    min-width: 15px;
    min-height: 15px;
    height: 15px;

    display: flex;
    justify-content: center;
    margin: 0 5px 0 15px;
}

.importDatasetTabHandledIcon {
    color: var(--GREEN);
}

.database-import-notification {
    width: 500px !important;
    background-color: var(--MAIN-LIGHTER-20) !important;
}

.database-import-notification * {
    color: white !important;
}

.divReportTable{
    width: 100%;
    max-height: 100%;
}

.divReportTable th, .divReportTable td {
    border: none;
    padding: 1vmin;
    color: var(--MAIN);
    white-space:nowrap
}

.tableFrequencies thead th{
    border-bottom: 2px solid var(--MAIN);
}

.tableFrequencies tr th, .tableFrequencies tr td{
    text-align: center;
}

.tableFrequencies tr td{
    border: 1px dashed #f1f1f1;
}

.tableFrequencies tr th:first-of-type, .tableFrequencies tr td:first-of-type{
    width: 20%;
    border: none;
    border-right: 2px solid var(--MAIN);
    text-align: left;
}

.tableFrequencies tr:nth-of-type(odd) td{
    background: #fbfbfb;
}

.tableFrequencies tr{
    height: 20px;
}

.tableFrequencies strong{
    font-weight: 500;
}

.tableFrequencies tr td:first-of-type strong{
    font-weight: 700;
}

.tableFrequencies small{
    display: none;
}

.tableFrequencies tr td:hover{
    background: #f1f1f1;
}

.thTotal, .tdTotal, .trTotal{
    background: white !important;
}

.thTotal{
    border-bottom: none !important;
    border-left: 2px dashed var(--MAIN-EXTRA-LIGHTER) !important;
    width: 10%;
}

.tdTotal{
    border-bottom: none !important;
    border-top: none !important;
    border-right: none !important;
    border-left: 2px dashed var(--MAIN-EXTRA-LIGHTER) !important;
}

.trTotal td{
    border-bottom: none !important;
    border-right: none !important;
    border-left: none !important;
    border-top: 2px dashed var(--MAIN-EXTRA-LIGHTER) !important;
    background: white !important;
}

.trTotal td:last-of-type{
    border-bottom: none !important;
    border-top: none !important;
    border-right: none !important;
}

.trTotal td:first-of-type{
    border-left: none !important;
}

.trTotal td:first-of-type strong{
    font-weight: 500 !important;
}

.tableFrequencies thead tr th:first-of-type{
    border-bottom: 2px solid var(--MAIN);
}

#divEmptyReports{
    margin: auto;
    text-align: center;
    opacity: 0.5;
    margin-top: 20vh;
}

#divSubToolbar table{
    width: 100%;
}

.tdFrequenciesHighest{
    background: rgba(71, 150, 121, 0.2) !important;
    font-weight: 600;
    color: #1c3c30 !important;
}

.tdFrequenciesLowest{
    background: rgba(250, 175, 25, 0.2) !important;
    font-weight: 600;
    color: #64460a !important;
}

.divReportItem:has(> .tableFrequencies) {
    display: block;
}

.divKPIWrapper {
    position: relative;
}

.divKPI{
    height: 180px;
    width: 100%;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    display: flex;
    background-image: url('/images/kpi_bg.png');
    background-size: cover;
    background-position: center;
    box-shadow: 0 0 30px rgba(0, 0, 0, 0.1);
    border-radius: 5px;
    border-left: 5px solid var(--MAIN);
    margin-top: -20px;
}

.divKPI strong{
    font-size: 40px;
    color: var(--MAIN);
}

.highcharts-credits{
    display: none;
}

.aAddLabeling{
    font-size: 12px;
    width: 100% !important;
    text-align: right !important;
    text-decoration: underline;
    color: var(--ACCENT-LIGHTER) !important;
    font-weight: bold !important;
}


#tableLabeling thead td{
    font-weight: bold;
    height: 30px;
    color: var(--MAIN);
    border-bottom: 2px solid var(--MAIN-EXTRA-LIGHTER);
}

#tableLabeling tr th:first-of-type, #tableLabeling tr td:first-of-type{
    text-align: right;
    padding-right: 20px;
}

#tableLabeling tr td input{
    height: 35px;
    width: 350px;
    margin-right: 20px;
    border: none;
    background: #ffffff;
    border: 1px solid #f1f1f1;
    margin-bottom: 5px;
    margin-top: 5px;
    color: var(--MAIN);
    padding-left: 10px;
    padding-right: 10px;
    outline-color: var(--SECOND);

}

#tableLabeling tbody tr{
    border-bottom: 1px solid #f1f1f1;
}

#tableLabelingPaste{
    width: 100%;
    position: relative;
}

#tableLabelingPaste td:first-of-type{
    text-align: right;
    width: 40px;
}

#tableLabelingPaste td:first-of-type p{
    margin: 0px;
    padding: 0px;
    height: 27px;
}

#tableLabelingPaste td:first-of-type p:first-of-type{
    margin-top: 5px;
}

#tableLabelingPaste textarea{
    position: absolute;
    width: calc(100% - 50px);
    height: 100%;
    left: 50px;
    top: 0px;
    line-height: 27px;
    padding: 0px;
    margin: 0px;
    padding-left: 20px;
}

.dialogIn{

}

.dialogIn{
    margin-left: 20px;
}

.divDialogMessage a{
    text-decoration: underline;
    color: var(--SECOND);
}

.beforeDialogOut::before{
    content: '';
    width: 30px;
    height: 30px;
    display: block;
    background: #dcdcdc;
    position: absolute;
    left: -40px;
    bottom: 0px;
    border-radius: 15px;
    background-image: url('/images/datasensai_bot.png');
    background-size: cover;
    background-position: center;
}

.pReportPageTitle{
    position: absolute;
    left: 100px;
    top: 50px;
    font-size: 1.5vw;
    z-index: 99999;
    display: none;
}

.pReportPageLoading{
    position: absolute;
    left: 15px;
    top: 10px;
}

#coverPage{
    box-shadow: none;
    overflow: hidden;
}

/*#coverPage svg{*/
/*    position: absolute;*/
/*    right: -30%;*/
/*    width: 100%;*/
/*    height: 100%;*/
/*    bottom: 0px;*/
/*}*/

#coverPage svg{
    position: absolute;
    right: -50%;
    width: 150%;
    height: 100%;
    bottom: 0px;
}

#pReportCoverTitle{
    position: absolute;
    left: 100px;
    top: 100px;
    color: white;
    font-size: 40px;
    font-weight: bold;
}