@keyframes rotacao-infinita {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

.clicavel {
    cursor: pointer;
    user-select: none;
}

.legenda {
    display: flex;
    padding: 0 12px;
}

.legenda > i {
    color: var(--comuns__cor-auxiliar);
    display: flex;
    order: 1;
    padding-top: 2px;
    padding-right: 10px;
}

.legenda > span {
    color: var(--comuns__cor-do-contexto);
    margin-bottom: 8px;
    order: 2;
}

/* CONTAINERS */
.stack {
	max-width: 980px;
	margin: 0 auto;
}

.inline-block {
    display: inline-block !important;
}

/* DIMENSÕES */
.full-width {
    width: 100% !important;
}

.full-height {
    height: 100% !important;
}

/* FLEX-CONTAINER */
.flex-container {
    align-items: stretch;
    display: flex;
    padding-top: 4px;
    position: relative;
}

.flex-container .flex-item {
    align-items: stretch;
    border-bottom: solid 1px rgb(224, 224, 224);
    display: flex;
    padding: 16px 4px 12px 4px;
}

.flex-container .flex-item.sem-borda {
    border-bottom: none;
}

.flex-container .flex-icon {
    order: 1;
    padding-right: 16px;
}

.flex-container .flex-icon.centro-vertical {
    align-content: center;
}

.flex-container .flex-content {
    flex-grow: 2;
    min-width: 0;
    order: 2;
}

.flex-container .flex-content.centro-vertical {
    align-content: center;
}

.flex-container .flex-content > label {
    color: var(--comuns__cor-do-contexto);
    cursor: inherit;
    display: block;
}

.flex-container .flex-context {
    order: 3;
    min-width: 24px;
}

.flex-container .flex-context.centro-vertical {
    align-content: center;
}

.flex-container .flex-context.largo {
    min-width: 64px;
}

/* INPUTS */
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* SPINNER */
.spinner-personalizado {
	border-color: var(--spinner_cor-da-borda) !important;
}

/* TEXTO */
.justify-align {
    text-align: justify;
    text-justify: inter-word;
}

.sublinhado {
    text-decoration: underline;
}

.text-h-22 {
    line-height: 22px !important;
}

.text-h-24 {
    line-height: 24px !important;
}

.text-h-32 {
    line-height: 32px !important;
}

.text-h-40 {
    line-height: 40px !important;
}

.text-h-48 {
    line-height: 48px !important;
}

.text-h-56 {
    line-height: 56px !important;
}

.text-h-64 {
    line-height: 64px !important;
}

.text-h-72 {
    line-height: 72px !important;
}

.text-h-80 {
    line-height: 80px !important;
}

.text-s-8 {
	font-size: 8px !important;
}

.text-s-10 {
	font-size: 10px !important;
}

.text-s-12 {
	font-size: 12px !important;
}

.text-s-14 {
	font-size: 14px !important;
}

.text-s-16 {
	font-size: 16px !important;
}

.text-s-18 {
	font-size: 18px !important;
}

.text-s-20 {
	font-size: 20px !important;
}

.text-s-22 {
	font-size: 22px !important;
}

.text-s-24 {
	font-size: 24px !important;
}

.text-s-28 {
	font-size: 28px !important;
}

.text-s-30 {
	font-size: 30px !important;
}

.text-s-32 {
	font-size: 32px !important;
}

.text-s-36 {
	font-size: 36px !important;
}

.text-s-40 {
	font-size: 40px !important;
}

.text-s-48 {
	font-size: 48px !important;
}

.text-s-56 {
	font-size: 56px !important;
}

.text-s-64 {
	font-size: 64px !important;
}

.text-s-72 {
	font-size: 72px !important;
}

.text-s-80 {
	font-size: 80px !important;
}

.text-w-100 {
	font-weight: 100 !important;
}

.text-w-200 {
	font-weight: 200 !important;
}

.text-w-300 {
	font-weight: 300 !important;
}

.text-w-400 {
	font-weight: 400 !important;
}

.text-w-500 {
	font-weight: 500 !important;
}

.text-w-600 {
	font-weight: 600 !important;
}

.text-w-700 {
	font-weight: 700 !important;
}

.text-w-800 {
	font-weight: 800 !important;
}

.text-w-900 {
	font-weight: 900 !important;
}