/*!
 * Start Bootstrap - Modern Business HTML Template (http://startbootstrap.com)
 * Code licensed under the Apache License v2.0.
 * For details, see http://www.apache.org/licenses/LICENSE-2.0.
 */

/* Global Styles */

html,
body {
    height: 100%;
}

body {
    padding-top: 50px; /* Required padding for .navbar-fixed-top. Remove if using .navbar-static-top. Change if height of navigation changes. */
}

.img-portfolio {
    margin-bottom: 30px;
}

.img-hover:hover {
    opacity: 0.8;
}

/* Home Page Carousel */

header.carousel {
    height: 50%;
    min-height: 308px;
}

header.carousel .item,
header.carousel .item.active,
header.carousel .carousel-inner {
    height: 100%;
}

header.carousel .fill {
    width: 100%;
    height: 100%;
    background-position: center;
    background-size: cover;
}

#carousel-fluid-container {
    overflow: hidden;
    padding: 0;
}

/* 404 Page Styles */

.error-404 {
    font-size: 100px;
}

/* Pricing Page Styles */

.price {
    display: block;
    font-size: 50px;
    line-height: 50px;
}

.price sup {
    top: -20px;
    left: 2px;
    font-size: 20px;
}

.period {
    display: block;
    font-style: italic;
}

/* Footer Styles */

footer {
    margin: 50px 0;
}

/* Responsive Styles */

@media (max-width: 991px) {
    .customer-img,
    .img-related {
        margin-bottom: 30px;
    }

}

@media (max-width: 767px) {
    .img-portfolio {
        margin-bottom: 15px;
    }

    header.carousel .carousel {
        height: 70%;
    }

    #property-rol-form-header {
        font-size: 36px;
    }
}

#custom-content-row {
    padding-left: 24px;
    padding-right: 24px;
}

.page-header {
    color: #cccccc;
    font-family: 'Didact Gothic', sans-serif;
}

/* Large desktops and laptops */
@media (min-width: 1200px) {
    #property-header-reference, #property-header-price {
        font-size: 60px;
    }

    .page-header {
        font-size: 58px;
        /*        color: red; */
    }
}

/* Landscape tablets and medium desktops */
@media (min-width: 992px) and (max-width: 1199px) {
    #property-header-reference, #property-header-price {
        font-size: 48px;
    }

    .page-header {
        font-size: 46px;
        /*      color: lime;  */
    }

}

/* Portrait tablets and small desktops */
@media (min-width: 768px) and (max-width: 991px) {
    #property-header-reference, #property-header-price {
        font-size: 32px;
    }

    .page-header {
        font-size: 38px;
        /*color: blue;*/
    }
}

/* Landscape phones and portrait tablets */
@media (max-width: 767px) {
    #property-header-reference, #property-header-price {
        font-size: 24px;
    }

    .page-header {
        font-size: 32px;
        /* color: black; */
    }
}

/* Portrait phones and smaller */
@media (max-width: 480px) {
    #property-header-reference, #property-header-price {
        font-size: 20px;
    }

    .page-header {
        font-size: 24px;
        /* color: #e500ac; */
    }
}

.property-prices {
    padding-left: 14px;
    padding-right: 14px;
}

.property-price-div {
    padding: 0;
    margin: 0px;
}

.property-price-cell {
    margin: 2px;
}

#property-slogan h2{
    color: #999;
    font-size: 25px;
    text-align: right;
}

/* INICIO: Formulario principal de ROL */
#search-button {
    border: none;
    font-family: inherit;
    font-size: inherit;
    color: #fff;
    cursor: pointer;
    padding: 7px 20px;
    display: inline-block;
    outline: none;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    text-transform: uppercase;
    font-weight: bold;
    width: 100%;
    height: 45px;
    font-size: 16px;
    background-color: #3eb5ff;
}

#search-button:hover {
    background-color: #39a1e4;
}

