html {
	position: relative;
	min-height: 100vh;
	padding-bottom: 292px;
}

.navbar-light .navbar-nav .active > .nav-link, .navbar-light .navbar-nav .nav-link.active, .navbar-light .navbar-nav .nav-link.open, .navbar-light .navbar-nav .open > .nav-link {
	color: #00b0a5;
	font-weight: 500;
}

.navbar-light .navbar-nav .nav-link {
	color: #000;
	font-weight: 400;
}

.navbar-light .navbar-nav .nav-link:hover {
	color: #00b0a5;
}

button {
	cursor: pointer;
}

.form-control:focus {
	border-color: #00B0A5 !important;
	outline: 0;
	box-shadow: none !important;
}


#content {
	height: 100%;
}

body {
	color: rgb(102, 102, 102);
}

.text-strong {
	font-weight: bold;
}

img.img-responsive {
	width: 100%;
	height: auto;
}

footer {
	margin-top: 24px;
	height: 292px;
	position: absolute;
	bottom: 0;
	width: 100%;
}

nav.navbar {
	background-color: #fff;
	text-transform: uppercase;
	box-shadow: 0px 1px 6px rgba(0, 0, 0, 0.7);
	min-height: 44px;
	align-items: start !important;
}

a:hover {
	text-decoration: none;
	color: #595959;
}

b {
	color: #323237;
}

footer h2 {
	font-weight: 500;
	text-transform: uppercase;
	font-size: 24px;
	color: #323237;
}

footer b {
	font-weight: 500;
	text-transform: uppercase;
}

footer a {
	display: block;
	text-decoration: none !important;
	color: #999 !important;
}

