/* ************************************************** */
/* MAIN NAVIGATION // LANDING PAGE HEADER */
/* ************************************************** */
.main-nav {
    position: absolute;
    width: 100%;
    height: 8rem;
    padding: 0 6.4rem;

    display: flex;
    align-items: center;
    justify-content: space-between;
}

.main-nav-list-left,
.main-nav-list-right {
    list-style: none;
    display: flex;
    align-items: center;
    gap: 8rem;
}

.main-nav-link:link,
.main-nav-link:visited {
    /* color: #333; */
    color: #fefcf4;
    font-weight: 600;
    font-size: 2rem;

    text-decoration: none;
    transition: all 0.2s;
}

.main-nav-link:active,
.main-nav-link:hover {
    color: #f0dd92;
}

.main-nav-logo-link {
    text-decoration: none;
}

.main-nav-logo-box {
    display: flex;
    flex-direction: column;
    display: none;
}

/* Different mobile navigation behaviour */
#menu-icon {
    stroke: #fefcf4;
}

.nav-open .main-nav-link:link,
.nav-open .main-nav-link:visited {
    color: #333;
}

/* STICKY NAVIGATION */
.sticky .main-nav {
    position: fixed;
    top: 0;
    width: 100%;
    height: 8rem;
    padding-top: 0;
    padding-bottom: 0;

    /* background-color: #83b582; */
    background-color: transparent;
    background-image: linear-gradient(to bottom, #a8cba8, #a8cba8f9);

    z-index: 99;
}

.sticky .main-nav-logo-box {
    display: flex;
    flex-direction: column;

    transition: all 0.15s;
}

.sticky .main-nav-logo-box:hover {
    transform: scale(105%);
}

.sticky header {
    margin-top: 8rem;
}

.sticky .main-nav-link:link,
.sticky .main-nav-link:visited {
    color: #333;
}

.sticky .main-nav-link:hover,
.sticky .main-nav-link:active {
    color: #ffffc5;
}

.sticky #menu-icon {
    stroke: #333;
}

/* MEDIA-QUERIES 1100px (68,75rem) */
@media (max-width: 68.75rem) {
    .main-nav-link:link,
    .main-nav-link:visited {
        font-size: 1.8rem;
    }

    .main-nav-list-left,
    .main-nav-list-right {
        gap: 3.2rem;
    }
}

/* MEDIA-QUERIES 940px  */
/* MOBILE NAVIGATION BECOMES ACTIVE */
@media (max-width: 58.75rem) {

    .main-nav {
        padding: 0 4.8rem;
    }

    .nav-open .main-nav-list-left,
    .nav-open .main-nav-list-right {
        /* Show mobile navigation if nav-open class is present */
        opacity: 1;
        pointer-events: auto;
        visibility: visible;
    }

    .main-nav-list-left,
    .main-nav-list-right {
        position: absolute;
        top: 0;
        left: 0;

        width: 100%;

        display: flex;
        align-items: center;
        justify-content: center;
        transition: all 0.3s ease;

        flex-direction: column;
        gap: 6.4rem;

        /* Hide mobile navigation. It should only be visible when active (nav-open) */
        opacity: 0; /* hide visually*/
        pointer-events: none; /* hide it from input */
        visibility: hidden; /* hide it from screen readers */

    }

    .main-nav-list-left {
        background-color: rgba(255, 255, 255, 0.95);
        top: -20vh;
        height: 120vh;
    }

    .main-nav-list-right {
        top: 60vh;
    }

    .main-nav-link:link,
    .main-nav-link:visited {
        font-size: 3.6rem;
    }
}

/* MEDIA-QUERIES 770px  */
@media (max-width: 48.125rem) {
    .main-nav {
        padding: 0 3.2rem;
    }
}

/* MEDIA-QUERIES 600px   */
@media (max-width: 37.5rem) {
    .main-nav {
        padding: 0 2.4rem;
    }
}

/* MEDIA-QUERIES 360px    */
@media (max-width: 22.5rem ) {
    .main-nav {
        padding: 0 1.6rem;
    }
}

/* ************************************ */
/* START SECTION */
/* ************************************ */
.section-start {
    position: relative;
    display: inline-block;
    width: 100%;

    /* transform: translate(0, -8rem); */
    z-index: -1;
}

.start-text-box {
    position: absolute;
    left: 50%;
    top: 18%;

    transform: translate(-50%, -5%);
}

.start-text-box h1 {
    white-space: nowrap;
    color: #fefcf4;

    margin-bottom: 2.8rem;
}

.start-img-container {
    position: relative;

    /* Bei Bedarf auch wieder entfernen */
    display: flex;
    justify-content: center;
    align-items: center;
}

