/* OVERWRITE */

.w3-modal-content {
	border-radius: var(--border-radius-default);
}

.auth0-lock-widget {
	width: 400px !important;
}

/* OVERWRITE */

/* FONTS */

@font-face {
	font-family: "Nunito Medium";
	src: url("/fonts/Nunito-Medium.ttf");
}

@font-face {
	font-family: "Nunito Regular";
	src: url("/fonts/Nunito-Regular.ttf");
}

@font-face {
	font-family: "Nunito SemiBold";
	src: url("/fonts/Nunito-SemiBold.ttf");
}

/* FONTS */

:root {
	--black: #000000;
	--white: #ffffff;
	--red: #ea4800;
	--green: #57cb60;
	--dark: #122b50;
	--indigo-dark: #241b70;
	--indigo-darker: #0d2140;
	--blue-dark: #0383e9;
	--blue-medium: #059afa;
	--blue-light: #3fa9ff;
	--gray: #f1f4fa;
	--gray-c: #cccccc;
	--gray-9: #999999;
	--gray-medium: #d9dfeb;
	--gray-dark: #122b50;
	--yellow: #ffca07;
	--green: #00aa00;
	--icon-size: 15px;
	--font-size-default: 15px;
	--font-family-helvetica: "Helvetica";
	--font-family-nunito: "Nunito Regular";
	--font-family-nunito-semibold: "Nunito SemiBold";
	--border-radius-default: 4px;
}

/* COLORS */

.vi-black {
	background-color: var(--black) !important;
	color: #ffffff !important;
}

.vi-white {
	background-color: var(--white) !important;
	color: #ffffff !important;
}

.vi-dark {
	background-color: var(--dark) !important;
	color: #ffffff !important;
}

.vi-indigo-dark {
	background-color: var(--indigo-dark) !important;
	color: #ffffff !important;
}

.vi-indigo-darker {
	background-color: var(--indigo-darker) !important;
	color: #ffffff !important;
}

.vi-blue-dark {
	background-color: var(--blue-dark) !important;
	color: #ffffff !important;
}

.vi-blue-medium {
	background-color: var(--blue-medium) !important;
	color: #ffffff !important;
}

.vi-blue-light {
	background-color: var(--blue-light) !important;
	color: #ffffff !important;
}

.vi-gray {
	background-color: var(--gray) !important;
	color: #666666 !important;
}

.vi-yellow {
	background-color: var(--yellow) !important;
	color: #666666 !important;
}

.vi-text-black {
	color: var(--black) !important;
}

.vi-text-white {
	color: var(--white) !important;
}

.vi-text-dark {
	color: var(--dark) !important;
}

.vi-text-indigo-dark {
	color: var(--indigo-dark) !important;
}

.vi-text-indigo-darker {
	color: var(--indigo-darker) !important;
}

.vi-text-blue-dark {
	color: var(--blue-dark) !important;
}

.vi-text-blue-medium {
	color: var(--blue-medium) !important;
}

.vi-text-blue-light {
	color: var(--blue-light) !important;
}

.vi-text-gray {
	color: var(--gray) !important;
}

.vi-text-yellow {
	color: var(--yellow) !important;
}

/* COLORS */

/* TAGS / RESET */

input[type="file"] {
	display: none;
}

/* TAGS / RESET */

/* MAIN */

.vi-main {
	/** FLEX **/
	align-items: stretch;
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	justify-content: flex-start;
	/** FLEX **/
	background-color: var(--gray);
	height: inherit;
	padding: 50px 0vw 0vh 200px;
	position: relative;
	width: inherit;
}

/* MAIN */

/* MENU */

.vi-menu-container {
	/** FLEX **/
	align-items: center;
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	justify-content: space-between;
	/** FLEX **/
	background-color: var(--dark);
	border: 0px;
	height: 100%;
	left: 0vw;
	margin: 0vh 0vw;
	max-width: 200px;
	padding: 2vh 0vw;
	position: fixed;
	top: 0vh;
	width: 200px;
	z-index: 2;
}

