:root { --font-1:'Helvetica', 'Arial', sans-serif; --font-2:'Prata', serif; --color-gray-1:#9398aa; --color-gray-2:#e0e3e9; --color-brown: rgb(204 153 102); --color-beige: #f8f7f3; --color-green: rgb(24 201 95); --color-light: #9996a3; --color-red: rgb(244 25 52); --color-blue: #001bff; }

/**/
html { -webkit-font-smoothing: antialiased; /* Para navegadores WebKit (Chrome, Safari) */ -moz-osx-font-smoothing: grayscale;  /* Para macOS */ text-rendering: optimizeLegibility;   /* Mejora la legibilidad */ }
html { font-family: var(--font-1); color: rgb(112 128 145); font-size: 15px; letter-spacing: .025em; }
body { line-height: 1.55; color: #888888; }
ul, ol { margin: 0; padding: 0; list-style: none; }
p { margin: 0; }
select { -webkit-appearance: none; -moz-appearance: none; appearance: none; }
textarea { resize: none; }
input:-webkit-autofill, input:-webkit-autofill:hover, input:-webkit-autofill:focus, input:-webkit-autofill:active { -webkit-box-shadow: 0 0 0 30px #f5f5f5 inset !important; }
space { width: 100%; height: .5rem; display: block; }
space[h="2"] { height: 1rem; }
space[h="3"] { height: 1.5rem; }
space[h="4"] { height: 2rem; }
space[h="5"] { height: 2.5rem; }
space[h="6"] { height: 3rem; }

/* 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.8; }
.link, .link:hover { text-decoration: underline; color: inherit; }
.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 { }

/* Colors */
.c-white { color: #fff }
.c-black { color: #000 }
.c-light { color: var(--color-light) }
.c-magenta { color: rgb(255 0 190); }
.c-blue { color: var(--color-blue); }
.c-yellow { color: var(--color-yellow); }
.c-light-blue { color: var(--color-light-blue); }
.c-brown { color: #cc9966; }
.c-beige { color: #f8f7f3; }
.bg { position: absolute; z-index: 0; left: 0; top: 0; right: 0; bottom: 0; width: 100%; height: 100%; object-fit: cover; pointer-events: none; object-position: center center; background-position: center; background-repeat: no-repeat; margin: auto; }
.bg-yellow { background-color: var(--color-yellow); }
.bg-green { background-color: var(--color-green); }
.bg-white { background-color: #fff; }
.bg-brown { background-color: #cc9966; background-image: url(../img/color-brown.svg); }
.bg-beige { background-color: #f8f7f3; background-image: url(../img/color-beige.svg); }

/* Botones */
.btn { font-weight: bold; text-decoration: none; line-height: 1; padding: .75rem; display: inline-flex; align-items: center; justify-content: center; transition: .3s ease all; user-select: none; -webkit-user-select: none; gap: .5rem; letter-spacing: .15rem; text-transform: uppercase; }
.btn.lg { padding: .75rem; }
.btn.bg-blue { color: #fff; background-color: var(--color-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: var(--color-gray-1); 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; }
.btn.bg-brown:hover { background-color: #a97847 !important; background-image: none !important; }
.btn.bg-white:hover { background-color: #f6f0ed !important; background-image: none !important; }
.btn.bg-beige:hover { background-color: #f6f0ed !important; background-image: none !important; }

/* Icons */
.icon { background-image: url(../img/icons.svg); aspect-ratio: 1/1; background-size: cover; }
.icon.logo-1 { background-image: url(../img/logo1.svg); aspect-ratio: 5/1; }
.icon.logo-2 { background-image: url(../img/logo2.svg); aspect-ratio: 5/3; }
.icon.icon-sm { background-image: url(../img/icons-sm.svg); }
.icon.icon-lg { background-image: url(../img/icons-lg.svg); }
.icon.icon-lg.a { background-position: 0% 0; }
.icon.icon-lg.b { background-position: 10% 0; }
.icon.icon-lg.c { background-position: 20% 0; }
.icon.icon-lg.d { background-position: 30% 0; }
.icon.icon-lg.e { background-position: 40% 0; }
.icon.icon-sm.arrow-left { background-position: 0% 0; }
.icon.icon-sm.arrow-right { background-position: 10% 0; }
.icon.icon-sm.mail { background-position: 20% 0; }
.icon.icon-sm.phone { background-position: 30% 0; }
.icon.icon-sm.hospital { background-position: 40% 0; }
.icon.icon-sm.map { background-position: 50% 0; }
.obj { display: block; position: absolute; }

/* 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: center; height: 6rem; font-weight: normal; font-family: var(--ff2); background-color: transparent; display: flex; align-items: center; position: fixed; z-index: 1; top: 0; left: 0; width: 100%; transition: .3s linear all; }
nav .container { position: relative; }
nav .logo-1 { position: absolute; left: .75rem; top: 0; bottom: 0; margin: auto; height: 3.5rem; background-position: 0 0; display: none; }
nav ul { list-style: none; margin: 0; }
nav li { display: inline-block; padding: 0; }
nav li a { text-decoration: none; display: inline-block; color: #fff; padding: 0.5rem; line-height: 1.5rem; position: relative; text-transform: uppercase; font-size: .9rem; letter-spacing: .1rem; }
nav li a:not(.btn):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 { color: var(--color-brown); background-color: #fff; margin-left: 1rem; }
nav li .btn:hover { }
nav .btn-menu { display: none; }
nav.fixed { background-color: var(--color-brown); text-align: right; }
nav.fixed .logo-1 { display: block; }

/**/
footer { font-size: .9rem; text-align: left; padding-top: 2rem; }
footer .container { padding-top: 2rem; padding-bottom: 2rem; position: relative; }
footer .container:before { position: absolute; content: ""; display: block; top: -1px; left: 0; right: 0; height: 1px; background-color: var(--color-light-purple); }
footer .links { text-align: right; }
footer .links a { text-decoration: none; color: inherit; }
footer .links a:hover { text-decoration: underline; }
footer * { opacity: .95; }

/**/
form { }
form.locked { pointer-events: none }

/* 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: flex; 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: auto; margin: 0; }
[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; }
.slick-arrow.slick-hidden { display: none; }

/* 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; }
.modal .box { background-color: #fff; padding: 1.5rem; background-color: #fff; position: relative; padding: 1.5rem; border-radius: .5rem; }
.modal .box .a { position: relative; padding: 0; height: 2rem; display: flex; align-items: center; justify-content: space-between; margin-bottom: 1rem; }
.modal .box .b { overflow: scroll; position: relative; bottom: 0; left: 0; right: 0; max-height: 80vh; }
.modal .box .b h6 { font-family: var(--font-1); text-transform: uppercase; letter-spacing: .1rem; font-size: .9rem; margin-bottom: .5rem; }
.modal .btn-close { height: 1.5rem; width: 1.5rem; z-index: 1; color: var(--color-brown); display: flex; align-items: center; justify-content: center; font-size: 2rem; }
.modal .btn-close .icon { height: 1.25rem; }
.modal .btn-close:hover { cursor: pointer; }
.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(142 102 61 / 90%); }
.filter, .modal { display: none; visibility: hidden; opacity: 0; }
.filter, .modal.visible { display: flex; visibility: visible; opacity: 1; }

/* Sections */
section { padding-top: 6rem; padding-bottom: 6rem; overflow: hidden; position: relative; }

/**/
.frame-container { margin: auto; position: relative; aspect-ratio: 1/1; width: 75%; }
.frame-container img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: contain; }
.frame-container .frame { animation: anim-rotate-1 30s infinite linear; }

/**/
.sect-1 { color: #fff; text-align: center; padding-top: 12rem; padding-bottom: 10rem; left: 0; right: 0; margin: auto; }
.sect-1 .bg { max-width: 1200px; }
.sect-1 .obj { opacity: .5; right: 0; bottom: 0; margin: auto; left: 0; transform: translate(20rem, 4rem); height: 12rem; }
.sect-1 .logo-2 { width: 18rem; }
.sect-1 .container { position: relative; }

/**/
.sect-2 { overflow: visible; }
.sect-2 ul { display: flex; gap: 1.5rem; flex-direction: row; justify-content: center; flex-wrap: wrap; width: 100%; }
.sect-2 ul > li { width: calc(50% - .75rem); display: flex; flex-direction: column; gap: 1.5rem; justify-content: center; text-align: center; padding: .5rem; }
.sect-2 ul > li > div { }
.sect-2 ul > li h5 { color: var(--color-brown); }
.sect-2 ul > li .icon { height: 4rem; }

/**/
.sect-3 { }
.sect-3 .bg { background-image: url(../img/obj4.svg); background-size: cover; max-width: 800px; }
.sect-3 img { width: 100%; height: 100%; position: absolute; top: 0; left: 0; }

/**/
.sect-4 { text-align: center; position: relative; padding-top: 0; padding-bottom: 0; }
.sect-4 > .container { padding-top: 6rem; padding-bottom: 6rem; }
.sect-4 ul { list-style: none; padding: 0 0 5rem 0; position: relative; }
.sect-4 ul li { }
.sect-4 ul li:first-child { padding-top: 0; }
.sect-4 ul li p:last-child { color: var(--color-brown); text-transform: uppercase; font-weight: bold; letter-spacing: .2rem; margin-top: 2rem; }
.sect-4 ul .btn { position: absolute; bottom: 0; left: 0; right: 0; margin: auto; padding: 0; width: 2.5rem; height: 2.5rem; }
.sect-4 ul .btn.prev { left: -3.5rem; }
.sect-4 ul .btn.next { right: -3.5rem; }
.sect-4 .obj { bottom: 0; top: 0; height: 100%; object-fit: cover; width: 6rem; }
.sect-4 .obj.a { left: 0; }
.sect-4 .obj.b { right: 0; transform: rotate(180deg); }
.sect-4 .obj.c { display: none; }

/**/
.sect-5 { text-align: center; position: relative; }
.sect-5 .bg { background-image: url(../img/obj5.svg); background-size: cover; max-width: 800px; }
.sect-5 ul { display: flex; flex-direction: row; gap: 2rem; }
.sect-5 ul li { width: calc(50% - 1rem); }
.sect-5 ul li .box { background-color: #fff; padding: 1.5rem 1rem 3rem; }
.sect-5 ul li .box h6 { font-family: var(--font-1); color: var(--color-brown); text-transform: uppercase; letter-spacing: .25rem; }
.sect-5 ul li .box .icon { height: 4rem; }
.sect-5 ul li .box hr { width: 50%; margin-left: auto; margin-right: auto; }

/**/
.sect-6 { text-align: center; }
.sect-6 .bg { left: 50%; width: 50%; }
.sect-6 .obj { opacity: .5; bottom: 0; margin: auto; left: 0; right: 0; transform: translate(-32rem, -2rem); height: 12rem; z-index: -1; }
.sect-6 form { max-width: 28rem; margin: auto; }
.sect-6 iframe {position: relative;}
.sect-6 .iframe-container {}

/**/
.sect-7 { text-align: center; padding-bottom: 0; padding-top: 4rem; }
.sect-7 .bg { background-image: url(../img/obj4.svg); background-size: cover; max-width: 800px; }
.sect-7 h6 { font-family: var(--color-light); color: var(--color-light); font-weight: normal; text-transform: uppercase; letter-spacing: .2rem; font-size: .9rem; }
.sect-7 ul { display: inline-flex; flex-direction: column; gap: .75rem; text-align: left; }
.sect-7 ul li { }
.sect-7 ul li a { text-decoration: none; color: #646464; display: flex; gap: .75rem; align-items: center; }
.sect-7 ul li a .circle { background-color: #fff; height: 2.5rem; width: 2.5rem; display: inline-flex; border-radius: 50%; align-items: center; justify-content: center; }
.sect-7 ul li a .circle .icon { height: 1.5rem; }
.sect-7 ul li a:hover { color: var(--color-brown) }

/**/
.sect-8 { background-color: var(--color-light-purple); padding-top: 2rem; padding-bottom: 2rem; }
.sect-8 .box { background-color: #fff; padding: 2rem; border-radius: .75rem; }
.sect-8 .box h6 { font-size: 1rem; }
.sect-8 .box .list { margin: 0 0 1rem 0; padding-left: 1rem; }
.sect-8 .box .list li { margin: 0 0 1rem 0; list-style: disc; }

/*Form*/
.input-box { position: relative; }
.input-box label { display: flex; line-height: 1; margin-bottom: .75rem; font-size: .9rem; align-items: center; gap: .5rem; }
.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; background-color: #f8f7f3; color: #000; display: block; width: 100%; border-radius: 0; border: 1px solid var(--color-beige); transition: .3s ease all; }
.input-box input[type='text']:focus, .input-box select:focus, .input-box textarea:focus { box-shadow: 0 0 0 0.25rem rgb(204 153 102 / 40%) }
.input-box input { }
.input-box select { background-image: url(../img/icon-select.svg); background-size: contain; background-repeat: no-repeat; background-position: right center; }
.input-box textarea { }
.input-box input[type='text']:focus, .input-box select:focus, .input-box textarea:focus { outline: none; color: #000 }
.input-box.wrong .msg-wrong { color: var(--color-red); opacity: 1; width: 100%; }
.input-box.wrong input[type='text'], .input-box.wrong select, .input-box.wrong textarea { border: 1px solid var(--color-red); }
.input-box.wrong .icon { filter: invert(41%) sepia(62%) saturate(1627%) hue-rotate(324deg) brightness(97%) contrast(109%); }
.input-box.wrong label.checkbox:before { box-shadow: 0 0 0 1px var(--color-red) inset; }
.input-box:not(.wrong) .msg-wrong { display: none; }
.input-box .msg-wrong { margin: .5rem 0 0 0; font-size: .85rem; }
.checkbox-container { display: flex; justify-content: start; align-items: center; flex-wrap: wrap; gap: .5rem; }
.checkbox-container label { font-size: .85rem; }
.checkbox-container.wrong { color: var(--color-red); }
@media (min-width:769px) { }

/**/
@media (max-width:768px) {
	html { overflow-x: hidden; width: 100% }
	body { font-size: 14px; }
	h3 { font-size: 1.8rem }
	h4 { font-size: 1.4rem }
	h5 { font-size: 1.15rem; }
	.frame-container { margin-bottom: 1.5rem; width: 100%; }

	/**/
	nav { overflow: visible; z-index: 2; height: 5rem; text-align: right; }
	nav .container { }
	nav .logo-1 { height: 2.75rem; }
	nav ul { position: fixed; left: 0; top: 0; background-color: #fff; 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: #000; display: inline-flex; gap: .5rem; justify-content: center; align-items: center; z-index: 1; position: relative; transition: .3s linear all; }
	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: #000; 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.home-nav.fixed .btn-menu, nav:not(.home-nav) .btn-menu { color: #fff; }
	nav.home-nav.fixed .btn-menu i i, nav:not(.home-nav) .btn-menu i i { background-color: #fff; }
	nav.home-nav.fixed li a, nav:not(.home-nav) li a { color: #000; }

	/**/
	.menu-visible { overflow: hidden; position: fixed; }
	.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; background-color: #fff; color: #333; }
	.menu-visible nav li a { color: var(--color-brown) !important; font-size: 1.1rem; letter-spacing: .25rem; font-weight: bold; margin: 0; font-family: var(--font-2); text-transform: none; }
	.menu-visible nav .btn-menu { color: #646464 !important; }
	.menu-visible nav .btn-menu i i { background-color: #888 !important; }

	/**/
	section { padding-top: 4rem; padding-bottom: 4rem; }
	.sect-1 { padding-top: 8rem; padding-bottom: 6rem; }
	.sect-1 .logo-2 { width: 16rem; }
	.sect-1 .obj { display: none; }
	.sect-2 { padding-top: 4rem; padding-bottom: 4rem; }
	.sect-2 ul > li { width: 80%; padding: 0; }
	.sect-3 { }
	.sect-4 { }
	.sect-4 ul { }
	.sect-4 .obj.a { display: none; }
	.sect-4 .obj.b { display: none; }
	.sect-4 .obj.c { display: block; transform: rotate(270deg) scale(-1); right: 0; height: auto; margin: auto 0; z-index: -1; }
	.sect-5 ul { flex-direction: column; }
	.sect-5 ul li { width: 100%; }
	.sect-6 .bg { display: none; }
	.sect-6 .obj { display: none; }
	.sect-6 .iframe-container {padding: 0 2rem;margin-bottom: 1rem;}
	.sect-7 { }

	/**/
	.modal.visible { padding: 1rem; }
	.modal .box { }

	/**/
	footer .container { text-align: center; }
	footer .links { text-align: center; }
}

/**/
@media (min-width:1200px) { }