/* Estilos globales del sitio. Antes vivian en Apariencia > Personalizar > CSS adicional (BD, ~25 KB incrustados en cada pagina).
   Ahora los sirve el tema hijo como archivo cacheable (ver ps_css_global en functions.php) y el CSS adicional de la BD se anula.
   Para cambiar estilos globales, edita ESTE archivo (no el Personalizador). Las @font-face de Agrandir y NeueMontreal (unicas fuentes propias) estan en ps_fuentes_tema(). */
body {
	overflow-x: hidden;
	background-color: var(--e-global-color-2904b0f);
	background-color: #fff;
}
#page {
	/*opacity: 0;*/
	background: #fff;
}
#content {
	overflow-x: hidden;
}
.grecaptcha-badge { 
    visibility: hidden; 
}
.message-recaptcha,
.message-recaptcha p {
	display: block;
	font-size: 7px;
	line-height: 1.4em;
	font-weight: 300;
	color: #999;
	text-align: left !important;
}

/* 404 */

body.error404 #page #content {
	padding: calc(50px + 10vw) 30px;
	max-width: 100%;
	background: #fff;
	text-align: center;
}
body.error404 #page #content h1 {
	font-weight: 600;
	font-size: calc(1.4rem + 2vw);
	line-height: 1.1em;
	font-family: Agrandir, "Pt Serif", sans-serif !important;
}


a {
	text-decoration: none !important;
	cursor: pointer;
	color: #efb729;
}

.blur {
	backdrop-filter: blur(8px);
}
.parallax-bg {
	overflow:hidden;
}
@media only screen and (max-width: 600px) {
	.phone-number {
		color: inherit !important; /* Conservar el color predeterminado */
	}
} 

/* FONTS */

/* Agrandir y NeueMontreal: ver ps_fuentes_tema() en functions.php (woff2 en el tema, font-display: swap). */


/*.agrandir p,
.agrandir span,
.agrandir *:not(i) {
	font-family: Agrandir;
}

h1, h2, h3, h4 {
	font-family: Agrandir, "Pt Serif", sans-serif !important;
}

p, li, li span, td, th, div, label {
	font-family: Agrandir, Montserrat, sans-serif !important;
	letter-spacing: .8px;
}*/

/* Aplicar globalmente en la web */
body #page,
#page :is(p, li, li span, td, th, div, label) {
  font-family: 'NeueMontreal', -apple-system, BlinkMacSystemFont, sans-serif;
  font-weight: 400;
}
body #page a {
  font-family: 'NeueMontreal', -apple-system, BlinkMacSystemFont, sans-serif;
  font-weight: 600;
}

/* Contadores de la portada: el CSS personalizado del widget (datos de Elementor, post 22) fuerza CodecPro, una fuente de prueba que se retiro.
   Se sustituye por NeueMontreal; con id para ganar al !important del widget. */
#page .elementor-22 .elementor-counter-title {
  font-family: 'NeueMontreal', -apple-system, BlinkMacSystemFont, sans-serif !important;
}

/* Para títulos o destacados */
h1, h2, h3, h4, h5 {
  font-family: 'NeueMontreal', sans-serif !important;
  font-weight: 600;
}

/* HEADER */

#masthead {
	position: sticky !important;
	top: 0;
	width: 100%;
	z-index: 110 !important;
}
img.menu-ico {
	height: 18px;
	display: inline;
	transform: translatey(-1px);
}
#masthead a.elementor-button:hover {
	color: #fff;
}


@media screen and (max-width:767px) {
	/*
	nav.hfe-nav-menu__submenu-arrow {
		top: calc(100% + 16px) !important;
		right: calc(50vw - 30px) !important;
		margin-right: -50vw !important;
		left: auto !important;
		width: calc(100vw - 0px) !important;
	}
	nav.hfe-nav-menu__submenu-arrow ul li a {
		justify-content: center !important;
	}
	*/
	.hfe-flyout-container .hfe-flyout-right .hfe-flyout-content {
		background-color: #EFB729 !important;
	}
	#masthead {
		/*position: fixed !important;*/
		top: 0;
		width: 100%;
	}
	#content {
		/*margin-top: 70px;*/
	}
	/* Icono de hamburguesa (wp-responsive-menu): el boton medía 42 px y la cabecera 70 px, asi que el icono (24 px de alto) quedaba 9 px por encima del centro. */
	html body div#wprmenu_bar {
		height: 70px;
		padding-top: 19px;
	}
}

