/*
 * Variables
 */
:root {
	--header_color: #fff;
	--header_background-color: #ca1402;
}


/*
 * Fonts
 */

/* Carrois Gothic SC */
@font-face {
  font-family: 'Carrois Gothic SC';
  font-style: normal;
  font-weight: normal;
  src: url('../fonts/Carrois_Gothic_SC/CarroisGothicSC-Regular.ttf');
}

/* Open Sans */
@font-face {
	font-family: 'OpenSans';
	font-style: normal;
	font-weight: normal;
	src: url('../fonts/Open_Sans/OpenSans-Regular.ttf');
}
@font-face {
	font-family: 'OpenSansLight';
	font-style: normal;
	font-weight: light;
	src: url('../fonts/Open_Sans/OpenSans-Light.ttf');
}
@font-face {
	font-family: 'OpenSans';
	font-style: italic;
	font-weight: normal;
	src: url('../fonts/Open_Sans/OpenSans-Italic.ttf');
}
@font-face {
	font-family: 'OpenSansLight';
	font-style: italic;
	font-weight: light;
	src: url('../fonts/Open_Sans/OpenSans-LightItalic.ttf');
}
@font-face {
	font-family: 'OpenSans';
	font-style: normal;
	font-weight: bold;
	src: url('../fonts/Open_Sans/OpenSans-Bold.ttf');
}
@font-face {
	font-family: 'OpenSans';
	font-style: italic;
	font-weight: bold;
	src: url('../fonts/Open_Sans/OpenSans-BoldItalic.ttf');
}

/* Merriweather */
@font-face {
	font-family: 'Merriweather';
	font-style: normal;
	font-weight: normal;
	src: url('../fonts/Merriweather/Merriweather-Regular.ttf');
}
@font-face {
	font-family: 'MerriweatherLight';
	font-style: normal;
	font-weight: light;
	src: url('../fonts/Merriweather/Merriweather-Light.ttf');
}
@font-face {
	font-family: 'Merriweather';
	font-style: italic;
	font-weight: normal;
	src: url('../fonts/Merriweather/Merriweather-Italic.ttf');
}
@font-face {
	font-family: 'MerriweatherLight';
	font-style: italic;
	font-weight: light;
	src: url('../fonts/Merriweather/Merriweather-LightItalic.ttf');
}
@font-face {
	font-family: 'Merriweather';
	font-style: normal;
	font-weight: bold;
	src: url('../fonts/Merriweather/Merriweather-Bold.ttf');
}
@font-face {
	font-family: 'Merriweather';
	font-style: italic;
	font-weight: bold;
	src: url('../fonts/Merriweather/Merriweather-BoldItalic.ttf');
}

/*
 * Estilos principais
 */

* {
	border: 0;
	margin: 0;
	padding: 0;
	font-family: OpenSans, sans-serif;
	font-size: 12px;
	line-height: 20px;
}

body {
	background-color: #6d6f71;
	color: #323232;
}

/*
 * Cabeçalho, Rodapé e Conteúdo do Site
 */

#header, #footer {
	width: 100%;
}

#header_top, #header_bottom {
	width: 100%;
	background-color: var(--header_background-color);
	color: var(--header_color);
	margin-bottom: 1px;
}

#header {
	background-color: #fff;
	overflow: auto;
}

#header_top_center, #header_bottom_center {
	width: 100%;
	max-width: 1300px;
	margin: 0 auto;
	padding: 0 10px;
	box-sizing: border-box;
	display: flex;
	justify-content: space-between;
}

#header_top_center {
	height: 45px;
}

#header_bottom_center {
	overflow: auto;
}

#social_networks {
	display: flex;
	align-items: center;
}

#social_networks a {
	display: block;
}

#social_networks img {
	width: 25px;
	margin-right: 5px;
}

#login {
	display: block;
	margin-top: 10px;
}

#sie-login-form img {
	width: 27px;
}

#footer {
	height: 100px;
	border-top: 1px solid #ccc;
	background-color: #6d6f71;
}

#sie-login-form {
	display: flex;
	align-items: stretch;
}

