@font-face {
  font-family: "Unica77LLB";
  font-style: normal;
  font-weight: normal;
  src: url("fonts/Unica77LL-Bold.woff") format("woff"), url("fonts/Unica77LL-Bold.woff2") format("woff2"); }

@font-face {
  font-family: "Unica77LLBI";
  font-style: normal;
  font-weight: normal;
  src: url("fonts/Unica77LL-BoldItalic.woff") format("woff"), url("fonts/Unica77LL-BoldItalic.woff2") format("woff2"); }

body, html {
  font-family: "Unica77LLB";
  color: #222222;
  -webkit-text-size-adjust: 100%;
  margin: 0;
  padding: 0;
  border: none;
  font-size: 13px;
  -webkit-font-smoothing: antialiased; }

a {
  color: inherit;
  text-decoration: none; }

a:hover {
  text-decoration: none; }

::-webkit-input-placeholder {
  /* WebKit, Blink, Edge */
  color: #000; }

:-moz-placeholder {
  /* Mozilla Firefox 4 to 18 */
  color: #000;
  opacity: 1; }

::-moz-placeholder {
  /* Mozilla Firefox 19+ */
  color: #000;
  opacity: 1; }

:-ms-input-placeholder {
  /* Internet Explorer 10-11 */
  color: #000; }

.italic, em {
  font-style: normal;
  font-family: "Unica77LLB" !important; }

.left {
  float: left; }

.right {
  float: right; }

.clear {
  clear: both; }

.relative {
  position: relative; }

.acenter {
  text-align: center; }

input, textarea, select {
  outline: none; }

.vertical-align {
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%); }

#main {
  width: 100%;
  position: relative; }

#cookie_accept {
  text-decoration: underline; }

.titulo {
  font-size: 26px;
  line-height: 30px; }

header {
  position: fixed;
  top: 0px;
  height: 100px;
  width: 100%;
  background-color: #fff;
  z-index: 19000; }
  header.fixed {
    position: fixed;
    top: 0px;
    background-color: #fff;
    z-index: 99999; }
    @media only screen and (max-width: 767px) {
      header.fixed {
        position: relative; } }
  header
h1 {
    padding-left: 30px;
    font-size: 26px;
    padding-top: 30px;
    position: relative;
    z-index: 99999;
    text-transform: uppercase; }
    @media only screen and (max-width: 767px) {
      header
h1 {
        width: auto;
        font-size: 26px;
        padding-top: 25px; } }
  header
.coluna-c {
    padding-top: 30px; }
  header
.subtitulo_header {
    margin-right: 150px; }
    @media only screen and (max-width: 1023px) {
      header
.subtitulo_header {
        display: none; } }
  header
nav {
    display: inline-block; }
    @media only screen and (max-width: 767px) {
      header
nav {
        margin-left: 0px;
        position: absolute;
        background-color: #fff;
        width: 100%;
        top: 0px;
        padding-top: 0px;
        height: 100vh;
        z-index: 9999;
        display: none;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        padding-left: 0px; } }
    header
nav
ul {
      margin: 0;
      padding: 0;
      display: inline-block; }
      @media only screen and (max-width: 1023px) {
        header
nav
ul {
          padding-top: 10px; } }
      @media only screen and (max-width: 767px) {
        header
nav
ul {
          padding-top: 150px; } }
      header
nav
ul
li {
        list-style: none;
        font-size: 13px;
        margin-left: 100px;
        display: inline-block;
        padding-bottom: 2px;
        font-family: "Unica77LLB"; }
        header
nav
ul
li
p {
          display: inline-block;
          border-bottom: solid 1px #fff;
          transition: border-color 0.35s linear; }
        @media only screen and (max-width: 767px) {
          header
nav
ul
li {
            margin-left: 0px;
            display: block;
            height: 40px;
            font-size: 26px; } }
        header
nav
ul
li:first-child {
          margin-left: 0px; }
        header
nav
ul
li:hover
p
, header
nav
ul
li.sel
p {
          font-family: "Unica77LLBI"; }
  @media only screen and (max-width: 767px) {
    header
.coluna-w {
      width: 170px !important; }
    header
.coluna-c {
      width: 100% !important;
      padding-right: 0px !important;
      padding-left: 30px !important; } }

.coluna-w {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  width: 170px; }

