html {
    box-sizing: border-box;
}

*, *:before, *:after {
    box-sizing: inherit;
}

.ddk-container .layout-header {
    display: flex;
    align-items: center;
    height: 60px;
}

.ddk-container .layout-header > *:not(.layout-title):not(.layout-title):not(button){
    font-size: 1rem;
}

.ddk-container .layout-header img {
    max-height: 100%;
}

.ddk-container .layout-header textarea {
    resize: horizontal;
}

.ddk-container.ddk-container .layout-header input:not([type]),
.ddk-container.ddk-container .layout-header input[type="email"],
.ddk-container.ddk-container .layout-header input[type="number"],
.ddk-container.ddk-container .layout-header input[type="search"],
.ddk-container.ddk-container .layout-header input[type="text"],
.ddk-container.ddk-container .layout-header input[type="tel"],
.ddk-container.ddk-container .layout-header input[type="url"],
.ddk-container.ddk-container .layout-header input[type="password"],
.ddk-container.ddk-container .layout-header textarea,
.ddk-container.ddk-container .layout-header input[type="button"],
.ddk-container.ddk-container .layout-header select,
.ddk-container.ddk-container .layout-header .SingleDatePickerInput,
.ddk-container.ddk-container .layout-header .DateRangePickerInput,
.ddk-container.ddk-container .layout-header .DateInput,
.ddk-container .layout-header .Select.has-value.Select--single > .Select-control .Select-value .Select-value-label,
.ddk-container .layout-header .Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value .Select-value-label,
.ddk-container .layout-header .Select.is-focused:not(.is-open) > .Select-control,
.ddk-container.ddk-container .layout-header .DateInput_input {
    background-color: inherit;
}

.ddk-container.ddk-container .DateInput input {
    border: none;
}

.ddk-container.ddk-container .layout-header .Select--multi .Select-value, .Select--multi a.Select-value-label,
.ddk-container .layout-header .Select.has-value.Select--single > .Select-control .Select-value .Select-value-label,
.ddk-container .Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value .Select-value-label {
    color: inherit;
}

.ddk-container .layout-header .Select--multi .Select-value {
    background-color: rgba(255, 255, 255, 0.3);
}

.ddk-container.ddk-container .layout-header .Select-arrow-zone,
.ddk-container.ddk-container .layout-header .Select-clear-zone,
.ddk-container.ddk-container .layout-header .Select-arrow {
    color: inherit;
    border-top-color: currentColor;
}

.ddk-container .layout-header .Select.is-open > .Select-control .Select-arrow {
    border-bottom-color: currentColor;
}

.ddk-container.ddk-container .layout-header input::placeholder {
    color: inherit;
}

.ddk-container .layout-header li,
.ddk-container .layout-sidebar li {
    margin-left: 0px;
    padding-left: 0px;
    margin-bottom: 0px;
}

.ddk-container .layout-sidebar li.menu--sub {
    cursor: pointer;
}

.ddk-container .reset-layout {
    cursor: pointer;
    font-size: 24px;
}
.ddk-container .draggable-handle {
    font-size: 20px;
    cursor: move;
    color: white;
}

/* layout menu */
.ddk-container .layout-sidebar .layout-menu ul {
    list-style-type: none;
    margin-bottom: 0;
    display: flex;
}

.ddk-container .layout-sidebar .layout-menu li {
    display: flex;
    align-items: center;
    margin: 2px;
}

.ddk-container .layout-sidebar .layout-menu li a {
    width: 100%;
    height: 100%;
    text-align: center;
    padding: 8px;
    text-decoration: none;
    display: flex;
    justify-content:center;
    align-content:center;
    flex-direction:column;
}

/* header menu */
.ddk-container .layout-header {
    display: flex;
    position: relative;
}

.ddk-container .menu-item a {
    text-decoration: none;
}

.ddk-container .layout-sidebar #menu-items-container .menu--sub > .menu-item a {
    flex-direction: row-reverse;
    justify-content: flex-end;
}

.ddk-container .layout-sidebar #menu-items-container .menu--sub > .menu-item a .caret {
    left: 0px;
    margin-right: 15px; /* approx spacing of icon */
}

.ddk-container .layout-sidebar nav[data-folded="false"] #menu-items-container .menu--sub > .menu-item a .caret {
    margin-left: 10px;
}

.ddk-container .layout-sidebar[data-foldable="false"] .toggleNarrow {
    display: none;
}

.ddk-container .layout-sidebar nav {
    transition: max-width cubic-bezier(0, 1.26, 1, 0.94) 0.15s;
    max-width: 500px;
}

