:root {
	--header-height: 60px;
	--header-user-area: 240px;
	--loading-bar-height: 10px;
	--loading-bar-width: 180px;
}

/*.main{ position: absolute; top: 0px; left: 0px; right: 0px; bottom: 0px; z-index: 1; border: solid 5px #F60; }*/
.main {
	position: relative;
	min-height: 100%;
	max-width: 100vw;
	display: grid;
	grid-template-rows: var(--header-height) auto;
	grid-gap: 0px;
	gap: 0px;
}

#version {
	display: none;
	position: fixed;
	left: 10px;
	bottom: 5px;
	z-index: 99;
	font-size: 0.7em;
	font-family: var(--font-default);
	color: rgba(0, 0, 0, 0.4);
}

/* HEADER */
#header {
	position: sticky;
	top: 0px;
	left: 0px;
	right: 0px;
	height: var(--header-height);
	z-index: 4000;
	-moz-box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3);
	-webkit-box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3);
	box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3);
}


#content {
	position: relative;
	height: 100%;
	width: 100%;
}

.page {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	min-height: 100%;
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#EEEEEE', endColorstr='#FFFFFF');
	background: -webkit-gradient(linear, left top, left bottom, from(#EEEEEE), to(#FFFFFF));
	background: -moz-linear-gradient(top, #EEEEEE, #FFFFFF);
}

.page-header {
	display: grid;
	grid-template-columns: 100px auto;
	grid-gap: 10px;
	gap: 10px;
	padding: 20px 0px;
}

.page-header>div {}

.page-header>div:nth-child(1)>div {
	aspect-ratio: 1 / 1;
	background-color: var(--main-color);
	display: flex;
	align-content: center;
	justify-content: center;
	align-items: center;
	-moz-border-radius: 50%;
	-webkit-border-radius: 50%;
}

.page-header>div:nth-child(1)>div>img {
	max-width: 70%;
	max-height: 70%;
}

.page-header>div>h1,
.page-header>div>h2 {
	font-family: var(--font-default);
	font-weight: normal;
	text-align: left;
	line-height: 100%;
	margin: 0;
}

.page-header>div>h1 {
	font-size: 4em;
	letter-spacing: -4px;
	color: var(--main-color);
	line-height: 110%;
}

.page-header>div>h2 {
	font-size: 2em;
	letter-spacing: -1px;
}

.hide {
	display: none !important;
}

/* ---------------------------------
MODAL DE PONTOS DO USUÁRIO
--------------------------------- */
#modal-user-point-details {
	padding: 10px;
}

#modal-user-point-details>.table {
	width: 420px;
	border: solid 1px rgba(0, 0, 0, 0.2);
}

#modal-user-point-details>.table>thead>tr>th {
	text-align: left;
	background-color: #F6F6F6;
}

#modal-user-point-details>.table>thead>tr>th,
#modal-user-point-details>.table>tbody>tr>td {
	padding: 10px;
	font-family: var(--font-ui);
	font-size: 0.85em;
	border-bottom: solid 1px rgba(0, 0, 0, 0.1);
}

#modal-user-point-details>.table>tbody>tr>td:nth-child(2) {
	background-color: #F6F6F6;
	border-left: solid 1px rgba(0, 0, 0, 0.1);
	font-size: 1.2em;
	vertical-align: middle;
	text-align: center;
}

#modal-user-point-details>.table>tbody>tr>td>label {
	display: block;
	font-size: 0.85em;
	color: #666;
}

#modal-user-point-details>.table>tbody>tr>td>strong {
	display: block;
}

#modal-user-point-details>.table>tbody>tr>td>span {
	display: block;
	font-size: 0.9em;
}

@media (max-width: 1600px) {}

@media (max-width: 1200px) {}

@media (max-width: 1024px) {}

@media (max-width: 840px) {}

@media (max-width: 720px) {}

@media (max-width: 600px) {

	.page-header {
		grid-template-columns: 70px auto;
		padding: 20px 10px;
	}

	.page-header>div>h1 {
		font-size: 2.2em;
		letter-spacing: -2px;
	}

	.page-header>div>h2 {
		font-size: 1.4em;
		letter-spacing: 0px;
	}
}

@media (max-width: 480px) {
	#modal-user-point-details {
		padding: 0px;
	}

	#modal-user-point-details>.table {
		width: 100%;
	}

	#modal-user-point-details>.table>thead>tr>th,
	#modal-user-point-details>.table>tbody>tr>td {
		padding: 5px;
		font-size: 0.8em;
	}

	.page-header {
		grid-template-columns: 50px auto;
		padding: 20px 10px;
	}

	.page-header>div>h1 {
		font-size: 1.7em;
		letter-spacing: -1px;
	}

	.page-header>div>h2 {
		font-size: 0.9em;
		letter-spacing: 0px;
	}

	#btn-install-area {
		width: 70px;
	}

	#btn-install {
		width: 64px;
		height: 22px;
	}

	#btn-install>svg {
		margin: 5px 0px 0px 4px;
		height: 10px;
	}

	#btn-install>label {
		font-size: 0.7em;
		line-height: 20px;
	}
}

@media (max-width: 320px) {}