*,
*::after,
*:before {
    box-sizing: border-box;
}

html {
    font-family: "Inter", sans-serif, "Roboto Light";
    font-size: 62.5%;
}

body {
    font-size: 1.4rem;
}

:root {
    --bg-color: #F7F7F7;
    --main-color: #FFF;
    --second-color: #0080FF;
    --gray-color: #ECECEC;
    --circle-color: #C0C0C0;
    --discount-color: #FF0062;
    --save-changes-color: #D0F7CF;
    --discount-order-color: #13BF10;
}

.text-discount {
    color: var(--discount-color)
}

/*    Header    */

.header {
    color: var(--main-color);
    background-color: var(--second-color);
}

.header-content {
    display: flex;
    justify-content: space-between;
    padding: 0 15rem;
}

.header-content__left {

}

.logo {
    padding: 1.5rem 0;

    line-height: 2.3rem;
}

.header-content__right {
    display: flex;
    align-items: center;
}

.nav {
    margin: auto;
}

.nav__list {
    display: flex;



    gap: 2.5rem;
}

.nav__item {
    width: 100%;
}

.login {
    position: relative;
    margin: auto;
}

.login__link {
    display: flex;
    margin-left: 4.4rem;
    gap: 0.8rem;

    align-items: center;
}

/*.login::after {*/
/*    position: absolute;*/
/*    content: "";*/
/*    width: 0.1rem;*/
/*    height: 3.4rem;*/
/*    background-color: var(--main-color);*/
/*    left: -50%;*/
/*    transform: translateX(25%);*/
/*}*/

.tel {
    display: flex;
    margin: auto;
    position: relative;
}

.tel__link {
    display: flex;
    margin-left: 4.4rem;
    gap: 0.8rem;

    align-items: center;
}

.nav-item__link:hover {
    text-decoration: underline;
}

.login__link:hover {
    text-decoration: underline;
}

.tel__link:hover {
    text-decoration: underline;
}

.burger {
    display: none;
}

/*   /HEADER    */


/*    MAIN     */
.main {
    height: 100%;
    width: 100%;
    padding-bottom: 6rem;

    background-image: url("../assets/images/background.jpg");
    background-size: cover;
    background-repeat: no-repeat;
}

.main__content{
    margin: 0 15rem;


    text-align: center;
}

.title {
    padding-top: 10.5rem;

    font-size: 2.4rem;
    font-weight: 700;
}



/*     SEARCH     */
.search {
    margin-top: 4rem;
    width: 100%;

    background-color: var(--second-color);
    border-radius: 2.5rem;
}

.search__content {
    display: flex;
    padding: 2rem 3rem;
    align-items: center;
    justify-content: space-between;
}

.search__info {
    display: flex;
    gap: 8rem;
}

.search__label {

}

.search__check-in,
.search__check-out,
.search__num-quests {
    padding: 1.2rem 1.5rem 1rem;
    border-radius: 1.5rem;


    font-size: 1.6rem;
}

.search__btn {
    background-color: var(--main-color);
    border-radius: 5rem;
}

.search__icon {
    padding: 1.5rem;
}

/* SECTION APARTMENTS */
.apartments-list {
    display: grid;
    width: 100%;
    grid-template-columns: repeat(auto-fit, minmax(55rem, auto));
    row-gap: 4rem;
    justify-content: space-between;
    margin-top: 8rem;
}

.apartment-card {
    width: 60rem;
    height: 29.3rem;

    border-radius: 2.5rem;
    border: var(--gray-color) 0.2rem solid;
    background-color: var(--main-color);
}

.card-content {
    display: flex;
    width: 100%;
}

.card__left {
    position: relative;
    width: 50%;
    height: 29.3rem;
}

.card__image {
    position: absolute;

    height: 29rem;
    width: 100%;
    border-top-left-radius: 2.3rem;
    border-bottom-left-radius: 2.3rem;
    object-fit: cover;
    object-position: center center;
}

.card__slider {
    display: flex;
    position: absolute;
    bottom: 1rem;
    left: 50%;
    transform: translateX(-50%);

    align-items: center;
}

.card-image__select {
    height: 0.8rem;
    width: 0.8rem;
    border-radius: 50px;
    background-color: var(--circle-color);
}

.card-image__select:not(:last-child) {
    margin-right: 1rem;
}

.card-image__select--selected {
    margin-right: 0.9rem !important;
    height: 1rem;
    width: 1rem;
    background-color: var(--main-color);
}

.card__arrow {
    display: none;
    position: absolute;
    background: linear-gradient(to right, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.4));
    width: 15.77%;
    height: 100%;
    z-index: 999;
}