.ddk-container .layout-sidebar nav[data-folded="true"] {
    max-width: 60px;
}

.ddk-container .layout-sidebar nav[data-folded="true"] ~ div {
    display: none;
}

.ddk-container .layout-sidebar nav[data-folded="true"] ul {
    overflow-x: hidden;
}

.ddk-container .layout-sidebar nav[data-folded="true"] #menu-items-container .menu-item a {
    visibility: hidden;
}


.ddk-container .layout-sidebar nav[data-folded="true"] #menu-items-container .menu-item a i {
    visibility: visible;
    padding: 7.5px;
}

.ddk-container .layout-sidebar nav[data-folded="true"] #menu-items-container .menu-item a .caret {
    visibility: visible;
    position: absolute;
    left: 24px;
}

.ddk-container .layout-header > a:first-child {
    /*
     * this alone will allow for aligned
     * html.A wrapped ddk.Logos in non IE, Edge
     */
    display: contents;
    /* workaround for display: contents for IE, Edge */
    height: 100%;
}

.ddk-container .layout-header .layout-logo {
    height: 100%;
    width: auto;
    position: relative;
}

.ddk-container .layout-sidebar .layout-logo img {
    max-width: 100%;
    /*
     * User supplied heights in the logo
     * are applied to the logo's parent div.
     * So, in a sidebar, let the img inherit those
     * user defined heights.
     */
    height: inherit;
}

.ddk-container .layout-title {
    font-size: 24px;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    padding: 0px 20px;
    display: inline-block;
    flex-basis: auto;
    overflow: hidden;
    z-index: 100;
    height: 100%;
    padding-right: 15px;
}

.ddk-container .caret {
    border: solid currentColor;
    border-width: 0 2px 2px 0;
    margin-top: -2px; /* offset size of border */
    position: relative;
    left: 10px;
    display: inline-block;
    padding: 3px;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform-origin: 50% 75%;
}

.ddk-container .layout-header .layout-title {
    font-size: 1em;
    z-index: 0;
}

.ddk-container .layout-sidebar .layout-title {
    padding-top: 20px;
    padding-bottom: 20px;
    padding-left: 10px;
    padding-right: 10px;
    display: flex;
}

.ddk-container .layout-sidebar .layout-title .title {
    width: 100%;
    text-align: center;
}

.ddk-container .layout-title::before {
    content: '';
    display: inline-block;
    height: 100%;
}

.ddk-container .layout-header .layout-title .title {
    display: inline-block;
    vertical-align: top;
    height: inherit;
}

.ddk-container .layout-title h1 {
    display: inline-block;
    white-space: nowrap;
}

.ddk-container .layout-logo img {
    padding: 5px;
}

.ddk-container .layout-header .layout-logo img {
    /*
     * 15px adds up to the default card margin, so the left edge of the
     * logo matches up with the left side of the card
     */
    margin-left: 10px;
    max-height: 100%;
    position: relative;
    top: 50%;
    transform: translateY(-50%);
}

.ddk-container .layout-header[data-contentalignment="spread"] > div:not(.layout-logo):not(.layout-title),
.ddk-container .layout-header[data-contentalignment="spread"] > input {
    flex: 1 1 0%;
}

.ddk-container .layout-header:not([data-contentalignment="spread"]) > div:not(.layout-logo):not(.layout-title),
.ddk-container .layout-header:not([data-contentalignment="spread"]) > input {
    min-width: 200px;
}

.ddk-container.ddk-container .layout-header > .dash-dropdown > .Select--multi .Select-control,
.ddk-container.ddk-container .layout-header > div:not(.dash-dropdown) > .Select--multi .Select-control {
    display: block;
    max-height: 100%;
    overflow-y: auto;
}

.ddk-container .layout-header .dot,
.ddk-container .layout-header .dot:before,
.ddk-container .layout-header .dot:after {
    background-color: currentColor;
}

.ddk-container .layout-header nav#menu[data-collapsed="true"] ul {
    background-color: inherit;
}

.ddk-container.ddk-container .layout-header a {
    color: inherit;
}

.ddk-container .layout-header nav#menu {
    display: inline-flex;
    justify-content: flex-end;
    margin-left: auto;
    flex: 1;
    min-width: 30px;
}

.ddk-container .layout-header > nav#menu {
    font-size: 0.7em;
    height: 100%;
}

.ddk-container .layout-header nav#menu[data-open="true"] {
    overflow: visible;
}

