/*****************************************************************************************
 * Meta styles
 ****************************************************************************************/
body {
    font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;
    font-weight: 400;

    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;

    /* Source for css color variables:
      * https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_custom_properties
      */
    --main-text: #030303;
    --black-medium: #1B1B1B;
    --black-light: #5c5c5c;
    --grey-light: #d3d3d3;
    --white: #fff;
    --white-alt: #F0F0F0;
    --white-dark: #D7D7D7;
    --white-medium: #E8E8E8;
    --accent: #16d27a;

    margin: 0;
    background-color: var(--white-dark);

    display: flex;
    flex-direction: column;
}

main {
    margin: 0px 120px;
    padding: 2em;


    @media (max-width: 900px) {
        margin: 0px 20px;
    }

    background-color: var(--white);
}

.content {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
}

.bold {
    font-weight: 600;
}

.title {
    display: flex;
    justify-content: center;

    h1 {
        margin: 0.2em;

        @media (max-width: 900px) {
            font-size: 24px;
        }
    }
}


.main-container {
    width: 100%;
    display: flex;
    margin: 10;
    justify-content: center;
    align-items: center;
}

.table-container {
    display: flex;
    flex-wrap: wrap;
    background-color: white;
    width: 100%;
    margin: 0 auto;

    overflow: scroll;
}

.table-row {
    display: flex;
    flex-wrap: nowrap;
    width: 100%;
}

.row-item {
    width: 100%;
    display: flex;
    flex-shrink: 1;
    font-size: 16px;
    padding: 12px;
    justify-content: center;
    align-items: center;
    margin: 10;
}

img {
    object-fit: contain;
}


p {
    margin: 0;
}

h2, ul {
    margin: 0.4em 0;
}

figure {
    display: flex;
    flex-flow: column wrap;

    img {
        object-fit: contain;

        @media (min-width: 900px) {
            height: 450px;
        }
    }
}

img {
    max-width: 100%;
    max-height: 100%
}

.section {
    width: 100%;
}

.divider {
    border-top: 2px solid var(--accent);
}

.video {
    margin: 20px;
}

/*****************************************************************************************
 * Navigation bar
 ****************************************************************************************/
nav {
    position: sticky;
    top: 0;
    z-index: 100;

    font-size: 28px;
    line-height: 32px;
    height: 2em;

    @media (max-width: 900px) {
        height: 1.5em;
    }

    background-color: var(--white-alt);

    display: flex;
    justify-content: center;

    overflow: hidden;
}

nav li {
    display: flex;
    align-items: center;

    height: 100%;
}

nav ul {
    height: 100%;
    display: flex;
    justify-content: flex-start;

    margin: 0;
    padding: 0;
}

nav li a {
    box-sizing: border-box;
    color: var(--main-text);
    text-decoration: none;
    padding: 12px 20px;

    @media (max-width: 900px) {
        font-size: 18px;
        padding: 4px 12px;
    }

    @media (max-width: 360px) {
        font-size: 16px;
        font-weight: 550;
    }
}

nav li a:hover {
    background-color: var(--black-light);
}

nav li a.active {
    border-bottom: 4px solid var(--accent);
}

/*****************************************************************************************
 * Content
 ****************************************************************************************/
.regular-table {
    margin-top: 1em;
    border-collapse: collapse;
    border: 1px solid var(--grey-light);

    th {
        background-color: var(--grey-light);
    }

    td {
        border: 1px solid var(--grey-light);
    }
    caption {
        padding: 0 2em;
        text-align: left;
    }
}

.before-after {
    margin-top: 2em;
    border-collapse: collapse;
    td + td {
        border-left: 2px solid var(--grey-light);
    }
    td {
        text-align: center;
        padding: 4px 1em;
    }
    caption {
        padding-left: 2em;
        text-align: left;
    }
}

object {
    @media (max-width: 900px) {
        height: 360px;
    }
}
