:root{
    --light_yellow: rgb(255,246,229);

    --xsmall_spacing: 20px;
    --small_spacing: 40px;
    --standard_spacing: 80px;

    --full_width:calc(100vw - 2* var(--standard_spacing));
    --narrow_width: 25vw;
    --wide_width: calc( var(--full_width) - var(--standard_spacing) - var(--narrow_width) );
    --bodytext_wide_width: 40vw;
}





html,body{
    background-color: var(--light_yellow);
    height: min-content;
}
body{
    padding: var(--standard_spacing);
}





h1,h2,p,li{
    font-family: "franklin-gothic-urw", sans-serif;
    font-weight: 400;
    font-style: normal;
}
p, li{
    font-size: 1.4em;
    letter-spacing: -1%;
    max-width: var(--bodytext_wide_width);
    margin-top: 0;
}
h2{
    font-size: 2.2em;
    max-width: var(--wide_width);
    margin-top: 0;
}
h1{
    font-size: 4em;
    margin-top: 0;
    line-height: 1;
}
::selection{
    background-color: var(--accent_color);
}
ul{
    padding-left: var(--xsmall_spacing);
}
.footnote{
    font-size: 0.8em;
    margin-top: var(--standard_spacing);
}




a{
    display: table-row;
    margin-bottom: 0;
}
a, a:visited{
    text-decoration: none;
    color: var(--light_yellow);
}
    a p{
        margin-bottom: 0;
    }

nav{
    background-color: var(--accent_color);
    position: fixed;
    top: 0px;
    display: flex;
    gap: 15px;
    justify-content: space-around;
    flex-wrap: wrap;
    padding: 10px 15px 10px 15px;
    width: calc(100vh - 30px);
    min-width: calc(100vh - 30px);
    min-height: 25px;
    border-radius: 10px;
    transform: rotate(90deg);
    transform-origin: 0% 0%;
    z-index: 1000;
}
    nav p{
        font-size: 1.1em;
    }
    nav div{
        display: flex;
        gap: 15px;
    }
        .nav_link{
            white-space: nowrap;
            text-align: center;
            color: var(--light_yellow);
        }
        .nav_link:hover,#nav_current_page{
            text-decoration: underline;
        }
#mobile_menu_toggle{
    display: none;
}

.link_box_flexcontainer{
    display: flex;
    gap: 0px 5px;
    flex-wrap: wrap;
}
    .link_box, .link_box p, a{
        width: min-content;
        cursor: pointer;
    }
    .link_box{
        border: 1px solid black;
        padding: 5px 10px 5px 10px;
        border-radius: 8px;
        margin-bottom: 5px;
        transition: background-color 0.2s ease-in-out;
    }
    .link_box:hover{
        background-color: var(--accent_color);
    }
        .link_box a, .link_box:visited{
            color: black;
        }
        .link_box p{
            margin-bottom: 0;
            white-space: nowrap;
        }

header{
    border-bottom: 2px solid var(--accent_color);
    position: fixed;
    top: 0px;
    left: 0;
    width: calc(100vw - 2* var(--standard_spacing));
    padding: 10px var(--standard_spacing) 10px var(--standard_spacing);
    display: flex;
    gap: var(--small_spacing);
    background-color: var(--light_yellow);
    z-index: 999;
}
    header h2{
        margin: 0;
    }
    .header_btn{
        cursor: pointer;
    }




.image_container{
    border-radius: 8px;
    overflow: hidden;
    margin-bottom: var(--small_spacing);
}
.image_container:last-child{
    margin-bottom: 0;
}
.portrait{
    max-width: 30vw;
    max-height: 70vh;
}
.landscape{
    max-width: 38vw;
    max-height: 45vh;
}
    .image_container img,.image_container video{
        object-fit: cover;
        width: 100%; height: 100%;
    }