.coluna-c {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  width: calc(100% - 170px); }

.coluna-pad-left {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  margin-left: 170px; }

@media only screen and (max-width: 767px) {
  section
.coluna-w {
    width: 100%;
    padding-bottom: 20px; } }

@media only screen and (max-width: 767px) {
  section
.coluna-c {
    width: 100%;
    padding-left: 30px;
    padding-right: 30px; } }

section.content {
  padding-top: 130px; }
  @media only screen and (max-width: 767px) {
    section.content {
      padding-top: 0px; } }

section#wrap_info
aside {
  width: 300px;
  position: fixed;
  line-height: 16px;
  left: 930px; }
  section#wrap_info
aside
a {
    text-decoration: underline; }
  @media only screen and (max-width: 1180px) {
    section#wrap_info
aside {
      left: 795px; } }
  @media only screen and (max-width: 1023px) {
    section#wrap_info
aside {
      left: auto;
      width: 100%;
      position: relative;
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      box-sizing: border-box;
      margin-bottom: 50px; } }

section#wrap_info
.conteudo {
  width: 100%;
  max-width: 530px;
  padding-bottom: 100px; }
  @media only screen and (max-width: 767px) {
    section#wrap_info
.conteudo {
      width: 100%;
      -moz-box-sizing: border-box;
      box-sizing: border-box;
      padding-left: 30px;
      padding-right: 30px;
      margin-left: 0px; } }

section#wrap_info
.item {
  margin-top: 30px; }
  section#wrap_info
.item
.img_item {
    margin-bottom: 30px; }
    section#wrap_info
.item
.img_item
img {
      max-width: 100%;
      height: auto;
      display: block; }

section#wrap_news {
  padding-bottom: 50px;
  /*
		
		.texto
		{
			font-size: $font-titulo!important;
			line-height: 30px;
		}
*/ }
  section#wrap_news
article {
    margin-top: 20px;
    position: relative;
    z-index: 200;
    cursor: default; }
    section#wrap_news
article
h2 {
      position: relative;
      z-index: 200; }
    section#wrap_news
article:first-child {
      margin-top: 0px; }
  section#wrap_news
aside {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding-left: 30px;
    min-height: 1px; }
    @media only screen and (max-width: 767px) {
      section#wrap_news
aside.no-data {
        display: none; } }
  section#wrap_news
.conteudo {
    position: relative;
    width: 50%;
    max-width: 530px; }
    @media only screen and (max-width: 767px) {
      section#wrap_news
.conteudo {
        width: 100%;
        margin-left: 0px; } }
    @media only screen and (max-width: 1180px) {
      section#wrap_news
.conteudo {
        width: 70%; } }
    @media only screen and (max-width: 1023px) {
      section#wrap_news
.conteudo {
        width: calc(100% - 30px); } }
  section#wrap_news
.item {
    margin-top: 50px; }
  section#wrap_news
.img_follow {
    position: absolute;
    top: 0px;
    max-width: 300px;
    display: none;
    z-index: 100; }
    @media only screen and (max-width: 767px) {
      section#wrap_news
.img_follow {
        max-width: 150px; } }

section#wrap_projects {
  padding-left: 30px;
  padding-right: 30px; }
  section#wrap_projects
.list_projects {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
    font-size: 0px;
    margin-bottom: 50px; }
    section#wrap_projects
.list_projects
li {
      list-style: none;
      display: inline-block;
      font-size: 13px;
      margin-bottom: 50px;
      margin-right: 50px;
      width: calc((100% - (4 * 50px)) / 5); }
      section#wrap_projects
