html, body, .joint-app {
    position: relative;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    -webkit-user-select: none;
    -moz-user-select: -moz-none;
    user-select: none;
    font-family: sans-serif, Arial;
    overflow: hidden;
}

.app-header {
    position: relative;
    width: 100%;
}

.app-body {
    position: relative;
    height: -moz-calc(100% - 60px);
    height: -webkit-calc(100% - 60px);
    height: calc(100% - 60px);
}

.app-title {
    display: inline-block;
    width: 240px;
    height: 100%;
    padding: 0;
}

.app-title > h1 {
    color: #fff;
    font-size: 18px;
    line-height: 60px;
    text-align: center;
    text-transform: uppercase;
    margin: 0;
    padding: 0 0 0 0px;
}

/*  Paper  */
.paper-container {
    position: absolute;
    top: 0;
    height: 100%;
    overflow: hidden;
    box-sizing: border-box;
    left: 240px;
    right: 240px;
}

/* Cells */

.joint-paper-scroller[data-cursor="crosshair"] .joint-cell {
    cursor: crosshair;
}
 
/*  Inspector  */
.inspector-container {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 120px; /* navigator height */
    width: 240px;
    box-sizing: border-box;
}
.object-property[data-property$="/fill"],
.object-property[data-property$="/stroke"],
.field[data-field$="/fill"],
.field[data-field$="/stroke"] {
    display: inline-block;
    vertical-align: top;
    width: 50%;
}

.joint-select-box.joint-color-palette .select-box-option:nth-child(2):not(.hover) {
    border: inset;
    border-width: 1px;
}

.joint-inspector-select-box-options {
    width: 190px;
}

/*  Navigator  */
.navigator-container {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 240px;
    height: 120px;
}

/*  Stencil  */
.stencil-container {
    position: absolute;
    left: 0;
    top: 0;
    width: 240px;
    height: 100%;
}

.joint-stencil .joint-element[data-type="standard.Image"] text,
.joint-stencil .joint-element[data-type="standard.Cylinder"] text,
.joint-stencil .joint-element[data-type="standard.InscribedImage"] text,
.joint-stencil .joint-element[data-type="devs.Atomic"] .inPorts text,
.joint-stencil .joint-element[data-type="devs.Atomic"] .outPorts text,
.joint-stencil .joint-element[data-type="pn.Transition"] text,
.joint-stencil .joint-element .joint-port text {
    display: none;
}

.joint-stencil .joint-element.joint-type-uml rect,
.joint-stencil .joint-element.joint-type-uml path {
    stroke: #4a4d6e;
}

/*  Toolbar  */
.toolbar-container {
    display: inline-block;
    position: absolute;
    height: 100%;
    left: 240px;
    right: 240px;
    box-sizing: border-box;
}

.toolbar-container .joint-toolbar {
    width: 100%;
    height: 100%;
}

.toolbar-container label {
    white-space: nowrap;
}

.toolbar-container button:not(:empty) {
    padding: 0 4px;
}

.joint-dialog.joint-lightbox .fg {
    background-color: #F6F6F6;
}

/* ****************************** custom ****************************** */
/*  Run Button  */
.run-button-container {
    display: inline-block;
    position: absolute;
    height: 60px;
    width: 240px;
    right: 0;
    background-color: #30d0c6;
    text-align: center;
    line-height: 60px;
}

.run-button-container .btn {
    background-color: #4CAF50;
    border: none;
    border-radius: 8px;
    color: white;
    padding: 8px 8px;
    text-align: center;
    display: inline-block;
    font-size: 12px;
    cursor: pointer;
}

.run-button-container .btn:hover {
    background-color: #3e8e41;
}
/* ****************************** custom ****************************** */

/*  Theme Picker  */
.joint-theme-picker {
    position: absolute;
    bottom: 20px;
    right: 260px;
    border-radius: 5px;
    padding: 3px 1px !important;
}


/* Modern */
.joint-theme-picker.joint-theme-modern {
    border: 1px solid lightgray;
}

.joint-app.joint-theme-modern .app-title {
    background: #30d0c6;
}

.joint-app.joint-theme-modern .inspector-container {
    background: #383b61;
}

.joint-widget.joint-theme-modern[data-name="clear"]:after,
.joint-widget.joint-theme-modern[data-name="layout"]:after,
.joint-widget.joint-theme-modern[data-name="print"]:after {
    display: block;
    width: 31px;
    height: 31px;
    content: ' ';
    background-color: transparent;
    background-position: 0 0;
    background-repeat: no-repeat;
    background-image: url(./../assets/toolbar-icons-modern.png);
}

