#menu
{
    height: 50px;
}
#logo
{
    font-size: 14pt;
    line-height: 22px;
    height: 50px;
}
.smallbr
{
    display: inline;
}
#logo img
{
    max-height: 50px;
    vertical-align: unset;
}
#logo span 
{
    display: none;
}
#nsfw_switch
{
    top: 7px;
    right: 80px;
    padding: 2px 10px;
}
#hamburger
{
    display: block;
    position: absolute;
    top: 2px;
    right: 10px;
    width: 50px;
    height: 45px;
    z-index: 200;
    background-color: var(--col-btn-white-bg);
    border: solid 1px var(--col-border);
    border-radius: 4px;
    cursor: pointer;
}
#hamburger::before,
#hamburger::after
{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: black;
    transition: opacity 0.3s ease;
}
#hamburger::before 
{
    content: "\2630"; /* ☰ */
    opacity: 1;
}
#hamburger::after
{
    content: "\2716"; /* ✖ */
    opacity: 0;
}
#hamburger.open::before
{
    opacity: 0;
}
#hamburger.open::after
{
    opacity: 1;
}
menu
{
    position: fixed;
    top: 0;
    right: 0px;
    height: 100%;
    width: 100%;
    background-color: white;
    transform: translateX(100vw);
    transition: transform 300ms ease-in-out;
    z-index: 150;
    padding: 20px 40px;
    display: flex;
    flex-direction: column;
    border: solid 1px var(--col-border);
    border-top: none;
    margin: 0;
}
menu.open 
{
    transform: translateX(0);
}
menu li
{
    font-size: 14pt;
    line-height: 14pt;
    margin: 0;
    margin-bottom: 20px;
}
menu li::first-letter
{
    font-weight: bold;
}
menu li.selected
{
    text-decoration: underline;
}
menu li.selected a::after
{
    display: none;
}
#contact_form
{
    display: block;
    width: 95vw;
    margin: 70px auto 0px auto;
    border: solid 1px var(--col-border);
    border-radius: 10px;
    padding: 40px 0px;
}
.form_big_button
{
    border: solid 1px var(--col-border);
    color: var(--col-form-button-text);
    background-color: var(--col-form-button-bg);
    border-radius: 5px;
    padding: 5px 10px;
    margin: 5px 10px;
    cursor: pointer;
    white-space: nowrap;
    display: inline-block;
}
.form_big_button:hover
{
    border-color: var(--col-border);
    padding: 5px 10px;
    margin: 5px 10px;
    background-color: var(--col-form-button-bg);
    color: var(--col-form-button-text);
}
#portfolio, #informations
{
    display: block;
    width: 100vw;
    margin: 60px auto 0px auto;
    padding: 10px;
}
.photo_box
{
    width: 100%;
}
.photo_desc 
{
    width: 100%;
}
#info_content
{
    padding: 40px 5px;
}
#informations ul 
{
    margin-left: 10px;
    margin-right: 10px;
    display: flex;
    flex-direction: column;
}
#informations ul li
{
    display: inline-block;
    font-size: small;
    padding: 0px;
}

#informations ul li.onglet_actif
{
    padding: 10px 20px;
    background-color: var(--col-color-white);
    border-top: 2px solid var(--col-form-button-text);
    font-weight: bold;
    cursor: default;
}
#informations ul li a 
{
    display: inline-block;
    width: 100%;
    padding: 10px 20px;
}
.projet_display
{
    border: solid 1px var(--col-border);
    border-top: solid 20px var(--col-border);
    padding: 10px;
}
.projet_display.etendu
{
    height: auto;
}
.projet_display img
{
    max-width: 100%;
}
.projet_show_more
{
    padding: 8px;
}
.projet_display h2
{
    font-weight: 600;
}
.projet_categories
{
    display: block;
    margin-bottom: 15px;
}
.projet_categories span
{
    margin-right: 5px;
    margin-bottom: 2px;
    white-space: nowrap;
    display: inline-block;
}
.projet_contenu
{
    margin-bottom: 30px;
}
.linkout
{
    width: 100%;
    position: relative;
}
.linkout img
{
    float: left;
    width: 50px;
    border-radius: 0px 0px 5px 0px;
}
.linkout div
{
    width: calc(100% - 50px);
    padding: 5px 5px 5px 5px;
}