@font-face {
    font-family: 'Nexa-Bold';
    src: url('../fonts/Nexa-Bold.eot');
    src: url('../fonts/Nexa-Bold.eot?#iefix')format('embedded-opentype'),
        url('../fonts/Nexa-Bold.woff')format('woff'),
		url('../fonts/Nexa-Bold.woff2')format('woff2'),
        url('../fonts/Nexa-Bold.ttf')format('truetype'), 
		url('../fonts/Nexa-Bold.svg#hensaregular')format('svg');
    font-style: normal;
    font-weight: normal;
    text-rendering: optimizeLegibility;
}

@font-face {
    font-family: 'Nexa-Light';
    src: url('../fonts/Nexa-Light.eot');
    src: url('../fonts/Nexa-Light.eot?#iefix')format('embedded-opentype'),
        url('../fonts/Nexa-Light.woff')format('woff'),
		url('../fonts/Nexa-Light.woff2')format('woff2'),
        url('../fonts/Nexa-Light.ttf')format('truetype'), 
		url('../fonts/Nexa-Light.svg#hensaregular')format('svg');
    font-style: normal;
    font-weight: normal;
    text-rendering: optimizeLegibility;
}

@font-face {
  	font-family: 'fontello';
  	src: url('../fonts/fontello.eot?60975290');
  	src: url('../fonts/fontello.eot?60975290#iefix')format('embedded-opentype'),
       	url('../fonts/fontello.woff?60975290')format('woff'),
       	url('../fonts/fontello.ttf?60975290')format('truetype'),
       	url('../fonts/fontello.svg?60975290#fontello')format('svg');
  	font-weight: normal;
  	font-style: normal;
}

html, body, div, span, applet, object, iframe,  
h1, h2, h3, h4, h5, h6, p, blockquote, pre,  
a, abbr, acronym, address, big, cite, code,  
del, dfn, em, font, img, ins, kbd, q, s, samp,  
small, strike, strong, sub, sup, tt, var,  
b, u, i, center,  
dl, dt, dd, ol, ul, li,  
fieldset, form, label, legend,  
table, caption, tbody, tfoot, thead, tr, th, td {  
	margin: 0;  
	padding: 0;  
	border: 0;  
	outline: 0;  
	font-size: 100%;  
	vertical-align: baselinebaseline;  
	background: transparent;  
}

body {
	margin: 0; 
	padding: 0px;
	width: 100%;
	overflow-x:hidden;
	font-family: 'Nexa-Light', sans-serif;
	font-size: 10px;
  	color: #000;
	letter-spacing: 1px;
}

html {
  width: 100%;
  height: 100%;
}

ol, ul {  
	list-style: none;  
}  
blockquote, q {  
	quotes: none;  
}  
blockquote:before, blockquote:after, q:before, q:after {  
	content: '';  
}  
  
:focus {  
	outline: 0;  
}  

.row:before, .row:after {
  display: none;
}
  
table {  
	border-collapse: collapse;  
	border-spacing: 0;  
}

a, a:active, a:focus {
	color: inherit;
	text-decoration: inherit;
	-webkit-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
}

a:hover {
	color: #ff8f12;
	text-decoration: inherit;
	-webkit-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
}

#loading {
	width: 100%;
	height: 100%;
	position: fixed;
	background-color: #fff;
	z-index: 1000;
	left: 0;
	overflow: hidden;
}

#subloading {
	position: fixed;
	top: 50%;
	left: 50%;
	z-index: 1;
	transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	-webkit-transform: translate(-50%,-50%);
}

.aviso-cookies {
 	width: 100%;
 	background: #000;
 	padding: 10px;
 	color: #fff;
	font-size: 12px;
 	z-index: 999;
  	text-align: center;
  	position: fixed;
 	bottom: 0;
 	opacity:0.8;
}

.aviso-cookies a {
 	text-decoration: underline;
 	-webkit-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
}

.aviso-cookies a:hover {
	color: #ff8f12;
	-webkit-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
}

.close-barra {
 	cursor: pointer;
}

.close-barra:hover {
	color: #ff8f12;
}

strong {
	font-weight: normal;
}

.bold, b {
	font-family: 'Nexa-Bold';
}

.left {
	text-align: left;
}

.center {
	text-align: center;
}

.right {
	text-align: right;
}

.relative {
	position: relative;
}

.clear {
	clear: both;
}

.none {
	display: none;
}

.no-padding {
	padding: 0;
}

.img-fluid {
	width: 100%;
}

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

.z-index-2 {
	z-index: 2;
}

div#preloaded-images {
   position: absolute;
   overflow: hidden;
   left: -9999px; 
   top: -9999px;
   height: 1px;
   width: 1px;
}

#logo-home {
	position: absolute;
	top: 25px;
	left: 140px;
	z-index: 3;
}

