@charset "UTF-8";
*, ::before, ::after {
	text-wrap: pretty
}
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
	text-wrap: balance;
}
img {
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}

/* Start - COOKIE CONSENT */
#open_preferences_center.fixed {
	position: fixed;
	font-family: sans-serif;
	left: 10px;
	bottom: 10px;
	z-index: 9999;
	background-color: #000;
	color: #fff;
	display: flex;
	align-items: center;
	border: 1px solid #fff;
	border-radius: 10rem;
	-o-border-radius: 10rem;
	-ms-border-radius: 10rem;
	-moz-border-radius: 10rem;
	-webkit-border-radius: 10rem;
}
#open_preferences_center.fixed i {
	display: inline-block;
	font-size: 30px;
	line-height: 40px;
	height: 40px;
	width: 40px;
	text-align: center;
}
#open_preferences_center.fixed mark {
	background-color: inherit;
	color: inherit;
	border-radius: inherit;
	padding: 3px 5px;
	font-size: 12px;
	line-height: 1em;
}
#open_preferences_center.fixed i + mark {
	padding-left: 0;
}
/*.termsfeed-com---nb {
	max-width: 450px !important;
	border: #fff !important;
	box-shadow: 0 .5rem 1rem rgba(0,0,0,.15)!important;
}/**/
.termsfeed-com---nb-simple {
	max-width: 450px !important;
	border: #fff !important;
	box-shadow: 0 .5rem 1rem rgba(0,0,0,.15)!important;

	top: auto !important;
	right: auto !important;
	bottom: 0 !important;
	left: 0 !important;
}
.termsfeed-com---nb .cc-nb-main-container {
	padding: 2.25rem 2.75rem 2.75rem !important;
}
/* End - COOKIE CONSENT */

.unreset-content ul,
.unreset-content ol,
.unreset-content li {
	list-style: revert;
	padding: revert;
	margin: revert;
}
.unreset-content h1,
.unreset-content h2,
.unreset-content h3,
.unreset-content h4,
.unreset-content h5,
.unreset-content h6,
.unreset-content p {
	margin: revert;
}

.vc_shake {
	/* Start the shake animation and make the animation last for 0.5 seconds */
	animation: vc_shake 5s;

	/* When the animation is finished, start again */
	animation-iteration-count: infinite;
	animation-delay: .25s;
}
.vc_shake:hover {
	animation-play-state: paused;
}

.vc_always-move {
	/* Start the move animation and make the animation last for 0.5 seconds */
	animation: vc_move 0.6s;

	/* When the animation is finished, start again */
	animation-iteration-count: infinite;
}

.vc_pulse {
	animation: vc_pulse .75s;
	animation-iteration-count: infinite;
}

.vc_always-pulse {
	/* Start the pulse animation and make the animation last for 0.5 seconds */
	animation: vc_light-pulse .75s;
	transition: all .4s;

	/* When the animation is finished, start again */
	animation-iteration-count: infinite;
}
.vc_always-pulse:hover {
	animation: none;
	transition: all .4s;
}
.vc_always-pulse:hover .fas {
	display: inline-block;
	margin-top: 1px;
}

@keyframes vc_shake {
	0% { transform: translate(1px, 1px) rotate(0deg); }
	1% { transform: translate(-1px, -2px) rotate(-1deg); }
	2% { transform: translate(-3px, 0px) rotate(1deg); }
	3% { transform: translate(3px, 2px) rotate(0deg); }
	4% { transform: translate(1px, -1px) rotate(1deg); }
	5% { transform: translate(-1px, 2px) rotate(-1deg); }
	6% { transform: translate(-3px, 1px) rotate(0deg); }
	7% { transform: translate(3px, 1px) rotate(-1deg); }
	8% { transform: translate(-1px, -1px) rotate(1deg); }
	9% { transform: translate(1px, 2px) rotate(0deg); }
	10% { transform: translate(1px, -2px) rotate(-1deg); }
	11% { transform: translate(1px, 1px) rotate(0deg); }
	12% { transform: translate(-1px, -2px) rotate(-1deg); }
	13% { transform: translate(-3px, 0px) rotate(1deg); }
	14% { transform: translate(3px, 2px) rotate(0deg); }
	15% { transform: translate(1px, -1px) rotate(1deg); }
	16% { transform: translate(-1px, 2px) rotate(-1deg); }
	17% { transform: translate(-3px, 1px) rotate(0deg); }
	18% { transform: translate(3px, 1px) rotate(-1deg); }
	19% { transform: translate(-1px, -1px) rotate(1deg); }
	20% { transform: translate(1px, 2px) rotate(0deg); }
	21% { transform: translate(1px, -2px) rotate(-1deg); }
	22% { transform: translate(1px, 1px) rotate(-1deg); }
	23% { transform: translate(0, 0) rotate(0deg); }
}

