@charset "utf-8";
/* CSS Document */




/*-----------------------------------------------------------------------*/




/* #BASE */


/* root */
:root {
	--color-1          : #00a19a;
	--color-2          : #183776;
	--color-3          : #02364e;
	--color-4          : #fff;
	--color-placeholder: #666;
	--font-1           : 'Montserrat', sans-serif;
}

*, 
:before,
:after{
	margin     : 0;
	padding    : 0;
	box-sizing : border-box;
	position   : relative; 
	font-weight: normal;
	font-style : normal;
	font-family: 'Montserrat', sans-serif;
}

: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     : #fff;
}
::-moz-selection{
	background: var(--color-1);
	color     : #fff;
}
::-o-selection{
	background: var(--color-1);
	color     : #fff;
}
::-ms-selection{
	background: var(--color-1);
	color     : #fff;
}

/* 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]{

}


/* 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-40{
	padding-top:40% !important;
}
.ratio-35{
	padding-top:35% !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
	}




/*-----------------------------------------------------------------------*/




/* #BODY */
html, body{
	height: 100%
}
body{
	overflow-x      : hidden;
	font-size       : 1.15rem;
	background-color: #fff;
	color           : #000;
	font-family: 'Montserrat', sans-serif;
}




/*-----------------------------------------------------------------------*/




/* #CONT - CONTAINER */
#cont{
	width     : 100%;
	min-height: 100%;
	overflow  : hidden;
}	
	
	.container{
		max-width: 1200px;
		padding: 0 30px
	}
	.container-2{
		max-width: 1024px
	}
	.container-3{
		max-width: 768px
	}
	.container-full{
		max-width: 100%;
		padding: 0
	}





/*-----------------------------------------------------------------------*/




/* #TEXTO's */
h1{
	font-size:3.2em
}
h2{
	font-size:2.8rem
}
h3{
	font-size:2.4rem
}
h4{
	font-size:2rem
}
h5{
	font-size:1.6rem
}
h6{
	font-size:1.3rem
}

h1,h2,h3,h4,h5,h6{
	color: var(--color-1);
}

h1 span,h2 span,h3 span,h4 span,h5 span,h6 span{
	font-weight: 300
}

p{
	line-height: 1.5;
}

a{
	cursor         : pointer;
	text-decoration: none;
}
a:link{}
a:hover{}
a:visited{}

.tx-blanco,
.tx-blanco *{
	color: #fff;
}

/* article */
article{
	margin-bottom: 0 !important
}
article h2,
article h3,
article h4,
article h5,
article h6{
	text-align   : left;
	line-height  : 1;
	margin-bottom: 15px
}
article.text-center *{
	text-align   : center;
}
article.text-left *{
	text-align   : left;
}
article.text-right *{
	text-align   : right;
}
article.text-justify *{
	text-align   : justify;
}
	article h1 strong,
	article h2 strong,
	article h3 strong,
	article h4 strong,
	article h5 strong,
	article h6 strong{
		font-weight: 600 
	}


article,
article p{
	width        : 100%;
	float        : left;
	margin-bottom: 15px;
	font-size    : .9rem;
	line-height: 1.6
}

	article p + h1,
	article p + h2,
	article p + h3,
	article p + h4,
	article p + h5,
	article p + h6{
		margin-top: 20px
	}
	
	/* 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;
		font-size  : .9rem
	}




/*-----------------------------------------------------------------------*/




/* #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-chat:before{
	background-image: url(../img/ico-chat.svg?2);
}
.ico-correo-gr:before{
	background-image: url(../img/ico-correo-gr.svg?2);
}
.ico-facebook:before{
	background-image: url(../img/ico-facebook.svg?2);
}
.ico-instagram:before{
	background-image: url(../img/ico-instagram.svg?2);
}
.ico-youtube:before{
	background-image: url(../img/ico-youtube.svg?2);
}



.ico-camion:before{
	background-image: url(../img/ico-camion.svg?2);
}
.ico-camion-verde:before{
	background-image: url(../img/ico-camion-verde.svg?2);
}
.ico-satelite:before{
	background-image: url(../img/ico-satelite.svg?2);
}
.ico-volcadora:before{
	background-image: url(../img/ico-volcadora.svg?2);
}

.ico-tick:before{
	background-image: url(../img/ico-tick.svg?2);
}
.ico-planta:before{
	background-image: url(../img/ico-planta.svg?2);
}






/*-----------------------------------------------------------------------*/




/* #BOTONES */
.btn{
	width           : auto;
	display         : inline-block;
	text-decoration : none;
	cursor          : pointer;
	border-radius   : 30px;
	padding         : 12px 40px;
	background-color: var(--color-1);
	color           : #fff;
	font-size       : 1rem;
	border          : 2px solid var(--color-1) !important;
	transition      : all .2s ease !important;
	font-weight     : 600;
	display         : inline-flex;
	align-items     : center;
	justify-content : center;
}
	
	.btn:hover{
		background-color: #fff;
		color: var(--color-1) !important;
	}