.ddk-container .layout-header nav#menu[data-collapsed="true"] {
    position: relative;
    display: inline-flex;
}

.ddk-container .layout-header nav#menu[data-collapsed="false"] {
    flex: initial;
    flex-basis: auto;
}

.ddk-container .layout-header nav ul {
    white-space: nowrap; /* we want overflow in order to compare the menu's scrollWidth and clientWidth */
    list-style-type: none;
    margin: 0;
    padding: 0;
    list-style-type: none;
    position: relative;
    max-height: 200%;
}

.ddk-container .layout-header nav li {
    display: inline-flex;
    vertical-align: top;
    align-items: center;
    margin-bottom: 0px;
    height: 100%;
    z-index: 3;
}

.ddk-container .layout-header nav > li {
    display: flex;
    align-items: center;
    border: none;
}

.ddk-container .layout-header nav a {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    white-space: nowrap;
    padding: 0px 15px;
}

.ddk-container .layout-header nav a:hover {
    text-decoration: none;
}

.ddk-container .layout-header nav#menu[data-open=true] a {
    padding: 10px 15px;
}

.ddk-container .layout-header nav#menu .menu--sub nav#menu a {
    padding: 10px 15px 10px 5px;
}

.ddk-container .layout-header nav .menu--sub a .caret {
    /* for centering; 11px = caret dimensions */
    margin-right: 11px;
}

.ddk-container .layout-header nav#menu[data-collapsed="false"] .menu--sub:hover a .caret {
    transform: rotate(135deg) scaleX(-1);
    transition: transform 0.2s linear 0s;
}

.ddk-container .layout-header nav#menu[data-open="true"][data-collapsed="true"] {
    padding: 0;
    background-color: inherit;
}

.ddk-container .layout-header nav#menu[data-open="true"][data-collapsed="true"] ul {
    max-height: none;
    position: absolute;
    top: 100%;
    display: flex;
}

.ddk-container .layout-header nav#menu[data-open="true"][data-collapsed="true"] li {
    display: block;
}

.ddk-container .layout-header nav#menu[data-open="true"][data-collapsed="true"] li div {
    display: block;
}

.ddk-container .layout-header nav#menu #menu-items-container {
    height: 100%;
    position: relative;
}

.ddk-container .layout-header nav#menu[data-open="false"][data-collapsed="true"] #menu-items-container {
    /* hide full-width menu but keep display so it can be measured */
    visibility: hidden;
    position: absolute;
    /* prevent x overflow on container */
    right: 100%;
}

.ddk-container nav#menu #btn-close-menu {
    display: none;
}

.ddk-container nav#menu[data-open="true"] #btn-close-menu {
    display: block;
}

.ddk-container .layout-header {
    display: flex;
    justify-content: flex-start;
    flex: 1;
}

.ddk-container .layout-header .menu--sub {
    position: relative;
}

.ddk-container .layout-header .menu--sub nav#menu {
    position: absolute;
    overflow: hidden;
    display: block;
    min-width: 100%;
    top: 100%;
    right: 0;
    max-height: 0px;
}

.ddk-container .layout-header .menu--sub:hover nav#menu {
    transition: max-height 0.5s linear;
    max-height: 500px;
    /* 0.5s = the max-height transition delay */
    animation: 0.5s delay-overflow;
    overflow: auto;
}

/* hack to hide potential overflow scroll until
   max-height transition is complete */
@keyframes delay-overflow {
  from { overflow: hidden; }
  to { overflow: hidden; }
}

.ddk-container .layout-header ul#menu-closed .menu--sub[data-open="true"] nav#menu {
    min-width: 100%;
}

.ddk-container .layout-header nav#menu[data-open=true][data-collapsed="true"] ul#menu-closed .menu--sub:hover nav#menu {
    top: 0px;
    overflow: visible;
}

.ddk-container .layout-header ul#menu-closed .menu--sub[data-open="true"] nav#menu ul#menu-closed {
    min-width: 100%;
}

.ddk-container .layout-header nav#menu[data-collapsed="true"] ul#menu-closed .menu--sub:hover nav#menu ul#menu-closed {
    right: 100%;
}

.ddk-container .layout-header ul#menu-closed nav#menu #menu-items-container {
    padding: 0;
}

.ddk-container .layout-header ul#menu-closed nav#menu .menu--sub nav#menu a {
    padding: 15px 5px;
}

.ddk-container .layout-header .menu--sub nav#menu .menu-item {
    display: block;
    padding: 10px;
}

.ddk-container .layout-header nav#menu[data-collapsed="true"] .menu--sub nav#menu .menu-item {
    padding: 2px 10px;
}

.ddk-container .layout-header nav#menu[data-collapsed="true"] .menu--sub nav#menu .menu-item:first-of-type {
    box-shadow: 1px 0 0 #f2f5fa;
}

/* Layout Header w Controls */
.ddk-container .layout-header .block.card.ddk-card {
    height: inherit;
}

/* Layout Sidebar */

.ddk-container .layout-sidebar .sidebar--content[folded] > *:not(nav) {
    display: none;
}

.ddk-container .layout-sidebar ul {
    display: flex;
    flex-direction: column;
    list-style-type: none;
    position: relative;
}

.ddk-container .layout-sidebar ul .menu--sub ul {
    margin: 0;
}

.ddk-container .layout-sidebar ul a {
    padding: 15px;
}

.ddk-container .layout-sidebar .menu--sub nav#menu {
    max-height: 0px;
    overflow-y: hidden;
    transition: max-height 0.5s ease-out;
}

.ddk-container .layout-sidebar .menu--sub[data-open="true"] nav#menu {
    max-height: 1000px;
}

.ddk-container .layout-sidebar .menu--sub[data-open="true"] .caret {
    transform: rotate(135deg) scaleX(-1);
    -webkit-transform: rotate(135deg) scaleX(-1);
}

.ddk-container .sidebar--content {
    transition: width 0.25s, opacity 0.25s;
}

.ddk-container .layout-sidebar {
    position: relative;
    display: inline-block;
    flex-direction: column;
    transition: width 0.05s ease-out;
    float: left;
}

.ddk-container .layout-sidebar-companion {
    width: auto;
    display: block;
    overflow: hidden;
}

@media only screen
    and (min-width: 0px)
    and (max-width: 500px) {
        .ddk-container .layout-sidebar[data-collapsed="true"] .sidebar--content {
            opacity: 0;
            overflow: hidden;
            padding: 0px;
        }

        .ddk-container .layout-sidebar {
            width: 100% !important;
            max-width: none;
        }

        .ddk-container .layout-sidebar[data-collapsed="true"] {
            width: 0% !important;
            padding: 0px;
        }

        .ddk-container .layout-sidebar .layout-menu ul {
            display: flex;
            flex-direction: column;
        }
}

.ddk-container .body-component {
    float:right;
    width: 85%;
    display: inline-block;
}

.ddk-container .block.card.ddk-card h1,
.ddk-container .block.card.ddk-card h2,
.ddk-container .block.card.ddk-card h3,
.ddk-container .block.card.ddk-card h4,
.ddk-container .block.card.ddk-card h5,
.ddk-container .block.card.ddk-card h6,
.ddk-container .block.card.ddk-card p,
.ddk-container .block.card.ddk-card h1 div,
.ddk-container .block.card.ddk-card h2 div,
.ddk-container .block.card.ddk-card h3 div,
.ddk-container .block.card.ddk-card h4 div,
.ddk-container .block.card.ddk-card h5 div,
.ddk-container .block.card.ddk-card h6 div,
.ddk-container .block.card.ddk-card p div {
    overflow: hidden;
    text-overflow: ellipsis;
}

.ddk-container .block.card.ddk-card header.card-header > .card-header--title,
.ddk-container .block.card.ddk-card footer.card-footer > .card-footer--title {
    display: inline-flex;
    flex: 1;
    align-items: center;
}

.ddk-container .block.card.ddk-card .card-header .control-in-card_container,
.ddk-container .block.card.ddk-card .card-footer .control-in-card_container {
    max-width: 100%;
}

.ddk-container.ddk-container .block.card.ddk-card .card-header textarea,
.ddk-container.ddk-container .block.card.ddk-card .card-footer textarea {
    max-width: 100%;
}

.ddk-container.ddk-container .block.card.ddk-card .card-header .SingleDatePickerInput .DateInput_input,
.ddk-container.ddk-container .block.card.ddk-card .card-footer .SingleDatePickerInput .DateInput_input {
    text-align: right;
}

.ddk-container.ddk-container .block.card.ddk-card .card-header input,
.ddk-container.ddk-container .block.card.ddk-card .card-footer input {
    max-width: 100%;
}

/* KEBAB MENU CSS */

.ddk-container .dots {
  position: relative;
  right: 20px;
  height: 100%;
  cursor: pointer;
  /* centering */
  display: flex;
  align-items: center;
  justify-content: center;
}

