* {
	box-sizing: border-box; }

*:before, *:after {
	box-sizing: border-box; }

body {
	overflow-y: scroll; }

h1, h2, h3, h4, h5, h6, p, ol, ul {
	margin: 0; }

h1, h2, h3, h4, h5, h6 {
	font: inherit; }

ol, ul {
	list-style: none;
	padding-left: 0; }

button {
	padding: 0;
	cursor: pointer;
	font: inherit;
	color: inherit; }

button, iframe {
	border: none; }

iframe {
	display: block; }

pre {
	display: block; }

input, textarea, select {
	outline: none;
	font: inherit;
	color: inherit;
	border-radius: 0; }

input::placeholder, textarea::placeholder {
	opacity: 0.5;
	color: inherit; }

textarea {
	resize: vertical; }

a {
	text-decoration: none;
	color: inherit; }

table {
	border-collapse: collapse;
	border-spacing: 0; }

.mailto:hover {
	text-decoration: underline; }

video {
	outline: none; }

@font-face {
	font-family: "Confite Marker";
	src: url(../font/Confite-Marker.woff2) format("woff2");
	font-style: normal;
	font-weight: 400; }

@font-face {
	font-family: "Confite Sans";
	src: url(../font/Confite-Sans.woff2) format("woff2");
	font-style: normal;
	font-weight: 400; }

html body {
	background: B0D5ED;
	font-family: 'Confite Marker', sans-serif;
	text-align: center; }
	@media (orientation: landscape) {
		html body {
			font-size: 3rem; } }
	@media (orientation: portrait) {
		html body {
			font-size: 3rem; } }

body {
	overscroll-behavior: none;
	overflow-x: hidden; }

#smooth-content {
	overflow: visible;
	width: 100%; }

.testgradient {
	background: linear-gradient(lightblue, blue);
	border: 1rem solid black; }

.outline {
	outline: 1px dotted red; }

.center-horizontal {
	position: absolute;
	left: 50%; }

.center-vertical {
	position: absolute;
	top: 50%; }

.center-both {
	position: absolute;
	top: 50%;
	left: 50%; }

.flash {
	opacity: 0; }

.menu-adjust {
	transform: translateY(6rem) scale(0.8); }

.scale {
	animation: 21s linear scale infinite; }

@keyframes scale {
	0% {
		transform: scale(1); }
	50% {
		transform: scale(0.7); }
	100% {
		transform: scale(1); } }

.translate {
	animation: 21s linear translate infinite;
	animation-timing-function: cubic-bezier(0.625, 1.555, 0.31, -0.23); }

@keyframes translate {
	0% {
		transform: rotate(0deg) translate3d(1vw, 0, 0) rotate(0deg); }
	100% {
		transform: rotate(360deg) translate3d(1vw, 0, 0) rotate(-360deg); } }

.rotate {
	animation: 2s linear rotate infinite; }

@keyframes rotate {
	0% {
		transform: rotate(-5deg); }
	50% {
		transform: rotate(5deg); }
	100% {
		transform: rotate(-5deg); } }

.rotate-2 {
	animation: 2s linear rotate2 infinite; }

@keyframes rotate2 {
	0% {
		transform: rotate(0); }
	50% {
		transform: rotate(-10deg); }
	100% {
		transform: rotate(0); } }

.twinkle {
	animation: 2s linear twinkle infinite; }

@keyframes twinkle {
	0% {
		transform: scale(1, 1); }
	50% {
		transform: scale(1.1, 1.05); }
	100% {
		transform: scale(1, 1); } }

.twinkle {
	animation: 2s linear twinkle infinite; }

@keyframes twinkle {
	0% {
		transform: scale(1, 1); }
	50% {
		transform: scale(1.1, 1.05); }
	100% {
		transform: scale(1, 1); } }

.twinkle-surtido {
	animation: 2s linear twinkle-surtido infinite; }

@keyframes twinkle-surtido {
	0% {
		transform: translate(0, 3rem); }
	50% {
		transform: translate(0, 0); }
	100% {
		transform: translate(0, 3rem); } }