.start-img {
    display: block;
    height: 100vh;
    width: auto;
}

.overlay {
    position: absolute;
    top: 0;
    left: 0;

    width: 200%;
    height: 100%;

    background-color: rgba(26, 36, 26, 0.4);
    background-size: cover;
    background-position: center;
}

/* MEDIA-QUERIES 1300px (81,25rem) */
@media (max-width: 81.25rem) {


}

/* MEDIA-QUERIES 1100px (68,75rem) */
@media (max-width: 68.75rem) {

    .start-text-box {
        top: 20%;
    }

    .start-text-box h1 {
        font-size: 8.6rem;
    }
}

/* MEDIA-QUERIES 940px  */
@media (max-width: 58.75rem) {

    .start-text-box {

    }

    .start-text-box h1 {
        font-size: 7.4rem;
    }
}

/* MEDIA-QUERIES 770px  */
@media (max-width: 48.125rem) {

}

/* MEDIA-QUERIES 600px   */
@media (max-width: 37.5rem) {
    .start-text-box {
        top: 25%;

        transform: translate(-30%, -5%); /* translate container ausgleichen   */
    }

    .start-text-box h1 {
        font-size: 5.2rem;
        line-height: 1.1;
    }

    .start-img-container {
        transform: translate(-15%, 0)
    }
}

/* MEDIA-QUERIES 360px    */
@media (max-width: 22.5rem ) {
    .start-text-box {
        top: 27%;

        transform: translate(-13%, -5%); /* translate container ausgleichen   */
    }

    .start-text-box h1 {
        font-size: 4.4rem;
    }

    .start-img-container {
        transform: translate(-30%, 0)
    }
}

/* ************************************ */
/* APARTMENTS SECTION */
/* ************************************ */
.section-apartments {
    padding-top: 9.6rem;
    padding-bottom: 8rem;

    display: grid;
    grid-template-columns: 60fr 40fr;

    row-gap: 4.8rem;
    column-gap: 8rem;

    align-items: center;
}

.section-apartments h2 {
}

.apartments-text-container {
    padding: 9.6rem;
}

.apartments-text-box {
    margin-left: 9.6rem;
}

.apartments-description {
    text-align: justify;
    font-size: 2rem;
    line-height: 1.6;
    margin-bottom: 8rem;
}

.apartments-gallery {
    display: grid;

    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 1fr 1fr 1fr;
    gap: 1.6rem;
    margin: 1.6rem;
    /* margin-right: 2.4rem; */

    justify-items: center;

    transform: translate(-10%, 0%);
}

.gallery-item {
    overflow: hidden;
}

.apartments-img {
    display: block;
    width: 100%;
    transition: all 0.4s;
}

.apartments-img:hover {
    transform: scale(115%);
    z-index: 100;
}

/* MEDIA-QUERIES 1300px (81,25rem) */
@media (max-width: 81.25rem) {

    .apartments-text-container {
        padding: 6.4rem;
    }

    .apartments-text-box {
        margin-left: 4.8rem;
    }

    .apartments-gallery {
        transform: translate(-6%, 0%);
    }
}

/* MEDIA-QUERIES 1100px (68,75rem) */
@media (max-width: 68.75rem) {

    .section-apartments {
        grid-template-columns: 1fr;
        row-gap: 3.2rem;
        column-gap: 0;
    }

    .apartments-text-container {
        padding: 4.8rem;
    }

    .apartments-text-box {
        margin-left: 0;
    }

    .apartments-description {
        margin-bottom: 4.8rem;
    }

    .apartments-gallery {
        transform: none;
        margin: 0;
        padding: 0 3.2rem;
        grid-template-columns: repeat(3, 1fr);
    }
}

/* MEDIA-QUERIES 940px  */
@media (max-width: 58.75rem) {

}

/* MEDIA-QUERIES 770px  */
@media (max-width: 48.125rem) {

    .apartments-text-container {
        padding: 3.2rem 2.4rem;
    }


}

/* MEDIA-QUERIES 600px   */
@media (max-width: 37.5rem) {

    .section-apartments {
        padding-top: 6.4rem;
        padding-bottom: 6.4rem;
    }

    .apartments-description {
        font-size: 1.8rem;
    }

    .apartments-gallery {
        padding: 0 1.6rem;
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: auto;
        gap: 1.2rem;
    }

    .gallery-item:last-child {
        transform: translate(50%, 0%);
    }
}

/* MEDIA-QUERIES 360px    */
@media (max-width: 22.5rem ) {

}

/* ************************************ */
/* FAMILY SECTION */
/* ************************************ */
.section-family {
    padding-top: 12.8rem;
    padding-bottom: 19.2rem;

    background-color: #fbf5de;
}

