* {
	box-sizing: border-box;
}

html {
	font-size: 20px;
	scroll-behavior: smooth;
	scroll-padding-top: 64px;
}

@font-face {
    font-family: "Roboto";
    src: url('font/Roboto.ttf') format('truetype');
}

@font-face {
    font-family: "OpenSans";
    src: url('font/OpenSans.ttf') format('truetype');
}

body {
	position: relative;
	margin: 0px 0px 0px 0px;
	background: rgba(0, 0, 0, 1.00);
	color: rgba(255, 255, 255, 1.00);
	font-family: "Roboto", "OpenSans", sans-serif;
	font-size: 1.0rem;
	font-weight: 400;
	line-height: 1.43;
	letter-spacing: 0.01071em;
	user-select: none;
	overflow-x: hidden;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}

canvas {
	display: block;
	width: 100%;
	height: 100%;
}

p {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
}

a {
	text-decoration: none;
}

.enlace-azul {
	color: rgba(0, 160, 255, 1.00);
}

.enlace-morado {
	color: rgba(255, 0, 128, 1.00);
}

strong {
	font-weight: 600;
}

.header {
    width: 100%;
    height: 64px;
    background-color: rgba(0, 0, 0, 1.00);
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
}

.left-section {
    display: flex;
    align-items: center;
    gap: 20px;
    padding-left: 10px;
}

.escena {
    width: 48px;
    height: 48px;
}

.top-link {
    color: rgba(255, 255, 255, 1.00);
    text-decoration: none;
	font-size: 1.5rem;
}

.right-section {
	display: flex;	
    align-items: center;
	height: 100%;
}

.right-section a:hover {
	color: rgba(255, 255, 255, 1.00);
} 

.right-section-azul:hover {
	background-color: rgba(0, 112, 225, 1.00);
}

.right-section-morado:hover {
	background-color: rgba(225, 0, 112, 1.00);
}

.section-link {
	display: flex;
    color: rgba(255, 255, 255, 1.00);
    text-decoration: none;
	font-size: 0.85rem;
	height: 100%;
	align-items: center;
	transition: background-color 0.3s ease; 
	padding: 0px 20px 0px 20px;
}

.menu-icon {
    display: none;
	cursor: pointer;
}

.menu-icon img {
    height: 48px;
    width: 48px;
    display: block;
}

@media (max-width: 768px) {
    .right-section {
        display: none;
    }
    
    .menu-icon {
        display: block;
        margin-right: 10px;
    }
}

.menu {
	z-index: 1001;
    display: none;
    position: fixed;
    top: 64px;
    left: 0;
    width: 100%;
    background-color: rgba(0, 0, 0, 1.00);
	text-align: center;
}

.menu-link {
	display: block;
    color: rgba(255, 255, 255, 1.00);
    text-decoration: none;
    font-size: 1.00rem;
	transition: background-color 0.3s ease; 
    padding: 20px 0px 20px 0px;
}

.menu-link:hover {
	color: rgba(255, 255, 255, 1.00);
}

.menu-link-azul:hover {
	background-color: rgba(0, 112, 225, 1.00);
}

.menu-link-morado:hover {
	background-color: rgba(225, 0, 112, 1.00);
}

main {
	position: relative;
	overflow-x: hidden;
}

#particles-container {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
}

.particles-container-azul {
	background: linear-gradient(180deg, rgba(0, 0, 16, 1.00) 0%, rgba(0, 48, 128, 1.00) 50%, rgba(0, 160, 255, 1.00) 100%);
}

.particles-container-morado {
	background: linear-gradient(180deg, rgba(0, 0, 0, 1.00) 0%, rgba(112, 56, 225, 1.00) 66%, rgba(192, 64, 255, 1.00) 100%);
}

.particle {
	position: absolute;
	background-size: cover;
	transform-origin: center;
}

#seccion-portada {
	position: relative;
}

.portada {
	min-height: 100vh;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	text-align: center;
}

.perfil {
	max-width: 50%;
    max-height: 50vh;
    width: auto;
    height: auto;
	filter: drop-shadow(0px 15px 30px rgba(0, 0, 0, 0.75));
}

