/*-------------------------------------------------------------------------- 
///////////////////////////////////////////////////////////////////////////
01 GLOBAL /////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////
-------------------------------------------------------------------------*/
/*---------------------------------------------------------------- 
GENERAL //////////////////////////////////////////////////////////
----------------------------------------------------------------*/
details,figcaption,figure,hgroup,summary{display:block}audio,canvas,video{display:inline-block}audio:not([controls]){display:none;height:0}[hidden]{display:none}html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}a:focus{outline:thin dotted}a:active,a:hover{outline:0}h1{font-size:2em}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}mark{background:#ff0;color:#000}code,kbd,pre,samp{font-family:monospace,serif;font-size:1em}pre{white-space:pre;white-space:pre-wrap;word-wrap:break-word}q{quotes:"\201C" "\201D" "\2018" "\2019"}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:0}fieldset{border:1px
solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}button,input{line-height:normal}button,
html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],input[disabled]{cursor:default}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}


html, body {
	align-items:flex-start;
	align-content:flex-start;
	display:flex;
	flex-flow:row wrap;
	justify-content:center;
	height:auto;
	min-height:100vh;
	text-align:left;
	position: relative;
	scroll-behavior:smooth;
	width:100%;
	}
	
	@media only screen and (max-width:620px) {
	html, body {
	overflow-x:hidden;
	}}