.vi-menu-item-container {
	/** FLEX **/
	align-items: stretch;
	align-self: stretch;
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	justify-content: flex-start;
	/** FLEX **/
}

.vi-menu-image {
	align-self: center;
	object-fit: contain;
	margin-bottom: 1vh;
}

.vi-menu-item {
	background-color: none;
	border-left: 3px solid var(--indigo-dark);
	color: var(--white);
	font-family: var(--font-family-helvetica) !important;
	font-size: 12px;
	height: 40px;
	line-height: 40px;
	margin: 0vh 0vw;
	max-height: 40px;
	padding-left: 1vw;
}

.vi-menu-item > i {
	font-size: var(--font-size-default);
	margin-right: 3px;
	vertical-align: middle;
}

.vi-menu-item > span {
	vertical-align: middle;
}

.vi-menu-item:hover,
.vi-menu-item-selected {
	background-color: var(--indigo-darker);
	border-left: 3px solid var(--blue-dark);
	cursor: pointer;
}

.vi-menu-separator {
	border-top: 1px solid #425580;
    margin: 10px 0;
}

/* MENU */

/* CONTENT */

.vi-content-container {
	/** FLEX **/
	align-items: stretch;
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	flex: 1 0 auto;
	justify-content: flex-start;
	/** FLEX **/
	background-color: var(--gray);
	border: 0px;
	margin: 0vh 0vw;
	padding: 0vh 0vw;
	position: relative;
}

.vi-authentication-bar {
	/** FLEX **/
	align-items: center;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-between;
	/** FLEX **/
	background-color: var(--blue-dark);
	max-height: 50px;
	height: 50px;
	left: 200px;
	padding: 0.5vh 0.5vw;
	position: fixed;
	top: 0vh;
	width: calc(100% - 200px);
	z-index: 2;
}

.vi-content {
	/** FLEX **/
	align-self: stretch;
	align-items: stretch;
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	flex-wrap: nowrap;
	justify-content: flex-start;
	/** FLEX **/
}

.vi-page-content {
	/** FLEX **/
	align-self: stretch;
	align-items: stretch;
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	flex-wrap: nowrap;
	justify-content: flex-start;
	/** FLEX **/
	margin: 2vw 2vw;
}

/* CONTENT */

/* PAGE */

.vi-page-title-container {
	/** FLEX **/
	align-self: stretch;
	align-items: center;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-between;
	/** FLEX **/
	margin: 2vh 0vw;
}

.vi-page-title-container > button.vi-button {
	margin-right: 0vw !important;
}

/* PAGE */

/* GADGETS */

.vi-button {
	/** FLEX **/
	align-items: center;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-between;
	/** FLEX **/
	font-family: var(--font-family-nunito);
	font-size: var(--font-size-default);
	height: 40px;
	line-height: 40px;
	margin: 0vh 1vw;
	max-height: 40px;
	padding: 0vh 1.2vw;
}

.vi-button-blue {
	background-color: var(--blue-light);
	border: 1px solid var(--blue-light);
	border-radius: var(--border-radius-default);
	color: var(--white);
	text-align: center;
}

.vi-button-red {
	background-color: var(--red);
	border: 1px solid var(--red);
	border-radius: var(--border-radius-default);
	color: var(--white);
	text-align: center;
}

.vi-button-green {
	background-color: var(--green);
	border: 1px solid var(--green);
	border-radius: var(--border-radius-default);
	color: var(--white);
	text-align: center;
}

.vi-button-blue:hover,
.vi-button-red:hover,
.vi-button-green:hover {
	cursor: pointer;
	color: var(--black);
}

.vi-button-white-borderless {
	/* cancel (no bkg, no border) */
	background-color: unset;
	border: 1px solid rgba(255, 255, 255, 0);
	border-radius: var(--border-radius-default);
	color: var(--gray-medium);
	font-weight: bold;
	text-align: center;
}

