/* header transparente */
@media(min-width: 1200px) {
    header.header-transparente,
    header.header-transparente #top-header-bar { border: none }
    header.header-transparente { position: absolute; max-width: 100%; min-width: 100%; z-index: 10; }
}
@media(max-width: 1199px) {
    header.header-transparente { width: 100%; z-index: 100; position: absolute; }
}
/* end - header transparente */

.esconder-desktop{
    display:none;
}



@media (max-width: 1300px), (max-height: 700px) {
    header .navbar-brand img {
        height: 100%
    }
}

@media (max-width: 767px) {
    header .navbar-brand img {
        max-height: 100%
    }
    
}
@media (max-width: 1024px) {
    .esconder-desktop{
        display:block;
    }
    .esconder-mobile{
        display:none;
    }
    
}

.flexslider .slides div {
    height: 500px;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    background-color: #fff;
}

@media (max-width: 1400px) {
    .flexslider .slides div {
        height: 400px;
    }
}

@media (max-width: 900px) {
    .flexslider .slides div {
        height: 300px;
    }

    #photo-carousel div {
        height: 100px !important;
    }
}


/* alinhar os icones de fontawesome verticalmente dentro de botões */
button i.fa {
    vertical-align: inherit;
    font-size: 20px;
}

/* remove padding from css grid */

/* https://stackoverflow.com/questions/36413660/removing-padding-gutter-from-grid-columns-in-bootstrap-4 */
.row.no-gutters {
    margin-right: 0;
    margin-left: 0;
}

.row.no-gutters > div[class^="col-"],
.row.no-gutters > div[class*=" col-"] {
    padding-right: 0;
    padding-left: 0;
}

/**/
p.icon-text:before {
    font-family: 'FontAwesome';
    color: #000;
    margin: 0px 10px 0 0;
    font-size: 18px;
    float: left;
}

.icon-text span {
    display: block;
    overflow: hidden;
}

.icon-text.pointer:before {
    content: "\f041";
}

.icon-text.phone:before {
    content: "\f095";
}

.icon-text.fax:before {
    content: "\f1ac";
}

.icon-text.mail:before {
    content: "\f0e0";
}

.col-left {
    padding-right: 30px;
}

.col-right {
    padding-left: 30px;
}

@media (max-width: 1000px) {
    .col-left {
        padding-right: 10px;
    }

    .col-right {
        padding-left: 10px;
    }
}

@media (max-width: 500px) {
    .col-left,
    .col-right {
        padding: 10px;
    }
}

@media (max-width: 767px) {
    .col-right {
        margin-top: 40px;
    }

    .col-right .form-group {
        padding: 0;
    }

    .col-left h2 {
        text-align: center;
    }
}

/* contactos */
.col-right h3 {
    padding-left: 8px;
    padding-right: 8px;
    margin-bottom: 15px;
    font-weight: 300;
    color: #000;
}

#agencia-info,
#consultor-info {
    padding-right: 0
}

#agencia-info p,
#consultor-info p,
#agencia-info address,
#consultor-info address {
    margin-bottom: 5px
}

#agencia-info .photo-space,
#consultor-info .photo-space {
    padding-right: 8px;
    padding-left: 8px;
}

@media (max-width: 1000px) {
    #agencia-info p,
    #consultor-info p,
    #agencia-info address,
    #consultor-info address {
        font-size: 13px;
    }
}

.info-item-container {
    margin: 10px 0
}

.info-item {
    margin-bottom: 0;
    text-align: left;
}

@media (max-width: 991px) {
    .info-item {
        text-align: center;
    }
}

.info-item-label {
    color: #777;
    font-size: 14px;
    margin-bottom: 0;
}

.info-items-container hr {
    border-color: #ccc;
    margin: 5px 0;
}

.info-items-container,
.info-in-tabs {
    margin: 10px 0
}

.info-in-tabs * {
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -ms-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

.info-items-container {
    margin: 40px 0;
}

.info-in-tabs a.nav-link {
    background-color: transparent;
    color: #000;
}

@media (max-width: 767px) {
    .info-items-container {
        margin: 0;
    }
}

.nav-tabs .nav-link.active {
    border-color: #ddd #ddd transparent
}

.info-in-tabs .tab-content {
    margin: 10px;
    font-weight: 300;
    color: #000;
}

table {
    font-weight: 300;
}

#caracteristicas table th,
#areas table th {
    font-weight: 400
}

#caracteristicas table.table-striped tbody tr:nth-of-type(odd),
#areas table.table-striped tbody tr:nth-of-type(odd),
#imoveis table.table-striped tbody tr:nth-of-type(odd) {
    background-color: rgba(0, 0, 0, .03);
}

#imoveis table th {
    font-weight: 300
}

#caracteristicas table,
#areas table,
#imoveis th {
    border: none
}

.photo-space > div {
    background-position: top;
    /*background-size: contain;*/
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;

    background-size: auto 100%;
}

.info-items-container .row {
    margin: 0;
}

@media (max-width: 991px) {
    .info-items-container {
        text-align: center;
    }

    .photo-space {
        height: 100px;
        margin-bottom: 10px;
    }

    .photo-space > div {
        width: 130px;
    }
}