footer .footer1 {
	background: #f1f3f2;
	padding: 30px 0;
	border-top: 1px solid rgba(0, 0, 0, 0.1);
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

footer .footer2 {
	padding: 15px 0px 15px 0px;
}

.hidden {
	display: none !important;
}

.label {
	margin-bottom: 0;
}

h1 {
	text-transform: uppercase;
	font-weight: 400;
	font-size: 32px;
	color: #323237;
}

h3 {
	text-transform: uppercase;
	font-weight: 400;
	font-size: 24px;
	color: #404045;
}

.home-section {
	text-align: center;
	height: 480px;
	background: url('/assets/images/banner02.jpg') 0 0;
}

@media (max-width: 575.98px) {
	.home-section {
		height: 640px;
	}
}

.home-section a, a:hover {
	text-decoration: none !important;
}

.home-section a:hover {
	background: #00b0a5;
}

.home-section a {
	max-height: 60px;
	height: 60px;
	display: block;
	margin-left: 8px;
	margin-right: 8px;
	border: 1px solid #FFFFFF;
	color: #FFFFFF;
	padding: 8px 16px 8px 16px;
	border-radius: 3px;
	font-size: 19px;
	font-weight: 600;
}

.home-section a > div {
	height: 100%;
	width: 100%;
	line-height: 40px
}

.home-section a.disabled:hover {
	background: #bcbcbc !important;
}

.home-section a > p {
	font-size: 14px;
	color: #ffffff;
	margin-top: -3px;
	text-align: center;
}

.logo-iep {
	position: absolute;
	top: 8px;
	left: 0;
}

input, select {
	height: 38px;
}

textarea {
	min-height: 45px;
}

.version {
	font-size: 10px;
}

.custom-file-input, .custom-file-label {
	border: 1px solid #A1A1A1;
	background: #fff;
	border-radius: 0 !important;
	outline: none !important;
}
.custom-file-label:after {
	content: 'Escolher ficheiro'
}

input, select, textarea, .form-control {
	border: 1px solid #A1A1A1;
	background: #fff;
	border-radius: 0 !important;
	margin-bottom: 0;
	padding-left: 15px;
	padding-right: 15px;
	font-size: 16px;
	-webkit-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
	transition: all 0.5s ease;
	outline: none !important;
}

.p-4p {
	padding: 4px;
}

.radio label {
	margin-bottom: 0;
}

.carousel-control, .carousel-indicators {
	display: none;
}

.carousel-item.active {
	display: block !important;
}

input[type=radio] {
	margin-bottom: 16px;
}

.btn-primary, .btn-primary:disabled, .btn-primary:hover {
	color: #fff;
	background-color: #242424;
	border-color: #242424;
}

.form-control {
	border: 1px solid #A1A1A1;
}

.has-float-label label, .has-float-label>span {
	text-transform: uppercase;
}

.form-control:disabled, .form-control[readonly] {
	background-color: #ddd;
}

.form-control:focus {
	border: 1px solid #A1A1A1;
	outline: 0;
	-webkit-box-shadow: none;
	box-shadow: none;
}

.navbar-light .navbar-toggler {
	border: none;
	position: absolute;
	right: 4px;
	height: 60px;
}

.navbar-collapse {
	height: 60px;
}


.navbar-light .navbar-brand:focus, .navbar-light .navbar-brand:hover, .navbar-light .navbar-toggler:focus, .navbar-light .navbar-toggler:hover {
	color: rgba(0,0,0,.9);
}

.modal-header {
	border-bottom: 1px solid rgba(0, 0, 0, .1) !important;
}

.modal-content {
	border: none;
	border-radius: 3px;
	box-shadow: 0px 6px 10px rgba(0, 0, 0, 0.46);
}

.modal-backdrop {
	background-color: rgba(0, 0, 0, 0.5);
}

h5.modal-title {
	font-weight: 400;
	text-transform: uppercase;
	color: #323237;
	font-size: 24px;
}

.table td input, .table td select {
	margin-bottom: 0;
}

select.form-control:not([size]):not([multiple]) {
	height: calc(1.5em + .75rem + 2px);
}

.input-group-text {
	background: none !important;
	border: 0 !important;
}

.fa-sort-asc, .fa-sort-desc {
	color: #00b0a5 !important;
}

a:focus {
	color: #00b0a5;
}

.input-group-addon {
	background: #000;
	color: #FFF;
	font-weight: 500;
	border: 1px solid #000;
	border-radius: 0 !important;
	height: calc(1.5em + .75rem + 2px);
	padding: .375rem .75rem;
	font-size: 16px;
}

.btn-outline-dark:hover {
	color: #fff !important;
}

.custom-file {
	display: block;
}

.no-border {
	border: 0;
	box-shadow: none; /* You may want to include this as bootstrap applies these styles too */
}

.form-group {
	margin-bottom: 30px;
}

.has-float-label .form-control:placeholder-shown:not(:focus) + * {
	font-size: 100%;
	opacity: 1;
	top: 0.6em;
}

.has-float-label .form-control:read-only:placeholder-shown:not(:focus) + span::after {
	background: #dddddd;
}

.mb-30 {
	margin-bottom: 30px;
}

.mb-20 {
	margin-bottom: 20px;
}

.pd-10 {
	padding-top: 10px;
}

th {
	cursor: pointer;
}

.faq-img {
	display: block;
	margin-left: auto;
	margin-right: auto;
	width: 80%;
}

.faq-container {
	padding: 1rem;
}

.pointer:hover {
	cursor: pointer;
}


.seccao {
	padding: 0px;
	margin-top: 10rem;
}

#wrap {
	margin: 0 auto;
	float: none;
}

.closer-top {
	margin-top: -1rem;
}

div {
	-webkit-touch-callout: none; /* iOS Safari */
	-webkit-user-select: none; /* Safari */
	-khtml-user-select: none; /* Konqueror HTML */
	-moz-user-select: none; /* Firefox */
	-ms-user-select: none; /* Internet Explorer/Edge */
	user-select: none;
	/* Non-prefixed version, currently
                                     supported by Chrome and Opera */
}

.loader,
.loader:before,
.loader:after {
	background: #000;
	-webkit-animation: load1 1s infinite ease-in-out;
	animation: load1 1s infinite ease-in-out;
	width: 1em;
	height: 4em;
}

.loader:before,
.loader:after {
	position: absolute;
	top: 0;
	content: "";
}

.loader:before {
	left: -1.5em;
}

.loader {
	text-indent: -9999em;
	margin: 8em auto;
	position: relative;
	font-size: 12px;
	-webkit-animation-delay: -0.16s;
	animation-delay: -0.16s;
}

.loader:after {
	left: 1.5em;
	-webkit-animation-delay: -0.32s;
	animation-delay: -0.32s;
}

@-webkit-keyframes load1 {
	0%,
	80%,
	100% {
		box-shadow: 0 0 #FFF;
		height: 4em;
	}
	40% {
		box-shadow: 0 -2em #ffffff;
		height: 5em;
	}
}

