ritual.sh/assets/sass/pages/homepage.scss
2026-01-22 06:44:30 +00:00

440 lines
7.9 KiB
SCSS

.homepage-container {
position: relative;
z-index: 10;
display: grid;
grid-template-columns: 1fr;
padding-top: 200px;
@include media-up(lg) {
position: absolute;
bottom: 28%;
width: 100%;
}
> div {
display: grid;
align-items: center;
justify-content: center;
@include media-up(lg) {
justify-content: left;
}
&:first-child {
@include media-up(lg) {
justify-content: right;
}
}
}
@include media-up(md) {
grid-template-columns: 1fr auto 1fr;
}
@include media-down(lg) {
padding-top: 130px;
grid-template-columns: 1fr 1fr;
}
.monitor-stand {
position: absolute;
background: none;
box-shadow: none;
bottom: -80px;
left: 50%;
transform: translateX(-50%);
width: 120px;
height: 80px;
z-index: -1;
}
.secondary-screen {
position: relative;
display: block;
border-radius: 8px;
z-index: 6;
padding: 8px 10px 20px 10px;
margin: auto;
text-decoration: none !important;
background: linear-gradient(145deg, #d8d0b8, #b8b098);
box-shadow:
0 8px 20px rgba(0, 0, 0, 0.7),
inset 0 2px 4px rgba(255, 255, 255, 0.3),
inset 0 -2px 4px rgba(0, 0, 0, 0.3);
padding: 6px 8px 18px 8px;
}
.updates-monitor {
width: 200px;
height: 200px;
padding: 5px 7px 15px 7px;
@include media-up(lg) {
margin-right: 10px;
}
&::after {
content: "";
position: absolute;
bottom: 4px;
right: 7px;
width: 4px;
height: 4px;
background: #0f0;
border-radius: 50%;
box-shadow: 0 0 6px #0f0;
animation: pulse 2s ease-in-out infinite;
}
}
.wall-monitor-4 {
width: 300px;
height: 225px;
transform: rotate(-1deg);
}
.wall-monitor-4::after {
content: "";
position: absolute;
bottom: 4px;
right: 7px;
width: 4px;
height: 4px;
background: #fa0;
border-radius: 50%;
box-shadow: 0 0 6px #fa0;
animation: pulse 2.1s ease-in-out infinite;
}
.wall-monitor-2 {
width: 300px;
height: 245px;
transform: rotate(-1deg);
}
.wall-monitor-2::after {
content: "";
position: absolute;
bottom: 5px;
right: 8px;
width: 5px;
height: 5px;
background: #0ff;
border-radius: 50%;
box-shadow: 0 0 6px #0ff;
animation: pulse 1.8s ease-in-out infinite;
}
.blog-monitor {
width: 195px;
height: 140px;
transform: rotate(1deg);
@include media-up(lg) {
margin-left: 10px;
}
.screen-display {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
&::after {
content: "";
position: absolute;
bottom: 5px;
right: 8px;
width: 5px;
height: 5px;
background: #f00;
border-radius: 50%;
box-shadow: 0 0 6px #f00;
animation: pulse 2.3s ease-in-out infinite;
}
&:hover pre {
animation: text-glitch-cycle 3s ease infinite;
}
}
.post-graph-container {
display: flex;
flex-direction: column;
gap: 10px;
}
.post-graph-info {
min-height: 2em;
color: #888;
font-size: 12px;
}
.post-graph-info.active {
color: #4caf50;
}
.weeks-container {
display: flex;
gap: 3px;
margin-left: 1em;
}
.week-column {
display: flex;
flex-direction: column;
gap: 4px;
}
.day-block {
display: flex;
align-items: center;
justify-content: center;
cursor: default;
position: relative;
color: #555;
user-select: none;
}
.day-block.has-posts {
color: #4caf50;
cursor: pointer;
}
.day-block.multiple-posts {
color: #2196f3;
}
.day-block.active {
background: rgba(76, 175, 80, 0.2);
}
}
.navigation {
position: relative;
z-index: 999;
display: grid;
grid-template-columns: 1fr 1fr;
@include media-up(lg) {
grid-template-columns: repeat(6, 1fr);
position: absolute;
bottom: 5%;
width: 100%;
}
> div {
width: 100%;
margin: 20px auto 20px auto;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
.nav-floppy {
width: 44%;
max-width: 100px;
transform: rotate(5deg);
position: relative;
&.top {
transform: rotate(-5deg);
left: -20px;
.nav-floppy-text {
transform: rotate(7deg);
}
}
&.bottom {
left: 20px;
.nav-floppy-text {
transform: rotate(-7deg);
}
}
&:hover {
.nav-floppy-text {
opacity: 1;
}
}
.nav-floppy-text {
position: absolute;
display: block;
bottom: 0;
right: 0;
color: white;
font-size: 20px;
font-weight: bold;
z-index: 8000;
transform: rotate(10deg);
border: 1px solid #0f0;
padding: 2px;
padding-left: 5px;
padding-right: 5px;
border-radius: 5px;
background-color: rgba(0, 0, 0, 0.7);
opacity: 0;
transition: opacity 0.3s ease;
text-align: center;
@include media-down(lg) {
opacity: 1;
//transform: rotate(0deg);
bottom: 0;
font-size: 14px;
}
}
}
.nav-cube {
width: 106.5px;
position: relative;
&:hover {
.nav-cube-text {
opacity: 1;
}
}
.heart-icon {
font-size: 1.5em;
}
.portal {
border-width: 3px;
}
.nav-cube-text {
position: absolute;
display: block;
bottom: 0;
right: 0;
color: white;
font-size: 20px;
font-weight: bold;
z-index: 8000;
transform: rotate(-20deg);
border: 1px solid #0f0;
padding: 2px;
padding-left: 5px;
padding-right: 5px;
border-radius: 5px;
background-color: rgba(0, 0, 0, 0.7);
opacity: 0;
transition: opacity 0.3s ease;
text-align: center;
&:hover::after {
opacity: 1;
}
@include media-down(lg) {
opacity: 1;
//transform: rotate(0deg);
bottom: 0;
font-size: 14px;
}
}
}
.time-display {
width: 150px;
margin: auto;
padding: 0.5em;
background: linear-gradient(180deg, #2a2a2a 0%, #1a1a1a 100%);
border: 1px solid #333;
box-shadow:
0 2px 8px rgba(0, 0, 0, 0.5),
inset 0 1px 2px rgba(255, 255, 255, 0.1);
border-radius: 1em;
cursor: pointer;
position: relative;
&::after {
content: "Interests and Tools";
position: absolute;
width: 150px;
color: white;
font-size: 20px;
font-weight: bold;
z-index: 8000;
transform: rotate(-10deg);
border: 1px solid #0f0;
padding: 2px;
padding-left: 5px;
padding-right: 5px;
border-radius: 5px;
background-color: rgba(0, 0, 0, 0.7);
opacity: 0;
transition: opacity 0.3s ease;
text-align: center;
@include media-down(lg) {
margin-left: -0.5em;
opacity: 1;
bottom: -40px;
font-size: 20px;
}
}
&:hover::after {
opacity: 1;
}
}
}
body.game-in-progress {
.wall,
.window,
.homepage-neon,
.sticky-note,
.wall-paper,
.xfiles-poster,
.poster,
.desk {
filter: blur(4px) brightness(50%);
pointer-events: none;
user-select: none;
transition: all 0.3s ease;
}
.homepage-container {
// First and last child div
> div:first-child,
> div:last-child {
filter: blur(4px);
pointer-events: none;
user-select: none;
opacity: 0;
}
bottom: 10%;
}
.crt-monitor {
font-size: 1.2rem;
width: 990px;
height: 750px;
.content {
padding: 1em;
}
#input {
font-size: 1.2rem;
}
}
.monitor-stand {
pointer-events: none;
user-select: none;
opacity: 0;
}
.navigation {
filter: blur(4px);
pointer-events: none;
user-select: none;
opacity: 0;
display: none;
}
}