@charset "UTF-8";
* {
	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: "Roobert PRO";
	src: url(../font/RoobertPRO-Light.woff2) format("woff2");
	font-style: normal;
	font-weight: 300; }

@font-face {
	font-family: "Roobert PRO";
	src: url(../font/RoobertPRO-Regular.woff2) format("woff2");
	font-style: normal;
	font-weight: 400; }

@font-face {
	font-family: "Roobert PRO";
	src: url(../font/RoobertPRO-Bold.woff2) format("woff2");
	font-style: normal;
	font-weight: 700; }

@font-face {
	font-family: "Roobert PRO";
	src: url(../font/RoobertPRO-Medium.woff2) format("woff2");
	font-style: normal;
	font-weight: 500; }

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

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

@media (min-width: 1501px) {
	html {
		font-size: 0.83478vw; }
		html #scale {
			width: 8.34783px;
			display: none; } }

@media (min-width: 1001px) and (max-width: 1500px) {
	html {
		font-size: 1vw; }
		html #scale {
			width: 10px;
			display: none; } }

@media (max-width: 1000px) {
	html {
		font-size: 3.84vw; }
		html #scale {
			width: 38.4px;
			display: none; } }

html body {
	font-family: 'Roobert PRO',  sans-serif; }
	@media (min-width: 1001px) {
		html body {
			font-size: 1rem; } }
	@media (max-width: 1000px) {
		html body {
			font-size: 1rem; } }
	html body ::selection {
		background-color: #6890cf;
		color: white; }

