/*-------------------------------------------------------------------------- 
///////////////////////////////////////////////////////////////////////////
01 GLOBAL /////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////
-------------------------------------------------------------------------*/
/*------------------------------------------------------------------------ 
01 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;
	}}



/*------------------------------------------------------------------------ 
01 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-ubicacion:#ea4335;
	--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);

	}

/*------------------------------------------------------------------------ 
01 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;
	}

/* label
------------------------------*/
label {
	font-size:inherit;
	font-family:inherit;
	font-weight:inherit;
	}


/* 
------------------------------*/
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;

	}


/* ------------------------------------
---     TITLES DEFAULT  ///////////////
-------------------------------------*/
* .title {
	text-wrap: pretty;
	}



.title.center,
.title-1.center,
.title-2.center,
.title-3.center,
.subtitle.center,
.subtitle-1.center,
.subtitle-2.center,
.subtitle-3.center{
	justify-content:center;
	text-align:center;
	}


body#instalaciones .title-2,
body#nosotros .title-2,
body#servicios .title-2{
    padding: 40px 0px 10px 0px;
    background-color: var(--color-main-softer);
    }

body#nosotros .title-2{
    padding: 40px 0px 20px 0px;
    background-color: var(--color-main-softer);
    }


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


/* 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;
	}




/* 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.4s;
	}


/* 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 //////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////
-------------------------------------------------------------------------*/
/*------------------------------------------------------------------------ 
02 GENERAL  //////////////////////////////////////////////////////////////
------------------------------------------------------------------------*/


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

	
/* Flexbox all
------------------------------*/
*[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-inside-medium:8px;
	--gap-inside-small:6px;
	--gap-main:4vw;
	--gap-second:3vw;
	--gap-inside:12px;
	--gap-medium:8px;


	--gap-1x:1vw;
	--gap-2x:2vw;
	--gap-3x:3vw;
	--gap-4x:4vw;
	--gap-small:6px;
	--gap-very-small:4px;
}


.gap-1x {
	gap:var(--gap-1x);
	}
.gap-2x {
	gap:var(--gap-2x);
	}
.gap-3x {
	gap:var(--gap-3x);
	}
.gap-4x {
	gap:var(--gap-3x);
	}


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

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

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

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


/* Margins
------------------------------*/
:root {

	--margin-top-main:4vw;
	--margin-bottom-main:4vw;

	--margin-top-second:3vw;
	--margin-bottom-second:3vw;

	--margin-top-inside:12px;
	--margin-bottom-inside:12px;

	--margin-top-inside-medium:8px;
	--margin-top-inside-small:6px;

	--margin-top-medium:8px;
	--margin-bottom-medium:8px;

	--margin-top-small:6px;
	--margin-bottom-small:6px;

	--margin-top-very-small:4px;
	--margin-bottom-very-small:4px;
}


.margin-top-main {
	margin-top:var(--margin-top-main);
	}


.margin-top-second {
	margin-top:var(--margin-top-second);
	}

.margin-top-inside {
	margin-top:var(--margin-top-inside);
	}


.margin-top-medium {
	margin-top:var(--margin-top-medium);
	}

.margin-top-small {
	margin-top:var(--margin-top-small);
	}


.margin-top-very-small {
	margin-top:var(--margin-top-very-small);
	}


.margin-bottom-main {
	margin-bottom:var(--margin-bottom-main);
	}


.margin-bottom-second {
	margin-bottom:var(--margin-bottom-second);
	}

.margin-bottom-inside {
	margin-bottom:var(--margin-bottom-inside);
	}


.margin-bottom-medium {
	margin-bottom:var(--margin-bottom-medium);
	}

.margin-bottom-small {
	margin-bottom:var(--margin-bottom-small);
	}


.margin-bottom-very-small {
	margin-bottom:var(--margin-bottom-very-small);
	}

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


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


/* Article default
------------------------------*/
article {
	display:flex;
	flex-flow:row wrap;
	gap:var(--gap-inside);
	height:auto;
	width:100%;
	}





/* ------------------------------------
---     ROUNDED  ///////////////////
-------------------------------------*/

:root {

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

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

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

	--rounded-1x:2px;
	--rounded-2x:4px;
	--rounded-3x:6px;
	--rounded-4x:8px;
	--rounded-5x:10px;
	--rounded-6x:12px;

	}

.rounded, .rounded-items .item{border-radius:var(--rounded);}
.rounded-medium, .rounded-medium-items .item{border-radius:var(--rounded-medium);}
.rounded-small, .rounded-small-items .item{border-radius:var(--rounded-small);}

.rounded-1x, .rounded-1x-items .item {border-radius:var(--rounded-1x);}
.rounded-2x, .rounded-2x-items .item {border-radius:var(--rounded-2x);}
.rounded-3x, .rounded-3x-items .item {border-radius:var(--rounded-3x);}
.rounded-4x, .rounded-4x-items .item {border-radius:var(--rounded-4x);}
.rounded-5x, .rounded-5x-items .item {border-radius:var(--rounded-5x);}
.rounded-6x, .rounded-6x-items .item {border-radius:var(--rounded-6x);}





/*------------------------------------------------------------------------ 
02 BLOQUES Y COLUMAS  ///////////////////////////////////////////////////
------------------------------------------------------------------------*/

div.bloque,
div.bloque > .col {
	gap:var(--gap-second);
	}


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



/* ------------------------------------
---     COLUMNA DEFAULT  /////////////
-------------------------------------*/
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 */
	}




/* ------------------------------------
---     INSERTAR DOS COLUMNAS  ///////
-------------------------------------*/
.insert-cols-2 > .col {
	width:40%;
	}



/* ------------------------------------
---     INSERTAR TRES COLUMNAS  ///////
-------------------------------------*/
.insert-cols-3 > .col {
	min-width:120px;
	width:28%;
	}




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

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



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

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

}


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

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

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


}



/* ------------------------------------
---     IMG-COVER  ///////////////////
-------------------------------------*/
.img-cover > picture{
	height:auto;
	overflow:hidden;
	position:absolute;
	bottom:0px;
	left:0px;
	right:0px;
	top:0px;
	width:auto;
	z-index:1;
	}


.img-cover > picture img,
.img-cover > img{
	height:100%;
	width:100%;
	object-fit:cover;
	object-position:center center;
	}


/* ------------------------------------
---     INSIDE  ///////////////////
-------------------------------------*/
.inside{
	align-items:center;
	display:flex;
	flex-flow:row wrap;
	justify-content:center;
	height:auto;
	overflow:hidden;
	position:relative;
	width:100%;
	}


/*------------------------------------------------------------------------ 
02 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-thin,
.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,
	.in-to-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,
	.in-to-thin{
	padding-left:9vw;
	padding-right:9vw;
	}
}

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



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

/* hr
------------------------------*/
hr,
hr.wp-block-separator {
	background-color:var(--color-neutro-softer)!important;
	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%;
	}



