/* CSS Document */

* {
	margin:0;
	padding:0;
}
*::-webkit-scrollbar {
	width: 10px;
	height:10px;
	background-color: #f0f0f0;
}
*::-webkit-scrollbar-track {
	-webkit-box-shadow: inset 0 0 5px rgba(0,0,0,0.3);
	background-color: #f0f0f0;
}
*::-webkit-scrollbar-thumb {
	-webkit-box-shadow: inset 0 0 5px rgba(0,0,0,.3);
	border-radius:20px;
	background-color: #999;
}

html {
	width: 100%;
	overflow-x: hidden;
}

body {
	width: 100%;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 100%;
	line-height: 100%;
	border: none;

	--colorGrayFont: #444746;
	--colorGrayLightFont: #949494;
	--colorGrayFontBg: #F0F0F0;

	--colorBlueFont: #0B74DE;
	--colorBoxBg: #D8E4F7;

	--colorWhite: #FFFFFF;
	--colorGreen: #008000;
	--colorYellow: #FFFF00;
	--colorRed: #FF0000;
	--colorBlue: #0775AE;
	--colorOrange: #FB6600;

	color: var(--colorGrayFont);
	background-color: var(--colorWhite);
}

.colorGreen { color: var(--colorGreen) !important; }
.colorYellow { color: var(--colorYellow) !important; }
.colorRed { color: var(--colorRed) !important; }
.colorBlue { color: var(--colorBlue) !important; }
.colorOrange { color: var(--colorOrange) !important; }

.bgWhite { background-color: var(--colorWhite) !important; color: var(--colorGrayFont) !important; }
.bgGreen { background-color: var(--colorGreen) !important; color: var(--colorWhite) !important; }
.bgYellow { background-color: var(--colorYellow) !important; color: var(--colorGrayFont) !important; }
.bgRed { background-color: var(--colorRed) !important; color: var(--colorWhite) !important; }
.bgBlue { background-color: var(--colorBlue) !important; color: var(--colorWhite) !important; }
.bgOrange { background-color: var(--colorOrange) !important; color: var(--colorWhite) !important; }
.bgGrayFontBg { background-color: var(--colorGrayFontBg) !important; }

.bgImg {
	background-color: var(--colorWhite);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
}

.maxLines1 {
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
}
.maxLines2 {
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}
.maxLines3 {
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.flexRowWrap {
	display: flex;
	flex-flow: row wrap;
}
.flexRowNowrap {
	display: flex;
	flex-flow: row nowrap;
}
.flexSpaceAround {
	justify-content: space-around;
}
.flex00auto {
	flex: 0 0 auto;
}

.alignCenter {
	text-align: center;
}

.margin10 {
	margin: 10px;
}

.fontSize50 { font-size: 50%; }
.fontSize75 { font-size: 75%; }

.imgFull {
	width: calc(100% - 4px) !important;
	margin: 2px !important;
	border-radius: 5px !important;
}

.canvasChartContainer {
	width: 100%;
	height: 400px;
}
	.canvasChartContainer canvas {
		width: 100%;
		height: auto;
	}

.canvasChart {
	width: 600px;
	height: 300px;
	display: block;
}

.cursorPointer {
	cursor: pointer;
}

.bigText {
	font-size: 250%;
}

/* -----------------------------------------
	HEADER
----------------------------------------- */

#header {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
	align-content: center;
    align-items: center;
    gap: 5px;
	padding: 5px;
	width: calc(100% - 10px);
	height: 60px;
	color: var(--colorGrayFont);
	background-color: var(--colorWhite);
    overflow: hidden;
}
    #header img {
        height: 30px;
		padding: 5px;
        border-radius: 10px;
    }
	#header i {
        font-size: 150%;
        cursor: pointer;
		padding: 5px;
		border-radius: 5px;
		color: var(--colorGrayFont);
		transition: all linear .25s;
	}
		#header i:hover {
			background-color: var(--colorGrayFontBg);
			transition: all linear .25s;
		}
	.headerGroup {
		display: flex;
		flex-flow: row nowrap;
		justify-content: space-between;
		align-content: center;
		align-items: center;
		gap: 5px;
		height: 60px;
	}
		.headerGroup  h1 {
				font-size: 100%;
				font-weight: normal;
				line-height: 115%;
				text-align: left;
			}

/* ----------------------------------------
	MENUH
---------------------------------------- */

.menuH {
	margin: 0;
	padding: 0;
	color: var(--colorGrayFont);
	background-color: var(--colorBoxBg);
}
	.menuH hr {
		height: 1px;
		border: none;
		margin: 10px 0 20px 0; 
		background: linear-gradient(to right, transparent, var(--colorGrayLightFont), transparent); 
	}
	/* nível 1 */
	.menuH > ul {
		display: flex;
		flex-flow: row nowrap;
		justify-content: space-evenly;
		align-content: stretch;
		align-items: stretch;
		gap: 5px;
		overflow-x: auto;
		overflow-y: hidden;
	}
		.menuH > ul > li {
			display: flex;
			flex-flow: column wrap;
			align-items: center;
			justify-content: flex-start;
			align-content: center;
			margin: 10px 0;
			padding: 10px;
			flex: 0 0 auto;
			list-style: none;
		}
	/* nível 2 */
	.menuH > ul > li > ul {
		display: none;
		margin-top: 5px;
		width: 100%;
		max-width: 250px;
		max-height: 250px;
		border-radius: 5px;
		color: var(--colorGrayFont);
		background-color: var(--colorWhite);
		overflow-y: auto;
	}
		.menuH > ul > li > ul > li {
			margin: 5px;
			padding: 5px;
			flex: 0 0 auto;
			list-style: none;
		}
	.menuH a {
		display: flex;
		flex-flow: row nowrap;
		align-items: center;
		gap: 5px;
		text-decoration: none;
		color: var(--colorGrayFont);
		transition: all linear .25s;
	}
	.menuH a:hover {
		color: var(--colorBlueFont);
		text-decoration: underline;
		transition: all linear .25s;
	}

/* ----------------------------------------
	CONTENT
---------------------------------------- */

#content {
	margin: 10px auto;
	max-width: 1000px;
}

/* ----------------------------------------
	CONTENTBODY
---------------------------------------- */

#contentBody {
	display: flex; 
	flex-flow: row nowrap;
	justify-content: space-between;
	align-items: flex-start;
	gap: 10px 10px;
	margin: 0;
	padding: 0;
	transition: all linear .5s;
}

/* ----------------------------------------
	NOTICE
---------------------------------------- */

