@import url('https://fonts.googleapis.com/css?family=Roboto:300');

:root{
	--color_1: #203236; /* Negro       */
	--color_2: #0bc6f1; /* Azul claro  */
	--color_3: #1A5D88; /* Azul fuerte */
	--color_4: #FFF;    /* Blanco      */
	--color_5: #F49618; /* Naranja     */
	--color_6: #fbf617; /* Amarillo    */
}
/* ============ GENERAL ===== */
	*{
		margin: 0;
		padding: 0;
		box-sizing: border-box;
		font-family: 'Roboto', sans-serif;
	}
	body{	
		display: flex;
		flex-flow: column wrap;
		padding: 0 !important;
	}
	.glass{
		margin-top: 120px;
		width: 100%;
		background: rgba(255, 255, 255, 0.5);
	}
	.linea{
		width: 60%;
		margin: 10px 0;
		content: '';
		border-radius: 50%;
		border: 1.5px solid var(--color_5);
	}
	.titulo{
		padding: 30px 0;
		margin: 0;
		font-family: 'Roboto';
		text-align: center;
		text-transform: uppercase;
		font-size: 2.5em;
		font-weight: bold;
		color: var(--color_6);
		text-shadow: 3px 3px 6px #000;
		position: relative;
		z-index: 2;
	}
	.fondo{
		height: auto;
		background: url("../images/fondo.jpg");
		background-size: cover;
		background-attachment: fixed;
		padding-bottom: 20px;
		box-shadow: 0px 4px 8px #222;
	}
/* ========================== */
/* ============= FRANJA ===== */
	.franja{
		width: 100%;
		height: 40px;
		color: var(--color_4);
		background: var(--color_3);
		display: flex;
		flex-flow: row wrap;
		justify-content: space-around;
		align-items: center;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 9999;
	}
	.franja p{
		font-size: 1.2em;
	}
	.franja a{
		padding: 0 15px;
		text-decoration: none;
		color: var(--color_4);
		font-size: 1.2em;
		transition: all 0.5s;
	}
	.franja a:first-child{border-right: 1px solid #fff;}
	.franja a:last-child{border-left: 1px solid #fff;}
	.franja a:hover{color: var(--color_2);}
/* ========================== */
/* ============= HEADER ===== */
	header, footer{
		width: 100%;
		position: relative;
	}
	header{
		height: 80px;
		margin: 0;
		display: flex;
		flex-flow: row wrap;
		justify-content: space-around;
		align-items: center;
		border-bottom: 5px solid var(--color_5);
		background: var(--color_4);
		position: fixed;
		top: 40px;
		left: 0;
		z-index: 9999;
	}
	header .logo{
		display: flex;
		flex-flow: row wrap;
		justify-content: center;
		align-items: center;
	}
	header .logo>h1{
		font-size: 2.3em;
		font-weight: bold;
		text-transform: uppercase;
		color: var(--color_2);
		text-shadow: 1px 1px 2px var(--color_1);
		margin-left: 30px;
	}
	header img{
		width: auto;
		height: 70px;
	}
/* ========================== */
/* =============== MENU ===== */
	/* --- Ocultamos los elementos responsivos --- */
	.toggle, [id^=drop] {display: none;}
	/* ------------------------------------------- */
	/* ----- Dando un ancho al contenedor nav -----*/
	nav{
	    margin: 0;
	    padding: 0;
	}
	nav ul {
	    padding: 0;
	    margin: 0;
	    list-style: none;
	    display: flex;
	    flex-flow: row wrap;
	}
	nav ul li{padding: 5px;}
	/* ------------------------------------------- */
	/* --------- Estilizando los enlaces --------- */
	nav a {
	    padding: 5px 15px;
	    color: var(--color_1);
	    font-size: 1.2em;
	    text-decoration: none;
	    transition: all 0.5s;
	}
	nav ul li a:hover{ /* Aplicamos estilo a los enlaces de primer nivel en "hover" */
	  color: var(--color_5);
	}
	/* ------------------------------------------- */
/* ========================== */
/* ============= SLIDER ===== */
	#slider{
		width: 100%;
		height: calc(100vh - 110px);
		overflow: hidden;
		border-bottom: 5px solid var(--color_5);
	}
	#slider figure{
		position: relative;
		width: 400%;
		margin: 0;
		left: 0;
		animation: 25s slider infinite;
	}
	#slider figure article{
		margin: 0;
		width: 25%;
		height: auto;
		float: left;
		position: relative;
	}
	#slider figure article img{
		margin: 0;
		padding: 0;
		width: 100%;
	}
	#slider figure article .hero-text{
		width: 300px;
		font-size: 1.1em;
		line-height: 1.5em;
		letter-spacing: 0.03em;
		padding: 10px;
		box-sizing: border-box;
		color: var(--color_4);
		background: rgba(0, 0, 0, 0.3);
		border-radius: 8px;
		position: absolute;
		z-index: 99;
	}
	.hero-pos-left{
		top: 80px;
		left: 80px;
	}
	.hero-pos-right{
		top: 80px;
		right: 80px;
	}

	@keyframes slider{
	 	0%{ left: 0; }
	  	23%{ left: 0; }
	  	28%{ left: -100%; }
	  	57%{ left: -100%; }
	  	62%{ left: -200%; }
	  	90%{ left: -200%; }
	  	95%{ left: -300%; }
	  	100%{ left: -300%; }
	}
