/*!
Theme Name: juliancamposes
Theme URI: http://underscores.me/
Author: Julián Campos
Author URI: https://juliancampos.es
Description: Custom theme for julian campos web
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: jc
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready


/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
 html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:#fff0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}*,*::before,*::after{box-sizing:inherit}html{box-sizing:border-box}



 /* Fonts and variables 
--------------------------------------------- */

@font-face {
	font-family: 'Aspekta';
	src: url('./assets/fonts/Aspekta-350.woff2') format('woff2');
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Aspekta';
	src: url('./assets/fonts/Aspekta-350.woff2') format('woff2');
	font-weight: 350;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Aspekta';
	src: url('./assets/fonts/Aspekta-400.woff2') format('woff2');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Aspekta';
	src: url('./assets/fonts/Aspekta-600.woff2') format('woff2');
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Aspekta';
	src: url('./assets/fonts/Aspekta-600.woff2') format('woff2');
	font-weight: 550;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Aspekta';
	src: url('./assets/fonts/Aspekta-600.woff2') format('woff2');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Aspekta';
	src: url('./assets/fonts/Aspekta-600.woff2') format('woff2');
	font-weight: 650;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Aspekta';
	src: url('./assets/fonts/Aspekta-600.woff2') format('woff2');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

:root{
	--primary-light-color: #00A876;
	--secondary-light-color: #00F1A9;
	--primary-dark-color: #001B13;
	--primary-bg-color: #111111;
	--secondary-bg-color: #E4F1EB;
	--font-light-color: #F2F0EB;
	--font-dark-color: #001B13;
	--mobile-header-height: 46px;
	--jc-content-width: 846px;
	--jc-wide-width: 9999px;
	--jc-site-gutter: clamp(20px, 5.555vw, 80px);
	--jc-header-top-space: clamp(20px, 2.64vw, 38px);
	--jc-header-content-gap: clamp(56px, 6.8vw, 98px);
	--jc-mobile-page-edge-space: 20px;
	--jc-mobile-fixed-header-offset: calc(var(--jc-mobile-page-edge-space) + var(--mobile-header-height) + 28px);
}

html{
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-synthesis: none;
	overflow-x: hidden;
	overflow-x: clip;
	scroll-behavior: smooth;
	text-rendering: optimizeLegibility;
}

[id]{
	scroll-margin-top: calc(var(--jc-header-top-space) + var(--mobile-header-height) + 24px);
}

@media (prefers-reduced-motion: reduce){
	html{
		scroll-behavior: auto;
	}
}

/* Typography
--------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea {
	color: var(--font-light-color);
	font-family: 'Aspekta', -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-synthesis: none;
	font-weight: 400;
	font-size: 0.875rem;
	line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
}

h1 {
	font-size: 3.5rem; /* 56px */
}

h2 {
	font-size: 3rem; /* 48px */
}

h3 {
	font-size: 2.5rem; /* 40px */
}

h4 {
	font-size: 2rem; /* 32px */
}

h5 {
	font-size: 1.5rem; /* 24px */
}

h6 {
	font-size: 1rem; /* 16px */
}

p {
	font-size: 0.875rem; /* 14px */
	margin-bottom: 1.5em;
}

span{
	color: var(--secondary-light-color);
}

dfn,
cite,
em,
i {
	font-style: italic;
}

blockquote {
	margin: 0 1.5em;
}

address {
	margin: 0 0 1.5em;
}

pre {
	background: #eee;
	font-family: "Courier 10 Pitch", courier, monospace; /* TODO:  Cambiar fuente */
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code,
kbd,
tt,
var {
	font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace; /* TODO:  Cambiar fuente */
}

abbr,
acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark,
ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}

/* Elements
--------------------------------------------- */
body {
	background: var(--primary-bg-color);
	overflow-x: hidden;
	overflow-x: clip;
}

@media screen and (max-width: 719px){
	html,
	body{
		max-width: 100%;
		overflow-x: hidden;
	}

	.site-main{
		padding-top: var(--jc-mobile-fixed-header-offset);
	}

	body.home .site-main{
		padding-top: calc(var(--jc-mobile-fixed-header-offset) - 32px);
	}
}

hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}

ul,
ol {
	margin: 0 0 1.5em 3em;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}

dt {
	font-weight: 700;
}

dd {
	margin: 0 1.5em 1.5em;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

img {
	height: auto;
	max-width: 100%;
}

figure {
	margin: 1em 0;
}

table {
	margin: 0 0 1.5em;
	width: 100%;
}

/* Links
--------------------------------------------- */
a {
	color: var(--primary-light-color);
}

a:hover,
a:focus,
a:active {
	color: var(--secondary-light-color);
}

* > a:hover{
	color: var(--secondary-light-color);
}

a:focus {
	outline: thin dotted;
}

a:hover,
a:active {
	outline: 0;
}

/* Forms
--------------------------------------------- */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: 1px solid;
	border-color: #ccc #ccc #bbb;
	border-radius: 3px;
	background: #e6e6e6;
	color: rgba(0, 0, 0, 0.8);
	line-height: 1;
	padding: 0.6em 1em 0.4em;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	border-color: #ccc #bbb #aaa;
}

