@charset "utf-8";
/* CSS Document */




/*-----------------------------------------------------------------------*/




/* #BASE */


/* root */ 
:root {
	/* colores */
	--color-web-1      : #484646;
	--color-web-2-rgba : rgba(0,175,141,.8);
	--color-web-2      : #00af8d;
	--color-000        : #000;
	--color-fff        : #fff;
	--color-ddd        : #ddd;
	--color-eee        : #eee;
	--color-ccc        : #ccc;
	--color-999        : #999;
	--color-666        : #666;
	--color-333        : #333;
	--color-placeholder: var(--color-666);

	/* font */
	--font-roboto      : 'Roboto', sans-serif;
	--font-open-sans   : 'Open Sans', sans-serif;
	--font-lato        : 'Lato', sans-serif;
	--font-montserrat  : 'Montserrat', sans-serif;
	--font             : 'Trade';

	/* hegiht */
	--h-header         : 100px;
	--h-header-scroll  : 50px;
	--top-main         : var(--h-header);
	--top-main-buscador: calc(var(--h-header) + var(--h-buscador));

	/* radius */
	--radius-8         : 8px;
	--radius-12        : 12px;
} 

*, 
:before,
:after{
	margin                  : 0;
	padding                 : 0; 
	box-sizing              : border-box;
	position                : relative;
	font-weight             : normal;
	font-style              : normal;
	font-family             : var(--font-1);
	-webkit-text-size-adjust: none;
	-moz-text-size-adjust   : none;
	-ms-text-size-adjust    : none; 
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust   : 100%; 
	-ms-text-size-adjust    : 100%;
}

:focus,
.btn:focus,
.input:focus,
.textarea:focus,
.select:focus{
	outline     : none !important;
	box-shadow  : none !important;
	border-color: var(--color-1)
}

[data-src]{
    cursor: pointer;
}
	[data-src]:hover{
	    opacity: .7; 
	}
	
a:not([href]):not([tabindex]){
    cursor: default;
}

/* IE7 */
*:first-child+html body {
	overflow: visible;
}

/* selection */
::selection{
	background: var(--color-1);
	color     : var(--color-2);
}
::-moz-selection{
	background: var(--color-1);
	color     : var(--color-2);
}
::-o-selection{
	background: var(--color-1);
	color     : var(--color-2);
}
::-ms-selection{
	background: var(--color-1);
	color     : var(--color-2);
}

/* row */
.row-height [class*=col]{
	display: -webkit-flex;
	display: flex;
}
.row-reverse{
	flex-direction: row-reverse;
}

/* col's custom */
.col-25{
	-ms-flex : 0 0 19.9998%;
	flex     : 0 0  19.9998%;
	max-width: 19.9998%;
	padding  : 0 15px
}

.ejemplo-col [class*=col]{

}

/* absolute */
.abs-center{
	position: absolute;
	top     : 0;
	right   : 0;
	left    : 0;
	bottom  : 0;
	margin  : auto;
}

/* align items */
.ai-center{
	align-items: center;
}

/* display */
.d-flex{
	align-items: center;
}

/* justify content */
.j-flex-end{
	justify-content: flex-end;
}
.j-space-between{
	justify-content: space-between;
}

.row-custom,
.slide,
main,
header,
section,
form,
aside,
nav,
time,
picture,
figure,
article,
address,
footer{
	width: 100%;
	float: left;
}

/* ratio */
[class*=ratio]{
	width          : 100%;
	float          : left;
	text-align     : center;
	overflow       : hidden;
	display        : flex;
	align-items    : center;
	justify-content: center;
}
.ratio-100{
	padding-top:100% !important;
}
.ratio-75{
	padding-top:75% !important;
}
.ratio-56{
	padding-top:56.25% !important;
}
.ratio-50{
	padding-top:50% !important;
}
.ratio-45{
	padding-top:45% !important;
}
.ratio-40{
	padding-top:40% !important;
}
.ratio-35{
	padding-top:35% !important;
}
.ratio-30{
	padding-top:30% !important;
}
.ratio-25{
	padding-top:25% !important;
}
.ratio-20{
	padding-top:20% !important;
}
.ratio-15{
	padding-top:15% !important;
}

	[class*=ratio] img{
		display   : block;
		position  : absolute;
		top       : 0;
		bottom    : 0;
		left      : 0;
		width     : 100%;
		height    : 100%;
		max-width : inherit;
		margin    : auto;
		object-fit: cover;
	}


/* #img */
img{
	width    :auto;
	max-width:100%;
	height   :auto
}

figure{
	margin     : 0;
	line-height: 0
}
	figcaption{
		width: 100%;
		float: left
	}


/* #bg */
.bg-1{
	background-color: var(--color-1);
}
.bg-2{
	background-color: var(--color-2);
}
.bg-3{
	background-color: var(--color-3);
}
.bg-4{
	background-color: var(--color-4);
}



/* #height */
.full-hegiht{
	overflow: hidden;
	height  : 100vh;
}




