:root{
	--mag:#D25;
	--nav:#258;
	--gol:#F90;
	--gol2:#FC3;
}
body{
	font-family: Montserrat, Helvetica, sans-serif;
	text-align: center;
	margin:0 0 0 0;
	cursor:default;
	font-size: 1vw;
}
input[type="button"],button{
	border:none;
	background:none;
	font-size:1em;
	cursor:pointer;
}
img{
	border:none;
}
a{
	color: inherit;
	text-decoration: none;
}
*[onclick],*[href]{
	cursor: pointer;
}
textarea{
	resize:none;
}
.clr{
	clear:both;
}
.columnas2{
	-webkit-column-count:2;
	-moz-column-count:2;
	column-count:2;
}
.columnas3{
	-webkit-column-count:3;
	-moz-column-count:3;
	column-count:3;
}
.columnas4{
	-webkit-column-count:4;
	-moz-column-count:4;
	column-count:4;
}
.columnas5{
	-webkit-column-count:5;
	-moz-column-count:5;
	column-count:5;
}
.grid1{
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	grid-gap: 1em;
}
.grid2{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-gap: 1em;
}
.grid3{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-gap: 1em;
}
.grid4{
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-gap: 1em;
}
.grid5{
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	grid-gap: 1em;
}
.flex{
	display: flex;
	flex-flow: row wrap;
	align-content: space-between;
	justify-content: space-between;
}
.flex>*{
	flex-grow: 1;
    flex-shrink: 1;
    flex-basis: auto;
    text-align: center;
}

.site_error>div{
	margin: 0 auto;
	padding: 0.5em;
	background: #F44;
	color: white;
	border-radius: 0.25em;
	text-align: center;
	width: 50%;
	min-width: 280px;
	border-radius: 0.15em;
	font-weight:600;
}
.site_error{
	position: fixed;
	top:-20em;
	opacity: 0;
	width: 100%;
	z-index: 20;
	-webkit-animation: siteError 5s 1;
	-moz-animation: siteError 5s 1;
	animation: siteError 5s 1;
}

.site_success>div{
	margin: 0 auto;
	padding: 0.5em;
	color: white;
	background: #094;
	text-align: center;
	width: 50%;
	min-width: 280px;
	border-radius: 0.15em;
	font-weight:600;
}
.site_success{
	position: fixed;
	top:-20em;
	opacity: 0;
	width: 100%;
	z-index: 20;
	-webkit-animation: siteError 5s 1;
	-moz-animation: siteError 5s 1;
	animation: siteError 5s 1;
}

@keyframes siteError{
	0%{opacity:1;top:5em;}
	90%{opacity:1}
	99%{opacity:0;top:5em;}
	100%{opacity:0;top:-20em;}
}

.hide_me{
	height: 0;
	width: 0;
	overflow: hidden;
	opacity: 0;
	font-size: 1px;
	position: absolute;
	top: -1000px;
	margin: 0;
}

a,input,button,*[onclick],*[href],a *,*[onclick] *{
	transition: all .25s ease-in-out;
	cursor: pointer;
}
video,img{
	display:block;
	max-width: 100%;
}
video,img[src*=".jpg"]{
	display:block;
	max-width: 100%;
	background: #EEE url(imagenes/loader.gif) center center no-repeat;
	background-size: 40px 40px;
}

/* GENERALES */

header{
	position: fixed;
	top:0;
	left:0;
	right: 0;
	z-index: 10;
	background: rgba(255,255,255,0.9);
	height: 6em;
	padding: 0 2.5%;
	box-shadow: rgba(150,150,150,0.6) 0 4px 0 0;
	color: var(--mag);
	backdrop-filter:blur(6px) brightness(1.2);
}
#logo{
	float: left;
	margin-right: 2.5%;
}
#logo img{
	height: 5.5em;
	margin: 0.25em 0;
}
#menu_redes{
	float: right;
	line-height: 6em;
}
#menu_redes a{
	font-size: 1.5em;
	display: inline-block;
	margin: 0 0.25em;
}
menu{
	max-width: 65%;
	margin: 0;
	text-transform: uppercase;
	font-weight: 700;
	color: var(--nav);
}
menu a{
	display: flex;
	height: 5em;
	justify-content: center;
	align-content: center;
	align-items: center;
	font-size: 1.2em;
}
menu a small{
	display: inline-block;
	padding: 0.15em 1em;
	border-radius: 1em;
	font-size: 0.55em;
	letter-spacing: 0.1em;
	background: var(--mag);
	color: white;
}
menu a:hover,#menu_redes a:hover{
	color: var(--gol);
}
menu a:hover small{
	background: var(--gol);
}