/* ========================== */
/* ====== EMBARCACIONES ===== */
	#embarcaciones>p{
		width: 70%;
		margin: 10px auto 30px auto;
		text-align: center;
		font-size: 1.2em;
		line-height: 1.5em;
	}
	.embarcaciones{
		width: 100%;
		display: flex;
		flex-flow: row wrap;
		justify-content: space-around;
	}
	.caja-embarc{
		width: 40%;
		border-radius: 12px;
		box-shadow: 2px 2px 4px #333;
		display: flex;
		flex-flow: column;
		justify-content: center;
	}
	.caja-embarc-img{/* <---------- SLIDE DE IMAGENES */
	    width: 100%;
	    height: auto;
	    margin: 0;
	    padding: 0;
	    border-radius: 12px 12px 0 0;
	    border-bottom: 3px solid var(--color_3);
	}
	.caja-embarc-img img{
		margin: 0;
	    padding: 0;
		width: 100%;
		height: 100%;
		border-radius: 0;
	}/* --------------------------------------------- */
	.caja-embarc-nombre{
		width: 100%;
		margin: 0;
	    padding: 25px 0;
	    font-size: 2em;
	    text-transform: uppercase;
	    letter-spacing: 0.2em;
		text-align: center;
		background: var(--color_5);
		border-radius: 0 0 12px 12px;
	}
/* ========================== */
/* ========== SERVICIOS ===== */
	.servicios{
		width: 100%;
		display: flex;
		flex-flow: row wrap;
		justify-content: space-around;
		align-items: center;
	}
	.servicios li{
		margin: 40px 0;
		background: var(--color_3);
		border-radius: 8px;
		box-shadow: 2px 2px 6px #1f1f1f;
	}
	.servicios a{
		display: block;
		width: 280px;
		padding: 20px 0;
		text-align: center;
		text-decoration: none;
		font-size: 1.4em;
		color: var(--color_4);
		border-radius: 8px;
		transition: all 1s;
	}
	.servicios a:hover, .activate{
		background: var(--color_2);
	}
	.servicios i{
		width: 100%;
		margin-bottom: 10px;
		font-size: 2.5em;
	}
	.bloq-serv{
		display: flex;
		flex-flow: column wrap;
		align-items: center;
	}
	.caja-datos{
		width: 90%;
		height: auto;
		margin: 135px 0;
		padding: 0;
		background: rgba(255, 255, 255, 0.9);
		border-radius: 15px;
		display: flex;
		flex-flow: row;
		border: 2px solid var(--color_1);
	}
	.caja-datos-img{/* <---------- SLIDE DE IMAGENES */
	    width: 600px;
	    height: 450px;
	    margin: 0;
	    padding: 0;
	    border-radius: 12px 0 0 12px;
	}
	.caja-datos-img img{ /* Imágenes de 800 x 600*/
		margin: 0;
	    padding: 0;
		width: 100%;
		height: auto;
		/*border-radius: 12px 0 0 12px;*/
	}/* --------------------------------------------- */
	.caja-datos-info{
		width: calc(100% - 600px);
		height: auto;
		margin: 0;
		padding: 10px;
		box-sizing: border-box;
		display: flex;
		flex-flow: column;
		align-items: center;
	}
	.caja-datos-texto{
		width: 100%;
		height: 375px;
		margin: 0;
		padding: 0;
		display: flex;
		flex-flow: column;
		align-items: center;
		overflow-y: auto;
	}
	.caja-datos-texto::-webkit-scrollbar{
		-webkit-appearance: none;
	}
	.caja-datos-texto::-webkit-scrollbar:vertical {
	    width: 4px;
	}
	.caja-datos-texto::-webkit-scrollbar-thumb {
	    background-color: var(--color_2);
	    border-radius: 20px;
	}
	.caja-datos-texto::-webkit-scrollbar-track {
	    border-radius: 10px;  
	}
	.caja-datos-info h2{
		width: 100%;
		font-size: 2em;
		text-align: center;
		text-transform: uppercase;
	}
	.caja-datos-texto p{
		width: 100%;
		padding-right: 5px;
		text-align: justify;
		line-height: 1.4em;
	}
	.caja-datos-texto ul{
		width: 80%;
		margin: 5px 0;
		list-style: disc;
	}
	.caja-datos-texto li{
		margin: 5px 0;
	}
