@import url("https://cdnjs.cloudflare.com/ajax/libs/meyer-reset/2.0/reset.min.css");
@import url("https://fonts.googleapis.com/css?family=Lato:400,300,500");

body {
    font-family: var(--font-family-lato);
    position: relative;
}
.bg-image {
    background-repeat: no-repeat;
    background-size: cover;
    height: 100%;
    position: absolute;
    width: 100%;
    filter: blur(30px);
    min-height: 100vh;
}
.head {
    color: white;
    position: relative;
    display: flex;
    justify-content: center;
    gap: 40px;
}
.head .hotel-logo-title {
    display: flex;
    align-self: center;
}
.head .title {
    color: var(--white);
    font-family: var(--font-family-lato);
    font-size: 58px;
    font-weight: 300;
    letter-spacing: 10.00px;
    height: fit-content;
    display: grid;
    align-self: center;
    line-height: normal;
    margin-left: 20px;
    margin-top: -10px;
}
.head .title span {
    margin-left: 4px;
}
.head .logo {
    width: 220px;
    height: auto;
}
.head .address {
    width: 240px;
    line-height: 30px;
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0;
    align-self: center;
    color: #ffffff;
}
.head .address a {
    text-decoration: none;
    color: #ffffff;
}
.head .group-hotels {
    color: var(--white);
    font-family: var(--font-family-lato);
    font-size: var(--font-size-l);
    font-weight: 400;
    letter-spacing: 11px;
    line-height: normal;
    text-align: center;
}
main {
    margin-top: 50px;
}
.grow {
    padding: 0;
    border-radius: 10px;
    height: 160px;
    width: 100%;
    margin: 0 1% 30px 1%;
    position: relative;
    transition: height 1s;
    -webkit-transition: height 1s;
    text-align: center;
    overflow: hidden;
    font-family: var(--font-family-lato);
    background-position: center;
    background-size: cover;
}
.grow:hover {
    height: 540px;
}

.grow .hotel-name {
    padding: 0 0 0 40px;
    align-items: center;
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(15px);
    display: flex;
    width: 37%;
    height: 100%;
    cursor: default;
}

.grow .hotel-name .hotel-info {
    display: flex;
}

.grow .hotel-name .hotel-info .expanded-logo {
    margin-right: 40px;
    width: 100px;
    height: auto;
}

.hotel-name h2 {
    color: var(--black);
    font-family: var(--font-family-lato);
    font-size: var(--font-size-xxxl);
    font-weight: 500;
    letter-spacing: -0.22px;
    width: 160px;
    align-self: center;
}

.grow .expanded-contact,
.grow .expanded-hotel-address,
.grow .vector-8,
.grow .visit-website {
    display: none;
}

.grow:hover .expanded-contact,
.grow:hover .expanded-hotel-address,
.grow:hover .vector-8,
.grow:hover .visit-website {
    display: block;
}

.grow:hover .vector-8 {
    margin: auto;
}

.grow:hover .hotel-name,
.grow:hover .hotel-info {
    display: grid;
    padding: 10px 0 0;
}
.grow:hover .hotel-name .expanded-logo {
    width: 80px;
    height: auto;
    margin: auto;
    transition: 1s;
}

.grow:hover .hotel-name h2 {
    font-size: var(--font-size-xxl);
    margin: 20px auto 0;
    transition: 1s;
}

.grow:hover .hotel-communications .expanded-contact,
.grow:hover .expanded-hotel-address {
    font-size: 13px;
    font-weight: 400;
    line-height: 30px;
    letter-spacing: 0;
    text-align: center;
    width: 170px;
    margin: auto;
    color: #000000;
}

.grow:hover .hotel-communications .expanded-contact a {
    color: #000000;
}

.grow:hover .visit-website {
    display: flex;
    gap: 14px;
    justify-content: flex-end;
    margin: 37px auto;
    width: 166px;
    border: 1px solid #000000;
    box-shadow: 0 8px 28px rgb(0 0 0 / 5%);
    border-radius: 4px;
    text-decoration: none;
    padding: 13px 24px 14px 0;
}
.grow:hover .visit-website-btn {
    color: var(--black);
    font-family: var(--font-family-lato);
    font-size: var(--font-size-xl);
    font-weight: 500;
    letter-spacing: 0;
    line-height: normal;
    text-align: center;
}

.d-vector {
    display: block;
}

.m-vector {
    display: none;
}

.image-url {
    width: 66%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    border: none;
    z-index: 99
;
}

@media screen and (max-width: 992px) {
    .hotel-name h2 {
        font-size: 18px;
        width: 126px;
    }
    .grow .hotel-name .hotel-info .expanded-logo {
        margin-right: 0;
        width: 72px;
    }
}

@media screen and (max-width: 768px) {
    .head {
        display: grid;
        gap: 24px;
    }
    .head .hotel-logo-title {
        justify-content: center;
    }
    .head .logo {
        width: 120px;
        height: auto;
    }

    .head .address {
        text-align: center;
        margin: auto;
        line-height: 20px;
    }
    .head .title {
        font-size: 20px;
        font-weight: 400;
        letter-spacing: 4px;
        text-align: left;
        line-height: 1.6;
        margin-top: -8px;
        margin-left: 15px;
    }
    .head .title span {
        font-size: 9px;
        font-weight: 400;
        line-height: 11px;
        letter-spacing: 2px;
        margin-left: 0;
    }
    .vector {
        margin: auto;
    }
    .d-vector {
        display: none;
    }
    .m-vector {
        display: block;
    }
    .grow {
        height: 100px;
        margin: 0 0 20px;
    }
    .grow:hover {
        height: 100px;
    }
    .grow .hotel-name {
        width: 54%;
        padding: 0 20px 0 12px !important;
    }
    .grow .hotel-name .hotel-info .expanded-logo {
        margin-right: -10px;
        width: 55px;
    }
    .grow .hotel-name .hotel-info {
        display: flex !important;
        gap: 14px;
        padding: 0 !important;
    }
    .grow:hover .hotel-name {
        display: flex !important;
        width: 54%;
        gap: 15px;
    }

    .grow:hover .hotel-name h2 {
        margin-top: -3px;
        transition: 0s;
    }

    .grow:hover .hotel-communications .expanded-contact,
    .grow:hover .expanded-hotel-address {
        line-height: 20px;
    }

    .grow:hover .visit-website {
        margin: 0 auto 19px;
    }
    .hotel-name h2 {
        font-size: 12px !important;
        font-weight: 500;
        line-height: 18px;
        letter-spacing: -0.01em;
        margin: auto !important;
        width: auto;
        overflow: hidden;
        max-width: 120px;
    }

    .grow:hover div[class^="address"]:not(:hover) {
        display: none;
    }

    .grow .visit-website {
        border: none !important;
        width: 100% !important;
        position: absolute;
        height: 100%;
    }
    .grow .visit-website * {
       display: none;
    }
    .image-url {
        width: 100%;
    }
    .hotel-communications, .vector-8, .expanded-hotel-address {
        display: none !important;
    }
    .grow:hover .visit-website {
        box-shadow: none;
    }
    .image-url {
        display: block;
        position: absolute;
        height: 100%;
        z-index: 99;
    }
}
