/* hotels */
.hotel-list-item {
    display: flex;
    width: 100%;
    flex-direction: column;
    position: relative;
    text-decoration: none;
    border: 1px rgba(246, 246, 248, 1) solid;
    background-color: rgba(246, 246, 248, 1);
    border-radius: 0.625rem;
}

.hotel-list-item a {
    text-decoration: none;
}

.hotel-list-item-photo {
    position: relative;
    display: flex;
    border-radius: 0.625rem 0.625rem 0 0;
}

.hotel-list-item-photo:after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    bottom: 0;
    left: 0;
    padding: 17px;
    display: flex;
    z-index: 1;
    background: linear-gradient(360deg, rgba(34, 34, 32, 0.8) 0%, rgba(60, 60, 59, 0) 24.71%);
    align-items: flex-end;
    justify-content: center;
    color: #fff;
    font-size: 0.875rem;
    border-radius: 0.625rem;
}

.hotel-list-item-photo img {
    position: relative;
    display: flex;
    border-radius: 0.625rem 0.625rem 0 0;
}


.hotel-list-item-photo-top-info {
    position: absolute;
    width: 100%;
    height: 32px;
    top: 0;
    left: 0;
    padding: 0 20px;
    display: flex;
    text-transform: uppercase;
    z-index: 2;
}

.hotel-list-item-photo-bottom-info {
    position: absolute;
    width: auto;
    height: auto;
    bottom: 20px;
    left: 20px;
    padding: 0.375rem 0.875rem;
    display: flex;
    z-index: 3;
    background: rgba(121, 182, 45, 1);
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 0.75rem;
    border-radius: 0.311rem;
}

.close-hotel {
    background-color: rgba(248, 130, 45, 1);
}

.hotel-list-item-photo-sale {
    display: flex;
    height: 100%;
    padding: 0 8px;
    border-radius: 0 0 5px 5px;
    align-items: center;
    justify-content: center;
    background-color: rgba(245, 63, 96, 1);
    color: #fff;
    font-size: 0.813rem;
    font-weight: 700;
    margin-right: 3px;
}

.hotel-list-item-photo-hit {
    display: flex;
    height: 100%;
    padding: 0 8px;
    border-radius: 0 0 5px 5px;
    align-items: center;
    justify-content: center;
    background-color: rgba(248, 130, 45, 1);
    color: #fff;
    font-size: 0.813rem;
    font-weight: 700;
    margin-right: 3px;
}

.hotel-list-item-title-h {
    color: rgb(90, 90, 89);
    font-size: 0.75rem;
    font-weight: 400;
    padding: 20px 20px 0 20px;
}

.hotel-list-item-title {
    color: rgba(49, 49, 46, 1);
    font-size: 1rem;
    font-weight: 600;
    padding: 5px 20px 10px 20px;
}

.hotel-list-item-title a {
    color: rgba(49, 49, 46, 1);
}

.hotel-list-item-info {
    color: rgba(112, 114, 125, 1);
    font-size: 1rem;
    padding: 0 20px;
}

.hotel-list-item-info div.hotel-list-item-info-item:not(:first-child) {
    margin-top: 5px;
}

.hotel-list-item-info-item {
    display: flex;
    align-items: center;
}

.hotel-list-item-info-item span {
    margin-left: 5px;
}

.hotel-list-item-info-item svg {
    color: rgba(205, 205, 205, 1);
}

.hotel-list-item-foot {
    margin-top: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px;
}

.hotel-list-item-foot svg {
    color: #94BD3B;
}

.hotel-list-price {
    color: rgba(121, 182, 45, 1);
    font-weight: 600;
    font-size: 1.25rem;
    position: relative;
}

.hotel-list-price-unit {
    color: rgba(112, 114, 125, 1);
    font-size: 1.175rem;
}

.hotel-list-price sup {
    text-decoration: line-through;
    position: absolute;
    right: -10px;
    top: -6px;
    color: rgba(112, 114, 125, 0.8);
    font-size: 0.7711rem;
}

.hotel-list-item-foot-preview {
    color: rgba(112, 114, 125, 1);
    font-size: 0.875rem;
}

.hotel-list-item-foot-preview a {
    color: rgba(112, 114, 125, 1);
}