button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
	border-color: #aaa #bbb #bbb;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	color: #666;
	border: 1px solid #ccc;
	border-radius: 3px;
	padding: 3px;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	color: #111;
}

select {
	border: 1px solid #ccc;
}

textarea {
	width: 100%;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/

/* Navigation
--------------------------------------------- */
.main-navigation {
	display: block;
}

.main-navigation ul {
	display: none;
	list-style: none;
	margin: 0;
	padding-left: 0;
}

.main-navigation ul ul {
	box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
	float: left;
	position: absolute;
	top: 100%;
	left: -999em;
	z-index: 99999;
}

.main-navigation ul ul ul {
	left: -999em;
	top: 0;
}

.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
	display: block;
	left: auto;
}

.main-navigation ul ul a {
	width: 200px;
}

.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
	left: auto;
}

.main-navigation li {
	position: relative;
}

.main-navigation a {
	display: block;
	text-decoration: none;
}

/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
	display: block;
}

@media screen and (min-width: 720px) {

	.menu-toggle {
		display: none;
	}

	.main-navigation ul {
		display: flex;
	}
}

.site-main .comment-navigation,
.site-main
.posts-navigation,
.site-main
.post-navigation {
	margin: 0 0 1.5em;
}

.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
	display: flex;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	flex: 1 0 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	text-align: end;
	flex: 1 0 50%;
}

/* Posts and pages
--------------------------------------------- */
.sticky {
	display: block;
}

.post,
.page {
	margin: 0 0 1.5em;
}

.updated:not(.published) {
	display: none;
}

.page-content,
.entry-content,
.entry-summary {
	margin: var(--jc-header-content-gap) 0 0;
}

.entry-content > *{
	margin-left: auto;
	margin-right: auto;
	max-width: min(var(--jc-content-width), calc(100vw - (var(--jc-site-gutter) * 2)));
}

.entry-content > .alignwide{
	max-width: min(var(--jc-wide-width), calc(100vw - (var(--jc-site-gutter) * 2)));
}

.entry-content > .alignfull{
	max-width: none;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}

/* Comments
--------------------------------------------- */
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/* Widgets
--------------------------------------------- */
.widget {
	margin: 0 0 1.5em;
}

.widget select {
	max-width: 100%;
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}

/* Captions
--------------------------------------------- */
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

.wp-caption-text {
	text-align: center;
}

/* Galleries
--------------------------------------------- */
.gallery {
	margin-bottom: 1.5em;
	display: grid;
	grid-gap: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	width: 100%;
}

.gallery-columns-2 {
	grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
	grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
	grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
	grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
	grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
	grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
	grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
	grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
	display: block;
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/

/* Jetpack infinite scroll
--------------------------------------------- */

/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/

/* Accessibility
--------------------------------------------- */

/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
	outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {

	/*rtl:ignore*/
	float: left;

	/*rtl:ignore*/
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {

	/*rtl:ignore*/
	float: right;

	/*rtl:ignore*/
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}

/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/
.site-header{
	display: flex;
	flex-direction: row;
	width: min(var(--jc-wide-width), calc(100vw - (var(--jc-site-gutter) * 2)));
	margin: var(--jc-header-top-space) auto 0;
	justify-content: space-between;
	align-items: center;
	position: relative;
	z-index: 20;
}

@media screen and (min-width: 720px){
	.site-header{
		border: 1px solid transparent;
		border-radius: 999px;
		box-sizing: border-box;
		padding: 10px 12px 10px 18px;
		position: sticky;
		top: 16px;
		z-index: 1000;
		transition:
			backdrop-filter 220ms ease,
			background-color 220ms ease,
			border-color 220ms ease,
			box-shadow 220ms ease;
	}

	body.admin-bar .site-header{
		top: 48px;
	}

	body.has-desktop-header-stuck .site-header{
		-webkit-backdrop-filter: blur(18px);
		backdrop-filter: blur(18px);
		background-color: rgba(12, 12, 12, .78);
		border-color: rgba(242, 240, 235, .16);
		box-shadow: 0 18px 48px rgba(0, 0, 0, .28);
	}
}

@media screen and (max-width: 719px){
	.site-header{
		background-color: transparent;
		border: 1px solid transparent;
		border-radius: 0;
		box-sizing: border-box;
		height: auto;
		left: var(--jc-site-gutter, 20px);
		margin: 0;
		min-height: var(--mobile-header-height);
		padding: 0;
		position: fixed;
		right: var(--jc-site-gutter, 20px);
		top: var(--jc-mobile-page-edge-space);
		z-index: 1000;
		width: auto;
		transition:
			backdrop-filter 260ms ease,
			background-color 260ms ease,
			border-color 260ms ease,
			border-radius 260ms ease,
			box-shadow 260ms ease,
			min-height 260ms ease,
			padding 260ms ease,
			top 260ms ease;
	}

	body.admin-bar .site-header{
		top: 66px;
	}

	.site-header > .site-branding,
	.site-header > .site-branding .custom-logo-link,
	.site-header > .site-branding .custom-logo{
		display: block;
		line-height: 0;
	}

	body.has-mobile-header-pill .site-header{
		-webkit-backdrop-filter: blur(18px);
		backdrop-filter: blur(18px);
		background-color: rgba(12, 12, 12, .78);
		border: 1px solid rgba(242, 240, 235, .26);
		border-radius: 999px;
		box-shadow: 0 18px 48px rgba(0, 0, 0, .34);
		min-height: 56px;
		padding: 8px 8px 8px 14px;
		top: 12px;
		z-index: 1001;
	}

	body.admin-bar.has-mobile-header-pill .site-header{
		top: 58px;
	}

	body.is-mobile-header-restoring .site-header,
	body.is-mobile-header-restoring .menu-toggle{
		transition: none;
	}
}


#primary-menu {
	gap: 30px;
	align-items: center;
}

#primary-menu > li > a{
	color: var(--font-light-color);
}