@media (max-width: 767px) {
    .photo-space {
        padding: 0 0 20px 0;
        height: 150px;
        margin-bottom: 0;
    }

    .photo-space > div {
        width: 175px;
        max-height: 100%;
        margin: auto;
    }

    #consultor-info .photo-space > div {
        width: 100%;
        max-width: 350px;
        max-height: 300px;
    }

    #consultor-info,
    #agencia-info {
        text-align: center;
    }

    #agencia-info {
        margin-bottom: 30px;
    }

    #agencia-info,
    #consultor-info {
        padding-right: 15px;
    }

    /* tabs */
    .nav-tabs .nav-link {
        text-align: center;
        border: 1px solid #ddd;
        border-radius: 10px;
        margin-bottom: 5px;
    }

    .nav-tabs .nav-link.active {
        border: 1px solid;
    }

    .info-in-tabs .tab-content {
        border-radius: 10px;
        margin: 0;
        padding: 10px;
    }

    .info-in-tabs .nav-tabs {
        display: block;
        border: none;
    }
}

@media (max-width: 1190px) {
    .description-space {
        font-size: 14px;
    }
}

@media (max-width: 767px) {
    .text-container {
        margin: 40px auto;
    }

    .info-item,
    .info-item-label {
        font-weight: 300;
        font-size: 14px;
    }

    .info-item-container {
        padding: 0 5px;
    }

    .info-items-container,
    .info-in-tabs,
    #agencia-consultor-container {
        background-color: #fff;
        padding-bottom: 10px;
        padding-top: 10px;
        -webkit-box-shadow: 0px 0px 27px -2px rgba(0, 0, 0, 0.28);
        -moz-box-shadow: 0px 0px 27px -2px rgba(0, 0, 0, 0.28);
        box-shadow: 0px 0px 27px -2px rgba(0, 0, 0, 0.28);
    }

    .info-items-container hr {
        width: 60%;
        margin-left: auto;
        margin-right: auto;
    }

    .info-in-tabs {
        padding: 15px;
    }

    #agencia-consultor-container {
        padding: 30px 15px 20px;
    }

    .info-in-tabs a.nav-link {
        color: #333;
        font-weight: 300;
    }
}

@media (max-width: 767px) {
    #caracteristicas table,
    #areas table,
    #imoveis table {
        font-size: 14px;
    }
}

@media (max-width: 500px) {
    #caracteristicas table th,
    #areas table th,
    #imoveis table th {
        font-size: 13px;
    }
}

@media (min-width: 767px) {
    .table-responsive {
        display: table;
    }
}


/* formulários */
form .btn-group *, form .select-container * {
    border-color: #c1c1c1;
}

.cor-vermelho-remover {
    color: #b41818
}

.cor-icones-cinzento i {
    color: #8a8a8a
}

/* favoritos */
.no-favorites-warning {
    text-align: center;
}

.remove-favorite {
    right: 10px;
}

/* limpar pesquisa */
#limpar-pesquisa {
    position: absolute;
    right: 5px;
    top: -7px;
    opacity: 0.9;
    font-size: 13px;
    height: auto !important;
    font-weight: initial;
}

@media (max-width: 767px) {
    #limpar-pesquisa {
        font-size: 14px !important;
        position: inherit;
        float: right;
        margin-bottom: 5px;
        margin-top: -10px;
        height: auto;
        margin-right: 5px;
    }
}

@media (min-width: 767px) {
    #limpar-pesquisa {
        margin-top: 5px
    }
}


/*******************************************************
* Reset
*******************************************************/
ul {
    margin: 0;
    padding: 0;
}

ul li {
    list-style-type: none
}

@media (min-width: 768px) {
    .container {
        width: 1600px;
        max-width: 100%;
    }
}

@media (max-width: 500px) {
    .container {
        padding: 0;
    }
}

/*******************************************************
* Tipos de Letra
*******************************************************/
body,
.btn,
.info-item {
    font-family: 'Roboto', sans-serif;
    font-weight: 300;
}

h1,
h2 {
    font-weight: 100;
}

h3,
h4,
h5,
h6 {
    font-weight: 300;
}

/*******************************************************
* Botões
*******************************************************/
.btn.focus,
.btn:focus {
    -webkit-box-shadow: 0px 0px 0px 2px rgba(0, 0, 0, 0.16);
    -moz-box-shadow: 0px 0px 0px 2px rgba(0, 0, 0, 0.16);
    box-shadow: 0px 0px 0px 2px rgba(0, 0, 0, 0.16);
}

/*******************************************************
* Banner
*******************************************************/
#banner {
    opacity: 0.0;
    filter: Alpha(opacity=0); /* IE8 and earlier */
    z-index: -1;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -ms-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

#banner .carousel-inner,
#banner .carousel-item {
    height: 100%;
}

#banner .carousel-item > div {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
}

/*******************************************************
* Video
*******************************************************/
video,
source {
    min-height: 100%;
    min-width: 100%;
}

#video {
    transition: all 0.5s ease;
    overflow: hidden;
    position: relative;
}

#video * {
    transition: all 0.5s ease;
}

#video iframe {
    transition: all 0.5s ease;
    position: relative
}

.loaded .ytplayer-container {
    display: block
}

.loaded .placeholder-image {
    opacity: 0
}

.placeholder-image {
    height: 100%;
    left: 0;
    min-height: 100%;
    min-width: 100%;
    position: fixed;
    top: 0;
    z-index: 1;
}

.ytplayer-shield {
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
}

/*******************************************************
* Mouse Scroll - Animated Icon
* http://jsfiddle.net/cmajo9h6/
*******************************************************/
.mouse-icon {
    border: 2px solid #000;
    border-radius: 16px;
    height: 40px;
    width: 24px;
    z-index: 10;
    opacity: 0.7;
    display: inline-block;
}

.mouse-icon-container {
    border-radius: 50%;
    background-color: #fff;
    width: 6em;
    height: 6em;
    display: inline-block;
    padding: 15px;
    transform: translateY(-150%);
    opacity: 0.7;
}