/* #wpp */
.wpp{
	position       : fixed;
	top            : 0;
	bottom         : 0;
	right          : 30px;
	margin         : auto;
	background     : url(../img/whatsapp.svg) no-repeat center;
	background-size: contain;
	width          : 60px;
	height         : 60px;
	z-index        : 998

}



/* #scrollbar */
::-webkit-scrollbar {
  width: 10px;
}
/* Track */
::-webkit-scrollbar-track {
  background: #f1f1f1; 
}
/* Handle */
::-webkit-scrollbar-thumb {
  background: var(--color-web-2); 
}
/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
  background: #555; 
}



/* #preload */
#preload {
	position        : fixed;
	top             : 0;
	left            : 0;
	right           : 0; 
	bottom          : 0;
	z-index         : 9999999999999999999999;
	background-color: var(--color-web-1);
	display         : flex;
	align-items     : center;
	justify-content : center;
}

	.lds-ripple {
		display : inline-block;
		position: relative;
		width   : 64px;
		height  : 64px;
	}
		.lds-ripple div {
			position     : absolute;
			border       : 4px solid var(--color-1);
			opacity      : 1;
			border-radius: 50%;
			animation    : lds-ripple 1s cubic-bezier(0, 0.2, 0.8, 1) infinite;
		}
		.lds-ripple div:nth-child(2) {
		  animation-delay: -0.5s;
		}

		@keyframes lds-ripple {
		  0% {
			top    : 28px;
			left   : 28px;
			width  : 0;
			height : 0;
			opacity: 1;
		  }
		  100% {
			top    : -1px;
			left   : -1px;
			width  : 58px;
			height : 58px;
			opacity: 0;
		  }
		}

		#preload video{
			width    : 320px !important;
			height   : 150px !important;
			margin   : auto !important;
			right    : 0;
			bottom   : 0;
			transform: translateY(-60px);
		}




/*-----------------------------------------------------------------------*/




/* #BODY */
html, body{
	height: 100%
}
body{
	overflow-x      : hidden;
	font-size       : .9rem;
	background-color: var(--color-web-1);
	color           : var(--color-fff);
	font-family     : var(--font-roboto);
}




/*-----------------------------------------------------------------------*/




/* #CONT - CONTAINER */
#cont{
	width         : 100%;
	min-height    : 100%;
	overflow      : hidden;
	padding-bottom: 0 !important;
}	
	
	/* container */
	.container{
		max-width: 100%;
		padding  : 0 40px;
	}
	.container-2{
		max-width: 1280px
	}
	.container-3{
		max-width: 768px
	}
	.container-full{
		max-width: 100%;
		padding  : 0 !important
	}

	/* contenido */
	.contenido{
		padding: 60px 0
	}
	.contenido.fix-pt{
		padding-top: 0;
	}
	.contenido.fix-pb{
		padding-top: 0;
	}




/*-----------------------------------------------------------------------*/




/* #TEXTO's */
h1{
	font-size:3.8rem
}
h2{
	font-size:3.2rem
}
h3{
	font-size:2.8rem
}
h4{
	font-size:2.4rem
}
h5{
	font-size:1.8rem
}
h6{
	font-size:1.4rem
}

h1,h2,h3,h4,h5,h6{
	color: var(--color-fff);
}

.ch h1,
.ch h2,
.ch h3,
.ch h4,
.ch h5,
.ch h6,
.ch p{
	/*font-size: ;*/
}

.gr h1,
.gr h2,
.gr h3,
.gr h4,
.gr h5,
.gr h6,
.gr p{
	font-size: 8em;
}


/* #color */
.tx-color-1,
.tx-color-1 *{
	color: var(--color-1);
}
.tx-color-2,
.tx-color-2 *{
	color: var(--color-2);
}
.tx-color-3,
.tx-color-3 *{
	color: var(--color-3);
}
.tx-color-4,
.tx-color-4 *{
	color: var(--color-4);
}

/* #transform */
.uppercase{
	text-transform: uppercase !important;
}

/* #weight */
.normal,
.normal *{
	font-weight: normal !important;
}
.semi-bold,
.semi-bold *{
	font-weight: 600 !important;
}
.bold,
.bold *{
	font-weight: bold !important;
}



/* #tit */
.tit{
	margin-bottom: 90px;
	text-align   : center;
}

	.tit h2{
		font-size  : 5rem;
		font-weight: 100;
		opacity    : .4;
	}



/* #p */
p{
	line-height: 1.5;
}

/* #a */
a{
	cursor         : pointer;
	text-decoration: none;
}
a:link{}
a:hover{}
a:visited{}


/* #article */
article h2,
article h3,
article h4,
article h5,
article h6{
	text-align   : left;
	line-height  : 1;
	margin-bottom: 15px
}

article.text-center,
article.text-center *{
	text-align   : center;
}
article.text-left,
article.text-left *{
	text-align   : left;
}
article.text-right,
article.text-right *{
	text-align   : right;
}
article.text-justify,
article.text-justify *{
	text-align   : justify;
}

