/*
Theme Name: BlankSlate
Theme URI: https://opencollective.com/blankslate
Author: Web Guy
Author URI: https://opencollective.com/blankslate#section-contributors
Description: Donate: https://opencollective.com/blankslate. Learn: https://blankslate.me/. BlankSlate is the definitive WordPress boilerplate starter theme. I've carefully constructed the most clean and minimalist theme possible for designers and developers to use as a base to build websites for clients or to build completely custom themes from scratch. Clean, simple, unstyled, semi-minified, unformatted, and valid code, SEO-friendly, jQuery-enabled, no programmer comments, standardized and as white label as possible, and most importantly, the CSS is reset for cross-browser-compatability, with no intrusive visual CSS styles added whatsoever. A perfect skeleton theme. For support and suggestions, go to: https://github.com/webguyio/blankslate/issues. Thank you.
Tags: accessibility-ready, one-column, two-columns, custom-menu, featured-images, microformats, sticky-post, threaded-comments, translation-ready
Version: 2025
Requires at least: 5.2
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v3 or Later
License URI: https://www.gnu.org/licenses/gpl.html
Text Domain: blankslate

BlankSlate WordPress Theme 2011-2025
BlankSlate is distributed under the terms of the GNU GPL
*/

html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}html{scroll-behavior:smooth}body{line-height:1}a{text-decoration-skip-ink:auto}a[href^="tel"]{color:inherit;text-decoration:none}button{outline:0}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}q{display:inline;font-style:italic}q:before{content:'"';font-style:normal}q:after{content:'"';font-style:normal}textarea,input[type="text"],input[type="button"],input[type="submit"],input[type="reset"],input[type="search"],input[type="password"]{-webkit-appearance:none;appearance:none;border-radius:0}input[type="search"]{-webkit-appearance:textfield}table{border-collapse:collapse;border-spacing:0}th,td{padding:2px}big{font-size:120%}small,sup,sub{font-size:80%}sup{vertical-align:super}sub{vertical-align:sub}dd{margin-left:20px}kbd,tt{font-family:courier;font-size:12px}ins{text-decoration:underline}del,strike,s{text-decoration:line-through}dt{font-weight:bold}address,cite,var{font-style:italic}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
.sticky{}.bypostauthor{}.wp-caption{}.wp-caption-text{}.gallery-caption{}.alignright{}.alignleft{}.aligncenter{}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important;word-break:normal}
.screen-reader-text:focus{background-color:#f7f7f7;border-radius:3px;box-shadow:0 0 2px 2px rgba(0,0,0,.6);clip:auto!important;-webkit-clip-path:none;clip-path:none;color:#007acc;display:block;font-size:14px;font-size:.875rem;font-weight:700;height:auto;right:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}
.skip-link{left:-9999rem;top:2.5rem;z-index:999999999;text-decoration:underline}
.skip-link:focus{display:block;left:6px;top:7px;font-size:14px;font-weight:600;text-decoration:none;line-height:normal;padding:15px 23px 14px;z-index:100000;right:auto}
.visually-hidden:not(:focus):not(:active), .form-allowed-tags:not(:focus):not(:active){position:absolute !important;height:1px;width:1px;overflow:hidden;clip:rect(1px 1px 1px 1px);clip:rect(1px, 1px, 1px, 1px);white-space:nowrap}
body {
	font-family: "Raleway", sans-serif;
}
#header {
	position:relative;
}
.barra-menu {
	display:flex;
	position:absolute;
	z-index:13;
	width:100%;
	justify-content:space-between;
	height:fit-content;
}
.logo {
	padding:3.5rem;
	text-transform: uppercase;
	font-weight:800;
	font-size:1.5em;
	z-index:9;
	position:relative;
	visibility:visible;
}
.logo.open{
	visibility: hidden;
}
.logo h1 a {
	color:white;
	text-decoration:none;
}
.logo h2 a {
	font-size:.8em;
	color:white;
	text-decoration:none;
}
.navegacion {
	position:absolute;
	right:0;
	width:100%;
	text-align:center;
	height:100%;
}
.menu-top {
	position:absolute;
	height:100%;
	width:100%;
}
.hamburger {
	position:absolute;
	right:0;
}

