:root {
    --body-max-width: 1300px;
    --dark-accent-lighter: rgb(52, 55, 81);
    --dark-accent: rgb(29, 32, 48);
    --light-accent: hsl(20, 26%, 91%);
    --link-color: rgb(126, 35, 245);

    --sans-serif: Montserrat, sans-serif;
    --serif: 'Noto Serif';

    --global_line_height: 1.3em;
}

/*****************************************************/
/*****************************************************/

html {
    min-height: 100%;
    display: flex;
    flex-direction: column;
}

body,
main {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

/*****************************************************/
/* html {
    height: 100%;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

body,
main {
    height: 100%;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

main>section:last-child {
    flex-grow: 1;
} */
/*****************************************************/
/*****************************************************/

body {
    font-family: var(--sans-serif);
    margin: 0em 0px;
    margin-top: 3px;
    line-height: var(--global_line_height);
}

main {
    font-size: 0.93em;
}

main>section {
    padding-bottom: 3em;
    text-align: justify;
}

h2 {
    font-size: 1.21em;
}

h3 {
    margin: 0px;
}

/* to switch between white and beige sections */
main>section:nth-child(even) {
    background-color: var(--light-accent);
}

#heading_container,
main>section>* {
    max-width: var(--body-max-width);
    margin-left: auto;
    margin-right: auto;
    --padding_value: 3vw;
    padding-left: var(--padding_value);
    padding-right: var(--padding_value);
}

main>section>h2 {
    max-width: 100%;
    margin-top: 0;
    padding: 0.4em;
    text-align: center;
    background-color: var(--dark-accent-lighter);
    color: white;

    margin-bottom: 2em;
}

#banner {
    --bg-gradient: linear-gradient(180deg, var(--dark-accent) 0%, var(--dark-accent-lighter) 100%);

    background-image: url('images/banner/banner_transparent_mobile.png'), var(--bg-gradient);

    background-size: contain;
    background-repeat: repeat-x;

    height: calc(180/1400*100vw);
}

/* 
#aboutSection>h2 {
    margin-bottom: 0;
} */

#aboutSection>div>#aboutSectionDecoration {

    height: 10em;
    background-image: url('images/pen_with_bar.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    margin-top: 2em;
}

#teamSection>div {
    margin-bottom: 3em;
}

#teamSection .teamMemberMainRow {
    display: flex;
    flex-direction: row;
    column-gap: 2em;
}

#teamSection .profilePictureContainer {
    max-width: 108px;
    overflow: hidden;
    display: flex;
    justify-content: center;
}

#teamSection img {
    height: 10em;
}

#teamSection .profilePictureContainer,
#teamSection img {
    border-radius: 28.8%;
}





/* -------------------------------- heading -------------------------------- */
#heading_container {
    display: grid;
    grid-template-columns: 1fr auto;
    font-family: var(--serif);
    margin-bottom: 0em;
}

#heading_logo_title {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-rows: min-content;
}

#logo {
    background-image: url("images/logo_ephyra_dark.svg");
    background-repeat: no-repeat;
    background-size: contain;
    width: 3.5em;
}

/* EPHYRA PUBLISHING on two lines */
#heading_global_title {
    display: grid;
    grid-auto-columns: min-content;
}

/* EPHYRA is bigger than PUBLISHING on two lines */
#heading_global_title #heading_global_title_ephyra {
    font-size: 1.53em;
}

body>header a {
    color: black;
}

/* ------------------------------- / heading ------------------------------- */


.bookListElement {
    /* border: solid; */
    display: flex;
    flex-direction: column;
    row-gap: 1em;
}

.bookFirstRow {
    display: flex;
    flex-direction: column;
    row-gap: 2em;
}

.bookFirstRow>div {
    display: flex;
    flex-direction: column;
}

.bookFirstRow>div:nth-child(1) {
    align-items: center;
}

.bookFirstRow>div:nth-child(2) {
    row-gap: 1em;
}

.bookSecondRow {
    text-align: right;
}


.bookCover {
    width: 14em;
    display: block;
}

a {
    color: var(--link-color);
    text-decoration: none;
    border-left: solid transparent;
}

a:hover {
    text-decoration: underline;
}


/* ------------------------ links styled as buttons ------------------------ */
button.pretty_button,
a.pretty_button {
    border: none;
    border-radius: 8px;
    padding: 0.25em 0.5em;
    background-color: var(--dark-accent-lighter);
    color: white;
    /* transition-duration: 0.4s; */
    box-shadow: rgba(0, 0, 0, 0.3) 0px 1px 2px;
    text-wrap: nowrap;
    font-size: 1.25em;
    display: inline-block;
}

button.pretty_button:hover,
a.pretty_button:hover {
    cursor: pointer;
    background-color: var(--dark-accent);
    text-decoration: none;
    box-shadow: rgba(0, 0, 0, 0.3) 0px 1px 2px;
}

/* ----------------------- / links styled as buttons ----------------------- */

/* --------------------------------- footer --------------------------------- */


body>footer>#footer_links_wrapper {
    background-color: var(--dark-accent);
    color: white;
    text-align: center;
    padding: 0.4em;
}

body>footer>#footer_links_wrapper>#footer_links {
    max-width: var(--body-max-width);
    margin: auto;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-around;
    row-gap: 0.33em;
}

body>footer>#footer_links_wrapper>#footer_links>span {
    flex-grow: 1;
    min-width: 250px;
}

body>footer>#footer_links_wrapper>#footer_links>#footer_contact {
    flex-basis: min-content;
}


body>footer>#footer_links_wrapper>#footer_links a {
    color: white;
}

/* -------------------------------- / footer -------------------------------- */




/* ---------------------------------- DESKTOP ------------------------------------ */
@media only screen and (min-width: 691px) {

    main>section:last-of-type {
        padding-bottom: 6em;
        flex-grow: 1;
    }

    #banner {
        background-image: url('images/banner/banner_transparent_desktop.svg'), var(--bg-gradient);
        height: min(160px, calc(160/2048*100vw));
    }

    /* ----------------- footer ------------------- */
    body>footer {
        position: fixed;
        bottom: 0;
        right: 0;
        left: 0;
    }

    /* ---------------- / footer ------------------ */

    .bookFirstRow {
        flex-direction: row;
        column-gap: 2em;
    }

    .bookFirstRow>div {
        justify-content: center;
    }
}

/* --------------------------------- / DESKTOP ----------------------------------- */