input[type=search]:focus {
    border-color: #6E67C1;
    box-shadow: none;
}

input[type=checkbox]:focus {
    border-color: #6E67C1;
    box-shadow: none;
}

span.fake-checkbox:hover {
    border-color: #6E67C1;
    box-shadow: none;
}

span.fake-checkbox {
    border-radius: 0.25em;
    background: transparent;
}

.form-control {
    border-radius: var(--rnd-border-radius);
    border: 1px solid #D6D5E3;
}

    .form-control:not(textarea):not(input[type="file"]) {
        border-radius: var(--rnd-border-radius);
        min-height: 38px;
        max-height: 38px;
        line-height: 17px;
    }


.form-control-base {
    /*background: transparent;*/
    border: 1px solid #D6D5E3;
    border-radius: var(--rnd-border-radius);
    color: var(--rnd-secondary-colour);
    font-size: 14px;
    padding: 10px 15px;
}

    .form-control-base::placeholder {
        color: #84909F;
    }

    .form-control-base:-ms-input-placeholder {
        color: #84909F;
    }

    .form-control-base:hover {
        border: 1px solid #6E67C1;
    }

    .form-control-base.read-only:hover {
        border: 1px solid #9fa2a3;
    }

    .form-control-base:focus {
        /*background: transparent;*/
    }

    .form-control-base[type=search] {
        padding: 7px 16px 7px 44px;
    }

        .form-control-base[type=search]::-ms-clear {
            display: none;
            width: 0;
            height: 0;
        }

        .form-control-base[type=search]::-ms-reveal {
            display: none;
            width: 0;
            height: 0;
        }

    .form-control-base[type="search"]::-webkit-search-decoration,
    .form-control-base[type="search"]::-webkit-search-cancel-button,
    .form-control-base[type="search"]::-webkit-search-results-button,
    .form-control-base[type="search"]::-webkit-search-results-decoration {
        display: none;
    }

    .form-control-base.calendar-control {
        height: 38px;
        padding: 10px 40px 10px 16px;
        line-height: 1em;
        -moz-appearance: none;
        -webkit-appearance: none;
        appearance: none;
        background-image: url(/assets/images/icons/calendar.svg);
        background-repeat: no-repeat;
        background-position: right 10px center;
        background-size: initial;
    }

.icon-eye-open::before {
    content: '';
    width: 24px;
    height: 20px;
    mask-image: url(/assets/images/icons/eye_open.svg);
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: cover;
    -webkit-mask-image: url(/assets/images/icons/eye_open.svg);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: cover;
    background-color: currentColor;
    display: inline-block;
}

.icon-eye-slash::before {
    content: '';
    width: 24px;
    height: 20px;
    mask-image: url(/assets/images/icons/eye_slash.svg);
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: cover;
    -webkit-mask-image: url(/assets/images/icons/eye_slash.svg);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: cover;
    background-color: currentColor;
    display: inline-block;
}

.icon-btn {
    cursor: pointer;
    position: absolute;
    margin-left: 10px;
    transition: opacity .1s ease-in-out;
}

.form-control-icon-btn {
    cursor: pointer;
    position: relative;
    top: -29px;
    right: 1rem;
    opacity: 1;
    transition: opacity .1s ease-in-out;
    float: right;
}

.hide-content-block {
    display: flex
}

    .hide-content-block .icon-btn {
        cursor: pointer;
        position: absolute;
        right: 1rem;
        margin-top: 10px;
        transition: opacity .1s ease-in-out;
    }

.form-floating > .form-control-base:focus ~ i.form-control-icon-btn,
.form-floating > .form-control-base:hover ~ i.form-control-icon-btn,
.form-floating > .form-control-base:not(:placeholder-shown) ~ i.form-control-icon-btn {
    opacity: 1;
}

.form-floating > .form-control-base ~ i.form-control-icon-btn:hover {
    opacity: 0.8;
}

.form-floating > .form-control-base ~ label {
    color: rgba(17, 42, 70, 0.5);
}

.form-floating > .form-control-base:focus ~ label {
    color: #6E67C1;
}

.form-floating > .form-control-base:focus ~ label,
.form-floating > .form-control-base:not(:placeholder-shown) ~ label {
    opacity: 1;
    transform: scale(.85) translateY(-0.9rem) translateX(0.15rem);
    background-color: transparent;
    height: min-content;
    padding: 0 3px;
    margin: 0 9px;
    margin: 6px 9px;
    padding: 0;
    line-height: 10px;
    color: var(--rnd-tertiary-colour);
    backdrop-filter: blur(100px);
}

.form-floating > .form-control-base:focus,
.form-floating > .form-control-base:not(:placeholder-shown) {
    padding: 1rem .75rem;
    background-color: #FFFFFFCC;
}

.form-floating > label {
    padding: 8px 10px;
}

.form-floating input {
    box-shadow: 0px 0px 10px #757a7e;
    background-color: #FFFFFFCC;
}

.form-check-input-base {
    border: 1px solid rgba(17, 42, 70, 0.4);
}


.form-check-input-darkblue:checked {
    background: var(--rnd-tertiary-colour);
    border: #364780;
}

.form-control-base:focus,
.form-check-input-darkblue:focus {
    border-color: #6E67C1;
    box-shadow: none;
}