.list-random-hotels .hotel-list-item-title {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.list-random-hotels .hotel-list-item-info-item {
    font-size: 0.77rem;
}

.list-random-hotels .hotel-list-price {
    color: rgba(121, 182, 45, 1);
    font-weight: 600;
    font-size: 1.0rem;
    position: relative;
}

.list-random-hotels .hotel-list-price-unit {
    color: rgba(112, 114, 125, 1);
    font-size: 0.95rem;
}

.list-random-hotels .hotel-list-price sup {
    text-decoration: line-through;
    position: absolute;
    right: -10px;
    top: -6px;
    color: rgba(112, 114, 125, 0.8);
    font-size: 0.7711rem;
}

/* DETAIL */
.hotel-detail-left {
    width: 100%;
    padding-right: 0;

}

.booking-hotel {
    width: 100%;
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 0;
    padding-right: calc(var(--bs-gutter-x) * 0.5);
    padding-left: calc(var(--bs-gutter-x) * 0.5);
}

.hotel-gallery figure {
    border-radius: 0.625rem;
    overflow: hidden;
}

.image-hotel-link {
    position: relative;
    display: flex;
    width: 100%;
    height: 100%;
}


.image-hotel-link span {
    z-index: 2;
    position: absolute;
    display: flex;
    background-color: rgba(49, 49, 46, 0.75);
    color: #fff;
    font-weight: 700;
    font-size: 1.275rem;
    width: 100%;
    height: 100%;
    text-align: center;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease-in-out;
    top: 0;
    left: 0;
}

@media (min-width: 1200px) {
    .hotel-detail-left {
        padding-right: 3.33rem;
    }
}

.detail-infrastructures-block {
    display: flex;
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
    flex-direction: row;
    margin-bottom: 1.5rem;
    position: relative;
    z-index: 3;
    padding-top: 5px;
    padding-bottom: 5px;
}

.item-infrastructure {
    display: flex;
    align-items: center;
    align-content: center;
    margin-bottom: 0.75rem;
    position: relative;
    color: rgba(110, 110, 110, 1.0);
    border: 1px rgba(110, 110, 110, 0.1) solid;
    width: 32%;
    padding: 11px 5px;
    font-size: 0.7711rem;
    justify-content: center;
    border-radius: 3px;
}

.item-infrastructure:nth-child(3n+2) {
    margin-left: 1.88%;
    margin-right: 1.88%;
}

.item-infrastructure-svg {
    color: orange;
}

.detail-infrastructure-block {
    display: flex;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    flex-direction: row;
    margin-bottom: 1.5rem;
    position: relative;
    z-index: 3;
    background-color: #ededed;
    position: relative;
    padding-top: 5px;
    padding-bottom: 5px;
}

.detail-infrastructure-block:after {
    content: '';
    width: 15px;
    background-color: transparent;
    height: 100%;
    z-index: 1;
    left: -15px;
    top: 0;
    position: absolute;
    background: rgba(255, 255, 255, 0);
    background: -moz-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(246, 246, 246, 0.47) 47%, rgba(237, 237, 237, 1) 100%);
    background: -webkit-gradient(left top, right top, color-stop(0%, rgba(255, 255, 255, 0)), color-stop(47%, rgba(246, 246, 246, 0.47)), color-stop(100%, rgba(237, 237, 237, 1)));
    background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(246, 246, 246, 0.47) 47%, rgba(237, 237, 237, 1) 100%);
    background: -o-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(246, 246, 246, 0.47) 47%, rgba(237, 237, 237, 1) 100%);
    background: -ms-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(246, 246, 246, 0.47) 47%, rgba(237, 237, 237, 1) 100%);
    background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(246, 246, 246, 0.47) 47%, rgba(237, 237, 237, 1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#ededed', GradientType=1);
}

