Compare commits
No commits in common. 'main' and 'main' have entirely different histories.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
|
Before Width: | Height: | Size: 20 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 21 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 25 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 26 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 877 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 77 KiB |
@ -1,80 +0,0 @@
|
||||
---
|
||||
id: stampare-via-ssh
|
||||
title: Stampare via SSH
|
||||
description: Istruzioni per stampare in dipartimento da remoto, tramite SSH 🖨
|
||||
author: Antonio De Lucreziis, Francesco Minnocci
|
||||
tags: [linux, ssh, stampanti]
|
||||
---
|
||||
|
||||
Per stampare in dipartimento non bisogna per forza usare i computer dei laboratori, possiamo che stampare direttamente da remoto tramite SSH. Vediamo come fare!
|
||||
|
||||
Se non l'avete mai fatto per prima cosa bisogna poter accedere da remoto ad una macchina chiamata "login", il cui indirizzo è `login.dm.unipi.it`. Per fare l'accesso possiamo usare il seguente comando con l'account di Ateneo (non quello Poisson!)
|
||||
|
||||
```bash shell
|
||||
ssh USERNAME_ATENEO@login.dm.unipi.it
|
||||
```
|
||||
|
||||
Una volta connessi possiamo stampare utilizzando il comando `lpr` seguito dal nome del file che vogliamo stampare. Prima però serve trasferire il file che vogliamo stampare sulla macchina "login". Per fare ciò possiamo usare il comando `scp`: per prima cosa usciamo dalla macchina "login" (premere `Ctrl+D` oppure scrivendo `exit`), andiamo nella cartella dove si trova il file che vogliamo stampare e poi eseguiamo il comando:
|
||||
|
||||
```bash shell
|
||||
scp NOME_FILE.pdf USERNAME_ATENEO@login.dm.unipi.it:~/Documents
|
||||
```
|
||||
|
||||
Dove `NOME_FILE.pdf` è il nome del file che vogliamo stampare e `Documents` è un esempio di cartella dove vogliamo trasferirlo. Una volta trasferito il file possiamo rifare ssh su "login" e stampare il file con il comando:
|
||||
|
||||
```bash shell
|
||||
lpr Documents/NOME_FILE.pdf
|
||||
```
|
||||
|
||||
Alternativamente possiamo stampare direttamente il file senza trasferirlo con il comando:
|
||||
|
||||
```bash shell
|
||||
cat NOME_FILE.pdf | ssh USERNAME_ATENEO@login.dm.unipi.it lpr OPZIONI... -
|
||||
```
|
||||
|
||||
Qui, `[OPZIONI...]` sono le opzioni che possiamo passare a `lpr` (vedi sotto). L'ultimo trattino "`-`" è molto importante e indica che il file da stampare è quello in standard input. Più precisamente, `cat NOME_FILE.pdf` invia il contenuto del file `NOME_FILE.pdf` allo standard output e `|` lo ridireziona a input di `ssh`, che a sua volta lo passa a `lpr` via rete.
|
||||
|
||||
## Opzioni di `lpr`
|
||||
|
||||
Il comando `lpr` accetta alcune opzioni che possono essere utili:
|
||||
|
||||
- `-P` seguito dal nome della stampante: permette di specificare la stampante su cui stampare, le stampanti disponibili in dipartimento sono
|
||||
- `cdc4` che è la stampante di default e si trova in Aula 4
|
||||
|
||||
- `cdclf` che si trova al piano terra nel corridoio dopo l'Aula 4
|
||||
|
||||
- `cdc3` che si trova in Aula 3 (è un po' vecchia ma di solito funziona)
|
||||
|
||||
- `-#` seguito dal numero di copie: permette di specificare il numero di copie da stampare. In realtà questa opzione non funziona per vari motivi arcani e se uno passa `-#N` per stampare $N$ copie, la stampante stampa $N^2$ copie. (Questo ha scaturito una serie di ragionamenti sul modo ottimo di decomporre $N$ come somma di quadrati [con tanto di sito di comodo](https://shortest-sum-of-squares.netlify.app/)...)
|
||||
|
||||
- `-o sides=two-sided-long-edge`: permette di stampare **fronte-retro** (che dovrebbe essere già il default)
|
||||
|
||||
- `-o sides=two-sided-short-edge`: permette di stampare fronte-retro con "la rilegatura" delle pagine sul lato corto
|
||||
|
||||
- `-o sides=one-sided`: permette di stampare _solo fronte_, comodo per stampare i meme di laurea
|
||||
|
||||
- `-o fit-to-page`: permette di ridimensionare il documento per farlo entrare in un foglio (è buona prassi passare sempre questa opzione)
|
||||
|
||||
- `-o media=a4`: permette di specificare il formato del foglio, di default è A4 quindi non dovrebbere servire
|
||||
|
||||
## Altre comodità
|
||||
|
||||
Stampare da remoto porta anche altre comodità, ad esempio possiamo interrompere un file che abbiamo mandato in stampa per sbaglio con il comando (sempre tutti comandi da eseguire su "login")
|
||||
|
||||
```bash shell
|
||||
cancel -a
|
||||
```
|
||||
|
||||
> Attenzione, il comando sopra cancella tutta la propria coda di stampa, non solo l'ultimo lavoro inviato.
|
||||
|
||||
Alternativamente possiamo vedere lo stato della coda di stampa con il comando
|
||||
|
||||
```bash shell
|
||||
lpq -a
|
||||
```
|
||||
|
||||
e cancellare un lavoro con uno specifico ID con
|
||||
|
||||
```bash shell
|
||||
cancel ID
|
||||
```
|
||||
@ -1,22 +0,0 @@
|
||||
---
|
||||
title: Calcola la tua media ed il voto di laurea con il nuovissimo calcolatore del PHC!
|
||||
description: È ora disponibile uno strumento per calcolare la propria media pesata e il voto di ammissione alla laurea secondo le regole del dipartimento.
|
||||
publishDate: 2025-06-26
|
||||
---
|
||||
|
||||
# Calcola la tua media ed il voto di laurea con il nuovissimo calcolatore del PHC!
|
||||
|
||||
È ora disponibile nella sezione "Calcolo Media" del sito uno strumento per calcolare la propria media pesata e il voto di ammissione alla laurea secondo le regole ufficiali del dipartimento.
|
||||
|
||||
<p align="center">
|
||||
<a href="https://phc.dm.unipi.it/media-pesata/">phc.dm.unipi.it/media-pesata/</a>
|
||||
</p>
|
||||
|
||||
Il calcolatore applica automaticamente le regole di esclusione previste dal regolamento:
|
||||
|
||||
- **Triennale**: vengono esclusi i 15 CFU con i voti più bassi
|
||||
- **Magistrale**: vengono esclusi i 9 CFU con i voti più bassi
|
||||
|
||||
Il sistema calcola anche il bonus per le lodi, che vale +0.5 punti per ogni materia superiore a 6 CFU e +0.25 punti per materie da 6 CFU o meno, con un tetto massimo di +1.5 punti per la triennale e +2 punti per la magistrale.
|
||||
|
||||
Se dovessero esserci bug scriveteci un'email a <a href="mailto:macchinisti@lists.dm.unipi.it">macchinisti@lists.dm.unipi.it</a>!
|
||||
@ -1,46 +0,0 @@
|
||||
---
|
||||
title: Esplora i meme dell'aula studenti online!
|
||||
description: |
|
||||
Gli storici meme sono stati staccati per i lavori, ma non disperare: li potrai vedere su una nuova pagina.
|
||||
publishDate: 2025-06-26
|
||||
---
|
||||
|
||||
# Esplora i meme dell'aula studenti online!
|
||||
|
||||
Visti gli imminenti lavori che occuperanno l'aula studenti, ad inizio Settembre tutti i meme sulle pareti sono stati staccati e riposti temporaneamente in PHC; qui sotto trovate alcuni timelapse della giornata:
|
||||
|
||||
<div class="grid-h-split">
|
||||
<video controls>
|
||||
<source src="https://static.phc.dm.unipi.it/timelapse-nord.mp4" type="video/mp4">
|
||||
Your browser does not support the video tag.
|
||||
</video>
|
||||
<video controls>
|
||||
<source src="https://static.phc.dm.unipi.it/timelapse-sud.mp4" type="video/mp4">
|
||||
Your browser does not support the video tag.
|
||||
</video>
|
||||
<video controls>
|
||||
<source src="https://static.phc.dm.unipi.it/timelapse-termosifone.mp4" type="video/mp4">
|
||||
Your browser does not support the video tag.
|
||||
</video>
|
||||
</div>
|
||||
|
||||
Per questo motivo, li abbiamo scansionati ed abbiamo creato una bacheca per poter contemplare i meme dovunque voi siate 🧳
|
||||
|
||||
Eccovi dunque il link alla pagina, buon divertimento:
|
||||
|
||||

|
||||
|
||||
<p align="center">
|
||||
<a href="https://meme.phc.dm.unipi.it">meme.phc.dm.unipi.it</a>
|
||||
</p>
|
||||
|
||||
## Coming Soon
|
||||
|
||||
Prima o poi faremo anche una mappa interattiva della stanza, basata sul seguente modello 3D ricostruito con tecniche di fotogrammetria:
|
||||
|
||||
<video controls>
|
||||
<source src="https://static.phc.dm.unipi.it/3d-scan-preview.mp4" type="video/mp4">
|
||||
Your browser does not support the video tag.
|
||||
</video>
|
||||
|
||||
> Disclaimer: Se volessi rimuovere una tua immagine da questa pagina, scrivici pure a <a href="mailto:macchinisti@lists.dm.unipi.it">macchinisti@lists.dm.unipi.it</a> e ce ne occuperemo.
|
||||
@ -1,34 +0,0 @@
|
||||
---
|
||||
title: Non avete attivato la 2FA entro il primo dicembre? Ecco come recuperare l'accesso
|
||||
description: |
|
||||
Se non avete attivato l'autenticazione a due fattori entro il primo dicembre, siete bloccati fuori dall'account Unipi. La procedura di recupero passa dal supporto tecnico.
|
||||
publishDate: 2025-12-05
|
||||
---
|
||||
|
||||
# Non avete attivato la 2FA entro il primo dicembre? Ecco come recuperare l'accesso
|
||||
|
||||
Se siamo rimasti fuori dal nostro account Unipi perché non abbiamo attivato l'autenticazione a due fattori entro il primo dicembre, il percorso di recupero è piuttosto lineare.
|
||||
|
||||
Il primo passo è mandare una mail a
|
||||
|
||||
> <a href="mailto:help.polo2@ticket.unipi.it">help.polo2@ticket.unipi.it</a>
|
||||
|
||||
usando un indirizzo email personale (quello di ateneo è bloccato). Nel messaggio dobbiamo specificare chiaramente il problema e includere il nostro indirizzo email d'ateneo.
|
||||
|
||||
Dopo aver inviato la richiesta, tocca aspettare. Il supporto tecnico resetta manualmente lo status 2FA e ci manda una conferma. A quel punto possiamo procedere con l'attivazione seguendo le istruzioni ufficiali:
|
||||
|
||||
> https://it.unipi.it/configurazioni/mfa/autenticazione-a-piu-fattori-mfa-microsoft-365/
|
||||
|
||||
**Nota tecnica:** L'app Microsoft Authenticator non è obbligatoria! Qualsiasi autenticatore compatibile con [TOTP](https://en.wikipedia.org/wiki/Time-based_one-time_password) va bene: Google Authenticator, Bitwarden, Authy e altre alternative funzionano perfettamente. L'unica differenza è che l'app Microsoft Authenticator permette di ricevere notifiche l'accesso che consente di fare login con meno click.
|
||||
|
||||
Per utilizzare una di queste altre app (invece di Microsoft Authenticator), seguire questi step nella creazione del metodo di autenticazione:
|
||||
|
||||
1. Selezionare **"Microsoft Authenticator"**
|
||||
|
||||

|
||||
|
||||
2. Selezionare **"Configura un'app di autenticazione diversa"**
|
||||
|
||||

|
||||
|
||||
3. A questo punto il procedimento cambia in base all'app. In generale verrà richiesto di scannerizzare un QR code e di verificare il corretto funzionamento inserendo la TOTP (codice a 6 cifre)
|
||||
@ -1,21 +0,0 @@
|
||||
---
|
||||
import '@/styles/pages/media-pesata.css'
|
||||
import PageLayout from '../layouts/PageLayout.astro'
|
||||
|
||||
import { MediaPesataApp } from '@/client/MediaPesataApp'
|
||||
---
|
||||
|
||||
<PageLayout
|
||||
title="Voto Laurea"
|
||||
description="Calcola la tua media pesata e il voto di laurea seguendo le regole del dipartimento"
|
||||
>
|
||||
<div class="media-pesata-container">
|
||||
<h1>Calcolo Media e Voto di Laurea</h1>
|
||||
<p>
|
||||
Calcola la tua media pesata e il voto con cui ti siederai alla discussione di laurea, seguendo le regole del
|
||||
dipartimento di Matematica.
|
||||
</p>
|
||||
|
||||
<MediaPesataApp client:load />
|
||||
</div>
|
||||
</PageLayout>
|
||||
@ -1,12 +1,10 @@
|
||||
---
|
||||
import '@/styles/pages/utenti.css'
|
||||
|
||||
import PageLayout from '../layouts/PageLayout.astro'
|
||||
|
||||
import { UtentiPage } from '../client/UtentiPage.tsx'
|
||||
---
|
||||
|
||||
<PageLayout title="Utenti | PHC">
|
||||
<PageLayout title="Utenti | PHC" pageTags="utenti">
|
||||
<h1>Utenti</h1>
|
||||
<UtentiPage client:load />
|
||||
</PageLayout>
|
||||
|
||||
@ -1,27 +0,0 @@
|
||||
/* This file is here for historical reasons but is not used anymore */
|
||||
|
||||
@layer page {
|
||||
/*
|
||||
.login {
|
||||
background: #ddfaff;
|
||||
|
||||
main {
|
||||
justify-self: center;
|
||||
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
|
||||
max-width: 80ch;
|
||||
padding: 3rem 0;
|
||||
|
||||
gap: 3rem;
|
||||
|
||||
h3 {
|
||||
font-size: 28px;
|
||||
font-weight: 600;
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
}
|
||||
@ -1,371 +0,0 @@
|
||||
@layer base, typography, component, page, utility;
|
||||
|
||||
@import url(./controls.css);
|
||||
@import url(./components.css);
|
||||
@import url(./typography.css);
|
||||
|
||||
/* $screen-desktop-min: 1024px; */
|
||||
/* @TODO: SCSS conversion - @import becomes more complex */
|
||||
/* @import './mixins.scss'; */
|
||||
/* @import './typography.scss'; */
|
||||
|
||||
:root {
|
||||
--palette-black: #222;
|
||||
--border-large: 4px solid var(--palette-black);
|
||||
|
||||
--header-bg: #fff;
|
||||
|
||||
--footer-bg: #444;
|
||||
--footer-fg: #fdfdfd;
|
||||
|
||||
--homepage-principal-bg: #ecffe3;
|
||||
--homepage-whatsphc-bg: #e4c5ff;
|
||||
--homepage-news-bg: #c2a8eb;
|
||||
--homepage-projects-bg: #f5f2cc;
|
||||
--homepage-macchinisti-bg: #888;
|
||||
|
||||
--project-card-bg: #a2d4f3;
|
||||
|
||||
--font-primary: 'Open Sans', sans-serif;
|
||||
--font-display: 'Iosevka', monospace;
|
||||
--font-mono: 'Source Code Pro', monospace;
|
||||
--font-secondary: 'Source Sans Pro', sans-serif;
|
||||
}
|
||||
|
||||
:root {
|
||||
--guide-base: #a2d4f3;
|
||||
|
||||
--guide-darkest: color-mix(in srgb, var(--guide-base), #000 75%);
|
||||
--guide-darker: color-mix(in srgb, var(--guide-base), #000 50%);
|
||||
--guide-dark: color-mix(in srgb, var(--guide-base), #000 25%);
|
||||
|
||||
--guide-light: color-mix(in srgb, var(--guide-base), #fff 25%);
|
||||
--guide-lighter: color-mix(in srgb, var(--guide-base), #fff 50%);
|
||||
--guide-lightest: color-mix(in srgb, var(--guide-base), #fff 75%);
|
||||
|
||||
--news-base: #f8e8b1;
|
||||
}
|
||||
|
||||
@layer base {
|
||||
*,
|
||||
*::before,
|
||||
*::after {
|
||||
box-sizing: border-box;
|
||||
font: inherit;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
html {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
html,
|
||||
body {
|
||||
min-height: 100%;
|
||||
margin: 0;
|
||||
|
||||
font-family: var(--font-primary);
|
||||
font-size: 18px;
|
||||
color: #222;
|
||||
}
|
||||
|
||||
/*
|
||||
html {
|
||||
scroll-snap-type: y mandatory;
|
||||
scroll-padding-top: 4rem;
|
||||
}
|
||||
*/
|
||||
|
||||
img {
|
||||
display: block;
|
||||
}
|
||||
|
||||
a {
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
body {
|
||||
/*
|
||||
for the header spacing
|
||||
padding-top: 6rem;
|
||||
*/
|
||||
|
||||
display: grid;
|
||||
grid-template-rows: auto 1fr auto;
|
||||
|
||||
header {
|
||||
z-index: 10;
|
||||
|
||||
height: 6rem;
|
||||
border-bottom: var(--border-large);
|
||||
background: var(--header-bg);
|
||||
|
||||
grid-column: 1 / -1;
|
||||
|
||||
top: 0;
|
||||
position: sticky;
|
||||
width: 100%;
|
||||
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
|
||||
.logo {
|
||||
padding-left: 1rem;
|
||||
|
||||
img {
|
||||
height: 3.5rem;
|
||||
}
|
||||
}
|
||||
|
||||
.links {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 1.5rem;
|
||||
|
||||
padding: 0 1.5rem;
|
||||
|
||||
a {
|
||||
font-family: var(--font-display);
|
||||
font-size: 18px;
|
||||
font-weight: 500;
|
||||
letter-spacing: 1px;
|
||||
color: #333;
|
||||
|
||||
padding: 0.25rem 1.325rem;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 1024px) {
|
||||
flex-direction: column;
|
||||
}
|
||||
}
|
||||
|
||||
.side-menu {
|
||||
position: fixed;
|
||||
|
||||
/*
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 3rem;
|
||||
*/
|
||||
|
||||
top: 5rem;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
|
||||
background: #f0f0f0;
|
||||
|
||||
display: grid;
|
||||
/*
|
||||
grid-template-rows: auto 1fr;
|
||||
*/
|
||||
grid-template-rows: 1fr;
|
||||
|
||||
gap: 1.5rem;
|
||||
padding: 1.5rem;
|
||||
|
||||
justify-content: center;
|
||||
|
||||
/*
|
||||
& > :first-child {
|
||||
justify-self: end;
|
||||
}
|
||||
*/
|
||||
|
||||
.links {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr;
|
||||
|
||||
align-content: start;
|
||||
|
||||
width: calc(100vw - 3rem);
|
||||
max-width: 100%;
|
||||
|
||||
gap: 1.5rem;
|
||||
|
||||
padding: 0;
|
||||
}
|
||||
}
|
||||
|
||||
#header-menu-toggle {
|
||||
display: none;
|
||||
|
||||
&:not(:checked) ~ .side-menu {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
&:has(#header-menu-toggle:checked) #header-menu-toggle-menu {
|
||||
display: none;
|
||||
}
|
||||
|
||||
&:has(#header-menu-toggle:not(:checked)) #header-menu-toggle-close {
|
||||
display: none;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 1024px) {
|
||||
height: 5rem;
|
||||
padding: 0 0.5rem;
|
||||
|
||||
.logo {
|
||||
padding-left: 0;
|
||||
|
||||
img {
|
||||
height: 3rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
main {
|
||||
width: 100%;
|
||||
|
||||
@media screen and (max-width: 1024px) {
|
||||
padding: 3rem 1rem;
|
||||
gap: 3rem;
|
||||
|
||||
.card {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
footer {
|
||||
z-index: 10;
|
||||
padding: 1rem 0;
|
||||
--paragraph-margin: 0.5rem;
|
||||
--zone-color: #aaa;
|
||||
|
||||
min-height: 6rem;
|
||||
border-top: var(--border-large);
|
||||
background: var(--footer-bg);
|
||||
color: var(--footer-fg);
|
||||
|
||||
display: grid;
|
||||
place-content: center;
|
||||
|
||||
font-family: var(--font-secondary);
|
||||
font-size: 18px;
|
||||
|
||||
scroll-snap-align: end;
|
||||
|
||||
@media screen and (max-width: 1024px) {
|
||||
min-height: 5rem;
|
||||
font-size: 18px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-track:vertical {
|
||||
background-color: #f0f0f0;
|
||||
border-left: 2px solid #222;
|
||||
border-top: 2px solid #222;
|
||||
border-bottom: 2px solid #222;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-track:horizontal {
|
||||
background-color: #f0f0f0;
|
||||
border-top: 2px solid #222;
|
||||
border-left: 2px solid #222;
|
||||
border-right: 2px solid #222;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb {
|
||||
background-color: #1e6733;
|
||||
border: 2px solid #222;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb:hover {
|
||||
background-color: #2b8b47;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-corner {
|
||||
background-color: #f0f0f0;
|
||||
/* border-left: 2px solid #222; */
|
||||
/* border-top: 2px solid #222; */
|
||||
}
|
||||
|
||||
::-webkit-scrollbar {
|
||||
width: 15px;
|
||||
}
|
||||
|
||||
::selection {
|
||||
background: #0002;
|
||||
}
|
||||
|
||||
body:has(#header-menu-toggle:checked) {
|
||||
overflow: hidden;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
Typography
|
||||
*/
|
||||
|
||||
/* @TODO: SCSS conversion - @import becomes more complex */
|
||||
/* @import './controls.scss'; */
|
||||
/* @import './components.scss'; */
|
||||
|
||||
/*
|
||||
Custom Page Styles
|
||||
*/
|
||||
|
||||
/* @TODO: SCSS conversion - @import becomes more complex */
|
||||
/* @import './pages.scss'; */
|
||||
|
||||
@layer utility {
|
||||
.hide {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
.invisible {
|
||||
opacity: 0 !important;
|
||||
}
|
||||
|
||||
.grid-center {
|
||||
display: grid;
|
||||
place-content: center;
|
||||
place-items: center;
|
||||
}
|
||||
|
||||
.h-flex {
|
||||
display: flex;
|
||||
gap: 0.5rem;
|
||||
flex-direction: row;
|
||||
}
|
||||
|
||||
.v-flex {
|
||||
display: flex;
|
||||
gap: 0.5rem;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.h-flex,
|
||||
.v-flex {
|
||||
place-self: stretch;
|
||||
align-items: center;
|
||||
|
||||
> * {
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
> .spacer {
|
||||
flex-grow: 1;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (min-width: 1024px) {
|
||||
.mobile-only {
|
||||
display: none !important;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 1024px) {
|
||||
.desktop-only {
|
||||
display: none !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,315 @@
|
||||
$screen-desktop-min: 1024px;
|
||||
|
||||
:root {
|
||||
--palette-black: #222;
|
||||
--border-large: 4px solid var(--palette-black);
|
||||
|
||||
--header-bg: #fff;
|
||||
|
||||
--footer-bg: #444;
|
||||
--footer-fg: #fdfdfd;
|
||||
|
||||
--homepage-principal-bg: #ecffe3;
|
||||
--homepage-whatsphc-bg: #e4c5ff;
|
||||
--homepage-news-bg: #c2a8eb;
|
||||
--homepage-projects-bg: #f5f2cc;
|
||||
--homepage-macchinisti-bg: #888;
|
||||
|
||||
--project-card-bg: #a2d4f3;
|
||||
|
||||
--font-primary: 'Open Sans', sans-serif;
|
||||
--font-display: 'Iosevka', monospace;
|
||||
--font-mono: 'Source Code Pro', monospace;
|
||||
--font-secondary: 'Source Sans Pro', sans-serif;
|
||||
}
|
||||
|
||||
@layer common, typography, component, page;
|
||||
|
||||
@import './mixins.scss';
|
||||
@import './typography.scss';
|
||||
|
||||
@layer common {
|
||||
*,
|
||||
*::before,
|
||||
*::after {
|
||||
box-sizing: border-box;
|
||||
font: inherit;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
html {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
html,
|
||||
body {
|
||||
min-height: 100%;
|
||||
margin: 0;
|
||||
|
||||
font-family: var(--font-primary);
|
||||
font-size: 18px;
|
||||
color: #222;
|
||||
}
|
||||
|
||||
// html {
|
||||
// scroll-snap-type: y mandatory;
|
||||
// scroll-padding-top: 4rem;
|
||||
// }
|
||||
|
||||
img {
|
||||
display: block;
|
||||
}
|
||||
|
||||
a {
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Typography
|
||||
//
|
||||
|
||||
@import './controls.scss';
|
||||
@import './components.scss';
|
||||
|
||||
//
|
||||
// Custom Page Styles
|
||||
//
|
||||
|
||||
body {
|
||||
// for the header spacing
|
||||
// padding-top: 6rem;
|
||||
|
||||
display: grid;
|
||||
grid-template-rows: auto 1fr auto;
|
||||
|
||||
header {
|
||||
z-index: 10;
|
||||
|
||||
height: 6rem;
|
||||
border-bottom: var(--border-large);
|
||||
background: var(--header-bg);
|
||||
|
||||
grid-column: 1 / -1;
|
||||
|
||||
top: 0;
|
||||
position: sticky;
|
||||
width: 100%;
|
||||
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
|
||||
.logo {
|
||||
padding-left: 1rem;
|
||||
|
||||
img {
|
||||
height: 3.5rem;
|
||||
}
|
||||
}
|
||||
|
||||
.links {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 1.5rem;
|
||||
|
||||
padding: 0 1.5rem;
|
||||
|
||||
a {
|
||||
font-family: var(--font-display);
|
||||
font-size: 18px;
|
||||
font-weight: 500;
|
||||
letter-spacing: 1px;
|
||||
color: #333;
|
||||
|
||||
padding: 0.25rem 1.325rem;
|
||||
}
|
||||
|
||||
@media screen and (max-width: $screen-desktop-min) {
|
||||
flex-direction: column;
|
||||
}
|
||||
}
|
||||
|
||||
.side-menu {
|
||||
position: fixed;
|
||||
|
||||
// top: 0;
|
||||
// right: 0;
|
||||
// bottom: 0;
|
||||
// left: 3rem;
|
||||
|
||||
top: 5rem;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
|
||||
background: #f0f0f0;
|
||||
|
||||
display: grid;
|
||||
// grid-template-rows: auto 1fr;
|
||||
grid-template-rows: 1fr;
|
||||
|
||||
gap: 1.5rem;
|
||||
padding: 1.5rem;
|
||||
|
||||
justify-content: center;
|
||||
|
||||
// & > :first-child {
|
||||
// justify-self: end;
|
||||
// }
|
||||
|
||||
.links {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr;
|
||||
|
||||
align-content: start;
|
||||
|
||||
width: calc(100vw - 3rem);
|
||||
max-width: 100%;
|
||||
|
||||
gap: 1.5rem;
|
||||
|
||||
padding: 0;
|
||||
}
|
||||
}
|
||||
|
||||
#header-menu-toggle {
|
||||
display: none;
|
||||
|
||||
&:not(:checked) ~ .side-menu {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
&:has(#header-menu-toggle:checked) #header-menu-toggle-menu {
|
||||
display: none;
|
||||
}
|
||||
|
||||
&:has(#header-menu-toggle:not(:checked)) #header-menu-toggle-close {
|
||||
display: none;
|
||||
}
|
||||
|
||||
@media screen and (max-width: $screen-desktop-min) {
|
||||
height: 5rem;
|
||||
padding: 0 0.5rem;
|
||||
|
||||
.logo {
|
||||
padding-left: 0;
|
||||
|
||||
img {
|
||||
height: 3rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
main {
|
||||
width: 100%;
|
||||
|
||||
@media screen and (max-width: $screen-desktop-min) {
|
||||
padding: 3rem 1rem;
|
||||
gap: 3rem;
|
||||
|
||||
.card {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
footer {
|
||||
z-index: 10;
|
||||
padding: 1rem 0;
|
||||
--paragraph-margin: 0.5rem;
|
||||
--zone-color: #aaa;
|
||||
|
||||
min-height: 6rem;
|
||||
border-top: var(--border-large);
|
||||
background: var(--footer-bg);
|
||||
color: var(--footer-fg);
|
||||
|
||||
display: grid;
|
||||
place-content: center;
|
||||
|
||||
font-family: var(--font-secondary);
|
||||
font-size: 18px;
|
||||
|
||||
scroll-snap-align: end;
|
||||
|
||||
@media screen and (max-width: $screen-desktop-min) {
|
||||
min-height: 5rem;
|
||||
font-size: 18px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@import './pages.scss';
|
||||
|
||||
//
|
||||
// Misc
|
||||
//
|
||||
|
||||
::-webkit-scrollbar-track:vertical {
|
||||
background-color: #f0f0f0;
|
||||
border-left: 2px solid #222;
|
||||
border-top: 2px solid #222;
|
||||
border-bottom: 2px solid #222;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-track:horizontal {
|
||||
background-color: #f0f0f0;
|
||||
border-top: 2px solid #222;
|
||||
border-left: 2px solid #222;
|
||||
border-right: 2px solid #222;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb {
|
||||
background-color: #1e6733;
|
||||
border: 2px solid #222;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb:hover {
|
||||
background-color: #2b8b47;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-corner {
|
||||
background-color: #f0f0f0;
|
||||
// border-left: 2px solid #222;
|
||||
// border-top: 2px solid #222;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar {
|
||||
width: 15px;
|
||||
}
|
||||
|
||||
::selection {
|
||||
background: #0002;
|
||||
}
|
||||
|
||||
body:has(#header-menu-toggle:checked) {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
//
|
||||
// Utility Classes
|
||||
//
|
||||
|
||||
.hide {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
.invisible {
|
||||
opacity: 0 !important;
|
||||
}
|
||||
|
||||
@media screen and (min-width: $screen-desktop-min) {
|
||||
.mobile-only {
|
||||
display: none !important;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: $screen-desktop-min) {
|
||||
.desktop-only {
|
||||
display: none !important;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,879 @@
|
||||
:root {
|
||||
--guide-base: #a2d4f3;
|
||||
|
||||
--guide-darkest: color-mix(in srgb, var(--guide-base), #000 75%);
|
||||
--guide-darker: color-mix(in srgb, var(--guide-base), #000 50%);
|
||||
--guide-dark: color-mix(in srgb, var(--guide-base), #000 25%);
|
||||
|
||||
--guide-light: color-mix(in srgb, var(--guide-base), #fff 25%);
|
||||
--guide-lighter: color-mix(in srgb, var(--guide-base), #fff 50%);
|
||||
--guide-lightest: color-mix(in srgb, var(--guide-base), #fff 75%);
|
||||
|
||||
--news-base: #f8e8b1;
|
||||
}
|
||||
|
||||
@layer page {
|
||||
.homepage {
|
||||
header:has(#header-menu-toggle:not(:checked)) .logo {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
section {
|
||||
position: relative;
|
||||
|
||||
width: 100%;
|
||||
min-height: calc(100vh - 6rem);
|
||||
|
||||
&:last-of-type {
|
||||
min-height: calc(100vh - 10rem);
|
||||
}
|
||||
|
||||
// display: flex;
|
||||
// flex-direction: column;
|
||||
// align-items: center;
|
||||
& {
|
||||
display: grid;
|
||||
grid-auto-flow: row;
|
||||
justify-items: center;
|
||||
align-content: start;
|
||||
|
||||
gap: 2rem;
|
||||
|
||||
scroll-snap-align: start;
|
||||
}
|
||||
|
||||
& > .title {
|
||||
font-size: 48px;
|
||||
padding-top: 4rem;
|
||||
|
||||
@media screen and (max-width: $screen-desktop-min) {
|
||||
padding-top: 2rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.zig-zag {
|
||||
z-index: 5;
|
||||
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
|
||||
display: flex;
|
||||
|
||||
&:first-child {
|
||||
bottom: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
section.principal {
|
||||
z-index: 2;
|
||||
|
||||
min-height: calc(100vh - 7rem);
|
||||
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
flex-wrap: wrap;
|
||||
|
||||
align-items: center;
|
||||
place-content: center;
|
||||
|
||||
gap: 4rem;
|
||||
|
||||
padding: 3rem 2rem 6rem;
|
||||
|
||||
background: var(--homepage-principal-bg);
|
||||
|
||||
position: relative;
|
||||
|
||||
.circuit-layer {
|
||||
pointer-events: none;
|
||||
|
||||
z-index: 1;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
|
||||
canvas {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
& > .logo {
|
||||
z-index: 2;
|
||||
|
||||
width: 32rem;
|
||||
|
||||
position: relative;
|
||||
|
||||
user-select: none;
|
||||
|
||||
img {
|
||||
width: 100%;
|
||||
// filter: drop-shadow(6px 6px 0 var(--palette-black))
|
||||
// drop-shadow(4px 0 0 var(--palette-black)) drop-shadow(0 4px 0 var(--palette-black))
|
||||
// drop-shadow(-4px 0 0 var(--palette-black)) drop-shadow(0 -4px 0 var(--palette-black));
|
||||
}
|
||||
|
||||
max-width: calc(100vw - 3rem);
|
||||
@media screen and (max-width: $screen-desktop-min) {
|
||||
}
|
||||
}
|
||||
|
||||
& > .whats-phc {
|
||||
z-index: 2;
|
||||
background: #e4c5ff;
|
||||
|
||||
--zone-color: color-mix(in lab, #e4c5ff, #000 75%);
|
||||
|
||||
max-width: 37rem;
|
||||
|
||||
.title {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
a {
|
||||
text-decoration: underline 2px solid;
|
||||
|
||||
&:hover {
|
||||
--zone-color: color-mix(in lab, #e4c5ff, #000 60%);
|
||||
}
|
||||
}
|
||||
|
||||
span.highlighted {
|
||||
background: color-mix(in lab, #e4c5ff, #000 10%);
|
||||
cursor: default;
|
||||
border-radius: 0.25rem;
|
||||
padding: 0.125rem 0.25rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
section.news {
|
||||
--card-base: color-mix(in lab, var(--news-base), #fff 25%);
|
||||
--zone-color: color-mix(in lab, var(--news-base), #000 50%);
|
||||
|
||||
background: var(--homepage-news-bg);
|
||||
|
||||
gap: 3rem;
|
||||
|
||||
padding-bottom: 6rem;
|
||||
|
||||
& > .news-list {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
gap: 3rem;
|
||||
|
||||
align-items: flex-start;
|
||||
|
||||
padding: 0 3rem;
|
||||
|
||||
justify-content: center;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
[role='button'] {
|
||||
padding: 0.5rem 2rem;
|
||||
|
||||
&.primary {
|
||||
background: #ffdd6e;
|
||||
color: #000d;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
section.projects {
|
||||
background: var(--homepage-projects-bg);
|
||||
|
||||
padding-bottom: 6rem;
|
||||
|
||||
.project-list {
|
||||
// width: calc(20rem * 3 + 1.5rem * 2 + 6rem * 2);
|
||||
// max-width: calc(100vw - 2rem); // HACK: capire come si propagano le width per bene
|
||||
|
||||
max-width: calc(20rem * 3 + 1.5rem * 2 + 1rem * 2);
|
||||
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
|
||||
grid-auto-flow: dense;
|
||||
|
||||
gap: 1.5rem;
|
||||
padding: 0 1rem;
|
||||
|
||||
& > * {
|
||||
grid-row: span var(--masonry-height);
|
||||
}
|
||||
|
||||
.project {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
|
||||
// background: #fcddff;
|
||||
// background: #ffa89c;
|
||||
background: var(--card-bg, var(--project-card-bg));
|
||||
color: var(--card-fg, #000e);
|
||||
|
||||
@include neo-brutalist-card($size: 3px, $offset: 9px);
|
||||
|
||||
padding: 1rem;
|
||||
|
||||
display: grid;
|
||||
grid-template-columns: auto 1fr;
|
||||
grid-template-rows: auto 1fr;
|
||||
|
||||
gap: 0.25rem 1rem;
|
||||
|
||||
transition: all 128ms ease-out;
|
||||
|
||||
.title {
|
||||
font-size: 32px;
|
||||
|
||||
@media screen and (max-width: $screen-desktop-min) {
|
||||
font-size: 24px;
|
||||
}
|
||||
}
|
||||
|
||||
.image {
|
||||
grid-row: span 2;
|
||||
// place-self: center;
|
||||
|
||||
.box {
|
||||
background: #0003;
|
||||
border: 3px solid #0006;
|
||||
border-radius: 6px;
|
||||
width: 4rem;
|
||||
height: 4rem;
|
||||
}
|
||||
|
||||
img {
|
||||
object-fit: cover;
|
||||
width: 4rem;
|
||||
}
|
||||
|
||||
// &.auto {
|
||||
// img {
|
||||
// width: auto;
|
||||
// height: auto;
|
||||
// }
|
||||
// }
|
||||
}
|
||||
|
||||
.description {
|
||||
font-size: 16px;
|
||||
@extend .text;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
transform: translate(0, -4px);
|
||||
box-shadow: 9px 13px 0 0 #222;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: $screen-desktop-min) {
|
||||
padding: 0 1rem;
|
||||
|
||||
grid-template-columns: 1fr;
|
||||
|
||||
.project {
|
||||
padding: 0.8rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
section.wanna-be-macchinista {
|
||||
background: var(--homepage-macchinisti-bg);
|
||||
color: #fdfdfd;
|
||||
|
||||
padding-bottom: 6rem;
|
||||
|
||||
.card {
|
||||
max-width: 40rem;
|
||||
}
|
||||
|
||||
.content {
|
||||
@extend .text;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: $screen-desktop-min) {
|
||||
& > main {
|
||||
padding: 0 !important;
|
||||
}
|
||||
|
||||
section.principal {
|
||||
padding: 3rem 0 6rem;
|
||||
|
||||
.whats-phc {
|
||||
padding: 1.5rem;
|
||||
|
||||
margin: 0 1rem;
|
||||
}
|
||||
|
||||
#mobile-whats-phc-read-more {
|
||||
&:checked ~ .text {
|
||||
max-height: 7lh;
|
||||
overflow: hidden;
|
||||
|
||||
position: relative;
|
||||
|
||||
&::after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
height: 3lh;
|
||||
|
||||
background: linear-gradient(to bottom, transparent, #e4c5ff);
|
||||
}
|
||||
}
|
||||
|
||||
&:not(:checked) ~ * .button span:nth-child(1) {
|
||||
display: none;
|
||||
}
|
||||
&:checked ~ * .button span:nth-child(2) {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
section.news {
|
||||
& > .news-list {
|
||||
padding: 0 1rem;
|
||||
}
|
||||
}
|
||||
|
||||
section.projects {
|
||||
.project-list {
|
||||
padding: 0 1rem;
|
||||
}
|
||||
}
|
||||
|
||||
section.wanna-be-macchinista {
|
||||
.content {
|
||||
padding: 0 1rem;
|
||||
}
|
||||
}
|
||||
|
||||
section {
|
||||
padding: 1rem 1rem 4rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.utenti {
|
||||
background: #ffffe4;
|
||||
|
||||
--filter-bg-color: #ffd270;
|
||||
|
||||
main {
|
||||
justify-self: center;
|
||||
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
|
||||
padding: 5rem 0;
|
||||
|
||||
gap: 5rem;
|
||||
|
||||
max-width: 80ch;
|
||||
|
||||
.search-result {
|
||||
background: #ffeabc;
|
||||
}
|
||||
|
||||
button {
|
||||
background: #ffd270;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.appunti {
|
||||
main {
|
||||
background: #e8e8e8;
|
||||
|
||||
justify-self: center;
|
||||
|
||||
display: grid;
|
||||
grid-auto-flow: row;
|
||||
|
||||
justify-items: center;
|
||||
|
||||
padding: 3rem;
|
||||
|
||||
gap: 3rem;
|
||||
|
||||
width: 100%;
|
||||
|
||||
position: relative;
|
||||
|
||||
&::after {
|
||||
content: '';
|
||||
width: 100%;
|
||||
height: 80vh;
|
||||
|
||||
background: linear-gradient(to bottom, transparent, #e8e8e8);
|
||||
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.search {
|
||||
max-width: 80ch;
|
||||
}
|
||||
|
||||
.appunti-scrollable {
|
||||
justify-self: stretch;
|
||||
|
||||
&.center {
|
||||
justify-self: center;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.domande-esami {
|
||||
background: hsl(180, 100%, 95%);
|
||||
--card-base: hsl(180, 100%, 85%);
|
||||
|
||||
main {
|
||||
justify-self: center;
|
||||
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
|
||||
padding: 4rem 0;
|
||||
|
||||
gap: 2rem;
|
||||
|
||||
.search {
|
||||
max-width: 80ch;
|
||||
}
|
||||
|
||||
button {
|
||||
background: hsl(180, 100%, 72%);
|
||||
}
|
||||
|
||||
.card a {
|
||||
color: color-mix(in srgb, var(--card-base-internal), #000 80%);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// .login {
|
||||
// background: #ddfaff;
|
||||
|
||||
// main {
|
||||
// justify-self: center;
|
||||
|
||||
// display: flex;
|
||||
// flex-direction: column;
|
||||
// align-items: center;
|
||||
|
||||
// max-width: 80ch;
|
||||
// padding: 3rem 0;
|
||||
|
||||
// gap: 3rem;
|
||||
|
||||
// h3 {
|
||||
// font-size: 28px;
|
||||
// font-weight: 600;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
//
|
||||
// Notizie
|
||||
//
|
||||
|
||||
.notizie,
|
||||
.notizia {
|
||||
--card-base: color-mix(in lab, var(--news-base), #fff 25%);
|
||||
--zone-color: color-mix(in lab, var(--news-base), #000 75%);
|
||||
background: color-mix(in lab, var(--news-base), #fff 90%);
|
||||
}
|
||||
|
||||
.notizie {
|
||||
h1 > a {
|
||||
&:hover {
|
||||
text-decoration: underline 3px solid;
|
||||
}
|
||||
}
|
||||
|
||||
main {
|
||||
justify-self: center;
|
||||
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
|
||||
padding: 5rem;
|
||||
gap: 5rem;
|
||||
}
|
||||
}
|
||||
|
||||
.notizia {
|
||||
main {
|
||||
--card-base: color-mix(in lab, var(--news-base), #fff 25%);
|
||||
|
||||
max-width: calc(46rem + 2rem * 2);
|
||||
justify-self: center;
|
||||
padding: 3rem 2rem 2rem;
|
||||
|
||||
margin-top: 3rem;
|
||||
margin-bottom: 6rem;
|
||||
|
||||
@media screen and (max-width: $screen-desktop-min) {
|
||||
box-shadow: none;
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
max-width: none;
|
||||
|
||||
margin: 0 auto;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Guide
|
||||
//
|
||||
|
||||
.guide,
|
||||
.guida {
|
||||
--card-base: color-mix(in lab, var(--guide-base), #fff 25%);
|
||||
--zone-color: color-mix(in lab, var(--guide-base), #000 75%);
|
||||
background: color-mix(in lab, var(--guide-base), #fff 90%);
|
||||
}
|
||||
|
||||
.guide {
|
||||
h1 > a {
|
||||
&:hover {
|
||||
text-decoration: underline 3px solid;
|
||||
}
|
||||
}
|
||||
|
||||
main {
|
||||
justify-self: center;
|
||||
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
|
||||
padding: 5rem;
|
||||
gap: 5rem;
|
||||
}
|
||||
}
|
||||
|
||||
.guida {
|
||||
main {
|
||||
--card-base: color-mix(in lab, var(--guide-base), #fff 50%);
|
||||
|
||||
max-width: calc(46rem + 2rem * 2);
|
||||
justify-self: center;
|
||||
padding: 3rem 2rem 2rem;
|
||||
|
||||
margin-top: 3rem;
|
||||
margin-bottom: 6rem;
|
||||
|
||||
position: relative;
|
||||
|
||||
.metadata {
|
||||
position: absolute;
|
||||
top: -2px;
|
||||
left: calc(100% + 2rem);
|
||||
width: 15rem;
|
||||
|
||||
display: grid;
|
||||
grid-auto-flow: row;
|
||||
gap: 1rem;
|
||||
|
||||
justify-items: start;
|
||||
|
||||
.metadata-item {
|
||||
background: var(--card-base);
|
||||
|
||||
display: grid;
|
||||
grid-template-rows: auto auto;
|
||||
justify-items: start;
|
||||
gap: 0.25rem;
|
||||
|
||||
padding: 0.75rem 1rem;
|
||||
|
||||
@include neo-brutalist-card($size: 3px);
|
||||
|
||||
.tags {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 0.5rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: $screen-desktop-min) {
|
||||
box-shadow: none;
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
max-width: none;
|
||||
|
||||
margin: 0 auto;
|
||||
|
||||
.metadata {
|
||||
position: static;
|
||||
padding: 0;
|
||||
width: auto;
|
||||
margin: 0;
|
||||
|
||||
--card-base: color-mix(in lab, var(--guide-base), #fff 30%);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.tag {
|
||||
main {
|
||||
justify-self: center;
|
||||
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
|
||||
padding: 5rem 0;
|
||||
gap: 5rem;
|
||||
}
|
||||
}
|
||||
|
||||
.storia {
|
||||
--card-base: #e4c5ff;
|
||||
|
||||
main {
|
||||
justify-self: center;
|
||||
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
|
||||
padding: 5rem 0;
|
||||
gap: 3rem;
|
||||
|
||||
// background horizontal linear gradient that is black in the center
|
||||
background: linear-gradient(
|
||||
to right,
|
||||
#ffe4c544 0%,
|
||||
// #ffe4c599 25%,
|
||||
#ffe4c5ff 50%,
|
||||
// #ffe4c599 75%,
|
||||
#ffe4c544 100%
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
.macchinisti {
|
||||
main {
|
||||
justify-self: center;
|
||||
background: linear-gradient(to top, #d5fbff, #ffd9d5);
|
||||
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
|
||||
padding: 4.5rem 3rem;
|
||||
gap: 4.5rem;
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Meta
|
||||
//
|
||||
|
||||
.design {
|
||||
grid-template-columns: minmax(15rem, 2fr) 10fr;
|
||||
|
||||
@media screen and (max-width: 1400px) {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
|
||||
aside {
|
||||
margin: 1rem;
|
||||
padding: 1rem;
|
||||
|
||||
@include neo-brutalist-card();
|
||||
|
||||
background: #f0f0f0;
|
||||
|
||||
align-self: start;
|
||||
position: sticky;
|
||||
top: 7rem;
|
||||
height: calc(100dvh - 8rem - 6rem);
|
||||
|
||||
nav {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 0.25rem;
|
||||
|
||||
ul {
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 0.25rem;
|
||||
|
||||
li {
|
||||
padding-left: calc((var(--depth) - 1) * 1rem);
|
||||
|
||||
display: flex;
|
||||
|
||||
a {
|
||||
display: block;
|
||||
|
||||
font-size: 16px;
|
||||
font-weight: 600;
|
||||
|
||||
transform: translate(-0.25rem, 0);
|
||||
|
||||
padding: 0.125rem 0.25rem;
|
||||
border-radius: 0.125rem;
|
||||
|
||||
color: #444;
|
||||
|
||||
&:hover {
|
||||
background: #00000018;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 1400px) {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
footer {
|
||||
grid-column: 1 / -1;
|
||||
}
|
||||
|
||||
main {
|
||||
justify-self: center;
|
||||
|
||||
@media screen and (min-width: $screen-desktop-min) {
|
||||
padding: 3rem 0;
|
||||
}
|
||||
}
|
||||
|
||||
pre[data-language='astro'] {
|
||||
--code-bg: #fff7ef;
|
||||
|
||||
width: 100%;
|
||||
max-width: 46rem;
|
||||
}
|
||||
|
||||
.container {
|
||||
margin: 2rem auto;
|
||||
|
||||
border: 2px dashed #ddd;
|
||||
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
|
||||
&.large {
|
||||
min-width: calc(100% - 4rem);
|
||||
}
|
||||
|
||||
&:not(.large) {
|
||||
& > .content {
|
||||
display: grid;
|
||||
place-content: center;
|
||||
}
|
||||
}
|
||||
|
||||
& > .content {
|
||||
padding: 2rem;
|
||||
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
// label in the top left corner
|
||||
&::before {
|
||||
content: 'Preview';
|
||||
position: absolute;
|
||||
|
||||
bottom: 100%;
|
||||
left: 0;
|
||||
|
||||
padding: 0.125rem 0.5rem;
|
||||
|
||||
background: #eee;
|
||||
color: #000;
|
||||
|
||||
font-family: var(--font-display);
|
||||
font-size: 14px;
|
||||
|
||||
border-radius: 0.25rem;
|
||||
|
||||
z-index: -1;
|
||||
|
||||
transform: translate(-2px, -4px);
|
||||
|
||||
opacity: 0;
|
||||
transition: opacity 64ms ease-in;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
border-color: #bbb;
|
||||
|
||||
&::before {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.palette {
|
||||
margin: 2rem auto;
|
||||
|
||||
display: grid;
|
||||
grid-template-columns: auto auto;
|
||||
|
||||
gap: 1rem;
|
||||
|
||||
place-content: center;
|
||||
|
||||
& > .color {
|
||||
width: 2rem;
|
||||
height: 2rem;
|
||||
border-radius: 0.25rem;
|
||||
|
||||
border: 2px solid #000;
|
||||
box-shadow: 4px 4px 0 0 #000;
|
||||
|
||||
overflow: hidden;
|
||||
|
||||
& > .region {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
|
||||
border: 2px solid #fff;
|
||||
|
||||
border-radius: 4px;
|
||||
}
|
||||
}
|
||||
|
||||
& > .label {
|
||||
display: grid;
|
||||
align-content: center;
|
||||
|
||||
font-family: 'JetBrains Mono', var(--font-mono);
|
||||
font-size: 16px;
|
||||
|
||||
user-select: all;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,55 +0,0 @@
|
||||
@layer page {
|
||||
main {
|
||||
background: #e8e8e8;
|
||||
|
||||
justify-self: center;
|
||||
|
||||
display: grid;
|
||||
grid-auto-flow: row;
|
||||
|
||||
justify-items: center;
|
||||
|
||||
padding: 3rem;
|
||||
|
||||
gap: 3rem;
|
||||
|
||||
width: 100%;
|
||||
|
||||
position: relative;
|
||||
|
||||
&::after {
|
||||
content: '';
|
||||
width: 100%;
|
||||
height: 80vh;
|
||||
|
||||
background: linear-gradient(to bottom, transparent, #e8e8e8);
|
||||
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.search {
|
||||
max-width: 80ch;
|
||||
}
|
||||
|
||||
.appunti-scrollable {
|
||||
justify-self: stretch;
|
||||
|
||||
&.center {
|
||||
justify-self: center;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 1024px) {
|
||||
padding: 3rem 1rem;
|
||||
gap: 3rem;
|
||||
|
||||
overflow: clip;
|
||||
|
||||
.card {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,42 +0,0 @@
|
||||
:root {
|
||||
--card-base: hsl(180, 100%, 85%);
|
||||
}
|
||||
|
||||
@layer page {
|
||||
body {
|
||||
background: hsl(180, 100%, 95%);
|
||||
}
|
||||
|
||||
main {
|
||||
justify-self: center;
|
||||
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
|
||||
padding: 4rem 0;
|
||||
|
||||
gap: 2rem;
|
||||
|
||||
.search {
|
||||
max-width: 80ch;
|
||||
}
|
||||
|
||||
button {
|
||||
background: hsl(180, 100%, 72%);
|
||||
}
|
||||
|
||||
.card a {
|
||||
color: color-mix(in srgb, var(--card-base-internal), #000 80%);
|
||||
}
|
||||
|
||||
@media screen and (max-width: 1024px) {
|
||||
padding: 3rem 1rem;
|
||||
gap: 3rem;
|
||||
|
||||
.card {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,74 +0,0 @@
|
||||
@layer page {
|
||||
body {
|
||||
--card-base: color-mix(in lab, var(--guide-base), #fff 25%);
|
||||
--zone-color: color-mix(in lab, var(--guide-base), #000 75%);
|
||||
background: color-mix(in lab, var(--guide-base), #fff 90%);
|
||||
}
|
||||
|
||||
main {
|
||||
--card-base: color-mix(in lab, var(--guide-base), #fff 50%);
|
||||
|
||||
max-width: calc(46rem + 2rem * 2);
|
||||
justify-self: center;
|
||||
padding: 3rem 2rem 2rem;
|
||||
|
||||
margin-top: 3rem;
|
||||
margin-bottom: 6rem;
|
||||
|
||||
position: relative;
|
||||
|
||||
.metadata {
|
||||
position: absolute;
|
||||
top: -2px;
|
||||
left: calc(100% + 2rem);
|
||||
width: 15rem;
|
||||
|
||||
display: grid;
|
||||
grid-auto-flow: row;
|
||||
gap: 1rem;
|
||||
|
||||
justify-items: start;
|
||||
|
||||
.metadata-item {
|
||||
background: var(--card-base);
|
||||
|
||||
display: grid;
|
||||
grid-template-rows: auto auto;
|
||||
justify-items: start;
|
||||
gap: 0.25rem;
|
||||
|
||||
padding: 0.75rem 1rem;
|
||||
|
||||
/* @include neo-brutalist-card($size: 3px); */
|
||||
border: 3px solid #222;
|
||||
border-radius: 6px;
|
||||
box-shadow: 3px 3px 0 0 #222;
|
||||
|
||||
.tags {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 0.5rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 1024px) {
|
||||
box-shadow: none;
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
max-width: none;
|
||||
|
||||
margin: 0 auto;
|
||||
padding: 3rem 1rem 2rem;
|
||||
|
||||
.metadata {
|
||||
position: static;
|
||||
padding: 0;
|
||||
width: auto;
|
||||
margin: 0;
|
||||
|
||||
--card-base: color-mix(in lab, var(--guide-base), #fff 30%);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,37 +0,0 @@
|
||||
@layer page {
|
||||
body {
|
||||
--card-base: color-mix(in lab, var(--guide-base), #fff 25%);
|
||||
--zone-color: color-mix(in lab, var(--guide-base), #000 75%);
|
||||
background: color-mix(in lab, var(--guide-base), #fff 90%);
|
||||
}
|
||||
|
||||
h1 > a {
|
||||
&:hover {
|
||||
text-decoration: underline 3px solid;
|
||||
}
|
||||
}
|
||||
|
||||
main {
|
||||
justify-self: center;
|
||||
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
|
||||
padding: 5rem 2.5rem;
|
||||
gap: 5rem;
|
||||
|
||||
@media screen and (max-width: 1024px) {
|
||||
padding: 3rem 1rem;
|
||||
gap: 3rem;
|
||||
|
||||
.card {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.card {
|
||||
grid-template-rows: auto 1fr auto;
|
||||
}
|
||||
}
|
||||
@ -1,354 +0,0 @@
|
||||
@layer page {
|
||||
header:has(#header-menu-toggle:not(:checked)) .logo {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
section {
|
||||
position: relative;
|
||||
|
||||
width: 100%;
|
||||
min-height: calc(100vh - 6rem);
|
||||
|
||||
&:last-of-type {
|
||||
min-height: calc(100vh - 10rem);
|
||||
}
|
||||
|
||||
& {
|
||||
display: grid;
|
||||
grid-auto-flow: row;
|
||||
justify-items: center;
|
||||
align-content: start;
|
||||
|
||||
gap: 2rem;
|
||||
|
||||
scroll-snap-align: start;
|
||||
}
|
||||
|
||||
& > .title {
|
||||
font-size: 48px;
|
||||
padding-top: 4rem;
|
||||
|
||||
@media screen and (max-width: /* $screen-desktop-min */ 1024px) {
|
||||
padding-top: 2rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.zig-zag {
|
||||
z-index: 5;
|
||||
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
|
||||
display: flex;
|
||||
|
||||
&:first-child {
|
||||
bottom: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
section.principal {
|
||||
z-index: 2;
|
||||
|
||||
min-height: calc(100vh - 7rem);
|
||||
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
flex-wrap: wrap;
|
||||
|
||||
align-items: center;
|
||||
place-content: center;
|
||||
|
||||
gap: 4rem;
|
||||
|
||||
padding: 3rem 2rem 6rem;
|
||||
|
||||
background: var(--homepage-principal-bg);
|
||||
|
||||
position: relative;
|
||||
|
||||
.circuit-layer {
|
||||
pointer-events: none;
|
||||
|
||||
z-index: 1;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
|
||||
canvas {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
& > .logo {
|
||||
z-index: 2;
|
||||
|
||||
width: 32rem;
|
||||
|
||||
position: relative;
|
||||
|
||||
user-select: none;
|
||||
|
||||
img {
|
||||
width: 100%;
|
||||
/* filter: drop-shadow(6px 6px 0 var(--palette-black))
|
||||
drop-shadow(4px 0 0 var(--palette-black)) drop-shadow(0 4px 0 var(--palette-black))
|
||||
drop-shadow(-4px 0 0 var(--palette-black)) drop-shadow(0 -4px 0 var(--palette-black)); */
|
||||
}
|
||||
|
||||
max-width: calc(100vw - 3rem);
|
||||
@media screen and (max-width: /* $screen-desktop-min */ 1024px) {
|
||||
}
|
||||
}
|
||||
|
||||
& > .whats-phc {
|
||||
z-index: 2;
|
||||
background: #e4c5ff;
|
||||
|
||||
--zone-color: color-mix(in lab, #e4c5ff, #000 75%);
|
||||
|
||||
max-width: 37rem;
|
||||
|
||||
.title {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
a {
|
||||
text-decoration: underline 2px solid;
|
||||
|
||||
&:hover {
|
||||
--zone-color: color-mix(in lab, #e4c5ff, #000 60%);
|
||||
}
|
||||
}
|
||||
|
||||
span.highlighted {
|
||||
background: color-mix(in lab, #e4c5ff, #000 10%);
|
||||
cursor: default;
|
||||
border-radius: 0.25rem;
|
||||
padding: 0.125rem 0.25rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
section.news {
|
||||
--card-base: color-mix(in lab, var(--news-base), #fff 25%);
|
||||
--zone-color: color-mix(in lab, var(--news-base), #000 50%);
|
||||
|
||||
background: var(--homepage-news-bg);
|
||||
|
||||
gap: 3rem;
|
||||
|
||||
padding-bottom: 6rem;
|
||||
|
||||
& > .news-list {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
gap: 3rem;
|
||||
|
||||
align-items: flex-start;
|
||||
|
||||
padding: 0 3rem;
|
||||
|
||||
justify-content: center;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
[role='button'] {
|
||||
padding: 0.5rem 2rem;
|
||||
|
||||
&.primary {
|
||||
background: #ffdd6e;
|
||||
color: #000d;
|
||||
}
|
||||
}
|
||||
|
||||
.card {
|
||||
grid-template-rows: auto auto 1fr;
|
||||
}
|
||||
}
|
||||
|
||||
section.projects {
|
||||
background: var(--homepage-projects-bg);
|
||||
|
||||
padding-bottom: 6rem;
|
||||
|
||||
.project-list {
|
||||
/* width: calc(20rem * 3 + 1.5rem * 2 + 6rem * 2);
|
||||
max-width: calc(100vw - 2rem); */ /* HACK: capire come si propagano le width per bene */
|
||||
|
||||
max-width: calc(20rem * 3 + 1.5rem * 2 + 1rem * 2);
|
||||
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
|
||||
grid-auto-flow: dense;
|
||||
|
||||
gap: 1.5rem;
|
||||
padding: 0 1rem;
|
||||
|
||||
& > * {
|
||||
grid-row: span var(--masonry-height);
|
||||
}
|
||||
|
||||
.project {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
|
||||
/* background: #fcddff;
|
||||
background: #ffa89c; */
|
||||
background: var(--card-bg, var(--project-card-bg));
|
||||
color: var(--card-fg, #000e);
|
||||
|
||||
/* @include neo-brutalist-card($size: 3px, $offset: 9px); */
|
||||
border: 3px solid #222;
|
||||
border-radius: 6px;
|
||||
box-shadow: 9px 9px 0 0 #222;
|
||||
|
||||
padding: 1rem;
|
||||
|
||||
display: grid;
|
||||
grid-template-columns: auto 1fr;
|
||||
grid-template-rows: auto 1fr;
|
||||
|
||||
gap: 0.25rem 1rem;
|
||||
|
||||
transition: all 128ms ease-out;
|
||||
|
||||
.title {
|
||||
font-size: 32px;
|
||||
|
||||
@media screen and (max-width: /* $screen-desktop-min */ 1024px) {
|
||||
font-size: 24px;
|
||||
}
|
||||
}
|
||||
|
||||
.image {
|
||||
grid-row: span 2;
|
||||
/* place-self: center; */
|
||||
|
||||
.box {
|
||||
background: #0003;
|
||||
border: 3px solid #0006;
|
||||
border-radius: 6px;
|
||||
width: 4rem;
|
||||
height: 4rem;
|
||||
}
|
||||
|
||||
img {
|
||||
object-fit: cover;
|
||||
width: 4rem;
|
||||
}
|
||||
|
||||
/* &.auto {
|
||||
img {
|
||||
width: auto;
|
||||
height: auto;
|
||||
}
|
||||
} */
|
||||
}
|
||||
|
||||
.description {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
transform: translate(0, -4px);
|
||||
box-shadow: 9px 13px 0 0 #222;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: /* $screen-desktop-min */ 1024px) {
|
||||
padding: 0 1rem;
|
||||
|
||||
grid-template-columns: 1fr;
|
||||
|
||||
.project {
|
||||
padding: 0.8rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
section.wanna-be-macchinista {
|
||||
background: var(--homepage-macchinisti-bg);
|
||||
color: #fdfdfd;
|
||||
|
||||
padding-bottom: 6rem;
|
||||
|
||||
.card {
|
||||
max-width: 40rem;
|
||||
}
|
||||
|
||||
/* .content {
|
||||
/* @extend .text;
|
||||
/* Placeholder: Assuming .text is a class with common text styles, you might want to define those styles directly here or in a separate CSS rule.
|
||||
} */
|
||||
}
|
||||
|
||||
@media screen and (max-width: /* $screen-desktop-min */ 1024px) {
|
||||
main {
|
||||
padding: 0 !important;
|
||||
}
|
||||
|
||||
section.principal {
|
||||
padding: 3rem 0 6rem;
|
||||
|
||||
.whats-phc {
|
||||
padding: 1.5rem;
|
||||
|
||||
margin: 0 1rem;
|
||||
}
|
||||
|
||||
#mobile-whats-phc-read-more {
|
||||
&:checked ~ .text {
|
||||
max-height: 7lh;
|
||||
overflow: hidden;
|
||||
|
||||
position: relative;
|
||||
|
||||
&::after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
height: 3lh;
|
||||
|
||||
background: linear-gradient(to bottom, transparent, #e4c5ff);
|
||||
}
|
||||
}
|
||||
|
||||
&:not(:checked) ~ * .button span:nth-child(1) {
|
||||
display: none;
|
||||
}
|
||||
&:checked ~ * .button span:nth-child(2) {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
section.news {
|
||||
& > .news-list {
|
||||
padding: 0 1rem;
|
||||
}
|
||||
}
|
||||
|
||||
section.projects {
|
||||
.project-list {
|
||||
padding: 0 1rem;
|
||||
}
|
||||
}
|
||||
|
||||
section.wanna-be-macchinista {
|
||||
.content {
|
||||
padding: 0 1rem;
|
||||
}
|
||||
}
|
||||
|
||||
section {
|
||||
padding: 1rem 1rem 4rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,22 +0,0 @@
|
||||
@layer page {
|
||||
main {
|
||||
justify-self: center;
|
||||
background: linear-gradient(to top, #d5fbff, #ffd9d5);
|
||||
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
|
||||
padding: 4.5rem 3rem;
|
||||
gap: 4.5rem;
|
||||
|
||||
@media screen and (max-width: 1024px) {
|
||||
padding: 3rem 1rem;
|
||||
gap: 3rem;
|
||||
|
||||
.card {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@ -1,190 +0,0 @@
|
||||
@layer page {
|
||||
body {
|
||||
grid-template-columns: minmax(15rem, 2fr) 10fr;
|
||||
|
||||
@media screen and (max-width: 1400px) {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
}
|
||||
|
||||
aside {
|
||||
margin: 1rem;
|
||||
padding: 1rem;
|
||||
|
||||
/* @include neo-brutalist-card(); */
|
||||
border: 3px solid #222;
|
||||
border-radius: 6px;
|
||||
box-shadow: 3px 3px 0 0 #222;
|
||||
|
||||
background: #f0f0f0;
|
||||
|
||||
align-self: start;
|
||||
position: sticky;
|
||||
top: 7rem;
|
||||
height: calc(100dvh - 8rem - 6rem);
|
||||
|
||||
nav {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 0.25rem;
|
||||
|
||||
ul {
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 0.25rem;
|
||||
|
||||
li {
|
||||
padding-left: calc((var(--depth) - 1) * 1rem);
|
||||
|
||||
display: flex;
|
||||
|
||||
a {
|
||||
display: block;
|
||||
|
||||
font-size: 16px;
|
||||
font-weight: 600;
|
||||
|
||||
transform: translate(-0.25rem, 0);
|
||||
|
||||
padding: 0.125rem 0.25rem;
|
||||
border-radius: 0.125rem;
|
||||
|
||||
color: #444;
|
||||
|
||||
&:hover {
|
||||
background: #00000018;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 1400px) {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
footer {
|
||||
grid-column: 1 / -1;
|
||||
}
|
||||
|
||||
main {
|
||||
justify-self: center;
|
||||
|
||||
@media screen and (min-width: /* $screen-desktop-min */ 1024px) {
|
||||
padding: 3rem 0;
|
||||
}
|
||||
}
|
||||
|
||||
pre[data-language='astro'] {
|
||||
--code-bg: #fff7ef;
|
||||
|
||||
width: 100%;
|
||||
max-width: 46rem;
|
||||
}
|
||||
|
||||
.container {
|
||||
margin: 2rem auto;
|
||||
|
||||
border: 2px dashed #ddd;
|
||||
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
|
||||
&.large {
|
||||
min-width: calc(100% - 4rem);
|
||||
}
|
||||
|
||||
&:not(.large) {
|
||||
& > .content {
|
||||
display: grid;
|
||||
place-content: center;
|
||||
}
|
||||
}
|
||||
|
||||
& > .content {
|
||||
padding: 2rem;
|
||||
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
/* label in the top left corner */
|
||||
&::before {
|
||||
content: 'Preview';
|
||||
position: absolute;
|
||||
|
||||
bottom: 100%;
|
||||
left: 0;
|
||||
|
||||
padding: 0.125rem 0.5rem;
|
||||
|
||||
background: #eee;
|
||||
color: #000;
|
||||
|
||||
font-family: var(--font-display);
|
||||
font-size: 14px;
|
||||
|
||||
border-radius: 0.25rem;
|
||||
|
||||
z-index: -1;
|
||||
|
||||
transform: translate(-2px, -4px);
|
||||
|
||||
opacity: 0;
|
||||
transition: opacity 64ms ease-in;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
border-color: #bbb;
|
||||
|
||||
&::before {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.palette {
|
||||
margin: 2rem auto;
|
||||
|
||||
display: grid;
|
||||
grid-template-columns: auto auto;
|
||||
|
||||
gap: 1rem;
|
||||
|
||||
place-content: center;
|
||||
|
||||
& > .color {
|
||||
width: 2rem;
|
||||
height: 2rem;
|
||||
border-radius: 0.25rem;
|
||||
|
||||
border: 2px solid #000;
|
||||
box-shadow: 4px 4px 0 0 #000;
|
||||
|
||||
overflow: hidden;
|
||||
|
||||
& > .region {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
|
||||
border: 2px solid #fff;
|
||||
|
||||
border-radius: 4px;
|
||||
}
|
||||
}
|
||||
|
||||
& > .label {
|
||||
display: grid;
|
||||
align-content: center;
|
||||
|
||||
font-family: 'JetBrains Mono', var(--font-mono);
|
||||
font-size: 16px;
|
||||
|
||||
user-select: all;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,28 +0,0 @@
|
||||
@layer page {
|
||||
:root {
|
||||
--card-base: color-mix(in lab, var(--news-base), #fff 25%);
|
||||
--zone-color: color-mix(in lab, var(--news-base), #000 75%);
|
||||
}
|
||||
|
||||
body {
|
||||
background: color-mix(in lab, var(--news-base), #fff 90%);
|
||||
}
|
||||
|
||||
main {
|
||||
max-width: calc(46rem + 2rem * 2);
|
||||
justify-self: center;
|
||||
padding: 3rem 2rem 2rem;
|
||||
|
||||
margin-top: 3rem;
|
||||
margin-bottom: 6rem;
|
||||
|
||||
@media screen and (max-width: 1024px) {
|
||||
box-shadow: none;
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
max-width: none;
|
||||
|
||||
margin: 0 auto;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,40 +0,0 @@
|
||||
@layer page {
|
||||
:root {
|
||||
--card-base: color-mix(in lab, var(--news-base), #fff 25%);
|
||||
--zone-color: color-mix(in lab, var(--news-base), #000 75%);
|
||||
}
|
||||
|
||||
body {
|
||||
background: color-mix(in lab, var(--news-base), #fff 90%);
|
||||
}
|
||||
|
||||
h1 > a {
|
||||
&:hover {
|
||||
text-decoration: underline 3px solid;
|
||||
}
|
||||
}
|
||||
|
||||
main {
|
||||
justify-self: center;
|
||||
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
|
||||
padding: 5rem;
|
||||
gap: 5rem;
|
||||
|
||||
@media screen and (max-width: 1024px) {
|
||||
padding: 3rem 1rem;
|
||||
gap: 3rem;
|
||||
|
||||
.card {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.card {
|
||||
grid-template-rows: auto auto 1fr;
|
||||
}
|
||||
}
|
||||
@ -1,33 +0,0 @@
|
||||
:root {
|
||||
--card-base: #e4c5ff;
|
||||
}
|
||||
|
||||
@layer page {
|
||||
main {
|
||||
justify-self: center;
|
||||
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
|
||||
padding: 5rem 0;
|
||||
gap: 3rem;
|
||||
|
||||
/* background horizontal linear gradient that is black in the center */
|
||||
background: linear-gradient(
|
||||
to right,
|
||||
#ffe4c544 0%,
|
||||
/* #ffe4c599 25%, */ #ffe4c5ff 50%,
|
||||
/* #ffe4c599 75%, */ #ffe4c544 100%
|
||||
);
|
||||
|
||||
@media screen and (max-width: 1024px) {
|
||||
padding: 3rem 1rem;
|
||||
gap: 3rem;
|
||||
|
||||
.card {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,40 +0,0 @@
|
||||
:root {
|
||||
--filter-bg-color: #ffd270;
|
||||
}
|
||||
|
||||
@layer page {
|
||||
body {
|
||||
background: #ffffe4;
|
||||
}
|
||||
|
||||
main {
|
||||
justify-self: center;
|
||||
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
|
||||
padding: 5rem 0;
|
||||
|
||||
gap: 5rem;
|
||||
|
||||
max-width: 80ch;
|
||||
|
||||
.search-result {
|
||||
background: #ffeabc;
|
||||
}
|
||||
|
||||
button {
|
||||
background: #ffd270;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 1024px) {
|
||||
padding: 3rem 1rem;
|
||||
gap: 3rem;
|
||||
|
||||
.card {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue