/* =======================================================================
//////////////////////////////////////////////////////////////////////////
GLOBAL ///////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////
======================================================================== */

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:}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 {
	scroll-behavior:smooth;
	font-family: 'Lato', sans-serif;
	min-height:100dvh;
	overflow-x:hidden;
	position: relative;
	scrollbar-gutter: stable;
	width:100%;
	}
	



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


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


	--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:#ff0000;
	--color-twitter:#55acee;
	--color-tiktok:#000;
	--color-x:#55acee;
	--color-linkedin:#007bb5;

	--gradient-main:linear-gradient(to top, var(--color-main) 0%, var(--color-main-soft) 100%);
	--gradient-main-soft:linear-gradient(to top, var(--color-main-softer) 0%, var(--color-white) 120%);
	--gradient-main-dark:linear-gradient(to top, var(--color-main-darker) 0%, var(--color-main) 80%);
	--gradient-main-to-right:linear-gradient(to right, var(--color-main) 0%, transparent 80%);
	--gradient-main-to-top:linear-gradient(to top, var(--color-main) 0%, transparent 80%);
	--gradient-main-to-left:linear-gradient(to left, var(--color-main) 0%, transparent 80%);
	--gradient-main-to-bottom:linear-gradient(to bottom, var(--color-main) 0%, transparent 80%);
	--gradient-main-softer-to-right:linear-gradient(to right, var(--color-main-softer) 0%, transparent 80%);
	--gradient-main-softer-to-top:linear-gradient(to top, var(--color-main-softer) 0%, transparent 80%);
	--gradient-main-softer-to-left:linear-gradient(to left, var(--color-main-softer) 0%, transparent 80%);
	--gradient-main-softer-to-bottom:linear-gradient(to bottom, var(--color-main-softer) 0%, transparent 80%);


	--gradient-second:linear-gradient(to top, var(--color-second) 0%, var(--color-second-soft) 100%);
	--gradient-second-soft:linear-gradient(to top, var(--color-second-softer) 0%, var(--color-white) 120%);
	--gradient-second-dark:linear-gradient(to top, var(--color-second-darker) 0%, var(--color-second) 80%);
	--gradient-second-to-right:linear-gradient(to right, var(--color-second) 0%, transparent 80%);
	--gradient-second-to-top:linear-gradient(to top, var(--color-second) 0%, transparent 80%);
	--gradient-second-to-left:linear-gradient(to left, var(--color-second) 0%, transparent 80%);
	--gradient-second-to-bottom:linear-gradient(to bottom, var(--color-second) 0%, transparent 80%);


	--gradient-combinado:linear-gradient(to top, var(--color-main) 0%, var(--color-second-soft) 100%);
	--gradient-combinado-soft:linear-gradient(to top, var(--color-main-soft) -20%, var(--color-second-softer) 100%);
	--gradient-combinado-dark:linear-gradient(to top, var(--color-main-dark) 0%, var(--color-second) 120%);
	--gradient-combinado-to-right:linear-gradient(to right, var(--color-main) 0%, var(--color-second-soft) 100%);
	--gradient-combinado-to-top:linear-gradient(to top, var(--color-main) 0%, var(--color-second-soft) 100%);
	--gradient-combinado-to-left:linear-gradient(to left, var(--color-main) 0%, var(--color-second-soft) 100%);
	--gradient-combinado-to-bottom:linear-gradient(to bottom, var(--color-main) 0%, var(--color-second-soft) 100%);



	--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-neutro:linear-gradient(to top, var(--color-neutro) 0%, var(--color-neutro-soft) 100%);
	--gradient-neutro-soft:linear-gradient(to top, var(--color-neutro-softer) 0%, var(--color-white) 120%);
	--gradient-neutro-dark:linear-gradient(to top, var(--color-neutro-darker) 0%, var(--color-neutro) 80%);
	--gradient-neutro-to-right:linear-gradient(to right, var(--color-neutro) 0%, transparent 80%);
	--gradient-neutro-to-top:linear-gradient(to top, var(--color-neutro) 0%, transparent 80%);
	--gradient-neutro-to-left:linear-gradient(to left, var(--color-neutro) 0%, transparent 80%);
	--gradient-neutro-to-bottom:linear-gradient(to bottom, var(--color-neutro) 0%, transparent 80%);



	--gradient-white-to-right:linear-gradient(to right, var(--color-white) 0%, transparent 80%);
	--gradient-white-to-top:linear-gradient(to top, var(--color-white) 0%, transparent 80%);
	--gradient-white-to-left:linear-gradient(to left, var(--color-white) 0%, transparent 80%);
	--gradient-white-to-bottom:linear-gradient(to bottom, var(--color-white) 0%, transparent 80%);


	--gradient-black-to-right:linear-gradient(to right, var(--color-black) 0%, transparent 80%);
	--gradient-black-to-top:linear-gradient(to top, var(--color-black) 0%, transparent 80%);
	--gradient-black-to-left:linear-gradient(to left, var(--color-black) 0%, transparent 80%);
	--gradient-black-to-bottom:linear-gradient(to bottom, var(--color-black) 0%, transparent 80%);

	}

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

/* Fuente secundaria
----------------------------------------*/
h1, h2, h3, h4, h5, h6{
	text-wrap: balance;
	}


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

/*--------------------------------------------------- 
--- PARRAFOS   ////////////////////////////////////
---------------------------------------------------*/
p {
	color:inherit;
	font-size:inherit;
	height:auto;
	line-height:1.4em;
	margin:0px 0px;
	padding:0px 0px;
	text-align:left;
	text-wrap: pretty;
	width:100%;
	}


p.center {
	text-align:center;
	}


p.left {
	text-align:left;
	}


p.right {
	text-align:right;
	}

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

.nowrap {
	white-space: nowrap; 
	}


.fw-400,
.fw-400 > *,
.fw-400 > * > * {
	font-weight:400!important;
	}



/*------------------------------------------------ 
--- ANCHORS & LINKS /////////////////////////////
------------------------------------------------*/
p a {
   color:inherit!important;
   font-size:inherit;
   font-weight:inherit;
   margin:0px;
   padding:0px;
   text-decoration:none;
   }




p a {
   text-decoration:none;
   }


/*--------------------------------------------------- 
--- BOX SIZING   ////////////////////////////////////
---------------------------------------------------*/
* {
	box-sizing:border-box!important;
	}
	