.ddk-container .dot,
.ddk-container .dot:before,
.ddk-container .dot:after {
  position: absolute;
  width: 4px;
  height: 4px;
  border-radius: 20px;
  background-color: #fff;
  transform: rotate(270deg);
  cursor: pointer;
}

.ddk-container .dot {
  position: relative;
}

.ddk-container .dot:before,
.ddk-container .dot:after {
  content: "";
}

.ddk-container .dot:before {
  right: 10px;
  transition: right .3s ease-out, width .3s ease-out;
}

.ddk-container .dot:after {
  left: 10px;
  transition: left .3s ease-out, width .3s ease-out;
}

.ddk-container .dots:hover .dot:before {
  right: -10px;
}

.ddk-container .dots:hover .dot:after {
  left: -10px;
}

.ddk-container .dots.checked .dot:before {
  right: -9px;
  width: 22px;
  transform: rotate(225deg);
}

.ddk-container .dots.checked .dot:after {
  left: -9px;
  width: 22px;
  transform: rotate(135deg);
}

/* TOGGLE NARROW ICON */
.ddk-container .toggleNarrow {
    text-align: center;
}

/* HAMBURGER CSS */
/*!
 * Hamburgers
 * @description Tasty CSS-animated hamburgers
 * @author Jonathan Suh @jonsuh
 * @site https://jonsuh.com/hamburgers
 * @link https://github.com/jonsuh/hamburgers
 */
.ddk-container .hamburger {
  display: inline-block;
  cursor: pointer;
  transition-property: opacity, filter;
  transition-duration: 0.15s;
  transition-timing-function: linear;
  font: inherit;
  color: inherit;
  text-transform: none;
  background-color: transparent;
  border: 0;
  margin: 0;
  overflow: visible; }
  .ddk-container .hamburger:hover {
    opacity: 0.7; }
  .ddk-container .hamburger.is-active:hover {
    opacity: 0.7; }
  .ddk-container .hamburger.is-active .hamburger-inner,
  .ddk-container .hamburger.is-active .hamburger-inner::before,
  .ddk-container .hamburger.is-active .hamburger-inner::after {
    background-color: #000; }

.ddk-container .hamburger-box {
  width: 20px;
  height: 24px;
  display: inline-block;
  position: relative; }

.ddk-container .hamburger-inner {
  display: block;
  top: 50%;
  margin-top: -2px; }
  .ddk-container .hamburger-inner, .ddk-container .hamburger-inner::before, .ddk-container .hamburger-inner::after {
    width: 20px;
    height: 2px;
    background-color: #000;
    border-radius: 2px;
    position: absolute;
    transition-property: transform;
    transition-duration: 0.15s;
    transition-timing-function: ease; }
  .ddk-container .hamburger-inner::before, .ddk-container .hamburger-inner::after {
    content: "";
    display: block; }
  .ddk-container .hamburger-inner::before {
    top: -5px; }
  .ddk-container .hamburger-inner::after {
    bottom: -5px; }

/*
 * Minus
 */
.ddk-container .hamburger--minus .hamburger-inner::before, .ddk-container .hamburger--minus .hamburger-inner::after {
  transition: bottom 0.2s 0s ease-out, top 0.2s 0s ease-out, opacity 0s linear; }

.ddk-container .hamburger--minus.is-active .hamburger-inner::before, .ddk-container .hamburger--minus.is-active .hamburger-inner::after {
  opacity: 0;
  transition: bottom 0.2s ease-out, top 0.2s ease-out, opacity 0s 0.2s linear; }

.ddk-container .hamburger--minus.is-active .hamburger-inner::before {
  top: 0; }

.ddk-container .hamburger--minus.is-active .hamburger-inner::after {
  bottom: 0; }

/* Modal and FullScreen */

.modal--backdrop {
    position: fixed;
    cursor: pointer;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
    margin: 0px;
    background-color: rgba(0,0,0,0.2);
    z-index: 1000;
}

.ddk-container #modalContainer .block.card.ddk-card:not(.card--content) {
    position: fixed;
}

.modal--container .expandToFull--modal {
    display: none;
}

.modal--inner {
    z-index: 1011;
    display: inline-block;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    max-width: 90%;
    max-height: 90%;
}

.ddk-container .expandToFull,
.ddk-container .copyText {
    cursor: pointer;
    padding: 5px;
    display: flex;
}

.ddk-container .block.card.ddk-card .card-header .header-expand-container {
    display: flex;
}

