body.sms-app .sms-loading {
    background: radial-gradient(circle, var(--bs-dark-bg-subtle) 15%, rgba(0, 0, 0, 0) 50%);
    transition: opacity 0.25s;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}

body.sms-app .sms-loading div img {
    box-shadow: 1px 1px 5px 1px rgba(0, 0, 0, 0.5);
}

body.sms-app .sms-loading div h1 {
    text-shadow: 1px 1px 5px #000000;
}

body.sms-app .sms-application {
    opacity: 0;
    transition: opacity 1s;
}

.sms-hidden-system {
    display: none;
}

.sms-toolstrip {
    background-color: var(--bs-white);
}

[data-bs-theme=dark] .sms-toolstrip {
    background-color: var(--bs-dark-bg-subtle);
}

[data-bs-theme=dark] .sms-invert-dark {
    filter: invert(1);
}


/* 
 * Background themes
 */
.sms-app .sms-backdrop {
    background: none;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100%;
    z-index: -1;
}

/* Background theme 01 */
.sms-app .sms-backdrop.sms-background-theme-01 {
    background-image: url(/assets/image/background/theme-01-light.png);
}

[data-bs-theme=dark] .sms-app .sms-backdrop.sms-background-theme-01 {
    background-image: url(/assets/image/background/theme-01-dark.png);
}

/* Background theme 02 */
.sms-app .sms-backdrop.sms-background-theme-02 {
    background-image: url(/assets/image/background/theme-02-light.png);
}

[data-bs-theme=dark] .sms-app .sms-backdrop.sms-background-theme-02 {
    background-image: url(/assets/image/background/theme-02-dark.png);
}

/* Background theme 03 */
.sms-app .sms-backdrop.sms-background-theme-03 {
    background-image: url(/assets/image/background/theme-03-light.png);
}

[data-bs-theme=dark] .sms-app .sms-backdrop.sms-background-theme-03 {
    background-image: url(/assets/image/background/theme-03-dark.png);
}

/* Background theme 04 */
.sms-app .sms-backdrop.sms-background-theme-04 {
    background-image: url(/assets/image/background/theme-04-light.png);
}

[data-bs-theme=dark] .sms-app .sms-backdrop.sms-background-theme-04 {
    background-image: url(/assets/image/background/theme-04-dark.png);
}

/* Background theme 05 */
.sms-app .sms-backdrop.sms-background-theme-05 {
    background-image: url(/assets/image/background/theme-05-light.png);
}

[data-bs-theme=dark] .sms-app .sms-backdrop.sms-background-theme-05 {
    background-image: url(/assets/image/background/theme-05-dark.png);
}

/* Background theme 06 */
.sms-app .sms-backdrop.sms-background-theme-06 {
    background-image: url(/assets/image/background/theme-06-light.png);
}

[data-bs-theme=dark] .sms-app .sms-backdrop.sms-background-theme-06 {
    background-image: url(/assets/image/background/theme-06-dark.png);
}

/* Background theme 07 */
.sms-app .sms-backdrop.sms-background-theme-07 {
    background-image: url(/assets/image/background/theme-07-light.png);
    background-position: center bottom;
    background-size: cover;
}

[data-bs-theme=dark] .sms-app .sms-backdrop.sms-background-theme-07 {
    background-image: url(/assets/image/background/theme-07-dark.png);
}