.vi-button-white-borderless:hover {
	cursor: pointer;
}

.vi-button-white-bordered {
	/* trash */
	background-color: var(--white);
	border: 1px solid var(--gray-c);
	border-radius: var(--border-radius-default);
	color: var(--gray-c);
	font-size: var(--font-size-default);
	height: 40px;
	max-height: 40px;
	margin: 0vh 1vw;
	padding: 0vh 1vw;
	text-align: center;
	vertical-align: middle;
}

.vi-button-white-bordered:hover {
	border-color: var(--blue-dark);
	color: var(--blue-dark);
	cursor: pointer;
}

.vi-button-link {
	/* adicionar */
	background-color: unset;
	color: var(--blue-dark);
	margin: 0.5vh 0vw;
	text-align: left;
}

.vi-button-hint {
	/* popover */
	/** FLEX **/
	align-items: center;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: center;
	/** FLEX **/
	background-color: var(--yellow);
	border-radius: 50%;
	color: var(--white);
	font-size: 10px;
	height: 20px;
	margin-left: 8px;
	width: 20px;
}

.vi-button-hint:hover {
	cursor: pointer;
}

.vi-button-gray {
	/* upload*/
	background-color: var(--gray);
	border: 1px solid #cccccc;
	border-radius: var(--border-radius-default);
	color: gray;
	padding: 0.5vh 1.2vw;
	margin: 0.5vh 0vw 0.5vh 0vw;
	text-align: center;
}

.vi-button-icon {
	/* edit trash */
	color: var(--gray-dark);
	font-size: var(--font-size-default);
	margin: 0vh 0vw;
	vertical-align: middle;
}

.vi-button-icon:hover {
	color: var(--blue-dark);
	cursor: pointer;
}

.vi-block-white {
	/* não há projetos cadastrados */
	/** FLEX **/
	align-self: stretch;
	align-items: center;
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	justify-content: center;
	/** FLEX **/
	background-color: var(--white);
	border-radius: var(--border-radius-default);
	border: 1px solid var(--gray);
	color: var(--gray-9);
	height: 160px;
	margin: 2vh 0vw;
	padding: 1vh 1vw;
	text-align: center;
}

.vi-h1 {
	color: var(--gray-dark);
	font-family: var(--font-family-nunito-semibold);
	font-size: 25px;
	margin: 0.5vh 0vw;
	text-align: left;
}

.vi-h2 {
	color: var(--gray-dark);
	font-family: var(--font-family-nunito-semibold);
	font-size: 20px;
	margin: 0.5vh 0vw;
	text-align: left;
}

.vi-h3 {
	color: var(--gray-dark);
	font-family: var(--font-family-nunito-semibold);
	font-size: 16px;
	margin: 0.5vh 0vw;
	text-align: left;
}

.vi-progress-bar {
	/** FLEX **/
	align-items: center;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-between;
	/** FLEX **/
	background-color: var(--white);
	border-radius: 18px;
	font-size: 11px;
	line-height: 18px;
	padding: 0vh 0.7vw;
	width: 100%;
}

.vi-bold {
	font-weight: bold;
}

.vi-text {
	color: var(--gray-dark);
	font-size: var(--font-size-default);
	text-align: left;
}

.vi-link {
	color: var(--blue-dark);
	font-size: 13px;
	margin: 0vh 0.1vw;
	text-decoration: none;
	vertical-align: middle;
	cursor: pointer;
}

.vi-icon {
	font-size: var(--icon-size);
	margin: 0vh 0.3vw;
	vertical-align: middle;
}

.vi-icon:hover {
	cursor: pointer;
}

.vi-action-container {
	/** FLEX **/
	align-self: stretch;
	align-items: center;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: flex-end;
	/** FLEX **/
	margin: 1vh 0vw;
}

