/* ––––––––––––––––––––––––––––––––––––––––––––––––––
General
–––––––––––––––––––––––––––––––––––––––––––––––––– */
* {
	box-sizing:border-box;
	text-decoration:none;
	list-style:none;
}

html {
	height:100%;
	font-size:100%;
}

@media screen and (max-width:800px) {
	html {
		font-size:80%;
	}
}

body {
	font-size:10px;
	height:100%;
	margin:0;
	padding:0;
}

html,
body,
section,
header,
footer {
	position:relative;
	display:block;
	width:100%;
}

img {
	border:none;
	vertical-align:top;
	max-width:100%;
}

body {
	background-color:#F8F8F8;
}

/* ––––––––––––––––––––––––––––––––––––––––––––––––––
hidden
–––––––––––––––––––––––––––––––––––––––––––––––––– */

.none {
	display:none;
}

.no {
	display:none;
}

/* ––––––––––––––––––––––––––––––––––––––––––––––––––
HEADER
–––––––––––––––––––––––––––––––––––––––––––––––––– */

header {
	position:relative;
	display:block;
	min-height:200px;
	background-image:url(../images/top.jpg);
	background-position:center;
	background-repeat:no-repeat;
	background-size:cover;
	background-color:#FFF;
}

.dataheader {
	display:block;
	background-color:#FFF;
}

.dataheader > div {
	display:flex;
	justify-content:space-between;
	align-items:center;
	width:90%;
	max-width:1420px;
	margin:auto;
	padding:10px;
}

@media screen and (max-width:800px){
	.dataheader > div {
		width:100%;
		flex-wrap:wrap;
		padding:0;
	}

	.dataheader > div .redes {
		width:100%;
		margin-bottom:10px;
		padding:10px;
		text-align:center;
	}

	.dataheader > div .redes i {
		font-size:2rem;
	}
}

.dataheader ul {
	display:flex;
	justify-content:flex-end;
	margin:0;
	padding:0;
	font-family: 'Montserrat', sans-serif;
}

.dataheader ul li {
	margin-left:10px;
	color:#777;
	font-size:1.1rem;
	font-weight:bold
}

@media screen and (max-width:800px){
	.dataheader ul {
		width:100%;
		padding:5px;
		justify-content:space-between;
		background-color:#0055A3;
	}

	.dataheader ul li {
		width:45%;
		margin-left:0;
		color:#FFF;
		text-align:center;
	}
}

.dataheader ul li i {
	margin-right:10px;
}


.dataheader .redes a {
	padding:10px;
	color:#777;
	font-size:1.3rem;
}

.nav-main {
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
	width:90%;
	max-width:1420px;
	margin:auto;
	background-color:#0055A3;
}

.nav-main .cont-menu {
	width:70%;
}

.nav-main .logo {
	position:relative;
	padding:5px;
	text-align:center;
	background-color:#45BA01;
}

.cont-menu input[type="checkbox"] {
	display:none;
}
.toggle-menu,
.toggle-menu-main {
	display:none;
}

.menu {
	display:flex;
	justify-content:flex-start;
	margin:0;
	padding:0;
	font-family: 'Montserrat', sans-serif;
}

.menu > li > a {
	position:relative;
	display:flex;
	height:100%;
	padding:40px 20px 5px 20px;
	align-items:flex-end;
	color:#FFF;
	font-size:0.8rem;
	font-weight:bold;
	border:solid;
	border-color:transparent;
	border-width:0 0 3px 0;
}

.menu > li:hover a {
	color:#FFF;
	border-color:#FFF;
	background-color:#45BA01;
}

/* menu movil */ 