#rol-form-container {
    background: #333;
    background-color: rgba(0, 0, 0, 0.4);
    padding: 15px 0;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    text-align: center;
}

.rol-form-bar {
    position: relative;
    width: 100%;
    margin: auto;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    -webkit-flex-wrap: wrap;
    display: flex;
    flex-wrap: wrap;
}

@media screen and (min-width: 768px) {
    #rol-form-container {
        padding: 20px 0 5px;
    }
}

.header-rol-form-inner {
    position: relative;
    overflow: hidden;
    background-size: cover;
    min-height: 400px;
    padding-top: 84px;
}

.form-control {
    font-weight: normal;
    height: 45px;
    padding: 8px 10px;
    color: #333;
    border-radius: 3px;
    -webkit-appearance: none;
    -moz-appearance: none;
}

.form-group {
    position: relative;
}

.form-group.rol-main-form {
    width: 19%;
    margin-right: 0.5%;
    margin-left: 0.5%;
}

.form-control.rol-date-picker {
    background: #fff url(../img/icons/svg/silver/calendar.svg) 97% 5px no-repeat;
    background-size: 30px 30px;
    border: solid 1px #fff;
    cursor: pointer;

}

.form-control.rol-date-picker:hover {
    border: solid 1px #4DDCFF;
    background: #fff url(../img/icons/svg/cyan/calendar.svg) 97% 5px no-repeat;
    background-size: 30px 30px;
}

.rol-date-picker::placeholder {
    color: #333;
}

.form-control.people {
    background: #fff url(../img/icons/svg/silver/people.svg) 96% 7px no-repeat;
    background-size: 30px 30px;
    border: solid 1px #fff;
    cursor: pointer;
}

.form-control.people:hover {
    border: solid 1px #4DDCFF;
    background: #fff url(../img/icons/svg/cyan/people.svg) 96% 7px no-repeat;
    background-size: 30px 30px;
}

.form-control.location {
    background: #fff url(../img/icons/svg/silver/location.svg) right 5px no-repeat;
    background-size: 30px 30px;
    border: solid 1px #fff;
    cursor: pointer;
}

.form-control.location:hover {
    border: solid 1px #4DDCFF;
    background: #fff url(../img/icons/svg/cyan/location.svg) right 5px no-repeat;
    background-size: 30px 30px;
}

/* DatePickers del formulario de ROL */
.ui-datepicker {
    z-index: 100000 !important;
}

.ui-datepicker {
    padding: 0;
    border: 1px solid #ddd;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
    box-shadow: rgba(0, 0, 0, .4) 5px 5px 5px;
}

.ui-datepicker * {
    padding: 0;
    font-family: 'Didact Gothic', sans-serif;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
}

.ui-datepicker table {
    font-size: 13px;
    margin: 0;
}

.ui-datepicker .ui-datepicker-header {
    border: none;
    background: #fff;
    color: #555;
    font-weight: 400;
    border-bottom: solid 1px #e5e5e5;
}

.ui-datepicker .ui-datepicker-header .ui-state-hover {
    background: #e5e5e5;
    border-color: transparent;
    cursor: pointer;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
}

.ui-datepicker thead {
    background: #fff;
    color: #555;
    border-bottom: solid 1px #e5e5e5;
}

.ui-datepicker .ui-datepicker-title {
    margin-top: .4em;
    margin-bottom: .3em;
    color: #555;
    font-size: 14px;
}

.ui-datepicker .ui-datepicker-next, .ui-datepicker .ui-datepicker-next-hover, .ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-prev-hover {
    height: 1em;
    top: .8em;
    border: none;
}

.ui-datepicker .ui-datepicker-prev-hover {
    left: 2px;
}

.ui-datepicker .ui-datepicker-next-hover {
    right: 2px;
}

.ui-datepicker .ui-datepicker-next span {
    background: url('../img/icons/arrows/datepicker-arrow-right.png');
    height: 20px;
}

.ui-datepicker .ui-datepicker-prev span {
    background: url('../img/icons/arrows/datepicker-arrow-left.png');
    height: 20px;
}

