/*!
Theme Name: Kimufest theme
Theme URI: http://underscores.me/
Author: Desberdin
Author URI: http://desberdin.com
Description: Description
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: kimufest
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

Kimufest theme is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/




:root {
	--banner-height: clamp(40px, 2.32394rem + .751174vw, 3rem);
	--nav-height: clamp(72px, 4.14789rem + 1.50235vw, 5.5rem);
	--header-height: calc(var(--banner-height) + var(--nav-height));
	--plyr-color-main: var(--primary-500);
	--btn-color: var(--primary-500);
	--btn-color-rgb: var(--primary-500-rgb);
	--btn-on-color: var(--on-primary-500);
	--link-color: var(--primary-500);
	--link-on-color: var(--on-primary-500);
	--overline-background-color: var(--secondary-200);
	--overline-color: var(--on-secondary-200-alt);
	--grid-columns: 12;
	--grid-gutter: 1.25rem;
	--section-spacing-top-roomy: clamp(120px, 6.61972rem + 3.75587vw, 10rem);
	--section-spacing-bottom-roomy: clamp(120px, 6.61972rem + 3.75587vw, 10rem);
	--section-spacing-top-spacious: clamp(120px, 6.61972rem + 3.75587vw, 10rem);
	--section-spacing-bottom-spacious: clamp(80px, 4.11972rem + 3.75587vw, 7.5rem);
	--section-spacing-top-default: clamp(56px, 3.32394rem + .751174vw, 4rem);
	--section-spacing-bottom-default: clamp(120px, 6.61972rem + 3.75587vw, 10rem);
	--section-spacing-top-equal: clamp(80px, 4.11972rem + 3.75587vw, 7.5rem);
	--section-spacing-bottom-equal: clamp(80px, 4.11972rem + 3.75587vw, 7.5rem);
	--section-spacing-top-compact: clamp(64px, 3.64789rem + 1.50235vw, 5rem);
	--section-spacing-bottom-compact: clamp(80px, 4.11972rem + 3.75587vw, 7.5rem);
	--container-spacing-md: clamp(10px, .40493rem + .938967vw, 1.25rem);
	--primary-200: #fef7de;
	--primary-200-rgb: 254, 247, 222;
	--on-primary-200: #f15c56;
	--on-primary-200-rgb: 241, 92, 86;
	--on-primary-200-alt: #154e85;
	--on-primary-200-alt-rgb: 21, 78, 133;
	--primary-300: #f89e5d;
	--primary-300-rgb: 248, 158, 93;
	--on-primary-300: #fef7de;
	--on-primary-300-rgb: 254, 247, 222;
	--primary-500: #f15c56;
	--primary-500-rgb: 241, 92, 86;
	--on-primary-500: #fff;
	--on-primary-500-rgb: 255, 255, 255;
	--on-primary-500-alt: #c7eafb;
	--on-primary-500-alt-rgb: 199, 234, 251;
	--primary-700: #b93f3a;
	--primary-700-rgb: 185, 63, 58;
	--on-primary-700: #fff;
	--on-primary-700-rgb: 255, 255, 255;
	--secondary-200: #c7eafb;
	--secondary-200-rgb: 199, 234, 251;
	--on-secondary-200: #154e85;
	--on-secondary-200-rgb: 21, 78, 133;
	--on-secondary-200-alt: #f15c56;
	--on-secondary-200-alt-rgb: 241, 92, 86;
	--secondary-500: #154e85;
	--secondary-500-rgb: 21, 78, 133;
	--on-secondary-500: #c7eafb;
	--on-secondary-500-rgb: 199, 234, 251;
	--secondary-700: #0f3356;
	--secondary-700-rgb: 15, 51, 86;
	--on-secondary-700: #fff;
	--on-secondary-700-rgb: 255, 255, 255;
	--on-secondary-700-alt: #fef7de;
	--on-secondary-700-alt-rgb: 254, 247, 222;
	--neutral-100: #fff;
	--neutral-100-rgb: 255, 255, 255;
	--on-neutral-100: #f15c56;
	--on-neutral-100-rgb: 241, 92, 86;
	--on-neutral-100-alt: #154e85;
	--on-neutral-100-alt-rgb: 21, 78, 133;
	--neutral-900: #000;
	--neutral-900-rgb: 0, 0, 0;
	--on-neutral-900: #fff;
	--on-neutral-900-rgb: 255, 255, 255;
	--error-500: #f15c56;
	--error-500-rgb: 241, 92, 86;
	--on-error-500: #fff;
	--on-error-500-rgb: 255, 255, 255
}

@media (max-width: 700px) {
	:root {
		--grid-columns: 8;
		--grid-gutter: 1.25rem
	}
}

@media (max-width: 425px) {
	:root {
		--grid-columns: 6;
		--grid-gutter: .625rem
	}
}

:root .t-primary-300 {
	--btn-color: var(--primary-200);
	--btn-color-rgb: var(--primary-200-rgb);
	--btn-on-color: var(--on-primary-200);
	--link-color: var(--primary-200);
	--link-on-color: var(--on-primary-200);
	--overline-background-color: var(--secondary-200);
	--overline-color: var(--on-secondary-200-alt)
}

:root .t-secondary-200,
:root .t-secondary-500 {
	--btn-color: var(--secondary-200);
	--btn-color-rgb: var(--secondary-200-rgb);
	--btn-on-color: var(--on-secondary-200);
	--overline-background-color: var(--primary-200);
	--overline-color: var(--on-primary-200)
}

:root .t-secondary-700 {
	--btn-color: var(--primary-200);
	--btn-color-rgb: var(--primary-200-rgb);
	--btn-on-color: var(--on-primary-200-alt);
	--overline-background-color: var(--primary-200);
	--overline-color: var(--on-primary-200)
}

body.is-banner-hidden {
	--banner-height: 0
}

button,
.c-btn {
	color: inherit;
	cursor: pointer;
	vertical-align: middle;
	text-align: center;
	text-transform: none;
	font: inherit;
	-webkit-user-select: none;
	-ms-user-select: none;
	user-select: none;
	background: 0 0;
	border: 0;
	outline: 0;
	margin: 0;
	padding: 0;
	line-height: normal;
	text-decoration: none;
	display: inline-block;
	overflow: visible
}

.s-content ul,
html body.mce-content-body ul {
	margin: max(16px, min(.823944rem + .751174vw, 1.5rem)) 0
}

.s-content ul li,
html body.mce-content-body ul li {
	padding-left: 1.25rem;
	position: relative
}

.s-content ul li:not(:last-child),
html body.mce-content-body ul li:not(:last-child) {
	margin-bottom: .5rem
}

.s-content ul li:before,
html body.mce-content-body ul li:before {
	content: "";
	background-color: var(--primary-500);
	border-radius: 50%;
	width: .5rem;
	height: .5rem;
	position: absolute;
	top: .7em;
	left: 0;
	transform: translateY(-50%)
}

.s-content ul li ul,
html body.mce-content-body ul li ul {
	margin: .5rem 0 0
}

.s-content ol,
html body.mce-content-body ol {
	counter-reset: counter
}

.s-content ol li,
html body.mce-content-body ol li {
	counter-increment: counter;
	padding-left: 1.25rem;
	position: relative
}

.s-content ol li:not(:last-child),
html body.mce-content-body ol li:not(:last-child) {
	margin-bottom: .5rem
}

.s-content ol li:before,
html body.mce-content-body ol li:before {
	content: counter(counter)".";
	color: var(--primary-500);
	border-radius: 50%;
	position: absolute;
	top: 0;
	left: 0
}

::selection {
	background-color: var(--primary-500);
	color: var(--on-primary-500);
	text-shadow: none
}

html {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	min-height: 100%;
	scroll-margin-top: var(--header-height);
	text-wrap: pretty;
	font-size: 18px
}

@media (max-width: 1920px) and (min-width:1441px) {
	html {
		font-size: 17px
	}
}

@media (max-width: 1440px) {
	html {
		font-size: 16px
	}
}

html.is-changing,
html.is-changing * {
	cursor: wait
}

body {
	--current-background-color: var(--primary-200);
	--current-color: var(--on-primary-200);
	background-color: var(--current-background-color);
	color: var(--current-color);
	text-transform: none;
	letter-spacing: 0;
	font-family: Metro Sans, sans-serif;
	font-size: max(16px, min(.977993rem + .0938967vw, 1.0625rem));
	font-weight: 400;
	line-height: 1.5
}

.s-content body,
html body.mce-content-body body {
	margin-top: 1.41176em;
	margin-bottom: 1.41176em
}

main {
	overflow: clip
}

a {
	color: inherit
}

p {
	text-transform: none;
	letter-spacing: 0;
	font-family: Metro Sans, sans-serif;
	font-size: max(16px, min(.977993rem + .0938967vw, 1.0625rem));
	font-weight: 400;
	line-height: 1.5
}

.s-content p,
html body.mce-content-body p {
	margin-top: 1.41176em;
	margin-bottom: 1.41176em
}

h1 {
	text-transform: uppercase;
	letter-spacing: 0;
	font-family: var(--font-base), sans-serif;
	font-size: var(--fs-h1);
	font-weight: 700;
	line-height: 1.1
}

.s-content h1,
html body.mce-content-body h1 {
	margin-top: 0;
	margin-bottom: 0
}

h2 {
	text-transform: uppercase;
	letter-spacing: 0;
	font-family: Metro Sans, sans-serif;
	font-size: max(37px, min(1.71831rem + 2.53521vw, 4rem));
	font-weight: 700;
	line-height: 1.1
}

.s-content h2,
html body.mce-content-body h2 {
	margin-top: 0;
	margin-bottom: 0
}

h3 {
	text-transform: uppercase;
	letter-spacing: 0;
	font-family: Metro Sans, sans-serif;
	font-size: max(32px, min(1.64789rem + 1.50235vw, 3rem));
	font-weight: 700;
	line-height: 1.1
}

.s-content h3,
html body.mce-content-body h3 {
	margin-top: 0;
	margin-bottom: 0
}

h4 {
	text-transform: uppercase;
	letter-spacing: -.01em;
	font-family: futura-pt-condensed, sans-serif;
	font-size: max(22px, min(1.15493rem + .938967vw, 2rem));
	font-weight: 800;
	line-height: 1.2
}

.s-content h4,
html body.mce-content-body h4 {
	margin-top: 0;
	margin-bottom: 0
}

h5 {
	text-transform: uppercase;
	letter-spacing: -.01em;
	font-family: futura-pt-condensed, sans-serif;
	font-size: max(20px, min(1.16197rem + .375587vw, 1.5rem));
	font-weight: 800;
	line-height: 1.15
}

.s-content h5,
html body.mce-content-body h5 {
	margin-top: 0;
	margin-bottom: 0
}

h6 {
	text-transform: none;
	letter-spacing: 0;
	font-family: Metro Sans, sans-serif;
	font-size: max(18px, min(1.03697rem + .375587vw, 1.375rem));
	font-weight: 700;
	line-height: 1.55
}

.s-content h6,
html body.mce-content-body h6 {
	margin-top: 0;
	margin-bottom: 0
}

h1,
h2,
h3,
h4,
h5,
h6 {
	-webkit-hyphens: auto;
	-ms-hyphens: auto;
	hyphens: auto;
	-ms-hyphenate-limit-chars: 10;
	hyphenate-limit-chars: 10
}

.s-content>h1:first-child,
html body.mce-content-body>h1:first-child,
.s-content>h2:first-child,
html body.mce-content-body>h2:first-child,
.s-content>h3:first-child,
html body.mce-content-body>h3:first-child,
.s-content>h4:first-child,
html body.mce-content-body>h4:first-child,
.s-content>h5:first-child,
html body.mce-content-body>h5:first-child,
.s-content>h6:first-child,
html body.mce-content-body>h6:first-child,
.s-content>p:first-child,
html body.mce-content-body>p:first-child,
.s-content>a:first-child,
html body.mce-content-body>a:first-child,
.s-content>blockquote:first-child,
html body.mce-content-body>blockquote:first-child,
.s-content>ul:first-child,
html body.mce-content-body>ul:first-child,
.s-content>ol:first-child,
html body.mce-content-body>ol:first-child {
	margin-top: 0 !important
}

.s-content>h1:last-child,
html body.mce-content-body>h1:last-child,
.s-content>h2:last-child,
html body.mce-content-body>h2:last-child,
.s-content>h3:last-child,
html body.mce-content-body>h3:last-child,
.s-content>h4:last-child,
html body.mce-content-body>h4:last-child,
.s-content>h5:last-child,
html body.mce-content-body>h5:last-child,
.s-content>h6:last-child,
html body.mce-content-body>h6:last-child,
.s-content>p:last-child,
html body.mce-content-body>p:last-child,
.s-content>a:last-child,
html body.mce-content-body>a:last-child,
.s-content>blockquote:last-child,
html body.mce-content-body>blockquote:last-child,
.s-content>ul:last-child,
html body.mce-content-body>ul:last-child,
.s-content>ol:last-child,
html body.mce-content-body>ol:last-child {
	margin-bottom: 0 !important
}

.s-content a:not([class]),
html body.mce-content-body a:not([class]) {
	text-underline-offset: .25em;
	text-decoration: underline
}

.s-content em,
html body.mce-content-body em {
	background-color: var(--secondary-200);
	color: var(--on-secondary-200);
	padding: 0 .3em;
	font-style: normal
}

html body.mce-content-body {
	padding: 40px 80px !important
}

input,
select,
textarea {
	width: 100%;
	color: inherit;
	font: inherit;
	-ms-appearance: none;
	appearance: none;
	background: 0 0;
	border: 0;
	border-radius: 0;
	outline: 0;
	margin: 0;
	padding: 0;
	line-height: normal;
	display: block
}

select {
	text-transform: none
}

select::-ms-expand {
	display: none
}

select::-ms-value {
	color: inherit;
	background: 0 0
}

textarea {
	resize: vertical;
	overflow: auto
}

input[type=search]::-ms-clear {
	width: 0;
	height: 0;
	display: none
}

input[type=search]::-ms-reveal {
	width: 0;
	height: 0;
	display: none
}

input[type=search]::-webkit-search-decoration {
	display: none
}

input[type=search]::-webkit-search-cancel-button {
	display: none
}

input[type=search]::-webkit-search-results-button {
	display: none
}

input[type=search]::-webkit-search-results-decoration {
	display: none
}

html {
	box-sizing: border-box
}

body {
	margin: 0
}

*,
:before,
:after {
	box-sizing: inherit
}

address {
	font-style: inherit
}

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

b,
strong {
	font-weight: 700
}

a {
	text-decoration: none
}

a svg {
	pointer-events: none
}

ul,
ol {
	margin: 0;
	padding: 0;
	list-style: none
}

p,
figure {
	margin: 0;
	padding: 0
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0
}

a,
area,
button,
input,
label,
select,
textarea,
[tabindex] {
	-ms-touch-action: manipulation;
	touch-action: manipulation
}

[hreflang]>abbr[title] {
	text-decoration: none
}

table {
	border-collapse: collapse;
	border-spacing: 0
}

hr {
	border: 0;
	border-top: 1px solid #ccc;
	height: 1px;
	margin: 1em 0;
	padding: 0;
	display: block
}

.grecaptcha-badge {
	visibility: hidden
}

audio,
canvas,
iframe,
img,
svg,
video {
	vertical-align: middle
}

audio:not([controls]) {
	height: 0;
	display: none
}

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

img[width],
img[height],
svg[width],
svg[height] {
	max-width: none
}

img {
	font-style: italic
}


/* ---------------------------------------------------
   KIMUFEST: Estilos Globales de Formularios
   --------------------------------------------------- */
.cosmic-pulse-btn {
    position: relative;
    transition: all 0.3s ease;
}

.cosmic-pulse-btn.is-loading {
    pointer-events: none;
    opacity: 0.8;
}

.cosmic-pulse-btn.is-loading .btn-submit__text,
.cosmic-pulse-btn.is-loading .arrow-icon {
    visibility: hidden;
    opacity: 0;
}

.cosmic-pulse-btn .btn-spinner {
    display: none;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 20px;
    height: 20px;
    border: 2px solid rgba(255,255,255,0.3);
    border-radius: 50%;
    border-top-color: #fff;
    animation: kimufest-spin 0.8s linear infinite;
}

.cosmic-pulse-btn.is-loading .btn-spinner {
    display: block;
}

@keyframes kimufest-spin {
    to { transform: translate(-50%, -50%) rotate(360deg); }
}

.form-success-message {
    text-align: center;
    padding: 2rem;
    animation: fadeUp 0.5s ease forwards;
}

@keyframes fadeUp {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}