/**
 * UI switcher element.
 */
.ui-switch {
    display: inline-block;
    position: relative;

    margin: 15px;

    cursor: pointer;

    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.ui-properties .ui-switch {
    margin: 0 15px 0 15px;
}

.ui-switch > * {
    display: inline-block;
}

.ui-switch .side {
    display: block;
    position: absolute;

    margin: 0 10px;

    text-align: center;
}

.ui-switch .side:after {
    content: '';
    display: block;
    position: absolute;

    width: 0;
    height: 2px;

    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);

    margin-top: 2px;

    background-color: #2196F3;

    -webkit-transition: all 200ms;
    -moz-transition: all 200ms;
    -ms-transition: all 200ms;
    -o-transition: all 200ms;
    transition: all 200ms;
}

.ui-switch .side > * {
    display: block;
}

.ui-switch .side > *:nth-child(1) {
    font-size: 100%;
    font-weight: bold;
}

.ui-switch .side > *:nth-child(2) {
    font-size: 70%;
    font-weight: 400;

    margin-top: -5px;
}

.ui-switch .side.right {
    left: 100%;
}

.ui-switch input[type=checkbox]:checked ~ .side.right:after {
    width: 120%;
}

.ui-switch .side.left {
    right: 100%;
}

.ui-switch input[type=checkbox]:not(:checked) ~ .side.left:after {
    width: 120%;
}

.ui-switch input[type=checkbox] {
    display: none;
}

.ui-switch .slider,
.ui-switch .slider:before {
    -webkit-transition: all 150ms cubic-bezier(0, 0, 0.13, 1);
    -moz-transition: all 150ms cubic-bezier(0, 0, 0.13, 1);
    -ms-transition: all 150ms cubic-bezier(0, 0, 0.13, 1);
    -o-transition: all 150ms cubic-bezier(0, 0, 0.13, 1);
    transition: all 150ms cubic-bezier(0, 0, 0.13, 1);
}

.ui-switch .slider {
    width: 70px;
    height: 40px;

    position: relative;
    display: inline-block;

    padding: 5px;

    background-color: rgb(220, 220, 220);

    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    border-radius: 20px;

    -webkit-box-shadow: inset 0 0 15px rgba(0, 0, 0, 0.05);
    -moz-box-shadow: inset 0 0 15px rgba(0, 0, 0, 0.05);
    box-shadow: inset 0 0 15px rgba(0, 0, 0, 0.05);
}

.ui-switch .slider:before {
    content: '';
    display: block;
    position: absolute;

    width: 30px;
    height: 30px;
    left: 0;

    background-color: white;

    -webkit-box-shadow: 0 3px 5px rgba(0, 0, 0, 0.15);
    -moz-box-shadow: 0 3px 5px rgba(0, 0, 0, 0.15);
    box-shadow: 0 3px 5px rgba(0, 0, 0, 0.15);

    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    border-radius: 100%;

    -webkit-transform: translateX(20%);
    -moz-transform: translateX(20%);
    -ms-transform: translateX(20%);
    -o-transform: translateX(20%);
    transform: translateX(20%);
}

.ui-switch.toggle input[type=checkbox]:checked ~ .slider {
    background-color: #2196F3;
}

.ui-switch input[type=checkbox]:checked ~ .slider:before {
    left: 100%;

    -webkit-transform: translateX(-120%);
    -moz-transform: translateX(-120%);
    -ms-transform: translateX(-120%);
    -o-transform: translateX(-120%);
    transform: translateX(-120%);
}


/**
 * UI dropbox element.
 */
.ui-dropbox {
    padding: 4rem 2rem;

    background-color: rgb(238, 238, 238);

    border: 3px dashed darkgray;

    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;

    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;

    max-width: 450px;

    -webkit-transition: all 200ms;
    -moz-transition: all 200ms;
    -ms-transition: all 200ms;
    -o-transition: all 200ms;
    transition: all 200ms;
}

