:root {
	--primary-bg-color: white;
	--primary-bg-color-50: rgba(0, 0, 0, 0.5);
	--secondary-bg-color: rgb(241, 241, 241);
	--quaternary-bg-color: rgb(225, 225, 225);
	--primary-title-color: #202124;
	--primary-text-color: rgb(95, 99, 104);

	/* MODIFICADO, NUEVO COLOR */
	--primary-btn-color: rgb(0, 168, 142);
	--primary-btn-color-hover: rgb(9, 190, 163);

	/* MODIFICADO, NUEVO COLOR */
	--secondary-btn-color: rgb(0, 168, 142);
	--filter-box-bg-color: rgb(109, 109, 109);

	--filter-box-color: white;
	--primary-box-shadow-color: rgba(0, 0, 0, 0.15);
	--primary-border-color: rgb(230, 230, 230);
	--primary-border-radius: 4px;
	--secondary-border-radius: 24px;
	--font-family: 'Inter', -apple-system, system-ui, BlinkMacSystemFont, 'Segoe UI', Roboto,
		Oxygen, Ubuntu, Cantarell, 'Open Sans', sans-serif;
	--tertiary-bg-color: rgb(248, 248, 248);
	/* MODIFICADO, NUEVO COLOR */
	--quinary-bg-color: rgb(245, 255, 254);
	--color-behind-box: rgb(217, 230, 228);
}

body.dark {
	--primary-bg-color: rgb(0, 0, 0);
	--primary-bg-color-50: rgba(0, 0, 0, 0.9);
	--secondary-bg-color: #383649;
	--quaternary-bg-color: #3e3c52;
	--quinary-bg-color: rgb(3, 24, 21);
	--color-behind-box: #2d3533;
	--primary-title-color: #ffffff;
	--primary-text-color: #b1b1b1;

	--primary-btn-color: rgb(35, 209, 174);
	--primary-btn-color-hover: rgb(37, 224, 187);

	--secondary-btn-color: rgb(35, 209, 174);

	--filter-box-bg-color: rgb(29, 29, 29);
	--filter-box-color: #ececec;
	--primary-box-shadow-color: rgba(0, 0, 0, 0.5);
	--primary-border-color: #2d2c3b;
	--tertiary-bg-color: #17151b;
}

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

.last-update {
	margin-left: 1.5rem;
	margin-right: 1.5rem;
	margin-top: 1rem;
	display: block;
	text-align: right;
}

.dark .last-update span:nth-child(2) {
	color: var(--primary-title-color);
}

.dark .last-update time {
	color: white;
	font-weight: 400;
}

aside {
	position: fixed;
	top: 14vh;
	bottom: 14vh;
	width: 250px;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 1;
}

aside img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	border-radius: 24px;
}

.aside-left {
	left: 4vh;
}

.aside-right {
	right: 4vh;
}

html {
	scroll-behavior: smooth;
}

body {
	width: 100%;
	margin: auto;
	max-width: 750px;
	overflow-x: hidden;
	transition: opacity 0.2s ease-in;
	font-family: var(--font-family);
	background-color: var(--primary-bg-color);
}

body.body-hidden {
	opacity: 0;
}

nav {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	background-color: var(--primary-bg-color);
	box-shadow: 0 -2px 6px var(--primary-box-shadow-color);
	z-index: 998;
}

nav a {
	text-decoration: none;
	padding: 1.5rem 0;
	height: 100%;
	transition: color 0.3s ease-in;
	font-weight: 550;
	font-size: 0.7rem;
	color: var(--primary-btn-color);
}

.beat-anim {
	animation: beat 3s infinite;
	transform-origin: center;
}

@keyframes beat {
	0% {
		transform: scale(1);
		background-color: var(--secondary-bg-color);
	}
	20% {
		transform: scale(1.05);
		background-color: var(--quaternary-bg-color);
	}
	40% {
		transform: scale(1);
		background-color: var(--secondary-bg-color);
	}
	60% {
		transform: scale(1.05);
		background-color: var(--quaternary-bg-color);
	}
	80% {
		transform: scale(1);
		background-color: var(--secondary-bg-color);
	}
	100% {
		transform: scale(1);
		background-color: var(--secondary-bg-color);
	}
}

nav a:hover,
footer a:hover {
	color: var(--primary-btn-color-hover);
}

@media (hover: none) {
	nav a:hover,
	footer a:hover {
		color: var(--primary-text-color);
	}
}

nav ul {
	display: flex;
	flex-direction: row;
	list-style: none;
	align-items: center;
	justify-content: space-around;
	width: 100%;
	max-width: 550px;
	margin: auto;
	height: 100%;
}

nav ul li {
	height: 100%;
	display: flex;
}

nav span {
	font-size: 0.7rem;
	font-weight: 550;
	cursor: pointer;
}

nav img {
	width: 32px;
	cursor: pointer;
	background-color: var(--secondary-bg-color);
	border-radius: 50%;
	padding: 0.5rem;
}

nav .secondary-btn {
	color: var(--primary-text-color);
}

nav .secondary-btn-active {
	color: var(--primary-btn-color);
	border-top: 3px solid var(--primary-btn-color);
}

img {
	width: 100%;
}

.dot {
	font-size: 0.5rem;
	height: 100%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0;
}

.hr-projects {
	margin-top: -0.5rem;
}

.hr-footer {
	margin: 1.5rem auto;
}