.ui-datepicker th {
    padding: 0.75em 0;
    color: #555;
    font-weight: normal;
    border: none;
    border-top: 1px solid #fff;
}

.ui-datepicker td {
    background: #fff;
    border: none;
    padding: 0;
}

.ui-datepicker td .ui-state-default {
    background: transparent;
    border: none;
    text-align: center;
    padding: .5em;
    margin: 0;
    font-weight: 400;
    color: #333;
    border-radius: 0;
}

.ui-datepicker td .ui-state-active, .ui-datepicker td .ui-state-hover {
    background: #4DDCFF;
    color: #fff;
    border-radius: 0;
}

.ui-datepicker td.ui-state-disabled, .ui-datepicker td.ui-state-disabled .ui-state-default {
    opacity: 1;
    color: #ccc;
}

@media screen and (max-width: 767px) {
    .form-group.rol-main-form {
        width: 48%;
        margin-right: 1%;
        margin-left: 1%;
    }

    .form-group.search {
        width: 98%;
        margin-right: 1%;
        margin-left: 1%;
    }

    .header-rol-form-inner {
        height: 350px !important;
    }
}

#rol-form-inner {
    height: auto;
    margin-top: -200px;
    padding-top: 200px;
}

/* FIN: Formulario principal de ROL */

/* Resultados de ROL */
.rol-xs-item {
    margin-top: 48px;
}

.xs-rol-result-image-div {
    padding: 0;
}

.xs-rol-result-fragment {
    background-color: #F9F9F9;
    border-right: 1px solid #F0F0F0;
    border-left: 1px solid #F0F0F0;
    text-align: center;
}

.xs-rol-result-name {
    font-size: 18px;
    padding-top: 16px;
}

.xs-rol-result-slogan {
    color: #3EB5FF;
    color: gray;
}

.xs-rol-result-location {
    font-size: 18px;
    padding-top: 16px;
}

.xs-rol-result-price,
.sm-rol-result-price {
    padding: 8px 0;
    font-size: 30px;
    white-space: nowrap;
}

.sm-rol-result-no-promotion-price, .xs-rol-result-no-promotion-price {
    font-size: 16px;
    text-decoration: line-through;
}

.rol-result-promotion-price {
    color: red;
}

.xs-rol-result-booking {
    padding: 8px;
}

/* Estilo común para los botones */
.btn-direct-booking-on-map-marker,
.btn-request-booking-on-map-marker,
.rol-btn-booked,
.rol-btn-closed,
.rol-btn-direct-booking,
.rol-btn-request-booking {
    min-width: 140px;
    padding: 8px;
}

.btn-direct-booking-on-map-marker,
.btn-request-booking-on-map-marker,
.rol-btn-direct-booking,
.rol-btn-request-booking {
    background-color: #3EB5FF;
    color: white;
}

.rol-btn-booked {
    background-color: #d9534f;
    color: white;
}

.rol-btn-booked:hover {
    background-color: #a52622;
    color: white;
}

.rol-btn-closed {
    background-color: #777;
    color: white;
}

.rol-btn-closed:hover {
    background-color: #444;
    color: white;
}

.xs-rol-result-review {
    padding: 8px;
}


.xs-rol-result-tourist-code, .sm-rol-result-tourist-code {
    font-size: 14px;
    color: gray;
    padding: 8px 0;
    white-space: nowrap;
}

/* Small */
.sm-rol-result-image-div {
    padding: 0;
}

.rol-sm-item {
    margin-top: 48px;
    border: 1px solid #F0F0F0;
    background-color: #e7e7e7;
}

.sm-rol-result-central-fragment {
    padding: 16px;
    font-size: 16px;
    background-color: #F9F9F9;
    height: 240px;
}

.sm-rol-property-name,
.xs-rol-property-name {
    font-size: 20px;
    font-weight: bold;
    margin-left: 32px;
}