@keyframes load1 {
	0%,
	80%,
	100% {
		box-shadow: 0 0 #FFF;
		height: 4em;
	}
	40% {
		box-shadow: 0 -2em #ffffff;
		height: 5em;
	}
}

.alert {
	color: #343a40;
}

.alert-success {
	opacity: 0.4%;
	background-color: rgba(0, 176, 165, 0.4);
	border-color: #00b0a5;
}

.alert-danger {
	background-color:rgba(220, 53, 69, 0.4);
	border-color: #dc3545;
}

.modal-header {
	display: block;
}

.adjust {
	min-height: 60px;
	height: auto;
}

.stepper {
	width: 100%;
	padding: 0;
}

.stepper-container .stepper-step {
	width:33.33%;
}


/* Begin actual stepper css styles */

.stepper-container {
	display: table;
	width: 100%;
	margin: 0 auto;
}

.stepper-container .stepper-step {
	cursor: pointer;
	display: table-cell;
	position: relative;
	padding-bottom: 8px;
	padding-top: 8px;
}

.stepper-container .stepper-step:hover,
.stepper-container .stepper-step:active {
	background-color: rgba(0, 0, 0, .06);
}

.stepper-container .stepper-step:first-child:active {
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
}

.stepper-container .stepper-step:last-child:active {
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
}

.stepper-container .stepper-step:hover .stepper-circle {
	background-color: #00b0a5;
}

.stepper-container .stepper-step .stepper-circle {
	width: 24px;
	height: 24px;
	margin: 0 auto;
	background-color: #9E9E9E;
	border-radius: 50%;
	text-align: center;
	line-height: 2em;
	font-size: 12px;
	color: white;
}

.stepper-container .stepper-step.active .stepper-circle {
	background-color: #00b0a5;
}

.stepper-container .stepper-step.step-done .stepper-circle:before {
	content: "\2714";
}

.stepper-container .stepper-step.step-done .stepper-circle *,
.stepper-container .stepper-step.editable-step .stepper-circle * {
	display: none;
}

.stepper-container .stepper-step.editable-step .stepper-circle {
	-moz-transform: scaleX(-1);
	/* Gecko */
	-o-transform: scaleX(-1);
	/* Opera */
	-webkit-transform: scaleX(-1);
	/* Webkit */
	transform: scaleX(-1);
	/* Standard */
}

.stepper-container .stepper-step.editable-step .stepper-circle:before {
	content: "\270E";
}

.stepper-container .stepper-step .stepper-title {
	margin-top: 16px;
	font-size: 14px;
	font-weight: normal;
	text-transform: uppercase;
}

.stepper-container .stepper-step .stepper-title,
.stepper-container .stepper-step .stepper-optional {
	text-align: center;
	color: rgba(0, 0, 0, .26);
}

.stepper-container .stepper-step.active .stepper-title {
	font-weight: 500;
	color: rgba(0, 0, 0, .87);
}

.stepper-container .stepper-step.active.step-done .stepper-title,
.stepper-container .stepper-step.active.editable-step .stepper-title {
	font-weight: 300;
}

.stepper-container .stepper-step .stepper-optional {
	font-size: 12px;
}

.stepper-container .stepper-step.active .stepper-optional {
	color: rgba(0, 0, 0, .54);
}

.form-control.is-invalid {
	border-color: #dc3545 !important;
	background: none !important;
}

.custom-file-label.is-invalid {
	border-color: #dc3545 !important;
}

.is-invalid.custom-file-label::after {
	background-color:rgba(220, 53, 69, 0.4);
}

.btn-success.disabled, .btn-success:disabled {
	color: #fff;
	background-color: #464a4c;
	border-color: #292b2c;
}

.btn {
	font-size: .9em;
	font-weight: 700;
	border-radius: 0 !important;
	text-transform: uppercase;
}

.pull-right-not-xs, .pull-right-not-sm, .pull-right-not-md, .pull-right-not-lg{
	float: right;
}

