/**
 * Base visual de Promueve Stands.
 *
 * Las variables se pueden trasladar también a Ajustes del sitio de Elementor.
 * Las clases .promueve-header y .promueve-footer deben añadirse a los
 * contenedores principales de las plantillas correspondientes.
 */

@font-face {
	font-family: "dinpro-light";
	src: url("/assets/fonts/dinpro-light.woff?v=4.3.0") format("woff");
	font-display: swap;
	font-style: normal;
	font-weight: 300;
}

@font-face {
	font-family: "dinpro-bold";
	src: url("/assets/fonts/dinpro-bold.woff?v=4.3.0") format("woff");
	font-display: swap;
	font-style: normal;
	font-weight: 700;
}

@font-face {
  font-family: "DIN Condensed";
  src:
    url('/assets/fonts/din-condensed-bold.woff2') format('woff2'),
    url('/assets/fonts/din-condensed-bold.woff') format('woff');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
	font-family: "Helvetica-Bold";
	src: url("/assets/fonts/Helvetica-Bold.woff?v=4.3.0") format("woff");
	font-display: swap;
	font-style: normal;
	font-weight: 700;
}
@font-face {
  font-family: 'FontAwesome';
  src: url('/assets/fonts/fontawesome-webfont.eot?v=4.3.0');
  src: url('/assets/fonts/fontawesome-webfont.eot?#iefix&v=4.3.0') format('embedded-opentype'), url('/assets/fonts/fontawesome-webfont.woff2?v=4.3.0') format('woff2'), url('/assets/fonts/fontawesome-webfont.woff?v=4.3.0') format('woff'), url('/assets/fonts/fontawesome-webfont.ttf?v=4.3.0') format('truetype'), url('/assets/fonts/fontawesome-webfont.svg?v=4.3.0#fontawesomeregular') format('svg');
  font-weight: normal;
  font-style: normal;
}
.fa {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  transform: translate(0, 0);
}
.fa {
    display: inline-block;
    font: normal normal normal 14px / 1 FontAwesome;
    font-size: inherit;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    transform: translate(0, 0);
}
.fa-facebook-f:before,
.fa-facebook:before {
    content: "\f09a";
}
.fa-instagram:before {
    content: "\f16d";
}
.fa-linkedin:before {
    content: "\f0e1";
}
.fa-youtube:before {
    content: "\f167";
}
.fab {
    width: 1.28571429em;
    text-align: center;
}

:root {
	--promueve-yellow: #ffed00;
	--promueve-yellow-secondary: #fee100;
	--promueve-ink: #303046;
	--promueve-heading: #160c07;
	--promueve-black: #000000;
	--promueve-white: #ffffff;
	--promueve-gray: #d0d0d0;
	--promueve-font-heading: "dinpro-light", Helvetica, Arial, sans-serif;	
	--promueve-font-body: "dinpro-light", Helvetica, Arial, sans-serif;	
	--promueve-font-strong: "dinpro-bold", Helvetica, Arial, sans-serif;
	--promueve-font-condensed: "DIN Condensed", Arial, sans-serif;
	--promueve-font-display: "Helvetica-Bold", Helvetica, Arial, sans-serif;
	--promueve-content-width: 1280px;
	--promueve-gutter: clamp(20px, 4vw, 64px);
	--promueve-transition: 280ms cubic-bezier(0.22, 1, 0.36, 1);
}

html {
	scroll-behavior: smooth;
}