.btn.blanco{
	background-color: #fff !important;
	border:2px solid #fff !important;
	color: var(--color-1) !important
}

	.btn.blanco:hover{
		background-color: var(--color-1) !important;
		color: #fff !important
	}



/*-----------------------------------------------------------------------*/




/* #HEADER - #MAIN - #FOOTER */

/* header */
#header{
	padding         : 15px 0;
	position        : fixed;
	z-index         : 999;
	transition      : all .4s ease;
	background-color: transparent;
}
	
	#header *{
		transition: all .4s ease
	}
	
	#header .row .col-12{
		display        : flex;
		align-items    : center;
		justify-content: space-between;
	}

	/* logo */
	#logo{
		float      : left;
		margin     : 0;
		padding    : 0;
		transition : all .4s ease;
		left       : 0;
		line-height: 1;
		transform  : translateY(0);
	}

		#logo a{
			display    : block;
			float      : left;
			line-height: 0
		}
		#logo span{
			display: none
		}
		#logo img{
			height: auto
		}

	
	



/* main */
#main{}


 

/* footer */
#footer{
	background-color: #fff;
	padding         : 15px 0 0 0
}


	/* pie */
	#footer section{
		padding: 30px 0
	}

	#footer section img{
		height: 50px
	}

	#footer section h6{
		color        : #808183;
		margin-top   : 20px;
		font-size    : 1rem;
		margin-bottom: 0
	}


	#footer section .col-md-6:nth-of-type(1){
		display: flex;
		align-items: center;
	}
	#footer section .col-md-6:nth-of-type(1) div{
		float: left;
	}

	#footer section .col-md-6:nth-of-type(1) nav{
		float       : left;
		width       : 220px;
		border-left : 1px solid #ccc;
		padding-left: 30px;
		margin-left : 30px
	}

	#footer section .col-md-6:nth-of-type(1) nav a{
		color        : #808183;
		font-size    : .9rem;
		padding      : 8px 0;
		border-bottom: 1px dashed var(--color-1);
		width        : 100%;
		float        : left
	}

	#footer section .col-md-6:nth-of-type(1) nav a:last-child{
		border-bottom: 0;
	}


	#footer section .col-md-6:nth-of-type(2) nav{
		width     : 100%;
		float     : left;
		text-align: right;
	}
	
	#footer section .col-md-6:nth-of-type(2) nav a{
		padding    : 0 0 10px 0;
		color      : #808183;
		margin-left: 30px
	}

	#footer section .col-md-6:nth-of-type(2) nav a:after{
		content         : '';
		width           : 100%;
		height          : 3px;
		background-color: var(--color-1);
		position        : absolute;
		left            : 0;
		bottom          : 0;
		opacity         : 0
	}
	#footer section .col-md-6:nth-of-type(2) nav a:hover{
		text-decoration: none
	}
	#footer section .col-md-6:nth-of-type(2) nav a:hover:after{
		opacity: 1
	}

	#footer section .row{
		display    : flex;
		align-items: center;
	}







/*-----------------------------------------------------------------------*/




/* #MENÚ's' */
.menu{
	width      : auto;
	max-width  : 100%;
	height     : auto;
	float      : right;
	margin     : 0;
	right      : auto;
	display    : flex;
	align-items: center;
}

	.menu ul{
		height : 100%;
		display: block;
		width  : auto;
		float  : left;
		margin : 0;
		right  : 0;
		display: flex;
	} 

		.menu ul li{
			width        : auto;
			float        : left;
			margin-bottom: 0;
			padding      : 0;
			margin       : 0;
			list-style   : none;
		}

			.menu ul li a{
				width          : auto;
				float          : left;
				font-weight    : 400;
				text-decoration: none;
				padding        : 2px 20px;
				margin         : 0 5px;
				cursor         : pointer; 
				text-align     : center; 
				color          : #fff;
				text-transform : uppercase;
				font-size      : .9rem
			} 

			.menu li a:after{
				content         : '';
				width           : 1px;
				height          : 60%;
				position        : absolute;
				right           : -5px;
				top             : 0;
				bottom          : 0;
				margin          : auto;
				background-color: var(--color-1)
			}
			.menu li:last-child a:after{
				display: none
			}

		.menu ul li a:hover,
		.menu ul li a:hover:not([href]):not([tabindex]),
		.ancla.activo,
		.nav-activo{
			color: #fff;
			background-color: var(--color-1)
		}




        /* btn */
        .btn-menu {
			display : none;
			position: fixed;
			top     : 13px;
			right   : 30px;
			margin  : auto;
			width   : 30px;
			height  : 24px;
			cursor  : pointer;
			z-index: 90000
        }
        .btn-menu:hover{
        	opacity: .6
        }

	        .btn-menu span {
				position     : absolute;
				top          : 0;
				right        : 0;
				bottom       : 0;
				left         : 0;
				width        : 100%;
				height       : 2px;
				margin       : auto;
				border-radius: 0;
				transition   : background 0s .25s;
				background   : #fff;
	        }

		        .btn-menu span:before,
		        .btn-menu span:after {
					position           : absolute;
					width              : inherit;
					height             : inherit;
					content            : '';
					transition-delay   : .25s, 0s;
					transition-duration: .25s, .25s;
					background         : #fff;
					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
	}




