/* * {
	hyphens: auto;
} */

/* No topo do seu arquivo CSS principal */

@keyframes zoom {
	from {
		transform: scale(0.2);
	}

	to {
		transform: scale(1)
	}
}

@keyframes slideIn {
	from {
		transform: translateX(-100%);
		opacity: 0;
	}

	to {
		transform: translateX(0);
		opacity: 1;
	}
}


@keyframes fadeIn {


	10% {
		opacity: .1;
		/* border-color: red, blue; */

	}

	25% {
		opacity: .3;
		background: rgb(181, 147, 81);

	}

	50% {
		opacity: .5;
		background: lightgoldenrodyellow;
	}

	75% {
		opacity: .7;

	}

	100% {
		opacity: 1;
		/* border-color: blue, red; */

	}
}

@keyframes pisca {
	0% {
		background: linear-gradient(45deg, rgba(84, 250, 134, 0.4) 0%, rgba(130, 255, 168, 0.2) 30%, rgba(155, 255, 155, .1) 70%, rgba(130, 255, 168, 0.4) 100%);
		opacity: 1;

	}

	25% {
		opacity: .2;
	}

	50% {
		background: rgba(120, 120, 119, 0.368);

	}

	75% {
		opacity: .2;
	}

	100% {
		background: linear-gradient(45deg, rgba(84, 250, 134, 0.4) 0%, rgba(130, 255, 168, 0.2) 30%, rgba(155, 255, 155, .1) 70%, rgba(130, 255, 168, 0.4) 100%);
		opacity: 1;

	}
}



center {
	animation: fadeIn 0.8s ease-in-out;

}

html {
	scroll-behavior: smooth;
	scroll-padding-top: 7.5rem;
	/* scroll-padding-top: 1.2%; */
	/* scroll-margin-top: 12rem; */

	scrollbar-color: rgb(0, 75, 130) rgb(255, 255, 240);
	hyphens: auto;
	text-align: justify;

}


:target {
	display: inline-block;
	animation: pisca ease-in-out .4s .8s forwards 4;
	padding: 0px 6px;
	box-shadow: 0px 6px 8px rgba(58, 82, 43, 0.2);

}



#barraDir {
	position: relative;
	overflow: visible;
	/*******/
	z-index: auto;
	/* padding: 1em 2em; */
	padding: 2px 15px;
	hyphens: auto;
	text-align: justify;
	border-right: 2px solid rgb(37, 37, 129, .3);
	border-top: 1px solid rgb(37, 37, 129, .1);
	border-radius: 8px;
	box-shadow: 0 5px 10px rgba(128, 128, 128, 0.387);
	background-image: radial-gradient(ellipse at center right, transparent 50%, rgba(78, 148, 254, 0.2));
}


.revogado-icon img {
	width: 38px;
	height: 38px;
	/*filter: drop-shadow(2px 4px 8px rgb(255, 213, 0));*/

}

/*********************** CONTAINER DE ÍCONES DO MENU À ESQUERDA *********************************/


#menu {
	position: fixed;
	top: 25vh;
	left: 5vw;

}

#menu a {
	text-decoration: none;

}

#menu a:hover {
	img {
		box-shadow: 0px 0px 18px rgba(0, 0, 0, 0.6);
		background-color: rgb(250, 249, 187);
		/* filter: drop-shadow(6px 6px 10px rgba(0, 0, 0, .6)); */
		transition: .5s;
		border-radius: 4px;
	}

}

.icone-container {
	position: relative;
	display: inline-block;
	cursor: pointer;
	width: 15%;
}

/* Modal com tamanho dinâmico */

.modal {
	opacity: 0;
	position: absolute;
	top: 5.5%;
	left: 1em;
	transform: translateX(25%) translateY(-7px) scale(0.4);
	width: 200px;

	/* ajusta ao conteúdo */
	max-width: 300px;

	/* limite para não ficar gigante */
	background: whitesmoke;
	/* rgb(254, 254, 169); */
	border: 1px solid lightcoral;
	border-radius: 32px;
	padding: 5px;
	box-shadow: 0px 0px 18px rgba(0, 0, 0, 0.6);
	will-change: auto;

	/* Animação */
	transition: opacity 0.8s ease-in-out, transform .9s ease-in-out;
	pointer-events: none;
	white-space: normal;
	z-index: 3;
}