nav{
	position: fixed;
	bottom: 1em;
	margin: 0 24%;
	width: 50%;
	min-width: 300px;
	text-align: center;
	background: var(--nav);
	color: white;
	padding: 0.5em 1%;
	border-radius: 0.5em;
	font-size: 1.5em;
	box-shadow: rgba(0,0,0,0.5) 0 0.1em 0.5em;
	z-index: 10;
}
nav a{
	display: block;
	padding: 0.5em;
	border-radius: 0.25em;
}
nav a:hover{
	background: white;
	color: var(--mag);
}
nav.bgmag{
	background: var(--mag);
	width: 73%;
	margin: 0 12.5%;
	font-size: 1.25em;
}
nav.bgmag>*{
	background: rgba(0,0,0,0.25);
	padding: 0.5em;
	display: block;
	border-radius: 0.25em;
}
nav.bgmag>a i.fa{
	display: block;
	color: var(--gol2);
	font-size: 1.5em;
	margin: 0.5em auto 0.25em auto;
}
nav.bgmag>span b{
	font-size: 0.8em;
	color: var(--gol2);
	display: block;
}
nav.bgmag>span strike{
	color: #CCC;
	font-size: 0.8em;
}
nav.bgmag>span h4{
	margin: 0;
}


/* HOME */

#home_video_container{
	height: 0;
	overflow: visible;
	opacity: 0.4;
}
#inicio{
	height: 30vw;
	overflow: hidden;
	background: #EEE;
	text-shadow: rgba(255,255,255,0.5) 0 1px 2px;
	color: var(--mag);
}
#home_content{
	height: 30vw;
	overflow: hidden;
	display: flex;
	justify-content: center;
	align-content: center;
	align-items: center;
	position: relative;
	z-index: 1;
	padding-top: 2em;
}
#home_content img{
	max-width: max(30vw,200px);
	margin: 0 auto;
}
#home_content h3{
	text-transform: uppercase;
	letter-spacing:0.1em;
	font-size: 2em;
	max-width: max(60vw,240px);
	margin-bottom: 0.5em;
}
#home_content h2{
	color: var(--nav);
	font-size: 3em;
	margin: 0;
	text-transform: uppercase;
}
button,#home_content a,#servicios a{
	display: inline-block;
	padding: 0.25em 2em;
	background: var(--mag);
	color: white;
	font: inherit;
	font-size: 1.5em;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	border-radius: 0.1em;
}
button:hover,#home_content a:hover,#servicios a:hover{
	background: var(--gol);
}
#home_content a{
	margin-top: 1em;
}
#home_content a b{
	color: var(--gol2);
}

#quienes_somos{
	padding: 5% 15%;
	text-align: justify;
}
#quienes_somos h2{
	color: var(--nav);
	font-size: 3em;
	margin: 0;
	text-align: center;
}
#quienes_somos h3{
	color: var(--mag);
	text-transform: uppercase;
	font-size: 1.25em;
}
#quienes_somos p{
	font-size: 1.25em;
	line-height: 1.6em;
}

#servicios{
	background: #EEE;
	padding: 2.5% 5%;
}
#servicios h2{
	margin-top: 0;
	color: var(--nav);
	font-size: 3em;
}

#servicio_directorio{
	background: var(--mag);
	color: white;
	text-align: justify;
}
#servicio_directorio>div:last-child{
	padding: 1.5em;
}
#servicio_directorio a{
	background: var(--nav);
	display: block;
	text-align: center;
}
#servicio_directorio a:hover{
	background: var(--gol);
}
#servicio_directorio h4{
	font-size: 1.25em;
	font-weight: 300;
}
#servicio_directorio h4 strike{
	color: #CCC;
}
#servicio_directorio h4 b{
	color: var(--gol2);
}
#servicios p{
	line-height: 1.6em;
}

