/* CSS Document */
html{color:#000;}body,div,dl,dt,dd,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{margin:0;padding:0; font-weight:normal; }table{border-collapse:collapse;border-spacing:0;}fieldset,img{border:0;}address,caption,cite,code,dfn,strong,th,var{font-style:normal;}caption,th{text-align:left;}h1,h2,h3,h4,h5,h6{font-size:100%;}q:before,q:after{content:'';}abbr,acronym{border:0;font-variant:normal;}input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;}input,textarea,select{font-size:100%;}legend{color:#000;}del,ins{text-decoration:none;}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { 
    display: block;
}

img, fieldset {
	border: 0;
}


.elmhide { display: none;  }
.clear { clear: both; }
.left { float:left}
.right { float:right}
.aleft { text-align:left}
input, area, textarea, select{ outline:none;}
.relative {position:relative}


/* ===== original impromptuprojects.com styles (cleaned) ===== */
@font-face {
  font-family: "Sans-Regular";
  font-style: normal;
  font-weight: normal;
  src: url("/assets/fonts/Sans-Regular.woff2") format("woff2"), url("/assets/fonts/Sans-Regular.woff") format("woff");
  font-display: swap; }

body, html {
  font-family: "Sans-Regular";
  color: #000000;
  -webkit-text-size-adjust: 100%;
  margin: 0;
  padding: 0;
  border: none;
  font-size: 14px;
  -webkit-font-smoothing: antialiased;
  height: 100%;
  -moz-osx-font-smoothing: grayscale; }
  @media only screen and (max-width: 799px) {
    body, html {
      font-size: 13px; } }

a {
  color: inherit;
  text-decoration: none;
  -moz-transition: color 0.3s ease-out;
  /* WebKit */
  -webkit-transition: color 0.3s ease-out;
  /* Opera */
  -o-transition: color 0.3s ease-out;
  /* Standard */
  transition: color 0.3s ease-out; }

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

::-moz-selection {
  /* Code for Firefox */
  background: #000;
  color: #fff; }

::selection {
  background: #000;
  color: #fff; }

.italic {
  font-style: italic; }

#cookie_msg {
  display: none;
  width: 300px;
  height: 66px;
  position: fixed;
  background-color: rgba(255, 255, 255, 0.75);
  right: 20px;
  bottom: calc( 35px + 20px);
  z-index: 99997;
  font-size: 14px;
  color: #fff;
  line-height: 20px;
  color: #000000;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding-left: 20px;
  padding-right: 40px;
  padding-top: 12px;
  box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.15); }
  @media only screen and (max-width: 799px) {
    #cookie_msg {
      font-size: 13px;
      right: 0px;
      left: 0px;
      width: calc( 100% - (2 * 20px ));
      margin-left: 20px;
      bottom: calc( 40px + 20px); } }
  #cookie_msg
a {
    position: absolute;
    top: 10px;
    right: 15px; }

#main {
  width: 100%;
  position: relative;
  min-height: 100vh; }

header {
  background-color: rgba(255, 255, 255, 0.5);
  border-bottom: solid 1px #000;
  position: fixed;
  width: 100%;
  top: 0px;
  z-index: 9000;
  height: 35px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -moz-transition: all 0.3s ease-out;
  /* WebKit */
  -webkit-transition: all 0.3s ease-out;
  /* Opera */
  -o-transition: all 0.3s ease-out;
  /* Standard */
  transition: all 0.3s ease-out;
  padding-left: 20px;
  padding-right: 20px; }
  @media only screen and (max-width: 799px) {
    header {
      background-color: rgba(255, 255, 255, 0.7);
      height: 40px;
      /*
	    padding-left: $margem_mobile;
	    padding-right: $margem_mobile;
*/
      padding-left: 0px;
      padding-right: 0px;
      overflow-y: hidden;
      overflow-x: scroll;
      -webkit-user-select: none;
      -webkit-overflow-scrolling: touch;
      -ms-overflow-style: none;
      overflow: -moz-scrollbars-none;
      scrollbar-width: none;
      -webkit-user-select: none; }
      header::-webkit-scrollbar {
        display: none;
        height: 0px;
        width: 0px;
        background: transparent; } }
  header
.filtro {
    display: none; }
    @media only screen and (max-width: 799px) {
      header
.filtro {
        display: block;
        background: -webkit-linear-gradient(0deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.8));
        height: 40px;
        position: fixed;
        pointer-events: none;
        right: 0;
        top: 0;
        width: 54px;
        z-index: 2; } }
  header.hide {
    top: -35px; }
    @media only screen and (max-width: 799px) {
      header.hide {
        top: -40px; } }
  header
nav.main {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    font-size: 14px;
    height: 100%; }
    @media only screen and (max-width: 799px) {
      header
nav.main {
        /*
			overflow-x: scroll;
			-webkit-overflow-scrolling: touch;
			-ms-overflow-style: none;
			overflow: -moz-scrollbars-none;
			scrollbar-width: none;
*/
        white-space: nowrap;
        font-size: 13px;
        display: block; } }
    @media only screen and (max-width: 799px) {
      header
nav.main
.categorias {
        line-height: 40px;
        padding-left: 12px;
        padding-right: 12px;
        display: inline-block; }
        header
nav.main
.categorias:first-child {
          padding-left: 20px; }
        header
nav.main
.categorias:last-child {
          padding-right: 20px; } }
    header
nav.main
.categorias
a {
      -moz-transition: opacity 0.3s ease-out;
      /* WebKit */
      -webkit-transition: opacity 0.3s ease-out;
      /* Opera */
      -o-transition: opacity 0.3s ease-out;
      /* Standard */
      transition: opacity 0.3s ease-out; }
      header
nav.main
.categorias
a.link_main {
        position: relative; }
    header
nav.main
.categorias
.nosel {
      opacity: 0.5; }
    header