.icone-container:hover .modal {
	opacity: 1;
	transform: translateX(16%) translateY(-10%) scale(0.9);
	/* z-index: 99; */

}

.modal p {
	font-family: Verdana, Geneva, Tahoma, sans-serif, sans-serif;
	font-size: 0.8rem;
	text-align: center;
	margin: 3px;
	color: rgb(168, 0, 70);

}



.hidden {
	display: none;
}




/*********************** CONTAINER DE LINKS *********************************/

/* Estilo do link */
.link-container {
	position: relative;
	display: inline-block;
	font-size: 1em;
	color: blue;
	text-decoration: underline wavy rgba(206, 2, 252, 0.1);
	text-underline-offset: .1em;
	background-color: rgba(233, 177, 251, 0.3);
	cursor: pointer;
	border: 1px dotted transparent;
	pointer-events: auto;
}

/* Modal dinâmico */
.modal-l {
	opacity: 0;
	position: absolute;
	color: rgb(164, 243, 216);

	margin: 0px 10px 10px 10px;
	font-family: Roboto, "Helvetica Neue", Arial, sans-serif;
	font-size: 0.85em;
	overflow: auto;

	top: 1.3em;
	left: 12vw;
	/* left: min(calc(25vw/2)); */
	transform: translateX(-90%) scale(0.2);
	will-change: auto;
	/* ------------------ */
	/* max-width: max-content; */
	max-width: max-content;
	width: 25vw;
	max-height: 30vh;
	/* ------------------ */

	padding: 15px;
	/* box-shadow: 8px 8px 12px rgba(158, 130, 159, 0.7); */


	/* Animação */
	transition: opacity 0.2s ease, transform 0.5s ease;
	pointer-events: none;
	white-space: normal;

	scrollbar-width: thin;
	scrollbar-color: rgb(1, 77, 77) transparent;
}



.link-container:hover {
	background-color: rgba(255, 255, 255, 0.1);
	border: 1px dotted transparent;
	color: red;
	text-decoration: none;
	cursor: default;
	transition: all 0.5s ease 0.5s;
	z-index: 1;
}



.link-container:hover .modal-l {
	opacity: 1;
	transform: translatex(-90%) scale(1);

	border-top: rgba(249, 255, 245, 0.8) 1px solid;
	/* border-right: rgba(239, 238, 238) transparent 1.5px; */

	/* border-bottom: rgba(239, 238, 238) transparent 1.5px; */
	border-left: rgba(249, 255, 245, 0.8) 1px solid;


	border-radius: 10px;

	pointer-events: auto;
	hyphens: auto;
	text-align: justify;
	/* flex-wrap: wrap; */
	overflow-wrap: break-word;
	cursor: default;
	z-index: 1;
	text-shadow: 1px 1px 2px rgba(219, 217, 217, 0.7);
	background: linear-gradient(105deg, rgb(151, 170, 174) 15%, rgba(245, 245, 245, 0.75) 45%, rgb(146, 161, 165) 85%);
	box-shadow: 0px 2px 12px 4px rgba(0, 0, 0, 0.3);
	backdrop-filter: blur(3px);
	-webkit-backdrop-filter: blur(3px);

}

.modal-l,
.modal-l blockquote,
.modal-l article,
.modal-l p,
.modal-l ul,
.modal-l ol,
.modal-l li {
	hyphens: auto;
	text-align: justify;
	color: rgb(0, 51, 0);

}


.modal-l>article {
	margin-top: 25px solid transparent;

}




/*******************************************************/

.titulo {

	font-family: Arial;
	font-size: 1.6em;
	color: #0f0f0f;
	font-weight: bold;
	text-align: center;
	background-color: #00CCFF;
	border-bottom: 1px dotted black;
	border-top: 1px solid black;
	padding-top: 8;
	padding-bottom: 8;

	position: sticky;
	/* O Título rola até o topo da página e fica fixo */

	top: 0;
	z-index: 1;
	opacity: .93;
}