@media screen and (min-width:768px) and (max-width:1024px) {
	html body div#wprmenu_bar {
		height: 100px;
		padding-top: 34px;
	}
	#content {
		/*margin-top: 100px;*/
	}
}

/* FORM */

.form .wpcf7-form p {
	margin-top: 0;
}
.form form,
.form label,
.form span.wpcf7-form-control-wrap,
.form span.wpcf-3-form-control-wrap,
.form input,
.form textarea,
.form select {
	display: block;
	width: 100% !important;
	outline: none;
}
.form label {
	font-family: Montserrat;
	font-size: 13px;
	line-height: 1em;
	font-style: oblique;
	text-align: left;
	color: #888;
	padding-top: 3px;
}
.form input,
.form textarea,
.form select {
	background: #FFFFFF;
	border: 1px solid #F5FAFF;
	border: 1px solid #FFFFFF;
	margin-top: 4px;
	margin-bottom: 7px;
	font-size: 14px;
	font-family: Agrandir, Montserrat, sans-serif !important;
	letter-spacing: .7px;
	height: 39px;
}
.form input::placeholder,
.form textarea::placeholder {
	font-weight: 400;
	color: #aaa;
	font-family: Agrandir, Montserrat, sans-serif !important;
}
.form .wpcf7-form-control-wrap.your-phone {
	margin-top: 4px !important;
}
.form label[for="your-phone"], .form label[for="your-phone"] .allow-dropdown,
.form label[for="your-course"], .form label[for="your-course"] .allow-dropdown {
	width: 100% !important;
}
.form label[for="your-course"] {
	margin-bottom: 14px;
}

@media screen and (min-width:541px) {
	label[for="your-phone"],
	label[for="your-course"] {
		width: 48% !important;
		display: inline-block !important;
	}
	label[for="your-course"] {
		float: right;
	}
}


.wpcf7-spinner {
	/*visibility: visible;*/
	margin-bottom: -5px;
	background: #959DC9;
}

.uacf7-steps {
	margin-bottom: 30px;
}
.steps-form .steps-row .steps-step .btn-circle,
.steps-form .steps-row .steps-step .btn-circle:hover {
	padding: 0;
	background: #cdd0dd !important;
	border: 1px solid #cdd0dd;
	color: #FFFFFF;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	pointer-events: none;
}
.steps-form {
	display: none;
}
@media screen and (max-width:540px) {
	.steps-form {
		display: none;
	}
}
.steps-form .steps-row .steps-step .btn-circle.uacf7-btn-active {
	background: #F5FAFF !important;
	border: 1px solid #1E1E4D;
	border: 1px solid #F5FAFF;
	color: #1E1E4D;
}
.uacf17-step {
	display: none;
}
.uacf17-step.step-start {
	display: block;
}
.wpcf7-form p {
	margin-top: 30px;
	min-height: 23px;
	text-align: right;
}
.wpcf7-form p button {
	border: 0px solid #1E1E4D; 
	color: #1E1E4D;
	padding: 4px 2px;
	font-family: Montserrat;
	font-weight: 600;
	font-size: 13px;
	line-height:1.2em;
	margin-top: 0 !important;
}
.wpcf7-form p button:hover,
.wpcf7-form p button:focus {
	background: #F5FAFF;
	color: #1E1E4D;
}
.uacf7-step p button.uacf7-next {
	float: right !important;
}
.uacf7-step p button.uacf7-prev {
	float: left !important;
}

