/*
	Theme Name: Documentos Exactas UBA
	Theme URI: https://exactas.uba.ar/
	Description: Documentos Exactas UBA WordPress Theme
	Version: 1
	Author: Irene Fernández
	Author URI: http://irenefernandez.com.ar/
	Tags: Exactas, HTML5, CSS3

	License: MIT
	License URI: http://opensource.org/licenses/mit-license.php
*/

/*------------------------------------*\
    MAIN
\*------------------------------------*/

/* global box-sizing */
*,
*:after,
*:before {
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	-webkit-font-smoothing:antialiased;
	font-smoothing:antialiased;
	text-rendering:optimizeLegibility;
}
/* html element 62.5% font-size for REM use */
html {
	font-size:62.5%;
}
body {
	font:300 11px/1.4 'Helvetica Neue', Helvetica, Arial, sans-serif;
	color:#444;
}
ul li {
    font-size: 1.2em;
}
/* clear */
.clear:before,
.clear:after {
    content:' ';
    display:table;
}

.clear:after {
    clear:both;
}
.clear {
    *zoom:1;
}
img {
	max-width:100%;
	vertical-align:bottom;
}
a {
	color:#EF815F;
	text-decoration:none;
}
a:hover {
	color:#444;
}
a:focus {
	outline:0;
}
a:hover,
a:active {
	outline:0;
}
input:focus {
	outline:0;
	border:1px solid #04A4CC;
}
/*------------------------------------*\
    STRUCTURE
\*------------------------------------*/
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    font-family: Arial, Helvetica, sans-serif;
    background: #d9eeee;
    color: #111;
}

.page {
    width: min(100% - 62px, 837px);
    /*min-height: 100vh;*/
    margin: 34px auto;
    background: #fff;
    border-radius: 10px;
    padding: 22px 38px 60px;
}

/* =========================
   HEADER
========================= */

.header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.logo {
    line-height: 1;
}

.logo-main {
    font-size: 25px;
    font-weight: bold;
    letter-spacing: -1.5px;
}

.logo-main .exactas {
    color: #48b9a9;
    font-weight: normal;
}

.logo-sub {
    margin-top: 7px;
    font-size: 10px;
    line-height: 1.35;
    font-family: Archivo, Arial, sans-serif;
    font-weight: 400;
}

.menu {
    width: 29px;
    margin-top: 8px;
}

.menu span {
    display: block;
    height: 3px;
    margin-bottom: 6px;
    background: #48b9a9;
    border-radius: 2px;
}

/* =========================
  MENU ICONOS PAGINA 1
========================= */
.solo-home {
    display: none;
}
.home .solo-home {
    display: inline;
}
.home .no-home {
    display: none;
}

.header-icons {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 13px;
}

.header-icons .menu {
    margin-bottom: 1px;
}

.header-icons .label a {
    color: #48b9a9;
    font-size: 11px;
    line-height: 1.05;
    text-align: center;
    text-decoration: none;
    font-family: Archivo, Arial, sans-serif;
    font-weight: 900;
}
.header-icons .label a:hover {
    color: #EF815F;
}

.icon {
    color: #48b9a9;
    font-size: 25px;
    line-height: 1;
}
.icon:hover {
    color: #EF815F;
}
.icon-pdf {
    display: none;
}
/* =========================
   PAGINA DETALLE
========================= */

.detail {
    max-width: 558px;
    margin: 76px auto 0;
}

.hero {
    border: 1px solid #aaa;
    border-radius: 9px;
    min-height: 335px;
    padding: 34px 40px 15px;
    text-align: center;
}

.hero h1 {
    color: #48b9a9;
    font-size: 30px;
    margin-bottom: 7px;
    font-family: Archivo;
    font-weight: 900;
}

.author {
    font-size: 14px;
    font-style: italic;
    color: #444;
    margin-bottom: 23px;
}

.hero-text {
    font-size: 14px;
    line-height: 1.5;
    font-style: italic;
    text-align: left;
}
.hero-text p{
    margin-bottom: 5px;
}

.hero .date, .hero .categorias {
    display: block;
    margin: 28px 0;
    color: #aaa;    
    font-size: 1em;
}

.content {
    margin-top: 66px;
}

.content h2 {
    text-align: left;
    font-size: 22px;
    font-weight: normal;
    margin: 10px 0 10px;
}
.content h3 {
    text-align: left;
    font-size: 18px;
    font-weight: normal;
    margin: 10px 0 10px;
}

.content p, .content ul li {
    font-size: 14px;
    line-height: 1.5;
    margin-bottom: 5px;
}
content ul {
    margin-left: 1.8em;
}
.content blockquote {
    padding: 0 20px;
    font-style: italic;
}
/* 1. Inicializa el contador en el h1 (se reinicia en cada uno) */
.content h1 {
  counter-reset: h2-counter;
}

/* 2. Incrementa y muestra el contador en los h2 */
.content h2::before {
  counter-increment: h2-counter;
  content: counter(h2-counter) ". ";
}
/* =========================
   MENU HAMBURGUESA
========================= */

.hamburger-menu {
    position: relative;
}

/* Ocultamos el checkbox */
#menu-toggle {
    display: none;
}

/* Botón hamburguesa */
.hamburger {
    width: 29px;
    height: 25px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    cursor: pointer;
}

.hamburger span {
    display: block;
    width: 29px;
    height: 3px;
    background-color: #48b9a9;
    border-radius: 2px;
    transition: 0.3s;
}
.hamburger:hover span {
    background-color: #EF815F;
}
/* =========================
   MENU DESPLEGABLE
========================= */

