.cv h1 {
	font-family: qwigley;
	font-size: 15rem;
	font-weight: 200;
	line-height: 0.7em;
	margin-top: 0px;
}
.cv h2 {
	font-size: 1.5rem;
	font-weight: 550;
	margin-top: 12px;
}
.cv p {
	font-size: 1.2rem;
}
.cv .sidebar p {
	font-size: 1.2rem;
	margin-bottom: 0.2em;
}
.cv .content p {
	font-size: 1.2rem;
	font-weight: 400;
}
.cv .right-left p {
	font-weight: 800;
}
.cv li {
	font-size: 1.2rem;
}
.cv a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 3px;
	transition: color 0.3s ease;
}
.cv a:hover {
	color: #0000ff;
}
.cv-footer {
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-top: 1px solid #000;
	padding: 10px 0 0px 0;	
	font-size: 0.9rem;
	color: #444;
	margin: 80px 40px 0 40px;
}
.cv-footer p {
	font-size: 0.8rem;
	color: #444;
	margin-top: 0.4rem;
}

/* ===== BACKGROUND ===== */

.cv {
	background: linear-gradient(135deg, #f5f5f5 0%, #e8e8ff 50%, #f5f5f5 100%);
	font-family: DM Sans;
	height: 100%;
}


																		/* GRID GENERAL (2 COLUMNAS) */
	.cv .container {
		display: grid;
		grid-template-columns: 1fr 2fr;
		gap: 50px;
		height: 100%;
		margin: 40px;
	}


																		/* SIDEBAR (FLEXBOX) */

		.cv .sidebar {
			display: flex;
			flex-direction: column;
			height: 100%;
			align-items: flex-start;
			position: sticky;
		}


																		/* CONTENT (FLEXBOX) */																	
		.cv .content {
			display: flex;
			flex-direction: column;
		}
			.cv .apartado {
				display: grid;
				grid-template-columns: 1fr 2fr;
				gap: 40px;
				border-top: 1.5px solid #000000;
				margin-bottom: 60px;
			}	

				/* ===== GRID (DOS COLUMNAS) ===== */
				.cv .right-v2 { 
					display: grid;
					grid-template-columns: 1fr 1fr;
					row-gap: 20px;
					column-gap: 40px	
				}	

					/* ===== LISTA ===== */
					.cv .right-right ul {
						padding-left: 1em;
						margin: 0;
						list-style-type: square;
						}
						.cv .right-right li {
								margin-bottom: 1em;
						}

				/* ===== LISTA DEFAULT ===== */
				.cv .right ul {
					padding-left: 1em;
					list-style-type: square;
				}
					.cv .right li {
							margin-bottom: 1em;
					}

				/* ===== SOFTWARE ===== */
				.cv .right ul.software-list {
					padding-left: 0;
					list-style: none;
				}
				.software-list {
					display: grid;
					grid-template-columns: repeat(8, 1fr);
					gap: 25px;
					padding: 0;
					width: 100%;
					box-sizing: border-box;
				}
				.software-list li {
					display: flex;
					justify-content: center;
					align-items: center;
				}		
				.software-list img {
					width: 60px;
					height: auto;
					max-width: 100%;
				}



/* ------------------------------------- 1280px ------------------------------------- */


@media screen and (max-width: 1280px) {
	.cv .container {
		grid-template-columns: 1fr;
	}
																		/* SIDEBAR (FLEXBOX) */
	.cv .sidebar {
		display: flex;
		flex-direction: row;
		justify-content: space-between;
		align-items: flex-end;
		border: none;
		position: static;
		margin-bottom: 40px;
		width: 100%;
		}

		/* H1 - CHEN JIANG */
		.cv .sidebar h1 {
			margin-bottom: 40px;
		}
		/* CONTACT INFO (FLEXBOX) */
		.cv .contact-info {
			display: flex;
			flex-direction: column;
			align-items: flex-end;
			justify-content: flex-end;
			text-align: left;
			margin-bottom: 80px;
			gap: 0.2em;
		}
		.cv .contact-info p {
			margin: 0.2em 0;
		}
	}



/* ------------------------------------- 480px ------------------------------------- */


@media screen and (max-width: 480px) {
																		/* CONTAINER */
	.cv .contact-info {
		margin-bottom: 55px;
	}
	.cv .contact-info p {
		font-size: 0.6rem;
		line-height: 1.4em;
	}
	.cv .content p {
		font-size: 0.9rem;
		line-height: 1.4em;
	}
	.cv h1 {
		font-size: 6rem;
		line-height: 0.7em;
	}
	.cv h2 {
		font-size: 1.8rem;
	}
	.cv p {
		font-size: 0.5rem;
	}
	.cv li {
		font-size: 0.9rem;
		line-height: 1.4em;
	}
	.cv .apartado {
		display: flex;
		flex-direction: column;
		gap: 15px;
	}
	.cv .apartado-portfolio {
		display: flex;
		flex-direction: column;
		gap: 15px;
	}
	.cv .left {
		border: none;
	}
	.cv .right,
	.cv .right-v2 {
		grid-template-columns: 1fr;
		gap: 15px;
	}
	.cv .right-left p {
		margin-bottom: 0em; 
	}
	.cv .right-right p {
		margin-top: 0; 
	}
	.cv .right-right ul {
		margin-top: 0.5em;
	}
	.software-list {
		grid-template-columns: repeat(4, 1fr); 
		gap: 15px;
		justify-items: center;
	}
	.software-list img {
		width: 65px; 
		height: auto;
	}
																		/* FOOTER */
	.cv-footer {
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
		border-top: 1px solid #000;
		font-size: 0.8rem;
		margin: 40px 20px 0 20px;
		padding-top: 10px;
	}
	.cv-footer p {
		font-size: 0.8rem;
		margin-top: 0.4rem;
	}
}



/* PORTFOLIO */


.p-image {
	width: 100%;
	height: auto;
	margin-top: 20px;
}
.left-portfolio {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.apartado-portfolio {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
	border-top: 1.5px solid #000000;
	margin-bottom: 60px;
}



/* FLECHA */


.back-to-top-flecha {
	position: fixed;
	bottom: 100px;
	right: 50px;
	font-size: 1.4rem;
	font-weight: 400;
	text-decoration: none;
	padding: 10px 14px;
	border-radius: 0%;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.25);
	transition: all 0.3s ease;
}
.back-to-top-flecha:hover {
	opacity: 1;
	transform: translateY(-5px);
}



/* ANIMACIÓN COLRO H1 */


.cv h1 {
	animation: color 6s ease-in-out infinite;
	cursor: default;
}
@keyframes color {
	0% {
		color: #2458b3;		/* azul */
	}
	25% {
		color: #b23a48;		/* rojo */
	}
	50% {
		color: #1fa27d;		/* verde */
	}
	75% {
		color: #2d6f8e;		/* azul */
	}
	100% {
		color: #2458b3;		/* azul */
	}
}
