body {
	background-color: black;
	max-width: 1280px;
	margin: auto;
}

div.menu {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 20px;
}

/* Estils en el PORTFOLI */

h1 {
	color: whitesmoke;
	padding-left: 10px;
	padding-right: 10px;
	font-family: "Noto Serif Display", serif;
	font-size: 125px;
	text-align: center;
	line-height: 0.8;
	font-size: 8rem;
	
	
}

h2 {
	color: whitesmoke;
	font-family: serif;
	font-family: "Noto Serif Display", serif;	
}

h3 {
	color: whitesmoke;
}

p {
	font-family: monospace;
	color: whitesmoke;
}

div.portfoli {
	display: grid;
	grid-template-columns: 1fr;
	gap: 20px;
	padding-bottom: 20px;
}

div.portfoli img {
	width: 100%;
}

div.item {
	padding: 20px;
}

div.menu {
	a {
		font-size: 12px;
		color: whitesmoke;
		text-decoration: none;
		padding: 0px;
		
	}
	p {
		background-color: rgba(255, 255, 255, 30%);	
		padding: 5px;
		position: center;
	}

}

/*-- Estils About-- */

div.about {
	display: grid;
	grid-template-columns: 1fr;
	gap: 20px;
	padding-bottom: 20px;
}

div.about {
	img {
	width: 100%;
	}
	div.header

	h1 {
		line-height: 1;
		font-family: "Noto Serif Display", serif;
		font-size: 125px;
		text-align: left;
		line-height: 1;
		font-size: 7.5rem;
		padding-left: 20px;
	}
	h2 {
		padding-left: 20px;
		font-size: 20px;
	}
}

div.landingabout {
	background-image: url(aboutimage.jpg);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	padding-bottom: 20px;
}
div.landingabout h1 {
			text-align: left;
			line-height: 1;
}




/*-- Estils de text. Homepage-- */

div.texto00 {
	h2 {
		text-align: right;
	}
}

div.texto01 {
	h2 {
		text-align: left;
		font-size: 20px;
		padding-left: 20px;
		padding-top: 40px;
	}
}

div.texto02 {
	h2 {
		text-align: right;
		font-size: 20px;
		padding-left: 80px;
	}
}


div.homepage {
	background-image: url(homeimage.jpg);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	padding-bottom: 40px;


	h1 {
		text-align: center;
	}

}

div.projects {
	padding: 20px;

}

/* Estils en el CV*/

div.CV {
	
	background-color: black;
	padding-bottom: auto;

	h1 {
		text-align: left;
		font-size: 6rem;
		padding-bottom: 8px;
		line-height: 0.9;
		
	}
	h2 {
		padding-left: 20px;
	}

	a {
		color: palevioletred;
		text-decoration: none;
		background-color: rgba(255, 255, 255, 30%);	
		padding: 5px;
	}
	p {
		padding-left: 20px;
	}
	h3 {
		padding-left: 20px;
		color: whitesmoke;

	}
	div.banner {
		background-image: url(cvfooter.jpg);
		background-size: cover;
		background-position: center;
		background-repeat: no-repeat;
		padding-top: 40px;
		padding-bottom: 40px;
		padding-right: 40px;

	}
	div.footer {
		background-image: url(cvfooter.jpg);
		background-size: cover;
		background-position: center;
		background-repeat: no-repeat;
		padding: 20px;
	}
}


/* CSS tret de ChatGPT */

.row {
  display: grid;
  grid-template-columns: 200px 100px 1fr; /* left | middle | right */
  column-gap: 200px;
  margin-bottom: 60px;
  margin-top: 90px;
}

/* Alineamos roles por columna */
.left   { grid-column: 1; }
.middle { grid-column: 2; }
.right  { grid-column: 3; }

	/* --- TRUCO: si una fila NO tiene .left, ponemos una "columna fantasma" --- */
.row:not(.triple)::before {
  content: "";
  grid-column: 1;  /* ocupa la columna izquierda */
  display: block;
}

	/* Aseguramos que la fila TRIPLE se comporte normal */
.triple .row::before {
  content: none;
}






/* Aquest va ser el meu intent de CSS per fer l'efecte anterior*/

/*	div.row {
		display: grid;
		grid-template-columns: 200px 200px 1fr;
		column-gap: 20px;
		margin-bottom: 20px;
	}

	div.left {
		width: 25%;
		margin-top: 0px;
	}
	
	div.middle {
		width: 25%;
		margin-left: 400px;
		margin-right: auto;

	}
	div.right {
		width: 50%;
		margin-top: 10px;
		margin-right: 20px;
	} 

	div.triple {
		display: flex;
		div.left {
			grid-column: 1;
			
		}
		div.middle {
			grid-column: 2;
		}
		div.right {
			grid-column: 3;
		}
	}
} 
*/

/* Media query. Portfolio */

@media screen and (min-width: 768px) {
	div.portfoli {
		grid-template-columns: 1fr 1fr 1fr;
	}
	div.about {
		grid-template-columns: 1fr;
	}
	div.landingabout.menu {
		display: flex;
		flex-wrap: wrap;
		gap: 20px;
		justify-content: space-between;
	}
}

@media (max-width: 768px) {
	h1 {
		font-size: 7rem;
	}
}


/* Media query. CV */

@media (max-width: 768px) {
	div.row {
		grid-template-columns: 1fr 1fr 1fr 1fr;

		div.left, div.middle, div.right {
			grid-column: 1;
			text-align: left;
			margin-bottom: 10px;
		}
		div.row:not(div.triple)::before {
			content: none;
		}
	}
}

/*-- Media query. CV tret de ChatGPT, 
per solucionar responsive de les files en pantalles petites--*/

@media (max-width: 768px) {

  .row {
    display: flex;
    flex-direction: column; /* hace que todo sea 1 columna */
  }

  .row .right {
    flex: 2;            /* le das más "peso" a right */
    width: 100%;        /* ocupa todo el ancho */
  }

  .row .middle, 
  .row .left {
    flex: 1;
    width: 100%;
  }
}

/* Solo aplica al bloque con 3 columnas */
@media (max-width: 768px) {
  .triple .row > .middle {
    order: 1;
  }
  .triple .row > .right {
    order: 2;
    padding-bottom: 80px;
  }
  .triple .row > .left {
    order: 3;
  }
}

@media (max-width: 768px) {
  .CV h1 {
    font-size: 4rem; /* más pequeño en móvil */
    margin-bottom: 2px;
  }

  .CV h2 {
    font-size: 1.1rem;
    margin-bottom: 10px;
  }

  .CV {
    padding-top: 10px; /* menos espacio arriba */
  }
}

/* Media query About */

@media (max-width: 768px) {
	div.about h1 {
		font-size: 5.5rem;
	}
}


/* ANIMACIONS */

h1 strong {
	display: inline-block;
	animation-name: scale, rainbow;
	animation-duration: 0.9s;
	animation-iteration-count: infinite;
	animation-timing-function: linear;
	transform-origin: center;
}

@keyframes rainbow {
	0% {color: palevioletred;}
	25% {color: powderblue;}
	50% {color: antiquewhite;}
	75% {color: darksalmon;}
	100% {color: palevioletred;}
}

@keyframes scale {
	0% {
		transform: scale(0.8);
	}
	25% {
		transform: scale(1);
	}
	50% {
		transform: scale(1.2);
	}
	75% {
		transform: scale(1);
	}
	100% {
		transform: scale(0.8);
	}
}








