/**
 * Theme Name:     GeneratePress Child
 * Author:         Tom Usborne
 * Template:       generatepress
 * Text Domain:	   generatepress-child
 * 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
 */

/* ESTILOS GENERALES */
@media (min-width: 1024px) { /* avoid footer filling empty height */
    body {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        min-height: 100vh;
    }
    .site-footer {
        margin-top: auto;
    }
}
@media only screen and (max-width : 768px) {
    body:not(.home) #main {
        margin-top: 1em;
    }
}
@media only screen and (min-width : 768px) {
    body:not(.home) #main {
        margin-top: 1.5em;
    }
}
body:not(.home) #main h1 {
    font-weight: bold;
    text-align: center;
}
body:not(.home) #main h1:after {
    content: '';
    display: block;
    width: 1.6em;
    height: 2px;
    background-color: #222;
    margin-top: 0.25em;
    margin-left: auto;
    margin-right: auto;
}
.separate-containers .inside-article {
    padding-top: 0px !important;
}
.gdpr_lightbox {
    z-index: 100000;
}
div.pum-container h1 {
    text-align: center;
    font-size: 1.5em;
    font-weight: bold;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #108537;
    border-bottom: 1px solid #DDD;
    padding-bottom: 1em;
}
div.pum-container h2 {
    font-size: 1.6em;
    margin-bottom: 10px;
    margin-top: 30px;
}
div.pum-container p {
    line-height: 1.5em;
}
div.pum-container p,
div.pum-container li {
    font-size: 1.3em;
}
div.pum-container img {
    width: 100%;
    height: auto;
    margin-bottom: 2em;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
}
div.pum-container .pum-close {
    background-color: #1085371A !important;
    color: #108537 !important;
}
div.pum-container .cta_wrapper {
    display: none !important;
}
div.pum-container div.wp-block-pdfp-pdf-poster { /* PDF */
    border: 1px solid #DDD;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
}
div.pum-container ol,
ol.agresta-ordered-list {
    list-style-type: none;
    padding: 0px !important;
    margin: 0px !important;
}
div.pum-container ol li,
ol.agresta-ordered-list li {
    counter-increment: step-counter;
    margin: 35px 0px;
    padding: 0 0 0 50px;
    position: relative;
}
div.pum-container ol li:nth-child(1),
ol.agresta-ordered-list li:nth-child(1) {
    margin-top: 0px;
}
div.pum-container ol li::before,
ol.agresta-ordered-list li::before {
    background-color: #108537;
    content: counter(step-counter);
    font-size: 1.2em;
    font-weight: 700;
    border-radius: 3px;
    display: block;
    position: absolute;
    top: 0px;
    left: 0;
    min-width: 40px;
    padding: 5px 0;
    color: white;
    text-align: center;
}
@media only screen and (max-width : 768px) {
    div.pum-container{
        width: 90% !important;
        margin-left: auto;
        margin-right: auto;
    }    
}

/* CONTACT FORM MAIN STYLES */
body.page-id-28,
body.page-id-28 .inside-article {
    background-color: #fafafa;
}
body.page-id-28 .donde-estamos {
    margin-top: 2em;
    margin-bottom: 4em;
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
    border: 1px solid #dddddd;
    border-radius: 10px;
    padding: 2em;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
    background-color: white;
}
body.page-id-28 .donde-estamos .wp-block-columns {
    margin-bottom: 0px;
}
body.page-id-28 #main {
    padding-left: 1em;
    padding-right: 1em;
}
div.wpcf7 {
    margin-top: 2em;
    margin-bottom: 4em;
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
    border: 1px solid #dddddd;
    border-radius: 10px;
    padding: 2em;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
    background-color: white;
}
div.wpcf7 div.wpcf7-response-output {
	margin-top: 0px;
}
div.wpcf7 input[type='text'],
div.wpcf7 input[type='email'],
div.wpcf7 input[type='textarea'],
div.wpcf7 input[type='submit'] {
	width: 100%;
}
div.wpcf7 input[type='textarea'],
div.wpcf7 textarea {
	max-height: 100px;
}
div.wpcf7 input[type='submit'] {
	background-color: #108537;
	color: white;
}
div.wpcf7 input[type='submit']:hover {
	background-color: #15b74b;
	color: white;
}