.sm-rol-property-name a,
.xs-rol-property-name a {
    color: #333;
}

.sm-rol-property-name a:hover,
.xs-rol-property-name a:hover {
    text-decoration: underline;
}

.sm-rol-property-slogan {
    color: #3EB5FF;
    color: gray;
}

.sm-rol-property-location {

}
.sm-rol-property-description {
    color: gray;
}

.sm-rol-result-right-fragment  {
    border-left: 1px solid #F0F0F0;
    height: 240px;
    background-color: #f5f5f5;
    
    align-items: center;
    justify-content: space-between;
    align-content: center;
    display: flex;
    flex-direction: column;
    align-self: center;
}

.sm-rol-result-right-fragment .wpac-review-count {
    display: grid;
    margin-top: 10px;
}

.center-cropped {
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    min-height: 240px;
}

.rol-result-icon-table {
    margin-top: 16px;
    color: white;
}

.rol-result-icon-table .material-icons {
    font-size: 32px;
}


@media (min-width: 992px) {
    .rol-result-icon-table {
        margin-top: 16px;
        color: silver;
    }

    .rol-xs-item {
        display: none;
    }

    /* Elemento de control para saber si se está visualizando formato móvil o escritorio */
    .rol-results-mobile-format {
        display: none;
    }
}


@media (max-width: 992px) {
    .rol-xs-item {
        display: block;
    }

    .rol-sm-item {
        display: none;
    }

    /* Elemento de control para saber si se está visualizando formato móvil o escritorio */
    .rol-results-mobile-format {
        display: block;
    }
}

.rol-result-icon-separator {
    width: 14px;
}

.rol-result-icon {
    border: 1px solid lime;
    font-size: 32px;
}

/* En los resultados de ROL, reducción tamaño y espacio para los iconos de características en resoluciones pequeñas. */
@media (max-width: 450px) {
    .rol-result-icon-table {
        font-size: 16px;
    }
    .rol-result-icon-table .material-icons {
        font-size: 23px;
    }
    .rol-result-icon-separator {
        width: 7px;
    }
}

@media (max-width: 320px) {
    .rol-result-icon-table {
        font-size: 15px;
        margin-left: -5px;
    }
    .rol-result-icon-table .material-icons {
        font-size: 20px;
    }
    .rol-result-icon-separator {
        width: 5px;
    }
    #material-icons-chimney {
        font-size: 16px;
    }
}

#rol-results-warning-message {
    align-content: center;
    color: silver;
    font-size: 30px;
    margin-top: 30px;
    min-height: 20vh;
    text-align: center;
}

#rol-results-error-message {
    color: silver;
    font-size: 32px;
    margin-top: 64px;
    margin-bottom: 164px;
}

/* Icono rayo de reserva inmediata */
.rol-results-instant-booking-sm {
    color: #00d400;
    position: absolute;
    right: 16px;
    top: 196px;
}

.rol-results-instant-booking-xs {
    color: #00d400;
    font-size: 18px;
}

/* Icono persona y reloj de pendiente de confirmar */
.rol-results-to-confirm-booking-sm {
    color: #777;
    position: absolute;
    right: 16px;
    top: 196px;
}

.rol-results-to-confirm-booking-xs {
    color: #777;
    font-size: 18px;
}

#rol-results-found-map-button {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-top: 35px;
}

#rol-results-found {
    margin: 0;
}

.rol-result-map-button {
    background-color: #f5f5f5;
    border-color: #e8e8e8;
    visibility: hidden;
}

.rol-result-map-glyphicon-map-marker {
    font-weight: bold;
}

.rol-result-map-button-up {
    background-color: #f5f5f5;
    margin-bottom: -20px;
    margin-top: 30px;
}

.rol-result-map-link {
    cursor: pointer;
    font-weight: bold;
    visibility: hidden;
}

/* Estilos adrede sólo para Google Maps para mostrar todos los elementos del popup del mapa. */
.gm-style-iw,
.gm-style-iw-d {
    max-height: 500px !important;
}