@keyframes vc_move {
	0% { transform: translate(-6px, 0) rotate(0deg); }
	50% { transform: translate(0, 0) rotate(-1deg); }
	100% { transform: translate(-6px, 0) rotate(-1deg); }
}

@keyframes vc_pulse {
	0% { transform: scale(1); }
	50% { transform: scale(1.25); }
	100% { transform: scale(1); }
}

@keyframes vc_light-pulse {
	0% { transform: scale(1); }
	50% { transform: scale(1.05); }
	100% { transform: scale(1); }
}

#modalRGPD.modal.show {
	display: flex !important;
}
[type="email"] ~ [type="email"][tabindex="-1"],
#modalRGPD--boton ~ [type="checkbox"][tabindex="-1"] {
	position: absolute;
	opacity: 0;
	width: 0;
	height: 0;
	border: none;
}
.disabled, [disabled="disabled"], :disabled {
	cursor: not-allowed;
	opacity: .7;
	display: none;
}

.form-js-alert:not(.hidden) {
	padding: 1.5rem !important;
}

.vc-captcha::first-letter, .vc-captcha span {
	font-size: 0;
}

.text-black {
	color: #000 !important;
}

.justify-content-center {
	justify-content: center;
}

/* Start - Efectos boton llamada permanente y whatsapp */
.back-to-top {
	position: fixed;
	z-index: 9999;
	left: 50%;
	bottom: 20px;
	margin-bottom: 0;
	width: fit-content;
	transform: translateX(-50%);
	-o-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	-moz-transform: translateX(-50%);
	-webit-transform: translateX(-50%);
}
.back-to-top a {
	display: inline-block;
	width: 60px;
	height: 60px;
	line-height: 60px;
	padding: 0;
	background-color: #4973ff;
	text-align: center;
	cursor: pointer;
	color: #ffffff !important;
	font-size: 25px;
	margin: 0 5px;
	border-radius: 100%;
	-o-border-radius: 100%;
	-ms-border-radius: 100%;
	-moz-border-radius: 100%;
	-webkit-border-radius: 100%;
}
.back-to-top2 {
	position: fixed;
	right: 20px;
	bottom: 90px;
	z-index: 999;
	margin-bottom: 0;
}
.back-to-top2 a {
	color: #ffffff;
	font-size: 25px;
	display: inline-block;
	margin: 0 5px;
	width: 60px;
	height: 60px;
	line-height: 60px;
	padding: 0;
	text-align: center;
	cursor: pointer;
	background-color: rgba(37, 211, 102, 1);
	border-radius: 100%;
	-o-border-radius: 100%;
	-ms-border-radius: 100%;
	-moz-border-radius: 100%;
	-webkit-border-radius: 100%;
}
.btn-whatsapp, .back-to-top .btn-whatsapp {
	color: #fff !important;
	background-color: #25D366 !important;
}
.back-to-top .btn-whatsapp, .back-to-top2 .btn-whatsapp {
	font-size: 30px;
}
@media (min-width:768px) {
	.back-to-top {
		display:none;
	}
}
@media (max-width: 991px) {
	.back-to-top2 {
		right: 20px;
	}
}
@media (max-width: 767px) {
	.footer-wrap .footer-bottom {
		padding-bottom: 80px !important;
	}
	.back-to-top2 {
		display: none;
	}
}
/* Pulse */
.button-pulse {
	box-shadow: 0 0 0 0 rgba(228, 48, 39, 1);
	transform: scale(1);
	animation: pulseButton 2s infinite;
}
@keyframes pulseButton {
	0% {
		transform: scale(0.95);
		box-shadow: 0 0 0 0 rgba(228, 48, 39, 0.7);
	}
	70% {
		transform: scale(1);
		box-shadow: 0 0 0 20px rgba(0, 0, 0, 0);
	}
	100% {
		transform: scale(0.95);
		box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
	}
}
.whatsapp-pulse {
	box-shadow: 0 0 0 0 rgba(37, 211, 102, 1);
	transform: scale(1);
	animation: pulseWhatsapp 2s infinite;
}
@keyframes pulseWhatsapp {
	0% {
		transform: scale(0.95);
		box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.7);
	}
	70% {
		transform: scale(1);
		box-shadow: 0 0 0 20px rgba(0, 0, 0, 0);
	}
	100% {
		transform: scale(0.95);
		box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
	}
}
/* Waves - para que funcione, la etiqueta <a> tiene que tener dentro <span class="liquid"></span> */
a.not(.button-waves) .liquid {
	display: none;
}
.button-waves {
	position: relative;
	overflow: hidden;
	background-color: #4973ff !important;
	border: 2px solid white !important;
	width: 56px !important;
	height: 56px !important;
	line-height: 56px !important;
	box-sizing: content-box;
}
.button-waves i {
	position: relative;
	z-index: 5;
	color: #fff;
}
.button-waves .liquid {
	position: absolute;
	top: 0;
	left: 0;
	width: 56px;
	height: 56px;
	background-color: #4973ff;
	/*box-shadow: inset 0 0 50px rgba(0, 0, 0, .5);/**/
	/*box-shadow: inset 0 0 50px rgba(0, 0, 0, 1);/**/
	transition: .5s;
	/* Esto adicional es para iphone */
	z-index: 1;
	overflow: hidden;
	border-radius: 100%;
	-o-border-radius: 100%;
	-ms-border-radius: 100%;
	-moz-border-radius: 100%;
	-webkit-border-radius: 100%;
}
.button-waves.btn-whatsapp, .button-waves.btn-whatsapp .liquid {
	background-color: #4973ff !important;
	/*background-color: #25D366 !important;/**/
}
.button-waves .liquid::after,
.button-waves .liquid::before {
	content: '';
	width: 200%;
	height: 200%;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%, -75%);
	background: #000;
}
.button-waves .liquid::before {
	border-radius: 45%; /*45%;*/
	background-color: #4973ff66; /*rgba(73, 115, 255, .5);*/
	animation: wavesButton 5s linear infinite;
	z-index: 1;
}
.button-waves.btn-whatsapp .liquid::before {
	background-color: rgba(37, 211, 102, 1);
}
.button-waves .liquid::after {
	border-radius: 35%; /*40%*/
	background-color: rgba(20, 20, 20, .5);
	animation: wavesButton 10s linear infinite;
	z-index: 0;
}
/*.button-waves:hover .liquid {
	top: -120%;
}/**/
@keyframes wavesButton {
	0% {
		transform: translate(-50%, -75%) rotate(0deg);
	}
	100% {
		transform: translate(-50%, -75%) rotate(360deg);
	}
}
/* Shiny */
.button-shiny {
	overflow: hidden;
	transition: all 0.3s ease;
	border: 1px solid #fff;
	position: relative;
}
.button-shiny:hover {
	background: #000;
	color: #fff;
}
.button-shiny:before {
	position: absolute;
	content: '';
	display: inline-block;
	top: -180px;
	left: 0;
	width: 30px;
	height: 100%;
	background-color: #fff;
	animation: shinyButton 3s ease-in-out infinite;
}
.button-shiny:active {
	box-shadow:  4px 4px 6px 0 rgba(255,255,255,.3),
		-4px -4px 6px 0 rgba(116, 125, 136, .2), 
		inset -4px -4px 6px 0 rgba(255,255,255,.2),
		inset 4px 4px 6px 0 rgba(0, 0, 0, .2);
}
@-webkit-keyframes shinyButton {
	0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
	80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
	81% { -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
	100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}
/* End - Efectos boton llamada permanente y whatsapp */

/* MODALES */
.modales {
	display: none;
	position: fixed;
	color: #676767;
}

.modales > div {
	position: relative;
	padding: 28px;
	font-family: verdana;
	font-size: 12px;
}

/* MODAL RGPD */
/*#modal-rgpd {
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	text-align: left;
	z-index: 999991;
	background-color: rgba(0, 0, 0, .44);
}

#modal-rgpd > div {
	position: relative;
	width: 900px;
	max-width: calc(100% - 30px);
	background-color: rgba(255, 255, 255, .96);
	margin: 15px auto;
	border: 1px solid #aaa;
	border-radius: 5px;
}

#modal-rgpd > div label.aceptar {
	margin: 25px 0 0;
	font-size: 13px;
}

#modal-rgpd > div label.aceptar input {
	vertical-align: -2px;
}

#modal-rgpd > div label.aceptar a {
	color: #000;
}

/* MODAL RGPD2 */
/*#modal-rgpd2 {
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	text-align: left !important;
	z-index: 999991 !important;
	background-color: rgba(0, 0, 0, .44) !important;
}

#modal-rgpd2 h4 {
	color: inherit !important;
	line-height: 1.1 !important;
	font-weight: 500 !important;
	font-style: inherit !important;
	font-family: 'Roboto', sans-serif !important;
	text-align: inherit !important;
	font-size: 18px !important;
	margin: 10px 0 20px !important;
}

#modal-rgpd2 > div {
	position: relative !important;
	width: 900px !important;
	max-width: calc(100% - 30px) !important;
	background-color: rgba(255, 255, 255, .96) !important;
	margin: 15px auto !important;
	border: 1px solid #aaa !important;
	border-radius: 5px !important;
}

#modal-rgpd2 > div label.aceptar {
	margin: 25px 0 0 !important;
	font-size: 13px !important;
}

#modal-rgpd2 > div label.aceptar input {
	vertical-align: -2px !important;
}

#modal-rgpd2 > div label.aceptar a {
	color: #000 !important;
}

/* MODAL COOKIES */
#modal-cookies {
	left: 0;
	bottom: 15px;
	max-width: 360px;
	text-align: center;
	background-color: rgba(255, 255, 255, .9);
	z-index: 999990;
	border: 1px solid #aaa;
	border-radius: 0 5px 5px 0;
	box-shadow: 1px 1px 10px rgba(120, 120, 120, .5);
}


