.select2-selection__rendered {
    line-height: 38px !important;
}
.select2-container .select2-selection--single {
    height: 38px !important;
}
.select2-selection__arrow {
    height: 38px !important;
}

.select2-selection, .select2-dropdown {
    border: 1px solid #ced4da !important;
}

.cadastro-forms {
    position: relative;
    margin-top: 20px;
}

.cadastro-forms form {
    position: absolute;
    left: 50%;
    transform: translate(-50%);
}

.select2-valid {
    border-color: #198754 !important;
    padding-right: calc(1.5em + 0.75rem);
}

.select2-valid::after {
    content: "";
    display: block;
    width: 16px;
    height: 14px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 20px;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' 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");
    background-repeat: no-repeat;
    background-size: cover;
}

.timeline {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    place-items: center;
    margin-top: 20px;
}

.timeline__item {
    position: relative;
    width: 100%;
    display: grid;
    place-items: center;
}

.timeline__item::after {
    content: "";
    display: block;
    background-color: #CCC;
    width: 100%;
    height: 3px;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    z-index: 1;
    transition: background-color 150ms ease-in-out;

}

.timeline__item:nth-child(1)::after {
    width: 50%;
    right: 0;
    left: unset;
} 

.timeline__item:last-child::after {
    width: 50%;
}

.timeline__item__number {
    background-color: #CCC;
    height: 100px;
    width: 100px;
    color: white;
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-size: 1.5rem;
    position: relative;
    z-index: 2;
    transition: background-color 150ms ease-in-out;
}

.timeline__item.active::after , .timeline__item.active .timeline__item__number{
    background-color: #0a4ba0;
}

.pulse {
    animation-name: pulse;
    animation-timing-function: ease-in-out;
    animation-duration: 250ms;
}

@keyframes pulse {
    0% {
        transform: translate(1)
    }

    50% {
        transform: scale(1.2)
    }

    100% {
        transform: scale(1)
    }
}

.toggle-group .btn {
    top: unset !important;
}

/*Select2 ReadOnly Start*/
select[readonly].select2-hidden-accessible + .select2-container {
    pointer-events: none;
    touch-action: none;
}

select[readonly].select2-hidden-accessible + .select2-container .select2-selection {
    background: #eee;
    box-shadow: none;
}

select[readonly].select2-hidden-accessible + .select2-container .select2-selection__arrow, select[readonly].select2-hidden-accessible + .select2-container .select2-selection__clear {
    display: none;
}

/*Select2 ReadOnly End*/