.gm-style img {
    max-width: 100% !important;
}
/* FIN */

.adjust-anchor-to-map {
    display: block;
    position: relative;
    top: -50px;
}

.result-on-map-marker {
    font-size: 14px;
    line-height: 25px;
    text-align: center;
}

.list-on-map-marker {
    line-height: 25px;
}

.slogan-on-map-marker {
    color: grey;
    padding-top: 5px;
}

.location-on-map-marker {
    font-size: 18px;
    padding-top: 5px;
}

.price-on-map-marker {
    padding-top: 5px;
}

.promotion-price-on-map-marker {
    color: red;
}

.no-promotion-price-on-map-marker {
    font-size: 16px;
    text-decoration: line-through;
}

.price-on-map-marker {
    font-size: 20px;
}

.instant-booking-on-map-marker {
    color: #00d400;
    font-size: 18px;
}

.btn-booking-on-map-marker {
    padding-top: 5px;
}

.tourist-code-on-map-marker {
    padding-top: 5px;
}
/* Fin de resultados de ROL */

/* Estilos para los formularios de consulta que no son de ROL */
/* Indicadores de slides en la parte superior */
.carousel-indicators {
    top: 60px;
    max-height: 48px;
}

#searchform-results {
    min-height: 20vh;
}

#searchform-container {
    background: #333;
    background-color: rgba(0, 0, 0, 0.4);
    padding: 20px 0 5px;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    text-align: center;
}

.header-searchform-inner {
    background: transparent;
    min-height: 0 !important;
    position: relative;
}

.searchform-bar {
    position: relative;
    width: 100%;
    margin: auto;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    -webkit-flex-wrap: wrap;
    display: flex;
    flex-wrap: wrap;
}

.searchform-main {
    margin-left: 0.5%;
    margin-right: 0.5%;
    width: 19%;
}

@media screen and (max-width: 767px) {
    .carousel-caption {
        display: none;
    }
    .form-group.searchform-main {
        width: 48%;
        margin-right: 1%;
        margin-left: 1%;
    }
    .form-group.search {
        width: 98%;
        margin-right: 1%;
        margin-left: 1%;
    }
}
/* FIN Estilos para los formularios de consulta que no son de ROL */

/* Recaptcha de Google */
#recaptcha {
    margin-bottom: 10px;
    max-width: 315px;
    padding: 5px;
}

.recaptcha-error {
    border: 1px solid #ff0000;
}
/* FIN Recaptcha de Google */

/* Estilos para el apartado de filtro del buscador de venta */
/* Indicativo de filtros aplicados */
#forsale-filters-active {
    color: #3eb5ff !important;
    display: inline-block;
    width: 40px !important;
}

/* Botones de Buscar y cancelar filtros */
.forsale-filters-button {
    background-color: #3eb5ff;
    color: white;
}

.forsale-filters-button:hover {
    background-color: #2c9fe6;
    color: white;
}
/* FIN estilos para el apartado de filtro del buscador de venta */

/* Estilos para el buscador y los resultados en la ficha del alojamiento */
/* Contenedor de los elementos con la información y buscador en la ficha del alojamiento menos el video y el mapa */
#property-main-info-container {
    display: flex;
    justify-content: space-around;
}

/* Contenedor de los elementos con la información del alojamiento sin el buscador de la derecha */
#property-main-info {}

/* Espacio destinado al buscador y resultados a la derecha de la ficha */
#property-right-container {}

/* Elemento contenedor del formulario de búsqueda y los resultados */
#property-search-formresults-container {
    margin-bottom: 45px;
    margin-top: 20px;
    position: sticky;
    top: 90px;
}

/* Cabecera para el apartado con el formulario de búsqueda y los resultados */
#property-search-formresults-container-header {
    background-color: #00ccff;
    color: #fff;
    font-size: 20px;
    padding: 10px;
}

