body, html {
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale;
    overflow-y: auto;
    overflow-x: hidden;
    font-family: Roboto, sans-serif;
    color: #6f6f6f;
}

::-webkit-scrollbar { width: 2px;  } /* for vertical scrollbars */
::-webkit-scrollbar-track { background: rgba(0, 0, 0, 0.1); }
::-webkit-scrollbar-thumb { background: rgba(0, 0, 0, 0.5); }

@media (min-width: 1200px) { 
    .container { width: 1100px }
}

h1 {
    font-weight: 900;
    text-transform: uppercase;
}

h1 small {
    text-transform: lowercase
}

h2 {
    line-height: 24px;
    font-weight: 300;
}

h5 {
    font-size: 16px
}

p {
    font-size: 18px
}

a {
    color: inherit;
    transition: all 0.5s;
}

a:hover, a:focus {
    text-decoration: none;
    color: #e5b112;
}

.highlight {
    color: #e5b112
}

.clearfix:after {
    visibility: hidden;
    display: block;
    font-size: 0;
    content: " ";
    clear: both;
    height: 0;
}

.clearfix {
    display: inline-block
}

* html .clearfix {
    height: 1%
}

.clearfix {
    display: block
}

/* Navegação */
#tf-menu {
    margin-bottom: 0;
    background-color: #ffffff;
    padding: 10px 0;
    height: auto;
}

.navbar-brand img {
    height: 30px;
    width: auto;
}

.navbar-brand {
    padding: 12px 15px
}

.navbar-nav > li > a {
    font-size: 13px;
    font-weight: 700;
    border-bottom: 2px solid transparent;
    padding: 5px 5px;
    margin: 8px 10px;
    text-transform: uppercase;
    transition: all 0.5s;
}

.navbar-default .navbar-nav > li > a.active,
.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus {
    color: #333;
    border-bottom: 4px solid #e5b112;
}

.navbar-default .navbar-toggle {
    border-color: transparent
}

.navbar-default .navbar-toggle:hover, .navbar-default .navbar-toggle:focus {
    background-color: transparent
}

.navbar-default .navbar-toggle:hover>.navbar-default .navbar-toggle .icon-bar,
.navbar-default .navbar-toggle:focus>.navbar-default .navbar-toggle .icon-bar {
    color: #e5b112
}

/* Página de Cabeçalho */
#tf-header {
    padding: 20px 0;
    background: #e5b112;
    margin-top: 70px;
    color: #ffffff;
}

#tf-header .breadcrumb {
    padding: 8px 15px;
    margin-bottom: 20px;
    list-style: none;
    background-color: transparent;
    border-radius: 4px;
    margin-left: -10px;
    margin-top: -10px;
}

#tf-header .breadcrumb > li + li:before {
    padding: 0 5px;
    color: #FFF;
    content: "/\00a0";
}

#tf-header .breadcrumb > li a {
    color: #ffffff
}

/* Secção Home */
#tf-home {
    background: url(../img/background.jpg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    color: #cfcfcf;
}

#tf-home .overlay {
    background: -moz-linear-gradient(top,  rgba(0,0,0,0.8) 0%, rgba(0,0,0,0.73) 17%, rgba(0,0,0,0.66) 35%, rgba(0,0,0,0.55) 62%, rgba(0,0,0,0.4) 100%); /* FF3.6+ */
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(0,0,0,0.8)), color-stop(17%,rgba(0,0,0,0.73)), color-stop(35%,rgba(0,0,0,0.66)), color-stop(62%,rgba(0,0,0,0.55)), color-stop(100%,rgba(0,0,0,0.4))); /* Chrome,Safari4+ */
    background: -webkit-linear-gradient(top,  rgba(0,0,0,0.8) 0%,rgba(0,0,0,0.73) 17%,rgba(0,0,0,0.66) 35%,rgba(0,0,0,0.55) 62%,rgba(0,0,0,0.4) 100%); /* Chrome10+,Safari5.1+ */
    background: -o-linear-gradient(top,  rgba(0,0,0,0.8) 0%,rgba(0,0,0,0.73) 17%,rgba(0,0,0,0.66) 35%,rgba(0,0,0,0.55) 62%,rgba(0,0,0,0.4) 100%); /* Opera 11.10+ */
    background: -ms-linear-gradient(top,  rgba(0,0,0,0.8) 0%,rgba(0,0,0,0.73) 17%,rgba(0,0,0,0.66) 35%,rgba(0,0,0,0.55) 62%,rgba(0,0,0,0.4) 100%); /* IE10+ */
    background: linear-gradient(to bottom,  rgba(0,0,0,0.8) 0%,rgba(0,0,0,0.73) 17%,rgba(0,0,0,0.66) 35%,rgba(0,0,0,0.55) 62%,rgba(0,0,0,0.4) 100%); /* W3C */
    padding: 20% 0;
    background-attachment: fixed;
}