#planes h4{
	padding: 0.5em;
	text-align: center;
	background: rgba(0,0,0,0.25);
}

#servicios h3{
	font-size: 1.5em;
	margin: 0;
	text-transform: uppercase;
}
.servicio{
	background: white;
	margin: 2em 0;
}
.servicio h3{
	padding-top: 1em;
	color: var(--nav);
}
.servicio p{
	margin: 1em;
	text-align: left;
	min-height: 8em;
}
.servicio button{
	width: 90%;
	margin: 1em 5%;
}

#contacto{
	background: var(--nav);
	color: white;
	padding: 2.5% 25%;
}
#contacto h2{
	color: var(--gol2);
	margin: 0;
	font-size: 3em;
	text-transform: uppercase;
	letter-spacing: 0.1em;
}
#contacto p{
	font-size: 1.25em;
}
form input:is([type="text"],[type="tel"],[type="email"],[type="password"],[type="date"],[type="time"],[type="number"],[type="search"]),form textarea,form select{
	display: block;
	width: 96%;
	padding: 0.5em 2%;
	margin-bottom: 0.5em;
	font: inherit;
	font-size: 1.2em;
	border: none;
	background: white;
	border-radius: 0.2em;
}
form #captcha input[type="number"]{
	width: 4em;
	padding: 0.5em;
	text-align: center;
	display: inline-block;
}
#captcha{
	float: left;
	max-width: max(40%,140px);
}
#captcha small{
	display: block;
	color: var(--gol2);
}
#contacto form button{
	float: right;
}
form select{
	width: 100%;
}

footer{
	background: #024;
	color: white;
	position: relative;
	z-index: 11;
	padding: 3.5em;
}
footer h4{
	margin: 0;
	text-transform: uppercase;
	font-size: 0.8em;
	letter-spacing: 0.1em;
}
footer a:hover{
	color: var(--gol);
}

#privacidad{
	padding: 10% 15%;
	text-align: justify;
}
#privacidad h1{
	color: var(--mag);
	text-transform: uppercase;
}


#registro{
	padding: 10%;
	background: #EEE url(imagenes/registro.jpg) center center fixed;
	background-size: cover;
}

#registro>div{
	background: rgba(245,245,245,0.85);
	backdrop-filter:blur(6px) brightness(1.2);
	padding: 2em;
	border-radius: 0.5em;
}
#login_form form{
	text-align: left;
	direction: ltr;
}
#registro h1{
	color: var(--mag);
	font-size: 3em;
	margin-top: 0;
	text-transform: uppercase;
}
#registro h2{
	color: var(--nav);
	font-size: 2em;
	margin-top: 0;
}
#login_form div{
	grid-gap:5%;
	direction: rtl;
}
#registro p{
	color: var(--nav);
}

#perfil{
	background: #EEE url(imagenes/perfil.jpg) center center fixed;
	background-size: cover;
}
#perfil>div{
	padding: 10% 20%;
	background: rgba(245,245,245,0.85);
	backdrop-filter:blur(6px) brightness(1.2);
}
#perfil h2{
	color: var(--nav);
	font-size: 2em;
	padding-top: 0.25em;
	border-top: var(--mag) dotted 1px;
}
#perfil p{
	color: var(--nav);
}
#perfil h1{
	color: var(--mag);
	font-size: 3em;
	margin-top: 0;
	text-transform: uppercase;
}
#logo_filename{
	display: block;
	padding: 0.5em;
	background: #CCC;
	border-radius: 0.2em;
}
input[disabled]{
	background: #CCC !important;
}
#perfil h3{
	text-align: left;
	border-bottom: var(--nav) dotted 1px;
	color: var(--nav);
	font-weight: 400;
	font-size: 1.5em;
}
input[type="color"]{
	border: none;
	border-radius: 0.5em;
	padding: 0;
	position: relative;
	top: 0.5em;
	width: 8em;
	height: 2em;
}