.vi-w-60 {
	max-width: 60%;
	min-width: 60%;
	width: 60%;
}

.vi-w-80 {
	max-width: 80%;
	min-width: 80%;
	width: 80%;
}

.vi-hint {
	background-color: var(--gray-dark);
	border: 1px solid var(--black);
	border-radius: var(--border-radius-default);
	box-shadow: 1px 1px 9px var(--black);
	color: var(--white);
	font-family: var(--font-family-nunito);
	font-size: var(--font-size-default);
	bottom: 25px;
	left: 0px;
	min-width: 400px;
	min-height: 200px;
	overflow-y: scroll;
	padding: 1vh 1vh;
	position: absolute;
}

.vi-expand {
	/** FLEX **/
	align-self: stretch;
	align-items: stretch;
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	justify-content: flex-start;
	/** FLEX **/
}

.vi-badge {
	/** FLEX **/
	align-items: center;
	display: inline-flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: center;
	/** FLEX **/
	background-color: var(--gray-c);
	border-radius: var(--border-radius-default);
	margin: 0vh 0vw;
	padding: 6px 10px;
	width: 70px;
}

.vi-box-white {
	align-self: stretch;
	background-color: var(--white);
	border-radius: var(--border-radius-default);
	margin: 1.5vh 0vw;
	padding: 0vh 0vw;
}

.vi-h-spacer {
	margin: 0vh 1vw;
}

.vi-h-spacer-right {
	margin-right: 1vw;
}

.vi-h-spacer-left {
	margin-left: 1vw;
}

/* GADGETS */

/* MODAL */

.vi-modal-container {
	/** FLEX **/
	align-items: stretch;
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	justify-content: flex-start;
	/** FLEX **/
	border-radius: var(--border-radius-default);
	box-shadow: 0px 0px 2px var(--gray);
}

.vi-modal-title-container {
	/** FLEX **/
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	justify-content: center;
	/** FLEX **/
	background-color: var(--blue-dark);
	border-top-left-radius: var(--border-radius-default);
	border-top-right-radius: var(--border-radius-default);
	height: 80px;
	padding: 0vh 1vw;
}

.vi-modal-content-container {
	/** FLEX **/
	align-items: stretch;
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	justify-content: flex-start;
	/** FLEX **/
	background-color: white;
	padding: 1vh 1vw;
}

/* MODAL */

/* INPUT */

.vi-fieldset {
	/* white block input holder*/
	/** FLEX **/
	align-self: stretch;
	align-items: stretch;
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	justify-content: flex-start;
	/** FLEX **/
	border-radius: var(--border-radius-default);
	padding: 24px;
}

.vi-label {
	/** FLEX **/
	align-self: stretch;
	align-items: center;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: flex-start;
	/** FLEX **/
	color: black;
	font-family: var(--font-family-helvetica);
	font-size: var(--font-size-default);
	margin: 6px 0px;
	text-align: left;
}

.vi-input {
	align-self: stretch;
	background-color: white;
	border: 1px solid var(--gray-c);
	border-radius: var(--border-radius-default);
	display: block;
	height: 40px;
	margin: 0.5vh 0vw;
	padding: 0.3vh 0.3vh;
}

.vi-select {
	align-self: stretch;
	background-color: white;
	border: 1px solid var(--gray-c);
	border-radius: var(--border-radius-default);
	display: block;
	height: 40px;
	margin: 0.5vh 0vw;
	padding: 0.3vh 0.3vh;
}

.vi-textarea {
	align-self: stretch;
	background-color: white;
	border: 1px solid var(--gray-c);
	border-radius: var(--border-radius-default);
	display: block;
	height: 100px;
	margin: 0.5vh 0vw;
	padding: 0.3vh 0.3vh;
}

.vi-input:disabled, .vi-select:disabled, .vi-textarea:disabled {
	border-color: var(--gray-9);
	background-color: var(--gray-c);
}