/*-----------------------------------------------------------------------*/




/* #SLIDER's */
.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              : 20px;
		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            : 30px;
	}
	.next{
		background-image: url(../img/next.svg);
		right           : 30px
	}
	
		/* hover */
		.prev:hover,
		.next:hover{
			opacity: .7
		}

	/* dots */
	.owl-dots{
		position  : absolute;
		width     : 100%;
		height    : 20px;
		bottom    : 15px;
		right     : 30px;
		margin    : auto;
		text-align: center;
		z-index   : 9090
	}
	.owl-dots{
		width     : 100%;
		text-align: center
	}

		.owl-dot{
			width     : 13px;
			height    : 13px;
			float     : left;
			margin    : 0 6px;
			background: #000;
			transition: ease-in 0.4s;
			float     : none;
			display   : inline-block
		}

		/* activo */
		.owl-dot.active{
			background: #DA251C
		}
		
	
	/* slide inicio */
		.slide-inicio .owl-carousel{
			position   : absolute;
			left       : auto;
			right      : 0;
			top        : 0;
			bottom     : 0;
			margin     : auto;
			display    : flex;
			align-items: center
		}
		
			.slide-inicio .degrade{
				z-index: 10;
				opacity: .8
			}
		

			/* item */
			.slide-inicio .item{
				display        : flex;
				align-items    : center;
				justify-content: center;
			}

				/* container */
				.slide-inicio .item .container{
					position       : absolute;
					left           : 0;
					right          : 0;
					margin         : auto;
					height         : 100%;
					display        : flex;
					align-items    : center;
					justify-content: left;
					z-index        : 800
				}

					/* tx */
					.slide-inicio .tx{
						z-index   : 901;
						margin    : auto;
						padding   : 0;
						width     : 100%;
						height    : auto;
						text-align: left;
						margin    : 0
					}

						.slide-inicio .tx *{
							text-align    : left;
							color         : #fff;
							/*text-transform: uppercase;*/
						}

						.slide-inicio .tx h2{
							font-weight: 300;
							font-size: 3.25rem;
							line-height: 1
						}

						.slide-inicio .tx strong{
							font-weight: bold !important
						}

	
			
				/* img */
				.slide-inicio .full-height{
					width: 100%;
					height: 100%
				}
				.slide-inicio .full-height img{
					object-fit: cover;
					width: 100%;
					height: 100%;
					position: absolute;
					top: 0;
					left: 0;
				}



			/* slide banner */
			.slide-banner i{
				width          : 20px;
				height         : 100%;
				position       : absolute;
				top            : 0;
				bottom         : 0;
				height         : 100%;
				display        : flex;
				align-items    : center;
				justify-content: center;	
				z-index        : 800
			}



			.slide-movil{
				display: none
			}

			.slide-movil .owl-dots{
				display: block !important;
				right: auto;
				left: auto;
				bottom: -30px
			}

			.slide-movil .owl-dot{
				border-radius: 50%;
				background-color: #666;
			}
			.slide-movil .owl-dot.active{
				border-radius: 50%;
				background-color: var(--color-1);
			}









/*-----------------------------------------------------------------------*/