.form-check-icon input[type="checkbox"] {
    display: none;
}

    .form-check-icon input[type="checkbox"] + label .form-check-icon-input {
        display: inline-block;
        width: 22px;
        height: 22px;
        min-width: 22px;
        min-height: 22px;
        cursor: pointer;
        background: url("/assets/images/icons/checkbox_empty.svg") no-repeat;
        filter: sepia(100%) hue-rotate(190deg) saturate(500%);
    }

    .form-check-icon input[type="checkbox"]:checked + label .form-check-icon-input {
        background: url("/assets/images/icons/checkbox_checked.svg") no-repeat;
        filter: sepia(100%) hue-rotate(190deg) saturate(500%);
    }

    .form-check-icon input[type="checkbox"] + label .form-check-icon-input:hover {
        opacity: 0.8;
    }

.form-check-icon label {
    display: flex;
}

    .form-check-icon label .form-check-icon-input {
        margin-right: 10px;
    }

.search-container {
    position: relative;
}

    .search-container::before {
        content: '';
        width: 20px;
        height: 20px;
        mask-image: url(/assets/images/icons/search.svg);
        mask-repeat: no-repeat;
        mask-position: center;
        mask-size: cover;
        -webkit-mask-image: url('/assets/images/icons/search.svg');
        -webkit-mask-repeat: no-repeat;
        -webkit-mask-size: cover;
        background-color: rgba(17, 42, 70, 0.5);
        position: absolute;
        top: 10px;
        left: 15px;
    }

.checkboxes-container .form-check-icon:not(:last-child) {
    margin-bottom: 16px;
}

.checkboxes-container .form-check-icon label {
    font-size: 14px;
    display: flex;
    align-items: center;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.checkboxes-container .form-check-icon input[type="checkbox"] + label .form-check-icon-input {
    background-size: cover;
    width: 16px;
    height: 16px;
    min-width: 16px;
    min-height: 16px;
}

ul.dropdown-menu {
    max-height: 120px;
}

.dropdown-menu {
    box-shadow: 2px 2px 16px rgba(38, 55, 67, 0.07);
    border: 1px solid #D6D5E3;
    border-radius: var(--rnd-border-radius);
    min-width: 150px;
    max-height: 30dvh;
    /*position: relative !important;*/
    padding: 3px 0;
}

    .dropdown-menu .dropdown-item {
        color: var(--rnd-secondary-colour);
        min-width: max-content;
    }

        .dropdown-menu .dropdown-item:hover {
            color: var(--rnd-secondary-colour);
            background-color: rgba(155, 160, 238, 0.2);
        }

        .dropdown-menu .dropdown-item.active,
        .dropdown-menu .dropdown-item:active {
            color: var(--rnd-secondary-colour);
            background-color: rgba(155, 160, 238, 0.5);
        }

input.disabled {
    background-color: #e9ecef;
    pointer-events: none;
}

.form-check-input:checked {
    background-color: var(--rnd-component-colour);
    border-color: var(--rnd-component-colour);
}

.form-group {
    margin-bottom: 14px;
}

/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Firefox */
input[type=number] {
    -moz-appearance: textfield;
}

input[type=color] {
    padding: 0;
    border-radius: 0.25em;
    opacity: 1;
}

    input[type=color]:disabled {
        opacity: 1;
    }

.col-form-label {
    vertical-align: middle;
}

select:focus {
    border-color: #6E67C1 !important;
    outline: none !important;
    text-shadow: none !important;
    box-shadow: none !important;
}

input:focus, textarea:focus {
    border-color: #6E67C1 !important;
    outline: none !important;
    text-shadow: none !important;
    box-shadow: none !important;
}

label.required::after {
    content: " *";
    font-size: 12px;
    font-weight: bold;
    color: #dc3545;
}

label.optional::after {
    content: " OPTIONAL";
    font-size: 10px;
    color: #bcbcbc;
    font-style: italic;
    vertical-align: middle;
    padding-left: 4px;
}

.read-only {
    color: #808080;
}

label.read-only {
    color: #575252;
}

textarea, textarea.form-control {
    min-height: 38px;
    line-height: 17px;
    padding-top: 10px;
}

.modal label:not(.DTE_Label) {
    font-size: 16px;
    width: initial;
    margin-bottom: 8px;
    padding: 0;
}

input[type="range"] {
    -webkit-appearance: none; /* Chrome, Safari */
    -moz-appearance: none; /* Firefox */
    appearance: none; /* Standard */
    vertical-align: middle;
}

    input[type="range"]::-webkit-slider-runnable-track {
        background-color: var(--rnd-primary-colour);
        border-radius: var(--rnd-border-radius);
        height: 5px;
    }

    input[type="range"]::-webkit-slider-thumb {
        margin-top: -6px;
    }

    input[type="range"]::-moz-range-track {
        background-color: var(--rnd-primary-colour);
        border-radius: 5px;
        height: 5px;
        vertical-align: bottom;
    }

    input[type="range"]::-moz-range-progress, input[type="range"]::slider-fill {
        margin-bottom: -8px;
    }

    input[type="range"]::-moz-range-thumb {
        margin-top: -6px;
        background-color: #0C4EB5;
        border-color: #0C4EB5;
        border-radius: 50%;
    }

    input[type="range"]::-ms-track {
        background-color: var(--rnd-primary-colour);
        border-radius: 5px;
        height: 5px;
        vertical-align: bottom;
    }

    input[type="range"]::-ms-thumb {
        margin-top: -6px;
    }