body.promueve-stands-site {
	background: var(--promueve-white);
	color: var(--promueve-ink);
	font-family: var(--promueve-font-body);
	font-size: 16px;
	font-weight: 300;
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

body.promueve-stands-site ::selection {
	background: var(--promueve-yellow);
	color: var(--promueve-black);
}

body.promueve-stands-site :is(h1, h2) {
	color: var(--promueve-heading)!important;
	font-family: var(--promueve-font-body)!important;
	font-weight: 700!important;
}
body.promueve-stands-site :is(h1) {
	color: var(--promueve-white)!important;
	font-family: var(--promueve-font-heading)!important;
	font-size:54px;
	text-transform:uppercase;
	font-weight:100!important;
}

body.promueve-stands-site :is(h3, h4, h5, h6) {
	color: var(--promueve-heading);
	font-family: var(--promueve-font-condensed);
	font-weight: 700;
}

body.promueve-stands-site strong,
body.promueve-stands-site b {
	font-family: var(--promueve-font-strong);
	font-weight: 700;
}

body.promueve-stands-site a {
	color: inherit;
}
/*
body.promueve-has-scrolled .promueve-header--sticky {
	background: var(--promueve-black);
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.14);
}*/

/* Encabezados */

.no-rotate h2.elementor-heading-title.elementor-size-default {
    font-size: 40px !important;
    font-family: 'dinpro-light'!important;
    text-align: left;
    padding-bottom: 0px !important;
    transform: rotate(0deg) !important;
    color: #000000 !important;
    letter-spacing: -1.5px;
    white-space: normal !important;
	font-weight:200!important;
}

/* Clase reutilizable para contenedores interiores de Elementor. */
.promueve-container {
	margin-inline: auto;
	max-width: var(--promueve-content-width);
	padding-inline: var(--promueve-gutter);
	width: 100%;
}

/* Cabecera global creada con Elementor Theme Builder. */
.promueve-header {
	position: relative;
	transition:
		background-color var(--promueve-transition),
		box-shadow var(--promueve-transition),
		transform var(--promueve-transition);
	width: 100%;
	z-index: 1000;
}

.promueve-header--sticky {
	left: 0;
	position: fixed;
	right: 0;
	top: 0;
}
.promueve-header .elementor-menu-toggle {
    align-items: center;
    background-color: rgb(0 0 .5);
    border: 0 solid;
    border-radius: 0;
    color: rgb(255 237 0);
    cursor: pointer;
    display: flex;
    font-size: var(--nav-menu-icon-size, 22px);
    justify-content: center;
    padding: .40em;
}

.admin-bar .promueve-header--sticky {
	top: 32px;
}
/* Menú principal */

#nav-main ul li.menu-item {
	margin: 0 1em 0 0;
    padding: 0;
    display: inline-block;
    position: relative;
    text-align: left;
}

@media (max-width: 782px) {
	
	.elementor-menu-toggle.elementor-active,
	.elementor-widget-theme-site-logo {
		z-index: 999!important;
	}
	.elementor-widget-theme-site-logo {
		margin: 10px 0 0!important;
	}
	#nav-main nav.elementor-nav-menu--dropdown {
		top: -21px!important;
		background-color: var(--promueve-white);
		height: 100vh;
		z-index:0;
	}
	#nav-main nav.elementor-nav-menu--dropdown ul {
		padding: 8rem 1.5rem 0;
	}
	#nav-main nav.elementor-nav-menu--dropdown ul li {
		text-align: left;
		display:block;
		margin: 0 0 1rem;
	}
	#nav-main nav.elementor-nav-menu--dropdown ul li ul {
		padding: 1rem 0 1rem!important;
	}
	#nav-main nav.elementor-nav-menu--dropdown ul li ul li a {
		background:var(--promueve-white)!important;
		color: var(--promueve-black)!important;
		font-size: 15px!important;
	}
	#nav-main nav.elementor-nav-menu--dropdown ul li a {
		display:inline-block;
		background:var(--promueve-white);
		color: var(--promueve-black);
	}
	.elementor-nav-menu--dropdown {
		background-color: #fff;
		font-size: 13px;
	}
	.promueve-stands-site h1 {
		font-size: 37px!important;
	}
	.promueve-stands-site h3 {
		font-size: 30px!important;
	}
}
@media (min-width: 1025px) {
	#nav-main > .elementor-menu-toggle,
	#nav-main > nav.elementor-nav-menu--dropdown {
		display: none !important;
	}
}
.elementor-nav-menu--dropdown {
		background-color: transparent;
	}
#nav-main ul li.menu-item a {
	font-family: var(--promueve-font-body);
	font-size: 20px;
    padding: 0;
    display: block;
    line-height: 1em;
    font-weight: 700;
    color: var(--promueve-white);
    background: var(--promueve-black);
    text-transform: uppercase;
}
#nav-main ul li.menu-item a:hover {
    color: var(--promueve-yellow);
    background: var(--promueve-black);
}
#nav-main ul li.menu-item.menu-item-has-children > ul.elementor-nav-menu--dropdown > li {
	display: block;
    margin: 1rem 0 0!important;
}
#nav-main nav ul li.menu-item.menu-item-has-children > ul.sub-menu.elementor-nav-menu--dropdown.sm-nowrap > li > a {
	transition: all .5s;
    display: inline-block;
    background: var(--promueve-white)!important;
    color: var(--promueve-black)!important;
    font-size: 18px;
    padding: 0 5px 0 0;
}
#nav-main nav ul li.menu-item.menu-item-has-children > ul.sub-menu.elementor-nav-menu--dropdown.sm-nowrap > li > a:hover {
	color: var(--promueve-yellow)!important;
	background: var(--promueve-black)!important;
}

/* END Menú principal */


/*  Contenido  */