article p{
	width        : 100%;
	float        : left;
	margin-bottom: 12px
}

	article p + h1,
	article p + h2,
	article p + h3,
	article p + h4,
	article p + h5,
	article p + h6{
		margin-top: 24px
	}
	
	/* copete */
	article .copete p{
		font-weight: 600
	}

article ul{
	width        : 100%;
	float        : left;
	margin-bottom: 15px;
	padding-left : 18px;
}

	article ul li{
		color      : var(--color-1);
		width      : 100%;
		float      : left;
		line-height: 1.5;
		list-style : inherit !important
	}





/*-----------------------------------------------------------------------*/


 

/* #ICONO's */
.ico,
.ico:before,
.ico:after{
	content            : '';
	background-repeat  : no-repeat;
	background-size    : contain;
	background-position: center
}
.ico.ico-abs:before,
.ico.ico-abs:after{
	content        : '';
	width          : 100%;
	height         : 100%;
	display        : flex;
	align-items    : center;
	justify-content: center;
	background-size: auto
}


.ico-ok:before{
	background-image: url(../img/ico-ok.svg?2);
}
.ico-error:before{
	background-image: url(../img/ico-error.svg?2);
}
.ico-correo:before{
	background-image: url(../img/ico-correo-gr.svg?2);
}

/*
.ico-facebook:before{
	background-image: url(../img/ico-facebook.png?2);
}
.ico-instagram:before{
	background-image: url(../img/ico-instagram.png?2);
}
.ico-youtube:before{
	background-image: url(../img/ico-youtube.png?2);
}
.ico-linkedin:before{
	background-image: url(../img/ico-linkedin.png?2);
}
*/

.ico-play:before{
	background-image: url(../img/ico-play.svg?2);
}




/*-----------------------------------------------------------------------*/




/* #BOTONES */
.btn{
    background-color: var(--color-1);
    color: var(--color-2);
    border-radius:0
}
.btn:hover{
    background-color: var(--color-3);
    color: var(--color-2)
}



/* correo */
.btn-correo{
	float           : right;
	width           : 50px;
	height          : 50px;
	background-color: var(--color-web-2);
	border-radius   : 50%;
	display         : flex;
	align-items     : center;
	justify-content : center;
	transition      : all .3s ease-in;
}
	.btn-correo img{
		position  : absolute;
		width     : 28px;
		object-fit: contain;
		top       : 0;
		right     : 0;
		bottom    : 0;
		left      : 0;
		margin    : auto;
	}

	.btn-correo:hover{
		background-color: var(--color-web-1);
	}



/* scroll */
.btn-scroll{
	width                    : 100%;
	height                   : 55px;
	position                 : absolute;
	bottom                   : 55px;
	z-index                  : 997;
	background-size          : contain;
	background-image         : url(../img/ico-scroll.svg);
	background-position      : center;
	background-repeat        : no-repeat;
	cursor                   : pointer;
	transition               : all .2s ease-in;

	animation-name           : scroll;
	animation-duration       : 2s; 
	animation-delay          : 0s;
	animation-iteration-count: infinite;
	z-index:950;
}
.scroll-down .btn-scroll{
	opacity: 0;
}


@keyframes scroll {
    0 {
    	transform: translateY(12px);
    }
    33% {
    	transform: translateY(0px);
    }
    66% {
    	transform: translateY(12px);
    }
    100% {
    	transform: translateY(0px);
    }

}



/* button fix */
button.btn{
	border    :  none;
	text-align: center;
}






/*-----------------------------------------------------------------------*/




/* #HEADER - #MAIN - #FOOTER */

/* header */
#header {
	padding   : 20px 0;
	z-index   : 998;
	background: transparent;
	position  : fixed;
	top       : 0;
	left      : 0;
}

    #header * {
        transition: all .3s ease-in
    }

    #header .col-12 {
		display        : flex;
		align-items    : center;
		justify-content: space-between;
    }

    .scroll-down #header{
		padding   : 8px 0;
		background: rgba(0, 0, 0, .35);
    }


    /* logo */
    #logo {
		margin     : 0; 
		padding    : 10px 0;
		line-height: 1;
		float      : left;
    }

        #logo a {
			display    : block;
			float      : left;
			line-height: 0
        }

        #logo span {
            display: none
        }

        #logo img {
            height: 55px
        }
        .scroll-down #logo img{
        	height: 40px;
        }


    

	
	/* idioma */
    .idioma {
		position : absolute;
		right    : 15px;
		top      : 0;
		bottom   : 0;
		width    : auto;
		height   : 18px;
		margin   : auto;
		transform: translateY(-3px);
		display  : none
    }
    body.lg .idioma{
        display: block
    }

        .idioma a {
			color      : var(--color-1);
			font-weight: 300
        }

        .idioma a.act {
			color      : var(--color-3);
			font-weight: bold;
        }


    