.joint-widget.joint-theme-modern[data-name="clear"]:after {
    background-position: 0 -62px;
}

.joint-widget.joint-theme-modern[data-name="clear"]:hover:after {
    background-position: -31px -62px;
}

.joint-widget.joint-theme-modern[data-name="layout"]:after {
    background-position: 0 -124px;
}

.joint-widget.joint-theme-modern[data-name="layout"]:hover:after {
    background-position: -31px -124px;
}

.joint-widget.joint-theme-modern[data-name="print"]:after {
    background-position: 0 -248px;
}

.joint-widget.joint-theme-modern[data-name="print"]:hover:after {
    background-position: -31px -248px;
}

.joint-widget.joint-theme-modern[data-name="clear"],
.joint-widget.joint-theme-modern[data-name="layout"],
.joint-widget.joint-theme-modern[data-name="print"] {
    position: relative;
    top: -1px;
    border: none;
    padding: 0;
}

@media screen and (max-width: 1230px) and (min-width: 1170px) {
    .joint-toolbar.joint-theme-modern div[data-name="zoom-slider"] input,
    .joint-toolbar.joint-theme-modern label[data-name="zoom-slider-label"] {
        display: none;
    }

    .joint-app.joint-theme-modern .toolbar-container button[data-type="zoomIn"],
    .joint-app.joint-theme-modern .toolbar-container button[data-type="zoomOut"] {
        display: block;
    }
}

@media screen and (max-width: 1170px) {
    .joint-app.joint-theme-modern .toolbar-container {
        overflow-y: auto;
    }

    .joint-toolbar.joint-theme-modern {
        flex-wrap: wrap;
    }

    .joint-app.joint-theme-modern .app-title h1 {
        line-height: 92px;
    }

    .joint-app.joint-theme-modern .app-body {
        height: -moz-calc(100% - 92px);
        height: -webkit-calc(100% - 92px);
        height: calc(100% - 92px);
    }
}

/*  IE  */
@media screen and (max-width: 1490px) and (min-width: 0\0
) {
    .joint-toolbar.joint-theme-modern div[data-name="zoom-slider"] input,
    .joint-toolbar.joint-theme-modern label[data-name="zoom-slider-label"] {
        display: none;
    }

    .joint-app.joint-theme-modern .toolbar-container button[data-type="zoomIn"],
    .joint-app.joint-theme-modern .toolbar-container button[data-type="zoomOut"] {
        display: block;
    }
}

@media screen and (max-width: 1380px) and (min-width: 0\0
) {
    .joint-toolbar.joint-theme-modern div[data-name="zoom-slider"] input,
    .joint-toolbar.joint-theme-modern label[data-name="zoom-slider-label"] {
        display: inline-block;
    }

    .joint-app.joint-theme-modern .toolbar-container button[data-type="zoomIn"],
    .joint-app.joint-theme-modern .toolbar-container button[data-type="zoomOut"] {
        display: none;
    }

    .joint-app.joint-theme-modern .toolbar-container {
        overflow-y: auto;
    }

    .joint-toolbar.joint-theme-modern {
        flex-wrap: wrap; /*  IE 11 */
    }

    .joint-app.joint-theme-modern .app-title h1 {
        line-height: 92px;
    }

    .joint-app.joint-theme-modern .app-body {
        height: -moz-calc(100% - 92px);
        height: -webkit-calc(100% - 92px);
        height: calc(100% - 92px);
    }
}

/* Dark */
.joint-app.joint-theme-dark .app-title {
    background: #383c3f;
    box-shadow: inset -2px -1px 0px #333;
}

.joint-app.joint-theme-dark .inspector-container {
    background: #5e6366;
}

.joint-paper.joint-theme-dark .port-label {
    fill: #c6c7e2;
}

.joint-stencil.joint-theme-dark .joint-element.joint-type-uml rect,
.joint-stencil.joint-theme-dark .joint-element.joint-type-uml path {
    stroke: #5e6366;
}

.joint-select-box.joint-color-palette.joint-theme-dark .select-box-option:nth-child(2):not(.hover) {
    border: none;
}

@font-face {
    font-family: 'toolbar-icons-dark-kitchen-sink';
    src: url('./../assets/toolbar-icons-dark.woff') format('woff');
}