/* ========================== */
/* ============== AREAS ===== */
	.areas-embarc{
		width: 100%;
		margin: 30px 0;
	}
	.areas-embarc>article{
		width: 100%;
		margin: 0;
		padding: 0;
	}
	.areas-embarc>article{
		display: flex;
		flex-flow: row wrap;
		justify-content: space-around;
		align-items: stretch;
	}
	.areas-embarc>article>img{
		width: auto;
		height: auto;
		border-radius: 20px;
		box-shadow: 4px 4px 6px #000;
	}
	.areas-embarc>article>div{
		width: 80%;
		max-width: 350px;
		padding: 15px;
		box-sizing: border-box;
		background: rgba(255, 255, 255, 0.7);
		border-radius: 12px;
	}
	.areas-embarc>article>div h3{
		font-size: 1.3em;
		font-weight: bold;
		margin-bottom: 15px;
		line-height: 1.2em;
	}
	.areas-embarc>article>div li{
		margin: 10px 0;
		padding: 0 0 2px 10px;
		border-left: 3px solid var(--color_3);
		border-bottom: 1px solid var(--color_3);
	}
/* ========================== */
/* ========== CAPITANES ===== */
	.capitanes{
		padding-bottom: 50px;
		display: flex;
		flex-flow: row wrap;
		justify-content: space-around;
	}
	.capitanes>h2{
		width: 100%;
	}
	.capitanes>p{
		width: 100%;
		box-sizing: border-box;
		padding: 0 20%;
		text-align: center;
		font-size: 1.2em;
		line-height: 1.5em;
	}
	.capitanes>article{
		width: 25%;
		min-width: 300px;
		margin-top: 20px;
		display: flex;
		flex-flow: column wrap;
		align-items: center;
	}
	.capitanes>article img{
		width: 70%;
		border-radius: 50%;
		border: 5px solid var(--color_2);
	}
	.capitanes>article h3{
		width: 100%;
		margin: 15px 0;
		font-size: 1.5em;
		font-weight: 400;
		text-align: center;
		color: var(--color_3);
	}
	.capitanes>article p{
		width: 100%;
		text-align: justify;
		line-height: 1.4em;
	}
/* ========================== */
/* ============ GALERIA ===== */
	.galeria{
		width: 90%;
		margin: 20px auto;
		columns: 6;
	}
	.galeria a{
		width: 100%;
		display: block;
		margin-bottom: 15px;
	}
	.galeria img{
		width: 100%;
		padding: 5px 5px 15px 5px;
		background: var(--color_4);
		box-shadow: 2px 2px 8px #333;
	}
	.galeria img:last-child{
		margin-bottom: 0;
	}