.pull-left-not-xs, .pull-left-not-sm, .pull-left-not-md, .pull-left-not-lg{
	float: left;
}
@media (max-width: 767px) {

	.modal {
		top: 0% !important;
	}

	.pull-right-not-xs, .pull-left-not-xs{
		float: none;
	}
	.pull-right-xs {
		float: right;
	}
	.pull-left-xs {
		float: left;
	}
}
@media (min-width: 768px) and (max-width: 991px) {
	.pull-right-not-sm, .pull-left-not-sm{
		float: none;
	}
	.pull-right-sm {
		float: right;
	}
	.pull-left-sm {
		float: left;
	}
}
@media (min-width: 992px) and (max-width: 1199px) {
	.pull-right-not-md, .pull-left-not-md{
		float: none;
	}
	.pull-right-md {
		float: right;
	}
	.pull-left-md {
		float: left;
	}
}
@media (min-width: 1200px) {
	.pull-right-not-lg, .pull-left-not-lg{
		float: none;
	}
	.pull-right-lg {
		float: right;
	}
	.pull-left-lg {
		float: left;
	}
}

.input-group-append, .input-group-prepend {
	height: calc(1.5em + .75rem + 2px);
}

.file {
	visibility: hidden;
	position: absolute;
}


/* Carousel - página principal */

.carousel-item {
	height: 500px;
	background-size: cover;
	background-position: center;
	position: relative;
}

.carousel-button {
	position: absolute;
	bottom: 30px;
	left: 50%;
	transform: translateX(-50%);
	font-size: 1.1rem;
	padding: 0.75rem 1.5rem;
	background-color: #ffffff;
	color: #000;
	opacity: 0.8;
	border-radius: 0.25rem;
	text-decoration: none;
	text-transform: uppercase;
	box-shadow: 0 2px 6px rgba(0,0,0,0.2);
	transition: background-color 0.3s ease;
}

.carousel-button:hover {
	background-color: #f8f9fa;
	text-decoration: none;
	color: #000;
}

.carousel-indicators {
	top: auto;
	bottom: auto;
	justify-content: center;
	margin: 0;
}

.carousel-indicators li {
	width: 30px;
	height: 6px;
	margin: 16px 4px;
	background-color: rgba(255, 255, 255, 0.4);
	border: none;
	border-radius: 3px;
}

.carousel-indicators .active {
	background-color: rgba(255, 255, 255, 0.9);
}

#meuCarrossel {
	padding: 75px 0 !important;
}

/* ------------- barra DOBRADA (telemóvel) ------------------- */
@media (max-width: 543.98px){          /* xs em α-6         */
	.navbar-nav .dropdown-menu{
		position: static;   /* faz parte da lista empilhada       */
		float: none;
		width: 100%;
		margin-top: 0;
	}
}

/* ------------- barra ABERTA (tablet/desktop) --------------- */
@media (min-width: 544px){             /* ≥ sm em α-6       */
	.navbar-nav .dropdown-menu{
		position: absolute;  /* volta ao default do Bootstrap     */
		top: 100%;           /* logo a seguir à barra             */
		left: 0;
		transform: none !important;  /* anula o translate3d do Tether */
		margin-top: .25rem;  /* pequeno intervalo – opcional      */
	}
}



/* só enquanto a barra móvel está aberta */
.navbar-collapse.in .dropdown-menu{      /* (4.x final → .show) */
	position:static;
	float:none;
	width:100%;
	margin:0;
}


.dropdown-menu {
	margin-top: 0; /* evita espaço entre o botão e o submenu */
	transition: opacity 0.15s ease;
}

.navbar-nav > .dropdown:hover > .dropdown-menu {
	display: block;
}

/* === formato geral da card === */
.news-card{
	height:300px;          /* altura fixa  */
	overflow:hidden;       /* corta texto que passa */
	position:relative;     /* p/ pseudo-elemento */
	cursor:pointer;        /* mostra que é clicável */
	transition:box-shadow .15s ease;
}

.news-card:hover{
	box-shadow:0 4px 14px rgba(0,0,0,.15);
}

/* faz o fade (transparente → fundo da card) */
.news-card::after{
	content:'';
	position:absolute;
	bottom:0; left:0;
	width:100%;
	height:60px;           /* zona de transição */
	pointer-events:none;   /* mantém clique na card */
	background:linear-gradient(
		rgba(255,255,255,0) 0%,
		rgba(255,255,255,1) 100%);
}

/* opcional – trunca para ± 5 linhas antes do fade */
.news-card .card-text{
	overflow:hidden;
	display:-webkit-box;
	-webkit-line-clamp:5;      /* nº de linhas visíveis */
	-webkit-box-orient:vertical;
}