/*--------------------------------------------------- 
--- GAP   //////////////////////////////////////////
---------------------------------------------------*/

:root {

	--gap-main:4vw;
	--gap-second:3vw;
	--gap-third:2vw;

	--gap-inside:8px;

	--gap-xxlarge:76px;
	--gap-xlarge:clamp(10px, 2vw, 20px);
	--gap-large:clamp(8px, 2vw, 16px);
	--gap:clamp(6px, 1vw, 12px);
	--gap-medium:clamp(4px, 1vw, 8px);
	--gap-small:clamp(2px, 1vw, 4px);
	--gap-xsmall:clamp(1px, 1vw, 2px);
	
	--gap-1x:2px;
	--gap-2x:4px;
	--gap-3x:6px;
	--gap-4x:8px;
	--gap-5x:10px;
	--gap-6x:12px;
	
}


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

.gap-main,
.gap-main.items-split .item-row{
	gap:var(--gap-main);
	}

.gap-second,
.gap-second.items-split .item-row {
	gap:var(--gap-second);
	}

.gap-third,
.gap-third.items-split .item-row {
	gap:var(--gap-third);
	}


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


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

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

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

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

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

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

.gap-sxmall {
	gap:var(--gap-xsmall);
	}

.no-gap {
	gap:0px!important
}

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




/*-------------------------------------------------- 
--- IMG-COVER   ///////////////////////////////////
---------------------------------------------------*/
[class*="img-cover"] > picture,
[class*="img-cover"] > video{
	height:auto;
	overflow:hidden;
	position:absolute;
	bottom:0px;
	left:0px;
	right:0px;
	top:0px;
	width:auto;
	z-index:1;
	}


[class*="img-cover"] > picture img,
[class*="img-cover"] > img{
	height:100%;
	width:100%;
	object-fit:cover;
	}


[class*="img-cover"] > video{
	object-fit:cover;
	}

/*-------------------------------------------------- 
--- ASPECT RATIO   //////////////////////////////////
---------------------------------------------------*/
.aspect-ratio-4-3 {
	aspect-ratio:4 / 3!important;
	}
.aspect-ratio-5-4 {
	aspect-ratio:5 / 4!important;
	}


/*-------------------------------------------------- 
--- SVG-ICON   /////////////////////////////////////
---------------------------------------------------*/
.svg-icon {
	aspect-ratio: 1 / 1;
	height:auto;
	}



/*-------------------------------------------------- 
--- HR    //////////////////////////////////////////
---------------------------------------------------*/
hr,
hr.wp-block-separator {
	background-color:var(--color-neutro-dark)!important;
	border:0px;
	padding:0px;
	height:1px;
	width:100%!important;
	}


hr.medium {
	height:3px;
	}


hr.small,
hr.thin {
	height:1px;
	}


hr.big,
hr.large {
	height:5px;
	}



hr.space-0x {background-color:transparent!important; margin:0px; height:0px!important}
hr.space-1x {background-color:transparent!important; margin:1px 0px!important;}
hr.space-2x {background-color:transparent!important; margin:2px 0px!important;}
hr.space-3x {background-color:transparent!important; margin:3px 0px!important;}
hr.space-4x {background-color:transparent!important; margin:4px 0px!important;}
hr.space-5x {background-color:transparent!important; margin:5px 0px!important;}
hr.space-6x {background-color:transparent!important; margin:6px 0px!important;}
hr.space-7x {background-color:transparent!important; margin:7px 0px!important;}
hr.space-8x {background-color:transparent!important; margin:8px 0px!important;}
hr.space-9x {background-color:transparent!important; margin:9px 0px!important;}
hr.space-10x {background-color:transparent!important; margin:10px 0px!important;}



hr.space-0 {background-color:transparent!important; margin:0px 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:99;
	width:0%;
	}	


hr.space-variable {
	background-color:transparent!important; 
	margin-inline:0px!important;
	margin-block:60px;
	display:none;
	}

	@media only screen and (max-width:1600px) {
	hr.space-variable {
	background-color:transparent!important; 
	margin-inline:0px!important;
	margin-block:clamp(10px, 10vh, 60px);
	}
	}

	@media only screen and (max-width:620px) {
	hr.space-variable {
	background-color:transparent!important; 
	margin-inline:0px!important;
	margin-block:clamp(10px, 10px, 10px);
	}
	}


/*-------------------------------------------------- 
--- IMG-CONTAIN   /////////////////////////////////
---------------------------------------------------*/
[class*="img-contain"] > picture{
	height:auto;
	overflow:hidden;
	position:absolute;
	bottom:0px;
	left:0px;
	right:0px;
	top:0px;
	width:auto;
	z-index:1;
	}


[class*="img-contain"] > picture img,
[class*="img-contain"] > img,
[class*="img-contain"] > video{
	height:100%;
	width:100%;
	object-fit:contain;
	}
	
/*------------------------------------------------------------------------ 
HEADER //////////////////////////////////////////////////////////////////
------------------------------------------------------------------------*/
header {
	align-items:center;
	align-content:center;
	display:flex;
	flex-flow:row wrap;
	background-color:var(--color-neutro-darker);
	height:70px;
	position:relative;
	top:0px!important;
	width:100%;
	z-index:99;
	}
	@media only screen and (max-width:620px) {
	header{
	height:70px;
	top:0px;
	}}

/*------------------------------------------------------------------------ 
HEADER TRANSPARENTE //////////////////////////////////////////////////////
------------------------------------------------------------------------*/

.header-transparente header,
body#index header,
header.header-transparente {
  background-color:transparent;
  position:absolute!important;
  bottom:auto;
  top:0px;
  left:0px;
  right:0px;
  transition:all 0.3s;
  }

.header-transparente header:hover,
body#index header:hover,
header.header-transparente:hover {
  background-color:var(--color-neutro-darker);
  }
  @media only screen and (max-width:620px) {
  .header-transparente header:hover,
  body#index header:hover,
  header.header-transparente:hover{
  background-color:transparent!important;
  }}


/* LOGO */
.header-transparente header a.logotipo .vda,
body#index header a.logotipo .vda,
header.header-transparente a.logotipo .vda {
	background-color:transparent!important;
	}


.header-transparente header:hover a.logotipo .vda,
body#index header:hover a.logotipo .vda,
header.header-transparente:hover a.logotipo .vda {
  background-color:#000!important;
  }
  @media only screen and (max-width:620px) {
  .header-transparente header:hover a.logotipo .vda,
  body#index header:hover a.logotipo .vda,
  header.header-transparente:hover a.logotipo .vda{
  background-color:transparent!important;
  }}