/* #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-control{
	margin-bottom: 15px;
	border:1px solid #fff !important;
	background-clip: inherit;
}

label,
input,
textarea,
select{
	width: 100%;
	height: auto !important;
	float: left;
	border-radius: 0 !important;
	padding: 12px !important;
}

/* textarea */
textarea.form-control,
textarea{
	height:443px !important
}

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

	/* focus */
	select:focus{
		background-image: url(../img/ico-select.svg);
		border          : 1px solid #666;
	}
	input:focus,
	textarea:focus{
		outline     :0;
		border-color:#fff
	}

	/* checkbox - radio custom */
	input[type="checkbox"],
	input[type="radio"]{
		display:none;
	}
	label.check,
	label.radio{
		width            : auto;
		margin-right     : 35px;
		background-repeat: no-repeat;
		padding-left     : 22px;
		background-size  : 16px;
		cursor           : pointer;
		margin           : 5px 0 10px 0;
	}
	label.check{
		background-image:url(../img/checkbox.png);
		background-image:url(../img/checkbox.svg);
	}
	input[type='checkbox']:checked + label {
		background-image:url(../img/checkbox-checked.png) !important;
		background-image:url(../img/checkbox-checked.svg) !important;
	}
	label.radio{
		background-image:url(../img/radio.png);
		background-image:url(../img/radio.svg);
	}
	input[type='radio']:checked + label {
		background-image:url(../img/radio-checked.png) !important;
		background-image:url(../img/radio-checked.svg) !important;
	}

	/* submit */
	form button{
		width           :100%;
		float           : left;
		background-color: var(--color-1);
		color           : #fff;
		font-weight     : 600;
		border          : 2px solid var(--color-1);
		padding         : 12px;
		cursor          : pointer;
		letter-spacing: .4rem

	}
	form button:hover{
		background-color: #fff;
		color: var(--color-1);
	}

	.verif{display:none;}

	/*
	form input:focus:invalid,
	form textarea:focus:invalid{
		border:1px solid #eee;
	}

	.required input:focus:valid,
	.required input:valid,
	.required textarea:focus:valid,
	.required textarea:valid{
		border    :1px solid #eee;
		background:#E7F3DD
	}

	/* autocompletar
	input:-webkit-autofill {
		-webkit-box-shadow     : 0 0 0px 1000px #eeeeee inset;
		-webkit-text-fill-color: #19181D;
	}
	*/

	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: #666;
		-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-praceholder);
		font-family: var(--font-1); 
		font-weight: 400
	}
	input::-moz-placeholder {
		color      : var(--color-praceholder);
		font-family: var(--font-1);  
		font-weight: 400
	}
	input:-ms-input-placeholder {
		color      : var(--color-praceholder);
		font-family: var(--font-1); 
		font-weight: 400
	}
	input:-moz-placeholder {
		color      : var(--color-praceholder);
		font-family: var(--font-1); 
		font-weight: 400
	}
	input::-webkit-input-placeholder {
		color      : var(--color-praceholder);
		font-family: var(--font-1); 
		font-weight: 400
	}

	textarea::-webkit-input-placeholder {
		color      : var(--color-praceholder);
		font-family: var(--font-1);  
		font-weight: 400
	}
	textarea::-moz-placeholde {
		color      : var(--color-praceholder);
		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-praceholder);
		font-family: var(--font-1);  
		font-weight: 400
	}




/*-----------------------------------------------------------------------*/




/* #MSJ's */

.error{
	color: #c90000
}
.ok{
	color: #4d9b08
}

/* modal */
.modal.show .modal-dialog{
	text-align: center;
}

	/* header */
	.alert{
		margin: auto;
	}
	.modal-alert .modal-header{
		border: none;
	}
	.modal-alert .modal-title{
		text-align: center;
		width     : 100%;
	}

	/* body */
	.modal-alert .modal-body h6{
		font-family: var(--font-1);
		font-size  : 1.2rem;
	}

	/* ico */
	.modal-alert .modal-title i{
		display: inline-block;
		margin : auto
	}
	.modal-alert .modal-title i:before{
		width  : 50px;
		height : 50px;
		display: inline-block;
	}



/* simple */
.msj{
	width          : 100%;
	float          : left;
	padding        : 15px;
	display        : flex;
	align-items    : center;
	margin         : 10px 0;
	justify-content: center;
}
	.msj:before{
		content            : '';
		background-size    : contain;
		background-position: center;
		background-repeat  : no-repeat;
		width              : 28px;
		height             : 28px;
		float              : left;
		margin-right       : 20px;
		float: left
	}

	/* ok */
	.msj.ok{
		background-color: #eaffdb;
		border          : 2px solid #4d9b08;
	}
		
		.msj.ok:before{
			background-image: url(../_img/ico-ok.svg);
		}


	/* alerta */
	.msj.pendiente{
		background-color: #fff9d3;
		border          : 2px solid #edda50;
	}
		.msj.pendiente:before{
			background-image: url(../_img/ico-alerta.svg);
		}

	
	/* error */
	.msj.error{
		background-color: #ffdbdb;
		border          : 2px solid #c90000;
	}
		.msj.error:before{
			background-image: url(../_img/ico-error.svg);
		}


	.msj strong{
		margin-left: 6px
	}




/*-----------------------------------------------------------------------*/




/* #TAB's */
.tabs{
	margin-bottom: 20px
}
	
	/* link */
	.tab-link{
		width        : auto;
		padding      : 10px 30px;
		opacity      : 1;
		color        : var(--color);
		cursor       : pointer;
		list-style   : none;
		float        : left;
		border-bottom: 1px solid #ccc;
		cursor       : pointer !important;
	}
	
	/* content */
	.tab-content{
		width     : 100%;
		visibility: hidden;
		opacity   : 0;
		height    : 0;
		padding   : 0 5px;
		margin    : 0;
		float     : left;
	}
	

	/* hover - activo */
	.tab-link:hover,
	.tab-link.activo{
		opacity: 1 !important;
		color  : red !important
	}

	.tab-content.activo{
		opacity   : 1;
		visibility: visible;
		height    : auto;
	}