#notice {
	flex: 0 0 auto;
	margin: 0;
	padding: 0;
	border-radius: 10px;
	width: 230px;
	max-width: 100%;
	text-align: justify;
	background-color: var(--colorWhite);
	border: 1px solid var(--colorBlueFont);
	overflow: hidden;
}
	#notice .titleH1 {
		margin: 10px;
		color: var(--colorGrayFont);
		font-size: 110%;
		line-height: 125%;
		font-weight: bold;
		text-align: center;
	}
	#notice .titleH2 {
		margin: 10px;
		color: var(--colorGrayFont);
		font-size: 100%;
		line-height: 115%;
		font-weight: bold;
		text-align: center;
	}
	#notice .titleH3 {
		margin: 10px;
		color: var(--colorGrayLightFont);
		font-size: 90%;
		line-height: 105%;
		font-weight: bold;
		text-align: justify;
	}
	#notice p {
		margin: 20px 10px;
		font-size: 90%;
		line-height: 110%;
		text-align: justify;
		/* impede texto longo de ultrapassar a largura */
		overflow-wrap: break-word;
  		min-width: 0;
	}
	#notice ul {
		max-width: 100%;
		font-size: 100%;
		margin: 10px;
		list-style: none;
	}
		#notice ul li {
			line-height: 125%;
			overflow: hidden;
		}
			#notice ul li a {
				overflow-wrap: anywhere;
			}
	#iframeNotice {
		margin: 0 !important;
		padding: 0 !important;
		width: calc(100% - 2px) !important;
		height: 250px !important;
		border-radius: 10px;
	}
	/*.demand {
		color:#666;
		margin:5px;
		padding:5px;
		border-radius:5px;
		transition: all .5s;
	}
		.demand h4 {
			color:#999;
			text-align:left;
		}
		.demand-flex {
			display:flex;
			flex-direction:row;
			flex-wrap:nowrap;
			justify-content:flex-start;
			align-items:flex-start;
			align-content:flex-start;
		}
			img.demand-img {
				width:50px;
				margin:5px;
				border-radius:5px;
			}
			.demand-content {
				margin:5px;
				border-left:3px #0775AE solid;
				padding:5px;
			}
				.demand-content h1 {
					color:#666;
					text-align:left;
				}
				.demand-context {
					color:#666;
					text-align:justify;
					display:none;
				}
				.demand-context ul {
					display:block;
					margin:5px 5px 5px 15px;
					list-style:disc;
				}
				.demand-context img {
					width:100px;
					margin:5px;
					border-radius:5px;
				}
	.demand:hover {
		background:#f0f0f0;
		transition: all .5s;
	}*/

/* ----------------------------------------
	TEXTBODY
---------------------------------------- */

#textBody {
	flex: 1;
	margin: 0;
	padding: 0;
	transition: all linear .5s;
}
	#textBody h2 {
		color: var(--colorGrayFont);
		font-size: 150%;
		line-height: 125%;
		text-align: center;
		margin: 20px 5px;
	}
	
	#textBody p {
		margin: 10px 5px;
		text-align: justify;
	}
	#textBody hr { 
		height: 1px;
		border: none;
		margin: 10px; 
		background: linear-gradient(to right, transparent, var(--colorGrayFont), transparent); 
	}

/* ----------------------------------------
	CXCORPO
---------------------------------------- */

#cxCorpo {
	margin: 0;
	padding: 10px;
	border-radius: 10px;
	background: var(--colorGrayFontBg);
}
	.content-corpo {
		width: 100%;
		border-radius: 10px;
		background-color: var(--colorWhite);
	}
		.corpo {
			padding: 10px;
			width: calc(100% - 20px);
			border-radius: 10px;
			text-align: justify;
			line-height: 125%;
			overflow-x: hidden;
		}
			.corpo h1 {
				color: var(--colorGrayFont);
				font-size: 175%;
				line-height: 150%;
				text-align: center;
				margin: 20px 5px;
			}
			.corpo h2 {
				color: var(--colorGrayFont);
				font-size: 150%;
				line-height: 125%;
				text-align: center;
				margin: 20px 5px;
			}
			.corpo h3 {
				color: var(--colorGrayLightFont);
				font-size: 140%;
				line-height: 125%;
				text-align: justify;
				margin: 20px 5px;
			}
			.corpo h4 {
				color: var(--colorGrayLightFont);
				font-size: 130%;
				line-height: 125%;
				text-align: justify;
				margin: 20px 5px;
			}
			.corpo h5 {
				color: var(--colorGrayLightFont);
				font-size: 120%;
				line-height: 115%;
				text-align: justify;
				margin: 20px 5px;
			}
			.corpo h6 {
				color: var(--colorGrayLightFont);
				font-size: 110%;
				line-height: 105%;
				text-align: justify;
				margin: 20px 5px;
			}
			.corpo p {
				margin: 0 0 10px 0;
				line-height: 125%;
				text-align: justify;
			}
			.corpo li {
				margin: 10px 0 10px 30px;
				list-style: none;
			}
			.corpo .textCorpo {
				margin:10px;
			}
				.corpo .textCorpo h1 {
					margin: 0;
					color: #333;
					padding: 5px;
					text-align: center;
				}
				.corpo .textCorpo h2 {
					margin: 0;
					color: #555;
					padding: 5px;
					text-align: center;
				}
				.corpo .textCorpo h3 {
					margin: 0;
					color: #777;
					padding: 5px;
					text-align: center;
				}
			.cxQrcode {
				margin: 0 auto;
				padding: 20px;
				width: calc(350px - 40px);
				background-color: var(--colorBoxBg);
			}
				.cxQrcode .qrcode {
					margin: 0 auto 20px auto;
					width: 250px;
					height: 250px;
					background-color: var(--colorWhite);
				}
					.cxQrcode .qrcode canvas {
						margin: 0;
						padding: 0;
						height: 100%;
					}
				.cxQrcode iframe {
					width: 100%;
					height: 150px;
				}
			/*.corpo ol {
				list-style-type: decimal;
				margin: 10px 0 10px 15px;
			}
				.corpo ol li { 
					margin: 0 0 0 10px;
				}
			.corpo ul {
				list-style-type: disc;
				margin: 10px 0 10px 15px;
			}
				.corpo ul li { 
					margin: 0 0 0 10px;
				}
			.corpo img.imgCorpo {
				display: block;
				margin: 10px auto;
				width: calc(100% - 20px);
				border-radius: 5px;
			}
			.corpo img.imgMin {
				margin: 5px;
				height: 80px;
				border-radius: 5px;
				border:1px #f0f0f0 solid;
			}
			.corpo a {
				margin: 2px;
				padding: 1px;
				color: var(--colorBlueFont);
				text-decoration: none;
			}
			.corpo a:hover {
				text-decoration: underline;
				color: var(--colorGrayFont);
			}*/
		.menu-corpo {
			display: inline-block;
			width: 24%;
		}