/* Background theme 08 */
.sms-app .sms-backdrop.sms-background-theme-08 {
    background-image: url(/assets/image/background/theme-08-light.png), linear-gradient(180deg, #d4e5ef 50%, #bcc2c4 50%);
    background-repeat: repeat-x;
    background-position: center;
    background-size: 65%;
}

[data-bs-theme=dark] .sms-app .sms-backdrop.sms-background-theme-08 {
    background-image: url(/assets/image/background/theme-08-dark.png), linear-gradient(180deg, #2a3239 50%, #21272c 50%);
}

/* Utility classes */
.sms-font-small,
.sms-font-small.input-group-text,
.sms-font-small input,
.sms-font-small select {
    font-size: 10pt;
}


/* Toolstrip button colours */
.sms-toolstrip button.btn-ui:not([disabled]):not(.btn-link):not(.active),
.sms-toolstrip input[type=text]:not([disabled]),
.sms-toolstrip input[type=number]:not([disabled]),
.sms-toolstrip select:not([disabled]) {
    background-color: var(--bs-white);
}

[data-bs-theme=dark] .sms-toolstrip button.btn-ui:not([disabled]):not(.active),
[data-bs-theme=dark] .sms-toolstrip input[type=text]:not([disabled]),
[data-bs-theme=dark] .sms-toolstrip input[type=number]:not([disabled]),
[data-bs-theme=dark] .sms-toolstrip select:not([disabled]) {
    background-color: var(--bs-dark-bg-subtle);
}

.sms-toolstrip button.btn-ui:not([disabled]):not(.btn-link):not(.active):hover {
    background-color: var(--bs-secondary-text-emphasis);
}

.sms-toolstrip input[type=text]:not([disabled]):hover,
.sms-toolstrip input[type=number]:not([disabled]):hover,
.sms-toolstrip select:not([disabled]):hover {
    color: var(--bs-secondary-text-emphasis);
}

.sms-toolstrip .sms-toolstrip-button {
    min-width: 30px;
}

.sms-toolstrip .sms-toolstrip-number-spinner {
    width: 60px;
}

/* Toolbox button colours */

.sms-toolbox button.btn-ui:not([disabled]):not(.btn-link),
.sms-toolbox input[type=text]:not([disabled]),
.sms-toolbox input[type=number]:not([disabled]),
.sms-toolbox textarea:not([disabled]),
.sms-toolbox select:not([disabled]) {
    color: var(--bs-btn-color);
    background-color: var(--bs-white);
}

.sms-toolbox button.btn-ui:not([disabled]):not(.btn-link):hover,
.sms-toolbox input[type=text]:not([disabled]):hover,
.sms-toolbox input[type=number]:not([disabled]):hover,
.sms-toolbox textarea:not([disabled]):hover,
.sms-toolbox select:not([disabled]):hover {
    color: var(--bs-dark);
    background-color: var(--bs-btn-color);
}

[data-bs-theme=dark] .sms-toolbox button.btn-ui:not([disabled]):not(.btn-link),
[data-bs-theme=dark] .sms-toolbox input[type=text]:not([disabled]),
[data-bs-theme=dark] .sms-toolbox input[type=number]:not([disabled]),
[data-bs-theme=dark] .sms-toolbox textarea:not([disabled]),
[data-bs-theme=dark] .sms-toolbox select:not([disabled]) {
    color: var(--bs-btn-color);
    background-color: var(--bs-dark-bg-subtle);
}

[data-bs-theme=dark] .sms-toolbox button.btn-ui:not([disabled]):not(.btn-link):hover,
[data-bs-theme=dark] .sms-toolbox input[type=text]:not([disabled]):hover,
[data-bs-theme=dark] .sms-toolbox input[type=number]:not([disabled]):hover,
[data-bs-theme=dark] .sms-toolbox textarea:not([disabled]):hover,
[data-bs-theme=dark] .sms-toolbox select:not([disabled]):hover {
    color: var(--bs-white);
    background-color: var(--bs-black);
    border-color: var(--bs-white);
}

/* Dialogue button colours */

.sms-dialogue button.btn-ui:not([disabled]),
.sms-dialogue input[type=text]:not([disabled]),
.sms-dialogue input[type=number]:not([disabled]),
.sms-dialogue textarea:not([disabled]),
.sms-dialogue select:not([disabled]) {
    color: var(--bs-btn-color);
    background-color: var(--bs-white);
}

.sms-dialogue button.btn-ui:not([disabled]):hover,
.sms-dialogue input[type=text]:not([disabled]):hover,
.sms-dialogue input[type=number]:not([disabled]):hover,
.sms-dialogue textarea:not([disabled]):hover,
.sms-dialogue select:not([disabled]):hover {
    color: var(--bs-dark);
    background-color: var(--bs-btn-color);
}

[data-bs-theme=dark] .sms-dialogue button.btn-ui:not([disabled]),
[data-bs-theme=dark] .sms-dialogue input[type=text]:not([disabled]),
[data-bs-theme=dark] .sms-dialogue input[type=number]:not([disabled]),
[data-bs-theme=dark] .sms-dialogue textarea:not([disabled]),
[data-bs-theme=dark] .sms-dialogue select:not([disabled]) {
    color: var(--bs-btn-color);
    background-color: var(--bs-dark-bg-subtle);
}

[data-bs-theme=dark] .sms-dialogue button.btn-ui:not([disabled]):hover,
[data-bs-theme=dark] .sms-dialogue input[type=text]:not([disabled]):hover,
[data-bs-theme=dark] .sms-dialogue input[type=number]:not([disabled]):hover,
[data-bs-theme=dark] .sms-dialogue textarea:not([disabled]):hover,
[data-bs-theme=dark] .sms-dialogue select:not([disabled]):hover {
    color: var(--bs-white);
    background-color: var(--bs-black);
    border-color: var(--bs-white);
}

/* Card toolbar (top of palette and tile map sidebars) */
.sms-card-toolbar button {
    min-width: 31px;
    padding: .25rem .5rem;
    border-radius: 0;
    font-size: .875rem !important;
}

.sms-card-toolbar button:last-of-type {
    border-top-right-radius: var(--bs-border-radius);
}

/* Utility classes */

button:disabled img {
    opacity: 0.5;
}

.sms-invert {
    filter: invert(1);
}

.sms-opacity-50 {
    opacity: 0.5;
}

.sms-layout {
    font-size: 14px;
}

.sms-layout input,
.sms-layout select,
.sms-layout button,
.sms-layout label {
    font-size: 12px;
}

.sms-layout .sms-layout-header .navbar-brand img {
    width: 75px;
    height: auto;
    box-shadow: 1px 1px 5px 1px rgba(0, 0, 0, 0.25);
}

.sms-layout .sms-layout-header .navbar-brand label {
    font-size: 22px;
    text-shadow: 1px 1px 5px #000000;
}

.sms-layout .sms-layout-header .sms-project-toolbar {
    width: 400px;
}

.sms-layout .sms-layout-content .sms-layout-content-left {
    width: 250px;
}

.sms-layout .sms-layout-content .sms-layout-content-right {
    width: 250px;
}

.btn.btn-outline-secondary i.bi img[src$=".svg"] {
    opacity: 0.5;
}

/* Accordion list (palette and tile set selectors) */

.sms-accordion-list button.sms-accordion-item {
    background-color: var(--bs-light-bg);
    padding-bottom: 4px;
}

/* Styles for drag and drop on the palette select list */

.sms-accordion-list [data-list-item] {
    transition: border-width 100ms linear;
}

.sms-accordion-list [data-list-item].list-insert-top {
    border-top: 5px solid var(--bs-primary) !important;
}

.sms-accordion-list [data-list-item].list-insert-bottom,
.sms-accordion-list [data-list-item]:last-of-type.list-insert-bottom {
    border-bottom: 5px solid var(--bs-primary) !important;
}

.sms-accordion-list [data-list-item] button {
    transition: background-color 100ms linear;
}

.sms-accordion-list [data-list-item] button:hover.sms-accordion-item {
    background-color: var(--bs-dark-bg-subtle);
}

[data-bs-theme=dark] .sms-accordion-list [data-list-item] button.sms-accordion-item {
    background-color: var(--bs-dark-bg-subtle);
}

[data-bs-theme=dark] .sms-accordion-list [data-list-item] button:hover.sms-accordion-item {
    background-color: var(--bs-black);
}

.sms-accordion-list [data-list-item] button.sms-accordion-item.active {
    color: var(--bs-dark-text);
    background-color: var(--bs-secondary-bg);
    border-bottom: none !important;
    text-shadow: 0 0 3px #FFFFFF;
}

[data-bs-theme=dark] .sms-accordion-list [data-list-item] button.sms-accordion-item.active {
    color: var(--bs-light-text-emphasis);
    text-shadow: 0 0 3px #000000;
}

.sms-accordion-list [data-list-item] button.sms-accordion-item .icon-expanded {
    display: none;
}

.sms-accordion-list [data-list-item] button.sms-accordion-item.active .icon-expand {
    display: none;
}

.sms-accordion-list [data-list-item] button.sms-accordion-item.active.hidden-when-active,
.sms-accordion-list [data-list-item] button.sms-accordion-item.active .hidden-when-active {
    display: none !important;
}

.sms-accordion-list [data-list-item]:last-of-type {
    border-bottom: none !important;
    border-bottom-left-radius: var(--bs-card-border-radius);
    border-bottom-right-radius: var(--bs-card-border-radius);
}

.sms-accordion-list [data-list-item]:last-of-type button {
    border-bottom-left-radius: var(--bs-card-border-radius);
    border-bottom-right-radius: var(--bs-card-border-radius);
}



/* Main layout */

/* .sms-container .sms-smaller-font,
.sms-container .sms-smaller-font.input-group-text,
.sms-container .sms-smaller-font input,
.sms-container .sms-smaller-font select {
    font-size: 10pt;
}

.sms-container .sms-dropdown-menu {
    font-size: 10pt;
}

.sms-container .sms-dropdown-menu li i.bi {
    font-size: 1.25em;
    margin-right: 4px;
} */
/* 
.sms-container {
    height: 100vh;
    display: flex;
    flex-direction: column;
} */
/* 
.sms-container .sms-header-bar {
    min-height: 50px;
    z-index: 20;
}

.sms-container .sms-header-bar .sms-navbar {
    background-color: #EEEEEE;
    box-shadow: 0px 0px 6px #888888;
}

[data-bs-theme=dark] .sms-container .sms-header-bar .sms-navbar {
    background-color: #282d31;
    box-shadow: 0px 0px 6px #000000;
}

.sms-container .sms-header-bar .sms-navbar .navbar-brand {
    margin-left: 4px;
    font-size: 25px;
    text-shadow: 0px 0px 2px #FFFFFF, 1px 1px 5px #555555;
}

[data-bs-theme=dark] .sms-container .sms-header-bar .sms-navbar .navbar-brand {
    text-shadow: 0px 0px 2px #000000, 1px 1px 5px #000000;
}

.sms-container .sms-header-bar .sms-navbar .navbar-brand img {
    float: left;
    margin: 4px 10px 0 5px;
    height: 22px;
    width: auto;
    box-shadow: 1px 1px 4px #444444;
}

[data-bs-theme=dark] .sms-container .sms-header-bar .sms-navbar .navbar-brand img {
    box-shadow: 1px 1px 4px #000000;
}

.sms-container .sms-content {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    z-index: 2;
    width: 100%;
    flex-grow: 1;
}

.sms-container .sms-content .sms-content-col {
    padding: 15px;
}

.sms-container .sms-content .sms-content-col.sms-left {
    width: 250px;
}

.sms-container .sms-content .sms-content-col.sms-right {
    position: relative;
    flex-grow: 1;
    min-width: 250px;
    padding-left: 0;
}

.sms-container .sms-content .sms-rows {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.sms-container .sms-content .sms-rows .sms-row {
    position: relative;
    box-sizing: border-box;
}

.sms-container .sms-content .sms-rows .sms-row.sms-grow {
    flex-grow: 1;
}


.sms-bottom-links {

} */