.ddk-container .block.card.ddk-card .card-header .expandToFull.expandToFull--workspace {
    position: relative;
    cursor: not-allowed;
}

.ddk-container .expandToFull.expandToFull--disabled.fullscreen--hidden {
    visibility: hidden;
}

.ddk-container .expandToFull svg,
.ddk-container .copyText svg {
    width: 25px;
    height: 25px;
    vertical-align: middle;
}

.ddk-container .expandToFull .cls-1 {
    transition: 0.2s transform;
}

/* Transitions for modal/fullscreen icon states */

/* Group 1 */

.ddk-container .expandToFull--fullscreen[data-expanded='false']:hover svg .cls-1:nth-child(3) {
    transform: translate(-9px,-9px);
    transform-origin: top;
}

.ddk-container .expandToFull--fullscreen[data-expanded='true'] svg .cls-1:nth-child(3),
.ddk-container .expandToFull--modal[data-expanded='true'] svg .cls-1:nth-child(1) {
    transform: rotateX(90deg) rotateZ(90deg) rotateY(-90deg) translate(-6px,-6px);
    transform-origin: top;
}

.ddk-container .expandToFull--fullscreen:hover[data-expanded='true'] svg .cls-1:nth-child(3) {
    transform: rotateX(90deg) rotateZ(90deg) rotateY(-90deg) translate(-14px,-14px);
    transform-origin: top;
}

/* Group 2 */

.ddk-container .expandToFull--fullscreen[data-expanded='false']:hover svg .cls-1:nth-child(6),
.ddk-container .expandToFull--modal[data-expanded='false']:hover svg .cls-2:nth-child(2) {
    transform: translate(9px,-9px);
    transform-origin: top;
}

.ddk-container .expandToFull--fullscreen[data-expanded='true'] svg .cls-1:nth-child(6),
.ddk-container .expandToFull--modal[data-expanded='true'] svg .cls-2:nth-child(2) {
    transform: rotateX(-90deg) rotateZ(-90deg) rotateY(-90deg) translate(6px,-6px);
    transform-origin: top;
}

.ddk-container .expandToFull--fullscreen[data-expanded='true']:hover svg .cls-1:nth-child(6) {
    transform: rotateX(-90deg) rotateZ(-90deg) rotateY(-90deg) translate(14px,-14px);
    transform-origin: top;
}

.ddk-container .expandToFull--modal[data-expanded='true']:hover svg .cls-2:nth-child(2) {
    transform: rotateX(-90deg) rotateZ(-90deg) rotateY(-90deg) translate(12px,-16px);
    transform-origin: top;
}

/* Group 3 */

.ddk-container .expandToFull--fullscreen[data-expanded='false']:hover svg .cls-1:nth-child(9),
.ddk-container .expandToFull--modal[data-expanded='false']:hover svg .cls-2:nth-child(4) {
    transform: translate(-9px,9px);
    transform-origin: bottom;
}

.ddk-container .expandToFull--fullscreen[data-expanded='true'] svg .cls-1:nth-child(9),
.ddk-container .expandToFull--modal[data-expanded='true'] svg .cls-2:nth-child(4) {
    transform: rotateX(-90deg) rotateZ(-90deg) rotateY(-90deg) translate(-6px,6px);
    transform-origin: bottom;
}

.ddk-container .expandToFull--fullscreen[data-expanded='true']:hover svg .cls-1:nth-child(9) {
    transform: rotateX(-90deg) rotateZ(-90deg) rotateY(-90deg) translate(-14px,14px);
    transform-origin: bottom;
}

.ddk-container .expandToFull--modal[data-expanded='true']:hover svg .cls-2:nth-child(4) {
    transform: rotateX(-90deg) rotateZ(-90deg) rotateY(-90deg) translate(-16px,12px);
    transform-origin: bottom;
}

/* Group 4 */

.ddk-container .expandToFull--fullscreen[data-expanded='false']:hover svg .cls-1:nth-child(12) {
    transform: translate(9px,9px);
    transform-origin: bottom;
}

.ddk-container .expandToFull--fullscreen[data-expanded='true'] svg .cls-1:nth-child(12),
.ddk-container .expandToFull--modal[data-expanded='true'] svg .cls-1:nth-child(3) {
    transform: rotateX(-90deg) rotateZ(90deg) rotateY(90deg) translate(6px,6px);
    transform-origin: bottom;
}

.ddk-container .expandToFull--fullscreen[data-expanded='true']:hover svg .cls-1:nth-child(12) {
    transform: rotateX(-90deg) rotateZ(90deg) rotateY(90deg) translate(14px,14px);
    transform-origin: bottom;
}