.section_container{
    margin-top: 80px;
}
.section_container ~ .section_container{
    margin-top: 300px;
}

    .two_column_text_container,.two_column_content_container{
        display: flex;
        gap: var(--standard_spacing);
        margin-bottom: var(--standard_spacing);
    }
        .two_column_text_container > :first-child{
            width: var(--narrow_width);
        }
        .two_column_text_container .portrait, .two_column_text_container .landscape{
            height: auto;
        }

    .two_column_content_container{
        margin-top: var(--standard_spacing);
    }
        .two_column_content_container_media_container,.two_column_content_container_text_container{
            width: var(--bodytext_wide_width);
        }
            .two_column_content_container_text_container{
                position: sticky;
                height: fit-content;
            }

            .inbox_subtitle{
                margin-top: var(--standard_spacing);
            }

    .projects_section{
        margin-top: var(--standard_spacing);
        display: flex;
        gap: var(--xsmall_spacing);
        flex-wrap: wrap;
        justify-content: left;
        align-items: center;
    }
        .project_container{
            border: 2px solid black;
            color: black;
            border-radius: 8px;
            padding: var(--xsmall_spacing);
            width: min-content;
            height: min-content;
            transition: background-color 0.2s ease-in-out;
        }
            
            .project_container .image_container{
                height: 50vh;
                margin-bottom: 0;
            }
            .project_container h2{
                margin-top: var(--xsmall_spacing);
                margin-bottom: var(--xsmall_spacing);
            }
            .project_container p{
                margin-bottom: 5px;
            }







@media only screen and (max-width:900px) {

    :root{
        --light_yellow: rgb(255,246,229);

        --xsmall_spacing: 10px;
        --standard_spacing: 20px;
        --medium_spacing: 40px;
        --mediumlarge_spacing: 80px;
        --large_spacing: 120px;

        --wide_width: var(--full_width);
        --bodytext_wide_width: calc(var(--full_width) - 2* var(--standard_spacing));
    }





    p{
        font-size: 1.1em;
        max-width: var(--bodytext_wide_width);
        margin-top: 0;
    }
    h2{
        font-size: 1.8em;
        max-width: var(--wide_width);
    }
    h1{
        font-size: 3.5em;
        margin-top: 0;
    }
    .footnote{
        margin-top: var(--medium_spacing);
    }





    body{
        padding: var(--standard_spacing) var(--standard_spacing) var(--large_spacing) var(--standard_spacing);
    }




    
    nav{
        transform: none;
        top: 0; left: -100vw; right: unset;
        min-width: calc(100vw - 2* var(--standard_spacing));;
        width: calc(100vw - 2* var(--standard_spacing));
        height: calc(100vh - var(--medium_spacing) - 200px);
        margin-left: 0;
        flex-direction: column;
        justify-content: space-between;
        padding: var(--medium_spacing) var(--standard_spacing) 200px var(--standard_spacing);
        border-radius: var(--standard_spacing);
        transition: left 0.5s ease-in-out;
    }
        nav div{
            flex-direction: column;
            gap: 5px;
        }
            .nav_link{
                font-size: 2em;
            }
    #mobile_menu_toggle{
        display: block;
        position: fixed;
        bottom: calc(-1 * var(--standard_spacing));
        left: var(--standard_spacing);
        z-index: 1001;
        color: var(--accent_color);
        transition: left 0.5s ease-in-out;
    }

    header{
        padding: var(--xsmall_spacing) var(--standard_spacing) var(--xsmall_spacing) var(--standard_spacing);
        gap: 0;
        justify-content: space-between;
    }
        header h2{
            font-size: 1.1em;
            white-space: nowrap;
        }





    .portrait, .landscape{
        max-width: none;
        max-height: none;
    }
    .portrait{
        width: calc(var(--bodytext_wide_width) - var(--standard_spacing));
        height: auto;
    }
    .landscape{
        width: var(--wide_width);
        height: auto;
    }





    .section_container{
        margin-top: var(--medium_spacing);
    }
    .section_container ~ .section_container{
        margin-top: 200px;
    }

        .two_column_text_container,.two_column_content_container{
            display: block;
            margin-bottom: var(--mediumlarge_spacing);
        }
            .two_column_text_container > :first-child,.two_column_content_container_media_container,.two_column_content_container_text_container{
                width: var(--wide_width);
            }
        
        .two_column_content_container{
            margin-top: var(--medium_spacing);
        }
            .two_column_content_container_media_container{
                margin-bottom: var(--small_spacing);
            }

            .inbox_subtitle{
                margin-top: var(--mediumlarge_spacing);
            }

        .projects_section{
            margin-top: var(--medium_spacing);
            justify-content: left;
        }
            .project_container{
                padding: var(--standard_spacing);
            }

}