.menu-desplegable {
    position: absolute;
    top: 38px;
    right: 0;
    width: 220px;
    background-color: white;
    border: 1px solid #ccc;
    border-radius: 8px;
    padding: 10px 0;
    display: flex;
    flex-direction: column;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
    /* Oculto inicialmente */
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition:
        opacity 0.25s ease,
        transform 0.25s ease,
        visibility 0.25s ease;
    z-index: 100;
}
.menu-desplegable {
    list-style: none;
}
/* Links */
.menu-desplegable li {
    list-style: none;
}
.menu-desplegable li a {
    padding: 12px 18px;
    color: #111;
    text-decoration: none;
    font-size: 14px;
    line-height: 1.2;
    display: block;
}

.menu-desplegable a:hover {
    background-color: #eaf7f5;
    color: #48b9a9;
}

/* =========================
   ABRIR MENU
========================= */

#menu-toggle:checked ~ .menu-desplegable {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* =========================
   ANIMACION HAMBURGUESA
========================= */

#menu-toggle:checked + .hamburger span:nth-child(1) {
    transform: translateY(11px) rotate(45deg);
}

#menu-toggle:checked + .hamburger span:nth-child(2) {
    opacity: 0;
}

#menu-toggle:checked + .hamburger span:nth-child(3) {
    transform: translateY(-11px) rotate(-45deg);
}

/* =========================
   PAGINA PRINCIPAL
========================= */

.home {
    padding-left: 18px;
    padding-right: 18px;
}

.home-header {
    text-align: center;
    margin-top: 39px;
}

.home-header h1 {
    font-family: Archivo, Arial, sans-serif;    
    font-weight: 900;
    color: #48b9a9;
    font-size: 34px;
    font-weight: bold;
    margin-bottom: 1px;
}

.home-header .subtitle {
    color: #48b9a9;
    font-size: 1.5em;
    line-height: 1.15;
    max-width: 500px;
    margin: auto;
}

.intro-gral {
    max-width: 660px;
    margin: 33px auto 0;
    text-align: center;
    font-size: 1.3em;
    font-style: italic;
    line-height: 1.5;
}
.intro-gral p {
    margin: 10px auto 0;
}
.intro {
    text-align: center;
    font-size: 14px;
    font-style: italic;
    line-height: 1.5;
    display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 6; /* Cambia el 3 por la cantidad de líneas que deseas mostrar */
  overflow: hidden;
}
.home .date {
    display: none;
}
.card .date, .card .categorias {    
    margin: 20px 0;
    color: #aaa;    
    font-size: 1em;
}
.card:hover .date, .card:hover .categorias {    
    color: #000;
}
/* =========================
   GRUPO
========================= */

.group {
    margin-top: 50px;
}

.group-title {
    color: #9148e9;
    font-size: 12px;
    margin-bottom: 7px;
}

.group-title::before {
    content: "✣";
    font-size: 15px;
    margin-right: 4px;
}

/* =========================
   TARJETAS
========================= */

.cards {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

a.card {
    height: 323px;
    border: 1px solid #444;
    border-radius: 8px;
    padding: 30px 20px 20px;
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: black;
    overflow: hidden;
}

.card h2 {
    /*min-height: 63px;*/
    text-align: center;
    font-size: 22px;
    line-height: 1.05;
    margin-bottom: 17px;
}

.card p {
    text-align: center;
    font-size: 11px;
    font-style: italic;
    line-height: 1.7;
}

.card .date, .card .categorias {
    margin-top: auto;
    text-align: center;
    font-size: 0.8em;
}
a.card:hover {
    background-color: #EF815F;
}
a.card:hover h2, a.card:hover .date {
    color: white;
}

/* =========================
   RESPONSIVE
========================= */

@media (max-width: 700px) {
    .page {
        width: calc(100% - 30px);
        margin-top: 15px;
        padding: 20px;
    }

    .cards {
        grid-template-columns: 1fr;
    }

    .detail {
        margin-top: 50px;
    }

    .hero {
        padding: 30px 25px 15px;
    }

    .hero h1,
    .home-header h1 {
        font-size: 29px;
    }
}

@media (max-width: 450px) {
    .page {
        width: 100%;
        margin: 0;
        border-radius: 0;
    }

    .home {
        padding-left: 15px;
        padding-right: 15px;
    }

    .hero {
        padding-left: 18px;
        padding-right: 18px;
    }

    .card {
        padding-left: 20px;
        padding-right: 20px;
    }
}

/*------------------------------------*\
    PRINT
\*------------------------------------*/

@media print {
	* {
		background:transparent !important;
		color:#000 !important;
		box-shadow:none !important;
		text-shadow:none !important;
	}
    
    
    .hamburger, #menu-toggle, .icon {
        display: none;
    } 
	a,
	a:visited {
		text-decoration:underline;
	}
	a[href]:after {
		content:" (" attr(href) ")";
	}
	abbr[title]:after {
		content:" (" attr(title) ")";
	}
	.ir a:after,
	a[href^="javascript:"]:after,
	a[href^="#"]:after {
		content:"";
	}
	pre,blockquote {
		border:1px solid #999;
		page-break-inside:avoid;
	}
	thead {
		display:table-header-group;
	}
	tr,img {
		page-break-inside:avoid;
	}
	img {
		max-width:100% !important;
	}
	@page {
		margin:0.5cm;
	}
	p,
	h2,
	h3 {
		orphans:3;
		widows:3;
	}
	h2,
	h3 {
		page-break-after:avoid;
	}
    sup {
        padding-left: 0.3cm;
        font-size: 75%;
        vertical-align: super;
    }
    .modern-footnotes-footnote__note--tooltip {
        display: none;
    }
}