#primary-menu > li > a:hover{
	color: var(--secondary-light-color);
}

@media (min-width: 720px){
	#primary-menu > li > a{
		font-size: 16px;
		line-height: 1.35;
	}

	#primary-menu > li:last-child {
		border: 1px solid var(--font-light-color);
		padding: 12px 24px;
		border-radius: 8px;
		transition: background-color .22s ease, border-color .22s ease, border-radius .22s ease, box-shadow .22s ease;
	}

	body.has-desktop-header-stuck #primary-menu > li:last-child{
		border-radius: 999px;
	}

	#primary-menu > li:last-child:hover{
		background-color: var(--secondary-light-color);
		border: 1px solid var(--secondary-light-color);
	}

	#primary-menu > li:last-child:hover > a{
		color: var(--font-dark-color);
	}
}


.menu-toggle {
	background-color: transparent;
	border: none;
	padding: 0px;
	z-index: 999;
	position: relative;
}

@media screen and (max-width: 719px){
	.menu-toggle{
		align-items: center;
		background: rgba(17, 17, 17, .92);
		border: 1px solid rgba(242, 240, 235, .12);
		border-radius: 999px;
		display: inline-flex;
		flex: 0 0 46px;
		height: 46px;
		justify-content: center;
		margin-left: auto;
		position: static;
		width: 46px;
		z-index: 1002;
		transition: flex-basis 260ms ease, height 260ms ease, width 260ms ease, background-color 260ms ease, border-color 260ms ease;
	}

	body.has-mobile-header-pill .menu-toggle{
		flex: 0 0 40px;
		height: 40px;
		width: 40px;
	}
}

#mobile-navigation-container{
	position: fixed;
	top: 0;
	left: 0;
	background:
		radial-gradient(circle at 18% 68%, rgba(0, 241, 169, .2) 0%, rgba(0, 241, 169, .09) 24%, rgba(0, 241, 169, 0) 52%),
		linear-gradient(145deg, #121212 0%, #08100d 48%, #0c0c0c 100%);
	box-sizing: border-box;
	width: 100vw;
	height: 100vh;
	height: 100dvh;
	z-index: 9999;
	display: flex;
	opacity: 0;
	overflow-x: hidden;
	overflow-y: auto;
	padding: 40px var(--jc-site-gutter, 20px);
	pointer-events: none;
	flex-direction: column;
	transform: translate3d(104%, 0, 0);
	transform-origin: right center;
	transition:
		opacity 640ms cubic-bezier(.16, 1, .3, 1),
		transform 640ms cubic-bezier(.16, 1, .3, 1),
		visibility 0s linear 640ms;
	visibility: hidden;
	will-change: transform, opacity;
}

#mobile-navigation-container.is-open{
	opacity: 1;
	pointer-events: auto;
	transform: translate3d(0, 0, 0);
	transition-delay: 0s, 0s, 0s;
	visibility: visible;
}

#mobile-navigation-container.is-closing{
	opacity: 1;
	pointer-events: none;
	transform: translate3d(104%, 0, 0);
	visibility: visible;
}

body.mobile-menu-open{
	overflow: hidden;
}

html.mobile-menu-open{
	overflow: hidden;
}

@media screen and (max-width: 719px){
	body.mobile-menu-open #mobile-navigation-container{
		height: 100vh;
		height: 100dvh;
		padding-top: calc(var(--jc-mobile-page-edge-space) + 8px);
		top: 0;
	}

	body.admin-bar.mobile-menu-open #mobile-navigation-container{
		height: 100vh;
		height: 100dvh;
		top: 0;
	}
}

