@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@300;600&family=Urbanist:wght@700&display=swap');

/**/
:root { --blue: #0050FF; --magenta: #ff00be; --yellow: #fff524; --light-blue: #00FFE0; --ff1:'Archivo', sans-serif; --ff2:'Urbanist', sans-serif; }
html { font-family: var(--ff1); color: rgb(112 128 145); font-size: 16px; letter-spacing: .025em; }
body { line-height: 1.5; color: rgb(127 139 151); }
ul { margin: 0; padding: 0; list-style: none; }
p { line-height: 1.8; margin: 0; }
select { -webkit-appearance: none; -moz-appearance: none; appearance: none; }
textarea { resize: none; }

/* Others */
.radius { border-radius: 50%; }
.radius-1 { border-radius: 1rem; }
.radius-2 { border-radius: 2rem; }
.tt-up { text-transform: uppercase; }
.ls-1 { letter-spacing: .1em; }
.ls-2 { letter-spacing: .2em; }
.lh-1 { line-height: 1; }
hr { background-color: #bababa; }
::placeholder { opacity: 0.5; }
.link { text-decoration: underline; }
.link:hover { cursor: pointer; text-decoration: underline; }
::-webkit-scrollbar { display: none; }
a:hover { cursor: pointer; }
.w-break { word-break: break-word; }
.z-0 { z-index: 0; }
.z-1 { z-index: 1; }
.z-2 { z-index: 2; }
.z-3 { z-index: 3; }
.z-4 { z-index: 4; }
.ov-hidden { overflow: hidden; }
h2, h3 { margin-bottom: 3rem; }

/* Colors */
.c-white { color: #fff }
.c-black { color: #000 }
.c-magenta { color: rgb(255 0 190); }
.c-blue { color: var(--blue); }
.c-yellow { color: var(--yellow); }
.c-light-blue { color: var(--light-blue); }
.bg { position: absolute; z-index: 0; left: 0; top: 0; width: 100%; height: 100%; object-fit: cover; pointer-events: none; }
.bg-yellow { background-color: var(--yellow); }

/* Botones */
.btn { font-weight: bold; text-decoration: none; border-radius: 2rem; line-height: 1.5rem; padding: .5rem 1rem; display: inline-flex; align-items: center; justify-content: center; transition: .3s ease all; user-select: none; -webkit-user-select: none; font-family: var(--ff2); gap: .5rem; }
.btn.lg { padding: .75rem; }
.btn.bg-yellow { color: #000 !important; background-color: var(--yellow); box-shadow: 0 0 0 0 rgb(255 245 36 / 20%); }
.btn.bg-magenta { color: #fff; background-color: var(--magenta) !important; box-shadow: 0 0 0 0 rgb(255 0 190/20%); }
.btn.bg-blue { color: #fff; background-color: var(--blue) !important; box-shadow: 0 0 0 0 rgb(0 80 255/20%); }
.btn.bg-yellow:hover, .btn.bg-yellow:active { box-shadow: 0 0 0 0.5rem rgb(255 245 36/20%); }
.btn.bg-magenta:hover, .btn.bg-magenta:active { box-shadow: 0 0 0 0.5rem rgb(255 0 190/20%); }
.btn.bg-blue:hover, .btn.bg-blue:active { box-shadow: 0 0 0 0.5rem rgb(0 80 255/20%); }
.btn:hover { cursor: pointer; }
.btn.bg-green:hover { box-shadow: 0 0 0 0.5rem rgb(32 204 131 / 20%) }
.btn.disabled { pointer-events: none; cursor: default; background-color: #cfd0d5; color: #fff; box-shadow: none !important; }
.btn.pending i { width: 1.5rem; aspect-ratio: 1/1; margin-right: .25rem; background-image: url(../img/icon-pending.png); display: block; filter: invert(1); background-size: cover; animation: anim-rotate-01 1s linear  infinite; }
.btn .icon { height: 1.5rem; }

/* Icons */
.icon { background-image: url(../img/icons.svg); aspect-ratio: 1/1; background-size: cover; }
.icon.icon-logo {background-image: url(../img/logo.png);aspect-ratio: 3/1;}
.icon.icon-service-1 { background-position: 0 0; }
.icon.icon-service-2 { background-position: 10% 0; }
.icon.icon-service-3 { background-position: 20% 0; }
.icon.icon-service-4 { background-position: 30% 0; }
.icon.icon-arrow-down { background-position: 50% 0; }
.icon.icon-send { background-position: 40% 0; }
.icon.icon-left { background-position: 70% 0; filter: invert(19%) sepia(72%) saturate(4531%) hue-rotate(304deg) brightness(99%) contrast(121%); }
.icon.icon-right { background-position: 80% 0; }
.icon.icon-close { background-position: 90% 0; }

/* Filters */
.f-white { filter: invert(1); }
.f-gray { filter: invert(58%) sepia(5%) saturate(836%) hue-rotate(169deg) brightness(92%) contrast(91%); }
.f-magenta { filter: invert(17%) sepia(100%) saturate(2724%) hue-rotate(303deg) brightness(116%) contrast(128%); }

/* Header Nav footer */
nav { text-align: right; position: fixed; padding: 2rem 0; left: 0; right: 0; z-index: 2; font-weight: normal; font-family: var(--ff2); }
nav .container { position: relative; }
nav .logo { position: absolute; left: .75rem; top: 0; bottom: 0; margin: auto; height: 3.5rem; background-position: 0 0; }
nav ul { list-style: none; margin: 0; }
nav li { display: inline-block; padding: 0 0 0 1rem; }
nav li a { text-decoration: none; display: inline-block; color: #fff; padding: 0.5rem; line-height: 1.5rem; position: relative; }
nav li a:hover { color: #fff }
nav li a:not(.btn):after { content: ""; display: block; position: absolute; background-color: #fff; height: 1px; bottom: 0; transition: .3s ease all; left: 50%; right: 50%; }
nav li a:not(.btn):hover:after { left: .5rem; right: .5rem; }
nav li .btn { padding-left: 1rem; padding-right: 1rem; border-radius: 2rem; }
nav.fixed { background-color: #fff; }
nav.fixed .logo { background-position: 10% 0; }
nav.fixed li a { color: #000; }
nav.fixed li a:not(.btn):after { background-color: #000; }
nav .btn-menu { display: none; }

/**/
footer { padding: 2rem 0; font-size: .85rem; background-color: #ffffff; }
footer .container { position: relative; padding-left: 8rem; }
footer .icon-logo {position: absolute;left: .75rem;top: 0;bottom: 0;margin: auto;width: 6rem;height: 2rem;background-position: 20% 0;}
footer .links { text-align: right; }
footer .links a { text-decoration: none; color: inherit; }
footer .links a:hover { text-decoration: underline; }

/* Modals */
.modal { position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: 9; display: flex; align-items: center; justify-content: center; padding: 0;/* font-weight: 500; */ }
.modal .a { position: relative; padding: 0; height: 5rem; display: flex; align-items: center; justify-content: space-between; }
.modal .b { overflow: scroll; background-color: #fff; padding: 1rem; position: relative; bottom: 0; left: 0; right: 0; max-height: 80vh; border-radius: .5rem; }
.modal .btn-close { height: 2rem; width: 2rem; z-index: 1; }
.modal .btn-close .icon { height: 2rem; }
.modal .btn-close:hover { cursor: pointer; }
.modal-contact .a { padding: 0 1rem; }
.modal-contact .b { background-color: transparent; padding: 0 1rem 1rem; }
.modal-contact.sending { pointer-events: none; }
.modal-contact.sending .btn .icon.icon-send { background-position: 100% 0; animation: anim-rotate-01 infinite 1s linear; }
.modal-contact.sending .btn span:after { content: '...' }
.filter { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background-color: rgb(7 3 40); }
.filter, .modal { display: none; visibility: hidden; opacity: 0; }
.filter, .modal.visible { display: flex; visibility: visible; opacity: 1; }

/* Sections */
section { padding-top: 8rem; padding-bottom: 8rem; overflow: hidden; }

/**/
.sect-1 { background-color: #fff; color: #fff; padding-top: 12rem; padding-bottom: 12rem; position: relative; overflow: visible; }
.sect-1 h3 { margin: 0;}
.sect-1 .bg { height: 100%; width: 100%; object-position: bottom center; }
.sect-1 .main-img {aspect-ratio: 1/1;width: 90%;position: absolute;top: -6rem;right: 0;margin: 0 auto;}
.sect-1 .main-img span { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-size: cover; animation-duration: 10s; animation-timing-function: linear; }
.sect-1 .main-img .a { background-position: 0 0; }
.sect-1 .main-img .b { background-position: 0 50%; animation-delay: -5s; }
.sect-1 .main-img .c { background-position: 0 100%; animation-delay: -8s; }
.sect-1 .deco { bottom: 0; aspect-ratio: 4/1; }

/**/
.deco { position: absolute; aspect-ratio: 6/1; display: block; overflow: hidden; }
.deco div { filter: invert(1); opacity: .5; width: 100%; transform-origin: top center; }
.deco div img { animation: anim-rotate-1 infinite 80s linear; width: 100%; }
.deco.a div { transform: scale(1) translateX(-50%); }
.deco.b div { transform: scale(2) translateX(-10%); }

/**/
.sect-2 { }
.sect-2 h6 { color: #000; display: flex; justify-content: start; align-items: center; }
.sect-2 h6 i { width: 3rem; margin-right: .5rem; }

/**/
.sect-3 { background-color: var(--blue); color: #fff; }
.sect-3 ul { list-style: none; padding: 0; }
.sect-3 li { border-top: 1px solid rgb(255 255 255 / 40%); }
.sect-3 li:last-child { border-bottom: 1px solid rgb(255 255 255 / 40%) }
.sect-3 li:hover { cursor: pointer; }
.sect-3 li p:last-child { margin: 0; }
.sect-3 li h5 { margin: 0; position: relative; padding: 3rem 2rem 3rem 5rem; }
.sect-3 li h5 .num { width: 5rem; display: inline-block; position: absolute; left: 0; }
.sect-3 li h5 i { position: absolute; top: 0; right: 0; bottom: 0; margin: auto;/* transform: rotate(225deg); */ transition: .3s ease all; height: 1.5rem; }
.sect-3 li h5 + div {overflow: hidden;margin-top: 0;transition: .3s ease all;padding-left: 5rem;max-height: 50rem;}
.sect-3 li img { width: 100%; border-radius: .25rem; }
.sect-3 li .link a { color: #fff; font-size: 1.1rem; font-weight: bold; text-decoration: none; }
.sect-3 li .row { margin-bottom: 3rem; }
.sect-3 .hidden h5 i { transform: rotate(-90deg); }
.sect-3 .hidden h5 + div {max-height: 0 !important;overflow: hidden;margin-top: 0;}

/**/
.sect-4 { position: relative; }
.sect-4 .pics { width: 100%; white-space: nowrap; margin-top: 4rem; }
.sect-4 .pics .group { display: flex; gap: 1rem; padding-left: 1rem; animation: anim_pics 60s linear infinite; }
.sect-4 .pics img { width: 14rem; border-radius: .5rem; }
@keyframes anim_pics {
	from { transform: translateX(0) }
	to { transform: translateX(-120rem) }
}
.sect-4 .deco { top: 0; filter: invert(1) opacity(0.2); transform: rotate(180deg) scaleX(-1); }
.sect-4 .deco div { }

/**/
.sect-6 { text-align: center; color: #fff; position: relative; }
.sect-6 h3 { margin-bottom: 2rem; }
.sect-6 .btn { background-color: rgba(0, 0, 0, .1); color: #fff; }
.sect-6 .btn:hover {background-color: #000000}
.sect-6 .d-flex { gap: 1rem }
.sect-6 .bg { object-position: bottom; object-fit: fill; }

/**/
.reviews { }
.reviews li { }
.reviews .item { }
.reviews .item .a { width: 100%; color: #000; padding: 1rem; border: 1px solid #e2e3e7; border-radius: 1rem; font-weight: bold; font-family: var(--ff2); font-size: 1.5rem; }
.reviews .item .b { position: relative; margin-top: 2rem; display: flex; align-items: center; gap: 1rem; }
.reviews .item .b figure { width: 4rem; height: 4rem; border-radius: 50%; overflow: hidden; margin: 0; }
.reviews .item .b figure img { width: 100%; }
.reviews .item .b b { color: #000; font-family: var(--ff2); }

/*Form*/
.input-box { position: relative; }
.input-box label { display: flex; line-height: 1; margin-bottom: 1rem; font-weight: bold; align-items: center; gap: .5rem; display: none; }
.input-box label .icon { width: 1.25rem; height: 1.25rem; }
.input-box input[type='text'], .input-box select, .input-box textarea { border: 0; line-height: 1.35; padding: .75rem; position: relative; z-index: 1; background-color: #fff; color: rgb(128 134 154); display: block; width: 100%; border-radius: .5rem; border: 1px solid #fff; transition: .3s ease all; }
.input-box input { }
.input-box select { }
.input-box textarea { }
.input-box input[type='text']:focus, .input-box select:focus, .input-box textarea:focus { outline: none; color: #000 }
.input-box.checkbox-container { display: flex; justify-content: start; align-items: center; gap: .5rem; }
.input-box.wrong, .input-box.wrong label, .input-box.wrong::placeholder { color: rgb(255 73 93); opacity: 1; }
.input-box.wrong input[type='text'], .input-box.wrong select, .input-box.wrong textarea { border: 1px solid rgb(255 73 93); color: rgb(255 73 93); }
.input-box.wrong .icon { filter: invert(41%) sepia(62%) saturate(1627%) hue-rotate(324deg) brightness(97%) contrast(109%); }
.input-box.wrong label.checkbox { box-shadow: 0 0 0 1px rgb(255 73 93) inset; }

/*Checkboxes style checkbox*/
input.checkbox, input.checkbox:active { position: absolute; height: 0; width: 0; opacity: 0; border: none; outline: none; }
label.checkbox { display: block; position: relative; padding: 0; font-size: .8rem; line-height: 1.5rem; width: 1.5rem; height: 1.5rem; -webkit-border-radius: 50%; background-color: #fff; cursor: pointer; border: 0; box-shadow: 0 0 0 1px #dfe5fa inset; margin: 0; }
label.checkbox:before { content: ''; display: block; position: absolute; z-index: 1; line-height: 24px; height: 100%; width: 100%; -webkit-border-radius: 50%; top: 0; left: 0; background-color: transparent; -webkit-transition: 0.3s ease all; transition: 0.3s ease all; background-size: 1rem; background-repeat: no-repeat; background-position: center; }
input.checkbox:checked + label.checkbox:before { background-color: var(--blue); box-shadow: 0 0 0 5px  #fff inset; }
label.checkbox + span { line-height: 1; font-size: .85rem; }
label.checkbox + span a { color: inherit; }

/* Cookies */
#cookie-bar { background: #00FFE0; color: #000; height: auto; text-align: center; padding: 1rem; position: fixed; z-index: 99; bottom: 0; left: 0; right: 0; }
#cookie-bar .link { font-weight: bold; }
#cookie-bar.fixed { position: fixed; top: 0; left: 0; width: 100%; }
#cookie-bar.fixed.bottom { bottom: 0; top: auto; }
#cookie-bar p { margin: 0; padding: 0; font-size: 1rem; display: flex; flex-direction: row; align-items: center; justify-content: center; line-height: 1.35; }
#cookie-bar a:link { color: #ffffff; display: inline-block; text-decoration: none; font-weight: bold; }
#cookie-bar a.cb-enable.btn-default { background-color: #000; color: #fff; border: 0; padding: .5rem; line-height: 1; border-radius: .5rem; margin: 0 0 0 1rem; white-space: nowrap; }
#cookie-bar a.cb-enable.btn-default:hover { background-color: #fff; color: #000; }

/* Slider */
.slick-slider { position: relative; display: block; box-sizing: border-box; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-touch-callout: none; -khtml-user-select: none; -ms-touch-action: pan-y; touch-action: pan-y; -webkit-tap-highlight-color: transparent; }
.slick-list { position: relative; display: block; overflow: hidden; margin: 0; padding: 0; }
.slick-list:focus { outline: none; }
.slick-list.dragging { cursor: pointer; cursor: hand; }
.slick-slider .slick-track, .slick-slider .slick-list { -webkit-transform: translate3d(0, 0, 0); -moz-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); -o-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
.slick-track { position: relative; top: 0; left: 0; display: block; margin-left: auto; margin-right: auto; }
.slick-track:before, .slick-track:after { display: table; content: ''; }
.slick-track:after { clear: both; }
.slick-loading .slick-track { visibility: hidden; }
.slick-slide { display: none; float: left; height: 100%; min-height: 1px; }
[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; }
.slick-slider .slick-prev, .slick-slider .slick-next {position: absolute;height: 4rem;width: 4rem;font-size: 0;bottom: 0;margin: auto;border: 0;border-radius: 50%;z-index: 1;background-color: rgb(255 0 190);display: inline-flex!important;}
.slick-slider .slick-prev { right: 5rem; background-color: #fff; border: 2px solid #ff00be; }
.slick-slider .slick-next { right: 0; }

/**/
@media (min-width:769px) { }

/**/
@media (max-width:768px) {

	/**/
	nav .logo { height: 3rem; }
	nav ul { position: fixed; left: 0; top: 0; background-color: #070328; right: 0; bottom: 0; text-align: left; display: none; }
	nav ul li { padding: 1rem; display: block; animation: anim-up-1 1s 1; }
	nav ul li a { padding: 0; color: #fff; font-size: 2rem; }
	nav ul li a:not(.btn):after { display: none }
	nav .btn-menu { text-decoration: none; color: #fff; display: inline-flex; gap: .5rem; justify-content: center; align-items: center; z-index: 1; position: relative; }
	nav .btn-menu span { }
	nav .btn-menu span + i { height: 1rem; width: 1rem; display: block; position: relative; }
	nav .btn-menu i i { height: 2px; width: 100%; margin: auto; display: block; position: absolute; top: 0; bottom: 0; background-color: #fff; transition: .3s linear all }
	nav .btn-menu i i:nth-child(1) { transform: translateY(-.2rem); }
	nav .btn-menu i i:nth-child(2) { transform: translateY(.2rem); }
	nav.fixed .btn-menu { color: #000; }
	nav.fixed .btn-menu i i { background-color: #000; }
	nav.fixed li a { color: #000; }

	/**/
	.menu-visible { overflow: hidden; }
	.menu-visible nav .btn-menu i i:nth-child(1) { transform: translateY(0) rotate(45deg); }
	.menu-visible nav .btn-menu i i:nth-child(2) { transform: translateY(0) rotate(-45deg); }
	.menu-visible nav ul { display: flex; flex-direction: column; align-items: center; justify-content: center; }
	.menu-visible nav.fixed li a { color: #fff; font-size: 2rem; }
	.menu-visible nav.fixed .btn-menu { color: #fff; }
	.menu-visible nav.fixed .btn-menu i i { background-color: #fff; }

	/**/
	.sect-1 {padding-bottom:0}
	.sect-1 .main-img {margin: 6rem auto 0;position: relative;top: 0;}
	.sect-3 li h5 { padding-left: 0; }
	.sect-3 li h5 .num { width: auto; position: static; }
	.sect-3 li h5 + div { padding-left: 0; padding-right: 4rem; }
	.sect-3 li img { margin-bottom: 1rem }

	/**/
	h2 { font-size: 4rem; }
	h3 { font-size: 2.75rem; }
	h4 { font-size: 2.25rem; }
	h5 { font-size: 2rem; }
	.slick-arrow { display: none !important; }
	.modal.visible { padding: 0; display: block; }
	.modal .b { position: fixed; max-height: none; top: 5rem; border-radius: 0.5rem .5rem 0 0; }

	/**/
	footer .container { padding-left: 0.75rem; text-align: center; }
	footer .icon-logo { bottom: unset; position: static; }
	footer .links { text-align: center; }
}

/**/
@media (min-width:1600px) { }