html, body{
    margin: 0;
    padding: 0;
    color: #1B1919;
    --space: min(55px, 7vw);
}
section,footer{
    padding: calc(var(--space) / 2) 0;
}
section:first-of-type{
    padding-top: calc(var(--space) / 2);
}

/* Shadow background */
section, footer{
    --shadow: rgba(0,0,0,0.1);
    --section-background: #E6E6E1;
    --lp: calc(50% - 633px);
    --rp: calc(50% + 633px);
    --d: 0px;
    background: linear-gradient(90deg, transparent calc(var(--lp) - var(--d)), var(--shadow) var(--lp), var(--section-background) var(--lp), var(--section-background) var(--rp), var(--shadow) var(--rp), transparent calc(var(--rp) + var(--d)));
}
footer{
    --section-background: white;
    margin-bottom: 100px;
}

.max-width, .max-width-padding{
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: var(--gap,var(--space));
    padding: 0 calc(var(--space) / 2);
    width: calc(100% - var(--space));
}
.hidden{
    display: none;
}

/* Fonts */
body{
    font-family: "Roboto", sans-serif;
line-height: 1.3;
font-size: 1.2rem;
font-weight: 300;
font-smooth: always;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
background: #374239;
}
@font-face {
    font-family: "Accent-font";
    src: url(BigCaslon.woff);
}
.font-larger{
    font-size: 1.2em;
}
.font-700{
    font-weight: 700;
}

/* Headings */
h1{
    font-size: 6em;
    line-height: 1.2em;
    font-family: "Accent-font", Georgia, 'Times New Roman', Times, serif;
    margin: 0;
    font-weight: 500;
}
h2{
    font-size: 4.25em;
    line-height: 1.2em;
    font-family: "Accent-font", Georgia, 'Times New Roman', Times, serif;
    margin: 0;
    font-weight: 500;
}
.max-width>h2{
    padding-left: calc(var(--space));
    margin-bottom: -.2em;
    margin-top: 0;
}

/* Other elements */
a{
    color: #5A7842;
    font-weight: 500;
}
li {
    margin: 0.4em 0 0.4em calc(var(--space) / 2);
}
p{
    margin: 0.4em 0 0.4em 0;
}
footer{
    padding-bottom: calc(1.5 * var(--space));
}
footer a{
    color: inherit;
    text-decoration: none;
    font-weight: inherit;
}

footer a:hover{
    text-decoration: underline;
}

/* Columns: Desktop only */
@media (min-width: 800px) {
    .columns{
        --gap: calc(var(--space) / 2);

        display: flex;
        gap: var(--gap);
    }
    .desktop-flip{
        flex-direction: row-reverse;
    }
    .columns .text-column, .columns .image-column {
        width: calc((100% - (var(--gap) * (var(--columns) - 1))) / var(--columns,1));
        flex-grow: 0;
    }
    h2.right-column{
        padding-left: calc(50% + calc(var(--space) / 2));
    }
}

/* Columns: Mobile only */
@media (min-width: 490px) and (max-width: 799px) {
    #footer .columns{

        display: flex;
        flex-wrap: wrap;
        gap: var(--gap);
    }
    #footer .columns .text-column, #footer .columns .image-column {
        width: calc((100% - var(--gap)) / 2);
        flex-grow: 0;
    }
}


/* Columns details */
.max-width>h2{
    margin-bottom: calc(var(--space) * -0.75);
}
@media(min-width: 800px) {
    .max-width>h2{
        margin-top: calc(-0.3em);
    }
}
.columns:not(.desktop-flip) .text-column:first-child>*{
    padding: 0 calc(var(--space) * 0.3) 0 calc(var(--space));
}
.columns.desktop-flip .text-column:first-child>*{
    padding: 0 calc(var(--space) ) 0 calc(var(--space) * 0.3);
}
.image-column img{
    width: 100%;
    height: auto;
    display: block
}
.image-column img:not(:first-child){
    margin-top: calc(var(--space) / 2);
}

@media(min-width: 800px) {
    .columns .text-column>*:last-child{
        margin-bottom: 0;
    }

    .columns .text-column>*:first-child{
        margin-top: 0;
    }
}

@media (max-width: 799px) {
    .columns .text-column>* {
        padding: 0 var(--space) 0 var(--space) !important;
    }
    .columns .text-column>*:last-child{
        padding-bottom: var(--space) !important;
    }
}

/* Design frame */
.design-frame{
    position: relative;
    display: flex; 
    align-items: center; 
    justify-content: center;
    aspect-ratio: var(--aspect-ratio);
    overflow: hidden;
    border-top-left-radius: calc(var(--space) / 2);
    border-top-right-radius: calc(var(--space) / 2);
}
.design-frame img{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    aspect-ratio: var(--aspect-ratio);
    pointer-events: none;
    border-top-left-radius: calc(var(--space) / 2);
    border-top-right-radius: calc(var(--space) / 2);
    z-index: 0;
    object-position: bottom center;
}
.design-frame img.overlay{
    z-index: 1;
}
.design-frame h1{
    padding: calc(var(--space) * 0.8 + 2.7rem + var(--space)/2) var(--space) 0 var(--space);
    z-index: 1;
    animation: myAnim2 20s ease 0s 1 normal forwards;
    text-align: center;
}

.design-frame img{
    animation: myAnim 20s ease 0s 1 normal forwards;
}
@keyframes myAnim {
	0% {
		transform: scale(1.2);
	}

	100% {
		transform: scale(1);
	}
}
@keyframes myAnim2 {
	0% {
		transform: scale(1);
	}

	100% {
		transform: scale(1.2);
	}
}

@media (max-width: 480px) {
    .design-frame{
        --aspect-ratio: var(--mobile-aspect-ratio,1) !important;
    }
}

/* Navigation */
.main-navigation{
    position: absolute;
    top: calc(var(--space) / 2);
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    z-index: 2;
}
.main-navigation_link{
    display:inline-block;
    text-align:center;
    text-decoration: none;
    color: inherit;
    padding: calc(var(--space)*0.8) calc(var(--space) / 2) calc(var(--space) / 2);
    font-size: 1.5em;
}
.main-navigation_link:hover{
    font-weight: 800;
    color: white;
}
.main-navigation_link::before {
    display: block;
    content: attr(title);
    font-weight: 800;
    height: 0;
    overflow: hidden;
    visibility: hidden;
}

/* Mobile styles */
@media (max-width: 799px) {
    .main-navigation{
        display: none;
    }
    h1{
        font-size: 4.5em;
    }
    .design-frame h1{
        padding-top: 0px;
    }
    h2{
        font-size: 3em;
    }
}
@media (max-width: 480px) {
    h1{
        font-size: 4em;
    }
    .design-frame h1{
        animation: unset !important;
    }
    h2{
        font-size: 3em;
    }
}

/* Only desktop syles */
@media (min-width: 800px) {
    section#natura {
        margin-top: calc(-0.3*var(--space));
    }
}