/* ----------------------------------------
	PAGINA
---------------------------------------- */

#pagina {
	text-align: justify;
}
	#pagina h2 {
		color: var(--colorGrayFont);
		font-size: 150%;
		line-height: 125%;
		text-align: center;
		margin: 20px 5px;
	}
	#pagina h4 {
		color:red;
		text-align: center;
	}
	#pagina p {
		margin: 10px 5px;
		text-align: justify;
	}
	#pagina hr { 
		height: 1px;
		border: none;
		margin: 10px; 
		background: linear-gradient(to right, transparent, var(--colorGrayFont), transparent); 
	}
	#pagina ul {
		padding: 5px;
		margin: 5px 5px 5px 10px;
		list-style: none;
	}
	#pagina ol {
		margin: 5px;
		margin: 5px 5px 5px 10px;
		list-style: decimal;
	}
		#pagina ul li,
		#pagina ol li {
			margin: 5px 5px 5px 10px;
		}
	#pagina a {
		text-decoration: none;
		color: var(--colorBlueFont);
	}
		#pagina a:hover {
			text-decoration: underline;
			color: var(--colorGrayFont);
		}

/* ----------------------------------------
	USU-FLEX
---------------------------------------- */

.usu-flex {
	display: flex;
	flex-flow: row wrap; 
	justify-content: center; 
	align-items: stretch; 
	align-content: flex-start;
	gap: 10px 10px;
	width: 100%;
	margin: 0;
	padding: 0;
	transition: all linear .5s;
}
	.item-flex {
		padding: 5px;
		width: calc(100% / 2 - 20px);
		border-radius: 10px;
		color: var(--colorGrayFont);
		background-color: var(--colorBoxBg);
		transition: all linear .5s;
	}
		.line-flex {
			display: flex;
			flex-flow: row nowrap; 
			justify-content: flex-start; 
			align-items: flex-start; 
			align-content: flex-start;
			gap: 5px;
			border-radius: 10px;
			text-align: justify;
			transition: all linear .5s;
		}
			.line-flex img {
				width: 50px;
				padding: 2px;
				background-color:var(--colorWhite);
				border-radius: 5px;
				flex: 0 0 auto;
			}
			.line-flex .qrcode {
				width: 100px;
				height: 100px;
				background-color:var(--colorWhite);
				flex: 0 0 auto;
			}
				.line-flex .qrcode canvas {
					margin: 0;
					padding: 0;
					height: 100%;
				}
			.item-p {
				padding: 2px;
				line-height: 125%;
			}
				.item-p p {
					margin: 0 0 10px 0 !important;
				}
				.item-p ol,
				.item-p ul {
					margin: 20px 0 20px 20px;
				}
					.item-p ol li,
					.item-p ul li {
						margin-bottom: 10px;
					}
	.item-flex:hover {
		background-color: var(--colorGrayFontBg);
		transition: all linear .5s;
	}

/* ----------------------------------------
	CAROUSEL
---------------------------------------- */

#carousel {
	width: 100%;
	margin: 20px 0;
	height: 400px; 
	background-color: var(--colorWhite);
	border-radius: 5px;
	transition: linear all .5s;
}

	.flexRow {
		display:flex;
		flex-direction:row;
		margin:0;
		padding:0;
	}
	.flexColumn {
		display:flex;
		flex-direction:column;
		margin:0;
		padding:0;
	}
	.wFixed {
		width:40px;
		margin:0;
		padding:0;
		display:inline-block;
		text-align:center;
	}
	
	/* tradução com bandeiras do Google */
	#translate {
		margin:0;
		padding:0;
		text-align:center;
	}
		#translate a {
			display:inline-block;
			margin:5px 5px 10px 5px;
			width:30px;
			height:30px;
			text-decoration:none;
			text-align:center;
		}
			#translate a img {
				width:20px;
				margin:5px;
				border-radius:5px;
				filter:grayscale(0); -webkit-filter:grayscale(0);
				transition:all .5s;
			}
			#translate a img:hover  {
				width:30px;
				margin:0;
				filter:grayscale(100); -webkit-filter:grayscale(100);
				border-radius:50%;
				transition:all .5s;
			}
	/* links para redes sociais */
	#social {
		margin:0;
		padding:0;
		text-align:center;
	}
		#social a {
			display:inline-block;
			margin:5px 5px 10px 5px;
			width:30px;
			height:30px;
			text-decoration:none;
			color:#0775AE;
			text-align:center;
			vertical-align:middle;
			transition:all .5s;
		}
			#social a i{
				margin:5px;
			}
		#social a:hover {
			border-radius:50%;
			background-color:#0775AE;
			color:#fff;
			transition:all .5s;
		}


/* ----------------------------------------
	FOOTER
---------------------------------------- */

.footer {
	width: 100%;
	color: var(--colorGrayFont);
}
	.footerBody {
		width:100%;
		display: flex;
		flex-flow: row nowrap;
		align-items: flex-start;
		justify-content: space-evenly;
		background-color: var(--colorBoxBg);
		padding: 30px 0 30px 0;
	}
		.footerBodyChild {
			padding: 20px;
		}
			.footerBodyChildTitle {
				font-size: 125%;
				line-height: 125%;
				margin-bottom: 20px;
			}
			.footerBodyChild > li {
				list-style: none;
				margin: 0 0 20px 0;
			}
	.footerFooter {
		width: calc(100% - 20px);
		padding: 10px;
		display: flex;
		flex-flow: row nowrap;
		align-items: center;
		justify-content: space-between;
		background-color: var(--colorWhite);
	}
		.footerFooterBody {
			display: flex;
			flex-flow: row nowrap;
			align-items: center;
			justify-content: center;
			gap: 10px;
		}
			.footerFooterBody .aLink {
				color: var(--colorBlueFont) !important;
			}
		.footerFooterFooter {
			color: var(--colorBlueFont) !important;
			font-size: 150%;
			display: flex;
			flex-flow: row nowrap;
			align-items: center;
			justify-content: center;
			gap: 20px;
		}

/* ----------------------------------------
	TOTOP | GOOGLE TRANSLATE
---------------------------------------- */

#floatingBottomRight {
	position: fixed;
	display: flex;
	flex-flow: column wrap;
	align-items: center;
	gap: 5px;
	bottom: 55px;
	right: 5px;
	padding: 0 0 0 5px;
	border-radius: 10px;
	z-index: 2;

	background: rgba(255, 255, 255, 0.05);
	backdrop-filter: blur(16px); 
	-webkit-backdrop-filter: blur(16px); 
}
	.buttonTranslate {
		display: flex;
		width: 30px;
		height: 30px;
		border: 1px solid var(--color4);
		border-radius: 50%;
		cursor: pointer;
		flex: 0 0 auto;
	}
	#btnToTop {
		padding: 5px 10px;
		border-radius: 10px;
		color: var(--colorGrayFont);
		background-color: var(--colorBoxBg);
		border: 2px var(--colorGrayFont) solid;
		font-size: 150%;
		cursor: pointer
	}