/* Content visibility
------------------------------*/
*[data-element='panel'] img,
*[data-element='panel'] svg,
footer img,
.svg-icon,
video,
iframe{
	content-visibility: auto;
	}


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

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


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

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

/* 03 z-index
------------------------------*/
.movil-panel-menu.show {z-index:12;}
div.block-opacity.show {z-index:11;}
header {z-index:10!important;}
.movil-panel-menu {z-index:0;}
div.block-opacity {z-index:0;}


/* --------------------------------------------------
------------------------------------------- BASE ---
---------------------------------------------------*/
/* 00 - Z index y order
------------------------------*/
header {z-index:99;}
header .logotipo {z-index:2;}
header nav {z-index:1;}



/* 01 General
------------------------------*/
header {
	align-items:center;
	align-content:center;
	display:flex;
	flex-flow:row wrap;
	height:auto;
	justify-content:space-between;
	gap:var(--gap-inside);
	max-width:100%;
	overflow-x:visible;/* necesary */
	width:100%;
	}




/* Altura
------------------------------*/
header {
	height:120px;
	}



/* Logotipo
------------------------------*/
header a.logotipo{
	align-items:center;
	display:flex;
	flex-flow:row wrap;
	flex-grow:0;
	height:auto;
	justify-content:center;
	width:auto;
	}



/*  Logotipo size
------------------------------*/
header a.logotipo img{
	display:flex;
	/*height:60px;*/
	height:auto;	
	width:193px;	
	}



/*--------------------------------------------------
NAV ////////////////////////////////////////////////
---------------------------------------------------*/
header nav{
	align-items:center;
	align-content:center;
	display:flex;
	flex-flow:row wrap;
	flex-grow:9;
	justify-content:flex-end;
	height:auto;
	position:relative;
	width:auto;
	}




/* NAV UL
------------------------------*/
header nav > ul {
	align-items:center;
	align-content:center;
	display:flex;
	flex-direction:row;
	flex-wrap:wrap;
	flex-grow:9;
	gap:var(--gap-inside-small);
	justify-content:flex-end;
	list-style:none;
	margin:0px;	
	padding:0px;
	width:auto;
	}



/* NAV UL LI
------------------------------*/
header nav > ul > li,
ul.menu-dropdown > li{
	align-items:center;
	align-content:center;
	display:flex;
	flex-flow:row wrap;
	height:auto;
	justify-content:center;
	list-style:none;
	margin:0px;	
	padding:0px;
	position:relative;
	text-align:center;
	width:auto;
	}



/* Buttons
------------------------------*/
header nav > ul > li > *:not( ul, .button){
	align-items:center;
	align-content:center;
	cursor:pointer;
	display:flex;
	flex-flow:row wrap;
	gap:var(--gap-inside-small);
	height:40px;
	line-height:40px;
	justify-content:flex-start;
	margin:0px;
	overflow:hidden;
	padding:0px 8px;
	position:relative;
	transition:var(----add-transition-very-fast);
	text-decoration:none;
	text-overflow:ellipsis!important;
	user-select: none;
	white-space:nowrap;
	width:auto;
	}



header nav > ul > li > a {
	cursor:pointer;
	}

header nav > ul > li > a:hover{
	text-decoration:none;
	}



/* Buttons + icons
------------------------------*/
header nav > ul > li > *:not(.button) .svg-icon,
ul.menu-dropdown > li > * .svg-icon,
ul.menu-dropdown li[data-seccion='back'] > label .svg-icon{
	height:26px;
	width:26px;
	}


/* Separator
------------------------------*/
header nav > ul > li[data-element='separator']{
	margin:0px 10px;
	min-width:1px;
	width:1px!important;
	}



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

	header{
		height:100px;
		}

}



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

	header{
		height:90px;
		}

}



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

	header{
		height:90px;
		}

}



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

	header a.logotipo img{
		height:auto;
		width:139px;
		}

}



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

	header a.logotipo img{
		width:170px;
		}

}




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

	header {
		height:70px;
		position:initial;
		left:0px;
		top:0px;
		}

	header a.logotipo img{
		width:170px;
		}


}







/*                                       
----------------------------  BREAK BTN MOVIL 920 ---
--------------------------------------------------*/




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



	header li:not(li[data-element='btn-whatsapp']){
		display:none;
	}


}

/*                                       
----------------------------  BREAK TO MOVIL 420 ---
--------------------------------------------------*/
@media only screen and (max-width:520px) {



	header li[data-element='btn-whatsapp']{
		display:none;
	}


}

























/* --------------------------------------------------
---------------------------------- IF CENTER BASE ---
---------------------------------------------------*/
/*

1 ... Agregar la clase center a header
2 ... Agregar segundo menu (ul) dentro de nav


*/
/* 00 - Z index y order
------------------------------*/

header.center nav ul.menu-1 {order:3;}
header.center nav .logotipo {order:2;}
header.center nav ul.menu-2 {order:1;}



header.center  {
	justify-content:space-between;!important;
	}



/* Logotipo
------------------------------*/
header.center .logotipo {
	margin-left:-100px;
	position:absolute;
	bottom:auto;
	top:10px;
	left:50%;
	right:auto;
	}


/* nav
------------------------------*/
header.center > nav{
	justify-content:space-between;
	}


header.center > nav > ul  {
	border:1px solid red;
	max-width:38%;
	width:30%;
	}

header.center > nav > ul.menu-1  {
	justify-content:flex-start;
	}

header.center > nav > ul.menu-2  {
	justify-content:flex-end;
	}


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

	header.center .logotipo {
		margin-left:0px;
		position:relative;
		bottom:auto;
		top:auto;
		left:auto;
		right:auto;
		}

	header.center > nav{
		justify-content:flex-start;
		}
	
	header.center > nav > ul  {
		max-width:100%;
		width:100%;
		}



}



/*---------------------------------------------------
//////////             MENU MOVIL       //////////
---------------------------------------------------*/

/* Panel nav
------------------------------*/
ul.menu-movil,
ul.menu-dropdown {
		align-items:center;
		align-content: center;
		display:flex;
		justify-content:flex-start;
		flex-flow:row wrap;
		height:auto;
		gap:var(--gap-inside-small);
		list-style:none;
		max-width:100%;
		margin:0px;
		padding:0px;
		width:100%;
		}



ul.menu-movil li,
ul.menu-dropdown li{
	align-items:center;
	align-content:center;
	display:flex;
	flex-flow:row wrap;
	height:auto;
	justify-content:flex-start;
	margin:0px;
	padding:0px;
	width:100%;
	}



ul.menu-movil > li > *:not(ul),
ul.menu-movil > li > *:not(ul):hover,
ul.menu-dropdown li > *,
ul.menu-dropdown li > *:hover{
	align-items:center;
	align-content:center;
	cursor:pointer;
	display:flex;
	flex-flow:row wrap;
	font-size:1.4em;
	gap:var(--gap-small);
	height:40px;
	line-height:40px;
	justify-content:flex-start;
	margin:0px 0px;
	position:relative;
	transition:var(----add-transition-very-fast);
	text-align:left;
	text-decoration:none;
	text-overflow:ellipsis!important;
	user-select: none;
	white-space:nowrap;
	width:100%;
	}

ul.menu-movil > li > *:hover{
	text-decoration:none;
	}



/* Buttons icons
------------------------------*/
ul.menu-movil > li > *:not(.button) .svg-icon,
ul.menu-dropdown > li > * .svg-icon,
ul.menu-dropdown li[data-seccion='back'] > label .svg-icon{
	height:32px;
	width:32px;
	}




/*------------------------------------------------------------------------ 
03 ELEMENTOS MOVILES ////////////////////////////////////////////////////
------------------------------------------------------------------------*/


/*---------------------------------------------------
//////////       MOVIL PANEL MENU       //////////
---------------------------------------------------*/
.movil-panel-menu{
	display:none;
	}


.movil-panel-menu{
	align-content:center;
	align-items:center;
	flex-flow:row wrap;
	height:auto;
	gap:var(--gap-inside);
	min-height:100vh!important;
	justify-content:flex-start;
	margin:0px;
	overflow-y:scroll!important;
	padding:40px 8vw!important;
	position:fixed;
	transition:all 0.22s;
	transition-delay:0.16s;
	transition-timing-function:ease-in-out;
	bottom:auto;
	left:auto;
	right:auto;
	top:0px;
	}


/* Ancho
------------------------------*/
.movil-panel-menu{
	max-width:820px;
	width:80vw;
	}



/* If boton close esta dentro
------------------------------*/
.movil-panel-menu .btn-close-menu-movil{
	display:flex!important;
	position:absolute;
	bottom:auto;
	left:auto;
	top:20px;
	right:20px;
	}




/* -------------------------------------
+++     SHOW ALL    ////////////////
-------------------------------------*/

.movil-panel-menu.show{
	display:flex!important;
	visibility: visible!important;
	opacity:1.0!important;;
	position:fixed!important;
	transform:translateX(0vw)!important;
	transform:translateY(0vw)!important;
	z-index:99!important;
	}



/* -------------------------------------
+++     SLIDE TO LEFT  ////////////////
-------------------------------------*/
.movil-panel-menu.slide-to-left {
	opacity:1.0;
	right:0px;
	transform:translateX(100vw);
	z-index:12;
	}


/* -------------------------------------
+++     SLIDE TO RIGHT ////////////////
-------------------------------------*/
.movil-panel-menu.slide-to-right {
	opacity:1.0;
	left:0px;
	transform:translateX(-100vw);
	z-index:12;
	}


/* -------------------------------------
+++     SLIDE TO TOP ////////////////
-------------------------------------*/
.movil-panel-menu.slide-to-top {
	opacity:1.0;
	top:0px;
	transform:translateY(100vH);
	z-index:12;
	}


/* -------------------------------------
+++     FADE IN /////////////////////
-------------------------------------*/
.movil-panel-menu.fade-in {
	opacity:0.0;
	top:0px;
	z-index:0;
	}


 /* --- END */




/*---------------------------------------------------
//////////       BUTTON MOVIL OPEN       //////////
---------------------------------------------------*/
/* Escondemos
------------------------------------------*/
header li[data-element='btn-movil'],
.btn-movil,
.btn-movil + label  {
	display:none;
	}

 /* --- END */




/*---------------------------------------------------
//////////         BLOCK OPACITY        //////////
---------------------------------------------------*/
div.block-opacity {
	visibility:hidden;
	}


div.block-opacity {
	background-color:var(--color-black);
	display:block;
	height:100vh;
	opacity:0.6;
	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;
	}


/* Show
------------------------------*/
div.block-opacity.show{
	visibility:visible!important;
	opacity:0.6!important;
	}

 /* --- END */



/*---------------------------------------------------
//////////         BODY LOCK        //////////
---------------------------------------------------*/

body.lock{
	position:fixed!important;
	}


 /* --- END */



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

	.movil-panel-menu{
	display:flex!important;
	
	}

	header li[data-element='btn-movil'],
	.btn-movil +label  {
	display:flex!important;
	}



}

 /* --- END */

/*---------------------------------------------------
//////////             MENU MOVIL          //////////
---------------------------------------------------*/


/* (import: codex/header/css-menu-movil.css) */




 /* --- END */




/*-------------------------------------------------------------------------- 
/////////////////////////////////////////////////// ---------- / END HEADER
--------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------- 
///////////////////////////////////////////////////////////////////////////
04 BANNERS  ///////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////
-------------------------------------------------------------------------*/
/*------------------------------------------------------------------------ 
BANNERS - ELEMENTS  /////////////////////////////////////////////////////
------------------------------------------------------------------------*/


/* A - General
------------------------------*/
*[data-element='banner'],
*[data-element='banner-main']{
	display:flex;
	flex-flow:row wrap;
	height:auto;
	max-width:100%;
	overflow:hidden;
	position:relative;
	width:100%;
	}



/* Columnas
------------------------------*/
*[data-element='banner'] div.col,
*[data-element='banner-main'] div.col {
	display:flex;
	flex-flow:row wrap;
	flex-grow:99;
	min-width:auto;
	overflow:hidden;
	position:relative;
	width:20%;
	}



/* Altura 
------------------------------*/
*[data-element='banner-main'] .define-altura {
	height:70vh;
	max-height:900px;
	min-height:320px;
	}

*[data-element='banner'] .define-altura{
	height:50vh;
	max-height:900px;
	min-height:320px;
	}



/*                                       
-------------------------------------  MOVIL 620 ---
--------------------------------------------------*/


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


/* Columnas
------------------------------*/
*[data-element='banner'] div.col,
*[data-element='banner-main'] div.col {
	width:100%!important;
	}


/* Altura predefinida
------------------------------*/
*[data-element='banner'] .define-altura,
*[data-element='banner-main'] .define-altura {
	aspect-ratio: 4 / 3!important;
	height:auto;
	min-height:auto;
	}



/* Columna info
------------------------------*/
*[data-element='banner'] .col-info,
*[data-element='banner-main'] .col-info {
	height:auto;
	min-height:220px;
	padding:32px 5vw;
	order:2;
	position:relative;
	width:100%;
	bottom:auto;
	left:auto;
	top:auto;
	right:auto;
	}




/* -------------------------------------
+++  BANNER MOVIL OPACITY   ///////////
-------------------------------------*/
*[data-element='banner'].movil-opacity .col-info,
*[data-element='banner-main'].movil-opacity .col-info{
	background:transparent!important;
	position:absolute;
	bottom:0px;
	left:0px;
	top:0px;
	right:0px;
	}

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

/* Neutralizamos if animated  */
*[data-element='banner'].movil-opacity picture.img-main.animated,
*[data-element='banner-main'].movil-opacity picture.img-main.animated{
	opacity:0.4!important;
	}




/* -------------------------------------
+++  BANNER MOVIL GRADIENT   ///////////
-------------------------------------*/
*[data-element='banner'].movil-gradient .col-info,
*[data-element='banner-main'].movil-gradient .col-info{
	background:linear-gradient(to bottom, var(--color-black-20) 40%, var(--color-main) 102%)!important;
	align-content:flex-end;
	position:absolute;
	bottom:0px;
	left:0px;
	top:0px;
	right:0px;
	}

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





/* -------------------------------------
+++  BANNER MOVIL BOX   ///////////////
-------------------------------------*/
*[data-element='banner'].movil-box .col-info,
*[data-element='banner-main'].movil-box .col-info{
	position:absolute;
	bottom:0px;
	left:0px;
	top:auto;
	right:0px;
	}

/* box */
*[data-element='banner'].movil-box .col-info,
*[data-element='banner-main'].movil-box .col-info{
	background-color:var(--color-black-50)!important;
	}


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



/* -------------------------------------
+++  BANNER MOVIL BLOCK   //////////////
-------------------------------------*/
*[data-element='banner'].movil-block .col-info,
*[data-element='banner-main'].movil-block .col-info{
	position:relative!important;
	}



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



/* -------------------------------------
+++  DELETE DELAY   //////////////
-------------------------------------*/
*[data-element='banner'] .animate,
*[data-element='banner-main'] .animate{
	transition-delay:0.0s!important;
	}




}





/*---------------------------------------------------------------- 
BANNERS -  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:50%;
	}

.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 .button{
	margin-top:10px;
	}


.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{
	justify-content:center;
	text-align: center;
	padding:0px 0vw 20px 0vw;
	width:100%;
	z-index:99;
	}

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

}


/*------------------------------------------------------------------------ 
BANNER - COVER //////////////////////////////////////////////////////////
------------------------------------------------------------------------*/

/* --------------------------------------------------
DO ---------------------------------------- ANCHO ---
---------------------------------------------------*/

/* 

Usamos las mismas clases predefinidas from: www/style.css para determinar padding laterales.

none │ in-full │ in-full-to-none │ in-wide │ in │ in-thin │ in-to-wide │ in-thin-to-wide

ejemplo: <div class="banner-cover in">

 */



/* --------------------------------------------------
DO --------------------------------------- ALTURA ---
---------------------------------------------------*/

/*

Usamos las clases predefinidas 

default │ short │ 

Usualmente la altura default para el banner principal y short para banners interiores

ejemplo: <div class="banner-cover short">

*/


/* --------------------------------------------------
DO ---------------------------------- BACKGROUND ---
---------------------------------------------------*/

/* 

www/style.css 
*[data-element='banner-main']

 */



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

/* Alineación
------------------------------*/
/* 

Default = left
Podemos añadir las clases center o rigth
Ejemplo: <div class="banner-cover center">

 */



/* Padding top y bottom
------------------------------*/

.banner-cover{
	padding-bottom:0px;
	padding-top:0px;
	}



/* Opacidad de la imagen
------------------------------*/
.banner-cover .inside picture{
	opacity:0.6;
	}



/* Titulos y texto
------------------------------*/
/* 

Se define en www/style.css elemento .banner-box

 */




/* --------------------------------------------------
DO ---------------------------------------- MOVIL ---
---------------------------------------------------*/


/* 

Usamos las clases predefinidas para determinar como se vera en móvil

movil-opacity │ movil-gradient │ movil-box │ movil-block

ejemplo: <div class="banner-cover movil-block">

 */





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


/* A - Z index
------------------------------*/

.banner-cover .inside > * {z-index:2}
.banner-cover .inside > picture {z-index:1}




/* B - General
------------------------------*/
.banner-cover{
	/* css-base */
	padding-bottom:40px;
	padding-top:40px;
	}



/* C - Inside
------------------------------*/
.banner-cover .inside{
	/* css-base */
	}




/* D - Columnas
------------------------------*/

.banner-cover .col-info {z-index:2}

.banner-cover .col-img {z-index:1}


.banner-cover .col{
	width:100%!important;
	}




/* E -  Información
------------------------------*/
.banner-cover .col-info{
	background:transparent;
	align-items:center;
	align-content:center;
	display:flex;
	flex-flow:row wrap;
	justify-content:flex-start;
	height:auto;
	padding:0px 5vw;
	position:absolute!important;
	bottom:0px;
	left:0px;
	top:0px;
	right:0px;
	}




/* F -  Imagen principal
------------------------------*/
.banner-cover  .col-img{

	/* css-base */

	}




/* Imagen de fondo
------------------------------*/
.banner-cover .col-img > picture{
	height:auto;
	position:absolute;
	bottom:0px;
	left:0px;
	right:0px;
	top:0px;
	width:auto;
	}


.banner-cover  .col-img > picture img{
	height:100%;
	width:100%;
	object-fit:cover;
	object-position:center center;
	}




/* --------------------------------------------------
------------------------------------- IF ANIMATE ---
---------------------------------------------------*/

/*

A. ----- Necesaria la libreria Waypoints
 
*/




/* Play
------------------------------

00:00 - 
00:05 - Imagen de fondo
00:08 - Banner box

*/


/* 00:05 */
.banner-cover picture.animate img{
	transition-delay:0.5s;
	}

/* 00:08 */
.banner-cover .banner-box.animate {
	transition-delay:0.8s;
	}






/* IMG
------------------------------*/
.banner-cover picture.animate img{
	transition:var(--add-transition-very-slow);
	transform: scale(1.06);
	opacity:0.0;
	}
/* ---/ animated */
.banner-cover  picture.animated img{
	transform: scale(1.0);
	opacity:1.0;
	}




/* Banner box
------------------------------*/
/*
animaciones predefinidas en style.css 
*/




/*-------------------------------------------------------------------------- 
////////////////////////////////////////////////// ---------- / END BANNERS
--------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------- 
///////////////////////////////////////////////////////////////////////////
05 PANELS  ////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////
-------------------------------------------------------------------------*/
/*------------------------------------------------------------------------ 
PANEL - ALL  /////////////////////////////////////////////////////////////
------------------------------------------------------------------------*/

/*---------------------------------------- 
--- GENERAL   ////////////////////////////
----------------------------------------*/

*[data-element='panel'],
*[data-element='panel'] *{
	position:relative;
	}

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


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




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

.panel-flex .item{
	flex-grow:0;
	min-width:300px;
	width:30%;
	}


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

	.panel-flex .item{
		flex-grow:9;
		min-width:300px;
		width:30%;
		}
}

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

	.panel-flex .item{
		min-width:240px;
		}
}


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

	.panel-flex .item{
		min-width:300px;
		width:80%;
		}
}


/*---------------------------------------- 
--- GRID DEFAULT  ////////////////////////
----------------------------------------*/

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




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



/* Item info
----------------------------------------*/
*[data-element='panel'] .item .item-info{
	display:flex;
	flex-flow:row wrap;
	justify-content:flex-start;
	flex-grow:99;
	gap:var(--gap-small);
	height:auto;
	padding:10px 20px 20px 20px;
	width:100%;
	}

/*------------------------------------------------------------------------ 
PANEL - ZIG ZAG   ////////////////////////////////////////////////////////
------------------------------------------------------------------------*/
.panel-zigzag {
	background-color:var(--color-main-softer);
	}



/* -------------------------------------------------
PANEL ZIG ZAG  ----------------------- BASE ---
--------------------------------------------------*/
.panel-zigzag {
	align-items:flex-start;
	display:flex;
	flex-flow:	row wrap;
	font-size:inherit;
	justify-content:center;
	list-style: none;
	margin:0px;
	width:100%;
	}


/* item
------------------------------*/
.panel-zigzag .item {
	background-color:var(--color-white);
	align-items:stretch;
	border-radius:var(--rounded);
	display:flex;
	flex-direction:row;
	flex-wrap:wrap;
	height:auto;
	justify-content:space-between;
	list-style:none;
	overflow:hidden;
	text-decoration:none;
	margin: 20px 0px;
	padding:0px 0px;
	width:100%;
	}


body#nosotros .panel-zigzag .item {
	margin: 0px 0px;
	}


/* Ancho de paneles
------------------------------------------*/
.panel-zigzag .panel-info {
	flex-grow:9;
	width:40%;
	}
.panel-zigzag .panel-img {
	flex-grow:9;
	width:40%;
	}



/* order 
------------------------------*/

/* ODD */
.panel-zigzag .item:nth-child(odd) .panel-info{
	order:1;
	}
.panel-zigzag .item:nth-child(odd) .panel-img{
	order:2;
	}

/* EVEN */
.panel-zigzag .item:nth-child(even) .panel-info{
	order:2;
	}
.panel-zigzag .item:nth-child(even) .panel-img{
	order:1;
	}





.panel-zigzag .panel-info,
.panel-zigzag .panel-img {
	display:flex;
	flex-flow:row wrap;
	}



/* Panel info
------------------------------*/
.panel-zigzag .panel-info {	
	align-items:center;
	align-content:center;
	justify-content:flex-start;
	height:auto;
	}


.panel-zigzag .item:nth-child(odd) .panel-info {
	padding:20px 4vw 20px 4vw;
	}

.panel-zigzag .item:nth-child(even) .panel-info {
	padding:20px 4vw 20px 4vw;
	}


.panel-zigzag .panel-info .title{
	font-size: 1.2em;
	color: var(--color-main);
	text-transform: uppercase;
	text-align: left;
	}

.panel-zigzag .panel-info p{
	font-size:inherit;
	font-weight:normal;
	}


.panel-zigzag .panel-info > *:not(a) {
	width:100%;
	}


/* Panel imagen
------------------------------*/
.panel-zigzag .panel-img{
	justify-content:center;
	}

.panel-zigzag .panel-img img{
	height:100%;
	max-height:100%;
	max-width:100%;
	object-fit:cover;
	width:100%;
	}




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

	.panel-zigzag .panel-info .title{
	font-size: 1.4em;
	}

	.panel-zigzag .panel-info p{
	font-size:1.2em;
	line-height: 1.4em;
	}
	
	}

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

	.panel-zigzag .panel-info,
	.panel-zigzag .panel-img {
	width:100%;
	}
	.panel-zigzag .item:nth-child(odd) .panel-img{
	order:1;
	}
	.panel-zigzag .item:nth-child(odd) .panel-info{
	padding:20px 4vw 20px 4vw;
	order:2;
	}
	.panel-zigzag .item:nth-child(even) .panel-img{
	order:1;
	}
	.panel-zigzag .item:nth-child(even) .panel-info{
	padding:20px 4vw 20px 4vw;
	order:2;
	}
	
	}


/*------------------------------------------------------------------------ 
PANEL - SERVICIOS MENU  /////////////////////////////////////////////////
------------------------------------------------------------------------*/
.panel-servicios-menu{
  background-color:var(--color-main-softer);
  }

.panel-servicios-menu .item{
  background-color:var(--color-neutro-softer);
  }

.panel-servicios-menu .item .caption{
  background-color:var(--color-black-30);
  }

.panel-servicios-menu .item .caption .title{
  color:var(--color-white);
  }

.panel-servicios-menu .item:hover .caption{
  background-color:var(--color-black-70);
  }


/* -------------------------------------------------
PANEL GALERIA    ------------------------- BASE ---
--------------------------------------------------*/

/* A - Z index
------------------------------*/




/* B - general
------------------------------*/
.panel-servicios-menu{
  color:inherit;
  font-size:inherit;
  gap:var(--gap-inside);
  }

body#servicios .panel-servicios-menu{
  padding: 30px 0px 40px 0px;
  }
  


/* C - Items
------------------------------*/
.panel-servicios-menu .item{
  align-items:center;
  aspect-ratio: 3 / 2;
  border-radius: var(--rounded-2x);
  display:flex;
  flex-flow:row wrap;
  flex-grow:0!important;
  justify-content:flex-start;
  height:auto;
  padding:20px;
  overflow:hidden;
  position:relative;
  transition:var(--add-transition);
  width:22%;
  }



/* If: item is anchor */
.panel-servicios-menu a.item{
  text-decoration:none!important;
  }

.panel-servicios-menu a.item:hover{
  box-shadow:0px 0px 4px rgba(0, 0, 0, 0.4);
  text-decoration:none;
  }



/* < picture > */
.panel-servicios-menu .item picture,
.panel-servicios-menu .item figure{
  position:absolute;
  bottom:0px;
  left:0px;
  right:0px;
  top:0px;
  z-index:1;
  }



/* < img > */
.panel-servicios-menu .item img{
  height:100%;
  object-fit:cover;
  width:100%;
  }


/* If: caption */
.panel-servicios-menu .item  *:not(picture){
  z-index:2;
  }




/* D - Caption
------------------------------*/
.panel-servicios-menu .item .caption{
  align-content:center;
  display:flex;
  flex-flow:row wrap;
  flex-wrap:wrap;
  gap:var(--gap-inside);
  justify-content:center;
  padding:20px;
  position:absolute;
  transition:var(--add-transition);
  width:100%;
  bottom:0px;
  left:0px;
  right:0px;
  top:0px;
  z-index:10;
  }