.header-transparente a.logotipo .vda-txt,
body#index header a.logotipo .vda-txt,
header.header-transparente a.logotipo .vda-txt{
  border-left:1px solid rgba(255, 255, 255, 0.7);
  background-image:none!important;
  height:auto!important; 
  padding-left:4px;
  transition:all 0.3s;
  width:120px!important;
  }


.header-transparente header:hover a.logotipo .vda-txt,
body#index header:hover a.logotipo .vda-txt,
header.header-transparente:hover a.logotipo .vda-txt{
  border-left:1px solid transparent!important;
  }
  @media only screen and (max-width:620px) {
  .header-transparente header:hover a.logotipo .vda-txt,
  body#index header:hover a.logotipo .vda-txt,
  header.header-transparente:hover a.logotipo .vda-txt{
  border-left:1px solid rgba(255, 255, 255, 0.7)!important;
  }}



/* MENU */
body#index header ul.nav li a,
header.header-transparente ul.nav li a{
  color:var(--color-white);
  }


body#index header:hover ul.nav li a,
header.header-transparente:hover ul.nav li a {
	color:var(--color-neutro-softer);
  transition:all 0.3s;
  }

body#index header:hover ul.nav li a:hover,
header.header-transparente:hover ul.nav li a:hover {
	color:var(--color-white);
  }

/*------------------------------------------------------------------------ 
HEADER FIXED //////////////////////////////////////////////////////
------------------------------------------------------------------------*/
body#p-proyectos header,
body#contacto header{
	position:fixed!important;
	}





/*------------------------------------------------------------------------ 
HEADER -  MOVIL //////////////////////////////////////////////////////////
------------------------------------------------------------------------*/

/*---------------------------------------------------
//////////           PANEL MOVIL          //////////
---------------------------------------------------*/
.panel-movil{
	background-color:var(--color-neutro-darker);
	color:var(--color-neutro-soft);
	align-content:flex-start;
	align-items:flex-start;
	box-sizing:border-box;
	flex-flow:row wrap;
	height:auto;
	gap:var(--gap-inside);
	justify-content:flex-start;
	min-height:100dvh;
	margin:0px;
	overflow-y:visible!important;
	padding-block-start:6vh;
	padding-block-end:40px;
	padding-inline-start:4vw;
	padding-inline-end:2vw;
	transition:all 0.3s;
	z-index:9999!important;

	position:fixed;
	bottom:0px;
	left:auto;
	right:0px;
	top:0px;
	}




/*  BTN close
----------------------------------------*/
.panel-movil [class*="btn-close"] {
	display:flex!important;
	position:absolute;
	bottom:auto;
	left:auto;
	top:20px;
	right:20px;
	z-index:999;
	}


/*  IF: Social bar 
----------------------------------------*/
.panel-movil .social-bar label{
	display:none!important;
	}

.panel-movil [class*="social-bar"] {
	gap:0px;
	height: auto!important;
	width:auto;
	padding-block-end:0px!important;
	margin-block-end:0px!important;
	padding-block:0px!important;
	position:absolute;
	overflow:hidden;
	bottom:54px!important;
	left:4vw;
	right:4vw;
	top:auto;
	}


.panel-movil [class*="social-bar"] li{
	margin-right:clamp(20px, 4vw, 38px);
	}

.panel-movil [class*="social-bar"] li.texto{
	color:var(--color-neutro);
	height:auto!important;
	font-size:1em;
	margin-right:clamp(0px, 0vw, 0px);
	margin-top:12px;
	flex-grow:9;
	white-space: normal !important;
	word-break: break-word;
	width:80%;
	}


/*  BTN volver arriba
----------------------------------------*/
.panel-movil li.arriba{
	display:none;
	}


/*------------------------------------------------ 
--- ANCHO  ---  
------------------------------------------------*/
.panel-movil{
	width:50vw;
	}

@media only screen and (max-width:1200px) {
	.panel-movil{
	width:60vw;
	}
}

@media only screen and (max-width:1020px) {
	.panel-movil{
	width:80vw;
	}
}

@media only screen and (max-width:920px) {
	.panel-movil{
	padding-block-start:60px;	
	}

}


@media only screen and (max-width:620px) {
	.panel-movil{
	padding-block-start:40px;	
	width:85vw;
	}

	.panel-movil [class*="social-bar"]{
	bottom:40px!important;
	}
}


@media only screen and (max-width:520px) {
	.panel-movil{
	padding-inline:3vw!important;
	width:90vw;
	}
}

@media only screen and (max-width:420px) {
	.panel-movil{
	padding-inline:3vw!important;
	width:92vw;
	}
}

@media only screen and (max-width:390px) {
	.panel-movil{
	width:100vw;
	}
}



/*------------------------------------------------ 
--- ALTURA  ---  
------------------------------------------------*/
.panel-movil [class*="menu"],
.panel-movil [class*="submenu-from"],
.panel-movil [class*="submenu-from"] [class*="menu"],
.panel-movil [class*="submenu-from"] ul  {
	gap:0px!important;
	}


.panel-movil [class*="menu-submenu"]  li.titulo,
.panel-movil [class*="submenu-from"] li.titulo {
	max-height:40px!important;
	height:40px!important;
	}


.panel-movil [class*="menu"]{
	margin:0;
	padding:0;
	}

.panel-movil [class*="menu"] .button{
		height:48px; /* de fault * 11 = 528 + 10 (seguridad)*/
	}

.panel-movil .box-menu-submenu-columnas .swiper {
	overflow:hidden;
	height:538px;
	}




/*------------------------------------------------ 
--- 840 ALTURA --- 
------------------------------------------------*/

@media (max-height:840px) {

	.panel-movil .box-menu-submenu-columnas .swiper {
		height:472px;
	}


	.panel-movil [class*="menu"] .button{
		height:42px!important;
	}

}


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

@media (max-height:720px) {

	.panel-movil .box-menu-submenu-columnas .swiper {
		height:406px;
	}


	.panel-movil [class*="menu"] .button{
		height:36px!important;
	}

}



/*------------------------------------------------ 
--- 680 ALTURA --- 
------------------------------------------------*/

@media (max-height:680px) {

	.panel-movil .box-menu-submenu-columnas .swiper {
		height:362px;
	}


	.panel-movil [class*="menu"] .button{
		height:32px!important;
	}

}