/* Burger Button */
.hamburger {
  cursor: pointer;
  width: 30px;
  height: 24px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  margin:3.5em;
  z-index: 10;
}
.hamburger div {
  height: 4px;
  background: white;
  border-radius: 2px;
  transition: all 0.3s ease;
  position: relative;
}
.hamburger.open div:nth-child(1) {
  transform: rotate(45deg);
  top: 5px;
}
.hamburger.open div:nth-child(2) {
  opacity: 0;
}
.hamburger.open div:nth-child(3) {
  transform: rotate(-45deg);
  top: -14px;
}
.hamburger.open div {
  background: white; /* ← cambia de color al abrir */
}

/* Menu default closed */
/* Fondo del menú en overlay */
#menu {
  position: fixed;      /* se queda fijo en pantalla */
  top: 0;
  left: 0;
  width: 100%;
  height: 0;            /* inicia cerrado */
  overflow: hidden;
  background: #140030; /* fondo oscuro */
  transition: height 0.4s ease;
  z-index: 9;
}

/* Al abrir el menú: ocupa toda la pantalla */
#menu.open {
  height: 100vh;   /* ocupa toda la pantalla vertical */
}

/* Aseguramos que los items del menú se vean bien */
#menu .menu-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center; /* centra verticalmente */
  height: 100%;
  color: white;
}


/* Vertical list menu style */
#menu ul {
  list-style: none;
  padding: 0;
  /*margin: 1rem 0;*/
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
#menu ul li {
  font-size: 1.5rem;
}
#menu ul li  a {
	color:white;
	font-weight:600;
	text-decoration: none;
}
li.menu-item-has-children a:after{
	color:white; 
	content: ' ▾';
}
.sub-menu li a:after {
	content: ' ';
	
}
#menu .current_page_item span{
	color:#00FF00;
}
#menu .sub-menu li a {
	color:#a7a7a7;
}
/* Optional: style search form */
#search {
  margin-bottom: 1rem;
}
/* Submenús inicialmente ocultos */
#menu .sub-menu {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s ease;
  position: relative;
}
#menu .sub-menu::before {
  content: "";
  display: block;
  height: 0; /* aquí está el "padding-top" visual */
}
/* Submenú abierto */
#menu .sub-menu.open {
  max-height: 500px; /* suficiente para el contenido + ::before */
}

/* Opcional: animación del ícono */
li.menu-item-has-children > a::after {
  content: ' ▾';
  transition: transform 0.3s ease;
}

li.menu-item-has-children.open > a::after {
  transform: rotate(180deg); /* flecha hacia arriba */
}


/* gLLERY FIX ***/
/* SOLO para galerías cuadradas */
.squared-gallery.wp-block-gallery {
  display: grid !important;
  grid-template-columns: repeat(5, 1fr);
  gap: 10px;
  margin: 3.5em;
}
.squared-gallery.wp-block-gallery .blocks-gallery-item,
.squared-gallery.wp-block-gallery figure {
  width: 100% !important;
  overflow: hidden;
}
.squared-gallery.wp-block-gallery img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  cursor: pointer;
  display: block;
}

/* === Lightbox === */
#lightbox {
  display: none;               /* Oculto al inicio */
  position: fixed;             /* Fija sobre toda la pantalla */
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,0.9);
  justify-content: center;     /* Centra horizontalmente */
  align-items: center;         /* Centra verticalmente */
  z-index: 9999;
  text-align: center;
  flex-direction: row;
}

#lightbox img.lightbox-image {
	display:block;
  max-width: 80vw;
  max-height: 80vh;
	margin:0 auto;
}