/* BOTONES */
button.modal-rgpd-button, button.modal-rgpd-button2 {
	visibility: hidden;
}

a.form-btn {

}

.modales a {
	cursor: pointer;
}

a.modal-ko {
	padding: 4px 0 5px;
	background: #fff;
	color: #676767;
	border: 1px solid #fff;
	text-decoration: none;
	display: block;
	text-align: center;
	position: absolute;
	top: 4px;
	right: 4px;
	width: 29px;
	border-radius: 50%;
	cursor: pointer;
}

a.modal-ko:hover, a.modal-reject:hover {
	background: #676767;
	color: #fff !important;
	border: 1px solid #fff;
}

a.modal-btn {
	font-size: 14px;
	margin: 4px 1px 4px 0;
	padding: 6px 18px;
	text-decoration: none;
	display: inline-block;
	width: auto;
	color: #676767;
	background: #fff;
	border: 1px solid #676767;
}

a.modal-btn.modal-ok {
	color: #fff !important;
	background: #fd0002;
	border: 1px solid #fff;
}

a.modal-btn:hover {
	color: #fff;
	background: #676767;
	border: 1px solid #fff;
}

a.modal-btn.disabled, a.modal-btn.disabled:hover {
	color: #fff;
	background: #ccc;
	border: 1px solid #fff;
	cursor: default;
}

