span.modified-html-input {  
    display: inline-block;
    cursor: pointer;
}

span.modified-html-input.disabled {
    pointer-events: none;
    opacity: 0.25;
}

span.modified-html-input input {
    pointer-events: none;
    display: none;
}

label span.modified-html-input {
    margin-top: -0.2em;
    margin-right: 5px;
    vertical-align: middle;
}

/**
 * -----------------
 * input type toggle
 * -----------------
 */

span.modified-html-input.input-type-toggle {
    position: relative;
    width: 40px;
    height: 20px;
    border-radius: 11px;
    background-color: var( --color-pearlgray-light );
    border: 1px solid var( --color-pearlgray );
    transition: all 0.1s;
}

span.modified-html-input.input-type-toggle:hover, label:hover span.modified-html-input.input-type-toggle {
    border: 1px solid var( --color-panthagray );
}

span.modified-html-input.input-type-toggle::before {
    content: '';
    display: block;
    position: absolute;
    top: 0px;
    left: 0px;
    width: 18px;
    height: 18px;
    border-radius: 11px;
    background-color: var( --color-white );
    transition: all 0.1s;
}

span.modified-html-input.input-type-toggle.active {
    background-color: var( --color-orange );
    border: 1px solid var( --color-brick );
}

span.modified-html-input.input-type-toggle.active::before {
    left: 20px;
}

span.modified-html-input.input-type-toggle.active:hover, label:hover span.modified-html-input.input-type-toggle.active {
    background-color: var( --color-brick );
}

/**
 * -------------------
 * input type checkbox
 * -------------------
 */

span.modified-html-input.input-type-checkbox {
    position: relative;
    appearance: none;
    width: 1.2em;
    height: 1.2em;
    background-color: var( --color-white );
    border: 1px solid var( --color-pearlgray );
    border-radius: 2px;
    transition: all 0.1s;
    overflow: hidden;
}

span.modified-html-input.input-type-checkbox:hover, label:hover span.modified-html-input.input-type-checkbox {
    border: 1px solid var( --color-panthagray );
}

span.modified-html-input.input-type-checkbox.active {
    background-color: var( --color-white );
    border: 1px solid var( --color-brick );
}

span.modified-html-input.input-type-checkbox.active::before {
    display: inline;
    content: "\f14a";
    position: absolute;
    top: -2px;
    left: 0px;
    width: 100%;
    font-family: 'Font Awesome 5 Free';
    font-weight: 700;
    color: var( --color-orange );
    line-height: 1em;
    text-align: center;
    font-size: 18px;
    transition: all 0.1s;
}

span.modified-html-input.input-type-checkbox.active:hover::before, label:hover span.modified-html-input.input-type-checkbox.active::before {
    color: var( --color-brick );
}

/**
 * ----------------
 * input type radio
 * ----------------
 */

span.modified-html-input.input-type-radio {
    position: relative;
    appearance: none;
    width: 1.2em;
    height: 1.2em;
    background-color: var( --color-white );
    border: 1px solid var( --color-pearlgray );
    border-radius: 50%;
    transition: all 0.1s;
}

span.modified-html-input.input-type-radio:hover, label:hover span.modified-html-input.input-type-radio {
    border: 1px solid var( --color-panthagray );
}

span.modified-html-input.input-type-radio.active {
    background-color: var( --color-orange );
    border: 1px solid var( --color-brick );
}

span.modified-html-input.input-type-radio.active::before {
    display: inline;
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 50%;
    height: 50%;
    transform: translate( -50%, -50% );
    border-radius: 50%;
    background-color: var( --color-white );
}

span.modified-html-input.input-type-radio.active:hover, label:hover span.modified-html-input.input-type-radio.active {
    background-color: var( --color-brick );
}

/**
 * ----------------
 * input type range
 * ----------------
 */

span.modified-html-input.input-type-minmax {
    position: relative;
    width: 100%;
    max-width: 300px;
    min-height: 51px;
}

span.modified-html-input.input-type-minmax .minmax-bounds-inputs {
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    flex-wrap: nowrap;
    align-items: center;
    padding: 10px 0;
}

span.modified-html-input.input-type-minmax .minmax-bounds-inputs .value {
    column-gap: 5px;
    min-width: 0;
    max-width: 50%;
}

span.modified-html-input.input-type-minmax .minmax-bounds-inputs .value input {
    flex: auto;
    border: 1px solid transparent !important;
    border-radius: 0;
    background-color: transparent !important;
    padding: 0;
    text-align: center;
    overflow: hidden;
    text-overflow: ellipsis;
}

span.modified-html-input.input-type-minmax:not(.disabled) .minmax-bounds-inputs .value input {
    pointer-events: all;
}

span.modified-html-input.input-type-minmax:not(.disabled) .minmax-bounds-inputs .value input {
    -moz-appearance: textfield;
    appearance: textfield;
}

span.modified-html-input.input-type-minmax:not(.disabled) .minmax-bounds-inputs .value input::-webkit-inner-spin-button,
span.modified-html-input.input-type-minmax:not(.disabled) .minmax-bounds-inputs .value input::-webkit-outer-spin-button {
    -webkit-appearance: none;
}

span.modified-html-input.input-type-minmax:not(.disabled) .minmax-bounds-inputs .value input:hover,
span.modified-html-input.input-type-minmax:not(.disabled) .minmax-bounds-inputs .value input:focus {
    pointer-events: all;
    border-bottom: 1px solid var( --color-panthagray ) !important;
    box-shadow: none !important;
}

span.modified-html-input.input-type-minmax .minmax-bounds-inputs .seperator,
span.modified-html-input.input-type-minmax .minmax-bounds-inputs .unit {
    flex: none;
    vertical-align: middle;
}

span.modified-html-input.input-type-minmax .minmax-bounds-range {
    position: relative;
    width: calc( 100% - 20px );
    margin: 10px;
}

span.modified-html-input.input-type-minmax .minmax-bounds-range .background {
    width: 100%;
    height: 10px;
    border-radius: 2px;
}

span.modified-html-input.input-type-minmax .minmax-bounds-range .background-static {
    position: relative;
    background-color: var( --color-white );
    border: 1px solid var( --color-pearlgray );
}

span.modified-html-input.input-type-minmax .minmax-bounds-range .background-dynamic {
    position: absolute;
    top: 0;
    background-color: var( --color-orange );
    border: 1px solid var( --color-brick );
}

span.modified-html-input.input-type-minmax .minmax-bounds-range .fa-grip-lines-vertical {
    cursor: pointer;
    position: absolute;
    font-size: 14px;
    line-height: 1em;
    color: var( --color-pearlgray );
    text-align: center;
    width: calc( 1em + 4px );
    top: -9px;
    padding: 6px 4px;
    background-color: var( --color-white );
    border: 1px solid var( --color-pearlgray );
    border-radius: 2px;
    transform: translateX( -50% );
    z-index: 0;
    transition: border 0.1s, color 0.1s, background-color 0.1s;
}

span.modified-html-input.input-type-minmax .minmax-bounds-range .fa-grip-lines-vertical:hover,
span.modified-html-input.input-type-minmax .minmax-bounds-range .fa-grip-lines-vertical.active {
    color: var( --color-panthagray );
    border: 1px solid var( --color-panthagray );
    z-index: 1;
}