/* Información de capacidad cuando es Alquiler y metros cuadrados cuando es Venta. También los dormitorios */
#property-subheader-occupants {
    float: none !important;
    margin-bottom: 10px;
}

/* Línea con el tipo de gestión, tipo de alojamiento, localidad, zona y número licencia turística */
#property-subheader-location {
    float: none !important;
}

/* Eslogan de la vivienda */
#property-slogan h2 {
    margin: 0;
    text-align: left !important;
}

/* h2 con el texto para el formulario de contacto embebido en la ficha del alojamiento y el formulario de contacto para los propietarios */
#property-contact-form-header,
#owner-contact-form-header,
#longstays-contact-form-header,
#rentals-without-rol {
    margin: 0;
}

/* Capa para el formulario de búsqueda y resultados sin la cabecera de color */
#property-search-formresults {
    border: 1px solid #ddd;
    box-shadow: 0px 5px 8px rgb(0 0 0 / 20%);
}

/* Contendedor del formulario de consulta */
#property-form-container {
    padding: 20px 0 5px 0;
}

/* Cada elemento del formulario de búsqueda en la ficha del alojamiento */
.rol-form-element {
    margin-left: 20px;
    margin-right: 20px;
}

/* Campos del formulario de búsqueda individual */
.form-control.people,
.form-control.rol-date-picker {
    border: 1px solid #ddd;
}

/* Contenedor con el resultado de la búsqueda */
#property-result-container {
    border-left: 1px solid #F0F0F0;
    display: flex;
    flex-direction: column;
    height: 300px;
    justify-content: space-between;
    padding: 10px;
    text-align: center;
}

/* Contenedor con las fechas y ocupantes realizados en la consulta */
#property-summary-searched-fields {
    color: #aaa;
    display: flex;
    justify-content: space-around;
    text-align: center;
    width: 100%;
}

#property-summary-searched-fields div {
    display: flex;
    flex-direction: column;
}

#property-summary-searched-fields i {
    color: #4c4c4c;
}

/* Texto "Personas" en el resultado individual */
#property-summary-searched-fields-people-container {
    display: inline !important;
    white-space: nowrap;
}

.property-summary-searched-fields-people {
    display: inline;
}

/* Contenedor donde se muestran los precios, botón Reservar/Solicitar/Reservado/Cerrado, etc */
#property-info-result {
    justify-content: space-around;
    display: contents;
}

/* Apartado informativo en caso de error en alguno de los campos */
#property-error-result-text {
    font-size: 20px;
    padding: 5px;
}

/* Texto de Reserva inmediata */
.property-results-instant-booking {
    color: #00d400;
    font-size: 18px;
}

/* Texto de Requiere confirmación */
.property-results-to-confirm-booking {
    color: #777;
    font-size: 18px;
}

/* Se tacha el precio antiguo cuando se aplica una promoción */
.property-rol-result-no-promotion-price {
    font-size: 16px;
    text-decoration: line-through;
}

/* Precio de la reserva */
.property-rol-result-price {
    padding: 8px;
    font-size: 32px;
}

@media screen and (min-width: 1183px) {
    /* Tablas con los periodos y precios por día */
    .property-prices .panel-heading {
        padding: 10px 5px;
    }
    .property-prices .panel-body {
        padding: 5px
    }
}

@media screen and (min-width: 992px) {
    .property-summary-searched-fields-people {
        display: none;
    }
}
/* FIN Estilos para el buscador y los resultados en la ficha del alojamiento */

/* Estilos para el masonry */
.masonry-wrapper {
    padding: 15px;
}

.masonry {
    columns: 1;
    column-gap: 20px;
}

.masonry-item {
    margin-bottom: 10px;
    display: inline-block;
    vertical-align: top;
    width: 100%;
}

.masonry-item,
.masonry-content {
    overflow: hidden;
}

@media only screen and (min-width: 768px) {
    .masonry {
        columns: 2;
    }
}
/* FIN Estilos masonry */

