:root {
    --primary-color: #00aaff;
    --primary-color-hover: #00ccff;
    --secondary-color: #aa33ff;
    --text: #555555;
    --text-header:#333;
    --black: #111;
    --white: #fff;
    --background: #f7f7f7;
    --card-background: #ffffff;
    --card-color: #333;
    --input-background: #fff;
    --input-border-color: #ddd;
    --input-color: #666;
    --menu-color: #ffffff;
    --menu-text: #ffffff;
}

/* @media (prefers-color-scheme: dark) { */
    :root {
        --primary-color: #000000;
        --primary-color-hover: #905c1d;
        --secondary-color: #aa33ff;
        --text: #c6c6c6;
        --text-header: #fff;
        --black: #111;
        --white: #fff;
        --background: #222;
        --card-background: #333;
        --card-color: #ddd;
        --input-background: #555;
        --input-border-color: #555;
        --input-color: #fff;
        --menu-background: #002233;
        --menu-color: #ffffff;
    }

    /* Cards */
    body .alert-success {
        color: #fff;
        background-color: #79d399;
        border-color: #49c876;
        border-color: #79d399;
    }
    body .alert-error {
        color: #fff;
        background-color: #df554a;
        border-color: #df554a;
    }
    body .alert-info {
        color: #fff;
        background-color: #3da5d3;
        border-color: #3da5d3;
    }
    body .alert-warning {
        color: #333;
        background-color: #f6ef6c;
        border-color: #f6ef6c;
    }
/* } */