.card__arrow::before,
.card__arrow::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 2.5px;
    height: 11px;
    border-top-left-radius: 1px;
    border-top-right-radius: 1px;
    border-bottom-right-radius: 1px;
    rotate: -45deg;
    background-color: var(--main-color);
}

.card__arrow::after {
    rotate: -135deg;
    top: calc(50% + 6px);
}

.card__arrow--right {
    right: 0;
}

.card__arrow--left {
    left: 0;
    transform: scaleX(-1);
    border-top-right-radius: 25px;
    border-bottom-right-radius: 25px;

}

.card__left:hover {
    & .card__arrow {
      display: block;
    }
}

.card__right {
    position: relative;
    width: 50%;
}

.card__title {
    position: absolute;
    top: 2.3rem;
    left: 1.7rem;
    font-weight: 700;
    font-size: 1.6rem;
}

.card__prices {
    position: absolute;
    top: 2.3rem;
    right: 1.4rem;

    font-size: 1.6rem;
}

.card__sale-short {
    margin-top: 0.7rem;
}

.card__features {
    position: absolute;
    display: flex;
    flex-direction: column;
    left: 1rem;
    bottom: 6.7rem;
    gap: 0.4rem;

    font-size: 1.4rem;
}

.card__feature {
    display: flex;
    gap: 0.7rem;
    align-items: center;
}

.square {
    font-size: 0.8rem;
}

.card__choice-btn {
    position: absolute;
    bottom: 1.4rem;
    right: 1.4rem;
    padding: 0.4rem 4.2rem;
    border-radius: 10px;

    background-color: var(--second-color);
    color: var(--main-color);
}


/* ABOUT */
.about {
    margin-top: 5rem;

    border-radius: 25px;
    background-color: var(--main-color);

    font-size: 1.6rem;
}

.about__title {
    padding: 2.4rem;

    font-weight: 700;
    font-size: 2.4rem;
}

.about__list {
    margin-top: 6.1rem;
    padding-bottom: 3.3rem;
}

.about__list-top,
.about__list-bottom {
    display: flex;
    flex-direction: row;
    margin: 0 4.6rem;
}

.about__list-top {
    justify-content: space-between;

}

.about__list-bottom {
    justify-content: space-around;
    margin-left: 12rem;
    margin-right: 11rem;
}

.about__item-img {
    position: relative;
    width: 8rem;
    height: 8rem;

    margin: 0 auto;
}

.about-item__img {
    position: absolute;
    padding: 1.7rem;
    z-index: 2;
}

.about-item__bg {
    position: absolute;
    width: 8rem;
    height: 8rem;
    z-index: 1;

    background-color: var(--second-color);
    border-radius: 50px;
}

.about__item-text {
    margin-top: 1.5rem;
}

.about__item-title {
    font-size: 2.8rem;
    font-weight: 700;
    color: var(--second-color);
}

/* MAP */
.map {
    margin-top: 5rem;

    border-radius: 25px;
    background-color: var(--main-color);
}

/* FOOTER */
.footer {
    font-size: 1.6rem;
    color: var(--main-color);
    background-color: var(--second-color);
}

.contacts {
    display: flex;
    flex-direction: row;
    padding: 3rem 15rem 1.9rem;
    gap: 10rem;
}

.mess__list {
    display: flex;
    flex-direction: row;
    margin-top: 1.1rem;
    gap: 1.625rem;
}

.contact-title {

}

.contact-link {
    display: inline-block;
    margin-top: 1.7rem;
}

.contact-link {

}



/*     MOBILE      */
@media (max-width: 991px) {
    /*      HEADER      */
    .header {
        border-bottom-right-radius: 15px;
        border-bottom-left-radius: 15px;
    }

    .header-content {
        padding: 0 1.6rem;
    }

    .logo {
        padding: 0.8rem 0 1rem;

        line-height: initial;
    }

    .nav__list,
    .tel {
        display: none;
    }

    .burger {
        display: block;
        position: relative;
        margin-left: 3.3rem;
        width: 1.8rem;
        height: 1.2rem;

        font-size: 0;

        &::after,
        & span,
        &::before {
            display: block;
            position: absolute;
            width: 100%;
            height: 2px;

            background-color: var(--main-color);
            border-radius: 10px;
        }

        &::after,
        &::before {
            content: "";
        }

        &::after {
            position: absolute;
            bottom: 0;
        }

        & span {
            top: 50%;
            transform: translateY(-50%);
        }

        &::before {
            position: absolute;
            top: 0;
        }
    }

    .search {
        display: none;
    }

    .apartments-list {
        display: none;
    }

    .about {
        display: none;
    }

    .footer {
        display: none;
    }
}