/*!
 * Selectize Theme for Bootstrap 4 v2.0.2
 *
 * Copyright 2018 Constantine Seleznyoff <const.seoff@gmail.com>
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

/*CSS JOGA ... NO COMBO.. MAS NAO ESTA SENDO USADO.. SE USAR CRIAR CLASSE PRA TRATAR ESPECIFICO DO CASO
 .selectize-dropdown-content .option, .selectize-input.items .item {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.selectize-input.items .item {
    display: inline-block;
    max-width: 100%;
}*/

.selectize-control.form-control:has(.selectize-input.items.full.has-options.has-items.focus.input-active.dropdown-active) {
    height: calc(2.0625rem + 2px);
}

.selectize-control.form-control:has(.selectize-input.items.full.has-options.has-items) {
    height: auto; 
}



.form-control.selectize-control {
    box-shadow: none;
    /*height: calc(2.25rem + 2px);*/
    /*padding: .375rem .75rem;*/
    padding: 0;
    position: relative;
    transition: none;
    color: #4F5467;
    background-color: #fff;
    border: 1px solid #e9ecef;
    border-radius: 2px;
    transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}

/*}

.form-control.selectize-control .selectize-input {
    background-clip: padding-box;
    background-color: #fff;
    border: 1px solid #ced4da;
    color: #4F5467;
    cursor: text;
    display: inline-block;
    font-size: .875rem;
    height: 100%;
    overflow: hidden;
    padding: 0.375rem 0.75rem;
    position: relative;
    width: 100%;
    border-radius: 0.2px;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}*/

@media screen and (prefers-reduced-motion: reduce) {
    .form-control.selectize-control .selectize-input {
        transition: none;
    }
}

.form-control.selectize-control .selectize-input * {
    display: -moz-inline-stack;
    display: inline-block;
    *display: inline;
    zoom: 1;
    vertical-align: baseline;
}

.form-control.selectize-control .selectize-input input {
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    color: inherit;
    display: inline-block !important;
    font-size: inherit;
    line-height: inherit !important;
    margin: 0 2px 0 0 !important;
    max-height: none !important;
    max-width: 100% !important;
    min-height: 0 !important;
    padding: 0 !important;
    text-indent: 0 !important;
    -webkit-user-select: auto !important;
}

    .form-control.selectize-control .selectize-input input:hover, .form-control.selectize-control .selectize-input input:focus {
        outline: none !important;
    }

    .form-control.selectize-control .selectize-input input::-ms-clear {
        display: none;
    }

    .form-control.selectize-control .selectize-input input::placeholder {
        color: #6c757d;
        opacity: 1;
        font-size: .875rem;
    }



.form-control-lg.selectize-control .selectize-input input {
    margin-left: 5px !important;
}
.form-control-lg.selectize-control .selectize-input input::placeholder {
    font-size: 1.09375rem;
  
}

/*.form-control.selectize-control .selectize-input.focus {
    color: #495057;
    background-color: #fff;
    border-color: #80bdff;
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}*/

.form-control.selectize-control .selectize-input.disabled {
    background-color: #e9ecef;
    color: #495057;
    opacity: 1;
}

.form-control.selectize-control .selectize-input.dropdown-active {
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
}

.form-control.selectize-control .selectize-dropdown {
    background-color: transparent;
    border: none;
    border-radius: 2px;
    box-shadow: none;
    display: none;
    height: auto;
    left: 0;
    margin: 0 !important;
    padding: 0;
    position: absolute;
    top: 100%;
    transition: none;
    width: 100% !important;
    z-index: 1000;
}

