*{
  box-sizing: border-box;
}

.mobile{
  display: none;
}

html, body, h1, h2, h3, p{
  margin: 0;
  padding: 0;
  font-weight: normal;
  height:100%;
}

h1, h2, h3, p{
  position: relative;
}

h1{
  font-size: 2.2em;
}

h2{
  font-size: 1.6em;
  font-weight: 600;
  margin-bottom: 0.5em;
}

h3, p, ul li{
  font-size: 14px;
  font-style: normal;
  margin-bottom: 0.5em;
}

/* Header */

header{
  padding: 1em 2em;
  top:0;
  width: 100%;
  padding: 0 4em;
  position: fixed;
  z-index: 999;
}

.logo  img{
	width: 12em;
}

.search label {
	display: none;
}

.webmail a {
	text-decoration: none;
	font-size: 1.1em;
}

.partners img {
	width: 4em;
}

.asterix-ancor,.visCSStop10 {
	display: none ! important;
}

header main:first-of-type {
	width: 100%;
	margin-left: 70%;
	margin-top: 1em;
}

header main:first-of-type div{
	display: inline-block;
}

header main div  {
	margin: 0 1em;
}

header aside {
	display: flex;
}

menu {
	position: relative;
	/*margin-left: 15em;
	margin-top: -3em;*/
}

menu ul li {
	display: inline-block;
	margin: 0 1em;
	font-size: 1.2em;
	color: #000000;
}

menu ul li a {
	display: block;
	text-decoration: none;
	font-weight: 600;
	font-size: 14px;
	font-style: normal;
	text-transform: uppercase;
}

.menu li ul {
	display: none;
	position: relative;
    min-width: 160px;
}

.menu li ul a {
	display: block;
	padding: 0.5em 0;
}

.nav-child {
	font-size: 0.8em ! important;
}

.menu ul li {
	width: 100%;
	margin:0;
}

.menu ul li  a {
	margin-left: 0.7em;
}

.menu li:hover ul {
	-webkit-padding-start: 0;
	display: grid;
	z-index: 10;
	position: fixed;
}

.search{  padding-top: 0;  position: relative;}

.search .button{  width: 1.5em;  position: absolute;  top: 0;  right: 0;}

#mod-search-searchword {	border: 1px solid #ABC489;	border-radius: 3px;}

#banner {	
	margin-top: 8.2em;}

#banner ul{	text-align: center;}

#banner .cameracurrent span {	background: #FFF;}

#banner ul li, #banner .camera_caption > div {	background: #6d6d6d;}

.bt-introtext {
	font-size: 90%;
}

#btcontentslider96, #btcontentslider143 {	width: 70% ! important;	margin-left: auto;	margin-right: auto; padding: 2em auto;}

.bt-cs .bt-extra {	clear: none ! important;}

#titulo_servicos {
	text-align: center;
}

#titulo_servicos .custom h2{
	margin: 0.5em auto;
	width: 5em;
}

#servicos p {
	font-weight: bold;
	margin-top: 0.5em;
}

#servicos img {
	width: 30%;
}

#servicos .custom ul {
	padding: 0;
	list-style-type: none;
}

#servicos .custom ul{
	width: 100%;
	display: table;
}

#servicos .custom ul li {
	display: table-cell;
	width: 20%;
}

#servicos .custom ul li {
	text-align: center;
	padding: 1em 0;
}

/*
#servicos .custom ul{
	display: inline-flex;
	margin: 0;
	padding: 0;
	zoom: 1;
	*display: inline;
}

#servicos .custom ul li {
	float: left;
    padding: 5em 2em;
}
*/
#contactos  div:first-of-type{
	float: left;
	width: 50%;
}

.visforms-form  h1{
	text-align: center;
	width: 50%;
	margin: 1em auto 0 auto;
}

#contactos .custom h1 {
	text-align: center;
	width: 50%;
	margin: 0 auto;
}

.visforms-form label {
	color: #777777;
	font-weight: 600;
	margin-left: 0.3em;
}

.visforms-form .btn {
	padding: 1em 2em;
	font-size: 1em;
	float: left;
	margin-left: 0.2em;
}

#mod-visform1, #mod-visform4{
  padding: 1em;
  padding-right: 0;
  display: flex;
}

#mod-visform1 div, #mod-visform4 div{
	width: 100% ! important;
}

#mod-visform1 fieldset, #mod-visform4 fieldset{
  border: none;
  padding: 0;
  width: 70%;
  margin-left: auto;
  margin-right: auto;
}

#mod-visform1 fieldset div .visCSSinput, #mod-visform4 fieldset .visCSSinput{
	width: 98%;
	margin-left:1%;
	padding: 0.5em 0;
}

#mod-visform1 input::placeholder, #mod-visform1 textarea::placeholder, #mod-visform4 input::placeholder, #mod-visform4 textarea::placeholder  {
	padding: 0.5em;
	font-weight: bold;
}

#mod-visform3.visBtnCon, #mod-visform4 .visBtnCon {
  text-align: left!important;
}