.wpcf7-form .wpcf7-submit {
	margin-top: 30px;
	padding: 13px 15px;
	font-family: Montserrat;
	color: #ffffff;
	color: #1E1E4D;
	background: #efb729;
	border: none;
	border-radius: 7px;
	font-size: 13px;
	line-height: 1.2em;
	font-weight: 500;
	text-transform: uppercase;
	cursor: pointer;
}
.wpcf7-form .wpcf7-submit:hover {
	box-shadow: 0px 14px 18px -16px rgba(0,0,0,.35);
}
.wpcf7-form .wpcf7-spinner {
	position: absolute; 
	right: 0;
	margin-right: 0;
	bottom: 10px;
}
.uacf7-step.step-end p {
	margin-top: 20px;
}

.light-form input,
.light-form textarea,
.light-form select {
	background: #F5F5F5;
	border: 1px solid #F5FAFF;
	color: #444;
}
.light-form select {
	color: #777;
}

.dark-form label {
	color: #efb729;
}
.dark-form input,
.dark-form textarea {
	background: rgba(0,0,0,0);
	border: 1px solid #efb729;
	color: #efb729;
}
.dark-form input:focus,
.dark-form textarea:focus {
	border-color: #f0f2f5;
	color: #f0f2f5;
}
.dark-form select {
	background: rgba(0,0,0,0);
	border: 1px solid #efb729;
	color: #efb729;
}
.dark-form input.wpcf7-submit {
	background: #f0f2f5;
	color: #31394d;
	border-color: #f0f2f5;
	font-family: pt-serif;
	text-transform: uppercase;
	font-weight: 600;
	letter-spacing: 1px;
}
.form .wpcf7-not-valid-tip {
	display: block;
	height: 37px;
	width: 30px;
	position: absolute;
	top: 1px;
	right: 1px;
	color: #ff6c6c;
	font-size: 0px;
	border-left: 5px solid #f5f5f5;
	border-right: 7px solid #f5f5f5;
	background: #f5f5f5;
	background-image: url('/wp-content/uploads/2023/11/danger.svg');
	background-repeat: no-repeat;
	background-position: right center;
	background-size: contain;
}
.wpcf7 form .wpcf7-response-output {
	margin: 20px 0 2px !important;
	padding: 0 !important;
	font-family: Montserrat;
	font-style: oblique;
	color: #ff6c6c;
	font-size: 13.5px;
	line-height: 1.4em;
	text-align: justify;
	border: none !important;
}

/* PAÍSES */

.select-box {
	text-align: center;
}
.select-box .wpcf7-form-control-wrap {
	margin-top: 15px;
}
.select-box .wpcf7-form-control-wrap .wpcf7-form-control {
	display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 10px;
}
.select-box .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item {
	margin: 0;
	background: #F5FAFF;
	background: #F0F2F5;
	padding: 4px 4px 2px;
	border-radius: 4px;
	cursor: pointer;
}

.select-box .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item * {
	cursor: pointer;
}
.select-box .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item label input {
	/*display: none;*/
}
.select-box .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item label .wpcf7-list-item-label {
	display: block;
	text-align: center;
	padding: 0 5px;
	font-size: 11px;
	letter-spacing: -.3px;
}
.select-box .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item label .wpcf7-list-item-label:after {
	content: "";
	display: block;
	width: 100%;
	max-width: 60px;
	height: 70px;
	margin: 0 auto !important;
	background-position: center center;
	background-size: contain;
	background-repeat: no-repeat;
}
.label-country .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item.first label .wpcf7-list-item-label:after {
	background-image: url('/wp-content/uploads/2023/11/peru.png');
}
.label-country .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item:nth-child(2) label .wpcf7-list-item-label:after {
	background-image: url('/wp-content/uploads/2023/11/espana.png');
}
.label-country .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item.last label .wpcf7-list-item-label:after {
	background-image: url('/wp-content/uploads/2023/11/latinoamerica.png');
}
.label-level .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item.first label .wpcf7-list-item-label:after {
	background-image: url('/wp-content/uploads/2023/11/level-1.svg');
	width: 90%;
	margin-left: 5%;
}
.label-level .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item:nth-child(2) label .wpcf7-list-item-label:after {
	background-image: url('/wp-content/uploads/2023/11/level-2.svg');
	width: 90%;
	margin-left: 5%;
}
.label-level .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item.last label .wpcf7-list-item-label:after {
	background-image: url('/wp-content/uploads/2023/11/level-3.svg');
	width: 90%;
	margin-left: 5%;
}