.nothing {
	animation: 100s linear nothing infinite; }

@keyframes nothing {
	0% {
		transform: scale(1); }
	50% {
		transform: scale(1.1); }
	100% {
		transform: scale(1); } }

.fun-button .square {
	transition: all 0.3s; }

.fun-button.active .square {
	opacity: 1; }

.rotate, .twinkle {
	animation-play-state: paused; }

.screen.in-view .rotate, .screen.in-view .twinkle {
	animation-play-state: running; }

.tab {
	transition: all 0.3s; }
	@media (orientation: portrait) {
		.tab {
			transform: translate(-50%, 0) scale(0.8) !important; } }

/* Slider */
.slick-slider {
	position: relative;
	display: block;
	box-sizing: border-box;
	-webkit-touch-callout: none;
	user-select: none;
	touch-action: pan-y;
	-webkit-tap-highlight-color: transparent; }

.slick-list {
	position: relative;
	overflow: hidden;
	display: block;
	margin: 0;
	padding: 0; }
	.slick-list:focus {
		outline: none; }
	.slick-list.dragging {
		cursor: pointer;
		cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
	transform: translate3d(0, 0, 0); }

.slick-track {
	position: relative;
	left: 0;
	top: 0;
	display: block;
	margin-left: auto;
	margin-right: auto; }
	.slick-track:before, .slick-track:after {
		content: "";
		display: table; }
	.slick-track:after {
		clear: both; }
	.slick-loading .slick-track {
		visibility: hidden; }

.slick-slide {
	float: left;
	height: 100%;
	min-height: 1px;
	display: none; }
	[dir="rtl"] .slick-slide {
		float: right; }
	.slick-slide img {
		display: block; }
	.slick-slide.slick-loading img {
		display: none; }
	.slick-slide.dragging img {
		pointer-events: none; }
	.slick-initialized .slick-slide {
		display: block; }
	.slick-loading .slick-slide {
		visibility: hidden; }
	.slick-vertical .slick-slide {
		display: block;
		height: auto;
		border: 1px solid transparent; }

.slick-arrow.slick-hidden {
	display: none; }

.slider .slide {
	position: relative; }
	.slider .slide img.bg {
		position: absolute;
		left: 0rem;
		top: 0rem;
		width: 100%;
		height: 100%; }

.slider .slick-arrow {
	font-size: 0;
	z-index: 1;
	outline: none;
	transition: all 0.3s; }
	@media (orientation: landscape) {
		.slider .slick-arrow {
			width: 2vw;
			height: 2vw; } }
	@media (orientation: portrait) {
		.slider .slick-arrow {
			width: 4vw;
			height: 4vw; } }
	.slider .slick-arrow.slick-prev {
		background: url(../img/slide/prev.svg) center/cover; }
	.slider .slick-arrow.slick-next {
		background: url(../img/slide/next.svg) center/cover; }

.slider .slick-dots {
	position: absolute;
	left: 50%;
	transform: translate(-50%, 0);
	bottom: 2rem;
	display: flex; }
	.slider .slick-dots button {
		width: 1rem;
		height: 1rem;
		position: relative;
		margin: 0.5rem;
		border-radius: 50%;
		border: 1px solid white;
		background: transparent;
		font-size: 0;
		transition: all 0.3s;
		outline: none; }
		.slider .slick-dots button:before {
			content: '';
			position: absolute;
			top: 50%;
			left: 50%;
			transform: translate(-50%, -50%);
			width: 200%;
			height: 200%; }
	.slider .slick-dots .slick-active button {
		background: white; }

#home-slide .slick-arrow {
	position: absolute;
	top: 50%;
	transform: translate(0, -50%); }
	@media (orientation: landscape) {
		#home-slide .slick-arrow {
			width: 2vw;
			height: 2vw; } }
	@media (orientation: portrait) {
		#home-slide .slick-arrow {
			width: 4vw;
			height: 4vw; } }
	#home-slide .slick-arrow.slick-prev {
		left: 1rem; }
	#home-slide .slick-arrow.slick-next {
		right: 1rem; }