/* Hide fullscreen button on modal */
.ddk-container .block.card.ddk-card #modalContainer .expandToFull--fullscreen {
    display: none;
}

/* Hide modal button on fullscreen */
.ddk-container .block.card.ddk-card:fullscreen .expandToFull--modal {
    display: none;
}

.hidden {
    /* We do this instead of 'display: none'
       because plotly will measure based on rendered size */
    position: absolute; top: -9999px; left: -9999px;
}

/* specificity for hidden cards */
.ddk-container .block.card.ddk-card:not(.card--content).hidden {
    position: absolute;
}

/* Ensure print display rendering is more accurate
   see https://stackoverflow.com/questions/3893986/css-media-print-issues-
       with-background-color/14784655#14784655 */
.ddk-container {
    color-adjust: exact !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
}

/* Make Safari set fullscreen elements full-width */
_::-webkit-full-page-media, _:future, :root .fullscreen-element--expanded {
    width: 100%;
    height: 100%;
}

/* Set height of fullscreen graphs based on the number of siblings */

/* one graph */
.fullscreen--cb.fullscreen-element--expanded .dash-graph:first-of-type:nth-last-of-type(1),
#modalContainer .modal--cb .dash-graph:first-of-type:nth-last-of-type(1) {
  height: 100%;
}

/* two graphs */
.fullscreen--cb.fullscreen-element--expanded .dash-graph:first-of-type:nth-last-of-type(2),
.fullscreen--cb.fullscreen-element--expanded .dash-graph:first-of-type:nth-last-of-type(2) ~ .dash-graph,
#modalContainer .modal--cb .dash-graph:first-of-type:nth-last-of-type(2),
#modalContainer .modal--cb .dash-graph:first-of-type:nth-last-of-type(2) ~ .dash-graph {
    max-height: calc(50% - (52px/2)); /* 50px = height of Card header */
}

/* three graphs */
.fullscreen--cb.fullscreen-element--expanded .dash-graph:first-of-type:nth-last-of-type(3),
#modalContainer .modal--cb .dash-graph:first-of-type:nth-last-of-type(3) ~ .dash-graph {
    height: calc((100%/3) - (52px/3));
}

/* Copy icon + tooltip */

.copyText svg .cls-1,
.copyText svg .cls-2 {
    transition: all 0.5s ease;
}

.copyText svg .cls-3 {
    opacity: 0;
    transition: all 0.5s ease;
    transform: translate(15px,-12px);
}

.copyText.copied svg .cls-3 {
    opacity: 1;
    transform: translate(0px,0px);
}

.copyText {
    position: relative;
}

.copyText > div > div {
   display: flex;
   align-items: center;
}

.copyText.copied:before {
    content: "";
    position: absolute;
    left:50%;
    transform: translateX(-50%);
    border-width: 4px 6px 0 6px;
    border-style: solid;
    border-color: rgba(0,0,0,0.7) transparent transparent transparent;
    z-index: 100;
    top: calc(100% + 1px);
    transform: translateX(-50%) translatey(-100%) rotate(-180deg)
}

.copyText.copied:after {
    content: "Text copied to clipboard";
    position: absolute;
    top:100%;
    transform: translateX(-50%) translateY(0%);
    left: 50%;
    background: rgba(0,0,0,0.7);
    border-width: 1px;
    border-style: solid;
    border-color: black;
    text-align: center;
    color: #fff;
    padding: 4px 2px;
    font-size: 12px;
    min-width: 66px;
    border-radius: 5px;
    pointer-events: none;
}

.ddk-container .notification-store {
    font-size: 12px;
    margin: 10px;
    box-shadow: 
      0 0px 0px rgba(0,0,0,0.12),
      0 1px 2px rgba(0,0,0,0.24);
    position: fixed;
    top: 0;
    right: 0;
    border-radius: 5px;
    max-height: 80%;
    overflow: auto;
    /* above plotly.js modebar (1001) and ddk.Modal (1005) z-indices */
    z-index: 1015;
}


.ddk-container .notification-store-mobile-button {
    display: none;
    /* z-index higher than Header */
    z-index: 1005;
    position: fixed;
    right: 20px;
    top: 20px;
    font-size: 30px;
    border-radius:50%;
    height: 60px;
    width: 60px;
    justify-content: center;
    align-items: center;
}

.ddk-container .notification-store-mobile-button .notification-store-mobile-button--alert-count {
    font-size: 12px;
}