/* main */
#main{
	padding: 0 !important;
	z-index: 800;
}

 

/* footer */
#contacto{
	z-index : 801;
}	

	
  


/*-----------------------------------------------------------------------*/




/* #NAVS's' */



/* #menú */
.menu {
	width          : 100%;
	max-width      : 100%;
	height         : auto;
	float          : right;
	margin         : 0;
	display        : flex;
	align-items    : center;
	justify-content: space-between;
	right          : auto;
}
 
body.lg .menu{
    right: 115px
}

    .menu a,
    .menu span {
		color         : var(--color-3);
		display       : inline-block;
		text-transform: uppercase;
    }

    .menu a,
    .menu [data-pagina]{
        padding: 0 15px;
    }

    .menu a:last-child,
    .menu [data-pagina]:last-child{
        padding-right: 0
    }

    .menu span {
        padding: 15px 0;
    }


    /* hover - activo */

    .menu a:hover,
    .menu [data-pagina]:hover{
        color: var(--color-3);
    }

    .menu a:hover span,
    .menu a.activo span {
        color: var(--color-3);
    }

    .menu a.activo span {
        font-weight: 600;
    }

    .menu a.activo span:after,
    .menu a:hover span:after {
        opacity: 1;
        width: 100%;
    }

    .nav-1{
    	width: auto;
    	float: left;
    	display: flex;
    }
    .nav-2{
    	float: right;
    	width: auto;
    	display: flex;
    }


 
		/* #sub menu */
		.sub-menu{
			width       : 100%;
			height      : auto;
			position    : absolute;
			top         : 100%; 
			left        : 0;
			/*visibility: hidden;
			opacity     : 0;*/
			background  : #fff;
			transition  : all. 4s ease;
			display: none;
		} 

		.sub-menu.abierto,
        .btn-sub:hover .sub-menu{
			display   : block;
			visibility: visible;
			opacity   : 1;
			padding   : 5px !important;
			width     : 100%;
			max-width : 100%;
			left      : 0
		}

            .sub-menu{
                width:100%;
                float:left;
                list-style: none
            }
            .sub-menu a{
				padding      : 5px 10px !important;
				border-bottom: 1px solid #ddd;
				margin-bottom: 5px;
				width        : 100%;
				float        : left;
				font-size    : .85rem !important
            }



        /* btn */
        .btn-menu {
			display  : none;
			position : fixed;
			top      : 0;
			right    : 15px;
			margin   : auto;
			width    : 30px;
			height   : 30px;
			cursor   : pointer;
			transform: translateY(25px);
        }
        .btn-menu:hover{
        	opacity: .6
        }

	        .btn-menu span {
				position     : absolute;
				top          : 0;
				right        : 0;
				bottom       : 0;
				left         : 0;
				width        : 80%;
				height       : 2px;
				margin       : auto;
				border-radius: 0;
				transition   : background 0s .25s;
				background   : var(--color-1);
	        }

		        .btn-menu span:before,
		        .btn-menu span:after {
					position           : absolute;
					width              : inherit;
					height             : inherit;
					content            : '';
					transition-delay   : .25s, 0s;
					transition-duration: .25s, .25s;
					background         : var(--color-1);
					border-radius      : 0
		        }
		        .btn-menu span:before {
		            top: -8px;
		            transition-property: top, -webkit-transform;
		            transition-property: top, transform;
		        }
		        .btn-menu span:after {
		            bottom: -8px;
		            transition-property: bottom, -webkit-transform;
		            transition-property: bottom, transform;
		        }

	        /* hover - activo */
	        body.visible #flag + span {
	            background: none;
	        } 
	        body.visible #flag + span:before {
	            top: 0;
	            -webkit-transform: rotate(45deg);
	                    transform: rotate(45deg);
	        }
	        body.visible #flag + span:after {
	            bottom: 0;
	            -webkit-transform: rotate(-45deg);
	                    transform: rotate(-45deg);
	        }
	        body.visible #flag + span:before,
	        body.visible #flag + span:after {
	            transition-delay: 0s, .25s;
	        }
		        

	/* hover - activo */
	.menu li a:hover,
	.menu .activo a{
		color: #000
	}




/* pie */
#nav-pie a{
	width          : 100%;
	float          : left;
	color          : var(--color-4);
	text-decoration: none;
	font-size      : 1.25rem;
	padding        : 10px 0;
}




/*-----------------------------------------------------------------------*/