/* Google translate */
#google_translate_element {
    display: none !important;
}
.goog-te-banner-frame.skiptranslate {
    display: none !important;
}
.goog-text-highlight {
    background: none !important;
    box-shadow: none !important;
}
#goog-gt-tt,
.goog-te-balloon-frame {
    display: none !important;
}
.skiptranslate {
	display: none !important;
}


/*button, a.button {
	display:inline-block;
	margin:5px 5px 10px 5px;
	width:30px;
	height:30px;
	text-decoration:none;
	color:#666;
	text-align:center;
	vertical-align:middle;
	transition:all .5s;
}
	button i, a.button i{
		margin:5px;
	}
button:hover, a.button:hover {
	border-radius:50%;
	color:#333;
	cursor:pointer;
	transition:all .5s;
}*/

.aLink {
	display: flex;
	flex-flow: row nowrap;
	justify-content: flex-start;
	align-items: flex-start;
	gap: 5px;
	margin: 2px;
	padding: 1px;
	color: var(--colorBlueFont);
	text-decoration: none;
}
	.aLink img {
		width: 30px;
	}
	.aLink:hover {
		text-decoration: underline;
		color: var(--colorGrayFont);
	}

.aGeneral {
	color: inherit;
	text-decoration: none;
	transition: all .25s;
}
	.aGeneral:hover {
		text-decoration: underline;
		transition: all .25s;
	}

.button {
	display: flex;
	flex-flow: row nowrap;
	justify-content: flex-start;
	align-items: flex-start;
	gap: 5px;
	margin: 10px;
	padding: 20px;
	max-width: 200px;
	text-decoration: none;
	color: var(--colorWhite);
	background-color: var(--colorBlueFont);
	border-radius: 10px;
	transition: all .25s;
}
	.button:hover {
		filter: brightness(75%);
		transition: all .25s;
	}

object, iframe {
	overflow: hidden;
	background-color:#fff;
	transition: all .5s;
	width: 100%;
	min-height: 50px;
	border:1px #d8d8d8 solid;
}

.iframeGeneral {
	width: 100%;
	min-height: 50px;
	border-radius: 10px;
}

table {
	margin: 5px;
	border-collapse: collapse;
	max-width: calc(100% - 10px);
}
	caption {
		padding: 4px;
		text-align: center;
		background-color: var(--colorWhite);
		border: 1px solid var(--colorGrayFont);
	}
	table, th, td {
		border: 1px solid var(--colorGrayFont);
		padding: 5px;
		line-height: 125%;
	}
	td {
		text-align: left;
		vertical-align: top;
	}
		td img {
			width: 50px;
			border-radius: 5px;
		}
	th {
		background-color: var(--colorGrayFont);
		color: var(--colorWhite);
		text-align: center;
	}
	tr:nth-child(even) {background-color: var(--colorGrayFontBg)}
	/*tr:hover {filter: brightness(75%)}*/

#iframeLb::-webkit-scrollbar-track,
table::-webkit-scrollbar-track,
body::-webkit-scrollbar-track,
object::-webkit-scrollbar-track,
iframe::-webkit-scrollbar-track {
	-webkit-box-shadow: inset 0 0 5px rgba(0,0,0,0.3);
	background-color: #f0f0f0;
}
#iframeLb::-webkit-scrollbar,
table::-webkit-scrollbar,
body::-webkit-scrollbar,
object::-webkit-scrollbar,
iframe::-webkit-scrollbar {
	width: 10px;
	background-color: #f0f0f0;
}
#iframeLb::-webkit-scrollbar-thumb,
table::-webkit-scrollbar-thumb,
body::-webkit-scrollbar-thumb,
object::-webkit-scrollbar-thumb,
iframe::-webkit-scrollbar-thumb {
	-webkit-box-shadow: inset 0 0 5px rgba(0,0,0,.3);
	background-color: #999;
}

/* Configurações de impressão */
@media print {
  .noprint { display: none; }
}
@media screen {
	.noscreen {display:none}
}

/* ...::: CONFIGURAÇÕES GERAIS :::... */
.externo-5 { margin:5px; }
.externo-10 { margin:10px; }
.externo-15 { margin:15px; }
.externo-20 { margin:20px; }

.interno-5 { padding:5px; }
.interno-10 { padding:10px; }
.interno-15 { padding:15px; }
.interno-20 { padding:20px; }

.float-l { float:left; }
.float-r { float:right; }

.alinhar-l { text-align:left; }
.alinhar-r { text-align:right; }
.alinhar-centro { text-align:center; }
.justificar { text-align:justify; }