#pat-slide .slick-arrow {
	position: absolute; }
	@media (orientation: landscape) {
		#pat-slide .slick-arrow {
			width: 1.5vw;
			height: 1.5vw; } }
	@media (orientation: portrait) {
		#pat-slide .slick-arrow {
			width: 6vw;
			height: 6vw; } }
	@media (orientation: landscape) {
		#pat-slide .slick-arrow {
			top: 2vw; }
			#pat-slide .slick-arrow.slick-prev {
				right: 13rem; }
			#pat-slide .slick-arrow.slick-next {
				right: 6rem; } }
	@media (orientation: portrait) {
		#pat-slide .slick-arrow {
			top: 66rem; }
			#pat-slide .slick-arrow.slick-prev {
				left: 33rem; }
			#pat-slide .slick-arrow.slick-next {
				right: 33rem; } }

#mobilemenu .burger {
	width: 6vw;
	height: 4vw;
	cursor: pointer;
	user-select: none;
	position: relative; }
	@media (orientation: landscape) {
		#mobilemenu .burger {
			display: none; } }
	#mobilemenu .burger:before {
		content: '';
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		width: 160%;
		height: 160%; }
	#mobilemenu .burger span {
		width: 100%;
		height: 0.4vw;
		background: white;
		transition: all 0.3s;
		outline: 1px solid transparent;
		border-radius: 0.1vw; }
	#mobilemenu .burger .n1 {
		position: absolute;
		left: 0rem;
		top: 0rem; }
	#mobilemenu .burger .n2 {
		position: absolute;
		margin: auto;
		left: 0;
		right: 0;
		top: 0;
		bottom: 0; }
	#mobilemenu .burger .n3 {
		position: absolute;
		left: 0rem;
		bottom: 0rem; }
	#mobilemenu .burger.active .n1 {
		transform: translateY(1.8vw) rotate(45deg) scaleX(0.8); }
	#mobilemenu .burger.active .n3 {
		transform: translateY(-1.8vw) rotate(-45deg) scaleX(0.8); }
	#mobilemenu .burger.active .n2 {
		opacity: 0;
		transform: scale(0); }

#menudesktop .has-submenu:hover .submenu {
	max-height: 40em;
	opacity: 1; }

#menudesktop .submenu {
	opacity: 0;
	max-height: 0;
	border-radius: 0.1em;
	box-shadow: 0.2em 0.2em 0.9em rgba(19, 41, 116, 0.3);
	background: #84c5e5;
	position: absolute;
	left: -2em;
	top: -1em;
	transition: all 0.5s;
	padding: 0em;
	padding-top: 0.5em;
	padding-bottom: 1em;
	overflow: hidden; }
	#menudesktop .submenu .d2 {
		display: table;
		padding: 0.5em 1em 0.5em 1em; }

#menudesktop .has-submenu {
	position: relative;
	border-radius: 2vw; }
	#menudesktop .has-submenu .chev {
		padding-right: 1em;
		position: relative; }
		#menudesktop .has-submenu .chev:after {
			position: absolute;
			top: 50%;
			transform: translate(0, -50%);
			right: 0;
			content: '';
			display: block;
			background-image: url(../img/layout/chev-down-white.svg);
			background-size: 100% 100%;
			background-repeat: no-repeat;
			width: 0.6em;
			height: 0.6em; }

#menudesktop .d2 {
	margin-left: 1em;
	padding-bottom: 1em;
	position: relative;
	white-space: nowrap; }
	#menudesktop .d2:before {
		content: '- ';
		position: absolute;
		top: 50%;
		transform: translate(0, -50%);
		left: 0; }

#menudesktop .nodash:before {
	content: '' !important; }

#menudesktop .d3 {
	font-size: 90%; }

#page-contacto .main.contain {
	width: 85vw; }

@media (orientation: landscape) {
	#page-contacto .blue-sec {
		margin: 5vw 0; } }

@media (orientation: portrait) {
	#page-contacto .blue-sec {
		margin: 0 0 5vw 0; } }

