@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@500;600;700;800&family=Nunito+Sans:wght@400;600;700&display=swap');

:root
{
	--editorial-bg: #eef2f7;
	--editorial-paper: #ffffff;
	--editorial-ink: #1a2232;
	--editorial-muted: #4e5b70;
	--editorial-accent: #0b7b8f;
	--editorial-accent-soft: #d8eef4;
	--editorial-border: #dce3ee;
	--editorial-shadow: 0px 18px 42px rgba(15, 33, 58, 0.12);
}

body
{
	font-family: 'Nunito Sans', sans-serif;
	color: var(--editorial-muted);
	background: #ffffff;
}

p,
.location_list li,
.footer_about_text p,
.cr_text,
.footer_contact_info ul li
{
	font-family: 'Nunito Sans', sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6,
.section_title,
.contact_info_title,
.logo_text,
.footer_logo_text,
.accordion span,
.accordion div
{
	font-family: 'Plus Jakarta Sans', sans-serif;
	letter-spacing: 0.01em;
}

.main_nav li a,
.menu_nav ul li a,
.comment_button,
.comment_button2
{
	font-family: 'Nunito Sans', sans-serif;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	font-weight: 700;
	font-size: 12px;
}

.header_container
{
	border-bottom: 1px solid var(--editorial-border);
	backdrop-filter: saturate(130%) blur(4px);
}

.main_nav li a
{
	position: relative;
	color: #2d3a4d;
}

.main_nav li a::after
{
	content: '';
	position: absolute;
	left: 0;
	bottom: -7px;
	width: 100%;
	height: 2px;
	background: var(--editorial-accent);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 220ms ease;
}

.main_nav li a:hover::after,
.main_nav li.active a::after
{
	transform: scaleX(1);
}

.hamburger
{
	background: transparent;
	border: 1px solid transparent;
	border-radius: 4px;
}

.hamburger:focus-visible,
.main_nav li a:focus-visible,
.menu_nav ul li a:focus-visible,
.accordion:focus-visible,
.location_list a:focus-visible,
button:focus-visible
{
	outline: 2px solid var(--editorial-accent);
	outline-offset: 3px;
}

.breadcrumbs ul li a,
.breadcrumbs ul li:not(:last-child)::after
{
	color: var(--editorial-muted);
}

.breadcrumbs ul li a:hover
{
	color: var(--editorial-accent);
}

.contact
{
	padding-bottom: 84px;
}

.home
{
	background: #ffffff;
	border-bottom: 1px solid var(--editorial-border);
}

.contact_info_container
{
	margin-top: 30px;
}

.contact_info_title
{
	font-size: 40px;
	color: var(--editorial-ink);
}

.form_title
{
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.02em;
	color: #2a3648;
}

.comment_input,
.comment_textarea
{
	border: 1px solid var(--editorial-border);
	border-radius: 10px;
	background: #ffffff;
	color: #253347;
}

.comment_input:focus,
.comment_textarea:focus
{
	border-color: var(--editorial-accent);
	box-shadow: 0 0 0 4px rgba(11, 123, 143, 0.12);
	outline: none;
}

.comment_input:focus-visible,
.comment_textarea:focus-visible
{
	border-color: var(--editorial-accent);
	box-shadow: 0 0 0 4px rgba(11, 123, 143, 0.18);
	outline: 2px solid rgba(11, 123, 143, 0.35);
	outline-offset: 1px;
}

.comment_button,
.comment_button2
{
	background: var(--editorial-accent);
	border-radius: 10px;
	letter-spacing: 0.05em;
}

.comment_button:hover,
.comment_button2:hover
{
	box-shadow: 0 10px 24px rgba(11, 123, 143, 0.26);
}

.comment_button:focus-visible,
.comment_button2:focus-visible
{
	outline: 2px solid rgba(11, 123, 143, 0.45);
	outline-offset: 2px;
}

.accordion_container
{
	background: var(--editorial-paper);
	border: 1px solid var(--editorial-border);
	border-radius: 14px;
	box-shadow: var(--editorial-shadow);
	padding-top: 18px;
	padding-bottom: 18px;
	padding-left: 24px;
	padding-right: 24px;
}

.accordion
{
	cursor: pointer;
	padding-left: 27px;
	padding-right: 12px;
	background: transparent;
	border: 0;
	text-align: left;
}

.accordion:focus
{
	outline: none;
	box-shadow: none;
}

.accordion div,
.accordion span
{
	max-width: 100%;
	overflow: visible;
	white-space: normal;
	font-size: 24px;
	line-height: 1.08;
	font-weight: 700;
	color: var(--editorial-ink);
}

.accordion::before
{
	color: var(--editorial-accent);
	left: 8px;
	transform: rotate(0deg);
	transition: transform 220ms ease, color 200ms ease;
}

.accordion.active::before,
.accordion[aria-expanded="true"]::before
{
	transform: rotate(90deg);
}

.accordion_panel
{
	padding-top: 14px;
	padding-left: 16px;
	padding-right: 0;
	max-height: none;
	overflow: visible;
}

.location_list
{
	margin-top: 2px;
}

.location_list li
{
	position: relative;
	padding-left: 0;
	margin-bottom: 11px;
	line-height: 1.65;
	font-size: 15px;
	color: #3e4b60;
}

.location_list li::before
{
	display: none;
}

.location_list a
{
	color: #2f3a4a;
	border-bottom: 1px solid transparent;
	transition: color 200ms ease, border-color 200ms ease;
}

.location_list a:hover
{
	color: var(--editorial-accent);
	border-color: var(--editorial-accent);
}

.enlaces_editorial .contact_info_container
{
	margin-top: 34px;
}

.editorial_intro
{
	background: var(--editorial-paper);
	border: 1px solid var(--editorial-border);
	box-shadow: var(--editorial-shadow);
	padding: 36px 40px;
	border-radius: 14px;
	margin-bottom: 24px;
}

.editorial_kicker
{
	font-family: 'Nunito Sans', sans-serif;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: 11px;
	font-weight: 700;
	color: var(--editorial-accent);
}

.editorial_intro h1
{
	font-size: 41px;
	line-height: 1;
	color: var(--editorial-ink);
	margin-top: 6px;
}

.editorial_intro p
{
	font-size: 15px;
	line-height: 1.8;
	color: var(--editorial-muted);
	max-width: 800px;
	margin-top: 11px;
}

.editorial_sections
{
	margin-top: 10px;
}

.enlaces_editorial .accordion_container
{
	background: var(--editorial-paper);
	border: 1px solid var(--editorial-border);
	box-shadow: var(--editorial-shadow);
	padding-top: 18px;
	padding-bottom: 18px;
	border-radius: 14px;
	margin-bottom: 14px;
}

.enlaces_editorial .accordion
{
	cursor: pointer;
	padding-right: 12px;
	padding-left: 27px;
	background: transparent;
	border: 0;
	text-align: left;
}

.enlaces_editorial .accordion span
{
	display: block;
	max-width: 96%;
	font-size: 24px;
	font-weight: 600;
	color: var(--editorial-ink);
	line-height: 1;
}

.enlaces_editorial .accordion::before
{
	color: var(--editorial-accent);
	transform: rotate(0deg);
	transition: transform 220ms ease, color 200ms ease;
}

.enlaces_editorial .accordion[aria-expanded="true"]::before
{
	transform: rotate(90deg);
}

.enlaces_editorial .accordion_panel
{
	padding-top: 16px;
	padding-left: 16px;
	padding-right: 0;
	max-height: none;
	overflow: visible;
}

.enlaces_editorial .collapse:not(.show) .accordion_panel
{
	display: none;
}

.enlaces_editorial .location_list
{
	margin-top: 0;
}

.enlaces_editorial .location_list li
{
	position: relative;
	padding-left: 0;
	margin-bottom: 11px;
	line-height: 1.65;
	font-size: 15px;
}

.enlaces_editorial .location_list li::before
{
	display: none;
}

.enlaces_editorial .location_list a
{
	color: #2f3a4a;
	border-bottom: 1px solid transparent;
	transition: color 200ms ease, border-color 200ms ease;
}

.enlaces_editorial .location_list a:hover
{
	color: var(--editorial-accent);
	border-color: var(--editorial-accent);
}

.editorial_image_panel
{
	background: transparent;
	border: none;
	box-shadow: none;
	border-radius: 0;
	padding: 0;
	max-width: 420px;
	margin: 6px auto 0;
	text-align: center;
}

.editorial_image_panel img
{
	width: 100%;
	max-width: 360px;
	height: auto;
}

.footer
{
	background: #182233;
}

.home_index
{
	height: 58vh;
	min-height: 340px;
	max-height: 620px;
	border-bottom: 0;
}

.features_index
{
	padding-top: 86px;
	padding-bottom: 92px;
}

.features_index .section_title
{
	font-size: 36px;
	line-height: 1.2;
	letter-spacing: 0;
	color: var(--editorial-ink);
	max-width: 860px;
	margin-left: auto;
	margin-right: auto;
}

.features_index .section_subtitle p
{
	font-size: 16px;
	line-height: 1.75;
	max-width: 760px;
	margin-left: auto;
	margin-right: auto;
	color: #435167;
}

.features_index .feature
{
	padding: 22px 20px 24px;
	border-radius: 12px;
}

.features_index .feature_title
{
	font-size: 22px;
	line-height: 1.2;
}

.servicios_page .contact_info_container,
.recursos_page .contact_info_container,
.contacto_page .contact_info_container
{
	margin-top: 38px;
}

.servicios_page .accordion_container
{
	margin-bottom: 14px;
}

.servicios_page .accordion div
{
	font-size: 22px;
	line-height: 1.15;
}

.servicios_page .accordion_panel
{
	padding-top: 12px;
}

.servicios_page .location_list li
{
	font-size: 14px;
	line-height: 1.6;
	margin-bottom: 9px;
}

.recursos_page .accordion_container
{
	max-width: 980px;
	margin-left: auto;
	margin-right: auto;
}

.recursos_page .accordion div
{
	font-size: 21px;
}

.recursos_page .accordion_panel
{
	padding-top: 10px;
}

.contacto_page .contact_info_title
{
	font-size: 34px;
	line-height: 1.2;
}

.contacto_page .comment_form
{
	margin-top: 28px;
}

.contacto_page .comment_form > div:not(:last-child)
{
	margin-bottom: 20px;
}

.contacto_page .form_title
{
	font-size: 14px;
	margin-bottom: 9px;
}

.contacto_page .contact_info_text,
.contacto_page .contact_info_location
{
	font-size: 14px;
}

@media only screen and (max-width: 991px)
{
	.features_index
	{
		padding-top: 72px;
		padding-bottom: 74px;
	}

	.home_index
	{
		height: 46vh;
		min-height: 300px;
	}

	.features_index .section_title
	{
		font-size: 31px;
	}

	.features_index .feature_title
	{
		font-size: 20px;
	}

	.servicios_page .accordion div,
	.recursos_page .accordion div
	{
		font-size: 20px;
	}

	.contacto_page .contact_info_title
	{
		font-size: 30px;
	}

	.contact_info_title
	{
		font-size: 34px;
	}

	.accordion div,
	.accordion span
	{
		font-size: 22px;
	}

	.editorial_intro
	{
		padding: 28px 24px;
	}

	.editorial_intro h1
	{
		font-size: 34px;
	}

	.enlaces_editorial .accordion span
	{
		font-size: 22px;
	}
}

@media only screen and (max-width: 767px)
{
	.features_index .section_title
	{
		font-size: 27px;
	}

	.home_index
	{
		height: 42vh;
		min-height: 260px;
	}

	.features_index .section_subtitle p
	{
		font-size: 15px;
	}

	.servicios_page .accordion div,
	.recursos_page .accordion div
	{
		font-size: 18px;
	}

	.contacto_page .contact_info_title
	{
		font-size: 27px;
	}

	.contact_info_title
	{
		font-size: 30px;
	}

	.accordion div,
	.accordion span
	{
		font-size: 20px;
	}

	.editorial_intro h1
	{
		font-size: 28px;
	}

	.enlaces_editorial .accordion span
	{
		font-size: 20px;
	}

	.enlaces_editorial .accordion_panel
	{
		padding-left: 0;
	}
}