.vi-file {
	/** FLEX **/
	align-self: stretch;
	align-items: center;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: flex-start;
	/** FLEX **/
	background-color: var(--gray);
	border: 1px solid var(--gray-c);
	border-radius: var(--border-radius-default);
	height: 40px;
	line-height: unset;
	margin: 0.5vh 0vw;
	padding: 0.5vh 1.2vw;
}

.vi-file > i {
	font-size: var(--font-size-default);
	color: var(--gray-dark);
	margin-right: var(--font-size-default);
}

.vi-file > span {
	font-size: var(--font-size-default);
	color: var(--gray-dark);
}

.vi-file > b {
	font-size: var(--font-size-default);
	color: var(--green);
	margin-left: var(--font-size-default);
}

.vi-datepicker {
	align-self: stretch;
	border: 1px solid var(--gray-c);
	border-radius: var(--border-radius-default);
	padding: 0vh 0vw;
	margin: 0vh 0vw;
}

.vi-datepicker > div:first-child {
	/** FLEX **/
	align-self: stretch;
	align-items: stretch;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: flex-start;
	/** FLEX **/
	border: 0px;
	background: unset;
}

.vi-datepicker > div:first-child > input {
	background: unset;
	border: 0px;
	flex: 1 0 auto;
	margin-bottom: 0vh;
	margin-top: 0vh;
}

.vi-input-action-container {
	/** FLEX **/
	align-self: stretch;
	align-items: center;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-between;
	/** FLEX **/
	margin: 0.5vh 0vw;
}

.vi-input-action-container > *:nth-child(n) {
	/** FLEX **/
	align-self: stretch;
	align-items: stretch;
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	justify-content: space-between;
	/** FLEX **/
	flex: 1 0 auto;
	margin: 0vh 0.1vw;
}

.vi-input-action-container > *:first-child {
	margin-left: 0vw;
}

.vi-input-action-container > *:last-child {
	align-self: flex-end;
	flex: 0 0 auto;
	justify-content: center;
	margin-bottom: 0.55vh;
	margin-right: 0vw;
	margin-top: 0vh;
}

.vi-input-stuck-container {
	/** FLEX **/
	align-self: stretch;
	align-items: center;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-between;
	/** FLEX **/
	margin: 0.5vh 0vw;
}

.vi-input-stuck-container > *:nth-child(n) {
	align-self: stretch !important;
	border-radius: 0px;
	flex: 1 0 auto;
	margin: 0vh 0vw;
}

.vi-input-stuck-container > *:first-child {
	border-top-right-radius: 0px !important;
	border-bottom-right-radius: 0px !important;
}

.vi-input-stuck-container > *:last-child {
	border-top-right-radius: var(--border-radius-default);
	border-bottom-right-radius: var(--border-radius-default);
}

/* INPUT */

/* TABLE */

.vi-table {
	align-self: stretch;
	margin: 2vh 0vw;
}

.vi-table-header > tr {
	background-color: var(--gray-medium);
}

.vi-table-header > tr > th:first-child {
	border-bottom-left-radius: var(--border-radius-default);
	border-top-left-radius: var(--border-radius-default);
}

.vi-table-header > tr > th:last-child {
	border-bottom-right-radius: var(--border-radius-default);
	border-top-right-radius: var(--border-radius-default);
}

.vi-table-header > tr > th {
	padding: 0.3vh 4px 0.3vh 4px;
	text-align: left;
}

.vi-table-body > tr {
	background-color: white;
}

.vi-table-body > tr > td:first-child {
	border-bottom-left-radius: var(--border-radius-default);
	border-top-left-radius: var(--border-radius-default);
}

.vi-table-body > tr > td:last-child {
	border-bottom-right-radius: var(--border-radius-default);
	border-top-right-radius: var(--border-radius-default);
}