/*-----------------------------------------------------------------------*/




/* #ACORDEON */
.acordeon{
	padding-left: 0;
	margin      : 30px 0;
}

	/* link */
	.item-acordeon{
		width        : 100%;
		float        : left;
		cursor       : pointer;
		list-style   : none;
		margin-bottom: 5px;
		padding      : 1rem 0;
		border-top   : 1px solid #ddd
	}

		.item-acordeon: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 */
	.acordeon .content{
		display   : none;
		width     : 100%;
		float     : left;
		padding   : 5px 0;
	}

	/* hover - activo */
	.item-acordeon.activo:after{
		content: '-'
	}
	.acordeon .content.activo{
		display: block
	}




/*-----------------------------------------------------------------------*/




/* #PARALLAX's */
.cont-px{
	overflow: hidden;
	height: 600px
}

	.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;	
	}




/*-----------------------------------------------------------------------*/




/* #MAPA's */
.mapa{
	width  :100%;
	height : 270px;
	padding: 0;
}
	
	/* marker */
	.leaflet-container .leaflet-marker-pane img{
		width : 64px !important;
		height: 64px !important
	}




/*-----------------------------------------------------------------------*/




/* #VIDEO's */
.video {
	padding-bottom: 56.25%; /* 16:9 */
	height        : 0;
	clear         : both;
	width         : 100%;
}

	.video iframe,
	.video embed,
	.video objet{
		position: absolute;
		top     : 0;
		left    : 0;
		width   : 100%;
		height  : 100%;
	}




/*-----------------------------------------------------------------------*/




/* #ADJUNTO's */
.adjunto{
	float              : left;
	text-decoration    : none;
	background-repeat  : no-repeat;
	background-position: left;
	color              : #19181D;
	margin-right       : 40px;
	display            : inline-flex;
	align-items        : center
}
	.adjunto:before{
		content     : '';
		float       : left;
		margin-right: 5px;
		font-size   : 1.6rem;
		color       : var(--color)
	}
	
	.adjunto[href$=".doc"]:before, 
	.adjunto[href$=".docx"]:before{
		content: '\e923'
	}
	.adjunto[href$=".pdf"]:before{
		content: '\e92b'
	}
	.adjunto[href$=".zip"]:before{
		content: '\e934'
	}
	.adjunto[href$=".xls"]:before, 
	.adjunto[href$=".xlsx"]:before{
		content: '\e932'
	} 




/*-----------------------------------------------------------------------*/




/* #TABLE */

/* html responsive */
.row-table{
	width     : 100%;
	max-width : 100%;
	float     : left;
	overflow-x: auto
}

/* comun */
table {
	border         : 1px solid #202020;
	border-collapse: collapse;
	margin         : 0;
	padding        : 0;
	width          : 100%;
	/*table-layout : fixed;*/
}

	table caption {
	  margin: .5rem 0 .75rem;
	}
	table tr {
		background: #fff;
		border    : 1px solid #202020;
		padding   : .35rem;
	}

	table tr:first-child td{
		font-weight: 600;
		background : #eee
	}
	table tr:last-child td{
		font-weight: 600
	}

	table th,
	table td {
		padding   : .5em;
		text-align: center;
		color     : #202020;
		border    : 1px solid #202020
	}
	table th {
	  text-transform: uppercase;
	}




/*-----------------------------------------------------------------------*/




/* #FANCYBOX */
.fancybox-bg{
	background: #333;
}
	.fancybox-navigation{
		position:initial !important
	}
	.fancybox-button, 
	.fancybox-infobar__body,
	.fancybox-arrow:after{
		background-color:rgba(0,0,0,.8)
	}
	.fancybox-arrow:hover{
		opacity:1 !important;
	}

	.fancybox-image-wrap{
		max-width: 90%;
		margin   : auto !important
	}
	.fancybox-close-small:after{
		color    : #202020;
		font-size: 20px
	}


	/* popup custom */
	.popup-fbx{
		display  : none;
		max-width: 800px
	}
		/* tx */
		.popup-fbx h5{
			width : 100%;
			float : left;
			margin: 20px 0;
			color :#DA251C
		}




/*-----------------------------------------------------------------------*/