/* #SLIDER's - CABEZAL */
.owl-carousel, 
.owl-carousel .owl-stage-outer, 
.owl-carousel .owl-stage, 
.owl-carousel .owl-item,
.owl-carousel .item,
.owl-carousel .item-video{
	height: 100%;
}
	
	/* video */
	.owl-carousel .owl-video{
		position: absolute;
		left    : 0;
		top     : 0;
		height  : 100%
	}
	.owl-carousel .owl-video-wrapper{
		position: absolute;
		width   : 100%;
		top     : 0
	}

	.owl-controls,
	.owl-dots{
		display:none;
	}

	/* nav's */
	.prev,
	.next{ 
		position           : absolute;
		top                : 0;
		width              : 19px;
		height             : 100%;
		font-size          : 0;
		z-index            : 907;
		cursor             : pointer;
		display            : flex;
		align-items        : center;
		background-position: center;
		background-repeat  : no-repeat;
		background-size    : contain;
		transform          : translateY(0);
	}

	.prev{
		background-image: url(../img/prev.svg);
		left            : 0;
	}
	.next{
		background-image: url(../img/next.svg);
		right           : 0
	}
	
		/* hover */
		.prev:hover,
		.next:hover{
			opacity: .7
		}


	.owl-dots{
		width     : 100%;
		text-align: center
	}

		.owl-dot{
			width     : 13px;
			height    : 13px;
			float     : left;
			margin    : 0 6px;
			background: var(--color-1);
			transition: ease-in 0.4s;
			float     : none;
			display   : inline-block
		}

		/* activo */
		.owl-dot.active{
			background: var(--color-3)
		}
		
	 
	/* inicio */
    #slide-header{
		position: relative;
		top     : 0;
		left    : 0;
		width   : 100%;
		height  : 100vh;
    }

    	#slide-header .tx{
			text-align     : center;
			position       : absolute;
			top            : 0;
			right          : 0;
			bottom         : 0;
			left           : 0;
			margin         : auto;
			width          : 100%;
			height         : 100%;
			display        : flex;
			align-items    : center;
			justify-content: center;
			z-index        : 900;
    	}
    	#slide-header h2{
			font-size      : 2.4rem;
			font-weight    : 300;
			text-align     : center;
			color          : var(--color-eee);
			margin         : auto;
			width          : 100%;
			z-index        : 900;
    	}

    	#slide-header span{
    		color: var(--color-web-2);
    		padding: 0 2px;
    	}

		#slide-header .owl-carousel{
			position: absolute;
			left    : auto;
			right   : 0;
			top     : 0;
			bottom  : 0;
			margin  : auto;
			width   : 100%;
			height  : 100%;
		}
		
		
			/* ratio */
			#slide-header figure{
				position: absolute;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
			}
			#slide-header figure:after{
				content   : '';
				width     : 100%;
				height    : 100%;
				position  : absolute;
				top       : 0;
				left      : 0;
				z-index   : 0;
				background: rgba(72,70,70,.7);

			}

			#slide-header figure img{
				position  : absolute;
				top       : 0;
				left      : 0;
				width     : 100%;
				height    : 100vh;
				object-fit: cover;
				margin    : auto;
			}






/*-----------------------------------------------------------------------*/




/* #FORM's */

/* fix ios */
select,
textarea,
input,
input[type="text"],
input[type="button"],
input[type="submit"]{
	appearance           : none;
	-webkit-appearance   : none;
	-moz-appearance      : none;
	-op-appearance       : none;
	border-radius        : 0;
	-webkit-border-radius: 0;
}

form{
	padding   : 90px 0;
	background: var(--color-web-1);
}

	form h6{
		margin-bottom: 30px;
		font-size    : 1.3rem;
		font-weight  : 300;
	}


form input,
form textarea,
form select{
	width        : 100%;
	float        : left;
	padding      : 15px;
	border       : 1px solid var(--color-eee);
	color        : var(--color-web-1) !important;
	font-size    : 1.12rem;
	margin-bottom: 15px;
	transition   : all .3s ease;
}

/* textarea */
form textarea.form-control,
form textarea{
	height:140px
}