.mobile-navigation-close{
	align-items: center;
	background: rgba(242, 240, 235, .06);
	border: 1px solid rgba(242, 240, 235, .22);
	border-radius: 999px;
	display: inline-flex;
	height: 48px;
	justify-content: center;
	padding: 0;
	position: absolute;
	right: var(--jc-site-gutter, 20px);
	top: var(--jc-mobile-page-edge-space);
	width: 48px;
	z-index: 12;
	transition: background-color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

#mobile-navigation-container > .site-branding{
	pointer-events: none;
	position: relative;
	z-index: 3;
}

.mobile-navigation-close:hover,
.mobile-navigation-close:focus{
	background: rgba(0, 241, 169, .12);
	border-color: rgba(0, 241, 169, .4);
	transform: translateY(-1px);
}

.mobile-navigation-close img{
	display: block;
	height: 44px;
	width: 44px;
}

.mobile-navigation-glow{
	position: absolute;
	top: 9%;
	left: -110px;
	width: 320px;
	height: 74%;
	background: radial-gradient(circle at center, rgba(0, 241, 169, .28) 0%, rgba(0, 241, 169, .11) 38%, transparent 72%);
	filter: blur(56px);
	opacity: .5;
	pointer-events: none;
	transform: translate3d(-28px, 12px, 0) scale(.92);
	transition: opacity 720ms ease, transform 820ms cubic-bezier(.16, 1, .3, 1);
}

#mobile-navigation-container.is-open .mobile-navigation-glow{
	opacity: 1;
	transform: translate3d(0, 0, 0) scale(1);
}

@media screen and (min-width: 720px){
	#mobile-navigation-container{
		display: none !important;
	}
	.mobile-navigation-glow{
		display: none;
	}
}

#mobile-navigation-container > nav {
	margin-top: 28px;
	position: relative;
	z-index: 1;
}

body.mobile-menu-open #mobile-navigation-container > nav{
	margin-top: 28px;
}

#mobile-navigation-container > nav > .menu-menu-principal-container{
	height: 100%;
}

#mobile-navigation-container > nav > .menu-menu-principal-container > ul {
	width: 100%;
	margin: 0px;
	padding: 0px;
	display: flex;
	flex-direction: column;
	gap: 0;
	align-items: flex-start;
	counter-reset: mobile-menu;
}

#mobile-navigation-container > nav > .menu-menu-principal-container > ul > li {
	border-bottom: 1px solid rgba(242, 240, 235, .1);
	counter-increment: mobile-menu;
	list-style-type: none;
	width: 100%;
}

#mobile-navigation-container > nav > .menu-menu-principal-container > ul > li:first-child{
	border-top: 1px solid rgba(242, 240, 235, .1);
}

#mobile-navigation-container > nav > .menu-menu-principal-container > ul > li > a{
	align-items: center;
	color: rgba(242, 240, 235, .88);
	display: grid;
	font-size: clamp(22px, 6.4vw, 26px);
	font-weight: 600;
	gap: 12px;
	grid-template-columns: 30px minmax(0, 1fr) 20px;
	letter-spacing: 0;
	line-height: 1.15;
	min-height: 54px;
	padding: 13px 0;
	text-decoration: none;
	transition: color 180ms ease, transform 180ms ease;
}

#mobile-navigation-container > nav > .menu-menu-principal-container > ul > li > a::before{
	color: rgba(174, 179, 177, .68);
	content: "0" counter(mobile-menu);
	font-family: "JetBrains Mono", Monaco, Consolas, "Andale Mono", monospace;
	font-size: 12px;
	font-weight: 400;
	line-height: 1;
}

#mobile-navigation-container > nav > .menu-menu-principal-container > ul > li > a::after{
	background-color: var(--secondary-light-color);
	content: "";
	display: block;
	height: 12px;
	-webkit-mask-image: url("./assets/img/arrow_forward_ios.svg");
	mask-image: url("./assets/img/arrow_forward_ios.svg");
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
	opacity: 0;
	transform: translateX(-6px);
	transition: opacity 180ms ease, transform 180ms ease;
	width: 7px;
}

#mobile-navigation-container > nav > .menu-menu-principal-container > ul > li > a:hover,
#mobile-navigation-container > nav > .menu-menu-principal-container > ul > li > a:focus{
	color: var(--font-light-color);
	transform: translateX(4px);
}

#mobile-navigation-container > nav > .menu-menu-principal-container > ul > li > a:hover::after,
#mobile-navigation-container > nav > .menu-menu-principal-container > ul > li > a:focus::after{
	opacity: 1;
	transform: translateX(0);
}

#mobile-navigation-container > footer {
	margin-top: auto;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 25px;
	z-index: 1;
}