/* #MASONRY */
.grid-sizer,
.grid-item { 
	width        : 32.5%;
	float        : left;
	padding      : 0;
	margin-bottom: 30px
}
.grid-item--width2{
	width: 65%;
}
	/* img */
	.grid-item img{
		width: 100%
	}

	/* video */
	.grid-item .cont-video{
		position        : absolute;
		width           : 100%;
		height          : 100%;
		top             : 0;
		right           : 0;
		bottom          : 0;
		left            : 0;
		margin          : auto;
		background-color: rgba(0,0,0,.6);
		z-index         : 9
	}

	.grid-item .cont-video:after{
		content        : '';
		position       : absolute;
		top            : 0;
		right          : 0;
		bottom         : 0;
		left           : 0;
		margin         : auto;
		width          : 113px;
		height         : 128px;
		background     : url(../img/ico-play.png) no-repeat center;
		background-size: auto;
		transition     : all .4s ease
	}

	.grid-item .cont-video:hover:after{
		transform: scale(1.15);
	}




/*-----------------------------------------------------------------------*/




/* #COOKIE's */
#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;
}

	#cookie p{
		width    : auto;
		color    : #fff;
		font-size: .9rem;
		margin   : 0;
		display  : inline-block;
	}

	#cookie p a{
		text-decoration: underline;
		color          : #fff
	}
	#cookie p a:hover{
		text-decoration: none !important;
		color          : #fff
	}

	#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 */
	#cookie button:hover{ 
		opacity: .8
	}




/*-----------------------------------------------------------------------*/




/* # EFECTO's */

.transition{
	transition: all .4s ease-in
}
.efecto{
	opacity   : 0;
	transform : translateX(-10px);
	transition: all .5s ease
}
.efecto-add{
	opacity  : 1 !important;
	transform: translateX(0);
}





/*-----------------------------------------------------------------------*/




/* #BARRA SCROLL */
::-webkit-scrollbar {
  width: 10px;
}
/* Track */
::-webkit-scrollbar-track {
  background: #f1f1f1; 
}
/* Handle */
::-webkit-scrollbar-thumb {
  background: var(--color-1); 
}
/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
  background: #555; 
}




/*-----------------------------------------------------------------------*/




/* #PRECARGA */
#preload {
	position        : fixed;
	top             : 0;
	left            : 0;
	right           : 0; 
	bottom          : 0;
	z-index         : 9999999999999999999999;
	background-color: #fff;
	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;
		  }
		}




/*-----------------------------------------------------------------------*/



/* COLOR TX */
.tx-color-gris{
	color: #909294;
}


/* BG */
.bg-1{
	background-color: var(--color-1) !important
}
.bg-2{
	background-color: var(--color-2) !important
}
.bg-3{
	background-color: var(--color-3) !important
}
.bg-4{
	background-color: var(--color-4) !important
}



/* CONTENIDO */
.contenido{
	padding: 90px 0
}




/* TIT */
.tit{
	margin-bottom: 15px
}
.tit.d-flex{
	align-items    : baseline;
	justify-content: space-between;
}
.tit.tit-border{
	border-bottom: 2px dashed var(--color-1);
	margin-bottom: 60px !important;
}


	.tit h2{
		font-size     : 3.2rem;
		font-weight   : 700;
		letter-spacing: .5rem;
		width         : auto;
		margin        : auto;
		display       : inline-flex;
		align-items   : center;
		text-transform: uppercase;
	}

	.tit span{
		font-weight: 300
	}

	/* img */
	.tit img{
		mix-blend-mode: multiply;
		top           : 60px
	}

	.tit h2.ico-planta:before{
		content     : '';
		width       : 100px;
		height      : 100px;
		float       : left;
		margin-right: 25px
	}

	.tit.fix-width h4{
		max-width: 75%
	}


/* CABEZAL */
.cabezal .container{
	position   : absolute;
	left       : 0;
	right      : 0;
	height     : 100%;
	z-index    : 10;
	margin     : auto;
	display    : flex;
	align-items: center;
	z-index    : 997
}

	/* figura */
	.cabezal .figura{
		position           : absolute;
		right              : 15px;
		bottom             : -90px;
		width              : 180px;
		height             : 180px;
		background-position: center;
		background-size    : contain;
		background-repeat  : no-repeat;
		background-image   : url(../img/figura.svg);
	}

	/* tx */
	.cabezal h2{
		color         : #fff;
		font-weight   : bold;
		padding-bottom: 10px;
		border-bottom : dashed 2px #fff;
		letter-spacing: .5rem;
		font-size     : 3.2rem;
		text-transform: uppercase;
	}
	.cabezal h2 span{
		font-weight: 300
	}

	.cabezal .degrade{
		z-index: 1;
		opacity: .65
	}



/* LINEAS */
.linea-dotted{
	width :100%;
	float : left;
	margin: 15px 0;
}
.linea-dotted.top{
	border-top: 2px dotted var(--color-1);
}
.linea-dotted.bottom{
	border-bottom: 2px dotted var(--color-1);
}