.mouse-icon-container p {
    margin: 5px
}

.mouse-icon .wheel {
    -webkit-animation-name: drop;
    -webkit-animation-duration: 1s;
    -webkit-animation-timing-function: linear;
    -webkit-animation-delay: 0s;
    -webkit-animation-iteration-count: infinite;
    -webkit-animation-play-state: running;
    -webkit-animation-name: drop;
    animation-name: drop;
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-delay: 0s;
    animation-delay: 0s;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-animation-play-state: running;
    animation-play-state: running;
}

.mouse-icon .wheel {
    position: relative;
    border-radius: 10px;
    background: #000;
    width: 2px;
    height: 6px;
    top: 4px;
    margin-left: auto;
    margin-right: auto;
}

@-webkit-keyframes drop {
    0% {
        top: 5px;
        opacity: 0;
    }
    30% {
        top: 10px;
        opacity: 1;
    }
    100% {
        top: 25px;
        opacity: 0;
    }
}

@keyframes drop {
    0% {
        top: 5px;
        opacity: 0;
    }
    30% {
        top: 10px;
        opacity: 1;
    }
    100% {
        top: 25px;
        opacity: 0;
    }
}

/*******************************************************
* Partilhar/Imprimir
*
* - Detalhe do Imóvel
* - Detalhe do Empreendimento
*******************************************************/
.share-print-options {
    text-align: right;
    margin-bottom: 20px;
}

.share-print-options li {
    display: inline-block;
    font-size: 24px;
    padding: 0 4px;
}

.share-print-options > li > a {
    width: 36px;
    height: 36px;
    background-color: #fff;
    border-radius: 50%;
    display: inherit;
    text-align: center;
    padding: 1px 7px;
}

.share-print-options li i {
    color: #555
}

.share-print-options .facebook {
    color: #3b5998
}

.share-print-options .instagram {
    color: #dd2a7b
}

.share-print-options .twitter {
    color: #0084b4;
}

.share-print-options .google {
    color: #d34836
}

.share-print-options .youtube {
    color: #CD201F
}

.share-print-options .linkedin {
    color: #0077b5
}

.share-print-options .whatsapp {
    color: #25D366
}

@media (max-width: 767px) {
    .share-print-options {
        text-align: center;
        margin-top: 0;
    }

    .share-print-options li {
        font-size: 40px;
        padding: 0 10px;
    }
}

/*******************************************************
* Imóveis Semelhantes e Tabs
*******************************************************/
.info-in-tabs {
    margin-top: 80px;
}

@media (max-width: 767px) {
    .info-in-tabs {
        margin-top: 40px;
    }
}

.datepicker,
.legenda {
    display: inline-block;
    vertical-align: middle;
}

.legenda {
    padding: 0 20px;
}

.legenda p,
.legenda-item {
    display: inline-block;
}


/*******************************************************
* Opções dos Resultados (Ordenação, Número de Cards, Ver
* Lista, Ver Grelha)
*
* - Resultados
* - Lojas
* - Equipa
* - Empreendimentos
*******************************************************/
#opcoes-resultados {
    margin-bottom: 40px
}

#opcoes-resultados > div {
    display: flow-root
}

#opcoes-resultados .right-options .dropdown {
    display: inline-block
}

#opcoes-resultados .left-options button,
#opcoes-resultados .right-options button {
    border-radius: 10px
}

#opcoes-resultados .left-options i {
    margin-right: 10px
}

@media (max-width: 900px) {
    #opcoes-resultados > div {
        display: inline-block;
        width: 100%;
    }

    #opcoes-resultados > p {
        text-align: center
    }

    #opcoes-resultados .right-options .dropdown {
        display: grid;
        margin: 10px auto;
    }

    #opcoes-resultados .left-options button {
        display: block;
        margin: 10px auto;
    }

    #opcoes-resultados .right-options {
        float: none
    }

    #opcoes-resultados .left-options {
        width: 100%
    }

    #opcoes-resultados .right-options,
    #opcoes-resultados .left-options {
        text-align: center
    }

    #opcoes-resultados .right-options .dropdown,
    #opcoes-resultados .left-options button {
        width: 70%
    }

    #opcoes-resultados .right-options button {
        width: 100%
    }
}

@media (max-width: 767px) {
    #opcoes-resultados .left-options button {
        display: none;
    }
}

/*******************************************************
* Formulários
*
* - Vender Casa
* - Comprar Casa
* - Recrutamento
*******************************************************/
#formulario {
    margin: auto
}

.form-container form {
    text-align: left;
    display: inline-block;
    width: 100%;
    margin: auto;
}

.form-container form .form-group {
    display: inherit
}

.form-container h2,
.form-container h3,
.form-container h4,
.form-container p {
    padding-left: 20px;
    padding-right: 20px;
}

.form-container .btn-group {
    padding-left: 15px;
    padding-right: 15px;
}

.form-container {
    margin-left: 90px;
    margin-right: 90px;
}

@media (max-width: 1100px) {
    .form-container {
        margin-left: 10px;
        margin-right: 10px;
    }
}

@media (max-width: 900px) {
    .form-container,
    .form-container .form-group {
        margin-left: 0;
        margin-right: 0;
        padding: 0;
    }

    .form-container .btn-group {
        padding-left: 5px;
        padding-right: 5px;
    }

    .form-container h2,
    .form-container h3,
    .form-container h4,
    .form-container p {
        padding-left: 10px;
        padding-right: 10px;
    }
}