/*------------------------------------------------ 
--- 620 ALTURA --- 
------------------------------------------------*/

@media (max-height:620px) {

	.panel-movil .box-menu-submenu-columnas .swiper {
		height:318px;
	}


	.panel-movil [class*="menu"] .button{
		height:28px!important;
	}

}


/*------------------------------------------------ 
--- 580 ALTURA --- 
------------------------------------------------*/

@media (max-height:580px) {

	.panel-movil .box-menu-submenu-columnas .swiper {
		height:296px;
	}


	.panel-movil [class*="menu"] .button{
		height:26px!important;
	}

}







/*  BOX Menu sub menu columnas
----------------------------------------*/

.box-menu-submenu-columnas {
	align-items:stretch;
   display:flex;
   flex-flow:row wrap;
   gap:var(--gap);
   height:auto;
   width:100%;
   }


/* Las dos columnas
----------------------------------------*/
.box-menu-submenu-columnas > *,
.box-menu-submenu-columnas > .col,
.box-menu-submenu-columnas > [class*="menu"],
.box-menu-submenu-columnas > [class*="submenu"]{
	flex-grow:9;
	max-width:70%;
   }

.panel-movil .box-menu-submenu-columnas {
	 height:auto;
	 overflow:hidden;
	}



/*  Menu swiper
----------------------------------------*/
.panel-movil .swiper,
.panel-movil .swiper .swiper-slide{
	background-color:var(--color-neutro-darker);
	}

.panel-movil .box-menu-submenu-columnas .swiper .slide{
	min-height:auto;
	height:auto!important;
	}



/* Primer columna menu-submenu
----------------------------------------*/
.menu-submenu {
	max-width:220px!important;
	width:40%!important;
	}


/* Segunda columna submenu-from
----------------------------------------*/
[class*="submenu-from"] {
	width:40%!important;
	}

.panel-movil [class*="submenu-from"] {
	display:flex;
	flex-flow:row wrap;
	}

.panel-movil .submenu-from-proyectos{
	padding-inline-start:4vw;
	}


/*  Barra menu
----------------------------------------*/
.panel-movil [class*="submenu-from"] ul.barra-menu{
	gap:12px;
	height:auto!important;
	margin-top:-70px;
	width:26px!important;

	position:absolute;
	bottom:0px;
	left:auto;
	right:30%;
	top:50%;
	}

.panel-movil [class*="submenu-from"] ul.barra-menu .link{
	height:auto!important;;
	width:26px!important;
	}



.panel-movil [class*="submenu-from"] ul.barra-menu [class*="swiper-button"]{
	align-items:center;
	align-content:center;
	display:flex;
	flex-flow:row wrap;
	justify-content:center;
	height:26px!important;
	padding:4px!important;
	margin:0px!important;
	width:26px!important;

	position:relative!important;
	bottom:auto!important;
	left:auto!important;
	right:auto!important;
	top:auto!important;
	}

.panel-movil [class*="submenu-from"] ul.barra-menu .separator{
	display:none;
	height:1px!important;;
	width:12px!important;
	}


.panel-movil [class*="submenu-from"] ul.barra-menu .swiper-button-prev.botones{


	}

.panel-movil [class*="submenu-from"] ul.barra-menu .swiper-button-next.botones{
	
	}








/* Cambios tamaños - espacios
----------------------------------------*/
	@media (width <= 1400px) {
	.menu-submenu {
	max-width:200px!important;
	}}

	@media (width <= 820px) {
	.menu-submenu {
	max-width:200px!important;
	}}

	@media (width <= 720px) {
	.menu-submenu {
	max-width:170px!important;
	}
	[class*="submenu-from"] {
	width:60%!important;
	}}


	@media (width <= 620px) {
	.menu-submenu {
	max-width:170px!important;
	flex-grow:0;
	width:auto!important;	
	}}

	@media (width <= 520px) {
	.box-menu-submenu-columnas {
	gap:var(--gap-small);
	}
	.menu-submenu {
	max-width:160px!important;	
	}
	[class*="submenu-from"] {
	width:55%!important;
	}}


	@media (width <= 480px) {
	.menu-submenu {
	max-width:160px!important;	
	}}


	@media (width <= 420px){
	.menu-submenu {
	max-width:140px!important;	
	}}


	@media (width <= 330px) {
	.menu-submenu {
	max-width:90px!important;	
	}
	.box-menu-submenu-columnas > [class*="menu"] .button > span{
	padding-inline:2px!important;
	}}









/*---------------------------------------------------
//////////       BUTTON MOVIL OPEN       //////////
---------------------------------------------------*/
/* Escondemos
------------------------------------------*/
[class*="menu"]  [data-element='btn-movil']{
	display:none;
	}




/*---------------------------------------------------
//////////         BLOCK OPACITY        //////////
---------------------------------------------------*/
div.block-opacity {
	background-color:var(--color-neutro-darker);
	display:none;
	height:100vh;
	opacity:1;
	transition:all 0.18s;
	position:fixed!important;
	bottom:0px;
	left:0px;
	right:0px;
	top:0px;
	max-width:100%;
	/*transition-delay:0.16s;*/
	width:100vw;
	z-index:999;
	}


/* ACTION Show
----------------------------------------*/
div.block-opacity.show{
	display:block!important;
	}



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

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




/*---------------------------------------------------
//////////        MENU MOVIL        //////////
---------------------------------------------------*/
ul.menu-movil,
ul.menu-movil-second {
	align-items:center;
	align-content:center;
	display:flex;
	justify-content:flex-start;
	flex-flow:row wrap;
	height:auto;
	list-style:none;
	max-width:100%;
	margin:0px;
	padding:0px;
	width:100%;
	}



ul.menu-movil li,
ul.menu-movil-second 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%;
	}



/*---------------------------------------------------
//////////         MENU MOVIL BASE      //////////
---------------------------------------------------*/
.menu-movil-base ul.menu-movil,
.menu-movil-base ul.menu-movil-second{
	gap:var(--gap-inside);
	}



/* Botones
----------------------------------------*/
.menu-movil-base ul.menu-movil > li > *:not(ul),
.menu-movil-base ul.menu-movil > li > *:not(ul):hover,
.menu-movil-base ul.menu-movil-second  li > *,
.menu-movil-base ul.menu-movil-second  li > *:hover{
	align-items:center;
	align-content:center;
	cursor:pointer;
	display:flex;
	flex-flow:row wrap;
	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%;
	}


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



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