#tf-home h1 {
    color: #e5b112
}

.content-heading p.lead {
    margin-bottom: 80px
}

a.goto-btn {
    font-size: 18px;
    font-weight: 700;
    border-bottom: 2px solid transparent;
    padding: 10px 0;
    transition: all 0.5s;
}

a.goto-btn:hover {
    color: #ffffff;
    border-bottom: 2px solid #e5b112;
}

/* Secção Introdução */
#tf-intro {
    background-color: #e5b112;
    padding: 5% 0;
    color: #ffffff;
    text-align: center;
}

#tf-intro img.intro-logo {
    margin: 0 auto;
    margin-bottom: 30px;
}

/* Secção Serviços */
#tf-services {
    padding: 60px 0
}

.section-header {
    padding: 40px 0;
    text-align: center;
}

.section-header h2 {
    text-transform: uppercase
}

.section-header h5 {
    letter-spacing: 1px
}

.fancy {
    line-height: 0.5;
    text-align: center;
    margin-bottom: 40px;
    margin-top: 20px;
}

.fancy span {
    display: inline-block;
    position: relative;
}

.fancy span:before, .fancy span:after {
    content: "";
    position: absolute;
    height: 5px;
    border-bottom: 1px solid #f1f1f1;
    top: 15px;
    width: 400px;
}

.fancy span:before {
    right: 100%;
    margin-right: 10px;
}

.fancy span:after {
    left: 100%;
    margin-left: 10px;
}

/* Listas de Serviços */
.service {
    margin-bottom: 20px
}

.service .media-right i.fa {
    text-align: center;
    font-size: 30px;
    background-color: #e5b112;
    color: #ffffff;
    padding: 25px 0;
    border-radius: 50px;
    border-top-left-radius: 0;
    margin: 0 10px;
    margin-right: 20px;
    width: 82px;
    height: 80px;
    transition: background-color 0.5s;
}

.service .media-left i.fa {
    text-align: center;
    font-size: 30px;
    background-color: #e5b112;
    color: #ffffff;
    padding: 25px 0;
    border-radius: 50px;
    border-top-right-radius: 0;
    margin: 0 10px;
    margin-left: 20px;
    width: 82px;
    height: 80px;
    transition: background-color 0.5s;
}

.process:hover i.fa, .service:hover i.fa {
    background-color: #333333
}

h4.media-heading {
    margin-top: 0;
    margin-bottom: 5px;
    font-size: 16px;
    font-weight: 400;
    text-transform: uppercase;
    color: #333;
    line-height: 20px;
}

/* Secção Sobre */
#tf-about {
    padding: 40px 0
}

.gray-bg {
    background-color: #f3f3f3
}

.img-wrap .profile-img {
    position: relative;
    margin-bottom: 40px;
}

.profile-img .social {
    position: absolute;
    z-index: 1;
    bottom: -10px;
    left: 50px;
}

.about-right-content {
    padding: 40px 0
}

.about-left-content {
    padding-bottom: 60px
}

.about-left-content h2, .about-left-content h2 small {
    color: #333;
    font-weight: 300;
}

ul.social li a.fa {
    background: #FFCC32;
    width: 50px;
    height: 50px;
    padding: 15px;
    text-align: center;
    margin-right: -5px;
    font-size: 20px;
    color: #ffffff;
    margin-bottom: 0;
}