/* Estilos dos Elementos dos Formulários */
input,
textarea,
select,
form button {
    font-family: 'Roboto', sans-serif;
    border-radius: 10px !important;
}

/* calendario - reservas */
select.ui-datepicker-month {
    border-radius: 7px !important;
    border-bottom-right-radius: 0 !important;
    border-top-right-radius: 0 !important;
}

select.ui-datepicker-year {
    border-radius: 7px !important;
    border-bottom-left-radius: 0 !important;
    border-top-left-radius: 0 !important;
}

.ui-datepicker th {
    font-weight: 300 !important;
}

form option {
    font-weight: 300
}

select {
    width: 100%;
}

textarea {
    min-height: 150px;
}

.btn-group,
.btn-group-group {
    margin-bottom: 10px;
    float: left;
}

.btn-group {
    padding-left: 5px;
    padding-right: 5px;
}

@media (max-width: 767px) {
    .btn-group-group {
        margin-bottom: 0;
    }
}

/* Cantos arredondados */
.btn-cantos-arredondados {
    border-radius: 10px !important;
}

.btn-sem-canto {
    border-radius: 0 !important;
    margin-left: -1px;
}

.btn-canto-esquerdo {
    border-radius: 10px 0 0 10px !important;
}

.btn-canto-direito {
    border-radius: 0 10px 10px 0 !important;
    margin-left: -2px;
}

/* Transições */
select,
input,
textarea,
form button {
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -ms-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

/*******************************************************
* Formulário de Pesquisa da Homepage
*******************************************************/

/* Cores */
.formulario-wrapper {
    background-color: #fff;
}

#formulario-homepage .form-divider {
    border-color: #aaa;
}

/* Classe contentora do form colapsável/espandível */
.formulario-wrapper {
    -webkit-box-shadow: 0px 15px 44px -16px rgba(0, 0, 0, 0.37);
    -moz-box-shadow: 0px 15px 44px -16px rgba(0, 0, 0, 0.37);
    box-shadow: 0px 15px 44px -16px rgba(0, 0, 0, 0.37);
    text-align: center;
}

#formulario-pesquisa {
    text-align: left;
    display: inline-block;
    max-width: 100%;
    width: 100%;
    margin-top: 10px;
}

#formulario-pesquisa label {
    position: absolute;
    margin-top: 7px;
    margin-left: 12px;
    font-size: 14px; /* unselectable labels */
    -webkit-user-select: none; /* Chrome/Safari */
    -moz-user-select: none; /* Firefox */
    -ms-user-select: none; /* IE10+ */ /* Rules below not implemented in browsers yet */
    -o-user-select: none;
    user-select: none;
}

#formulario-pesquisa .arrow-down-select {
    position: absolute;
    right: 30px;
    bottom: 6px;
    font-size: 22px;
}

/* tirar o tamanho da seta*/
#formulario-pesquisa .arrow-down-select i {
    width: 0;
    pointer-events: none;
}

/* remover seta/caret de default */
#formulario-pesquisa select {
    background-image: none;
    padding: 20px 40px 2px 12px;
}

#formulario-pesquisa input {
    padding: 20px 12px 2px 12px;
}

#formulario-pesquisa select,
#formulario-pesquisa input,
#formulario-pesquisa button {
    height: 65px;
    font-size: 18px;
}

#formulario-pesquisa #limpar-pesquisa {
    font-size: 14px;
}

#formulario-pesquisa #pesquisa-preco-min,
#formulario-pesquisa #pesquisa-preco-max {
    font-size: 14px;
}

#formulario-pesquisa .select-container {
    position: relative;
}

@media (max-width: 767px) {
    #formulario-pesquisa select,
    #formulario-pesquisa input,
    #formulario-pesquisa button {
        height: 50px;
        font-size: 14px;
    }
}

/* Colocar o seletor de local (distrito, concelho, e freguesia ou província, cidade, e zona) em 3 linhas */
@media (max-width: 400px) {
    #formulario-pesquisa #local-btn-group {
        display: block;
        margin-bottom: 0;
    }

    #formulario-pesquisa #local-btn-group .select-container {
        width: 100% !important;
        margin-bottom: 10px;
    }

    #formulario-pesquisa #local-btn-group select {
        border-radius: 10px !important;
    }
}

#pesquisa-mais-opcoes {
    display: table;
}

#pesquisa-mais-opcoes .custom-checkbox {
    margin: 0;
    position: relative;
}

#pesquisa-mais-opcoes .custom-checkbox .custom-control-input {
    height: auto
}

#pesquisa-mais-opcoes .checkbox-group-container {
    padding-top: 5px;
}

#pesquisa-mais-opcoes .checkbox-group {
    display: inline-block;
    text-align: left;
}

@media (max-width: 950px) {
    #pesquisa-mais-opcoes .checkbox-group-container {
        padding-top: 3px;
    }
}

@media (max-width: 810px) {
    #pesquisa-mais-opcoes .checkbox-group-container {
        padding-top: 0;
    }
}

@media (max-width: 767px) {
    #pesquisa-mais-opcoes .select-container {
        margin-bottom: 10px;
    }
}


/* Pesquisa colapsável (em todas as páginas menos na página inicial) */
#btn-form-colapsado {
    width: 100%;
    border-radius: 0;
    border: none;
    padding: 15px 0;
}

#btn-form-colapsado:focus {
    border: none;
    box-shadow: none;
}

#btn-form-colapsado i {
    font-size: 16px;
    vertical-align: text-top;
    margin-left: 10px;
}

