/* COLOR VARS */
:root {
    --main-bg-color: lightslategrey;
    --accent-color: darkslategrey;
    --overlay-color: #2f4f4fb8;
    --main-text-color: azure;
    --link-color: cyan;
    --link-visited-color: rgb(189, 0, 189);
}
/* FONTS */
@font-face {
    font-family: 'indie-flower';
    src: url('/style/fonts/indie-flower/indie-flower.woff2') format('woff2'),
         url('/style/fonts/indie-flower/indie-flower.woff') format('woff'),
         url('/style/fonts/indie-flower/indie-flower.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'oxygen';
    src: url('/style/fonts/oxygen/oxygen-regular.woff2') format('woff2'),
         url('/style/fonts/oxygen/oxygen-regular.woff') format('woff'),
         url('/style/fonts/oxygen/oxygen-regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'oxygen';
    src: url('/style/fonts/oxygen/oxygen-bold.woff2') format('woff2'),
         url('/style/fonts/oxygen/oxygen-bold.woff') format('woff'),
         url('/style/fonts/oxygen/oxygen-bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
}
@font-face {
    font-family: 'oxygen';
    src: url('/style/fonts/oxygen/oxygen-light.woff2') format('woff2'),
         url('/style/fonts/oxygen/oxygen-light.woff') format('woff'),
         url('/style/fonts/oxygen/oxygen-light.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
}
/* HTML & BODY */
html {height: 100%;}
body {
    width: 100%;
    margin: auto;
    background-color: var(--main-bg-color);
}
/* PAGE HEADER */
.header_image {
    background-repeat: no-repeat;
    background-position: top;
    background-size: cover;
    height: 273px;
    min-width: 100%;
    max-width: 100%;
    margin: auto;
    margin-top: 40px;
    position: sticky;
    top: -145px;
}
#home{background-color: #a04911} /* Try using image-set() here to offer different formats */
@media(min-width:  50px){#home{background-image:url("/images/headers/index/300.webp")}}
@media(min-width: 301px){#home{background-image:url("/images/headers/index/500.webp")}}
@media(min-width: 501px){#home{background-image:url("/images/headers/index/800.webp")}}
@media(min-width: 801px){#home{background-image:url("/images/headers/index/1024.webp")}}
@media(min-width:1025px){#home{background-image:url("/images/headers/index/1920.webp")}}
@media(min-width:1921px){#home{background-image:url("/images/headers/index/2800.webp")}}
@media(min-width:2801px){#home{background-image:url("/images/headers/index/4096.webp")}}
#contact{background-color: blue}
#keys{background-color: blue}
#projects{background-color: blue}
#email-safety{background-color: blue}
#about{background-color: blue}
#header_face {
    display: flex;
    position: absolute;
    top: -184px;
    width: 100%;
    height: 185px;
    text-align: center;
}
#header_face img {
    margin: auto;
    border-radius: 40px;
    border-style: solid;
    border-color: var(--accent-color);
    border-width: 3px;
    max-height: 150px;
    height: 30vw;
}
@media(min-width:400px){#header_face img{border-radius:50px;}}
@media(min-width:540px){#header_face img{border-radius:55px;}}
#page_title { /* This may be best floating above content div rather than inside header div */
    background-color: var(--overlay-color);
    font-family: indie-flower, cursive;
    font-size: large;
    width: 100%;
    height: 90px;
    text-align: center;
    position: absolute;
    bottom: 0;
    color: var(--main-text-color);
}
#menubar {
    background-color: var(--accent-color);
    color: var(--main-text-color);
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 40px;
}
#menubar_logo img { /* Logo file is controlled by media="" in <picture> */
    max-height: 20px;
    padding: 10px;
}
#menubar_hamburger {
    position: absolute;
    top: 2px;
    right: 0;
    padding: 5px;
}
.sidebar_control {
    background-color: transparent;
    color: var(--main-text-color);
    border: none;
    font-family: sans-serif;
    font-size: larger;
}
#sidebar_open_short {display: block;}
#sidebar_close_short {
    display: none;
    font-size: x-large;
}
#sidebar {
    position: fixed;
    top: 40px;
    right: 0;
    margin: auto;
    height: 100%;
    display: block;
    max-width: 250px;
    width: 0;
    background-color: var(--overlay-color);
    transition: 0.4s;
}
#sidebar a {
    padding: 8px 8px 8px 8px;
    margin-top: 10px;
    font-family: indie-flower, sans-serif;
    font-weight: 300;
    text-decoration: none;
    text-align: center;
    font-size: 25px;
    color: var(--link-color);
    display: block;
    white-space: nowrap;
    transition: 0.5s;
  }
@media screen and (max-height: 455px){#sidebar a{margin-top:0px;padding-top:0px}}
#sidebar a:hover {color: var(--main-text-color)}
#sidebar a:active {color: var(--main-text-color)}
#sidebar_logo {
    margin-top: 30%;
    text-align: center;
}
@media screen and (max-height: 640px){#sidebar_logo{display:none}
}
#sidebar_social {
    position: absolute;
    display: none;
    bottom: 50px;
    width: 100%;
    margin: auto;
    justify-content: center;
}
#sidebar_social img {
    width: 12vw;
    max-width: 50px;
    transition: 0.5s;
}
@media screen and (min-height: 600px){#sidebar_social img{margin-bottom:20px}}
@media screen and (max-height: 360px){#sidebar_social img{display:none}}
/* CONTENT */
.content { /* Try z-index: 1; so it scrolls over header image */
    padding-top: 10px;
    padding-bottom: 10px;
    width: 100%;
}
.content h2 {
    color: var(--main-text-color);
    text-align: center;
    font-family: oxygen, sans-serif;
    font-weight: 700;
}
.content p {
    width: 90%;
    margin: auto;
    margin-top: 20px;
    margin-bottom: 40px;
    text-align: center;
    color: var(--main-text-color);
    font-family: oxygen, sans-serif;
    font-weight: normal;
}
.content a {
    color: var(--link-color)
}
.content a:visited {
    color: var(--link-color)
}
.content a:hover {
    color: var(--link-visited-color)
}
/* FOOTER */
footer {
    position: relative;
    width: 100%;
    background-color: var(--accent-color);
    height: 30px;
    bottom: 0;
}
footer p {
    padding: 0;
    padding-top: 5px;
    margin: auto;
    margin-top: 9px;
    text-align: center;
    color: var(--main-text-color);
    font-family: monospace;
}
@media screen and (min-height: 600px) {
    footer {
        position: fixed;
        bottom: 0;
    }
    footer p {
        padding-top: 0px;
        margin-top: 6px;
    }
}
/* Handle ultra small screens somewhat gracefully */
/* Hide .hide_micro on screens smaller than 250px and show .show_micro while not showing it on full screens */
.show_micro {display:none}
@media only screen and (max-width: 249px) {
    .hide_micro {display: none}
    .show_micro {display: block}
}