fredboniface.co.uk/style/new_style.css

270 lines
7.0 KiB
CSS

/* 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: #a04911}
#keys{background-color: #a04911}
#projects{background-color: #a04911}
#email-safety{background-color: #a04911}
#about{background-color: #a04911}
#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)
}
.content dl {
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 dt {
font-weight: bolder;
}
.content dd {
padding-bottom: 15px;
}
/* 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}
}