/*
-------------------------------------------------------------------------------
11. Form elements [hm-11]
-------------------------------------------------------------------------------
*/

/*
Fieldsets, form-groups, form-rows and cols, labels, legends, form-text, 
invalid-feedback, inline-form
*/

fieldset {
    padding: 0;
    border-width: 0;
}
label {
    display: inline-block;
    margin-bottom: var(--label-margin-bottom);
}
label.required:after {
    content: "*";
    color: var(--danger-color);
    margin-left: 0.3rem;
}
legend {
    display: block;
    margin-bottom: var(--legend-margin-bottom);
}
.form-group {
    margin-bottom: var(--form-group-margin-bottom);
}

/* Form rows */

.form-row {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: var(--form-row-and-col-margin-bottom);
}

/* Form rows with equal spacing */

.form-row.row-eq-spacing>[class^="col"] {
    padding-left: var(--form-col-horizontal-padding);
    padding-right: var(--form-col-horizontal-padding);
}
.form-row.row-eq-spacing>[class^="col"]:first-child {
    padding-left: 0;
}
.form-row.row-eq-spacing>[class^="col"]:last-child {
    padding-right: 0;
}

/* Adjustments for small screens and up (> 576px) */

@media (min-width: 577px) {
    .form-row.row-eq-spacing-sm:not(.row-eq-spacing)>[class^="col"] {
        padding-left: var(--form-col-horizontal-padding);
        padding-right: var(--form-col-horizontal-padding);
    }
    .form-row.row-eq-spacing-sm:not(.row-eq-spacing)>[class^="col"]:first-child {
        padding-left: 0;
    }
    .form-row.row-eq-spacing-sm:not(.row-eq-spacing)>[class^="col"]:last-child {
        padding-right: 0;
    }
}
@media (max-width: 576px) {
    .form-row.row-eq-spacing-sm:not(.row-eq-spacing)>[class^="col"]:not(:last-child) {
        margin-bottom: var(--form-row-and-col-margin-bottom);
    }
}

/* Adjustments for medium screens and up (> 768px) */

@media (min-width: 769px) {
    .form-row.row-eq-spacing-md:not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^="col"] {
        padding-left: var(--form-col-horizontal-padding);
        padding-right: var(--form-col-horizontal-padding);
    }
    .form-row.row-eq-spacing-md:not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^="col"]:first-child {
        padding-left: 0;
    }
    .form-row.row-eq-spacing-md:not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^="col"]:last-child {
        padding-right: 0;
    }
}
@media (max-width: 768px) {
    .form-row.row-eq-spacing-md:not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^="col"]:not(:last-child) {
        margin-bottom: var(--form-row-and-col-margin-bottom);
    }
}

/* Adjustments for large screens and up (> 992px) */

@media (min-width: 993px) {
    .form-row.row-eq-spacing-lg:not(.row-eq-spacing-md):not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^="col"] {
        padding-left: var(--form-col-horizontal-padding);
        padding-right: var(--form-col-horizontal-padding);
    }
    .form-row.row-eq-spacing-lg:not(.row-eq-spacing-md):not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^="col"]:first-child {
        padding-left: 0;
    }
    .form-row.row-eq-spacing-lg:not(.row-eq-spacing-md):not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^="col"]:last-child {
        padding-right: 0;
    }
}
@media (max-width: 992px) {
    .form-row.row-eq-spacing-lg:not(.row-eq-spacing-md):not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^="col"]:not(:last-child) {
        margin-bottom: var(--form-row-and-col-margin-bottom);
    }
}

/* Adjustments for extra large screens and up (> 1200px) */

@media (min-width: 1201px) {
    .form-row.row-eq-spacing-xl:not(.row-eq-spacing-lg):not(.row-eq-spacing-md):not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^="col"] {
        padding-left: var(--form-col-horizontal-padding);
        padding-right: var(--form-col-horizontal-padding);
    }
    .form-row.row-eq-spacing-xl:not(.row-eq-spacing-lg):not(.row-eq-spacing-md):not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^="col"]:first-child {
        padding-left: 0;
    }
    .form-row.row-eq-spacing-xl:not(.row-eq-spacing-lg):not(.row-eq-spacing-md):not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^="col"]:last-child {
        padding-right: 0;
    }
}
@media (max-width: 1200px) {
    .form-row.row-eq-spacing-xl:not(.row-eq-spacing-lg):not(.row-eq-spacing-md):not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^="col"]:not(:last-child) {
        margin-bottom: var(--form-row-and-col-margin-bottom);
    }
}

/* Form text and feedback */

.form-text {
    color: var(--lm-form-text-text-color);
    font-size: var(--form-text-font-size);
    padding-top: var(--form-text-padding-top);
    padding-bottom: var(--form-text-padding-bottom);
    border-bottom: var(--form-text-border-width) var(--form-text-border-type) var(--lm-form-text-border-color);
}
.dark-mode .form-text {
    color: var(--dm-form-text-text-color);
    border-color: var(--dm-form-text-border-color);
}
.invalid-feedback {
    color: var(--lm-invalid-feedback-text-color);
    font-size: var(--invalid-feedback-font-size);
    padding-top: var(--invalid-feedback-padding-top);
    padding-bottom: var(--invalid-feedback-padding-bottom);
}
.dark-mode .invalid-feedback {
    color: var(--dm-invalid-feedback-text-color);
}

/* Inline form */

.form-inline,
.form-inline .form-group {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -ms-flex-align: center;
    align-items: center;
}
.form-inline .form-group {
    width: 100%;
}
.form-inline > .form-control,
.form-inline > .input-group,
.form-inline .form-group > .form-control,
.form-inline .form-group > .input-group {
    position: relative;
    -ms-flex: 1 1 0%;
    flex: 1 1 0%;
    min-width: 0;
}
.form-inline > label,
.form-inline > .custom-control,
.form-inline > .form-text,
.form-inline > .invalid-feedback,
.form-inline .form-group > label,
.form-inline .form-group > .custom-control,
.form-inline .form-group > .form-text,
.form-inline .form-group > .invalid-feedback {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    min-width: 0;
}
.form-inline > label,
.form-inline > .form-text,
.form-inline > .invalid-feedback,
.form-inline .form-group > label,
.form-inline .form-group > .form-text,
.form-inline .form-group > .invalid-feedback {
    margin: 0;
    padding: 0;
    border: none;
    white-space: nowrap;
}
.form-inline > .form-control:not(:last-child),
.form-inline > .input-group:not(:last-child),
.form-inline > label:not(:last-child),
.form-inline > .custom-control,
.form-inline > .btn:not(:last-child),
.form-inline > a.btn:not(:last-child),
.form-inline > .form-text:not(:last-child),
.form-inline > .invalid-feedback:not(:last-child),
.form-inline .form-group > .form-control:not(:last-child),
.form-inline .form-group > .input-group:not(:last-child),
.form-inline .form-group > label:not(:last-child),
.form-inline .form-group > .custom-control,
.form-inline .form-group > .btn:not(:last-child),
.form-inline .form-group > a.btn:not(:last-child),
.form-inline .form-group > .form-text:not(:last-child),
.form-inline .form-group > .invalid-feedback:not(:last-child) {
    margin-right: var(--form-inline-horizontal-margin);
}

/* Inline form for small screens and up (> 576px) */

@media (min-width: 577px) {
    .form-inline-sm,
    .form-inline-sm .form-group {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-flow: row wrap;
        flex-flow: row wrap;
        -ms-flex-align: center;
        align-items: center;
    }
    .form-inline-sm .form-group {
        width: 100%;
    }
    .form-inline-sm > .form-control,
    .form-inline-sm > .input-group,
    .form-inline-sm .form-group > .form-control,
    .form-inline-sm .form-group > .input-group {
        position: relative;
        -ms-flex: 1 1 0%;
        flex: 1 1 0%;
        min-width: 0;
    }
    .form-inline-sm > label,
    .form-inline-sm > .custom-control,
    .form-inline-sm > .form-text,
    .form-inline-sm > .invalid-feedback,
    .form-inline-sm .form-group > label,
    .form-inline-sm .form-group > .custom-control,
    .form-inline-sm .form-group > .form-text,
    .form-inline-sm .form-group > .invalid-feedback {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: center;
        align-items: center;
        min-width: 0;
    }
    .form-inline-sm > label,
    .form-inline-sm > .form-text,
    .form-inline-sm > .invalid-feedback,
    .form-inline-sm .form-group > label,
    .form-inline-sm .form-group > .form-text,
    .form-inline-sm .form-group > .invalid-feedback {
        margin: 0;
        padding: 0;
        border: none;
        white-space: nowrap;
    }
    .form-inline-sm > .form-control:not(:last-child),
    .form-inline-sm > .input-group:not(:last-child),
    .form-inline-sm > label:not(:last-child),
    .form-inline-sm > .custom-control,
    .form-inline-sm > .btn:not(:last-child),
    .form-inline-sm > a.btn:not(:last-child),
    .form-inline-sm > .form-text:not(:last-child),
    .form-inline-sm > .invalid-feedback:not(:last-child),
    .form-inline-sm .form-group > .form-control:not(:last-child),
    .form-inline-sm .form-group > .input-group:not(:last-child),
    .form-inline-sm .form-group > label:not(:last-child),
    .form-inline-sm .form-group > .custom-control,
    .form-inline-sm .form-group > .btn:not(:last-child),
    .form-inline-sm .form-group > a.btn:not(:last-child),
    .form-inline-sm .form-group > .form-text:not(:last-child),
    .form-inline-sm .form-group > .invalid-feedback:not(:last-child) {
        margin-right: var(--form-inline-horizontal-margin);
    }
}
@media (max-width: 576px) {
    .form-inline-sm > .form-control:not(:last-child),
    .form-inline-sm > .input-group:not(:last-child),
    .form-inline-sm > .custom-control,
    .form-inline-sm > .btn:not(:last-child),
    .form-inline-sm > a.btn:not(:last-child),
    .form-inline-sm .form-group > .form-control:not(:last-child),
    .form-inline-sm .form-group > .input-group:not(:last-child),
    .form-inline-sm .form-group > .custom-control,
    .form-inline-sm .form-group > .btn:not(:last-child),
    .form-inline-sm .form-group > a.btn:not(:last-child) {
        margin-bottom: var(--form-group-margin-bottom);
    }
}