.detail-infrastructure-block:before {
    content: '';
    width: 15px;
    background-color: transparent;
    height: 100%;
    z-index: 1;
    right: -15px;
    top: 0;
    position: absolute;
    background: rgba(237, 237, 237, 1);
    background: -moz-linear-gradient(left, rgba(237, 237, 237, 1) 0%, rgba(246, 246, 246, 0.53) 47%, rgba(255, 255, 255, 0) 100%);
    background: -webkit-gradient(left top, right top, color-stop(0%, rgba(237, 237, 237, 1)), color-stop(47%, rgba(246, 246, 246, 0.53)), color-stop(100%, rgba(255, 255, 255, 0)));
    background: -webkit-linear-gradient(left, rgba(237, 237, 237, 1) 0%, rgba(246, 246, 246, 0.53) 47%, rgba(255, 255, 255, 0) 100%);
    background: -o-linear-gradient(left, rgba(237, 237, 237, 1) 0%, rgba(246, 246, 246, 0.53) 47%, rgba(255, 255, 255, 0) 100%);
    background: -ms-linear-gradient(left, rgba(237, 237, 237, 1) 0%, rgba(246, 246, 246, 0.53) 47%, rgba(255, 255, 255, 0) 100%);
    background: linear-gradient(to right, rgba(237, 237, 237, 1) 0%, rgba(246, 246, 246, 0.53) 47%, rgba(255, 255, 255, 0) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ededed', endColorstr='#ffffff', GradientType=1);
}

.detail-infrastructure {
    display: flex;
    flex-direction: column;
    justify-content: center;
    justify-items: center;
    font-size: 0.711rem;
    font-width: 600;
    align-items: center;
    margin-bottom: 0;
    border: 1px rgba(80, 163, 141, 0.3) solid;
    padding: 5px;
    width: auto;
    background-color: #fff;
}

.detail-infrastructure svg {
    color: #77c91c;
    margin-bottom: 0;
}

@media (min-width: 768px) {
    .detail-infrastructure {
        padding: 10px;
    }

    .detail-infrastructure svg {
        margin-bottom: 5px;
    }
}

.icon-infra {
    width: 24px;
    height: 24px;
}

.hotel-service-block {
    position: relative;
}

.list-service-items {
    padding: 1.0rem 1.25rem;
    background: rgba(241, 247, 232, 1);
    border-radius: 0.625rem;
}

.list-service-items ul {
    position: relative;
    list-style: none;
    margin: 0 !important;
}

.list-service-items ul li {
    position: relative;
    font-size: 1.0rem;
    font-weight: 400;
    color: rgba(91, 94, 99, 1);
}

.list-service-items ul li:not(:first-child) {
    margin-top: 0.688rem;
}

.list-service-items ul li:before {
    content: "\F272";
    position: absolute;
    left: -28px !important;
    top: calc(50% - 0.5rem);
    font-family: "bootstrap-icons";
    font-size: 1rem;
    color: #77c91c;
}

.hotel-booking-top-block {
    position: fixed;
    display: flex;
    padding: 0.35rem 0 0.35rem;
    width: 100%;
    align-items: center;
    bottom: 5px;
    background-color: rgba(49, 49, 46, 1);;
    border-top: 1px rgba(0, 0, 0, 1.0) dotted;
    z-index: 911;
    color: #fff;
}

.hotel-booking-top-block-price {
    position: relative;
    color: rgba(121, 182, 45, 1);
    font-weight: 700;
    font-size: 1rem;
    width: auto;
    margin-left: auto;
    margin-right: auto;
}

.booking-hotel .booking-item {
    display: flex;
    padding: 10px;
    border: 1px #ededed solid;
    border-radius: 4px;
}

.booking-hotel .booking-item-title a {
    color: rgba(121, 182, 45, 1);
    margin: 0.35rem 0;
    text-decoration: none;
}
.image-hotel-room {
    display:block;
    position:relative;
}
.booking-hotel .booking-item-title a span {
    padding-bottom: 2px;
    border-bottom: 1px #a3a3a3 dotted;
}
.booking-hotel .booking-item-title a i {
    color: rgba(248, 130, 45, 1);
}
.booking-hotel .booking-item-props {
    font-size: 0.7711rem;
}

.booking-hotel .booking-item-price {
    color: rgba(248, 130, 45, 1);

}

.min-price-hotel b {
    color: rgba(248, 130, 45, 1);
}

.booking-hotel .booking-item-price span {
    color: rgba(50, 50, 50, 1);

}

.booking-item-room {
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 11px;
    background: #fff;
    width: 100%;
    border: 1px #ededed solid;
    border-radius: 8px;
}

.booking-item-btn a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    overflow: hidden;
    color: #fff;
    font-size: 0.7711rem;
    background: #79B62D;
}

.booking-item-room a .more-photo {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    width: auto;
    height: 25px;
    bottom: 0;
    right: 0;
    padding: 0 5px;
    background-color: rgba(49, 49, 46, 0.75);
    color: #fff;
    border-radius: 0 0 8px 0;
    column-gap: 10px;
    font-size: 0.75rem;
}

.booking-item-room .booking-item-image,
.booking-item-room .booking-item-image img {
    border-radius: 4px;
}

.booking-item-room-left {
    display: flex;
    flex-direction: column;
    row-gap: 11px;
    column-gap: 20px;
    align-items: center;
}

.preview-room {
    width: 98% !important;
}

@media (min-width: 768px) {
    .booking-item-room-left {
        flex-direction: row;
        row-gap: 11px;
        column-gap: 20px;
        align-items: center;
        justify-content: space-between;
    }

    .preview-room {
        max-width: 750px !important;
    }
}