/* TESTIMONIOS */

.testimonial-2 .swiper {
	overflow: visible !important;
}
.testimonial-2 .rt-col-xs-12, 
.testimonial-2 .rt-col-sm-12, 
.testimonial-2 .rt-col-md-12 {
	padding-left: calc(5px + 1vw);
	padding-right: calc(5px + 1vw);
}
@media screen and (min-width:999px) {
	.testimonial-2 .swiper-slide,
	.testimonial-2 .swiper-slide.swiper-slide-prev,
	.testimonial-2 .swiper-slide.swiper-slide-next {
		opacity: .4;
	}
	.testimonial-2 .swiper-slide.swiper-slide-active {
		opacity: 1;
	}
}
.testimonial-2 .swiper-slide .single-item-wrapper {
	background: #f0f2f5;
	display: flex;
	flex-direction: column;
	height: 100%;
}
.testimonial-2 .swiper-slide .single-item-wrapper .item-content-wrapper {
	order: 1;
	background: #f0f2f5;
	padding: 40px;
}
.testimonial-2 .item-content-wrapper:before {
	display: none;
}
.testimonial-2 .item-content-wrapper .item-content {
	min-height: 200px;
	display: block;
}
.testimonial-2 .item-content-wrapper .item-content strong {
	display: block;
	margin-bottom: 15px;
}

.testimonial-2 .swiper-slide .single-item-wrapper .rating-wrapper {
	order: 2;
	text-align: left !important;
	padding: 0 40px;
}
.testimonial-2 .swiper-slide .single-item-wrapper .author-name {
	order: 3;
	text-align: left !important;
	padding: 0 40px;
}
.testimonial-2 .swiper-slide .single-item-wrapper .author-bio {
	order: 4;
	text-align: left !important;
	padding: 0 40px 37px;
	margin: 0 !important;
}

/* TESTIMONIOS MURAL */

#testimonial-isotope .e-con-inner {
	margin-right: -2%;
}
#testimonial-isotope .e-con-inner .isotope {
	margin-bottom: 20px;
}
#testimonial-isotope .e-con-inner .isotope:nth-child(3n + 1),
#testimonial-isotope .e-con-inner .isotope:nth-child(3n + 2) {
	margin-right: 1%;
}


/* CURSOS */

.hover-grow-curse:hover {
	transform: scale(1.04);
	transition: all ease-in-out .3s;
}

.gal-marcas .gallery-item .gallery-icon img {
	width: 130px;
}

/* BENEFICIOS */

.beneficios .elementor-icon-box-title span {
	/*background: #efb729;*/
	display: inline-block;
	padding: 7px 12px;
	border-radius: 50px;
}

/* Programa CFA */
.tabla-comparativa {
	color: #f0f2f5;
}
.tabla-comparativa thead th {
	
}
.tabla-comparativa thead th:nth-child(2) {
	background: #efb729;
	color: var(--e-global-color-primary);
	font-weight: 900 !important;
}
.tabla-comparativa thead th,
.tabla-comparativa tbody tr th,
.tabla-comparativa tbody tr td{
	border-right: 1px solid #efb729 !important;
}
.tabla-comparativa tbody tr:last-child th {
	border-bottom: 1px solid #efb729;
}
.tabla-comparativa tbody tr td {
	color: #f0f2f5;
}


.precio-producto .precio-producto-normal,
.precio-producto .precio-producto-rebajado {
	color: #fff;
	font-size: calc(.9rem + .85vw);
	font-weight: 600;
	line-height: 1em;
	text-align: center;
}

.precio-producto .precio-producto-rebajado + .precio-producto-normal {
	font-size: calc(.6rem + .75vw);
	font-weight: 300;
	text-decoration: line-through;
}