#sie-login-form > div {
	display: flex;
	justify-content: space-between;
	align-items: stretch;
}

#sie-login-form > div > div {
	display: flex;
	align-items: center;
	text-transform: uppercase;
	padding-right: 5px;
	white-space: nowrap;
	font-size: 11px;
}

#sie-login-form > div > div:last-of-type {
	font-size: 9px;
	padding-left: 15px;
}

#sie-login-form .form-item {
	margin: 0;
}

#sie-login-form input[type="text"], #sie-login-form input[type="password"] {
	display: block;
	border: 0;
	width: 100px;
	height: 20px;
	line-height: 20px;
	border-bottom: 1px solid #fff;
	border-radius: 0;
	background-color: var(--header_background-color);
	color: var(--header_-color);
	padding: 2px 0;
	margin-top: 2px;
	margin-right: 10px;
}

#sie-login-form input[type="submit"] {
	display: none;
}

#sie-login-form img:hover {
	cursor: pointer;
}

@media (max-width: 709px) {
	
	#social_networks {
		display: none;
	}
	
	#header_top_center {
		justify-content: flex-end;
	}
	
	#pwd_recover {
		display: none !important;
	}
	
}

@media (min-width: 710px) {
	
	#social_networks {
		display: flex;
	}
	
}

.logo {
	margin: 25px 0;
}

.logo > img {
	display: block;
}

#logo_desktop img {
	width: 130px;
}

#logo_mobile {
	display: none;
}

#logo_mobile img {
	width: 50px;
}

@media (max-width: 709px) {
	
	#logo_desktop {
		display: none;
	}
	
	#logo_mobile {
		display: block;
	}
	
}

#user_profile {
	display: flex;
	align-items: center;
}

#user_profile_name {
	font-size: 12px;
}

#user_profile_picture {
	max-width: 41px;
	max-height: 41px;
}

#user_profile_links {
	padding: 0 10px;
}

#user_profile_links a, #user_profile_links a:visited {
	text-decoration: none;
	color: #fff;
	font-size: 11px;
	padding: 2px 5px;
	text-transform: uppercase;
}

#user_profile_links a:hover, #user_profile_links a:active {
	color: var(--header_background-color);
	background-color: var(--header_color);
}

#footer_content {
	width: 100%;
	max-width: 1300px;
	margin: 0 auto;
	padding: 40px 10px;
	box-sizing: border-box;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	color: #f0f0f0;
}

#footer_content .left {
	display: flex;
}

#footer_content .left div {
	margin-right: 80px;
}

#footer_content ul {
	list-style-type: none;
}

#footer_content li {
	margin-left: 0;
}

#footer_content .left,
#footer_content .left p,
#footer_content .left a,
#footer_content .left a:hover,
#footer_content .left a:visited,
#footer_content .left li {
	font-size: 11px;
	line-height: 24px;
	white-space: nowrap;
}

#footer_content .right {
	display: flex;
	flex-direction: column-reverse;
}

#footer_content .right,
#footer_content .right a,
#footer_content .right a:hover,
#footer_content .right a:active,
#footer_content .right a:visited {
	font-size: 10px;
	line-height: 18px;
	text-align: right;
}

#footer_content div a, #footer_content div a:hover, #footer_content div a:active, #footer_content div a:visited {
	text-decoration: none;
	color: #f0f0f0;
}

@media (max-width: 1000px) {
	
	#footer_content {
		flex-direction: column;
	}
	
	#footer_content .left {
		flex-wrap: wrap;
	}
	
	#footer_content .left > div{
		margin: 0 20px 40px 20px;
	}
	
	#footer_content .right {
		flex-direction: column;
		width: 100%;
		text-align: center;
		padding-top: 50px;
	}
	
	#footer_content .right a,
	#footer_content .right a:hover,
	#footer_content .right a:active,
	#footer_content .right a:visited {
		text-align: center;
	}
	
}

#main {
	width: 100%;
	background-color: #ffffff;
	min-height: 500px;
	color: #323232;
}