/*------------------------------------------------------------------------ 
HEADER -  ACTIONS TO SHOW  //////////////////////////////////////////////
------------------------------------------------------------------------*/

/*---------------------------------------------------
//////////           PANEL TO SHOW         //////////
---------------------------------------------------*/
.panel-to-show{
	display:none;
	transition: transform 0.2s ease-in-out;
	}



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


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


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


.panel-to-show.slide-to-top {
	max-width:100vw;
	width:100vw;
	}



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

.panel-to-show.fade-in {
	max-width:100vw;
	width:100vw;
	}



/* -------------------------------------
+++     SHOW ALL    ////////////////
-------------------------------------*/
/* aplicams la clase show en JS */
.panel-to-show.show,
.nav-to-show.show{
	display:flex!important;
	visibility: visible!important;
	opacity:1.0!important;;
	transform:translateX(0vw)!important;
	transform:translateY(0vw)!important;
	}


.panel-to-show.show{
   position:fixed!important;
   }


.nav-to-show.show{
   position:relative!important;
   }




/*---------------------------------------------------
//////////           LOGOTIPO         //////////
---------------------------------------------------*/
a.logotipo  {
  align-items:center;
  box-sizing: border-box;
  display:flex!important;
  flex-direction:row;
  flex-wrap: wrap;
  float:left;
  height:70px!important;
  justify-content:space-between;
  }

a.logotipo *{
  box-sizing: border-box;
  }


a.logotipo .vda{
	background-color:#000!important;
	background-image:url(../assets/images/vda-blanco.png)!important;
	background-position:90% center!important;
	background-repeat: no-repeat;
	background-size:80px 27px!important; 
	display: block;
	float: left;
	height:100%!important;
 	transition:all 0.3s;
	width:120px;	
	}
	@media only screen and (max-width:620px) {
	a.logotipo .vda{
  	background-size:74px 25px!important;
  	background-position:70% center!important;
  	width:90px!important;
	}}



a.logotipo .vda-txt{
	background-image:none!important;
	display: block;
	float: left;
	height:auto!important; 
	padding-left:4px;
	transition:all 0.3s;
	width:120px!important;
	}
	@media only screen and (max-width:620px) {
	a.logotipo .vda-txt{
	width:118px;
	}}
	@media (max-width:820px) and (max-height:420px){
	a.logotipo .vda-txt{
	width:118px;
	}}


a.logotipo .vda-txt img{
  display:block;
  height:auto;
  margin:0px;
  padding:0px;
  width:100%;
  }



a.logotipo img{
	float: left;
	height:62px;
	margin-top:-6px;
	width:auto;
	}
	@media only screen and (max-width:620px) {
	a.logotipo img {
	height:50px;
	margin-top:0px;
	}}
	@media (max-width:820px) and (max-height:420px){
	a.logotipo img {
	height:50px;
	margin-top:0px;
	}}


/*------------------------------------------------------------------------ 
///////////////////////////////////////////////// ---------- / END HEADER
------------------------------------------------------------------------*/

/*-------------------------------------------------------------------------- 
///////////////////////////////////////////////////////////////////////////
LAYOUT ////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////
-------------------------------------------------------------------------*/
/*--------------------------------------------------- 
--- SCROLL BAR  /////////////////////////////////////
---------------------------------------------------*/
[class*="container"],
[class*="contenedor"],
[class*="content"],
[class*="inn"],
[class*="in"],
.main,
*[data-element*='banner'],
*[data-element='panel'] {
	scrollbar-gutter: stable;
	}



/*-------------------------------------------------- 
--- IN  ////////////////////////////////////////////
---------------------------------------------------*/

/* Full
----------------------------------------*/
.in-full,
.in-full-to-in,
.in-full-to-none{
	padding-inline: clamp(40px, 40px, 80px);
	}
.padding.in-full,
.padding.in-full-to-none {
	padding-block: clamp(40px, 40px, 80px);
	}


/* Wide
----------------------------------------*/
.in-wide,
.in-wide-to-in,
.in-wide-to-none{
	padding-inline: clamp(40px, 4vw, 120px);
	}
.padding.in-wide,
.padding.in-wide-to-none {
	padding-block:clamp(40px, 4vw, 120px);
	}



/* In
----------------------------------------*/
.in,
.in-to-full,
.in-to-wide,
.in-to-none{
	padding-inline: clamp(40px, 9vw, 180px);
	}
.padding.in,
.padding.in-to-full,
.padding.in-to-wide,
.padding.in-to-none {
	padding-block:clamp(40px, 8vw, 160px);
	}


/* Thin
----------------------------------------*/
.in-thin,
.in-thin-to-full,
.in-thin-to-wide,
.in-thin-to-in,
.in-thin-to-none{
	padding-inline: clamp(40px, 18vw, 320px);
	}
.padding.in-thin,
.padding.in-thin-to-full,
.padding.in-thin-to-wide,
.padding.in-thin-to-in,
.padding.in-to-none {
	padding-block:clamp(40px, 18vw, 320px);
	}


/* content-in
----------------------------------------*/
.content{
	display:flex!important;
	flex-flow:row wrap;
	justify-content:center!important;
	padding-block-start:20px;
	padding-block-end:20px;
	position:relative!important;
	width:100%;
	z-index:9!important;
	}


.contentdos{
	display:flex!important;
	flex-flow:row wrap;
	justify-content:center!important;
	position:relative!important;
	width:100%;
	z-index:9!important;
	}




.content .content-in{
	display:flex;
	flex-flow:row wrap;
	gap:10px;
	width:580px;
	width:clamp(580px, 50vw, 660px);
	}



.contentdos .content-in{
	display:flex;
	flex-flow:row wrap;
	width:clamp(920px, 90vw, 1200px);
	}


.content-wide .panel-cards{
	max-width:1500px!important;
	width:94%;
	}





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

.content .content-in{
	width:clamp(580px, 50vw, 620px);
	}

}


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

.contentdos .content-in{
	padding-inline:34px;
	width:100%;
	}
}




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

.content .content-in{
	padding-inline:34px!important;
	width:clamp(100%, 100%, 100%);
	}

}


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

.content {
	padding-block-start:20px;
	padding-block-end:60px;
	}


.contentdos .content-in{
	padding-inline:0px;
	width:100%;
	}