/* ========================== */
/* =========== CONTACTO ===== */ /* <<============= Revisar ===<< */
	.contacto{
		width: 40%;
		margin: 0 auto 50px auto;
		background: var(--color_3);
		display: block;
		padding: 10px;
	}
	.contacto form{
		width: 100%;
		padding: 15px;
		border-radius: 8px;
		box-sizing: border-box;
		display: flex;
		flex-flow: column wrap;
		background: var(--color_2);
	}
	.contacto label{
		display: none;
	}
	.contacto input{
		height: 2em;
		width: 100%;
		font-size: 1em;
		border: none;
		margin-bottom: 15px;
		padding-left: 10px;
	}
	.contacto textarea{
		min-width: 100%;
		max-width: 100%;
		height: 10em;
		min-height: 6em;
		max-height: 16em;
		border: none;
		font-size: 1em;
		padding: 10px;
		margin-bottom: 15px;
	}
	.contacto div{
		width: 100%;
		display: flex;
		flex-flow: row wrap;
		justify-content: space-around;
	}
	.contacto div #submit-button, .contacto div #clear-button{
		width: 40%;
		height: 3em;
		font-size: 1em;	
		background: var(--color_3);
		color: #fff;
		margin-bottom: 0;
	}
	.contacto #submit-button:hover, .contacto #clear-button:hover{
		cursor: pointer;
	}
/* ========================== */
/* ================ PIE ===== */
	footer{
		height: 30vh;
		display: flex;
		flex-flow: row wrap;
		justify-content: space-around;
		align-items: center;
		background: var(--color_3);
		color: var(--color_4);
	}
	footer>div{width: 25%;}
	footer p{
		font-size: 1.1em;
		line-height: 1.5em;
		text-align: center;
	}
/* ========================== */
/* ============= CLASES ===== */
	.btn-face, .btn-whats{
		margin: 0;
	    padding: 5px 5px 5px 15px;
	    color: #fff;
	    position: fixed;
	    left: 0px;
	    border-radius: 0 50px 50px 0;
	    box-shadow: 2px 2px 6px 0px rgba(5, 5, 5, 1.0);
	    border: none;
	    z-index: 999500;
	    cursor: pointer;
	}
	.btn-face i, .btn-whats i{
		margin: 0;
		padding: 0;
	}
	.btn-face  i{font-size: 2.4em;}
	.btn-whats i{font-size: 2.5em;}
	.btn-face{
		background: #3B5998;
		bottom: 20vh;
	}
	.btn-whats{
	    background: #00bb2d;
	    bottom: 10vh;
	}
/* ========================== */

/* Móviles en horizontal o tablets en vertical
------------------------------------------------------------------------ */
@media screen and (max-width: 768px) {
	/* Hide the navigation menu by default */
    /* Also hide the  */
    
    /* Stylinf the toggle label */
    .toggle{
        display: block;
        margin: 0;
        padding: 10px;
        background: var(--color_3);
        border-radius: 3px;
        color: #FFF;
        font-size: 1em;
        text-decoration: none;
        border: none;
        cursor: pointer;
    }
    .menu{
    	width: 50vw;
    	height: 100vh;
        display: flex;
        flex-flow: column;
        position: absolute;
        top: 65px;
        right: -50vw;
        background: var(--color_3);
        background: alpha(0.5);
        transition: all 0.5s;
    }
    .menu li a{
    	margin: 0;
    	padding: 20px 15px;
    	box-sizing: border-box;
    	width: 100%;
    	display: block;
    	color: var(--color_4);
    }
    .menu li{
    	padding: 0;
    	border-top: 1px solid #ccc;
    	border-bottom: 1px solid #333;
    }
    .menu li:first-child{border-top: none;}
    .menu li:last-child{border-bottom: none;}
    nav ul li a:hover{
        background: var(--color_2);
        color: var(--color_3);
    }
    /* Display Dropdown when clicked on Parent Label */
    [id^=drop]:checked + .menu{
    	right: 0;
        z-index: 99;
    }
}

