/* =========================
   BASE
========================= */
* {
	box-sizing: border-box;
}

html, body {
	margin: 0;
	padding: 0;
}

body {
	background: #ffffff;
	color: #222;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 16px;
	line-height: 1.6;
}

a {
	color: #2B4166;
	text-decoration: none;
}

a:hover {
	color: #4E75B6;
	text-decoration: underline;
}

img {
	max-width: 100%;
	height: auto;
}

/* =========================
   ESTRUTURA
========================= */
.site-container {
	max-width: 1500px;
	margin: 0 auto;
	padding: 0 20px 20px;
}

.site-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
	padding: 20px 0 10px;
}

.header-logo {
	flex: 0 0 220px;
}

.header-course {
	flex: 1 1 auto;
}

.borda-top {
	background: #2B4166;
	height: 5px;
	margin: 0 0 24px 0;
}

.main-layout {
	display: flex;
	align-items: flex-start;
	gap: 32px;
	margin-bottom: 30px;
}

.sidebar-left {
	flex: 0 0 300px;
	max-width: 300px;
}

.content-area {
	flex: 1 1 auto;
	min-width: 0;
}

.mid-area {
	margin-bottom: 30px;
}

/* =========================
   TOPO
========================= */
.logo-curso {
	color: #2B4166;
	font-family: Verdana, Arial, sans-serif;
	font-size: clamp(1.7rem, 2.3vw, 3rem);
	line-height: 1.25;
	margin: 0;
	text-align: right;
}

.logo-curso-tipo {
	color: #2B4166;
	font-family: Verdana, Arial, sans-serif;
	font-size: clamp(1.2rem, 1.6vw, 2rem);
	font-weight: bold;
	margin: 8px 0 0 0;
	text-align: right;
}

.logo-emeron {
	background: url('../images/logo-emeron.jpg') no-repeat left center;
	background-size: contain;
	width: 180px;
	height: 100px;
	margin: 0;
}

.logo-emeron a {
	display: block;
	width: 100%;
	height: 100%;
}

/* =========================
   MENU LATERAL
========================= */
.box-menu-left .moduletable,
.box-menu-left .module {
	margin-bottom: 20px;
}

.box-menu-left ul,
.box-menu-left .mod-menu,
.box-menu-left .menu {
	list-style: none;
	margin: 0;
	padding: 0;
}

.box-menu-left li {
	margin: 0 0 8px 0;
	padding: 0;
}

.box-menu-left li:last-child {
	margin-bottom: 0;
}

.box-menu-left ul li a,
.box-menu-left .mod-menu a,
.box-menu-left .menu a {
	display: block;
	border-left: 10px solid #2B4166;
	background: #ffffff;
	color: #2B4166;
	font-size: 18px;
	line-height: 1.4;
	padding: 12px 16px;
	text-align: left;
	transition: all 0.2s ease;
}

.box-menu-left ul li a:hover,
.box-menu-left ul li.active a,
.box-menu-left ul li.current a,
.box-menu-left .mod-menu .active > a,
.box-menu-left .mod-menu .current > a,
.box-menu-left .menu .active > a,
.box-menu-left .menu .current > a {
	background: #f9f9f9;
	border-left-color: #4E75B6;
	color: #4E75B6;
	text-decoration: none;
}

/* =========================
   CONTEÚDO
========================= */
.content-area h1,
.content-area h2,
.content-area h3,
.content-area h4,
.content-area h5,
.content-area h6 {
	color: #111;
	line-height: 1.3;
	margin-top: 0;
}

.content-area p {
	margin: 0 0 16px 0;
	text-align: justify;
}

.content-area ul,
.content-area ol {
	margin: 0 0 16px 20px;
}

.content-area table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 20px;
}

.content-area table th,
.content-area table td {
	border: 1px solid #ddd;
	padding: 10px;
	vertical-align: top;
}

/* =========================
   RODAPÉ
========================= */
.box-footer {
	background: #2B4166;
	color: #fff;
	padding: 40px 20px;
	text-align: center;
	border-radius: 4px;
}

.box-footer a {
	color: #fff;
}

.box-footer a:hover {
	text-decoration: underline;
}

/* =========================
   RESPONSIVO
========================= */
@media (max-width: 991px) {
	.site-header {
		flex-direction: column;
		align-items: center;
		text-align: center;
	}

	.header-logo,
	.header-course {
		flex: 1 1 100%;
		max-width: 100%;
	}

	.logo-curso,
	.logo-curso-tipo {
		text-align: center;
	}

	.logo-emeron {
		margin: 0 auto;
	}

	.main-layout {
		flex-direction: column;
	}

	.sidebar-left {
		flex: 1 1 100%;
		max-width: 100%;
		width: 100%;
	}

	.content-area {
		width: 100%;
	}
}

@media (max-width: 767px) {
	.site-container {
		padding: 0 15px 15px;
	}

	.box-menu-left ul li a,
	.box-menu-left .mod-menu a,
	.box-menu-left .menu a {
		font-size: 16px;
		padding: 10px 14px;
	}
}