/* Inline form for medium screens and up (> 768px) */

@media (min-width: 769px) {
    .form-inline-md,
    .form-inline-md .form-group {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-flow: row wrap;
        flex-flow: row wrap;
        -ms-flex-align: center;
        align-items: center;
    }
    .form-inline-md .form-group {
        width: 100%;
    }
    .form-inline-md > .form-control,
    .form-inline-md > .input-group,
    .form-inline-md .form-group > .form-control,
    .form-inline-md .form-group > .input-group {
        position: relative;
        -ms-flex: 1 1 0%;
        flex: 1 1 0%;
        min-width: 0;
    }
    .form-inline-md > label,
    .form-inline-md > .custom-control,
    .form-inline-md > .form-text,
    .form-inline-md > .invalid-feedback,
    .form-inline-md .form-group > label,
    .form-inline-md .form-group > .custom-control,
    .form-inline-md .form-group > .form-text,
    .form-inline-md .form-group > .invalid-feedback {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: center;
        align-items: center;
        min-width: 0;
    }
    .form-inline-md > label,
    .form-inline-md > .form-text,
    .form-inline-md > .invalid-feedback,
    .form-inline-md .form-group > label,
    .form-inline-md .form-group > .form-text,
    .form-inline-md .form-group > .invalid-feedback {
        margin: 0;
        padding: 0;
        border: none;
        white-space: nowrap;
    }
    .form-inline-md > .form-control:not(:last-child),
    .form-inline-md > .input-group:not(:last-child),
    .form-inline-md > label:not(:last-child),
    .form-inline-md > .custom-control,
    .form-inline-md > .btn:not(:last-child),
    .form-inline-md > a.btn:not(:last-child),
    .form-inline-md > .form-text:not(:last-child),
    .form-inline-md > .invalid-feedback:not(:last-child),
    .form-inline-md .form-group > .form-control:not(:last-child),
    .form-inline-md .form-group > .input-group:not(:last-child),
    .form-inline-md .form-group > label:not(:last-child),
    .form-inline-md .form-group > .custom-control,
    .form-inline-md .form-group > .btn:not(:last-child),
    .form-inline-md .form-group > a.btn:not(:last-child),
    .form-inline-md .form-group > .form-text:not(:last-child),
    .form-inline-md .form-group > .invalid-feedback:not(:last-child) {
        margin-right: var(--form-inline-horizontal-margin);
    }
}
@media (max-width: 768px) {
    .form-inline-md > .form-control:not(:last-child),
    .form-inline-md > .input-group:not(:last-child),
    .form-inline-md > .custom-control,
    .form-inline-md > .btn:not(:last-child),
    .form-inline-md > a.btn:not(:last-child),
    .form-inline-md .form-group > .form-control:not(:last-child),
    .form-inline-md .form-group > .input-group:not(:last-child),
    .form-inline-md .form-group > .custom-control,
    .form-inline-md .form-group > .btn:not(:last-child),
    .form-inline-md .form-group > a.btn:not(:last-child) {
        margin-bottom: var(--form-group-margin-bottom);
    }
}

/* Inline form for large screens and up (> 992px) */

@media (min-width: 993px) {
    .form-inline-lg,
    .form-inline-lg .form-group {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-flow: row wrap;
        flex-flow: row wrap;
        -ms-flex-align: center;
        align-items: center;
    }
    .form-inline-lg .form-group {
        width: 100%;
    }
    .form-inline-lg > .form-control,
    .form-inline-lg > .input-group,
    .form-inline-lg .form-group > .form-control,
    .form-inline-lg .form-group > .input-group {
        position: relative;
        -ms-flex: 1 1 0%;
        flex: 1 1 0%;
        min-width: 0;
    }
    .form-inline-lg > label,
    .form-inline-lg > .custom-control,
    .form-inline-lg > .form-text,
    .form-inline-lg > .invalid-feedback,
    .form-inline-lg .form-group > label,
    .form-inline-lg .form-group > .custom-control,
    .form-inline-lg .form-group > .form-text,
    .form-inline-lg .form-group > .invalid-feedback {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: center;
        align-items: center;
        min-width: 0;
    }
    .form-inline-lg > label,
    .form-inline-lg > .form-text,
    .form-inline-lg > .invalid-feedback,
    .form-inline-lg .form-group > label,
    .form-inline-lg .form-group > .form-text,
    .form-inline-lg .form-group > .invalid-feedback {
        margin: 0;
        padding: 0;
        border: none;
        white-space: nowrap;
    }
    .form-inline-lg > .form-control:not(:last-child),
    .form-inline-lg > .input-group:not(:last-child),
    .form-inline-lg > label:not(:last-child),
    .form-inline-lg > .custom-control,
    .form-inline-lg > .btn:not(:last-child),
    .form-inline-lg > a.btn:not(:last-child),
    .form-inline-lg > .form-text:not(:last-child),
    .form-inline-lg > .invalid-feedback:not(:last-child),
    .form-inline-lg .form-group > .form-control:not(:last-child),
    .form-inline-lg .form-group > .input-group:not(:last-child),
    .form-inline-lg .form-group > label:not(:last-child),
    .form-inline-lg .form-group > .custom-control,
    .form-inline-lg .form-group > .btn:not(:last-child),
    .form-inline-lg .form-group > a.btn:not(:last-child),
    .form-inline-lg .form-group > .form-text:not(:last-child),
    .form-inline-lg .form-group > .invalid-feedback:not(:last-child) {
        margin-right: var(--form-inline-horizontal-margin);
    }
}
@media (max-width: 992px) {
    .form-inline-lg > .form-control:not(:last-child),
    .form-inline-lg > .input-group:not(:last-child),
    .form-inline-lg > .custom-control,
    .form-inline-lg > .btn:not(:last-child),
    .form-inline-lg > a.btn:not(:last-child),
    .form-inline-lg .form-group > .form-control:not(:last-child),
    .form-inline-lg .form-group > .input-group:not(:last-child),
    .form-inline-lg .form-group > .custom-control,
    .form-inline-lg .form-group > .btn:not(:last-child),
    .form-inline-lg .form-group > a.btn:not(:last-child) {
        margin-bottom: var(--form-group-margin-bottom);
    }
}

/* Inline form for extra large screens and up (> 1200px) */

@media (min-width: 1201px) {
    .form-inline-xl,
    .form-inline-xl .form-group {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-flow: row wrap;
        flex-flow: row wrap;
        -ms-flex-align: center;
        align-items: center;
    }
    .form-inline-xl .form-group {
        width: 100%;
    }
    .form-inline-xl > .form-control,
    .form-inline-xl > .input-group,
    .form-inline-xl .form-group > .form-control,
    .form-inline-xl .form-group > .input-group {
        position: relative;
        -ms-flex: 1 1 0%;
        flex: 1 1 0%;
        min-width: 0;
    }
    .form-inline-xl > label,
    .form-inline-xl > .custom-control,
    .form-inline-xl > .form-text,
    .form-inline-xl > .invalid-feedback,
    .form-inline-xl .form-group > label,
    .form-inline-xl .form-group > .custom-control,
    .form-inline-xl .form-group > .form-text,
    .form-inline-xl .form-group > .invalid-feedback {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: center;
        align-items: center;
        min-width: 0;
    }
    .form-inline-xl > label,
    .form-inline-xl > .form-text,
    .form-inline-xl > .invalid-feedback,
    .form-inline-xl .form-group > label,
    .form-inline-xl .form-group > .form-text,
    .form-inline-xl .form-group > .invalid-feedback {
        margin: 0;
        padding: 0;
        border: none;
        white-space: nowrap;
    }
    .form-inline-xl > .form-control:not(:last-child),
    .form-inline-xl > .input-group:not(:last-child),
    .form-inline-xl > label:not(:last-child),
    .form-inline-xl > .custom-control,
    .form-inline-xl > .btn:not(:last-child),
    .form-inline-xl > a.btn:not(:last-child),
    .form-inline-xl > .form-text:not(:last-child),
    .form-inline-xl > .invalid-feedback:not(:last-child),
    .form-inline-xl .form-group > .form-control:not(:last-child),
    .form-inline-xl .form-group > .input-group:not(:last-child),
    .form-inline-xl .form-group > label:not(:last-child),
    .form-inline-xl .form-group > .custom-control,
    .form-inline-xl .form-group > .btn:not(:last-child),
    .form-inline-xl .form-group > a.btn:not(:last-child),
    .form-inline-xl .form-group > .form-text:not(:last-child),
    .form-inline-xl .form-group > .invalid-feedback:not(:last-child) {
        margin-right: var(--form-inline-horizontal-margin);
    }
}
@media (max-width: 1200px) {
    .form-inline-xl > .form-control:not(:last-child),
    .form-inline-xl > .input-group:not(:last-child),
    .form-inline-xl > .custom-control,
    .form-inline-xl > .btn:not(:last-child),
    .form-inline-xl > a.btn:not(:last-child),
    .form-inline-xl .form-group > .form-control:not(:last-child),
    .form-inline-xl .form-group > .input-group:not(:last-child),
    .form-inline-xl .form-group > .custom-control,
    .form-inline-xl .form-group > .btn:not(:last-child),
    .form-inline-xl .form-group > a.btn:not(:last-child) {
        margin-bottom: var(--form-group-margin-bottom);
    }
}