.fonteBranca { color:#fff; }
.fontePreta { color:#000; }
.fonteCinza3 { color:#333; }
.fonteCinza6 { color:#666; }
.fonteCinza9 { color:#999; }
.fonteCinza12 { color:#ccc; }
.fonteCinza14 { color:#eee; }

.fundoBranco { background-color: #fff; }
.fundoPreto { background-color: #000; }
.fundoCinza3 { background-color: #333; }
.fundoCinza6 { background-color: #666; }
.fundoCinza9 { background-color: #999; }
.fundoCinza12 { background-color: #ccc; }
.fundoCinza14 { background-color: #eee; }
.fundoVerde { background-color: #228b22; }
.fundoVermelho { background-color: #F66359; }
.fundoAzul { background-color: #1346b8; }
.fundoAmarelo { background-color: #ff0; }
.fundoLaranja { background-color: #FFAA2C; }

.bordaCinza9 { border:1px #999 solid; }
.bordaRaio5 {border-radius: 5px;}

.overflowX {overflow-x:auto}
.overflowY {overflow-y:auto}

.pointer {cursor:pointer}

/* ...::: BOTÕES :::... */
.botao {
	min-width:150px;
	max-width:400px;
	margin:5px;
	padding:10px 15px 10px 15px;
	text-decoration:none;
	text-align:center;
	display: inline-block;
	vertical-align: middle;
	-webkit-transform: perspective(1px) translateZ(0);
	transform: perspective(1px) translateZ(0);
	box-shadow: 0 0 1px transparent;
	position: relative;
	overflow: hidden;
	border-radius:5px;
}
.botao:before {
	content: "";
	position: absolute;
	z-index: -1;
	left: 0;
	right: 100%;
	bottom: 0;
	background: #d8d8d8;
	border: thin #999 solid;
	height: 3px;
	-webkit-transition-property: right;
	transition-property: right;
	-webkit-transition-duration: 0.3s;
	transition-duration: 0.3s;
	-webkit-transition-timing-function: ease-out;
	transition-timing-function: ease-out;
}
.botao:hover:before, .botao:focus:before, .botao:active:before {
  right: 0;
}

/* ----------------------------------------
	LBOX
---------------------------------------- */

#lbox {
	position: fixed;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0,0,0,0.25);
	z-index: 1500;
	backdrop-filter: blur(3px);
}
	#lboxContainer {
		position: relative;
		display: flex;
		flex-direction: column;
		background: var(--colorWhite);
		max-width: 1000px;
		margin: 40px;
		border-radius: 10px;
		width: calc(100% - 80px);
		height: calc(100% - 80px);
	}
		#lboxClose {
			position: absolute;
			top: 0;
			right: 0;
			padding: 5px 10px;
			border-radius: 0 10px 0 10px;
			color: var(--colorWhite);
			background-color: var(--colorRed);
			cursor: pointer;
			transition: all .25s linear;
		}
			#lboxClose:hover {
				color: var(--colorRed);
				background-color: var(--colorWhite);
				transition: all .25s linear;
			}
		#lboxTitle {
			font-size: 110%;
			line-height: 125%;
			padding: 10px;
			width: calc(100% - 20px);
			font-weight: 600;
    		color: var(--colorGrayFont);
			flex: 0 0 auto;
		}
		#lboxContent {
			font-size: 100%;
			line-height: 140%;
			padding: 2px;
			/*padding: 10px;*/
			flex: 1 1 auto;
			overflow-x: hidden;
			overflow-y: auto;
		}
		#iframeLbox {
			width: 100%;
			height: calc(100% - 20px);
			border: none;
		}

/* ------------------------------------------
  OVERLAY
------------------------------------------ */

#overlay {
	position: fixed;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0,0,0,0.45);
	z-index: 9996;
	backdrop-filter: blur(3px);
}
	#overlayContainer {
		position: relative;
		display: flex;
		flex-direction: column;
		width: min(90%, 400px);
		max-width: 80vw;
		max-height: 80vh;
		background: var(--colorWhite);
		border-radius: 16px;
		padding: 20px 24px;
		box-shadow: 0 4px 16px rgba(0,0,0,0.2);
	}
		#overlayTitle {
			font-size: 110%;
			line-height: 125%;
			font-weight: 600;
    		margin-bottom: 12px;
    		color: var(--colorGrayDark);
			flex: 0 0 auto;
		}
		#overlayClose {
			position: absolute;
			top: 0;
			right: 0;
			padding: 5px 10px;
			border-radius: 0 16px 0 16px;
			color: var(--colorWhite);
			background-color: var(--colorRed);
			cursor: pointer;
			transition: all .25s linear;
		}
			#overlayClose:hover {
				color: var(--colorRed);
				background-color: var(--colorWhite);
				transition: all .25s linear;
			}
		#overlayContent {
			font-size: 100%;
			line-height: 140%;
			padding: 2px;
			color: var(--colorGrayMedium);
			margin-bottom: 24px;
			text-align: justify;
			word-wrap: break-word;
			word-break: break-word;
			overflow-wrap: break-word;
			overflow-x: hidden;
			overflow-y: auto;
			flex: 0 1 auto;
		}
			#overlayImg {
				display: flex;
				align-items: center;
				justify-content: center;
				flex: 1 1 auto;
				max-height: 100%;
    			overflow: hidden;
			}
			#overlayImg > img {
				border-radius: 10px;
				width: auto;
				height: auto;
				max-width: 100%;
				max-height: 100%;
				object-fit: contain;
			}
			#overlayContent > iframe {
				width: auto;
				height: auto;
				max-width: 100%;
				max-height: 100%;
				/*width: 100vw;
				height: 100vh;
				max-width: calc(80vw - 40px);
				max-height: calc(80vh - 40px);*/
			}
		#overlayFooter {
			display: flex;
			flex-flow: row nowrap;
			justify-content: space-between;
			align-items: center;
			gap: 20px;
			width: 100%;
			flex: 0 0 auto;
			overflow-y: auto;
		}
			#overlayFooter > * {
				margin: 10px 0;
				flex: 0 0 auto;
			}

.iLink {
	margin:5px;
	background-color:#fff;
	display:inline-block;
	text-decoration:none;
	border-radius:5px;
}
.iLink img {
	margin:2px;
	height:30px;
}
.iLink:hover {
	box-shadow:#333 1px 2px 3px;
}

/* Mensagens */
.mensagem {
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
	align-items: flex-start;
	gap: 10px;
	padding: 10px;
	line-height: 125%;
    color: var(--colorWhite);
    margin-bottom: 10px;
}
	.mensagem > i {
		padding: 0 5px;
		font-size: 125%;
		flex: 0 0 auto;
	}
	.mensagem div {
		flex: 1;
		line-height: 150%;
		/* impede texto longo de ultrapassar a largura */
		overflow-wrap: break-word;
  		min-width: 0;
	}

#mostra-div {
	display:none;
}


#video-youtube {
	width: 95%;
	border-radius: 3px;
	border: 1px solid #ccc;
	margin: 10px;
}
#video-youtube:hover {
	border:1px solid #666;
}

.grafico {
	margin:15px;
	border:1px solid #666;;
	border-radius:3px;
	border-radius:5px;
	min-width:200px;
	max-width:40%;
	-webkit-box-shadow: 0px 0px 10px 4px rgba(0,0,0,0.99);
	-moz-box-shadow: 0px 0px 10px 4px rgba(0,0,0,0.99);
	box-shadow: 0px 0px 10px 4px rgba(0,0,0,0.99);
}

#map {
	width:95%;
	border-radius:3px;
	border:1px solid #ccc;
	margin:10px;
}
#map:hover {
	border:1px solid #666;
}

#bar-social {
	width:235px;
	height:40px;
	padding:5px;
	position:absolute;
	top:100px;
	right:-195px;
	transition:all 1s linear;
	opacity:.8;
	border-top-left-radius:3px;
	border-bottom-left-radius:3px;
}
#bar-social:hover {
	right:0;
	transition:all .5s linear;
	background:#fff;
	opacity:1;
}
#bar-social a {
	margin-bottom:5px;
	filter:sepia(100);
}
#bar-social a:hover {
	filter:sepia(0);
}
#bar-social img {
	width:40px;
	margin-right:5px;
}

/* ----------------------------------------
	FORMULÁRIO
---------------------------------------- */

form {
	padding: 10px;
	color: var(--colorGrayFont)
}

