body {
    background-color: #f4f3e8;
    color: #383635;
    font-family: Helvetica, Verdana, Arial, sans-serif;
    font-size: 1.2rem;
    margin: 0;
}

picture {
    display: flex;
}

a {
    color: rgb(46, 106, 182);
    text-decoration: none;
    transition: color 0.2s;
}

h1,h2,h3,h4,h5 {
    color: #2e600d;
    font-family: Garamond, serif;
    font-weight: normal;
}

.dark-color {
    background-color: #2e600d;
    color: #f4f3e8;
}
.dark-color h1, .dark-color h2, .dark-color h3, .dark-color h4, .dark-color h5 {
    color: #f4f3e8;
    text-shadow: 1px 1px black;
}

h1 {
    font-size: 3em;
}
h2 {
    font-size: 2.5em;
}
h3 {
    font-size: 2em;
}
h4 {
    font-size: 1.5em;
}
h5 {
    font-size: 1.25em;
}
:root {
    --display-sm-logo: none;
    --display-lg-logo: block;
}
nav {
    align-items: center;
    animation-duration: 1ms;
    animation-fill-mode: both;
    animation-name: menu-slide;
    animation-timeline: scroll();
    background-color: #fff;
    box-shadow: #333 2px 2px 4px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 20vh;
    position: fixed;
    transition: all 0.1s ease-in-out;
    width: 100%;
    z-index: 100;
}
@keyframes menu-slide {
    0% {
        flex-direction: column;
        --display-lg-logo: block; 
        --display-sm-logo: none; 
        min-height: inherit;
    }
    10% {
        flex-direction: row;
        --display-lg-logo: none;
        --display-sm-logo: block;
        min-height: unset;
    }
    100% {
        flex-direction: row;
        --display-lg-logo: none;
        --display-sm-logo: block;
        min-height: unset;
    }
}
nav ul {
    align-items: center;
    display: flex;
    gap: 16px;
    justify-content: flex-end;
    list-style: none;
    padding: 0px 16px;
}
nav li {
    border-radius: 12px;
    cursor: pointer;
    position: relative;
    text-align: center;
    transition: all 0.25s ease-in-out;
}
nav li > a {
    color: #2e600d;
    display: block;
    font-family: Garamond, serif;
    font-size: 1.6em;
    font-weight: bold;
    padding: 12px;
    transition: all 0.3s ease-in-out;
}
nav li:hover > a {
    color: #2f7daf;
}
nav li img {
    left: 50%;
    opacity: 0;
    position: absolute;
    top: 0;
    transform: translate(-50%, 0%);
    transition: all 0.5s ease-in-out;
    width: 32px;
}
nav li:hover img {
    opacity: 1;
    top: -15%;
}
.nav-logo {
    transition: all 0.3s ease-in;
}
.nav-logo:hover {
    filter: brightness(1.2);
}
.home-logo-sm {
    display: var(--display-sm-logo);
    padding: 8px 16px;
}
.home-logo-lg {
    display: var(--display-lg-logo);
}

.burger-wrapper {
    position: absolute;
    right: 0;
    top: 0;
}
.nav-burger {
    color: #2e600d;
    cursor: pointer;
    display: none;
    height: 6em;
    position: relative;
    width: 6em;
    margin-left: auto;
}
.nav-burger span {
    background-color: currentColor;
    display: block;
    height: 2px;
    left: calc(50% - 8px);
    position: absolute;
    transform-origin: center;
    transition-duration: 86ms;
    transition-property: background-color, opacity, transform;
    transition-timing-function: ease-out;
    width: 20px;
}
.nav-burger span:nth-child(1) {
    top: calc(50% - 6px);
}
.nav-burger span:nth-child(2) {
    top: calc(50% - 1px);
}
.nav-burger span:nth-child(3) {
    top: calc(50% + 4px);
}
.nav-burger.is-active span:nth-child(1) {
  transform: translateY(5px) rotate(45deg);
}
.nav-burger.is-active span:nth-child(2) {
  opacity: 0;
}
.nav-burger.is-active span:nth-child(3) {
  transform: translateY(-5px) rotate(-45deg);
}

@media screen and (max-width: 960px){
    nav {
        animation-name: none;
        flex-direction: column;
        height: 100%;
        justify-content: unset;
        max-height: 6em;
        min-height: unset;
        padding: 0.5em 0em;
    }
    nav.is-active {
        max-height: 100vh;
    }
    nav ul {
        display: none;
        flex-direction: column;
        justify-content: flex-start;
    }
    nav.is-active ul {
        display: flex;
        margin-top: 5em;
    }
    .nav-burger {
        display: block;
    }
    .home-logo-sm {
        display: block;
    }
    .home-logo-lg {
        display: none;
    }
}

