﻿@import url(https://fonts.googleapis.com/css?family=Roboto+Slab:300,400,700);
:root { --cor-ubi: #0c2340; --cor-ubia: #446690; --cor-ubid: #03152b; --cor-estudar: #0072ce; /*Conhecimento, seriedade */ --cor-estudar-rgb: 0, 114, 206; 
        --cor-investigar: #009e8e; /*Ciência, estabilidade*/ --cor-investigar-rgb: 0, 158, 142; 
        --cor-inovar: #e69f21; /* Azul claro e dinâmico - Simboliza movimento, criatividade e ambiente de partilha (#1eaaf1, rgb: 30, 170, 241) */ --cor-inovar-rgb: 230, 159, 33; 
        --cor-viver: #d94b41; /*Vida no campus, energia*/ --cor-viver-rgb: 217, 75, 65; 
        --cor-conhecer: #8a3ffc; /*Cultura, sabedoria, visão*/ --cor-conhecer-rgb: 138, 63, 252; 
        --bg-main: #fbfbfd; --bg-secondary: #0c2340; --bg-alternative: #ccc; --bg-light: #f6f6f6; 
        --cor-azul-claro: #0F52FC; --cor-cursos: #0c2340; --cor-pagina: #446690; --cor-texto-pagina: #FAFAFA; --text-main: #000; --text-link: #0066AA; --text-link-hover: #004499; 
        --input-bg: grey; --input-text: #eee; --input-focus: #000; 
        --cor-fal: #0055b5; --cor-fcsh: #b20029; --cor-fc: #009fe1; --cor-fcsaude: #dfa800; --cor-fe: #d94a00; --cor-indefinido: #446690; 
        /* ── Design Tokens ── */ 
        /* Spacing scale */ --space-xs: 0.5rem; /* 8px */ --space-sm: 1rem; /* 16px */ --space-md: 1.5rem; /* 24px */ --space-lg: 2rem; /* 40px */ --space-xl: 4rem; /* 64px */ --space-2xl: 6rem; /* 96px */ /* Typography */ --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; --font-serif: 'Roboto Slab', Georgia, serif; --text-xs: 0.75rem; /* 12px */ --text-sm: 0.875rem; /* 14px */ --text-base: 1rem; /* 16px */ --text-md: 1.125rem; /* 18px */ --text-lg: 1.35rem; /* ~22px */ --text-xl: 1.75rem; /* 28px */ --text-2xl: 2.25rem; /* 36px */ --text-3xl: 3rem; /* 48px */ 
        /* Colors – neutral palette */ --color-text-primary: #1d1d1f; --color-text-secondary: #515154; --color-text-muted: #6e6e73; --color-text-light: #86868b; --color-link: #0066cc; --color-link-hover: #004499; --color-surface: #ffffff; --color-surface-alt: #fafafa; --color-border: rgba(0, 0, 0, 0.06); --color-border-light: rgba(0, 0, 0, 0.03); 
        /* Radii */ --radius-sm: 8px; --radius-md: 16px; --radius-lg: 24px; 
        /* Shadows */ --shadow-card: 0 4px 24px rgba(0, 0, 0, 0.04); --shadow-card-hover: 0 12px 32px rgba(0, 0, 0, 0.08); --shadow-subtle: 0 2px 8px rgba(0, 0, 0, 0.06); }

/*
    HTML
*/
html { scroll-behavior: smooth; }
html, body { overflow-x: hidden; font-family: var(--font-serif); font-weight: 400; background-color: var(--bg-main); line-height: 1.6; }
    body:before { content: ""; height: 100%; float: left; width: 0; margin-top: -32767px; }
a { outline: none; color: var(--text-link); text-decoration: none; }
    a:hover, a:active { color: var(--text-link-hover); text-decoration: underline; text-shadow: none; -moz-text-decoration-color: black; /* Code for Firefox */ text-decoration-color: black; }
    a:focus, button:focus { color: var(--text-link-hover); outline: none; text-decoration: none; }
button { border: 1px solid #efefef; border-radius: var(--radius-sm); }
.btn-default { border: 1px solid lightgrey; }
blockquote { border-left: 5px solid #e3dfd5; }
div:focus { outline: 0; }
dl { margin-top: 5px; }
h1, h2, h3, h4, h5, h6 { margin: 1em 0 0.75em 0; font-weight: 700; letter-spacing: -0.02em; line-height: 1.2; }  
    h1 i, h2 i, h3 i, h4 i, h5 i, h6 i { margin-right: 7px; }
iframe { width: 90vw; height: 50vw; max-width: 1170px; max-height: 658px; background: white; border: 0; }
footer { padding: 2em 0; font-size: small; clear: both; }
#chamadaParaRedeFixaNacional { color: #FFFFFFAB }
hr { border-color: #999999; }
input::-webkit-input-placeholder { color: rgba(0, 0, 0, 0.6) !important; }
input::-moz-placeholder { color: #000 !important; }
input:-moz-placeholder { color: #000 !important; }
input:-ms-input-placeholder { color: rgba(0, 0, 0, 0.6) !important; }
li { line-height: 1.6; }
input, select { background-color: var(--input-bg); color: var(--input-text); }
    input:focus { color: var(--input-focus); }
fieldset { color: var(--input-focus); }
a.linkPDF i { margin-left: 8px; }
a.linkDOC i { margin-left: 8px; }
a.linkExcel i { margin-left: 8px; }
a.linkPowerPoint i { margin-left: 8px; }
a.linkExterno i { margin-left: 8px; }
a.linkZIP i { margin-left: 8px; }
.navbar-dark .navbar-toggler-icon { background-image: none !important; }

/* Genéricos */
body, #Conteudo { transition: background-color 0.3s, color 0.3s; }

.clear { clear: both; }
.text-right { text-align: right; }
.text-light { --bs-text-opacity: initial; }

.small, a.small { font-size: var(--text-sm); }
.x-small, a.x-small { font-size: var(--text-xs); }
.bold { font-weight: bold; }
.larger { font-size: 1.28571em; line-height: 1.5; font-weight: 700; }
.center { margin: 0 auto; float: none; }
.align-items-center { margin-right: auto; margin-left: auto; }
.align-items-end { margin-right: 0; margin-left: auto; }
.section-bg-light { background-color: var(--bg-light); }
.section-padding { padding: var(--space-xl) 0; }
.label { border: 1px solid var(--bg-alternative); padding: 2px 8px; margin: 0 0.5em; border-radius: var(--radius-sm); font-size: var(--text-sm); }
.label-info { background-color: var(--bg-main); color: var(--text-main); }
.ficaNaLinhaPah { display: inline-block; }
a.linkPreto { color: black; }
.nav-link:hover { text-decoration: none; color: var(--cor-ubi); }


/* Estruturas */
#Conteudo { min-height: 40vh; }
#Estrutura { display: none; }
.container .row { display: flex; justify-content: center; }
#content { margin-bottom: 20px; }
.top { margin-top: 0; }
.borderRed { border: 1px solid red; }
.margin-bottom-30 { margin-bottom: 30px; }
.anuncios-title { display: none; }
.margin-container-block { margin-top: var(--space-2xl); margin-bottom: var(--space-2xl); }
.margin-top-1, .marginTop1 { margin-top: 1em; }
.margin-top-2, .marginTop2 { margin-top: 2em; }
.margin-bottom-2, .marginBottom2 { margin-bottom: 2em; }
.padding2em { padding: 2em; }


/* Botões accessibilidade */
.btnAcessibilidade:hover { cursor: pointer; }
#fontMenor { font-size: small; }
#fontMaior { font-size: large; }
.conteudoAcessibilidade { display: block; position: absolute; left: 0; top: 0; z-index: -100; }

/* AnteMenu */
#AnteMenu { padding: 0.2em 0.6em; }
#AnteMenuDireita { text-align: right; z-index: 1100; display: block; }
/*#AnteMenuDireita:hover .dropdown-menu { display: block; }*/
#AnteMenuEsquerda, #AnteMenuDireita { font-weight: 400; font-size: 1em; padding: 0; margin: 0 !important; }
    #AnteMenuEsquerda ul, #AnteMenuDireita ul { padding: 0; margin: 0; }
        #AnteMenuEsquerda ul li, #AnteMenuDireita ul li { display: inline-block; padding: 0.5em; margin: 0; }
    #AnteMenuDireita .custom-open-left { right: 100%; /* move o menu para a esquerda do botão */ left: auto; top: 100%; /* abaixo do botão */ margin-right: -2rem; /* espaço opcional */ padding: 0.5em; }
        #AnteMenuDireita .custom-open-left li { display: block; }
    #AnteMenuDireita .dropdownPessoas { margin-right: -5rem !important; }


/* MenuTopo */
#MenuTopo * { text-shadow: none; }
#MenuTopo .container { padding-left: 0; padding-right: 0; }
#MenuTopo { background-image: linear-gradient(135deg, var(--cor-ubi), var(--cor-ubia)); }
    #MenuTopo .nav-link, #MenuTopo .btn { color: var(--bg-main); font-weight: 500; letter-spacing: 0.05em; }
    #MenuTopo .nav-item.topico .nav-link { border-radius: var(--radius-sm); }
        #MenuTopo .nav-link:hover { text-decoration: none; }
        #MenuTopo .nav-link.nav-link-mobile-spacing { padding: 0.5em 1em 0.5em 0; }

#btnEstudar:hover { background-color: var(--cor-estudar) !important; }
#btnInvestigar:hover { background-color: var(--cor-investigar) !important; }
#btnInovar:hover { background-color: var(--cor-inovar) !important; }
#btnViver:hover { background-color: var(--cor-viver) !important; }
#btnConhecer:hover { background-color: var(--cor-conhecer) !important; }

.navbar-brand img { height: 90px; width: auto; }
#unita-logo { height: 42px; }

.dropdown-menu[aria-labelledby="btn-pesquisar"] { min-width: 250px; right: 0; left: auto; }
/* Dropdown de pesquisa a toda a largura, fixo ao topo da janela */
/* Dropdown de pesquisa a toda a largura e altura da janela */
.dropdown-menu.fullwidth-search { position: fixed !important; left: 0 !important; right: 0 !important; top: var(--dropdown-search-top, 120px) !important; /* ajuste conforme o header */ width: 100% !important; max-width: 100% !important; height: calc(100vh - var(--dropdown-search-top, 120px)) !important; max-height: calc(100vh - var(--dropdown-search-top, 120px)) !important; border-radius: 0; margin-top: 0 !important; z-index: 1200; padding-left: 0; padding-right: 0; overflow-y: auto; }

/* Centraliza o input-group dentro do dropdown-menu */
#dropdown-pesquisar.container { margin-left: auto; margin-right: auto; padding-left: 0; padding-right: 0; }

.navbar-toggler-icon { color: white; margin-top: 10px; }

.navbar-nav { flex: 1 1 auto; justify-content: center; display: flex; }
    .navbar-nav .mobile { display: none; }

/* excepção mobile */
.offcanvas.show .navbar-nav { flex: none; }

.navbar-right-principal { float: left; margin-top: 1em; }

.navbar-language-item { gap: 1em; padding: 5px; color: var(--bg-main); }
    .navbar-language-item:hover { background-color: var(--bg-main); }
.navbar-language { margin-top: 10px; margin-right: 1em; margin-bottom: 1em; margin-left: 1em; }
    .navbar-language .active { background-color: var(--bg-main); color: var(--cor-ubi); }

.offcanvas.show .navbar-language { margin-left: 0; margin-right: auto; }

.navbar-pesquisa input, .navbar-pesquisa button { border-width: 2px; border-color: white; }
.navbar-pesquisa input { border-right: none; border-top-left-radius: 4px !important; border-bottom-left-radius: 4px !important; border-right: 0; border-color: white; border-style: solid; background-color: transparent; color: white; width: 3em; }
    .navbar-pesquisa input:focus { width: 10em; transition-duration: 0.5s; }
    .navbar-pesquisa input:not(:focus) { width: 3em; transition-duration: 0.5s; }
.navbar-pesquisa button { border-left: none; }

.menu-fixo { position: fixed; top: 0; left: 0; right: 0; z-index: 1030; transition: top 0.3s ease-in-out; box-shadow: 0 2px 6px rgba(0,0,0,0.1); }
/* Realce visual para o input de pesquisa ao focar */
#input-pesquisar:focus { background-color: #f8f9fa; color: var(--cor-ubi); padding: 0 0.4em; box-shadow: 0 2px 6px rgba(0, 123, 255, 0.3); border-color: #86b7fe; transition: all 0.3s ease; }
#button-pesquisar:hover { color: var(--cor-ubi); background-color: #f8f9fa; border-color: #86b7fe; transition: all 0.3s ease; }

/* Sub-Menu */
.sub-menu { background-color: var(--cor-pagina); color: var(--cor-texto-pagina); padding: 0.65em 0; }
    .sub-menu .sub-menu-items { list-style: none; padding: 0 1em; margin: 0; text-align: center; }
        .sub-menu .sub-menu-items .sub-menu-item { display: inline-block;  }
    .sub-menu a { color: var(--cor-texto-pagina); border-bottom: 1px solid transparent; }
        .sub-menu a:hover { color: white; text-decoration: none; border-bottom: 1px solid var(--cor-texto-pagina); }

/* Acoes Comuns - Pos Hero */
a .acoesComunsItem { color: var(--cor-ubi); border: 1px solid var(--cor-ubi); margin-bottom: 1em; padding: var(--space-md); border-radius: var(--radius-md); transition: all 0.3s ease; }
    a .acoesComunsItem:hover { color: white; background-color: var(--cor-cursos); border: 1px solid var(--cor-cursos); text-decoration: none; }
    a.acoesComunsItem .iconFa { margin-bottom: 1vh; }

.colorRed a .acoesComunsItem { color: red; }



/*  Eventos */
#event-list h3, #event-list h4 { margin-bottom: 0; }
    #event-list h3 a span { font-size: var(--text-sm); }
#event-list .event-date { display: block; width: 4em; vertical-align: top; margin-right: 1em; }

    #event-list .event-date .event-month { padding: 0 0.5em; background-color: var(--cor-ubi); color: white; text-transform: uppercase; display: block; text-align: center; line-height: 1.5; letter-spacing: 1px; border: 1px solid var(--cor-ubi); border-top-left-radius: var(--radius-sm); border-top-right-radius: var(--radius-sm); }
    #event-list .event-date .event-day { padding: 0px 3px; font-weight: 300; display: block; text-align: center; font-size: 120%; border: 1px solid lightgrey; }
#event-list .event-text h3 { padding: 0; margin: 0 0 0 5px; }
#event-list .more-link { padding-left: 57px; }
#event-list .event-title a:hover { color: #0077AA; -moz-text-decoration-color: #0077AA; /* Code for Firefox */ text-decoration-color: #0077AA; }
#event-list .timestamp,
#event-list .event .local { color: #999; font-size: 90%; display: none; }
.evento ul.entidades { list-style: none; display: block; width: 100%; margin: 0 0 10px 0; padding: 0; }
    .evento ul.entidades li.entidade { display: inline-block; margin-right: 15px; }
article.entidade .eventos .link:last-child { display: none; }
.categoriasEventos { display: block; }

.blocoEvento { padding: 0.6em 1em; background-color: #EfEfEf; }

.event-list { padding: 0; margin: 0; }
    .event-list li { list-style: none; }
.event-item { margin-bottom: var(--space-lg); border-radius: var(--radius-lg); border: 1px solid var(--color-border-light); background-color: var(--color-surface); box-shadow: var(--shadow-card); overflow: hidden; transition: transform 0.3s ease, box-shadow 0.3s ease; }
    .event-item:hover { box-shadow: var(--shadow-card-hover); border-color: var(--color-border); transform: translateY(-4px); }
    .event-item .event-img { display: block; border-radius: var(--radius-lg) var(--radius-lg) 0 0; height: 240px; overflow: hidden; position: relative; }
        .event-item .event-img img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; transition: all .35s ease-in-out; }
            .event-item .event-img img:hover { transform: scale(1.05); transition: all 0.3s ease-in-out; }
    .event-item .event-text { padding: var(--space-lg); }
.event-title a { font-size: var(--text-lg); font-weight: 700; margin: 0 0 var(--space-sm) 0; line-height: 1.3; letter-spacing: -0.015em; text-decoration: none; }
    .event-title a:hover { text-decoration: underline; }

.event-superlead { font-size: var(--text-base); color: var(--color-text-secondary); margin-bottom: var(--space-md); line-height: 1.5; }
.event-calendar, .event-local { font-size: var(--text-sm); color: var(--color-text-muted); }

/* Eventos Calendario Index */
.postcard-left, .postcard-right { clear: both; display: table; margin-bottom: 5px; position: relative; }
    .postcard-left > div, .postcard-right > div { display: table-cell; position: relative; }
    .postcard-left .postcard-image img, .postcard-right .postcard-image img { display: block; max-width: 100%; height: auto; }


/* Calendario */
.calendario { width: 100%; }
    .calendario td { padding: 5px 7px; }

.agenda-calendario-page .agenda-layout { gap: var(--space-lg); }
.agenda-calendario-page .agenda-filtros-card { padding: var(--space-md); border-radius: var(--radius-lg); border: 1px solid var(--color-border-light); background-color: var(--color-surface); box-shadow: var(--shadow-card); margin-bottom: var(--space-md); }
.agenda-calendario-page .agenda-filtros-title { margin-top: 0; margin-bottom: var(--space-sm); font-size: var(--text-lg); color: var(--color-text-primary); }
.agenda-calendario-page .agenda-categoria { min-height: 40px; border-radius: var(--radius-sm); border: 1px solid var(--color-border); background-color: var(--color-surface); color: var(--color-text-primary); }

.agenda-calendario-page .calendario { border: 1px solid var(--color-border-light); border-radius: var(--radius-lg); background-color: var(--color-surface); box-shadow: var(--shadow-card); overflow: hidden; border-collapse: separate; border-spacing: 0; }
.agenda-calendario-page .calendario .calendario-header-mes,
.agenda-calendario-page .calendario .calendario-nav-mes { background-color:inherit; color: var(--color-text-primary); font-weight: 700; }
.agenda-calendario-page .calendario .calendario-header-mes { text-align: center; }
.agenda-calendario-page .calendario .calendario-header-mes a,
.agenda-calendario-page .calendario .calendario-nav-mes a { display: inline-flex; align-items: center; justify-content: center; min-width: 30px; min-height: 30px; border-radius: var(--radius-sm); color: var(--color-text-primary); text-decoration: none; }
.agenda-calendario-page .calendario .calendario-header-mes a:hover,
.agenda-calendario-page .calendario .calendario-header-mes a:focus-visible,
.agenda-calendario-page .calendario .calendario-nav-mes a:hover,
.agenda-calendario-page .calendario .calendario-nav-mes a:focus-visible { background-color: var(--color-surface); outline: 2px solid var(--cor-estudar); outline-offset: 2px; }
.agenda-calendario-page .calendario .calendario-header-dia { background-color: var(--bg-light); color: var(--color-text-secondary); font-size: var(--text-sm); font-weight: 700; text-align: center; vertical-align: middle; }
.agenda-calendario-page .calendario th { text-align: center; vertical-align: middle; }
.agenda-calendario-page .calendario td {  padding: 4px; background-color: inherit; }
.agenda-calendario-page .calendario .calendario-dia,
.agenda-calendario-page .calendario .calendario-dia-hoje,
.agenda-calendario-page .calendario .calendario-dia-selecionado,
.agenda-calendario-page .calendario .calendario-dia-fim-semana,
.agenda-calendario-page .calendario .calendario-dia-fora-mes { color: var(--color-text-primary); }
.agenda-calendario-page .calendario td a,
.agenda-calendario-page .calendario td span { display: flex; align-items: center; justify-content: center; min-width: 40px; min-height: 40px; border-radius: var(--radius-sm); color: inherit; text-decoration: none; transition: background-color 0.3s ease, color 0.3s ease; }
.agenda-calendario-page .calendario .calendario-dia-hoje a,
.agenda-calendario-page .calendario .calendario-dia-hoje span { border: 1px solid var(--cor-ubi); color: var(--cor-ubi); font-weight: 700; }
.agenda-calendario-page .calendario .calendario-dia-selecionado a,
.agenda-calendario-page .calendario .calendario-dia-selecionado span { background-color: var(--cor-estudar); color: var(--color-surface); font-weight: 700; }
.agenda-calendario-page .calendario .calendario-dia-fora-mes a,
.agenda-calendario-page .calendario .calendario-dia-fora-mes span { color: var(--color-text-light); }
.agenda-calendario-page .calendario td a:hover,
.agenda-calendario-page .calendario td a:focus-visible { background-color: var(--bg-light); color: var(--cor-ubi); outline: 2px solid var(--cor-estudar); outline-offset: 2px; }

.agenda-calendario-page .agenda-eventos-lista ul { list-style: none; padding: 0; margin: 0; }
.agenda-calendario-page .agenda-evento-card { margin-bottom: var(--space-md); border-radius: var(--radius-lg); border: 1px solid var(--color-border-light); background-color: var(--color-surface); box-shadow: var(--shadow-card); padding: var(--space-md); transition: transform 0.3s ease, box-shadow 0.3s ease; }
.agenda-calendario-page .agenda-evento-titulo,
.agenda-calendario-page .titulo { font-size: var(--text-lg); font-weight: 700; color: var(--color-text-primary); text-decoration: none; }
.agenda-calendario-page .agenda-evento-meta { display: block; color: var(--color-text-muted); font-size: var(--text-sm); margin-top: var(--space-xs); }

@media (prefers-reduced-motion: no-preference) {
    .agenda-calendario-page .agenda-evento-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-card-hover); border-color: var(--color-border); }
}


/* Destaques/noticias */
#news { }
    #news .news-item:nth-child(4n+1) { clear: left; }
    #news .news-item .caption { display: none; }
.news-item { margin-bottom: var(--space-lg); border-radius: var(--radius-lg); border: 1px solid var(--color-border-light); background-color: var(--bg-main); box-shadow: var(--shadow-card); overflow: hidden; min-height: 325px; transition: transform 0.3s ease, box-shadow 0.3s ease; }
    .news-item:hover { box-shadow: var(--shadow-card-hover); border-color: var(--color-border); transform: translateY(-4px); }
    .news-item .news-img { display: block; border-radius: var(--radius-lg) var(--radius-lg) 0 0; overflow: hidden; }
        .news-item .news-img img, .noticia .blkFicheiro img, .evento .blkFicheiro img { object-fit: contain; transition: all .35s ease-in-out; }
            .news-item .news-img img:hover { transform: scale(1.1); transition: all 0.3s ease-in-out; }
.col-sm-12 .news-item .news-img img { border-start-start-radius: var(--radius-lg); border-end-start-radius: var(--radius-lg); border-start-end-radius: 0; }
.news-item .news-topic { display: none; clear: both; margin: 5px 0; font-size: 70%; }

.news-item .news-text { margin: var(--space-md); }
    .news-item .news-text .titulo { margin: 0 0 1em 0; padding: 0; line-height: 1.4; text-align: left; }

.noticia ul.entidades, .evento ul.entidades { list-style: none; display: block; width: 100%; margin: 0 0 10px 0; padding: 0; float: left; }
    .noticia ul.entidades li.entidade, .evento ul.entidades li.entidade { display: inline-block; margin-right: 15px; }
.noticia .blkFicheiro .caption { margin-top: 1vh; }
    .noticia .blkFicheiro .caption .fa { display: none; }

.galeriadeimagens td * { font-size: 75%; font-weight: 300; }


/* Outras Notícias */
.more-news h3 span { font-size: var(--text-sm); }
.more-news ul { padding: 0; margin: 0; }
    .more-news ul li { list-style-type: none; margin-bottom: var(--space-sm); line-height: 1.6; }
        .more-news ul li a { text-decoration: none; }

.more-link { height: 1.2em; }
    .more-link a, a.more-link { font-weight: 700; font-size: var(--text-sm); padding: 2px 20px 5px 0; text-transform: uppercase; text-decoration: none; color: var(--color-text-secondary); text-align: right; float: right; }
        .more-link a:hover span, a.more-link:hover span { color: var(--color-link); text-decoration: underline; }
        .more-link a i, a.more-link i { color: var(--cor-ubi); font-size: 1.1em; }


/* Social */
#social-icons { text-align: center; }
    #social-icons ul { margin-top: 20px; margin-left: 0; list-style: none; }
        #social-icons ul li { display: inline; }
    #social-icons img { width: 33px; }
    #social-icons a:hover img { opacity: .6; -webkit-transition: all .4s ease-in-out; transition: all .4s ease-in-out; }
.fa.CienciaVitae { color: #C5D762 !important; }



/* Secções Rápidas/Principais */
#SeccoesPrincipais .seccao { height: 275px; }
    #SeccoesPrincipais .seccao > .row { display: flex; /* garante que é flex */ align-items: center; /* alinha verticalmente ao centro */ height: 275px; /* altura fixa da linha */ }
#SeccoesPrincipais .conteudoTextual { display: flex; flex-direction: column; /* organiza título e listas em coluna */ justify-content: center; /* centra verticalmente o conteúdo */ }
#SeccoesPrincipais .Titulo a { font-size: 1.8em; color: white; padding: 0 15px; }
#SeccoesPrincipais .Texto { padding: 0 15px; }
    #SeccoesPrincipais .Texto a { color: white; font-size: 0.8em; }
    #SeccoesPrincipais .Texto ul { padding: 0; margin: 0; }
        #SeccoesPrincipais .Texto ul li { list-style: none; }

#SeccoesPrincipais img { height: 100%; width: 100%; display: flex; object-fit: cover; }

.Estudar { background-color: var(--cor-estudar); }
.Investigar { background-color: var(--cor-investigar); }
.Inovar { background-color: var(--cor-inovar); }
.Viver { background-color: var(--cor-viver); }
.Conhecer { background-color: var(--cor-conhecer); }

/* ODSs */
.areaODS .item img { border-radius: 6px; } 

/* Seção MaisInfoUBI */
.maisInfoUBI { padding: var(--space-2xl) 0; background-color: #0c2340; }
    .maisInfoUBI h3 { font-size: var(--text-2xl); }
    .maisInfoUBI .col { color: white; }
    .maisInfoUBI .num { font-size: var(--text-3xl); }
    .maisInfoUBI .desc { font-size: var(--text-xl); }



/* subMenu Rapido */
.subMenu ul { padding: 5px 0; }
.subMenu li { display: inline-block; margin: 20px 5px; }
    .subMenu li a { padding: 10px 0px; background-color: #0c2340; color: white; border: 1px solid #0c2340; text-decoration: none; text-transform: uppercase; }
        .subMenu li a:hover { border: 1px solid white; background-color: #666666; }
        .subMenu li a.active { position: relative; }
            .subMenu li a.active:after { content: ""; position: absolute; bottom: -10px; /* value = - border-top-width - border-bottom-width */ left: 10px; /* controls horizontal position */ border-width: 10px 10px 0; /* vary these values to change the angle of the vertex */ border-style: solid; border-color: #0c2340 transparent; /* reduce the damage in FF3.0 */ display: block; width: 0; }


/* Search Cursos */
#button-procurar-cursos { -webkit-border-top-right-radius: 5px; border-top-right-radius: 5px; -webkit-border-bottom-right-radius: 5px; border-bottom-right-radius: 5px; }
.list-item-curso:hover { cursor: pointer; background-color: #f0f0f0; }

/* SubMenu Vertical */
.subMenuVertical { float: right; clear: both; background-color: #0c2340; color: #FFF; font-weight: normal; max-width: 260px; margin-bottom: var(--space-md); border-radius: var(--radius-md); overflow: hidden; }
    .subMenuVertical ul { margin: 0; padding: 0 20px; }
        .subMenuVertical ul li { padding: 15px 5px 10px 15px; list-style: none; }
            .subMenuVertical ul li a { color: #FFF; font-weight: 400; }
    .subMenuVertical .cursosMenu { float: left; }


/* SubMenu Entidade */
.subMenuEntidade { background-color: #0c2340; color: #FFF; font-weight: normal; clear: both; border-radius: var(--radius-md); overflow: hidden; }
    .subMenuEntidade:last-of-type { margin: 0 0 var(--space-md) 0; }
    .subMenuEntidade ul { margin: 0; padding: 10px 30px; list-style: none; }
        .subMenuEntidade ul li { padding: 15px 5px 0px 15px; list-style: none; }
            .subMenuEntidade ul li:last-child { padding-bottom: 15px; }
            .subMenuEntidade ul li a { color: #FFF; font-weight: 400; font-size: var(--text-md); }
                .subMenuEntidade ul li a:hover { text-decoration: underline; }
            .subMenuEntidade ul li:has(a.indentMenuUnita) { margin-left: 1.5em; }

.subMenuTitulo { padding: 10px 10px 0 15px; font-weight: bold; }
.plano-estudos-unico, .ramos { font-size: 1.2em; }


/* subPaginas (article com header, section, footer) */
article h3 { font-weight: 700; }
article .urlAutoPagina { display: inline-block; margin: -40px 0 30px 0; padding: 10px; border: 1px solid var(--color-border); background-color: var(--color-surface-alt); border-radius: var(--radius-sm); }
    article .urlAutoPagina:hover { border: 1px solid var(--color-border); background-color: var(--color-surface); }
article section:first-child { margin: 0; }
article section .container { padding: var(--space-lg) var(--space-sm) var(--space-lg) var(--space-sm); }
    article section .container p { text-align: justify; }
article section:nth-child(2n+1) { background-color: var(--bg-light); }
article table td { padding: 3px 5px; border: none; }
article .lead, article .texto { margin: 20px 0; line-height: 1.6; }
article .logotipo { float: left; padding: 0 30px 30px 0; }
    article .logotipo img { max-width: 300px; }

article .texto { text-align: left; -webkit-column-count: 1; /* Chrome, Safari, Opera */ -moz-column-count: 1; /* Firefox */ column-count: 1; -webkit-column-gap: 0; /* Chrome, Safari, Opera */ -moz-column-gap: 0; /* Firefox */ column-gap: 0; }
article.entidade .texto, article.entidade .coluna1 { float: left; max-width: 850px; }
    article.entidade .texto ol, article.entidade .texto ul { display: table-cell; margin-left: 10px; }

article footer { padding: 2em 0; }
.dtUltimaAtualizacao { font-size: var(--text-sm); text-align: right; color: var(--color-text-muted); }

.comMenu section.conteudo { float: left; width: 73%; text-align: left; }
    .comMenu section.conteudo h1 { margin: 0 0 30px 0; }
    .comMenu section.conteudo .texto { -webkit-column-count: 1; /* Chrome, Safari, Opera */ -moz-column-count: 1; /* Firefox */ column-count: 1; }

.parceriasBiblioteca img { float: left; margin: 0 30px 30px 0; }

.colunaNome .categoriaAcademica, .colunaNome .categoriaProfissional { position: relative; top: -15px; }
.coluna2 { border-left: 1px solid #DEDEDE; }

/* Tabs */
#tabs { margin: 30px 0 20px 0; }
    #tabs > li a { font-weight: 700; border-top: 3px solid white; }
    #tabs > li.active a { border-top: 3px solid #0c2340; }
.content { padding: 30px 0; }
.nav-tabs > li > a { border-radius: 0; }

.ui-icon { float: right; font-size: 1.6em; color: #999; margin: 0; }


/* Listas */
.lista h4 { padding: 0; margin: 10px 0; }
.lista li { list-style: none; position: relative; margin-bottom: 35px; }
.lista img { width: 100%; }
.lista li .caption { display: none; }
.lista li .titulo { margin: 5px 0; text-align: left; position: relative; }
.lista li .data { font-size: 80%; color: var(--color-text-muted); }

.list-group { background-color: inherit; }
.list-group-item a { color: var(--cor-ubi); text-decoration: none; }


/* Cursos */
.curso { font-size: 90%; }
.cursoInfo td:first-child { width: 27%; }
.listaAcordosErasmus { list-style: circle; padding: 0; margin: 0 0 0 17px; }



/* ListaAZ */
.listaAZ ul { margin: 0; padding: 0 20px; list-style: none; }
    .listaAZ ul li { padding: 5px; list-style: none; }


/* Lista de Itens */
.listaItens ul { margin: 0; list-style: none; }
    .listaItens ul ul { margin-left: 10px; }



/* refeitório em ementas */
.refeitorios { font-size: 80%; }
#Ementas table { background-color: #eee; }
    #Ementas table thead { background-color: #e6e6e6; }
    #Ementas table td, #Ementas table th { border: none; width: 15%; }
        #Ementas table td:first-child, #Ementas table th:first-child { width: 10%; }

/* Search Procurar */
.searchResults .small { padding: 4px 8px; background-color: #EEE; border-radius: var(--radius-sm); }
.resultados .resultado { display: block; margin-bottom: 1em; clear: both; min-height: 85px; }
.resultados .resumo { font-size: 0.9em; -ms-flex: inherit; -webkit-flex: inherit; flex: inherit; }


/* Contactos*/
#Contacto div { padding: 5px 0; }

.contactos .row {
    display: flex;
    align-items: stretch;
}


.contactos .nome {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex: 1;
}

.contactos .contactosUBI {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-end;
    text-align: right;
}

@media (max-width: 767px) {
    .contactos .row { flex-direction: column; }

    .contactos .nome { justify-content: left; text-align: left; }
    .contactos .contactosUBI { justify-content: left; text-align: left; align-items: flex-start; }
}
/* Tabela */
.tabela { width: 100%; }
    .tabela td { padding: 1em; text-align: left; vertical-align: middle; }




/* Ficheiros */
.ficheiro { margin: 10px 0; }
.blkFicheiro { display: block; max-width: 100%; overflow: hidden; }
    .blkFicheiro img { width: 100%; height: auto; object-fit: contain; }
    .blkFicheiro .caption { font-size: 75%; }
.ficheiroSubPagina .blkFicheiro { max-height: 300px; }
.ficheiroNoticia { float: right; }
.img-circular { width: 120px; height: 120px; overflow: hidden; display: block; border-radius: 60px; -webkit-border-radius: 60px; -moz-border-radius: 60px; }
    .img-circular img { width: 100%; height: auto; position: relative; }

/* Caminho */
ul.caminho, ol.caminho { clear: both; display: block; text-align: left; padding: 0; margin: 0; }
    ul.caminho li, ol.caminho li { display: inline-block; padding: 0 0.25em; font-size: small; }


/* Botao Editar*/
a.btnEditar { float: right; position: relative; top: -20px; }


/* Paginas */

/* Paginacao */
.paginacao { clear: both; margin: 0 auto; text-align: center; }
    .paginacao a, .paginacao .active { padding: 6px 10px; margin: 5px; background-color: #eee; border: 1px solid #eee; border-radius: var(--radius-sm); text-decoration: none; cursor: pointer; }
        .paginacao a:hover { background-color: white; }
    .paginacao .active { border: 1px solid #aaa; }




/* Partilhar/SocialShares */
#SocialShares { padding: 10px; margin: 0; }
    #SocialShares li { float: left; display: inline-block; list-style: none; padding: 10px 5px; vertical-align: bottom; }


/* Blocos */
.bloco { clear: both; display: inline-block; width: 100%; float: none; margin: 0px 0 30px 0; list-style: none; }

.blocoNoticias, .blocoEventos, #TiposDeCursosBlock, .seccao-anuncios { overflow: hidden; padding: var(--space-lg) var(--space-sm) var(--space-2xl) var(--space-sm); }
    .blocoNoticias .outrosLinks a, .blocoEventos .outrosLinks a { margin: 0 0.5em; }

#TiposDeCursosBlock { background-color: var(--cor-cursos); padding-top: var(--space-2xl); }
    #TiposDeCursosBlock a.white { color: var(--bg-main); }



.blocos { list-style: none; max-width: 100%; }
    .blocos h2 { padding: 10px 0; font-weight: 600; border-top: 1px solid #eee; }
    .blocos .blkItem { display: block; clear: both; padding: 10px 0; margin: 10px 0; }
        .blocos .blkItem .ficheiroSubPagina { margin-right: 30px; float: left; }

        .blocos .blkItem p { display: block; width: 100%; float: none; margin: 5px 0; }
        .blocos .blkItem ul { margin-left: 10px; list-style: none; }
            .blocos .blkItem ul li { padding: 5px 0; list-style: none; }

.blkDireita { width: 100%; border-radius: var(--radius-md); background-color: #EEE; margin-top: var(--space-sm); }
    .blkDireita .hide { display: none; }
    .blkDireita ul li { padding: 10px; }

.tblLista tr { padding: 5px 0; }

.espacoInterior { margin: 15px; padding: 5px 0 15px 0; }


/* Paginação */
#dataTable_length { float: right; }
#dataTable_filter { float: left; }
    #dataTable_filter::before { content: ""; font-weight: bold; }
#dataTable_wrapper { display: block; }
#dataTable { clear: both; border-collapse: collapse; }
    #dataTable thead tr { background-color: #ddd; }
        #dataTable thead tr td:hover { background-color: #eee; cursor: pointer; }
        #dataTable thead tr td:first-child { width: 10%; }
#dataTable_info, #dataTable_paginate { margin: 5px auto; text-align: center; }
    #dataTable_paginate a { padding: 8px 12px; background-color: #DDD; color: #888; cursor: pointer; font-weight: bold; }
        #dataTable_paginate a:hover { background-color: #EEE; }
    #dataTable_paginate > a:first-child { border-top-left-radius: 5px; border-bottom-left-radius: 5px; border-right: 1px solid #EFEFEF; }
    #dataTable_paginate > a:last-child { border-top-right-radius: 5px; border-bottom-right-radius: 5px; border-left: 1px solid #EFEFEF; }
#dataTable .tdMiddle { vertical-align: middle; }
.escolhas { display: block; background-color: #EEE; margin-bottom: 20px; padding: 5px 0; border-top: 1px solid #CCC; border-bottom: 1px solid #CCC; }


/* Menu Rodape (UBI)  */
.global-footer { position: relative; padding: var(--space-2xl) var(--space-sm) var(--space-2xl) var(--space-sm); background-image: linear-gradient(135deg, var(--cor-ubi), var(--cor-ubia)); color: var(--bg-main); }
    .global-footer a { color: var(--bg-main); }
        .global-footer a:hover { color: var(--cor-texto-pagina); text-decoration-color: var(--cor-texto-pagina); }
    .global-footer #bottom-logo img { height: 75px; width: auto; }
    .global-footer .rodapeHeader { margin: 0; padding: 1px 0; text-transform: uppercase; color: white; border-bottom: 1px solid white; }
    .global-footer ul { padding: 0; }
        .global-footer ul li { list-style: none; }
    .global-footer p { margin: 3px 0; padding: 0 15px; }
        .global-footer p.copyright { color: #eee; margin: 0; line-height: 1.5; text-align: left; }
    .global-footer ul.social li { display: inline-block; margin-right: 5px; }
.areaRodapeUBI { margin-bottom: 2em; }

#iconsRodapeFinais { margin-top: 3em; }
    #iconsRodapeFinais .row { display: flex; justify-content: center; }
        #iconsRodapeFinais .row .logo-rodape img { height: 35px; margin-bottom: 1em; }
.rodapePosBarra { margin-top: 1em; }
.topicosAcoes { font-size: 130%; }
.linhaFooter { padding: 1em 0; width: 100%; border-bottom: 1px solid white; }
/* ParceriasFooter */
#blocoParceiros { text-align: center; background-color: white; overflow: hidden; padding: var(--space-2xl) var(--space-sm) var(--space-2xl) var(--space-sm); }

    #blocoParceiros ul { margin: 0; padding: 0; }
        #blocoParceiros ul li { display: inline-block; padding: 1em 2em; text-align: center; }
            #blocoParceiros ul li img { border: 0; padding: 5px 10px; max-height: 65px; }




/* Secção Anúncios (A UBI) */


.anuncios-title { font-size: var(--text-3xl); font-weight: 700; text-align: center; margin-bottom: var(--space-2xl); color: var(--color-text-primary); letter-spacing: -0.02em; }

.anuncios-list { display: flex; flex-direction: column; gap: var(--space-xl); margin: 0 auto; }

.anuncio-card { display: flex; flex-direction: row; background-color: var(--color-surface); border-radius: var(--radius-lg); box-shadow: var(--shadow-card); transition: transform 0.3s cubic-bezier(0.25, 0.1, 0.25, 1), box-shadow 0.3s cubic-bezier(0.25, 0.1, 0.25, 1); position: relative; text-align: left; /*border: 1px solid var(--color-border-light);*/ overflow: hidden; width: 100%; }

    .anuncio-card:nth-child(even) { flex-direction: row-reverse; }

    .anuncio-card:hover, .anuncio-card:focus-within { transform: translateY(-4px); box-shadow: var(--shadow-card-hover); border-color: var(--color-border); }

.anuncio-image { flex: 1; position: relative; min-height: 350px; }

    .anuncio-image img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }

.anuncio-body { flex: 1.2; padding: var(--space-lg); display: flex; flex-direction: column; }

.anuncio-content { margin-bottom: var(--space-lg); }

    .anuncio-content h3 { font-size: var(--text-xl); font-weight: 700; color: var(--color-text-primary); margin-bottom: var(--space-sm); letter-spacing: -0.015em; }

    .anuncio-content p { font-size: var(--text-lg); line-height: 1.5; color: var(--color-text-primary); margin-bottom: var(--space-md); max-width: 700px; }

.anuncio-main-link { font-size: var(--text-md); font-weight: 600; color: var(--text-link); text-decoration: none; display: inline-flex; align-items: center; }

    .anuncio-main-link i { margin-left: var(--space-sm); font-size: 0.85em; transition: transform 0.2s ease; }

    .anuncio-main-link:hover { text-decoration: underline; }

        .anuncio-main-link:hover i { transform: translateX(4px); }

    /* Stretch link */
    .anuncio-main-link::after { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; z-index: 1; }
/*
.anuncio-estudar .anuncio-content p, .anuncio-viver .anuncio-content p, .anuncio-conhecer .anuncio-content p { color: hsl( var(--color-text-primary), 0%, calc(var(--color-text-primary) + 30%) ); }
.anuncio-estudar .anuncio-main-link, .anuncio-estudar .anuncio-sublinks .anuncio-sublink,
.anuncio-viver .anuncio-main-link, .anuncio-viver .anuncio-sublinks .anuncio-sublink,
.anuncio-conhecer .anuncio-main-link, .anuncio-conhecer .anuncio-sublinks .anuncio-sublink { color: hsl( var(--bg-main), -50%, calc(var(--bg-main) + 20%) ); }*/

/* Sublinks below content */
.anuncio-sublinks { position: relative; z-index: 2; /* keep them clickable */ margin-top: auto; padding-top: var(--space-md); border-top: 1px solid var(--color-border-light); display: flex; flex-wrap: wrap; gap: var(--space-md); }

.anuncio-sublink { font-size: var(--text-base); font-weight: 500; text-decoration: none; transition: color 0.2s ease; }

    .anuncio-sublink:hover { color: var(--text-link); text-decoration: underline; }

/* Cookie */
#cookieBar { display: block; position: fixed; bottom: 0; text-align: center; width: 100%; background-color: #EEE; padding: 10px 0; z-index: 10000; border-top: 1px solid #CCC; }
    #cookieBar .fechar { color: white; background-color: #333; margin-left: 10px; padding: 2px 8px; }





/*===================================================================================*/
/*	GO TO TOP / SCROLL UP
/*===================================================================================*/

#scrollUp { bottom: 20px; right: 20px; font-size: 36px; line-height: 100%; color: #FFF; background-color: #506A85; padding: 0.5em; -webkit-border-radius: var(--radius-md); -moz-border-radius: var(--radius-md); border-radius: var(--radius-md); opacity: .5; }

    #scrollUp:hover { color: white; opacity: 1; }


/*===================================================================================*/
/*	Teste
/*===================================================================================*/

.teste, .teste .navbar { background-color: #990D02; }
    .teste .aPrincipal { padding-left: 10px; padding-right: 10px; }






/* ========================= */
/* Bootstrap XS (até 767px)  */
/* ========================= */
@media (max-width: 767px) {
    .container { max-width: 98%; }

    #AnteMenu { display: none; }
    .navbar .nav-item.topico { font-size: 140%; }
    .navbar-nav .input-group { display: inherit; margin: 0.5em 0; }
    .navbar-nav .mobile { display: inherit; margin-right: auto; }
    .navbar-nav .nav-item.button-close { margin-right: 0; margin-left: auto; }
    .mobile-hide { display: none !important; }
    .navbar-right .navbar-nav .nav-item .unita-div { margin: 0.25em 0; }
    #main-navbar { background-image: linear-gradient(135deg, var(--cor-ubi), var(--cor-ubia)); }


    .blocos .blkItem:nth-child(2n+1) .ficheiroSubPagina, .blocos .blkItem:nth-child(2n) .ficheiroSubPagina { margin: 0 auto; float: none; }
    .blocos .blkItem .caption { font-size: small; margin-bottom: 10px; }

    #news-item { margin-top: 10px; }
    .news-text { margin-bottom: 30px; }
    .more-news { margin-top: 15px; }


    #ParceriasFooter ul li { display: inline-block; padding: 1em 0; text-align: center; min-height: 4em; max-width: 100%; }
    #ParceriasFooter img { width: auto; }

    .global-footer .row, .global-footer .text-right { text-align: center; }
}


/* ============================= */
/* Menus Especiais (>767px)      */
/* ============================= */
@media (min-width: 768px) {
    #AnteMenuOnMenuPrincipal { display: none; }
}

@media (max-width: 991px) {
    #SeccoesPrincipais .seccao .Titulo { text-align: center; }
    #SeccoesPrincipais .seccao .Texto { display: none; }
    .navbar-brand img { height: 70px; width: auto; }
}

/* ============================= */
/* Bootstrap até XL (até 1199px) */
/* ============================= */
@media (max-width: 1199px) {
    .subMenuVertical { float: none; max-width: 100%; width: 100%; }
    .comMenu section.conteudo { float: none; width: 100%; }
}

/* ==================================== */
/* Bootstrap MD até XL (768px - 1199px) */
/* ==================================== */
@media (min-width: 768px) and (max-width: 1199px) {
    .container { max-width: 98%; }
    .navbar-pesquisa input:focus { width: 4em; transition-duration: 0.5s; }
    #AnteMenuEsquerda, #AnteMenuDireita { font-size: 85%; }

    #btnIcons { position: absolute; top: 0; right: 0; }
    #ListaCalendario .lista li:nth-child(4n+1) { clear: none; }
    #ListaCalendario .lista li:nth-child(3n+1) { clear: none; }
    #ListaCalendario .lista li:nth-child(2n+1) { clear: both; }
}


/* ============================= */
/* Bootstrap LG e acima (≥992px) */
/* ============================= */
@media (min-width: 992px) {
    #naUBI a { text-decoration: none; }
    #mini-alert,
    #default-alert { background-color: #fbfbf9; }
        #mini-alert h3,
        #default-alert h3 { display: block; padding-right: 0; }
        #mini-alert p,
        #default-alert p { display: block; }
    #ListaCalendario .lista li:nth-child(4n+1) { clear: none; }
    #ListaCalendario .lista li:nth-child(3n+1) { clear: both; }
}

/* ========================== */
/* Extra breakpoint (≥1200px) */
/* ========================== */
@media (min-width: 1200px) {
    .size-detect-lg { display: inline; }
    .postcard-left .postcard-image { width: 100px; }
    .postcard-left .postcard-text { padding-left: 10px; }
    .lista li:nth-child(4n+1) { clear: both; }
}

/* Mobile adjustments for announcements */
@media (max-width: 900px) {
    .seccao-anuncios { padding-top: var(--space-xl); padding-bottom: var(--space-xl); }
    .anuncios-title { font-size: var(--text-2xl); margin-bottom: var(--space-xl); }

    #TiposDeCursosBlock .tiposDeCursoMaisLinks a { display: block; margin: 1em; }

    .anuncio-card, .anuncio-card:nth-child(even) { flex-direction: column; }
    .anuncio-card { margin: 0; }
    .anuncio-image { min-height: 250px; }
    .anuncio-body { padding: var(--space-lg); }
    .anuncio-content h3 { font-size: var(--text-lg); }
    .anuncio-content p { font-size: var(--text-base); }
    .anuncio-content { margin-bottom: var(--space-md); }
    .anuncio-sublinks { margin-top: var(--space-sm); }

    /* For uniform card vertical spacing in events and news */
    .event-item, .news-item, .anuncio-card { margin-bottom: var(--space-lg); }
        .event-item .event-text { padding: var(--space-lg); }
}


/* ========================== */
/* Extra breakpoint (≥1440px) */
/* ========================== */
@media (min-width: 1440px) {
    #Conteudo { font-size: 110%; }
}

/* ========================= */
/* Impressão                 */
/* ========================= */
@media print {
    .no-print, .noprint, .animationend { display: none; }
}





/* Scroll-driven fade-in para <article> */
article { animation: text-appear 0.5s text-appear both; animation-timeline: view; animation-range: entry 50% 50vh; }

@keyframes text-appear {
    from { opacity: 0; translate: 0 8rem; }
    to { opacity: 1; translate: 0 0; }
}

/* Exemplo para imagens dentro do artigo */

@keyframes image-appear {
    from { filter: saturate(0) contrast(4) brightness(.1) blur(3px); opacity: 0; scale: .95; translate: 0 4rem; }
    to { filter: none; opacity: 1; scale: 1; translate: 0 0; }
}
