/**
 ****************************
 * Generic Styles
 ****************************
*/
dy-grid,
dy-grid-angular,
dy-grid-ng2,
dy-grid-polymer,
dy-grid-aurelia {
    display: block;
}

.dy-hidden {
    display: none !important;
}

.dy-invisible {
    visibility: hidden !important;
}

.dy-drag-handle {
    cursor: move;
    cursor: -webkit-grab;
    cursor: grab;
}

.dy-column-drop-wrapper {
    display: flex;
}

.dy-column-drop-horizontal-half-width {
    display: inline-block;
    width: 50% !important;
}

.dy-unselectable {
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.dy-selectable {
    -moz-user-select: text;
    -webkit-user-select: text;
    -ms-user-select: text;
    user-select: text;
}

.dy-tab {
    position: relative;
}

.dy-tab-guard {
    position: absolute;
    width: 0;
    height: 0;
    display: block;
}

.dy-select-agg-func-popup {
    position: absolute;
}

.dy-input-wrapper,
.dy-picker-field-wrapper {
    display: flex;
    flex: 1 1 auto;
    align-items: center;
    line-height: normal;
    position: relative;
}

.dy-shake-left-to-right {
    -webkit-animation-direction: alternate;
    animation-direction: alternate;
    -webkit-animation-duration: 0.2s;
    animation-duration: 0.2s;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-animation-name: dy-shake-left-to-right;
    animation-name: dy-shake-left-to-right;
}

@-webkit-keyframes dy-shake-left-to-right {
    from {
        padding-left: 6px;
        padding-right: 2px;
    }
    to {
        padding-left: 2px;
        padding-right: 6px;
    }
}

@keyframes dy-shake-left-to-right {
    from {
        padding-left: 6px;
        padding-right: 2px;
    }
    to {
        padding-left: 2px;
        padding-right: 6px;
    }
}

.dy-root-wrapper {
    cursor: default;
    position: relative;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
.dy-root-wrapper.dy-layout-normal {
    height: 100%;
}

.dy-watermark {
    position: absolute;
    bottom: 10px;
    right: 25px;
    opacity: 0.5;
    transition: opacity 1s ease-out 3s;
}
.dy-watermark:before {
    content: '';
    background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzcwIiBoZWlnaHQ9IjI2MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCI+CiA8ZyBjbGFzcz0ibG9nby1ncm91cCI+CiAgPGcgaWQ9InN2Z18zIiBjbGFzcz0ibG9nby1pY29uIj4KICAgPHN2ZyBpZD0ic3ZnXzExIiB5PSI5MCIgeD0iNjUuMjkzMzIiIGhlaWdodD0iODAiIHdpZHRoPSIxMTEuMTIzMzYiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIG1lZXQiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KICAgIDxnIGlkPSJzdmdfNiI+CiAgICAgPHN2ZyBpZD0ic3ZnXzEyIiB2aWV3Qm94PSIwIDAgMTI2IDkwLjcxIj4KICAgICAgPHRpdGxlPkxvZ288L3RpdGxlPgogICAgICA8ZyBpZD0ic3ZnXzQiPgogICAgICAgPGcgaWQ9InN2Z181Ij4KICAgICAgICA8cG9seWdvbiBpZD0ic3ZnXzEzIiBmaWxsPSIjM2Q5N2MzIiBwb2ludHM9IjEwMC40OCAyNi4xMSA4NC42OCA0Ni43MiA2NC44MSAxMi43MSA2MC4yMiAyNi41NCA4NC44NCA2NC42IDk5LjMxIDQyLjI4IDEyNiA3MS45NyAxMDAuNDggMjYuMTEiLz4KICAgICAgICA8cG9seWdvbiBpZD0ic3ZnXzE0IiBmaWxsPSIjM2Q5N2MzIiBwb2ludHM9IjU4LjYyIDI0IDYzLjMyIDkuOTggNTcuNDUgMCAwIDkwLjY2IDM2LjA5IDkwLjY2IDU4LjYyIDIzLjk3IDU4LjYyIDI0Ii8+CiAgICAgICAgPHBhdGggaWQ9InN2Z18xNSIgZmlsbD0iI2Y1YjMxOCIgZD0ibTgwLjQxLDg5LjU5YTQ1LjMsNDUuMyAwIDAgMCAyMy4wNiwtMTMuM2E0Ny41OSw0Ny41OSAwIDAgMSAtNjMuMjcsLTY0LjZhNDUuMjUsNDUuMjUgMCAwIDAgNDAuMjEsNzcuOXoiLz4KICAgICAgICA8cGF0aCBpZD0ic3ZnXzE2IiBmaWxsPSIjZjViMzE4IiBkPSJtOTkuMTQsNjguNzFhMTMuNjgsMTMuNjggMCAwIDAgLTQuNjQsNi44OWExMy43NCwxMy43NCAwIDAgMSAyLjM1LC0yLjM1YzYuNDYsLTUgMTUuOTEsLTMuNjMgMjEuMDksM2ExNi4wOSwxNi4wOSAwIDAgMSAzLjMxLDEwYTE0LjU4LDE0LjU4IDAgMCAwIC0yLjE0LC0xNC41OGExNC4xMSwxNC4xMSAwIDAgMCAtMTkuOTcsLTIuOTZ6Ii8+CiAgICAgICA8L2c+CiAgICAgIDwvZz4KICAgICA8L3N2Zz4KICAgIDwvZz4KICAgPC9zdmc+CiAgPC9nPgogIDxnIGlkPSJzdmdfMTciIGNsYXNzPSJsb2dvLXRleHQiPgogICA8cGF0aCBpZD0ic3ZnXzE4IiBmaWxsPSIjZjQ0MzIxIiBkPSJtMTg4LjgxNjY4NywxMTUuOTg0OTk5bDE5LjI5LDBxMC42LDYuNTEgMC42LDEyLjE1bDAsMHEwLDUuNjQgLTAuNiwxMy4ybDAsMGwtMTkuMjksMGwwLC0yNS4zNXptNi4wNiwyMy4yNWw3LjE3LDBxMC4zNiwtNi4xMiAwLjM2LC0xMS40NmwwLDBxMCwtNS4xOSAtMC4zNiwtOS42OWwwLDBsLTcuMTcsMGwwLDIxLjE1em0yNy45MywtMS45MmwwLC0xNC40OWw1LjcsMGwwLDI1LjM1bC0xNS40OCwwbDAsLTIuMWw5Ljc4LDBsMCwtNi40OGwtNC4yNiwxLjc0bC01LjUyLDBsMCwtMTguNTFsNS43LDBsMCwxNi4yM2w0LjA4LC0xLjc0em0zNi4yNywtMC4yNGwwLC03LjhsLTMuMjQsMGwwLC0yLjFsOS4zLDBsMCwxNC4xNmwtNi4wNiwwbDAsLTIuMTlsLTcuNzcsMi4xOWwtNS44OCwwcS0wLjU3LC02LjI0IC0wLjU3LC0xMi4xOGwwLDBsMCwtMC45NnEwLC01LjIyIDAuNTcsLTEyLjIxbDAsMGwxOS4zMiwwbDAsMi4xbC0xMy4yNiwwcS0wLjMzLDQuMDggLTAuMzMsMTAuMDVsMCwwcTAsNS40IDAuMzMsMTEuMWwwLDBsNy41OSwtMi4xNnptMjAuMjIsLTE0LjI1bDAsMi4zNGwtNC44NiwxLjk4bDAsMTQuMTlsLTUuNywwbDAsLTE4LjUxbDUuNywwbDAsMi4wNGw0Ljg2LC0yLjA0em03Ljk1LC02Ljg0bDAsNS4xbC01LjcsMGwwLC01LjFsNS43LDB6bTAsNi44NGwwLDE4LjUxbC01LjcsMGwwLC0xOC41MWw1LjcsMHptNC42MiwwbDkuNTQsMGwwLC02Ljg0bDUuNywwbDAsMjUuMzVsLTUuNywwbDAsLTEuNzRsLTQuMTQsMS43NGwtNS40LDBxLTAuNiwtNC44NiAtMC42LC05LjI0bDAsMHEwLC00LjMyIDAuNiwtOS4yN2wwLDB6bTUuNTgsMTYuMjNsMy45NiwtMS43NGwwLC0xMi4zOWwtNC4wNSwwcS0wLjI3LDIuNTIgLTAuMjcsNi4wOWwwLDBsMCwwLjk2cTAsNC4yIDAuMzYsNy4wOGwwLDB6Ii8+CiAgPC9nPgogIDxnIGlkPSJzdmdfMTkiIGNsYXNzPSJsb2dvLXNsdWciPgogICA8cGF0aCBpZD0ic3ZnXzIwIiBmaWxsPSIjMzMzIi8+CiAgPC9nPgogPC9nPgogPGc+CiAgPHRpdGxlPkxheWVyIDE8L3RpdGxlPgogIDxyZWN0IGlkPSJzdmdfMjEiIHJ5PSI2IiByeD0iNiIgZmlsbD0idHJhbnNwYXJlbnQiIGhlaWdodD0iMTAwJSIgd2lkdGg9IjEwMCUiIHk9IjAiIHg9IjAiLz4KIDwvZz4KPC9zdmc+);
    -webkit-filter: invert(50%);
    filter: invert(50%);
    background-repeat: no-repeat;
    background-size: 110px 60px;
    display: block;
    height: 60px;
    width: 110px;
}

.dy-watermark-text {
    opacity: 0.5;
    font-weight: bold;
    font-family: Impact, sans-serif;
    font-size: 19px;
}

.dy-root-wrapper-body {
    display: flex;
    flex-direction: row;
}
.dy-root-wrapper-body.dy-layout-normal {
    flex: 1 1 auto;
    height: 0;
    min-height: 0;
}

.dy-root {
    position: relative;
    display: flex;
    flex-direction: column;
}
.dy-root.dy-layout-normal,
.dy-root.dy-layout-auto-height {
    overflow: hidden;
    flex: 1 1 auto;
    width: 0;
}
.dy-root.dy-layout-normal {
    height: 100%;
}

/**
 ****************************
 * Viewports
 ****************************
*/
.dy-header-viewport,
.dy-floating-top-viewport,
.dy-body-viewport,
.dy-center-cols-viewport,
.dy-floating-bottom-viewport,
.dy-body-horizontal-scroll-viewport,
.dy-virtual-list-viewport {
    position: relative;
    height: 100%;
    min-width: 0px;
    overflow: hidden;
    flex: 1 1 auto;
}

.dy-body-viewport.dy-layout-print {
    flex: none;
}

@media print {
    .dy-root-wrapper.dy-layout-print,
    .dy-root-wrapper.dy-layout-print .dy-root-wrapper-body,
    .dy-root-wrapper.dy-layout-print .dy-root,
    .dy-root-wrapper.dy-layout-print .dy-body-viewport,
    .dy-root-wrapper.dy-layout-print .dy-center-cols-container,
    .dy-root-wrapper.dy-layout-print .dy-center-cols-viewport,
    .dy-root-wrapper.dy-layout-print .dy-center-cols-clipper,
    .dy-root-wrapper.dy-layout-print .dy-body-horizontal-scroll-viewport,
    .dy-root-wrapper.dy-layout-print .dy-virtual-list-viewport {
        height: auto !important;
        overflow: hidden !important;
        display: block !important;
    }
    .dy-root-wrapper.dy-layout-print .dy-row {
        page-break-inside: avoid;
    }
}

.dy-body-viewport {
    display: flex;
}
.dy-body-viewport.dy-layout-normal {
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

.dy-center-cols-viewport {
    width: 100%;
    overflow-x: auto;
}

.dy-body-horizontal-scroll-viewport {
    overflow-x: scroll;
}

.dy-virtual-list-viewport {
    overflow: auto;
    width: 100%;
}

/**
 ****************************
 * Containers
 ****************************
*/
.dy-header-container,
.dy-floating-top-container,
.dy-body-container,
.dy-pinned-right-cols-container,
.dy-center-cols-container,
.dy-pinned-left-cols-container,
.dy-floating-bottom-container,
.dy-body-horizontal-scroll-container,
.dy-full-width-container,
.dy-floating-bottom-full-width-container,
.dy-virtual-list-container {
    position: relative;
}

.dy-header-container,
.dy-floating-top-container,
.dy-floating-bottom-container {
    height: 100%;
    white-space: nowrap;
}

.dy-center-cols-clipper {
    min-height: 100%;
}

.dy-center-cols-container {
    display: block;
}

.dy-layout-print .dy-center-cols-clipper {
    min-width: 100%;
}

.dy-pinned-right-cols-container {
    display: block;
}

.dy-body-horizontal-scroll-container {
    height: 100%;
}

.dy-full-width-container,
.dy-floating-top-full-width-container,
.dy-floating-bottom-full-width-container {
    position: absolute;
    top: 0px;
    left: 0px;
    pointer-events: none;
}

.dy-full-width-container {
    width: 100%;
}

.dy-floating-bottom-full-width-container,
.dy-floating-top-full-width-container {
    display: inline-block;
    overflow: hidden;
    height: 100%;
    width: 100%;
}

.dy-virtual-list-container {
    overflow: hidden;
}

/**
 ****************************
 * Scrollers
 ****************************
*/
.dy-center-cols-clipper {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
}

.dy-body-horizontal-scroll {
    min-height: 0;
    min-width: 0;
    width: 100%;
    display: flex;
    position: relative;
}

.dy-layout-print .dy-body-horizontal-scroll {
    display: none;
}

.dy-force-vertical-scroll {
    overflow-y: scroll !important;
}
.dy-force-vertical-scroll.dy-layout-print {
    overflow-y: visible !important;
}

.dy-horizontal-left-spacer,
.dy-horizontal-right-spacer {
    height: 100%;
    min-width: 0;
    overflow-x: scroll;
}
.dy-horizontal-left-spacer.dy-scroller-corner,
.dy-horizontal-right-spacer.dy-scroller-corner {
    overflow-x: hidden;
}

/**
 ****************************
 * Headers
 ****************************
*/
.dy-header,
.dy-pinned-left-header,
.dy-pinned-right-header {
    display: inline-block;
    overflow: hidden;
    position: relative;
}

.dy-header-cell-sortable {
    cursor: pointer;
}

.dy-header {
    display: flex;
    width: 100%;
    white-space: nowrap;
}

.dy-pinned-left-header {
    height: 100%;
}

.dy-pinned-right-header {
    height: 100%;
}

.dy-header-row {
    position: absolute;
    overflow: hidden;
}

.dy-header-cell {
    display: inline-flex;
    align-items: center;
    position: absolute;
    height: 100%;
    overflow: hidden;
}

.dy-header-cell.dy-header-active .dy-header-cell-menu-button {
    opacity: 1;
}

.dy-header-cell-menu-button:not(.dy-header-menu-always-show) {
    transition: opacity 0.2s;
    opacity: 0;
}

.dy-header-group-cell-label,
.dy-header-cell-label {
    display: flex;
    flex: 1 1 auto;
    overflow: hidden;
    align-items: center;
    text-overflow: ellipsis;
    align-self: stretch;
}

.dy-header-cell-text {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dy-right-aligned-header .dy-header-cell-label {
    flex-direction: row-reverse;
}

.dy-header-group-text {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dy-header-cell-resize {
    position: absolute;
    z-index: 2;
    height: 100%;
    width: 8px;
    top: 0;
    cursor: ew-resize;
}
.dy-ltr .dy-header-cell-resize {
    right: -4px;
}
.dy-rtl .dy-header-cell-resize {
    left: -4px;
}

.dy-pinned-left-header .dy-header-cell-resize {
    right: -4px;
}

.dy-pinned-right-header .dy-header-cell-resize {
    left: -4px;
}

.dy-header-select-all {
    display: flex;
}

/**
 ****************************
 * Columns
 ****************************
*/
.dy-column-moving .dy-cell {
    transition: left 0.2s;
}

.dy-column-moving .dy-header-cell {
    transition: left 0.2s;
}

.dy-column-moving .dy-header-group-cell {
    transition: left 0.2s, width 0.2s;
}

/**
 ****************************
 * Column Panel
 ****************************
*/
.dy-column-panel {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    flex: 1 1 auto;
}

.dy-column-select {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    flex-grow: 3;
    flex-shrink: 1;
    flex-basis: 0;
}

.dy-column-select-header {
    position: relative;
    display: flex;
    flex: none;
}

.dy-column-select-header-icon {
    position: relative;
}

.dy-column-select-header-filter-wrapper {
    flex: 1 1 auto;
}

.dy-column-select-header-filter {
    width: 100%;
}

.dy-column-select-list {
    flex: 1 1 0px;
    overflow: hidden;
}

.dy-column-drop {
    display: inline-flex;
    align-items: center;
    overflow: auto;
    width: 100%;
}

.dy-column-drop-list {
    display: flex;
    align-items: center;
}

.dy-column-drop-cell {
    display: flex;
    align-items: center;
}

.dy-column-drop-cell-text {
    overflow: hidden;
    flex: 1 1 auto;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dy-column-drop-vertical {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    flex: 1 1 0px;
    align-items: stretch;
}

.dy-column-drop-vertical-title-bar {
    display: flex;
    align-items: center;
    flex: none;
}

.dy-column-drop-vertical-list {
    align-items: stretch;
    flex-grow: 1;
    flex-direction: column;
    overflow-x: auto;
}
.dy-column-drop-vertical-list > * {
    flex: none;
}

.dy-column-drop-empty .dy-column-drop-vertical-list {
    overflow: hidden;
}

.dy-column-drop-vertical-empty-message {
    display: block;
}

.dy-column-drop.dy-column-drop-horizontal {
    white-space: nowrap;
    overflow: hidden;
}

.dy-column-drop-cell-button {
    cursor: pointer;
}

.dy-filter-toolpanel {
    flex: 1 1 0px;
    min-width: 0;
}

.dy-filter-toolpanel-header {
    position: relative;
}

.dy-filter-toolpanel-header,
.dy-filter-toolpanel-search {
    display: flex;
    align-items: center;
}
.dy-filter-toolpanel-header > *,
.dy-filter-toolpanel-search > * {
    display: flex;
    align-items: center;
}

.dy-filter-apply-panel {
    display: flex;
    justify-content: flex-end;
    overflow: hidden;
}

/**
 ****************************
 * Rows
 ****************************
*/
.dy-row-animation .dy-row {
    transition: top 0.4s, height 0.4s, background-color 0.1s, opacity 0.2s, -webkit-transform 0.4s;
    transition: transform 0.4s, top 0.4s, height 0.4s, background-color 0.1s, opacity 0.2s;
    transition: transform 0.4s, top 0.4s, height 0.4s, background-color 0.1s, opacity 0.2s, -webkit-transform 0.4s;
}

.dy-row-no-animation .dy-row {
    transition: background-color 0.1s;
}

.dy-row {
    white-space: nowrap;
    width: 100%;
}

.dy-row-loading {
    display: flex;
    align-items: center;
}

.dy-row-position-absolute {
    position: absolute;
}

.dy-row-position-relative {
    position: relative;
}

.dy-full-width-row {
    overflow: hidden;
    pointer-events: all;
}

.dy-row-inline-editing {
    z-index: 1;
}

.dy-row-dragging {
    z-index: 2;
}

.dy-stub-cell {
    display: flex;
    align-items: center;
}

/**
 ****************************
 * Cells
 ****************************
*/
.dy-cell {
    display: inline-block;
    position: absolute;
    white-space: nowrap;
}

.dy-cell-value,
.dy-group-value {
    overflow: hidden;
    text-overflow: ellipsis;
}

.dy-cell-wrap-text {
    white-space: normal;
    word-break: break-all;
}

.dy-cell-wrapper {
    display: flex;
    align-items: center;
    height: 100%;
}
.dy-cell-wrapper.dy-row-group {
    align-items: flex-start;
}

.dy-full-width-row .dy-cell-wrapper.dy-row-group {
    align-items: center;
}

.dy-cell-auto-height {
    height: 100%;
}

.dy-cell-inline-editing {
    z-index: 1;
}
.dy-cell-inline-editing .dy-cell-edit-wrapper,
.dy-cell-inline-editing .dy-cell-editor,
.dy-cell-inline-editing .dy-cell-editor .dy-wrapper,
.dy-cell-inline-editing .dy-cell-editor input {
    height: 100%;
    width: 100%;
    line-height: normal;
}

.dy-cell .dy-icon {
    display: inline-block;
    vertical-align: middle;
}

/**
 ****************************
 * Filters
 ****************************
*/
.dy-set-filter-item {
    display: flex;
    align-items: center;
    height: 100%;
}

.dy-set-filter-item-value {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dy-set-filter-item-checkbox {
    display: flex;
}

.dy-filter-body-wrapper {
    display: flex;
    flex-direction: column;
}

.dy-filter-filter {
    flex: 1 1 0px;
}

.dy-filter-condition {
    display: flex;
    justify-content: center;
}

/**
 ****************************
 * Floating Filter
 ****************************
*/
.dy-floating-filter-body {
    position: relative;
    display: flex;
    flex: 1 1 auto;
    height: 100%;
}

.dy-floating-filter-full-body {
    display: flex;
    flex: 1 1 auto;
    height: 100%;
    width: 100%;
    align-items: center;
    overflow: hidden;
}

.dy-floating-filter-full-body > div {
    flex: 1 1 auto;
}

.dy-floating-filter {
    display: inline-block;
    position: absolute;
}

.dy-floating-filter-input {
    align-items: center;
    display: flex;
    width: 100%;
}
.dy-floating-filter-input > * {
    flex: 1 1 auto;
}

.dy-floating-filter-button {
    display: flex;
    flex: none;
}

/**
 ****************************
 * Drag & Drop
 ****************************
*/
.dy-dnd-ghost {
    position: absolute;
    display: inline-flex;
    align-items: center;
    cursor: move;
    white-space: nowrap;
}

/**
 ****************************
 * Overlay
 ****************************
*/
.dy-overlay {
    height: 100%;
    left: 0;
    pointer-events: none;
    position: absolute;
    top: 0;
    width: 100%;
}

.dy-overlay-panel {
    display: flex;
    height: 100%;
    width: 100%;
}

.dy-overlay-wrapper {
    display: flex;
    flex: none;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.dy-overlay-loading-wrapper {
    pointer-events: all;
}

/**
 ****************************
 * Popup
 ****************************
*/
.dy-popup-child {
    z-index: 5;
}

.dy-popup-editor {
    position: absolute;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    z-index: 1;
}

.dy-large-text-input {
    display: block;
}

/**
 ****************************
 * Virtual Lists
 ****************************
*/
.dy-virtual-list-item {
    position: absolute;
    width: 100%;
}

/**
 ****************************
 * Floating Top and Bottom
 ****************************
*/
.dy-floating-top {
    overflow: hidden;
    white-space: nowrap;
    width: 100%;
    position: relative;
    display: flex;
}

.dy-pinned-left-floating-top {
    display: inline-block;
    overflow: hidden;
    position: relative;
    min-width: 0px;
}

.dy-pinned-right-floating-top {
    display: inline-block;
    overflow: hidden;
    position: relative;
    min-width: 0px;
}

.dy-floating-bottom {
    overflow: hidden;
    white-space: nowrap;
    width: 100%;
    position: relative;
    display: flex;
}

.dy-pinned-left-floating-bottom {
    display: inline-block;
    overflow: hidden;
    position: relative;
    min-width: 0px;
}

.dy-pinned-right-floating-bottom {
    display: inline-block;
    overflow: hidden;
    position: relative;
    min-width: 0px;
}

/**
 ****************************
 * Dialog
 ****************************
*/
.dy-dialog,
.dy-panel {
    display: flex;
    flex-direction: column;
    position: relative;
    overflow: hidden;
}

.dy-panel-title-bar {
    display: flex;
    flex: none;
    align-items: center;
    cursor: default;
}

.dy-panel-title-bar-title {
    flex: 1 1 auto;
}

.dy-panel-title-bar-buttons {
    display: flex;
}

.dy-panel-title-bar-button {
    cursor: pointer;
}

.dy-panel-content-wrapper {
    display: flex;
    flex: 1 1 auto;
    position: relative;
    overflow: hidden;
}

.dy-dialog {
    position: absolute;
}

.dy-resizer {
    position: absolute;
    pointer-events: none;
    z-index: 1;
}
.dy-resizer.dy-resizer-topLeft {
    top: 0;
    left: 0;
    height: 5px;
    width: 5px;
    cursor: nwse-resize;
}
.dy-resizer.dy-resizer-top {
    top: 0;
    left: 5px;
    right: 5px;
    height: 5px;
    cursor: ns-resize;
}
.dy-resizer.dy-resizer-topRight {
    top: 0;
    right: 0;
    height: 5px;
    width: 5px;
    cursor: nesw-resize;
}
.dy-resizer.dy-resizer-right {
    top: 5px;
    right: 0;
    bottom: 5px;
    width: 5px;
    cursor: ew-resize;
}
.dy-resizer.dy-resizer-bottomRight {
    bottom: 0;
    right: 0;
    height: 5px;
    width: 5px;
    cursor: nwse-resize;
}
.dy-resizer.dy-resizer-bottom {
    bottom: 0;
    left: 5px;
    right: 5px;
    height: 5px;
    cursor: ns-resize;
}
.dy-resizer.dy-resizer-bottomLeft {
    bottom: 0;
    left: 0;
    height: 5px;
    width: 5px;
    cursor: nesw-resize;
}
.dy-resizer.dy-resizer-left {
    left: 0;
    top: 5px;
    bottom: 5px;
    width: 5px;
    cursor: ew-resize;
}

/**
 ****************************
 * Tooltip
 ****************************
*/
.dy-tooltip {
    position: absolute;
    pointer-events: none;
    z-index: 99999;
}

/**
 ****************************
 * Animations
 ****************************
*/
.dy-value-slide-out {
    margin-right: 5px;
    opacity: 1;
    transition: opacity 3s, margin-right 3s;
    transition-timing-function: linear;
}

.dy-value-slide-out-end {
    margin-right: 10px;
    opacity: 0;
}

.dy-opacity-zero {
    opacity: 0 !important;
}

/**
 ****************************
 * Menu
 ****************************
*/
.dy-menu {
    max-height: 100%;
    overflow-y: auto;
    position: absolute;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.dy-menu-column-select-wrapper {
    height: 265px;
    overflow: auto;
}
.dy-menu-column-select-wrapper .dy-column-select {
    height: 100%;
}

.dy-menu-list {
    display: table;
    width: 100%;
}

.dy-menu-option,
.dy-menu-separator {
    display: table-row;
}

.dy-menu-option-part,
.dy-menu-separator-part {
    display: table-cell;
    vertical-align: middle;
}

.dy-menu-option-text {
    white-space: nowrap;
}

.dy-compact-menu-option {
    width: 100%;
    display: flex;
    flex-wrap: nowrap;
}

.dy-compact-menu-option-text {
    white-space: nowrap;
    flex: 1 1 auto;
}

/**
 ****************************
 * Rich Select
 ****************************
*/
.dy-rich-select {
    cursor: default;
    outline: none;
}

.dy-rich-select-value {
    display: flex;
    align-items: center;
}

.dy-rich-select-value-icon {
    flex: 1 1 auto;
    order: 1;
}
.dy-ltr .dy-rich-select-value-icon {
    text-align: right;
}
.dy-rtl .dy-rich-select-value-icon {
    text-align: left;
}

.dy-rich-select-list {
    position: relative;
}

.dy-rich-select-virtual-list-item {
    display: flex;
}

.dy-rich-select-row {
    display: flex;
    flex: 1 1 auto;
    align-items: center;
    white-space: nowrap;
}

/**
 ****************************
 * Pagination
 ****************************
*/
.dy-paging-panel {
    align-items: center;
    display: flex;
    justify-content: flex-end;
}

.dy-paging-page-summary-panel {
    display: flex;
    align-items: center;
}

.dy-paging-button {
    position: relative;
}

.dy-disabled .dy-paging-page-summary-panel {
    pointer-events: none;
}

/**
 ****************************
 * Tool Panel
 ****************************
*/
.dy-tool-panel-wrapper {
    display: flex;
    overflow-y: auto;
    overflow-x: hidden;
    cursor: default;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    width: 200px;
}

.dy-column-select-column,
.dy-column-select-column-group {
    position: relative;
    align-items: center;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    text-overflow: ellipsis;
    white-space: nowrap;
    height: 100%;
}
.dy-column-select-column > *,
.dy-column-select-column-group > * {
    flex: none;
}

.dy-column-select-checkbox {
    display: flex;
}

.dy-tool-panel-horizontal-resize {
    cursor: ew-resize;
    height: 100%;
    position: absolute;
    top: 0;
    width: 5px;
    z-index: 1;
}

.dy-ltr .dy-side-bar-left .dy-tool-panel-horizontal-resize {
    right: -3px;
}

.dy-rtl .dy-side-bar-left .dy-tool-panel-horizontal-resize {
    left: -3px;
}

.dy-ltr .dy-side-bar-right .dy-tool-panel-horizontal-resize {
    left: -3px;
}

.dy-rtl .dy-side-bar-right .dy-tool-panel-horizontal-resize {
    right: -3px;
}

.dy-details-row {
    width: 100%;
}

.dy-details-row-fixed-height {
    height: 100%;
}

.dy-details-grid {
    width: 100%;
}

.dy-details-grid-fixed-height {
    height: 100%;
}

.dy-header-group-cell {
    display: flex;
    align-items: center;
    height: 100%;
    position: absolute;
}

.dy-cell-label-container {
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
    align-items: center;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.dy-right-aligned-header .dy-cell-label-container {
    flex-direction: row;
}

/**
 ****************************
 * Side Bar
 ****************************
*/
.dy-side-bar {
    display: flex;
    flex-direction: row-reverse;
}

.dy-side-bar-left {
    order: -1;
    flex-direction: row;
}

.dy-side-button-button {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
    white-space: nowrap;
    outline: none;
    cursor: pointer;
}

.dy-side-button-label {
    -webkit-writing-mode: vertical-lr;
    -ms-writing-mode: tb-lr;
    writing-mode: vertical-lr;
}

/**
 ****************************
 * Status Bar
 ****************************
*/
.dy-status-bar {
    display: flex;
    justify-content: space-between;
    overflow: hidden;
}

.dy-status-panel {
    display: inline-flex;
}

.dy-status-name-value {
    white-space: nowrap;
}

.dy-status-bar-left {
    display: inline-flex;
}

.dy-status-bar-center {
    display: inline-flex;
}

.dy-status-bar-right {
    display: inline-flex;
}

/**
 ****************************
 * Widgets
 ****************************
*/
.dy-icon {
    display: block;
    speak: none;
}

.dy-group {
    position: relative;
    width: 100%;
}

.dy-group-title-bar {
    display: flex;
    align-items: center;
}

.dy-group-title {
    display: block;
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.dy-group-title-bar .dy-group-title {
    cursor: default;
}

.dy-group-toolbar {
    display: flex;
    align-items: center;
}

.dy-group-container {
    display: flex;
}

.dy-disabled .dy-group-container {
    pointer-events: none;
}

.dy-group-container-horizontal {
    flex-direction: row;
    flex-wrap: wrap;
}

.dy-group-container-vertical {
    flex-direction: column;
}

.dy-charts-font-size-color {
    display: flex;
    align-self: stretch;
    justify-content: space-between;
}

.dy-column-group-icons {
    display: block;
}
.dy-column-group-icons > * {
    cursor: pointer;
}

.dy-group-item-alignment-stretch .dy-group-item {
    align-items: stretch;
}

.dy-group-item-alignment-start .dy-group-item {
    align-items: flex-start;
}

.dy-group-item-alignment-end .dy-group-item {
    align-items: flex-end;
}

.dy-toggle-button-icon {
    transition: right 0.3s;
    position: absolute;
    top: -1px;
}

.dy-input-field,
.dy-select {
    display: flex;
    flex-direction: row;
    align-items: center;
}

.dy-input-field-input {
    flex: 1 1 auto;
    width: 100%;
    min-width: 0;
}

.dy-floating-filter-input .dy-input-field-input[type='date'] {
    width: 1px;
}

.dy-range-field {
    display: flex;
    align-items: center;
}

.dy-angle-select {
    display: flex;
    align-items: center;
}

.dy-angle-select-wrapper {
    display: flex;
}

.dy-angle-select-parent-circle {
    display: block;
    position: relative;
}

.dy-angle-select-child-circle {
    position: absolute;
}

.dy-slider-wrapper {
    display: flex;
}

.dy-slider-wrapper .dy-input-field {
    flex: 1 1 auto;
}

.dy-picker-field-display {
    flex: 1 1 auto;
}

.dy-picker-field {
    display: flex;
    align-items: center;
}

.dy-picker-field-icon {
    display: flex;
    border: 0;
    padding: 0;
    margin: 0;
    cursor: pointer;
}

.dy-picker-field-wrapper {
    overflow: hidden;
}

.dy-label-align-right .dy-label {
    order: 1;
}

.dy-label-align-right > * {
    flex: none;
}

.dy-label-align-top {
    flex-direction: column;
    align-items: flex-start;
}
.dy-label-align-top > * {
    align-self: stretch;
}

.dy-color-panel {
    width: 100%;
    display: flex;
    flex-direction: column;
    text-align: center;
}

.dy-spectrum-color {
    flex: 1 1 auto;
    position: relative;
    overflow: hidden;
    cursor: default;
}

.dy-spectrum-fill {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

.dy-spectrum-val {
    cursor: pointer;
}

.dy-spectrum-dragger {
    position: absolute;
    pointer-events: none;
    cursor: pointer;
}

.dy-spectrum-hue {
    cursor: default;
    background: linear-gradient(
        to left,
        #ff0000 3%,
        #ffff00 17%,
        #00ff00 33%,
        #00ffff 50%,
        #0000ff 67%,
        #ff00ff 83%,
        #ff0000 100%
    );
}

.dy-spectrum-alpha {
    cursor: default;
}

.dy-spectrum-hue-background {
    width: 100%;
    height: 100%;
}

.dy-spectrum-alpha-background {
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0), black);
    width: 100%;
    height: 100%;
}

.dy-spectrum-tool {
    cursor: pointer;
}

.dy-spectrum-slider {
    position: absolute;
    pointer-events: none;
}

.dy-recent-colors {
    display: flex;
}

.dy-recent-color {
    cursor: pointer;
}

.dy-ltr .dy-column-select-indent-1 {
    padding-left: 20px;
}

.dy-rtl .dy-column-select-indent-1 {
    padding-right: 20px;
}

.dy-ltr .dy-row-group-indent-1 {
    padding-left: 20px;
}

.dy-rtl .dy-row-group-indent-1 {
    padding-right: 20px;
}

.dy-ltr .dy-column-select-indent-2 {
    padding-left: 40px;
}

.dy-rtl .dy-column-select-indent-2 {
    padding-right: 40px;
}

.dy-ltr .dy-row-group-indent-2 {
    padding-left: 40px;
}

.dy-rtl .dy-row-group-indent-2 {
    padding-right: 40px;
}

.dy-ltr .dy-column-select-indent-3 {
    padding-left: 60px;
}

.dy-rtl .dy-column-select-indent-3 {
    padding-right: 60px;
}

.dy-ltr .dy-row-group-indent-3 {
    padding-left: 60px;
}

.dy-rtl .dy-row-group-indent-3 {
    padding-right: 60px;
}

.dy-ltr .dy-column-select-indent-4 {
    padding-left: 80px;
}

.dy-rtl .dy-column-select-indent-4 {
    padding-right: 80px;
}

.dy-ltr .dy-row-group-indent-4 {
    padding-left: 80px;
}

.dy-rtl .dy-row-group-indent-4 {
    padding-right: 80px;
}

.dy-ltr .dy-column-select-indent-5 {
    padding-left: 100px;
}

.dy-rtl .dy-column-select-indent-5 {
    padding-right: 100px;
}

.dy-ltr .dy-row-group-indent-5 {
    padding-left: 100px;
}

.dy-rtl .dy-row-group-indent-5 {
    padding-right: 100px;
}

.dy-ltr .dy-column-select-indent-6 {
    padding-left: 120px;
}

.dy-rtl .dy-column-select-indent-6 {
    padding-right: 120px;
}

.dy-ltr .dy-row-group-indent-6 {
    padding-left: 120px;
}

.dy-rtl .dy-row-group-indent-6 {
    padding-right: 120px;
}

.dy-ltr .dy-column-select-indent-7 {
    padding-left: 140px;
}

.dy-rtl .dy-column-select-indent-7 {
    padding-right: 140px;
}

.dy-ltr .dy-row-group-indent-7 {
    padding-left: 140px;
}

.dy-rtl .dy-row-group-indent-7 {
    padding-right: 140px;
}

.dy-ltr .dy-column-select-indent-8 {
    padding-left: 160px;
}

.dy-rtl .dy-column-select-indent-8 {
    padding-right: 160px;
}

.dy-ltr .dy-row-group-indent-8 {
    padding-left: 160px;
}

.dy-rtl .dy-row-group-indent-8 {
    padding-right: 160px;
}

.dy-ltr .dy-column-select-indent-9 {
    padding-left: 180px;
}

.dy-rtl .dy-column-select-indent-9 {
    padding-right: 180px;
}

.dy-ltr .dy-row-group-indent-9 {
    padding-left: 180px;
}

.dy-rtl .dy-row-group-indent-9 {
    padding-right: 180px;
}

.dy-ltr {
    direction: ltr;
}
.dy-ltr .dy-body,
.dy-ltr .dy-floating-top,
.dy-ltr .dy-floating-bottom,
.dy-ltr .dy-header,
.dy-ltr .dy-body-viewport,
.dy-ltr .dy-body-horizontal-scroll {
    flex-direction: row;
}

.dy-rtl {
    direction: rtl;
}
.dy-rtl .dy-body,
.dy-rtl .dy-floating-top,
.dy-rtl .dy-floating-bottom,
.dy-rtl .dy-header,
.dy-rtl .dy-body-viewport,
.dy-rtl .dy-body-horizontal-scroll {
    flex-direction: row-reverse;
}
.dy-rtl .dy-icon-contracted,
.dy-rtl .dy-icon-tree-closed {
    display: block;
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
}

.dy-body .dy-body-viewport {
    -webkit-overflow-scrolling: touch;
}

.dy-chart {
    position: relative;
    display: flex;
    overflow: hidden;
    width: 100%;
    height: 100%;
}

.dy-chart-components-wrapper {
    position: relative;
    display: flex;
    flex: 1 1 auto;
    overflow: hidden;
}

.dy-chart-title-edit {
    position: absolute;
    display: none;
    top: 0;
    left: 0;
    text-align: center;
}

.dy-chart-title-edit.currently-editing {
    display: inline-block;
}

.dy-chart-canvas-wrapper {
    position: relative;
    flex: 1 1 auto;
    overflow: hidden;
}

.dy-charts-canvas {
    display: block;
}

.dy-chart-menu {
    position: absolute;
    top: 10px;
    width: 24px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.dy-ltr .dy-chart-menu {
    right: 20px;
}
.dy-rtl .dy-chart-menu {
    left: 20px;
}

.dy-chart-docked-container {
    position: relative;
    width: 0;
    min-width: 0;
    transition: min-width 0.4s;
}

.dy-chart-menu-hidden ~ .dy-chart-docked-container {
    max-width: 0;
    overflow: hidden;
}

.dy-chart-tabbed-menu {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.dy-chart-tabbed-menu-header {
    flex: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    cursor: default;
}

.dy-chart-tabbed-menu-body {
    display: flex;
    flex: 1 1 auto;
    align-items: stretch;
    overflow: hidden;
}

.dy-chart-tab {
    width: 100%;
    overflow: hidden;
    overflow-y: auto;
}

.dy-chart-settings {
    overflow-x: hidden;
}

.dy-chart-settings-wrapper {
    position: relative;
    flex-direction: column;
    width: 100%;
    height: 100%;
    display: flex;
    overflow: hidden;
}

.dy-chart-settings-nav-bar {
    width: 100%;
    display: flex;
    height: 30px;
    align-items: center;
}

.dy-chart-settings-card-selector {
    display: flex;
    align-items: center;
    justify-content: space-around;
    flex: 1 1 auto;
    height: 100%;
    padding: 0 10px;
}

.dy-chart-settings-card-item {
    cursor: pointer;
    width: 10px;
    height: 10px;
    background-color: #000;
    position: relative;
}
.dy-chart-settings-card-item.dy-not-selected {
    opacity: 0.2;
}
.dy-chart-settings-card-item:before {
    content: ' ';
    display: block;
    position: absolute;
    background-color: transparent;
    left: 50%;
    top: 50%;
    margin-left: -10px;
    margin-top: -10px;
    width: 20px;
    height: 20px;
}

.dy-chart-settings-prev,
.dy-chart-settings-next {
    position: relative;
    flex: none;
}

.dy-chart-settings-prev-button,
.dy-chart-settings-next-button {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    cursor: pointer;
    opacity: 0;
}

.dy-chart-settings-mini-charts-container {
    position: relative;
    flex: 1 1 auto;
    overflow-x: hidden;
    overflow-y: auto;
}

.dy-chart-settings-mini-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    width: 100%;
    min-height: 100%;
    overflow: hidden;
}
.dy-chart-settings-mini-wrapper.dy-animating {
    transition: left 0.3s;
    transition-timing-function: ease-in-out;
}

.dy-chart-mini-thumbnail {
    cursor: pointer;
}

.dy-chart-mini-thumbnail-canvas {
    display: block;
}

.dy-chart-data-wrapper,
.dy-chart-format-wrapper {
    display: flex;
    flex-direction: column;
    position: relative;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.dy-chart-data-section,
.dy-chart-format-section {
    display: flex;
    margin: 0;
}

.dy-charts-font-panel-controls {
    justify-content: space-between;
}

.dy-chart-empty-text {
    display: flex;
    top: 0;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
}

.dy-chart .dy-chart-menu {
    opacity: 0;
    pointer-events: none;
}

.dy-chart-menu-hidden:hover .dy-chart-menu {
    opacity: 1;
    pointer-events: all;
}

.dy-chart-settings-nav-bar {
    padding: 0 10px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.dy-date-time-list-page-title-bar {
    display: flex;
}

.dy-date-time-list-page-column-labels-row,
.dy-date-time-list-page-entries-row {
    display: flex;
}

.dy-date-time-list-page-column-label,
.dy-date-time-list-page-entry {
    flex-basis: 0;
    flex-grow: 1;
}

.dy-date-time-list-page-entry {
    cursor: pointer;
}
