@charset 'UTF-8';

/* Reseteo de estilos */

html, body {
	margin: 0;
	padding: 0;
}

p {
	margin: 0 0 1.5em 0;
}

p:last-child {
	margin: 0;
}

a {
	color: inherit;
}

#primary {
	overflow: hidden;
}

.elementor-message::before {
	display: none !important;
}

#cmplz-cookiebanner-container * {
	font-family: 'Roboto';
}

#cmplz-manage-consent {
	display: none;
}

.cookies-link {
	cursor: pointer;
}


/* Estilos generales */

.carousel {
	overflow: hidden;
}

.carousel .top,
.carousel .bottom {
	white-space: nowrap;
	line-height: 0;
	font-size: 0;
}

.carousel .top {
	-webkit-animation: scrolling 60s linear 0s infinite backwards;
					animation: scrolling 60s linear 0s infinite backwards;
}

.carousel .bottom {
	-webkit-animation: scrolling 60s linear 0s infinite reverse backwards;
					animation: scrolling 60s linear 0s infinite reverse backwards;
}

@-webkit-keyframes scrolling {
	from {
		-webkit-transform: translateX(0);
						transform: translateX(0);
	}
	to {
		-webkit-transform: translateX(-100%);
						transform: translateX(-100%);
	}
}

@keyframes scrolling {
	from {
		-webkit-transform: translateX(0);
						transform: translateX(0);
	}
	to {
		-webkit-transform: translateX(-100%);
						transform: translateX(-100%);
	}
}

.carousel .wrapper {
	display: inline-block;
	width: 240px;
	height: 180px;
	margin: 5px;
	vertical-align: middle;
}

.carousel .item {
	font-size: 18px;
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: 100%;
	height: 100%;
	-webkit-box-pack: start;
			-ms-flex-pack: start;
					justify-content: flex-start;
	justify-items: center;
	background-size: cover;
	background-position: center;
	white-space: normal;
	padding: 20px;
	line-height: 1.4em;
	background-blend-mode: multiply;
	-webkit-box-align: center;
			-ms-flex-align: center;
					align-items: center;
}

.carousel .back {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
	opacity: .6;
}

.carousel span {
	position: relative;
	z-index: 2;
}


/* Cabecera de página */

.elementor-location-header {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
	width: 100%;
}

.scrolled-header {
	position: fixed !important;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 20;
	-webkit-transform: translateY(-105%);
			-ms-transform: translateY(-105%);
					transform: translateY(-105%);
	-webkit-transition: all .25s ease !important;
	-o-transition: all .25s ease !important;
	transition: all .25s ease !important;
}

body.scrolled .scrolled-header {
	-webkit-transform: translateY(0%);
			-ms-transform: translateY(0%);
					transform: translateY(0%);
}


/* Pie de página */


/* Responsive : Tablet */

@media (max-width: 1023px) {

}


/* Responsive : Móvil */

@media (max-width: 767px) {

	.hamburger {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
		max-height: 160px;
		width: 60px;
		height: 60px;
		height: 60px;
		margin: -15px 0 -15px 30px;
	}

	.hamburger svg,
	svg.filter {
		height: 60px;
		width: 60px;
		position: absolute;
	}

	.x {
		-webkit-transform: scale(0);
		    -ms-transform: scale(0);
		        transform: scale(0);
		-webkit-transition: -webkit-transform 400ms;
		transition: -webkit-transform 400ms;
		-o-transition: transform 400ms;
		transition: transform 400ms;
		transition: transform 400ms, -webkit-transform 400ms;
	}
	.line {
		fill: none;
		stroke: rgb(0, 174, 187);
		stroke-width: 6px;
		stroke-linecap: round;
		stroke-linejoin: round;
		-webkit-transform-origin: 50%;
		    -ms-transform-origin: 50%;
		        transform-origin: 50%;
		-webkit-transition: stroke-dasharray 500ms 200ms, stroke-dashoffset 500ms 200ms, -webkit-transform 500ms 200ms;
		transition: stroke-dasharray 500ms 200ms, stroke-dashoffset 500ms 200ms, -webkit-transform 500ms 200ms;
		-o-transition: stroke-dasharray 500ms 200ms, stroke-dashoffset 500ms 200ms, transform 500ms 200ms;
		transition: stroke-dasharray 500ms 200ms, stroke-dashoffset 500ms 200ms, transform 500ms 200ms;
		transition: stroke-dasharray 500ms 200ms, stroke-dashoffset 500ms 200ms, transform 500ms 200ms, -webkit-transform 500ms 200ms;
	}

	.x .line {
		stroke-width: 5.5px;
	}

	.hamburger .line2 {
		stroke-dasharray: 40 200;
		stroke-dashoffset: 0px;
	}

	.hamburger .line3 {
		stroke-dasharray: 40 179;
		stroke-dashoffset: 0px;
	}

	.active .line {
		-webkit-transition: stroke-dasharray 500ms, stroke-dashoffset 500ms, -webkit-transform 500ms;
		transition: stroke-dasharray 500ms, stroke-dashoffset 500ms, -webkit-transform 500ms;
		-o-transition: stroke-dasharray 500ms, stroke-dashoffset 500ms, transform 500ms;
		transition: stroke-dasharray 500ms, stroke-dashoffset 500ms, transform 500ms;
		transition: stroke-dasharray 500ms, stroke-dashoffset 500ms, transform 500ms, -webkit-transform 500ms;
	}

	.active.hamburger .line1 {
		-webkit-transform: scale(0, 1);
		    -ms-transform: scale(0, 1);
		        transform: scale(0, 1);
		-webkit-transition: -webkit-transform 500ms 100ms;
		transition: -webkit-transform 500ms 100ms;
		-o-transition: transform 500ms 100ms;
		transition: transform 500ms 100ms;
		transition: transform 500ms 100ms, -webkit-transform 500ms 100ms;
	}

	.active.hamburger .line2 {
		stroke-dasharray: 5px 200;
		stroke-dashoffset: -164px;
	}

	.active.hamburger .line3 {
		stroke-dasharray: 5px 179;
		stroke-dashoffset: -142px;
	}

	.active .x {
		-webkit-transform: scale(1);
		    -ms-transform: scale(1);
		        transform: scale(1);
		-webkit-transition: -webkit-transform 400ms 350ms;
		transition: -webkit-transform 400ms 350ms;
		-o-transition: transform 400ms 350ms;
		transition: transform 400ms 350ms;
		transition: transform 400ms 350ms, -webkit-transform 400ms 350ms;
	}

	.elementor-location-header {
		position: fixed;
	}

	.main-menu {
		position: fixed !important;
		top: 0;
		left: 0;
		height: 100vh;
		display: none;
	}

	.main-menu.active {
		display: block;
	}

	.carousel .item {
		font-size: 15px;
	}

	.carousel .wrapper {
		width: 200px;
		height: 140px;
	}

}
