/**
 * Theme Name:     GridMag Child
 * Author:         ThemesDNA
 * Template:       gridmag
 * Text Domain:	   gridmag-child
 * Description:    GridMag is an elegant and responsive, masonry grid WordPress theme to create beautiful gallery websites. Using its Theme Customizer options, you can easily change things around and see live results before applying them to your website. GridMag has 2 navigation menus, grid post summaries, full-width layout for posts/pages, sticky menu and sticky sidebar, 5 columns footer, header and footer social buttons, scroll-to-top button and more. With GridMag PRO version you can get color and font options, post likes and post views system, 1/2/3/4/5 columns grid layouts, horizontal/square/vertical/auto-height thumbnail styles, recent/category/tag based featured posts widgets with capability to display posts according to likes/views/comments/dates and more, news ticker, social profile widget, about me widget, tabbed widget, different layout options for singular and non-singular pages, more custom page/post templates, 3 header layouts, share buttons, built-in contact form, related posts with thumbnails and more features. Free version demo: https://demo.themesdna.com/gridmag/
 */
/* Mines-------------------------------------------------------------- */
.card1 {  position: relative;  display: -ms-flexbox;  display: flex;  flex-direction: column;  min-width: 0;  word-wrap: break-word;  background-color: #fff;  background-clip: border-box;  border: 0px solid rgba(0,0,0,.125);  border-radius: .25rem;}
.card-header1 {  padding: .75rem 1.25rem;  margin-bottom: 0;  background-color: rgba(0,0,0,.03);  border-bottom: 0px solid rgba(0,0,0,.125);}
tsinfo{font-size:150%;position:relative;border-left:none;text-align:center;padding:0 20px;margin:10px 0;}
blockquote1{background-color: #E4E4E4;font-style: italic;font-size:110%;position:relative;border-left:none;text-align:left;padding:10px 0px 25px 10px;margin:10px 0;}
blockquote {
  overflow: hidden;
  position: relative;
  font-style: italic;
  font-size: 11pt;
  background: rgb(229,240,255) url('/i/23px-light.png') repeat-x top;
  padding:10px;
  border-radius: 4px;
  border:1px solid #d2d5df;
}
/* Remove pointint border */
a {
  outline:none !important;
}
/* PROMO HEADER
-------------------------------------------------------------- */
/* .promoh:hover {transform: scale(1.1, 1.1);} */
.promoh:hover::after {opacity: 1;}
.promoh:hover {transform: scale(1.01, 1.01);}
/* Tag Cloud
-------------------------------------------------------------- */
.tagnube table th{padding:8px 10px;text-shadow:none;background:#000;color:#fff;}
.tagnube table tr td{padding:8px 10px;border-top:1px solid #eee;border-right:1px solid #eee;background:#fff;}
.tagnube {background:#f6f6f6;border:1px solid #e0e0e0;padding:10px;margin:15px 0 0 0;}

/* Post Content
-------------------------------------------------------------- */


.pinfo {	width: 100%;clear: both;}
.pset {float: right;	width: 20%;font-family: 'Open Sans', Arial, Helvetica, sans-serif;font-size: 16px;margin-bottom: -5%;	height: 50px;text-align: right;}
.pset a{text-decoration: none;}
.pset a:hover{text-decoration: none;}
.pcaps {	float: right;width: 20%;clear: both;margin-top: 10%;}
.pcaps :hover img {box-shadow: 2px 2px 18px gray; transform: scale(1.1, 1.1);}
/* .pcaps img { */
    /* float: left; */
    /* width:  200px; */
    /* height: 200px; */
    /* object-fit: cover; */
/* } */
.pcaps_photos {	float: right;width: 0%;clear: both;margin-top: 10%;}
.pcaps_photos :hover img {box-shadow: 2px 2px 18px gray; transform: scale(1.1, 1.1);}

.pcapsXX :hover {transform: scale(1.1, 1.1);}
.pcapsXX:hover {transform: scale(1.1, 1.1);}
.pcapsXX:hover::after {opacity: 1;}

/*  re-acomodo jul2025*/

.pcaps2x { float: right;width: 20%;clear: both;margin-top: 10%; }

.plinks2 {width: 100%;text-align: left;font-family: 'Open Sans', Arial, Helvetica, sans-serif;font-size: 16px;margin-right:1%; display: block;}
.plinks2 a{text-decoration: none;}
.plinks2 a:hover{text-decoration: none;}


/*---------------------- */
.plinks {float: left;width: 79%;text-align: left;font-family: 'Open Sans', Arial, Helvetica, sans-serif;font-size: 16px;margin-right:1%;}
.plinks a{text-decoration: none;}
.plinks a:hover{text-decoration: none;}

/* plinks4  Jun 22, 2023*/

.pset4 {float: right; display:contents; width: 20%;font-family: 'Open Sans', Arial, Helvetica, sans-serif;font-size: 16px;margin-bottom: -5%;	height: 50px;text-align: right;}
.pset4 a{text-decoration: none;}
.pset4 a:hover{text-decoration: none;}


.plinks4 {float: center;width:100%;text-align: left;font-family: 'Open Sans', Arial, Helvetica, sans-serif;font-size: 16px;margin-right:1%;}
.plinks4 a{text-decoration: none;}
.plinks4 a:hover{text-decoration: none;}

.pcaps4 {
	float: left;
	clear: both;
	display:flex;
	padding-top:25px; 
}
.pcaps4 :hover img {box-shadow: 2px 2px 18px gray; transform: scale(1.1, 1.1);}
.pcaps4 img {
    float: left;
    width:  200px;
    height: 200px;
    object-fit: cover;
	padding-right: 10px;
}
/*---------------------- */
.pcaps2 {	float: right;width: 20%;clear: both;margin-top: 10%;}
.pcaps2 img {box-shadow: 2px 2px 18px gray;}
.pcapsx:hover {transform: scale(1.1, 1.1);}
.pcapsx:hover::after {opacity: 1;}

.pcaps3 :hover img {box-shadow: 2px 2px 18px gray; transform: scale(1.1, 1.1); }

.phsets a{text-decoration: none !important;}
.phsets a:hover{text-decoration: none !important;}
.phsets {font-size: 14px; font-family: 'Open Sans', Arial, Helvetica, sans-serif; }

.stylenone a{text-decoration: none !important;}
.stylenone a:hover{text-decoration: none !important;}


.inlinks {float: left;width: 79%;text-align: left;font-family: 'Open Sans', Arial, Helvetica, sans-serif !important;font-size: 17px;margin-right:1%;}
.inlinks a{text-decoration: none !important; font-family: 'Open Sans', Arial, Helvetica, sans-serif !important;}
.inlinks a:hover{text-decoration: none !important; font-family: 'Open Sans', Arial, Helvetica, sans-serif !important;}

.inlinks2 {float: left;width: 79%;text-align: left;font-family: 'Open Sans', Arial, Helvetica, sans-serif !important;font-size: 14px;margin-right:1%;}
.inlinks2 a{text-decoration: none !important; font-family: 'Open Sans', Arial, Helvetica, sans-serif !important;}
.inlinks2 a:hover{text-decoration: none !important; font-family: 'Open Sans', Arial, Helvetica, sans-serif !important;}
/* TS Archive
-------------------------------------------------------------- */
.ts_archive {color:#E0DEDC !important;}
ul.bycategories {margin: 0;padding: 0;}
ul.bycategories li {list-style: none;list-style-type: none;margin: 0;padding: 0;}
ul.bycategories li a {list-style: none; list-style-type: none;margin: 0 20px 15px 0; float: left; background: #888888; color: #ffffff; padding: 5px 10px;border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px;}
ul.bycategories li a:hover{text-decoration: none; background: #000; color: #fff;}
.clear{clear: both;}

.tsm { margin-bottom: 0%; font-size: 14px; }
.tsm a{text-decoration: none;}
.tsm a:hover{text-decoration: none;}


/* TS comment form
-------------------------------------------------------------- */
#commentform .error  { font-size: 12px; padding: 0 0 5px 0; color: #FF0000; }
#commentform input.error, #commentform textarea.error { background: #FFD2D2; color:#000000; }

/* TS blinks
-------------------------------------------------------------- */

.blink {
  animation: blink 1s infinite;
}

@keyframes blink {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}


.blink1 {animation: blink 1s 10;}
@keyframes blink {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}




.blink2 {animation: 1.5s infinite blink2;}
@keyframes blink2 {
	0% {
	box-shadow: rgba(0, 0, 66, 0.3) 0px 0px 0px 0px;
	}

	100% {
    box-shadow: rgba(0, 0, 66, 0) 0px 0px 0px 15px;
	}
}






.blink3 {animation: 1.5s infinite blink3;}
@keyframes blink3 {
	0% {
	box-shadow:
	0px 0px 0px 0px #007cff80, /* Ring three - hidden. */
	0px 0px 0px 0px #007cff80, /* Ring two - hidden. */
	0px 0px 0px 0px #007cff80  /* Ring one - hidden. */
	;
	}
	15% {
	box-shadow:
	0px 0px 0px 0px #007cff80,
	0px 0px 0px 0px #007cff80,
	0px 0px 0px 5px #007cff80  /* Ring one - enter. */
	;
	}
	30% {
	box-shadow:
	0px 0px 0px 0px #007cff80,
	0px 0px 0px 5px #007cff80, /* Ring two - enter. */
	0px 0px 0px 10px #007cff40
	;
	}
	45% {
	box-shadow:
	0px 0px 0px 5px #007cff80, /* Ring three - enter. */
	0px 0px 0px 10px #007cff40,
	0px 0px 0px 15px #007cff20
	;
	}
	/**
	* Once each ring reaches its outer spread-radius, it's going to fade out using
	* the alpha-channel on the RGB(A) hex color definition. Notice that the alpha-
	* channels go from "80" to "00" over the next couple of keyframes.
	*/
	60% {
	box-shadow:
	0px 0px 0px 10px #007cff40,
	0px 0px 0px 15px #007cff20,
	0px 0px 15px 15px #007cff00
	;
	}
	75% {
	box-shadow:
	0px 0px 0px 15px #007cff20,
	0px 0px 15px 15px #007cff00,
	0px 0px 15px 15px #007cff00
	;
	}
	90% {
	box-shadow:
	0px 0px 15px 15px #007cff00,
	0px 0px 15px 15px #007cff00,
	0px 0px 15px 15px #007cff00
	;
	}
	100% {
	box-shadow:
	0px 0px 15px 15px #007cff00,
	0px 0px 15px 15px #007cff00,
	0px 0px 15px 15px #007cff00
	;
	}
}

/* animista */

.bounce-bottom {animation: bounce-bottom 0.9s both;}
@-webkit-keyframes bounce-bottom{0%{-webkit-transform:translateY(45px);transform:translateY(45px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:1}24%{opacity:1}40%{-webkit-transform:translateY(24px);transform:translateY(24px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}65%{-webkit-transform:translateY(12px);transform:translateY(12px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}82%{-webkit-transform:translateY(6px);transform:translateY(6px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}93%{-webkit-transform:translateY(4px);transform:translateY(4px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}25%,55%,75%,87%{-webkit-transform:translateY(0);transform:translateY(0);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}100%{-webkit-transform:translateY(0);transform:translateY(0);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out;opacity:1}}@keyframes bounce-bottom{0%{-webkit-transform:translateY(45px);transform:translateY(45px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:1}24%{opacity:1}40%{-webkit-transform:translateY(24px);transform:translateY(24px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}65%{-webkit-transform:translateY(12px);transform:translateY(12px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}82%{-webkit-transform:translateY(6px);transform:translateY(6px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}93%{-webkit-transform:translateY(4px);transform:translateY(4px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}25%,55%,75%,87%{-webkit-transform:translateY(0);transform:translateY(0);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}100%{-webkit-transform:translateY(0);transform:translateY(0);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out;opacity:1}}

.vibrate-1{-webkit-animation:vibrate-1 .3s linear 10 both;animation:vibrate-1 .3s linear 10 both}
@-webkit-keyframes vibrate-1{0%{-webkit-transform:translate(0);transform:translate(0)}20%{-webkit-transform:translate(-2px,2px);transform:translate(-2px,2px)}40%{-webkit-transform:translate(-2px,-2px);transform:translate(-2px,-2px)}60%{-webkit-transform:translate(2px,2px);transform:translate(2px,2px)}80%{-webkit-transform:translate(2px,-2px);transform:translate(2px,-2px)}100%{-webkit-transform:translate(0);transform:translate(0)}}@keyframes vibrate-1{0%{-webkit-transform:translate(0);transform:translate(0)}20%{-webkit-transform:translate(-2px,2px);transform:translate(-2px,2px)}40%{-webkit-transform:translate(-2px,-2px);transform:translate(-2px,-2px)}60%{-webkit-transform:translate(2px,2px);transform:translate(2px,2px)}80%{-webkit-transform:translate(2px,-2px);transform:translate(2px,-2px)}100%{-webkit-transform:translate(0);transform:translate(0)}}


.phsetc {
	text-align: center !important;
}

.phsetitem {
	margin-left:5px;
}

.photoset { 
	color:#409BD4;
	width:20px;
}
.vinfo  {
	position:absolute;
	right:0px;
	bottom:0px;
	font-style: normal;
	background: url(../gridmag/assets/images/blank65.png) repeat;
	color:#fff;
	line-height:20px;
	padding:3px 7px 0px 8px;
	font-size:11px;
	display:block;
	/* border-top: 1px solid #000;
	border-left: 1px solid #000; */
	-webkit-border-radius: 7px 0px 0px 0px;
	-moz-border-radius: 7px 0px 0px 0px;
	border-radius: 7px 0px 0px 0px;
}


.custom-tag-cloud {
    text-align: center;
    line-height: 1;
}

.custom-tag-cloud a {
    display: inline-block;
    margin: 5px;
    text-decoration: none;
    transition: all 0.3s ease;
}

.custom-tag-cloud a:hover {
    color: #0073aa;
    transform: scale(1.1);
	text-decoration: none;
}

/* Quitar subrayado de todos los enlaces */
a {
    text-decoration: none !important;
}


/* Agregar salto de línea después de cada <b> y su contenido siguiente */
.has-text-align-left b {
    display: inline;
}

.has-text-align-left {
    line-height: 1.8;
	font-size:14px;
}

/* Forzar que el navegador respete los saltos de línea del código */
.has-text-align-left {
    white-space: pre-line;
}



/* MARCOS FIGURE */

figure {
    border: 1px solid #ddd;
    padding: 20px;
    margin: 20px auto;
    max-width: 600px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    background-color: #fff;
}

figure img {
    width: 200px;
    height: auto;
    display: block;
}

figcaption {
	text-align: center;
	overflow: hidden;
	position: relative;
	font-weight: bold;
	font-size: 10pt;
	background: rgb(229,240,255) url('/i/23px-light.png') repeat-x top;
	padding:10px;
	border-radius: 4px;
	border:1px solid #d2d5df;
	white-space: pre-line;
}

.birthday-banner {
    background: #fff3cd;
	text-align: center;
   /* border-left: 4px solid #f0ad4e; */
    padding: 12px 16px;
    margin-bottom: 20px;
    font-size: 1.1em;
    font-weight: bold;
    border-radius: 4px;
}


.category-4204 .taxonomy-description {
    display: none;
}




.btn-logout:hover {
    opacity:1;
    background:#c9302c;
    cursor:pointer;
    transition:0.2s;
}

.btn-guest:hover {
    opacity:0.85;
    transition:0.2s;
}
/* CSS 404 page start */

/* =========================
   CONTENEDOR TAGS 404
========================= */
.tag-box-404 {
  text-align: center;
  margin-top: 15px;
  padding: 10px;
  border-radius: 8px;
  background: #f5f7fa;
  box-shadow: 0 1px 3px rgba(0,0,0,0.04);
}

/* =========================
   H2 GENERALES (404)
========================= */
.gridmag-posts-content h2,
.tag-box-404 h2 {
  font-size: 16px;
  font-weight: 600;
  color: #2d3748;
  margin-top: 25px;
  margin-bottom: 10px;
  position: relative;
  padding-bottom: 4px;
}

/* H2 normales alineados a la izquierda */
.gridmag-posts-content h2 {
  text-align: left;
}

/* H2 del tagcloud centrado */
.tag-box-404 h2 {
  text-align: center;
}

/* Línea debajo (por defecto izquierda) */
.gridmag-posts-content h2::after,
.tag-box-404 h2::after {
  content: "";
  display: block;
  width: 30px;
  height: 2px;
  background: #cbd5e0;
  margin-top: 4px;
  border-radius: 2px;
}

/* Línea izquierda (default) */
.gridmag-posts-content h2::after {
  margin-left: 0;
}

/* Línea centrada SOLO para tagcloud */
.tag-box-404 h2::after {
  margin-left: auto;
  margin-right: auto;
}

/* =========================
   TAG CLOUD COMPACTO
========================= */
.tagcloud {
  line-height: 1.3;
}

.tagcloud a {
  display: inline-block;
  margin: 2px;
  padding: 3px 6px;
  border-radius: 8px;
  background: #e0e0e0;
  color: #444;
  text-decoration: none;
  font-size: 12px;
  transition: all 0.15s ease;
}

/* 🔥 Hover gris */
.tagcloud a:hover {
  background: #cfcfcf;
  color: #222;
}

.gridmag-page-title {
  font-size: 24px;
  font-weight: 600;
}

.gridmag-posts-content p {
  font-size: 14px;
  color: #666;
}


/* 📱 Móvil */
@media (max-width: 768px) {

  .gridmag-page-title {
    font-size: 20px;
  }

  .gridmag-posts-content p {
    font-size: 13px;
  }

  .tagcloud a {
    font-size: 12px; /* 🔥 un poco más grande en móvil */
    padding: 4px 7px;
    margin: 2px;
  }

  .btn-404 {
    font-size: 14px;
    padding: 10px 18px;
  }
}


/* CSS 404 page end */


/* Fix botones accordion y tabs después de update del padre */
.plinks .btn,
.plinks .nav-link,
.card1 .btn,
.card1-header .btn {
    font-size: 12px !important;
    text-transform: none !important;
    font-weight: normal !important;
    font-family: 'Open Sans', Arial, Helvetica, sans-serif !important;
    padding: 3px 8px !important;
    line-height: 1.5 !important;
}

/* Fix PHOTO SET */
.pset a, .pset button, .pset .btn {
    font-size: 14px !important;
}
.pset button,
.pset .btn {
    font-weight: normal !important;
    font-family: 'Open Sans', Arial, Helvetica, sans-serif !important;
    font-size: 10px !important;
}

/* Quitar subrayado en links de widgets - override padre */
.gridmag-sidebar-widget-areas .widget.widget_text.widget_custom_html a,
.gridmag-sidebar-widget-areas .widget a,
.gridmag-side-widget a {
    text-decoration: none !important;
}


/* Quitar comillas decorativas del blockquote */
blockquote:before,
blockquote:after {
    content: none !important;
    display: none !important;
}


/* Blockquote sin comillas y texto alineado a la izquierda */
blockquote:before,
blockquote:after {
    content: none !important;
    display: none !important;
}

blockquote {
    text-align: left !important;
}


/* Alinear texto con icono en links de descarga */
.dropdown-item img {
    vertical-align: middle !important;
    margin-right: 4px !important;
}




/* Fuerza que la featured image ocupe el ancho completo del contenedor del post  */
.post-thumbnail img,
.wp-post-image {
    width: auto !important;
    height: auto !important;
}




/* Responsive — móvil */
@media (max-width: 600px) {
    .ts-archive-grid {
        grid-template-columns: 1fr;
    }
    .ts-archive-months {
        grid-template-columns: repeat(4, 1fr);
    }
}

@media (min-width: 601px) and (max-width: 900px) {
    .ts-archive-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}



/* Forzar visibilidad de WPFront Notification Bar */
#wpfront-notification-bar {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    z-index: 99999 !important;
}





/* Centrar mensaje de WPFront Notification Bar */
.wpfront-notification-bar .wpfront-message,
.wpfront-message.wpfront-div,
#wpfront-notification-bar .wpfront-message {
    text-align: center !important;
    padding-right: 0 !important;
    width: 100% !important;
}


/* =========================================
   BASE
========================================= */
.info-box {
    display: inline-flex;
    align-items: center;
    gap: 3px;

    font-family: Arial, sans-serif;
    font-size: 14px;

    padding: 6px 10px;
    border-radius: 5px;
}

/* Icono */
.info-icon {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}


/* =========================================
   TIPOS
========================================= */

/* 🔵 INFO */
.type-info {
    color: #0c5460;
    background: #d1ecf1;
}

/* 🟢 SUCCESS */
.type-success {
    color: #155724;
    background: #d4edda;
}

/* 🟡 WARNING */
.type-warning {
    color: #856404;
    background: #fff3cd;
}

/* 🔴 ERROR */
.type-error {
    color: #721c24;
    background: #f8d7da;
}

/* 🟣 DOWNLOAD */
.type-download {
    color: #004085;
    background: #cce5ff;
}

/* 🟡 PREMIUM */
.type-premium {
    color: #856404;
    background: #fff3cd;
}

/* ⚪ NOTE */
.type-note {
    color: #383d41;
    background: #e2e3e5;
}
