site/_includes/styles/navbar.css
Ruben 87fa720865
All checks were successful
/ build (push) Successful in 1m26s
clean up, redo windows so it's not "invalid"
2025-06-03 00:05:15 -05:00

261 lines
No EOL
7.2 KiB
CSS

/* ╭──────────────────────────────────────╮
/ │ _ │
/ │ _ __ __ ___ _| |__ __ _ _ __ │
/ │ | '_ \ / _` \ \ / / '_ \ / _` | '__| │
/ │ | | | | (_| |\ V /| |_) | (_| | | │
/ │ |_| |_|\__,_| \_/ |_.__/ \__,_|_| │
/ ╰──────────────────────────────────────╯
/ navbar - styling the navigation bar / panel that sits on the top of the page at all times */
.navbar {
display: flex;
flex-direction: row;
max-height: 1.8em !important;
max-width: 100%;
min-height: 1.8em !important;
min-width: 100%;
position: fixed;
top: 0 !important;
padding: .4rem 0 .4rem 0;
z-index: 100;
align-content: center;
color: var(--foreground);
vertical-align: middle;
transition: .2s background-color;
.nav-base {
padding: 0px .2em !important;
align-content: center;
outline: .13rem solid var(--border);
border-radius: 1rem;
height: 1.9rem;
}
.nav-left {
margin-left: .6rem !important;
padding: 0px .5rem .1rem !important;
text-decoration: unset !important;
}
.nav-baselink {
background-color: var(--accent);
color: var(--background);
margin-left: .4rem !important;
outline-color: color-mix(in srgb, var(--accent) 60%, transparent);
padding: .13rem;
.synth-icon {
height: 2rem;
margin-right: 1rem;
pointer-events: none;
transform: scaleX(-1) scale(1.5) translateX(-.2rem) translateY(.1rem);
transition: all .2s ease-out;
width: 2rem;
}
}
.nav-baselink:hover {
.synth-icon {
transition: all .2s ease-out;
transform: scaleX(-1) scale(1.5) translateX(-.2rem) translateY(.2rem) rotate(10deg);
}
}
.nav-desktop {
overflow: hidden;
}
.nav-mobile-menu {
display: none;
}
.nav-links {
background-color: var(--background);
color: var(--foreground);
overflow: clip;
position: relative;
text-shadow: none;
transition: all .3s;
.text {
opacity: 0;
position: absolute;
transition: all .3s;
pointer-events: none;
white-space: nowrap;
}
[class^="tabler--"] {
transform: scale(1.1);
transition: all .3s;
}
}
.nav-links:hover {
padding-right: 9rem !important;
padding-bottom: 7rem !important;
transition: all .3s;
.text {
opacity: 1;
transform: scale(1.5) translateX(-.4rem);
transition: all .3s;
}
[class^="tabler--"] {
transform: scale(5) translateY(.9rem) translateX(.4rem) rotate(10deg);
transition: all .3s;
}
}
.nav-home:hover {
background-color: color-mix(in srgb, var(--accent) 20%, var(--background));
color: var(--foreground);
outline-color: color-mix(in srgb, var(--accent) 60%, transparent);
}
.nav-notebook:hover {
background-color: color-mix(in srgb, var(--purple) 20%, var(--background));
color: var(--foreground);
outline-color: color-mix(in srgb, var(--purple) 60%, transparent);
.text {
transform: scale(1.5) translateX(0rem);
}
}
.nav-webmaster:hover {
background-color: color-mix(in srgb, var(--green) 20%, var(--background));
color: var(--foreground);
outline-color: color-mix(in srgb, var(--green) 60%, transparent);
.text {
transform: scale(1.1) translateX(-.8rem);
}
}
.nav-donate:hover {
background-color: color-mix(in srgb, var(--pink) 20%, var(--background));
color: var(--foreground);
outline-color: color-mix(in srgb, var(--pink) 60%, transparent);
.text {
transform: scale(1.5) translateX(-.2rem);
}
}
.nav-right {
padding: 0px .5rem .1rem !important;
margin-right: .6rem !important;
}
.nav-settings {
background-color: var(--accent);
color: var(--background);
cursor: pointer;
margin-left: auto !important;
outline-color: color-mix(in srgb, var(--accent) 60%, transparent);
padding: unset !important; /* unset the padding for the button itself so the button can take the padding to make the entire button clickable */
input[type="checkbox"] {
left: -100vw;
position: absolute;
}
label {
cursor: pointer;
overflow: hidden !important;
padding: .3rem .5rem !important;
position: relative;
[class^="tabler--"] {
padding: 0 .5rem !important;
pointer-events: none;
transform: translateY(.1rem) scale(1.5);
transition: all 1.3s;
}
}
label:hover {
[class^="tabler--"] {
transform: translateY(.1rem) scale(1.5) rotate(360deg);
transition: all 1.3s;
}
}
ul {
background-color: var(--background);
border-radius: 1rem;
border: var(--accent) solid .15rem;
cursor: initial !important; /* reset the cursor otherwise it uses the pointer cursor */
margin-top: 1.2rem !important;
max-height: 27rem;
max-width: 17rem;
min-height: 27rem;
min-width: 17rem;
overflow: scroll;
position: absolute;
right: .4rem;
visibility: hidden;
/* inital "hidden" state, used for providing animation when activated */
opacity: 0;
scale: .5;
transform-origin: top right;
transition: opacity .3s, scale .3s, visibility .3s;
li {
border-radius: 1rem;
color: var(--foreground);
list-style-type: none;
margin-left: -2rem;
padding: .4rem;
span {
padding: .1rem 0px .1rem 0px !important;
}
h2 {
margin: 0 !important;
}
}
}
input[type="checkbox"]:checked ~ ul {
/* makes the menu visibile when activated and makes it appear from the top right */
opacity: 1;
scale: 1;
transition: opacity .3s, scale .3s, visibility .3s;
visibility: visible;
}
}
.nav-systray {
background-color: var(--background);
color: var(--foreground);
padding: 0px .1rem;
min-width: 6.45rem;
margin-right: .4rem !important;
}
a,
p {
margin: unset !important;
}
small {
opacity: .7;
}
svg {
color: var(--foreground) !important;
}
}
.navbar:hover {
transition: .2s all;
background-color: color-mix(in srgb, var(--accent) 40%, transparent);
border-bottom: solid .2rem var(--accent);
}