.rol-info-icon-property-link-from-results {
    margin: 10px;
    opacity: 0.8;
    position: absolute;
    text-shadow: 0 1px 2px rgb(0 0 0 / 60%);
    z-index: 999;
}

.rol-info-icon-property-link-from-results:hover {
    cursor: pointer;
    opacity: 1;
}

.rol-info-icon-property-link-from-results-effect {
    background-color: #0cf;
    border-radius: 20px;
    height: 27px;
    width: 27px;
}
.rol-info-icon-property-link-from-results a {
    color: #ffffff;
}

.rol-name-property-link-from-results {

}

/* Estilos apartado características de la ficha del inmueble */
.property-feature-heading {
    border: 1px solid #dadada;
    display: flex;
    justify-content: space-between;
    line-height: 25px;
    padding: 10px;
}

.property-feature-heading h4 {
    font-size: 20px;
    font-weight: bold;
    margin: 0;
    text-transform: uppercase;
}

.property-feature-heading h4,
.property-feature-heading-title i {
    color: #666;
}

/* Color icono check y aspa */
.property-feature > .glyphicon-ok {
    color: #7dcc45;
}

.property-feature > .glyphicon-remove {
    color: #ff6666;
}

.property-feature-container {
    box-shadow: 0px 5px 8px rgb(0 0 0 / 20%);
}

/* Mostrar/ocultar los iconos de flecha al replegar */
.property-feature-heading-title[aria-expanded=true] .fa-caret-up {
    display: none;
}

.property-feature-heading-title[aria-expanded=false] .fa-caret-down {
    display: none;
}

/* Quita un espacio en blanco al final del desplegable */
.masonry-item .list-group {
    margin-bottom: 0;
}

/* Quitar border redondeados al primer elemento del desplegable */
.masonry-item .list-group-item:first-child,
.masonry-item .list-group-item:last-child {
    border-radius: 0;
}
/* FIN Estilos apartado características de la ficha del inmueble */

/* Estilos apartado valoración en donde se muestran las estrellas */
/* Posicionar las estrellas sobre la imagen del inmueble */
#booking-form-accommodation-booking-review #rating-reviews-container,
.area2c-review-counter #rating-reviews-container,
.bedrooms2c-review-counter #rating-reviews-container,
.list1c-review-counter #rating-reviews-container,
.list2c-review-counter #rating-reviews-container,
.list3c-review-counter #rating-reviews-container,
.listmap-review-counter #rating-reviews-container,
.location2c-review-counter #rating-reviews-container,
.outstanding-review-counter #rating-reviews-container,
.promotion2c-review-counter #rating-reviews-container,
.rolmap-review-counter #rating-reviews-container,
.theme2c-review-counter #rating-reviews-container {
    margin-top: -30px;
    position: absolute;
    right: 25px;
}

#booking-form-accommodation-booking-review #rating-reviews-container {
    right: 10px;
}

/* Estética estrellas */
.star-rating {
    font-size: 20px;
    text-shadow: 0 0 3px #000;
}

/* Estética y posicionamiento estrellas en los resultados de ROL */
.sm-rol-result-right-fragment #rating-reviews-container {
    padding: 10px 0 0 0;
}

.sm-rol-result-right-fragment .star-rating {
    font-size: 15px;
    text-shadow: none;
}

/* Posicionamiento y tamaño de las estrellas en los markers de los mapas, tanto los de ROL como de los listados/portada */
.listmap-review-counter #rating-reviews-container,
.rolmap-review-counter #rating-reviews-container {
    margin-top: -25px;
}

.listmap-review-counter .star-rating,
.rolmap-review-counter .star-rating {
    font-size: 15px;
}

/* Color estrella con valoración */
.star-rating-full {
    color: #f5ce00; /*#e5c100;*/
}

/* Color estrella sin valoración */
.star-rating-empty {
    color: #ddd;
}