.ddk-container .notification img {
    width: 100%;
    height: auto;
}

.ddk-container .notification {
    width: 100%;
    position: relative;
    overflow: hidden;
    /* above plotly.js modebar (1001) and ddk.Modal (1005) z-indices */
    z-index: 1015;
}

.ddk-container .notification:first-child .title {
    border-top: none;
}

.ddk-container .notification--content {
    padding: 5px;
}

.ddk-container .notification[folded="true"] .notification--content {
    max-height: 0px;
    padding: 0px;
    visibility: hidden;
    transition: max-height 0.15s ease-in, visibility 0.15s ease-in, padding 0.15s ease-out;
}
.ddk-container .notification[folded="false"] .notification--content {
    max-height: 500px;
    transition: max-height 0.15s ease-in, visibility 0.15s ease-in, padding 0.15s ease-in;
}

.ddk-container .notification[folded="true"] .notification--title {
    border-bottom: none;
}

.ddk-container .notification .notification--delete {
    position: absolute;
    top: 9px;
    right: 7px;
    cursor: pointer;
}
.ddk-container .notification .notification--collapse {
    position: absolute;
    top: 9px;
    right: 24px;
    cursor: pointer;
}

.ddk-container .notification .notification--title {
    font-weight: bold;
    font-size: 1.0rem;
    padding: 5px;
}

.ddk-container .notification .notification--title--inner {
    max-width: calc(100% - 30px);
}

/* Classes to animate notifications with react-transition-group */
.ddk-container .notification-enter {
    opacity: 0.01;
    max-height: 0px;
    margin-bottom: 0px;
    padding-top: 0px;
    padding-bottom: 0px;
    box-shadow: none;
  }
  
.ddk-container  .notification-enter.notification-enter-active {
    opacity: 1;
    max-height: 1000px;
    transition: 1500ms;
  }

.ddk-container .notification-leave {
    opacity: 0;
  }

.ddk-container .notification-leave.notification-leave-active {
    opacity: 0;
    transition: 250ms ease-out;
    height: 0px;
    margin-bottom: 0px;
    margin-top:0px;
    padding-top: 0px;
    padding-bottom: 0px;
    box-shadow: none;
  }

.ddk-container .block.card.ddk-card .card-header .expandToFull--disabled {
    visibility: hidden;
}

.ddk-container .block.card.ddk-card .card-header .expandToFull--workspace {
    position: relative;
}

.ddk-container .block.card.ddk-card .card-header .expandToFull--workspace:hover:before,
.ddk-container button.edit-theme-button--old-edge:hover:before {
    content: "";
    position: absolute;
    left:50%;
    transform: translateX(-50%);
    border-width: 4px 6px 0 6px;
    border-style: solid;
    border-color: rgba(0,0,0,0.7) transparent transparent transparent;
    z-index: 1015;
    top: calc(100% + 1px);
    transform: translateX(-50%) translatey(-100%) rotate(-180deg)
}

.ddk-container .block.card.ddk-card .card-header .expandToFull--workspace.expandToFull--fullscreen:hover:after,
.ddk-container button.edit-theme-button--old-edge:hover:after {
    position: absolute;
    top:100%;
    transform: translateX(-50%) translateY(0%);
    left: 50%;
    background: rgba(0,0,0,0.7);
    border-width: 1px;
    border-style: solid;
    border-color: black;
    text-align: center;
    color: #fff;
    padding: 4px 2px;
    font-size: 12px;
    min-width: 66px;
    border-radius: 5px;
    pointer-events: none;
    z-index: 1015;
}

.ddk-container .block.card.ddk-card .card-header .expandToFull--workspace.expandToFull--fullscreen:hover:after {
    content: "Fullscreen within Workspaces Preview is only supported in Chrome";
}

.ddk-container.ddk-container button.edit-theme-button.edit-theme-button--old-edge {
    overflow: visible;
    cursor: not-allowed;
}

.ddk-container.ddk-container button.edit-theme-button.edit-theme-button--old-edge:hover:after {
    content: "The DDK Theme Editor is not compatible with Microsoft Edge below v79. Please upgrade your Edge browser.";
    top: auto;
    text-transform: none;
    line-height: normal;
    padding: 5px;
    bottom: calc(100% + 6px);
    left: 100%;
    width: 250px;
}

.ddk-container.ddk-container button.edit-theme-button.edit-theme-button--old-edge:hover:before {
    bottom: calc(100% - 3px);
    top: auto;
}
