/** {
	hyphens: auto;
}
*/

html {
	scroll-behavior: smooth;
}

/*********************** CONTAINER DE ÍCONES *********************************/

.icone-container {
	position: relative;
	display: inline-block;
	font-size: 1rem;
	color: #0078D7;
	cursor: pointer;

}

/* Modal com tamanho dinâmico */
.modal {
	display: block;
	gap: 1px;
	opacity: 0;
	position: absolute;
	top: 2.5%;
	left: 43%;
	transform: translateX(50%) translateY(-50px) scale(0.5);
	width: 200px;
	/* ajusta ao conteúdo */
	max-width: 300px;
	/* limite para não ficar gigante */
	background: rgb(252, 252, 79);
	border: 1px solid #0c0c0c;
	border-radius: 6px;
	padding: 5px;
	box-shadow: -2px 2px 8px 6px rgba(0, 0, 0, 0.452);
	z-index: 5;

	/* Animação */
	transition: opacity 0.8s ease, transform 1.2s ease;
	pointer-events: auto;
	white-space: normal;
	/* permite quebra de linha */
}

.icone-container:hover .modal {
	opacity: 0.9;
	transform: translateX(12%) translateY(-15%) scale(0.9);
	/************/
	pointer-events: auto;
}

.modal p {
	font-family: Verdana, Geneva, Tahoma, sans-serif, sans-serif;
	text-align: center;
	font-size: clamp(0.7rem, 2vw, 0.9rem);
	margin: 3px;
	color: rgb(168, 0, 70);
}

/* Responsividade */
@media (max-width: 300px) {
	body {
		flex-direction: column;
		align-items: center;
	}

	.modal {
		max-width: 90vw;
		/* ocupa quase toda a largura */
		left: 50%;
		transform: translate(-50%, -10px);
	}

	.icone-container:hover .modal {
		transform: translate(-10%, 0) scale(1);
	}
}

/*********************** CONTAINER DE LINKS *********************************/

/* Estilo do link */
.link-container {
	position: relative;
	display: inline-block;
	font-size: 1em;
	color: blue;
	text-decoration: underline;
	letter-spacing: 1.2px;
	background-color: rgba(168, 250, 251, 0.317);
	cursor: pointer;
	/*text-wrap: wrap;*/
	flex-wrap: wrap;
	overflow-wrap: break-word;
	/*hyphens: auto;*/
	/*align-items: center;*/
	border: 0.1rem dotted rgb(127, 127, 128);
}

/* Modal dinâmico */
.modal-l {
	opacity: 0;
	position: absolute;
	top: 1.4em;
	/*21px;*/
	left: 15vw;
	transform: translateX(-90%) scale(0.6);
	width: 25vw;
	/*max-width: 500px;*/
	/*max-width: min(600px, 60vw);
	/* limite solicitado + viewport */
	max-height: 70vh;
	/* evita estourar verticalmente */
	font-size: 0.8rem;

	color: white;
	hyphens: auto;

	overflow: auto;
	/*background: linear-gradient(90deg, rgb(0, 74, 111) 10%, #3491bc 51%, rgb(0, 74, 111) 90%);*/
	background: radial-gradient(blue 5%, rgb(0, 74, 111) 70%);


	/*border: #000000;*/
	border-top: 16px solid rgba(0, 0, 0, 0.2);
	border-left: 0.1rem solid black;
	border-bottom: 0.1rem solid black;
	border-right: 0.1rem solid black;
	border-radius: 0 0 2em 2em;
	/*corner-shape: square(4) squircle;*/
	padding: 18px;
	box-shadow: inset 1px -2px 18px 5px rgba(2, 15, 60, 0.9), 0px 10px 10px 5px rgba(77, 76, 76, 0.8);
	/* box-shadow: inset 1px -2px 18px 5px rgba(2, 15, 60, 0.9), 0px 10px 10px 5px rgba(77, 76, 76, 0.8);*/
	z-index: 10;



	/* Animação */
	transition: opacity 0.2s ease, transform 0.9s ease;
	pointer-events: none;
	white-space: normal;
}

