/*
Theme Name: GeneratePress Child
Theme URI: https://generatepress.com
Template: generatepress
Author: Tom Usborne
Author URI: https://generatepress.com/about
Description: GeneratePress is a lightweight WordPress theme built with a focus on speed and usability. Performance is important to us, which is why a fresh GeneratePress install adds less than 10kb (gzipped) to your page size. We take full advantage of the block editor (Gutenberg), which gives you more control over creating your content. If you use page builders, GeneratePress is the right theme for you. It is completely compatible with all major page builders, including Beaver Builder and Elementor. Thanks to our emphasis on WordPress coding standards, we can boast full compatibility with all well-coded plugins, including WooCommerce. GeneratePress is fully responsive, uses valid HTML/CSS, and is translated into over 25 languages by our amazing community of users. A few of our many features include 60+ color controls, powerful dynamic typography, 5 navigation locations, 5 sidebar layouts, dropdown menus (click or hover), and 9 widget areas. Learn more and check out our powerful premium version at https://generatepress.com
Tags: two-columns,three-columns,one-column,right-sidebar,left-sidebar,footer-widgets,blog,e-commerce,flexible-header,full-width-template,buddypress,custom-header,custom-background,custom-menu,custom-colors,sticky-post,threaded-comments,translation-ready,rtl-language-support,featured-images,theme-options
Version: 4.3.95
*/

:root {
	--button-color: #82da5d;
	--button-color-dark: #6aa35a;
	--new-green: #7ed957;
	--primary-dark: #101e8a;
	--text-dark: #010630;
	--text-light: #ffffff;
	--text-secondary: #535866;
	--white: #ffffff;
	--bg-light: #f7f8fc;
	--border-light: #e3e5ef;
	--danger-red: #d9534f;
	--font-family-1: 'Manrope', sans-serif;
}

.site-main { padding-top: 90px; }

p, li {line-height: 1.8; font-size: 1.1rem; color: var(--text-dark) !important;}
p > a, p > a:hover, p > a:active, p > a:focus, p > a:visited {color: var(--text-dark) !important;}

h1, h2, h3, h4, h5, p, li, a, span {
	font-family: var(--font-family-1) !important;
}

h1 {
	font-size: 42px !important;
	line-height: 1.2;
	font-weight: 500 !important;
}

h2 { font-size: clamp(2rem, 4vw, 2.8rem); margin-bottom: 20px; color: var(--text-dark); font-weight: 800; }
h3 { font-size: 1.5rem; margin-bottom: 15px; color: var(--text-dark); font-weight: 700; }

.white-text p, .white-text h3 {color: var(--white) !important;}
.green-text {color: var(--new-green) !important;}
.dark-text p, .dark-text a {color: var(--text-dark) !important; }
.inside-article {background-color: transparent !important;}


/* MAIN MENU */
#masthead {
    position: fixed !important;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 9999 !important;
}

#masthead .hfe-nav-menu li:not(.lang-item) { padding: 0 5px; }
#masthead .hfe-nav-menu li.lang-item a { padding-top: 10px; }

#masthead .hfe-nav-menu li:not(.lang-item) a {
	color: var(--white);
    text-decoration: none;
    font-weight: 700;
    font-size: 13px;
    padding: 8px 16px;
    border-radius: 50px;
    transition: all 0.3s ease;
    background-color: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    white-space: nowrap;
}

#masthead .hfe-nav-menu li:not(.lang-item) a:hover {
    background-color: var(--new-green);
    border-color: var(--new-green);
    transform: translateY(-2px);
    color: var(--text-dark);
}
/* END - MAIN MENU */


/* BUTTONS */
.cta-button {
	width: 100%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	font-weight: 700;
	text-decoration: none;
	border-radius: 50px;
	cursor: pointer;
	text-transform: uppercase;
	transition: transform 0.3s ease, box-shadow 0.3s ease, background-position 0.5s ease;
	color: var(--text-dark) !important;
	border: none;
	background: linear-gradient(45deg, var(--new-green), var(--button-color)) !important;
    background-size: 200% auto !important;
    box-shadow: 0 5px 15px rgba(126, 217, 87, 0.25);
	position: relative;
	overflow: hidden;
	padding: 14px;
	font-size: 17px !important;
}

.cta-button a {
	color: var(--text-dark) !important;
    font-weight: 700 !important;
    font-size: 17px !important;
}

.cta-button:hover {
	background-position: 100% 0;
	transform: translateY(-5px);
	box-shadow: 0 14px 28px rgba(126, 217, 87, 0.4);
}

.cta-button::before {
	content: '';
    position: absolute;
    top: 0;
    width: 50%;
    height: 100%;
    background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 50%, rgba(255, 255, 255, 0) 100%);
    transform: skewX(-25deg);
    animation: shine 4s infinite linear;
}

@keyframes shine {
  0% {
    left: -75%;
  }
  100% {
    left: 125%;
  }
}
/* END - BUTTONS */


/* BANNER HOME */
.down-banner-home svg {
	animation: bounce 2.5s infinite;
}

@keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    transform: translateY(0);
  }
  40% {
    transform: translateY(10px);
  }
  60% {
    transform: translateY(5px);
  }
}
/* END - BANNER HOME */


/* CONTACT FORM */
.cf7-acceso {
    max-width:650px;
    margin:auto;
    padding: 40px;
    background:#fff;
    border-radius:16px;
}