.primary-btn {
	background-color: var(--primary-btn-color);
	color: var(--primary-bg-color);
	padding: 0.5rem;
	border-radius: var(--primary-border-radius);
	font-size: 0.7rem;
	border: none;
	cursor: pointer;
	transition: background 0.3s ease-in;
}

.primary-btn:hover {
	background-color: var(--primary-btn-color-hover);
}
.tertiary-btn {
	border: 1px solid var(--primary-btn-color);
	background-color: var(--primary-bg-color);
	color: var(--primary-btn-color);
	padding: 0.45rem;
	border-radius: var(--primary-border-radius);
	font-size: 0.7rem;
	cursor: pointer;
	transition: background 0.3s ease-in;
	text-decoration: none;
}
footer {
	padding: 0 1.5rem 5rem;
	grid-column: 2/-1;
}

footer ul {
	display: flex;
	list-style: none;
	justify-content: space-between;
	align-items: center;
}

footer li {
	font-size: 0.8rem;
}

footer li:first-child {
	padding-bottom: 0.5rem;
}

footer a,
footer span {
	color: var(--primary-text-color);
}

.training-date h4 {
	font-weight: 400;
	display: flex;
	align-items: center;
	gap: 0.2rem;
}

time {
	font-size: 0.9rem;
	font-weight: 400;
	color: var(--primary-text-color);
}

.modal-notification {
	position: fixed;
	bottom: 12vh;
	right: 3vh;
	width: 80%;
	background-color: var(--tertiary-bg-color);
	border: 1px solid var(--primary-border-color);
	border-radius: var(--primary-border-radius);
	padding: 1rem;
	max-width: 300px;
	transform: translateY(150%);
	transition: transform 0.3s ease-in;
}

.modal-notification h5 {
	background-color: var(--tertiary-bg-color);
	padding-bottom: 0.5rem;
}
.modal-notification small {
	text-align: justify;
}

.modal-notification-active {
	transform: translateY(0);
}

.email-send-modal {
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background-color: var(--primary-bg-color-50);
	z-index: 999;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	backdrop-filter: blur(2px);
	-webkit-backdrop-filter: blur(2px);
}

.email-send-modal h4 {
	background-color: var(--tertiary-bg-color);
}

.email-send-modal form {
	background-color: var(--tertiary-bg-color);
	display: flex;
	flex-direction: column;
	padding: 1.5rem;
	border-radius: var(--primary-border-radius);
	width: 90%;
	max-width: 400px;
	gap: 1rem;
	/* border: 1px solid var(--primary-border-color); */
	padding-bottom: 2rem;
}
.email-send-modal h3 {
	background-color: transparent;
	margin-top: 0.5re m;
}

.email-send-modal h4 {
	color: var(--primary-text-color);
	margin-bottom: -0.6rem;
}

.email-send-modal h3 {
	color: var(--primary-title-color);
}

.curriculum-text-email {
	text-align: justify;
}

.politics-list {
	color: var(--primary-text-color);
	font-size: 0.8rem;
	text-align: justify;
	padding-left: 1rem;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.curriculum-message {
	text-align: justify;
}

.get-curriculum-btn-desktop {
	display: none;
}

.get-curriculum-btn-mobile {
	margin: auto;
	display: flex;
	margin-bottom: 1.5rem;
}

.email-send-modal input,
.email-send-modal textarea {
	border-radius: var(--primary-border-radius);
	border: 1px solid var(--primary-border-color);
	background-color: var(--primary-bg-color);
	color: var(--primary-text-color);
	padding: 1rem;
}

.email-send-modal input:focus,
.email-send-modal textarea:focus {
	outline: 2px solid var(--primary-btn-color);
	border: 1px solid transparent;
}

.email-send-modal input[type='submit'],
.email-send-modal input[type='button'] {
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	padding-left: 1rem;
	padding-right: 1rem;
	cursor: pointer;
	outline: none;
	border: 1px solid var(--primary-border-color);
	font-weight: 400;
	width: 100px;
}

.email-send-modal input[type='submit'] {
	background-color: var(--primary-btn-color);
	border: none;
	color: var(--primary-bg-color);
	transition: background 0.3s ease-in;
}
.email-send-modal input[type='submit']:hover {
	background-color: var(--primary-btn-color-hover);
}

.email-send-modal .group-btn {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}

textarea {
	resize: none;
}

.hidden {
	display: none;
}

@media screen and (min-width: 500px) {
	.get-curriculum-btn-desktop {
		display: inline-block;
		margin-right: 0.5rem;
	}

	.get-curriculum-btn-mobile {
		display: none;
	}
}

@media screen and (min-width: 800px) {
	footer {
		padding-left: 0;
		padding-right: 0;
	}
	nav .secondary-btn,
	nav ul span {
		font-size: 0.9rem;
	}
	nav img {
		padding: 0.5rem;
		width: 36px;
	}
}

@media screen and (min-width: 1080px) {
	nav {
		position: sticky;
		top: 0;
		height: fit-content;
		grid-column: 1/-1;
		border: none;
		box-shadow: none;
	}

	.modal-notification {
		bottom: 2vh;
	}

	nav a {
		font-size: 0.8rem;
	}

	nav span {
		font-size: 0.8rem;
	}

	nav .secondary-btn-active {
		border: none;
	}

	footer {
		padding-bottom: 1.5rem;
	}
}