.link-container:hover {
	background-color: rgb(0, 74, 111);
	border-radius: 6px 6px 0 0;
	color: white;
	text-decoration: none;
}

.link-container:hover .modal-l {
	opacity: 1;
	transform: translateX(-90%) scale(1);
	pointer-events: auto;
	color: white;
}

.modal-l p {
	margin: 0;
	/*font-size: clamp(0.6rem, 2vw, 0.8rem);*/
	/*responsivo */
	font-family: Tahoma, Verdana, Geneva, sans-serif;
	font-size: 0.9em;
	color: white;
	text-align: left;
}

/* Responsividade */
@media (max-width: 600px) {
	.modal-l {
		max-width: 90vw;
	}
}

/*******************************************************/

.titulo {
	font-family: Arial;
	font-size: 1.6em;
	color: #0f0f0f;
	font-weight: bold;
	text-align: center;
	background-color: #00CCFF;
	border-bottom: 0.1rem dotted black;
	padding-top: 8;
	padding-bottom: 8
}

.fundo {
	background-color: #00CCFF;
	text-align: right;
	font-family: Verdana;
	font-size: 0.8em;
	border-top: 0.1rem dotted black;
	padding-right: 10;
	padding-top: 5;
	padding-bottom: 5;
}

.par {
	text-align: left;
	font-family: Arial;
	font-size: 1em;
	color: #000000;
	background-color: #d9fcfc;
	padding-left: 20;
	padding-right: 20;
	padding-top: 10;
	padding-bottom: 10
}

.assina {
	text-align: rigth;
	font-family: Arial;
	font-size: 0.8em;
	color: #000000;
	background-color: #d9fcfc;
	padding-left: 20;
	padding-right: 20;
	padding-top: 10;
	padding-bottom: 10;
}

p {
	font-family: Arial;
	font-size: 1em;
	color: black;
	text-align: left;
	/*justify;*/
}

ol {
	font-family: inherit;
	/*Tribuchet, sans-serif;*/
	font-size: inherit;
	color: inherit;
	/* black;*/
	text-align: left;
}

mark {
	/*font-size: 1em;*/
	letter-spacing: 1.1px;
	background-color: #7dfed155;
}

::target-text {
	background-color: #663399;
	/* rebeccapurple */
	color: white;
}

.titulao {
	font-family: Arial;
	color: black;
	font-weight: bold;
	font-size: 1.4em;
	text-align: center;
	letter-spacing: 2px;
	line-height: 0.2;
}

.nomeTitulao {
	font-family: Arial;
	color: black;
	font-size: 1.3em;
	text-align: center;
}

.capitulo {
	font-family: Arial;
	color: black;
	font-weight: bold;
	font-size: 1.3em;
	text-align: center;
	letter-spacing: 2px;
	line-height: 0.2;
}

.nomeCapitulo {
	font-family: Arial;
	color: black;
	font-size: 1.2em;
	text-align: center;
}

#destaque {
	font-family: Arial;
	color: black;
	letter-spacing: 1.4px;
	font-size: 1.2em;
}

#destaque a {
	text-decoration: none;
}

.secao {
	font-family: Arial;
	color: black;
	font-weight: bold;
	font-size: 1.2rem;
	text-align: center;
	letter-spacing: 1.2px;
	line-height: 0.2;
}

.nomeSecao {
	font-family: Arial;
	color: black;
	font-size: 1.1rem;
	text-align: center;
	letter-spacing: 1.1px;
}


.Subsecao {
	font-family: Arial;
	color: black;
	font-weight: bold;
	font-size: 1.1rem;
	text-align: center;
	letter-spacing: 1.2px;
	line-height: 0.2;
}

.nomeSubsecao {
	font-family: Arial;
	color: black;
	font-size: 1rem;
	text-align: center;
	letter-spacing: 1.1px;
}

.aviso {
	font-family: Arial;
	text-decoration: none;
	text-shadow: -1px 1px 3px rgba(95, 92, 92, 0.7);
	color: rgb(13, 58, 87);
	font-size: 0.9rem;
}

