:root {
	--branco: #f2f2f2;
	--azul-escuro: #182442;
}

*,
*::before,
*::after {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

html {
	color-scheme: light dark;
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: none;
	text-size-adjust: none;
	hanging-punctuation: first allow-end last;
	scroll-behavior: smooth;
}
h1,
h2,
h3,
h4,
h5,
h6 {
	text-wrap: balance;
}

p {
	text-wrap: pretty;
}

ul,
ol,
dl {
	list-style-position: outside;
	/*padding-inline-start: 1lh;*/
}
ul {padding-left: 15px}
ol {padding-left: 20px}


html {
	background-color: white !important;
	/*background-color: var(--azul-escuro);*/
	color: #FFF;
	font-family: Verdana, Arial, sans-serif;
}

header {
	background-color: var(--azul-escuro);
	border-bottom: 10px solid #FFF;
	padding: 10px 20px;
	display: flex;
	justify-content: space-between;
	position: relative;
}

header a {
	color: #FFF;
	text-decoration: none;
}

header > h1 {width:100%}
header > h1 > a {
	display: block;
	font-size: 0;
	min-width: 250px;
	max-width: 462px;
	width: 100%;
	aspect-ratio: 6.9 / 1;
	background: url(/assets/logo.mobile.png) left top no-repeat;
	background-size: contain;
}

nav {
	display: flex;
	align-items: center;
}

nav ul {
	align-items: center;
	display: none;
	padding: 0;
}

nav li {list-style-type: none}

nav label {
	font-size: 0;
	width: 20px;
	height: 19px;
	border-bottom: 3px solid #FFF;
	border-top: 3px solid #FFF;
	cursor: pointer;
}
nav label::before {
	content: "";
	display: block;
	width: 20px;
	height: 3px;
	background-color: #FFF;
	margin-top: 5px;
}

nav input {display: none}

nav input:checked + ul {display: block}
nav ul {
	position: absolute;
	right: 0;
	left: 0;
	top: 100%;
	flex-direction: column;
	background-color: var(--azul-escuro);
}
nav li {
	border-top: 1px solid #FFF;
	text-align: left;
}
nav a {
	display: block;
	padding: 10px 20px;
	font-size: 17px;
}

main {
	max-width: 992px;
	margin: 0 auto;
}

.highlight {
	background-color: var(--azul-escuro);
	padding: 20px 0;
	border-bottom: 10px solid #FFF;
	font-weight: normal;
	font-size: 23px;
}
.highlight > span {
	display: block;
	width: 80vw;
	margin: 0 auto;
	text-align: center;
}

.highlight-section {
	background: var(--branco) url(/assets/quem-somos.webp) center top no-repeat;
	background-size: contain;
	padding-top: 62.5vw;
	border-bottom: 10px solid #FFF;
}

.highlight-section p {
	background-color: var(--azul-escuro);
	padding: 15px 20px;
	font-size: 15px;
	line-height: 1.8;
}

.about-us {
	background: var(--branco) url(/assets/sobre-nos.webp) center -10% no-repeat;
	background-size: contain;
	padding-top: 62.5vw;
	border-bottom: 10px solid #FFF;
}

.about-us > div {
	background-color: var(--azul-escuro);
	padding: 20px;
}

.about-us h2,
.about-us p {
	margin-bottom: 15px;
}

.about-us p {
	font-size: 15px;
	line-height: 1.8;
}

.half-title,
.title {
	padding-bottom: 5px;
	border-bottom: 1px solid #FFF;
	color: #FFF;
}

.info {
	background-color: var(--azul-escuro);
	padding-top: 20px;
}

.info .title {
	margin: 0 20px 10px;
}

.info-items > div {
	padding: 20px 35px 20px 20px;
	position: relative;
}

.info-items > div:nth-child(even) {
	background-color: rgb(35, 52, 102);
}

.info-items > div + div {
	border-top: 1px solid #FFF;
}

.info-items > div > div p + ul,
.info-items > div > div ul + p,
.info-items > div > div p + ol,
.info-items > div > div ol + p {
	padding-top: 10px;
}

.info-items > div > div p,
.info-items > div > div li {
	font-size: 15px;
	line-height: 1.5;
}

.info-items > div > h3 {
	display: flex;
	align-items: center;
	font-size: 15px;
}
.info-items > div > h3::before {
	display: block;
	content: "";
	width: 35px;
	height: 35px;
	background-size: contain;
	background-position: left top;
	background-repeat: no-repeat;
	margin-right: 10px;
}

.info-items .licenciamento > h3::before {background-image: url(/assets/licenciamento.png)}
.info-items .procedimentos > h3::before {background-image: url(/assets/procedimentos.png)}
.info-items .conformidade > h3::before {background-image: url(/assets/conformidade.png)}
.info-items .politicas > h3::before {background-image: url(/assets/politicas.png)}
.info-items .fraudes > h3::before {background-image: url(/assets/fraudes.png)}
.info-items .riscos > h3::before {background-image: url(/assets/riscos.png)}
.info-items .assessoria > h3::before {background-image: url(/assets/assessoria.png)}
.info-items .treinamentos > h3::before {background-image: url(/assets/treinamentos.png)}

.info-items > div > h3 + input + label + div {
	display: none;
	padding-top: 20px;
}

.info-items > div > h3 + input:checked + label + div {
	display: block;
}

.info-items label {
	position: absolute;
	top: 7px;
	right: 0;
	left: 0;
	height: 60px;
	overflow: hidden;
	font-size: 0;
	cursor: pointer;
}
.info-items label::after {
	content: "";
	display: block;
	position: absolute;
	top: 20px;
	right: 20px;
	width: 20px;
	height: 20px;
	border-top: 1px solid white;
	border-right: 1px solid white;
	transform: rotate(45deg);
}

.info-items input:checked + label::after {
	transform: rotate(135deg);
	top: 13px;
	right: 18px;
}
.info-items input {display: none}


footer {
	padding: 20px 10px;
	background-color: var(--azul-escuro);
	border-top: 5px solid var(--branco);
	display: flex;
	flex-direction: column;
	font-size: 12px;
}

footer > h2 > a {
	display: block;
	font-size: 0;
	min-width: 250px;
	max-width: 462px;
	width: 100%;
	aspect-ratio: 6.9 / 1;
	background: url(/assets/logo.mobile.png) left top no-repeat;
	background-size: contain;
	margin-bottom: 10px;
}

footer .contato {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 20px;
}

footer .contato,
footer .contato li {
	list-style-type: none;
	padding: 0;
}

footer .contato a {
	font-size: 0;
}

footer li a::before {
	content: "";
	display: inline-block;
	width: 30px;
	height: 30px;
	background-size: contain;
	margin-right: 5px;
	background-repeat: no-repeat;
	background-position: left center;
}

footer .email a::before {background-image: url(/assets/ico-email.png)}
footer .linkedin a::before {
	background-image: url(/assets/ico-linkedin.png);
	margin-left: 20px;
}

footer .cnpj {
    display: block;
    width: 100%;
    font-size: 10.5px;
    text-align: center;
    margin-bottom: 20px;
}

footer .cnpj p + p {
	margin-top: 10px;
}

footer .copyright {
	text-align: center;
	font-size: 9px;
}


@media screen and (min-width: 768px) {
	header {
		padding: 10px 30px;
		height: 74px;
	}
	header > h1 {
		width:100%;
		display: flex;
		align-items: center;
		max-width: 360px;
	}
	header > h1 > a {
		display: block;
		font-size: 0;
		min-width: 250px;
		max-width: 480px;
		width: 100%;
		aspect-ratio: 10.9 / 1;
		background: url(/assets/logo.web.png) left top no-repeat;
		background-size: contain;
	}

	nav ul,
	nav input:checked + ul {
		position: static;
		display: flex;
		flex-direction: row;
	}
	nav label {display: none}
	nav li {
		margin-left: 50px;
		border-top: 0;
		white-space: nowrap;
	}
	nav li a {
		padding: 5px 0;
		font-size: 14px;
	}
	.highlight {font-size: 26px}
	.highlight > span {width: 700px}


	.highlight-section {
		padding: 0;
		height: 400px;
		display: flex;
		align-items: center;
		background-position: right center;
	}

	.highlight-section p {
		width: 60%;
		font-size: 18px;
	}


	.about-us {
		padding: 0;
		height: 600px;
		display: flex;
		align-items: center;
		background-position: left center;
		justify-content: flex-end;
	}

	.about-us h2, .about-us p {
		margin-bottom: 10px;
	}

	.about-us p {
		font-size: 18px;
		line-height: 1.5;
	}

	.about-us > div {
		width: 70%;
		padding-left: 7%;
	}


	.info-items > div > h3 {
		width: calc(30vw - 30px);
		padding-right: 10px;
		font-size: 18px;
	}

	.info-items label {display: none}

	.info-items > div > h3 ~ div {
		display: block !important;
		padding-top: 0 !important;
		width: calc(70vw - 35px);
	}
	.info-items > div {
		display: flex;
		align-items: flex-start;
		justify-content: flex-start;
	}

	.info-items > div > div p, .info-items > div > div li {
		font-size: 18px;
	}

	footer {
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: space-between;
		padding: 40px 20px;
	}

	footer h2 {
		width: 50%;
		order: 1;
	}

	footer > h2 > a {
		max-width: 360px;
		background-image: url(/assets/logo.web.png);
	}


	footer .contato {
		display: flex;
		margin-left: 0;
		padding: 0;
		align-items: flex-start;
		justify-content: flex-end;
		order: 2;
		width: 50%;
	}

	footer .cnpj {
		order: 3;
		font-size: 14px;
		display: flex;
		justify-content: space-evenly;
	}

	footer .cnpj p {
		margin: 0 !important;
	}

	footer .copyright {
		text-align: center;
		width: 100%;
		order: 4;
		font-size: 11px;
	}
}