/* title  */
.panel-servicios-menu .item .caption .title{
  font-size: 1.1em;
  font-weight:bold;
  height:auto;
  margin:0px;
  padding:0px;
  text-transform:uppercase;
  text-align:center;
  width:100%;
  }

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

  .panel-servicios-menu .item .caption .title{
    font-size: 1em;
    }
}

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



  .panel-servicios-menu .item .caption .title{
    font-size: 1.1em;
    }
}

/*                                       
------------------------------------  MOVIL 520 ---
--------------------------------------------------*/
@media only screen and (max-width:520px) {
  .panel-servicios-menu .item{
    width:100%;
    }

  .panel-servicios-menu .item .caption .title{
    font-size: 1.2em;
    }
}

/* p  */
.panel-servicios-menu .item .caption p{ 
  height:auto;
  margin:0px;
  padding:0px;
  text-align:center;
  width:100%;
  }


/* Link  */
.panel-servicios-menu .item .caption .link{ 
  color: var(--color-white);
  display:flex;
  text-align:center;
  width:auto;
  }


.panel-servicios-menu .item .caption .link,
.panel-servicios-menu .item .caption a{ 
  border:1px solid white;
  border-radius: 3px;
  padding: 5px;
  font-size:0.8em;
  text-transform:none;
  text-decoration:none;
  }











/*------------------------------------------------------------------------ 
PANEL - CARD CONTACTO  ///////////////////////////////////////////////////
------------------------------------------------------------------------*/
.panel-card-contacto{
	padding-top:0px;
	background-color:var(--color-main-softer);
	}


.panel-card-contacto .item{
	min-width:600px!important;
	width:50%!important;
	}


/*---------------------------------------------------
//////////           CARD UNO             //////////
---------------------------------------------------*/


/* Cover
------------------------------------------*/
.insert-card-uno .item .cover,
.card-uno .cover{
	 background:var(--color-neutro-softer);
	}


/* --------------------------------------------------
------------------------------------------- BASE ---
---------------------------------------------------*/
.insert-card-uno{
	font-size:1rem;
	}


/* Card
------------------------------*/
.insert-card-uno .item,
.card-uno{
	align-items:center;
	background-color:var(--color-white);
	color: inherit;
	display:flex;
	flex-flow:row wrap;
	font-size:inherit;
	gap:var(--gap-inside);
	justify-content:space-between;
	height:auto;
	overflow:hidden;
	padding:30px 30px;
	transition: all 0.1s;
	transform: scale(1.0);
	width:100%;
	}



/* IF: anchor
------------------------------*/
.insert-card-uno a.item,
a.card-uno{
	color:inherit;
	text-decoration:none;
	}


.insert-card-uno a.item:hover,
a.card-uno:hover{
	box-shadow:0px 0px 2px rgba(0, 0, 0, 0.2);
	text-decoration:none;
	}


/* Cover
------------------------------*/
.insert-card-uno .cover,
.card-uno .cover{
	border-radius:50%;
	overflow:hidden;
	height:160px;
	width:160px;
	}

/* Info
------------------------------*/
.insert-card-uno .info,
.card-uno .info{
	display:flex;
	flex-flow:row wrap;
	justify-content:flex-start;
	flex-grow:99;
	gap:var(--gap-small);
	height:auto;
	width:50%;
	}


/* Order
------------------------------*/
.insert-card-uno .cover,
.card-uno .cover{
	order:1;
	}

.insert-card-uno .info,
.card-uno .info{
	order:2;
	}



/* Icon or IMG
------------------------------*/
.insert-card-uno .cover img,
.insert-card-uno .cover svg,
.card-uno .cover img,
.card-uno .cover svg{
	height:100%;
	object-fit:contain;
	width:100%;
	}

.insert-card-uno .cover svg,
.card-uno .cover svg{
	padding:2px;
	}


/* Title
------------------------------*/
.insert-card-uno .item .title,
.card-uno .title{ 
	height:auto;
	margin:0px;
	padding:0px;
	text-transform:uppercase;
	width:100%;
	}

/* Párrafo
------------------------------*/
.insert-card-uno .item p,
.card-uno p{ 
	color:inherit;
	font-size:1em;
	font-weight:normal;
	height:auto;
	margin:0px;
	padding:0px;
	width:100%;
	}


/* Links	
------------------------------*/
.insert-card-uno .item .link,
.card-uno .link{ 
	color:var(--color-neutro-soft);
	font-size:0.7em;
	text-transform:uppercase;
	text-decoration:none;
	}


.insert-card-uno .item .link:hover,
.card-uno .link:hover,
.insert-card-uno a.item:hover .link,
a.card-uno:hover .link  { 
	text-decoration:underline;
	}

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

	.panel-card-contacto .item{
		min-width:100%!important;
		width:100%!important;
		}
	}


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


	.insert-card-uno .item,
	.card-uno{
		padding-bottom:30px;
		padding-top:30px;
		align-items:center;
		justify-content:center;
		}

	.insert-card-uno .info,
	.card-uno .info{
		text-align:center;
		justify-content:center;
		width:100%;
		}

	.insert-card-uno .info *,
	.card-uno .info *{
		text-align:center;
		justify-content:center;
		width:100%;
		}

}


/*---------------------------------------------------------------- 
--- PANEL GALERIA ///////////////////////////////////////////////
----------------------------------------------------------------*/
.panel-galeria-default{
  background-color:var(--color-main-softer);
  }

.panel-galeria-default .item{
  background-color:var(--color-main-softer);
  }

.panel-galeria-default .item .caption{
  background-color:red;
  opacity:0.2;
  }

.panel-galeria-default .item .caption .title{
  color:var(--color-white);
  }

.panel-galeria-default .item:hover .caption{
  opacity:1.0;
  }


/* -------------------------------------------------
PANEL GALERIA    ------------------------- BASE ---
--------------------------------------------------*/

/* A - Z index
------------------------------*/




/* B - general
------------------------------*/
.panel-galeria-default{
  color:inherit;
  font-size:inherit;
  gap:var(--gap-inside);
  margin: 0px;
  padding-top: 30px;
  padding-bottom: 40px;
  }



/* C - Items
------------------------------*/
.panel-galeria-default .item{
  align-items:center;
  aspect-ratio: 3 / 2;
  border-radius: var(--rounded-2x);
  display:flex;
  flex-flow:row wrap;
  flex-grow:9!important;
  justify-content:flex-start;
  height:auto;
  padding:20px;
  overflow:hidden;
  position:relative;
  transition:var(--add-transition);
  width:100%;
  }



/* If: item is anchor */
.panel-galeria-default a.item{
  text-decoration:none!important;
  }