@media screen and (max-width:900px) {
	
	header {
		position:relative;
		display:block;
		padding:0;
	}
	
	.nav-main {
		display:flex;
		flex-wrap:wrap;
		width:100%;
		background-color:#45BA01;
	}

	.nav-main .cont-menu {
		width:100%;
	}

	.nav-main .logo {
		position:relative;
		width:100%;
		padding:10px;
		text-align:center;
		background-color:#45BA01;
	}

	.nav-main .logo img {
		margin:center;
	}
	
	.cont-menu {
		display:block;
		width:100%;
		padding:0;
		background-color:transparent;
		order:2;
	}
			
	.toggle-menu-main {
		position:relative;
		display:block;
		color:#FFF;
		font-size:1.8rem;
		font-family: 'Montserrat', sans-serif;
		text-align:left;
		padding:10px;
	}
	
	.toggle-menu-main span {
		display:flex;
		justify-content:center;
		align-items:center;
		right:10px;
		top:10px;
		padding:10px;
	}
	
	.toggle-menu-main span i {
		margin-left:10px;
	}
	
		
	.menu {
		display:block;
		width:100%;
		margin:auto;
	}
	
	.menu > li {
		width:100%;
		border-style:solid;
		border-width:0 0 1px 0;
		border-color:rgba(0,0,0,.15);
	}
	
	.menu > li > img {
		padding:20px;
	}
	
	.menu .submenu {
		position:relative;
		display:block;
		width:100%;
		opacity:1;
		visibility:visible;
		background-color:#FAFAFA;
		transform:translateY(0);
	}
	
	.menu .life {
		width:100%;
	}
			
	.menu > li a {
		display:flex;
		justify-content:space-between;
		align-items:center;
		padding:20px;
		color:#FFF;
		font-size:1.8rem;
		font-weight:100;
		text-transform:uppercase;
	}

	.menu > li:hover a {
		background-color:#0055A3;
	}
				
	.toggle-menu {
		display:flex;
		justify-content:space-between;
		align-items:center;
		padding:0;
	}
		
	#tm ~ .menu {display: none;} 
	#tm:checked ~ .menu {display: block;}
	
	#sm1 ~ .submenu {display:none;}
	#sm1:checked ~ .submenu {display:block;}
	
	#sm2 ~ .submenu {display:none;}
	#sm2:checked ~ .submenu {display:block;}
	
	#sm3 ~ .submenu {display:none;}
	#sm3:checked ~ .submenu {display:block;}
	
	#sm4 ~ .submenu {display:none;}
	#sm4:checked ~ .submenu {display:block;}
}

/* ––––––––––––––––––––––––––––––––––––––––––––––––––
SECCIONES
–––––––––––––––––––––––––––––––––––––––––––––––––– */

/*INDEX*/ 

.servicios {
	width:90%;
	max-width:1420px;
	margin:auto;
	padding:20px 0 50px 0;
	font-family: 'Montserrat', sans-serif;
}

.title {
	position:relative;
	display:block;
	text-align:center;
	z-index:1;
	margin:10px 0 10px 0;
}

.title h1 {
	display:inline-block;
	padding:6px 15px 6px 15px;
	margin:0;
	color:#FFF;
	font-weight:bold;
	font-size:1.2rem;
	border-radius:5px;
	background-color:#0055A3;
}

.title h2 {
	color:#45BA01;
	margin:0;
	padding:0;
	font-size:0.8rem;
}

.title span {
	position:absolute;
	display:block;
	width:100%;
	top:17px;
	border:solid #45BA01;
	border-width:0 0 2px 0;
	z-index:-1;
}

.servicios .item {
	border-radius:5px;
}

.servicios .foto {
	position:relative;
	width:100%;
	height:250px;
	overflow:hidden;
	background:#000;
	z-index:1;
}

.servicios .foto span {
	position:absolute;
	width:100%;
	height:100%;
	top:0;
	left:0;
	opacity:1;
	background-size:cover;
	background-position:center;
	background-repeat:no-repeat;
	transform:scale(1.4);
	transition:all .25s ease-in-out;
	z-index:-1;
}

.servicios .foto:hover span {
	opacity:0.5;
	transform:scale(1);
}

.servicios a {
	display:flex;
	justify-content:center;
	align-items:center;
	padding:20px;
	width:100%;
	height:100%;
	transition:all .25s ease-in-out;
}

.servicios .item:hover a {
	transition-delay:.2s;
}

.servicios h3 {
	display:flex;
	justify-content:center;
	align-items:center;
	padding:10px;
	width:80%;
	color:#FFF;
	font-size:1rem;
	font-style:italic;
	border-radius:5px;
	transform:translateY(50px);
	transition:all .2s ease;
	transition-delay:.1s;
	background-color:rgba(69,186,1,.5);
}

.servicios .item:hover h3 {
	font-size:1.3rem;
	transform:translateY(0);
	background-color:rgba(69,186,1,.8);
}

.servicios p {
	position:absolute;
	bottom:0;
	padding:20px;
	margin:0;
	width:100%;
	color:#FFF;
	font-size:1rem;
	background-color:#0055A3;
	transform:translateY(40px);
	transition:all .15s linear;
}

.servicios .item:hover p {
	bottom:0;
	transform:translateY(0);
	transition-delay:.2s;
}