/*******************************************************
* Formulário de Pesquisa da Homepage
*******************************************************/
.formulario-homepage-wrapper {
    top: -5px
}

#formulario-homepage {
    margin: auto;
    padding: 60px 40px;
    -webkit-box-shadow: 0px 0px 39px 0px rgba(0, 0, 0, 0.16);
    -moz-box-shadow: 0px 0px 39px 0px rgba(0, 0, 0, 0.16);
    box-shadow: 0px 0px 39px 0px rgba(0, 0, 0, 0.16);
}

#formulario-homepage .form-divider {
    max-width: 500px;
    margin: 10px auto 40px auto;
}

/* 'Pesquisa de Imóveis', 'Quanto Vale a Minha Casa?' */
#formulario-homepage .form-heading {
    font-size: 25px;
    margin-bottom: 20px;
}

@media (max-width: 1100px) {
    #formulario-homepage {
        padding: 45px 20px;
    }
}

@media (max-width: 500px) {
    .formulario-homepage-wrapper {
        top: -95px;
    }
}

@media (max-width: 465px) {
    #formulario-homepage {
        padding: 20px 0;
        margin-top:-200px!important;
    }

    .navbar-brand img{
        width:50%!important;
    }

    #formulario-homepage .form-heading {
        font-size: 20px;
        margin-bottom: 10px;
    }

    #formulario-homepage .form-divider {
        margin: 10px auto;
    }
}

@media (max-width: 1000px) {
    #formulario-homepage button {
        height: 65px;
        font-size: 13px;
    }
}

@media (max-width: 950px) {
    #formulario-pesquisa select,
    #formulario-pesquisa input,
    #formulario-pesquisa button {
        height: 60px;
        font-size: 13px;
    }

    #formulario-pesquisa button {
        padding: 8px 10px;
    }
}

@media (max-width: 991px) {
    #formulario-homepage .btn-group-group {
        margin-bottom: 0;
    }
}

@media (min-width: 767px) and (max-width: 991px) {
    #formulario-homepage label {
        font-size: 13px;
    }
}

@media (max-width: 767px) {
    #formulario-pesquisa button {
        font-size: 16px;
    }
}

@media (max-width: 500px) {
    #formulario-pesquisa select,
    #formulario-pesquisa input,
    #formulario-pesquisa button {
        height: 50px;
        font-size: 14px;
    }

    #formulario-pesquisa label {
        font-size: 13px;
        margin-top: 5px;
    }
}

/* Colocar o seletor de local (distrito, concelho, e freguesia ou província, cidade, e zona) em 3 linhas */
@media (max-width: 600px) {
    #formulario-homepage #local-btn-group {
        display: block;
        margin-bottom: 0;
    }

    #formulario-homepage #local-btn-group .select-container {
        width: 100% !important;
        margin-bottom: 10px;
    }

    #formulario-homepage #local-btn-group select {
        border-radius: 10px !important;
    }
}

/*******************************************************
* Formulário de contacto 'Contactar Imobiliária'
*
* Nas páginas:
* - Contactos
* - Detalhe de Imóvel
* - Detalhe do Empreendimento
*******************************************************/
#formulario-contacto {
    display: inline-block;
    max-width: 100%;
    width: 100%;
}

#formulario-contacto p {
    display: inherit;
    margin: 15px 0 5px 0;
    padding: 0 8px 0 8px;
}

#formulario-contacto .form-group {
    display: inherit
}

#formulario-contacto .btn-group {
    padding-left: 10px;
    padding-right: 10px;
}

@media (max-width: 767px) {
    #formulario-contacto h3 {
        text-align: center
    }
}

/*******************************************************
* Container do conteúdo nas páginas (exceto na página
* inicial)
*******************************************************/
.text-container {
    padding: 0 5px;
    margin: 90px auto;
    text-align: justify;
}

.text-container h2 {
    font-size: 20px;
}

.text-container h3 {
    font-size: 18px;
}

.text-container h4 {
    font-size: 16px;
}

.text-container iframe {
    width: 100%;
    height: 300px;
}

@media (max-width: 1500px) {
    .text-container {
        margin: 70px auto;
    }

    .text-container .section-heading {
        margin-bottom: 60px;
    }
}

/* tabs */
.info-in-tabs #video-yt {
    text-align: center;
}

.info-in-tabs #video-yt iframe {
    width: 600px;
    height: 300px;
}

/*******************************************************
* Títulos
*
* - 'Imóveis Destacados'
* - 'Imóveis Recentes'
* - 'Imóveis Semelhantes'
* - 'Resultados'
* - 'Apartamento XPTO'
* - etc
*******************************************************/
.centered-section-heading,
.left-section-heading {
    font-size: 40px;
    color: #000;
    font-weight: 100;
}

.centered-section-heading {
    text-align: center;
}

.centered-section-heading small {
    font-size: 20px;
    font-weight: 300;
}

h1.centered-section-heading {
    margin-bottom: 100px;
}

h2.centered-section-heading {
    font-size: 40px;
    margin-bottom: 3.5rem;
    margin-top: 10px;
}

.left-section-heading {
    text-align: left;
    margin-bottom: 10px !important;
}

p.left-section-heading.preco {
    font-size: 28px;
    font-weight: 400;
}

@media (max-width: 1000px), (max-height: 900px) {
    h1.centered-section-heading,
    h2.centered-section-heading,
    .left-section-heading {
        font-size: 30px;
    }

    .centered-section-heading small {
        font-size: 14px;
    }
}

@media (max-width: 767px) {
    .left-section-heading {
        text-align: center;
    }
}