#lightbox .lightbox-close,
#lightbox .lightbox-prev,
#lightbox .lightbox-next {
  position: absolute;
  color: white;
  font-size: 50px;
  cursor: pointer;
  z-index: 10000;
  background: none;
  border: none;
}

#lightbox .lightbox-close {
  top: 20px;
  right: 30px;
}

#lightbox .lightbox-prev {
  top: 50%;
  left: 20px;
  transform: translateY(-50%);
}

#lightbox .lightbox-next {
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
}


/*  paginas  */
#header-pagina {
	height:40vh;
}
.header-thumbnail {
	position:relative;
}
.titulo-pagina {
	font-size: 2.5em;
  font-weight: 800;
  color: white;
  position: absolute;
  bottom: 1em;
  z-index: 2;
  padding: 2rem;
}
.titulo-destacados {
	font-size:1.5em;
	font-weight: bold;
	padding:3.5rem 0 0 3.5rem
}
.bio {
	padding:3.5rem;
	line-height:1.5;
	width:60%;
}
.bio p {
	font-size:1em;	
	margin-top:1em;
}
.bio h2 {
	font-size:1em;
	font-weight:800;
}
#enlace-cv {
  padding: 1em;
  border: black 1px solid;
  margin: 1em 0;
  display: block;
  width: fit-content;
  color: black;
  text-decoration: none;
}
#enlace-cv:hover{
  background: #54f227;
  color: #140030;
		}
#enlace-cv-inicio {
	text-decoration:none;
	padding:.5em 0;
	color:gray;
}
#enlace-cv-inicio:hover {
	color:#54f227;
}
.miriaris {
	margin-top:0!important;
}
.bio-texto
.bio-inicio {
	background-color:#d2d0d0;
	padding:4em 20%;
	width:100%;
	display:flex;
}
.bio-inicio-foto {
	width:30%;
}
.bio-inicio-texto {
	width:70%;
	line-height:1.5em;
	font-size:1.2em;
	margin-left:2em;
}
.bio-inicio-texto:hover{
	color:gray;
}
strong {
	font-weight:800;
}
#footer {
	width:100%;
	background-color: #140030;
	padding-bottom:3em;
}
.footer-navigation {
	font-size: 'Raleway', sans-serif;
	font-weight: 800;
}
.logo-footer {
	padding-bottom:0!important;
	font-size:1em;
}
.footer-menu{
	padding:2em 3.5em;
	display:flex;
	flex-wrap:wrap;
}
.footer-menu li {
	margin-right:2em;
}
.footer-menu li a {
	color:white;
	text-decoration:none;
}
.footer-menu li a:hover {
	color:#00FF00;
}
/* File: wp-content/themes/your-theme/style.css (append these rules) */

/* Utility: accessible hidden text */
.sr-only {
  position: absolute !important;
  height: 1px; width: 1px;
  overflow: hidden;
  clip: rect(1px,1px,1px,1px);
  white-space: nowrap;
  border: 0; padding: 0; margin: -1px;
}

/* Footer container */
.cc-footer {
  background: #140030;
  color: #fff;
  padding: 5em 10px 2em;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  text-align: center;
}

/* inner wrapper keeps content width-controlled */
.cc-footer__inner {
  max-width: 1500px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 14px;
  align-items: center;

}

/* Line 1: brand */
.cc-footer__brand {
  font-size: 1.05rem;
  font-weight: 800;
text-transform: uppercase;
font-family: 'Raleway', sans-serif;
}
/* Line 1: social */
.cc-footer__social {
  display: flex;
  gap: 18px;
  justify-content: center;
  align-items: center;
}

.cc-icon {
  font-size: 24px;   /* make icons same visual size */
  color: #fff;       /* default white */
  transition: color .2s ease, transform .2s ease;
}
.cc-footer__social a {
	text-decoration:none;
}
.cc-icon:hover,
.cc-icon:focus {
  color: #00FF00;    /* green hover */
  transform: translateY(-2px);
}

.cc-icon .dashicons {
  font-size: inherit;
  line-height: 1;
}