.vi-table-body > tr > td {
	padding: 1vh 4px 1vh 4px;
	text-align: left;
}

/* TABLE */

/* PROJECT */

.vi-project-header {
	/** FLEX **/
	align-self: stretch;
	align-items: stretch;
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	justify-content: space-between;
	/** FLEX **/
	background-color: black;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
	height: 300px;
	max-height: 300px;
	margin: 0vh 0vw 1vh 0vw;
	padding: 1vh 1vw;
}

.vi-project-body {
	margin: 0vh 0vw;
}

.vi-project-header-title-action-container {
	/** FLEX **/
	align-self: stretch;
	align-items: flex-end;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-between;
	/** FLEX **/
}

.vi-project-header-title-h1 {
	color: white;
	font-family: var(--font-family-nunito-semibold);
	font-size: 40px;
	margin: 0.3vh 0vw;
	text-align: left;
	text-shadow: 2px 2px 4px black;
}

.vi-project-header-title-h2 {
	color: white;
	font-family: var(--font-family-nunito-semibold);
	font-size: 30px;
	margin: 0.3vh 0vw;
	text-align: left;
	text-shadow: 2px 2px 4px black;
}

.vi-project-header-title-h3 {
	color: white;
	font-family: var(--font-family-helvetica);
	font-size: 13px;
	margin: 0.3vh 0vw;
	text-align: left;
	text-shadow: 2px 2px 4px black;
}

/* PROJECT */

/* TABBED */

.vi-tab-container {
	/** FLEX **/
	align-self: stretch;
	align-items: center;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: flex-start;
	/** FLEX **/
	border-bottom: 1px solid gray;
	height: 50px;
	margin: 0vh 2vw;
}

.vi-tab-item {
	color: gray;
	font-size: 1rem;
	height: inherit;
	line-height: 50px;
	margin: 0vh 0vw;
	padding: 0vh 0.5vw;
	text-align: center;
}

.vi-tab-item:hover {
	border-bottom: 3px solid var(--blue-dark);
	cursor: pointer;
}

.vi-tab-item-selected {
	border-bottom: 3px solid var(--blue-dark);
	font-weight: bold;
}

/* TABBED */

/* LOADING */

.vi-loading-large {
	display: inline-block;
	height: 46px;
	width: 46px;
	margin: 2vh 0vw;
}

.vi-loading-large:after {
	animation: vi-loading 1.2s linear infinite;
	border-radius: 50%;
	border: 5px solid var(--blue-dark);
	border-color: var(--blue-dark) transparent var(--blue-dark) transparent;
	content: " ";
	display: block;
	height: 46px;
	margin: 1px;
	width: 46px;
}

.vi-loading-small {
	display: inline-block;
	height: 20px;
	width: 20px;
	margin: 0vh 4px;
}

.vi-loading-small:after {
	animation: vi-loading 1.2s linear infinite;
	border-radius: 50%;
	border: 1.5px solid var(--blue-dark);
	border-color: var(--blue-dark) transparent var(--blue-dark) transparent;
	content: " ";
	display: block;
	height: 20px;
	margin: 1px;
	width: 20px;
}

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

/* LOADING */

/* VALIDATION */

.dirty {
	border-color: #5a5;
	background: #efe;
}

.dirty:focus {
	outline-color: #8e8;
}

.error {
	border-color: red;
	background: #fdd;
}

.error:focus {
	outline-color: #f99;
}

/* VALIDATION */

/* GRID */

.vi-grid-header {
	align-self: stretch;
	align-items: center;
	background-color: var(--gray-medium);
	border-radius: var(--border-radius-default);
	color: var(--gray-dark);
	display: grid;
	font-family: var(--font-family-nunito);
	grid-template-columns: auto;
	margin-bottom: 1vh;
	padding: 0.5vh 0px;
}

