/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}

/*! HTML5 Boilerplate v5.0 | MIT License | http://h5bp.com/ */
html { color: #222; font-size: 1em; line-height: 1.4; }
::-moz-selection { background: #b3d4fc; text-shadow: none; }
::selection { background: #b3d4fc; text-shadow: none; }
hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; }
audio, canvas, iframe, img, svg, video { vertical-align: middle; }
fieldset { border: 0; margin: 0; padding: 0; }
textarea { resize: vertical; }


/* ==========================================================================
   Author's custom styles
   ========================================================================== */

/* base */
body{ font-family:'Lato',sans-serif; font-weight:400; color:#000; font-size:16px; }
h1,h2,h3,h4,h5,h6{ font-weight:900; text-transform:uppercase; overflow: hidden;}
section h1{ font-size:36px; line-height:1em; }
section p{ line-height:28px; }
a{ -webkit-transition: color .3s; -moz-transition: color .3s; transition: color .3s; }
.container {overflow: hidden;}

/* menu */
.menu{ width:100%; height:70px; background:#FFF; -webkit-transition: opacity .3s, visibility .3s; -moz-transition: opacity .3s, visibility .3s; transition: opacity .3s, visibility .3s; -webkit-box-shadow: 0px 10px 60px -5px rgba(0,0,0,0.45);
-moz-box-shadow: 0px 10px 60px -5px rgba(0,0,0,0.45);
box-shadow: 0px 10px 60px -5px rgba(0,0,0,0.45); }
.menu a{ font-size:14px; line-height:70px; color:#000; display:inline-block; }
.menu a:hover{ color:#dc252b; text-decoration:none; }
.menu nav .menuItem, .menu div .menuItem{ text-align:center; width:19%; text-transform:uppercase; display:inline-block; }
header.menu{z-index: 10; position: relative;}


.menu_fixed{ position:fixed; top:0; width:100%; height:40px; z-index:10; background:#FFF; display:none; border-bottom:1px solid #f1f1f1; -webkit-transition: opacity .3s, visibility .3s; -moz-transition: opacity .3s, visibility .3s; transition: opacity .3s, visibility .3s; }
.menu_fixed a{ font-size:12px; line-height:40px; color:#000; display:inline-block; text-decoration:none; }
.menu_fixed a:hover,
.menu_fixed a.active{ color:#dc252b; text-decoration:none; }
.menu_fixed nav .menuItem{ text-align:center; width:19%; text-transform:uppercase; }

/*barra Pais e Filhos*/
#barraPF{width: 100%; padding: 0px; margin 0px; overflow: visible; }

/* destaque */

#destaque{ height:720px; background-image:url('../img/destaque-final.jpg'); background-repeat: no-repeat; background-position: 50%; background-size:cover; background-attachment:fixed; position:relative; }
.ios #destaque{ background-attachment: scroll; background-size: cover; }
#destaque:after{ content: ""; display: block; position: absolute; top: 80%; right: 0; bottom: 0; left: 0; 
  -webkit-box-shadow: inset 0px -61px 52px -65px rgba(0,0,0,0.75);
  -moz-box-shadow: inset 0px -61px 52px -65px rgba(0,0,0,0.75);
  box-shadow: inset 0px -61px 52px -65px rgba(0,0,0,0.75);
}
#destaque h1{ font-size:36px; line-height:1em; position:absolute; top:50%; width:100%; -webkit-transform:translateY(-50%); -moz-transform:translateY(-50%); transform:translateY(-50%);}
#destaque h1 em{ font-weight:300; font-style:normal; display:block; }

/* sobre */
#sobre{ background:#FFF; padding-top:100px; }
#sobre h1{ margin:0 0 0; }
#sobre .icone{ width: 100%; max-width: 331px; height: auto; }

/* timeline */
#timeline{ position:relative; height:1065px; background:url('../img/bg-linha-tempo.png') no-repeat 50%; background-attachment:fixed; }
#timeline .container{ position:absolute; top:50%; left:0; right:0; -webkit-transform:translateY(-50%); -moz-transform:translateY(-50%); transform:translateY(-50%); }
#timeline .bg{ position:absolute; top:0; bottom:0; left:0; right:0; background-image:url('../img/timeline-topo.png'),url('../img/timeline-rodape.png'); background-position:50% 0,50% 100%; background-repeat:no-repeat; }
#timeline h1{ font-size:28px; color:#FFF; margin-top:0; }
#timeline p{ font-weight:700; color:#FFF; }
#timeline article{ padding:0; }
#timeline article div{ height:100%; margin-top:-1px; }
#timeline .text-left div{ border-left:2px solid #FFF; margin-left:-1px; padding-left:15px; }
#timeline .text-right div{ border-right:2px solid #FFF; margin-right:-2px; padding-right:15px; }

/* serviços */
#servicos{ padding:0 0 110px; margin-top: 115px; background-color:#FFF; }
#servicos h1{ margin-bottom: 100px; text-align: center; }
#servicos article h1{ font-size:18px; line-height:22px; text-align:center; margin:0; padding:0 20px; }
#servicos h2{ font-size:14px; line-height:18px; margin:50px 0 25px; }
#servicos ul{ list-style:none; margin-bottom: 18px; padding:0; }
#servicos li{ font-size:14px; font-weight:700; margin:5px 0; }
#servicos .bullet{overflow: hidden; position:relative; width:220px; height:220px; margin:0 0 50px; background:url('../img/bg-servicos.png') no-repeat 50%; background-attachment:fixed; border-radius:50%; }
.ios #servicos .bullet{ background-attachment: scroll; background-size: cover; }
#servicos .wrapper {display: block;}
#servicos .active {cursor: pointer;}


#servicos .bullet::before{ content:""; display:block; width:190px; height:190px; margin:0 auto; background:#FFF; position:absolute; top:50%; left:0; right:0; -webkit-transform:translateY(-50%); -moz-transform:translateY(-50%); transform:translateY(-50%); border-radius:50%; box-shadow: 0px 0px 10px rgba(0,0,0,0.6); }
#servicos .bullet h1{ position:absolute; top:50%; left:0; right:0; -webkit-transform:translateY(-50%); -moz-transform:translateY(-50%); transform:translateY(-50%); }
#servicos .description{ min-height: 230px; }

/* projetos */
#projetos{ position:relative; height:680px; background:url('../img/bg-linha-tempo.png') no-repeat 50%; background-attachment:fixed; margin-bottom:125px; }
.ios #projetos{ background-attachment: scroll; background-size: cover; }
#projetos .container{ max-width: 980px; position:absolute; top:50%; left:0; right:0; -webkit-transform:translateY(-50%); -moz-transform:translateY(-50%); transform:translateY(-50%); }
#projetos .swiper-container{ width: 100%; height: 100%; margin-left: auto; margin-right: auto; }
#projetos .bg{ position:absolute; top:0; bottom:0; left:0; right:0; background-image:url('../img/timeline-topo.png'),url('../img/timeline-rodape.png'); background-position:50% 0,50% 100%; background-repeat:no-repeat; }
#projetos .swiper-slide { text-align: center;/* Center slide text vertically */ display: -webkit-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; -webkit-justify-content: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; -webkit-align-items: center; align-items: center; }
#projetos .swiper-slide > div{ position:relative; }
#projetos .swiper-slide > div .info{ padding:30px 0; color:#FFF; text-align:left; min-height: 300px; text-shadow: 2px 2px 8px black;}
#projetos .swiper-slide > div .info h2{ font-size:18px; line-height:28px; color:#FFF; margin:0; text-transform:none; }
#projetos .swiper-slide > div .info h2 a{ display:block; font-size:16px; line-height:/*1em*/1.9em; font-style:italic; color:#FFF; }
#projetos .swiper-slide > div .info p{ line-height:18px; }
#projetos .swiper-buttons div{ width:70px; height:60px; background-color:#FFF; background-size: 15px; -webkit-transition: background .3s; -moz-transition: background .3s; transition: background .3s; }
#projetos .swiper-buttons div:hover{ background-color:#ccc; }
#projetos .swiper-buttons .swiper-button-next{ left:50%; right:inherit; border-left:1px solid #ccc; }
#projetos .swiper-buttons .swiper-button-prev{ right:50%; left:inherit; border-right:1px solid #ccc; }
#projetos .swiper-pagination-bullet{ width:6px; height:6px; background-color:#ccc; opacity: 1; margin: 0 4px; vertical-align: middle; }
#projetos .swiper-pagination-bullet-active{ width:10px; height:10px; background-color:#FFF; }
#projetos .swiper-pagination{ bottom:90px; left: 0; right: 0; text-align: center; }

/* clientes */
#clientes{ padding: 0 0 100px; }
#clientes h1{ text-align: left; }
#clientes .texto{ margin-bottom: 0px; }
#clientes .logos div{ height:70px; margin-bottom:5px; text-align: center; }

/*twitter*/
#twitter{ position:relative; height:1065px; background:url('../img/bg-linha-tempo.png') no-repeat 50%; background-attachment:fixed; }
.ios #twitter{ background-attachment: scroll; background-size: cover; }
#twitter .container{ position:absolute; top:50%; left:0; right:0; -webkit-transform:translateY(-50%); -moz-transform:translateY(-50%); transform:translateY(-50%); }
#twitter .bg{ position:absolute; top:0; bottom:0; left:0; right:0; background-image:url('../img/timeline-topo.png'),url('../img/timeline-rodape.png'); background-position:50% 0,50% 100%; background-repeat:no-repeat; }
#twitter h1{ font-size:28px; color:#FFF; margin: 0; line-height: 1.8em }
#twitter p{ font-weight:700; color:#FFF; }
#twitter .texto{text-shadow: 2px 2px 8px black;}




/* contato */
#contato h2{ font-size:16px; margin-top:25px; }
#contato #mapa{ max-width:1280px; height:385px; width:100%; margin:25px auto; }
#contato #mapa h2{ font-size:14px; text-align:left; text-transform:uppercase; margin:5px 0; }
#contato #mapa h2 small{ font-size:10px; }
#contato #mapa p{ font-size:14px; line-height:1em; text-align:left; margin:10px 0; }
#contato a{ color:#000; }
#contato input,
#contato textarea{ border:none; background:#f1f1f1; width:100%; margin-bottom:20px; font-weight:400; }
#contato label{ font-weight:700; position:relative; display: block; }
#contato label.msg{margin-top:-21px; display:block; }
#contato label span{ position:absolute; left:10px; top:10px; }
#contato label label.error{ position:absolute; top:0; right:0; width:24px; height:41px; background:#ea343e; color:#FFF; text-align:center; padding-top:9px; }
#contato input{ padding: 10px 0 10px 100px; }
#contato input,
#contato textarea{ border: 1px solid #f1f1f1; -webkit-transition: border .3s; -moz-transition: border .3s; transition: border .3s; }
#contato input:focus,
#contato textarea:focus{ outline: none; border: 1px solid #ea343e; }
#contato input[type="submit"]{ width:140px; padding:10px 0; text-align:center; background:#ea343e; float:right; color:#FFF; font-weight:700; -webkit-transition: background .3s; -moz-transition: background .3s; transition: background .3s; }
#contato input[type="submit"]:hover{ background:#b62228; }
#contato textarea{ padding:5px; height:158px; }
#contato textarea.error{ border:1px solid #ea343e; }
#contato form{ margin:50px 0; display:none; }
#contato form.active{ display:block; }
#contato .bt{ background:#f1f1f1; color:#333; font-weight:700; text-align:center; padding:6px 0; cursor:pointer; -webkit-user-select:none; -moz-user-select:none; -ms-user-select:none; -webkit-transition: background .3s, color .3s; -moz-transition: background .3s, color .3s; transition: background .3s, color .3s; }
#contato .bt:hover,
#contato .bt.active{ background:#ea343e; color:#FFF;  }
#contato .label{ position:relative; margin:15px 0 34px; }
#contato .label::after{ content:""; display:block; position:absolute; top:34px; left:0; right:0; border-bottom:1px solid #ea343e; padding:0; }

#contato div.msg{ clear: both; text-align: center; padding-top: 20px; }
#contato .g-recaptcha{ float: left; }


footer p{ margin: 0; padding: 16px 0; }

/*Bandeiras*/
.flags { display: inline-block; }
.flag {width: 30%; text-align: center;}
.flag:after {vertical-align: middle; margin-top: -1px; }
/* .flag.en:after {content:''; background-image: url("../img/flags.png"); background-position:0 -2889px; background-repeat: no-repeat; width:16px; height:11px; display:inline-block; } */
/* .flag.en:after {content:''; background-image: url("../img/flags/24/US.png"); width:30px; height:20px; background-size: 30px 20px; display:inline-block; } */
.flag.en:after {content:''; background-image: url("../img/flags/24/US-new.png"); width:32px; height:32px; background-repeat: no-repeat; background-size: contain; display:inline-block; }
/* .flag.pb:after {content:''; background-image: url("../img/flags.png"); background-position:0 -430px; background-repeat: no-repeat; width:16px; height:11px; display:inline-block; } */
/* .flag.pb:after {content:''; background-image: url("../img/flags/24/BR.png"); width:30px; height:20px; background-size: 30px 20px; display:inline-block; } */
.flag.pb:after {content:''; background-image: url("../img/flags/24/BR-new.png"); width:32px; height:32px; background-repeat: no-repeat; background-size: contain; display:inline-block; }
/* .flag.de:after {content:''; background-image: url("../img/flags.png"); background-position:0 -759px;; background-repeat: no-repeat; width:16px; height:11px; display:inline-block; } */
/* .flag.de:after {content:''; background-image: url("../img/flags/24/DE.png"); width:30px; height:20px; background-size: 30px 20px; display:inline-block; } */
.flag.de:after {content:''; background-image: url("../img/flags/24/DE-new.png"); width:32px; height:32px; background-repeat: no-repeat; background-size: contain; display:inline-block; }
/* .flag.es:after {content:''; background-image: url("../img/flags.png"); background-position:0 -891px;; background-repeat: no-repeat; width:16px; height:11px; display:inline-block; } */
/* .flag.es:after {content:''; background-image: url("../img/flags/24/ES.png"); width:30px; height:20px; background-size: 30px 20px; display:inline-block; } */
.flag.es:after {content:''; background-image: url("../img/flags/24/ES-new.png"); width:32px; height:32px; background-repeat: no-repeat; background-size: contain; display:inline-block; }


/* canvas */
.canvas , .output{
  position: absolute;
  height: 100%;
  width: 100%;  
}

.canvas-servicos{
  /* position: static; */
  height: 100%;
  width: 100%;  
}

.canvas-servicos .output{
  position: static;
}

/* ==========================================================================
   Media Queries
   ========================================================================== */

@media (max-width:1200px){
  /* .flag.en:after {content:''; background-image: url("../img/flags.png"); background-position:0 -2889px; background-repeat: no-repeat; width:16px; height:11px; display:inline-block; } */
  /* .flag.en:after {content:''; background-image: url("../img/flags/24/US.png"); width:24px; height:16px; background-size: 24px 16px; display:inline-block; } */
  .flag.en:after {content:''; background-image: url("../img/flags/24/US-new.png"); width:26px; height:26px; display:inline-block; }
  /* .flag.pb:after {content:''; background-image: url("../img/flags.png"); background-position:0 -430px; background-repeat: no-repeat; width:16px; height:11px; display:inline-block; } */
  /* .flag.pb:after {content:''; background-image: url("../img/flags/24/BR.png"); width:24px; height:16px; background-size: 24px 16px; display:inline-block; } */
  .flag.pb:after {content:''; background-image: url("../img/flags/24/BR-new.png"); width:26px; height:26px; display:inline-block; }
  /* .flag.de:after {content:''; background-image: url("../img/flags.png"); background-position:0 -759px;; background-repeat: no-repeat; width:16px; height:11px; display:inline-block; } */
  /* .flag.de:after {content:''; background-image: url("../img/flags/24/DE.png"); width:24px; height:16px; background-size: 24px 16px; display:inline-block; } */
  .flag.de:after {content:''; background-image: url("../img/flags/24/DE-new.png"); width:26px; height:26px; display:inline-block; }
  /* .flag.es:after {content:''; background-image: url("../img/flags.png"); background-position:0 -891px;; background-repeat: no-repeat; width:16px; height:11px; display:inline-block; } */
  /* .flag.es:after {content:''; background-image: url("../img/flags/24/ES.png"); width:24px; height:16px; background-size: 24px 16px; display:inline-block; } */
  .flag.es:after {content:''; background-image: url("../img/flags/24/ES-new.png"); width:26px; height:26px; display:inline-block; }
}
@media (max-width:992px){

  section p{ line-height: 24px;  }

  .menu a{ font-size: 12px; }

  #servicos{ margin-top: 80px; }
  #servicos li { font-size: 14px; font-weight: 700; margin: 18px 0; line-height: 16px; }
  #servicos article h1{ font-size: 15px; line-height: 16px; padding: 0 5px; }
  #servicos .description{ min-height: 300px; font-size: 15px; }
  #servicos .bullet{ width: 160px; height: 160px; }
  #servicos .bullet::before{ width: 150px; height: 150px; }

  #projetos{ margin-bottom: 80px; }

  #contato label.msg{ margin-top: 0; }


}
@media (max-width: 767px){



  
  section h1{font-size: 30px;}

  
  .menu nav,
  .menu_fixed .logo{ display: none; }
  .menu .flags{display: none;}
  .menu_fixed a{ font-size: 10px; line-height: 30px;}
  .menu_fixed { height: 30px; }
  .flag {height: 22px;}
  .flag:after{margin-top: -17px;}

  .menu_fixed nav a{ width: 20%; }
  /*.menu_fixed nav a.menuItem:first-child{ width: 14%; }*/

  .menu_fixed { height:52px; }
  

  #destaque{ height: 480px; background-attachment: scroll; }
  #destaque h1{ font-size: 30px; }




  #sobre{ padding-top:50px; }
  #sobre .icone{ max-width: 80%; margin-bottom: 45px; }


  #servicos ul{ }
  #servicos{ margin-top: 45px; }
  #servicos h1{ margin-bottom: 40px; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; }
  #servicos .bullet{ margin: 25px auto 0; width: auto; height: auto; background:none; }
  #servicos .bullet::before{ display:none;}
  #servicos .bullet h1{ font-size: 22px; line-height: 1em; position: static; transform: none; margin: 0; padding-bottom:25px; border-bottom: 1px solid rgba(0,0,0,.3); }
  #servicos .wrapper{ display: none; }
  #servicos article h1{ font-size: 16px; }
  #servicos .description{ min-height: initial; }
  #servicos h2{ margin: 25px 0 20px; }
  #servicos h2,
  #servicos li{ text-align: center; }
  


  #projetos{ margin-bottom: 45px; }
  #projetos .swiper-buttons{ display: none; }
  #projetos .swiper-pagination{ bottom: 50px; }

  #clientes img{ width: 100%; height: auto; }

  #servicos .bullet{
    border-radius: 0;
  }

  .canvas-servicos{
    display:  none;
  }

  #contato .g-recaptcha{ float: right; margin-bottom: 20px; clear: both; }
  #contato input[type="submit"]{ clear: both; }


}



/* ==========================================================================
   Helper classes
   ========================================================================== */
.hidden { display: none !important; }
.visuallyhidden { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; }
.visuallyhidden.focusable:active, .visuallyhidden.focusable:focus { clip: auto; height: auto; margin: 0; overflow: visible; position: static; width: auto; }
.invisible { visibility: hidden; opacity: 0; }
.clearfix:before, .clearfix:after { content: " "; display: table; }
.clearfix:after { clear: both; }
.clearfix { *zoom: 1; }
.center-block { display: block; margin-left: auto; margin-right: auto; }
.pull-right { float: right !important; }
.pull-left { float: left !important; }
.hide { display: none !important; }
.show { display: block !important; }
.text-hide { font: 0/0 a; color: transparent; text-shadow: none; background-color: transparent; border: 0; }
.hidden { display: none !important; }
.affix { position: fixed; }
.no-padding{ padding:0 !important; }
.no-padding-left{ padding-left:0 !important; }
.no-padding-right{ padding-right:0 !important; }
.text-center{ text-align:center; }
.text-right{ text-align:right; }
.text-left{ text-align:left; }
.overflow-hidden{ overflow: hidden; }



/* ==========================================================================
   Print styles
   ========================================================================== */

@media print {
*, *:before, *:after { background: transparent !important; color: #000 !important; box-shadow: none !important; text-shadow: none !important; }
a, a:visited { text-decoration: underline; }
a[href]:after { content: " ("attr(href) ")"; }
abbr[title]:after { content: " ("attr(title) ")"; }
a[href^="#"]:after, a[href^="javascript:"]:after { content: ""; }
pre, blockquote { border: 1px solid #999; page-break-inside: avoid; }
thead { display: table-header-group; }
tr, img { page-break-inside: avoid; }
img { max-width: 100% !important; }
p, h2, h3 { orphans: 3; widows: 3; }
h2, h3 { page-break-after: avoid; }
}