/* ––––––––––––––––––––––––––––––––––––––––––––––––––
CATALOGO Y GALERÍAS
–––––––––––––––––––––––––––––––––––––––––––––––––– */

.cata {
	position:relative;
	display:flex;
	flex-wrap:wrap;
	align-items:flex-start;
	justify-content:space-between;
	border-style:solid 1px red;
}

.cata > div {
	position:relative;
	width:24%;
	margin-bottom:20px;
	border-style:solid 1px red;
}

@media screen and (max-width:800px){
	.cata > div {
		width:100%
	}
}

@media only screen and (min-width:801px) and (max-width:1100px){
	.cata > div {
		width:45%;
	}
}

.cata .photo {
	height:300px;
	border-style:solid 1px red;
}

.cata .photo .back {
	background-position:center;
	background-size:cover;
	background-repeat:no-repeat;
}

.cata .photo a span {
	position:absolute;
	display:flex;
	justify-content:center;
	align-items:center;
	top:100%;
	left:0;
	width:100%;
	height:0;
	overflow:hidden;
	background-color:rgba(69,186,1,.8);
	transition:all .25s ease;
	z-index:3;
}

.cata .photo:hover a span {
	top:0;
	height:100%;
}

.cata .photo a i {
	color:#0055A3;
	font-size:8rem;
}

/* ––––––––––––––––––––––––––––––––––––––––––––––––––
CONTACTOS
–––––––––––––––––––––––––––––––––––––––––––––––––– */

.contacto {
	font-family: 'Montserrat', sans-serif;
}

.contacto > div {
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
	width:80%;
	max-width:1420px;
	margin:auto;
	padding:100px 0 100px 0;
}

.contacto .title-form {
	width:60%;
}

.contacto .title-form h1 {
	color:#45BA01;
	font-size:5rem;
	font-weight:bold;
}

.contacto .title-form h2 {
	color:#0055A3;
	font-size:2.5rem;
	font-weight:bold;
}

.contacto form {
	width:35%;
	padding:50px 20px 50px 20px;
	background-color:#FFF;
}

.contacto form h1 {
	display:block;
	margin-bottom:20px;
	font-size:1.2rem;
	font-weight:bold;
}

@media screen and (max-width:800px){
	.contacto  > div {
		flex-wrap:wrap;
	}
	.contacto .title-form,
	.contacto form {
		width:100%;
	}

	.contacto .title-form {
		margin-bottom:20px;
	}
}


.contacto form > div > span {
	display:inline-block;
	padding:10px;
	color:#FFF;
	font-size:.8rem;
	font-weight:bold;
	border-radius:5px 5px 0 0;
	background-color:#45BA01;
}

.contacto form input,
.contacto form textarea {
	display:block;
	width:100%;
	border:none;
	padding:10px;
	margin-bottom:25px;
	font-size:0.9rem;
	background-color:#F3F3F3;
}

.contacto form textarea {
	resize:none;
	height:200px;
}

.contacto form button {
	display:block;
	width:100%;
	padding:15px;
	color:#FFF;
	font-size:1rem;
	border:none;
	border-radius:5px;
	margin:auto;
	background-color:#0055A3;
}

.captcha {
	margin-bottom:25px;
}

/* respuesta contacto */

.alert > div {
	display:flex;
	justify-content:center;
	align-items:center;
	padding:10px;
	margin-bottom:50px;
	font-size:1.4rem;
	font-weight:700;
}

.alert > div i {
	margin-right:20px;
}

.complete {
	color:#FFF;
	background-color:#45BA01;
}

.error {
	color:#FFF;
	background-color:#0055A3;
}


/* ––––––––––––––––––––––––––––––––––––––––––––––––––
FOOTER
–––––––––––––––––––––––––––––––––––––––––––––––––– */

footer {
	background-color:#FFF;
	font-family: 'Montserrat', sans-serif;
}

.datafooter {
	position:relative;
	display:flex;
	justify-content:space-between;
	width:95%;
	max-width:800px;
	margin:auto;
	background-color:#45BA01;
	transform:translateY(-60px);
}

@media screen and (max-width:800px){
	.datafooter {
		flex-wrap:wrap;
	}
}

.datafooter:before {
	position:absolute;
	content:'';
	top:50%;
	left:-50px;
	margin-top:-50px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 50px 50px 50px 0;
	border-color: transparent #45ba0f transparent transparent;
}