.vi-grid-body {
	align-self: stretch;
	align-items: center;
	background-color: var(--white);
	border-radius: var(--border-radius-default);
	display: grid;
	font-family: var(--font-family-nunito);
	grid-template-columns: auto;
	margin: 1vh 0vw;
	padding: 1vh 0.1vw;
}

.vi-grid-template-header {
	align-items: stretch; /* Expande o item do grid até a altura da linha */
	display: grid;
	/*grid-gap: 5px;*/
	justify-items: stretch; /* Expande o item do grid até a largura da coluna */
}

.vi-grid-template-header > * {
	/** FLEX **/
	align-items: center;
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	/** FLEX **/
	background-color: var(--gray-medium);
	padding: 0px 5px;
}

.vi-grid-template-header > *:first-child {
	border-top-left-radius: var(--border-radius-default);
	border-bottom-left-radius: var(--border-radius-default);
}

.vi-grid-template-header > *:last-child {
	border-top-right-radius: var(--border-radius-default);
	border-bottom-right-radius: var(--border-radius-default);
}

.vi-grid-template-body {
	align-items: stretch; /* Expande o item do grid até a altura da linha */
	display: grid;
	/*grid-gap: 5px;*/
	justify-items: stretch; /* Expande o item do grid até a largura da coluna */
}

.vi-grid-template-body > * {
	/** FLEX **/
	align-items: center;
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	/** FLEX **/
	background-color: var(--white);
	margin-top: 5px;
	padding: 0px 5px;
}

.vi-grid-template-body > *:first-child {
	border-top-left-radius: var(--border-radius-default);
	border-bottom-left-radius: var(--border-radius-default);
}

.vi-grid-template-body > *:last-child {
	border-top-right-radius: var(--border-radius-default);
	border-bottom-right-radius: var(--border-radius-default);
}

/* GRID */

/* SWITCH COMPONENT */

.vi-switch-field {
	display: flex;
	overflow: hidden;
}

.vi-switch-field input {
	position: absolute !important;
	clip: rect(0, 0, 0, 0);
	height: 1px;
	width: 1px;
	border: 0;
	overflow: hidden;
}

.vi-switch-field label {
	width: 50%;
	background-color: var(--white);
	color: rgba(0, 0, 0, 0.6);
	font-size: 14px;
	line-height: 1;
	text-align: center;
	padding: 8px 16px;
	margin-right: -1px;
	border: 1px solid rgba(0, 0, 0, 0.2);
	transition: all 0.1s ease-in-out;
}

.vi-switch-field label:hover {
	cursor: pointer;
}

.vi-switch-field input:checked + label {
	background-color: var(--blue-medium);
	color: var(--white);
	box-shadow: none;
}

.vi-switch-field label:first-of-type {
	border-radius: 4px 0 0 4px;
}

.vi-switch-field label:last-of-type {
	border-radius: 0 4px 4px 0;
}

.vi-switch-field.disabled {
	pointer-events: none;
}

.vi-switch-field.disabled input:checked + label {
	color: var(--gray-dark);
	background-color: var(--gray);
}

/* SWITCH COMPONENT */

.vi-check-container {
	display: flex;
}

.vi-input-stretch {
	width: 75% !important;
}

.vi-input-group {
	display: flex;
	align-items: center;
}

/* TIMELINE */

.vi-time-line-box {
	background-color: var(--white);
	border-radius: var(--border-radius-default);
	padding: 1.5vh 0vw;
	width: 100%;
}

.vi-time-line-box .timeline {
	list-style-type: none;
	display: flex;
	padding: 0;
	text-align: center;
}

.vi-time-line-box .timestamp {
	margin: auto;
	margin-bottom: 10px;
	padding: 0px 4px;
	display: flex;
	flex-direction: column;
	align-items: center;
	color: var(--gray-9);
}

