/*
------------------------------------------------------------------------
REGLAS GENERALES
------------------------------------------------------------------------
*/

@charset "utf-8";

* {
	margin: 0;
	padding: 0;
	border: 0;
	box-sizing: border-box;
	font-family: "Roboto", sans-serif;
}

/* ----------- body ----------- */

body {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

img {
	max-width: 100%;
	height: auto;
}


header,
footer {
	background-color: #0C77B3;
}

.encabezado,
footer > p,
main {
	max-width: 40rem;
	margin: 0 auto;
	padding: 1em;
}

main {
	text-align: center;
	padding: 1.5em 0;
}

/* ----------- body/header ----------- */

.encabezado {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

nav {
	align-items: center;
	width: 100%;
	margin: .5em;
}

nav ul {
	list-style: none;
	padding: .25em;
	display: flex;
	width: 100%;
	margin: .5em;
	justify-content: space-between;
}

nav ul li {
	flex-basis: 24%;
}

nav ul li a {
	background-color: #3BB7FF;
	color: #FEFFFF;
	font-size: 10pt;
	font-weight: bold;
	text-decoration: none;
	display: flex;
	padding: .1em;
	border-radius: .2em 3em;
	box-shadow: 0 .35em .5em rgba(0, 0, 0, .35);
}

li > a {
	justify-content: center;
}

nav ul li a:hover {
	background-color: #FFFFFF;
	color: #0C77B3;
}

/* ----------- body/main/#ro ----------- */
.perfil-ro > img {
	width: 13em;
	height: 13em;
	border-radius: 13em;
	box-shadow: 0 .35em .5em rgba(0, 0, 0, .35);
	margin-bottom: 1em;
}

h1 {
	color: #0C77B3;
	text-align: center;
	font-weight: bold;
	font-size: 26pt;
}

h2 {
	color: #0C77B3;
	text-align: center;
	font-style: italic;
	font-weight: lighter;
	font-size: 14pt;
}

/* ----------- body/main/.links ----------- */

.links {
	display: flex;
	justify-content: center;
	align-content: space-around;
}

.links img {
	width: 3em;
	height: auto;
	margin: 0em 0.4em;
}

/* ----------- body/main/#materias ----------- */

#materias {
	justify-content: center;
	display: flex;
}

#materias ul {
	list-style: none;
}

h3 {
	color: #FFFFFF;
	text-align: center;
	font-weight: bold;
	font-style: italic;
	font-size: 14pt;
	border-bottom: solid .02em #FFFFFF;
	padding-bottom: .3em;
}

#materias li {
	color: #FFFFFF;
	text-align: left;
	font-weight: lighter;
	font-size: 12pt;
	margin: auto;
	padding: .5em;
}

.encurso {
	align-self: stretch;
}


.aprobadas,
.encurso {
	background-color: #0C77B3;
	border-radius: 2em;
	padding: 1.5em;
	margin: 1em;
	width: 18em;
	height: auto;
	box-shadow: 0 .35em .5em rgba(0, 0, 0, .35);
}

/* ----------- body/main/#integrantes ----------- */



#integrantes ul {
	display: flex;
	justify-content: center;
}

#integrantes li {
	align-items: center;
	display: flex;
	flex-direction: column;
	padding: 1em;
	margin: .5em;
}

#integrantes li > a {
	background-color: #FFAC3D;
	color: #FEFFFF;
	font-size: 10pt;
	font-weight: bold;
	text-decoration: none;
	display: flex;
	padding: .5em;
	margin: .2em;
	border-radius: .2em 1.5em;
	box-shadow: 0 .35em .5em rgba(0, 0, 0, .35);
}

#integrantes h4 {
	background-color: #FFAC3D;
	color: #FEFFFF;
	text-align: center;
	margin: .5em .5em;
	font-size: 14pt;
	font-stretch: condensed;
	border: solid .1em #FFAC3D;
	padding: .3em 0;
	border-radius: .2em 3em;
	box-shadow: 0 .35em .5em rgba(0, 0, 0, .35);
}

#integrantes h4:hover {
	background-color: #FFFFFF;
	color: #0C77B3;
}

#integrantes img {
	width: 4em;
	height: 4em;
	border-radius: 2em;
	margin: .2em 0;
	box-shadow: 0 .35em .5em rgba(0, 0, 0, .35);
}

#integrantes ul li a:hover {
	background-color: #FFFFFF;
	color: #0C77B3;
}

/* ----------- body/main/#obligatorio ----------- */

#obligatorio,
#integrantes {
	box-shadow: 0 .35em .5em rgba(0, 0, 0, .35);
	padding: .5em;
	border-radius: 2em;
}

#obligatorio h5 {
	margin: 0 .5em;
	color: #0C77B3;
	font-size: 14pt;
	text-align: left;
	font-stretch: condensed;
	border-bottom: solid .1em #FFAC3D;
	padding-bottom: .3em;
	border-top: solid .1em #FFAC3D;
	padding-top: .3em;
}

#obligatorio ul {
	list-style: none;
}

#obligatorio li {
	margin: 2em .5em;
	color: #0C77B3;
	font-style: normal;
	font-weight: 100;
	font-size: 10pt;
	text-align: left;
	font-stretch: condensed;
	line-height: 1.5em;
	border-bottom: solid .12em #FFAC3D;
	padding: 1em;
	box-shadow: 0 .35em .5em rgba(0, 0, 0, .35);
}

#obligatorio img {
	max-height: 3.9em;
	padding-bottom: .5em;
}

/* ----------- body/footer/.contenidos ----------- */

footer > p {
	color: #FFFFFF;
	font-size: 8pt;
	text-align: center;
	font-weight: 100;
	align-items: center;
}



/*
------------------------------------------------
 "mediaqueries" para diseño multipantalla:
------------------------------------------------
*/


@media (max-width: 40em) {
	#materias ul, #integrantes ul, .links {
		display: none;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}
}

@media (max-width: 35em) {
    
    #materias, #integrantes ul, #obligatorios ul, nav ul  {
        display: none;
        display: flex;
        flex-wrap: wrap;
        flex-basis: 25%;
    }
}

@media (max-width: 23em) {
    
    #materias, #integrantes ul, #obligatorios ul, footer > p  {
        display: none;
        display: flex;
        flex-wrap: wrap;
        flex-basis: 15%;
    }
}