/* PROFESORES */
.elementor-image-box-img img {
	margin: auto;
}
.teacher > div::before {
	content: "";
	background-repeat: no-repeat;
	background-size: contain;
	background-position: top left;
	position: absolute;
	left: calc(50% - 3px);
	top: 2px;
	transform: translatex(-50%);
	width: 100%;
	max-width: 300px;
	height: calc(7px + 6%);
	display: block;
	z-index: 2;
}
.teacher.peru > div::before {
	background-image: url('/wp-content/uploads/2023/11/peru.png');
}
.teacher.col > div::before {
	background-image: url('/wp-content/uploads/2023/11/colombia.png');
}
.teacher.mex > div::before {
	background-image: url('/wp-content/uploads/2023/11/mexico.png');
}
.teacher.arg > div::before {
	background-image: url('/wp-content/uploads/2024/01/argentina.png');
}

.elementor-image-carousel-wrapper figcaption {
	padding-top: 5%;
	font-size: 13px !important;
}


.premium-person-image-container::after {
	content: "";
	padding: 0;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: left bottom;
	position: absolute;
	left: 0px;
	bottom: 2px;
	max-width: 300px;
	height: calc(8px + 6%);
	width: calc(10px + 6%);
	display: block;
	z-index: 2;
}
.premium-person-image-container:has(> img[alt="peru"])::after {
	background-image: url('/wp-content/uploads/2023/11/peru.png');
}
.premium-person-image-container:has(> img[alt="mex"])::after {
	background-image: url('/wp-content/uploads/2023/11/mexico.png');
}
.premium-person-image-container:has(> img[alt="col"])::after {
	background-image: url('/wp-content/uploads/2023/11/colombia.png');
}
.premium-person-image-container:has(> img[alt="arg"])::after {
	background-image: url('/wp-content/uploads/2024/01/argentina.png');
}


/* BLOG */

.blog-home > div > h2 {
	text-align: center;
	font-size: 1.2rem;
}

.blog-page article {
	height: auto !important;
}

.single-post .article {
	padding: 5% 7%;
	//text-align: center;
}
.single-post #comments {
	padding: 5% 7%;
}
.single-post .article img {
	width: 85%;
	max-width:650px;
	margin: 45px auto 40px;
}
.single-post .article > h1 {
	font-size: calc(1 rem + 1vw);
}
.single-post .article > p {
	font-size: 13px;
	margin-bottom: 0;
	font-style: oblique;
	color: #efb729;
}
.single-post .article .content {
	font-size: 16px;
	max-width: 900px;
	margin: 0px auto;
	padding: 30px 30px 70px;
}

@media screen and (max-width:1024px) {
	.single-post .article {
		padding: 40px 5%;
	}
	.single-post #comments {
		padding: 0px 5%;
	}
}
@media screen and (max-width:540px) {
	.single-post .article, #comments {
		padding-left: 30px;
		padding-right: 30px;
	}
	.single-post .article img {
		width: 100%;
		margin: 10px auto 40px;
	}
}

/* RECURSOS GRATUITOS */

.btn-recurso {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	background: #fff;
	padding: 30px;
	border-radius: 10px;
	box-shadow: 0px 12px 18px -12px rgba(0,0,0,.25) !important;
	cursor: pointer;
	min-width: 270px;
	min-height: 180px;
	transition: all ease-out .3s;
}
.btn-recurso:hover {
	transform: scale(1.05);
	box-shadow: 0px 12px 18px -12px rgba(0,0,0,.5) !important;
}
.btn-recurso svg {
	width: 40px;
	fill: #efb729;
	margin-bottom: 5px;
}
.btn-recurso h3 {
	margin-bottom: 0;
	font-size: 18px;
	color: #efb729;
}
.btn-recurso p {
	margin-bottom: 0;
	font-size: 13px;
	color: #777;
}

.chat-arrow {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	padding-bottom: 1.5px;
}
.nuestros-cursos-boton {
    background-color: #FFC107; /* Color de fondo amarillo */
    color: #002855; /* Color del texto azul oscuro */
    font-weight: bold; /* Texto en negrita */
    padding: 10px 20px; /* Espaciado interno del botón */
    border: none; /* Sin bordes */
    cursor: pointer; /* Cambiar el cursor al pasar sobre el botón */
    text-align: center; /* Alineación del texto */
    display: inline-block; /* Mostrar como un bloque en línea */
    font-size: 16px; /* Tamaño de la fuente */
}