/* select */
form select{
	cursor             : pointer;
	appearance         : none;
	-webkit-appearance : none;
	-moz-appearance    : none;
	-op-appearance     : none;
	background-image   : url(../img/ico-select.svg);
	background-repeat  : no-repeat;
	background-position: calc(100% - 10px) center;
	background-color   : transparent;
	background-size    : 9px
}

	form span{
		width        : 100%;
		float        : left;
		font-size    : 1rem;
		font-weight  : 500;
		margin-bottom: 4px;
	}

	/* focus */
	form select:focus{
		background-image: url(../img/ico-select.svg);
		border          : 1px solid #666;
	}
	form input:focus,
	form textarea:focus{
		outline     : 0;
		border-color: #999
	}

	/* checkbox - radio custom */
	form input[type="checkbox"],
	form input[type="radio"]{
		display:none;
	}
	form label.check,
	form label.radio{
		width            : auto;
		background-repeat: no-repeat;
		padding-left     : 26px;
		background-size  : 21px;
		cursor           : pointer;
		margin           : 0 30px 0 0;
		font-size        : 1rem;
		display          : inline-flex;
		align-items      : center;
	}

	form label.check,
	form label.radio{
		background-image:url(../img/radio.svg?2);
	}
	form input[type='checkbox']:checked + label,
	form input[type='radio']:checked + label {
		background-image:url(../img/radio-checked.svg?2) !important;
	}

	form small{
		width: 100%;
		float: left;
	}

	/* file */
	form input[type="file"]{
		width        : auto !important;
		margin-bottom: 25px !important;
	}
	form label.file-custom{
		position       : relative;
		width          : auto;
		padding        : 0 15px;
		height         : 42px;
		background     : #fff;
		border         : 1px solid var(--color-1);
		color          : var(--color-1);
		display        : flex;
		align-items    : center;
		justify-content: center;
		cursor         : pointer;
		margin-bottom  : 15px;
		float          : left;
	}

	.file-name {
	  color: #555;
	}

	/* submit */
	form button,
	form input[type="submit"]{
		width           : 100%;
		padding         : 15px 30px;
		background-color: var(--color-web-2);
		color           : var(--color-fff);
		font-weight     : 300;
		border          : 1px solid var(--color-web-2);
		font-size       : 1.25rem;
		transition      : all .3s ease;

	}
	form button:hover,
	form input[type="submit"]:hover{
		background-color: var(--color-web-1);
		border          : 1px solid var(--color-web-2);
	}


	.verif{
		display   :none;
		visibility: hidden;
	}

	
	form input:focus:invalid, 
	form textarea:focus:invalid{
		border:1px solid #999;
	}

	.required input:focus:valid,
	.required input:valid,
	.required textarea:focus:valid,
	.required textarea:valid{
		border    :1px solid red;
	}

	/* autocompletar */
	input:-webkit-autofill,
	input:-webkit-autofill:hover, 
	input:-webkit-autofill:focus,
	textarea:-webkit-autofill,
	textarea:-webkit-autofill:hover,
	textarea:-webkit-autofill:focus,
	select:-webkit-autofill,
	select:-webkit-autofill:hover,
	select:-webkit-autofill:focus {
		-webkit-text-fill-color: var(--color-1);
		-webkit-box-shadow     : 0 0 0px 1000px #f5f5f5 inset;
		transition             : background-color 5000s ease-in-out 0s;
	}

	/* placeholder */
	input::-webkit-input-placeholder{
		color      : var(--color-placeholder);
		font-family: var(--font-1); 
		font-weight: 400
	}
	input::-moz-placeholder{
		color      : var(--color-placeholder);
		font-family: var(--font-1);  
		font-weight: 400
	}
	input:-ms-input-placeholder{
		color      : var(--color-placeholder);
		font-family: var(--font-1); 
		font-weight: 400
	}
	input:-moz-placeholder{
		color      : var(--color-placeholder);
		font-family: var(--font-1); 
		font-weight: 400
	}
	input::-webkit-input-placeholder{
		color      : var(--color-placeholder);
		font-family: var(--font-1); 
		font-weight: 400
	}

	textarea::-webkit-input-placeholder {
		color      : var(--color-placeholder);
		font-family: var(--font-1);  
		font-weight: 400
	}
	textarea::-moz-placeholder{
		color      : var(--color-placeholder);
		font-family: var(--font-1); 
		font-weight: 400
	}
	textarea:-ms-input-placeholder{
		color      : #000;
		font-family: var(--font-1);  
		font-weight: 400
	}
	textarea:-moz-placeholder{
		color      : var(--color-placeholder);
		font-family: var(--font-1);  
		font-weight: 400
	}


	/* #msj */

	/* btn modal */
	#btn-msj{
		visibility: hidden;
	}

	/* modal */
	.mod-msj{
		align-items    : center !important;
		justify-content: center !important
	}
	.modal-open .modal-msj{
		display: flex !important;
	}

	.modal-msj .modal-dialog{
		width     : 100%;
		max-width : 768px;
		height    : auto !important;
		min-height: inherit !important;
	}

	.error{
		color: #c90000
	}
	.ok{
		color: #4d9b08
	}

	/* modal */
	.modal.show .modal-dialog{
		text-align: center;
	}


	.msj{
		display        : none;
		position       : fixed;
		top            : 0;
		left           : 0;
		width          : 100%;
		height         : 100vh;
		background     : var(--color-web-2-rgba);
		color          : var(--color-fff);
		align-items    : center;
		justify-content: center;
		font-size      : 1.3rem;
		font-weight    : 400;
		z-index        : 999999;
		transition     : all .4s ease;
	}

	/* ok */
	.msj-ok{
		width: 100%;
		min-width: ;
		padding  : 0 !important;
	}

		.msj-ok *{
			text-align: center;
		}

		.msj-ok header,
		.msj-ok section,
		.msj-ok footer{
			padding: 30px 15px !important;
		}

		/* header */
		.msj-ok header{
			background-color: var(--color-1);
			color           : #fff;
			font-size       : 1.2rem;
			font-weight     : 500;
		}

		/* section */



		/* footer */
		.msj-ok .ico-linkedin{
			width  : 42px;
			height : 42px;
			margin : auto;
			display: inline-block;
		}

			.msj-ok .ico-linkedin img{
				position  : absolute;
				top       : 0;
				left      : 0;	
				width     : 100%;
				height    : 100%;
				object-fit: contain;
			}


	/* alerta */
	.msj-pendiente {
		background-color: #fff9d3;
		border          : 2px solid #edda50;
		padding         : 30px;
		text-align      : center;
	}
		.msj-pendiente p{
			color      : yellow;
			margin     : 15px 0 0 0;
			font-weight: 600;
		}


	/* error */
	.msj-error {
		background-color: #ffdbdb;
		border          : 2px solid #c90000;
		padding         : 30px;
		text-align      : center;
	}
		.msj-error p{
			color      : red;
			margin     : 15px 0 0 0;
			font-weight: 600;
		}

	.msj-pendiente img,
	.msj-error img{
		width :  40px;
		height:  40px;
	}