.ui-dropbox .ui-icon {
    width: 70px;
    height: 70px;

    margin: 5px auto;
}

.ui-dropbox .ui-icon:before {
    background-image: url(../img/image.png);
}

.ui-dropbox p:first-of-type {
    font-weight: 600;
    font-size: 130%;
}

.ui-dropbox p {
    font-weight: 200;
}

.ui-dropbox .ui-button {
    margin: 20px;
}

.ui-dropbox.hover {
    -webkit-box-shadow: inset 0 0 0 5px #2196F3;
    -moz-box-shadow: inset 0 0 0 5px #2196F3;
    box-shadow: inset 0 0 0 5px #2196F3;

    border-style: solid;
    border-color: #2196F3;
}


/**
 * Caption switch.
 */
.ui-switch-caption:not(.active) > *:last-child {
    display: none;
}

.ui-switch-caption.active > *:first-child {
    display: none;
}


/**
 * Form field element.
 */
.ui-form-field {
    position: relative;
    display: inline-block;

    width: 100%;

    margin: 0 0 15px 0;
}
.ui-form-field.element_checkboxes{
    width: 20%;
    margin: 0 0 15px 0;
}

.ui-form-field-group {
    margin: 5px 0 15px 0;
}

.ui-form-field > input,
.ui-form-field > textarea {
    -webkit-transition: all 200ms ease-out;
    -moz-transition: all 200ms ease-out;
    -ms-transition: all 200ms ease-out;
    -o-transition: all 200ms ease-out;
    transition: all 200ms ease-out;
}

.ui-form-field > textarea,
.ui-form-field > input:not([type='button']):not([type='submit']),
.ui-form-field > select {
    background-color: rgb(238, 238, 238);
    border: 1px solid darkgray;
}

.ui-settings-stack .ui-form-field > input:not([type='button']):not([type='submit']) {
    background-color: white;

    border: transparent;
    border-bottom: 3px solid gainsboro;
}

.ui-settings-stack .ui-form-field > input:not([type='button']):not([type='submit']):focus {
    outline: none;
    border-bottom-color: #4ea3d8;
}

.ui-settings-stack .ui-form-field {
    margin-top: 15px;
}

.ui-form-field > * {
    text-transform: uppercase;
    vertical-align: middle;

    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.ui-form-field > input[type=text],
.ui-form-field > textarea {
    text-transform: none;
}

.ui-form-field textarea,
.ui-form-field input:not([type=checkbox]) {
    width: 100%;
    resize: vertical;
}

.ui-form-field select {
    margin: 5px 0;
}

.ui-form-field select {
    padding: 5px;
}

.ui-form-field textarea,
.ui-form-field input:not([type=submit]) {
    /*padding: 10px;*/
    padding: 5px;
    font-size: 14pt;
}

.ui-form-field label,
.ui-form-field select,
.ui-form-field input {
    font-weight: bold;
}

.ui-form-field label input#fire_engineered {
    margin-left: 20px;
}

.ui-form-field.no-margin {
    margin-left: 0;
    margin-right: 0;
}

/**
 * Project info items.
 */

.ui-info-item {
    margin-bottom: 5px;
}

.ui-info-item > .title {
    display: inline-block;
    font-weight: bold;
}

.ui-info-item > .value {
    float: right;
}

/**
 * Project messages.
 */

.tippy-backdrop {
    background-color: rgba(51, 51, 51, 0.8);
}

.message {
    padding: 5px;
    margin-bottom: 10px;

    background: #3f4c58;
    border: #476b8c 1px solid;

    -webkit-box-shadow: 0 4px 10px #00000042;
    -moz-box-shadow: 0 4px 10px #00000042;
    box-shadow: 0 4px 10px #00000042;
}

.message.error {
    background-color: #cc1b2b;
    border-color: #f1273a;
}

div[role=tooltip] .message {
    background-color: transparent;
    border-color: transparent;
}

div[role=tooltip] .message.error {
    color: white;
    border-bottom: 2px solid #cc1b2b;
}