ul.social li a.fa:hover {
    background-color: #333333
}

/* Secção Galerias */
.item .hover-bg {
    position: relative;
    overflow: hidden;
}

.hover-bg .hover-text {
    position: absolute;
    display: block;
    bottom: 0;
    width: 100%;
    height: 25%;
    padding: 20px;
    color: #ffffff;
    transition: all 0.8s;
    -webkit-transition: all 08s;
    -moz-transition: all 0.8s;
    -o-transition: all 0.8s;
}

.hover-bg .hover-text.on {
    opacity: 1
}

.hover-bg .hover-text.off {
    transition: all 0.3s;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -o-transition: all 0.3s;
    -webkit-transform: translateX(100%) translateY(-90%);
    transform: translateX(100%) translateY(-90%);
    opacity: 1;
    background: rgba(0, 0, 0, 0.70);
}

.hover-bg:hover .hover-text.off {
    -webkit-transform: translateX(0%) translateY(-90%);
    transform: translateX(0%)  translateY(-90%);
    opacity: 1;
}

.owl-theme .owl-controls .owl-page span {
    width: 15px;
    height: 15px;
    margin: 5px;
    background: #bababa;
}

#tf-works {
    padding: 60px 0
}

ul.cat {
    margin: 30px 0
}

ul.cat li a {
    background: inherit;
    border: 1px solid;
    padding: 5px 10px;
    border-radius: 3px;
}

ul.cat li a:hover, ul.cat li a:focus, ul.cat li a.active {
    background: #f1f1f1;
    border: 1px solid;
    padding: 5px 10px;
    border-radius: 3px;
    color: inherit;
}

.nopadding {
    padding: 0;
}

.box {
    margin-bottom: 10px;
}

.box a {
    margin: 10px;
}

.box .hover-bg {
    position: relative;
    overflow: hidden;
}

.box .hover-bg .hover-text {
    height: 100%;
    bottom: 0;
    -webkit-transform: translateX(0%) translateY(0%);
    transform: translateX(0%) translateY(0%);
    background: transparent;
}

.box:hover .hover-bg .hover-text {
    background-color: rgba(1, 1, 1, 0.5)
}

.box .hover-bg:hover .hover-text.off {
    -webkit-transform: translateX(0%) translateY(0%);
    transform: translateX(0%)  translateY(0%);
    opacity: 1;
}

.box .hover-text i.fa {
    font-size: 20px;
    background: #e5b112;
    padding: 13px;
    position: relative;
    top: 40%;
    border-radius: 50%;
    width: 45px;
    height: 45px;
    transition: all 0.5s;
}

.box .hover-text i.fa:hover {
    background: #333333
}

.box .hover-text i.fa.fa-expand {
    border-top-right-radius: 0;
    -webkit-transform: translateX(-400%) translateY(0%);
    transform: translateX(-400%)  translateY(0%);
    opacity: 0;
    transition: all 0.5s;
}

.box:hover .hover-text i.fa.fa-expand {
    -webkit-transform: translateX(0%) translateY(0%);
    transform: translateX(0%)  translateY(0%);
    opacity: 1;
}

.box .hover-text i.fa.fa-chain {
    border-top-left-radius: 0;
    -webkit-transform: translateX(400%) translateY(0%);
    transform: translateX(400%)  translateY(0%);
    opacity: 0;
    transition: all 0.5s;
}

.box:hover .hover-text i.fa.fa-chain {
    -webkit-transform: translateX(0%) translateY(0%);
    transform: translateX(0%)  translateY(0%);
    opacity: 1;
}

/* Filtro Isotope */
.isotope-item {
    z-index: 2
}

.isotope-hidden.isotope-item {
    z-index: 1
}

.isotope, .isotope .isotope-item {
    /* change duration value to whatever you like */
    -webkit-transition-duration: 0.8s;
    -moz-transition-duration: 0.8s;
    transition-duration: 0.8s;
}