#contactos  div:nth-of-type(2){
	float: right;
	width: 50%;
}

#contactos  div:nth-of-type(2){
	float: right;
	width: 50%;
}

#contactos  div:nth-of-type(2) h1 {
	text-align: center;
	margin-bottom: 1em;
	margin-top: 1em;
}

#titulo_clientes {
	text-align: center;
}

#titulo_clientes .custom h2{
	margin: 0.5em auto;
	width: 5em;
}

#links  div {
	margin-top: 12em;
	margin-left: 1em;
	margin-bottom: 10em;
}

#links h1 {
	width: 10em;
}

#links  div li a{
	text-decoration: none;
}

.intro-title h1 {
	margin-left: 5%;
	margin-top: 1em;
	padding-top: 1em;
}

.evofrontpage-default {
	margin-top: 9em;
}

#sobre {
	margin: 1em auto;
}

#sobre > .intro {
	column-count: 2;
	width: 90%;
	margin: 0em auto;
	padding: 2em 0;
}

#sobre p, #sobre > .intro  h1, #sobre > .intro  ul li {
	margin-bottom: 0.8em;
}

#sobre > .intro img:nth-of-type(2), #sobre > .intro img:nth-of-type(3) {
	width: 7em;
}

#services > div {
	position: relative;
	display: inline-block;
	vertical-align:top;
    width: 48%;
	padding: 1em 0;
}

#equipa > .team ul li img {
	width: 10em;
	-webkit-filter:grayscale(100%);
}

#equipa > .team ul li img:hover {
	-webkit-filter:grayscale(0%);
    transition: 1s;
	cursor: pointer;
}

#equipa  > .team  {
	width: 70%;
	margin: 0 auto;
}

#equipa  > .team  ul{
	margin: 0 auto;
	text-align: center;
}

#equipa  > .team ul li{
	display: inline-block;
	margin: 1em 0.5em;
}

#equipa  > .team  h1 {
	text-align: center;
	margin: 0.5em auto;
	width: 10em;
}

#equipa > .team h3 {
	font-weight: bold;
	padding: 0.7em 0;
	margin-top: -0.2em;
	padding-left: 0.1em;
}

#equipa > .team  a{
	text-decoration: none;
}

#membro {
	display: flex;
	align-items: center;
	width: 80%;
	margin-left: 10%;
}

#membro h2 {
	font-size: initial;
	color: #ABC489;
	border-bottom: 2px solid #ABC489;
}

#membro > div:first-of-type {
	margin: 1em;
}

#membro h3 {
	margin-bottom:1.5em;
}

#membro p {
	margin-top:0.8em;
}


#publicacoes {
	width: 80%;
	margin: 0 auto;
}

#publicacoes .owl-item {
	margin: 5em 0.5em;
}

.imagem {
	width: 100%;
}

.servico {
	margin-left: 2em;
	margin-top: 5em;
}

.servico h1, .servico ul li {
	margin-bottom: 0.8em;
}

article {
	width: 70%;
	margin: 0 auto;
}

article .page-header {
	margin-top: 1em;
}

.evofrontpage-default .head {
	background: #FFF ! important;
	border-radius: 0 ! important;
	box-shadow: none ! important;
}

.evofrontpage-default .head  a {
	text-decoration:none ! important;
}

.evofrontpage-default .title {
	text-transform: none ! important;
	font-size: normal!important;
	font-size: 100% ! important;
	text-decoration: none ! important;
}

.evofrontpage-default .evofp-table-cell-body {
	border-radius: 0 ! important;
	box-shadow: none ! important;
}

.evofrontpage-default .evofp-table-cell p {
	font-size: 100% ! important;
	font-weight: normal ! important;
}

.evofrontpage-default .evofp-table-cell-inner .evofp-img-right{
	box-shadow: none ! important;
}

/* FOOTER */
footer {
	clear: both;
	width: 100%;
	margin: 0 auto;
}
/*
#footer-1 > div{
	float: left;
}*/

#footer-1 {
	width: 100%;
	margin: 0 auto;
}

#footer-1 > div {
	position: relative;
	display: inline-block;
	vertical-align:top;
    width: 33%;
	padding: 1em 0;
}

.category-desc {
	margin-left: 28%;
}

#mod-visform3  fieldset, #mod-visform5 fieldset{
	border: none;
}

#mod-visform3, #mod-visform5{
	width: 80%;
	margin: 0 0 0 25%;
}

#mod-visform3  input, #mod-visform5 input {
	padding: 0.5em 0;
}

.address p{
	margin: 0 0 0.7em auto;
	text-align: center;
}

.social {
	text-align: center;
}

.social img:nth-of-type(2) {
	margin: 0 1em;
}

.partners {
	text-align: center;
	padding-bottom: 1em;
}

#footer-1 .visforms-form  h1{
	display: none;
}

#footer-1 > .social img {
	width: 2em;
}

footer main#footer-2{
	width: 100% ! important;
	padding: 0.5em 0;
	text-align: center;
}