.assina {
	text-align: right;
	font-weight: strong;
	padding-left: 20;
	padding-right: 20;
	padding-top: 10;
	padding-bottom: 10
}

.ementa {
	text-align: right;
	font-family: "Arial narrow";
	font-size: 0.9rem;
	color: black;
}

.caixaLegal {
	width: 15em;
	border: 1px solid #111111;
	border-radius: 5px;
	background-color: #dcdcdc;
	box-shadow: 5px 5px 8px #777777;
	padding: 8px 12px;
	background-image: linear-gradient(180deg, white, #dddddd 40%, white);
	/* /background-image: linear-gradient(0deg, #ffffff  10%, #dcdcdc 25%, #fffff0, #dcdcdc 75% , #778899  90%);*/
	/* text-shadow: 1px -1px 1px rgba(50, 50, 250, 0.7);*/
}

/*.box {}*/

#vinculadoTopo {
	font-family: Geneva, Tahoma, sans-serif;
	position: fixed;
	top: 62%;
	left: 1%;
	text-decoration: none;
	padding-top: 0.5rem;
	letter-spacing: 3.5;
	text-align: center;
	color: rgb(190, 6, 24);
	opacity: 1;
}

#vinculado {
	font-family: Verdana, sans-serif;
	position: fixed;
	top: 68%;
	left: 0.75%;
	text-decoration: none;
	color: rgb(255, 0, 0);
	opacity: 0.3;
}

#vinculado a {
	text-decoration: none;
}

#vinculado:hover {
	background: rgb(255, 241, 241);
	border: 1px solid #f50404;
	/*box-shadow: 5px 5px 8px #777777;*/
	color: red;
	opacity: 1;
}

#sumarioTopo {
	font-family: Geneva, Tahoma, sans-serif;
	position: fixed;
	top: 11vh;
	left: 81%;
	text-decoration: none;
	/*padding-top: 0.5rem;*/
	letter-spacing: 3.5;
	text-align: center;
	color: black;
	opacity: 1;
}

#sumario {
	font-family: Geneva, Tahoma, sans-serif;
	position: fixed;
	top: 12vh;
	left: 81%;

	text-decoration: none;
	hyphens: auto;
	color: black;
	opacity: 0.1;
	border-radius: 0px;
	border-top: 16px solid #8b8b8b80;
	/* Limita a altura da janela */
	max-height: 50vh;
	/* Cria uma barra de rolagem lateral após atingir o max-height */
	overflow-y: auto;
	/* Produz um efeito de transição */
	transition: all 0.8s ease-in-out;
	/*scrollbar-gutter: both-edges;*/
}

#sumario a {
	text-decoration: none;
}


#sumario:hover {
	background: #eff1f1;
	/*#fffff07b;*/
	/*border: 1px dotted black;*/
	box-shadow: 0px 5px 18px 6px #5d5d5d;
	/*color: blue;*/
	opacity: 1;
	z-index: 10;
}

#menu {
	position: fixed;
	/*border: 1px solid rgb(148, 25, 25);
	border-radius: 25px;
	padding: 0.5%;
	box-shadow: 5px -5px 10px 2px #555555;*/
	top: 12%;
	left: 4%;


	/*background-image: linear-gradient(0deg, #2517f3, white 70%, #07838e);*/
}

#menu a {
	text-decoration: none;

}

#menu a:hover {
	img {
		box-shadow: 1px 1px 8px 4px #5d5d5d;
		/*background-color: #f1fea5ab;*/
		fill: rgb(133, 2, 13);
	}
}


a:link {
	/*text-decoration: underline;*/
	text-decoration-thickness: from-font;
	font-weight: normal;
	color: rgb(0, 0, 255)
}

a:visited {
	text-decoration: none;
	font-weight: normal;
	background: rgba(255, 255, 255, 0.7);
	color: rgb(165, 0, 64);
}

a:hover {
	text-decoration: underline;
	font-weight: normal;
	background: whitesmoke;
	color: rgb(255, 0, 64);
}

a:active {
	/*text-decoration: underline;*/
	font-weight: normal;
	color: rgb(255, 0, 64)
}