/*-----------------------------------------------------------------------*/




/* # EFECTO's */

.transition{
	transition: all .4s ease-in
}
/* left */
.efecto-left{
	opacity   : 0;
	transform : translateX(-550px);
	transition: all .8s ease-out
}
.no-efecto-left{
	opacity   : 1 !important;
	transform : translateX(0);
	transition: all .8s ease-out
}

/* right */
.efecto-right{
	opacity   : 0;
	transform : translateX(550px);
	transition: all .9s ease-out
}
.no-efecto-right{
	opacity   : 1 !important;
	transform : translateX(0);
	transition: all .9s ease-out
}

/* opacity */
.efecto-opacity{
	opacity   : 0;
	transform : translateY(100px);
	transition: all .7s ease-out
}
.no-efecto-opacity{
	opacity   : 1 !important;
	transform : translateY(0);
	transition: all .7s ease-out
}



/* scroll-down */


/* scroll-up */





/*-----------------------------------------------------------------------*/





/* #MOD's */





/* #tabs */
.mod-tabs{
	margin: 100px 0 0 0;
    padding: 0
}
    
    /* link */
    .mod-tabs .row:nth-of-type(1){
        margin-bottom: 40px
    }

    .mod-tabs nav{
        padding: 0 15px
    }
	
        .tab-link{
			width           : auto;
			padding         : 10px 60px;
			opacity         : 1;
			color           : var(--color-1);
			background-color: var(--color-3);
			font-size       : 1.35rem;
			text-align      : center;
			float           : left;
			cursor          : pointer !important;
        }

        .tab-link.act,
        .tab-link:hover{
			background-color          : #fff;
			color                     : var(--color-5);
			border-bottom-left-radius : 12px;
			border-bottom-right-radius: 12px
        }
	
	/* content */
	.tab-content{
		width     : 100%;
		visibility: hidden;
		opacity   : 0;
		height    : 0;
		padding   : 0 15%;
		margin    : 0;
		float     : left;
	}

	.tab-content.act{
		opacity   : 1;
		visibility: visible;
		height    : auto;
		padding   : 60px 15%;
	}


	/* #home */
	#tabs-1 .tab-content .row{
		align-items: center;
	}

		/* tx */
		#tabs-1 article *{
			color:  var(--color-1);
		}



/* #acordeon */
.mod-acordeon{
	padding: 0;
	margin: 0;
}

	/* link */
	.item-aco{
		width        : 100%;
		float        : left;
		cursor       : pointer;
		list-style   : none;
		margin-bottom: 5px;
		padding      : 1rem 0;
		border-top   : 1px solid #ddd
	}

		.item-aco:after{
			content            : '+';
			position           : absolute;
			bottom             : 6px;
			right              : 1rem;
			margin             : auto;
			background-size    : contain;
			background-repeat  : no-repeat;
			background-position: right;
			font-size          : 1.8rem;
			font-weight        : 400
		}
		
	/* content */
	.mod-acordeon .content{
		width     : 100%;
		float     : left;
		padding   : 0;
		height    : 0;
		visibility: hidden;
		transition: all .6s ease
	}
    .mod-acordeon .content *{
        display: none
    }

	/* hover - activo */
	.item-aco.activo:after{
		content: '-'
	}
    .item-aco.activo + .content,
	.mod-acordeon .content.activo{
		height    : auto;
		visibility: visible;
		padding   : 5px 0
	}
    .mod-acordeon .item-aco.activo + .content *{
        display: block
    }



    /* #aco 1 */
    #aco-1{

    }



/* #parallax */
.mod-px{
	overflow: hidden;
	height: 400px
}

	.parallax{
		width                : 100%;
		height               : 150%;
		background-position  : center top;
		background-repeat    : no-repeat;
		background-attachment: fixed;
		background-size      : cover;
		left                 : 0; 
		float                : left;
		top                  : 0;
		z-index              : 0;	
	}

	figure .parallax{
		position: absolute;
		top     :  0;
		left    :  0;
	}





/* #mapa's */
.mapa{
	width  :100%;
	height : 500px;
	padding: 0;
}
	
	/* marker */
	.leaflet-container .leaflet-marker-pane img{
		width : 30px !important;
		height: 45px !important
	}