.nuestros-cursos-boton:hover {
    background-color: #e0a800; /* Color de fondo al pasar el ratón */
}


/* CHECKOUT */


.woocommerce-checkout #payment .payment_methods li:not(:last-child) {
	margin-bottom: 5px;
}
.woocommerce-checkout #payment .payment_methods li label {
	display: inline-flex;
	align-items: center;
	padding-top: 4px;
	line-height: 1.3em !important;
}

/* THANK YOU PAGE */

body.woocommerce-order-received .woocommerce-notice {
	text-align: center;
	color: #000;
	font-size: calc(1.2rem + .3vw);
	margin-bottom: 1.5em;
}
body.woocommerce-order-received ul.woocommerce-thankyou-order-details {
	background: #fff;
	box-shadow: 0px 5px 5px -3px #C9CBD5;
	border: 1px solid #EAF0F7;
	border-radius: 15px;
	padding: 20px 30px 14px;
	width: fit-content;
	margin: 0 auto 3em;
}
body.woocommerce-order-received .woocommerce-order > section {
	max-width: 640px;
	margin: 0 auto 3em;
}
body.woocommerce-order-received .woocommerce-order > section h2 {
	text-align: center;
	font-size: calc(1.2rem + .3vw);
}
body.woocommerce-order-received .woocommerce-order > section table {
	background: #fff;
	box-shadow: 0px 5px 5px -3px #C9CBD5;
	border: 1px solid #EAF0F7;
	border-radius: 15px;
	padding: 20px 30px 5px;
}
body.woocommerce-order-received .woocommerce-order > section table.shop_table :is(th, td) {
	max-width: 350px !important;
}
body.woocommerce-order-received .woocommerce-order > section table.custom-fields {
	display: none;
}
body.woocommerce-order-received .woocommerce-order > section address {
	background: #fff;
	box-shadow: 0px 5px 5px -3px #C9CBD5;
	border: 1px solid #EAF0F7;
	border-radius: 15px;
	padding: 20px 30px 20px;
	height: fit-content !important;
	line-height: 1.5em;
}
body.woocommerce-order-received .woocommerce-order > section address p.woocommerce-customer-details--phone {
	margin-top: 3px;
	margin-bottom: 3px;
}

/* BOTÓN COMPRAR */

.buy-now-clean {
    background-color: #EFB729;
    border: none;
    padding: .8rem 1.5rem .9rem 1.2rem;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: background-color 0.2s ease;
}

.buy-now-clean:hover,
.buy-now-clean:focus,
.buy-now-clean:active {
    background-color: #EFB729;
    color: #1E1E4D;
}

.buy-now-text {
    color: #1E1E4D;
    letter-spacing: .05em;
    text-transform: uppercase;
    font-weight: 600;
    font-size: calc(1rem + .1vw);
    line-height: 1.2em;
    padding-top: 3px;
}

