/* -------------------------------------------------------------------------------- */
/* ! BASE */
/* -------------------------------------------------------------------------------- */
/* ? TAVOLOZZA */

:root {
    --primary: #66ff51;
    --secondary: #B1E90C;
    --accent: #EE9E58;
    --light: #FFEFD6;
    --dark: #6A8D73;
}

/* ? reset */
* {
    margin: 0;
    padding: 0;
}

a {
    text-decoration: none;
}

li {
    list-style-type: none;
}

/* ? Tipografia */
body {
    font-family: 'Source Sans 3', sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'Staatliches';
}

p,
ul,
a {
    font-size: 1.2em;
    line-height: 1.2em;
    margin-bottom: 15px;
}

p.leading {
    font-size: 1.4em;
    line-height: 1.4em;
}

p span {
    color: var(--secondary);
    font-weight: 900;
}

.cta {
    display: block;
    border: 1px solid var(--primary);
    color: var(--primary);
    font-weight: 900;
    padding: 12px;
    border-radius: 12px;
    /* fit content ottimizza il contenuto in base alla larghezza del display */
    width: fit-content;
    margin: 0 auto;
    text-transform: uppercase;
}

.cta:hover {
    background: var(--primary);
    color: var(--light);
}

/* ? riuso??? */
/* gli sto dicendo alla classe res: SII RESPONSIVO!! Solitamente usata per le foto, per farle responsive
con questi due parametri*/
.res {
    width: 100%;
    max-width: 490px;
}

.clipped {
    clip-path: circle();
}

/* -------------------------------------------------------------------------------- */
/* ! MOBILE FIRST */
/* -------------------------------------------------------------------------------- */
/* ? SISTEMA GRID prima section*/

.grid {
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    /* sarebbe l'intercolonna */
    gap: 10px;
    padding: 20px;
}

/* ? navigazione */
.site-nav h1 {
    font-size: 36px;
    grid-column: 1/5;
    color: var(--primary);
    border-bottom: 2px solid var(--primary);
    z-index: 1;
}

.site-nav__menu {
    /* lasciamo visibile solamente l'iconcina dell'HB menu */
    position: absolute;
    top: 0;
    left: 0;
    max-height: 0;
    overflow: hidden;
}

/* richiamo il menu quando è open mettendo davanti ".open" */
.open .site-nav__menu {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    max-height: 100%;
    position: fixed;
    background-color: var(--light);
    width: 100%;
    /* sei grande come tutta la finestra: 100VH!! */
    height: 100vh;
}

.site-nav__hamburger {
    cursor: pointer;
    grid-column: 7/9;
    /* giustifica te stesso: in questo caso alla fine */
    justify-self: end;
    z-index: 1;
}

.site-nav__hamburger .fa-bars-staggered {
    font-size: 2em;
}

/* ? SISTEMA GRID prima section*/

/* utilizzo il cancelletto per indicare L'ID. Grid meglio di no perché
sarà una classe spammata dappertutto */
#welcome h2 {
    grid-column: 1/9;
    color: var(--dark);
}

.welcome__text {
    grid-column: 1/9;
}

.welcome__img {
    display: flex;
    justify-content: center;
    grid-column: 1/9;
}

/* ? SISTEMA GRID seconda section*/
#book h2 {
    grid-column: 1/9;
    color: var(--dark);
}

.book__text {
    grid-column: 1/9;
}

.book__img {
    display: flex;
    justify-content: center;
    grid-column: 1/9;
}

/* ? SISTEMA GRID terza section*/
#libro h2 {
    grid-column: 1/9;
    color: var(--dark);
}

.libro__testo {
    grid-column: 1/9;
}

.libro__img {
    grid-column: 1/9;
    display: flex;
    /* oggetti con display-flex column andranno uno sotto l'altro... */
    /* ! IN ORIZZONTALE JUSTIFY CONTENT LAVORA PER CENTRARE MENTRE IN VERTICALE FUNZUONA ALIGN ITEMS!! */
    align-items: center;
    flex-direction: column;
    /* justify-content: center; */
}

/* ? PORTFOLIO!!! */
#portfolio {
    /* relative la parte base e metto in risalto con ABSOLUTE */
    position: relative;
    background: var(--dark) url(img/pexels-efrem-efre-16729854.jpg) no-repeat;
    background-size: cover;
}

#portfolio::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--dark);
    opacity: 0.8;
}

#portfolio h2 {
    position: relative;
    z-index: 1;
    color: var(--light);
    text-align: center;
    padding: 12px;
}

.portfolio__projects a {
    grid-column: 1/9;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.portfolio__projects a * {
    max-width: 50%;
    display: block;
    z-index: 1;
    margin: 5px;
    z-index: 1;
}

.portfolio__projects h3 {
    border: 1px solid var(--primary);
    background: var(--primary);
    padding: 12px;
    color: var(--light);
    text-align: center;
    border-radius: 10px;
}

.portfolio__projects h3:hover {
    border: 1px solid var(--light);
    background: none;
    border-radius: 10px;
}

/* ? SKILLS */
#skills {
    text-align: center;
    padding: 12px;
}

#skills img {
    height: 80px;
}

#skills li {
    /* con span 4 possiamo ingombrare per ogni elemento ben 4 colonne, si riposizionano da sole!!! */
    grid-column: span 4;
    text-align: center;
    background: var(--light);
    padding: 12px;
    border: 1px solid var(--accent);
}

/* ? footer */
#prefooter {
    background: var(--dark);
}

footer {
    padding: 30px 0;
}

/* asterisco selettore jolly, va a prendere tutti i figli di footer */
footer * {
    color: var(--light);
}

.credits {
    grid-column: 1/5;
    display: flex;
    align-items: center;
}

.social {
    grid-column: 6/9;
    display: flex;
    justify-content: space-between;
    align-items: center;
}