.joint-widget.joint-theme-dark[data-name="clear"]:after,
.joint-widget.joint-theme-dark[data-name="layout"]:after,
.joint-widget.joint-theme-dark[data-name="print"]:after {
    font-family: "toolbar-icons-dark-kitchen-sink", sans-serif;
    font-style: normal;
    font-weight: normal;
    display: inline-block;
    margin: auto;
    text-align: center;
    font-variant: normal;
    text-transform: none;
    line-height: 1em;
    font-size: 22px;
}

.joint-widget.joint-theme-dark[data-name="clear"]:after {
    content: '\e850';
}

.joint-widget.joint-theme-dark[data-name="layout"]:after {
    content: '\e853';
}

.joint-widget.joint-theme-dark[data-name="print"]:after {
    content: '\e851';
}

@media screen and (max-width: 1390px) and (min-width: 1280px) {
    .joint-toolbar.joint-theme-dark div[data-name="zoom-slider"] input,
    .joint-toolbar.joint-theme-dark label[data-name="zoom-slider-label"] {
        display: none;
    }

    .joint-app.joint-theme-dark .toolbar-container button[data-type="zoomIn"],
    .joint-app.joint-theme-dark .toolbar-container button[data-type="zoomOut"] {
        display: block;
    }
}

@media screen and (max-width: 1280px) {
    .joint-app.joint-theme-dark .toolbar-container {
        overflow-y: auto;
    }

    .joint-toolbar.joint-theme-dark {
        flex-wrap: wrap;
    }

    .joint-app.joint-theme-dark .app-title h1 {
        line-height: 92px;
    }

    .joint-app.joint-theme-dark .app-body {
        height: -moz-calc(100% - 92px);
        height: -webkit-calc(100% - 92px);
        height: calc(100% - 92px);
    }
}

/*  IE  */
@media screen and (max-width: 1390px) and (min-width: 0\0
) {
    .joint-toolbar.joint-theme-dark div[data-name="zoom-slider"] input,
    .joint-toolbar.joint-theme-dark label[data-name="zoom-slider-label"] {
        display: none;
    }

    .joint-app.joint-theme-dark .toolbar-container button[data-type="zoomIn"],
    .joint-app.joint-theme-dark .toolbar-container button[data-type="zoomOut"] {
        display: block;
    }
}

@media screen and (max-width: 1350px) and (min-width: 0\0
) {
    .joint-toolbar.joint-theme-dark div[data-name="zoom-slider"] input,
    .joint-toolbar.joint-theme-dark label[data-name="zoom-slider-label"] {
        display: inline-block;
    }

    .joint-app.joint-theme-dark .toolbar-container button[data-type="zoomIn"],
    .joint-app.joint-theme-dark .toolbar-container button[data-type="zoomOut"] {
        display: none;
    }

    .joint-app.joint-theme-dark .toolbar-container {
        overflow-y: auto;
    }

    .joint-toolbar.joint-theme-dark {
        flex-wrap: wrap; /*  IE 11 */
    }

    .joint-app.joint-theme-dark .app-title h1 {
        line-height: 92px;
    }

    .joint-app.joint-theme-dark .app-body {
        height: -moz-calc(100% - 92px);
        height: -webkit-calc(100% - 92px);
        height: calc(100% - 92px);
    }
}

.joint-tool.joint-theme-dark[data-tool-name="source-arrowhead"],
.joint-tool.joint-theme-dark[data-tool-name="target-arrowhead"],
.joint-tool.joint-theme-dark[data-tool-name="segments"] rect,
.joint-tool.joint-theme-dark[data-tool-name="vertices"] circle {
    fill: white;
    stroke: black;
}

.joint-tool.joint-theme-dark[data-tool-name="source-anchor"] rect,
.joint-tool.joint-theme-dark[data-tool-name="target-anchor"] rect {
    stroke: white;
}

/* Material */
.joint-app.joint-theme-material .inspector-container {
    background: #ecf0f8;
}

.joint-app.joint-theme-material .app-title {
    box-shadow: inset -1px -1px 1px #434c63;
    background-color: #545D74;
    background-image: -ms-linear-gradient(top, #6B748F 0%, #545D74 100%);
    background-image: -moz-linear-gradient(top, #6B748F 0%, #545D74 100%);
    background-image: -o-linear-gradient(top, #6B748F 0%, #545D74 100%);
    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #6B748F), color-stop(100, #545D74));
    background-image: -webkit-linear-gradient(top, #6B748F 0%, #545D74 100%);
    background-image: linear-gradient(to bottom, #6B748F 0%, #545D74 100%);
}

.joint-stencil.joint-theme-material .joint-element.joint-type-uml rect,
.joint-stencil.joint-theme-material .joint-element.joint-type-uml path {
    stroke: #ecf0f8;
}

.joint-inspector.joint-theme-material .select-button-group-button {
    background: #d0d8e8;
}

.joint-toolbar.joint-theme-material .joint-widget[data-type="separator"],
.joint-toolbar.joint-theme-material button {
    height: 60px;
}

.joint-toolbar.joint-theme-material .joint-toolbar-group + .joint-toolbar-group button.joint-widget.joint-theme-material[data-type="zoomIn"] {
    border-width: 0 0 0 2px;
}

.joint-widget.joint-theme-material[data-name="clear"]:after {
    background-position: -46px -100px;
}

.joint-widget.joint-theme-material[data-name="layout"]:after {
    background-position: -5px -99px;
}

.joint-widget.joint-theme-material[data-name="print"]:after {
    background-position: -88px -100px;
}

.joint-widget.joint-theme-material[data-name="clear"]:after,
.joint-widget.joint-theme-material[data-name="layout"]:after,
.joint-widget.joint-theme-material[data-name="print"]:after {
    display: block;
    width: 33px;
    height: 33px;
    content: ' ';
    background-color: transparent;
    background-repeat: no-repeat;
    background-image: url(./../assets/toolbar-icons-material.png);
}

@media screen and (max-width: 1460px) and (min-width: 1300px) {
    .joint-toolbar.joint-theme-material div[data-name="zoom-slider"] input,
    .joint-toolbar.joint-theme-material label[data-name="zoom-slider-label"] {
        display: none;
    }

    .joint-app.joint-theme-material .toolbar-container button[data-type="zoomIn"],
    .joint-app.joint-theme-material .toolbar-container button[data-type="zoomOut"] {
        display: block;
    }
}

@media screen and (max-width: 1300px) {
    .joint-app.joint-theme-material .toolbar-container {
        overflow-y: auto;
    }

    .joint-toolbar.joint-theme-material {
        flex-wrap: wrap;
    }

    .joint-app.joint-theme-material .app-title h1 {
        line-height: 92px;
    }

    .joint-app.joint-theme-material .app-body {
        height: -moz-calc(100% - 92px);
        height: -webkit-calc(100% - 92px);
        height: calc(100% - 92px);
    }

    .joint-toolbar.joint-theme-material .joint-widget[data-type="separator"],
    .joint-toolbar.joint-theme-material button {
        height: 45px;
    }
}

/*  IE  */
@media screen and (max-width: 1500px) and (min-width: 0\0) {
    .joint-toolbar.joint-theme-material div[data-name="zoom-slider"] input,
    .joint-toolbar.joint-theme-material label[data-name="zoom-slider-label"] {
        display: none;
    }

    .joint-app.joint-theme-material .toolbar-container button[data-type="zoomIn"],
    .joint-app.joint-theme-material .toolbar-container button[data-type="zoomOut"] {
        display: block;
    }
}

@media screen and (max-width: 1420px) and (min-width: 0\0) {
    .joint-toolbar.joint-theme-material div[data-name="zoom-slider"] input,
    .joint-toolbar.joint-theme-material label[data-name="zoom-slider-label"] {
        display: inline-block;
    }

    .joint-app.joint-theme-material .toolbar-container button[data-type="zoomIn"],
    .joint-app.joint-theme-material .toolbar-container button[data-type="zoomOut"] {
        display: none;
    }

    .joint-app.joint-theme-material .toolbar-container {
        overflow-y: auto;
    }

    .joint-toolbar.joint-theme-material {
        flex-wrap: wrap; /*  IE 11 */
    }

    .joint-app.joint-theme-material .app-title h1 {
        line-height: 92px;
    }

    .joint-app.joint-theme-material .app-body {
        height: -moz-calc(100% - 92px);
        height: -webkit-calc(100% - 92px);
        height: calc(100% - 92px);
    }

    .joint-toolbar.joint-theme-material .joint-widget[data-type="separator"],
    .joint-toolbar.joint-theme-material button {
        height: 45px;
    }

    .joint-toolbar.joint-theme-material .joint-toolbar-group {
        height: 40px;
    }
}