#main_content {
	width: auto;
	max-width: 1300px;
	margin: 0 auto;
	min-height: 200px;
	padding: 20px 10px;
	overflow: auto;
	box-sizing: border-box;
}

.main_content_column {
	overflow: auto;
	padding: 0 10px;
}

/* Mensagens */

#messages {
	width: auto;
	margin: 20px 0;
}

/* Drupal breadcrumbs */

.breadcrumb {
	font-size: 10px;
	line-height: 14px;
}

/* SI@E breadcrumbs */

#breadcrumbs {
	font-size: 10px;
	line-height: 14px;
	margin: 12px 0;
}

/* Tabs */

.tabs li {
	line-height: 26px;
	margin-left: 0;
}
.tabs a {
	padding-top: 5px !important;
	padding-bottom: 5px !important;
	border-top-left-radius: 5px;
	border-top-right-radius: 5px;
	color: #101010;
}

/* Tabelas */

table {
	border-collapse: collapse;
	margin-bottom: 15px;
}

tr.even {
	background-color: rgba(0, 0, 0, 0.063);
}

tr.odd {
	background-color: rgba(0, 0, 0, 0.105);
}

tr.even_today {
	background-color: rgba(0, 255, 0, 0.063);
}

tr.odd_today {
	background-color: rgba(0, 255, 0, 0.105);
}

th, td {
	padding: 4px;
	border: 1px solid #fff;
}

th, th a {
	font-weight: bold;
	background-color: #6d6f71;
	color: #fff;
}

table caption {
	font-size: 14px;
	margin: 14px 0 7px 0;
	text-align: left;
	color: #101010;
}

.pager {
	font-size: 11px;
}

/* Links */

a, a:visited {
	text-decoration: none;
	color: #0066ff;
}

/*
 * Menu Principal
 */

@media (min-width: 710px) {
	
	#mobile_menu_icon {
		display: none;
	}

	nav {
		display: flex;
		align-items: flex-end;
		overflow: auto;
	}
	
	nav > ul > li {
		float: left;
	}
	
	nav > ul > li > a, nav > ul > li > span {
		line-height: 70px;
		height: 70px;
		text-align: center;
	}
	
	/* Submenu 1º nível */

	nav > ul > li > ul {
		position: absolute;
		border-top: 1px solid #fff !important;
		background-color: var(--header_background-color);
	}
	
	/* Submenu 2º nível */
	
	nav > ul > li > ul > li > ul {
		position: absolute;
		border-right: 1px solid #fff !important;
		background-color: var(--header_background-color);
		top: 1px;
		left: -160px;
		width: 160px;
	}
	
}

#mobile_menu_icon img {
	width: 42px;
	height: 42px;
}

nav, nav ul {
	z-index: 100;
}

nav > ul {
	display: block;
	overflow: auto;
}

nav > ul > li {
	display: block;
	text-transform: uppercase;
	overflow: auto;
	text-decoration: none;
	color: #fff;
	font-weight: bold;
	padding: 0 20px;
}

nav > ul li.expanded, nav > ul li.leaf, nav > ul li.last {
	margin: 0 !important;
	padding: 0 !important;
}

nav > ul > li > a, nav > ul > li > span {
	display: block;
	padding: 0 20px;
}

nav a, nav a:visited {
	text-decoration: none;
	color: var(--header_color);
	font-weight: bold;
}

nav a:hover, nav a:active, nav span:hover {
	text-decoration: none;
	color: var(--header_background-color);
	font-weight: bold;
	background-color: var(--header_color);
}

nav span {
	cursor: pointer;
}

nav .menu, nav .leaf, nav .expanded {
	list-style-type: none !important;
	list-style-image: none !important;
}

/* Submenu 1º nível */

nav > ul > li > ul {
	display: none;
}

nav > ul > li:hover > ul {
	display: block;
}

nav > ul > li > ul li {
	position: relative;
}

nav > ul > li > ul > li a, nav > ul > li > ul > li span {
	display: block;
	padding: 5px 20px;
	line-height: 20px;
	text-align: left;
}