@media (orientation: landscape) {
	#page-contacto .blue-sec {
		border-radius: 0.8vw;
		padding-top: 3vw;
		background: #132974;
		position: relative; } }

#page-contacto .blue-sec .map {
	background: #f2f2f2;
	position: relative; }

#page-contacto .blue-sec .address {
	font-family: Montserrat, sans-serif;
	text-align: left;
	color: white; }
	@media (orientation: portrait) {
		#page-contacto .blue-sec .address {
			background: #132974;
			border-radius: 0.8vw; } }
	@media (orientation: landscape) {
		#page-contacto .blue-sec .address {
			padding: 4vw 0 4vw 10vw; } }
	@media (orientation: portrait) {
		#page-contacto .blue-sec .address {
			padding: 2vw; } }
	@media (orientation: landscape) {
		#page-contacto .blue-sec .address {
			font-size: 1vw; } }
	@media (orientation: portrait) {
		#page-contacto .blue-sec .address {
			font-size: 1vw; } }
	#page-contacto .blue-sec .address span {
		font-weight: 600; }

@media (orientation: landscape) {
	#page-contacto .blue-sec form {
		position: absolute;
		top: -2vw;
		right: 6vw;
		width: 30vw; } }

@media (orientation: portrait) {
	#page-contacto .main.contain {
		width: 90vw; }
	#page-contacto .blue-sec {
		display: flex;
		flex-direction: column;
		gap: 5vw; }
		#page-contacto .blue-sec form {
			order: 1; }
		#page-contacto .blue-sec .address {
			order: 2; }
		#page-contacto .blue-sec .address {
			border-radius: 3vw;
			padding: 6vw;
			font-size: 4vw; }
	#page-contacto form {
		border-radius: 3vw;
		padding: 7vw 6vw;
		margin-bottom: 0;
		background: white; }
		#page-contacto form .form-title {
			font-size: 5vw;
			margin-bottom: 5vw; }
		#page-contacto form input, #page-contacto form textarea {
			font-size: 4vw;
			border-radius: 2vw;
			margin-bottom: 3vw; }
		#page-contacto form input {
			height: 12vw;
			padding: 0 3vw; }
		#page-contacto form textarea {
			height: 35vw;
			padding: 2vw 3vw; }
		#page-contacto form .send-wrap .button-wrap, #page-contacto form .send-wrap .button-wrap button {
			width: 32vw;
			height: 11vw; }
		#page-contacto form .send-wrap .button-wrap button {
			font-size: 4vw;
			margin-top: 2vw; }
		#page-contacto form .send-wrap .loading {
			width: 11vw;
			height: 11vw;
			border-width: 1.5vw; }
		#page-contacto form .send-wrap .response {
			font-size: 4vw;
			line-height: 11vw; } }