.list_projects
li:nth-child(5n + 5) {
        margin-right: 0px; }
        @media only screen and (min-width: 1441px) {
          section#wrap_projects
.list_projects
li:nth-child(5n + 5) {
            margin-right: 50px; } }
        @media only screen and (max-width: 1280px) {
          section#wrap_projects
.list_projects
li:nth-child(5n + 5) {
            margin-right: 50px; } }
      @media only screen and (max-width: 767px) {
        section#wrap_projects
.list_projects
li {
          width: calc((100% - (1 * 50px)) / 2); }
          section#wrap_projects
.list_projects
li:nth-child(2n + 2) {
            margin-right: 0px; } }
      @media only screen and (min-width: 768px) and (max-width: 1023px) {
        section#wrap_projects
.list_projects
li {
          width: calc((100% - (2 * 50px)) / 3); }
          section#wrap_projects
.list_projects
li:nth-child(3n + 3) {
            margin-right: 0px; } }
      @media only screen and (min-width: 1024px) and (max-width: 1280px) {
        section#wrap_projects
.list_projects
li {
          width: calc((100% - (3 * 50px)) / 4); }
          section#wrap_projects
.list_projects
li:nth-child(4n + 4) {
            margin-right: 0px; } }
      @media only screen and (min-width: 1441px) and (max-width: 1919px) {
        section#wrap_projects
.list_projects
li {
          width: calc((100% - (5 * 50px)) / 6); }
          section#wrap_projects
.list_projects
li:nth-child(6n + 6) {
            margin-right: 0px; } }
      @media only screen and (min-width: 1920px) {
        section#wrap_projects
.list_projects
li {
          width: calc((100% - (6 * 50px)) / 7); }
          section#wrap_projects
.list_projects
li:nth-child(6n + 6) {
            margin-right: 50px; }
          section#wrap_projects
.list_projects
li:nth-child(7n + 7) {
            margin-right: 0px; } }
      @media only screen and (max-width: 400px) {
        section#wrap_projects
.list_projects
li {
          width: 100%;
          margin-left: 0px !important;
          margin-right: 0px !important; } }
      section#wrap_projects
.list_projects
li
.container {
        width: 100%;
        padding-bottom: 100%;
        height: 0px;
        text-align: center;
        position: relative; }
        section#wrap_projects
.list_projects
li
.container
h2 {
          margin-top: 8px;
          visibility: hidden;
          transition: visibility 0s linear, opacity 0.5s linear;
          font-family: "Unica77LLB";
          width: 90%;
          text-align: left; }
          @media only screen and (max-width: 767px) {
            section#wrap_projects
.list_projects
li
.container
h2 {
              line-height: 15px; } }
        section#wrap_projects
.list_projects
li
.container:hover
h2 {
          visibility: visible;
          opacity: 1; }
      section#wrap_projects
.list_projects
li
.wrapper {
        position: relative;
        top: 50%;
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
        position: absolute;
        width: 100%; }
        section#wrap_projects
.list_projects
li
.wrapper
.wrapper-inner {
          margin-left: auto;
          margin-right: auto; }
          section#wrap_projects
.list_projects
li
.wrapper
.wrapper-inner.vertical {
            max-width: 65%; }
            @media only screen and (max-width: 400px) {
              section#wrap_projects
.list_projects
li
.wrapper
.wrapper-inner.vertical {
                width: 65%; } }
      section#wrap_projects
.list_projects
li
.img {
        max-width: 100%;
        height: auto;
        margin: 0 auto; }
        @media only screen and (max-width: 400px) {
          section#wrap_projects
.list_projects
li
.img {
            max-width: 100%; } }
  section#wrap_projects.detalhe_projecto {
    padding-left: 0px;
    padding-right: 0px; }
    section#wrap_projects.detalhe_projecto
.pt30 {
      padding-top: 30px; }
      @media only screen and (max-width: 767px) {
        section#wrap_projects.detalhe_projecto
.pt30 {
          padding-top: 10px; } }
    section#wrap_projects.detalhe_projecto
.content {
      padding-bottom: 50px;
      /*
				@media only screen and (min-width:1024px) and (max-width:1440px)
				{
					margin-left: calc(170px - 100px);
					margin-right: calc(170px - 100px);
				}
				
				@media only screen and (min-width:768px) and (max-width:1023px)
				{
					margin-left: calc(170px - 150px);
					margin-right: calc(170px - 150px);
				}
				
				@media only screen and (max-width:767px)
				{
					margin-left: $margem_conteudo;
					margin-right: $margem_conteudo;
				}
*/ }
      section#wrap_projects.detalhe_projecto
.content
h2 {
        font-family: "Unica77LLB";
        padding-left: 30px;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        padding-right: 20px; }
      section#wrap_projects.detalhe_projecto
.content
nav {
        margin-top: 8px;
        font-family: "Unica77LLBI";
        text-align: right; }
      section#wrap_projects.detalhe_projecto
.content
.details {
        /* display: none; */
        width: 100%;
        max-width: 530px; }
        section#wrap_projects.detalhe_projecto