@media (max-width: 700px) {
    h1.centered-section-heading,
    h2.centered-section-heading,
    .left-section-heading {
        font-size: 26px;
    }
}

/*******************************************************
* Footer
*******************************************************/
footer {
    text-align: center;
    width: 100%;
    padding: 20px 0;
}

footer p {
    margin: 0
}

footer p a,
footer p a:hover {
    text-decoration: none
}

/* Sticky Footer */
html {
    position: relative;
    min-height: 100%;
}

footer a,
footer a:link,
footer a:active,
footer a:visited {
    border: none;
    outline: none;
}

/* Transições */
footer a,
footer i {
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -ms-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

/* Redes Sociais */
footer .social-networks-container {
    display: inline-block;
    position: relative;
    top: -33px;
    padding: 0 20px;
}

footer .social-networks-container i {
    border-radius: 50%;
    border: 1px solid;
    width: 2em;
    height: 2em;
    padding: 7px;
    margin: 0 2px;
}

/* Nome da Empresa */
footer .nome-empresa {
    font-weight: 400;
    font-style: italic;
    font-size: 26px;
    padding: 0 10px;
}

/* Centro de Resolução de Litígios */
footer .legal a,
footer .legal a:hover {
    text-decoration: underline;
}

footer .ami {
    margin-bottom: 10px;
}

/*******************************************************
* Modal
*******************************************************/
.modal-title {
    font-weight: 100
}

.modal-content p {
    margin-bottom: 0
}

@media (min-width: 767px) {
    .modal-footer button {
        width: inherit
    }
}

@media (max-width: 500px) {
    .modal-title {
        font-size: 18px
    }

    .modal-content p {
        font-size: 14px
    }
}

/*******************************************************
* Botão - Ir para o Topo
*******************************************************/
#goTopBtn {
    display: none;
    position: fixed;
    bottom: 20px;
    right: 30px;
    z-index: 99;
    border: 1px solid #999;
    outline: none;
    background-color: #fff;
    color: #111;
    cursor: pointer;
    padding: 2px 15px;
    border-radius: 150px;
    height: 80px;
    width: 80px;
}

#goTopBtn:hover {
    background-color: #eee;
}

#goTopBtn p {
    margin-bottom: 5px;
}

#goTopBtn i {
    font-size: 40px;
}

@media (max-width: 767px) {
    #goTopBtn {
        bottom: 25px;
        right: 10px;
        padding: 0 12px;
        height: 70px;
        width: 70px;
    }

    #goTopBtn i {
        font-size: 30px;
    }
}

/*******************************************************
* Paginação
*******************************************************/
.pagination {
    display: inline-flex;
    margin-top: 30px;
}

.pagination .page-item {
    margin-right: 2px;
    margin-left: 2px;
    display: grid;
}

.pagination .page-link {
    border-radius: 10px !important
}

.pagination .page-item:first-child .page-link {
    padding: 9px 13px 7px 11px
}

.pagination .page-item:last-child .page-link {
    padding: 9px 11px 7px 13px
}

/*******************************************************
* Estilos
*******************************************************/
.uppercase {
    text-transform: uppercase
}

.full-width {
    display: block;
    width: 100%;
}

.no-spacing {
    margin: 0;
    padding: 0;
}

.center {
    text-align: center !important
}

.vcenter {
    position: inherit;
    top: 50%;
    transform: translateY(-50%);
}

/*******************************************************
* Indicador de Dispositivos
*******************************************************/
#mobile-indicator {
    display: none;
}

@media (max-width: 767px) {
    #mobile-indicator {
        display: block;
    }
}

/*******************************************************
* Mostrar que é clicável
*******************************************************/
.fav-imovel-detalhe:hover {
    cursor: pointer;
}

/*******************************************************
* Dropdown dos Favoritos
*******************************************************/
#fav-dropdown .dropdown-menu {
    max-height: 70vh;
    overflow: auto;
}

.fav-item-container h5,
.fav-item-container .fav-local {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 230px;
}

@media (max-width: 991px) {
    .fav-item-container h5,
    .fav-item-container .fav-local {
        width: 80%;
        max-width: 80%;
    }
}

@media (max-width: 767px) {
    .fav-item-container h5,
    .fav-item-container .fav-local {
        width: 70%;
        max-width: 70%;
    }
}

@media (max-width: 400px) {
    .fav-item-container h5,
    .fav-item-container .fav-local {
        width: 60%;
        max-width: 60%;
    }

    .fav-item-container h5 {
        font-size: 15px !important;
    }

    .fav-item-container .fav-local {
        font-size: 14px !important;
    }
}

@media (max-width: 360px) {
    #fav-dropdown .dropdown-item {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
}

/*******************************************************
* Detalhe do Imóvel
*******************************************************/
#featured-imovel-text {
    min-width: 100%;
    display: inline-block;
    padding: 7px 40px;
    text-align: center;
    font-weight: 700;
    font-size: 18px;
    z-index: 2;

    -webkit-box-shadow: 0px 6px 39px -6px rgba(0, 0, 0, 0.53);
    -moz-box-shadow: 0px 6px 39px -6px rgba(0, 0, 0, 0.53);
    box-shadow: 0px 6px 39px -6px rgba(0, 0, 0, 0.53);
}


/* fazer fade in dos elementos */
section,
.formulario-wrapper {
    opacity: 0.0;
    filter: Alpha(opacity=0); /* IE8 and earlier */
}

#formulario-contacto .alert {
    margin: 10px 10px 0 10px
}