/* MAIN MENU STYLES */
nav.main-navigation {
	padding: 0.5em 0px;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2) !important;
}
body:not(.home) nav.main-navigation {
	margin-bottom: 1em;
}
nav.main-navigation div.navigation-branding {
	padding-left: 2.3em;
}
nav.main-navigation div.navigation-branding img.header-image.is-logo-image {
	height: 70px;
	width: auto;
	padding: 0px;
}
nav.main-navigation div#primary-menu li.current-menu-ancestor > a,
nav.main-navigation div#primary-menu li.current-menu-item a,
nav.main-navigation div#primary-menu a:hover {
	font-weight: bold;
}
nav.main-navigation div#primary-menu > ul > li > a {
	font-size: 1em;
	padding-left: 12px;
    padding-right: 12px;
    line-height: 40px !important;
    text-transform: uppercase;
    letter-spacing: 1px;
}
nav.main-navigation span.mobile-menu {
    display: none;
}
@media (max-width: 768px) {
    nav.main-navigation div#primary-menu {
        padding-top: 1em;
    }
}
@media (min-width: 768px) {
    nav.main-navigation div#primary-menu > ul > li.current-menu-ancestor:not(.current-menu-ancestor) > a:after,
    nav.main-navigation div#primary-menu > ul > li.current-menu-item:not(.current-menu-ancestor) a:after {
        content: '';
        display: block;
        width: 40px;
        height: 3px;
        background-color: #108537;
        margin-top: 0px;
        margin-left: auto;
        margin-right: auto;
    }
}

/* FOOTER */
div.site-footer {
	box-shadow: 0 -4px 6px rgba(0, 0, 0, 0.2) !important;
}
div.site-footer div.footer-widgets-container .inside-footer-widgets {
	align-items: center;
}
div.site-footer ul#menu-menu-paginas-legales li {
	text-transform: uppercase;
	letter-spacing: 1px;
    margin-bottom: 0px !important;
}
div.site-footer ul#menu-menu-paginas-legales li a {
	text-decoration: none;
}
div.site-footer ul#menu-menu-paginas-legales li a:hover {
	font-weight: bold;
	color: #108537;
}
@media only screen and (min-width : 768px) {
    div.site-footer div.footer-widgets-container {
        padding: 1.25em 2em;
    }
    div.site-footer ul#menu-menu-paginas-legales {
        display: flex;
        list-style: none;
        padding: 0;
        margin: 0;
        gap: 1rem;
    }
    div.site-footer ul#menu-menu-paginas-legales li:not(:last-child)::after {
      content: "|";
      margin-left: 10px;
      color: #999; /* color del separador */
    }
}
@media only screen and (max-width : 768px) {
    div.site-footer div.footer-widgets-container {
        padding: 1em;
    }
    div.site-footer div.footer-widget-1 {
        margin-bottom: 1em;
    }
    div.site-footer div.footer-widget-1 li {
        text-align: center;
    }
}