/* Line 3: nav links horizontal */
.cc-footer__nav { width: 100%; }
.cc-footer__links {
  display: flex;
  flex-wrap: wrap;
 /* gap: 10px 18px;*/
  justify-content: center;
  align-items: center;
  padding: 0;
  margin: 0;
  list-style: none;
  font-size: 0.75rem;
}

/* individual link styling */
.cc-footer__links a {
  color: #fff;
  text-decoration: none;
  padding: 4px 6px;
  transition: color .12s ease, text-decoration .12s ease;
  text-transform: uppercase;
  font-weight: 600;
	text-transform: uppercase;
font-family: 'Raleway', sans-serif;
}

/* subtle hover underline */
.cc-footer__links a:hover,
.cc-footer__links a:focus {
  color: #00FF00;
  text-decoration: none;
  outline: none;
}

/* Responsive: reduce spacing on narrow */
@media (max-width: 520px) {
  .cc-footer__inner { gap: 8px; padding: 22px 12px; }
  .cc-footer__brand { font-size: 1rem; }
  .cc-footer__links { gap: 8px 12px; font-size: .92rem; }
}

/*************************** masonry ***************************/
/**************************************************************/
/* =============================
   Masonry Gallery
============================= */
/* =============================
   Masonry Gallery
============================= */
.masonry-gallery-custom {
    margin: 4em auto;
    width: 100%;
    max-width: 1200px; /* ancho máximo para desktop */
    position: relative;
}

.masonry-grid-sizer,
.masonry-grid-item {
    width: 32.333%; /* 3 columnas por defecto */
	margin:.5em 0;
}

.masonry-grid-item img {
    width: 100%;
    height: auto;
    display: block;
}
.nav-links {
	display: flex;
    flex-direction: row;
    align-items: center;
	justify-content:center;
}
	.masonry-caption {
    margin-top: 6px;
    font-size: .85em;
    color: #555;
    text-align: center;
    line-height: 1.2;
		text-transform:uppercase;
		font-weight:800;
}
/* Media queries para responsive */
@media (max-width: 1024px) {
    .masonry-grid-sizer,
    .masonry-grid-item {
        width: 48%; /* 2 columnas */
    }
}

@media (max-width: 600px) {
    .masonry-grid-sizer,
    .masonry-grid-item {
        width: 100%; /* 1 columna */
    }
	.logo {
		padding:1.5rem;
	}
	.hamburger {
		margin:1.3rem;
	}
	.header-thumbnail{
		padding:1.5rem!important;
	}
	.header-thumbnail .titulo-pagina {
		font-size:2em!important;
	}
	.titulo-pagina {
		padding:0!important;
	}
	.bloque-cat-grid {
		padding:2rem!important;
	}
	.cc-footer__links {
		display:block!important;
	}
	.cc-footer__links li {
		margin:1em auto;
	}
	.mincap {
		margin:2em auto;
	}
	.logo-mincap {
	  width: 40vw;
	  margin: 0 auto;
	}
	.leyenda  {
    font-size: .8em;
    width: 70vw;
    margin: 1em auto;
    line-height: 1.2;
  }
	.header-single {
		padding:30vh 2rem 3.5rem 2rem!important;
	}
	.header-single .titulo {
		font-size:2rem!important;
	}
	.bio {
		width:100%;
		padding:1.5rem!important;
	}
	.header-thumbnail-noticias {
		padding:1.5rem!important;
	}
	.contenido-taller {
		padding:1em!important;
		
	}
	.bloque-cat-item .titulo {
		bottom:0!important;
		line-height:1!important;
	}
	.bloque-cat-item-talleres {
		aspect-ratio: 1/2.3!important;
	}
	.nav-links {

	  flex-direction: column;

	}
	.noticias-grid {
		padding:1rem!important;
	}
	.contacto, .wpcf7-form {
		padding:1.5em;
	}
	.wpcf7 .textarea-wrapper {
		width:100%;
		padding:1em;
	}
	.contacto, .wpcf7-form {
		padding:1em!important;
	}
	.contacto, .wpcf7-form {
		width:100%!important;
		padding:1.2em!important;
	}
}
/* Aseguramos que el box-sizing no rompa los cálculos */
.masonry-gallery-custom,
.masonry-gallery-custom * {
    box-sizing: border-box;
}


