* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    scroll-behavior: smooth;
    font-family: 'Poppins', sans-serif;
}

:root {
    --header-height: 50vh;
    --header-max-height: 500px;
    --footer-height: 150px;
    --content-width: 3440px;
    /* --background-color: black; */
    --main-min-height: calc(100vh - (var(--header-max-height) + var(--footer-height)));
    --banner-full-url: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0)), url(./media/banner11.jpg);
    --banner-medium-url: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0)), url(./media/banner11_medium.jpg);
    --banner-small-url: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0)), url(./media/banner11_small.jpg);
}

/* HEADER WITH BANNER IMAGE */

header {
    height: var(--header-height);
    max-height: var(--header-max-height);
    min-height: fit-content;
    width: 100%;
    max-width: var(--content-width);
    margin: 0 auto;

    background-image: var(--banner-full-url);
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: cover;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: white;
}

.header-container {
    padding: 80px 10px;
    display: flex;
    flex-direction: column;
    margin-top: auto;
    margin-bottom: auto;
    align-items: center;
    justify-content: center;
}

.header-container p {
    font-size: 0.7em;
    letter-spacing: 2.5px;
}

.coordinates-container {
    width: 100%;
    text-align: start;
    margin-bottom: 15px;
    margin-top: 40px;
}

.title-container {
    padding: 40px 20px;
}

.subheading-container {
    width: 100%;
    text-align: end;
    margin-top: 15px;
    margin-bottom: 40px;
}

.header-container h1 {
    margin-top: 20px;
    margin-bottom: 20px;
    font-family: 'Times New Roman', Times, serif;
    font-size: 5em;
    text-align: center;
}

.header-container h2 {
    font-family: 'Times New Roman', Times, serif;
    font-size: 1.1em;
    text-align: center;
}


/* ############# GENERAL COMPONENTS ############### */

a {
    text-decoration: none;
    /* color: black; */
}

a:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
}

p {
    line-height: 1.5;
}

h1 {
    font-weight: 500;
}

h2 {
    font-size: 2em;
    font-weight: 500;
    letter-spacing: 2px;
    /* text-transform: uppercase; */
}

h3 {
    font-weight: 400;
}

/* #################### MAIN ############################# */

main {
    min-height: var(--main-min-height);
    width: 100%;
    max-width: var(--content-width);
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: start;
}


/* ###################### SECTION ########################### */

section {
    padding-bottom: 100px;
    width: 100%;
    max-width: 1024px;
}

.section-title {
    margin-bottom: 40px;
}

/* ###################### ABOOT ######################### */

#about {
    padding-top: 60px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: start;
}

#about h2 {
    text-transform: uppercase;
}

#about .title {
    width: 100%;
    text-align: center;
}

#about img {
    width: 100%;
    height: 300px;
    object-fit: cover;
    object-position: 50% 80%;
    margin-bottom: 60px;
}

.about-body {
    text-align: justify;
    line-height: 1.5;
    max-width: 600px;
    padding: 0 15px;
}

.about-body a {
    color: black;
}

.center {
    text-align: center;
}

/* ##################### FOOTER ########################## */

footer {
    height: var(--footer-height);
    max-width: var(--content-width);
    width: 100%;
    margin: 0 auto;
    background-color: black;
    display: flex;
    flex-direction: column;
    align-items: center;
    color: white;
}

.footer-container {
    height: 100%;
    margin-top: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.footer-container .logo-container {
    font-size: 1.2em;
    text-align: center;
    justify-content: center;
    margin-bottom: 20px;
    text-transform: uppercase;
}

.list-container {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    font-size: .8em;
}

.link-container {
    display: flex;
    flex-direction: column;
    justify-content: start;
    height: fit-content;
    width: fit-content;
    text-align: center;
}

.link-container-big {
    width: 145px;
}

.list-container a {
    color: white;
}

.divider {
    margin: auto 10px;
}

.bottom-container,
.bottom-container a {
    color: rgba(255, 255, 255, 0.716);
}

.bottom-container a {
    color: rgba(255, 255, 255, 0.716);
}

@media (max-width: 1920) {
    header {
        background-image: var(--banner-medium-url);
    }
}

@media (max-width: 768px) {
    :root {
        --header-height: 25vh;
        /* --header-max-height: 50vh; */
    }

    /* ###################### SECTION ########################### */

    section {
        padding-bottom: 40px;
    }

    .section-title {
        margin-bottom: 40px;
    }

    /* HEADER WITH BANNER IMAGE */

    header {
        margin-bottom: 0;
        background-image: var(--banner-small-url);
    }

    .title-container {
        padding: 20px 10px;
    }

    /* ###################### ABOUT ########################### */

    #about {
        padding-bottom: 60px;
    }

    footer {
        height: 20vh;
    }
}