/* HOMEPAGE HEADER STYLES */
body.home .page-hero .background-media {
	position: relative;
	width: 100%;
	height: 60vh;
	overflow: hidden;
}
body.home .page-hero .background-media video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
    z-index: -1;
}
body.home .page-hero .background-media #mobile-background {
	position: absolute;
	top: 50%;
	left: 50%;
	min-width: 100%;
	min-height: 100%;
	width: auto;
	height: auto;
	z-index: -1;
	transform: translate(-50%, -50%);
	object-fit: cover;
	filter: contrast(1.05) brightness(1.05);
}
body.home .page-hero .background-media .content {
	position: relative;
	z-index: 2;
	color: white;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
}
body.home .page-hero .background-media .overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;  
	z-index: 1;
	background-color: rgba(0, 0, 0, 0.25);
}
body.home .page-hero .background-media .content > div {
    max-width: 800px;
}
body.home .page-hero .background-media .content > div h1 {    
    color: white;
    letter-spacing: 4px;
    font-weight: bold;    
}
body.home .page-hero .background-media .content > div p { 
    margin-bottom: 0px !important;
    padding-bottom: 0px !important;
    font-weight: bold;
    text-align: center;
    color: white;
}
@media only screen and (max-width : 768px) {
    body.home .page-hero #mobile-background {
        display: block;
    }
    body.home .page-hero .background-media video {
        display: none;
    }
    body.home .page-hero .background-media .content {
        padding-left: 1em;
        padding-right: 1em;        
    }
    body.home .page-hero .background-media .content > div h1 {
        font-size: 3.2em;
    }
    body.home .page-hero .background-media .content > div p {
        font-size: 1.6em;
    }
    body.home .page-hero .background-media {
        max-height: 600px;
    }
}
@media only screen and (min-width : 768px) {
    body.home .page-hero #mobile-background {
        display: none;
    }
    body.home .page-hero .background-media video {
        display: block;
    }
    body.home .page-hero .background-media .content > div h1 {
        font-size: 4em;
    }
    body.home .page-hero .background-media .content > div p {
        font-size: 1.9em;
    }
}

/* CONTENIDO HOMEPAGE */
body.home .que-es-mosqueruela-biofor {
	max-width: 960px;	
	margin-left: auto;
	margin-right: auto;
}
@media only screen and (max-width : 768px) {
    body.home .que-es-mosqueruela-biofor {
        padding: 1em;
    }
}
@media only screen and (min-width : 768px) {
    body.home .que-es-mosqueruela-biofor {
        padding: 3em 1em;
    }
}
body.home .que-es-mosqueruela-biofor h2:after {
    content: '';
    display: block;
    width: 1.6em;
    height: 2px;
    background-color: #222;
    margin-top: 0.25em;
    margin-left: auto;
    margin-right: auto;
}
body.home .que-es-mosqueruela-biofor p:last-child {
	margin-bottom: 0px !important;
}

body.home .por-que-es-necesario {
    gap: 0px;
    background-color: #e5ebc7;
    border-top: 1px solid #108537;
    border-bottom: 1px solid #108537;
    margin-bottom: 0px;
}
body.home .por-que-es-necesario .wp-block-cover {
    height: 100%;
}
body.home .por-que-es-necesario .wp-block-cover > div.wp-block-cover__image-background { 
    clip-path: polygon(8% 0, 100% 0, 100% 100%, 0% 100%);
}
body.home .por-que-es-necesario .wp-block-column:nth-child(1) {
    padding: 2em;
}
body.home .por-que-es-necesario .wp-block-column:nth-child(1) > h2:after {
    content: '';
    display: block;
    width: 1.6em;
    height: 2px;
    background-color: #222;
    margin-top: 0.25em;
    margin-left: auto;
    margin-right: auto;
}
body.home .por-que-es-necesario .wp-block-column:nth-child(1) > p {
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
}
@media only screen and (max-width : 768px) {
    body.home .por-que-es-necesario .wp-block-cover {
        display: none;
    }
}