html,
body {
    height: 100%;
    font-size: 16px;
    color: var(--text, #333);
    background-color: var(--background, #f7f7f7);
    font-family: "Source Sans Pro","Roboto",sans-serif;
}


@media (max-width: 768px) {
    html,body {
        font-size: 14px;
    }
}

.io-main {
    padding-bottom:70px;
}

/* Border radius */
.btn,
.form-control,
body .select2-container--default .select2-selection--single,
body .select2-container--default .select2-selection--multiple {
    border-radius: 6px;
}

body .io-search .input-group,
.input-group-lg>.custom-select,
.input-group-lg>.form-control,
.input-group-lg>.input-group-append>.btn,
.input-group-lg>.input-group-append>.input-group-text,
.input-group-lg>.input-group-prepend>.btn,
.input-group-lg>.input-group-prepend>.input-group-text {
    border-radius: 10px;
}

body div.io-table,
.io-single,
.io-card,
.io-single-under,
.alert {
    border-radius: 10px !important;
}

/* Buttons */

.btn>i.far,
.btn>i.fas {
    /* margin: 0 .5em; */
}

.btn.btn-light>i.far,
.btn.btn-light>i.fas {
    color: #999;
}

.btn-primary {
    color: #fff;
    background-color: var(--primary-color, #0cf);
    border-color: var(--primary-color, #0cf);
}

.btn-primary:hover {
    color: #fff;
    background-color: var(--primary-color-hover,#00aaff);
    border-color: var(--primary-color-hover,#00aaff);
}

.btn-light {
    color: var(--input-color, #f8f9fa);
    background-color: var(--input-background, #f8f9fa);
    border-color: var(--input-background, #f8f9fa);

}
.btn-light:hover {

}

.btn-primary:not(:disabled):not(.disabled).active,
.btn-primary:not(:disabled):not(.disabled):active,
.show>.btn-primary.dropdown-toggle {
    color: #fff;
    background-color: var(--primary-color-hover,#00aaff);
    border-color: var(--primary-color-hover,#00aaff);
}

.btn-primary:not(:disabled):not(.disabled).active:focus,
.btn-primary:not(:disabled):not(.disabled):active:focus,
.show>.btn-primary.dropdown-toggle:focus {
    box-shadow: 0 0 0 0.2rem rgba(0, 98, 255, 0.5);
}

.btn-link {
    color: var(--text, #0af);
}
.btn-link:hover {
    color: var(--primary-color-hover, #0cf);
}


.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
    color: var(--text-header, #000);
}

/* Forms input */


.form-control,
body .select2-container--default .select2-selection--single,
body .select2-container--default .select2-selection--multiple,
.form-group .io-password-group .btn,
body .select2-dropdown
{
    background-color: var(--input-background,#fff);
    caret-color: var(--primary-color,#0cf);
}

.form-control,
body .select2-container--default .select2-selection--single,
body .select2-container--default .select2-selection--single .select2-selection__rendered,
body .select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
    color: var(--input-color,#666);
}

.form-control,
.form-group .io-password-group .btn,
body .select2-container--default .select2-selection--single,
body .select2-container--default .select2-selection--multiple,
body .select2-container--default.select2-container--focus .select2-selection--multiple
{
    border:1px solid var(--input-border-color,--input-background,#ddd);
}


.form-control:focus,
body .select2-container--default .select2-selection--single:focus,
body .select2-container--default .select2-selection--multiple:focus,
body .select2-container--default .select2-selection--single:focus .select2-selection__rendered,
.io-password-group .btn:focus,
.btn:focus {
    box-shadow: 0 0 15px 3px #ccc6;
    border-color: #ccc6;
    background: #fff;
    color: #000;
}


.form-control::placeholder
{
    color: var(--input-color,#767676);
    opacity:.6;
    font-style: italic;
}



.input-group>.input-group-append>.btn,
.input-group>.input-group-append>.input-group-text,
.input-group>.input-group-prepend:first-child>.btn:not(:first-child),
.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),
.input-group>.input-group-prepend:not(:first-child)>.btn,
.input-group>.input-group-prepend:not(:first-child)>.input-group-text {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}



/* Select2 */
body .select2-container--open .select2-dropdown {
    background-color: var(--input-background,#fff);
    box-shadow: 0 4px 15px #000a;
    border-color: var(--input-background,#fff);
    padding: 5px;
}



body .select2-container--default .select2-results__option[aria-selected=true] {
    
    background: var(--primary-color,#0cf);;
}

body .select2-container--default .select2-results__option--highlighted[aria-selected] {
    color: var(--input-color,#fff);
    background-color: var(--primary-color-hover,--primary-color,#0cf);
}

body .select2-results__option {
    line-height: 1.2;
    font-weight: normal;
    padding: 0.4em 0.5em;
}

body .select2-container--default .select2-search--dropdown .select2-search__field {
    border: none;
    background: #ddd2;
    margin-bottom: 10px;
}

/* Dropzone */
body .io-dropzone {
    border-color: var(--input-border-color,--input-background,#0001);
}

body .dz-dropmessage {
    color: var(--input-color,#0004);
}

/* Checkbox https://codepen.io/aaroniker/pen/ZEYoxEY */
@supports (-webkit-appearance: none) or (-moz-appearance: none) {
    input[type='checkbox'],
    input[type='radio'] {
        --active: #275EFE;
        --active-inner: #fff;
        --focus: 2px rgba(39, 94, 254, .3);
        --border: #BBC1E1;
        --border-hover: #275EFE;
        --background: #fff;
        --disabled: #F6F8FF;
        --disabled-inner: #E1E6F9;
        -webkit-appearance: none;
        -moz-appearance: none;
        height: 25px;
        outline: none;
        display: inline-block;
        vertical-align: top;
        position: relative;
        margin: 0;
        cursor: pointer;
        border: 1px solid var(--bc, var(--border));
        background: var(--b, var(--background));
        -webkit-transition: background .3s, border-color .3s, box-shadow .2s;
        transition: background .3s, border-color .3s, box-shadow .2s;
    }
    input[type='checkbox']:after,
    input[type='radio']:after {
        content: '';
        display: block;
        left: 0;
        top: 0;
        position: absolute;
        -webkit-transition: opacity var(--d-o, 0.2s), -webkit-transform var(--d-t, 0.3s) var(--d-t-e, ease);
        transition: opacity var(--d-o, 0.2s), -webkit-transform var(--d-t, 0.3s) var(--d-t-e, ease);
        transition: transform var(--d-t, 0.3s) var(--d-t-e, ease), opacity var(--d-o, 0.2s);
        transition: transform var(--d-t, 0.3s) var(--d-t-e, ease), opacity var(--d-o, 0.2s), -webkit-transform var(--d-t, 0.3s) var(--d-t-e, ease);
    }
    input[type='checkbox']:checked,
    input[type='radio']:checked {
        --b: var(--active);
        --bc: var(--active);
        --d-o: .3s;
        --d-t: .6s;
        --d-t-e: cubic-bezier(.2, .85, .32, 1.2);
    }
    input[type='checkbox']:disabled,
    input[type='radio']:disabled {
        --b: var(--disabled);
        cursor: not-allowed;
        opacity: .9;
    }
    input[type='checkbox']:disabled:checked,
    input[type='radio']:disabled:checked {
        --b: var(--disabled-inner);
        --bc: var(--border);
    }
    input[type='checkbox']:disabled+label,
    input[type='radio']:disabled+label {
        cursor: not-allowed;
    }
    input[type='checkbox']:hover:not(:checked):not(:disabled),
    input[type='radio']:hover:not(:checked):not(:disabled) {
        --bc: var(--border-hover);
    }
    input[type='checkbox']:focus,
    input[type='radio']:focus {
        box-shadow: 0 0 0 var(--focus);
    }
    input[type='checkbox']:not(.switch),
    input[type='radio']:not(.switch) {
        width: 25px;
    }
    input[type='checkbox']:not(.switch):after,
    input[type='radio']:not(.switch):after {
        opacity: var(--o, 0);
    }
    input[type='checkbox']:not(.switch):checked,
    input[type='radio']:not(.switch):checked {
        --o: 1;
    }
    input[type='checkbox']+label,
    input[type='radio']+label {
        /* font-size: 14px;
    line-height: 21px; */
        display: inline-block;
        vertical-align: top;
        cursor: pointer;
        margin-left: 4px;
    }
    input[type='checkbox']:not(.switch) {
        border-radius: 7px;
    }
    input[type='checkbox']:not(.switch):after {
        width: 9px;
        height: 17px;
        border: 3px solid var(--active-inner);
        border-top: 0;
        border-left: 0;
        left: 7px;
        top: 1px;
        -webkit-transform: rotate(var(--r, 20deg));
        transform: rotate(var(--r, 20deg));
    }
    input[type='checkbox']:not(.switch):checked {
        --r: 43deg;
    }
    input[type='checkbox'].switch {
        width: 38px;
        border-radius: 11px;
    }
    input[type='checkbox'].switch:after {
        left: 2px;
        top: 2px;
        border-radius: 50%;
        width: 15px;
        height: 15px;
        background: var(--ab, var(--border));
        -webkit-transform: translateX(var(--x, 0));
        transform: translateX(var(--x, 0));
    }
    input[type='checkbox'].switch:checked {
        --ab: var(--active-inner);
        --x: 17px;
    }
    input[type='checkbox'].switch:disabled:not(:checked):after {
        opacity: .6;
    }
    input[type='radio'] {
        border-radius: 50%;
    }
    input[type='radio']:after {
        width: 19px;
        height: 19px;
        border-radius: 50%;
        background: var(--active-inner);
        opacity: 0;
        -webkit-transform: scale(var(--s, 0.7));
        transform: scale(var(--s, 0.7));
    }
    input[type='radio']:checked {
        --s: .5;
    }
}


/* Title */

.io-title {
    margin-bottom: 1.5rem;
    display: flex;
    justify-content: space-between;
}

.io-title h1,
.io-title h2,
.io-title h3,
.io-title h4 {
    font-size:1.6rem;
}

.io-title .fa, .io-title .far, .io-title .fas {
    margin-right: 0.3em;
}

.io-title .io-actions {
    margin-left:10px;
}