.form-control.selectize-control .selectize-dropdown.selectize-dropdown-open {
    z-index: 1031;
}

    .form-control.selectize-control .selectize-dropdown .selectize-dropdown-content {
        background-color: #fff;
        background-clip: padding-box;
        border: 1px solid #ced4da;
        border-radius: 0 0 0.25rem 0.25rem;
        border-top-width: 0;
        color: #212529;
        font-size: .875rem;
        max-height: 14.5rem;
        overflow-x: hidden;
        overflow-y: auto;
        padding: 0.5rem 0;
        position: relative;
        text-align: left;
        -webkit-overflow-scrolling: touch;
    }

        .form-control.selectize-control .selectize-dropdown .selectize-dropdown-content .option,
        .form-control.selectize-control .selectize-dropdown .selectize-dropdown-content .create {
            background-color: transparent;
            color: #212529;
            font-weight: 400;
            padding: 0.25rem 1.5rem;
            text-align: inherit;
            white-space: nowrap;
        }

        .form-control.selectize-control .selectize-dropdown .selectize-dropdown-content .create {
            cursor: pointer;
        }

        .form-control.selectize-control .selectize-dropdown .selectize-dropdown-content .option:hover, .form-control.selectize-control .selectize-dropdown .selectize-dropdown-content .option:focus {
            color: #fff;
            text-decoration: none;
            background-color: #007bff;
        }

        .form-control.selectize-control .selectize-dropdown .selectize-dropdown-content .option.active, .form-control.selectize-control .selectize-dropdown .selectize-dropdown-content .option:active {
            color: #fff;
            text-decoration: none;
            background-color: #007bff;
        }

        .form-control.selectize-control .selectize-dropdown .selectize-dropdown-content .option.disabled, .form-control.selectize-control .selectize-dropdown .selectize-dropdown-content .option:disabled, .form-control.selectize-control .selectize-dropdown .selectize-dropdown-content .option[data-disabled] {
            background-color: transparent;
            color: #6c757d;
        }

        .form-control.selectize-control .selectize-dropdown .selectize-dropdown-content .option[data-selectable] {
            cursor: pointer;
            overflow: hidden;
        }

            .form-control.selectize-control .selectize-dropdown .selectize-dropdown-content .option[data-selectable] .highlight {
                background: rgba(247, 255, 20, 0.7);
                -webkit-border-radius: 1px;
                -moz-border-radius: 1px;
                border-radius: 1px;
            }

        .form-control.selectize-control .selectize-dropdown .selectize-dropdown-content .optgroup {
            border-bottom: 1px solid #e9ecef;
            margin-bottom: 0.5rem;
            padding-bottom: 0.5rem;
        }

            .form-control.selectize-control .selectize-dropdown .selectize-dropdown-content .optgroup:last-child {
                border-bottom-width: 0;
                margin-bottom: 0;
                padding-bottom: 0;
            }

            .form-control.selectize-control .selectize-dropdown .selectize-dropdown-content .optgroup .optgroup-header {
                color: #6c757d;
                display: block;
                font-size: 0.875rem;
                margin-bottom: 0;
                padding: 0.25rem 1.5rem;
                white-space: nowrap;
            }

.form-control.selectize-control.single:after {
    /*border-color: #212529 transparent transparent transparent;*/
    border-color: #3e5569 transparent transparent transparent;
    border-style: solid;
    /*border-width: 0.54127rem 0.3125rem 0 0.3125rem;*/
    border-width: 0.3125rem 0.3125rem 0 0.3125rem;
    content: '';
    display: block;
    height: 0;
    /*margin-top: -0.27063rem;*/
    /*margin-top: -0.14063rem;*/
    margin-top: -0.06063rem;
    position: absolute;
    top: 50%;
    right: 0.75rem;
    /* right: 1.75rem;*/
    width: 0;
}

.was-validated .form-control.selectize-control.single:after {
    right: 1.75rem !important;
}


.form-control.selectize-control.single .selectize-input {
    /*padding-right: calc(0.75rem + 0.625rem + 0.375rem);*/
    /*padding: .375rem .75rem;*/
    padding: .375rem .35rem;
}

.form-control.selectize-control.multi {
    height: auto;
    min-height: calc(2.25rem + 2px);
}

    .form-control.selectize-control.multi .selectize-input {
        height: auto;
        min-height: 100%;
        overflow: auto;
    }

        .form-control.selectize-control.multi .selectize-input .item {
            margin: 0 3px 0 0;
        }

        .form-control.selectize-control .selectize-dropdown-content .create strong,
        .form-control.selectize-control.multi .selectize-input .item {
            background-color: #007bff;
            color: #fff;
            display: inline-block;
            font-size: 85%;
            font-weight: 400;
            line-height: 1;
            padding: 0.35em 0.6em;
            text-align: center;
            vertical-align: middle;
            white-space: nowrap;
            border-radius: 0.25rem;
        }