fieldset {
	border: 1px solid var(--colorGrayLightFont);
	border-radius: 10px;
	padding: 10px;
}

label,
textarea,
select {
	display: block;
	width: 100%;
}

label {
	margin: 10px 0 10px 0;
	line-height: 115%;
}

input[type=text],
input[type=email],
input[type=tel],
input[type=url],
input[type=password],
input[type=number],
select,
textarea {
	margin: 0 0 20px 10px;
	padding: 10px;
	width: calc(100% - 20px - 20px - 20px);
	font-size: 100%;
	line-height: 125%;
	color: var(--colorBlueFont);
	background-color: var(--colorBoxBg);
	border-radius: 10px;
	border: none;
}

input[type=checkbox] {
	margin: 5px 5px 0 20px;
	width: 20px;
	height: 20px;
}

input[type=submit] {
	margin: 10px;
	padding: 10px;
	font-size: 100%;
	line-height: 125%;
	color: var(--colorWhite);
	background-color: var(--colorBlueFont);
	border-radius: 10px;
	border: none;
	cursor: pointer;
}
	input[type=submit]:hover {
		filter: brightness(75%);
	}

input::placeholder,
textarea::placeholder {
	color: var(--colorGrayLightFont);
	font-size: 75%;
	font-family: Arial, Helvetica, sans-serif;
}

.containerInput {
	position: relative;
}
	.containerInput input {
		width: calc(100% - 40px - 80px) !important;
		padding-right: 80px !important;
	}
.floatingInput {
	position: absolute;
	top: calc(50% - 20px);
	right: 0;
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	gap: 5px;
	width: 80px;
	height: 40px;
}
	.floatingInput i {
		padding: 5px 10px;
		cursor: pointer
	}

/*.formularios {
	display:block;
}
.formularios fieldset {
	padding:10px;
	margin:5px;
	border:1px #d8d8d8 solid;
	border-radius:3px;
}
.formularios label {
	margin:15px 0 2px 0;
	color:#333;
	display:block;
}
.formularios select {
	margin:5px 5px 0 0;
	min-width:230px;
	max-width:300px;
	height:30px;
	padding:2px 5px 2px 5px;
	font-family:"Palatino Linotype", "Book Antiqua", Palatino, serif;
	background-color:#e0e0e0;
	border-radius:3px;
	border:transparent;
	color:#666;
}
.formularios input[type='text'], 
input[type='date'], 
input[type='email'], 
input[type='tel'], 
input[type='email'], 
input[type='password'],
input[type='number'],
input[type='url'] {
	margin:5px 0 0 0;
	min-width:230px;
	max-width:310px;
	height:25px;
	padding:2px 5px 2px 5px;
	background-color:#e0e0e0;
	border-radius:3px;
	border:transparent;
	color:#666;
}
.formularios textarea {
	margin:5px 0 0 0;
	min-width:230px;
	max-width:410px;
	padding:2px 5px 2px 5px;
	background-color:#e0e0e0;
	border-radius:3px;
	border:transparent;
	color:#666;
}
.formularios input[type='submit'],
.formularios input[type='file'] {
	margin:10px 10px 0 0;
	min-width:50px;
	max-width:400px;
	height:35px;
	padding:1px 10px 1px 10px;
	background-color:#3e4095;
	border-radius:3px;
	border:transparent;
	color:#fafafa;
	display:inline-table;
	cursor:pointer;
}
.formularios input[type='submit']:hover,
.formularios input[type='file']:hover {
	background-color:#ccc;
	color:#3e4095;
}
.formularios input[type='reset'] {
	margin:10px 10px 0 0;
	min-width:50px;
	max-width:400px;
	height:35px;
	padding:1px 10px 1px 10px;
	background-color:#F66359;
	border-radius:3px;
	border:transparent;
	color:#fafafa;
	display:inline-table;
	cursor:pointer;
}
.formularios input[type='reset']:hover {
	background-color:#ff0;
	color:#F66359;
}
.formularios input[type=checkbox] {
	margin:5px;
	width:15px;
	height:15px;
	border:1px #333 solid;
}


.formularios input[type=search] {
	margin:5px;
	min-width:230px;
	max-width:310px;
	height:30px;
	padding:2px 5px 2px 35px;
	background: #e0e0e0 url(../../img/lupa.png) no-repeat 6px center;
	border-radius:3px;
	border:transparent;
	color:#1346b8;
}
.formularios input::-webkit-search-decoration,
.formularios input::-webkit-search-cancel-button {
	display: none; 
}
.formularios input[type=search]:focus {
	background:url(../img/lupa.png) no-repeat 12px center;
	background-color:#f0f0f0;
}*/

.paraotopo {
	display:scroll;
	position:fixed;
	top:50%;
	right:5px;
	text-align:center;
	vertical-align:middle;
	opacity:.3;
	background:transparent;
	z-index:10;
	transition:all .5s linear;
}
.paraotopo:hover {
	opacity:1;
}

#paraotopo { 
	visibility: hidden; 
	transition:all .5s linear;
}
		

.numeracao {
	display: flex;
	flex-flow: row nowrap;
	justify-content: flex-end;
	align-items: center;
	margin: 20px 15px;
}
	.numeracao a {
		color: var(--colorGrayFont);
		background: var(--colorWhite);
		text-decoration: none;
		border-radius: 4px;
		padding: 4px 8px 4px 8px;
	}
		.numeracao a:hover {
			color: var(--colorWhite);
			background: var(--colorGrayFont);
		}
	.numeracao .botoes-navegacao {
		color: var(--colorRed);
		background: var(--colorWhite);
	}
		.numeracao .botoes-navegacao:hover {
			color: var(--colorWhite);
			background: var(--colorRed);
		}
	.numeracao #pagina-atual {
		color: var(--colorGrayLightFont);
		background: var(--colorWhite);
	}
		.numeracao #pagina-atual:hover {
			text-decoration: none;
			cursor: default;
		}

/* ----------------------------------------
	MENUV
---------------------------------------- */

#menuVBg {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color:rgba(3,3,3,.5);
	z-index: 101; 
}

#menuV {
	position: fixed;
	top: 0;
	right: 0;
	margin: 0;
	padding: 10px;
	width: 250px;
	max-width: 80%;
	height: calc(100vh - 20px);
	background-color: var(--colorWhite);
	border-left: 2px solid var(--colorBlueFont);
	transition: all 1.5s;
	z-index: 1400;
	overflow-x: hidden;
	overflow-y: auto;
}
	#menuV hr {
		height: 1px;
		border: none;
		margin: 10px 0 20px 0; 
		background: linear-gradient(to right, transparent, var(--colorBlueFont), transparent); 
	}
	#menuV div {
		line-height: 150%;
		font-weight: bold;
		padding: 5px 5px 10px 5px;
		text-align: center;
		border-bottom: 1px dashed var(--colorGrayFont);
	}
	#menuV ul li { 
		margin: 10px 0 20px 0;
		list-style: none;
	}