.ui-autocomplete {
	position: absolute;
	cursor: default;
	z-index:999930 !important;
}
.ui-front {
	z-index: 99999;
}

/* Start - Imagen de fondo */
:root {
	--blur: blur(10px);
	--glass: #C7004799;
}
.object-fit-contain {
	object-fit: contain !important;
}
.bgImage {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	z-index: -5;
}
.bgImage img {
	object-fit: cover;
	object-position: center;
	width: 100%;
	height: 100%;
}
.bgBlur {
	filter: var(--blur);
	-webkit-blur: var(--blur);
}
.bgGlass::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
	background-color: var(--glass);
}
@media (max-width: 575px) {
	.object-fit-contain-xs-only {
		object-fit: contain;
	}
	.bgImage-xs-only {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		width: 100%;
		height: 100%;
		z-index: -5;
	}
	.bgImage-xs-only img {
		object-fit: cover;
		object-position: center;
		width: 100%;
		height: 100%;
	}
	.bgBlur-xs-only {
		filter: var(--blur);
		-webkit-blur: var(--blur);
	}
	.bgGlass-xs-only::before {
		content: "";
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		width: 100%;
		height: 100%;
		z-index: 0;
		background-color: var(--glass);
	}
} 
@media (min-width: 576px) and (max-width: 767px) {
	.object-fit-contain-sm-only {
		object-fit: contain;
	}
	.bgImage-sm-only {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		width: 100%;
		height: 100%;
		z-index: -5;
	}
	.bgImage-sm-only img {
		object-fit: cover;
		object-position: center;
		width: 100%;
		height: 100%;
	}
	.bgBlur-sm-only {
		filter: var(--blur);
		-webkit-blur: var(--blur);
	}
	.bgGlass-sm-only::before {
		content: "";
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		width: 100%;
		height: 100%;
		z-index: 0;
		background-color: var(--glass);
	}
}
@media (min-width: 768px) and (max-width: 991px) {
	.object-fit-contain-md-only {
		object-fit: contain;
	}
	.bgImage-md-only {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		width: 100%;
		height: 100%;
		z-index: -5;
	}
	.bgImage-md-only img {
		object-fit: cover;
		object-position: center;
		width: 100%;
		height: 100%;
	}
	.bgBlur-md-only {
		filter: var(--blur);
		-webkit-blur: var(--blur);
	}
	.bgGlass-md-only::before {
		content: "";
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		width: 100%;
		height: 100%;
		z-index: 0;
		background-color: var(--glass);
	}
}
@media (min-width: 992px) and (max-width: 1199px) {
	.object-fit-contain-lg-only {
		object-fit: contain;
	}
	.bgImage-lg-only {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		width: 100%;
		height: 100%;
		z-index: -5;
	}
	.bgImage-lg-only img {
		object-fit: cover;
		object-position: center;
		width: 100%;
		height: 100%;
	}
	.bgBlur-lg-only {
		filter: var(--blur);
		-webkit-blur: var(--blur);
	}
	.bgGlass-lg-only::before {
		content: "";
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		width: 100%;
		height: 100%;
		z-index: 0;
		background-color: var(--glass);
	}
}
@media (min-width: 1200px) {
	.object-fit-contain-xl-only {
		object-fit: contain;
	}
	.bgImage-xl-only {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		width: 100%;
		height: 100%;
		z-index: -5;
	}
	.bgImage-xl-only img {
		object-fit: cover;
		object-position: center;
		width: 100%;
		height: 100%;
	}
	.bgBlur-xl-only {
		filter: var(--blur);
		-webkit-blur: var(--blur);
	}
	.bgGlass-xl-only::before {
		content: "";
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		width: 100%;
		height: 100%;
		z-index: 0;
		background-color: var(--glass);
	}
}
/* End - Imagen de fondo */