/* reservas do imóvel */
#reservas-calendar-container {
    width: 273px;
    display: inline-block;
    margin-top: 10px;
    margin-left: 20px;
    margin-right: 20px;
    text-align: center;
}

#reservas-calendar-container .legenda {
    padding: 0;
    width: 100%;
    margin-top: 15px;
    margin-bottom: 15px;
}

#reservas-calendar-container .legenda-item {
    height: 26px;
    width: 130px;
    text-align: center;
}

#reservas-calendar-container .legenda-item.legenda-livre {
    float: left;
}

#reservas-calendar-container .legenda-item.legenda-reservado {
    float: right;
}

@media (max-width: 767px) {
    #reservas-calendar-container {
        width: 100%;
        margin: 0;
    }

    #reservas-calendar-container .legenda {
        width: 272px;
        max-width: 100%;
    }

    .info-in-tabs .tab-content {
        padding: 10px 0;
    }

    .datepicker,
    .datepicker .ui-datepicker {
        max-width: 100%;
    }
}

.legenda-livre,
.ui-datepicker-calendar a.ui-state-default {
    background-color: #fff;
    border: 1px solid #cfcfcf;
}

.ui-datepicker-calendar td.ui-datepicker-today a {
    background: #fff;
    border-color: #999;
    color: #000;
}

.ui-datepicker-calendar td.ui-datepicker-current-day a {
    background: #eee;
    border-color: #000;
    color: #000;
}

/* 404 */
#sad-404 {
    width: 100px;
    margin: 50px 30px;
}

/* Styles do Typeheader 
 *
 * Lista de possibilidades, no input da localização (só se aplica na pesquisa aberta)
 */
label {
    z-index: 2
}

.twitter-typeahead {
    width: 100%;
}

.twitter-typeahead .tt-query,
.twitter-typeahead .tt-hint {
    margin-bottom: 0;
    border-radius: 4px;
}

.tt-hint {
    width: 100%;
    border: none;
}

.tt-dropdown-menu {
    min-width: 160px;
    margin-top: 2px;
    padding: 5px 0;
    background-color: #fff;
    border: 1px solid #ccc;
    border: 1px solid rgba(0, 0, 0, .2);
    *border-right-width: 2px;
    *border-bottom-width: 2px;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    border-radius: 6px;
    -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .2);
    -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, .2);
    box-shadow: 0 5px 10px rgba(0, 0, 0, .2);
    -webkit-background-clip: padding-box;
    -moz-background-clip: padding;
    background-clip: padding-box;
    width: 100%;
    max-height: 250px;
    overflow-y: auto;
}

.tt-suggestion {
    display: block;
    padding: 3px 20px;
    font-size: 16px;
}

.tt-suggestion.tt-is-under-cursor {
    color: #fff;
    background-color: #AFAFAF;
}

.tt-suggestion.tt-is-under-cursor a {
    color: #fff;
}

.tt-suggestion p {
    margin: 0;
}


/* header */
/*******************************************************
* Cores
*******************************************************/
#fav-dropdown .dropdown-menu hr {
    border-color: #333
}

/*******************************************************
* Estilos
*******************************************************/
header p {
    margin: 0;
}

header a,
header a:link,
header a:active,
header a:visited {
    border: none;
    outline: none;
    text-decoration: none;
}

header .dropdown button::after {
    display: none;
}

@media (max-width: 1000px) {
    header p {
        font-size: 14px;
    }
}

/*******************************************************
* Transições
*******************************************************/
#top-header-bar *,
header .dropdown-menu *,
header .nav-item,
header .nav-item a {
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -ms-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

/*******************************************************
* Retirar o estilo default do bootstrap das dropdowns
* selecionadas (Reset)
*
* (seletor de língua)
*******************************************************/

/* efeitos dos botoes dropdowns */
header div.invisible-dropdown .btn:hover,
header div.invisible-dropdown .btn:focus,
header div.invisible-dropdown .btn:active,
header div.invisible-dropdown .btn.active {
    text-decoration: none;
}

header div.invisible-dropdown button {
    padding: 0 5px;
    margin: 0;
    border: none;
    background-color: transparent;
}

/* remover 'border' default do bootstrap no botão dropdown quando tem focus */
header div.invisible-dropdown button:focus {
    -webkit-box-shadow: none;
    box-shadow: none;
}

/*******************************************************
* Barra de cima do header (acima da barra de navegação)
*******************************************************/
#top-header-bar a,
#top-header-bar i,
#top-header-bar ul,
#top-header-bar ul li {
    display: inline-block;
}

#top-header-bar .left-content {
    padding: 5px 0;
}

#top-header-bar .left-content li {
    margin-right: 30px;
}

#top-header-bar .right-content {
    padding: 2px 0;
}

#top-header-bar .social-networks-container a {
    margin-right: 6px;
}

#top-header-bar .social-networks-container a i:hover,
#top-header-bar .email-contact a:hover,
#top-header-bar .phone-contact p:hover {
    text-decoration: none;
}

#top-header-bar #language-selector button:hover,
#top-header-bar #language-selector button:focus,
#top-header-bar #language-selector button:active {
    outline: 0.1px solid #444;
}

#language-selector button {
    padding: 2px 3px;
}

@media (max-width: 1600px) {
    #top-header-bar .container {
        padding-right: 30px;
        padding-left: 30px;
    }
}

@media (max-width: 1000px) {
    #top-header-bar a,
    #top-header-bar i {
        font-size: 14px;
    }

    #language-selector button {
        padding: 0;
    }

    #top-header-bar .left-content {
        padding: 3px 0;
    }
}

@media (max-width: 991px) {
    #top-header-bar .container {
        padding-left: 15px;
    }
}

