/* ================
   	  BANNER 
   ================ */
.banner-wrapper { height:300px; overflow:hidden; position:relative; background-color:#414669; } 
.banner-wrapper img { display:block; position:absolute; top:0; bottom:0; margin:auto; width:100%; opacity:0.4; }  
.banner-wrapper h2 { position:absolute; top:0; bottom:0; padding:40px 0; left:0; right:0; width:400px; margin:auto; text-align:center; border:solid 7px #FFF; font-size:30px; color:#FFF; text-transform:uppercase; height:38px; }

.sub-nav{height:80px;background-color:#FFF;border-bottom:solid thin #CCC;overflow:hidden;z-index:10;}
.sub-nav div.inner{height:80px;margin:auto;display:table;}
.sub-nav div.inner a{max-width:150px;height:80px;line-height:20px;padding:0 30px;color:#808080;text-align:center;text-transform:uppercase;text-decoration:none;background-color:#FFF;display:table-cell;vertical-align:middle;transition:all .3s ease-out;-moz-transition:all .3s ease-out;-ms-transition:all .3s ease-out;-webkit-transition:all .3s ease-out;overflow:hidden;cursor:pointer;}
.sub-nav div.inner a:hover, .sub-nav div.inner .active{background-color:#ececec;}


.about { padding:45px 0; }
.about .border-title { color:#005696; }
.about .border-title span:before, .about .border-title span:after { border-bottom: 1px solid #005696; width: 50px; }
.about .border-title span:before { right: 100%; }
.about .border-title span:after { left: 100%;  }
.about h4 { text-align:center; margin:30px auto; width:600px; font-size:18px; }
.about .left-txt { float:left; width:480px; margin-left:55px; font-weight:600; margin-top:15px;  }
.about .right-txt { float:right; width:480px; margin-right:55px; margin-top:15px;  }
.about p { font-size:15px; padding-bottom:30px; }

#history { position:relative; padding:0; padding-bottom:100px; overflow:hidden; }
#history > img { opacity:1; display:block; position:absolute; top:0; bottom:0; width:auto; margin:auto; left:0; right:0; min-width:100%; z-index:-1;  }
#history article { width:420px; background-color:rgba(128, 128, 128, 0.9); color:#FFF; margin-top:0; margin-left:55px; padding:40px 50px 80px; text-align:center; }
#history article h3 { font-size:26px; text-transform:uppercase; }
#history article p { margin-top:35px; }

.mission > p { display:block; margin:40px auto; padding:0; width:860px; text-align:center; font-size:18px; }
.mission > p .bolder { font-weight:600; }
.mission .wrapper { padding:50px; }
.mission .wrapper > div { display:block; float:left; text-decoration:none; margin-right:47px; }
.mission .wrapper > div:last-of-type { margin-right:0; }
.mission .wrapper > div .icon { border:solid thin #808080; border-radius:100%; height:70px; width:70px; padding:35px; margin:0 auto; }
.mission .wrapper > div .icon span { background-image:url(../img/sprite.png); background-repeat:no-repeat; display:block; height:70px; width:70px; }
.mission .wrapper h3 { text-align:center; text-transform:uppercase; font-size:18px; color:#808080; max-width:175px; margin:0 auto; padding-top:20px; }
.mission .wrapper .rigor span { background-position:-517px -83px; }
.mission .wrapper .responsabilidade span { background-position:-596px -83px; }
.mission .wrapper .equipa span { background-position:-655px -76px; background-size:830px 215px; }
.mission .wrapper .dinamismo span { background-position:-625px -65px; background-size:700px 200px; }
.mission .wrapper .excelencia span { background-position:-326px -65px;  background-size:680px 200px; }

#description { padding:50px; }
#description .item { width: 42%; margin-bottom:20px; margin-right:38px; min-height:168px;  }
#description .item:nth-of-type(2n) { margin-right:0; }
#description .item .arrow { display:block; float:left; height:30px; width:30px; margin-right:10px; background-image:url(../img/sprite.png); background-position:-315px -37px; }
#description .item p { display:block; float:right; font-size:18px; width:420px; }
#description .item .title { text-transform:uppercase; font-size:18px; color:#005696; display:inline; font-weight:normal; }

.products .icon { border:solid thin #0b5d9a; border-radius:100%; height:70px; width:70px; padding:20px; margin:15px auto 30px; }
.products .icon span { background-image:url(../img/sprite.png); background-repeat:no-repeat; display:block; height:70px; width:70px; }
.products .icon .automovel { background-position: 8px -146px; }

.product-details { padding-bottom:25px; }
.product-details .item { margin-right:33px; margin-bottom:30px; }
.product-details .item:nth-of-type(4n) { float:right; }

.product-details .content-wrapper{padding:0 55px 40px; }
.product-details h2{font-size:20px; color:#005696; text-transform:uppercase; display:block; float:left; padding:23px 0; }
.product-details .content-wrapper .icon { float:right; height:40px; width:40px; padding:15px; margin-top:0; }
.product-details .content-wrapper .icon span{height:40px;width:40px;background-repeat:no-repeat;background-position:0 0; }
.product-details .content-wrapper .text-block { color:#8f8e8e; /*-webkit-column-count: 2; -moz-column-count: 2; column-count: 2; column-gap:30px; -moz-column-gap:30px; -webkit-column-gap:30px;*/ margin-bottom:100px; }
.product-details .navigation{float:right;}
.product-details .navigation span{width:1px;height:18px;margin:0 28px;background-color:#808080;display:block;float:left;}
.product-details .navigation a{height:18px;display:block; float:left; text-decoration:none; font-size:14px; text-transform:uppercase; color:#808080; transition:all .4s ease-out; -moz-transition:all .4s ease-out; -webkit-transition:all .4s ease-out;}
.product-details .navigation a h4 { float:left; }
.product-details .navigation a .prev { float:left; width:18px; height:18px; margin-right:15px; background-image:url(../img/sprite.png); background-position:-139px -12px; background-size:693px 149px; transform:rotate(180deg); -moz-transform:rotate(180deg); -webkit-transform:rotate(180deg);  }
.product-details .navigation a .next { float:right; width:18px; height:18px; margin-left:15px; background-image:url(../img/sprite.png); background-position:-139px -12px; background-size:693px 149px;  }
.product-details .navigation a:hover { opacity:0.5; }
.product-details .button { display:block; padding:10px; width:220px; text-decoration:none; margin:0; margin-top:20px; background-color:transparent; color:#808080; border:solid 2px #808080; text-transform:uppercase; }
.product-details .button:first-of-type { float:left; }
.product-details .button:last-of-type { float:right; }
.product-details .button:hover { color:#005696; border-color:#005696; }

.details .bx-prev { left: 20px; height: 30px; width: 18px; background-image: url(../img/sprite.png); background-position: -167px -18px; transform:rotate(180deg); -webkit-transform:rotate(180deg); -moz-transform:rotate(180deg); -ms-transform:rotate(180deg); background-size:auto; }
.details .bx-next { background-size:auto; right: 20px; height: 30px; width: 18px; background-image: url(../img/sprite.png); background-position: -167px -18px; }

.projects { padding:0; }
.projects a { display:block; height:207px; width:275px; overflow:hidden; position:relative; float:left; -webkit-backface-visibility: hidden; }
.projects a img { display:block; position:absolute; top:0; bottom:0; right:0; left:0; margin:auto; max-width:275px; max-height:205px; }
.projects a .popup { position:absolute; opacity:0; text-align:center; top:0; width:280px; height:0px;background-color:rgba(128, 128, 128, 0.8); color:#FFF; transition:all .3s ease-out; -moz-transition:all .3s ease-out; -ms-transition:all .3s ease-out; -webkit-transition:all .3s ease-out; }
.projects a .popup h2 { display:table-cell; vertical-align:middle; height:208px; padding:0 25px; width:225px; text-align:center; overflow:hidden; font-size:18px; text-transform:uppercase; }
.projects a .popup h2 span { font-size:22px; }
.projects a .popup .plus { display:block; height:15px; width:15px; background-color:#000; }
.projects a:hover .popup  { opacity:1; height:207px; }

.details-white .bx-prev { left: 20px; height: 30px; width: 18px; background-image: url(../img/sprite.png); background-position: -42px -18px; transform:rotate(180deg); -webkit-transform:rotate(180deg); -moz-transform:rotate(180deg); -ms-transform:rotate(180deg); background-size:auto; }
.details-white .bx-next { background-size:auto; right: 20px; height: 30px; width: 18px; background-image: url(../img/sprite.png); background-position: -42px -18px; }

.news-list{padding-top:25px;}
.news-list .article-container{padding:0;}
.news-list .article-container article{margin-bottom:20px;}

.news-details .content-wrapper{position:relative;}
.news-details .content-wrapper .content{width:850px; padding-left:50px}  
.news-details .content-wrapper .content h3{text-transform:uppercase; font-size:24px; color:#005696; margin-bottom:25px;}
.news-details .content-wrapper .content span{width:700px; display:block; font-size:100%; color: #8f8e8e; line-height:22px;}
.news-details .content-wrapper .share{position:absolute; bottom:30px; margin-top:0;float:none;}

.nav-wrapper { padding:100px 55px 30px; }

.map img { opacity:1; }
#google-map { width: 100%; height: 330px; }

.contacts-wrapper { padding:50px 55px 80px; }
.contacts-wrapper h2 {  padding: 40px 0; width: 400px; margin: auto; text-align: center; border: solid 7px #005696; font-size: 30px; color: #005696; text-transform: uppercase; height: 38px; }
.contacts-wrapper > p { text-align:center; color:#808080; text-transform: uppercase; margin:60px 0 40px;  }
.contacts-wrapper form { width:700px; margin:0 auto 100px; }
.contacts-wrapper form input, .contacts-wrapper form textarea { border-color:#d9d9d9; text-transform:uppercase; padding:15px; width:670px; color:#979797;resize:none; font-family: 'Source Sans Pro', sans-serif; margin-bottom:20px; }
.contacts-wrapper form input:focus, .contacts-wrapper form textarea:focus { outline:none; border-color:#79bde9; }
.contacts-wrapper form input[type="submit"] { width:100%; background-color:transparent; border-width:3px; border-color:#808080; color:#808080; }
.contacts-wrapper form input[type="submit"]:focus, .contacts-wrapper form input[type="submit"]:hover { background-color:#808080; color:#FFF; }

.contacts-wrapper .marker { display:block; position: relative; width:24px; height:34px; margin:0 auto 40px; background-image:url(../img/sprite.png); background-position:-393px -13px; }
.contacts-wrapper .marker:before,
.contacts-wrapper .marker:after { content: ""; position: absolute; height: 18px; border-bottom: 1px solid #d9d9d9; top: 0; width: 475px; }
.contacts-wrapper .marker:before { right: 100%; margin-right: 5px; }
.contacts-wrapper .marker:after { left: 100%; margin-left: 5px; }

.contacts-wrapper .contact-block { float:left; margin-right:17px; width:230px; }
.contacts-wrapper .contact-block:last-of-type { margin-right:0; }
.contacts-wrapper .contact-block > div { margin:0 auto 25px; position:relative; background-color:#808080; height:62px; width:62px; border-radius:100%;  }
.contacts-wrapper .contact-block > div span { display:block; height:35px; width:35px; position:absolute; top:0; left:0; right:0; bottom:0; margin:auto; background-image:url(../img/sprite.png); }
.contacts-wrapper .contact-block p { text-align:center; color:#808080; }

.contacts-wrapper .contact-block .pin span { background-position:-424px -12px; }
.contacts-wrapper .contact-block .phone span { background-position:-470px -12px; }
.contacts-wrapper .contact-block .calendar span { background-position:-514px -12px; }
.contacts-wrapper .contact-block .mail span { background-position:-555px -12px; }