.isotope-item {
    margin-right: -1px;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.isotope {
    -webkit-transition-property: height, width;
    -moz-transition-property: height, width;
    transition-property: height, width;
}

.isotope .isotope-item {
    -webkit-transition-property: -webkit-transform, opacity;
    -moz-transition-property: -moz-transform, opacity;
    transition-property: transform, opacity;
}

.nivo-lightbox-theme-default .nivo-lightbox-title {
    font-size: 14px;
    background: #f1f1f1;
    border: 1px solid #333;
    letter-spacing: 2px;
    color: #333;
    text-transform: uppercase;
    letter-spacing: 2px;
    padding: 10px 35px;
    border-radius: 2px;
}

.nivo-lightbox-theme-default.nivo-lightbox-overlay {
    background: #ffffff !important;
    background: rgba(255, 255, 255, 1) !important;
}

.nivo-lightbox-theme-default .nivo-lightbox-nav, .nivo-lightbox-theme-default .nivo-lightbox-close {
    opacity: 1
}

.nivo-lightbox-error {
    color: #C59A6D !important;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0) !important;
}

.nivo-lightbox-theme-default .nivo-lightbox-image img {
    background: #fff;
    -webkit-box-shadow: 0px 1px 1px rgba(0,0,0,0.4);
    -moz-box-shadow: 0px 1px 1px rgba(0,0,0,0.4);
    box-shadow: 0px 1px 1px rgba(0,0,0,0.4);
    border-top: 4px solid #e5b112;
}

/* Single Portfolio Detail */
#work-detail-one, #work-detail-two, #work-detail-three {
    padding: 60px 0
}

.work-detail .dl-horizontal dt {
    text-align: left;
    margin-bottom: 10px;
}

.work-related-thumb {
    margin-bottom: 30px
}

.work-related-thumb .img-thumbnail {
    display: inline-block;
    max-width: 100%;
    height: auto;
    padding: 0;
    line-height: 1.42857143;
    background-color: transparent;
    border: 1px solid transparent;
    border-radius: 0;
    -webkit-transition: all .2s ease-in-out;
    -o-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out;
}

.work-related-thumb .img-thumbnail:hover {
    opacity: 0.8
}

.other {
  width: auto;
  margin: 5px;
  padding: 5px;
}

.other > div {
  position: relative;
  float: left;
  padding: 5px;
}

.other > div > img {
  display: block;
  width: 250px;
  text-align: center;
  transition: .1s transform;
  transform: translateZ(0);
}

.other > div:hover {
  z-index: 1;
  border: 1px;
}

.other > div:hover > img {
  transform: scale(1.5,1.5);
  transition: .3s transform;
  border: 1px;
}

.cf:before, .cf:after {
  display: table;
  content: "";
  line-height: 0;
}

.cf:after {
  clear: both;
}

.buttons {
    padding-top: 20px;
    padding-bottom: 50px;
    text-align: center;
}

.btngalleries {
    border-radius: 5px;
    padding: 15px 25px;
    font-size: 22px;
    text-decoration: none;
    margin: 20px;
    color: #fff;
    position: relative;
    display: inline-block;
    background-color: #e5b112;
}

.btngalleries:hover {
    color: #fff;
}

/* Secção Promoções */
#tf-pricing {
    padding: 60px 0
}

.price h1 {
    font-size: 50px
}

.price {
    text-align: center
}

.price.panel-default {
    border-color: #333
}

.price.panel-default > .panel-heading {
    font-size: 20px;
    text-transform: uppercase;
    font-weight: 600;
    color: #FFF;
    background-color: #333333;
    border-color: inherit;
}

.price .panel-heading {
    padding: 30px 15px
}

.price .panel-body {
    border-bottom: 1px solid
}

.price ul.list-unstyled {
    padding: 20px
}

.price ul.list-unstyled li {
    padding: 10px 0
}

.price ul.list-unstyled li small {
    margin-top: -10px
}

/* Featured */
.price.featured {
    -moz-box-shadow: 0 0 6px 2px rgba(0, 0, 0, 0.31);
    -webkit-box-shadow: 0 0 6px 2px rgba(0, 0, 0, 0.31);
    box-shadow: 0 0 6px 2px rgba(0, 0, 0, 0.31);
}