#background-home {
	width: 100%;
    height: 100vh;
    position: absolute;
    background-size: cover;
    z-index: 1;
    -webkit-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
}

.filter {
	position: absolute;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.5);
	-webkit-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
}

.projeto-home {
	background-size: cover;
	width: 100%;
	height: 100vh;
}

.projeto-home1 {
	background-image: url("../images/destaques/home-1.jpg"); 
}

.projeto-home2 {
	background-image: url("../images/destaques/home-2.jpg"); 
}

.projeto-home3 {
	background-image: url("../images/destaques/home-3.jpg"); 
}

.projeto-home4 {
	background-image: url("../images/destaques/home-4.jpg"); 
}

.div-descricao-projeto-home {
	font-size: 2em;
	color: #fff;
	position: absolute;
	width: 90%;
	top: 50%;
	left: 50%;
	text-align: center;
	transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	-webkit-transform: translate(-50%,-50%);
}

.button-home {
	font-size: 1.5em;
	color: #fff;
	position: absolute;
	bottom: 30%;
	left: 0;
	right: 0;
	text-align: center;
}

.padding-140 {
	padding: 0 140px;
}

.menu {
	padding-top: 25px;
	padding-bottom: 60px;
}

.menu ul {
	margin-top: 30px;
	text-align: center;
}

.menu li {
	display: inline-block;
	font-family: 'Nexa-Bold';
	text-transform: uppercase;
	font-size: 1.75em;
	margin: 0 15px;
}

#social-header {
    text-align: right;
    font-size: 1.75em;
    margin-top: 30px;
}

#social-header .fa-facebook-f {
	margin-right: 5px;
}

#page-sobre-nos #link-sobre-nos, #page-projetos #link-projetos, #page-contactos #link-contactos {
	color: #ff8f12; 
}

.categoria-projetos {
	display: inline-block;
	margin: 0 40px 70px 40px;
	font-size: 1.2em;
	cursor: pointer;
}

.categoria-projetos i {
	font-family: "fontello";
	font-size: 32px;
	font-style: normal;
    font-weight: bold;
    font-variant: normal;
    text-transform: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.active {
	color: #ff8f12; 
}

.projeto {
	position: relative;
	margin-top: 30px;
}

.overlay {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	height: 100%;
	width: 100%;
	opacity: 0;
	-webkit-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
	background-color: rgba(255,143,18,0.6);
}

.projeto:hover .overlay, .membro-equipa:hover .overlay {
  opacity: 1;
  -webkit-transition: .3s ease-in-out;
  transition: .3s ease-in-out;
}

.text-overlay {
  color: white;
  font-size: 1.75em;
  line-height: 1em;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  text-align: center;
}

.button-carregar-mais {
	display: inline-block;
	margin-top: 100px;
	font-family: 'Nexa-Bold';
	font-size: 1.75em;
	text-transform: uppercase;
	color: #ff8f12;
	border: solid 2px #ff8f12;
	padding: 20px 30px;
	cursor: pointer;
	-webkit-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
}

.button-carregar-mais:hover {
	color: #fff;
	background-color: #ff8f12;
	-webkit-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
}

footer {
	font-size: 1.5em;
	line-height: 1.3em;
	padding-top: 100px;
}

address i {
	color: #ff8f12;
}

.logo-footer {
	width: 180px;
	height: auto;
	margin-bottom: 30px;
}

.margin-left-address {
	margin-left: 18px;
}

.titulo-footer {
	font-family: 'Nexa-Bold';
	color: #ff8f12;
	position: relative;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}

footer nav {
	text-transform: lowercase;
}

#barra-abe {
	margin-top: 75px;
	text-align: center;
	padding: 15px 0;
	background-color: rgba(255,143,18,0.6);
}

#texto-quem-somos {
	margin: 80px 0;
	font-size: 1.5em;
	line-height: 1.3em;
}

#texto-quem-somos h2 {
	color: #ff8f12;
	margin-bottom: 10px;
}

#texto-quem-somos p {
	text-align: justify;
	column-count: 2;
	column-gap: 125px;
}

.background-orange {
	background-color: rgba(255,143,18,0.6);
}

.projeto-sobre {
	display: inline-block;
	margin: 110px 0;
	color: #fff!important;
	font-size: 2em;
}

.projeto-sobre img {
	margin-bottom: 30px;
}

#section-equipa {
	margin-top: 100px;
	color: #ff8f12;
	font-size: 1.5em;
	text-transform: uppercase;
}

.membro-equipa {
	text-transform: none;
	position: relative;
	display: inline-block;
	border-radius: 50%;
	overflow: hidden;
	margin-top: 20px;
	font-family: 'Nexa-Light';
}

.nome-projeto {
	margin: 30px 0 20px 0;
	color: #ff8f12;
	font-size: 1.75em;
}