.content
.details
.pt100 {
          padding-top: 70px; }
        section#wrap_projects.detalhe_projecto
.content
.details
.pt50 {
          padding-top: 50px; }
        section#wrap_projects.detalhe_projecto
.content
.details
.ficheiros {
          margin: 0px;
          padding: 0px;
          margin-top: 50px; }
          section#wrap_projects.detalhe_projecto
.content
.details
.ficheiros
li {
            list-style: none;
            line-height: 18px; }
            section#wrap_projects.detalhe_projecto
.content
.details
.ficheiros
li
a {
              text-decoration: underline; }

section
.texto {
  font-size: 13px;
  line-height: 18px; }
  section
.texto em, section
.texto
i {
    font-style: normal;
    font-family: "Unica77LLBI"; }
  section
.texto .bold, section
.texto strong, section
.texto
b {
    font-weight: normal;
    font-family: "Unica77LLB"; }

.loader {
  position: fixed;
  width: 100%;
  height: 100%;
  background-color: #fff;
  top: 0px;
  left: 0px;
  z-index: 99999;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' style='margin: auto%3B background-color: rgb(255 255 255)%3B display: block%3B shape-rendering: auto%3B' width='80px' height='80px' viewBox='0 0 100 100' preserveAspectRatio='xMidYMid'%3E%3Cpath d='M10 50A40 40 0 0 0 90 50A40 42 0 0 1 10 50' fill='%23000000' stroke='none'%3E%3CanimateTransform attributeName='transform' type='rotate' dur='1s' repeatCount='indefinite' keyTimes='0%3B1' values='0 50 51%3B360 50 51'%3E%3C/animateTransform%3E%3C/path%3E%3C/svg%3E");
  background-position: center center;
  background-repeat: no-repeat; }

.under {
  min-height: 20px;
  background-color: #eee;
  text-align: center;
  line-height: 20px;
  font-size: 10px;
  display: none;
  position: fixed;
  z-index: 999999;
  width: 100%; }

.home_text_size {
  height: calc( 130px / 2);
  margin-left: 170px;
  margin-right: 170px;
  /*
@media only screen and (min-width:1441px) and (max-width:1920px)
	{
		height: calc(130px + 130px);
	}
	
	@media only screen and (min-width:1921px)
	{
		height: calc(130px + 130px);
	}
	
	@media only screen and (min-width:1024px) and (max-width:1440px)
	{
		margin-left: calc(170px - 100px);
		margin-right: calc(170px - 100px);
	}
	
	@media only screen and (min-width:768px) and (max-width:1023px)
	{
		margin-left: calc(170px - 150px);
		margin-right: calc(170px - 150px);
	}
*/ }
  @media only screen and (max-width: 767px) {
    .home_text_size {
      margin-left: 30px;
      margin-right: 30px; } }
  .home_text_size
.home_text_inner {
    padding-top: 20px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box; }
    .home_text_size
.home_text_inner
p.texto {
      width: calc(100% - 90px); }
    .home_text_size
.home_text_inner
p.link {
      width: 90px;
      text-align: right;
      text-decoration: underline; }

.flexslider_home {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding-top: 130px;
  height: calc(100vh - (.5 * 130px));
  overflow: hidden; }
  @media only screen and (min-width: 1441px) and (max-width: 1920px) {
    .flexslider_home {
      padding-top: calc(130px);
      height: calc(100vh - (.5 * 130px)); } }
  @media only screen and (min-width: 1921px) {
    .flexslider_home {
      padding-top: calc(130px);
      height: calc(100vh - (.5 * 130px)); } }
  @media only screen and (max-width: 767px) {
    .flexslider_home {
      padding-top: 100px;
      height: calc(100vh - (0.5 * 100px + 0px)); } }
  .flexslider_home.project {
    padding-top: 100px; }
    @media only screen and (min-width: 1441px) and (max-width: 1920px) {
      .flexslider_home.project {
        padding-top: calc(100px); } }
    @media only screen and (min-width: 1921px) {
      .flexslider_home.project {
        padding-top: calc(100px); } }
    @media only screen and (max-width: 767px) {
      .flexslider_home.project {
        padding-top: 0px; } }
  .flexslider_home