.panel-galeria-default a.item:hover{
  box-shadow:0px 0px 4px rgba(0, 0, 0, 0.4);
  text-decoration:none;
  }



/* < picture > */
.panel-galeria-default .item picture,
.panel-galeria-default .item figure{
  position:absolute;
  bottom:0px;
  left:0px;
  right:0px;
  top:0px;
  z-index:1;
  }



/* < img > */
.panel-galeria-default .item img{
  height:100%;
  object-fit:cover;
  width:100%;
  }


/* If: caption */
.panel-galeria-default .item  *:not(picture){
  z-index:2;
  }




/* D - Caption
------------------------------*/
.panel-galeria-default .item .caption{
  align-content:center;
  display:flex;
  flex-flow:row wrap;
  flex-wrap:wrap;
  gap:var(--gap-inside);
  justify-content:center;
  padding:40px;
  position:absolute;
  transition:var(--add-transition);
  width:100%;
  bottom:0px;
  left:0px;
  right:0px;
  top:0px;
  z-index:10;
  }


/* title  */
.panel-galeria-default .item .caption .title{
  font-weight:bold;
  height:auto;
  margin:0px;
  padding:0px;
  text-transform:uppercase;
  text-align:center;
  width:100%;
  }


/* p  */
.panel-galeria-default .item .caption p{ 
  height:auto;
  margin:0px;
  padding:0px;
  text-align:center;
  width:100%;
  }


/* Link  */
.panel-galeria-default .item .caption .link{ 
  display:flex;
  text-align:center;
  width:auto;
  }


.panel-galeria-default .item .caption .link,
.panel-galeria-default .item .caption a{ 
  font-size:0.8em;
  text-transform:uppercase;
  text-decoration:none;
  }



/*------------------------------------------------------------------------ 
PANEL - CONTACTO IMG  ///////////////////////////////////////////////////
------------------------------------------------------------------------*/
/* --------------------------------------------------
------------------------------------------- BASE ---
---------------------------------------------------*/
/* 00 - Order
------------------------------*/
.panel-contacto-img .col-info  {order:1}
.panel-contacto-img .col-img  {order:2}



/* 01 - General
------------------------------*/
.panel-contacto-img{
	align-items:center;
	display:flex;
	flex-flow:row wrap;
	justify-content:center;
	position:relative;
	width:100%;
	padding-top:40px;
	padding-bottom: 40px;
	}

.panel-contacto-img .inside{
	align-items:stretch!important;
	border-radius: var(--rounded);
	display:flex;
	flex-flow:row wrap;
	justify-content:flex-start;
	gap:0px;
	height:auto;
	padding:0px;
	width:100%;
	}


/* 02 - Columnas
------------------------------*/
.panel-contacto-img .col {
	display:flex;
	flex-flow:row wrap;
	gap:var(--gap-inside);
	flex-grow:9;
	min-width:300px;
	overflow:hidden;
	width:40%;
	}


.panel-contacto-img .col-info {
	width:40%;
	}

.panel-contacto-img .col-img {
	width:30%;
	}




/* 03 -  Col info
------------------------------*/
.panel-contacto-img .col-info{
	gap:var(--gap-inside);
	padding:40px 4vw;
	}

.panel-contacto-img .col-info .title{
	color: var(--color-main);
	font-size: 1.5em;
	font-weight:bold;
	height:auto;
	margin:0px;
	padding:0px;
	width:100%;
	}

/* 04 -  Col img
------------------------------*/
.panel-contacto-img .col-img{
	min-height:200px;
	}


.panel-contacto-img .col-img picture{
	height:auto;
	width:auto;
	opacity:0.8;
	position:absolute;
	bottom:0px;
	right:0px;
	left:0px;
	top:0px;
	}


.panel-contacto-img .col-img img{
	height:100%;
	object-fit:cover;
	width:100%;
	}


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

	.panel-contacto-img .col-info  {order:2}
	.panel-contacto-img .col-img  {order:1}

}


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

/*---------------------------------------------------
//////////             06 MODALS           //////////
---------------------------------------------------*/
/* ----------------------------------------
-------------------------- MODAL SIMPLE ---
-----------------------------------------*/
.modal{
	max-width:100%;
	width:auto!important;
	}
  


/* Container (ancho)
------------------------------*/
.modal .modal-container{
	max-width:820px;
	}
  


/* Title
------------------------------*/
 .modal .modal-container .title {
 	background-color:var(--color-main);
	color:var(--color-white-80);
	font-size:0.8rem;
	font-weight:bold;
	padding:20px 0px;
	text-align:center;
	text-transform:uppercase;
	width:100%;
	}



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



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


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


/* ----------------------------------------
---------------------------- MODAL INFO ---
-----------------------------------------*/

/* Title
------------------------------*/
 .modal .modal-container.modal-info .title {
 	background-color:var(--color-neutro-darker);
	color:var(--color-white-80);
	}

/* ----------------------------------------
---------------------------- MODAL OK ---
-----------------------------------------*/

/* Title
------------------------------*/
 .modal .modal-container.modal-ok .title {
 	background-color:var(--color-ok);
	color:var(--color-white-80);
	}

/* ----------------------------------------
------------------------ MODAL WARNING ---
-----------------------------------------*/

/* Title
------------------------------*/
 .modal .modal-container.modal-warning .title {
 	background-color:var(--color-caution);
	color:var(--color-white-80);
	}


/* ----------------------------------------
--------------------- MODAL IGRAMF ---
-----------------------------------------*/
.modal-container.modal-iframe  {
	background-color:var(--color-black);
	max-width:100%;
	padding:0px;
	width:100vw!important;
	}

.modal-container.modal-iframe  iframe {
	aspect-ratio: 3 / 1;
	height:auto;
	min-height:80vh;
	width:100%;
	}

/* ----------------------------------------
--------------------- MODAL OPEN VIDEO ---
-----------------------------------------*/
.modal-container.modal-open-video  {
	background-color:var(--color-black);
	max-width:100%;
	padding:0px;
	width:100vw!important;
	}

.modal-container.modal-open-video  iframe {
	aspect-ratio: 3 / 1;
	height:auto;
	min-height:320px;
	width:100%;
	}



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

div.tab-box {
	align-items:flex-start;
	display:flex;
	flex-direction:row;
	flex-wrap:wrap; 
	justify-content:flex-start; /* or center */
	margin-top:0px;/* set */
	padding:0px;/* set */
	width:100%;/* set */
	}

div.tab-box > input[type=radio] {
	display: none;
	}

div.tab-box > label {
	display:flex;
	font-size:0.8rem;
	height:50px;
	line-height:50px;
	margin:0px 0px -1px 0px!important;
	min-width:0px!important;
	padding:0px 10px!important;
	width:auto;
	z-index:10;
	transition:all 0.2s;
	width:auto!important;
	}