#register_menu{
	grid-gap:0;
}
#register_menu a{
	font-size: 1.25em;
	text-transform: uppercase;
	font-weight: 600;
	color: var(--nav);
	padding-bottom: 0.5em;
	box-shadow: var(--nav) 0 -1px 0 0 inset;
}
#register_menu a:hover,#register_menu a.active{
	color: var(--mag);
	box-shadow: var(--mag) 0 -4px 0 0 inset;
}
#current_logo{
	display: block;
	margin: 1em auto;
	max-width: 50%;
	max-height: 12em;
	border-radius: 0.5em;
	box-shadow: rgba(0,0,0,0.3) 0 0 1px 1px;
	background: #F8F8F8;
	padding: 0.5em;
}

#catalogo{
	padding: 2em 0;
	text-align: left;
}

#negocios{
	padding: 2.5%;
	background: #F8F8F8;
}
#negocios div{
	grid-gap:2em;
}
#negocios h2{
	color: var(--nav);
	font-size: 3em;
	margin-top: 0;
	text-transform: uppercase;
}
#negocios h3{
	color: var(--mag);
	font-size: 2em;
}
.negocio{
	background: white;
	border-radius: 0.5em;
	padding: 1em;
	box-shadow: rgba(0,0,0,0.3) 0 0.2em 0.5em;
}
.negocio_logo{
	height: 12.5vw;
	display: flex;
	padding: 0.5em;
	border-radius: 0.25em;
	border: #EEE solid 1px;
	justify-content: center;
	align-content: center;
	align-items: center;
}
.negocio_logo img{
	max-width: 100%;
	max-height: 12vw;
	display: block;
	margin: 0 auto;
}
.negocio_data h4{
	color: var(--nav);
	font-size: 1.2em;
	margin: 0.5em auto;
	text-transform: uppercase;
	min-height: 2.5em;
}
.negocio_data h5{
	color: #999;
	font-weight: normal;
	font-size: 0.8em;
	margin: 0 0 0.5em 0;
}
.negocio_data p{
	font-size: 0.8em;
	text-align: left;
	min-height: 6em;
}
.negocio_data button{
	font-size: 1.2em;
	border-radius: 0.2em;
	width: 100%;
}
.negocio:hover{
	color: var(--mag);
	box-shadow: var(--mag) 0 0 0 3px;
}



/* MODAL */

#modal{
	background:rgba(0,0,0,0.8);
	position:fixed;
	display:none;
	top:0;
	left:0;
	bottom:0;
	right:0;
	z-index:11;
	text-align:center;
}
#modal>input{
	position: fixed;
	top: 0.1em;
	left: 0.2em;
	font: inherit;
	font-size: 6em;
	font-weight: 100;
	opacity: 0.3;
	z-index: 20;
	color: white;
}
#modal>input:hover{
	opacity: 1;
}
#modal>div{
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	overflow: auto;
	width: 80%;
	animation: modalIn 0.5s 1;
	background: white;
	min-width: 300px;
}
@keyframes modalIn{
	from{ right: -100vw; }
	to{ right:0; }
}

#negocio_detalle iframe{
	display: block;
	width: 100%;
	height: 40vh;
	border: none;
	background: #EEE url(imagenes/loader.gif) center center no-repeat;
	background-size: 40px auto;
}
#negocio_detalle_data{
	padding: 2em;
	text-align: left;
	font-size: 1.25em;
}
#negocio_detalle_data h2{
	color: var(--nav);
	margin: 0;
}
.negocio_detalle_logo{
	width: 35%;
	margin: 0 1em 1em 0;
	float: left;
	height: 20em;
	border: #EEE solid 1px;
	border-radius: 0.25em;
	padding: 0.5em;
	display: flex;
	justify-content: center;
	align-content: center;
	align-items: center;
}
#negocio_detalle_data img{
	max-width: 100%;
	max-height: 20em;
}
#negocio_detalle_data h3{
	margin: 0;
	color: var(--mag);
	font-weight: 300;
}
#negocio_detalle_data i.fa{
	color: var(--mag);
}
#negocio_detalle_data a{
	text-decoration: underline;
}
#negocio_detalle_data a:hover{
	color: var(--gol);
}