.informacoes-projeto {
	background-color: rgba(255,143,18,0.6);
    padding: 110px 70px;
    color: #fff;
    font-size: 1.37em;
    text-transform: uppercase;
}

.cliente-projeto, .local-projeto {
	float: left;
}

.tipologia-projeto, .data-estado-projeto {
	float: right;
	text-align: right;
}

.cliente-projeto, .tipologia-projeto {
	margin-bottom: 100px;
}

.descricao-projeto {
	text-align: justify;
	font-size: 1.5em;
	line-height: 1em;
}

.share-projeto {
	font-size: 1.5em;
	line-height: 0.8em;
	color: #ff8f12;
	position: absolute;
	bottom: 0;
}

.share-projeto a {
	margin-left: 50px;
	cursor: pointer;
}

.imagem-projeto {
	margin-top: 85px;
}

.button-projeto-anterior, .button-projeto-seguinte {
	margin-top: 85px;
	font-size: 1.75em;
	color: #ff8f12;
}

.button-projeto-anterior {
	float: left;
}

.button-projeto-seguinte {
	float: right;
}

#gmap {
	position: relative!important;
    width: 100%;
    height: 600px;
}

.email {
	margin: 85px 0;
	color: #ff8f12;
	font-size: 1.37em;
	text-transform: uppercase;
}

.form-control {
	border-radius: 0;
	border: none;
	background-color: rgba(255,143,18,0.6);
	color: #fff;
	padding: 27px 30px;
	margin-bottom: 10px;
	background-clip: unset; 
}

.form-control:focus {
	background-color: rgba(255,143,18,0.6);
	color: #fff;
	border: none;
	box-shadow: none;
}

.form-control::placeholder {
	font-family: 'Nexa-Bold';
	text-transform: uppercase;
	color: #fff;
}

textarea.form-control {
    height: calc(100% - 10px);
    resize: none;
}

#label-rgpd {
	position: relative;
    top: -1px;
    left: 5px;
    font-size: 1.2em;
}

#button-enviar {
	background-color: rgba(255,143,18,0.6);
	display: inline-block;
	padding: 35px 50px;
	font-family: 'Nexa-Bold';
	font-size: 1.75em;
	text-transform: uppercase;
	color: #fff;
	cursor: pointer;
	margin-top: 10px;
}

.termos {
	font-size: 1.4em;
}

.w3-button {
	border: none;
	display: block;
	margin: 34px 0;
	font-family: 'Nexa-Bold';
	font-size: 1.75em;
	overflow: hidden;
	text-decoration: none;
	color: inherit;
	background-color: inherit;
	text-align: center;
	text-transform: uppercase;
	cursor: pointer;
	white-space: nowrap;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
}

.w3-button:disabled {
	cursor: not-allowed;
	opacity: 0.3;
}

.w3-sidebar {
	height: 100%;
	width: 25vw;
	background-color: #fff;
	position: fixed!important;
	z-index: 4;
	overflow: auto;
}

.w3-bar-block .w3-dropdown-hover, .w3-bar-block .w3-dropdown-click {
	width:100%;
}

.w3-bar-block .w3-dropdown-hover .w3-dropdown-content, .w3-bar-block .w3-dropdown-click .w3-dropdown-content {
	min-width: 100%;
}

.w3-bar-block .w3-dropdown-hover .w3-button, .w3-bar-block .w3-dropdown-click .w3-button {
	width: 100%;
	text-align: left;
	padding: 8px 16px;
}

.w3-card, .w3-card-2 {
	box-shadow: 0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12);
}

.w3-animate-left {
	position: relative;
	animation: animateleft 0.4s;
}

@keyframes animateleft {
	from {
		left: -300px;
		opacity: 0;
	} to {
		left: 0;
		opacity: 1;
	}
}

.w3-animate-right {
	position: relative;
	animation: animateright 0.4s;
}

@keyframes animateright {
	from {
		right: -300px;
		opacity: 0;
	} to {
		right: 0;
		opacity:1;
	}
}

.w3-button:hover {
	color: #ff8f12;
	-webkit-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
}

.topo-home {
	position: absolute;
    z-index: 3;
    right: 100px;
    top: 53px;
    color: #fff;
    font-size: 24px;
}

#open-menu:hover {
	cursor: pointer;
	color: #ff8f12;
}

.fa-facebook-f {
	margin-right: 5px;
}

.lingua-home {
	margin: 0 40px;
}

#menu-right {
	display: none;
	right: 0;
}

#close-menu {
	position: absolute;
	top: 55px;
	left: 55px;
	cursor: pointer;
	font-size: 24px;
	-webkit-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
}

#close-menu:hover {
	color: #ff8f12;
	-webkit-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
}