.bordaInferior {
	border-bottom: 1px solid #d8d8d8;
}

/* ########## alert ########## */
.alert {
	position: fixed;
	left: 0;
	top: 0;
	width: calc(100% - 10px);
	text-align: center;
	color: #fff;
	background-color: rgba(3, 3, 3, .65);
	border-radius: 10px;
	margin:5px;
	padding: 5px;
	z-index: 2000;
	transform: scale(1.3);
	-webkit-transform: scale(1.3);
	transition: visibility 0s linear 0.25s, opacity 0.25s 0s, transform 0.25s;
	-webkit-transition: visibility 0s linear 0.25s, opacity 0.25s 0s, -webkit-transform 0.25s;
	visibility: hidden;
	opacity: 0;
  }
  
  .showAlert {
	transform: scale(1.0);
	-webkit-transform: scale(1.0);
	transition: visibility 0s linear 0.25s, opacity 0.25s 0s, transform 0.25s;
	-webkit-transition: visibility 0s linear 0s, opacity 0.25s 0s, -webkit-transform 0.25s;
	visibility: visible;
	opacity: 1;  
  }
  
  /* ########## modal ########## */
  .modal {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(3, 3, 3, .65);
	opacity: 0;
	visibility: hidden;
	z-index: 1000;
	transform: scale(1.1);
	-webkit-transform: scale(1.1);
	transition: visibility 0s linear 0.25s, opacity 0.25s 0s, transform 0.25s;
	-webkit-transition: visibility 0s linear 0.25s, opacity 0.25s 0s, -webkit-transform 0.25s;
  }
  
  #modalContainer {
	position: absolute;
	top: 50%;
	left: 50%;
	background: #fff;
	background: linear-gradient(45deg, rgba(208,208,208,1) 0%, rgba(250,250,250,1) 50%, rgba(208,208,208,1) 100%);
	padding: 10px;
	/*width: 24rem;*/
	width: calc(100% - 35px);
	height: calc(100% - 35px);
	max-width: 800px;
	border-radius: 0.5rem;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
  }
  
  #modalHeader {
	height: 50px;
	font-weight: bold;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: flex-start;
	align-content: center;
  }

  #modalClose {
	width: 30px;
	height: 30px;
  }
  
  #btnModalClose {
	
  }
  
  #btnModalClose:hover {
	color: #f00;
  }
  
  #modalHeaderContent {
	/* substitui texto em excesso por reticências após 3 linhas */
	overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
  }
  
  #modalContent {
	position: relative;
	line-height: 130%;
	border-radius: 5px;
	overflow-x: hidden;
	overflow-y: auto;
	height: calc(100% - 50px - 40px);
	background: transparent;
	background-size:contain;
	background-repeat:no-repeat;
	background-position:center;
	transition: all .5s;
  }
  #legendModalContent {
	position: absolute;
	background-color: rgba(0,0,0,.5);
	color: #fff;
	text-shadow: 1px 1px 1px #000;
  }

  #iframeModal {
	border:none;
	margin:0;
	padding:0;
	border-radius: 5px;
	width: 100%;
	height: calc(100% - 5px);
  }
  
  #modalFooter {
	height: 40px;
	padding:5px;
	color: #666;
	border-radius: 0 0 10px 10px;
	/* substitui texto em excesso por reticências após 3 linhas */
	overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
  }
  
  .showModal {
	opacity: 1;
	visibility: visible;
	transform: scale(1.0);
	-webkit-transform: scale(1.0);
	transition: visibility 0s linear 0s, opacity 0.25s 0s, transform 0.25s;
	-webkit-transition: visibility 0s linear 0s, opacity 0.25s 0s, -webkit-transform 0.25s;
  }

  /* videoBarcode */
  #videoBarcode {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,.5);;
  }

/* ------------------------------------------
  SCROLLH
------------------------------------------ */

.scrollH {
	width: 100%;
	max-width: 100%;
	overflow-x: auto;
}

.scrollHLinks {
	display: flex;
	flex-flow: row nowrap;
	justify-content: flex-start;
	align-items: center;
	gap: 10px;
	margin: 10px;
	width: calc(100% - 20px);
	overflow-x: auto;
}
	.scrollHLinks > * {
		flex: 0 0 auto;
	}

/* ------------------------------------------
  TOAST
------------------------------------------ */

#toast-container {
	position: fixed;
	bottom: 20px;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	z-index: 9999;
}

/* Estilo do toast */
.toast {
	background: rgba(0, 0, 0, 0.85);
	color: #fff;
	padding: 10px 15px;
	border-radius: 8px;
	box-shadow: 0 2px 8px rgba(0,0,0,0.2);
	opacity: 0;
	transform: translateY(20px);
	transition: all 0.3s ease;
	font-family: sans-serif;
}

/* Animação de entrada */
.toast.show {
	opacity: 1;
	transform: translateY(0);
}

/* Cores opcionais */
.toast.success { background: var(--colorGreen); } 
.toast.error { background: var(--colorRed); }
.toast.info { background: var(--colorBlue); }
.toast.warning { background: var(--colorOrange); }

/* ------------------------------------------
  LOADING
------------------------------------------ */

#loading {
    position: fixed;
    inset: 0;
    display: flex;
    place-content: center;
    place-items: center;
    background: rgba(0, 0, 0, 0.45);
    color: var(--colorWhite);
    backdrop-filter: blur(3px);
    z-index: 9998;
}
	#loadingContainer {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 10px;
		width: min(90%, 400px);
		max-height: 80vh;
		padding: 20px 24px;
	}
		#loadingContainer i {
			font-size: 200%;
		}

.diamondHommel {
	display: flex;
	flex-direction: column;
	width: 90px;
	height: 90px;
}
	.diamondHommel > .top,
	.diamondHommel > .middle,
	.diamondHommel > .bottom {
		display: flex;
		flex-flow: row nowrap;
		align-items: center;
		height: 22px;
		padding: 4px;
		font-weight: bold;
		color: var(--colorWhite);
	}
	.diamondHommel > .top,
	.diamondHommel > .bottom {
		justify-content: center;
	}
		.diamondHommel > .bottom > img {
			width: auto;
			height: 20px;
			margin-bottom: 15px;
		}
	.diamondHommel > .middle {
		justify-content: space-around;
	}
		.diamondHommel > .middle > .r {
			color: var(--colorGrayFont) !important;
		}

