body { font-size: 0.9rem }

h1,
h2,
h3 { margin-top: 20px; margin-bottom: 10px; }

h2 { font-size: 24px }





/* header transparente */
@media(min-width: 1200px) {
    header.header-transparente { border: none; 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 */





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

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

.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;
}

#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) }

#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;
    }

    .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 }

/*******************************************************
* Tipos de Letra
*******************************************************/
body,
.btn,
.info-item { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif }

/*******************************************************
* Banner
*******************************************************/
#banner {
    opacity: 0.0;
    filter: Alpha(opacity=0); /* IE8 and earlier */

    -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: #5A5A5A }
.share-print-options .instagram { color: #5A5A5A }
.share-print-options .twitter { color: #5A5A5A }
.share-print-options .google { color: #5A5A5A }
.share-print-options .youtube { color: #5A5A5A }
.share-print-options .linkedin { color: #5A5A5A }
.share-print-options .whatsapp { color: #5A5A5A }

@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: 10px }
#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;*/ }

/* 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;
}

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;
    }
}

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

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

/* Classe contentora do form colapsável/espandível */
.formulario-wrapper {
    text-align: center;
}

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

#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;
    }
}

#formulario-homepage {
    margin: auto;
    padding-top: 10px;
    padding-bottom: 10px;
}

/*******************************************************
* 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;
    min-height: 100%;
}

@media (max-width: 1500px) {
    .text-container { margin: 50px 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: 18px;
    color: #000;
    font-weight: 100;
}

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

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

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

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

    .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: 18px;
    }
}

/*******************************************************
* Footer
*******************************************************/

footer { width: 100%; padding: 0; }

footer p { margin: 0; padding: 20px 4px; }

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

footer a { margin: 0 10px; font-size: 0.86rem; }
footer img { height: 26px }

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

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

/* 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;
}

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

@media (max-width: 767px) {
    footer a { padding: 10px 0 !important; display: inline-block; }
}

/*******************************************************
* 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
}

.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;
}


/* 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;
}

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

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

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

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

#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) {
    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-block { overflow: hidden }


@media (max-width: 370px) {
    header .navbar { display: block }
    header .navbar-toggler-right { top: 5px }
}




header { width: 100% }

header .navbar a.nav-link {
    font-family: Tahoma, Geneva, sans-serif;
    text-transform: uppercase;
}
header.header-transparente .navbar a.nav-link {
    text-shadow: 1px 1px 2px #666666;
}

header .navbar a.nav-link,
header .navbar a.nav-link * { font-size: 0.9rem }

header.header-transparente,
header.header-transparente .navbar { background-color: rgba(255, 255, 255, 0); border: none; }

header.header-transparente .navbar a.nav-link,
header.header-transparente .navbar a.nav-link *,
header.header-transparente .nav-item.dropdown i { color: #ffffff }

header.header-transparente {
    position: absolute;
    max-width: 100%;
    min-width: 100%;
    width: 100%;
    z-index: 100;
}

@media(max-width: 991px) {
    ul.navbar-nav { background-color: #fff; border-radius: 4px; }

    header.header-transparente .navbar a.nav-link,
    header.header-transparente .navbar a.nav-link *,
    header.header-transparente .nav-item.dropdown i { color: #000000; text-shadow: none; }

    header .nav-item.dropdown .dropdown-menu { margin: 4px 20px }
}

@media(max-width: 575px) {
    header .navbar .container { width: 100% }
}


#formulario-wrapper {
    background-color: #eeeeee;
}

#pesquisa-colapsada {
    padding-top: 10px;
    padding-bottom: 10px;
}

.formulario-wrapper {
    background-color: rgb(238, 238, 238);
}


@media (max-width: 767px) {
    #pesquisa-colapsada {
        padding: 10px 20px;
    }
}










.form-control,
select.form-control {
	padding-right: 0;
	padding-left: 0;
}

.form-control,
select.form-control {
	height: calc(1.5em + .5rem + 2px) !important;
	padding: .25rem .5rem;
	font-size: .875rem;
	line-height: 1.5 !important;
	border-radius: .2rem
}






#formulario-pesquisa input,
#formulario-pesquisa select { margin: 6px 0 }
#formulario-pesquisa button { margin: 8px 0 }

body, p, h1, h2, h3, h4, h5, h6, span, span p, footer a, footer a:link, small {
	color:#07348d !important;
}