.footer-form .cf7-acceso {
	border: 2px solid var(--button-color);
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.2), 0 0 25px rgba(126, 217, 87, 0.4);
}

.cf7-acceso.cf7-contact-form {
	border:3px solid #7BE34E;
	box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.3);
}

.cf7-acceso h2 {
    text-align:center;
    font-size:1.4rem;
    color:var(--primary-color);
    margin-bottom:40px;
    letter-spacing:-1px;
}

.cf7-acceso.cf7-newsletter-form p:last-child {
	font-size: 0.85rem;
    text-align: center;
}

/* Inputs */
.cf7-acceso .wpcf7-form-control-wrap{
    display:block;
    margin-bottom:22px;
}

.cf7-acceso input[type=text],
.cf7-acceso input[type=email],
.cf7-acceso textarea {
    width:100%;
    border:1px solid #DDE3EF;
    border-radius:10px;
    padding:0 25px;
    color:var(--text-dark);
    background:#F8F8F8;
    transition:.2s;
}

.cf7-acceso input[type=text],
.cf7-acceso input[type=email] {
	height:54px;
}

.cf7-acceso textarea {
	padding: 18px 20px;
	height:150px;
}

.cf7-acceso input[type=text]::placeholder,
.cf7-acceso input[type=email]::placeholder,
.cf7-acceso textarea::placeholder {
    color:#8A95A8;
}

.cf7-acceso input:focus{
    outline:none;
    border-color:#1E2A93;
    box-shadow:0 0 0 3px rgba(30,42,147,.12);
}

/* Checkbox */
.cf7-acceso .wpcf7-acceptance {
    display:block;
    margin:28px 0;
}

.cf7-acceso .wpcf7-list-item {
    margin:0;
}

.cf7-acceso .wpcf7-list-item-label {
    font-size:0.9rem;
}

.cf7-acceso .wpcf7-list-item-label a {
    color:#1E2A93;
    font-weight:600;
	text-decoration: underline;
}

/* Mensajes */
.cf7-acceso .wpcf7-response-output{
    margin-top:25px;
}

.wpcf7 form.invalid .wpcf7-response-output {
	text-align: center;
	background-color: #ffb900;
}

.wpcf7 form.sent .wpcf7-response-output {
	border-color:above
	background-color: #46b450;
}
/* END - CONTACT FORM */


/* BLOG */
.page-id-31 .hfe-post-card a:hover {
	color: var(--text-dark) !important;
}

/* Single post */
.single-post .byline, .single-post footer.entry-meta {
	display: none;
}

.single-post h2 {
	font-size: 32px !important;
    line-height: 1.2;
    font-weight: 500 !important;
}

.single-post .wp-block-accordion h3 button:hover,
.single-post .wp-block-accordion h3 button:focus {
	color: var(--text-dark);
	background-color: transparent;
}

.single-post .wp-block-accordion h3 button:hover span,
.single-post .wp-block-accordion h3 button:focus span {
	text-decoration: none;
}

.single-post table thead {
	border-bottom: 3px solid var(--white);
}

.single-post table tbody td {
	text-align: center;
    background: var(--new-green);
	border: 1px solid var(--white);
}

.single-post table thead th,
.single-post table tbody td:first-child{
    background: var(--text-dark);
    color: var(--white);
}
/* END - BLOG */


/* Cuestionarios */
.qmn_quiz_container .qmn_btn, .qmn_quiz_container .btn {
	font-weight: 700;
	border: none !important;
    padding: 14px !important;
    text-transform: uppercase;
    font-size: 17px !important;
	border-radius: 50px !important;
    color: var(--text-dark) !important;
    background-color: var(--new-green) !important;
}

.qmn_quiz_container .qmn_btn:hover, .qmn_quiz_container .btn:hover {
    color: var(--text-dark) !important;
    background-color: var(--new-green) !important;
}

.qsm-progress-bar .progressbar-text {
	color: var(--text-dark) !important;
}

.qsm-quiz-container.qsm-new-renderer {
    --qsm-hint-accent: var(--text-dark);
    --qsm-hint-accent-hover: var(--text-dark);
    --qsm-hint-panel-bg: var(--bg-light);
    --qsm-hint-panel-fg: var(--new-green);
    --qsm-hint-panel-border: var(--bg-light);
    --qsm-hint-accent-bar: var(--text-dark);
}

.quiz_section .qmn_radio_answers label, .quiz_section .qmn_check_answers label, .quiz_section .qmn_accept_answers label {
	font-size: 17px !important;
}
/* END - Cuestionarios */


/* Página resultado cuestionario EMD */
/* END - Página resultado cuestionario EMD */


/* Popup página resultados */
#btb-popup-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.7);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 999999;
}

#btb-popup {
    background: var(--white);
    border-radius: 20px;
	border: 3px solid var(--new-green);
    padding: 30px;
    max-width: 600px;
    width: 90%;
    position: relative;
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.5);
}

#btb-popup p {
	color: var(--text-dark);
}

#btb-popup-close {
    position: absolute;
    top: 10px;
    right: 15px;
    border: 0;
    background: none;
    font-size: 28px;
    cursor: pointer;
	color: var(--text-dark);
}
/* END - Popup página resultados */


/* FOOTER */
.site-footer p, .site-footer a, .site-footer a:hover, .site-footer a:visited, .site-footer a:focus {
	font-size: 0.9em;
    color: var(--white) !important;
}
/* END - FOOTER */