@charset "utf-8";

<style>
@import 'https://fonts.googleapis.com/css?family=Exo+2:100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i';
</style> 


/*

1º:
reglas generales comunes a todos los dispositivos

*/

* {
    /* selector universal */
    box-sizing: border-box;
    /* para que el ancho de todas las etiquetas
        tomen como referencia el borde de las mismas
        y NO el contenido, como viene por defecto  */
    list-style: none;
    margin: 0;
    padding: 0;
}


body {

    margin: 0;
    padding: 0;
    background-color: #08b5f2;
    background: #08b5f2 url('img/fondo.png');
    color: #ffffff;
    font-family: 'Exo 2', sans-serif;
}
    
    
header { 
    text-align: center;
}


div.galeria {
    margin: 5px;
    background-color: rgba(0, 0, 0, 0.79);
    float: left;
    width: 180px;
    align-items: center;
    flex-wrap: wrap;
}


div.introduccion {
  margin:1px;
    background-color: rgba(8, 181, 242, 0.86);
    align-items: center;
    text-align: center;
   
}


div.galeria2 {
    margin: 5px;
    background-color: rgba(0, 0, 0, 0.79);
    float: left;
   
    align-items: center;
    flex-wrap: wrap;
} 

.image {

position: relative;

width: 100%; /* for IE 6 */

}

h1 {

position: absolute;
top: 245px;
left: 0;
width: 100%;
}


h1 span {

color: white;
letter-spacing: -1px;
background: rgb(0, 0, 0);
background: rgba(8, 181, 242, 0.67);
padding: 10px;

}



titulo h1 {
padding: 10px;
letter-spacing: -1px;
background: rgb(0, 0, 0);
background: rgba(8, 181, 242, 0.67);
font-size: 16pt;

}



h4 span {

color: white;
letter-spacing: -1px;
background: rgb(0, 0, 0);
background: rgba(8, 181, 242, 0.67);
padding: 10px;

}




div.galeria:hover {
    background-color: rgba(26, 95, 255, 0.83);
}

div.galeria img {
    width: 100%;
    height: auto;
}

div.desc {
    padding: 15px;
    text-align: center;
     align-items: center;
}

div.desc1 {
    text-align: center;
     align-items: center;
  
}


    div.desc1 h6 {
      
margin-bottom: -15px;
     
    }



div.cursos {
flex-wrap: wrap;
    margin-left: 20px;
}


div.curso1 {
flex-wrap: wrap;
    
}


a {
    text-decoration: none;
}


h3 {
    color: white;
    border-bottom: dotted 1px white;
    margin-bottom: 0.5em;
    margin-top: 0.5em;
    font-size: 11pt;
    font-weight: 400;
}


h2 {
    color: white;
    margin-bottom: 0.5em;
    margin-top: 0.5em;
    font-size: 10pt;
    font-weight: 700;
    text-transform:uppercase;
}


h5 {
    color: white;
    margin-bottom: 0.3em;
    margin-top: 0.1em;
    font-size: 17pt;
    font-weight: 500;
    background: rgb(0, 0, 0);
background: rgba(8, 181, 242, 0.67);
    padding: 10px;


}

h6 {
color: rgba(8, 181, 242, 0.94);
    text-transform: uppercase;
   
  
}


p {
    padding-bottom: 1em;
    max-width: 35em;
    text-align: left;
}



article figure {
    border-radius: 50%;
    overflow: hidden;
    max-width: 50vw;
    margin: 1em auto;
    box-shadow: 0 0.35em 0.5em 0 rgba(0, 0, 0, 0.2);
}


.cabecera {
    background-color: black;
    height: 70px;
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;

}



figure>img,
#logo>img {
    display: block
}

article>*:not(h2) {
    text-align: center;
}

contenedor {
    background-color: white;
    box-shadow: 0 0 0 1em rgba(0, 0, 0, 0.08);
    margin: auto;
    max-width: 75em;
    min-height: 100vh;
    width: 90vw;
    align-items: center;
}

.botonera { 
margin-right: 25pt;}



#logo {
   
   
    
    font-size: 2em;
    text-align: center;
    width: 3em;
    display: inline-block;
    padding: 0.3em;
}

.btn {
  border-width: 0;
  border-radius: 50px;
       padding: 0.7rem;
}