.family-box {
    display: grid;
}

.section-family h2 {
    justify-self: center;
    margin-bottom: 2.4rem;
}

.family-subheading {
    justify-self: center;
    font-size: 3rem;
    font-family: "EB Garamond", serif;
    margin-bottom: 12.8rem;
}

.family-container {
    display: grid;
    grid-template-columns: 2fr 3fr;
    padding-top: 4.8rem;
    transform: translate(10%, 0%);
}

.family-text-box {
    background-color: white;
    border: 1px solid #344834;
    z-index: 2;

    display: flex;
    flex-direction: column;
    padding: 3.2rem 4.8rem;
}

.family-text-box h3 {
    justify-self: center;
}

.family-text {
    text-align: justify;
    font-size: 2rem;
    line-height: 1.6;
    margin-bottom: 1.2rem;
}

.family-img {
    height: auto;
    width: 100%;
    align-self: center;
    transform: translate(-10%, 0%) scale(180%);
}

/* MEDIA-QUERIES 1300px (81,25rem) */
@media (max-width: 81.25rem) {

    .family-container {
        transform: translate(6%, 0%);
    }

    .family-img {
        transform: translate(-6%, 0%) scale(160%);
    }
}

/* MEDIA-QUERIES 1100px (68,75rem) */
@media (max-width: 68.75rem) {

    .family-container {
        grid-template-columns: 1fr;
        transform: none;
        padding: 0 3.2rem;
        gap: 3.2rem;
    }

    .family-text-box {
        padding: 3.2rem;
    }

    .family-img {
        transform: none;
        max-width: 56rem;
        justify-self: center;
    }
}

/* MEDIA-QUERIES 940px  */
@media (max-width: 58.75rem) {

    .section-family {
        padding-top: 9.6rem;
        padding-bottom: 8rem;
    }

    .section-family .heading-secondary {
        text-align: center;
    }

    .family-subheading {
        text-align: center;
        padding: 0 2.4rem;
        margin-bottom: 6.4rem;
    }
}

/* MEDIA-QUERIES 770px  */
@media (max-width: 48.125rem) {

    .family-subheading {
        font-size: 2.8rem;
    }
}

/* MEDIA-QUERIES 600px   */
@media (max-width: 37.5rem) {

    .family-container {
        padding: 0 0.4rem;
    }

    .family-text {
        font-size: 1.8rem;
    }
}

/* MEDIA-QUERIES 360px    */
@media (max-width: 22.5rem ) {
    .family-text-box {
        padding: 2.4rem 1.6rem;
    }

    .family-subheading {
        font-size: 2rem;
    }
}

/* ************************************ */
/* RECOMMENDATIONS SECTION */
/* ************************************ */
.section-recommendations {
    padding-top: 12.8rem;
    padding-bottom: 19.2rem;

    /* background-color: #e6f0e6; */

    display: grid;
}

.recommendations-text-box {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.recommendations-text-box h2 {
    margin-bottom: 2.4rem;
}

.recommendations-subheading {
    font-size: 2rem;
    line-height: 1.6;
    text-align: justify;
    margin-bottom: 9.6rem;
}

.recommendations-gallery {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 2.4rem;

    margin-bottom: 4.8rem;
}

.recommendations-img-container {
    position: relative;
    overflow: hidden;
}

.recommendations-img-container h3 {
    position: absolute;
    bottom: -5%;
    left: 5%;

    color: #f3f8f3;
}

.recommendations-img {
    height: auto;
    width: 100%;
}

.recommendations-img:hover {
}

.recommendations-btn-box {
    display: flex;
    justify-content: center;
}

.recommendations-overlay {
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 99%;

    background-color: rgba(0, 0, 0, 0.3);
    background-size: cover;
    background-position: center;
    pointer-events: none;
}

/* MEDIA-QUERIES 1100px (68,75rem) */
@media (max-width: 68.75rem) {


}

/* MEDIA-QUERIES 940px  */
@media (max-width: 58.75rem) {

    .section-recommendations {
        padding-top: 6.4rem;
        padding-bottom: 8rem;
    }

    .recommendations-subheading {
        padding: 0 2.4rem;
        margin-bottom: 6.4rem;
    }
}

/* MEDIA-QUERIES 770px  */
@media (max-width: 48.125rem) {


}

/* MEDIA-QUERIES 600px   */
@media (max-width: 37.5rem) {
    .recommendations-subheading {
        font-size: 1.8rem;
    }

    .recommendations-gallery {
        grid-template-columns: 1fr 1fr;
    }

    .recommendations-img-container:last-child {
        transform: translate(50%, 0%);
    }
}

/* MEDIA-QUERIES 360px    */
@media (max-width: 22.5rem ) {

}
