609 lines
No EOL
14 KiB
CSS
609 lines
No EOL
14 KiB
CSS
/* Main CSS */
|
|
|
|
/* Override Bootstrap variables for the dark theme */
|
|
/* :root {
|
|
--bs-body-color: #fff;
|
|
--bs-body-bg: #030918;
|
|
--bs-secondary-bg: #0c1827; */
|
|
|
|
/* --bs-dropdown-link-hover-bg: #345;
|
|
--bs-dropdown-link-color: #000;
|
|
--bs-navbar-active-color: #000; */
|
|
/* } */
|
|
|
|
/* :root, [data-bs-theme="light"] {
|
|
--bs-blue: #0d6efd;
|
|
--bs-indigo: #6610f2;
|
|
--bs-purple: #6f42c1;
|
|
--bs-pink: #d63384;
|
|
--bs-red: #dc3545;
|
|
--bs-orange: #fd7e14;
|
|
--bs-yellow: #ffc107;
|
|
--bs-green: #198754;
|
|
--bs-teal: #20c997;
|
|
--bs-cyan: #0dcaf0;
|
|
--bs-black: #000;
|
|
--bs-white: #fff;
|
|
--bs-gray: #6c757d;
|
|
--bs-gray-dark: #343a40;
|
|
--bs-gray-100: #f8f9fa;
|
|
--bs-gray-200: #e9ecef;
|
|
--bs-gray-300: #dee2e6;
|
|
--bs-gray-400: #ced4da;
|
|
--bs-gray-500: #adb5bd;
|
|
--bs-gray-600: #6c757d;
|
|
--bs-gray-700: #495057;
|
|
--bs-gray-800: #343a40;
|
|
--bs-gray-900: #212529;
|
|
--bs-primary: #0d6efd;
|
|
--bs-secondary: #6c757d;
|
|
--bs-success: #198754;
|
|
--bs-info: #0dcaf0;
|
|
--bs-warning: #ffc107;
|
|
--bs-danger: #dc3545;
|
|
--bs-light: #f8f9fa;
|
|
--bs-dark: #212529;
|
|
--bs-primary-rgb: 13,110,253;
|
|
--bs-secondary-rgb: 108,117,125;
|
|
--bs-success-rgb: 25,135,84;
|
|
--bs-info-rgb: 13,202,240;
|
|
--bs-warning-rgb: 255,193,7;
|
|
--bs-danger-rgb: 220,53,69;
|
|
--bs-light-rgb: 248,249,250;
|
|
--bs-dark-rgb: 33,37,41;
|
|
--bs-primary-text-emphasis: #052c65;
|
|
--bs-secondary-text-emphasis: #2b2f32;
|
|
--bs-success-text-emphasis: #0a3622;
|
|
--bs-info-text-emphasis: #055160;
|
|
--bs-warning-text-emphasis: #664d03;
|
|
--bs-danger-text-emphasis: #58151c;
|
|
--bs-light-text-emphasis: #495057;
|
|
--bs-dark-text-emphasis: #495057;
|
|
--bs-primary-bg-subtle: #cfe2ff;
|
|
--bs-secondary-bg-subtle: #e2e3e5;
|
|
--bs-success-bg-subtle: #d1e7dd;
|
|
--bs-info-bg-subtle: #cff4fc;
|
|
--bs-warning-bg-subtle: #fff3cd;
|
|
--bs-danger-bg-subtle: #f8d7da;
|
|
--bs-light-bg-subtle: #fcfcfd;
|
|
--bs-dark-bg-subtle: #ced4da;
|
|
--bs-primary-border-subtle: #9ec5fe;
|
|
--bs-secondary-border-subtle: #c4c8cb;
|
|
--bs-success-border-subtle: #a3cfbb;
|
|
--bs-info-border-subtle: #9eeaf9;
|
|
--bs-warning-border-subtle: #ffe69c;
|
|
--bs-danger-border-subtle: #f1aeb5;
|
|
--bs-light-border-subtle: #e9ecef;
|
|
--bs-dark-border-subtle: #adb5bd;
|
|
--bs-white-rgb: 255,255,255;
|
|
--bs-black-rgb: 0,0,0;
|
|
--bs-font-sans-serif: system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
|
|
--bs-font-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
|
|
--bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
|
|
--bs-body-font-family: var(--bs-font-sans-serif);
|
|
--bs-body-font-size: 1rem;
|
|
--bs-body-font-weight: 400;
|
|
--bs-body-line-height: 1.5;
|
|
--bs-body-color: #212529;
|
|
--bs-body-color-rgb: 33,37,41;
|
|
--bs-body-bg: #fff;
|
|
--bs-body-bg-rgb: 255,255,255;
|
|
--bs-emphasis-color: #000;
|
|
--bs-emphasis-color-rgb: 0,0,0;
|
|
--bs-secondary-color: rgba(33, 37, 41, 0.75);
|
|
--bs-secondary-color-rgb: 33,37,41;
|
|
--bs-secondary-bg: #e9ecef;
|
|
--bs-secondary-bg-rgb: 233,236,239;
|
|
--bs-tertiary-color: rgba(33, 37, 41, 0.5);
|
|
--bs-tertiary-color-rgb: 33,37,41;
|
|
--bs-tertiary-bg: #f8f9fa;
|
|
--bs-tertiary-bg-rgb: 248,249,250;
|
|
--bs-heading-color: inherit;
|
|
--bs-link-color: #0d6efd;
|
|
--bs-link-color-rgb: 13,110,253;
|
|
--bs-link-decoration: underline;
|
|
--bs-link-hover-color: #0a58ca;
|
|
--bs-link-hover-color-rgb: 10,88,202;
|
|
--bs-code-color: #d63384;
|
|
--bs-highlight-bg: #fff3cd;
|
|
--bs-border-width: 1px;
|
|
--bs-border-style: solid;
|
|
--bs-border-color: #dee2e6;
|
|
--bs-border-color-translucent: rgba(0, 0, 0, 0.175);
|
|
--bs-border-radius: 0.375rem;
|
|
--bs-border-radius-sm: 0.25rem;
|
|
--bs-border-radius-lg: 0.5rem;
|
|
--bs-border-radius-xl: 1rem;
|
|
--bs-border-radius-xxl: 2rem;
|
|
--bs-border-radius-2xl: var(--bs-border-radius-xxl);
|
|
--bs-border-radius-pill: 50rem;
|
|
--bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
|
|
--bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
|
|
--bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
|
|
--bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);
|
|
--bs-focus-ring-width: 0.25rem;
|
|
--bs-focus-ring-opacity: 0.25;
|
|
--bs-focus-ring-color: rgba(13, 110, 253, 0.25);
|
|
--bs-form-valid-color: #198754;
|
|
--bs-form-valid-border-color: #198754;
|
|
--bs-form-invalid-color: #dc3545;
|
|
--bs-form-invalid-border-color: #dc3545;
|
|
} */
|
|
|
|
.gallery-container {
|
|
max-width: auto;
|
|
margin: 32px auto;
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
position: relative;
|
|
overflow: hidden;
|
|
justify-content: center;
|
|
align-items: center;
|
|
width: 100%;
|
|
gap: 4px;
|
|
}
|
|
|
|
.img-holder {
|
|
flex-grow:1;
|
|
margin: .2rem;
|
|
overflow: hidden;
|
|
|
|
position: relative;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
|
|
border: 2px #707070 solid;
|
|
border-radius: 8px;
|
|
background-color: #707070;
|
|
}
|
|
|
|
.img-holder img {
|
|
padding: 0px;
|
|
border-radius: 8px;
|
|
display: block;
|
|
margin: 0 auto;
|
|
width: 50%;
|
|
min-width: 100%;
|
|
height: 24rem;
|
|
object-fit: cover;
|
|
transition-duration: 300ms;
|
|
}
|
|
|
|
.img-holder img.blur {
|
|
filter: blur(1.5rem);
|
|
}
|
|
|
|
.img-holder-small img {
|
|
height: 12rem !important;
|
|
}
|
|
|
|
.img-holder-small img.blur {
|
|
filter: blur(1.5rem);
|
|
}
|
|
|
|
.img-holder .layer {
|
|
opacity: 0;
|
|
position: absolute;
|
|
display: grid;
|
|
margin: 0 auto;
|
|
width: 50%;
|
|
min-width: 100%;
|
|
justify-content: center;
|
|
align-items: center;
|
|
height: 100%;
|
|
object-fit: cover;
|
|
background: #0a030e;
|
|
color: #fff;
|
|
grid-row: 1;
|
|
transition: all 0.9s ease;
|
|
z-index: 1;
|
|
}
|
|
|
|
.img-holder .layer p {
|
|
text-align: center;
|
|
font-size: 15px;
|
|
letter-spacing: 1px;
|
|
transition: all 0.9s ease;
|
|
/* transform: scale(0.8); */
|
|
}
|
|
|
|
.img-holder .layer h3 {
|
|
text-align: center;
|
|
font-size: 100%;
|
|
letter-spacing: 1px;
|
|
transition: all 0.9s ease;
|
|
/* transform: scale(0.8); */
|
|
}
|
|
|
|
.img-holder:hover .layer {
|
|
opacity: 0.8;
|
|
transition: all 0.5s ease;
|
|
|
|
}
|
|
|
|
/* .img-holder:hover .layer p {
|
|
transform: scale(1);
|
|
transition: all 0.9s ease;
|
|
}
|
|
|
|
.img-holder:hover .layer h3 {
|
|
transform: scale(1);
|
|
transition: all 0.9s ease;
|
|
} */
|
|
|
|
|
|
.tag {
|
|
text-decoration: none;
|
|
}
|
|
|
|
.tag:hover {
|
|
/* transition: all 0; */
|
|
text-decoration: underline;
|
|
}
|
|
|
|
|
|
/*=================================================================
|
|
Responsive image gallery
|
|
=================================================================*/
|
|
|
|
.gallery-container {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
justify-content: center;
|
|
gap: 20px; /* Adjust the gap between items */
|
|
}
|
|
|
|
.gallery-item {
|
|
height: 20vh;
|
|
position: relative; /* Positioning context for the overlay */
|
|
overflow: hidden; /* Ensure that the content does not overflow the set height */
|
|
display: flex; /* Use Flexbox for vertical centering */
|
|
justify-content: center; /* Center horizontally */
|
|
align-items: center; /* Center vertically */
|
|
border-radius: 1vmin;
|
|
border: 2px solid black;
|
|
}
|
|
|
|
.gallery-item img {
|
|
max-height: 100%;
|
|
/* min-width: 50%; */
|
|
object-fit: contain;
|
|
vertical-align: bottom;
|
|
border-radius: 1vmin;
|
|
}
|
|
|
|
/* ADVANCED */
|
|
|
|
/* Portrait */
|
|
|
|
@media (max-aspect-ratio: 1/1) {
|
|
.gallery-item {
|
|
height: 30vh;
|
|
}
|
|
}
|
|
|
|
/* Short screens */
|
|
|
|
@media (max-height: 480px) {
|
|
.gallery-item {
|
|
height: 80vh;
|
|
}
|
|
}
|
|
|
|
/* Smaller screens in portrait */
|
|
|
|
@media (max-aspect-ratio: 1/1) and (max-width: 480px) {
|
|
.gallery-container {
|
|
flex-direction: row;
|
|
}
|
|
|
|
.gallery-item {
|
|
height: auto;
|
|
width: 100%;
|
|
}
|
|
|
|
.gallery-item img {
|
|
width: 100%;
|
|
max-height: 75vh;
|
|
min-width: 0;
|
|
}
|
|
}
|
|
|
|
.overlay {
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
background: rgba(0, 0, 0, 0.8); /* Semi-transparent black background */
|
|
color: white;
|
|
display: flex;
|
|
flex-direction: column;
|
|
justify-content: center;
|
|
align-items: center;
|
|
opacity: 0; /* Hide the overlay by default */
|
|
transition: opacity 0.3s ease; /* Smooth transition for the overlay */
|
|
}
|
|
|
|
.gallery-item:hover .overlay {
|
|
opacity: 1; /* Show the overlay on hover */
|
|
}
|
|
|
|
|
|
/*=================================================================
|
|
Site icon overlay on gallery
|
|
=================================================================*/
|
|
|
|
.site-btn-overlay {
|
|
position: absolute;
|
|
z-index: 2;
|
|
right: 0;
|
|
top: 0;
|
|
font-size: 13px;
|
|
font-weight: 700;
|
|
line-height: 14px;
|
|
letter-spacing: .5px;
|
|
width: 30px;
|
|
color: #232326;
|
|
background-color: #414141;
|
|
border: 1.25px solid #232326;
|
|
border-radius: 0 1vmin 0 1vmin;
|
|
white-space: nowrap;
|
|
padding: 4px 4px 5px;
|
|
margin: 0 0 0 1px;
|
|
cursor: pointer;
|
|
opacity: .8;
|
|
}
|
|
|
|
.site-btn-overlay img {
|
|
height: 16px;
|
|
}
|
|
|
|
|
|
/*=================================================================
|
|
Glitch text on 404 Page
|
|
=================================================================*/
|
|
|
|
.glitch {
|
|
position: relative;
|
|
color: white;
|
|
font-size: 8em;
|
|
letter-spacing: 0.5em;
|
|
animation: glitch-skew 1s infinite linear alternate-reverse;
|
|
}
|
|
|
|
.glitch::before {
|
|
content: attr(data-text);
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
left: 2px;
|
|
text-shadow: -2px 0 #ff00c1;
|
|
clip: rect(44px, 450px, 56px, 0);
|
|
animation: glitch-anim 5s infinite linear alternate-reverse;
|
|
}
|
|
|
|
.glitch::after {
|
|
content: attr(data-text);
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
left: -2px;
|
|
text-shadow: -2px 0 #00fff9, 2px 2px #ff00c1;
|
|
animation: glitch-anim2 1s infinite linear alternate-reverse;
|
|
}
|
|
|
|
@keyframes glitch-anim {
|
|
0% {
|
|
clip: rect(80px, 9999px, 31px, 0);
|
|
transform: skew(1deg);
|
|
}
|
|
5% {
|
|
clip: rect(87px, 9999px, 12px, 0);
|
|
transform: skew(0.31deg);
|
|
}
|
|
10% {
|
|
clip: rect(34px, 9999px, 13px, 0);
|
|
transform: skew(0.56deg);
|
|
}
|
|
15% {
|
|
clip: rect(82px, 9999px, 74px, 0);
|
|
transform: skew(0.69deg);
|
|
}
|
|
20% {
|
|
clip: rect(1px, 9999px, 72px, 0);
|
|
transform: skew(0.52deg);
|
|
}
|
|
25% {
|
|
clip: rect(35px, 9999px, 54px, 0);
|
|
transform: skew(0.5deg);
|
|
}
|
|
30% {
|
|
clip: rect(62px, 9999px, 2px, 0);
|
|
transform: skew(0.17deg);
|
|
}
|
|
35% {
|
|
clip: rect(6px, 9999px, 28px, 0);
|
|
transform: skew(0.12deg);
|
|
}
|
|
40% {
|
|
clip: rect(50px, 9999px, 85px, 0);
|
|
transform: skew(0.88deg);
|
|
}
|
|
45% {
|
|
clip: rect(34px, 9999px, 53px, 0);
|
|
transform: skew(0.98deg);
|
|
}
|
|
50% {
|
|
clip: rect(15px, 9999px, 58px, 0);
|
|
transform: skew(0.15deg);
|
|
}
|
|
55% {
|
|
clip: rect(20px, 9999px, 68px, 0);
|
|
transform: skew(0.06deg);
|
|
}
|
|
60% {
|
|
clip: rect(77px, 9999px, 52px, 0);
|
|
transform: skew(0.02deg);
|
|
}
|
|
65% {
|
|
clip: rect(20px, 9999px, 11px, 0);
|
|
transform: skew(0.2deg);
|
|
}
|
|
70% {
|
|
clip: rect(97px, 9999px, 57px, 0);
|
|
transform: skew(0.17deg);
|
|
}
|
|
75% {
|
|
clip: rect(1px, 9999px, 36px, 0);
|
|
transform: skew(1deg);
|
|
}
|
|
80% {
|
|
clip: rect(31px, 9999px, 63px, 0);
|
|
transform: skew(0.49deg);
|
|
}
|
|
85% {
|
|
clip: rect(80px, 9999px, 39px, 0);
|
|
transform: skew(0.78deg);
|
|
}
|
|
90% {
|
|
clip: rect(74px, 9999px, 60px, 0);
|
|
transform: skew(0.96deg);
|
|
}
|
|
95% {
|
|
clip: rect(97px, 9999px, 59px, 0);
|
|
transform: skew(0.46deg);
|
|
}
|
|
100% {
|
|
clip: rect(56px, 9999px, 84px, 0);
|
|
transform: skew(0.12deg);
|
|
}
|
|
}
|
|
|
|
@keyframes glitch-anim2 {
|
|
0% {
|
|
clip: rect(39px, 9999px, 61px, 0);
|
|
transform: skew(0.08deg);
|
|
}
|
|
5% {
|
|
clip: rect(13px, 9999px, 77px, 0);
|
|
transform: skew(0.62deg);
|
|
}
|
|
10% {
|
|
clip: rect(16px, 9999px, 14px, 0);
|
|
transform: skew(0.35deg);
|
|
}
|
|
15% {
|
|
clip: rect(83px, 9999px, 24px, 0);
|
|
transform: skew(0.81deg);
|
|
}
|
|
20% {
|
|
clip: rect(70px, 9999px, 14px, 0);
|
|
transform: skew(0.93deg);
|
|
}
|
|
25% {
|
|
clip: rect(43px, 9999px, 88px, 0);
|
|
transform: skew(0.05deg);
|
|
}
|
|
30% {
|
|
clip: rect(60px, 9999px, 63px, 0);
|
|
transform: skew(0.89deg);
|
|
}
|
|
35% {
|
|
clip: rect(35px, 9999px, 11px, 0);
|
|
transform: skew(0.87deg);
|
|
}
|
|
40% {
|
|
clip: rect(10px, 9999px, 4px, 0);
|
|
transform: skew(0.63deg);
|
|
}
|
|
45% {
|
|
clip: rect(56px, 9999px, 51px, 0);
|
|
transform: skew(0.12deg);
|
|
}
|
|
50% {
|
|
clip: rect(22px, 9999px, 21px, 0);
|
|
transform: skew(0.26deg);
|
|
}
|
|
55% {
|
|
clip: rect(45px, 9999px, 80px, 0);
|
|
transform: skew(0.56deg);
|
|
}
|
|
60% {
|
|
clip: rect(65px, 9999px, 18px, 0);
|
|
transform: skew(0.08deg);
|
|
}
|
|
65% {
|
|
clip: rect(71px, 9999px, 89px, 0);
|
|
transform: skew(0.38deg);
|
|
}
|
|
70% {
|
|
clip: rect(89px, 9999px, 98px, 0);
|
|
transform: skew(0.71deg);
|
|
}
|
|
75% {
|
|
clip: rect(63px, 9999px, 3px, 0);
|
|
transform: skew(0.75deg);
|
|
}
|
|
80% {
|
|
clip: rect(4px, 9999px, 68px, 0);
|
|
transform: skew(0.98deg);
|
|
}
|
|
85% {
|
|
clip: rect(22px, 9999px, 85px, 0);
|
|
transform: skew(0.8deg);
|
|
}
|
|
90% {
|
|
clip: rect(28px, 9999px, 58px, 0);
|
|
transform: skew(0.06deg);
|
|
}
|
|
95% {
|
|
clip: rect(70px, 9999px, 12px, 0);
|
|
transform: skew(0.99deg);
|
|
}
|
|
100% {
|
|
clip: rect(11px, 9999px, 87px, 0);
|
|
transform: skew(0.15deg);
|
|
}
|
|
}
|
|
|
|
@keyframes glitch-skew {
|
|
0% {
|
|
transform: skew(4deg);
|
|
}
|
|
10% {
|
|
transform: skew(5deg);
|
|
}
|
|
20% {
|
|
transform: skew(1deg);
|
|
}
|
|
30% {
|
|
transform: skew(1deg);
|
|
}
|
|
40% {
|
|
transform: skew(5deg);
|
|
}
|
|
50% {
|
|
transform: skew(1deg);
|
|
}
|
|
60% {
|
|
transform: skew(0deg);
|
|
}
|
|
70% {
|
|
transform: skew(3deg);
|
|
}
|
|
80% {
|
|
transform: skew(4deg);
|
|
}
|
|
90% {
|
|
transform: skew(5deg);
|
|
}
|
|
100% {
|
|
transform: skew(-1deg);
|
|
}
|
|
} |