/* DEGRADE */	
.degrade{
	width     : 100%;
	height    : 100%;
	position  : absolute;
	top       : 0;
	left      : 0;
	background: rgb(255,0,0);
	background: -moz-radial-gradient(circle, rgba(255,0,0,0) 0%, rgba(0,0,0,1) 100%);
	background: -webkit-radial-gradient(circle, rgba(255,0,0,0) 0%, rgba(0,0,0,1) 100%);
	background: radial-gradient(circle, rgba(255,0,0,0) 0%, rgba(0,0,0,1) 100%);
	filter    : progid:DXImageTransform.Microsoft.gradient(startColorstr="#ff0000",endColorstr="#000000",GradientType=1);
	opacity   : .3;
	z-index   : 0
}

.fix-degrade .container *{
	z-index: 10
}



/* BOX */
.box{
	text-align     : center;
	width          :100%;
	float          : left;
	display        : flex;
	align-items    : center;
	justify-content: center;
	padding-top    : 100%;
}

.box section{
	position       : absolute;
	top            : 0;
	left           : 0;
	right          : 0;
	height         : 100%;
	margin         : auto;
	display        : flex;
	align-items    : center;
	justify-content: center;
}
	
	/* tx */
	.box div *{
		color: #fff !important;
		font-weight: 500
	}

	/* ico */
	.box .ico{
		width     : 100%;
		height    : 160px;
		text-align: center;
	}

		.box .ico:before{
			width  : 160px;
			height : 160px;
			display: inline-block;
			margin : auto;
		}



	/* btn */
	.box .btn{
		bottom: 30px
	}

	/* hover */
	.box:hover .btn{
		background-color: #fff; 
		color           : var(--color-1);
		border-color    : var(--color-1);
	}



/* REDES */
.redes .ico{
	width          : 40px;
	height         : 40px;
	display        : flex;
	align-items    : center;
	justify-content: center;
	float          : left;
	margin-left    : 10px;
	border-radius  : 50%;
	border         : 2px solid var(--color-1);
	transition     :  all .3s ease
}

	.redes .ico:nth-of-type(1){
		margin-left: 0
	}

	.redes .ico:before{
		width              : 20px;
		height             : 20px;
		background-position: bottom;
		background-size    : cover
	}

	/* hover */
	.redes .ico:hover{
		background-color: var(--color-1); 
	}
	.redes a:hover:before{
		background-position: top
	}



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

}



/* LISTA CUSTOM */
.lista{
	margin-bottom: 0
}

	.lista li{
		padding-left : 40px;
		list-style   : none;
		margin-bottom: 15px
	}	

		.lista li:before{
			content            : '';
			background-repeat  : no-repeat;
			background-size    : contain;
			background-position: center;
			background-image   : url(../img/ico-tick.svg);
			width              : 30px;
			height             : 30px;
			position           : absolute;
			top                : -3px;
			left               : 0;
		}



	/* BOX ITEM (acopio home 9) */
	.box-item{
		width          : 100%;
		padding-top    : 90%;
		float          : left;
		border         : 2px dashed #fff;
		text-align     : center;
		color          : #fff;
		text-decoration: none;
		display        : flex;
		align-items    : center;
		justify-content: center;
	}

		.box-item h5{
			position       : absolute;
			width          : 100%;
			height         : 100%;
			top            : 0;
			left           : 0;
			color          : #fff;
			text-align     : center;
			display        : flex;
			align-items    : center;
			justify-content: center;
			margin         : 0
		}






/* QUIENES SOMOS pg */
.banner{
	background-color: var(--color-3);
	padding: 100px 40px;
	width: 100%;
	float:  left;
}

	/* tx */
	.banner h4{
		color: #fff;
		font-weight: 300;
		font-size: 1.6rem;
		line-height: 1.3
	}
	.banner h4 strong{
		color: var(--color-1);
		font-weight: bold;
		font-size: 2rem
	}

	.banner:after{
		content          : '';
		width            : 160px;
		height           : 160px;
		position         : absolute;
		right            : 20px;
		bottom           : -55px;
		background-image : url(../img/figura-2.svg);
		background-size  : contain;
		background-repeat: no-repeat;
	}





/* TRANSPORTE home */
#transporte .col-12{
	z-index: 800
}
.col-camion{
	display: flex;
	align-items: center;
	justify-content: space-between;
	z-index: 900 !important
}

	/* img */
	.img-camion{
		position: absolute;
		right: 15px;
		max-height: 330px;

	}

	/* lineas */
	#transporte .linea-dotted{
		max-width: 90%
	}



/* TRANSPORTE pg */