a {
	text-decoration: none;
}

details>summary {
	font-family: Roboto, "Helvetica Neue", Arial, sans-serif;
	color: red;
	padding: 8px;
	width: 120px;
	text-align: center;
	background-color: #ffffb3;
	border-radius: 15px 15px 0 0;
	border: none;

	justify-content: center;
	box-shadow: 1px 1px 2px #bbbbbb;
	cursor: pointer;
}

details>p {
	/*	display: block;*/
	font-family: helvetica, sans-serif;
	color: rgb(168, 3, 97);
	/*padding-inline-start: 10px;*/

	padding: 10px;
	/*padding-top: 10px;
	padding-left: 10px;
	padding-right: 10px;*/
	font-size: 0.9rem;
	text-decoration: none;
	background-color: #ffffb3;
	/*padding: 8px;*/
	/*margin: 20px;*/
	box-shadow: 3px 6px 6px 2px #757575a5;
	cursor: pointer;
	hyphens: auto;
	scroll-behavior: smooth;
}


/*details {
	display: ruby-base;
}*/

/*details[open] summary:after {
	content: '+';
	color: #191970;
	list-style-type: '♦';
}

details[closed] summary:after {
	content: 'o';
	color: #191970;
	list-style-type: '♣';
}*/

.revogado {
	font-family: Helvetica;
	color: rgba(21, 21, 21, 0.4);
	font-size: 1rem;
	text-align: justify;
	/*text-decoration: line-through;
	text-decoration-style: wavy;
	text-decoration-color: rgba(213, 94, 135, 0.7);*/
	background-color: rgba(255, 255, 255, 0.4);
	/*background-color: #fff2001c;*/
	/*border: 1px solid black;*/
	/*padding: 5px;*/
}

.revogado-simples {
	display: inline;
	font-family: Helvetica;
	font-size: 0.9rem;

	/*padding-inline: 20px 0;
	writing-mode: horizontal-tb;*/
	/*writing-mode: horizontal-tb;*/
	color: rgb(251, 4, 128);
	background-color: rgb(255, 255, 220);
	text-decoration: line-through;
	text-decoration-color: rgba(128, 128, 128, 0.5);
}

.rev-button {
	font-family: Geneva, Tahoma, sans-serif;
	border: 0.1rem solid rgb(170, 4, 76);
	font-size: 0.9rem;
	display: block;
	margin: 0 auto;
	justify-content: center;
	padding: 8px;
	overflow: hidden;
	text-decoration: none;
	color: inherit;
	background-color: #fff2001c;
	text-align: center;
	cursor: pointer;
	white-space: nowrap
}

.rev-button:hover {
	border: 0.1rem solid rgb(0, 0, 0);
	box-shadow: 0px 5px 18px 6px #5d5d5d;
	color: rgb(216, 89, 4) !important;
	background-color: #fff2001c !important
}

.rev-block {
	display: block;
	letter-spacing: 1.2px;
	width: 12rem;
	color: rgb(170, 4, 76)
}


.rev-hide {
	padding: 1.1rem;
	color: rgba(216, 89, 4);
	border: 0.1rem dotted white;
	/*border-radius: 2em;*/
	background-color: #fff2001c;
	box-shadow: 0px 0px 18px 6px #5d5d5d79;
	display: none !important
}



.rev-animate-zoom {
	animation: animatezoom 0.5s
}

@keyframes animatezoom {
	from {
		transform: scale(0.5)
	}

	to {
		transform: scale(1)
	}
}


.rev-container,
.rev-panel {
	padding: 0.01em 16px
}


.rev-show-block,
.rev-show {
	display: block !important
}


.rev-container:after,
.rev-container:before,
.rev-panel:after,
.rev-panel:before,
.rev-row:after,
.rev-row:before,
.rev-row-padding:after,
.rev-row-padding:before,
.rev-cell-row:before,
.rev-cell-row:after,
.rev-clear:after,
.rev-clear:before,
.rev-bar:before,
.rev-bar:after {
	content: "";
	display: table;
	clear: both
}