.container {
    margin-left: 170px;
    margin-right: 170px;
    height: 100%;
    /*
		@media only screen and (min-width:1024px) and (max-width:1440px)
		{
			margin-left: calc(170px - 100px);
			margin-right: calc(170px - 100px);
		}
		
		@media only screen and (min-width:768px) and (max-width:1023px)
		{
			margin-left: calc(170px - 150px);
			margin-right: calc(170px - 150px);
		}
*/ }
    .flexslider_home
.container.container_resize {
      background-position: center center;
      background-size: contain;
      background-repeat: no-repeat;
      -webkit-transform: translateZ(0); }
      .flexslider_home
.container.container_resize
img {
        object-fit: contain;
        height: 100%;
        width: 100%; }
    @media only screen and (max-width: 767px) {
      .flexslider_home
.container {
        margin-left: 30px;
        margin-right: 30px; } }
  .flexslider_home.nobottommargin {
    padding-bottom: 0px; }
    @media only screen and (max-width: 767px) {
      .flexslider_home.nobottommargin {
        margin-top: 0px; } }

.flexslider_home .flex-viewport, .flexslider_home .slides, .flexslider_home .slides li {
  height: 100%; }

.videoWrapper {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  max-width: 100%;
  padding-top: 25px; }

.videoWrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

.centered_content {
  text-align: center;
  padding-top: 150px; }

.label_ficha_tecnica {
  display: inline-block;
  width: 135px; }
  @media only screen and (max-width: 767px) {
    .label_ficha_tecnica {
      width: 100%;
      margin-top: 10px; } }

.menu_open {
  width: 22px;
  height: 18px;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: .5s ease-in-out;
  -moz-transition: .5s ease-in-out;
  -o-transition: .5s ease-in-out;
  transition: .5s ease-in-out;
  cursor: pointer;
  position: relative;
  z-index: 10000;
  margin-top: 30px;
  margin-right: 30px;
  display: none; }
  @media only screen and (max-width: 767px) {
    .menu_open {
      display: block; } }
  @media only screen and (max-width: 340px) {
    .menu_open {
      margin-top: 25px; } }

.menu_open span {
  display: block;
  position: absolute;
  height: 2px;
  width: 100%;
  background: #000;
  border-radius: 2px;
  opacity: 1;
  left: 0;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: .25s ease-in-out;
  -moz-transition: .25s ease-in-out;
  -o-transition: .25s ease-in-out;
  transition: .25s ease-in-out; }

.menu_open span:nth-child(1) {
  top: 0px; }

.menu_open span:nth-child(2), .menu_open span:nth-child(3) {
  top: 7px; }

.menu_open span:nth-child(3) {
  box-shadow: none; }

.menu_open span:nth-child(4) {
  top: 14px;
  width: 100%; }

.menu_open.open span:nth-child(1) {
  top: 7px;
  width: 0%;
  left: 50%;
  box-shadow: none; }

.menu_open.open span:nth-child(2) {
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg); }

.menu_open.open span:nth-child(3) {
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  transform: rotate(-45deg); }

.menu_open.open span:nth-child(4) {
  top: 7px;
  width: 0%;
  left: 50%;
  box-shadow: none; }

/* fix iOS bug not displaying 100vh correctly */
/* ipad */
@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: landscape) {
  .flexslider_home {
    height: calc(768px - (5 * 0px)); } }

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait) {
  .flexslider_home {
    height: calc(1024px - (5 * 0px)); } }

/* iphone5 */
@media only screen and (min-device-width: 320px) and (max-device-height: 568px) and (orientation: landscape) and (-webkit-device-pixel-ratio: 2) {
  .flexslider_home {
    height: calc(320px - (2 * 0px)); } }

@media only screen and (min-device-width: 320px) and (max-device-height: 568px) and (orientation: portrait) and (-webkit-device-pixel-ratio: 2) {
  .flexslider_home {
    height: calc(568px - (2 * 0px)); } }

/* iPhone 4 */
@media only screen and (min-device-width: 320px) and (max-device-width: 480px) and (orientation: landscape) and (-webkit-min-device-pixel-ratio: 2) {
  .flexslider_home {
    height: calc(320px - (2 * 0px)); } }

@media only screen and (min-device-width: 320px) and (max-device-width: 480px) and (orientation: portrait) and (-webkit-min-device-pixel-ratio: 2) {
  .flexslider_home {
    height: calc(480px - (2 * 0px)); } }