footer {
    background: #37A6D6;
    background: linear-gradient(180deg, rgba(55, 166, 214, 1) 0%, rgb(48 86 157) 100%);
    color: #f4f3e8;
    gap: 5vw;
    justify-content: center;
    padding: 1em;
}
footer > div {
    order: 2;
}
footer > div:first-of-type {
    order: 0;
}
footer > div:last-of-type {
    order: 1;
}
footer input {
    background-color: #f4f3e8;
    border-radius: 10px;
    border: 1px solid #2e600d;
    height: 3em;
    margin-right: 1em;
    width: 230px;
}
footer h3 {
    color: black;
    font-weight: bold;
}
footer a {
    color: #f4f3e8;
}
.footer-logo {
    filter: brightness(0);
}
footer .button {
    border-color: transparent;
    color: black;
}
@media screen and (max-width: 960px){
    footer {
        text-align: center;
    }
    footer > div:last-of-type {
        order: 3;
    }
}

.social-button {
    background-color: #f4f3e8;
    border-radius: 50%;
    display: inline-block;
    height: 32px;
    padding: 16px;
    transition: all 0.25s ease-in-out;
    width: 32px;
}
.social-button > img {
    aspect-ratio: 1 / 1;
    transition: all 0.25s ease-in-out;
    width: 32px;
}
.social-button:hover {
    background-color: #2e600d;
}
.social-button:hover > img {
    filter: invert();
}

section {
    padding: 2em 0;
    position: relative;
}
section:first-of-type {
    padding: 0;
}

.center {
    text-align: center;
}

.flex-center {
    align-items: center;
    justify-content: center;
}
.flex-column {
    display: flex;
    flex-direction: column;
}
.flex-gap {
    gap: 20px;
}
.flex-row {
    display: flex;
}
.flex-wrap {
    flex-wrap: wrap;
}

.button {
    background-color: #f4f3e8;
    border: 1px solid #2e600d;
    border-radius: 10px;
    color: #2e600d;
    cursor: pointer;
    display: inline-block;
    font-weight: bold;
    margin: 1em 0.5em;
    padding: 1em;
    transition: all 0.25s ease-in-out;
    width: fit-content;
}
.button:hover {
    background-color: #2e600d;
    border: 1px solid #f4f3e8;
    border-radius: 10px;
    color: #f4f3e8;
}

.scalloped-border {
    background-image: url("../images/jellies.webp");
    background-repeat: repeat-x;
    background-size: contain;
    height: 25px;
    position: absolute;
    bottom: -1px;
    width: 100%;
    z-index: 10;
}
.scalloped-border.down {
    bottom: unset;
    filter: drop-shadow(1px -3px 1px rgba(0,0,0,0.9));
    top: -1px;
    transform: rotateX(180deg);
}
.scalloped-border.pale {
    background-image: url("../images/pale-jellies.webp");
}

.side-by-side {
    overflow: hidden;
    padding: 0;
    position: relative;
    text-align: center;
}
.side-by-side > div {
    max-width: 50%;
    min-height: 400px;
    order: 1;
    width: 100%;
}
.side-by-side .side-text {
    align-items: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 2em 0em;
}
.side-by-side .side-text p {
    padding: 0 5vw;
    text-align: left;
}
.side-by-side .side-image {
    line-height: 0;
    min-height: unset;
}
.side-by-side .side-image img {
    width: 100%;
}
@media screen and (max-width: 960px) {
    .side-by-side>div {
        max-width: 100%;
    }

    .side-by-side .side-image {
        order: 0;
    }
}

.flex-row.pair-view {
    align-items: center;
    gap: 2em;
    justify-content: center;
}
.flex-row.pair-view > div {
    display: flex;
}
.pair-view .flex-column {
    align-items: center;
    justify-content: center;
}
.pair-view .flex-column .flex-column {
    background-color: #fbfef6;
    box-shadow: 2px 2px 5px #383635;
    padding: 1em;
}
.pair-view p {
    max-width: calc(400px + 10vw);
}
.pair-view img {
    border-radius: 40px;
    filter: drop-shadow(2px 4px 6px black);
    width: 100%;
}
@media screen and (max-width: 960px){
    .flex-row.pair-view {
        gap: 0em;
    }
    .pair-view img {
        border-radius: 0;
        filter: unset;
    }
}


.delay-animation {
    opacity: 0;
}
.activate {
    animation-play-state: running;
}
.fadeUp.activate {
    animation-delay: 0.1s;
    animation-duration: 1s;
    animation-fill-mode: forwards;
    animation-name: fadeUp;
    opacity: 0;
    transform: translateY(20px);
    will-change: transform;
}
@keyframes fadeUp {
  0% {}
  100% {
        transform: translateY(0px);
        opacity: 1;
        }
}

.fadeLeft.activate {
    animation-delay: 0.1s;
    animation-duration: 1s;
    animation-fill-mode: forwards;
    animation-name: fadeLeft;
    opacity: 0;
    transform: translateX(20px);
    will-change: transform;
}
@keyframes fadeLeft {
  0% {}
  100% {
        transform: translateX(0px);
        opacity: 1;
        }
}

.fadeRight.activate {
    animation-delay: 0.1s;
    animation-duration: 1s;
    animation-fill-mode: forwards;
    animation-name: fadeRight;
    opacity: 0;
    transform: translateX(-20px);
}
@keyframes fadeRight {
  0% {}
  100% {
        transform: translateX(0px);
        opacity: 1;
        }
}