@media (max-width: 767px) {
    header .navbar .container {
        padding-left: 30px;
    }

    #top-header-bar .container {
        padding-left: 30px;
    }
}

@media (max-width: 575px) {
    #top-header-bar .container {
        padding-left: 46px !important;
    }
}

/*******************************************************
* Barra de baixo do header (barra de navegação / navbar)
*******************************************************/
header .navbar {
    padding-top: 10px;
    padding-bottom: 10px;
}

header .navbar a.nav-link,
header .navbar a.dropdown-item {
    font-weight: 300;
}

header .navbar-toggler-icon {
    font-size: 26px !important;
    line-height: 39px;
}

header .dropdown-menu { /* sombra à volta */
    -webkit-box-shadow: 0px 0px 39px 0px rgba(0, 0, 0, 0.16);
    -moz-box-shadow: 0px 0px 39px 0px rgba(0, 0, 0, 0.16);
    box-shadow: 0px 0px 39px 0px rgba(0, 0, 0, 0.16);
}

@media (max-width: 991px) {
    #fav-dropdown button {
        padding: 0 16px 0 16px !important;
    }

    header nav .dropdown button p {
        font-size: 16px;
    }

    header nav .dropdown button {
        vertical-align: inherit;
    }
}

@media (max-width: 575px) {
    header .navbar .container {
        margin: 0;
    }

    #top-header-bar .container {
        padding-left: 15px;
    }
}

header nav .dropdown-toggle::after {
    content: none;
}

header .nav-item.dropdown {
    padding: 0 !important;
}

header .nav-item.dropdown i {
    position: relative;
    right: 0;
    top: 50%;
    margin-left: 3px;
}

@media (max-width: 360px) {
    header .navbar .container {
        padding: 0;
    }

    header .navbar {
        padding-left: 20px;
    }

    #top-header-bar .container {
        padding: 0 20px !important;
    }

    #top-header-bar #language-selector .dropdown-item {
        font-size: 16px;
        padding: 12px 25px;
        font-weight: 300;
        color: #ccc;
    }

    #top-header-bar #language-selector .dropdown-item img {
        margin-right: 10px;
    }
}

header .navbar-toggleable-md .navbar-nav .nav-link {
    padding-right: 16px;
    padding-left: 16px;
}

#fav-dropdown .dropdown-menu {
    min-width: 400px;
    width: auto;
}

#fav-dropdown .dropdown-item p,
#fav-dropdown .dropdown-item h5 {
    display: inline-block;
    font-weight: 400;
}

#fav-dropdown .dropdown-item p {
    font-size: 14px;
}

#fav-dropdown .remove-favorite p {
    font-size: 16px;
}

#fav-dropdown .dropdown-item h5 {
    font-size: 16px;
}

#fav-dropdown .dropdown-menu hr {
    margin: 10px 1.5rem;
}

#fav-dropdown .fav-item-container {
    position: relative;
}

#fav-dropdown .remove-favorite {
    right: 22px;
    position: absolute;
    bottom: 8px;
}

@media (max-width: 991px) {
    #fav-dropdown .dropdown-menu {
        width: 100%;
        min-width: 200px;
    }
}

@media (max-width: 767px) {
    #language-selector {
        padding: 0!important;
    }

    #language-selector > button {
        width: 100%;
        text-align: left;
    }

    header .navbar-brand img {
        height: auto;
        max-width: 260px;
        max-height: 50px;
    }
}

@media (max-width: 400px) {
    header .navbar-brand img {
        max-width: 200px;
    }
}

#resultados,
.card-body {
    overflow: hidden;
}

@media (max-width: 470px) {
    #top-header-bar .left-content {
        width: 100%;
        text-align: center;
    }
    
    #top-header-bar .left-content .phone-contact {
        display: block;
        font-size: 0.9rem;
        margin: 2px;
    }
}


@media (max-width: 390px) {
    header .navbar .container {
        padding-left: 15px
    }
}

@media (max-width: 370px) {
    .language-selector-container {
        width: 100%;
        text-align: center;
    }

    header .navbar {
        display: block;
    }

    header .navbar-toggler-right {
        top: 5px;
    }
}


/* atualizações */
#mais-opcoes-link {
    font-weight: initial;
}



header { width: 100% }

/* header transparente */
header.header-transparente { border-bottom: 1px solid #ccc }
header.header-transparente a,
header.header-transparente p,
header.header-transparente #top-header-bar .social-networks-container a:focus { color: #666 }

@media(min-width: 992px) {
  header.header-transparente { border: none }
  header.header-transparente .navbar a.nav-link { color: #000 }
  header.header-transparente .navbar a.nav-link:hover { color: #444 }
  header.header-transparente .nav-item.dropdown i { color: #000 }
  header.header-transparente #top-header-bar { border: none }
  header.header-transparente,
  header.header-transparente .navbar,
  header.header-transparente #top-header-bar { background-color: rgba(255, 255, 255, 0); }
  header.header-transparente { position: absolute; max-width: 100%; min-width: 100%; z-index: 10; }

  header.header-transparente #top-header-bar .email-contact a,
  header.header-transparente #top-header-bar .phone-contact p,
  header.header-transparente #top-header-bar i { color: #000 }

  header.header-transparente #top-header-bar .email-contact a:hover,
  header.header-transparente #top-header-bar .phone-contact p:hover,
  header.header-transparente #top-header-bar i:hover { color: #444 }
}

@media(max-width: 1199px) {
  header.header-transparente { width: 100%; z-index: 100; position: absolute; }
}