/* =============================
   Lightbox
============================= */
#lightbox {
    position: fixed;
    display: none;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.9);
    z-index: 9999;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

#lightbox.active {
    display: flex;
}

#lightbox .lightbox-image {
    max-width: 90%;
    max-height: 90%;
    box-shadow: 0 0 20px rgba(0,0,0,0.5);
    border-radius: 4px;
}

#lightbox .close,
#lightbox .prev,
#lightbox .next {
    position: absolute;
    color: #fff;
    font-size: 2rem;
    cursor: pointer;
    user-select: none;
    transition: 0.2s;
}

#lightbox .close {
    top: 20px;
    right: 30px;
}

#lightbox .prev {
    left: 20px;
    top: 50%;
    transform: translateY(-50%);
}

#lightbox .next {
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
}

#lightbox .close:hover,
#lightbox .prev:hover,
#lightbox .next:hover {
    color: #ddd;
}
/************** noticias*****************/
.noticias-grid {
  display: grid;
  grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));
  gap: 2rem;
	padding:3.5rem;
}

.noticia-item {
  display: block;
  text-decoration: none;
  color: inherit;
}

.noticia-thumb {
  width: 100%;
  aspect-ratio: 4 / 5; /* mantiene proporción */
  background-size: cover;
  background-position: center;
  border-radius: 8px;
}

.noticia-title {
  margin-top: 0.75rem;
  font-size: 1rem;
  text-align: left;
	font-weight:800;
	text-transform:uppercase;
	
}
.contacto, .wpcf7-form{
	font-size:1rem;
	text-transform: uppercase;
	padding:1em 3.5rem;
	width:50%;
}
.wpcf7-spinner {
	margin:1em 24px -6px
}
.wpcf7-spinner::before {
}
.wpcf7 input[type="text"], .wpcf7 input[type="email"] {
	margin:1em 0;
	border:0;
	border-bottom:1px solid gray;
	width:100%;
}
.wpcf7 input[type="text"]:focus, .wpcf7 input[type="email"]:focus {
	outline:0;
	border-bottom:2px solid #00FF00;
	width:100%;
}
.wpcf7 input[type="submit"] {
	border:0;
	background-color:#00FF00;
	padding:.5em;
	font-size:.9em;
	font-family:'Raleway', sans-serif;
}
.wpcf7 form.sent .wpcf7-response-output {
  border: 0;
  margin: 1em 0;
  color: #0f0;
  font-weight: 800;
	padding:0;
}
/* === Contenedor general === */
.wpcf7 .textarea-wrapper {
  display: flex;
  position: relative;
  font-family: monospace;
  background: #fafafa;
  border: 1px solid #ddd;
  border-radius: 4px;
  overflow: hidden;
  margin: 1em 0;
  width: 100%;
}

/* === Columna de números === */
.wpcf7 .line-numbers {
  background: #f0f0f0;
  color: #999;
  text-align: right;
  padding: 0.5em 0.7em 0.5em 0.3em;
  user-select: none;
  white-space: nowrap;
  border-right: 1px solid #ddd;
}

/* === Textarea original de CF7 === */
.wpcf7 .wpcf7-textarea {
  flex: 1;
  border: none;
  outline: none;
  resize: none;
  padding: 0.5em;
  font-family: inherit;
  line-height: 1.4em;
  background: transparent;
  box-shadow: none;
}

@media (min-width: 600px) {
	.mincap {
		width:100%;
	}
	.logo-mincap {
		width: 18vh;
    	margin: 3em auto 1em;
	}
	.leyenda p {
		font-size:.9em;
		line-height:1.5;
		margin-bottom:3em;
	}
	
 }