/* Submenu 2º nível */

nav > ul > li > ul > li > ul {
	display: none;
}

nav > ul > li > ul > li:hover > ul {
	display: block;
}

/* Menu Mobile */

@media (max-width: 709px) {
	
	#mobile_menu_icon {
		display: flex;
		align-items: flex-end;
	}
	
	nav {
		display: none;
		position: absolute;
		top: 152px;
		right: 0;
	}
	
	nav > ul {
		background-color: var(--header_background-color);
	}
		
	nav > ul > li {
		float: none;
		text-align: left;
	}
	
	nav > ul li {
		width: 260px;
		border-top: 1px solid #fff;
	}
	
	nav > ul > li > a, nav > ul > li > span {
		line-height: 40px;
		height: 40px;
		text-align: left;
	}
	
	/* Submenu 1º nível */
	
	nav > ul > li > ul {
		position: relative;
		background-color: #971402;
	}
	
	/* Submenu 2º nível */
	
	nav > ul > li > ul > li > ul {
		position: relative;
		top: 0;
		left : 0;
		background-color: #641402;
		width: 260px;
	}
}


/*
 * Estilos Genéricos
 */

h1 {
	font-family: OpenSans, sans-serif;
	font-weight: normal;
	font-size: 18px;
	line-height: 36px;
	color: #000;
}

h2 {
	font-family: OpenSans, sans-serif;
	font-weight: normal;
	font-size: 16px;
	line-height: 32px;
	color: #101010;
}

h3 {
	font-family: OpenSans, sans-serif;
	font-weight: normal;
	font-size: 14px;
	line-height: 28px;
	color: #202020;
}

p {
	font-family: OpenSans, sans-serif;
	font-weight: normal;
	font-size: 12px;
	line-height: 20px;
}

li {
	margin-left: 20px;
}

/*
 * Formulários
 */

input[type="text"], input[type="password"] {
	font-size: 12px;
	line-height: 18px;
	height: 18px;
	padding: 3px;
	border: 1px solid #ccc;
	border-radius: 3px;
}

select {
	font-size: 12px;
	line-height: 22px;
	height: 25px;
	padding: 3px;
	border: 1px solid #ccc;
	border-radius: 3px;
	background-color: #ffffff;
}

textarea {
	font-size: 12px;
	line-height: 18px;
	padding: 3px;
	border: 1px solid #ccc;
	border-radius: 3px;
}

button, input[type="submit"], input[type="reset"] {
	font-size: 12px;
	line-height: 18px;
	height: 30px;
	padding: 5px 10px;
	border: 1px solid #ccc;
	border-radius: 3px;
}

fieldset {
	padding: 10px;
	border: 1px solid #ccc;
}

fieldset legend {
	padding: 2px;
	font-size: 12px;
}

fieldset legend a {
	text-decoration: none;
}

.search_form_widget {
	float: left;
	margin-right: 20px;
}

.search_form_widget:last-of-type {
	margin-right: 0;
	margin-top: 20px;
	clear: right;
}

/*
 * Estilos diversos
 */

.bk_grey {
	background-color: #f0f0f0;
}

.centered {
	text-align: center;
}

.left-aligned {
	text-align: left;
}

.right-aligned {
	text-align: right;
}

.warningtext {
	color: #ff9900;
}

.errortext {
	color: #ff0000;
}

.mobile_menu_show {
	display: block !important;
}

.form-item {
	margin-top: 0 !important;
}

.td_measure {
	text-align: right;
	border-right: none !important;
	padding-right: 0 !important;
}

.td_unit {
	border-left: none !important;
}

.print_link {
	margin-top: 16px;
}

.leftfloater {
	float: left;
}

.rightfloater {
	float: right;
}

/*
 * Estilos de classes pré-definidas pelo Drupal
 */

.submitted span {
	font-size: 10px;
	color: #505050;
}

.field-type-text-with-summary p {
	margin: 5px 0;
}

.field-type-text-with-summary ul {
	margin: 5px 0 5px 5px;
}

/*
 * Páginas /cursos, /curso/<iniciais> e /historia
 */