#mobile-navigation-container > .site-branding,
.mobile-navigation-close,
.mobile-navigation-intro,
#mobile-navigation-container > nav > .menu-menu-principal-container > ul > li,
.mobile-navigation-cta,
#mobile-navigation-container > footer{
	opacity: 0;
	transform: translateX(18px);
	transition:
		opacity 320ms cubic-bezier(.2, .8, .2, 1),
		transform 420ms cubic-bezier(.16, 1, .3, 1);
}

#mobile-navigation-container.is-open > .site-branding,
#mobile-navigation-container.is-open .mobile-navigation-close,
#mobile-navigation-container.is-open .mobile-navigation-intro,
#mobile-navigation-container.is-open > nav > .menu-menu-principal-container > ul > li,
#mobile-navigation-container.is-open .mobile-navigation-cta,
#mobile-navigation-container.is-open > footer{
	opacity: 1;
	transform: translateY(0);
}

#mobile-navigation-container.is-open > .site-branding{
	transition-delay: 160ms;
}

#mobile-navigation-container.is-open .mobile-navigation-close{
	transition-delay: 170ms;
}

#mobile-navigation-container.is-open .mobile-navigation-intro{
	transition-delay: 210ms;
}

#mobile-navigation-container.is-open > nav > .menu-menu-principal-container > ul > li:nth-child(1){
	transition-delay: 250ms;
}

#mobile-navigation-container.is-open > nav > .menu-menu-principal-container > ul > li:nth-child(2){
	transition-delay: 270ms;
}

#mobile-navigation-container.is-open > nav > .menu-menu-principal-container > ul > li:nth-child(3){
	transition-delay: 290ms;
}

#mobile-navigation-container.is-open > nav > .menu-menu-principal-container > ul > li:nth-child(4){
	transition-delay: 310ms;
}

#mobile-navigation-container.is-open > nav > .menu-menu-principal-container > ul > li:nth-child(5){
	transition-delay: 330ms;
}

#mobile-navigation-container.is-open > nav > .menu-menu-principal-container > ul > li:nth-child(6){
	transition-delay: 350ms;
}

#mobile-navigation-container.is-open .mobile-navigation-cta{
	transition-delay: 390ms;
}

#mobile-navigation-container.is-open > footer{
	transition-delay: 430ms;
}

.menu-menu-legal-container {
	width: 100%;
}

.menu-menu-legal-container > ul {
	display: flex;
	flex-direction: row;
	gap: 19px;
	padding: 0px;
	margin: 0px;
}

.menu-menu-legal-container > ul > li {
	list-style-type: none;
	font-size: 14px;
}

.menu-menu-legal-container > ul > li > a {
	color: var(--secondary-bg-color);
	text-decoration: none;

}

#menu-social-icons{
	display: flex;
	flex-direction: row;
	gap: 12px;
}

.social-icon-container{
	width: 48px;
	height: 48px;
	background: rgba(242, 240, 235, .08);
	border: 1px solid rgba(242, 240, 235, .1);
	border-radius: 999px;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	transition: background-color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

#menu-social-icons a:hover .social-icon-container,
#menu-social-icons a:focus .social-icon-container{
	background: rgba(0, 241, 169, .14);
	border-color: rgba(0, 241, 169, .34);
	transform: translateY(-2px);
}

.socialIcon{
	width: 25px;
	height: 25px;
}

.mobile-navigation-intro{
	margin-top: 48px;
	max-width: 300px;
	position: relative;
	z-index: 1;
}

.mobile-navigation-intro__eyebrow{
	color: var(--secondary-light-color);
	font-family: "JetBrains Mono", Monaco, Consolas, "Andale Mono", monospace;
	font-size: 12px;
	line-height: 1.4;
	margin: 0 0 10px;
	text-transform: uppercase;
}

.mobile-navigation-intro__text{
	color: rgba(242, 240, 235, .58);
	font-size: 14px;
	line-height: 20px;
	margin: 0;
}

.mobile-navigation-cta{
	align-items: center;
	background: rgba(0, 241, 169, .1);
	border: 1px solid rgba(0, 241, 169, .28);
	border-radius: 8px;
	color: var(--secondary-light-color);
	display: inline-flex;
	font-size: 14px;
	font-weight: 700;
	gap: 10px;
	justify-content: space-between;
	margin-top: 20px;
	min-height: 46px;
	padding: 11px 15px;
	position: relative;
	align-self: center;
	text-decoration: none;
	width: min(100%, 300px);
	z-index: 1;
}

.mobile-navigation-cta:hover,
.mobile-navigation-cta:focus{
	background: rgba(0, 241, 169, .16);
	border-color: rgba(0, 241, 169, .48);
	color: var(--font-light-color);
}

.mobile-navigation-cta__icon{
	display: block;
	filter: invert(1);
	flex: 0 0 auto;
	height: 12px;
	width: 7px;
}