/*---------------------------------------------------------------- 
COLORS  //////////////////////////////////////////////////////////
----------------------------------------------------------------*/
:root {

	--color-back:#f2f4f6;

	--color-white:#fff;
	--color-white-90:rgba(255, 255, 255, 0.9);
	--color-white-80:rgba(255, 255, 255, 0.8);
	--color-white-70:rgba(255, 255, 255, 0.7);
	--color-white-60:rgba(255, 255, 255, 0.6);
	--color-white-50:rgba(255, 255, 255, 0.5);
	--color-white-40:rgba(255, 255, 255, 0.4);
	--color-white-30:rgba(255, 255, 255, 0.3);
	--color-white-20:rgba(255, 255, 255, 0.2);
	--color-white-10:rgba(255, 255, 255, 0.1);

	--color-black:#000;
	--color-black-90:rgba(0, 0, 0, 0.9);
	--color-black-80:rgba(0, 0, 0, 0.8);
	--color-black-70:rgba(0, 0, 0, 0.7);
	--color-black-60:rgba(0, 0, 0, 0.6);
	--color-black-50:rgba(0, 0, 0, 0.5);
	--color-black-40:rgba(0, 0, 0, 0.4);
	--color-black-30:rgba(0, 0, 0, 0.3);
	--color-black-20:rgba(0, 0, 0, 0.2);
	--color-black-10:rgba(0, 0, 0, 0.1);

	--color-whatsapp:#25d366;
	--color-facebook:#3b5998;
	--color-instagram:#cd486b;
	--color-youtube:#ff0000;
	--color-twitter:#55acee;
	--color-x:#55acee;
	--color-linkedin:#007bb5;

	--gradient-main:linear-gradient(to top, var(--color-main) 0%, var(--color-main-soft) 180%);
	--gradient-main-soft:linear-gradient(to top, var(--color-main-softer) 0%, var(--color-white) 180%);
	--gradient-main-dark:linear-gradient(to top, var(--color-main-darker) 0%, var(--color-main) 180%);

	--gradient-second:linear-gradient(to top, var(--color-second) 0%, var(--color-second-soft) 180%);
	--gradient-second-soft:linear-gradient(to top, var(--color-second-softer) 0%, var(--color-white) 180%);
	--gradient-second-dark:linear-gradient(to top, var(--color-second-darker) 0%, var(--color-second) 180%);

	--gradient-neutro:linear-gradient(to top, var(--color-neutro-soft) 0%, var(--color-neutro) 180%);
	--gradient-neutro-soft:linear-gradient(to top, var(--color-neutro-softer) 0%, var(--color-neutro-soft) 180%);
	--gradient-neutro-dark:linear-gradient(to top, var(--color-neutro) 0%, var(--color-neutro-dark) 180%);

	--gradient-combinado-uno:linear-gradient(to right top, var(--color-main-soft) 0%, var(--color-main-softer) 40%, var(--color-second-softer) 80%);
	--gradient-combinado-dos:linear-gradient(to right top, var(--color-main) 0%, var(--color-main-soft) 40%, var(--color-second-soft) 80%);
	--gradient-combinado-tres:linear-gradient(to right top, var(--color-main-dark) 0%, var(--color-main) 40%, var(--color-second) 80%);

	--gradient-radial-uno:radial-gradient(circle at center center, #A6CEE2,  #0066B2);
	--gradient-radial-dos:radial-gradient(circle at center center, #EDC1AE,  #F26721);

	}


/*---------------------------------------------------------------- 
FONTS AND TEXTS  /////////////////////////////////////////////////
----------------------------------------------------------------*/

/* Font face
------------------------------*/
@font-face {
	font-display:swap;
	font-family: 'Montserrat';
 	font-style: normal;
	font-weight: 300;
	src: url('../assets/fonts/montserrat-v14/montserrat-v14-latin-300.woff2') format('woff2'); 
	}


/* montserrat-regular - latin */
@font-face {
	font-display:swap;
  	font-family: 'Montserrat';
 	font-style:normal;
	font-weight:400;
	src: url('../assets/fonts/montserrat-v14/montserrat-v14-latin-regular.woff2') format('woff2'); 
	}


@font-face {
	font-display:swap;
 	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 500;
	src: url('../assets/fonts/montserrat-v14/montserrat-v14-latin-500.woff2') format('woff2'); 
	}

@font-face {
	font-display:swap;
 	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 600;
	src: url('../assets/fonts/montserrat-v14/montserrat-v14-latin-600.woff2') format('woff2'); 
	}


/* Fuente primaria
------------------------------*/
html, body{
	font-family:var(--font-main);
	}


/* Fuente secundaria
------------------------------*/
h1, h2, h3, h4, h5, h6{
	font-family:var(--font-second);
	text-wrap: balance;
	}


/* Font size
------------------------------*/
html, body  {
	font-size:24px;
	}
	@media only screen and (max-width:2200px) {
	html, body {
	font-size:20px;
	}}
	@media only screen and (max-width:1500px) {
	html, body {
	font-size:18px;
	}}
	@media only screen and (max-width:920px) {
	html, body {
	font-size:16px;
	}}
	@media only screen and (max-width:720px) {
	html, body {
	font-size:15px;
	}}
	@media only screen and (max-width:820px) {
	html, body {
	font-size:14px;
	}}
	@media only screen and (max-width:620px) {
	html, body {
	font-size:16px;
	}}
	@media only screen and (max-width:520px) {
	html, body {
	font-size:15px;
	}}
	@media only screen and (max-width:420px) {
	html, body {
	font-size:14px;
	}}


/* H
------------------------------*/
h1, h2, h3, h4, h5, h6 {
	height:auto;
	margin:0px;
	padding:2px 0px;
	line-height:1em;
	width:100%;
	}



h1 {font-size:2rem;}
h2 {font-size:1.8rem;}
h3 {font-size:1.6rem;}
h4 {font-size:1.4rem;}
h5 {font-size:1.2rem;}
h6 {font-size:1rem;}




/* Párrafos
------------------------------*/
p {
	color:inherit;
	height:auto;
	line-height:1.4rem;
	margin:0px 0px;
	padding:10px 0px;
	text-align:left;
	text-wrap: pretty;
	width:100%;
	}



p strong,
p b{
	font-weight:bold;
	}

p a,
p a:hover{
	color:inherit;
	}


a.large,
p.large,
p.large a,
span.large,
span.large a {
	font-size: var(--fs-large);
	}


a.medium,
p.medium,
p.medium a,
span.medium,
span.medium a {
	font-size: var(--fs-medium);
	}

a.small,
p.small,
p.small a
span.small,
span.small a {
	font-size: var(--fs-small);
	}


p.center {
	text-align:center;
	}


p.left {
	text-align:left;
	}

p.right {
	text-align:right;
	}


/* 
------------------------------*/
div.center {
	display:flex;
	flex-flow:row wrap;
	justify-content:center;
	}


.uppercase{
	text-transform:uppercase;
	}



/* Punto suspensivos
------------------------------*/
.puntos-suspensivos{
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	}



/* txt small
------------------------------*/
.txt-small {
	color:var(--color-neutro);
	font-size:0.7rem;
	line-height:1.2rem;
	}

.txt-small > *{
	color:inherit;
	font-size:inherit;
	text-decoration:none;
	}


.txt-small > * .svg-icon{
	display:inline-block;
	height:12px;
	width:12px;
	}



p.add-columns {
	columns:2;
	column-gap:4%;
	text-align: justify;
	}
	@media only screen and (max-width:620px) {
	p.add-columns{
	columns:1;
	column-gap:0px;
	text-align:left;
	}}




/* Enlaces
------------------------------*/
a, a:visited{
	margin:0px;
	padding:0px;
	text-decoration:underline;
	}


a:hover {	
	text-decoration:underline;
	}




/* Listas
------------------------------*/
ul, ol {
	float:none;
	height: auto;
	margin:10px 0px;
	padding-left:18px;
	width:100%;
	}


ul li, 
ol li{
	float: none;
	height: auto;
	line-height:1.4em;
	margin: 0px;
	padding: 0px;
	width:100%;
	}

ul li {
	list-style:disc;
	}

ol li {
	list-style:decimal;
	}


ul li a,
ol li a{
	color:inherit;
	}



/* Fonts variables
------------------------------*/

:root {

	--fs-small:0.6rem;
	--fs-medium:0.8rem;
	--fs-regular:1rem;
	--fs-large:1.2rem;
	--fs-xlarge:1.4rem;
	--fs-xxlarge:1.6rem;

	--fw-thin:300;
	--fw-normal:400;
	--fw-bold:500;
	--fw-bolder:500;

	}





/*---------------------------------------------------------------- 
IMAGENES  ////////////////////////////////////////////////////////
----------------------------------------------------------------*/


/* IMG
------------------------------*/
img{
	display:block;
	height:auto;
	padding:0px;
	margin:0px;
	max-width:100%;
	}


img:not([alt]) {
	outline:1px dashed pink;
	}


.fancybox-content img:not([alt]) {
	outline:0px dashed pink;
	}



	
/*---------------------------------------------------------------- 
OTROS  ///////////////////////////////////////////////////////////
----------------------------------------------------------------*/



/* Box shadow
------------------------------*/
:root {

	--box-shadow:0px 0px 6px rgba(0, 0, 0, 0.1);
	--box-shadow-small:0px 0px 2px rgba(0, 0, 0, 0.2);

	}


/* iFrame
------------------------------*/
iframe {
	border:0px;
	width:100%!important;
	}



/* Lazy
------------------------------*/
.lazyloading {
	opacity: 0;
	}

.loading,
.lazyload,
.lazyloaded{
	opacity: 1;
	transition: opacity 0.8s;
	}


/* Transition
------------------------------*/
:root {

	--add-transition-very-slow:all 0.5s;
	--add-transition-slow:all 0.4s;
	--add-transition:all 0.3s;
	--add-transition-fast:all 0.2s;
	--add-transition-very-fast:all 0.1s;

		}

/*-------------------------------------------------------------------------- 
////////////////////////////////////////////////////// ---------- END GLOBAL
--------------------------------------------------------------------------*/


/*-------------------------------------------------------------------------- 
///////////////////////////////////////////////////////////////////////////
02 STRUCTURE //////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////
-------------------------------------------------------------------------*/

/* Box sizing
------------------------------*/
* {
	box-sizing:border-box!important;
	float: none;
	position:relative;
	}
	

	
/* Flexbox all
------------------------------*/
*[data-element='banner'],
*[data-element='banner'] div,
*[data-element='banner-main'],
*[data-element='banner-main'] div,
*[data-element='panel'],
*[data-element='panel'] > div:not(.modal),
footer,
footer > div {
	display:flex;
	flex-flow:row wrap;
	}



*[data-element='panel'].swiper,
.swiper[data-element='panel'] {
	display:block!important;
	}




/* Flexbox al centro
------------------------------*/
div.center,
*[data-element='panel'].center,
*[data-element='banner'].center .banner-box > *,
.banner-box.center,
.banner-box.center > *,
ul.menu.center,
section.center,
footer.center  {
	justify-content:center!important;
	}




/* Scroll bar
------------------------------*/
.container,
.main,
*[data-element='banner'],
*[data-element='banner-main'],
*[data-element='panel'], {
	scrollbar-gutter: stable;
	}




/* Gap
------------------------------*/
:root {

	--gap-main:4vw;
	--gap-second:3vw;
	--gap-inside:10px;
	--gap-inside-medium:8px;
	--gap-inside-small:6px;
}

.gap-main {
	gap:var(--gap-main);
	}

/* Panels
------------------------------*/
*[data-element='panel'] {
	padding-bottom:20px;
	padding-top:20px;
	width:100%;
	}


/* Container default
------------------------------*/
div.container {
	width:100%;
	}



/* Rounded
------------------------------*/
:root {

	--rounded:8px;
	--rounded-top:8px 8px 0px 0px;
	--rounded-bottom:0px 0px 8px 8px;
	--rounded-left:8px 0px 0px 8px;
	--rounded-right:0px 8px 8px 0px;
	--rounded-none:0px 0px 0px 0px;

	--rounded-medium:6px;
	--rounded-medium-top:6px 6px 6px 6px;
	--rounded-medium-bottom:6px 6px 6px 6px;
	--rounded-medium-left:6px 6px 6px 6px;
	--rounded-medium-right:6px 6px 6px 0px;
	--rounded-medium-none:0px 0px 0px 0px;

	--rounded-small:4px;
	--rounded-small-top:4px 4px 0px 0px;
	--rounded-small-bottom:0px 0px 4px 4px;
	--rounded-small-left:4px 0px 0px 4px;
	--rounded-small-right:0px 4px 4px 0px;
	--rounded-small-none:0px 0px 0px 0px;
	}


/*---------------------------------------------------------------- 
BLOQUES Y COLUMNAS   /////////////////////////////////////////////
----------------------------------------------------------------*/
div.bloque,
div.bloque > .col {
	gap:var(--gap-second);
	}


div.bloque {
	display:flex;
	flex-flow:row wrap;
	justify-content:flex-start;
	height:auto;
	width:100%;
	}


/* Columna
------------------------------*/
div.col {
	align-items:flex-start;
	align-content:flex-start;
	display:flex;
	flex-grow:99;
	flex-wrap:wrap;
	justify-content:flex-start;
	height:auto;
	min-width:300px;
	padding:0px;
	transition:all 0.12s;
	width:18%; /* but grow */
	}


/* Dos columnas dentro de un div
------------------------------*/
div.cols-2 > div.col {
	width:40%;
	}



/* Tres columnas dentro de un div
------------------------------*/
div.cols-3 > div.col {
	min-width:120px;
	width:28%; /* but grow */
	}



/* col aside
------------------------------*/
div.cols-aside > div.col {
	width:60%; /* but grow */
	}

div.cols-aside > div.col-aside {
	width:30%; /* but grow */
	}


/*                                       
------------------------------------  820 ---
--------------------------------------------------*/
@media only screen and (max-width:820px) {

	div.cols-3 > div.col {
	min-width:300px;
	}

}


/*                                       
------------------------------------  100% 720 ---
--------------------------------------------------*/
@media only screen and (max-width:720px) {

	div.cols-2 > div.col {
	min-width:100%;
	}

	div.cols-3 > div.col {
	min-width:100%;
	}


}



/*---------------------------------------------------------------- 
DIV IN //////////////////////////////////////////////////////////
----------------------------------------------------------------*/
.in.full,
.in-full,
.in-full-to-none{
	padding-left:3vw;
	padding-right:3vw;
	}

.in.wide,
.in-wide,
.in-wide-to-none{
	padding-left:6vw;
	padding-right:6vw;
	/*width:90vw;*/
	}


.in,
.in-to-full,
.in-to-wide,
.in-to-none{
	padding-left:10vw;
	padding-right:10vw;
	}

.in.thin,
.in-thin,
.in-thin-to-full,
.in-thin-to-wide,
.in-thin-to-none{
	padding-left:20vw;
	padding-right:20vw;
	}

/*                                       
-----------------------------------------  2200 ---
--------------------------------------------------*/
@media only screen and (max-width:2200px) {
	.in.full,
	.in-full,
	.in-full-to-none{
	padding-left:3vw;
	padding-right:3vw;
	}

	.in.wide,
	.in-wide,
	.in-wide-to-none{
	padding-left:3vw;
	padding-right:3vw;
	}

	.in,
	.in-to-full,
	.in-to-wide,
	.in-to-none{
	padding-left:10vw;
	padding-right:10vw;
	/*width:80vw;*/
	}

	.in.thin,
	.in-thin,
	.in-thin-to-full,
	.in-thin-to-wide,
	.in-thin-to-none{
	padding-left:20vw;
	padding-right:20vw;
	/*width:60vw;*/
	}

}



/*                                       
-----------------------------------------  1200 ---
--------------------------------------------------*/
@media only screen and (max-width:1200px) {
	.in.thin,
	.in-thin,
	.in-thin-to-full,
	.in-thin-to-wide,
	.in-thin-to-none{
	padding-left:15vw;
	padding-right:15vw;
	/*width:70vw;*/
	}
}


/*                                       
-----------------------------------------  1020 ---
--------------------------------------------------*/
@media only screen and (max-width:1020px) {

	.in,
	.in-to-full,
	.in-to-wide,
	.in-to-none{
	padding-left:3vw;
	padding-right:3vw;
	}
}



/*                                       
-----------------------------------------  820 ---
--------------------------------------------------*/
@media only screen and (max-width:820px) {

	.in,
	.in-to-full,
	.in-to-wide,
	.in-to-none{
	padding-left:6vw;
	padding-right:6vw;
	}

	.in.thin,
	.in-thin,
	.in-thin-to-full,
	.in-thin-to-wide,
	.in-thin-to-none{
	padding-left:10vw;
	padding-right:10vw;
	}
}


/*                                       
------------------------------------------  720 ---
--------------------------------------------------*/
@media only screen and (max-width:720px) {

	.in,
	.in-to-full,
	.in-to-wide,
	.in-to-none{
	padding-left:3vw;
	padding-right:3vw;
	}

	.in.thin,
	.in-thin,
	.in-thin-to-full,
	.in-thin-to-wide,
	.in-thin-to-non{
	padding-left:8vw;
	padding-right:8vw;
	}

}

/*                                       
------------------------------------------  620 ---
--------------------------------------------------*/
@media only screen and (max-width:620px) {

	.in-full,
	.in-to-full,
	.in-thin-to-full{
	padding-left:3vw;
	padding-right:3vw;
	}

	.in-wide,
	.in-to-wide,
	.in-thin-to-wide{
	padding-left:3vw;
	padding-right:3vw;
	}


	.in{
	padding-left:7vw;
	padding-right:7vw;
	}


	.in.thin,
	.in-thin{
	padding-left:10vw;
	padding-right:10vw;
	}

	.in-full-to-none,
	.in-wide-to-none,
	.in-to-none,
	.in-thin-to-none{
	padding-left:0vw;
	padding-right:0vw;
	}
	
}

/*                                       
------------------------------------------  520 ---
--------------------------------------------------*/
@media only screen and (max-width:520px) {
	.in{
	padding-left:5vw;
	padding-right:5vw;
	}
	.in.thin,
	.in-thin{
	padding-left:8vw;
	padding-right:8vw;
	}
}

/*                                       
------------------------------------------  420 ---
--------------------------------------------------*/
@media only screen and (max-width:420px) {
	.in{
	padding-left:3vw;
	padding-right:3vw;
	}
	.in.thin,
	.in-thin{
	padding-left:3vw;
	padding-right:3vw;
	}
}




/*---------------------------------------------------------------- 
MAS //////////////////////////////////////////////////////////////
----------------------------------------------------------------*/

/* hr
------------------------------*/
hr {
	background-color:var(--color-neutro-softer);
	border:0px;
	padding:0px;
	margin:5px 0px;
	height:1px;
	width:100%;
	}


hr.medium {
	height:3px;
	}


hr.big {
	height:5px;
	}


hr.space-2 {background-color:transparent!important; margin:1px 0px!important;}
hr.space-4 {background-color:transparent!important; margin:2px 0px!important;}
hr.space-6 {background-color:transparent!important; margin:3px 0px!important;}
hr.space-8 {background-color:transparent!important; margin:4px 0px!important;}
hr.space-10 {background-color:transparent!important; margin:5px 0px!important;}
hr.space-20 {background-color:transparent!important; margin:10px 0px!important;}
hr.space-30 {background-color:transparent!important; margin:15px 0px!important;}
hr.space-40 {background-color:transparent!important; margin:20px 0px!important;}
hr.space-60 {background-color:transparent!important; margin:30px 0px!important;}
hr.space-80 {background-color:transparent!important; margin:40px 0px!important;}


hr.space-grow {
	background:none;
	display:flex;
	flex-flow:row wrap;
	flex-grow:999;
	width:0%;
	}	


/* Al 100%
------------------------------*/
.w100 {width:100%!important;}



/* Al 50%
------------------------------*/
.w50 {width:50%;}




/* Formulario
------------------------------*/
.formulario {
	height:auto;
	width:100%;
	}

/*------------------------------------------------------------------------- 
////////////////////////////////////////////////// ---------- END STRUCTURE
-------------------------------------------------------------------------*/

/*-------------------------------------------------------------------------- 
////////////////////////////////////////////////////////////////////////////
03 HEADER /////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////
-------------------------------------------------------------------------*/

/*

import from: codex/header/css-header.css

*/


/*-------------------------------------------------------------------------- 
/////////////////////////////////////////////////// ---------- / END HEADER
--------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------- 
///////////////////////////////////////////////////////////////////////////
04 BANNERS  ///////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////
-------------------------------------------------------------------------*/
/*---------------------------------------------------------------- 
--- BANNERS ALL //////////////////////////////////////////////////
----------------------------------------------------------------*/
*[data-element='banner'] .inside,
*[data-element='banner-main'] .inside  {
	overflow:hidden;
	}


*[data-element='banner'] .panel,
*[data-element='banner-main'] .panel {
	overflow:hidden;
	}


/*---------------------------------------------------
//////////          BANNER BOX             //////////
---------------------------------------------------*/
.banner-box {
	align-items:center;
	align-content:center;
	display:flex;
	flex-flow:row wrap;
	gap:var(--gap-inside-small);
	height:auto;
	justify-content:flex-start;
	z-index:10;
	/* width:auto; */
	}

.banner-box .title{
	padding:0px;
	margin:0px;
	}

.banner-box .subtitle{
	padding:0px;
	margin:0px;
	}

.banner-box > p{
	text-align:left;
	padding:0px;
	margin:0px;
	}


.banner-box > *:not(a){
	width:100%;
	}



/* If center
------------------------------------------*/
 .banner-box.center{
	justify-content:center;
	}

.banner-box.center > * {
	text-align: center;
	}



/*                                       
-------------------------------------  MOVIL 620 ---
--------------------------------------------------*/
@media only screen and (max-width:620px) {

	.banner-box{
	padding:20px 5vw;
	width:100%;
	z-index:99;
	}

	.banner-box > *:not(a){
	width:100%;
	}

}


/*---------------------------------------------------------------- 
--- BANNERS MOVIL OPTIONS ///////////////////////////////////////
----------------------------------------------------------------*/

@media only screen and (max-width:620px) {

/*---------------------------------------------------
//////////           MOVIL OPACITY         //////////
---------------------------------------------------*/

*[data-element='banner-main'].movil-opacity picture.ima-main,
*[data-element='banner'].movil-opacity picture.ima-main{
	opacity:0.4!important;
	}




/*---------------------------------------------------
//////////           MOVIL GRADIENT         //////////
---------------------------------------------------*/

*[data-element='banner-main'].movil-gradient .inside,
*[data-element='banner'].movil-gradient .inside{
	padding:0px 0px;
	}

*[data-element='banner-main'].movil-gradient .banner-box,
*[data-element='banner'].movil-gradient .banner-box{
	background-image:linear-gradient(to bottom, var(--color-black-20) 40%, var(--color-black) 102%);
	align-content:flex-end;
	height:100%;
	width:100%;
	}

/* neutralizamos if animated  */
*[data-element='banner-main'].movil-gradient .banner-box.animate,
*[data-element='banner'].movil-gradient .banner-box.animate{
	transform: translateY(0px)!important;
	}






/*---------------------------------------------------
//////////             MOVIL BOX           //////////
---------------------------------------------------*/
*[data-element='banner-main'].movil-box .inside{
	padding-bottom:0px;
	padding-left:0px;
	padding-right:0px;
	width:100%;
	}

/* to bottom */
*[data-element='banner-main'].movil-box .inside,
.banner-duopanel.movil-box .panel-1,
.banner-background.movil-box .col-uno{
	align-content:flex-end!important;
	}


/* box*/
*[data-element='banner-main'].movil-box .banner-box{
	background-color:var(--color-black-50);
	width:100%;
	}


/* neutralizamos if animated  */
*[data-element='banner-main'].movil-box .banner-box.animate,
*[data-element='banner'].movil-box .banner-box.animate{
	transform: translateY(0px)!important;
	}

/*---------------------------------------------------
//////////            MOVIL BLOCK          //////////
---------------------------------------------------*/

*[data-element='banner-main'].movil-block .inside{
	padding-bottom:0px;
	padding-left:0px;
	padding-right:0px;
	width:100%;
	}

/* to bottom */
*[data-element='banner-main'].movil-block .inside,
.banner-duopanel.movil-block .panel-1,
.banner-background.movil-block .col-uno{
	align-content:flex-end!important;
	}


/* box*/
*[data-element='banner-main'].movil-block .banner-box{
	width:100%;
	}

/* neutralizamos if animated  */
*[data-element='banner-main'].movil-block .banner-box.animate,
*[data-element='banner'].movil-block .banner-box.animate{
	opacity:1.0!important;
	transform: translateY(0px)!important;
	}



}





/*-------------------------------------------------------------------------- 
////////////////////////////////////////////////// ---------- / END BANNERS
--------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------- 
///////////////////////////////////////////////////////////////////////////
05 PANELS  ////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////
-------------------------------------------------------------------------*/
/*---------------------------------------------------------------- 
--- PANELS ALL //////////////////////////////////////////////////
----------------------------------------------------------------*/
*[data-element='panel'] .inside {
	overflow:hidden;
	}


*[data-element='panel'] .col {
	overflow:hidden;
	}


*[data-element='panel'] .item {
	transition:var(--add-transition-slow)!important;
	}





/*---------------------------------------------------------------- 
--- PANEL ITEMS //////////////////////////////////////////////////
----------------------------------------------------------------*/

.panel-items-flex{
	align-items:stretch;
	display:flex;
	flex-flow:row wrap;
	gap:var(--gap-second);
	justify-content:center;
	width:100%;
	}

/* temp */
.panel-items-flex .item{
	flex-grow:0!important;
	min-width:300px;
	width:30%!important;
	}

/*                                       
------------------------------------  MOVIL 1020 ---
--------------------------------------------------*/
@media only screen and (max-width:1020px) {

	.panel-items-flex .item{
		min-width:0px;
		flex-grow:9!important;
		width:25%!important;
		}
}


/*                                       
------------------------------------  MOVIL 620 ---
--------------------------------------------------*/
@media only screen and (max-width:620px) {

	.panel-items-flex .item{
		width:100%!important;
		}
}



/*---------------------------------------------------------------- 
--- PANEL ITEMS GRID /////////////////////////////////////////////
----------------------------------------------------------------*/

.panel-items-grid{
	align-items:stretch;
	display:grid;
	grid-gap:1.6vmax;/*set*/
	grid-template-columns:repeat(auto-fill, minmax(320px, 1fr)); /*set*/
	margin-bottom:10px;/*delete*/
	width:100%;
	}


/*-------------------------------------------------------------------------- 
/////////////////////////////////////////////////// ---------- / END PANELS
--------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------- 
///////////////////////////////////////////////////////////////////////////
06 ELEMENTOS //////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////
-------------------------------------------------------------------------*/

/*---------------------------------------------------------------- 
--- ELEMENTOS MOVIL //////////////////////////////////////////////
----------------------------------------------------------------*/

/*---------------------------------------------------
//////////         BUTTON MOVIL           //////////
---------------------------------------------------*/

.btn-movil,
.btn-movil + label{
	display:none!important;
	}


.btn-close-menu-movil{
	display:none!important;
	}


/*  Mostrar a partir de este tamaño                                      
------------------------------------  MOVIL 620 ---
--------------------------------------------------*/
@media only screen and (max-width:1px) {


	/* Button movil
	------------------------------*/
	.btn-movil,
	.btn-movil + label{
		display:noe!important;
		}


	/* Button movil
	------------------------------*/
	.btn-close-menu-movil{
		display:none!important; /*ocultamos*/
		}


	/* Block opacity
	------------------------------*/
	div.block-opacity {
		background-color:var(--color-black);
		display:block;
		height:100vh;
		opacity:0.0;
		transition:all 0.18s;
		position:fixed!important;
		bottom:0px;
		left:0px;
		right:0px;
		top:0px;
		max-width:100%;
		transition:all 0.16s;
		transition-delay:0.16s;
		visibility:hidden;
		width:100vw;
		z-index:0;
		}


	/* Block opacity show
	------------------------------*/
	div.block-opacity.show{
		display:block;
		visibility:visible!important;
		position:fixed!important;
		opacity:0.6!important;
		}


	/* Lock body
	------------------------------*/
	body.lock{
		position:fixed!important;
		}


/*---------------------------------------------------
//////////    MOVIL MENU PANEL (NAV)      //////////
---------------------------------------------------*/

	/* Panel nav
	------------------------------*/
	header.movil-menu-panel nav,
	ul.menu-dropdown {
		align-content:center;
		align-items:center;
		display:flex;
		flex-flow:row wrap;
		height:auto;
		gap:var(--gap-inside);
		min-height:100vh!important;
		justify-content:flex-start;
		margin:0px;
		overflow-y:scroll;
		padding:40px 8vw!important;
		}


	/*  Revertimos ?¿
	------------------------------*/
	ul.menu-dropdown  {
		height:auto;
		bottom:auto!important;
		left:0px;
		right:0px;
		top:0px;
		}



	/* Nav ul
	------------------------------*/
	header.movil-menu-panel nav > ul,
	ul.menu-dropdown {
		align-items:center;
		align-content: center;
		justify-content:flex-start;
		flex-flow:row wrap;
		gap:var(--gap-inside);
		max-width:100%;
		margin:0px;
		padding:0px;
		width:100%;
		}


	/* Nav ul li
	------------------------------*/
	header.movil-menu-panel nav > ul li,
	ul.menu-dropdown li{
		display:flex;
		flex-wrap:wrap;
		justify-content:flex-start!important;
		margin:0px;
		padding:0px;
		width:100%!important;
		}


	/* Botones
	------------------------------*/
	header.movil-menu-panel nav > ul > li > *:not(ul),
	header.movil-menu-panel nav > ul > li > *:not(ul):hover,
	ul.menu-dropdown li > *,
	ul.menu-dropdown li > *:hover{
		align-items:center;
		align-content:center;
		display:flex;
		margin:0px 0px;
		text-align:left;
		width:100%;
		}

	/* Separator
	------------------------------*/
	header.movil-menu-panel nav > ul > li[data-element="separator"] {
		display:none;
		}


/*---------------------------------------------------
//////////         MOVIL ACTIONS           //////////
---------------------------------------------------*/


	/* Z index
	------------------------------*/
	header.slide-to-left div.block-opacity {z-index:9;}
	header.slide-to-left nav {z-index:10;}


	/* Transition
	------------------------------*/
	header.slide-to-left nav{
		transition-timing-function:ease-in-out;
		transform:translateX(80vw);
		position:fixed!important;
		transition:all 0.22s;
		bottom:0px;
		left:auto;
		right:0px;
		top:0px;
		width:80vw!important;
		}

	/*----- slide left (script.js)  ------*/
	header.slide-to-left  nav.show{
		opacity:1.0!important;
		position:fixed!important;
		transform:translateX(0vw)!important;
		}


} 

/* ---- END MOVIL */




	
/*---------------------------------------------------------------- 
--- VARIOS  //////////////////////////////////////////////////////
----------------------------------------------------------------*/

/*---------------------------------------------------
//////////            LIST ICON           //////////
---------------------------------------------------*/
ul.list-icon{
	align-items:flex-start;
	display:flex;
	flex-wrap:wrap;
	justify-content:flex-start;
	list-style:none;
	padding:0px;
	flex-direction:column;
	width:100%;
	}


ul.list-icon li{
	align-items:flex-start;
	display:flex;
	flex-wrap:wrap;
	height:auto;
	justify-content:space-between;
	line-height:20px;
	list-style:none;
	margin:0px 0px 8px 0px;
	width:100%;
	}



ul.list-icon li .svg-icon{
	fill:var(--color-black);
	height:20px;
	line-height:20px;
	width:20px;
	}


ul.list-icon li span{
	display: block;
	width:calc(100% - 26px);
	}


/*---------------------------------------------------
//////////             LIST TAG            //////////
---------------------------------------------------*/
ul.list-tag{
	align-items:flex-start;
	display:flex;
	flex-wrap:wrap;
	justify-content:flex-start;
	list-style:none;
	padding:0px;
	flex-direction:column;
	width:100%;
	}


ul.list-tag{
	flex-direction:row;
	padding:0px;
	}


ul.list-tag li{
	background-color:var(--color-neutro-softer);
	color:var(--color-neutro);
	display:block;
	font-size:0.6em;
	font-weight:bold;
	margin:4px 4px 0px 0px;
	padding:0px 10px;
	text-transform:uppercase;
	width:auto;
	}

ul.list-tag li,
ul.list-tag li a{
	display:flex;
	flex-wrap:wrap;
	flex-direction:row;
	justify-content:center;
	border-radius:13px;
	height:26px;
	line-height:26px;
	}


ul.list-tag li a{
	color:inherit;
	font-size:inherit;
	text-decoration:none;
	width:100%;
	}

ul.list-tag li a:hover{
	color:inherit;
	font-size:inherit;
	text-decoration:none;	
	}

ul.list-tag li .svg-icon{
	height:26px;
	width:26px;
	}




/*---------------------------------------------------
//////////            SOCIAL BAR          //////////
---------------------------------------------------*/

/*    @import url('stock-css/social-bar.css');    */



/*---------------------------------------------------
//////////              MODALS           //////////
---------------------------------------------------*/


/* title
------------------------------*/
.modal > .title {
	background-color:var(--color-main);
	color:var(--color-white);
	padding:16px 0px;
	}


.modal .inside > .subtitle {
	color:var(--color-main);
	}




/* Modal Ok
------------------------------*/
.modal.ok .title {
	background-color:var(--color-ok);
	color:var(--color-ok-softer);
	}



/* Warning o error
------------------------------*/
#modal-eliminar .title,

.modal-warning .title,
.modal-warning .menu-actions li > input[type=submit] + label,
#modal-eliminar .menu-actions li > input[type=submit] + label,

.modal.warning .title,
.modal.warning .menu-actions li > input[type=submit] + label,

.title.warning,
.menu-actions.warning li > input[type=submit] + label {
	background-color:var(--color-warning)!important;
	color:var(--color-warning-softer)!important;
	}



/* ----------------------------------------
-----------------------------------BASE ---
-----------------------------------------*/
.modal{
	max-width:680px;
	}
  

.modal.wide{
	max-width:780px;
	}
  

 .modal > .title {
	font-size:0.8rem;
	font-weight:bold;
	text-align:center;
	text-transform:uppercase;
	width:100%;
	}


.modal .inside{
	display:flex;
	flex-flow:row wrap;
	height: auto;
	gap:var(--gap-inside);
	padding:40px 5vw 20px 5vw;
	width:100%!important;
	}


.modal .inside > .subtitle {
	font-size:0.8rem;
	font-weight:bold;
	text-align:center;
	text-transform:uppercase;
	width:100%;
	}



.modal p {
	color:inherit;
	margin:0px;
	padding:0px;
	text-align:center;
	}










/* Modal Info
------------------------------*/
.modal.info .title {
	background-color:var(--color-neutro-dark);
	color:var(--color-neutro-softer);
	}





/* Nuevo
------------------------------*/
.modal.nuevo .inside{

	}

.modal.nuevo .title {
	background-color:var(--color-main);
	color:var(--color-white-80);
	}







/* Actions
------------------------------*/
.modal.actions .inside{
	padding:40px 40px 8px 40px;
	}

.modal.actions .title {
	background-color:var(--color-main);
	color:var(--color-white-80);
	}




/* Google maps
------------------------------*/
.modal.googlemap .inside,
.inside.googlemap{
	height: auto;
	padding:20px 20px;
	}


.modal.googlemap iframe,
.inside.googlemap iframe{
	aspect-ratio: 3 / 2;
	margin:0px;
	outline:0px;
	padding:0px;
	width:100%;
	}
	@media only screen and (max-width:620px) {
	.modal.googlemap .inside,
	.inside.googlemap{
	padding:0px 0px;
	}

	.modal.googlemap,
	.inside.googlemap{
	height:80vh;
	}
	.modal.googlemap iframe,
	.inside.googlemap iframe{
	aspect-ratio: initial;
	height:80vh!important;
	}}





/* Modal menu
------------------------------*/
.modal ul.menu-actions{
	justify-content:center;
	}



/* Close modal
------------------------------*/
.modal .close-modal {
	top:10px!important;
	right:10px!important;
	}



/*---------------------------------------------------
//////////              TAB BOX            //////////
---------------------------------------------------*/

/*    @import url('stock-css/tab-box.css');    */



/*---------------------------------------------------
//////////          FIRST ELEMENT         //////////
---------------------------------------------------*/
@media only screen and (max-width:620px) {
	.first{
	margin-top:62px; /* = Tamaño de header movil */
	}
}


/*---------------------------------------------------
//////////             ESCONDER           //////////
---------------------------------------------------*/
.ocultar,
.esconder,
.hide {
	display:none;
	}

/*---------------------------------------------------
//////////              FIRMA              //////////
---------------------------------------------------*/
.firma {
	align-items:flex-end;
	display:flex;
	flex-flow:column wrap;
	flex-grow:9;
	font-size:10px;
	gap:8px;
	line-height:1.2em;
	justify-content:flex-end;
	opacity:0.5;
	text-decoration:none;
	margin-top:40px;
	max-width:auto;
	width:auto;
	}



.firma span{
	text-transform:none;
	}



.firma  a{
	background-color:var(--color-neutro);
	color:var(--color-neutro-softer);
	font-weight:bold;
	text-decoration:none!important;
	padding:2px 5px;
	}

/*-------------------------------------------------------------------------- 
///////////////////////////////////////////////// ---------- / END ELEMENTOS
--------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------- 
////////////////////////////////////////////////////////////////////////////
07 SECCIONES  //////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////
-------------------------------------------------------------------------*/



/*-------------------------------------------------------------------------- 
//////////////////////////////////////////////// ---------- / END SECCIONES
--------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------- 
////////////////////////////////////////////////////////////////////////////
08 MENU & INPUTS  //////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////
-------------------------------------------------------------------------*/

/* (import: assets/css-inputs.css) */

/*-------------------------------------------------------------------------- 
////////////////////////////////////////////// ---------- / END MENU INPUTS
--------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------- 
////////////////////////////////////////////////////////////////////////////
09 FOOTER /////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////
-------------------------------------------------------------------------*/

/* General
------------------------------*/
footer{
	align-items:stretch;
	align-items:flex-start;
	display:flex;
	flex-flow:row wrap;
	font-size:0.8rem;
	gap:var(--gap-second);
	height:auto;
	max-width:100%;
	overflow-x:hidden;
	padding-bottom:40px;
	padding-top:40px;
	width:100%;
	}


/* Cols
------------------------------*/
footer .col{
	min-width:180px!important;
	width:20%;
	}


footer .col-1{
	order:1;
	}

footer .col-2{
	order:2;
	}

footer .col-3{
	order:3;
	}

footer .col-4{
	order:4;
	}



/* IF: Col Logotipo
------------------------------*/
footer .col-logotipo{
	justify-content:flex-start;
	min-width:180px!important;
	}


footer .col .logotipo{
	display:block;
	height:auto;
	width:120px;
	}

footer .col .logotipo img{
	height:auto;
	width:100%;
	}




/* Parrafo
------------------------------*/
footer.col p{
	height:auto;
	line-height:1.6em;
	padding:0px;
	width:100%;
	}


/* Links
------------------------------*/
footer p a{
	text-decoration:none;
	}
footerp a:hover{
	text-decoration:underline;
	}





/* Col last
------------------------------*/
footer .col-last{
	justify-content:flex-end;
	min-width:160px!important;
	}


footer .col-last ul.social-bar{
	justify-content:flex-end;
	}


footer .col-last .firma{
	align-self: flex-end;
	}









/*                                       
-----------------------------------------  820 ---
--------------------------------------------------*/
@media only screen and (max-width:820px) {

	footer .col-logotipo{
		order:1;
		margin-bottom:20px;
		width:100%!important;
		}
}



/*                                       
-----------------------------------------  720 ---
--------------------------------------------------*/
@media only screen and (max-width:720px) {


	footer .col{
		order:1;
		width:100%!important;
		}

	footer .col-logotipo{
		order:1;
		width:100%;
		}


	footer .col-last{
		width:100%!important;
		justify-content:flex-end;
		}

	footer .col-last ul.social-bar{
		justify-content:flex-start;
		}

	footer .col-last .firma{
		align-items:flex-start;
		justify-content:flex-start;
		}

}


/*-------------------------------------------------------------------------- 
/////////////////////////////////////////////////// ---------- / END FOOTER
--------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------- 
//////////////////////////////////////////////////////////////////////////
10 EXTRAS  ///////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////
-------------------------------------------------------------------------*/

/*------------------------------------------------------------------------ 
--- ANIMATION ////////////////////////////////////////////////////////////
------------------------------------------------------------------------*/
/* -------------------------------------
+++     TO FADE      //////////////////
-------------------------------------*/
* .animate.to-fade{
	transition:var(--add-transition)!important;
	opacity:0.0;
	}

* .animated.to-fade{
	opacity:1.0!important;
	}
/* -------------------------------------
+++     TO TOP      //////////////////
-------------------------------------*/
.animate.to-top{
	transition:var(--add-transition)!important;
	transform: translateY(40px);
	opacity:0.0;
	}

.animated.to-top{
	opacity:1.0!important;
	transform: translateY(0px);
	}

/* -------------------------------------
+++     TO RIGHT      /////////////////
-------------------------------------*/
.animate.to-right{
	transition:var(--add-transition);
	transform: translatex(-40px);
	opacity:0.0;
	}

.animated.to-right{
	opacity:1.0!important;
	transform: translatex(0px);
	}


/*-------------------------------------------------------------------------- 
/////////////////////////////////////////////////// ---------- / END EXTRAS
--------------------------------------------------------------------------*/













/*-------------------------------------------------------------------------- 
///////////////////////////////////////////////////////////////////////////
AREA //////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////
-------------------------------------------------------------------------*/

/*------------------------------------------------------------------------ 
CATEGORIA ////////////////////////////////////////////////////////////////
------------------------------------------------------------------------*/

/*---------------------------------------------------------------- 
--- DIVISIÓN  ///////////////////////////////////////////////////
----------------------------------------------------------------*/

/*---------------------------------------------------------------- 
PANEL ////////////////////////////////////////////////////////////
----------------------------------------------------------------*/

/*---------------------------------------------------
////////////      BLOQUE O PATRON       ////////////
---------------------------------------------------*/

/* -------------------------------------
+++     VARIACION      ////////////////
-------------------------------------*/

/*                                       
------------------------------------------- 720 ---
--------------------------------------------------*/


/* item
------------------------------*/

/* item
------------------------------*/



/* ---- separador --- */



/* ----------------------------------------
-----------------------------------BASE ---
-----------------------------------------*/


/* ---------------------------------------
-------------------------- VARIACIONES ---
----------------------------------------*/

/*--------------------------------------
+ VARICION /////////////////////////////
--------------------------------------*/