.promueve-stands-site p.elementor-heading-title {
	font-size:14px;
}
.promueve-stands-site p {
	font-family: var(--promueve-font-body);
	line-height: 22px;
}
.promueve-stands-site .bg-diago {
	background-image:url('/assets/img/all/mosaic_mini1.png');
	background-repeat: reapeat;
	background-attachment: fixed;
	background-size: 15px;
}
.promueve-stands-site p.intro {
    font-family: 'Crimson text';
    max-width: 500px;
    margin-bottom: 50px;
    font-size: 22px;
    line-height: 24px;
    transition: .5s;
}
.promueve-stands-site p.intro:before {
	display: block;
    content: '';
    width: 40px;
    height: 3px;
    background-color: #ffed00;
    margin-bottom: 15px;
}
.promueve-stands-site h3 {
	color:#160c07!important;
	font-size: 40px;
    font-family: var(--promueve-font-condensed)!important;
	font-weight: 600!important;
}
.cta-contact {
	position: fixed !important;
    display: flex;
    flex-direction: row;
    left: 50%;
    right: 0;
    bottom: 0;
    transform: translate(-50%);
    width: 100%;
    max-width: 700px;
    padding: 1.5rem 1.5rem .5rem;
    background-color: #fff;
	box-shadow: 0px -2px 20px -2px rgba(0, 0, 0, 0.2);
	-webkit-box-shadow: 0px -2px 20px -2px rgba(0, 0, 0, 0.2);
	border-bottom:0;
    z-index: 999999;
}
.cta-contact a {
	display: block;
	font-family: 'Crimson text',serif!important;
	background-color: #ffed00;
    padding: 6px 20px 7px 20px;
    transition: .5s !important;
	margin-left: 20px;
}
.cta-contact a:hover {
	color: #ffed00;
	background-color: #000;
}

@media (max-width:767px) {
	.cta-contact {
		display: block;
    	padding: 1.5rem 1.5rem 1rem;
		
	}
	.cta-contact a {
		margin-left: 0!important;
		display: inline;
	}
}

/*  MENÚ STANDS  */

.menu-stands li {
    margin: 5px;
}

.menu-stands a {
	display: inline-block;
    padding: 5px 10px !important;
    background-color: #ffed00;
}
.menu-stands a:after {
	display:none;
}
.menu-stands a:hover {
	color: #ffed00!important;
	background-color: #000;
}
.menu-stands .elementor-item.elementor-item-active {
	color: #ffed00!important;
	background-color: #000;
}

/* Footer global creado con Elementor Theme Builder. */

.promueve-footer {
	bottom:0;
	font-family: var(--promueve-font-body);
	background: var(--promueve-black);
	color: var(--promueve-white)!important;
}
footer .promueve-footer p {
	font-family: var(--promueve-font-body);
	font-size: 14px;
	color: var(--promueve-white)!important;
}
footer .social li {
	list-style-type: none;
    display: inline-block;
    padding: 0 20px;
}
footer .social li i {
    font-size: 30px;
}
footer .social li span {
    display: none;
}
.promueve-footer .menu-footer a {
	font-family: var(--promueve-font-body)!important;
	transition: color var(--promueve-transition), opacity var(--promueve-transition)!important;
	font-size: 15px;
}

.promueve-footer .menu-footer a:hover,
.promueve-footer .menu-footer a:focus-visible {
	color: var(--promueve-yellow)!important;
}
.promueve-footer .menu-footer a:after,
.promueve-footer .menu-footer a:hover::after {
	height:0!important;
}

@media (max-width: 782px) {
	footer .promueve-footer .elementor-nav-menu--dropdown > .elementor-nav-menu li {
		text-align: center;
	}
}

/* Utilidades accesibles. */

.promueve-visually-hidden {
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	height: 1px;
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

:focus-visible {
	outline: 2px solid var(--promueve-yellow);
	outline-offset: 3px;
}

@media (max-width: 782px) {
	.admin-bar .promueve-header--sticky {
		top: 46px;
	}
}

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

	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}
}
.scrollTop {
	margin-top: 1rem;
	display: block;
	text-align: center;
	font-size: 16px;
}
.scrollTop a {
    background: url(https://promueve3.com/promocion/wp-content/uploads/2026/08/arrow-up.png) no-repeat center 0;
    display: inline-block;
    text-transform: uppercase;
    padding: 30px 0 0 0;
    margin: 25px 0 0 0;
	transition: ease .5s;
}
.scrollTop a:hover {
    padding-top: 45px;
    color: #ffed00;
}
.scrollTop a span {
	padding: 8px 0 0 0;
    margin-bottom: -20px;
    display: block;
	background-color: transparent;
}

/* CookieYes. */

.cky-notice-des a.cky-policy,
button.cky-show-desc-btn:not(:hover):not(:active),
.cky-accordion-header .cky-always-active {
	color: #ffed00!important;
}