@media screen and (max-width: 719px) and (max-height: 760px){
	.mobile-navigation-intro{
		margin-top: 28px;
	}

	.mobile-navigation-intro__text{
		display: none;
	}

	#mobile-navigation-container > nav,
	body.mobile-menu-open #mobile-navigation-container > nav{
		margin-top: 22px;
	}

	#mobile-navigation-container > nav > .menu-menu-principal-container > ul > li > a{
		font-size: clamp(21px, 6vw, 24px);
		min-height: 48px;
		padding: 10px 0;
	}

	.mobile-navigation-cta{
		margin-top: 16px;
	}
}

@media (prefers-reduced-motion: reduce){
	#mobile-navigation-container,
	.mobile-navigation-glow,
	#mobile-navigation-container > .site-branding,
	.mobile-navigation-close,
	.mobile-navigation-intro,
	#mobile-navigation-container > nav > .menu-menu-principal-container > ul > li,
	.mobile-navigation-cta,
	#mobile-navigation-container > footer{
		transition: none;
	}
}


/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/
.site-footer{
	display: flex;
	flex-direction: column;
	width: min(var(--jc-wide-width), calc(100vw - (var(--jc-site-gutter) * 2)));
	margin: 0 auto;
	padding-top: 72px;
	padding-bottom: var(--jc-header-top-space);
	color: #AEB3B1;
}

@media screen and (max-width: 719px){
	.site-footer{
		padding-bottom: calc(var(--jc-header-top-space) + env(safe-area-inset-bottom, 0px));
	}
}

.footer-row{
	display: flex;
	flex-direction: column;
	width: 100%;
	gap: 10px;
}

#footer-site-info{
	width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
	gap: 24px;
}

#footer-site-info .custom-logo-link{
	display: inline-flex;
}

.footer-site-info__text{
	max-width: 440px;
	margin: 0;
	color: #AEB3B1;
	font-size: 16px;
	line-height: 24px;
}

.footer-site-info__cta{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 12px 22px;
	border: 1px solid rgba(0, 245, 169, 0.45);
	border-radius: 8px;
	background: rgba(0, 245, 169, 0.08);
	color: var(--secondary-light-color);
	font-size: 16px;
	font-weight: 700;
	text-decoration: none;
	transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.footer-site-info__cta:hover,
.footer-site-info__cta:focus{
	background: rgba(0, 245, 169, 0.16);
	border-color: var(--secondary-light-color);
	box-shadow: 0 0 18px rgba(0, 241, 169, .18);
	color: #fff;
	transform: translateY(-1px);
}

#footer-widgets-area-container{
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	width: 100%;
	gap: 40px;
	padding-bottom: 50px;
}

.footer-widget-area{
	padding-top: 50px;
	min-width: 180px;
}

.widget_nav_menu{
	list-style-type: none;
}

.widget_nav_menu > h3 {
	margin: 0 0 22px;
	color: #AEB3B1;
	font-size: 16px;
	font-weight: 400;
	text-transform: uppercase;
}

.widget_nav_menu > * {
	width: 100%;
	padding: 0px;
}

.widget_nav_menu > * > * {
	padding: 0px;
	margin: 0px;
	width: 100%;
}

.widget_nav_menu > * > * > li {
	list-style-type: none;
}

.widget_nav_menu > * > * > li > a{
	text-decoration: none;
	font-size: 18px;
	line-height: 1.5;
	color: #ffffff;
	transition: color 180ms ease;
}

.widget_nav_menu > * > * > li > a:hover{
	color: var(--secondary-light-color);
}

#footer-legal-menu > .menu-menu-legal-container > #menu-legal > li > a {
		color: #AEB3B1; 
}

#footer-legal-menu > .menu-menu-legal-container > #menu-legal > li > a:hover{
	color: var(--secondary-light-color);
}


@media (min-width: 720px){
	.footer-row{
		flex-direction: row;
		align-items: top;
		gap: 10%;
		justify-content: space-between;
	}
	#footer-site-info{
		width: 40%;
		align-items: flex-start;
	}

	#footer-widgets-area-container{
		width: 40%;
		flex-wrap: nowrap;
		align-items: flex-start;
	}
	.footer-widget-area{
		padding: 0px;
	}
}


#contacto-footer{
	display: flex;
	flex-direction: column;
	width: 100%;
}

#footer-contact-form-left, #footer-contact-form-right{
	width: 100%;
}

#footer-contact-form-left > h4 {
	font-size: 13px;
	letter-spacing: 0;
	color: #AEB3B1;
}

#footer-contact-form-left > h3 {
	font-weight: 600;
	font-size: 28px;
	line-height: 32px;
	color: #fff;
}

#footer-contact-form-left > p {
	color: #AEB3B1;
}