#tab1:checked ~ #content1,
#tab2:checked ~ #content2,
#tab3:checked ~ #content3,
#tab4:checked ~ #content4,
#tab5:checked ~ #content5,
#tab6:checked ~ #content6,
#tab7:checked ~ #content7,
#tab8:checked ~ #content8,
#tab9:checked ~ #content9,
#tab10:checked ~ #content10,
#tab11:checked ~ #content11,
#tab12:checked ~ #content12,
#tab13:checked ~ #content13,
#tab14:checked ~ #content14,
#tab15:checked ~ #content15,
#tab16:checked ~ #content16,
#tab17:checked ~ #content17,
#tab18:checked ~ #content18,
#tab19:checked ~ #content19,
#tab20:checked ~ #content20,
#tab21:checked ~ #content21,
#tab22:checked ~ #content22,
#tab23:checked ~ #content23,
#tab24:checked ~ #content24,
#tab25:checked ~ #content25,
#tab26:checked ~ #content26,
#tab27:checked ~ #content27,
#tab28:checked ~ #content28,
#tab29:checked ~ #content29{
  display:flex!important;
	}


.tab-contenido{
	align-items:flex-start;
	align-content:flex-start;
	display:none;
	flex-flow:row wrap;
	gap:var(--gap-inside);
	justify-content:flex-start!important;
	padding:20px 0px;
	width:100%;
	}



/* Break menu 100%
------------------------------*/
	@media only screen and (max-width:620px) {
	div.tab-box > label {
	height:36px;
	line-height:36px;
	padding:0px 12px!important;
	width:100%;
	}}



/* SET:  Diseño
------------------------------*/
div.tab-box {
	background-color:#fff;
	}


/* Pestaña  */
div.tab-box > label {
	border-top:1px solid transparent;/* set */
	border-bottom:1px solid transparent;/* set */
	color:var(--color-neutro);/*set*/
	font-weight:bold; /* set */
	font-size:0.7rem;
	gap:4px;
	text-align:center;
	text-transform:uppercase;
	}


/* Pestaña hover */
div.tab-box > label:hover {
	color:var(--color-main);/*set*/
	opacity:0.6;
	cursor: pointer;
	}


/* Pestaña actva */
div.tab-box > input:checked + label {
	color:var(--color-black);
	border-top:1px solid var(--color-main)!important;/* set */
	border-bottom: 1px solid var(--color-main)!important;/* set */
	}


/* Icono */
div.tab-box > label .svg-icon{
	border:1px solid var(--color-neutro-soft);
	border-radius:59%;
	height:auto;
	fill:var(--color-neutro-soft);
	padding:3px;
	width:20px;
	}
div.tab-box > label:hover .svg-icon{
	border:1px solid var(--color-main);
	fill:var(--color-main);
	}
div.tab-box > input:checked + label .svg-icon{
	border:1px solid var(--color-black);
	fill:var(--color-black);
	}



.tab-contenido{
	padding:20px 0px; /* set */
	border-top:1px solid var(--color-neutro-soft); /* set */
	}



/* + Small
------------------------------*/
div.tab-box.small > label {
	color:var(--color-neutro-soft);/*set*/
	border-top:1px solid var(--color-white);/* set */
	display:flex;
	font-size:0.7rem;
	font-weight:normal;
	height:26px;
	line-height:26px;
	padding:0px 6px!important;
	}
	@media only screen and (max-width:620px) {
	div.tab-box.small > label {
	height:26px;
	line-height:26px;
	padding:0px 4px!important;
	width:auto;
	}}



/* Pestaña actva */
div.tab-box.small > input:checked + label {
	color:var(--color-second);/*set*/
	border-top:1px solid var(--color-white);/* set */
	border-bottom: 1px solid var(--color-neutro-softer)!important;/* set */
	}



div.tab-box.small .tab-contenido{
	border-top:1px solid var(--color-neutro-softer)!important; /* set */
	padding:6px 0px; /* set */
	}



/* + Categories
------------------------------*/

/* 
El estilo de los botones se  determina el ul.menu-categories
en www-inputs 
*/


div.tab-box.categories {
	gap:4px;
	}					

div.tab-box.categories div.box {
	gap:initial;
	}		

div.tab-box.categories .tab-contenido{
	border-top:0px!important; /* set */
	}





/*---------------------------------------------------
//////////           06 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);
	}






/*---------------------------------------------------
//////////          06 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;
	}




	

/*---------------------------------------------------
//////////           06 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  //////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////
-------------------------------------------------------------------------*/

/*------------------------------------------------------------------------ 
INICIO ///////////////////////////////////////////////////////////////////
------------------------------------------------------------------------*/


/*------------------------------------------------------------------------ 
CONTACTO /////////////////////////////////////////////////////////////////
------------------------------------------------------------------------*/



/*-------------------------------------------------------------------------- 
//////////////////////////////////////////////// ---------- / 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%;
	z-index:99;
	}


/* Cols
------------------------------*/
footer .col{
	gap:var(--gap-inside);
	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 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,
footer .col-last ul.menu{
	justify-content:flex-end;
	}

footer .col-last p,
footer .col-last .title{
	text-align:right;
	}

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 .logotipo{
		margin-bottom:20px;
		}
		
	footer .col-last{
		width:100%!important;
		justify-content:center;
		}

	footer .col-first p,
	footer .col-first .title{
		text-align:center;
		}
		
	footer .col-last ul.social-bar,
	footer .col-last ul.menu{
		justify-content:center;
		}

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

}


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

/*------------------------------------------------------------------------ 
ANIMATIONS ///////////////////////////////////////////////////////////////
------------------------------------------------------------------------*/

/*

Catálogo de micro animaciones predefinidas, se puede aplicar a varios elementos
añadiendo las clases .animate y el tipo de acción, ejemplo .to-fade


< div class="animate to-fade" >


A. ----- Necesaria la libreria Waypoints
 
*/



/* -------------------------------------
+++     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);
	}

/* -------------------------------------
+++    TO SCALE IN ////////////////////
-------------------------------------*/
.animate.to-scale-in{
	transition:var(--add-transition);
	transform: scale(1.06);
	opacity:0.0;
	}

.animated.to-scale-in{
	opacity:1.0!important;
	transform: scale(1.0);
	}


/* -------------------------------------
+++  ANIMATED (End animation) ////////
-------------------------------------*/
.animated{
	opacity:1.0;
	transform: translateY(0px)!important;
	transform: translateX(0px)!important;
	transform: scale(1.0)!important;
	}





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

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


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

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






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

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




/* --------------------------------------------------
01 -------------------------------------- BLOQUE ---
---------------------------------------------------*/

/*---------------------------------------------------
////////////         PATRON          ////////////
---------------------------------------------------*/

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

/* ------------------------------------
---     TITLES DEFAULT  ///////////////
-------------------------------------*/

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


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

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



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



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


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