.content-wide .panel-cards{
	width:100%;
	}


}








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

	.in-full,
	.in-to-full,
	.in-thin-to-full,
	.in-wide,
	.in-to-wide,
	.in-thin-to-wide{
	padding-inline: clamp(20px, 4vw, 40px);
	}
	.padding.in-full,
	.padding.in-to-full,
	.padding.in-thin-to-full,
	.padding.in-wide,
	.padding.in-to-wide,
	.padding.in-thin-to-wide{
	padding-block:clamp(20px, 5vw, 40px);
	}




	.in,
	.in-full-to-in,
	.in-wide-to-in,
	.in-thin-to-in{
	padding-inline:clamp(40px, 5vw, 60px);
	}
	.padding.in,
	.padding.in-full-to-in,
	.padding.in-wide-to-in,
	.padding.in-thin-to-in{
	padding-block:clamp(40px, 5vw, 60px);
	}



	.in-thin{
	padding-inline: clamp(40px, 5vw, 60px);
	}
	.padding.in-to-thin{
	padding-block:clamp(40px, 5vw, 60px);
	}



	.in-full-to-none,
	.in-wide-to-none,
	.in-to-none,
	.in-thin-to-none,
	.content-indos-to-none{
	padding-inline: clamp(0px, 0vw, 0px)!important;
	padding-inline-start:0px!important;
	padding-inline-end:0px!important;
	}


}




/*--------------------------------------------------- 
--- TABS ///////////////////////////////////////////
---------------------------------------------------*/
[class*="tab-box"] {
	align-items:flex-start;
	display:flex;
	flex-direction:row;
	flex-wrap:wrap; 
	justify-content:flex-start;
	margin-top:0px;
	padding:0px;
	transition:all 0.2s;
	width:100%;
	}


/* Contenidos all
----------------------------------------*/
[class*="tab-box"] .tab-content-all {
	align-items:flex-start;
	align-content:flex-start;
	display:flex;
	flex-flow:row wrap;
	justify-content:flex-start;
	transition:all 0.2s;
	width:100%;
	}


/* Contenido
----------------------------------------*/
[class*="tab-content"] {
	align-items:flex-start;
	align-content:flex-start;
	display:none;
	flex-flow:row wrap;
	gap:var(--gap);
	justify-content:flex-start;
	padding-block:20px;
	transition:all 0.2s;
	width:100%;
	}