.buy-now-loader {
    border: 2px solid #1E1E4D;
    border-top: 2px solid #EFB729;
    border-radius: 50%;
    width: 16px;
    height: 16px;
    animation: spin 1s linear infinite;
    display: none;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Fondos de secciones lejanas: se cargan al acercarse (ver el script ps-bg-lazy en functions.php). Sin JS, html.ps-js no existe y se ven siempre. */
html.ps-js .elementor-element-20957241:not(.ps-bg-ok),
html.ps-js .elementor-element-f26b68a:not(.ps-bg-ok) {
  background-image: none !important;
}

/* CLS del menu movil: wp-responsive-menu imprime su "CSS personalizado" (Ajustes del plugin) al final del <body>. Hasta que el navegador llega a ese
   bloque, el CSS del <head> aplica html{padding-top:42px!important} y el boton del menu con su fondo/ancho por defecto; al leerlo, toda la pagina salta
   42 px hacia arriba (CLS 0,051 en Lighthouse una vez que el primer pintado llega antes que ese bloque). Se replica aqui, en el <head>, el mismo contenido
   (identico, asi que no cambia nada visualmente) y solo en el rango en que el plugin muestra el menu. */
@media only screen and (max-width: 1024px) {
  html { padding-top:0!important; }
  #masthead div div[data-id='b2d36e7'] { top: 0!important; }
  #wprmenu_bar { width:65px!important; background: transparent; text-align: right; position: fixed; top:0; left:auto; right:0; padding-left:0px!important; padding-right:30px!important; }
  #wprmenu_bar div.hamburger { float:none; padding-right:0px!important; margin-top: 0 !important; }
  #wprmenu_bar div.hamburger span.hamburger-box { transform: scale(.8)!important; }
  #wprmenu_bar div.menu_title { display: none; }
  #mg-wprm-wrap.cbp-spmenu-right { top: 0!important; }
  #mg-wprm-wrap #wprmenu_menu_ul { padding: 55px 0 0 !important;}
  html body div.wprm-overlay { background: rgba(0,0,0,.6); }
}

/* Portada: secciones grandes fuera del primer pantallazo. content-visibility:auto hace que el navegador no calcule estilos ni maquetado de lo que
   esta lejos de la pantalla hasta que se acerca (en Lighthouse movil "Style & Layout" era 1,46 s del hilo principal). contain-intrinsic-size
   con "auto" reserva una altura aproximada (medida por ancho) y recuerda la real despues de renderizar, para no desplazar la barra de scroll.
   No se aplica a las 2 secciones con carruseles (48a71c54 logos, 45337882 profesores): su contenido sobresale del contenedor y la contencion
   de pintado lo recortaria. Ids: 2e32aa51, 3dbe7f78, 5df6b915, 2bf55cc, 532a58f8, 20957241. */
.elementor-22 > .elementor-element-2e32aa51,
.elementor-22 > .elementor-element-3dbe7f78,
.elementor-22 > .elementor-element-5df6b915,
.elementor-22 > .elementor-element-2bf55cc,
.elementor-22 > .elementor-element-532a58f8,
.elementor-22 > .elementor-element-20957241 {
  content-visibility: auto;
}
.elementor-22 > .elementor-element-2e32aa51 { contain-intrinsic-size: auto 1295px; }
.elementor-22 > .elementor-element-3dbe7f78 { contain-intrinsic-size: auto 882px; }
.elementor-22 > .elementor-element-5df6b915 { contain-intrinsic-size: auto 1243px; }
.elementor-22 > .elementor-element-2bf55cc  { contain-intrinsic-size: auto 785px; }
.elementor-22 > .elementor-element-532a58f8 { contain-intrinsic-size: auto 296px; }
.elementor-22 > .elementor-element-20957241 { contain-intrinsic-size: auto 545px; }
@media (max-width: 1024px) {
  .elementor-22 > .elementor-element-2e32aa51 { contain-intrinsic-size: auto 2277px; }
  .elementor-22 > .elementor-element-3dbe7f78 { contain-intrinsic-size: auto 1040px; }
  .elementor-22 > .elementor-element-5df6b915 { contain-intrinsic-size: auto 1749px; }
  .elementor-22 > .elementor-element-2bf55cc  { contain-intrinsic-size: auto 1323px; }
  .elementor-22 > .elementor-element-532a58f8 { contain-intrinsic-size: auto 297px; }
  .elementor-22 > .elementor-element-20957241 { contain-intrinsic-size: auto 958px; }
}
@media (max-width: 767px) {
  .elementor-22 > .elementor-element-2e32aa51 { contain-intrinsic-size: auto 2474px; }
  .elementor-22 > .elementor-element-3dbe7f78 { contain-intrinsic-size: auto 1473px; }
  .elementor-22 > .elementor-element-5df6b915 { contain-intrinsic-size: auto 3355px; }
  .elementor-22 > .elementor-element-2bf55cc  { contain-intrinsic-size: auto 1783px; }
  .elementor-22 > .elementor-element-532a58f8 { contain-intrinsic-size: auto 540px; }
  .elementor-22 > .elementor-element-20957241 { contain-intrinsic-size: auto 1029px; }
}
