.owl-controls,
.fx_in,
.fx_in *,
.fx{
  -moz-transition: all 0.2s ease-in-out;
  -webkit-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}

.anim {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

.noeffect{
  -moz-transition: none;
  -webkit-transition: none;
  -o-transition: none;
  transition: none;
}

input,
textarea,
body{
  font-family: 'Source Sans Pro', sans-serif;
  -webkit-font-smoothing: antialiased;
  font-weight: 400;
}

.slab{
  -webkit-font-smoothing: antialiased;
  font-family: 'Roboto Slab', serif;
  font-weight: 400;
}

body,
.dib{
  font-size: 14px;
}

body{
  background: #EFEFEF;
}

.site{
  display: block;
  position: relative;
  overflow-x: hidden;
}

.in{
  max-width: 1200px;
}

.pag_empresa .bt_empresa,
.pag_apoio_comunitario .bt_apoio_comunitario,
.pag_servicos .bt_servicos,
.pag_servico .bt_servicos,
.pag_clientes .bt_clientes,
.pag_portfolio .bt_portfolio,
.pag_portfolio_el .bt_portfolio,
.pag_obra .bt_portfolio,
.pag_produtos .bt_produtos,
.pag_produtos_cat .bt_produtos,
.pag_produtos_fam .bt_produtos,
.pag_produto .bt_produtos,
.pag_informacoes_gerais .bt_informacoes_gerais{
  background: #6025e1;
  color: white;
}

.w_menu{
  height: 60px;
  border-top: 5px solid #6025e1;
  background:white;
}

.menu{
  display: table;
  width: 100%;
}

.menu_logo{
  display: table-cell;
  vertical-align: top;
  width: 20%;
  height: 60px;
}

.menu_logo img{
  height: 60px;
}

.botoes{
  display: table-cell;
  vertical-align: top;
  width: 80%;
  text-align: right;
  height: 60px;
}

.botoes_in{
  display: block;
  font-size: 0px;
  text-align: right;
}

.botao,
.lang,
.login{
  display: inline-block;
  height: 60px;
  font-size: 16px;
  vertical-align: middle;
}

.lang a:hover,
.botao:hover{
  color: #fff;
  background: #6025e1;
}

.login img{
  height: 60px;
  border-right: 1px solid #D1EAD2;
}

.lang{
  border-left: 1px solid #D1EAD2;
  border-right: 1px solid #D1EAD2;
  position: relative;
}

.lang a{
  height: 30px;
  display: block;
  line-height: 30px;
  font-size: 12px;
  text-transform: uppercase;
  width: 30px;
  text-align: center;
  position: relative;
  color: #6025e1;
}

.lang span{
  position: absolute;
  left: 0;
  top: 30px;
  width: 100%;
  height: 1px;
  display: block;
  background: #D1EAD2;
}

.botao{
  line-height: 60px;
  padding: 0px 20px;
  border-left: 1px solid #D1EAD2;
  color: #6025e1;
  text-transform: uppercase;
  font-size: 13px;
}

.w_submenu{
  height: 40px;
  position: relative;
  color: white;
  z-index: 2;
}

.w_imagem{
  height: 190px;
  background-position: top center;
  margin-top: -40px;
}

.pag_homepage .w_imagem{
  height: 350px;
}

.w_imagem h1{
  display: block;
  text-align: center;
  color: white;
  font-weight: 300;
  font-size: 50px;
  text-transform: uppercase;
  height: 190px;
  line-height: 230px;
  overflow: hidden;
}

.tit_centro .w_imagem h1,
.pag_homepage .w_imagem h1{
  line-height: 190px;
}

.w_banner{
  position: relative;
  margin-bottom: 60px;
}

.pag_homepage .w_banner{
  margin-top: -160px;
}

.banner_cx{
  position: relative;
  padding: 15px;
  background: white;
}

.fb_cx{
  display: table;
  width: 100%;
  font-size: 0px;
  background: #6025e1;
}

.fb_img{
  width: 66.66%;
  display: table-cell;
  vertical-align: top;
  position: relative;
}

.fb_txt{
  width: 30.33%;
  display: table-cell;
  vertical-align: top;
  overflow: hidden;
  position: relative;
}

.fb_txt_in{
  padding: 40px 40px 0px 40px;
  font-size: 18px;
  display: block;
  width: auto;
  -moz-box-sizing   : border-box;
  -ms-box-sizing    : border-box;
  -webkit-box-sizing: border-box;
  -khtml-box-sizing : border-box;
  box-sizing        : border-box;
  color: white;
}

.fb_txt h1{
  font-weight: 900;
  text-transform: uppercase;
  font-size: 40px;
  line-height: 40px;
  padding-bottom: 20px;
}

.fb_txt h2{
  line-height: 25px;
}

.owl-controls{
  position: absolute;
  width: 50px;
  height: 100px;
  top: 50%;
  margin-top: -50px;  
  opacity:0;
  -ms-filter:'progid:DXImageTransform.Microsoft.Alpha(Opacity=0)';
  filter:alpha(opacity=0);
  -moz-opacity:0;
  -khtml-opacity:0;
}

.dest_banner .owl-controls{
  left: auto;
  right: 0px;
}

.owl-nav{
  position: relative;
}

.owl-next,
.owl-prev{
  width: 50px;
  height: 50px;
  background: white;
}

.owl-next div{
  background: url('../gfx/setas/banner/d.png') center center no-repeat;
  background-size: 100% 100%;
  width: 50px;
  height: 50px;
}

.owl-prev div{
  background: url('../gfx/setas/banner/e.png') center center no-repeat;
  background-size: 100% 100%;
  width: 50px;
  height: 50px;
}

.owl-next div:hover,
.owl-prev div:hover{
  opacity:0.7;
  -ms-filter:'progid:DXImageTransform.Microsoft.Alpha(Opacity=70)';
  filter:alpha(opacity=70);
  -moz-opacity:0.7;
  -khtml-opacity:0.7;
}

.art_banner:hover > .owl-controls,
.dest_banner:hover > .owl-controls,
.fullbanner:hover > .owl-controls{
  opacity:1;
  -ms-filter:'progid:DXImageTransform.Microsoft.Alpha(Opacity=100)';
  filter:alpha(opacity=100);
  -moz-opacity:1;
  -khtml-opacity:1;
}

.mais{
  position: absolute;
  z-index: 10;
}

.mais.base{
  bottom: 0;
}

.mais.topo{
  top: 0;
}

.mais.esquerda{
  left: 0;
}

.mais.direita{
  right: 0;
}

.mais.branco{
  background: white;
}

.mais.verde{
  background: #6025e1;
}

.mais.cinza{
  background: #EFEFEF;
}

.mais.cinza,
.mais.branco{
  background-image: url('../gfx/mais/v.png');
  background-position: center center;
  background-size: 100%;
}

.mais.verde{
  background-image: url('../gfx/mais/b.png');
  background-position: center center;
  background-size: 100%;
}

.mais.medio{
  width: 50px;
  height: 50px;
}

.mais.pequeno{
  width: 30px;
  height: 30px;
}

.mais.grande{
  width: 60px;
  height: 60px;
}

a:hover .mais.pequeno{
  width: 35px;
  height: 35px;
}

a:hover .mais.medio{
  width: 55px;
  height: 55px;
}

a:hover .mais.grande{
  width: 65px;
  height: 65px;
}


.port ul,
.w_dest_triplo ul{
  margin: 0px -15px;
  display: block;
}

.port_el,
.w_dest_el{
  margin: 15px;
  background: #6025e1;
  position: relative;
}

.port_el{
  background: white;
}

.port_el a,
.w_dest_el a{
  display: block;
  position: relative;
}

.port_img img,
.w_dest_img img{
  width: 100%;
}

.port_txt,
.w_dest_info{
  position: relative;
  display: table;
  width: 100%;
  height: 140px;
  text-align: center;
}
.port_txt div,
.w_dest_info div{
  display: table-cell;
  vertical-align: middle;
  color: white;
}

.port_txt div{
  color: #6025e1;
}

.port_txt div span,
.w_dest_info div span{
  padding: 20px;
  font-size: 22px;
  line-height: 25px;
  text-transform: uppercase;
  font-weight: 700;
  display: block;
}

.port{
  padding: 15px 0px;
}

.w_dest_triplo{
  background: white;
  padding: 50px 0px;
}

.w_bd_boxs{
  margin: 0px -15px;
  position: relative;
  display: block;
}

.w_bd_in{
  margin: 0px 15px;
  background: white;
  padding: 15px 0px;
}

.w_bd_e .w_bd_in{
  padding-left: 15px;
  padding-right: 15px;
  margin-right: 0px;
}
.w_bd_d .w_bd_in{
  padding-right: 15px;
  padding-left: 15px;
  margin-left: 0px;
  overflow: hidden;
  position: relative;
}

.w_bd_banner{
}

.w_banner_dest{
  margin-bottom: 60px;
  overflow-x: hidden;
}

.w_bd_destaque{
  position: absolute;
  left: 15px;
  top: 15px;
  right: 15px;
  bottom: 15px;
  overflow: hidden;
}

.w_bd_destaque img{
  width: 100%;
}

.w_bd_destaque a{
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}

.dest_b img{
  width: 100%;
}

.dest_b_txt{
  position: absolute;
  left: 10px;
  bottom: 10px;
  background: #6025e1;
}

.dest_b_in{
  padding: 20px 20px 30px 20px;
}

.dest_b_txt h1{
  font-size: 22px;
  line-height: 25px;
  color: white;
  text-transform: uppercase;
}

.dest_b_txt a{
  display: block;
  position: relative;
}

.w_dest_cat{
  padding-bottom: 60px;
}

.d_cat_img img{
  width: 100%;
}

.d_cat{
  margin: 0px -15px;
}

.d_cat_et{
  margin: 0px 15px;
}

.d_cat_box{
  background: #555;
}

.d_cat_img,
.d_cat_info{
  vertical-align: middle;
}

.d_cat_info h3{
  padding: 20px;
  text-align: center;
  display: block;
  color: white;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 22px;
  line-height: 25px;
}

.d_cat_et,
.d_cat_et a{
  position: relative;
  display: block;
}

.w_noticias{
  padding: 60px 0px;
}

.w_not_box{
  margin: 0px -5px;
}

.w_not_el a{
  display: block;
  position: relative;
  margin: 0px 5px;
  background: white;
}

.w_not_img img{
  width: 100%;
}

.w_not_img{
  position: relative;
  overflow: hidden;
  height: 100px;
}

.w_not_top{
  height: 50px;
  line-height: 50px;
  margin-left: 15px;
  margin-right: 55px;
  color: #6025e1;
  text-transform: uppercase;
}

.w_not_sep{
  position: relative;
  left: 15px;
  width: 30%;
  height: 2px;
  background: #ccc;
  margin-top: -2px;
}

.w_not_tit{
  height: 54px;
  overflow: hidden;
  margin: 5px 0px;
}

.w_not_tit h4{
  padding: 0px 15px;
  text-transform: uppercase;
  font-size: 16px;
  line-height: 18px;
  color: #777;
}


.w_not_img div{
  display: block;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
}

.w_texto{
  padding: 60px 0px;
  background: white;
}

.w_txt{
  position: relative;
  border: 5px solid #efefef;
  padding: 60px 150px;
  text-align: center;
  color: #888;
  font-size: 16px;
  line-height: 25px;
}

.w_texto a{
  position: relative;
  display: block;
}

.w_txt h1{
  font-size: 30px;
  padding-bottom: 20px;
  line-height: 35px;
}

.w_rp{
  margin: 0px -15px;
}

.rp_col_in{
  margin: 0px 15px;
}

.rp_col_c{
  text-align: center;
}

.rp_col_d{
  text-align: right;
}

.w_rodape{
  padding: 60px 0px;
  border-top: 20px solid #ddd;
  background: white;
}

.grupo{
  color: #555;
  font-size: 20px;
  text-transform: uppercase;
  font-weight: 900;
  display: inline-block;
}

.grupo:hover{
  color: #6025e1;
}

.grupo span{
  display: block;
  font-weight: 300;
}

.qren{
  margin-top: 30px;
  position: relative;
  width: 70%;
}

.qren img{
  width: 100%;
}

.rp_tit{
  font-size: 18px;
  margin-bottom: 10px;
  text-transform: uppercase;
  font-weight: 700;
  color: #6025e1;
}

.rp_sub_tit{
  font-size: 12px;
  padding: 10px;
  color: #777;
}

.rp_sub_tit a{
  color: #777;
  text-decoration: underline;
}

.rp_sub_tit a:hover{
  color: #6025e1;
}

.form_news{
  height: 50px;
  position: relative;
  font-size: 0px;
  border-bottom: 1px solid rgba(0,0,0,0.05);
}

.news_input{
  height: 50px;
  line-height: 50px;
  -moz-box-sizing   : border-box;
  -ms-box-sizing    : border-box;
  -webkit-box-sizing: border-box;
  -khtml-box-sizing : border-box;
  box-sizing        : border-box;
  width: 70%;
  display: inline-block;
  padding: 0px 15px;
  font-size: 14px;
  color: #6025e1;
  border: 1px solid #ddd;
  background: #efefef;
}

.news_input:focus,
.news_input:hover{
  border-color: #6025e1;
  background: #fff;
}

.news_bt{
  height: 50px;
  width: 30%;
  display: inline-block;
  vertical-align: top;
  background: #6025e1;
  color: white;
  font-size: 12px;
  line-height: 50px;
  text-transform: uppercase;
  color: white;
  font-weight: 700;
  cursor: pointer;
}

.news_bt:hover{
  background: #444;
}

.rp_menu a{
  display: inline-block;
  text-transform: uppercase;
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 10px;
  color: #6025e1;
}

.rp_menu a:hover{
  color: #444;
}

.w_copy{
  background: #6025e1;
  padding: 20px 0px;
  text-align: center;
}

.w_copy div{
  text-transform: uppercase;
  color: white;
  font-size: 12px;
  padding-bottom: 15px;
}

.w_copy a{
  opacity:0.5;
  -ms-filter:'progid:DXImageTransform.Microsoft.Alpha(Opacity=50)';
  filter:alpha(opacity=50);
  -moz-opacity:0.5;
  -khtml-opacity:0.5;
}

.w_copy a:hover{
  opacity:1;
  -ms-filter:'progid:DXImageTransform.Microsoft.Alpha(Opacity=100)';
  filter:alpha(opacity=100);
  -moz-opacity:1;
  -khtml-opacity:1;
}

.w_copy a img{
  height: 12px;
}

.resp_top{
  display: none;
}

.wp{
  padding-left: 15px;
  padding-right: 15px;
}

.wp.w_submenu{
  padding: 0px;
}

.w_submenu_cont{
  background: rgba(96, 37, 225, 0.8);
  font-size: 0px;
  text-align: center;
}

.w_submenu .in div,
.w_submenu a{
  display: inline-block;
  height: 40px;
  padding: 0px 20px;
  font-size: 14px;
  text-transform: uppercase;
  color: white;
  line-height: 40px;
  cursor: pointer;
}

.w_submenu .in div:hover,
.w_submenu a:hover{
  background: #6025e1;
}

.w_submenu a.marcado{
  font-weight: 900;
}

.colunas{
  margin: 20px -10px;
  font-size: 0px;
}

.coluna{
  display: inline-block;
  vertical-align: top;
  font-size: 14px;
}

.coluna_in{
  background: white;
  margin: 0px 10px;
}

.art_msg{
  background: #6025e1;
}

.art_msg_in{
  padding: 20px 20px 0px 40px;
}

.art_msg_in span img{
  height: 60px;
}

.art_msg h1{
  font-size: 30px;
  color: white;
  line-height: 35px;
  padding-top: 20px;
  padding-bottom: 10px;
}


.art_txt{
  padding: 40px;
}

.txt{
  font-size: 16px;
  line-height: 25px;
  color: #777;
}

.txt strong{
  font-weight: 700;
  color: #666;
}

.txt em{
  font-style: italic;
  color: #6025e1;
  font-weight: 700;
}

.txt p{
  display: block;
  min-height: 25px;
}

.txt a{
  color: #6025e1;
  font-weight: 900;
  text-decoration: underline;
}

.txt a:hover{
  color: #333;
}

.txt ul{
}

.txt ul li{
  padding-bottom: 10px;
  padding-left: 20px;
  line-height: 20px;
  background-image: url('../gfx/topico.png');
  background-position: top left;
  background-size: 25px;
  background-repeat: no-repeat;
}

.art_files_in{
  padding: 40px;
}

.art_files_tit{
  font-weight: 700;
  font-size: 18px;
  color: #6025e1;
  text-transform: uppercase;
  margin-bottom: 20px;
}

.art_files_in a{
  display: block;
  text-transform: uppercase;
  padding: 5px 0px;
  color: #777;
}

.art_files_in a span{
  padding-right: 10px;
}

.art_files_in a span img{
  height: 10px;
}

.art_files_in a:hover{
  color: #6025e1;
}

.full_arts{
  position: relative;
  margin-bottom: 20px;
}

.full_art{
  margin-top: 20px;
  background: white;
}

.full_art_img{
  position: relative;
}

.full_art_img img{
  width: 100%;
}

.full_art_img h1{
  position: absolute;
  left: 20px;
  top: 20px;
  background: white;
  padding: 10px;
  font-size: 30px;
  text-transform: uppercase;
  font-weight: 300;
  color: #6025e1;
}

.full_art_txt_box{
  padding: 40px 120px;
}

.port_voltar{
  display: block;
  height: 28px;
  line-height: 28px;
  text-transform: uppercase;
  color: white;
  font-size: 16px;
}

.port_voltar_icon{
  display: inline-block;
  padding-right: 20px;
  vertical-align: middle;
}

.port_voltar_icon img{
  width: 15px;
}

.intro_txt{
  padding: 60px 0px;
  background: white;
  text-align: center;
}

.intro_txt .in{
  max-width: 800px;
}

.pag_produtos .intro_txt .in{
  max-width: 1200px;
}

.intro_txt h1{
  font-size: 30px;
  line-height: 35px;
}

.intro_txt h2{
  font-size: 16px;
  line-height: 25px;
  padding-top: 20px;
  color: #777;
}

.w_produtos{
  padding: 10px;
}

.w_produtos ul{
  position: relative;
  display: block;
  margin: 0px -10px;
}

.produto_bt,
.w_produtos ul li a{
  display: block;
  margin: 10px;
  position: relative;
  cursor: pointer;
}

.prod_li_el img{
  width: 100%;
}

.prod_li_txt{
  display: table;
  width: 100%;
  height: 100px;
  background: #555;
}

.prod_li_txt span{
  display: table-cell;
  vertical-align: middle;
  text-align: center;
  padding: 10px;
  color: white;
  text-transform: uppercase;
  font-size: 16px;
  line-height: 18px;
}

.produto_bt:hover > .prod_li_txt,
.w_produtos ul li a:hover > .prod_li_txt{
  background: #6025e1;
}

.w_filtros_tit{
  background: #555;
  padding: 30px 0px;
  text-align: center;
}

.w_filtros_tit .in span,
.w_filtros_tit .in em,
.w_filtros_tit .in div{
  display: inline-block;
  vertical-align: middle;
  font-size: 20px;
  text-transform: uppercase;
  padding: 0px 10px;
  color: white;
}

.w_filtros_tit .in div{
  color: #6025e1;
  font-weight: 700;
}

.w_filtros_tit .in em{
  width: 16px;
  height: 16px;
  background-image: url('../gfx/setas/dupla.png');
  background-size: 16px 16px;
  background-repeat: no-repeat;
  background-position: center;
}

.w_filtros{
  padding: 30px 0px;
  background: white;
}

.filtros_cx{
  font-size: 0px;
  text-align: center;
}

.filtro_label,
.filtro{
  display: inline-block;
  font-size: 14px;
  text-transform: uppercase;
  vertical-align: middle;
  color: #666;
  padding: 0px 15px;
}

.filtro_label{
  color: #999;
}

.filtro{
  cursor: pointer;
}

.filtro:hover{
  color: #222;
}

.filtro.marcado:hover,
.filtro.marcado{
  color: #6025e1;
}

.lb_produto .in{
  max-width: 700px;
}

.lb_rpod_img img{
  max-width: 95%;
}

.lb_prod h1{
  font-size: 25px;
  font-weight: 700;
  color: #6025e1;
  padding-bottom: 20px;
}

.lb_prod_refs h2{
  font-size: 20px;
  font-weight: 300;
  color: #777;
  padding-bottom: 10px;
}

.pag_noticias .w_not_el{
  margin-bottom: 10px;
}

.w_noticias h1{
  font-size: 40px;
  text-align: center;
  font-weight: 700;
  text-transform: uppercase;
  font-weight: 300;
  padding-bottom: 30px;
  color: #777;
}

.not_dlista{
  margin-left: 40px;
}

.not_dlista .w_not_el{
  margin-bottom: 10px;
}

.not_dlista .w_not_top{
  font-size: 13px;
}

.pag_noticia .w333 .coluna_in{
  background: transparent;
}

.not_tit{
  background: #6025e1;
  padding: 20px;
  color: white;
  font-size: 35px;
  line-height: 35px;
  font-weight: 300;
}

.not_txt_data{
  padding-bottom: 10px;
  color: #6025e1;
  text-transform: uppercase;
  font-weight: 700;
}

.pag_contactos .coluna_in{
  padding: 20px;
}

h1.con_tit{
  font-size: 35px;
  font-weight: 300;
  color: #6025e1;
  padding-bottom: 20px;
}

.form{}

.form .linha{
  padding-bottom: 10px;
}

textarea.input,
input.input{
  -moz-box-sizing   : border-box;
  -ms-box-sizing    : border-box;
  -webkit-box-sizing: border-box;
  -khtml-box-sizing : border-box;
  box-sizing        : border-box;
  border: 1px solid rgba(0,0,0,0.1);
  width: 100%;
  padding: 15px;
  font-size: 16px;
  background: rgba(0,0,0,0.02);
}
textarea.input{
  min-height: 200px;
}

textarea.input:hover,
input.input:hover{
  border-color: rgba(0,0,0,0.3);
  background: #fff;
}

textarea.input:focus,
input.input:focus{
  border-color: #6025e1;
  background: #fff;
}

.form_termos{
  font-size: 12px;
  color: #888;
}

.form_termos a{
  color: #777;
  text-decoration: underline;
}

.form_botao{
  padding-top: 10px;
}

.form_bt{
  padding: 15px 20px;
  display: inline-block;
  font-size: 14px;
  text-transform: uppercase;
  color: white;
  -moz-box-sizing   : border-box;
  -ms-box-sizing    : border-box;
  -webkit-box-sizing: border-box;
  -khtml-box-sizing : border-box;
  box-sizing        : border-box;
  background: #6025e1;
  min-width: 120px;
  text-align: center;
  border: 1px solid rgba(0,0,0,0.2);
  cursor: pointer;
}

.form_bt:hover{
  background: #555;
}

.mapa{
  padding: 0px;
}
.mapa iframe{
  width: 100%;
  height: 600px;
}

.resp_in_menu{
  display: none;
}


.w_copy .livro > a{opacity:1;}
.w_copy .livro > a:hover{opacity:0.85;}
.w_copy .livro > a > img{height:45px;}