/* Inputs */

.form-control {
    display: block;
    width: 100%;
    height: var(--input-height);
    padding-left: var(--input-horizontal-padding);
    padding-right: var(--input-horizontal-padding);
    color: var(--lm-input-text-color);
    background-color: var(--lm-input-bg-color);
    border: var(--input-border-width) solid var(--lm-input-border-color);
    border-radius: var(--input-border-radius);
    -moz-box-shadow: var(--lm-input-box-shadow);
    -webkit-box-shadow: var(--lm-input-box-shadow);
    box-shadow: var(--lm-input-box-shadow);
    /* Removes the default styles on some devices. */
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
.form-control-sm {
    height: var(--small-input-height);
    padding-left: var(--small-input-horizontal-padding);
    padding-right: var(--small-input-horizontal-padding);
    font-size: var(--small-input-font-size);
}
.form-control-lg {
    height: var(--large-input-height);
    padding-left: var(--large-input-horizontal-padding);
    padding-right: var(--large-input-horizontal-padding);
    font-size: var(--large-input-font-size);
}
textarea.form-control {
    max-width: 100%;
    min-height: 10rem;
    padding: var(--input-horizontal-padding);
    line-height: var(--textarea-line-height);
}
textarea.form-control-sm {
    min-height: 8rem;
    padding: var(--small-input-horizontal-padding);
}
textarea.form-control-lg {
    min-height: 14rem;
    padding: var(--large-input-horizontal-padding);
}
.form-control:hover {
    color: var(--lm-input-text-color-hover);
    background-color: var(--lm-input-bg-color-hover);
    border-color: var(--lm-input-border-color-hover);
    -moz-box-shadow: var(--lm-input-box-shadow-hover);
    -webkit-box-shadow: var(--lm-input-box-shadow-hover);
    box-shadow: var(--lm-input-box-shadow-hover);
}
.form-control:focus {
    color: var(--lm-input-text-color-focus);
    background-color: var(--lm-input-bg-color-focus);
    border-color: var(--lm-input-border-color-focus);
    -moz-box-shadow: var(--lm-input-box-shadow-focus);
    -webkit-box-shadow: var(--lm-input-box-shadow-focus);
    box-shadow: var(--lm-input-box-shadow-focus);
    outline: none;
}
::-webkit-input-placeholder {
    /* Edge */
    color: var(--lm-input-placeholder-text-color);
}
:-ms-input-placeholder {
    /* Internet Explorer 10-11 */
    color: var(--lm-input-placeholder-text-color);
}
::placeholder {
    color: var(--lm-input-placeholder-text-color);
}
.form-control.disabled,
.form-control:disabled,
.form-control.disabled:hover,
.form-control:disabled:hover {
    /*
    The :disabled selector must still be added to the input field for the 
    forms to work as intended. Moreover, since focusing on an input with the 
    :disabled selector is impossible, the :focus styles are not overridden 
    (along with the :focus box shadows).
    */
    cursor: not-allowed;
    opacity: 0.6;
    color: var(--lm-input-text-color-disabled);
    background-color: var(--lm-input-bg-color-disabled);
    border-color: var(--lm-input-border-color-disabled);
}
.dark-mode .form-control {
    color: var(--dm-input-text-color);
    background-color: var(--dm-input-bg-color);
    border-color: var(--dm-input-border-color);
    -moz-box-shadow: var(--dm-input-box-shadow);
    -webkit-box-shadow: var(--dm-input-box-shadow);
    box-shadow: var(--dm-input-box-shadow);
}
.dark-mode .form-control:hover {
    color: var(--dm-input-text-color-hover);
    background-color: var(--dm-input-bg-color-hover);
    border-color: var(--dm-input-border-color-hover);
    -moz-box-shadow: var(--dm-input-box-shadow-hover);
    -webkit-box-shadow: var(--dm-input-box-shadow-hover);
    box-shadow: var(--dm-input-box-shadow-hover);
}
.dark-mode .form-control:focus {
    color: var(--dm-input-text-color-focus);
    background-color: var(--dm-input-bg-color-focus);
    border-color: var(--dm-input-border-color-focus);
    -moz-box-shadow: var(--dm-input-box-shadow-focus);
    -webkit-box-shadow: var(--dm-input-box-shadow-focus);
    box-shadow: var(--dm-input-box-shadow-focus);
    outline: none;
}
.dark-mode ::-webkit-input-placeholder {
    /* Edge */
    color: var(--dm-input-placeholder-text-color);
}
.dark-mode :-ms-input-placeholder {
    /* Internet Explorer 10-11 */
    color: var(--dm-input-placeholder-text-color);
}
.dark-mode ::placeholder {
    color: var(--dm-input-placeholder-text-color);
}
.dark-mode .form-control.disabled,
.dark-mode .form-control:disabled,
.dark-mode .form-control.disabled:hover,
.dark-mode .form-control:disabled:hover {
    color: var(--dm-input-text-color-disabled);
    background-color: var(--dm-input-bg-color-disabled);
    border-color: var(--dm-input-border-color-disabled);
}

/* Alternate dark mode inputs */

.dark-mode .form-control.alt-dm {
    color: var(--dm-input-alt-text-color);
    background-color: var(--dm-input-alt-bg-color);
    border-color: var(--dm-input-alt-border-color);
    -moz-box-shadow: var(--dm-input-alt-box-shadow);
    -webkit-box-shadow: var(--dm-input-alt-box-shadow);
    box-shadow: var(--dm-input-alt-box-shadow);
}
.dark-mode .form-control.alt-dm:hover {
    color: var(--dm-input-alt-text-color-hover);
    background-color: var(--dm-input-alt-bg-color-hover);
    border-color: var(--dm-input-alt-border-color-hover);
    -moz-box-shadow: var(--dm-input-alt-box-shadow-hover);
    -webkit-box-shadow: var(--dm-input-alt-box-shadow-hover);
    box-shadow: var(--dm-input-alt-box-shadow-hover);
}
.dark-mode .form-control.alt-dm:focus {
    color: var(--dm-input-alt-text-color-focus);
    background-color: var(--dm-input-alt-bg-color-focus);
    border-color: var(--dm-input-alt-border-color-focus);
    -moz-box-shadow: var(--dm-input-alt-box-shadow-focus);
    -webkit-box-shadow: var(--dm-input-alt-box-shadow-focus);
    box-shadow: var(--dm-input-alt-box-shadow-focus);
    outline: none;
}
.dark-mode .form-control.alt-dm::-webkit-input-placeholder {
    /* Edge */
    color: var(--dm-input-alt-placeholder-text-color);
}
.dark-mode .form-control.alt-dm:-ms-input-placeholder {
    /* Internet Explorer 10-11 */
    color: var(--dm-input-alt-placeholder-text-color);
}
.dark-mode .form-control.alt-dm::placeholder {
    color: var(--dm-input-alt-placeholder-text-color);
}
.dark-mode .form-control.alt-dm.disabled,
.dark-mode .form-control.alt-dm:disabled,
.dark-mode .form-control.alt-dm.disabled:hover,
.dark-mode .form-control.alt-dm:disabled:hover {
    color: var(--dm-input-alt-text-color-disabled);
    background-color: var(--dm-input-alt-bg-color-disabled);
    border-color: var(--dm-input-alt-border-color-disabled);
}

/* Inputs invalid (with errors) */

.form-group.is-invalid .form-control,
.form-control.is-invalid {
    color: var(--lm-input-invalid-text-color);
    background-color: var(--lm-input-invalid-bg-color);
    border-color: var(--lm-input-invalid-border-color);
    -moz-box-shadow: var(--lm-input-invalid-box-shadow);
    -webkit-box-shadow: var(--lm-input-invalid-box-shadow);
    box-shadow: var(--lm-input-invalid-box-shadow);
}
.form-group.is-invalid .form-control:hover,
.form-control.is-invalid:hover {
    color: var(--lm-input-invalid-text-color-hover);
    background-color: var(--lm-input-invalid-bg-color-hover);
    border-color: var(--lm-input-invalid-border-color-hover);
    -moz-box-shadow: var(--lm-input-invalid-box-shadow-hover);
    -webkit-box-shadow: var(--lm-input-invalid-box-shadow-hover);
    box-shadow: var(--lm-input-invalid-box-shadow-hover);
}
.form-group.is-invalid .form-control:focus,
.form-control.is-invalid:focus {
    color: var(--lm-input-invalid-text-color-focus);
    background-color: var(--lm-input-invalid-bg-color-focus);
    border-color: var(--lm-input-invalid-border-color-focus);
    -moz-box-shadow: var(--lm-input-invalid-box-shadow-focus);
    -webkit-box-shadow: var(--lm-input-invalid-box-shadow-focus);
    box-shadow: var(--lm-input-invalid-box-shadow-focus);
    outline: none;
}
.form-group.is-invalid .form-control::-webkit-input-placeholder {
    /* Edge */
    color: var(--lm-input-invalid-placeholder-text-color);
}
.form-group.is-invalid .form-control:-ms-input-placeholder {
    /* Internet Explorer 10-11 */
    color: var(--lm-input-invalid-placeholder-text-color);
}
.form-group.is-invalid .form-control::placeholder {
    color: var(--lm-input-invalid-placeholder-text-color);
}
.form-control.is-invalid::-webkit-input-placeholder {
    /* Edge */
    color: var(--lm-input-invalid-placeholder-text-color);
}
.form-control.is-invalid:-ms-input-placeholder {
    /* Internet Explorer 10-11 */
    color: var(--lm-input-invalid-placeholder-text-color);
}
.form-control.is-invalid::placeholder {
    color: var(--lm-input-invalid-placeholder-text-color);
}
.dark-mode .form-group.is-invalid .form-control,
.dark-mode .form-control.is-invalid {
    color: var(--dm-input-invalid-text-color);
    background-color: var(--dm-input-invalid-bg-color);
    border-color: var(--dm-input-invalid-border-color);
    -moz-box-shadow: var(--dm-input-invalid-box-shadow);
    -webkit-box-shadow: var(--dm-input-invalid-box-shadow);
    box-shadow: var(--dm-input-invalid-box-shadow);
}
.dark-mode .form-group.is-invalid .form-control:hover,
.dark-mode .form-control.is-invalid:hover {
    color: var(--dm-input-invalid-text-color-hover);
    background-color: var(--dm-input-invalid-bg-color-hover);
    border-color: var(--dm-input-invalid-border-color-hover);
    -moz-box-shadow: var(--dm-input-invalid-box-shadow-hover);
    -webkit-box-shadow: var(--dm-input-invalid-box-shadow-hover);
    box-shadow: var(--dm-input-invalid-box-shadow-hover);
}
.dark-mode .form-group.is-invalid .form-control:focus,
.dark-mode .form-control.is-invalid:focus {
    color: var(--dm-input-invalid-text-color-focus);
    background-color: var(--dm-input-invalid-bg-color-focus);
    border-color: var(--dm-input-invalid-border-color-focus);
    -moz-box-shadow: var(--dm-input-invalid-box-shadow-focus);
    -webkit-box-shadow: var(--dm-input-invalid-box-shadow-focus);
    box-shadow: var(--dm-input-invalid-box-shadow-focus);
    outline: none;
}
.dark-mode .form-group.is-invalid .form-control::-webkit-input-placeholder {
    /* Edge */
    color: var(--dm-input-invalid-placeholder-text-color);
}
.dark-mode .form-group.is-invalid .form-control:-ms-input-placeholder {
    /* Internet Explorer 10-11 */
    color: var(--dm-input-invalid-placeholder-text-color);
}
.dark-mode .form-group.is-invalid .form-control::placeholder {
    color: var(--dm-input-invalid-placeholder-text-color);
}
.dark-mode .form-control.is-invalid::-webkit-input-placeholder {
    /* Edge */
    color: var(--dm-input-invalid-placeholder-text-color);
}
.dark-mode .form-control.is-invalid:-ms-input-placeholder {
    /* Internet Explorer 10-11 */
    color: var(--dm-input-invalid-placeholder-text-color);
}
.dark-mode .form-control.is-invalid::placeholder {
    color: var(--dm-input-invalid-placeholder-text-color);
}
.dark-mode .form-group.is-invalid .form-control.alt-dm,
.dark-mode .form-control.alt-dm.is-invalid {
    color: var(--dm-input-alt-invalid-text-color);
    background-color: var(--dm-input-alt-invalid-bg-color);
    border-color: var(--dm-input-alt-invalid-border-color);
    -moz-box-shadow: var(--dm-input-alt-invalid-box-shadow);
    -webkit-box-shadow: var(--dm-input-alt-invalid-box-shadow);
    box-shadow: var(--dm-input-alt-invalid-box-shadow);
}
.dark-mode .form-group.is-invalid .form-control.alt-dm:hover,
.dark-mode .form-control.alt-dm.is-invalid:hover {
    color: var(--dm-input-alt-invalid-text-color-hover);
    background-color: var(--dm-input-alt-invalid-bg-color-hover);
    border-color: var(--dm-input-alt-invalid-border-color-hover);
    -moz-box-shadow: var(--dm-input-alt-invalid-box-shadow-hover);
    -webkit-box-shadow: var(--dm-input-alt-invalid-box-shadow-hover);
    box-shadow: var(--dm-input-alt-invalid-box-shadow-hover);
}
.dark-mode .form-group.is-invalid .form-control.alt-dm:focus,
.dark-mode .form-control.alt-dm.is-invalid:focus {
    color: var(--dm-input-alt-invalid-text-color-focus);
    background-color: var(--dm-input-alt-invalid-bg-color-focus);
    border-color: var(--dm-input-alt-invalid-border-color-focus);
    -moz-box-shadow: var(--dm-input-alt-invalid-box-shadow-focus);
    -webkit-box-shadow: var(--dm-input-alt-invalid-box-shadow-focus);
    box-shadow: var(--dm-input-alt-invalid-box-shadow-focus);
    outline: none;
}
.dark-mode .form-group.is-invalid .form-control.alt-dm.is-invalid::-webkit-input-placeholder {
    /* Edge */
    color: var(--dm-input-alt-invalid-placeholder-text-color);
}
.dark-mode .form-group.is-invalid .form-control.alt-dm.is-invalid:-ms-input-placeholder {
    /* Internet Explorer 10-11 */
    color: var(--dm-input-alt-invalid-placeholder-text-color);
}
.dark-mode .form-group.is-invalid .form-control.alt-dm.is-invalid::placeholder {
    color: var(--dm-input-alt-invalid-placeholder-text-color);
}
.dark-mode .form-control.alt-dm.is-invalid::-webkit-input-placeholder {
    /* Edge */
    color: var(--dm-input-alt-invalid-placeholder-text-color);
}
.dark-mode .form-control.alt-dm.is-invalid:-ms-input-placeholder {
    /* Internet Explorer 10-11 */
    color: var(--dm-input-alt-invalid-placeholder-text-color);
}
.dark-mode .form-control.alt-dm.is-invalid::placeholder {
    color: var(--dm-input-alt-invalid-placeholder-text-color);
}

/* Selects */

select.form-control:not([multiple]) {
    cursor: pointer;
    background-image: var(--select-bg-image);
    background-size: var(--select-bg-size);
    background-repeat: var(--select-bg-repeat);
    background-position: var(--select-bg-position);
    padding-right: var(--select-padding-right);
}
.dark-mode select.form-control:not([multiple]) > option {
    /* Required for some browsers, such as Firefox, or the old Ms Edge (ignored on webkit browsers) */
    color: var(--dm-input-text-color);
    background-color: var(--dark-color);
}
.dark-mode select.form-control:not([multiple]) > option:hover {
    /* Required for some browsers, such as Firefox, or the old Ms Edge (ignored on webkit browsers) */
    color: var(--dm-input-text-color);
    background-color: var(--primary-color);
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {  
    /*
    This hack resets the select boxes to their defaults on IE, because it is 
    not possible to remove the default dropdown arrow.
    */
    select.form-control:not([multiple]) {
        background-image: none;
        background-size: auto;
        background-repeat: initial;
        background-position: 0% 0%;
        padding-right: 0;
    } 
}
select.form-control[multiple] {
    overflow: auto;
    height: auto;
    padding: var(--input-horizontal-padding);
}
select.form-control-sm[multiple] {
    padding: var(--small-input-horizontal-padding);
}
select.form-control-lg[multiple] {
    padding: var(--large-input-horizontal-padding);
}
select.form-control[multiple] > option:not(:checked) {
    color: var(--lm-input-text-color);
}
.dark-mode select.form-control[multiple] > option:not(:checked) {
    color: var(--dm-input-text-color);
}
select.form-control[multiple] > option:disabled {
    color: var(--lm-muted-text-color);
}
.dark-mode select.form-control[multiple] > option:disabled {
    color: var(--dm-muted-text-color);
}

/* Checkbox */

.custom-checkbox {
    display: block;
    position: relative;
    line-height: var(--checkbox-line-height);
}
.custom-checkbox input[type="checkbox"] {
    /* Hide the default */
    position: absolute;
    opacity: 0;
    height: 0;
    width: 0;
}
.custom-checkbox label {
    display: inline-block;
    margin-bottom: 0;
    padding-left: var(--checkbox-label-padding-left);
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.custom-checkbox label.blank {
    padding-left: var(--checkbox-label-blank-padding-left);
}
.custom-checkbox label:before {
    content: "";
    display: inline-block;
    position: absolute;
    height: var(--checkbox-width-height);
    width: var(--checkbox-width-height);
    top: 0;
    left: 0;
    background-color: var(--lm-checkbox-bg-color);
    border: var(--checkbox-border-width) solid var(--lm-checkbox-border-color);
    border-radius: var(--checkbox-border-radius);
}
.custom-checkbox input[type="checkbox"]:hover~label:before {
    background-color: var(--lm-checkbox-bg-color-hover);
    border-color: var(--lm-checkbox-border-color-hover);
}
.custom-checkbox input[type="checkbox"]:focus~label:before {
    border-color: var(--lm-checkbox-border-color-focus);
    -moz-box-shadow: var(--lm-checkbox-box-shadow-focus);
    -webkit-box-shadow: var(--lm-checkbox-box-shadow-focus);
    box-shadow: var(--lm-checkbox-box-shadow-focus);
}
.custom-checkbox input[type="checkbox"]:checked~label:before {
    background-color: var(--lm-checkbox-bg-color-checked);
    border-color: var(--lm-checkbox-border-color-checked);
}
.custom-checkbox input[type="checkbox"]:checked:focus~label:before {
    border-color: var(--lm-checkbox-border-color-checked-focus);
    -moz-box-shadow: var(--lm-checkbox-box-shadow-checked-focus);
    -webkit-box-shadow: var(--lm-checkbox-box-shadow-checked-focus);
    box-shadow: var(--lm-checkbox-box-shadow-checked-focus);
}
.dark-mode .custom-checkbox label:before {
    background-color: var(--dm-checkbox-bg-color);
    border-color: var(--dm-checkbox-border-color);
}
.dark-mode .custom-checkbox input[type="checkbox"]:hover~label:before {
    background-color: var(--dm-checkbox-bg-color-hover);
    border-color: var(--dm-checkbox-border-color-hover);
}
.dark-mode .custom-checkbox input[type="checkbox"]:focus~label:before {
    border-color: var(--dm-checkbox-border-color-focus);
    -moz-box-shadow: var(--dm-checkbox-box-shadow-focus);
    -webkit-box-shadow: var(--dm-checkbox-box-shadow-focus);
    box-shadow: var(--dm-checkbox-box-shadow-focus);
}
.dark-mode .custom-checkbox input[type="checkbox"]:checked~label:before {
    background-color: var(--dm-checkbox-bg-color-checked);
    border-color: var(--dm-checkbox-border-color-checked);
}
.dark-mode .custom-checkbox input[type="checkbox"]:checked:focus~label:before {
    border-color: var(--dm-checkbox-border-color-checked-focus);
    -moz-box-shadow: var(--dm-checkbox-box-shadow-checked-focus);
    -webkit-box-shadow: var(--dm-checkbox-box-shadow-checked-focus);
    box-shadow: var(--dm-checkbox-box-shadow-checked-focus);
}
.custom-checkbox label:after {
    content: "";
    position: absolute;
    display: none;
    left: var(--checkbox-checkmark-left);
    top: var(--checkbox-checkmark-top);
    width: var(--checkbox-checkmark-width);
    height: var(--checkbox-checkmark-height);
    border: solid var(--lm-checkbox-checkmark-color);
    border-width: var(--checkbox-checkmark-border-width);
    -webkit-transform: var(--checkbox-checkmark-transform);
    -ms-transform: var(--checkbox-checkmark-transform);
    transform: var(--checkbox-checkmark-transform);
}
.dark-mode .custom-checkbox label:after {
    border-color: var(--dm-checkbox-checkmark-color);
}
.custom-checkbox input[type="checkbox"]:checked~label:after {
    display: block;
}
.custom-checkbox input[type="checkbox"]:disabled~label {
    opacity: 0.6;
    cursor: not-allowed;
}
.custom-checkbox input[type="checkbox"]:disabled~label:before,
.custom-checkbox input[type="checkbox"]:hover:disabled~label:before {
    background-color: var(--lm-checkbox-bg-color);
    border-color: var(--lm-checkbox-border-color);
}
.custom-checkbox input[type="checkbox"]:disabled:checked~label:before,
.custom-checkbox input[type="checkbox"]:hover:disabled:checked~label:before {
    background-color: var(--lm-checkbox-bg-color-checked);
    border-color: var(--lm-checkbox-border-color-checked);
}
.dark-mode .custom-checkbox input[type="checkbox"]:disabled~label:before,
.dark-mode .custom-checkbox input[type="checkbox"]:hover:disabled~label:before {
    background-color: var(--dm-checkbox-bg-color);
    border-color: var(--dm-checkbox-border-color);
}
.dark-mode .custom-checkbox input[type="checkbox"]:disabled:checked~label:before,
.dark-mode .custom-checkbox input[type="checkbox"]:hover:disabled:checked~label:before {
    background-color: var(--dm-checkbox-bg-color-checked);
    border-color: var(--dm-checkbox-border-color-checked);
}

/* Radio */

.custom-radio {
    display: block;
    position: relative;
    line-height: var(--radio-line-height);
}
.form-group .custom-radio {
    margin: var(--form-group-radio-margin);
}
.custom-radio input[type="radio"] {
    /* Hide the default */
    position: absolute;
    opacity: 0;
    height: 0;
    width: 0;
}
.custom-radio label {
    display: inline-block;
    margin-bottom: 0;
    padding-left: var(--radio-label-padding-left);
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.custom-radio label.blank {
    padding-left: var(--radio-label-blank-padding-left);
}
.custom-radio label:before {
    content: "";
    display: inline-block;
    position: absolute;
    height: var(--radio-width-height);
    width: var(--radio-width-height);
    top: 0;
    left: 0;
    background-color: var(--lm-radio-bg-color);
    border: var(--radio-border-width) solid var(--lm-radio-border-color);
    border-radius: var(--radio-border-radius);
}
.custom-radio input[type="radio"]:hover~label:before {
    background-color: var(--lm-radio-bg-color-hover);
    border-color: var(--lm-radio-border-color-hover);
}
.custom-radio input[type="radio"]:focus~label:before {
    border-color: var(--lm-radio-border-color-focus);
    -moz-box-shadow: var(--lm-radio-box-shadow-focus);
    -webkit-box-shadow: var(--lm-radio-box-shadow-focus);
    box-shadow: var(--lm-radio-box-shadow-focus);
}
.custom-radio input[type="radio"]:checked~label:before {
    background-color: var(--lm-radio-bg-color-checked);
    border-color: var(--lm-radio-border-color-checked);
}
.custom-radio input[type="radio"]:checked:focus~label:before {
    border-color: var(--lm-radio-border-color-checked-focus);
    -moz-box-shadow: var(--lm-radio-box-shadow-checked-focus);
    -webkit-box-shadow: var(--lm-radio-box-shadow-checked-focus);
    box-shadow: var(--lm-radio-box-shadow-checked-focus);
}
.dark-mode .custom-radio label:before {
    background-color: var(--dm-radio-bg-color);
    border-color: var(--dm-radio-border-color);
}
.dark-mode .custom-radio input[type="radio"]:hover~label:before {
    background-color: var(--dm-radio-bg-color-hover);
    border-color: var(--dm-radio-border-color-hover);
}
.dark-mode .custom-radio input[type="radio"]:focus~label:before {
    border-color: var(--dm-radio-border-color-focus);
    -moz-box-shadow: var(--dm-radio-box-shadow-focus);
    -webkit-box-shadow: var(--dm-radio-box-shadow-focus);
    box-shadow: var(--dm-radio-box-shadow-focus);
}
.dark-mode .custom-radio input[type="radio"]:checked~label:before {
    background-color: var(--dm-radio-bg-color-checked);
    border-color: var(--dm-radio-border-color-checked);
}
.dark-mode .custom-radio input[type="radio"]:checked:focus~label:before {
    border-color: var(--dm-radio-border-color-checked-focus);
    -moz-box-shadow: var(--dm-radio-box-shadow-checked-focus);
    -webkit-box-shadow: var(--dm-radio-box-shadow-checked-focus);
    box-shadow: var(--dm-radio-box-shadow-checked-focus);
}
.custom-radio label:after{
    content: "";
    position: absolute;
    display: none;
    top: var(--radio-checkmark-top);
    left: var(--radio-checkmark-left);
    width: var(--radio-checkmark-width-height);
    height: var(--radio-checkmark-width-height);
    background-color: var(--lm-radio-checkmark-color);
    border-radius: var(--radio-checkmark-border-radius);
}
.dark-mode .custom-radio label:after {
    border-color: var(--dm-radio-checkmark-color);
}
.custom-radio input[type="radio"]:checked~label:after {
    display: block;
}
.custom-radio input[type="radio"]:disabled~label {
    opacity: 0.6;
    cursor: not-allowed;
}
.custom-radio input[type="radio"]:disabled~label:before,
.custom-radio input[type="radio"]:hover:disabled~label:before {
    background-color: var(--lm-radio-bg-color);
    border-color: var(--lm-radio-border-color);
}
.custom-radio input[type="radio"]:disabled:checked~label:before,
.custom-radio input[type="radio"]:hover:disabled:checked~label:before {
    background-color: var(--lm-radio-bg-color-checked);
    border-color: var(--lm-radio-border-color-checked);
}
.dark-mode .custom-radio input[type="radio"]:disabled~label:before,
.dark-mode .custom-radio input[type="radio"]:hover:disabled~label:before {
    background-color: var(--dm-radio-bg-color);
    border-color: var(--dm-radio-border-color);
}
.dark-mode .custom-radio input[type="radio"]:disabled:checked~label:before,
.dark-mode .custom-radio input[type="radio"]:hover:disabled:checked~label:before {
    background-color: var(--dm-radio-bg-color-checked);
    border-color: var(--dm-radio-border-color-checked);
}

/* Switch */

.custom-switch {
    display: block;
    position: relative;
    line-height: var(--switch-line-height);
}
.custom-switch input[type="checkbox"] {
    /* Hide the default */
    position: absolute;
    opacity: 0;
    height: 0;
    width: 0;
}
.custom-switch label {
    display: inline-block;
    margin-bottom: 0;
    padding-left: var(--switch-label-padding-left);
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.custom-switch label.blank {
    padding-left: var(--switch-label-blank-padding-left);
}
.custom-switch label:before {
    content: "";
    display: inline-block;
    position: absolute;
    height: var(--switch-height);
    width: var(--switch-width);
    top: 0;
    left: 0;
    background-color: var(--lm-switch-bg-color);
    border: var(--switch-border-width) solid var(--lm-switch-border-color);
    border-radius: var(--switch-border-radius);
}
.custom-switch input[type="checkbox"]:hover~label:before {
    background-color: var(--lm-switch-bg-color-hover);
    border-color: var(--lm-switch-border-color-hover);
}
.custom-switch input[type="checkbox"]:focus~label:before {
    border-color: var(--lm-switch-border-color-focus);
    -moz-box-shadow: var(--lm-switch-box-shadow-focus);
    -webkit-box-shadow: var(--lm-switch-box-shadow-focus);
    box-shadow: var(--lm-switch-box-shadow-focus);
}
.custom-switch input[type="checkbox"]:checked~label:before {
    background-color: var(--lm-switch-bg-color-checked);
    border-color: var(--lm-switch-border-color-checked);
}
.custom-switch input[type="checkbox"]:checked:focus~label:before {
    border-color: var(--lm-switch-border-color-checked-focus);
    -moz-box-shadow: var(--lm-switch-box-shadow-checked-focus);
    -webkit-box-shadow: var(--lm-switch-box-shadow-checked-focus);
    box-shadow: var(--lm-switch-box-shadow-checked-focus);
}
.dark-mode .custom-switch label:before {
    background-color: var(--dm-switch-bg-color);
    border-color: var(--dm-switch-border-color);
}
.dark-mode .custom-switch input[type="checkbox"]:hover~label:before {
    background-color: var(--dm-switch-bg-color-hover);
    border-color: var(--dm-switch-border-color-hover);
}
.dark-mode .custom-switch input[type="checkbox"]:focus~label:before {
    border-color: var(--dm-switch-border-color-focus);
    -moz-box-shadow: var(--dm-switch-box-shadow-focus);
    -webkit-box-shadow: var(--dm-switch-box-shadow-focus);
    box-shadow: var(--dm-switch-box-shadow-focus);
}
.dark-mode .custom-switch input[type="checkbox"]:checked~label:before {
    background-color: var(--dm-switch-bg-color-checked);
    border-color: var(--dm-switch-border-color-checked);
}
.dark-mode .custom-switch input[type="checkbox"]:checked:focus~label:before {
    border-color: var(--dm-switch-border-color-checked-focus);
    -moz-box-shadow: var(--dm-switch-box-shadow-checked-focus);
    -webkit-box-shadow: var(--dm-switch-box-shadow-checked-focus);
    box-shadow: var(--dm-switch-box-shadow-checked-focus);
}
.custom-switch label:after{
    content: "";
    position: absolute;
    height: var(--switch-slider-width-height);
    width: var(--switch-slider-width-height);
    top: var(--switch-slider-top);
    left: var(--switch-slider-left);
    background-color: var(--lm-switch-slider-bg-color);
    border: var(--switch-slider-border-width) solid var(--lm-switch-slider-border-color);
    border-radius: var(--switch-slider-border-radius);
    -webkit-transition: left .1s;
    transition: left .1s;
}
.dark-mode .custom-switch label:after {
    background-color: var(--dm-switch-slider-bg-color);
    border-color: var(--dm-switch-slider-border-color);
}
.custom-switch input[type="checkbox"]:checked~label:after {
    top: var(--switch-slider-top-checked);
    left: var(--switch-slider-left-checked);
    background-color: var(--lm-switch-slider-bg-color-checked);
    border-color: var(--lm-switch-slider-border-color-checked);
}
.dark-mode .custom-switch input[type="checkbox"]:checked~label:after {
    background-color: var(--dm-switch-slider-bg-color-checked);
    border-color: var(--dm-switch-slider-border-color-checked);
}
.custom-switch input[type="checkbox"]:disabled~label {
    opacity: 0.6;
    cursor: not-allowed;
}
.custom-switch input[type="checkbox"]:disabled~label:before,
.custom-switch input[type="checkbox"]:hover:disabled~label:before {
    background-color: var(--lm-switch-bg-color);
    border-color: var(--lm-switch-border-color);
}
.custom-switch input[type="checkbox"]:disabled:checked~label:before,
.custom-switch input[type="checkbox"]:hover:disabled:checked~label:before {
    background-color: var(--lm-switch-bg-color-checked);
    border-color: var(--lm-switch-border-color-checked);
}
.dark-mode .custom-switch input[type="checkbox"]:disabled~label:before,
.dark-mode .custom-switch input[type="checkbox"]:hover:disabled~label:before {
    background-color: var(--dm-switch-bg-color);
    border-color: var(--dm-switch-border-color);
}
.dark-mode .custom-switch input[type="checkbox"]:disabled:checked~label:before,
.dark-mode .custom-switch input[type="checkbox"]:hover:disabled:checked~label:before {
    background-color: var(--dm-switch-bg-color-checked);
    border-color: var(--dm-switch-border-color-checked);
}

/* Input file */

.custom-file {
    display: block;
    position: relative;
}
.custom-file input[type="file"] {
    /* Hide the default */
    position: absolute;
    opacity: 0;
    height: 0;
    width: 0;
    z-index: -1; /* Needed to stop the default button from interfering in some browsers, such as Safari */
}
.custom-file label {
    display: inline-block;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    height: var(--input-file-button-height);
    line-height: var(--input-file-button-line-height);
    padding: var(--input-file-button-padding);
    color: var(--lm-input-file-button-text-color);
    background-color: var(--lm-input-file-button-bg-color);
    background-image: var(--lm-input-file-button-bg-image);
    border: var(--input-file-button-border-width) solid var(--lm-input-file-button-border-color);
    border-radius: var(--input-file-button-border-radius);
    -moz-box-shadow: var(--lm-input-file-button-box-shadow);
    -webkit-box-shadow: var(--lm-input-file-button-box-shadow);
    box-shadow: var(--lm-input-file-button-box-shadow);
}
.custom-file label:hover {
    color: var(--lm-input-file-button-text-color-hover);
    background-color: var(--lm-input-file-button-bg-color-hover);
    background-image: var(--lm-input-file-button-bg-image-hover);
    border-color: var(--lm-input-file-button-border-color-hover);
    -moz-box-shadow: var(--lm-input-file-button-box-shadow-hover);
    -webkit-box-shadow: var(--lm-input-file-button-box-shadow-hover);
    box-shadow: var(--lm-input-file-button-box-shadow-hover);
}
.custom-file input[type="file"]:focus~label {
    color: var(--lm-input-file-button-text-color-focus);
    background-color: var(--lm-input-file-button-bg-color-focus);
    background-image: var(--lm-input-file-button-bg-image-focus);
    border-color: var(--lm-input-file-button-border-color-focus);
    -moz-box-shadow: var(--lm-input-file-button-box-shadow-focus);
    -webkit-box-shadow: var(--lm-input-file-button-box-shadow-focus);
    box-shadow: var(--lm-input-file-button-box-shadow-focus);
}
.custom-file input[type="file"]:focus:hover~label {
    /*
    Only text color and background properties are overridden, while the border 
    color, box shadow, and the outline of the focus selector is kept.
    */
    color: var(--lm-input-file-button-text-color-hover);
    background-color: var(--lm-input-file-button-bg-color-hover);
    background-image: var(--lm-input-file-button-bg-image-hover);
}
.dark-mode .custom-file label {
    color: var(--dm-input-file-button-text-color);
    background-color: var(--dm-input-file-button-bg-color);
    background-image: var(--dm-input-file-button-bg-image);
    border-color: var(--dm-input-file-button-border-color);
    -moz-box-shadow: var(--dm-input-file-button-box-shadow);
    -webkit-box-shadow: var(--dm-input-file-button-box-shadow);
    box-shadow: var(--dm-input-file-button-box-shadow);
}
.dark-mode .custom-file label:hover {
    color: var(--dm-input-file-button-text-color-hover);
    background-color: var(--dm-input-file-button-bg-color-hover);
    background-image: var(--dm-input-file-button-bg-image-hover);
    border-color: var(--dm-input-file-button-border-color-hover);
    -moz-box-shadow: var(--dm-input-file-button-box-shadow-hover);
    -webkit-box-shadow: var(--dm-input-file-button-box-shadow-hover);
    box-shadow: var(--dm-input-file-button-box-shadow-hover);
}
.dark-mode .custom-file input[type="file"]:focus~label {
    color: var(--dm-input-file-button-text-color-focus);
    background-color: var(--dm-input-file-button-bg-color-focus);
    background-image: var(--dm-input-file-button-bg-image-focus);
    border-color: var(--dm-input-file-button-border-color-focus);
    -moz-box-shadow: var(--dm-input-file-button-box-shadow-focus);
    -webkit-box-shadow: var(--dm-input-file-button-box-shadow-focus);
    box-shadow: var(--dm-input-file-button-box-shadow-focus);
}
.dark-mode .custom-file input[type="file"]:focus:hover~label {
    /*
    Only text color and background properties are overridden, while the border 
    color, box shadow, and the outline of the focus selector is kept.
    */
    color: var(--dm-input-file-button-text-color-hover);
    background-color: var(--dm-input-file-button-bg-color-hover);
    background-image: var(--dm-input-file-button-bg-image-hover);
}
.custom-file input[type="file"]:disabled~label,
.custom-file:hover input[type="file"]:disabled~label {
    opacity: 0.6;
    cursor: not-allowed;
    color: var(--lm-input-file-button-text-color);
    background-color: var(--lm-input-file-button-bg-color);
    background-image: var(--lm-input-file-button-bg-image);
    border-color: var(--lm-input-file-button-border-color);
    -moz-box-shadow: none;
    -webkit-box-shadow: none;
    box-shadow: none;
}
.dark-mode .custom-file input[type="file"]:disabled~label,
.dark-mode .custom-file:hover input[type="file"]:disabled~label {
    color: var(--dm-input-file-button-text-color);
    background-color: var(--dm-input-file-button-bg-color);
    background-image: var(--dm-input-file-button-bg-image);
    border-color: var(--dm-input-file-button-border-color);
    -moz-box-shadow: none;
    -webkit-box-shadow: none;
    box-shadow: none;
}
.custom-file input[type="file"]:disabled~.file-names {
    opacity: 0.6;
    pointer-events: none;
}

/* Invalid input file */

.form-group.is-invalid .custom-file label,
.custom-file input[type="file"].is-invalid~label {
    color: var(--lm-input-file-button-invalid-text-color);
    background-color: var(--lm-input-file-button-invalid-bg-color);
    background-image: var(--lm-input-file-button-invalid-bg-image);
    border-color: var(--lm-input-file-button-invalid-border-color);
    -moz-box-shadow: var(--lm-input-file-button-invalid-box-shadow);
    -webkit-box-shadow: var(--lm-input-file-button-invalid-box-shadow);
    box-shadow: var(--lm-input-file-button-invalid-box-shadow);
}
.form-group.is-invalid .custom-file label:hover,
.custom-file input[type="file"].is-invalid~label:hover {
    color: var(--lm-input-file-button-invalid-text-color-hover);
    background-color: var(--lm-input-file-button-invalid-bg-color-hover);
    background-image: var(--lm-input-file-button-invalid-bg-image-hover);
    border-color: var(--lm-input-file-button-invalid-border-color-hover);
    -moz-box-shadow: var(--lm-input-file-button-invalid-box-shadow-hover);
    -webkit-box-shadow: var(--lm-input-file-button-invalid-box-shadow-hover);
    box-shadow: var(--lm-input-file-button-invalid-box-shadow-hover);
}
.form-group.is-invalid .custom-file input[type="file"]:focus~label,
.custom-file input[type="file"].is-invalid:focus~label {
    color: var(--lm-input-file-button-invalid-text-color-focus);
    background-color: var(--lm-input-file-button-invalid-bg-color-focus);
    background-image: var(--lm-input-file-button-invalid-bg-image-focus);
    border-color: var(--lm-input-file-button-invalid-border-color-focus);
    -moz-box-shadow: var(--lm-input-file-button-invalid-box-shadow-focus);
    -webkit-box-shadow: var(--lm-input-file-button-invalid-box-shadow-focus);
    box-shadow: var(--lm-input-file-button-invalid-box-shadow-focus);
}
.form-group.is-invalid .custom-file input[type="file"]:focus:hover~label,
.custom-file input[type="file"].is-invalid:focus:hover~label {
    /*
    Only text color and background properties are overridden, while the border 
    color, box shadow, and the outline of the focus selector is kept.
    */
    color: var(--lm-input-file-button-invalid-text-color-hover);
    background-color: var(--lm-input-file-button-invalid-bg-color-hover);
    background-image: var(--lm-input-file-button-invalid-bg-image-hover);
}
.dark-mode .form-group.is-invalid .custom-file label,
.dark-mode .custom-file input[type="file"].is-invalid~label {
    color: var(--dm-input-file-button-invalid-text-color);
    background-color: var(--dm-input-file-button-invalid-bg-color);
    background-image: var(--dm-input-file-button-invalid-bg-image);
    border-color: var(--dm-input-file-button-invalid-border-color);
    -moz-box-shadow: var(--dm-input-file-button-invalid-box-shadow);
    -webkit-box-shadow: var(--dm-input-file-button-invalid-box-shadow);
    box-shadow: var(--dm-input-file-button-invalid-box-shadow);
}
.dark-mode .form-group.is-invalid .custom-file label:hover,
.dark-mode .custom-file input[type="file"].is-invalid~label:hover {
    color: var(--dm-input-file-button-invalid-text-color-hover);
    background-color: var(--dm-input-file-button-invalid-bg-color-hover);
    background-image: var(--dm-input-file-button-invalid-bg-image-hover);
    border-color: var(--dm-input-file-button-invalid-border-color-hover);
    -moz-box-shadow: var(--dm-input-file-button-invalid-box-shadow-hover);
    -webkit-box-shadow: var(--dm-input-file-button-invalid-box-shadow-hover);
    box-shadow: var(--dm-input-file-button-invalid-box-shadow-hover);
}
.dark-mode .form-group.is-invalid .custom-file input[type="file"]:focus~label,
.dark-mode .custom-file input[type="file"].is-invalid:focus~label {
    color: var(--dm-input-file-button-invalid-text-color-focus);
    background-color: var(--dm-input-file-button-invalid-bg-color-focus);
    background-image: var(--dm-input-file-button-invalid-bg-image-focus);
    border-color: var(--dm-input-file-button-invalid-border-color-focus);
    -moz-box-shadow: var(--dm-input-file-button-invalid-box-shadow-focus);
    -webkit-box-shadow: var(--dm-input-file-button-invalid-box-shadow-focus);
    box-shadow: var(--dm-input-file-button-invalid-box-shadow-focus);
}
.dark-mode .form-group.is-invalid .custom-file input[type="file"]:focus:hover~label,
.dark-mode .custom-file input[type="file"].is-invalid:focus:hover~label {
    /* 
    Only text color and background properties are overridden, while the border 
    color, box shadow, and the outline of the focus selector is kept.
    */
    color: var(--dm-input-file-button-invalid-text-color-hover);
    background-color: var(--dm-input-file-button-invalid-bg-color-hover);
    background-image: var(--dm-input-file-button-invalid-bg-image-hover);
}

/* Input group */

.input-group {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-align: stretch;
    align-items: stretch;
    width: 100%;
}
.input-group > .form-control {
    position: relative;
    -ms-flex: 1 1 0%;
    flex: 1 1 0%;
    min-width: 0;
    margin-bottom: 0;
}
.input-group-prepend,
.input-group-append {
    display: -ms-flexbox;
    display: flex;
}
.input-group-prepend > .btn,
.input-group-append > .btn {
    position: relative;
}
.input-group-sm > .form-control {
    height: var(--small-input-height);
    padding-left: var(--small-input-horizontal-padding);
    padding-right: var(--small-input-horizontal-padding);
    font-size: var(--small-input-font-size);
}
.input-group-lg > .form-control {
    height: var(--large-input-height);
    padding-left: var(--large-input-horizontal-padding);
    padding-right: var(--large-input-horizontal-padding);
    font-size: var(--large-input-font-size);
}

/* Input group text */

.input-group-text {
    white-space: nowrap;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    text-align: center;
    height: 100%;
    padding-left: var(--input-group-text-horizontal-padding);
    padding-right: var(--input-group-text-horizontal-padding);
    color: var(--lm-input-group-text-text-color);
    background-color: var(--lm-input-group-text-bg-color);
    border: var(--input-group-text-border-width) solid var(--lm-input-group-text-border-color);
    border-radius: var(--input-group-text-border-radius);
}
.dark-mode .input-group-text {
    color: var(--dm-input-group-text-text-color);
    background-color: var(--dm-input-group-text-bg-color);
    border-color: var(--dm-input-group-text-border-color);
}
.input-group-sm .input-group-text {
    padding-left: var(--small-input-group-text-horizontal-padding);
    padding-right: var(--small-input-group-text-horizontal-padding);
    font-size: var(--small-input-group-text-font-size);
}
.input-group-lg .input-group-text {
    padding-left: var(--large-input-group-text-horizontal-padding);
    padding-right: var(--large-input-group-text-horizontal-padding);
    font-size: var(--large-input-group-text-font-size);
}

/* Input group button */

.input-group-sm > .input-group-prepend > .btn,
.input-group-sm > .input-group-append > .btn {
    height: var(--small-button-height);
    line-height: var(--small-button-line-height);
    padding: var(--small-button-padding);
    font-size: var(--small-button-font-size);
}
.input-group-lg > .input-group-prepend > .btn,
.input-group-lg > .input-group-append > .btn {
    height: var(--large-button-height);
    line-height: var(--large-button-line-height);
    padding: var(--large-button-padding);
    font-size: var(--large-button-font-size);
}
.input-group-sm > .input-group-prepend > .btn-square,
.input-group-sm > .input-group-append > .btn-square {
    width: var(--small-button-height);
    padding-left: 0;
    padding-right: 0;
}
.input-group-lg > .input-group-prepend > .btn-square,
.input-group-lg > .input-group-append > .btn-square {
    width: var(--large-button-height);
    padding-left: 0;
    padding-right: 0;
}
.input-group-sm > .input-group-prepend > .btn-rounded,
.input-group-sm > .input-group-append > .btn-rounded {
    border-radius: var(--small-button-rounded-border-radius);
}
.input-group-lg > .input-group-prepend > .btn-rounded,
.input-group-lg > .input-group-append > .btn-rounded {
    border-radius: var(--large-button-rounded-border-radius);
}

/* Input group borders */

.input-group > .form-control:not(:first-child),
.input-group-prepend:not(:first-child) > .input-group-text,
.input-group-append:not(:first-child) > .input-group-text,
.input-group-prepend:not(:first-child) > .btn,
.input-group-append:not(:first-child) > .btn {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}
.input-group > .form-control:not(:last-child),
.input-group-prepend:not(:last-child) > .input-group-text,
.input-group-append:not(:last-child) > .input-group-text,
.input-group-prepend:not(:last-child) > .btn,
.input-group-append:not(:last-child) > .btn {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}
.input-group > .form-control:focus,
.input-group-prepend > .btn:focus,
.input-group-prepend > .btn.active,
.input-group-append > .btn:focus,
.input-group-append > .btn.active {
    z-index: 1;
}
.input-group > .form-control:not(:first-child) {
    margin-left: calc((-1) * var(--input-border-width));
}
.input-group-prepend:not(:first-child) > .input-group-text,
.input-group-append:not(:first-child) > .input-group-text {
    margin-left: calc((-1) * var(--input-group-text-border-width));
}
.input-group-prepend:not(:first-child) > .btn,
.input-group-append:not(:first-child) > .btn {
    margin-left: calc((-1) * var(--button-border-width));
}

/* Buttons (only border colors) */

.input-group-prepend > .btn,
.input-group-append > .btn {
    border-color: var(--lm-input-group-button-border-color);
}
.input-group-prepend > .btn:hover,
.input-group-append > .btn:hover {
    border-color: var(--lm-input-group-button-border-color-hover);
}
.input-group-prepend > .btn:focus,
.input-group-append > .btn:focus,
.input-group-prepend > .btn.active,
.input-group-append > .btn.active {
    border-color: var(--lm-input-group-button-border-color-focus);
}
.dark-mode .input-group-prepend > .btn,
.dark-mode .input-group-append > .btn {
    border-color: var(--dm-input-group-button-border-color);
}
.dark-mode .input-group-prepend > .btn:hover,
.dark-mode .input-group-append > .btn:hover {
    border-color: var(--dm-input-group-button-border-color-hover);
}
.dark-mode .input-group-prepend > .btn:focus,
.dark-mode .input-group-append > .btn:focus,
.dark-mode .input-group-prepend > .btn.active,
.dark-mode .input-group-append > .btn.active {
    border-color: var(--dm-input-group-button-border-color-focus);
}

/* Link button */

.input-group-prepend > .btn.btn-link,
.input-group-append > .btn.btn-link {
    border-color: var(--lm-input-group-button-link-border-color);
}
.input-group-prepend > .btn.btn-link:hover,
.input-group-append > .btn.btn-link:hover {
    border-color: var(--lm-input-group-button-link-border-color-hover);
}
.input-group-prepend > .btn.btn-link:focus,
.input-group-append > .btn.btn-link:focus,
.input-group-prepend > .btn.btn-link.active,
.input-group-append > .btn.btn-link.active {
    border-color: var(--lm-input-group-button-link-border-color-focus);
}
.dark-mode .input-group-prepend > .btn.btn-link,
.dark-mode .input-group-append > .btn.btn-link {
    border-color: var(--dm-input-group-button-link-border-color);
}
.dark-mode .input-group-prepend > .btn.btn-link:hover,
.dark-mode .input-group-append > .btn.btn-link:hover {
    border-color: var(--dm-input-group-button-link-border-color-hover);
}
.dark-mode .input-group-prepend > .btn.btn-link:focus,
.dark-mode .input-group-append > .btn.btn-link:focus,
.dark-mode .input-group-prepend > .btn.btn-link.active,
.dark-mode .input-group-append > .btn.btn-link.active {
    border-color: var(--dm-input-group-button-link-border-color-focus);
}

/* Primary button */

.input-group-prepend > .btn.btn-primary,
.input-group-append > .btn.btn-primary {
    border-color: var(--lm-input-group-button-primary-border-color);
}
.input-group-prepend > .btn.btn-primary:hover,
.input-group-append > .btn.btn-primary:hover {
    border-color: var(--lm-input-group-button-primary-border-color-hover);
}
.input-group-prepend > .btn.btn-primary:focus,
.input-group-append > .btn.btn-primary:focus,
.input-group-prepend > .btn.btn-primary.active,
.input-group-append > .btn.btn-primary.active {
    border-color: var(--lm-input-group-button-primary-border-color-focus);
}
.dark-mode .input-group-prepend > .btn.btn-primary,
.dark-mode .input-group-append > .btn.btn-primary {
    border-color: var(--dm-input-group-button-primary-border-color);
}
.dark-mode .input-group-prepend > .btn.btn-primary:hover,
.dark-mode .input-group-append > .btn.btn-primary:hover {
    border-color: var(--dm-input-group-button-primary-border-color-hover);
}
.dark-mode .input-group-prepend > .btn.btn-primary:focus,
.dark-mode .input-group-append > .btn.btn-primary:focus,
.dark-mode .input-group-prepend > .btn.btn-primary.active,
.dark-mode .input-group-append > .btn.btn-primary.active {
    border-color: var(--dm-input-group-button-primary-border-color-focus);
}

/* Success button */

.input-group-prepend > .btn.btn-success,
.input-group-append > .btn.btn-success {
    border-color: var(--lm-input-group-button-success-border-color);
}
.input-group-prepend > .btn.btn-success:hover,
.input-group-append > .btn.btn-success:hover {
    border-color: var(--lm-input-group-button-success-border-color-hover);
}
.input-group-prepend > .btn.btn-success:focus,
.input-group-append > .btn.btn-success:focus,
.input-group-prepend > .btn.btn-success.active,
.input-group-append > .btn.btn-success.active {
    border-color: var(--lm-input-group-button-success-border-color-focus);
}
.dark-mode .input-group-prepend > .btn.btn-success,
.dark-mode .input-group-append > .btn.btn-success {
    border-color: var(--dm-input-group-button-success-border-color);
}
.dark-mode .input-group-prepend > .btn.btn-success:hover,
.dark-mode .input-group-append > .btn.btn-success:hover {
    border-color: var(--dm-input-group-button-success-border-color-hover);
}
.dark-mode .input-group-prepend > .btn.btn-success:focus,
.dark-mode .input-group-append > .btn.btn-success:focus,
.dark-mode .input-group-prepend > .btn.btn-success.active,
.dark-mode .input-group-append > .btn.btn-success.active {
    border-color: var(--dm-input-group-button-success-border-color-focus);
}

/* Secondary button */

.input-group-prepend > .btn.btn-secondary,
.input-group-append > .btn.btn-secondary {
    border-color: var(--lm-input-group-button-secondary-border-color);
}
.input-group-prepend > .btn.btn-secondary:hover,
.input-group-append > .btn.btn-secondary:hover {
    border-color: var(--lm-input-group-button-secondary-border-color-hover);
}
.input-group-prepend > .btn.btn-secondary:focus,
.input-group-append > .btn.btn-secondary:focus,
.input-group-prepend > .btn.btn-secondary.active,
.input-group-append > .btn.btn-secondary.active {
    border-color: var(--lm-input-group-button-secondary-border-color-focus);
}
.dark-mode .input-group-prepend > .btn.btn-secondary,
.dark-mode .input-group-append > .btn.btn-secondary {
    border-color: var(--dm-input-group-button-secondary-border-color);
}
.dark-mode .input-group-prepend > .btn.btn-secondary:hover,
.dark-mode .input-group-append > .btn.btn-secondary:hover {
    border-color: var(--dm-input-group-button-secondary-border-color-hover);
}
.dark-mode .input-group-prepend > .btn.btn-secondary:focus,
.dark-mode .input-group-append > .btn.btn-secondary:focus,
.dark-mode .input-group-prepend > .btn.btn-secondary.active,
.dark-mode .input-group-append > .btn.btn-secondary.active {
    border-color: var(--dm-input-group-button-secondary-border-color-focus);
}

/* Danger button */

.input-group-prepend > .btn.btn-danger,
.input-group-append > .btn.btn-danger {
    border-color: var(--lm-input-group-button-danger-border-color);
}
.input-group-prepend > .btn.btn-danger:hover,
.input-group-append > .btn.btn-danger:hover {
    border-color: var(--lm-input-group-button-danger-border-color-hover);
}
.input-group-prepend > .btn.btn-danger:focus,
.input-group-append > .btn.btn-danger:focus,
.input-group-prepend > .btn.btn-danger.active,
.input-group-append > .btn.btn-danger.active {
    border-color: var(--lm-input-group-button-danger-border-color-focus);
}
.dark-mode .input-group-prepend > .btn.btn-danger,
.dark-mode .input-group-append > .btn.btn-danger {
    border-color: var(--dm-input-group-button-danger-border-color);
}
.dark-mode .input-group-prepend > .btn.btn-danger:hover,
.dark-mode .input-group-append > .btn.btn-danger:hover {
    border-color: var(--dm-input-group-button-danger-border-color-hover);
}
.dark-mode .input-group-prepend > .btn.btn-danger:focus,
.dark-mode .input-group-append > .btn.btn-danger:focus,
.dark-mode .input-group-prepend > .btn.btn-danger.active,
.dark-mode .input-group-append > .btn.btn-danger.active {
    border-color: var(--dm-input-group-button-danger-border-color-focus);
}