.fundo {
	background-color: #00CCFF;
	text-align: right;
	font-family: Verdana;
	font-size: 0.8em;
	border-top: 1px 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: rgb(234, 244, 255);
	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: rgb(234, 244, 255);
	padding-left: 20;
	padding-right: 20;
	padding-top: 10;
	padding-bottom: 10;
}


ol {
	font-family: inherit;
	font-size: 0.95em;
	color: inherit;
	hyphens: auto;
	text-align: justify;
}

mark {
	font-weight: inherit;
	letter-spacing: 1.1px;
	font-style: oblique 5deg;
	background-color: rgba(255, 254, 207, 0.45);
}

em {
	font-weight: inherit;
	letter-spacing: 1.1px;
	font-style: oblique 3deg;
	background-color: rgba(255, 254, 207, 0.15);
}

.titulao {
	font-family: Arial;
	color: black;
	font-weight: bold;
	font-size: 1.22em;
	text-align: center;
	letter-spacing: 2px;
	line-height: 0.2;
}

.nomeTitulao {
	font-family: Arial;
	color: black;
	font-size: 1.22em;
	text-align: center;
	text-wrap: balance;
}

.capitulo {
	font-family: Arial;
	color: black;
	font-weight: bold;
	font-size: 1.2em;
	text-align: center;
	letter-spacing: 2px;
	line-height: 0.2;
}

.nomeCapitulo {
	font-family: Arial;
	color: black;
	font-size: 1.17em;
	text-align: center;
	text-wrap: balance;
}

#destaque {
	font-family: Arial;
	color: black;
	letter-spacing: 1.2px;
	font-size: 1.05em;
	font-weight: 550;
}

#destaque a {
	text-decoration: none;
	font-weight: inherit;
}

.secao {
	font-family: Arial;
	color: black;
	font-weight: bold;
	font-size: 1.15em;
	text-align: center;
	letter-spacing: 1.2px;
	line-height: 0.2;
}

.nomeSecao {
	font-family: Arial;
	color: black;
	font-size: 1.12em;
	text-align: center;
	letter-spacing: 1.1px;
	text-wrap: balance;
}


.subsecao {
	font-family: Arial;
	color: black;
	font-weight: bold;
	font-size: 1.1em;
	text-align: center;
	letter-spacing: 1.2px;
	line-height: 0.2;
}

.nomeSubsecao {
	font-family: Arial;
	color: black;
	font-size: 1em;
	text-align: center;
	letter-spacing: 1.1px;
	text-wrap: balance;
	/*text-wrap: pretty*/
}

.aviso {
	font-family: Arial;
	font-size: 0.8em;
	font-style: oblique 10deg;
	background-color: rgba(255, 255, 197, 0.5);
	display: inline;
	text-decoration: none;
	color: brown;



}

.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);

}

/*.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: 12vh;
	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; */
	font-family: Roboto, "Helvetica Neue", Arial, sans-serif;
	position: fixed;

	top: 18vh;
	left: 80.5vw;

	text-decoration: none;
	hyphens: auto;
	text-align: justify;
	/* color: black; */
	opacity: 0.2;
	border-radius: 0px;
	border-top: 18px solid lightgray;
	/* 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 a:hover {
	font-weight: 480;

}

#sumario:hover {
	background: white;
	box-shadow: 0px 10px 12px 2px #cecdcd;
	/*color: blue;*/
	opacity: 1;
	/* z-index: 10; */
}


.margemBoa {
	margin: 0 3px 0 3px;
}

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: #ebebe9; */
	color: rgb(255, 0, 64);
	background-color: #ffd7c27d;
	transition: 0.3s ease-in-out;


}

a[name] {
	text-decoration: none;
	color: inherit;
	background: none;
}

/* ========================== Conteúdo Revogado ========================== */