.btn.btn-primary {
  background: #1A5FFF; 
    text-decoration: none;
    width:auto;
    color:#ffffff;
    padding:0.6rem;
    font-family: 'Exo 2', sans-serif;
    font-weight: 500;
    
 
  
}
.btn.btn-primary:hover,
.btn.btn-primary:focus {
  background:#000000;
}


ul li a {
text-decoration: none;
    list-style: none;
}

ul {
text-decoration: none;
    list-style: none;
}


 nav ul li a  {
color: #ffffff;
    font-size: 1.2rem;
    text-decoration: none;
    background-color: #000000; 
    text-align: center;
    font-family: 'Exo 2', sans-serif;
    text-transform: uppercase;
    font-weight: 500;
     margin-top: 15pt;
     height: 45pt;
width: 100%;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
padding: 0;
flex-wrap: wrap;
    margin-right: 25pt;
    

}






nav ul li a:hover {
    background-color: #ffffff;
    color: #000000;
}



main,
aside {
    padding: 0.5em;
}

article {
    margin-bottom: 1em;
}

aside {
    background-color: lightcoral;
}

section {
    background-color: rgba(255, 255, 255, 0.5);
    padding: 0.5em;
}

footer p {
    color: #ccc;
}







/*
FORMULARIOOOOO
*/

form{
	max-width: 24em;
     font-family: 'Exo 2', sans-serif;
   padding: 20px;
}

form *:not(label):not(div){
	background-color: lightblue;	
	margin:0;
	padding:0;
	width:100%;
	padding: 0.4em;
	border: 0;
	border-radius: 0.5em;
	box-shadow: 0  0 3px rgba(2, 71, 165, 0.66); 
     font-family: 'Exo 2', sans-serif;
}

/*
input {
    AQUI estilos para todos los inputs
}

input:not([type="radio"]):not([type="checkbox"]) {
    aqui estilos para todos los inputs excepto los radio y los checkbox
}
*/

label{
	display:block;
	margin: 1em 0 0.5em 0;
	font-size: 0.9em;
     font-family: 'Exo 2', sans-serif;
}

input, select{
	background-color: lightblue;
}

input[type="text"] {
    background-color: #92b6e6;
}

input[type="submit"] {
	color: white;
	font-weight: 700;
    background-color: #002190;
}

input[placeholder], [placeholder], *[placeholder] {
   color: #ffffff;
}

*::-webkit-input-placeholder {
    /* Google Chrome y Safari */
    color: #ffffff;
}
*:-moz-placeholder {
    /* Firefox anterior a 19 */
    color: #ffffff;
}
*::-moz-placeholder {
    /* Firefox 19 y superior */
    color: #ffffff;
}
*:-ms-input-placeholder {
    /* Internet Explorer 10 y superior */
    color: #ffffff;
}

:required:focus {
	font-weight: bold;
	color: white;
	font-size: 1.1em;
  	box-shadow: 0  0 3px rgba(255,0,0,0.5); 
}

/*

.horario label, .cursos label{
	display: block;
	width: 12em;
}

.horario input, .cursos input{
	display: inline;
	width: 1em;
}

*/

form div input{
	display: inline;
	width: 1em;
	margin: 1em;
}

form div label{
	margin-bottom: 1.3em;
}

.horario, .cursos{
	display: flex;
	align-items: center;
}























/*

2º:
layout usando "flexbox" para celulares

*/

#contenedor {
    /*  usaremos el contenedor
        como caja "padre" flexible
    	para que el pié quede abajo
        aun con poco contenido */
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    /*  indicaremos que el eje principal
        de la caja flexible
        sea la vertical   */
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    /*  indicaremos que los elementos "hijos" 
        del contenedor se separen
    	para que el pié quede siempre abajo
        aun con poco contenido en la página */
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

header,
footer {
    /*  flex resume 3 propiedades para los items:
        flex-grow (si se les permite crecer)
        flex-shrink (si se les permite achicar)
        flex-basis (medida según el eje ppal del flex)
        
        indicamos que el encabezado y el pié
        no "crezcan", pero que puedan "achicarse"
        si fuera necesario */
    -webkit-box-flex: 0;
    -webkit-flex: 0 1 auto;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto;
}

.contenidos {
    /* como caja contenedora flex */
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    /*  indicaremos que el eje principal
        de la caja flexible
        sea la vertical   */
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    /*  indicaremos que los elementos "hijos" 
        de "contenidos" se separen
    	para que el aside quede siempre abajo
        aun con poco contenido en la página */
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    /*  como "hijo" de "contenedor", que es una caja flexible
        le indicamos que se achique o se agrande
        si fuera necesario, para que ocupe toda la pantalla*/
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
}