/* Móviles en vertical
------------------------------------------------------------------------ */
@media screen and (max-width: 480px) {
/* ============= FRANJA ===== */
	.franja{height: 25px;}
	.franja p{display: none;}
	.franja a{font-size: 0.9em;}
	.franja a:first-child{border-right: 0.5px solid #fff;}
	.franja a:last-child{border-left: 0.5px solid #fff;}
/* ========================== */
/* ============= HEADER ===== */
	header{
		height: 65px;
		border-bottom: none;
		top: 25px;
	}
	header .logo{
		justify-content: center;
	}
	header .logo>h1{
		font-size: 1.2em;
		margin: 0;
	}
	header .logo img{
		width: auto;
		height: 55px;
		margin-right: 5px;
	}
/* ========================== */
/* ====== EMBARCACIONES ===== */
	#embarcaciones>p{
		width: 90%;
		font-size: 1em;
		line-height: 1.2em;
	}
    .caja-embarc{
		width: 80%;
		margin: 15px 0;
	}
	.caja-embarc-nombre{
	    padding: 12px 0;
	    font-size: 1.8em;
		border-radius: 0 0 12px 12px;
	}
	.areas-embarc>article{
		padding: 0;
	}
	.areas-embarc>article>img{
		width: 90%;
		border-radius: 12px;
		box-shadow: 2px 2px 4px #000;
	}
	.areas-embarc>article>div{
		margin-top: 15px;
		width: 90%;
	}

	.btn-face, .btn-whats{
	    padding: 7px 5px 5px 10px;
	    border-radius: 0 25px 25px 0;
	    box-shadow: 2px 2px 4px 0px rgba(5, 5, 5, 0.8);
	}
	.btn-face  i{font-size: 1.6em;}
	.btn-whats i{font-size: 1.7em;}
/* ========================== */
/* ========== SERVICIOS ===== */
	.servicios li{margin: 10px 0;}
	.servicios a{
		width: 120px;
		padding: 10px;
		font-size: 0.8em;
	}
	.caja-datos{
		width: 90%;
		height: auto;
		margin: 30px 0;
		padding: 0;
		flex-flow: column;
	}
	.caja-datos-img{
	    width: 100%;
	    height: auto;
	    margin: 0;
	    padding: 0;
	    border-radius: 12px 12px 0 0;
	}
	.caja-datos-img img{
		margin: 0;
	    padding: 0;
		width: 100%;
		height: 100%;
		border-radius: 0;
	}
	.caja-datos-info{width: 100%;}
	.caja-datos-info h2{font-size: 1.5em;}
/* ========================== */
/* ============ GALERIA ===== */
	.galeria{
		width: 96%;
		columns: 2;
	}
	.galeria img{
		margin-bottom: 10px;
		padding: 3px;
		box-shadow: 2px 2px 4px #333;
	}
/* ========================== */
	.titulo{
		margin-top: 0;
		padding-top: 20px;
		font-family: 'Roboto';
		text-align: center;
		text-transform: uppercase;
		font-size: 1.3em;
		text-shadow: 5px 5px 10px #000;
	}
	/* Hasta aquí todo va bien */

	.contacto .contacto_caja{
		width: 90%;
		height: auto;
		margin: 25px auto;
		display: flex;
		flex-flow: column nowrap;
		justify-content: space-between;
		align-items: center;
		background: transparent;
	}
	.contacto .timeline{
		width: 284px;
		margin: 10px 0 0 0;
	}
	.contacto .form_contacto{
		width: 100%;
		height: auto;
		padding: 0 0 15px 0;
		background: #1f1f1f;
	}
	.form_contacto p{
		width: 100%;
		margin: 5% 5% 0 5%;
	}
	footer{
		display: flex;
		flex-flow: column nowrap;
		justify-content: space-around;
		align-items: center;
		height: auto;
		padding: 10px 0;
	}
	footer p{
		font-size: 1.1em;
		line-height: 1.5em;
		width: 100%;
		margin: 20px 0;
	}
	.slogan{
		width: 100%;
		font-size: 0.8em;
		letter-spacing: 0.3em;
	}
/* ============= SLIDER ===== */
	#slider{
		height: auto;
	}
	#slider figure{
		margin: 0;
		padding: 0;
	}
	#slider figure article img{
		margin: 0 0 -3px 0;
		padding: 0;
		width: 100%;
		height: auto;
	}
	#slider figure article .hero-text{
		margin: 0;
		width: 100%;
		font-size: 0.8em;
		line-height: 1.1em;
		letter-spacing: 0.02em;
		background: rgba(0, 0, 0, 0.5);
		border-radius: 0px;
	}
	.hero-pos-left{
		top: auto;
		bottom: 0px;
		left: 0px;
	}
	.hero-pos-right{
		top: auto;
		bottom: 0px;
		right: 0px;
	}
/* ========================== */
	.glass{margin-top: 90px;}
}