.cinta-01, .cinta-02, .cinta-03, .cinta-04 {
	width: 110%;
	position: absolute;
	left: -5%;
	overflow: hidden;
	z-index: 900;
	transform-origin: center;
}

.cinta-01 {
	top: 5%;
}

.cinta-02 {
	top: 90%;
}

.cinta-03 {
	top: 90%;
}

.cinta-04 {
	top: 97.5%;
}

.cinta-azul {	
	background-color: rgba(105, 198, 241, 1.00);
}

.cinta-morado {
	background-color: rgba(250, 123, 212, 1.00);
}

.cinta-azul-alt {	
	background-color: rgba(250, 123, 212, 1.00);
}

.cinta-morado-alt {
	background-color: rgba(105, 198, 241, 1.00);
}

.cinta-01 p, .cinta-02 p, .cinta-03 p, .cinta-04 p {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	margin: 0px 0px 0px 0px;
	color: rgba(255, 255, 255, 1.00);
	width: 100%;
	padding: 0px 20px 0px 20px;
	box-sizing: border-box;
	white-space: nowrap;
	overflow: hidden;
}	

.seccion {
	background: rgba(255, 255, 255, 1.00);
	color: rgba(0, 0, 0, 1.00);
	padding: 0px 0px 0px 0px;
}

.seccion-titulo {
	padding: 40px 0px 40px 0px;
	color: rgba(255, 255, 255, 1.00);
	display: flex;
	align-items: center;
	flex-direction: column;
}

.seccion-titulo h2 {
	margin: 0px 0px 0px 0px;
	font-size: 2.0rem;
	font-weight: 400;
	line-height: 1.235;
	letter-spacing: .00735em;
}

.sobre-mi {
	width: 100%;
	max-width: 1280px;
	padding: 40px 40px 40px 40px;
	margin: auto;
}

#sobre-mi-saludo-01, 
#sobre-mi-saludo-02, 
#sobre-mi-saludo-03,
#sobre-mi-saludo-04, 
#sobre-mi-saludo-05, 
#sobre-mi-saludo-06,
#sobre-mi-saludo-07, 
#sobre-mi-saludo-08, 
#sobre-mi-saludo-09,
#sobre-mi-saludo-10, 
#sobre-mi-saludo-11, 
#sobre-mi-saludo-12,
#sobre-mi-saludo-13, 
#sobre-mi-saludo-14, 
#sobre-mi-saludo-15,
#sobre-mi-saludo-16 {
	display: inline-block;
	font-size: 1.0rem;
	margin: 0;
}

.sobre-mi-saludo {
	display: inline-block;
	font-size: 2.0rem;
	margin: 0;
}

.sobre-mi-saludo-01-azul {
	color: rgba(219, 241, 255, 1.00);
}

.sobre-mi-saludo-02-azul {
	color: rgba(182, 228, 255, 1.00);
}

.sobre-mi-saludo-03-azul {
	color: rgba(146, 214, 255, 1.00);
}

.sobre-mi-saludo-04-azul {
	color: rgba(109, 201, 255, 1.00);
}

.sobre-mi-saludo-05-azul {
	color: rgba(73, 187, 255, 1.00);
}

.sobre-mi-saludo-06-azul {
	color: rgba(36, 174, 255, 1.00);
}

.sobre-mi-saludo-07-azul {
	color: rgba(0, 160, 255, 1.00);
}

.sobre-mi-saludo-08-azul {
	color: rgba(0, 160, 255, 1.00);
}

.sobre-mi-saludo-09-azul {
	color: rgba(28, 171, 255, 1.00);
}

.sobre-mi-saludo-10-azul {
	color: rgba(57, 181, 255, 1.00);
}

.sobre-mi-saludo-11-azul {
	color: rgba(85, 192, 255, 1.00);
}

.sobre-mi-saludo-12-azul {
	color: rgba(113, 202, 255, 1.00);
}

.sobre-mi-saludo-13-azul {
	color: rgba(142, 213, 255, 1.00);
}

.sobre-mi-saludo-14-azul {
	color: rgba(170, 223, 255, 1.00);
}

.sobre-mi-saludo-15-azul {
	color: rgba(198, 234, 255, 1.00);
}

