/*
 * IC Tema: estilos base.
 *
 * Reproduce lo que The7 aplicaba al sitio (relevado regla por regla en dev.ic.edu.uy, oct-2026):
 * variables de estilo, reseteo, tipografía, estructura de la página, botones y formularios de Elementor.
 * Los nombres de variables (--the7-*) se conservan porque los usan el CSS que genera Elementor
 * para cada página y la configuración global (kit) del sitio.
 */

/* ------------------------------------------------------------------
 * 1. Variables
 * Se definen en body (donde Elementor define sus colores y tipografías globales).
 * Si la configuración global de Elementor todavía las trae (#the7-body), ganan esas.
 * ------------------------------------------------------------------ */
body {
	/* Colores (configuración global de Elementor). */
	--the7-accent-color: var(--e-global-color-el_color_1, #193C69);
	--the7-divider-color: var(--e-global-color-el_color_7_4, rgba(0, 0, 0, .13));
	--the7-content-boxes-bg: var(--e-global-color-el_color_7_6, rgba(0, 0, 0, .04));
	--the7-base-color: var(--e-global-color-el_color_7_1, #7a7a7a);
	--the7-secondary-text-color: var(--e-global-color-el_color_7_2, #b2aeae);
	--the7-title-color: var(--e-global-color-el_color_7, #333333);
	--the7-links-color: var(--e-global-color-el_color_1, #193C69);
	--the7-links-hover-color: var(--e-global-color-el_color_1, #193C69);
	--the7-submenu-color: #666666;
	--the7-general-border-radius: 0px;
	--the7-elementor-beautiful-loading-bg: var(--e-global-color-el_color_0, #ffffff);
	--the7-beautiful-spinner-color: var(--e-global-color-el_color_1_4, #193C69);

	/* Texto base. */
	--the7-base-font-family: var(--e-global-typography-el_content_1-font-family, "Open Sans"), Sans-serif;
	--the7-base-font-size: var(--e-global-typography-el_content_1-font-size, 16px);
	--the7-base-line-height: var(--e-global-typography-el_content_1-line-height, 1.6em);
	--the7-base-text-transform: var(--e-global-typography-el_content_1-text-transform, none);
	--the7-text-big-font-size: var(--e-global-typography-el_content_1-font-size, 16px);
	--the7-text-big-line-height: var(--e-global-typography-el_content_1-line-height, 1.6em);
	--the7-text-small-font-size: var(--e-global-typography-el_content_1-font-size, 16px);
	--the7-text-small-line-height: var(--e-global-typography-el_content_1-line-height, 1.6em);
	--the7-base-font: var(--the7-base-font-style, normal) normal var(--the7-base-font-weight, normal) var(--the7-base-font-size) / var(--the7-base-line-height) var(--the7-base-font-family);
	--the7-base-font-big: var(--the7-base-font-style, normal) normal var(--the7-base-font-weight, normal) var(--the7-text-big-font-size) / var(--the7-text-big-line-height) var(--the7-base-font-family);

	/* Títulos h1-h6 (tipografías globales "el_title_N"). */
	--the7-h1-font-family: var(--e-global-typography-el_title_1-font-family, "Assistant"), Sans-serif;
	--the7-h1-font-size: var(--e-global-typography-el_title_1-font-size, 52px);
	--the7-h1-font-weight: var(--e-global-typography-el_title_1-font-weight, 500);
	--the7-h1-line-height: var(--e-global-typography-el_title_1-line-height, 1.1em);
	--the7-h1-text-transform: var(--e-global-typography-el_title_1-text-transform, none);
	--the7-h2-font-family: var(--e-global-typography-el_title_2-font-family, "Assistant"), Sans-serif;
	--the7-h2-font-size: var(--e-global-typography-el_title_2-font-size, 38px);
	--the7-h2-font-weight: var(--e-global-typography-el_title_2-font-weight, 500);
	--the7-h2-line-height: var(--e-global-typography-el_title_2-line-height, 1.1em);
	--the7-h2-text-transform: var(--e-global-typography-el_title_2-text-transform, none);
	--the7-h3-font-family: var(--e-global-typography-el_title_3-font-family, "Assistant"), Sans-serif;
	--the7-h3-font-size: var(--e-global-typography-el_title_3-font-size, 26px);
	--the7-h3-font-weight: var(--e-global-typography-el_title_3-font-weight, 500);
	--the7-h3-line-height: var(--e-global-typography-el_title_3-line-height, 1.2em);
	--the7-h3-text-transform: var(--e-global-typography-el_title_3-text-transform, none);
	--the7-h4-font-family: var(--e-global-typography-el_title_4-font-family, "Assistant"), Sans-serif;
	--the7-h4-font-size: var(--e-global-typography-el_title_4-font-size, 21px);
	--the7-h4-font-weight: var(--e-global-typography-el_title_4-font-weight, 500);
	--the7-h4-line-height: var(--e-global-typography-el_title_4-line-height, 1.2em);
	--the7-h4-text-transform: var(--e-global-typography-el_title_4-text-transform, none);
	--the7-h5-font-family: var(--e-global-typography-el_title_5-font-family, "Assistant"), Sans-serif;
	--the7-h5-font-size: var(--e-global-typography-el_title_5-font-size, 18px);
	--the7-h5-font-weight: var(--e-global-typography-el_title_5-font-weight, 500);
	--the7-h5-line-height: var(--e-global-typography-el_title_5-line-height, 1.3em);
	--the7-h5-text-transform: var(--e-global-typography-el_title_5-text-transform, none);
	--the7-h6-font-family: var(--e-global-typography-el_title_6-font-family, "Assistant"), Sans-serif;
	--the7-h6-font-size: var(--e-global-typography-el_title_6-font-size, 16px);
	--the7-h6-font-weight: var(--e-global-typography-el_title_6-font-weight, 500);
	--the7-h6-line-height: var(--e-global-typography-el_title_6-line-height, 1.3em);
	--the7-h6-text-transform: var(--e-global-typography-el_title_6-text-transform, none);
	--the7-h1-color: var(--the7-title-color);
	--the7-h2-color: var(--the7-title-color);
	--the7-h3-color: var(--the7-title-color);
	--the7-h4-color: var(--the7-title-color);
	--the7-h5-color: var(--the7-title-color);
	--the7-h6-color: var(--the7-title-color);
	--the7-h1-font: var(--the7-h1-font-style, normal) normal var(--the7-h1-font-weight, normal) var(--the7-h1-font-size) / var(--the7-h1-line-height) var(--the7-h1-font-family);
	--the7-h2-font: var(--the7-h2-font-style, normal) normal var(--the7-h2-font-weight, normal) var(--the7-h2-font-size) / var(--the7-h2-line-height) var(--the7-h2-font-family);
	--the7-h3-font: var(--the7-h3-font-style, normal) normal var(--the7-h3-font-weight, normal) var(--the7-h3-font-size) / var(--the7-h3-line-height) var(--the7-h3-font-family);
	--the7-h4-font: var(--the7-h4-font-style, normal) normal var(--the7-h4-font-weight, normal) var(--the7-h4-font-size) / var(--the7-h4-line-height) var(--the7-h4-font-family);
	--the7-h5-font: var(--the7-h5-font-style, normal) normal var(--the7-h5-font-weight, normal) var(--the7-h5-font-size) / var(--the7-h5-line-height) var(--the7-h5-font-family);
	--the7-h6-font: var(--the7-h6-font-style, normal) normal var(--the7-h6-font-weight, normal) var(--the7-h6-font-size) / var(--the7-h6-line-height) var(--the7-h6-font-family);
	--the7-widget-title-font-family: var(--e-global-typography-el_title_5-font-family, "Assistant"), Sans-serif;
	--the7-widget-title-font-size: var(--e-global-typography-el_title_5-font-size, 18px);
	--the7-widget-title-line-height: var(--e-global-typography-el_title_5-line-height, 1.3em);
	--the7-widget-content-font-family: var(--e-global-typography-el_content_2-font-family, "Open Sans"), Sans-serif;
	--the7-widget-content-font-size: var(--e-global-typography-el_content_2-font-size, 15px);
	--the7-widget-content-line-height: var(--e-global-typography-el_content_2-line-height, 1.5em);

	/* Botones (tamaños s/m/l/lg/xl = xs/sm/md/lg/xl de Elementor). */
	--the7-btn-bg: var(--e-global-color-el_color_1, #193C69);
	--the7-btn-hover-bg: var(--e-global-color-el_color_1_2, #193C69);
	--the7-btn-color: var(--e-global-color-el_color_0, #ffffff);
	--the7-btn-hover-color: var(--e-global-color-el_color_0, #ffffff);
	--the7-btn-border-color: var(--e-global-color-el_color_1, #193C69);
	--the7-btn-border-hover-color: var(--e-global-color-el_color_1_2, #193C69);
	--the7-btn-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0);
	--the7-btn-shadow-hover: 0px 0px 10px 0px rgba(0, 0, 0, 0);
	--the7-btn-s-font-family: "Assistant", Sans-serif;
	--the7-btn-s-font-size: 12px;
	--the7-btn-s-font-weight: 500;
	--the7-btn-s-line-height: 1;
	--the7-btn-s-padding: 5px 12px 5px 12px;
	--the7-btn-s-min-height: 26px;
	--the7-btn-s-min-width: 1px;
	--the7-btn-s-border-radius: 3px 3px 3px 3px;
	--the7-btn-s-border-width: 0px;
	--the7-btn-s-border-style: solid;
	--the7-btn-s-letter-spacing: 0px;
	--the7-btn-s-text-transform: none;
	--the7-btn-s-icon-gap: 6px;
	--the7-btn-m-font-family: "Assistant", Sans-serif;
	--the7-btn-m-font-size: 14px;
	--the7-btn-m-font-weight: 500;
	--the7-btn-m-line-height: 1;
	--the7-btn-m-padding: 5px 13px 5px 13px;
	--the7-btn-m-min-height: 32px;
	--the7-btn-m-min-width: 1px;
	--the7-btn-m-border-radius: 3px 3px 3px 3px;
	--the7-btn-m-border-width: 0px;
	--the7-btn-m-border-style: solid;
	--the7-btn-m-letter-spacing: 0px;
	--the7-btn-m-text-transform: none;
	--the7-btn-m-icon-gap: 8px;
	--the7-btn-l-font-family: "Assistant", Sans-serif;
	--the7-btn-l-font-size: 16px;
	--the7-btn-l-font-weight: 500;
	--the7-btn-l-line-height: 1;
	--the7-btn-l-padding: 5px 16px 5px 16px;
	--the7-btn-l-min-height: 40px;
	--the7-btn-l-min-width: 1px;
	--the7-btn-l-border-radius: 3px 3px 3px 3px;
	--the7-btn-l-border-width: 0px;
	--the7-btn-l-border-style: solid;
	--the7-btn-l-letter-spacing: 0px;
	--the7-btn-l-text-transform: none;
	--the7-btn-l-icon-gap: 10px;
	--the7-btn-lg-font-family: "Assistant", Sans-serif;
	--the7-btn-lg-font-size: 18px;
	--the7-btn-lg-font-weight: 500;
	--the7-btn-lg-line-height: 1;
	--the7-btn-lg-padding: 5px 22px 5px 22px;
	--the7-btn-lg-min-height: 54px;
	--the7-btn-lg-min-width: 1px;
	--the7-btn-lg-border-radius: 3px 3px 3px 3px;
	--the7-btn-lg-border-width: 0px;
	--the7-btn-lg-border-style: solid;
	--the7-btn-lg-letter-spacing: 0px;
	--the7-btn-lg-text-transform: none;
	--the7-btn-lg-icon-gap: 12px;
	--the7-btn-xl-font-family: "Assistant", Sans-serif;
	--the7-btn-xl-font-size: 20px;
	--the7-btn-xl-font-weight: 500;
	--the7-btn-xl-line-height: 1;
	--the7-btn-xl-padding: 10px 28px 10px 28px;
	--the7-btn-xl-min-height: 64px;
	--the7-btn-xl-min-width: 1px;
	--the7-btn-xl-border-radius: 3px 3px 3px 3px;
	--the7-btn-xl-border-width: 0px;
	--the7-btn-xl-border-style: solid;
	--the7-btn-xl-letter-spacing: 0px;
	--the7-btn-xl-text-transform: none;
	--the7-btn-xl-icon-gap: 14px;
	--the7-btn-s-icon-size: 12px;
	--the7-btn-m-icon-size: 14px;
	--the7-btn-l-icon-size: 16px;
	--the7-btn-lg-icon-size: 18px;
	--the7-btn-xl-icon-size: 20px;
	--the7-btn-s-font: var(--the7-btn-s-font-style, normal) normal var(--the7-btn-s-font-weight, normal) var(--the7-btn-s-font-size) / var(--the7-btn-s-line-height) var(--the7-btn-s-font-family);
	--the7-btn-m-font: var(--the7-btn-m-font-style, normal) normal var(--the7-btn-m-font-weight, normal) var(--the7-btn-m-font-size) / var(--the7-btn-m-line-height) var(--the7-btn-m-font-family);
	--the7-btn-l-font: var(--the7-btn-l-font-style, normal) normal var(--the7-btn-l-font-weight, normal) var(--the7-btn-l-font-size) / var(--the7-btn-l-line-height) var(--the7-btn-l-font-family);
	--the7-btn-lg-font: var(--the7-btn-lg-font-style, normal) normal var(--the7-btn-lg-font-weight, normal) var(--the7-btn-lg-font-size) / var(--the7-btn-lg-line-height) var(--the7-btn-lg-font-family);
	--the7-btn-xl-font: var(--the7-btn-xl-font-style, normal) normal var(--the7-btn-xl-font-weight, normal) var(--the7-btn-xl-font-size) / var(--the7-btn-xl-line-height) var(--the7-btn-xl-font-family);

	/* Formularios. */
	--the7-input-color: var(--e-global-color-el_color_7, #333333);
	--the7-input-bg-color: #ffffff;
	--the7-input-border-color: rgba(0, 0, 0, .12);
	--the7-input-height: 40px;
	--the7-input-border-radius: 3px 3px 3px 3px;
	--the7-top-input-padding: 6px;
	--the7-right-input-padding: 12px;
	--the7-bottom-input-padding: 6px;
	--the7-left-input-padding: 12px;
	--the7-top-input-border-width: 1px;
	--the7-right-input-border-width: 1px;
	--the7-bottom-input-border-width: 1px;
	--the7-left-input-border-width: 1px;
	--the7-form-border: solid;
	--the7-form-shadow: 0px 0px 6px 0px rgba(0, 0, 0, .08) inset;
	--the7-form-shadow-focus: 0px 0px 10px 0px rgba(0, 0, 0, .14) inset;
	--the7-form-md-font-family: var(--e-global-typography-el_content_2-font-family, "Open Sans"), Sans-serif;
	--the7-form-md-text-transform: var(--e-global-typography-el_content_2-text-transform, none);
	--the7-form-md-font-style: var(--the7-base-font-style, normal);
	--the7-form-md-font-weight: var(--the7-base-font-weight, normal);
	--the7-form-md-font-size: var(--the7-base-font-size);
	--the7-form-md-line-height: var(--the7-base-line-height);
	--the7-form-md-font: var(--the7-form-md-font-style) normal var(--the7-form-md-font-weight) var(--the7-form-md-font-size) / var(--the7-form-md-line-height) var(--the7-form-md-font-family);
}

/* ------------------------------------------------------------------
 * 2. Reseteo y base
 * ------------------------------------------------------------------ */
article, aside, details, figcaption, figure, footer, header, main, nav, section, summary {
	display: block;
}

* {
	padding: 0;
	margin: 0;
}

html {
	font-size: 100%;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}

body {
	overflow-x: hidden;
	background: #ffffff;
}

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

a:focus-visible {
	outline: auto;
}

b, strong {
	font-weight: 700;
}

ul, ol {
	list-style: none;
}

img {
	border: 0;
}

svg:not(:root) {
	overflow: hidden;
}

form, figure {
	margin: 0;
}

button, input, select, textarea {
	font-size: 100%;
	margin: 0;
	vertical-align: baseline;
	line-height: normal;
}

button {
	cursor: pointer;
	-webkit-appearance: button;
	appearance: button;
}

input[type="checkbox"], input[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

iframe {
	max-width: 100%;
}

.post img,
img[class*="align"],
img[class*="wp-image-"],
img[class*="attachment-"] {
	max-width: 100%;
	height: auto;
}

.aligncenter {
	display: block;
	margin: 0 auto 10px;
}

.alignleft {
	float: left;
	margin: 0 20px 10px 0;
}

.alignright {
	float: right;
	margin: 0 0 10px 20px;
}

.screen-reader-text,
.assistive-text {
	clip: rect(1px, 1px, 1px, 1px);
	height: 1px;
	overflow: hidden;
	width: 1px;
	position: absolute !important;
}

#page .skip-link {
	background-color: #f1f1f1;
	box-shadow: 0 0 1px 1px rgba(0, 0, 0, .2);
	color: #21759b;
	display: block;
	font-size: 14px;
	font-weight: 700;
	left: -9999em;
	outline: 0;
	padding: 15px 23px 14px;
	text-decoration: none;
	text-transform: none;
	top: -9999em;
}

#page .skip-link:focus {
	left: 30px;
	top: 15px;
	height: auto;
	width: auto;
	z-index: 9;
	clip: unset !important;
}

.menu-text {
	display: block;
}

/* ------------------------------------------------------------------
 * 3. Tipografía
 * ------------------------------------------------------------------ */
html,
body,
body.page,
.wf-container > * {
	font: var(--the7-base-font-big);
	letter-spacing: var(--the7-base-letter-spacing);
	text-transform: var(--the7-base-text-transform);
	text-decoration: var(--the7-base-text-decoration);
	word-spacing: normal;
	color: var(--the7-base-color);
}

p {
	margin-bottom: 10px;
}

h1, h2, h3, h4, h5, h6 {
	margin-bottom: 10px;
	clear: both;
}

.content h1, .content h2, .content h3, .content h4, .content h5, .content h6 {
	clear: none;
}

h1, h2, h3, h4, h5, h6,
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a,
h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover {
	color: var(--the7-title-color);
}

h1 { color: var(--the7-h1-color); font: var(--the7-h1-font); text-transform: var(--the7-h1-text-transform); letter-spacing: var(--the7-h1-letter-spacing); word-spacing: var(--the7-h1-word-spacing); text-decoration: var(--the7-h1-text-decoration); }
h2 { color: var(--the7-h2-color); font: var(--the7-h2-font); text-transform: var(--the7-h2-text-transform); letter-spacing: var(--the7-h2-letter-spacing); word-spacing: var(--the7-h2-word-spacing); text-decoration: var(--the7-h2-text-decoration); }
h3 { color: var(--the7-h3-color); font: var(--the7-h3-font); text-transform: var(--the7-h3-text-transform); letter-spacing: var(--the7-h3-letter-spacing); word-spacing: var(--the7-h3-word-spacing); text-decoration: var(--the7-h3-text-decoration); }
h4 { color: var(--the7-h4-color); font: var(--the7-h4-font); text-transform: var(--the7-h4-text-transform); letter-spacing: var(--the7-h4-letter-spacing); word-spacing: var(--the7-h4-word-spacing); text-decoration: var(--the7-h4-text-decoration); }
h5 { color: var(--the7-h5-color); font: var(--the7-h5-font); text-transform: var(--the7-h5-text-transform); letter-spacing: var(--the7-h5-letter-spacing); word-spacing: var(--the7-h5-word-spacing); text-decoration: var(--the7-h5-text-decoration); }
h6 { color: var(--the7-h6-color); font: var(--the7-h6-font); text-transform: var(--the7-h6-text-transform); letter-spacing: var(--the7-h6-letter-spacing); word-spacing: var(--the7-h6-word-spacing); text-decoration: var(--the7-h6-text-decoration); }

a {
	text-decoration: underline;
}

a,
a:hover {
	color: var(--the7-links-color);
}

a:hover {
	color: var(--the7-links-hover-color, var(--the7-links-color));
	text-decoration: none;
}

h3 a, h4 a {
	text-decoration: none;
}

.content ul {
	margin: 0 0 10px 20px;
	list-style: disc;
}

.content ol {
	margin: 0 0 10px 20px;
	list-style-type: decimal;
}

.content ul.horizontal-sub-nav {
	margin: 0;
}

/* Párrafos y listas en textos de Elementor (lo traía la configuración global de The7). */
.elementor-widget-text-editor p,
.elementor-tab-content p,
.elementor-widget-theme-post-content > .elementor-widget-container > p,
#the7-body .elementor-widget-text-editor ul,
#the7-body .elementor-tab-content ul,
#the7-body .elementor-widget-theme-post-content > .elementor-widget-container > ul,
#the7-body .elementor-widget-text-editor ol,
#the7-body .elementor-tab-content ol,
#the7-body .elementor-widget-theme-post-content > .elementor-widget-container > ol {
	margin-bottom: 20px;
}

.elementor-widget-text-editor p:last-child,
.elementor-widget-text-editor ul:last-child,
.elementor-tab-content p:last-child,
.elementor-tab-content ul:last-child {
	margin-bottom: 0 !important;
}

.text-small {
	font-size: var(--the7-text-small-font-size);
	line-height: var(--the7-text-small-line-height);
}

/* ------------------------------------------------------------------
 * 4. Estructura de la página (marcado heredado de The7)
 * ------------------------------------------------------------------ */
#page {
	position: relative;
	overflow: hidden;
	background: rgba(255, 255, 255, 0);
	display: grid;
	grid-template-rows: auto;
	grid-template-columns: 100%;
	grid-template-areas: "header" "slider" "title" "fancyheader" "elementor-header" "checkout" "main" "footer";
}

#main {
	grid-area: main;
	padding: 0;
}

.footer {
	grid-area: footer;
}

.main-gradient {
	display: none;
}

.content,
.wf-wrap,
.wf-cell {
	box-sizing: border-box;
}

.wf-wrap {
	max-width: 100%;
	padding: 0 44px;
	margin: 0 auto;
}

#main .wf-wrap,
#main > .wf-wrap,
#footer > .wf-wrap,
#footer .wf-wrap {
	padding: 0;
}

#main > .wf-wrap,
#footer > .wf-wrap {
	width: 1200px;
}

@media screen and (min-width: 992px) {
	#main > .wf-wrap {
		position: relative;
	}
}

.wf-container {
	font-size: 0;
	line-height: 0;
	word-spacing: -4px;
	margin: 0;
	padding: 0;
}

.wf-container::before,
.wf-container::after {
	content: "";
	display: table;
}

.wf-container::after {
	clear: both;
}

.wf-cell {
	display: inline-block;
	vertical-align: top;
	padding: 0;
}

.sidebar-none .content {
	width: 100%;
}

body.elementor-clear-template #main > .wf-wrap,
#footer.elementor-footer > .wf-wrap {
	width: auto;
	padding: 0;
}

body.elementor-clear-template #main,
#footer.elementor-footer > .wf-wrap,
#footer.elementor-footer > .wf-wrap > .wf-container-footer,
#footer.elementor-footer > .wf-wrap > .wf-container-footer > .wf-container {
	padding: 0;
	margin: 0;
}

.footer {
	padding: 0;
}

#footer.solid-bg {
	background: #ffffff;
}

#footer .wf-container-footer {
	padding-top: 0;
	padding-bottom: 0;
	border-top: none;
}

.single .content > .post {
	margin-bottom: 50px;
}

.single .content > .post:last-child {
	margin-bottom: 0;
}

.post {
	position: relative;
}

.post::before,
.post::after {
	content: "";
	display: table;
	clear: both;
}

/* Respaldo (index.php), cuando no aplica ninguna plantilla de Elementor. */
.ic-respaldo {
	max-width: 1200px;
	margin: 0 auto;
	padding: 60px 20px;
	box-sizing: border-box;
}

.ic-lista-entradas {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 40px;
	margin: 30px 0;
}

.ic-lista-imagen img {
	width: 100%;
	height: auto;
	display: block;
	margin-bottom: 15px;
}

/* ------------------------------------------------------------------
 * 5. Elementor: utilidades, botones y formularios
 * ------------------------------------------------------------------ */
.d-flex { display: flex; }
.flex-row { flex-direction: row; }
.justify-content-start { justify-content: flex-start; }
.justify-content-center { justify-content: center; }
.justify-content-end { justify-content: flex-end; }
.justify-content-between { justify-content: space-between; }
.justify-content-around { justify-content: space-around; }
.justify-content-evenly { justify-content: space-evenly; }

.elementor-button,
.elementor-headline,
.elementor-tab-title a {
	text-decoration: none;
}

.elementor-button-content-wrapper {
	align-items: center;
}

.elementor-button-wrapper {
	line-height: 0;
}

.elementor-button .elementor-button-content-wrapper *,
.elementor-button span,
button.elementor-button *,
button.elementor-button:hover * {
	color: inherit;
}

.elementor-widget .elementor-button {
	box-shadow: var(--the7-btn-shadow);
}

.elementor-widget .elementor-button:hover {
	box-shadow: var(--the7-btn-shadow-hover);
}

.elementor-widget-button .elementor-button,
.elementor-widget-form .elementor-button {
	background: var(--the7-btn-bg, #999999);
}

.elementor-widget-button .elementor-button:hover,
.elementor-widget-form .elementor-button:hover {
	background: var(--the7-btn-hover-bg, #666666);
}

.elementor-button.elementor-size-xs { font-size: 13px; padding: 10px 20px; border-radius: 2px; }
.elementor-button.elementor-size-sm { font-size: 15px; padding: 12px 24px; border-radius: 3px; }
.elementor-button.elementor-size-md { font-size: 16px; padding: 15px 30px; border-radius: 4px; }
.elementor-button.elementor-size-lg { font-size: 18px; padding: 20px 40px; border-radius: 5px; }
.elementor-button.elementor-size-xl { font-size: 20px; padding: 25px 50px; border-radius: 6px; }

.elementor-element .elementor-button.elementor-size-xs,
body .elementor-form .elementor-button.elementor-size-xs {
	font: var(--the7-btn-s-font);
	text-transform: var(--the7-btn-s-text-transform);
	letter-spacing: var(--the7-btn-s-letter-spacing);
	word-spacing: var(--the7-btn-s-word-spacing);
	border-radius: var(--the7-btn-s-border-radius);
	border-width: var(--the7-btn-s-border-width);
	border-style: var(--the7-btn-s-border-style);
	border-color: var(--the7-btn-border-color);
	padding: var(--the7-btn-s-padding);
	min-width: var(--the7-btn-s-min-width);
	min-height: var(--the7-btn-s-min-height);
	--btn-icon-spacing: var(--the7-btn-s-icon-gap, 7px);
}

.elementor-element .elementor-button.elementor-size-sm,
body .elementor-form .elementor-button.elementor-size-sm {
	font: var(--the7-btn-m-font);
	text-transform: var(--the7-btn-m-text-transform);
	letter-spacing: var(--the7-btn-m-letter-spacing);
	word-spacing: var(--the7-btn-m-word-spacing);
	border-radius: var(--the7-btn-m-border-radius);
	border-width: var(--the7-btn-m-border-width);
	border-style: var(--the7-btn-m-border-style);
	border-color: var(--the7-btn-border-color);
	padding: var(--the7-btn-m-padding);
	min-width: var(--the7-btn-m-min-width);
	min-height: var(--the7-btn-m-min-height);
	--btn-icon-spacing: var(--the7-btn-m-icon-gap, 7px);
}

.elementor-element .elementor-button.elementor-size-md,
body .elementor-form .elementor-button.elementor-size-md {
	font: var(--the7-btn-l-font);
	text-transform: var(--the7-btn-l-text-transform);
	letter-spacing: var(--the7-btn-l-letter-spacing);
	word-spacing: var(--the7-btn-l-word-spacing);
	border-radius: var(--the7-btn-l-border-radius);
	border-width: var(--the7-btn-l-border-width);
	border-style: var(--the7-btn-l-border-style);
	border-color: var(--the7-btn-border-color);
	padding: var(--the7-btn-l-padding);
	min-width: var(--the7-btn-l-min-width);
	min-height: var(--the7-btn-l-min-height);
	--btn-icon-spacing: var(--the7-btn-l-icon-gap, 7px);
}

.elementor-element .elementor-button.elementor-size-lg,
body .elementor-form .elementor-button.elementor-size-lg {
	font: var(--the7-btn-lg-font);
	text-transform: var(--the7-btn-lg-text-transform);
	letter-spacing: var(--the7-btn-lg-letter-spacing);
	word-spacing: var(--the7-btn-lg-word-spacing);
	border-radius: var(--the7-btn-lg-border-radius);
	border-width: var(--the7-btn-lg-border-width);
	border-style: var(--the7-btn-lg-border-style);
	border-color: var(--the7-btn-border-color);
	padding: var(--the7-btn-lg-padding);
	min-width: var(--the7-btn-lg-min-width);
	min-height: var(--the7-btn-lg-min-height);
	--btn-icon-spacing: var(--the7-btn-lg-icon-gap, 7px);
}

.elementor-element .elementor-button.elementor-size-xl,
body .elementor-form .elementor-button.elementor-size-xl {
	font: var(--the7-btn-xl-font);
	text-transform: var(--the7-btn-xl-text-transform);
	letter-spacing: var(--the7-btn-xl-letter-spacing);
	word-spacing: var(--the7-btn-xl-word-spacing);
	border-radius: var(--the7-btn-xl-border-radius);
	border-width: var(--the7-btn-xl-border-width);
	border-style: var(--the7-btn-xl-border-style);
	border-color: var(--the7-btn-border-color);
	padding: var(--the7-btn-xl-padding);
	min-width: var(--the7-btn-xl-min-width);
	min-height: var(--the7-btn-xl-min-height);
	--btn-icon-spacing: var(--the7-btn-xl-icon-gap, 7px);
}

.elementor-button svg {
	height: auto;
	transition: all .3s ease;
}

.elementor-element .elementor-button.elementor-size-xs svg, body .elementor-form .elementor-button.elementor-size-xs svg { width: var(--the7-btn-s-icon-size); }
.elementor-element .elementor-button.elementor-size-sm svg, body .elementor-form .elementor-button.elementor-size-sm svg { width: var(--the7-btn-m-icon-size); }
.elementor-element .elementor-button.elementor-size-md svg, body .elementor-form .elementor-button.elementor-size-md svg { width: var(--the7-btn-l-icon-size); }
.elementor-element .elementor-button.elementor-size-lg svg, body .elementor-form .elementor-button.elementor-size-lg svg { width: var(--the7-btn-lg-icon-size); }
.elementor-element .elementor-button.elementor-size-xl svg, body .elementor-form .elementor-button.elementor-size-xl svg { width: var(--the7-btn-xl-icon-size); }

.elementor-element .elementor-button.elementor-size-xs .elementor-button-icon, body .elementor-form .elementor-button.elementor-size-xs .elementor-button-icon { font-size: var(--the7-btn-s-icon-size); }
.elementor-element .elementor-button.elementor-size-sm .elementor-button-icon, body .elementor-form .elementor-button.elementor-size-sm .elementor-button-icon { font-size: var(--the7-btn-m-icon-size); }
.elementor-element .elementor-button.elementor-size-md .elementor-button-icon, body .elementor-form .elementor-button.elementor-size-md .elementor-button-icon { font-size: var(--the7-btn-l-icon-size); }
.elementor-element .elementor-button.elementor-size-lg .elementor-button-icon, body .elementor-form .elementor-button.elementor-size-lg .elementor-button-icon { font-size: var(--the7-btn-lg-icon-size); }
.elementor-element .elementor-button.elementor-size-xl .elementor-button-icon, body .elementor-form .elementor-button.elementor-size-xl .elementor-button-icon { font-size: var(--the7-btn-xl-icon-size); }

.elementor-element .elementor-button .elementor-align-icon-left,
body .elementor-form .elementor-button .elementor-align-icon-left {
	margin-right: var(--btn-icon-spacing);
}

.elementor-element .elementor-button .elementor-align-icon-right,
body .elementor-form .elementor-button .elementor-align-icon-right {
	margin-left: var(--btn-icon-spacing);
}

.elementor-form .elementor-button.elementor-size-xs { min-height: 33px; }
.elementor-form .elementor-button.elementor-size-sm { min-height: 40px; }
.elementor-form .elementor-button.elementor-size-md { min-height: 47px; }
.elementor-form .elementor-button.elementor-size-lg { min-height: 59px; }
.elementor-form .elementor-button.elementor-size-xl { min-height: 72px; }

.elementor-background-overlay {
	transform: translate3d(0, 0, 0);
}

.elementor-widget article.visible {
	animation: none;
}

/* Campos de formulario. */
input[type="text"], input[type="tel"], input[type="email"], input[type="url"], input[type="number"],
input[type="search"], input[type="password"], input[type="date"] {
	-webkit-appearance: none;
	appearance: none;
	outline: 0;
	min-height: var(--the7-input-height);
	font: var(--the7-form-md-font);
	letter-spacing: var(--the7-form-md-letter-spacing);
	text-transform: var(--the7-form-md-text-transform);
	text-decoration: var(--the7-base-text-decoration);
}

input[type="text"], input[type="tel"], input[type="email"], input[type="url"], input[type="number"],
input[type="search"], input[type="password"], input[type="date"], textarea, select,
.elementor-field-group .elementor-field-textual {
	color: var(--the7-input-color);
	font: var(--the7-form-md-font);
	border-style: var(--the7-form-border);
	border-top-width: var(--the7-top-input-border-width);
	border-right-width: var(--the7-right-input-border-width);
	border-bottom-width: var(--the7-bottom-input-border-width);
	border-left-width: var(--the7-left-input-border-width);
	padding: var(--the7-top-input-padding) var(--the7-right-input-padding) var(--the7-bottom-input-padding) var(--the7-left-input-padding);
	border-color: var(--the7-input-border-color);
	background-color: var(--the7-input-bg-color);
	border-radius: var(--the7-input-border-radius);
	box-shadow: var(--the7-form-shadow);
	transition: all .3s ease;
}

input[type="text"]:focus, input[type="tel"]:focus, input[type="email"]:focus, input[type="url"]:focus,
input[type="number"]:focus, input[type="search"]:focus, input[type="password"]:focus, input[type="date"]:focus,
textarea:focus, select:focus,
.elementor-field-group .elementor-field-textual:focus {
	box-shadow: var(--the7-form-shadow-focus);
}

.content input[type="text"], .content input[type="tel"], .content input[type="email"],
.content .elementor-field-group .elementor-field-textual {
	font-size: var(--the7-form-md-font-size);
	line-height: var(--the7-form-md-line-height);
}

input::placeholder,
textarea::placeholder {
	color: var(--the7-input-color);
	opacity: var(--the7-form-placeholder-opacity, .5);
}

input:focus::placeholder,
textarea:focus::placeholder {
	opacity: var(--the7-form-placeholder-opacity-focus, .15);
}

input:-webkit-autofill {
	transition: background-color 99999s ease-in-out;
}

input.elementor-field {
	height: auto;
	padding: 5px 14px;
	border-radius: 3px;
}

.elementor-field-type-upload input.elementor-field {
	padding: 0;
	color: var(--the7-input-color);
	font: var(--the7-form-md-font);
}

.elementor-field-textual {
	line-height: 1.4;
	font-size: 15px;
	min-height: 40px;
	padding: 5px 14px;
	border-radius: 3px;
}

.content .elementor-field-textual.elementor-size-md,
.elementor-field-textual.elementor-size-md {
	font-size: 16px;
	line-height: 1.4;
	min-height: 47px;
	padding: 6px 16px;
}

/* ------------------------------------------------------------------
 * 6. Pantalla de carga y botón "volver arriba"
 * ------------------------------------------------------------------ */
body #load {
	display: block;
	height: 100%;
	overflow: hidden;
	position: fixed;
	width: 100%;
	z-index: 9901;
	opacity: 1;
	visibility: visible;
	transition: all .35s ease-out;
	background: var(--the7-elementor-beautiful-loading-bg, #ffffff);
}

body #load.loader-removed {
	opacity: 0;
	visibility: hidden;
}

.load-wrap {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.ic-spinner {
	width: 72px;
	height: 72px;
	border-radius: 50%;
	border: 4px solid rgba(0, 0, 0, .12);
	border-top-color: var(--the7-beautiful-spinner-color, #193C69);
	box-sizing: border-box;
	animation: ic-giro 1s linear infinite;
}

@keyframes ic-giro {
	to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
	.ic-spinner { animation-duration: 3s; }
}

.scroll-top {
	position: fixed;
	display: flex;
	align-items: center;
	justify-content: center;
	right: 10px;
	bottom: 115px;
	width: 40px;
	height: 40px;
	opacity: 0;
	z-index: -1;
	text-decoration: none;
	color: #ffffff;
	background-color: rgba(0, 0, 0, .2);
	border-radius: 3px;
	transition: all .4s ease;
}

.scroll-top.off {
	right: -45px;
	opacity: 0;
}

.scroll-top.on {
	right: 10px;
	opacity: 1;
	z-index: 109;
}

.scroll-top:hover {
	color: #ffffff;
	background-color: rgba(0, 0, 0, .5);
}

.scroll-top svg {
	width: 24px;
	height: 24px;
}