.vi-time-line-box .status {
	padding: 0px 10px;
	display: flex;
	justify-content: center;
	border-top: 3px solid var(--gray);
	position: relative;
	transition: all 200ms ease-in;
}
.vi-time-line-box .status span {
	padding-top: 8px;
	font-weight: bold;
	color: var(--gray-9);
	font-size: 16px;
	margin: 0.5vh 0vw;
}
.vi-time-line-box .status span:before {
	content: "";
	width: 20px;
	height: 20px;
	background-color: var(--gray);
	border-radius: 12px;
	border: 3px solid var(--gray-medium);
	position: absolute;
	left: 50%;
	top: 0%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	transition: all 200ms ease-in;
}

.swiper-container {
	width: 95%;
	margin: auto;
	overflow-y: auto;
}
.swiper-wrapper {
	display: inline-flex;
	flex-direction: row;
	overflow-y: auto;
	justify-content: center;
}

.swiper-slide {
	text-align: center;
	font-size: 12px;
	width: 200px;
	height: 100%;
	position: relative;
}

.vi-score-container {
    display: flex;
    width: 100%;
    justify-content: center;
}

.vi-accepted-score {
	background-color: var(--green);
	border-radius: 8px;
	color: white;
	padding: 0.3vh 0vw;
	width: 70px;
}

.vi-rejected-score {
	background-color: var(--red);
	border-radius: 8px;
	color: white;
	padding: 0.3vh 0vw;
	width: 70px;
}

/* FOMULA */

.vi-formula-char {
	font-family: 'Courier New';
	font-weight: bold;
	color: var(--gray-dark);
	display: inline-block;
	height: 30px;
	line-height: 30px;
	margin: 0vh 0.1vw;
	text-align: center;
	width: 16px;
}

.vi-formula-component {
	background-color: var(--gray-c);
	border-radius: var(--border-radius-default);
	color: var(--white);
	display: inline-block;
	height: 30px;
	line-height: 30px;
	margin: 0vh 0.1vw;
	padding: 0vh 1vw;
	width: auto;
}

.vi-formula-cursor {
	border: 0px;
	background-color: unset !important;
	outline-width: 0px;
	width: 20px;
}

.vi-formula-component-container {
	align-items: center;
	background-color: gray;
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
}

.vi-formula-component-item {
	margin: 0.3vh 0vw;
	width: 600px;
}

/* FOMULA */

/* ZEBRA */

.vi-zebra {
	/** FLEX **/
	align-self: stretch;
	align-items: stretch;
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	justify-content: flex-start;
	/** FLEX **/
}

.vi-stripe:nth-child(n) {
	font-family: 'Courier New';
	padding: 0.5vh 0.5vw;
}

.vi-stripe:nth-child(odd) {
	background-color: rgba(241,244,250, 1) !important;
}

.vi-stripe:nth-child(even) {
	background-color: rgba(241,244,250, 0.3) !important;
}

/* ZEBRA */

/* VOTERS */

.vi-voters-container {
	/** FLEX **/
	align-self: stretch;
	align-items: center;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: flex-start;
	/** FLEX **/
}

.vi-voter {
	/** FLEX **/
	align-self: stretch;
	align-items: center;
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	justify-content: space-between;
	/** FLEX **/
	margin-right: 1vw;
}

.vi-voter-icon {
	font-size: 30px;
}

.vi-voter-role {
	font-family: var(--font-family-nunito-semibold);
	font-size: 18px;
	margin: 0.5vh 0vw;
}

.vi-voter-badge {
	/** FLEX **/
	align-self: stretch;
	align-items: center;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-between;
	/** FLEX **/
	border-radius: var(--border-radius-default);
	margin: 0.1vh 0.3vw 0vh 0.3vw;
	padding: 0.5vh 0.5vw;
}

.vi-voter-badge > i.fas {
	margin-right: 0.3vw;
}

.vi-voter-badge-green {
	background-color: var(--green);
	color: var(--white);	
}

.vi-voter-badge-gray {
	background-color: var(--gray-c);
	color: var(--white);	
}

/* VOTERS */