/****************************************

             3º: mediaqueries
 
(cambios en el layout en la medida en que
la ventana del navegador se va ensanchando)

*****************************************/


/* a partir de 320px */

@media screen and (min-width:20em) {
    nav ul {
        /*  para que sea horizontal
            definimos la lista menú
            como caja flexible */
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
    }
    nav ul li {
        /*  para que el menú se extienda a lo ancho
            definimos que sus "hijos" puedan crecer o achicarse */
        -webkit-box-flex: 1;
        -webkit-flex: 1;
        -ms-flex: 1;
        flex: 1;
    }
}


/* a partir de 480px */

@media screen and (min-width:30em) {
    header {
        /*  para que el menu horizontal
            quede al lado del logo
            definimos el encabezado
            como caja flexible */
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        /*  indicamos que el logo se vaya 
            lo más a la izquierda posible
            y el menu, lo más a la derecha posible */
        -webkit-box-pack: justify;
        -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
        justify-content: space-between;
        /*  indicamos que los "hijos del encabezados
            estén centrados verticalmente */
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
    }
    nav {
        margin: 0;
        /*  indicamos que el menú mida
            todo el ancho MENOS 8em
            para que quepa el logo a la izquierda */
        -webkit-flex-basis: calc( 100% - 8em);
        -ms-flex-preferred-size: calc( 100% - 8em);
        flex-basis: calc( 100% - 8em);
    }
    article {
        /* como caja contenedora flex */
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        /*  en caso de ser necesario,
            los "hijos" de article pueden
            bajar a la siguiente línea de "hijos" */
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        /*  indicamos que los "hijos" de article
            se alineen en el inicio
            según el eje secundario (vertical) */
        -webkit-box-align: start;
        -webkit-align-items: flex-start;
        -ms-flex-align: start;
        align-items: flex-start;
        margin-right: -70px;
    }
    article>h2 {
        width: 100%;
    }
    article>*:not(h2) {
        text-align: center;
       align-content: center;
        margin-left: 40px;
        
    }
    article>figure {
        max-width: 25%;
        margin: 0 1em 0.5em 0;
    }
    article>p {
        max-width: 70%;
        text-align: center;
    }
    

    
}


/* a partir de 640px */

@media screen and (min-width:40em) {
    main {
        /* como caja contenedora flex */
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -webkit-flex-direction: row;
        -ms-flex-direction: row;
        flex-direction: row;
        -webkit-box-align: baseline;
        -webkit-align-items: baseline;
        -ms-flex-align: baseline;
        align-items: baseline;
        /*  como "hijo" de caja contenedora flex,
            se estira para ocupar toda la caja "padre" */
        -webkit-box-flex: 1;
        -webkit-flex: 1;
        -ms-flex: 1;
        flex: 1;
    }
    main article {
        width: 50%;
        display: block;
        text-align: center;
    }
    article>*:not(h2) {
        text-align: center
    }
    article>figure {
        max-width: 50%;
        margin: 1em auto;
    }
    article>p {
        max-width: 90%;
        margin: auto;
    }
    aside {
        /* como caja contenedora flex */
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
    }
    section {
        /*  como "hijo" de caja contenedora flex,
            se estira para ocupar la mitad de la caja "padre" */
        -webkit-box-flex: 1;
        -webkit-flex: 1 1 50%;
        -ms-flex: 1 1 50%;
        flex: 1 1 50%;
    }
}


/* a partir de 800px */

@media screen and (min-width:50em) {
    .contenidos {
        /*  indicaremos que el eje principal
            de la caja flexible cambie
            a la horizontal   */
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -webkit-flex-direction: row;
        -ms-flex-direction: row;
        flex-direction: row;
    }
    aside {
        /*  indicaremos que el eje principal
            de la caja flexible cambie
            a la vertical   */
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        /*  como "hijo" de caja flex "contenidos",
            indicamos ocupar 30% de la caja "padre"
            sin posibilidad de agrandarse ni achicarse */
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 30%;
        -ms-flex: 0 0 30%;
        flex: 0 0 30%;
    }
    section {
        /*  como "hijo" de caja flex aside,
            indicamos INposibilidad de agrandarse o achicarse */
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
    }
}