form {
	font-family: Montserrat, sans-serif;
	border-radius: 0.8vw;
	margin-bottom: 1vw;
	background: #f6f5f2; }
	@media (orientation: landscape) {
		form {
			padding: 4vw; } }
	@media (orientation: portrait) {
		form {
			padding: 2vw; } }
	form .form-title {
		text-align: center;
		font-weight: 600;
		letter-spacing: er sem;
		margin-bottom: 1.5vw; }
		@media (orientation: landscape) {
			form .form-title {
				font-size: 1.4vw; } }
		@media (orientation: portrait) {
			form .form-title {
				font-size: 1.4vw; } }
	form label {
		padding-left: 0.8vw;
		color: #707070;
		margin-bottom: 0.3vw;
		display: block; }
		@media (orientation: landscape) {
			form label {
				font-size: 1rem; } }
		@media (orientation: portrait) {
			form label {
				font-size: 1rem; } }
	form input, form textarea {
		margin-bottom: 1vw;
		border: 1px solid #B5B5B5;
		border-radius: 0.5vw;
		background: transparent;
		width: 100%; }
		@media (orientation: landscape) {
			form input, form textarea {
				font-size: 1vw; } }
		@media (orientation: portrait) {
			form input, form textarea {
				font-size: 1vw; } }
	form input {
		height: 2.7vw;
		padding: 0 0.8vw; }
	form textarea {
		height: 7vw;
		padding: 0.5vw 0.8vw;
		resize: none; }
	form .send-wrap {
		display: block;
		margin-left: auto;
		margin-right: auto;
		position: relative; }
		form .send-wrap .button-wrap {
			width: 8vw;
			height: 3vw;
			display: inline-block;
			position: relative;
			z-index: 1; }
			form .send-wrap .button-wrap button {
				width: 8vw;
				height: 3vw;
				background: #f6f5f2;
				color: white; }
			form .send-wrap .button-wrap .loading {
				opacity: 0;
				pointer-events: none;
				transition: all 0.5s;
				z-index: -1;
				position: absolute;
				margin: auto;
				left: 0;
				right: 0;
				top: 0;
				bottom: 0;
				width: 3vw;
				height: 3vw;
				border-radius: 50%;
				border: 0.42857vw solid white;
				border-top: 0.42857vw solid #777;
				border-color: #f6f5f2;
				border-top-color: transparent;
				animation: spin 1.6s linear infinite; }

@keyframes spin {
	0% {
		transform: scale(0.5) rotate(0deg); }
	100% {
		transform: scale(0.5) rotate(360deg); } }
		form .send-wrap .response {
			position: absolute;
			left: 0rem;
			top: 0rem;
			opacity: 0;
			pointer-events: none;
			transition: all 0.5s;
			width: 100%;
			line-height: 3vw;
			transition: all 1s;
			text-align: center;
			font-weight: bold;
			color: #f6f5f2; }
		form .send-wrap.waiting button, form .send-wrap.waiting .response {
			opacity: 0;
			pointer-events: none;
			transition: all 0.5s; }
		form .send-wrap.waiting .loading {
			opacity: 1;
			transition: all 0.5s;
			pointer-events: auto;
			z-index: 0; }
		form .send-wrap.waiting.success .button-wrap {
			opacity: 0;
			pointer-events: none;
			transition: all 0.5s;
			z-index: -1; }
		form .send-wrap.waiting.success .response {
			opacity: 1;
			transition: all 0.5s;
			pointer-events: auto;
			z-index: auto; }
		form .send-wrap.error .response {
			opacity: 1;
			transition: all 0.5s;
			pointer-events: auto;
			z-index: auto; }
		form .send-wrap .button-wrap button {
			margin-top: 1vw;
			display: table;
			margin-left: auto;
			margin-right: auto;
			background: #132974;
			font-weight: 300;
			color: white;
			padding: 0.6em 1.5em;
			border-radius: 0.7em; }
			@media (orientation: landscape) {
				form .send-wrap .button-wrap button {
					font-size: 0.8vw; } }
			@media (orientation: portrait) {
				form .send-wrap .button-wrap button {
					font-size: 0.8vw; } }
	form .response {
		text-align: center;
		font-weight: bold; }
		@media (orientation: landscape) {
			form .response {
				font-size: 1.2vw; } }
		@media (orientation: portrait) {
			form .response {
				font-size: 1.2vw; } }

footer p {
	margin-bottom: 0.5em; }

footer .title {
	font-weight: bold;
	font-size: 140%; }

footer .social img {
	height: 1.5em; }

footer .footlink {
	position: relative;
	padding-left: 0.8em; }
	footer .footlink:hover {
		text-decoration: underline; }
	footer .footlink::before {
		position: absolute;
		top: 50%;
		transform: translate(0, -50%);
		left: 0;
		content: '';
		display: block;
		background-image: url(../img/layout/chev-right-white.svg);
		background-size: 100% 100%;
		background-repeat: no-repeat;
		width: 0.4em;
		height: 0.4em; }

.of-contain {
	position: absolute;
	left: 0rem;
	top: 0rem;
	width: 100%;
	height: 100%;
	object-fit: contain; }

.scale-9 {
	transform: scale(0.9); }

.scale-8 {
	transform: scale(0.8); }

.scale-7 {
	transform: scale(0.7); }

.scale-6 {
	transform: scale(0.6); }

.tabla-list {
	text-wrap: balance; }