#courses {
	width: 100%;
}

#courses .banner {
	background-color: #d2d2c8;
	padding: 70px 0;
}
#courses .banner:first-of-type {
	background-color: #d2d2c8 !important;
	margin-top: 40px;
}
#courses .banner:nth-of-type(even) {
	background-color: #dcdcd2;
}
#courses .banner:nth-of-type(odd) {
	background-color: #f0f0f0;
}

#courses .banner .quote_caption {
	font-size: 12px !important;
	font-style: italic !important;
}

#courses .banner h1 {
	display: block;
	width: 100%;
	font-family: Merriweather, serif;
	font-size: 17px;
	font-weight: bold;
	text-transform: uppercase;
	line-height: 23px;
	color: #000;
	text-align: center;
	text-wrap: none;
	padding-bottom: 20px;
}

#courses .banner:first-of-type p {
	display: block;
	width: 56%;
	margin: 0 auto 10px auto;
	font-family: Merriweather, serif;
	font-size: 15px;
	color: #505050;
	line-height: 23px;
	text-align: center;
}

#courses .banner .courses {
	width: 100%;
	display: flex;
	justify-content: space-evenly;
}

#courses .banner .course {
	width: 22%;
}

#courses .banner .course img {
	width: 100%;
}

#courses .banner .course p {
	font-family: Merriweather, serif;
	font-size: 12px;
	font-weight: bold;
}

@media (max-width: 1000px) {
	
	#courses .banner .courses {
		flex-wrap: wrap;
	}
	
	#courses .banner .course {
		width: 46%;
	}
	
}

@media (max-width: 600px) {
	
	#courses .banner .courses {
		flex-wrap: wrap;
	}
	
	#courses .banner .course {
		width: 92%;
	}
	
}

#courses .columns {
	width: 100%;
	display: flex;
	justify-content: space-between;
	padding: 70px 0;
}

#courses .columns > div:first-of-type {
	width: 45%;
}

#courses .columns > div:last-of-type {
	width: 35%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-content: flex-start;
}

#courses .columns a.fake_image {
	display: block;
	width: 30%;
	padding-top: 20%;		/* simular imagem */
	background-color: #aa963c;
	margin-bottom: 10px;
}

#courses h2 {
	font-family: Merriweather, serif;
	font-size: 15px;
	color: #000;
	text-transform: uppercase;
	display: block;
	width: 100%;
	margin: 40px 0 5px 0;
	font-weight: bold;
}

#courses p {
	font-family: Merriweather, serif;
	font-size: 15px;
	color: #323232;
	margin-bottom: 40px;
	line-height: 1.6;
}

#courses p em {
	font-family: Merriweather, serif;
	font-size: 15px;
	color: #323232;
	line-height: 1.6;
	font-style: italic;
}

#courses h1 {
	font-family: Merriweather, serif;
	font-size: 17px;
	font-weight: bold;
	text-transform: uppercase;
	line-height: 23px;
	color: #000;
	padding-bottom: 20px;
}

@media (max-width: 709px) {
	
	#courses .banner:first-of-type p {
		width: 80%;
	}
	
	#courses .columns {
		flex-direction: column;
	}
	
	#courses .columns > div {
		width: 100% !important;
	}
	
	#courses .columns > div:first-of-type {
		margin-bottom: 30px;
	}
	
}

#courses .dataslider {
	width: 100%;
	margin-bottom: 80px;
}

#courses .dataslider_page > div:first-of-type {
	font-family: Merriweather, serif;
	font-size: 15px;
	color: #000;
	line-height: 1.6;
	background-color: #d2d2c8;
	text-transform: uppercase;
	border: 1px solid #d2d2c8;
	box-sizing: border-box;
	padding: 20px;
}

#courses .dataslider_page > div:first-of-type:hover {
	cursor: pointer;
}

#courses .dataslider_page .arrow {
	float: right;
}

#courses .dataslider_page .arrow img {
	width: 16px;
}

#courses .dataslider_page > div:last-of-type {
	display: none;
}