/* ------------------------------------------
  ETIQUETA PIMACO A4263 (14 etiquetas 7 / 2 colunas)
  	@page {
    	size: A4;
    	margin: 0;
	}
	@media print {
		html, body {
			width: 210mm;
			height: 297mm;
		}
	}
------------------------------------------ */

.tickets {
    width: 210mm;
    height: 297mm;

    padding-top: 15.2mm;   /* 1,52 cm */
    padding-left: 4.7mm;     /* 0,47 cm */

    box-sizing: border-box;
}
	.sheet {
		display: grid;
		grid-template-columns: repeat(2, 99mm);
		grid-auto-rows: 38.1mm;

		column-gap: 2.6mm;
		row-gap: 0;

	}
		.ticket {
			width: 99mm;
			height: 38.1mm;
			box-sizing: border-box;
			padding: 3mm;
			border: 0.2mm dashed #999;

			display: flex;
			flex-flow: row nowrap;
			gap: 1.5mm;
			overflow: hidden;
		}
			.ticketQrcode {
				width: 32mm;
    			aspect-ratio: 1 / 1;
				flex: 0 0 auto;
				display: flex;
				justify-content: flex-end;
				align-items: flex-end;
			}
				.ticketQrcode canvas {
					margin: 0;
					padding: 0;
					height: 100%;
				}
				.ticketQrcode div {
					display: flex;
					flex-flow: row nowrap;
					justify-content: space-between;
					align-items: center;
					width: 100%;
				}
					.ticketQrcode div img {
						height: 32px;
						border-radius: 2px;
						background-color: rgba(255,255,255,.85);
					}
			.ticketContent {
				display: flex;
				flex-direction: column;
				justify-content: center;
				gap: 2mm;
				font-size: 100%;
				line-height: 4.5mm;
				flex: 1;
			}
				.ticketContent div {
					margin-top: 2mm;
				}

/* ------------------------------------------
  GALLERY
------------------------------------------ */
.gallery {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-around;
	gap: 10px 10px;
}
	.gallery .thumb {
		width: calc(100% / 6 - 4px) !important;
		aspect-ratio: calc(1 / 1);
		margin: 2px !important;
		border-radius: 10px !important;
		border: 1px solid var(--colorGrayLightFont);
		cursor: pointer;
		filter: sepia(0);
		transition: all .25s;
	}
	.gallery .thumb:hover {
		filter: sepia(1);
		border: 1px solid var(--colorGrayFont);
		transition: all .25s;
	}

#midia {
    position: fixed;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background: rgba(0,0,0,0.45);
    z-index: 9997;
    backdrop-filter: blur(3px);
}
	#midiaClose {
		position: absolute;
		top: 0;
		right: 0;
		padding: 5px 10px;
		border-radius: 0 0 0 16px;
		color: var(--colorWhite);
		background-color: var(--colorRed);
		cursor: pointer;
		transition: all .25s linear;
		z-index: 9998;
	}
		#midiaClose:hover {
			color: var(--colorRed);
			background-color: var(--colorWhite);
			transition: all .25s linear;
		}
	#midiaTitle {
		position: absolute;
		top: 40px;
		left: 50%;
		transform: translateX(-50%);
		padding: 10px;
		max-width: calc(100% - 20px - 30px);
		display: flex;
		align-items: center;
		justify-content: space-between;
		flex: 0 0 auto;
		border-radius: 8px;
		color: var(--colorGrayFont);
		background-color: var(--colorBoxBg);
	}
	#midiaCounter {
		position: absolute;
		top: 50%;
		right: 0;
		transform: translateY(-50%);
		font-size: 125%;
		width: 40px;
		height: 40px;
		border-radius: 10px 0 0 10px;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		color: var(--colorGrayFont);
		background-color: var(--colorWhite);
	}
	#midiaFooter {
		background-color: rgba(0,0,0,.375);
		flex: 0 0 auto;
	}
	#midiaContent {
		width: 100%;
		height: 100%;
		max-height: 100%;
		flex: 1 1 auto;   /* <-- IMPORTANTE */
		display: flex;    /* <-- permite que #midiaImage "estique" */
		overflow: hidden;
	}
		#midiaImage {
			width: 100%;
			height: 100%;
			max-height: 100%;
			display: flex;
			align-items: center;
			justify-content: center;
			flex: 1; /* <-- preencher o meio */
			overflow: hidden; /* evita imagem escapar */
		}
			#midiaImage > img {
				margin: 4px;
				padding: 2px;
				max-width: calc(100% - 8px);
				max-height: calc(100% - 8px);
				width: auto;
				height: auto;
				border-radius: 16px;
				background-color: var(--colorWhite);
			}
	#midiaFooter {
		display: flex;
		flex-flow: row nowrap;
		justify-content: flex-start;
		align-items: center;
		gap: 5px;
		margin: 0;
		padding: 0;
		overflow-x: auto;
	}
		#midiaFooter div {
			width: 60px;
			aspect-ratio: calc(1 / 1);
			cursor: pointer;
			flex: 0 0 auto;
		}


/* ------------------------------------------
  MEDIA SCREEN
------------------------------------------ */

@media screen and (max-width:600px) {

	#carousel {
		margin: 0;
		height: 200px; 
		border-radius: 0;
		transition: linear all .5s;
	}

	#contentBody {
		flex-direction: column-reverse;
		flex-wrap: wrap; 
		transition: all .5s;
	}
		
	#notice {
		margin: 5px;
		width: calc(100% - 10px);
		transition: all .5s;
	}

	#textBody {
		margin: 5px 0;
		padding: 5px;
		width: calc(100% - 10px);
		transition: all .5s;
	}

	.usu-flex {
		flex-flow: column wrap; 
		justify-content: center; 
		align-items: flex-start; 
		align-content: center;
		transition: all linear .5s;
	}

	.item-flex {
		width: calc(100% - 10px);
		transition: all linear .5s;
	}
	
	#cxCorpo {
		padding: 5px;
	}

	.corpo {
		width: calc(100% - 20px);
	}

	.footerBody {
		flex-flow: column wrap;
	}

	.footerFooter {
		align-items: stretch;
		gap: 10px;
	}

	.footerFooterBody {
		flex: 1;
		flex-flow: column wrap;
		align-items: flex-start;
		justify-content: space-between;
	}

	.footerFooterFooter {
		flex: 0 0 auto;
		flex-flow: column wrap;
		align-items: center;
		gap: 15px;
	}

	#floatingBottomRight {
		bottom: 135px;
	}

	#lboxContainer {
		margin: 0;
		border-radius: 0;
		width: 100%;
		height: calc(100%);
	}

	.gallery .thumb {
		width: calc(100% / 5 - 4px) !important;
	}

}