body.transporte .bg-image{
	background-repeat  : no-repeat;
	background-position: center;
	background-size    : cover;
	background-image   : url(../img/paisaje.jpg);
}
.box-1{
	background-color: rgba(255,255,255,.8);
	z-index         : 900;
	padding         : 130px 40px 40px 40px;
	margin-bottom   : 30px
}
	
	/* section */
	body.transporte  .bg-image{
		padding-bottom: 70px
	}

	/* tx */
	.box-1 header{
		border-bottom : 2px dashed var(--color-1);
		padding-bottom: 30px;
		margin-bottom : 40px
	}
	.box-1 header h3{
		font-weight: 300;
	}
	.box-1 header h3 strong{
		font-weight: bold
	}

	/* article */
	.box-1 article p{
		width: 49.9998%;
		float: left
	}

	/* img */
	.box-1 img{
		position: absolute;
		top: 0;
		left: 0;
		max-height: 230px;
		transform: translate(-40px, -110px);
	}



	body.transporte .box.bg-4 *{
		color: var(--color-1) !important;
	}




/* LOGISTICA  home */
#logistica section:nth-of-type(1){
	padding: 180px 0 80px 0
}
#logistica section:nth-of-type(1):before{
	content            : '';
	width              : 100%;
	height             : 250px;
	background-image   : url(../img/fondo-tri.svg);
	background-size    : cover;
	background-repeat  : no-repeat;
	background-position: left top;
	position           : absolute;
	top                : 0;
	left               : 0;
	z-index            : 20
}
	/* cont */
	#logistica .container{
		z-index: 12;
		height: 100%;
		display: flex;
		align-items: center;
	}
		#logistica .col-box{
			display: flex;
			align-items: center;
			justify-content: center;
		}


	/* tit */
	#logistica .tit{
		padding-top: 20px
	}

	/* img */
	.img-cajas{
		position: absolute;
		right   : 15px;
		bottom  : -50px;
		top: auto !important
	}

	/* index */
	#logistica .fix-index{
		z-index: 900
	}

	/* px */
	#logistica .parallax{
		position: absolute;
		z-index: 10;
	}



	#logistica .box{
		background-color: var(--color-3);
		padding         : 60px 30px;
		width           : 320px;
		display         : block
	}

		#logistica .box h4{
			color      : #fff;
			font-weight: bold;
			font-size  : 1.4rem !important;
			text-align : left;
			width      : 100%;
			float      : left
		}

			#logistica .box h4 strong{
				color: var(--color-1);
			}


		#logistica .box a{
			color        : #fff;
			font-size    : .8rem;
			text-align   : left;
			float        : left;
			margin-top   : 30px;
			margin-bottom: 0 !important;
			display      : flex;
			align-items  : center

		}

		#logistica .box a:before{
			content        : '+';
			width          : 25px;
			height         : 25px;
			border-radius  : 50%;
			border         : 1px solid #fff;
			margin-right   : 10px;
			float          : left;
			font-weight    : 600;
			display        : flex;
			align-items    : center;
			justify-content: center
		}




/* LOGISTICA pg */
body.logistica .lista li{
	color: #fff;
}
body.logistica .lista li:before{
	background-image: url(../img/ico-tick-2.svg);
}
	
	body.logistica .cont-px{
		height: 700px
	}

	body.logistica .cont-px .container{
		position: absolute;
		left    : 0;
		right   : 0;
		margin  : auto;
		height  : 100%;
		z-index : 900
	}


	/* px */
	body.logistica .cont-px .box-item{
		position        : absolute;
		top             : 0;
		right           : 15px;
		padding         : 60px 40px;
		background-color: var(--color-1);
		z-index         : 901;
		border          : none !important;
		width           : 480px;
		display         : block
	}

		/* tx */
		body.logistica .cont-px .box-item *{
			color     : #fff !important;
			text-align: left;
			line-height: 1.6;
			margin-bottom: 0
		} 

		body.logistica .cont-px .box-item header{
			display        : flex;
			align-items    : center;
			justify-content: space-between;
			margin-bottom  : 40px
		}

		body.logistica .cont-px .box-item header i{
			width            : 75px;
			height           : 75px;
			background-size  : contain;
			background-repeat: no-repeat;
			background-image : url(../img/ico-caja.svg)
		}



		.img-palet{
			position: absolute;
			top: 0;
			left: 0;
			max-height: 300px;
			transform: translate(0,-250px);
			z-index: 901
		}



.col-md-6.fix-border{
	border-right: 1px dashed var(--color-1)
}




/* CONTACTO pg */
.col-address p{
	color        : #fff;
	max-width    : 60%;
	margin-bottom: 30px;
	font-size: .9rem
}
.col-address p small{
	font-size: 80%;
	font-weight: 600;
	font-style: italic;
}
.col-address  a{
	color: #fff;
}


/* ADRRESS */
	address *{
		color: #fff;
	}

	address h6{
		margin-bottom: 0
	}

	address p{
		font-size: .9rem;
		margin-bottom: 14px !important
	}





/*-----------------------------------------------------------------------*/


/* SCROLL - Mobile */
.scroll #header,
body.mobile #header{
	padding   : 10px 0;
	background: rgba(0,0,0,.5) !important;
}

	.scroll #logo img,
	body.mobile #logo img{
		height: 30px
	}