.price.featured.panel-default {
    border-color: #e5b112;
    background-color: #ffffff;
    margin-top: -20px;
    position: relative;
    z-index: 1;
    margin-left: -5px;
    margin-right: -5px;
}

.price.featured.panel-default {
    border-color: #e5b112
}

.price.featured.panel-default > .panel-heading {
    background-color: #e5b112
}

.featured .panel-body {
    margin-top: 20px
}

.featured .panel-body, .featured.panel-default > .panel-heading {
    border-color: #e5b112
}

.featured .tf-btn {
    margin-top: 20px
}

.btn:focus, .btn:active:focus, .btn.active:focus, .btn.focus, .btn:active.focus, .btn.active.focus {
    outline: 0;
    outline: 0;
    outline-offset: 0;
}

.btn:active, .btn.active {
    background-image: none;
    outline: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
}

.tf-btn {
    font-size: 12px;
    word-spacing: 2px;
    font-weight: 700;
    padding: 10px 20px;
    background-color: #333333;
    text-transform: uppercase;
    border-color: #333333;
    transition: all 0.5s;
}

.tf-btn:focus, .tf-btn:hover {
    background-color: #333333;
    border-color: #e5b112;
}

.color {
    background-color: #e5b112;
    border-color: #e5b112;
}

.color:focus, .color:hover {
    border-color: #333333;
    background-color: #e5b112;
}


/* Secção Contactos */
#tf-contact {
    padding: 60px 0
}

#map-canvas {
    position: relative;
    width: 100%;
    height: 500px;
}

.contact-detail {
    text-align: center;
    margin: 60px 0;
}

.contact-detail i.fa {
    text-align: center;
    font-size: 30px;
    background-color: #e5b112;
    color: #ffffff;
    padding: 25px 0;
    border-radius: 50px;
    border-top-left-radius: 0;
    margin: 0 10px;
    margin-right: 20px;
    width: 82px;
    height: 80px;
    transition: background-color 0.5s;
}

.contact-detail:hover i.fa {
    background-color: #333333
}

form#contact-form {
    padding: 40px 0
}

.contact form#contact-form {
    padding: 0
}

.form-control:focus {
    border-color: inherit;
    outline: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
}

.form-control {
    display: block;
    width: 100%;
    height: 44px;
    padding: 10px 12px;
    font-size: 14px;
    line-height: 1.42857143;
    color: #555;
    background-color: #fff;
    background-image: none;
    border: 1px solid #ccc;
    border-radius: 4px;
    -webkit-box-shadow: none;
    box-shadow: none;
    -webkit-transition: none;
    -o-transition: none;
    transition: none;
}

p.help-block.text-danger ul li {
    display: block;
    margin-left: -20px;
    color: #e5b112;
}

#success .alert-danger {
    color: #e5b112;
    background-color: #FDFDFD;
    border-color: #e5b112;
    margin-bottom: 10px;
}

#tf-clients {
    padding: 60px 0
}

.login { 
    top: 50%;
    left: 50%;
    margin: 0 auto;
    width: 300px;
    height: 300px;
    text-align: center;
}

.login h1 {
    color: #fff;
    letter-spacing: 5px;
    text-align: center;
}

input { 
    width: 100%;
    margin-bottom: 10px;
    border: none;
    outline: none;
    padding: 10px;
    font-size: 13px;
    color: #ffffff;
    border: grey 1px solid;
    -webkit-transition: box-shadow .5s ease;
    -moz-transition: box-shadow .5s ease;
    -o-transition: box-shadow .5s ease;
    -ms-transition: box-shadow .5s ease;
    transition: box-shadow .5s ease;
}

/* Footer */
#tf-footer {
    padding: 3% 0 2% 0;
    background-color: #e5b112;
    color: #ffffff;
}

ul.social li a i {
    font-size: 18px;
    background: transparent;
    width: 32px;
    height: 32px;
    padding: 7px 0;
    text-align: center;
    border-radius: 50%;
    border-top-left-radius: 0;
    border: 1px solid transparent;
    color: #ffffff;
    transition: all 0.5s;
}

ul.social li a i:hover {
    border-color: #ffffff
}