/* hero section */
#hero {
    display: flex; align-items: center; justify-self: center; text-align: center;
    width: calc(100% - 20vh); max-height: calc(100vh - 60px);
    padding: 0; gap: 1vw; margin: 60px 10vh 0 10vh;
    box-sizing: border-box;
}
.heroText {text-align: left; flex: 1;}
.heroText p {margin-bottom: 3vh;}
.heroImage {display: flex;justify-content: end; flex: 1;}
.heroImage img {
    width: 80%; height: auto; max-height: calc(100vh - 65px);
    object-fit: cover;
    border: 2px solid rgba(255, 255, 255, 0.2); border-radius: 20%;
}

/* about section */
.linksContainer {
    display: flex; flex-direction: row; align-items: stretch; gap: 2vw;
}
.aboutLinks{
    flex: 1; overflow: hidden; display: flex; flex-direction: column;
    align-items: center; justify-content: center; box-sizing: border-box;
    transition: box-shadow 0.3s ease-in-out; gap: 2vh;
}
.aboutLinks img {
    width: 50%; height: auto; max-height: 50vh;
    transition: transform 0.3s ease-in-out;
}
.aboutLinks:hover img {transform: scale(1.05);}
.aboutLinks:hover {
    box-shadow: 0 4px 30px rgba(255, 255, 255, 0.1);
}



@media (max-width: 768px) {
    #hero {
        height: auto;
        flex-direction: column;
        justify-content: start;
        max-height: none;
        margin: 60px 5vw 0 5vw;
        width: calc(100% - 10vw);
    }
    .heroText {padding: 50px 5vw; width: calc(100% - 10vw);}
    .heroImage {width: 100%;justify-content: center; object-position: center;}    
}
@media (max-width: 1024px) {
    .linksContainer {
        flex-direction: column;
        align-items: center;
    }
    .aboutLinks {width: 100%;}
    .aboutLinks img {
        width: 20%;
    }

    .aboutLinks{
        flex-direction: row;
        justify-content: flex-start;
    }
}

@media (min-width: 1440px) {
    #hero {
        max-height: none;
        height: calc(100vh - 60px);
        padding-top: 0;
        padding-bottom: 0;
    }
}