.sobre-mi-saludo-16-azul {
	color: rgba(227, 244, 255, 1.00);
}

.sobre-mi-saludo-01-morado {
	color: rgba(255, 219, 237, 1.00);
}

.sobre-mi-saludo-02-morado {
	color: rgba(255, 182, 219, 1.00);
}

.sobre-mi-saludo-03-morado {
	color: rgba(255, 146, 201, 1.00);
}

.sobre-mi-saludo-04-morado {
	color: rgba(255, 109, 182, 1.00);
}

.sobre-mi-saludo-05-morado {
	color: rgba(255, 73, 164, 1.00);
}

.sobre-mi-saludo-06-morado {
	color: rgba(255, 36, 146, 1.00);
}

.sobre-mi-saludo-07-morado {
	color: rgba(255, 0, 128, 1.00);
}

.sobre-mi-saludo-08-morado {
	color: rgba(255, 0, 128, 1.00);
}

.sobre-mi-saludo-09-morado {
	color: rgba(255, 28, 142, 1.00);
}

.sobre-mi-saludo-10-morado {
	color: rgba(255, 57, 156, 1.00);
}

.sobre-mi-saludo-11-morado {
	color: rgba(255, 85, 170, 1.00);
}

.sobre-mi-saludo-12-morado {
	color: rgba(255, 113, 184, 1.00);
}

.sobre-mi-saludo-13-morado {
	color: rgba(255, 142, 199, 1.00);
}

.sobre-mi-saludo-14-morado {
	color: rgba(255, 170, 213, 1.00);
}

.sobre-mi-saludo-15-morado {
	color: rgba(255, 198, 227, 1.00);
}

.sobre-mi-saludo-16-morado {
	color: rgba(255, 227, 241, 1.00);
}

.parrafo {
	font-size: 0;
	border-bottom: 10px;
}

.skill {
	display: inline-block;
	color: rgba(255, 255, 255, 1.00);
	border-radius: 4px;
	font-size: 0.66rem;
	font-weight: bold;
	padding: 5px 10px 5px 10px;
	margin: 0px 5px 5px 0px;
}

#skill-java-android {
	background-color: rgba(83, 130, 161, 1.00);
}

#skill-cs {
	background-color: rgba(54, 0, 146, 1.00);
}

#skill-cpp {
	background-color: rgba(0, 87, 157, 1.00);
}

#skill-java {
	background-color: rgba(83, 130, 161, 1.00);
}

#skill-html5 {
	background-color: rgba(229, 76, 33, 1.00);
}

#skill-css3 {
	background-color: rgba(33, 76, 229, 1.00);
}

#skill-javascript {
	background-color: rgba(50, 51, 48, 1.00);
}

#skill-mysql {
	background-color: rgba(0, 117, 143, 1.00);
}

#skill-sqlite {
	background-color: rgba(4, 74, 100, 1.00);
}

#skill-android-studio {
	background-color: rgba(102, 153, 51, 1.00);
}

#skill-visual-studio {
	background-color: rgba(0, 120, 215, 1.00);
}

#skill-eclipse {
	background-color: rgba(68, 53, 131, 1.00);
}

.link-desactivado {
    opacity: 0.5;
}

#proyecto-01 {
	padding: 0px 0px 0px 0px;
}

.proyecto-01-azul {
	/* background: linear-gradient(180deg, rgba(29, 157, 216, 1.00) 0%, rgba(0, 128, 204, 1.00) 100%); */
	background: linear-gradient(180deg, rgba(105, 198, 241, 1.00) 0%, rgba(0, 128, 204, 1.00) 100%);
}

.proyecto-01-morado {
	/* background: linear-gradient(180deg, rgba(235, 108, 165, 1.00) 0%, rgba(233, 80, 152, 1.00) 100%); */
	background: linear-gradient(180deg, rgba(250, 123, 212, 1.00) 0%, rgba(233, 80, 152, 1.00) 100%);
}

#proyecto-02 {
	padding: 0px 0px 0px 0px;
}