/* Mostramos contenido
----------------------------------------*/
.tab-box-1:has(#tab-1:checked)  .tab-content-1,
.tab-box-1:has(#tab-2:checked)  .tab-content-2,
.tab-box-1:has(#tab-3:checked)  .tab-content-3,
.tab-box-1:has(#tab-4:checked)  .tab-content-4, 
.tab-box-1:has(#tab-5:checked)  .tab-content-5,
.tab-box-1:has(#tab-5:checked)  .tab-content-6,
.tab-box-accordeon-1:has(#tab-11:checked) .tab-content-11,
.tab-box-accordeon-1:has(#tab-12:checked) .tab-content-12,
.tab-box-accordeon-1:has(#tab-13:checked) .tab-content-13,
.tab-box-accordeon-1:has(#tab-14:checked) .tab-content-14, 
.tab-box-accordeon-1:has(#tab-15:checked) .tab-content-15,
.tab-box-accordeon-1:has(#tab-16:checked) .tab-content-16 {
	display: flex;
	}


/* Escondemos inputs
---------------------------------------- */
[class*="tab-box"] > input[type=radio],
[class*="tab-box"] > input[type=checkbox],
[class*="tab-menu"] input[type=radio],
[class*="tab-menu"] input[type=checkbox] {
   display: none;
   }


/*-------------------------------------------------- 
--- TITLES  //////////////////////////////////////
---------------------------------------------------*/
[class*="title"][class*="10"] {
	margin-bottom:10px;
	}

[class*="title"][class*="20"] {
	margin-bottom:20px;
	}

[class*="title"][class*="40"] {
	margin-bottom:40px;
	}




/*--------------------------------------------------- 
--- TABS MENU //////////////////////////////////////
---------------------------------------------------*/
[class*="tab-menu"] li {
	overflow:visible!important;
   position:relative;
   z-index:1;
   }

[class*="tab-menu"] li:has(input:checked){
	z-index:9;
	}

[class*="tab-menu"] label,
[class*="tab-menu"] .btn{
   cursor:pointer!important;
   overflow:visible;
   position:relative;
   transition:all 0.2s;
   z-index:1;
   }


[class*="tab-menu"]{
	gap:0px!important;
	}


/* redondeos */ 
[class*="tab-menu"] li:after,
[class*="tab-menu"] li:before {
	content:"";
	height:10px;
	width:10px;

	position:absolute;
	bottom:0px;
	top:auto;

	}


[class*="tab-menu"] li:after{
	left:-10px;
	}
[class*="tab-menu"] li:before{
	right:-10px;
	}



/* redondeos */ 
[class*="tab-menu"] li > b {
	display:block;
	height:1px;
	width:100%;

	position:absolute;
	bottom:0px;
	left:0px;
	z-index:99;
	display:none;
	}

/* recorte (circulo)*/ 
[class*="tab-menu"] li > .btn::after,
[class*="tab-menu"] li > .btn::before {
	border-radius:50%;
	content:"";
	height:20px;
	width:20px;

	position:absolute;
	bottom:0px;
	top:auto;
	z-index:999;
	}


[class*="tab-menu"] li > .btn::after{
	left: -20px;
	}
[class*="tab-menu"] li > .btn::before{
	right:-20px;
	}


/* --- Checked color --- */
[class*="tab-menu"] input:checked ~ .btn,
[class*="tab-menu"] li:has(input:checked):after,
[class*="tab-menu"] li:has(input:checked):before{
	background:black!important;
	}


/* --- Background Color regular  --- */
[class*="tab-menu"] li:after,
[class*="tab-menu"] li:before, 
[class*="tab-menu"] li .btn:after,
[class*="tab-menu"] li .btn:before,
[class*="tab-menu"] .btn,
[class*="tab-menu"] .btn:hover{
	background:var(--color-neutro-softer)!important;
	color:black; 
	}


/* --- Color atras de las tabs--- */
[class*="tab-menu"] li:first-child .btn:after,
[class*="tab-menu"] li:last-child .btn:before  {
	background:var(--color-white)!important; 
	}








/*--------------------------------------------------- 
--- TAB BOX ACORDEON //////////////////////////////
---------------------------------------------------*/
[class*="tab-box-accordeon"] {
	gap:1px;
	height:auto;
	}


/* Botón
----------------------------------------*/
[class*="tab-box"][class*="-accordeon"] > label,
[class*="tab-box"][class*="-accordeon"] > [class*="btn"]  {
	background-color:var(--color-neutro-darker);
	align-content:center;
	align-items:center;
	cursor:pointer;
	color:var(--color-neutro-softer);
	display:flex;
	flex-flow:row wrap;
	font-weight:400;
	height:100px;
	justify-content:space-between;
	padding-inline:24px;
	transition:all 0.2s;
	width:100%!important;
	}



[class*="tab-box"][class*="-accordeon"] > input + label svg:has(use),
[class*="tab-box"][class*="-accordeon"] > input + [class*="btn"] svg:has(use) {
	fill:var(--color-neutro-soft);
	height:32px;
	transform: rotate(90deg);
	width:32px;
	}


[class*="tab-box"][class*="-accordeon"] > input:checked + label,
[class*="tab-box"][class*="-accordeon"] > input:checked + [class*="btn"],
[class*="tab-box"][class*="-accordeon"] > input:checked + label svg:has(use),
[class*="tab-box"][class*="-accordeon"] > input:checked + [class*="btn"] svg:has(use) {
	color:var(--color-white);
	fill:var(--color-white)!important;
	}




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


@media (width <= 620px) {

	[class*="tab-content"] {
		padding-inline:24px;
		}

}



















#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,
#tab30:checked ~ #content30,
#tab31:checked ~ #content31,
#tab32:checked ~ #content32,
#tab33:checked ~ #content33,
#tab34:checked ~ #content34,
#tab35:checked ~ #content35,
#tab36:checked ~ #content36{
  display:flex!important;
	}


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



/*--------------------------------------------------- 
--- LISTAS  ////////////////////////////////////////
---------------------------------------------------*/
ul[class^="list"], 
ol[class^="list"] {
	list-style-position:outside;
	padding-left:1.2em;
	width:100%;
	}

ul[class^="list"] li, 
ol[class^="list"] li{
	float: none;
	height: auto;
	line-height:1.6em;
	margin: 0px;
	padding: 0px;
	width:100%;
	}

ul[class^="list"] li {
	list-style:disc;
	}

ol[class^="list"] li {
	list-style:decimal;
	}

ul[class^="list"] li a,
ol[class^="list"] li a{
	color:inherit;
	text-decoration: none;
	}



/* Simple (sin viñetas)
----------------------------------------*/
ul.list-simple, 
ol.list-simple{
	padding-left:0px;
	}


ul.list-simple li, 
ol.list-simple li{
	list-style:none;
	}


/*--------------------------------------------------- 
--- BAR SOCIAL  ////////////////////////////////////
---------------------------------------------------*/
ul.bar-social {
  align-items:center;
  align-content:center;
	display:flex;
  float:none;
	flex-flow:row wrap;
  gap:clamp(20px, 4vw, 38px);
	height:auto;
  font-size:0.9rem;
	justify-content:flex-start;
	list-style:none;
	margin:0px;
	padding:0px;
	width:auto;
	}


ul.bar-social li{
	height:auto;
	list-style:none;
	margin:0px;
	padding:0px;
	width:auto;
	}


ul.bar-social li[data-element='separator']{
  background-color:var(--color-neutro-soft);
  height:22px;
  min-width:1px;
  width:1px!important;
  }

ul.bar-social li a{
	height: auto;
	display:block;
	margin:0px;
	padding:0px;
	width: auto;
	}

ul.bar-social li a svg{
	display:block;
	fill:var(--color-neutro-soft);
	padding:0px;
	height:26px;
	width:26px;
	}

ul.bar-social li a:hover svg{
	fill:#fff;
	}


@media only screen and (max-width:1200px) {
  ul.bar-social{
  gap:clamp(20px, 4vw, 38px);
  }
}


@media only screen and (max-width:820px) {
  ul.bar-social li a .svg-icon{
  height:20px;
  width:20px;
  }
}


@media only screen and (max-width:620px) {
  ul.bar-social{
  gap:clamp(32px, 2vw, 32px);
  }
}



.title ul.bar-social{
  gap:12px!important;
  }



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

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



/*--------------------------------------------------- 
--- FIRST /////////////////////////////////////////
---------------------------------------------------*/
.first {
	margin-top:70px;
	}

.first-movil {
	margin-top:0px;
	}


@media only screen and (max-width:620px) {
	.first,
	.first-movil{
	margin-top:60px;
	}
}

body:has(.header-smart):has(.nav-secundario) .first {
	margin-top:130px;
	}
body:has(.header-smart):has(.nav-secundario.esconder) .first {
	margin-top:70px;
	}

/*-------------------------------------------------- 
--- COLUMNA DEFAULT   /////////////////////////////
---------------------------------------------------*/
[class^="col"],
[class^="block"]  {
	align-content:flex-start;
	align-items:flex-start;
	display:flex;
	flex-grow:99;
	flex-flow:row wrap;
	height:auto;
	overflow:hidden;
	position:relative;
	width:20%;
	}


[class^="col"] {
	min-width:100px;
	}

[class^="block"] {
	min-width:50px;
	}


/*--------------------------------------------------- 
--- BANNER INTERIOR  ////////////////////////////////
---------------------------------------------------*/
.banner-interior {
	display:flex;
	height:70vh;
	flex-flow:row wrap;
	position:relative;
	width:100%;
	}

@media only screen and (max-width:1200px) {
  .banner-interior{
  padding-inline: clamp(20px, 10vw, 140px);
  }
}

@media only screen and (max-width:820px) {
  .banner-interior{
  padding-inline:clamp(0px, 0px, 0px);
  }
}


.banner-interior div.imagen {
	height:100%;
	position:relative;
	width:100%;
	}


.banner-interior div.imagen img,
.banner-interior div.imagen picture img{
	height: 100%;
	object-fit:cover;
	object-position:center center;
	width: 100%;
	}

/*--------------------------------------------------- 
--- PANEL  /////////////////////////////////////////
---------------------------------------------------*/
[class*="panel"] {
	display:flex;
	flex-flow:row wrap;
	}


/*--------------------------------------------------- 
--- FOOTER  /////////////////////////////////////////
---------------------------------------------------*/

/* General
------------------------------*/
div.footer-all {
	color:var(--color-neutro-softer);
	display:flex;
	flex-flow:row wrap;
	height:auto;
	min-height:100px;
	max-width:100%;
	overflow-x:hidden;
	width:100%;
	z-index:9;

	position:fixed;
	bottom: 0px;
	left:0px;
	right: 0px;

	position:relative;
	}

footer{
	align-items:center;
	align-content:center;
	display:flex!important;
	flex-flow:row wrap;
	height:60px;
	max-width:100%;
	overflow-x:hidden;
	width:100%;
	}

/* Footer Footer
----------------------------------------*/
div.footer-all > footer {
	background-color:var(--color-neutro-darker);
	height:auto!important;
	justify-content:space-between;
	padding-block-end:80px;
	padding-inline:0px!important;
	}

/* Footer logo
----------------------------------------*/
div.footer-all > footer a.logotipo .vda-txt {
	border-left:0px solid transparent!important;
	}




/* Footer bar social
------------------------------*/
footer ul.bar-social{
  justify-content:flex-end;
  margin-left:auto;
  gap:clamp(36px, 4vw, 42px);
  padding-inline: clamp(40px, 40px, 80px);
  text-align: right;
  width:auto!important;
  }

footer ul.bar-social li .svg-icon{
	padding:0px;
	height:22px;
 	width:22px;
  }




/* BTN volver arriba
------------------------------*/
footer ul.bar-social li a,
footer  a.arriba{
	color:var(--color-neutro-softer);
	font-size:initial!important;
	font-weight:300;
	text-decoration:none;
	width:auto;
  }


footer a.arriba b,
footer ul.bar-social li.arriba a b {
	font-size:1.2em!important;
	font-weight:300;
  }

footer a.arriba{
	align-content:center;
	flex-flow:row wrap;
	height:70px;
	justify-content:center;
	display:none;
	padding-inline:34px;
	transform:translateY(6px);
  }

footer a.arriba b{
	margin-left:4px;
	transform:translateY(-3px);
  }

@media (width <= 820px) { 

footer a.arriba{
	display:flex;
  }


	footer ul.bar-social li.arriba{
	display:none;
  }

}


/* Footer menu
------------------------------*/
div.footer-all footer  ul.menu-footer{
	align-items:center;
	align-content:center;
	display:flex;
	flex-grow:9;
	flex-flow:row wrap;
	gap:16px;
	height:60px;
	padding-inline: clamp(40px, 40px, 80px);
	width:40%;
	}

div.footer-all footer  ul.menu-footer li{
	color:var(--color-neutro-softer);
	align-items:center;
	align-content:center;
	display:flex;
	flex-flow:row wrap;
	width:auto;
	}


div.footer-all footer ul.menu-footer li a,
div.footer-all footer ul.menu-footer li label{
	background-color:transparent!important;
	color:var(--color-neutro-softer);
	font-size:inherit!important;
	font-weight:300;
	text-decoration:none;
	width:auto;
	}

div.footer-all footer ul.menu-footer li label,
div.footer-all footer ul.menu-footer li label span{
	padding:0px!important;
	}



/* Parrafo
------------------------------*/
footer p{
	align-items:center;
	align-content:center;
	color:var(--color-neutro);
	display:flex;
	flex-flow:row wrap;
	font-size:0.8em;
	height:auto;
	line-height:1.2em;
	padding-inline:0px;
	padding-block:0px;
	width:100%;

	}


div.footer-all footer p{
	min-height:60px;
	text-align:right;
	margin-left:auto;
	padding-inline: clamp(40px, 40px, 80px);
	width:auto;
	}

/* hr
------------------------------*/
div.footer-all footer hr,
div.footer-all > hr {
	background-color:var(--color-black)!important;
	height:1px;
	padding:0px;
	margin:0px;
	width:100%!important;
	}

div.footer-all footer hr.linea-logo,
div.footer-all footer hr.linea-menu {
	display:none;
	} 

/* Content visibility (SEO)
----------------------------------------*/
footer img{
	content-visibility: auto;
	}


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

	div.footer-all footer  ul.menu-footer{
	font-size:1rem;
	gap:14px;
	}

	div.footer-all footer p{
	height:auto;
	max-width:50%;
	}

}


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



	div.footer-all footer p{
	max-width:40%;
	min-height:100px;
	}

}


/*                                       
-----------------------------------------  1200 ---
--------------------------------------------------*/
@media only screen and (max-width:1200px) {
	div.footer-all footer  ul.menu-footer{
	justify-content:center;
	width:100%;
	}

	div.footer-all footer p{
	text-align:center;
	min-height:auto;
	height:auto;
	justify-content:center;
	max-width:100%;
	width:100%;
	}
}



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

	div.footer-all {
	position:relative;
	}


	div.footer-all  div.footer-menu .logotipo {
	height:90px!important;
	margin-right:auto;
	order:1;
	}

	hr.linea-logo {
	order:2;
	}

	div.footer-all footer  ul.menu-footer{
	display:flex;
	justify-content:center;
	height:90px;
	order:3;
	width:100%;
	}

	hr.linea-menu {
	order:4;
	}

	footer ul.bar-social{
  	justify-content:center!important;
  	height:90px;
  	order:5;
  	padding-inline:40px;
	}
	footer ul.bar-social li a .svg-icon{
	height:22px;
	width:22px;
	}


	hr.linea-redes {
	order:6;
	}


	footer ul.bar-social,
	footer p{
	padding-inline:clamp(4px, 2vw, 12px);
	width:100%!important;
	}

	footer{
	align-items:flex-start;
	align-content:flex-start;
	justify-content:center;
	height:auto;
	padding-inline: clamp(0px, 0px, 0px);
	position:relative;
	bottom:auto;
	left:auto;
	right:auto;
	}


	footer p{
	height:auto;
	justify-content:center;
	text-align:center!important;
	order:20;
	padding-block-start:30px;
	padding-block-end:30px;
	}


	div.footer-all footer hr.linea-logo,
	div.footer-all footer hr.linea-menu {
	display:flex;
	} 

}

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

	div.footer-all footer  ul.menu-footer{
	gap:12px;
	padding-inline:10px;
	}

	footer p{
	padding-block-end:120px;
	}

}


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

	div.footer-all footer  ul.menu-footer{
	font-size:0.9em;
	gap:10px;
	padding-inline:4px;
	}
}



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