nav.main
.categorias
.sel {
      opacity: 1; }
      header
nav.main
.categorias
.sel
span::after {
        opacity: 1;
        left: 0px;
        width: 100%;
        content: ' ';
        height: calc(100% - 3px);
        position: absolute;
        border-bottom: solid 1px #000000; }
        @media only screen and (max-width: 799px) {
          header
nav.main
.categorias
.sel
span::after {
            height: auto; } }
    header
nav.main
.categorias
.nohover {
      opacity: 0.5; }
      header
nav.main
.categorias
.nohover
span::after {
        opacity: 0; }
    header
nav.main
.categorias
.hover {
      opacity: 1; }
      header
nav.main
.categorias
.hover
span::after {
        opacity: 1;
        left: 0px;
        width: 100%;
        content: ' ';
        height: calc(100% - 3px);
        position: absolute;
        border-bottom: solid 1px #000000; }
    header
nav.main
.categorias
.submenu {
      -moz-transition: top 0.3s ease-out;
      /* WebKit */
      -webkit-transition: top 0.3s ease-out;
      /* Opera */
      -o-transition: top 0.3s ease-out;
      /* Standard */
      transition: top 0.3s ease-out;
      position: absolute;
      top: 35px;
      width: 100%;
      left: 0px;
      display: none; }
      @media only screen and (max-width: 799px) {
        header
nav.main
.categorias
.submenu {
          top: 40px; } }
      header
nav.main
.categorias
.submenu:before {
        content: "";
        position: absolute;
        width: 100%;
        left: 0px;
        top: -10px;
        height: 29px; }
      header
nav.main
.categorias
.submenu
.submenu-inner {
        background-color: rgba(255, 255, 255, 0.5);
        padding-left: 20px;
        padding-top: 10px;
        padding-bottom: 10px; }
        header
nav.main
.categorias
.submenu
.submenu-inner
nav {
          line-height: 0px; }
          header
nav.main
.categorias
.submenu
.submenu-inner
nav
ul {
            margin: 0;
            padding: 0;
            pointer-events: none;
            display: inline-block; }
            header
nav.main
.categorias
.submenu
.submenu-inner
nav
ul
li {
              list-style: none;
              padding: 0;
              line-height: 20px; }
              header
nav.main
.categorias
.submenu
.submenu-inner
nav
ul
li
span {
                position: relative; }
            header
nav.main
.categorias
.submenu
.submenu-inner
nav
ul > * {
              cursor: pointer;
              pointer-events: auto;
              -moz-transition: opacity 0.3s ease-out;
              /* WebKit */
              -webkit-transition: opacity 0.3s ease-out;
              /* Opera */
              -o-transition: opacity 0.3s ease-out;
              /* Standard */
              transition: opacity 0.3s ease-out; }
            header
nav.main
.categorias
.submenu
.submenu-inner
nav
ul:hover > * {
              opacity: 0.5; }
            header
nav.main
.categorias
.submenu
.submenu-inner
nav
ul:hover > *:hover {
              opacity: 1; }
              header
nav.main
.categorias
.submenu
.submenu-inner
nav
ul:hover > *:hover
span::after {
                left: 0px;
                width: 100%;
                content: ' ';
                height: calc(100% - 3px);
                position: absolute;
                border-bottom: solid 1px #000000; }
      header
nav.main
.categorias
.submenu.category
.submenu-inner {
        background-color: rgba(255, 255, 255, 0.9); }

footer {
  background-color: rgba(255, 255, 255, 0.5);
  border-top: solid 1px #000;
  position: fixed;
  width: 100%;
  bottom: 0px;
  z-index: 9000;
  height: 35px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding-left: 20px;
  padding-right: 20px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  -moz-transition: bottom 0.3s ease-out;
  /* WebKit */
  -webkit-transition: bottom 0.3s ease-out;
  /* Opera */
  -o-transition: bottom 0.3s ease-out;
  /* Standard */
  transition: bottom 0.3s ease-out; }
  @media only screen and (max-width: 799px) {
    footer {
      background-color: rgba(255, 255, 255, 0.7);
      height: 40px;
      padding-left: 20px;
      padding-right: 20px;
      display: inline-block;
      line-height: 40px; } }
  footer
p {
    width: 150px;
    text-align: center; }
    @media only screen and (max-width: 799px) {
      footer
p {
        text-align: left;
        width: auto;
        display: inline-block; } }
    footer
p:last-child {
      text-align: right; }
      @media only screen and (max-width: 799px) {
        footer
p:last-child {
          float: right; } }
    footer
p:first-child {
      text-align: left;
      position: relative;
      margin-top: -3px; }
      @media only screen and (max-width: 799px) {
        footer
p:first-child {
          margin-right: 5px; } }
      footer
p:first-child
img {
        max-width: 100%;
        height: auto;
        display: block;
        position: relative;
        top: 2px; }
        @media only screen and (max-width: 799px) {
          footer
p:first-child
img {
            top: 4px; } }
    footer
p.translate {
      font-family: "PingFang TC", "Hiragino Sans CNS", "Microsoft JhengHei", "Noto Sans TC", sans-serif;
      font-weight: 400;
      font-style: normal;
      letter-spacing: 0.5px;
      font-size: 13px; }
      @media only screen and (max-width: 799px) {
        footer
p.translate {
          display: none; } }
    footer
p.link
a {
      font-size: 14px; }
      @media only screen and (max-width: 799px) {
        footer
p.link
a {
          font-size: 13px; } }
      footer
p.link
a:hover
span {
        position: relative; }
        footer
p.link
a:hover
span::after {
          left: 0px;
          width: 100%;
          content: ' ';
          height: calc(100% - 3px);
          position: absolute;
          border-bottom: solid 1px #000000; }
          @media only screen and (max-width: 799px) {
            footer
p.link
a:hover
span::after {
              opacity: 0; } }
      footer
p.link
a.sel
span {
        position: relative; }
        footer
p.link
a.sel
span::after {
          left: 0px;
          width: 100%;
          content: ' ';
          height: calc(100% - 3px);
          position: absolute;
          border-bottom: solid 1px #000000; }
          @media only screen and (max-width: 799px) {
            footer
p.link
a.sel
span::after {
              opacity: 0; } }
  footer.hide {
    bottom: -35px; }
    @media only screen and (max-width: 799px) {
      footer.hide {
        bottom: -40px; } }

main {
  min-height: 100vh;
  position: relative; }
  main
a {
    text-decoration: none;
    -moz-transition: opacity 0.3s ease-out;
    /* WebKit */
    -webkit-transition: opacity 0.3s ease-out;
    /* Opera */
    -o-transition: opacity 0.3s ease-out;
    /* Standard */
    transition: opacity 0.3s ease-out; }
    main
a:hover {
      opacity: 0.5; }
  main
.home_wrap {
    position: absolute;
    z-index: 900;
    width: 100%;
    height: 100%;
    overflow: hidden; }
    main
.home_wrap .img-desktop, main
.home_wrap
.img-mobile {
      position: absolute;
      width: 100%;
      height: 100%;
      background-position: center center;
      background-repeat: no-repeat;
      background-size: cover; }
      @media only screen and (max-width: 799px) {
        main
.home_wrap .img-desktop, main
.home_wrap
.img-mobile {
          display: none; } }
    main
.home_wrap
.img-mobile {
      display: none; }
      @media only screen and (max-width: 799px) {
        main
.home_wrap
.img-mobile {
          display: block; } }
    main
.home_wrap
h1 {
      position: absolute;
      bottom: calc(35px + 8px);
      left: 20px;
      z-index: 901;
      font-size: 14px;
      -moz-transition: opacity 0.3s ease-out;
      /* WebKit */
      -webkit-transition: opacity 0.3s ease-out;
      /* Opera */
      -o-transition: opacity 0.3s ease-out;
      /* Standard */
      transition: opacity 0.3s ease-out; }
      @media only screen and (max-width: 799px) {
        main
.home_wrap
h1 {
          position: fixed;
          z-index: 9900;
          bottom: calc(40px + 15px);
          left: 20px;
          font-size: 13px; } }
      main
.home_wrap
h1.hide {
        opacity: 0; }
      main
.home_wrap
h1.white {
        color: #fff; }
    main
.home_wrap
.home_img {
      z-index: 905;
      position: fixed;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      display: none;
      max-width: 85%; }
  main#wrap_about {
    padding-bottom: 55px; }
    @media only screen and (max-width: 799px) {
      main#wrap_about {
        padding-bottom: 80px; } }
    main#wrap_about
.contactos_wrap {
      position: fixed;
      bottom: calc(35px + 20px);
      left: 20px;
      width: 25%;
      font-size: 12px;
      line-height: 17px; }
      @media only screen and (max-width: 799px) {
        main#wrap_about
.contactos_wrap {
          width: 100%;
          bottom: auto;
          left: 0px;
          position: relative;
          border-top: solid 1px #000;
          margin-top: 40px;
          padding-top: 40px;
          text-align: center; } }
    main#wrap_about
.about-item {
      width: 50%;
      max-width: 690px;
      margin-left: auto;
      margin-right: auto; }
      @media only screen and (max-width: 799px) {
        main#wrap_about
.about-item {
          width: 100%;
          margin: 0;
          max-width: none;
          padding-left: 20px;
          padding-right: 20px;
          -webkit-box-sizing: border-box;
          -moz-box-sizing: border-box;
          box-sizing: border-box; } }
      main#wrap_about
.about-item
h1 {
        margin-top: 80px;
        text-align: center;
        margin-bottom: 70px;
        font-size: 14px; }
        @media only screen and (max-width: 799px) {
          main#wrap_about
.about-item
h1 {
            font-size: 13px;
            margin-top: 30px;
            margin-bottom: 40px; } }
      main#wrap_about
.about-item
.texto {
        font-size: 18px;
        line-height: 27px;
        /*
				em
				{
					font-style: normal;
					width: 70px;
					display: inline-block;
					
					@media only screen and (max-width: $mobile_size)
					{
						width: 60px;	
					}
				}
*/ }
        @media only screen and (max-width: 799px) {
          main#wrap_about
.about-item
.texto {
            font-size: 16px;
            line-height: 22px; } }
        main#wrap_about
.about-item
.texto
ul {
          margin: 0;
          padding: 0;
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex;
          -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
          main#wrap_about
.about-item
.texto
ul
li {
            list-style: none;
            width: calc(100% - 70px); }
            @media only screen and (max-width: 799px) {
              main#wrap_about
.about-item
.texto
ul
li {
                width: calc(100% - 60px); } }
            main#wrap_about
.about-item
.texto
ul
li:nth-child(odd) {
              width: 70px; }
              @media only screen and (max-width: 799px) {
                main#wrap_about
.about-item
.texto
ul
li:nth-child(odd) {
                  width: 60px; } }
      main#wrap_about
.about-item
.flexslider {
        margin-top: 20vh; }
        @media only screen and (max-width: 799px) {
          main#wrap_about
.about-item
.flexslider {
            margin-top: calc(40px + 20px); } }
        main#wrap_about
.about-item
.flexslider
li
img {
          max-width: 100%;
          height: auto;
          display: block;
          width: 100%; }
  main#wrap_project
.project-item {
    width: 50%;
    max-width: 690px;
    margin-left: auto;
    margin-right: auto;
    padding-bottom: 70px; }
    @media only screen and (max-width: 799px) {
      main#wrap_project
.project-item {
        max-width: none;
        width: 100%;
        margin: 0;
        padding-left: 20px;
        padding-right: 20px;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        padding-bottom: 40px; } }
    @media only screen and (max-width: 799px) {
      main#wrap_project
.project-item
.project-item-inner {
        padding-bottom: 120px; } }
    main#wrap_project
.project-item
h1 {
      margin-top: 160px;
      text-align: center;
      margin-bottom: 30px;
      font-size: 18px; }
      @media only screen and (max-width: 799px) {
        main#wrap_project
.project-item
h1 {
          margin-top: 60px;
          font-size: 16px;
          line-height: 22px;
          text-align: left; } }
    main#wrap_project
.project-item
.texto {
      font-size: 18px;
      line-height: 27px; }
      @media only screen and (max-width: 799px) {
        main#wrap_project
.project-item
.texto {
          font-size: 16px;
          line-height: 22px; } }
    main#wrap_project
.project-item
.assinatura {
      font-size: 16px;
      line-height: 24px;
      opacity: 0.5;
      margin-top: 50px; }
      @media only screen and (max-width: 799px) {
        main#wrap_project
.project-item
.assinatura {
          margin-top: 25px; } }
    @media only screen and (max-width: 799px) {
      main#wrap_project
.project-item
.navegador {
        padding-left: 0px;
        padding-right: 0px; } }
  main#wrap_project
.flexslider {
    margin-top: 60px;
    margin-bottom: 50px;
    width: 65%;
    margin-left: auto;
    margin-right: auto; }
    @media only screen and (max-width: 799px) {
      main#wrap_project
.flexslider {
        width: 100%;
        max-width: 500px; } }
    main#wrap_project
.flexslider
li
img {
      width: 100%;
      max-width: 100%;
      height: auto;
      display: block; }
    main#wrap_project
.flexslider
.contador {
      font-size: 12px;
      text-align: center;
      margin: 10px; }
  main#wrap_project
.project_imagem {
    position: absolute;
    width: 100%;
    height: 100%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box; }
    @media only screen and (max-width: 799px) {
      main#wrap_project
.project_imagem {
        position: relative;
        height: auto;
        padding-bottom: 40px; } }
    main#wrap_project
.project_imagem .footer {
      position: absolute;
      width: 100%;
      height: 35px;
      line-height: 35px;
      bottom: 35px;
      -moz-transition: height, background-color 0.3s ease-out;
      /* WebKit */
      -webkit-transition: height, background-color 0.3s ease-out;
      /* Opera */
      -o-transition: height, background-color 0.3s ease-out;
      /* Standard */
      transition: height, background-color 0.3s ease-out;
      overflow: hidden;
      z-index: 901; }
      @media only screen and (max-width: 799px) {
        main#wrap_project
.project_imagem .footer {
          height: 40px;
          line-height: 16px;
          bottom: 40px;
          position: relative;
          height: auto;
          bottom: auto;
          transform: translate(0%, 0%);
          text-align: left;
          overflow: auto; } }
      main#wrap_project
.project_imagem .footer
.footer-inner {
        padding-bottom: 20px; }
      main#wrap_project
.project_imagem .footer.open {
        background-color: rgba(255, 255, 255, 0.9);
        box-shadow: 0 0 5px 1px rgba(0, 0, 0, 0.03);
        border-top: solid 1px #e2e2e2; }
        @media only screen and (max-width: 799px) {
          main#wrap_project
.project_imagem .footer.open {
            background-color: transparent;
            border-top: none; } }
      main#wrap_project
.project_imagem .footer
h1 {
        padding-left: 20px; }
        @media only screen and (max-width: 799px) {
          main#wrap_project
.project_imagem .footer
h1 {
            padding-left: 20px;
            margin-top: 55px; }
            main#wrap_project
.project_imagem .footer
h1 .sep {
              display: none; }
            main#wrap_project
.project_imagem .footer
h1
.subtitulo {
              display: block; } }
      main#wrap_project
.project_imagem .footer
a.open {
        right: 20px;
        opacity: 0.5;
        position: absolute;
        bottom: 0px; }
        @media only screen and (max-width: 799px) {
          main#wrap_project
.project_imagem .footer
a.open {
            right: 20px;
            bottom: auto;
            top: 55px; } }
        main#wrap_project
.project_imagem .footer
a.open:hover {
          opacity: 1; }
      main#wrap_project
.project_imagem .footer
.texto {
        line-height: 19px;
        padding-left: 20px;
        max-width: 900px;
        margin-right: 60px; }
        @media only screen and (max-width: 799px) {
          main#wrap_project
.project_imagem .footer
.texto {
            margin-right: 20px;
            padding-left: 20px;
            opacity: 0.5;
            line-height: 16px;
            max-width: 100%; }
            main#wrap_project
.project_imagem .footer
.texto:first-child {
              margin-top: 40px; } }
        main#wrap_project
.project_imagem .footer
.texto.margin {
          padding-top: 1px; }
        main#wrap_project
.project_imagem .footer
.texto.full {
          margin-top: 20px;
          opacity: 0.75; }
          @media only screen and (max-width: 799px) {
            main#wrap_project
.project_imagem .footer
.texto.full {
              display: none; } }
      main#wrap_project
.project_imagem .footer
.ficha_tecnica {
        font-size: 12px;
        line-height: 16px;
        padding-top: 10px;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        padding-right: 20px; }
        @media only screen and (max-width: 799px) {
          main#wrap_project
.project_imagem .footer
.ficha_tecnica {
            padding-top: 20px;
            font-size: 13px;
            padding-right: 20px;
            -moz-transition: opacity 0.3s ease-out;
            /* WebKit */
            -webkit-transition: opacity 0.3s ease-out;
            /* Opera */
            -o-transition: opacity 0.3s ease-out;
            /* Standard */
            transition: opacity 0.3s ease-out;
            padding-right: 20px;
            padding-left: 20px;
            display: none;
            -webkit-box-sizing: border-box;
            -moz-box-sizing: border-box;
            box-sizing: border-box; }
            main#wrap_project
.project_imagem .footer
.ficha_tecnica.nomarg {
              margin-top: 20px;
              border-top: solid 1px #000000; } }
        main#wrap_project
.project_imagem .footer
.ficha_tecnica
em {
          opacity: 0.5;
          font-style: normal; }
      main#wrap_project
.project_imagem .footer
.details {
        opacity: 0;
        -moz-transition: opacity 0.3s ease-out;
        /* WebKit */
        -webkit-transition: opacity 0.3s ease-out;
        /* Opera */
        -o-transition: opacity 0.3s ease-out;
        /* Standard */
        transition: opacity 0.3s ease-out; }
        @media only screen and (max-width: 799px) {
          main#wrap_project
.project_imagem .footer
.details {
            opacity: 1; } }
        main#wrap_project
.project_imagem .footer
.details.open {
          opacity: 1; }
          @media only screen and (max-width: 799px) {
            main#wrap_project
.project_imagem .footer
.details.open
.ficha_tecnica {
              display: block; } }
      main#wrap_project
.project_imagem .footer
.contador {
        position: absolute;
        left: 50%;
        transform: translate(-50%, 0%);
        font-size: 10px; }
        main#wrap_project
.project_imagem .footer
.contador.open {
          display: none; }
        @media only screen and (max-width: 799px) {
          main#wrap_project
.project_imagem .footer
.contador {
            display: none; } }
    main#wrap_project
.project_imagem
.col {
      width: 50%; }
      @media only screen and (max-width: 799px) {
        main#wrap_project
.project_imagem
.col {
          width: 100%; } }
    main#wrap_project
.project_imagem
.project-image-flexslider {
      width: 100%;
      height: calc(100% - (4 * 35px));
      margin: 0;
      margin-top: calc(2 * 35px); }
      @media only screen and (max-width: 799px) {
        main#wrap_project
.project_imagem
.project-image-flexslider {
          height: auto;
          padding-left: 20px;
          padding-right: 20px;
          -webkit-box-sizing: border-box;
          -moz-box-sizing: border-box;
          box-sizing: border-box;
          margin-top: 0px; } }
      main#wrap_project
.project_imagem
.project-image-flexslider
.slides {
        width: 100%;
        height: 100%; }
        main#wrap_project
.project_imagem
.project-image-flexslider
.slides
li {
          position: relative;
          overflow: hidden; }
          @media only screen and (max-width: 799px) {
            main#wrap_project
.project_imagem
.project-image-flexslider
.slides
li {
              overflow: auto;
              margin-bottom: 22px; }
              main#wrap_project
.project_imagem
.project-image-flexslider
.slides
li:last-child {
                margin-bottom: 0px; } }
          main#wrap_project
.project_imagem
.project-image-flexslider
.slides
li
img {
            max-width: 100%;
            max-height: 100%;
            display: block;
            object-fit: contain;
            top: 50%;
            position: absolute;
            transform: translate(0%, -50%); }
            @media only screen and (max-width: 799px) {
              main#wrap_project
.project_imagem
.project-image-flexslider
.slides
li
img {
                max-height: none;
                top: auto;
                position: relative;
                transform: translate(0%, 0%);
                width: 100%; } }
          main#wrap_project
.project_imagem
.project-image-flexslider
.slides
li
.videoWrapper {
            position: relative;
            padding-bottom: calc( 100vh - (4 * 35px));
            /* 16:9 */
            height: 0;
            max-width: 80%;
            margin-left: auto;
            margin-right: auto;
            z-index: 901; }
            @media only screen and (max-width: 799px) {
              main#wrap_project
.project_imagem
.project-image-flexslider
.slides
li
.videoWrapper {
                padding-bottom: 56.25%;
                /* 16:9 */
                max-width: 100%; } }
      main#wrap_project
.project_imagem
.project-image-flexslider
.contador {
        display: none; }
  main#wrap_project
.navegador {
    display: none; }
    @media only screen and (max-width: 799px) {
      main#wrap_project
.navegador {
        line-height: 20px;
        display: block;
        min-height: 20px;
        padding-left: 20px;
        padding-right: 20px;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        position: relative; }
        main#wrap_project
.navegador
a {
          height: 35px;
          line-height: 40px; } }
  @media only screen and (max-width: 799px) {
    main#wrap_category {
      padding-bottom: 80px; } }
  main#wrap_category
section {
    height: 100vh; }
    @media only screen and (max-width: 799px) {
      main#wrap_category
section {
        height: calc(100vh - 80px); } }
    main#wrap_category
section.stuck {
      background-color: #fff; }
      main#wrap_category
section.stuck
.section-inner .border {
        border-color: transparent;
        box-shadow: 0 0 5 1px transparent; }
    main#wrap_category
section
.section-inner {
      height: 100%;
      position: relative; }
      main#wrap_category
section
.section-inner
.back {
        margin-top: 35px;
        background-color: rgba(255, 255, 255, 0.75);
        height: 100%; }
      main#wrap_category
section
.section-inner
.border {
        position: relative;
        top: 35px;
        box-shadow: 0 0 5px 1px rgba(0, 0, 0, 0.03);
        border-top: solid 1px #e2e2e2; }
    main#wrap_category
section
.header {
      position: absolute;
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      box-sizing: border-box;
      width: 100%;
      padding-left: 20px;
      padding-right: 20px;
      top: calc( 35px + 10px); }
      @media only screen and (max-width: 799px) {
        main#wrap_category
section
.header {
          padding-left: 20px;
          padding-right: 20px;
          top: calc( 40px + 15px); } }
      main#wrap_category
section
.header
h1 {
        float: left;
        font-size: 14px;
        width: 25%; }
        @media only screen and (max-width: 799px) {
          main#wrap_category
section
.header
h1 {
            width: 80%;
            font-size: 13px; }
            main#wrap_category
section
.header
h1
.sep {
              display: none; }
            main#wrap_category
section
.header
h1
.subtitulo {
              display: block; } }
      main#wrap_category
section
.header
.contador {
        float: right; }
    main#wrap_category
section
.footer {
      cursor: pointer;
      position: absolute;
      bottom: calc( 35px + 20px);
      left: 50%;
      transform: translate(-50%, 0%);
      text-align: center; }
      @media only screen and (max-width: 799px) {
        main#wrap_category
section
.footer {
          bottom: calc( 40px + 20px);
          display: none; } }
      main#wrap_category
section
.footer p {
        opacity: 0.25; }
      main#wrap_category
section
.footer
img {
        margin-bottom: 5px;
        position: relative;
        opacity: 0.7; }
      main#wrap_category
section
.footer.up
img {
        /* Safari */
        -webkit-transform: rotate(-180deg);
        /* Firefox */
        -moz-transform: rotate(-180deg);
        /* IE */
        -ms-transform: rotate(-180deg);
        /* Opera */
        -o-transform: rotate(-180deg); }
    main#wrap_category
section
.img {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      max-width: 690px; }
      @media only screen and (max-width: 799px) {
        main#wrap_category
section
.img {
          max-width: 100%;
          width: calc(100vw - 80px);
          top: calc(50% + 40px); } }
      main#wrap_category
section
.img
.img-inner {
        position: relative; }
        @media only screen and (max-width: 799px) {
          main#wrap_category
section
.img
.img-inner {
            text-align: center; } }
        main#wrap_category
section
.img
.img-inner
a {
          position: absolute;
          top: 0px;
          left: 0px;
          width: 100%;
          height: 100%; }
        main#wrap_category
section
.img
.img-inner
img {
          max-width: 100%;
          object-fit: contain;
          max-height: 520px;
          height: auto;
          display: block; }
          @media only screen and (max-width: 799px) {
            main#wrap_category
section
.img
.img-inner
img {
              display: inline-block;
              max-height: calc(100vw - 80px); } }
        main#wrap_category
section
.img
.img-inner
.info {
          position: absolute;
          top: 0px;
          left: 0px;
          width: 100%;
          height: 100%;
          background-color: rgba(255, 255, 255, 0.75);
          -moz-transition: opacity 0.3s ease-out;
          /* WebKit */
          -webkit-transition: opacity 0.3s ease-out;
          /* Opera */
          -o-transition: opacity 0.3s ease-out;
          /* Standard */
          transition: opacity 0.3s ease-out;
          opacity: 0; }
          @media only screen and (max-width: 799px) {
            main#wrap_category
section
.img
.img-inner
.info {
              display: none; } }
          main#wrap_category
section
.img
.img-inner
.info
.info-inner {
            position: relative;
            height: 100%; }
            main#wrap_category
section
.img
.img-inner
.info
.info-inner
.resumo {
              opacity: 0.75;
              position: absolute;
              font-size: 14px;
              line-height: 19px;
              width: 80%;
              margin-left: auto;
              margin-right: auto;
              text-align: center;
              top: 50%;
              left: 50%;
              transform: translate(-50%, -50%); }
              @media only screen and (max-width: 799px) {
                main#wrap_category
section
.img
.img-inner
.info
.info-inner
.resumo {
                  font-size: 13px; } }
            main#wrap_category
section
.img
.img-inner
.info
.info-inner
.read-more {
              position: absolute;
              opacity: 0.5;
              font-size: 10px;
              line-height: 15px;
              text-decoration: underline;
              text-transform: uppercase;
              letter-spacing: 1px;
              bottom: 30px;
              left: 50%;
              transform: translate(-50%, 0%); }
        main#wrap_category
section
.img
.img-inner:hover .info {
          opacity: 1; }
          @media only screen and (max-width: 799px) {
            main#wrap_category
section
.img
.img-inner:hover .info {
              opacity: 0; } }

.flexslider
.videoWrapper {
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
  /*
	    
	    .filter
	    {
		 	position: absolute;
		 	width: 100%;
		 	height: 100%;
		 	top:0px;
		 	left: 0px;
		 	z-index: 800;   
	    }
*/ }
  .flexslider
.videoWrapper
iframe {
    opacity: 0;
    z-index: 700; }

.play {
  position: absolute;
  z-index: 901;
  top: 50%;
  left: 50%;
  width: 45px;
  transform: translate(-50%, -50%);
  /*
	
	@media only screen and (max-width: 767px) 
	{
		margin-left: -20px;
		width: 40px; 
		margin-top: -23px;
	}
*/ }
  .play
img {
    max-width: 100%;
    height: auto;
    position: static !important; }
  @media only screen and (max-width: 799px) {
    .play {
      display: none; } }

#reposicao_menu {
  width: 20px;
  display: none; }
  @media only screen and (max-width: 799px) {
    #reposicao_menu {
      width: 20px; } }

.loader {
  position: fixed;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  background-color: #fff;
  background-repeat: no-repeat;
  background-position: center center;
  background-image: url(/assets/ui/loading.gif);
  z-index: 99999; }

.pagenotfound {
  text-align: center;
  padding-top: 150px;
  padding-bottom: 80px; }

.videoWrapper {
  position: relative;
  padding-bottom: 56.25%;
  /* 16:9 */
  height: 0; }

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

.videoWrapper img {
  width: 100%;
  height: auto;
  display: block;
  max-width: 100%; }

.hidden {
  opacity: 0;
  z-index: -1; }

/* =====================================================================
   Static rebuild additions / fixes
   ===================================================================== */

:root {
  --header-height: 35px;
  --footer-height: 35px;
  --page-gutter: 20px;
}
@media only screen and (max-width: 799px) {
  :root { --header-height: 40px; --footer-height: 40px; }
}

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { background: #fff; overflow-x: hidden; }
img { max-width: 100%; }
picture { display: block; }
figure { margin: 0; }

.sr-only {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0);
  white-space: nowrap; border: 0;
}

.skip-link {
  position: fixed;
  top: -100px;
  left: var(--page-gutter);
  z-index: 100000;
  background: #fff;
  color: #000;
  border: 1px solid #000;
  padding: 10px 14px;
  font-size: 14px;
}
.skip-link:focus { top: 10px; }

:focus-visible { outline: 2px solid #000; outline-offset: 3px; }
a:focus:not(:focus-visible), button:focus:not(:focus-visible) { outline: none; }

/* Header ------------------------------------------------------------- */
header.site-header { will-change: top; }
header.site-header nav.main .categorias .submenu.is-open { display: block; animation: submenu-in 0.25s ease both; }
@keyframes submenu-in {
  from { opacity: 0; transform: translateY(-4px); }
  to   { opacity: 1; transform: translateY(0); }
}
header.site-header .submenu { opacity: 1; }
header.site-header .link_main.nohover { opacity: 0.5; }
header.site-header .link_main.hover { opacity: 1; }
header.site-header .link_main.hover span { position: relative; }
header.site-header .link_main.hover span::after {
  content: ' '; position: absolute; left: 0; bottom: 0;
  width: 100%; height: calc(100% - 3px);
  border-bottom: solid 1px #000;
}
@media only screen and (max-width: 799px) {
  header.site-header .submenu { display: none !important; }
}

/* Loader / home intro ------------------------------------------------ */
.loader {
  transition: opacity 0.5s ease, visibility 0.5s ease;
  animation: loader-fallback 0s 4s forwards;
}
.loader.is-hidden { opacity: 0; visibility: hidden; pointer-events: none; }
@keyframes loader-fallback { to { opacity: 0; visibility: hidden; pointer-events: none; } }

main#wrap_ .home_wrap .home_img {
  display: block;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.8s ease, visibility 0.8s ease;
}
main#wrap_ .home_wrap .home_img.is-visible { opacity: 1; visibility: visible; }
main#wrap_ .home_wrap .home_img.is-fading { opacity: 0; visibility: hidden; }

/* Home slider -------------------------------------------------------- */
.home-slider, .home-slider .slides, .home-slider .slides > li {
  width: 100%; height: 100%;
}
.home-slider { margin: 0; padding: 0; position: absolute; inset: 0; overflow: hidden; }
.home-slider .slides { position: relative; margin: 0; padding: 0; list-style: none; }
.home-slider .slides > li {
  position: absolute; top: 0; left: 0;
  display: none; opacity: 0; visibility: hidden;
  pointer-events: none;
}
.home-slider .slides > li.is-active {
  display: block; opacity: 1; visibility: visible; pointer-events: auto; z-index: 2;
  animation: home-in 0.85s ease both;
}
.home-slider .slides > li.is-leaving {
  display: block; opacity: 1; visibility: visible; pointer-events: none; z-index: 1;
  animation: home-out 0.85s ease both;
}
@keyframes home-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes home-out { from { opacity: 1; } to { opacity: 0; } }
.home-slider .slide-media { position: absolute; inset: 0; }
.home-slider .slide-media picture, .home-slider .slide-media img {
  width: 100%; height: 100%; display: block;
}
.home-slider .slide-media img { object-fit: cover; object-position: center center; }
.home-slider .slide-hit { position: absolute; inset: 0; z-index: 3; }
.home-slider .slide-title-link { position: static; }
.home-slider .slide-title-link h1 { pointer-events: auto; }
.home_wrap h1 { z-index: 901; }
.home_wrap .home_img { z-index: 905; }

/* Generic sliders ---------------------------------------------------- */
.flexslider { position: relative; overflow: hidden; }
.flexslider .slides { margin: 0; padding: 0; list-style: none; }
.flexslider:not(.home-slider) .slides > li { display: none; position: relative; }
.flexslider:not(.home-slider) .slides > li.is-active { display: block; }

.project-image-flexslider .slides,
.project-image-flexslider .slides > li { height: 100%; }
.project-image-flexslider .slides > li > picture { height: 100%; }

.project-text-flexslider .slides > li > picture,
.content-flexslider .slides > li > picture { width: 100%; }
.project-text-flexslider .slides img,
.content-flexslider .slides img { width: 100%; height: auto; display: block; }

.slider-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 902;
  display: block;
  margin: 0;
  padding: 10px;
  border: 0;
  background: transparent;
  cursor: pointer;
  opacity: 0.35;
  transition: opacity 0.2s ease;
  -webkit-appearance: none;
  appearance: none;
}
.slider-arrow:hover, .slider-arrow:focus-visible { opacity: 1; }
.slider-arrow img { width: 14px; height: auto; display: block; }
.slider-arrow.prev { left: var(--page-gutter); }
.slider-arrow.next { right: var(--page-gutter); }
.project-text-flexslider .slider-arrow, .content-flexslider .slider-arrow { padding: 6px; }
.project-text-flexslider .slider-arrow.prev, .content-flexslider .slider-arrow.prev { left: 4px; }
.project-text-flexslider .slider-arrow.next, .content-flexslider .slider-arrow.next { right: 4px; }

@media only screen and (max-width: 799px) {
  .project-image-flexslider .slider-arrow,
  .project-image-flexslider > .contador { display: none; }
  .project-image-flexslider .slides > li {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  .project-image-flexslider .slides { height: auto; }
}

/* Project image / video ---------------------------------------------- */
main#wrap_project .project_imagem .footer {
  transition: height 0.2s ease, background-color 0.3s ease;
}
main#wrap_project .project_imagem .footer.open {
  max-height: calc(100vh - (2 * var(--header-height)) - 20px);
  overflow-y: auto;
  overscroll-behavior: contain;
}
main#wrap_project .project_imagem .footer a.open { z-index: 903; opacity: 0.62; }
main#wrap_project .project_imagem .footer a.open:hover { opacity: 1; }
@media only screen and (min-width: 800px) {
  main#wrap_project .project_imagem .project-image-flexslider .contador { display: block; }
}

.project-image-flexslider .videoWrapper {
  width: 100%;
  height: 100%;
  max-width: 80%;
  margin: 0 auto;
  padding-bottom: 0;
  background: none !important;
}
.project-image-flexslider .videoWrapper picture,
.project-image-flexslider .videoWrapper > picture img,
.project-image-flexslider .videoWrapper > img {
  width: 100%; height: 100%; object-fit: cover; display: block;
}
.project-image-flexslider .videoWrapper iframe {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  opacity: 1; border: 0;
}
.project-image-flexslider .videoWrapper.is-playing { background: #000; }
button.play {
  border: 0; background: transparent; padding: 0; margin: 0;
  cursor: pointer; -webkit-appearance: none; appearance: none;
}
/* The JS sets hidden=true after starting a video; author display rules must
   not override the hidden attribute, otherwise the triangle stays on top of
   the iframe and blocks playback controls on mobile. */
button.play[hidden],
.videoWrapper.is-playing .play { display: none !important; }
button.play img { width: 100%; height: auto; display: block; }
@media only screen and (max-width: 799px) {
  .project-image-flexslider .videoWrapper {
    max-width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    margin-bottom: 22px;
  }
  .project-image-flexslider .videoWrapper picture,
  .project-image-flexslider .videoWrapper > picture img { height: 100%; }
  .videoWrapper .play { display: block; width: 45px; }
}

/* Category stacking -------------------------------------------------- */
@media only screen and (min-width: 800px) {
  main#wrap_category .category-wrap > section {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    height: 100vh;
    background-color: #fff;
  }
  main#wrap_category .category-wrap > section .section-inner { z-index: 1; }
  /* Keeps the last sticky section at the top of the viewport when the page
     reaches the bottom, so its title stays just below the fixed header. */
  main#wrap_category .category-wrap::after {
    content: '';
    display: block;
    height: calc(var(--header-height) + 1px);
  }
}
/* Category pages sit on a white field; make the fixed nav opaque enough that
   stacked sections cannot bleed through the bar. */
body.category header.site-header { background-color: rgba(255, 255, 255, 0.96); }
main#wrap_category section .footer { z-index: 5; }
main#wrap_category section .footer p.titulo_proximo { opacity: 0.62; }
main#wrap_category section .footer img { animation: footer-nudge 1.7s ease-in-out infinite; }
@keyframes footer-nudge {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(6px); }
}
main#wrap_category .img-inner picture { display: block; }
main#wrap_category .img-inner img { max-width: 100%; }

/* Cookie / privacy notice -------------------------------------------- */
body #cookie_msg {
  display: block;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
body #cookie_msg.is-visible { opacity: 1; visibility: visible; pointer-events: auto; }
body #cookie_msg a.notice-close {
  position: absolute; top: 10px; right: 15px;
}
body #cookie_msg a.notice-link {
  position: static;
  text-decoration: underline;
}
body #cookie_msg .notice-text { display: inline; }

/* Simple text pages / 404 -------------------------------------------- */
.page-wrap {
  width: 50%;
  max-width: 690px;
  margin: 0 auto;
  padding: 120px 0 100px;
}
.page-wrap h1 { font-size: 18px; margin-bottom: 30px; text-align: center; }
.page-wrap .texto { font-size: 18px; line-height: 27px; }
.page-wrap .texto p { margin-bottom: 1em; }
.page-wrap .page-links { margin-top: 40px; text-align: center; }
.page-wrap .page-links a { text-decoration: underline; }
main#wrap_ .pagenotfound { padding-top: 150px; padding-bottom: 100px; }
main#wrap_ .pagenotfound a { text-decoration: underline; }

/* Rich text output (CMS WYSIWYG) ------------------------------------- */
main .texto h3,
main .ficha_tecnica h3,
main .about-item h3 {
  font-size: 18px;
  line-height: 24px;
  margin: 1em 0 .4em;
}
main .texto h3:first-child,
main .ficha_tecnica h3:first-child,
main .about-item h3:first-child { margin-top: 0; }
main .texto ul,
main .texto ol,
main .ficha_tecnica ul,
main .ficha_tecnica ol,
main .about-item ul,
main .about-item ol {
  margin: 0 0 1em 1.25em;
  padding: 0;
}
main .texto li,
main .ficha_tecnica li,
main .about-item li { margin-bottom: .35em; }
main .texto blockquote,
main .about-item blockquote {
  margin: 1em 0;
  padding-left: 14px;
  border-left: 2px solid #c9c4bb;
  color: #55524b;
}
main .texto mark,
main .ficha_tecnica mark,
main .about-item mark { background: #f3e56b; color: inherit; padding: 0 .08em; }
.rt-muted { color: #6c6a65; }
.rt-accent { color: #9a3b2f; }

/* Motion / print ----------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
  }
  main#wrap_category section .footer img { animation: none; }
  .home-slider .slides > li.is-leaving { display: none !important; }
}
@media print {
  header, footer, #cookie_msg, .loader, .slider-arrow, .navegador { display: none !important; }
  main, .home_wrap { position: static !important; height: auto !important; }
  .home-slider .slides > li { position: static !important; display: none !important; }
  .home-slider .slides > li:first-child { display: block !important; opacity: 1 !important; visibility: visible !important; }
  .project_imagem .footer { position: static !important; height: auto !important; }
}
main#wrap_404 .pagenotfound.pagenotfound-links { padding-top: 0; font-size: 14px; }
@media only screen and (max-width: 799px) {
  main#wrap_project .project_imagem .footer .texto { opacity: 0.68; }
}
.home_wrap h1.white { text-shadow: 0 1px 3px rgba(0, 0, 0, 0.45); }