html.servicio {
	background-color: #efefef; }

.contain {
	width: 91rem; }

.full-height {
	height: 100svh;
	min-height: 40rem;
	max-height: 64rem; }

header {
	transition: all 0.3s;
	height: 4rem;
	top: 0;
	position: fixed;
	transform: translate3d(0, 0, 0);
	will-change: background; }
	header a {
		transition: all 0.3s; }
	@media (min-width: 1001px) {
		header .logoblue {
			opacity: 0;
			pointer-events: none;
			transition: all 0.5s; }
		header .logowhite {
			opacity: 1;
			transition: all 0.5s;
			pointer-events: auto; } }
	@media (max-width: 1000px) {
		header .logoblue {
			opacity: 1;
			transition: all 0.5s;
			pointer-events: auto; }
		header .logowhite {
			opacity: 0;
			pointer-events: none;
			transition: all 0.5s; } }
	header.fixed {
		background: rgba(255, 255, 255, 0.95); }
		@media (min-width: 1001px) {
			header.fixed nav > a, header.fixed .has-submenu > a {
				color: black; } }
		header.fixed .logoblue {
			opacity: 1;
			transition: all 0.5s;
			pointer-events: auto; }
		header.fixed .logowhite {
			opacity: 0;
			pointer-events: none;
			transition: all 0.5s; }
	@media (max-width: 1000px) {
		header {
			background: rgba(255, 255, 255, 0.95); } }
	header nav a.active {
		font-weight: bold; }
	@media (max-width: 1000px) {
		header nav {
			position: absolute;
			left: 0rem;
			top: 100%;
			width: 100%;
			display: none;
			padding: 1rem 0;
			background: rgba(255, 255, 255, 0.95); }
			header nav a {
				padding: 0.5em;
				margin: 0.5em;
				display: block;
				text-align: center; }
				header nav a.active {
					font-weight: bold; } }
	@media (min-width: 1001px) {
		header nav > a, header nav .has-submenu > a {
			padding: 1rem 0; }
		header nav .has-submenu:hover .submenu {
			opacity: 1;
			transition: all 0.5s;
			pointer-events: auto; }
		header nav .submenu {
			opacity: 0;
			pointer-events: none;
			transition: all 0.5s;
			background-color: rgba(32, 58, 114, 0.95);
			padding: 0.3rem 0.5rem;
			top: 1.9rem; }
			header nav .submenu a {
				color: white;
				text-transform: none;
				border-bottom: 0.1rem solid white;
				padding: 0.5rem 0; }
				header nav .submenu a:last-child {
					border: none; } }
	header .burger {
		width: 2rem;
		height: 1.5rem;
		cursor: pointer;
		user-select: none;
		position: relative; }
		@media (min-width: 1001px) {
			header .burger {
				display: none; } }
		header .burger:before {
			content: '';
			position: absolute;
			top: 50%;
			left: 50%;
			transform: translate(-50%, -50%);
			width: 160%;
			height: 160%; }
		header .burger span {
			width: 100%;
			height: 0.16rem;
			background: #203A72;
			transition: all 0.3s;
			outline: 1px solid transparent;
			border-radius: 0.04rem; }
		header .burger .n1 {
			position: absolute;
			left: 0rem;
			top: 0rem; }
		header .burger .n2 {
			position: absolute;
			margin: auto;
			left: 0;
			right: 0;
			top: 0;
			bottom: 0; }
		header .burger .n3 {
			position: absolute;
			left: 0rem;
			bottom: 0rem; }
		header .burger.active .n1 {
			transform: translateY(0.67rem) rotate(45deg) scaleX(0.8); }
		header .burger.active .n3 {
			transform: translateY(-0.67rem) rotate(-45deg) scaleX(0.8); }
		header .burger.active .n2 {
			opacity: 0;
			transform: scale(0); }

footer a.active {
	font-weight: bold; }

footer form label {
	display: none; }

footer form input {
	height: 2.7rem; }

footer form .send-wrap {
	position: relative; }
	footer form .send-wrap .button-wrap {
		width: 100%;
		height: 2.7rem;
		display: inline-block;
		position: relative;
		z-index: 1; }
		footer form .send-wrap .button-wrap button {
			width: 100%;
			height: 2.7rem;
			background: #747371;
			color: white; }
		footer 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: 2.7rem;
			height: 2.7rem;
			border-radius: 50%;
			border: 0.38571rem solid white;
			border-top: 0.38571rem solid #777;
			border-color: #747371;
			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); } }
	footer form .send-wrap .response {
		position: absolute;
		left: 0rem;
		top: 0rem;
		opacity: 0;
		pointer-events: none;
		transition: all 0.5s;
		width: 100%;
		line-height: 2.7rem;
		transition: all 1s;
		text-align: center;
		font-weight: bold;
		color: #747371; }
	footer form .send-wrap.waiting button, footer form .send-wrap.waiting .response {
		opacity: 0;
		pointer-events: none;
		transition: all 0.5s; }
	footer form .send-wrap.waiting .loading {
		opacity: 1;
		transition: all 0.5s;
		pointer-events: auto;
		z-index: 0; }
	footer form .send-wrap.waiting.success .button-wrap {
		opacity: 0;
		pointer-events: none;
		transition: all 0.5s;
		z-index: -1; }
	footer form .send-wrap.waiting.success .response {
		opacity: 1;
		transition: all 0.5s;
		pointer-events: auto;
		z-index: auto; }
	footer form .send-wrap.error .response {
		opacity: 1;
		transition: all 0.5s;
		pointer-events: auto;
		z-index: auto; }
	footer form .send-wrap .button-wrap button {
		width: 4rem;
		border-radius: 0.2rem; }
		@media (min-width: 1001px) {
			footer form .send-wrap .button-wrap button {
				font-size: 0.8rem; } }
		@media (max-width: 1000px) {
			footer form .send-wrap .button-wrap button {
				font-size: 0.8rem; } }

.contacto-page form {
	position: relative; }
	.contacto-page form #honey {
		opacity: 0.01; }
	.contacto-page form label {
		display: none; }
	.contacto-page form .input-wrap {
		margin-bottom: 0.8rem;
		width: 100%; }
		@media (min-width: 1001px) {
			.contacto-page form .input-wrap.telefono-group, .contacto-page form .input-wrap.correo-electronico-group {
				width: 49%; } }
		.contacto-page form .input-wrap input {
			height: 2.7rem; }
		.contacto-page form .input-wrap textarea {
			height: 5.4rem; }
		.contacto-page form .input-wrap input, .contacto-page form .input-wrap textarea {
			border: none;
			display: block;
			color: white;
			padding: 0.3rem 0.6rem;
			border-radius: 0.3rem;
			width: 100%;
			background: #b9b9b9;
			color: white;
			resize: none; }
			@media (min-width: 1001px) {
				.contacto-page form .input-wrap input, .contacto-page form .input-wrap textarea {
					font-size: 0.9rem; } }
			@media (max-width: 1000px) {
				.contacto-page form .input-wrap input, .contacto-page form .input-wrap textarea {
					font-size: 0.9rem; } }
	.contacto-page form .response {
		line-height: 2.7rem; }
	.contacto-page form .send-wrap {
		width: 100%;
		position: relative; }
		.contacto-page form .send-wrap .button-wrap {
			width: 100%;
			height: 2.7rem;
			display: inline-block;
			position: relative;
			z-index: 1; }
			.contacto-page form .send-wrap .button-wrap button {
				width: 100%;
				height: 2.7rem;
				background: #b9b9b9;
				color: white; }
			.contacto-page 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: 2.7rem;
				height: 2.7rem;
				border-radius: 50%;
				border: 0.38571rem solid white;
				border-top: 0.38571rem solid #777;
				border-color: #b9b9b9;
				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); } }
		.contacto-page form .send-wrap .response {
			position: absolute;
			left: 0rem;
			top: 0rem;
			opacity: 0;
			pointer-events: none;
			transition: all 0.5s;
			width: 100%;
			line-height: 2.7rem;
			transition: all 1s;
			text-align: center;
			font-weight: bold;
			color: #b9b9b9; }
		.contacto-page form .send-wrap.waiting button, .contacto-page form .send-wrap.waiting .response {
			opacity: 0;
			pointer-events: none;
			transition: all 0.5s; }
		.contacto-page form .send-wrap.waiting .loading {
			opacity: 1;
			transition: all 0.5s;
			pointer-events: auto;
			z-index: 0; }
		.contacto-page form .send-wrap.waiting.success .button-wrap {
			opacity: 0;
			pointer-events: none;
			transition: all 0.5s;
			z-index: -1; }
		.contacto-page form .send-wrap.waiting.success .response {
			opacity: 1;
			transition: all 0.5s;
			pointer-events: auto;
			z-index: auto; }
		.contacto-page form .send-wrap.error .response {
			opacity: 1;
			transition: all 0.5s;
			pointer-events: auto;
			z-index: auto; }
		.contacto-page form .send-wrap .button-wrap button {
			border-radius: 0.2rem; }
			@media (min-width: 1001px) {
				.contacto-page form .send-wrap .button-wrap button {
					font-size: 0.8rem; } }
			@media (max-width: 1000px) {
				.contacto-page form .send-wrap .button-wrap button {
					font-size: 0.8rem; } }

.shadow {
	box-shadow: 0 0.2rem 0.2rem -0.2rem #777; }

.fun-ca img {
	transition: all 0.5s;
	position: absolute;
	margin: auto;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0; }

a:hover .fun-ca img {
	transform: rotate(180deg); }

input {
	border: none; }

@media (max-width: 1000px) {
	.tel {
		text-decoration: underline; } }

.bluewrap h3 {
	font-weight: bold;
	margin-bottom: 1em; }
	@media (min-width: 1001px) {
		.bluewrap h3 {
			font-size: 1.2rem; } }
	@media (max-width: 1000px) {
		.bluewrap h3 {
			font-size: 1.2rem; } }

@media (max-width: 1000px) {
	.bluewrap {
		display: flex;
		flex-direction: column;
		gap: 1.5rem; } }

.bluewrap p {
	line-height: 1.4;
	position: relative;
	margin-left: 0.5em;
	padding-left: 1em; }
	.bluewrap p:before {
		content: "•";
		position: absolute;
		left: 0rem;
		top: 0rem; }

.blue-layer {
	transition: all 0.5s;
	opacity: 0; }

@media (min-width: 1001px) {
	.hover-trigger:hover .hover-element {
		opacity: 0.5; } }

.scale-1 {
	transform: scale(1.1) scale(0.91);
	will-change: transform; }

.absolute-center-scale {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) scale(1.1) scale(0.91);
	will-change: transform; }

.fun-circle .circtext {
	width: 20em; }

@media (min-width: 1001px) {
	.circtext {
		position: absolute;
		top: 50%; }
	.fun-circle:nth-child(odd) {
		left: -9rem; }
		.fun-circle:nth-child(odd) .circtext {
			transform: translate(-100%, -50%); }
	.fun-circle:nth-child(even) {
		left: 9rem; }
		.fun-circle:nth-child(even) svg {
			transform: scale(-1, 1); }
		.fun-circle:nth-child(even) .circtext {
			left: 100%;
			transform: translate(0, -50%); }
	.prog-bar {
		height: calc(100% - 18.5rem); } }

@media (max-width: 1000px) {
	svg {
		transform: scale(-1, 1); }
	.fun-circle {
		margin-bottom: 5rem; }
	.fun-circle .circtext {
		position: absolute;
		left: 0rem;
		top: 105%; } }

/*# sourceMappingURL=style.css.map */