/* Leyenda de puntuación media y total realizadas*/
#rating-reviews-stats {
    font-family: 'Didact Gothic', sans-serif;
    font-size: 16px;
    font-weight: bold;
}

#commentics {
    border: 1px solid #ddd;
    margin-top: 30px;
    padding: 0;
    box-shadow: 0px 5px 8px rgb(0 0 0 / 20%);
}

.property-xs-review-counter #rating-reviews-container {
    display: block;
    margin-top: -30px;
    position: absolute;
    right: 25px;
}

.property-sm-review-counter #rating-reviews-container {
    display: none;
    margin-top: -40px;
    position: absolute;
    right: 15px;
}

.property-sm-review-counter #rating-reviews-container .star-rating {
    text-shadow: none;
}

@media (min-width: 768px) {
    .property-xs-review-counter #rating-reviews-container {
        display: none;
    }
    
    .property-sm-review-counter #rating-reviews-container {
        display: block;
    }
}
/* FIN Estilos apartado valoración en donde se muestran las estrellas */

/* Capa popup portada de la web */
#home-popup-window {
    animation: fadein 5s ease-in;
    background-color: #fff;
    background-repeat: no-repeat;
    border-radius: 3px;
    border: 2px solid #fff;
    bottom: 0;
    box-shadow: 0 0 10px -1px #4c4c4c;
    display: table;
    left: 0;
    margin: auto;
    margin-top: 19vh;
    max-height: 75vh;
    max-width: 90vw;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 1000;
    /*-moz-animation: fadein 1s ease-in;
    -ms-animation: fadein 1s ease-in;
    -o-animation: fadein 1s ease-in;
    webkit-animation: fadein 1s ease-in;*/
}

#home-popup-window-close {
    background-color: #fff;
    border-bottom-left-radius: 3px;
    cursor: pointer;
    height: 30px;
    padding: 1px 6px;
    position: absolute;
    right: 0;
    width: 30px;
}
/* FIN Capa popup portada de la web */

/* Listado mapa web */
.list-webmap-links {
    margin-left: -10px;
    margin-right: -10px;
}

.list-webmap-links h2 {
    font-size: 25px;
    font-weight: bold;
    margin-top: 10px;
    text-decoration: underline;
}

.list-webmap-links li {
    color: #337ab7;
    font-size: 15px;
    line-height: 30px;
}
/* FIN Listado mapa web */

/* Estilos para mostrar las características del inmueble en pestañas */
#features-tab .nav-tabs {
    border: none;
}

#features-tab .nav li {
    margin-bottom: 10px;
    margin-right: 5px;
}

#features-tab a {
    color: #333;
    border: 1px solid #dadada;
    border-radius: 4px;
}

#features-tab li a:hover,
#features-tab li.active a {
    background-color: #00ccff;
    border: 1px solid #00ccff;
    color: #fff;
}

#features-tab .list-group {
    padding-left: 10px;
    column-count: 2;
}

#features-tab .list-group-item {
    border: none;
}

#features-tab .list-group > li::before {
    background-color: #00ccff;
    border-radius: 50%;
    content: "";
    display: block;
    height: 7px;
    left: 0;
    position: absolute;
    top: 18px;
    width: 7px;
}

#features-tab .property-feature {
    font-size: 17px;
}
/* FIN Estilos para mostrar las características del inmueble en pestañas */

/* Botón a página de inicio desde listados */
#button-to-home {
    padding: 0;
    text-align: right;
    top: 1vh;
    z-index: 101;
}

#button-to-home button {
    font-size: 20px;
    line-height: 35px;
    margin: 15px 0;
}

@media (min-width: 1200px) {
    #button-to-home {
        top: 4vh;
    }
}

@media (max-width: 767px) {
    #button-to-home {
        text-align: left;
    }
    #button-to-home button {
        font-size: 14px;
        line-height: 25px;
    }
}

/* Estilos generales para la herramienta AddToAny */
@media (max-width: 767px) {
    .a2a_kit {
        display: none !important;
    }
}