* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    background-color: var(--background-color);
    --background-color: #ececec;
    --content-width: 95vw;
    --text-color: #2F1B25;
    --header-color: #114B5F;
    --menu-background-color: #7A7052;
    --menu-text-color: #304123;
    --image-background-color: #A15E49;
}

#header {
    background: url('../img/bottom_layer.png') no-repeat;
    background-size: contain;
    font-family: 'N27';
    padding-top: 45.933%;
}

#header img {
    position: absolute;
    top: 0;
    right: 0;
    object-fit: contain;
    object-position: top;
    width: 100vw;
}

.menu-wrapper {
    background: var(--menu-background-color);
    color: #88D498;
    position: relative;
}

.menu {
    display: flex;
    font-family: 'N27';
    margin: auto;
    margin-top: -3vh;
    height: 50px;
    width: var(--content-width);
}

#header h1 {
    position: fixed;
    top: 2rem;
    right: 2rem;
    font-size: 8vw;
    line-height: .8;
    margin-top: 0;
    text-align: center;
    color: var(--header-color);
    opacity: calc(1 - var(--scroll) * 10);
}

.section-root {
    font-family: 'N27';
    margin: auto;
    width: var(--content-width);
    margin-top: -1vh;
}

.section-text {
    padding-bottom: 5px;
    transition-duration: 500ms;
    transition-timing-function: ease-in-out;
    text-align: justify;
    width: 100%;
    max-height: calc(1.3rem * 4);
    line-height: 1.3rem;
    display: block;
    overflow: hidden;
    -webkit-box-orient: vertical;
    display: block;
    display: -webkit-box;
    overflow: hidden !important;
    -webkit-line-clamp: 4;
}

.expand-section::before {
    content: "Click to expand: ";
    color: #7a7052;
    font-weight: bold;
}

.section-text.active {
    max-height: calc(1.3rem * 25);
    -webkit-box-orient: initial;
    overflow: visible;
    text-overflow: inherit !important;
    -webkit-line-clamp: 2000;
}

@media (min-width: 500px) {
    #header h1 {
        opacity: calc(1 - var(--scroll) * 4) !important;
    }

    body {
        --content-width: 75vw !important;
    }
}

@media (min-width: 1000px) {
    #header h1 {
        opacity: calc(1 - var(--scroll) * 2) !important;
    }

    body {
        --content-width: 55vw !important;
    }
}

#header h1 span {
    display: block;
    font-size: 5vw;
    color: var(--header-color);
    text-align: end;
}

.section-img {
   
    align-self: center;
    max-height: 170px;
    max-width: 170px;
    margin: auto;
}

.me-image {
    margin-right: 50px;
    min-width: 250px;
}

.section-img>img {
    border-radius: 5px;
    object-fit: cover;
    width: 100%;
    min-width: 100px;
    /* min-height: 170px;
    min-width: 170px; */
}

.section {
    display: flex;
    margin: 5px;
    /* flex-direction: row; */
    padding-top: 100px;
    flex-wrap: nowrap;
}

.work {
    display: flex;
    /* margin: -30px 50px; */
    flex-direction: row;
    padding-top: 100px;
    flex-wrap: wrap;
}

@media only screen and (max-width: 600px) {
    .section {
        padding-top: 20px;
        flex-direction: column;
        flex-wrap: nowrap;
    }

    .work {
        padding-top: 20px;
        flex-direction: column;
        margin: 5px 50px;
        flex-wrap: nowrap;
    }

    .card:nth-child(odd) {
        flex-direction: column !important;
    }

    .section-img {
        flex: 1 1 33%;
        max-height: 200px;
        max-width: 200px;
        align-self: center;
        padding: 10px 10px 10px 0px;
    }
}

@media only screen and (max-width: 1200px) {
    .section {
        padding-top: 20px;
        flex-direction: column;
        flex-wrap: nowrap;
    }

    .work {
        padding-top: 20px;
        flex-direction: column;
        margin: 5px 5px;
        flex-wrap: nowrap;
    }

    .card:nth-child(odd) {
        flex-direction: column !important;
    }

    .section-img {
        flex: 1 1 33%;
        max-height: 200px;
        max-width: 200px;
        align-self: center;
        padding: 10px 10px 10px 0px;
    }
}

@media only screen and (max-width: 1600px) {
    .work {
        padding-top: 20px;
        flex-direction: column;
        margin: 5px 5px;
        flex-wrap: nowrap;
    }
}

.section-content {
    align-self: center;
    flex: 1 1 66%;
    width: 100%;
    /* width: calc(100vw - (100vw / 1.4)); */
}

.section h2 {
    color: var(--header-color);
}

.section h3 {
    color: var(--header-color);
}

.section-root-wrapper {
    background: var(--background-color);
    color: var(--text-color);
    position: relative;
}

.sticky {
    position: fixed;
    top: 0;
    width: 100%;
    margin-top: 0;
    z-index: 100;
}

.sticky-menu {
    margin-top: 0px;
}

#about {
    padding-top: 75px;
}

.menu-item {
    margin-right: 20px;
}

.menu-item h2 {
    padding-top: 4.5px;
}

.menu-wrapper a {
    text-decoration: none;
    color: var(--menu-text-color);
    align-self: center;
}

.no-spacer {
    padding-top: 0px;
}

.section-img .img-background {
    background-color: var(--image-background-color)
}

.section-img .circle {
    padding: 9%;
}

.section-img .shape {
    padding: 3%;
}

.section-img.square {
    padding: 4%;
}

.card {
    padding: 20px;
    border: 1px white;
    border-radius: 9px;
    box-shadow: 1px 1px 3px #0000004f;
    margin-bottom: 10px;
    max-width: 290px;
    margin-right: 5px;
}

.card:nth-child(odd) {
    /* flex-direction: row-reverse;
    max-width: 55%; */
}

.card:nth-child(even) {
    /* align-self: flex-end;
    max-width: 55%; */
}

.my-work-cards {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    padding-top: 40px;
}

@media only screen and (max-width: 800px) {
    .card:nth-child(odd) {
        flex-direction: row-reverse;
        max-width: 100%;
    }

    .card:nth-child(even) {
        align-self: flex-end;
        max-width: 100%;
    }

    .my-work-cards {
        display: flex;
        flex-direction: column;
        padding-top: 24px !important;
    }
}
/* 
@media only screen and (max-width: 2100px) {
    .card:nth-child(odd) {
        max-width: 65%;
    }

    .card:nth-child(even) {
        max-width: 65%;
    }

} */

@media only screen and (max-width: 1200px) {
    .card:nth-child(odd) {
        flex-direction: row-reverse;
        max-width: 100%;
    }

    .card:nth-child(even) {
        align-self: flex-end;
        flex-direction: column !important;
        max-width: 100%;
    }

    .my-work-cards {
        display: flex;
        flex-direction: column;
        padding-top: 24px;
    }
}

@media only screen and (max-width: 1600px) {
    .card:nth-child(odd) {
        flex-direction: row-reverse;
        max-width: 100%;
    }

    .card:nth-child(even) {
        align-self: flex-end;
        flex-direction: row;
        max-width: 100%;
    }

    .my-work-cards {
        display: flex;
        flex-direction: column;
        padding-top: 24px;
    }
}