#menu-links {
	position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
  	-moz-transform: translate(-50%, -50%);
  	-ms-transform: translate(-50%, -50%);
  	-o-transform: translate(-50%, -50%);
  	transform: translate(-50%, -50%);
}

#menu-mobile {
	display: none;
}

@media (max-width: 1440px) {
	body {
		font-size: 8px;
	}

	.button-home {
		font-size: 1.8em;
	}

	#button-enviar {
		padding: 15px 20px;
	}
}

@media (max-width: 1024px) {
	#logo-home {
		top: 20px;
		left: 25px;
	}

	.topo-home {
		top: 40px;
		right: 25px;
	}

	#menu-full {
		display: none;
	}

	#menu-mobile {
		display: block;
		height: 75px;
	}

	#menu-mobile .topo-home {
		color: #000;
	}

	.menu {
		padding-top: 0;
	}

	.padding-140 {
		padding: 0 15px;
	}

	#texto-quem-somos p {
		column-gap: 50px;
	}

	#texto-quem-somos {
		margin: 40px 0;
	}

	.projeto-sobre {
		margin: 55px 0;
	}

	.categoria-projetos {
		margin: 0 40px 30px 40px;
	}

	.button-carregar-mais {
		margin-top: 50px;
	}

	footer {
		padding-top: 50px;
	}

	#barra-abe {
		margin-top: 30px;
	}

	.nome-projeto {
		margin: 10px 0 20px 0;
	}

	.informacoes-projeto {
		padding: 65px 45px;
	}

	.cliente-projeto, .tipologia-projeto {
	    margin-bottom: 50px;
	}

	.imagem-projeto {
	    margin-top: 50px;
	}

	.button-projeto-anterior, .button-projeto-seguinte {
		margin-top: 50px;
	}

	.email {
		margin: 50px 0;
	}
}

@media (max-width: 1023px) and (orientation: portrait) {
	.categoria-projetos {
	    font-size: 1em;
	    margin: 0 5px 0px 5px;
	}
}

@media (max-width: 991px) {
	#logo-home img {
		width: 50%;
	}

	.topo-home {
		top: 30px;
	}

	.lingua-home {
	    margin: 0 30px;
	}

	#close-menu {
		top: 20px;
		left: 20px;
	}

	.w3-button {
		margin: 10px 0;
	}

	.menu {
		padding-bottom: 5px;
	}
}

@media (max-width: 767px) {
	footer {
		font-size: 1.2em;
	}

	.margin-left-address {
	    margin-left: 12px;
	}

	.projeto-sobre {
	    margin: 35px 0;
	}

	.projeto-sobre img {
	    margin-bottom: 15px;
	}

	.text-overlay {
		font-size: 3em;
	}

	.descricao-projeto {
		margin-top: 30px;
	}

	.share-projeto {
		position: relative;
		margin-top: 20px;
	}

	#label-rgpd {
		float: right;
    	width: 98%;
	}

	.col-md-3, .col-md-5, .col-md-6, .col-md-7, .col-md-12 {
		padding: 0;
	}
}

#footer-mobile {
	display: none;
}

@media (max-width: 649px) {
	.categoria-projetos {
	    margin: 0 25px 30px 25px;
	}

	footer {
		font-size: 1.1em;
	}
}

@media (max-width: 575px) {
	#footer-full {
		display: none;
	}

	#footer-mobile {
		display: block;
	}

	.margin-left-address {
	    margin-left: 0;
	}

	.titulo-footer {
		margin-top: 20px;
	    top: inherit;
	    -webkit-transform: unset;
	    -ms-transform: unset;
	    transform: unset;
	}

	footer {
		font-size: 1.4em;
	}
}

@media (max-width: 529px) {
	.categoria-projetos {
	    margin: 0 5px 30px 5px;
	}
}

@media (max-width: 479px) {
	.w3-sidebar {
		width: 100vw;
	}

	.topo-home {
		font-size: 18px;
	}

	.w3-button {
	    margin: 40px 0;
	}

	#texto-quem-somos p {
		column-count: 1;
	}

	.projeto-sobre {
	    margin: 20px 0;
	    font-size: 1.7em;
	}

	.projeto-sobre img {
		width: 40%
	}

	#section-equipa {
		margin-top: 40px;
	}

	.imagem-projeto {
	    margin-top: 30px;
	}

	.button-projeto-anterior, .button-projeto-seguinte {
		font-size: 1.5em;
	}

	#label-rgpd {
	    width: 96%;
	    text-align: justify;
	}
}

@media (max-width: 369px) {
	.categoria-projetos {
	    font-size: 1em;
	    margin: 0 5px 0px 5px;
	}
}

@media (max-width: 335px) {
	.categoria-projetos {
		margin: 0;
	}
}

@media (max-width: 320px) {
	#label-rgpd {
	    width: 95%;
	}
}