@media (min-width: 720px){
	#contacto-footer{
		display: flex;
		flex-direction: row;
		width: 100%;
		gap: 10%;
	}

	#footer-contact-form-left{
		width: 35%;
	}

	#footer-contact-form-right{
		width: 55%;
	}

	#footer-contact-form{
		border: 1px solid #F2F0EB16;
		border-radius: 16px;
		padding: 32px;
		background-color: #0C0C0C;
		flex-direction: row;
		gap: 20px;
		flex-wrap: wrap;
	}

	#footer-contact-form-left > h4 {
		font-size: 14px;
		letter-spacing: 0;
		color: #AEB3B1;
	}

	#footer-contact-form-left > h3 {
		font-weight: 600;
		font-size: 42px;
		line-height: 52px;
		color: #fff;
	}

	#footer-contact-form-left > p {
		color: #AEB3B1;
	}
}

/* Green CTA text normalization */
.mobile-navigation-cta,
.footer-site-info__cta,
.jc-home-hero__button--primary,
.jc-centered-hero__button--primary,
.jc-service-description__button,
.jc-trajectory__button,
.jc-about__button,
.jc-services__button,
.jc-services__item-button,
.jc-services__bottom-cta a,
.jc-diagnostic__button,
.jc-not-found__button--primary,
.jc-post-sidebar-newsletter__form button{
	color: #fff !important;
}

.mobile-navigation-cta:hover,
.mobile-navigation-cta:focus,
.footer-site-info__cta:hover,
.footer-site-info__cta:focus,
.jc-home-hero__button--primary:hover,
.jc-home-hero__button--primary:focus,
.jc-centered-hero__button--primary:hover,
.jc-centered-hero__button--primary:focus,
.jc-service-description__button:hover,
.jc-service-description__button:focus,
.jc-trajectory__button:hover,
.jc-trajectory__button:focus,
.jc-about__button:hover,
.jc-about__button:focus,
.jc-services__button:hover,
.jc-services__button:focus,
.jc-services__item-button:hover,
.jc-services__item-button:focus,
.jc-services__bottom-cta a:hover,
.jc-services__bottom-cta a:focus,
.jc-diagnostic__button:hover,
.jc-diagnostic__button:focus,
.jc-not-found__button--primary:hover,
.jc-not-found__button--primary:focus,
.jc-post-sidebar-newsletter__form button:hover,
.jc-post-sidebar-newsletter__form button:focus{
	color: #fff !important;
}

.jc-newsletter__form button:hover,
.jc-newsletter__form button:focus,
.jc-search-results__form button:hover,
.jc-search-results__form button:focus,
#footer-contact-form.jc-contact-form .footer-contact-form-button:hover,
#footer-contact-form.jc-contact-form .footer-contact-form-button:focus{
	color: #000C08 !important;
}

.mobile-navigation-cta span,
.footer-site-info__cta span,
.jc-home-hero__button--primary span,
.jc-centered-hero__button--primary span,
.jc-service-description__button span,
.jc-trajectory__button span,
.jc-about__button span,
.jc-services__button span,
.jc-services__item-button span,
.jc-services__bottom-cta a span,
.jc-diagnostic__button span,
.jc-not-found__button--primary span,
.jc-post-sidebar-newsletter__form button span,
.jc-newsletter__form button span,
.jc-search-results__form button span,
#footer-contact-form.jc-contact-form .footer-contact-form-button:hover span,
#footer-contact-form.jc-contact-form .footer-contact-form-button:focus span{
	color: inherit !important;
}

/* Desktop paragraph reading scale */
@media (min-width: 720px){
	:root{
		--jc-desktop-paragraph-size: 18px;
		--jc-desktop-paragraph-line-height: 1.65;
	}

	.entry-content p:not([class*="kicker"]):not([class*="label"]):not([class*="code"]):not([class*="metric"]),
	.entry-content li:not([class*="menu-item"]):not([class*="metric"]),
	.jc-home-hero__text,
	.jc-centered-hero__text,
	.jc-services__intro,
	.jc-services__audience-text,
	.jc-service-description__intro,
	.jc-service-description__item-text,
	.jc-service-deliverables__intro,
	.jc-service-deliverables__item-text,
	.jc-service-process__intro,
	.jc-service-process__step-text,
	.jc-service-case__text,
	.jc-diagnostic__item-text,
	.jc-about__text,
	.jc-success-cases__intro,
	.jc-success-cases__excerpt,
	.jc-success-case-archive__excerpt,
	.jc-success-case-hero__description,
	.jc-success-case-context__item-description,
	.jc-success-case-challenge__description,
	.jc-success-case-challenge__card-text,
	.jc-success-case-solution__description,
	.jc-success-case-timeline__description,
	.jc-success-case-results__description,
	.jc-post-hero__description,
	.jc-post-single__content p,
	.jc-post-single__content li,
	.jc-related-posts__excerpt,
	.jc-values__text,
	.jc-freelance-difference__intro,
	.jc-search-result-card__excerpt,
	.jc-quote-image__text,
	.jc-faqs-post-blog__intro,
	.jc-faqs-post-blog__answer,
	.jc-conclusion-post-blog__text,
	.jc-faqs__answer,
	.jc-talks__intro,
	.jc-talks__text,
	.jc-newsletter__intro,
	.jc-not-found__text,
	.jc-post-author__bio,
	.jc-post-sidebar-newsletter__text,
	.jc-column-copy__column p,
	.jc-contact-form-block__copy p:not([class*="kicker"]),
	.jc-contact-form-block #footer-contact-form-left > p,
	.footer-contact-form-thanks > p{
		font-size: var(--jc-desktop-paragraph-size) !important;
		line-height: var(--jc-desktop-paragraph-line-height) !important;
	}
}