/* #video */
.mod-video{
	width : 80%;
	height: 100%;
	clear : both;
	float : left;
}


	.mod-video iframe,
	.mod-video embed,
	.mod-video objet,
	.mod-video video{
		position  : absolute;
		top       : 0;
		left      : 0;
		width     : 100%;
		height    : 100%;
		object-fit: cover;
		background-attachment: fixed;
	}


    /* btn */
	button.play{
		width            : 100px;
		height           : 100px;
		z-index          : 900;
		background       : transparent;
		border           : 0 !important;
		background       : url(../img/btn-play.svg);
		background-repeat: no-repeat;
		background-size  : contain;
		transition       : all .3s ease;
		z-index          : 905;
		opacity          : .5;
	}

	button.play.click{
		visibility: hidden;
		opacity   : 0;
	}

	button.play:hover{
		transform: scale(1.125);
	}

	button.play:hover + .fondo{
		opacity: .5;
	}




 
/* #adjunto's */
.mod-adjuntos{}

	.adjunto{
		float              : left;
		text-decoration    : none;
		background-repeat  : no-repeat;
		background-position: left;
		display            : inline-flex;
		align-items        : center;
		background-color   : var(--color-3);
		color              : var(--color-4);
		padding            : 5px 10px;
		margin             : 0 15px 15px 0
	}
		



/* #fancybox */

	/* popup custom */
	.popup-fbx{
		display  : none;
		max-width: 768px
	}
		/* tx */
		.popup-fbx h5{
			width : 100%;
			float : left;
			margin: 20px 0;
			color :#DA251C
		}




/* #cookie's */
.mod-cookie{
	width          : 100%;
	padding        : 15px;
	position       : fixed;
	bottom         : 0;
	left           : 0;
	background     : var(--color-1);
	z-index        : 900;
	text-align     : center;
	font-weight    : 600;
	align-items    : center;
	justify-content: center;
	display        : none;
}

	.mod-cookie p{
		width    : auto;
		color    : #fff;
		font-size: .9rem;
		margin   : 0;
		display  : inline-block;
	}

	.mod-cookie p a{
		text-decoration: underline;
		color          : #fff
	}
	.mod-cookie p a:hover{
		text-decoration: none !important;
		color          : #fff
	}

	.mod-cookie button{
		color          : var(--color-1);
		background     : #fff;
		padding        : 5px 20px;
		font-weight    : 600;
		text-decoration: none;
		border-radius  : 4px;
		display        : inline-block;
		margin-left    : 10px;
		border         : none;
		cursor         : pointer;

	}

	/* hover */
	.mod-cookie button:hover{
		opacity: .8
	}




/* #compartir */
.shared-panel{
	overflow   : hidden;
	width      : 40px;
	height     : 100%;
	position   : fixed;
	right      : 0;
	z-index    : 99999999;
	display    : flex;
	align-items: center;
}

	.shared {
		display: inline-block;
		width: 30px;
		height: 30px;
		padding: 0;
		/* Recurso incluido en la descarga del ejemplo */
		background: url("../img/shared.png") no-repeat;
		margin-bottom: 5px;
		cursor: pointer;

	}
	.shared:hover{
		opacity: 0.7;
	}
	.shared.gp {background-position: 0px 0px; background-color: 
	#E62B34;}
	.shared.tt {background-position: 0px -30px; background-color: 
	#43BDF0;}
	.shared.ce {background-position: 0px -60px; background-color: 
	#8A898D;}
	.shared.wa {background-position: 0px -90px; background-color: 
	#0dc143;}
	.shared.fb {background-position: 0px -120px; background-color: 
	#6081C4;}

	.st2{
	   border-radius: 0;
	}
	.st3{
	   border-radius: 5px;
	}




/* #redes */
#footer .mod-redes{
	margin-top: 30px;
}

	/* ico */
	.mod-redes .ico{
		width          : auto;
		height         : auto;
		display        : flex;
		align-items    : center;
		justify-content: center;
		float          : left;
		margin-left    : 0;
		border-radius  : 0;
		border         : none;
		transition     : all .3s ease
	}

	/*
	.mod-redes .ico:before{
		width              : 20px;
		height             : 20px;
		background-position: bottom;
		background-size    : cover
	}
	*/

	/* hover */
	.mod-redes a:hover img{
		filter: grayscale(100%);
	}

 


/* #intro */
.sec-intro{
	padding: 90px 0;
}
	
	.sec-intro figure{
		padding-right: 70px;
	}

	.sec-intro img{
		width: 100%;
		float: left;
	}



/* #servicios */
.sec-servicios{
	padding         : 90px 0;
	background-color: var(--color-eee);
}


	/* mod */
	.mod-servicio{
		padding-right: 30px;
	}

		/* img */
		.mod-servicio img{
			max-width: 80%;
		}

		/* tx */
		.sec-servicios *{
			color: var(--color-333);
		}

		.mod-servicio article{
			margin-top: 25px;
		}