summary {
	font-family: Roboto, "Helvetica Neue", Arial, sans-serif;
	height: 30px;
	width: max-content;


	background:
		radial-gradient(80% 120% at 0% 0%, rgba(255, 255, 255, 0.25) 0%, rgba(255, 255, 255, 0.6) 40%),
		linear-gradient(90deg, #7299ec, #acc8f6);
	box-shadow: 0 3px 8px 3px rgba(16, 35, 66, 0.35);

	border-top: 2px solid rgba(255, 255, 255, 0.7);
	border-right: 1px solid transparent;
	border-left: 1px solid rgba(255, 255, 255, 0.5);
	border-bottom: 2px solid transparent;
	list-style: none;

	padding: 4px;
	border-radius: 5px 28px 28px 5px;
	display: inline-flex;
	align-items: center;
	gap: 5px;
	position: relative;

	z-index: 0;


	justify-content: center;
	cursor: pointer;

	/* Estilo do BOTÃO que ativa/desativa o Conteúdo Revogado */

}

summary::marker {
	/* content: "➤"; */
	display: none;

}


#textoSumario {
	list-style: none;
	padding-left: 0.95em;
	letter-spacing: 1.2px;



}


section {
	filter: drop-shadow (0 3px 18px rgba(35, 35, 35, 0.9));

}

/* li>article {
	animation: slideIn 1s ease forwards;
} */

details>p,
details>article {
	/* Estilo da CAIXA onde aparece o Conteúdo Revogado */

	opacity: .8;
	animation: fadeIn .7s ease-in-out;
	/* forwards; */
	font-family: 'Courier New', Courier, monospace;
	color: black;
	text-shadow: 1px 1px 1px rgb(255, 255, 252);
	padding: 10px;
	width: fit-content;
	max-width: 95%;
	font-size: 0.9em;
	text-decoration: none;
	background-color: rgb(220, 193, 162);
	background-image: url(papelVelho.png), linear-gradient(180deg,
			rgba(225, 212, 178, 0.25) 18%,
			rgba(233, 253, 116, 0.75) 40%,
			rgba(0, 0, 0, 0.03) 90%);


	background-repeat: repeat;
	background-blend-mode: luminosity;
	background-size: 80% 300px;

	/* overlay */
	/* darken */
	/* luminosity; */
	/* lighten; */

	filter: brightness(1.02) contrast(0.90);



	box-shadow: inset -1px -1px 16px 12px rgba(154, 129, 94, 0.7);

	clip-path: polygon(0 0, 21% .3em, 18.5% 0, 63% .2em, 64.8% .5em, 70% .1em, 85% 0, 99% .5rem, 99.5% 1rem, 100% .8rem,
			99.8% 35%, 99.7% 38%, 99.9% 63%, 99.5% 61%, 99.9% 83%,
			100% 100%, 73% calc(100% - .8em), 73.8% 100%, 30% calc(100% - .6em), .8% 100%, .1% calc(100% - .4em),
			0 60%, 0 50%, 0.5% 34%, 0 35%);


	cursor: auto;
	margin-top: 10px;



}



details .aviso {
	font-family: 'Courier New', Courier, monospace;
	font-size: 0.9em;
	color: black;
	background: none;
}


summary::after {
	content: "Exibir Revogado";
	font-size: .7em;
	font-weight: bold;
	color: rgb(160, 75, 1);
	text-shadow: 1px 1px 1px #e7e3e3;
	text-align: center;


	display: block;
	width: 4rem;

}



details[open]>summary::after {

	content: "➤";
	transform: rotate(-90deg);
	transition: transform 0.5s ease;
	width: 2rem;
	font-size: 1.2em;

	/* content: "Esconder"; */

	/* text-shadow: 2px 2px 6px solid #f9f8f8; */
	/* transition: opacity 0.8s ease .5s; */



}

summary:hover {

	background:
		radial-gradient(280% 280% at 0% 0%, rgba(255, 255, 255, 0.25) 0%, rgba(255, 255, 255, 0.6) 40%),
		linear-gradient(90deg, #7299ec, #acc8f6);

	/* filter: drop-shadow(2px 4px 8px rgb(103, 103, 128, 0.6)); */

	border-top: 2px solid transparent;
	border-right: 1px solid transparent;
	border-left: 1px solid rgba(255, 255, 255, 0.5);
	border-bottom: 2px solid rgba(255, 255, 255, 0.7);

	box-shadow: 0px 0px 4px rgba(16, 35, 66, 0.8);
	/* transition: 0.1s ease-in; */

}





details>summary {
	font-family: inherit;

}