/**
 * Settings stack.
 */

.ui-settings-stack {
    padding: 5px;

    text-align: left;
}

.ui-settings-stack .ui-form-field > *:nth-child(2):not(.selectize-control) {
    position: absolute;
    right: 0;

    margin-top: -10px;
}

.ui-settings-stack .ui-form-field > .ui-switch {
    margin-right: 40px;
}

.ui-settings-stack .ui-form-field > input {
    width: 160px;

    text-align: right;
}


/**
 * Properties block deviations.
 */

 /* .ui-properties-block .ui-form-field > *:not(label) {
    display: inline-block;
} */

.ui-properties-block .ui-form-field > div:nth-child(2) {
    width: 60%;
}

.ui-properties-block .ui-form-field > input:nth-child(3) {
    width: 30%;
    margin-left: 20px;
    padding-right: 0;
}

/**
 * Custom selectize styling.
 */

.ui-form-field.minimal .selectize-control {
    position: relative;
    display: inline-block;

    margin-top: 12px;
}

.selectize-control {
    width: 100%;
}

.selectize-control .selectize-input,
.selectize-control .selectize-input.dropdown-active {
    margin: 10px 0;
    padding: 10px;

    border: none;
    border-bottom: 3px solid gainsboro;

    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
}

/*.selectize-control .dropdown-active > input {*/
    /*display: none !important;*/
/*}*/

.selectize-dropdown-content > div,
.selectize-dropdown div[data-value] {
    padding: 15px;
}

.selectize-control .selectize-dropdown {
    margin-top: -10px;

    z-index: 9999;
}

.selectize-dropdown div[data-value] .title,
.selectize-control div[data-value] .title {
    font-size: 120%;
    font-weight: bold;
}

.selectize-dropdown div[data-value] .subtitle,
.selectize-control div[data-value] .subtitle {
    font-weight: lighter;
}

body .selectize-dropdown {
    margin-top: -15px;

    z-index: 999999;
}

.ui-button.ui-button-fluid > .tool-underscore {
    text-decoration: underline;
    line-height: 22pt;
}

.star-cb-group {
    font-size: 0;
    unicode-bidi: bidi-override;
    direction: rtl;
    display: flex;
    margin-top: 20px;
    margin-bottom: 20px;
}
.star-cb-group * {
    font-size: 1rem;
}
.star-cb-group > input {
    display: none;
}
.star-cb-group > input + label {
    display: inline-block;
    text-indent: 9999px;
    width: 1em;
    white-space: nowrap;
    cursor: pointer;
    font-size: 60px;
}
.star-cb-group > input + label:before {
    display: inline-block;
    text-indent: -9999px;
    content: "☆";
    color: #888;
}
.star-cb-group > input:checked ~ label:before, .star-cb-group > input + label:hover ~ label:before, .star-cb-group > input + label:hover:before {
    content: "★";
    color: #e52;
    text-shadow: 0 0 1px #333;
}
.star-cb-group > .star-cb-clear + label {
    text-indent: -9999px;
    width: .5em;
    margin-left: -.5em;
}
.star-cb-group > .star-cb-clear + label:before {
    width: .5em;
}
.star-cb-group:hover > input + label:before {
    content: "☆";
    color: #888;
    text-shadow: none;
}
.star-cb-group:hover > input + label:hover ~ label:before, .star-cb-group:hover > input + label:hover:before {
    content: "★";
    color: #e52;
    text-shadow: 0 0 1px #333;
}

@media screen and (max-width: 650px) {
    .ui-settings-stack .ui-form-field > *:nth-child(2):not(.selectize-control) {
        margin-top: 15px;
    }
}

.ui-button-lock-size {
    width: 50px;
    height: 50px;
}

.property-buttons-container {
    position: absolute;
    transform: translate(-50%, -50%);
}

.property-buttons-container > div {
    border-radius: 50%;
    background-size: 30px;
    background-repeat: no-repeat;
    background-origin: content-box;
}