#courses .dataslider_page > div {
	border: 1px solid #d2d2c8;
	box-sizing: border-box;
	padding: 20px;
	margin-bottom: 5px;
}

#courses .dataslider_page > div p {
	font-size: 12px;
	color: #505050;
}

#courses .dataslider_page > div p span {
	font-weight: bold;
}

#courses .dataslider_page p em {
	font-family: Merriweather, serif;
	font-size: 12px;
	color: #323232;
	line-height: 1.6;
	font-style: italic;
}

#courses .dataslider table {
	border: 0;
	border-collapse: collapse;
	width: 100%;
}

#courses .dataslider table caption {
	text-align: left;
	font-weight: bold;
	font-family: Merriweather, serif;
	font-size: 12px;
	color: #505050;
	line-height: 1.6;
	width: 100%;
	border-top: 1px solid #d2d2c8;
	margin-top: 0px;
	padding-top: 5px;
}

#courses .dataslider table td {
	font-family: Merriweather, serif;
	font-size: 12px;
	color: #505050;
	line-height: 1.6;
	padding: 0;
	vertical-align: top;
}

#courses .dataslider table td:first-of-type {
	width: 60%;
}

#courses .dataslider table td a,
#courses .dataslider table td a:hover,
#courses .dataslider table td a:visited,
#courses .dataslider table td a:active {
	font-family: Merriweather, serif;
	font-size: 12px;
	color: #505050;
}

/* Imagens */

#courses .gallery {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 80px;
}

#courses .gallery img {
	width: 30%;
	height: 24.75%;		/* For Chrome and Safari: images are 4:3, so 33% * 3 / 4 = 24.75% */
	margin-bottom: 10px;
}

/*
 * Página Contacto
 */

#contacts .region-content {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	box-sizing: border-box;
}

#contacts h1 {
	font-family: Merriweather, serif;
	font-size: 17px;
	color: #000;
	line-height: 23px;
	text-transform: uppercase;
	margin: 40px 0;
}

#contacts > h1 {
	text-align: center;
}

#contacts tbody {
	border: 0;
}

#contacts p, #contacts td, #contacts a, #contacts label {
	font-family: Merriweather, serif;
	font-size: 13px;
	color: #323232;
	line-height: 1.5;
	padding: 0;
	white-space: nowrap;
}

#contacts input, #contacts textarea, #contacts select {
	font-family: Merriweather, serif;
	font-size: 13px;
	color: #323232;
	line-height: 1.5;
}

#contacts a, #contacts a:link, #contacts a:active, #contacts a:hover {
	font-weight: bold;
}

#contacts td {
	padding-right: 4px;
	border: 0;
}
#contacts td:nth-of-type(2) {
	padding-right: 8px;
}
#contacts td:last-of-type {
	padding-right: 0;
}

#contacts .block {
	width: 32%;
	box-sizing: border-box;
	margin: 20px 0;
	background-color: #f0f0f0;
}

#contacts .contact_block > div {
	padding: 20px;
}

#contacts .block:last-of-type {
	width: 66%;
	padding: 0;
}

#contacts .contact_block h1 {
	font-size: 13px;
	margin: 20px 0;
}

#contacts .contact_block iframe {
	width: 100% !important;
}

#contacts .contact_block img {
	width: 100%;
	display: block;
}

#contacts input[type="text"], #contacts select {
	width: 98%;
}

#contacts textarea {
	width: 100%;
	resize: none;
}

#contacts input[type="submit"] {
	border: 0;
	width: 100%;
	background-color: #323232;
	color: #fff;
}
#contacts input[type="submit"]:hover {
	cursor: pointer;
}

#contacts .block-system {
	background-color: #dcdcd2;
	padding: 20px;
}

@media (max-width: 1100px) {
	
	#contacts .block {
		width: 49%;
	}
	
	#contacts .block:last-of-type {
		width: 100%;
	}
}

@media (max-width: 750px) {
	
	#contacts .block {
		width: 100%;
	}
	
	#contacts .block:last-of-type {
		width: 100%;
	}
}