.proyecto-02-azul {
	/* background: linear-gradient(180deg, rgba(235, 108, 165, 1.00) 0%, rgba(233, 80, 152, 1.00) 100%); */
	background: linear-gradient(180deg, rgba(250, 123, 212, 1.00) 0%, rgba(233, 80, 152, 1.00) 100%);
}

.proyecto-02-morado {
	/* background: linear-gradient(180deg, rgba(29, 157, 216, 1.00) 0%, rgba(0, 128, 204, 1.00) 100%); */
	background: linear-gradient(180deg, rgba(105, 198, 241, 1.00) 0%, rgba(0, 128, 204, 1.00) 100%);
}

.proyecto {
	display: grid;
	grid-template-columns: 4fr 7fr;
	width: 100%;
	max-width: 1280px;
	margin: auto;
	overflow: hidden;
}

.proyecto-alt {
	display: grid;
	grid-template-columns: 7fr 4fr;
	width: 100%;
	max-width: 1280px;
	margin: auto;
	overflow: hidden;
}

.proyecto-imagen {
	padding: 20px 0px 20px 20px;
}

.proyecto-alt-imagen {
	padding: 20px 20px 20px 0px;
}

.proyecto-imagen-01 {
	width: 100%;
	height: auto;
	max-height: 100%;
	object-fit: cover;
	transition: transform 0.25s ease;
}

.proyecto-imagen-02 {
	width: 100%;
	height: auto;
	max-height: 100%;
	object-fit: cover;
	transition: transform 0.25s ease;
}

.proyecto-centro {
	display: grid;
	grid-template-columns: 6fr 1fr;
}

.proyecto-alt-centro {
	display: grid;
	grid-template-columns: 1fr 6fr;
}

.proyecto-centro-contenido {
	padding: 10px 30px 40px 20px;
	color: rgba(255, 255, 255, 1.00);
}

.proyecto-alt-centro-contenido {
	padding: 10px 20px 40px 30px;
	color: rgba(255, 255, 255, 1.00);
}

.justificado {
	text-align: justify;
}

@font-face {
    font-family: "Themadi";
    src: url('font/Themadi.ttf') format('truetype');
}

.proyecto-centro-numero {
	font-family: "Themadi", sans-serif;
	font-size: 7.0rem;
	color: rgba(255, 255, 255, 0.25);
	padding: 40px 30px 40px 0px;
	text-align: center;
}

.proyecto-alt-centro-numero {
	font-family: "Themadi", sans-serif;
	font-size: 7.0rem;
	color: rgba(255, 255, 255, 0.25);
	padding: 40px 0px 40px 30px;
	text-align: center;
}

@media (max-width: 768px) {
    .proyecto,
    .proyecto-alt {
        display: flex;
        flex-direction: column;
    }

	.proyecto-imagen {
		order: -1;
		padding: 20px 10px 0px 10px
	}

	.proyecto-alt-imagen {
		order: -1;
		padding: 20px 10px 0px 10px;
	}
	
    .proyecto-centro, 
	.proyecto-alt-centro {
        order: 1;
    }
	
	.proyecto-centro-contenido {
		padding: 0px 30px 40px 40px;
	}

	.proyecto-alt-centro-contenido {
		padding: 0px 40px 40px 30px;
	}
}

@media (max-width: 480px) {
	.proyecto-centro-numero {
		font-size: 5rem;
		padding: 30px 30px 40px 0px;
	}
	
	.proyecto-alt-centro-numero {
		font-size: 5rem;
		padding: 30px 0px 40px 30px;
	}
}

.contacto {
	width: 100%;
	max-width: 1280px;
	padding: 40px 40px 40px 40px;
	margin: auto;
}

.contacto-tipo {
    margin-right: 10px;
}

#seccion-apoyo {
  position: relative;
  overflow: hidden;
}

.apoyo {
	width: 100%;
	max-width: 1280px;
	padding: 40px 40px 40px 40px;
	margin: auto;
}

footer {
	position: relative;
    display: flex;
    justify-content: space-between;
    background: rgba(0, 0, 0, 1.00);
    padding: 10px;
    font-size: 0.75rem;
	padding: 10px 20px 10px 20px;
	z-index: 1000;
}

.pie-izquierdo {
	text-align: left;
}

.pie-derecho {
	text-align: right;
}