body.home .objetivos-principales {		
	background-image: linear-gradient(white, #fafafa);
	margin-bottom: 0px !important;
	padding: 3em 1em 1em 1em;
}
body.home .objetivos-principales > div.wp-block-column {
	max-width: 1200px;	
	margin-left: auto;
	margin-right: auto;
}
body.home .objetivos-principales h2 {
	margin-bottom: 0.75em;
}
body.home .objetivos-principales h2:after {
    content: '';
    display: block;
    width: 1.6em;
    height: 2px;
    background-color: #222;
    margin-top: 0.25em;
    margin-left: auto;
    margin-right: auto;
}
body.home .objetivos-principales .objetivos div.wp-block-column {
    border-radius: 15px;
    padding: 1em 0.5em !important;
    text-align: center;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
}
body.home .objetivos-principales .objetivos div.wp-block-column * {
    padding: 0px;
}
body.home .objetivos-principales .objetivos div.wp-block-column h3 {
    margin-bottom: 10px;
    font-weight: bold;
    font-size: 1.35em;
}
body.home .objetivos-principales .objetivos div.wp-block-column .dashicons {
    width: 100px;
    height: 100px;
    font-size: 5em;
}
body.home .objetivos-principales .objetivos div.wp-block-column p {
    margin-bottom: 0px;
    font-size: 0.9em;
}

body.home .lineas-actuacion {
	background-image: linear-gradient(#fafafa, white);
	margin-bottom: 0px !important;
	padding: 0px 1em 1em 1em;
}
body.home .lineas-actuacion > div.wp-block-column {
	max-width: 800px;	
	margin-left: auto;
	margin-right: auto;
}
body.home .lineas-actuacion h2 {
	margin-bottom: 0.5em;
}
body.home .lineas-actuacion h2:after {
    content: '';
    display: block;
    width: 1.6em;
    height: 2px;
    background-color: #222;
    margin-top: 0.25em;
    margin-left: auto;
    margin-right: auto;
}

body.home .igualdad-participacion-vison-futuro {
    margin-bottom: 0px;
}
body.home .igualdad-participacion-vison-futuro .wp-block-columns {
    gap: 0;
    margin-bottom: 0px;
}
body.home .igualdad-participacion-vison-futuro .wp-block-columns .wp-block-column.text {
    padding: 2em 0px;
}
body.home .igualdad-participacion-vison-futuro .wp-block-columns .wp-block-column.text h2::before {
    content: '';
    display: block;
    width: 0.75em;
    height: 3px;
    background-color: #000;
    margin-bottom: 0.1em;
}
body.home .igualdad-participacion-vison-futuro .wp-block-columns .wp-block-column.text p:last-child {
    margin-bottom: 0px !important;
}
body.home .igualdad-participacion-vison-futuro .wp-block-columns .wp-block-column.text  * {
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}
@media only screen and (max-width : 768px) {
    body.home .igualdad-participacion-vison-futuro .wp-block-columns .wp-block-column.text h2,
    body.home .igualdad-participacion-vison-futuro .wp-block-columns .wp-block-column.text p {
        padding-left: 1em;
        padding-right: 1em;
    }
    body.home .igualdad-participacion-vison-futuro .wp-block-columns:nth-child(2) {
        flex-direction: column-reverse;
    }    
}
@media only screen and (min-width : 768px) {
    body.home .igualdad-participacion-vison-futuro .wp-block-columns .wp-block-column.text h2{
    	padding-left: 2em;
        padding-right: 2em;
    }
    body.home .igualdad-participacion-vison-futuro .wp-block-columns .wp-block-column.text p {
        padding-left: 2.25em;
        padding-right: 2.25em;
    }
}

/* ACCIONES & PRODUCTOS */
body.page-id-24 .grid-container,
body.page-id-154 .grid-container {
    width: 100%;
}

/*
      PÁG. DE RECURSOS RECURSOS:
    - GESTIÓN FORESTAL SOSTENIBLE Y BIOECONOMÍA
    - PARAJES FORESTALES SINGULARES 
    - RECOMENDACIONES TÉCNICAS DE GESTIÓN FORESTAL
*/
body.page-id-150,
body.page-id-156,
body.page-id-152 {
    background-color: #fafafa;
}
body.page-id-150 nav,
body.page-id-150 main,
body.page-id-156 nav,
body.page-id-156 main,
body.page-id-152 nav,
body.page-id-152 main {
    margin-bottom: 2em !important;
}
body.page-id-150 div.page-hero,
body.page-id-156 div.page-hero,
body.page-id-152 div.page-hero {
    border-radius: 10px 10px 0px 0px !important;
}
body.page-id-150 main,
body.page-id-150 main > article,
body.page-id-150 main > article > div,
body.page-id-156 main,
body.page-id-156 main > article,
body.page-id-156 main > article > div,
body.page-id-152 main,
body.page-id-152 main > article,
body.page-id-152 main > article > div {
    border-radius: 0px 0px 10px 10px !important;
}
body.page-id-150 div.page-hero,
body.page-id-150 main,
body.page-id-156 div.page-hero,
body.page-id-156 main,
body.page-id-152 div.page-hero,
body.page-id-152 main {
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
}
@media only screen and (max-width : 768px) {
    body.page-id-150 div.page-hero,
    body.page-id-150 div.site-content,
    body.page-id-156 div.page-hero,
    body.page-id-156 div.site-content,
    body.page-id-152 div.page-hero,
    body.page-id-152 div.site-content {
        max-width: 800px !important;
        width: 90%;
        margin-left: auto;
        margin-right: auto;
    }
}
@media only screen and (min-width : 768px) {
    body.page-id-150 div.page-hero,
    body.page-id-150 div.site-content,
    body.page-id-156 div.page-hero,
    body.page-id-156 div.site-content,
    body.page-id-152 div.page-hero,
    body.page-id-152 div.site-content {
        width: 800px !important;
        margin-left: auto;
        margin-right: auto;
    }
}
body.page-id-150 div.page-hero h1,
body.page-id-156 div.page-hero h1,
body.page-id-152 div.page-hero h1 {
    color: white;
    text-align: center;
    padding: 0em 1em;
    margin-bottom: 0px;
    font-weight: bold;
}
body.page-id-150 div.page-hero h1:after,
body.page-id-156 div.page-hero h1:after,
body.page-id-152 div.page-hero h1:after {
    content: '';
    display: block;
    width: 1.6em;
    height: 3px;
    background-color: #222;
    margin-top: 0.25em;
    margin-left: auto;
    margin-right: auto;
    background-color: white;
}
@media only screen and (max-width : 768px) {
    body.page-id-150 div.page-hero h1,
    body.page-id-156 div.page-hero h1,
    body.page-id-152 div.page-hero h1 {
        font-size: 2em;
    }
}
body.page-id-150 div.grid-container main,
body.page-id-156 div.grid-container main,
body.page-id-152 div.grid-container main {
    margin-top: 0px !important;
}
body.page-id-150 div.grid-container main .inside-article,
body.page-id-156 div.grid-container main .inside-article,
body.page-id-152 div.grid-container main .inside-article {
    padding: 1em !important;
}
body.page-id-150 h2,
body.page-id-156 h2,
body.page-id-152 h2 {
    font-weight: bold;
    font-size: 1.4em;
    letter-spacing: 1px;
    margin-bottom: 0.5em;
    margin-top: 1.5em;
}
body.page-id-150 h3,
body.page-id-156 h3,
body.page-id-152 h3 {
    font-weight: bold;
    font-size: 1.1em;
    letter-spacing: 1px;
    margin-bottom: 0.5em;
    margin-top: 0px;
}
body.page-id-150 h2:nth-child(1),
body.page-id-156 h2:nth-child(1),
body.page-id-152 h2:nth-child(1) {
    margin-top: 0px !important;
}
body.page-id-150 div.cta_wrapper,
body.page-id-156 div.cta_wrapper,
body.page-id-152 div.cta_wrapper { /* PDF FULL SCREEN BUTTON */
    display: none;
}
body.page-id-150  div.wp-block-pdfp-pdf-poster,
body.page-id-156  div.wp-block-pdfp-pdf-poster,
body.page-id-152  div.wp-block-pdfp-pdf-poster { /* PDF */
    border: 1px solid #DDD;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
}
body.page-id-156 div.inside-article div.wp-block-image,
body.page-id-156 div.inside-article div.wp-block-image > figure,
body.page-id-156 div.inside-article div.wp-block-image img,
body.page-id-152 div.inside-article div.wp-block-image,
body.page-id-152 div.inside-article div.wp-block-image > figure,
body.page-id-152 div.inside-article div.wp-block-image img {
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
}
body.page-id-152 .agresta-featured-columns {
    margin-top: 2em;
}
body.page-id-152 .agresta-featured-columns,
body.page-id-152 .agresta-featured-columns p {
    margin-bottom: 0px;
}
body.page-id-152 .agresta-featured-columns img {
    border-radius: 3px;
    margin-bottom: 0.5em;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
}