.form-control.selectize-control.rtl {
    direction: rtl;
}

    .form-control.selectize-control.rtl .selectize-input {
        text-align: right;
    }

        .form-control.selectize-control.rtl .selectize-input input {
            margin: 0 0 0 2px !important;
        }

    .form-control.selectize-control.rtl .selectize-dropdown .selectize-dropdown-content {
        text-align: right !important;
    }

    .form-control.selectize-control.rtl.single:after {
        left: 0.75rem;
        right: auto;
    }

    .form-control.selectize-control.rtl.single .selectize-input {
        padding-left: calc(0.75rem + 0.625rem + 0.375rem);
        padding-right: 0.75rem;
    }

    .form-control.selectize-control.rtl.multi .selectize-input .item {
        margin: 0 0 0 3px;
    }

.form-control.selectize-control.is-valid .selectize-input {
    border-color: #28a745;
}

    .form-control.selectize-control.is-valid .selectize-input:focus {
        border-color: #28a745;
        box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
    }

.form-control.selectize-control.is-invalid .selectize-input {
    border-color: #dc3545;
}

    .form-control.selectize-control.is-invalid .selectize-input:focus {
        border-color: #dc3545;
        box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
    }

.form-control-lg.selectize-control {
    height: calc(2.875rem + 2px);
    padding: 0;
}

    .form-control-lg.selectize-control .selectize-input {
        font-size: 1.25rem;
        padding: 0.5rem 1rem;
        border-radius: 0.3rem;
    }

    .form-control-lg.selectize-control.single .selectize-input {
        padding-right: calc(1rem + 0.625rem + 0.5rem);
    }

    .form-control-lg.selectize-control.single.rtl .selectize-input {
        padding-left: calc(1rem + 0.625rem + 0.5rem);
        padding-right: 1rem;
    }

    .form-control-lg.selectize-control.multi {
        min-height: calc(2.875rem + 2px);
    }

.form-control-sm.selectize-control {
    height: calc(1.8125rem + 2px);
    padding: 0;
}

    .form-control-sm.selectize-control .selectize-input {
        font-size: 0.875rem;
        padding: 0.25rem 0.5rem;
        border-radius: 0.2rem;
    }

    .form-control-sm.selectize-control.single .selectize-input {
        padding-right: calc(0.5rem + 0.625rem + 0.25rem);
    }

    .form-control-sm.selectize-control.single.rtl .selectize-input {
        padding-left: calc(0.5rem + 0.625rem + 0.25rem);
        padding-right: 0.5rem;
    }

    .form-control-sm.selectize-control.multi {
        min-height: calc(1.8125rem + 2px);
    }

.input-group > .form-control.selectize-control.multi {
    height: calc(2.25rem + 2px);
}

.input-group > .form-control:not(:first-child).selectize-control .selectize-input {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

.input-group > .form-control:not(:last-child).selectize-control .selectize-input {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.selectize-control::before {
    -moz-transition: opacity 0.9s;
    -webkit-transition: opacity 0.9s;
    transition: opacity 0.9s;
    content: ' ';
    z-index: 2;
    position: absolute;
    display: block;
    top: 4px;
    right: 30px;
    width: 22px;
    height: 22px;
    background: url(../../img/gifs/spinner.gif);
    background-size: 22px 22px;
    opacity: 0;
}

.selectize-control.loading::before {
    opacity: 1;
}

.option-placeholder {
    color: #6c757d;
    opacity: 1;
    font-size: .875rem;
}

.form-control.selectize-control .selectize-input.focus {
    color: #4F5467;
    background-color: #fff;
    border-color: rgba(0,0,0,.25);
    outline: 0;
    box-shadow: 0 0 0 0.05rem rgba(0,0,0,.25);
    /*box-shadow: transparent;*/
}

/*.form-control.selectize-control .selectize-input.focus {
    color: #495057;
    background-color: #fff;
    border-color: #80bdff;
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}*/

.was-validated .selectize-input input:valid, .selectize-input.is-valid input {
    border-color: #36bea6;
    padding-right: 3.29688rem;
}

    .was-validated .selectize-input input:valid:focus, .selectize-input.is-valid input:focus {
        border-color: #36bea6;
        box-shadow: 0 0 0 0.2rem rgba(54, 190, 166, 0.25);
    }

    .was-validated .selectize-input input:valid ~ .valid-feedback,
    .was-validated .selectize-input input:valid ~ .valid-tooltip,
    .selectize-input.is-valid input ~ .valid-feedback,
    .selectize-input.is-valid input ~ .valid-tooltip {
        display: block;
    }

.was-validated .selectize-input input:invalid, .selectize-input.is-invalid input {
    border-color: #f62d51;
    padding-right: 3.29688rem;
}

    .was-validated .selectize-input:invalid input:focus, .selectize-input.is-invalid input:focus {
        border-color: #f62d51;
        box-shadow: 0 0 0 0.2rem rgba(246, 45, 81, 0.25);
    }

    .was-validated .selectize-input input:invalid ~ .invalid-feedback,
    .was-validated .selectize-input input:invalid ~ .invalid-tooltip,
    .selectize-input.is-invalid input ~ .invalid-feedback,
    .selectize-input.is-invalid input ~ .invalid-tooltip {
        display: block;
    }





.was-validated .selectize-input.valid {
    border: 1px solid;
    border-color: #36bea6 !important;
    padding-right: 2.0625rem !important;
    background-repeat: no-repeat;
    background-position: center right calc(2.0625rem / 4);
    background-size: calc(2.0625rem / 2) calc(2.0625rem / 2);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2336bea6' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e"); 
}

    .was-validated .selectize-input.valid.focus {
        border-color: #36bea6 !important;
        box-shadow: 0 0 0 0.2rem rgba(54, 190, 166, 0.25);
    }

.was-validated .selectize-control.valid ~ .invalid-feedback,
.was-validated .selectize-control.valid ~ .invalid-tooltip {
    display: none;
}


.was-validated .selectize-input.invalid {
    border: 1px solid;
    border-color: #f62d51 !important;
    padding-right: 2.0625rem !important;
    background-repeat: no-repeat;
    background-position: center right calc(2.0625rem / 4);
    background-size: calc(2.0625rem / 2) calc(2.0625rem / 2);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23f62d51' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E");
}

    .was-validated .selectize-input.invalid.focus {
        border-color: #f62d51 !important;
        box-shadow: 0 0 0 0.2rem rgba(246, 45, 81, 0.25) !important;
    }

.was-validated .selectize-control.invalid ~ .invalid-feedback,
.was-validated .selectize-control.invalid ~ .invalid-tooltip {
    display: block;
}

/* Ajusta a posição do dropdown do Selectize quando aberto para cima */
.form-control.selectize-control.drop-up .selectize-dropdown {
    top: auto;
    bottom: 100%;
}

.form-control.selectize-control.drop-up .selectize-dropdown .selectize-dropdown-content {
    border-radius: 0.25rem 0.25rem 0 0;
    border-top-width: 1px;
    border-bottom-width: 0;
}

.form-control.selectize-control.drop-up .selectize-input.dropdown-active {
    border-top-right-radius: 0;
    border-top-left-radius: 0;
    border-bottom-right-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem;
}

/* Fix: Selectize dentro de modais - garante largura correta do input/placeholder */
.modal .form-control.selectize-control .selectize-input {
    min-width: 100%;
    width: 100%;
}

.modal .form-control.selectize-control .selectize-input input {
    min-width: 100% !important;
    width: 100% !important;
}

/* Garante que o placeholder não seja cortado quando o selectize está vazio */
.form-control.selectize-control.single .selectize-input.not-full input {
    width: 100% !important;
    min-width: 0 !important;
}

.modal .form-control.selectize-control.single .selectize-input.not-full input {
    width: 100% !important;
}