.frameset{
	padding: 1em;
	margin-bottom: 1em;
	border: rgba(0,0,0,0.3) solid 1px;
	border-radius: 0.5em;
	text-align: left;
}


/* RESPONSIVO */

.mobile_only{
	display:none !important;
}

@media all and (max-width:960px){
	body{
		font-size:12px;
	}
	.mobile_only{
		display:block !important;
	}
	.desktop_only{
		display:none !important;
	}
	.columnas2,.columnas3{
		-webkit-column-count:1;
		-moz-column-count:1;
		column-count:1;
	}
	.columnas4{
		-webkit-column-count:2;
		-moz-column-count:2;
		column-count:2;
	}
	.columnas5{
		-webkit-column-count:3;
		-moz-column-count:3;
		column-count:3;
	}
	.grid2,.grid3,.grid4,.grid5,.flex{
		display: block;
	}
	.grid2mobile{
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		grid-gap: 1em;
	}
	.grid3mobile{
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		grid-gap: 1em;
	}
	
	header{
		height:50px;
		background: white;
	}
	#menu_opener{
		float:left;
		margin: 5px;
		width:40px;
		height:40px;
		background: var(--nav);
		border-radius:0.25em;
	}
	
	#menu_opener>div{
		height:2px;
		margin: 4px auto 0 auto;
		background: white;
		width: 30px;
		border-radius:0.25em;
		transition: all 0.25s ease-in-out;
		top: 0;
		left: 0;
		position: relative;
		transform: rotate(0deg);
		opacity: 1;
	}
	#menu_opener>div:first-child{
		margin-top: 14px;
	}
	#menu_opener.opened{
		background: var(--gol);
	}
	#menu_opener.opened>div:nth-child(1){
		top: 6px;
		transform: rotate(45deg);
	}
	#menu_opener.opened>div:nth-child(2){
		left: 40px;
		opacity: 0;
	}
	#menu_opener.opened>div:nth-child(3){
		top: -6px;
		transform: rotate(-45deg);
	}
	menu.flex{
		display: none;
		max-width: none;
		position: fixed;
		top: 50px;
		background: var(--gol);
		color: white;
		width: 100%;
		left: 0;
		margin: 0;
		padding: 0;
		text-align: left;
		font-size: 1.25em;
	}
	menu>span{
		display: block;
		height: auto;
		padding: 1em;
		text-align: left !important;
	}
	menu>span:hover{
		color: var(--mag);
	}
	#logo{
		float: none;
		display: inline-block;
	}
	#logo>img{
		margin: 0;
		height: 50px;
	}
	
	#menu_redes{
		line-height: 50px;
		font-size: 1.35em;
	}
	
	
	#inicio{
		margin-top: 50px;
		height: 60vw;
	}
	#home_content{
		font-size: 2vw;
		height: 60vw;
		padding: 0 5%;
	}
	
	#home_content form{
		font-size: 2em;
	}
	
	#home_content form input{
		max-width: 75% !important;
		display: inline-block;
	}
	#home_content form button{
		padding: 0.25em 0;
		width: 22.5%;
		position: relative;
		top: 0.1em;
	}
	
	#home_content h3{
		font-size: 1.5em;
		margin: 2em auto;
	}
	
	#quienes_somos{
		padding: 5%;
		text-align: left;
	}
	#servicio_directorio h4 b{
		display: block;
	}
	#contacto{
		padding: 5%;
	}
	#negocios h2{
		font-size: 2em;
	}
	.negocio_data p{
		display: none;
	}
	.negocio_detalle_logo{
		float: none;
		margin: 0 auto 1em auto;
		height: 10em;
		width: auto;
	}
	.negocio_detalle_logo img{
		max-height: 9em !important;
	}
	nav{
		display: flex !important;
		width: 90%;
		margin: 0 4%;
	}
	nav.bgmag{
		display: block !important;
	}
	nav.bgmag>a>i.fa{
		display: inline-block;
		margin: 0;
	}
	nav.bgmag>span{
		display: none !important;
	}
}