.datafooter:after {
	position:absolute;
	content:'';
	top:50%;
	right:-50px;
	margin-top:-50px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 50px 0 50px 50px;
	border-color: transparent transparent transparent #45ba0f;
}

@media screen and (max-width:800px){
	.datafooter:before {
		display:none;
	}

	.datafooter:after {
		display:none;
	}
}

.datafooter > div,
.datafooter > ul {
	flex:1;
}

@media screen and (max-width:800px){
	.datafooter > div,
	.datafooter > ul {
		flex:none;
		width:100%
	}
}

.datafooter > div {
	padding:30px;
	text-align:center;
	background-color:#0055A3;
}

.datafooter ul {
	padding:30px;
	text-align:left;
}

.datafooter ul:last-child {
	text-align:right;
}

@media screen and (max-width:800px){
	.datafooter ul {
		padding:15px;
		text-align:center;
	}

	.datafooter ul:last-child {
		text-align:center;
	}
}

.datafooter li {
	color:#FFF;
	font-size:.8rem;
	font-weight:bold;
	margin-bottom:8px;
}

.datafooter li h1 {
	font-size:1.3rem;
}

.datafooter li i {
	font-size:1.2rem;
	margin-right:10px;
}

.datafooter img {
	width:150px;
	height:auto;
}

.datafooter .redes {
	display:flex;
	justify-content:center;
	margin-top:20px;
}

.datafooter .redes a {
	color:#FFF;
	margin:0 10px 0 10px;
	transition:all .15s ease;
}

.datafooter .redes a:hover {
	padding-top:5px;
	border:solid rgba(255,255,255,.5);
	border-width:1px 0 0 0;
}

.datafooter .redes i {
	font-size:1.5rem;
}

#map {
    width: 100%;
    height: 300px;
}

/** boton arriba **/

.ir-arriba {
	position: fixed;
	display:none;
	padding:5px;
	bottom:20px;
	right:20px;
	color:#fff;
	font-size:1.3rem;
	text-align:center;
	cursor:pointer;
	z-index:20;	
	border-radius:2px;
	background-color:#45BA01;
	transition:background-color .1s ease-in-out .1s;
}

.ir-arriba:hover {
	background-color:#379501;
}

.ir-arriba .subir {
	display:block;
	color:#FFF;
	font-size:0.7rem;
	text-align:center;
}

@media screen and (min-width:240px) and (max-width:320px) {
	.ir-arriba {
		right:0;
	}
}

/* CALL WHATSAPP */

.call {
	position:fixed;
	right:10px;
	bottom:10px;
	z-index:9999;
}

.call form button {
	display:flex;
	justify-content:center;
	align-items:center;
	width:80px;
	height:80px;
	color:#FFF;
	font-size:2.5rem;
	cursor:pointer;
	border:none;
	outline:none;
	border-radius:10px;
	transition:all .15s ease-in-out;
	background-color:#45BA01;
}

.call form button:hover {
	transform:translateX(-5px);
}

@media only screen and (min-width:400px) and (max-width:1400px){
	.call form button {
		width:45px;
		height:45px;
		font-size:2rem;
	}
}

.call button.whatsapp {
	margin-bottom:10px;
}

/* TELL */

.tel {
	position:fixed;
	right:10px;
	bottom:110px;
	z-index:9999;
}

@media only screen and (min-width:400px) and (max-width:1400px){
	.tel{
		bottom:80px;
	}
}

.tel a {
	display:flex;
	flex-wrap:wrap;
	flex-direction: column;
	justify-content:center;
	align-items:center;
	width:80px;
	height:80px;
	color:#FFF;
	cursor:pointer;
	border:none;
	outline:none;
	border-radius:8px;
	background-color:#1B68D6;
	transition:all .15s ease-in-out;
}

.tel img {
	display:block;
	margin-bottom:5px;
	width:40px;
	height:auto;
}

@media only screen and (min-width:400px) and (max-width:1400px){
	.tel a {
		width:45px;
		height:45px;
		font-size:2rem;
	}

	.tel img {
		width:30px;
	}
}

/* CANVAS */

#canvas {
	padding:10px 0 10px 0;
	color:#474747;
	background-color:#FFF;
}

#canvas > h5 {
	max-width:800px;
	margin:auto;
	font-size:0.7rem;
	font-weight:normal;
	transform:translateY(-50px);
}

@media screen and (max-width:800px) {
	#canvas {
		padding:10px;
	}
}