/* Mobile paragraph reading scale */
@media (max-width: 719px){
	:root{
		--jc-mobile-paragraph-size: 16px;
		--jc-mobile-paragraph-line-height: 1.6;
	}

	.entry-content p:not([class*="kicker"]):not([class*="label"]):not([class*="code"]):not([class*="metric"]),
	.entry-content li:not([class*="menu-item"]):not([class*="metric"]),
	.jc-home-hero__text,
	.jc-centered-hero__text,
	.jc-services__intro,
	.jc-services__audience-text,
	.jc-service-description__intro,
	.jc-service-description__item-text,
	.jc-service-deliverables__intro,
	.jc-service-deliverables__item-text,
	.jc-service-process__intro,
	.jc-service-process__step-text,
	.jc-service-case__text,
	.jc-diagnostic__item-text,
	.jc-about__text,
	.jc-success-cases__intro,
	.jc-success-cases__excerpt,
	.jc-success-case-archive__excerpt,
	.jc-success-case-hero__description,
	.jc-success-case-context__item-description,
	.jc-success-case-challenge__description,
	.jc-success-case-challenge__card-text,
	.jc-success-case-solution__description,
	.jc-success-case-timeline__description,
	.jc-success-case-results__description,
	.jc-post-hero__description,
	.jc-post-single__content p,
	.jc-post-single__content li,
	.jc-related-posts__excerpt,
	.jc-values__text,
	.jc-freelance-difference__intro,
	.jc-search-result-card__excerpt,
	.jc-quote-image__text,
	.jc-faqs-post-blog__intro,
	.jc-faqs-post-blog__answer,
	.jc-conclusion-post-blog__text,
	.jc-faqs__answer,
	.jc-talks__intro,
	.jc-talks__text,
	.jc-newsletter__intro,
	.jc-not-found__text,
	.jc-post-author__bio,
	.jc-post-sidebar-newsletter__text,
	.jc-column-copy__column p,
	.jc-contact-form-block__copy p:not([class*="kicker"]),
	.footer-contact-form-thanks > p{
		font-size: var(--jc-mobile-paragraph-size) !important;
		line-height: var(--jc-mobile-paragraph-line-height) !important;
	}
}

/* Scroll to top */
.jc-scroll-top{
	align-items: center;
	backdrop-filter: blur(14px);
	background: rgba(0, 12, 8, .82);
	border: 1px solid rgba(0, 241, 169, .36);
	border-radius: 999px;
	bottom: 28px;
	box-shadow: 0 18px 42px rgba(0, 0, 0, .34), inset 0 0 0 1px rgba(242, 240, 235, .06);
	color: var(--font-light-color);
	cursor: pointer;
	display: inline-flex;
	height: 52px;
	justify-content: center;
	opacity: 0;
	padding: 0;
	pointer-events: none;
	position: fixed;
	right: 28px;
	transform: translateY(12px) scale(.96);
	transition: opacity .22s ease, transform .22s ease, border-color .22s ease, background-color .22s ease, box-shadow .22s ease;
	width: 52px;
	z-index: 900;
}

.jc-scroll-top.is-visible{
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0) scale(1);
}

.jc-scroll-top:hover,
.jc-scroll-top:focus-visible{
	background: rgba(0, 241, 169, .16);
	border-color: rgba(0, 241, 169, .74);
	box-shadow: 0 20px 50px rgba(0, 241, 169, .16), inset 0 0 0 1px rgba(242, 240, 235, .08);
	color: #fff;
	outline: none;
	transform: translateY(-2px) scale(1);
}

.jc-scroll-top__icon{
	align-items: center;
	color: currentColor;
	display: inline-flex;
	height: 100%;
	justify-content: center;
	width: 100%;
}

.jc-scroll-top__icon svg{
	display: block;
	height: 22px;
	overflow: visible;
	width: 22px;
}

.jc-scroll-top__icon path{
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2.2;
}

body.mobile-menu-open .jc-scroll-top{
	opacity: 0;
	pointer-events: none;
}

@media (max-width: 719px){
	.jc-scroll-top{
		bottom: 18px;
		height: 46px;
		right: 18px;
		width: 46px;
	}

	.jc-scroll-top__icon svg{
		height: 20px;
		width: 20px;
	}
}
