<!DOCTYPE html>
<html lang="hu">
<head>
<meta charset="utf-8" />
<meta name="viewport"
content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=5.0, interactive-widget=resizes-content" />
<meta name="apple-itunes-app" content="app-id=391946486, app-argument=https://hvg.hu" />
<meta name="google-play-app" content="app-id=hu.hvg.android">
<link rel="alternate" href="https://play.google.com/store/apps/details?id=hu.hvg.android" />
<title> | hvg.hu</title>
<link rel="preconnect" href="https://cdn.hvg.hu">
<link rel="preload" href="https://cdn.hvg.hu/assets/hvghu/fonts/hvg-icons/fonts/hvg-icons.woff2" as="font"
type="font/woff2" crossorigin>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="preconnect" href="https://unpkg.com">
<script>
window.siteConfig = {
siteEngineBaseUrl: "https://hvg.hu",
multiSiteGatewayBaseUrl: "https://rd2024-gw.hvg.hu",
subscriptionUrl: "https://shop.hvg.hu/",
tokenValidationUrl: "https://api.hvg.hu/verify-token",
loginUrl: "",
siteId: "hvg"
}
window.msgwBaseUrl = "https://rd2024-gw.hvg.hu"
</script>
<!-- Google Tag Manager -->
<script>
if (new URL(window.location.href).searchParams.has("layoutedit")) {
console.debug("layoutedit mode");
} else {
(function (w, d, s, l, i) {
w[l] = w[l] || [];
w[l].push({ "gtm.start": new Date().getTime(), event: "gtm.js" });
var f = d.getElementsByTagName(s)[0],
j = d.createElement(s),
dl = l != "dataLayer" ? "&l=" + l : "";
j.async = true;
j.src = "https://www.googletagmanager.com/gtm.js?id=" + i + dl;
f.parentNode.insertBefore(j, f);
})(window, document, "script", "dataLayer", "GTM-P9CGKX");
}
</script>
<!-- End Google Tag Manager -->
<!-- Embedly -->
<script async src="https://cdn.embedly.com/widgets/platform.js"></script>
<!-- FAVICONS -->
<link
rel="icon"
type="image/png"
href="https://cdn.hvg.hu/assets/hvghu/favicon/favicon-96x96.png"
sizes="96x96"
/>
<link
rel="icon"
type="image/png"
href="https://cdn.hvg.hu/assets/hvghu/favicon/favicon.png"
sizes="48x48"
/>
<link
rel="icon"
type="image/svg+xml"
href="https://cdn.hvg.hu/assets/hvghu/favicon/favicon.svg"
/>
<link
rel="shortcut icon"
href="https://cdn.hvg.hu/assets/hvghu/favicon/favicon.ico"
/>
<link
rel="apple-touch-icon"
href="https://cdn.hvg.hu/assets/hvghu/favicon/apple-touch-icon.png"
sizes="180x180"
/>
<meta name="apple-mobile-web-app-title" content="hvg.hu" />
<link
rel="manifest"
href="https://cdn.hvg.hu/assets/hvghu/favicon/site.webmanifest"
/>
<!-- HEADROOM JS -->
<script
type="text/javascript"
src="https://unpkg.com/headroom.js@0.12.0/dist/headroom.js"
></script>
<!-- FONTS -->
<link
rel="stylesheet"
href="https://fonts.googleapis.com/css2?family=IBM+Plex+Serif:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&display=swap&subset=latin,latin-ext"
/>
<link
rel="stylesheet"
href="https://cdn.hvg.hu/assets/hvghu/fonts/hvg-icons/icons.min.css"
type="text/css"
/>
<link
rel="stylesheet"
href="https://cdn.hvg.hu/assets/hvghu/css/1.0.299/main.css"
type="text/css"
/>
<script type="text/javascript">
const cdnCssVersion = "1.0.299";
const cdnLangVersion = "1.0.10";
const siteConfigVersion = "1.1.107";
const widgets = [
{
name: "ad-placement",
head: {
links: [
{
type: "text/css",
rel: "stylesheet",
href: "https://cdn.hvg.hu/ad-placement/production/main.css",
},
],
scripts: [
{
type: "module",
src: "https://cdn.hvg.hu/ad-placement/production/index.js",
},
],
},
config: {
adconfig: {
backendUrl: "https://ad-placement-admin.hvg.hu/admin",
renderUrl: "https://rd2024-gw.hvg.hu/api/adplacements",
imageServiceWidgetUrl:
"https://cdn.hvg.hu/hvg-image-service/production/hvg-search-image.umd.js",
imageServiceBackendUrl: "https://image-service.hvg.hu/api",
siteId: "hvg",
environment: "production",
articleEditorUrl: "https://article-editor.hvg.hu",
idleTimeout: 30,
},
},
},
{
name: "site-configurator",
head: {
scripts: [
{
src: `https://cdn.hvg.hu/site-configurator-widget/${siteConfigVersion}/site-configurator-widget.umd.js`,
},
],
links: [
{
href: `https://cdn.hvg.hu/site-configurator-widget/${siteConfigVersion}/site-configurator-widget.css`,
},
],
},
config: {
SiteConfiguratorWidgetConfig: {
environment: "live",
SITE_ENGINE_API: "https://hvg.hu",
SITE_CONFIGURATOR_API: "https://site-configurator.hvg.hu/api",
ARTICLE_EDITOR_BACKEND_URL: "https://article-editor.hvg.hu",
},
},
},
{
name: "live-feed",
head: {
links: [
{ href: "https://cdn.hvg.hu/hvg-livefeed/production/style.css" },
],
scripts: [
{
src: "https://cdn.hvg.hu/hvg-livefeed/1.3.256/hvg-livefeed.umd.js",
async: true,
},
],
},
config: {
HvgLiveFeedConfig: {
apiurl: "https://hvg.hu",
wsurl: "https://rd2024-gw.hvg.hu" + "/hub/live-feed",
lficlickable: true,
},
},
},
{
name: "gallery",
head: {
scripts: [
{
src: "https://cdn.hvg.hu/hvg-gallery/2.0.43/hvg-gallery.umd.js",
async: true,
},
],
},
config: {
HvgGalleryEditorConfig: {
apiurl: "https://rd2024-gw.hvg.hu",
cssUrl: `https://cdn.hvg.hu/assets/hvghu/css/${cdnCssVersion}/widgets/hvg-gallery-element.css`,
imageBaseUrl:
"https://img.hvg.hu/Img/8133bb77-3fc3-490f-b374-cb198a0455cc/{0}.jpg",
},
},
},
{
name: "voting",
head: {
scripts: [
{
src: "https://cdn.hvg.hu/hvg-voting/2.0.35/hvg-voting.umd.js",
async: true,
},
],
},
config: {
HvgVotingWidgetConfig: {
apiUrl: "https://rd2024-gw.hvg.hu/api/votes",
cssUrl: `https://cdn.hvg.hu/assets/hvghu/css/${cdnCssVersion}/widgets/hvg-voting-element.css`,
},
},
},
{
name: "paidcontent",
head: {
scripts: [
{
src: "https://cdn.hvg.hu/paidcontent-widget/prod/paidcontent-widget.umd.js",
},
],
},
config: {},
},
{
name: "newsletter",
head: {
scripts: [
{
src: "https://cdn.hvg.hu/core/newsletter-widget/prod/newsletter-widget.umd.js",
async: true,
},
],
},
config: {
newsletterConfig: {
apiUrl: "https://api.hvg.hu/userProfile",
grouped: true,
site: "hvg",
tag: "",
cssUrl: `https://cdn.hvg.hu/assets/hvghu/css/${cdnCssVersion}/widgets/widget_newsletter_subscribe.css`,
},
},
},
{
name: "profile-newsletter",
head: {
scripts: [
{
src: "https://cdn.hvg.hu/core/profile-newsletter-widget/1.0.33/profile-newsletter-widget.umd.js",
async: true,
},
],
},
config: {
profileNewsletterConfig: {
apiUrl: "https://api.hvg.hu/userProfile",
firstLoadVisible: "false",
newsletterSite: "hvg",
disableUrlFragmentHandling: true,
cssUrl: `https://cdn.hvg.hu/assets/hvghu/css/${cdnCssVersion}/widgets/widget_profile_newsletter.css`,
},
},
},
{
name: "notification",
head: {
scripts: [
{
src: "https://cdn.hvg.hu/core/notification-widget/prod/notification-widget.umd.js",
async: true,
},
],
},
config: {
notificationConfiguration: {
targetSelector: "#fixMessagePlaceHolder",
apiUrl: "https://api.hvg.hu/notification-generator",
site: "hvg",
cssUrl: `https://cdn.hvg.hu/assets/hvghu/css/${cdnCssVersion}/widgets/widget_notifications.css`,
},
},
},
{
name: "login",
head: {
scripts: [
{
src: "https://cdn.hvg.hu/core/login-widget/prod/login-widget.umd.js",
async: true,
},
],
},
config: {
loginConfiguration: {
operation: "login",
apiUrl: "https://api.hvg.hu/userProfile",
googleClientId:
"95782868438-i7tdqdh5n69i03kmh3tarfbsnig44udu.apps.googleusercontent.com",
facebookAppId: "217147285347",
ssoUrl: "https://hvg.hu/",
termsConditionType: "generalTermsAndEmail",
passwordChangeToken: "",
privacyPolicyUrl: "https://hvg.hu/",
generalTermsUrl:
"https://cdn.hvg.hu/assets/hvghu/documents/HVG-ASZF-2025-06-16.pdf",
isModal: true,
siteId: "HVG",
autoSsoRedirect: "true",
cssUrl: `https://cdn.hvg.hu/assets/hvghu/css/${cdnCssVersion}/widgets/widget_login.css`,
},
},
},
{
name: "logout",
head: {
scripts: [
{
src: "https://cdn.hvg.hu/core/logout-widget/prod/logout-widget.umd.js",
},
],
},
config: {
logoutConfig: {
cssUrl:
"https://cdn.hvg.hu/core/logout-widget/prod/logout-widget.css",
apiUrl: "https://api.hvg.hu/userProfile",
callback: "https://hvg.hu",
},
},
},
{
name: "account-deletion",
head: {
scripts: [
{
src: "https://cdn.hvg.hu/core/account-delete-widget/prod/account-delete-widget.umd.js",
},
],
},
config: {
accountDeleteConfig: {
cssUrl:
"https://cdn.hvg.hu/core/account-delete-widget/prod/account-delete-widget.css",
apiUrl: "https://hvg.hu/userProfile",
redirectUrl: "https://hvg.hu/",
},
},
},
{
name: "profile-data",
head: {
scripts: [
{
src: "https://cdn.hvg.hu/core/user-profile-widget/1.0.116/user-profile-widget.umd.js",
async: true,
},
],
},
config: {
userProfileConfig: {
apiUrl: "https://api.hvg.hu/userProfile",
defaultOfferUrl:
"https://shop.hvg.hu/elofizetes?category=hvg360%2Felofizetes&categoryid=elofizetes",
questionnaireUrl: "https://apollo.maileon.hu/profiler/special/hvg360",
featurequestionnaireUseCustomerIo: "true",
productLandingPath: "/vasarlas/termek/",
disableUrlFragmentHandling: "true",
cssUrl: `https://cdn.hvg.hu/assets/hvghu/css/${cdnCssVersion}/widgets/widget_user_profile.css`,
},
},
},
{
name: "closing",
head: {
scripts: [
{
src: "https://cdn.hvg.hu/core/closing-widget/1.0.69/closing-widget.umd.js",
},
],
},
},
{
name: "paywall",
head: {},
config: {
paywallConfig: {
apiUrl: "https://shop-api-gw.hvg.hu",
shopBaseUrl: "https://shop.hvg.hu",
appleUA: "iosapp",
closable: true,
highlightCategory: "highlighted",
cssUrl: `https://cdn.hvg.hu/assets/hvghu/css/${cdnCssVersion}/widgets/widget_paywall.css`,
},
},
},
];
const config = {
apiURL: {
lang: `https://cdn.hvg.hu/assets/hvghu/languages/${cdnLangVersion}/hu.json`,
sendGift:
window.siteConfig.multiSiteGatewayBaseUrl +
"https://api.allorigins.win/raw?url=https://postman-echo.com/delay/10",
saveArticle:
window.siteConfig.multiSiteGatewayBaseUrl +
"/api/Profile/savedArticles",
isArticelSaved:
window.siteConfig.multiSiteGatewayBaseUrl +
"/api/Profile/isArticleSaved",
demo: "https://api.allorigins.win/raw?url=https://postman-echo.com/delay/10",
},
adultContent: {
underEighteenURL: "https://hvgkonyvek.hu/konyvek/gyerek-es-ifjusagi",
adultText:
'<p><strong>Figyelem!</strong> Az ön által letölteni kívánt tartalom olyan elemeket tartalmaz, amelyek Mttv. által rögzített besorolás szerinti V. vagy VI. kategóriába tartoznak, és a kiskorúakra káros hatással lehetnek. Ha szeretné, hogy az ilyen tartalmakhoz kiskorú ne férhessen hozzá, használjon <a title="Gyermekbarát internet" href="http://mte.hu/gyermekbarat-internet/" target="_blank">szűrőprogramot</a>.</p>',
},
articleDetails: {
numberOfVisibleTag: 3,
numberOfVisibleAuthor: 3,
},
dateFormat: {
datetime: "yyyy.MM.dd - HH:mm",
date: "yyyy.MM.dd.",
},
errorPageRedirect: {
redirectIsEnabled: true,
url: "https://hvg.hu",
seconds: 5000,
},
document: {
debugLogs: false,
freshSectionRefreshMinutes: 2,
},
};
</script>
<script>
/* CONSTANTS */
const HIDDEN = "hidden-important"
/* WIDGETS */
const requiredWidgets = []
const appendedWidgets = []
function addToRequiredWidgets(widgets) {
if (Array.isArray(widgets)) {
requiredWidgets.push(...widgets)
} else {
requiredWidgets.push(widgets)
}
}
function appendWidget(widgetName, onload) {
debugLog("Appending widget: ", widgetName)
if (appendedWidgets.includes(widgetName)) {
debugLog("Widget already appended: ", widgetName)
if (onload) return onload()
return
}
const widget = widgets.find((i) => i.name === widgetName)
if (!widget) return
if (widget.config) {
Reflect.ownKeys(widget.config).forEach((k) => {
window[k] = widget.config[k]
debugLog("widget config added for: ", window[k])
})
}
if (widget.head?.scripts) {
widget.head.scripts.forEach((s) => {
const script = document.createElement("script")
script.type = s.type ?? "text/javascript"
script.src = s.src
if (onload) {
script.onload = () => onload()
}
if (s.defer) {
script.defer = true
}
if (s.async) {
script.async = true
}
document.head.appendChild(script)
debugLog("Script appended: ", s.src)
})
}
if (widget.head?.links) {
widget.head.links.forEach((l) => {
const link = document.createElement("link")
link.href = l.href
link.type = l.type ?? "text/css"
link.rel = l.rel ?? "stylesheet"
document.head.appendChild(link)
debugLog("Style appended: ", l.href)
})
}
appendedWidgets.push(widgetName)
}
function getRouteName() {
const parts = window.location.pathname
.split("/")
.map(part => part.trim())
.filter(Boolean)
if (parts.length === 0) return null
if (parts[0] === "sites") {
return parts[2] || null
}
return parts[0]
}
function getPartFromSE(type, provider, id, payload, succ, err, fin) {
const body = {
site: window.siteConfig?.siteId || 'hvg',
type: type,
id: id,
provider: provider
}
if (payload) body.payload = payload
fetch(`${window.siteConfig.siteEngineBaseUrl}/sites/getPart`, {
method: "POST",
credentials: "include",
headers: {
"Content-Type": "application/json",
"Access-Control-Origin": "*"
},
body: JSON.stringify(body)
})
.then(function(response) {
if (!response.ok) {
throw new Error(`HTTP error! Status: ${response.status}`)
}
return response.text()
})
.then(function(text) {
if (succ) succ(text)
})
.catch((error) => {
debugError("Error fetching data:", error.message)
if (err) err(error)
})
.finally(() => {
if (fin) fin()
})
}
function getPartFromMSGW(provider, id, payload, pageNumber, succ, err, fin) {
const body = {
site: window.siteConfig?.siteId || 'hvg',
id: id,
provider: provider
}
if (payload) body.payload = payload
if (pageNumber) body.pageNumber = pageNumber
fetch(`${window.siteConfig.multiSiteGatewayBaseUrl}/api/Profile/getPart`, {
method: "POST",
credentials: "include",
headers: {
"Content-Type": "application/json",
"Access-Control-Origin": "*"
},
body: JSON.stringify(body)
})
.then(function(response) {
if (!response.ok) {
throw new Error(`HTTP error! Status: ${response.status}`)
}
return response.text()
})
.then(function(text) {
if (succ) succ(text)
})
.catch((error) => {
debugError("Error fetching data:", error.message)
if (err) err(error)
})
.finally(() => {
if (fin) fin()
})
}
/* DEVICE / VIEWPORT */
const FLUTTER_ELEMENT_SELECTOR = ".flutter-show"
const FLUTTER_IOS_HIDE_SELECTOR = ".flutter-ios-hide"
const TABLET_MIN_BREAKPOINT_REM = 48
const DESKTOP_MIN_BREAKPOINT_REM = 64
const LARGE_MIN_BREAKPOINT_REM = 83.25
const rootFontSize = parseFloat(getComputedStyle(document.documentElement).fontSize)
function setDisplay(elements, display) {
if (!elements) return
const elementArray = elements instanceof NodeList || Array.isArray(elements) ? Array.from(elements) : [elements]
elementArray.forEach((element) => {
element.style.display = display
})
}
function remToPx(rem) {
return rem * rootFontSize
}
function isMobile() {
return window.innerWidth < remToPx(TABLET_MIN_BREAKPOINT_REM)
}
function isMobileMenu() {
return !isDesktop()
}
function isDesktop() {
return window.innerWidth >= remToPx(DESKTOP_MIN_BREAKPOINT_REM)
}
function isLarge() {
return window.innerWidth >= remToPx(LARGE_MIN_BREAKPOINT_REM)
}
function isMainPage() {
return getRouteName() === null
}
function addFlutterEventListeners(selector) {
if (isFlutter()) {
const btns = document.querySelectorAll(selector)
btns.forEach((btn) => {
const action = btn.getAttribute("data-action")
btn.addEventListener("click", () => {
sendToFlutter(action)
})
})
}
}
function checkIfFlutter(selector) {
if (isFlutter()) {
document.querySelectorAll(FLUTTER_ELEMENT_SELECTOR).forEach(flutterElem => {
flutterElem.classList.remove(HIDDEN)
})
}
if (isFlutterIos()) {
document.querySelectorAll(FLUTTER_IOS_HIDE_SELECTOR).forEach(iosElem => {
iosElem.classList.add(HIDDEN)
})
}
addFlutterEventListeners(selector)
}
function isFlutter() {
return isFlutterIos() || isFlutterAndroid()
}
function isFlutterIos() {
const userAgent = navigator.userAgent
return userAgent.includes("iosapp")
}
function isFlutterAndroid() {
const userAgent = navigator.userAgent
return userAgent.includes("androidapp")
}
function sendToFlutter(msg) {
if (!window.FlutterChannel || !msg) return
try {
window.FlutterChannel.postMessage(msg)
} catch (e) {
debugError("Error sending message to Flutter:", e)
}
}
/*AUTH*/
function checkAuthOrTryLogin(successCallback) {
verifyToken()
.then(() => successCallback())
.catch(() => window.postMessage("showlogin"))
}
let tokenPromise = null
function verifyToken() {
if (typeof window.authed !== "undefined") {
if (window.authed) {
return Promise.resolve()
}
return Promise.reject()
}
if (tokenPromise) {
return tokenPromise
}
tokenPromise = fetch(`${window.siteConfig.tokenValidationUrl}`, {
method: "GET",
credentials: "include"
})
.then(response => {
if (!response.ok) {
window.authed = false
throw new Error(`HTTP error! Status: ${response.status}`)
}
window.authed = true
})
.catch(error => {
window.authed = false
throw error
})
.finally(() => {
tokenPromise = null
})
return tokenPromise
}
async function share(url, title, description) {
try {
if (navigator.share) {
await navigator.share({
title: title,
text: description,
url: url
})
} else {
const msgToFlutter = JSON.stringify(
{
type: "flutter.share",
title: title,
text: description,
url: url
})
sendToFlutter(msgToFlutter)
}
} catch (error) {
debugError("Error sharing:", error)
}
}
/*PROFILE*/
function initAccountButtons(context = document) {
initLogout(context)
initAccountDelete(context)
}
function initLogout(context) {
context.querySelectorAll("[data-action='logout']").forEach((e) => {
e.addEventListener("click", handleLogout)
e.removeAttribute("data-action")
})
}
function handleLogout() {
appendWidget("logout", () => {
const url = window.location.origin
window.postMessage({
"MessageType": "Logout",
"Message": {
"Callback": url
}
})
})
}
function initAccountDelete(context) {
context.querySelectorAll("[data-action='account-delete']").forEach((e) => {
e.addEventListener("click", handleAccountDelete)
e.removeAttribute("data-action")
})
}
function handleAccountDelete() {
checkAuthOrTryLogin(() => {
appendWidget("account-deletion", () => {
const url = window.location.origin
window.postMessage({
"MessageType": "AccountDelete",
"Message": {
"Callback": url
}
})
})
})
}
function isDebug() {
return config?.document?.debugLogs === true
}
function debugLog(...args) {
if (isDebug()) {
console.log(...args)
}
}
function debugError(...args) {
if (isDebug()) {
console.error(...args)
}
}
</script>
<script>
const LOCAL_STORAGE_TRANSLATIONS_KEY = "translations"
let translationsData = null
fetchTranslations()
async function fetchTranslations() {
try {
const storedTranslations = getStoredTranslations()
if (storedTranslations) {
translationsData = storedTranslations.data
return
}
} catch (e) {
debugError("Error retrieving stored translations:", e)
}
debugLog("Stored translations not found, fetching new translations")
const fetchedData = await doFetchTranslations()
const version = extractVersionFromUrl(config.apiURL.lang)
translationsData = fetchedData
window.dispatchEvent(new CustomEvent("translationsLoaded"))
try {
storeTranslations(version, fetchedData)
} catch (e) {
debugError("Error storing translations:", e)
}
}
function extractVersionFromUrl(url) {
const match = url.match(/\/(\d+\.\d+\.\d+)\//)
return match ? match[1] : null
}
function getStoredTranslations() {
const cachedItem = localStorage.getItem(LOCAL_STORAGE_TRANSLATIONS_KEY)
if (cachedItem) {
return JSON.parse(cachedItem)
}
return null
}
function storeTranslations(version, data) {
localStorage.setItem(LOCAL_STORAGE_TRANSLATIONS_KEY, JSON.stringify({
"version": version,
"data": data
}))
debugLog(`Translation version ${version} stored`)
}
async function doFetchTranslations() {
try {
const response = await fetch(config.apiURL.lang)
return await response.json()
} catch (e) {
debugError("Translation fetch failed:", e)
}
}
async function refreshTranslations() {
debugLog("Checking for new translations")
const storedTranslations = getStoredTranslations()
if (!storedTranslations) {
await fetchTranslations()
return
}
const currentVersion = extractVersionFromUrl(config.apiURL.lang)
const validVersion = storedTranslations.version === currentVersion
if (!validVersion) {
debugLog("Stored translations version mismatch, fetching new translations")
const fetchedData = await doFetchTranslations()
if (fetchedData) {
storeTranslations(currentVersion, fetchedData)
translationsData = fetchedData
}
}
}
async function initTranslations(context = document) {
if (!translationsData) {
debugLog(`No translations data available, for context: ${context.id || context.tagName || "document"}`)
return
}
debugLog(`translating context: ${context.id || context.tagName || "document"}`)
setDataTranslateKey(context)
setDataTranslations(context)
}
function getTranslation(key, defaultText = null) {
try {
return key.split(".").reduce((acc, part) => acc && acc[part], translationsData) || defaultText || key
} catch (e) {
return defaultText || key
}
}
function setDataTranslateKey(context = document) {
context.querySelectorAll("[data-translate-key]").forEach((el) => {
const key = el.getAttribute("data-translate-key")
const value = replaceCustomVariableInTranslate(el, getTranslation(key))
const targetAttr = el.getAttribute("data-translate-target")
if (targetAttr) {
el.setAttribute(targetAttr, value)
} else {
el.innerText = value
}
el.removeAttribute("data-translate-key")
})
}
function setDataTranslations(context = document) {
context.querySelectorAll("[data-translations]").forEach((el) => {
const translationPairs = JSON.parse(el.getAttribute("data-translations"))
Object.entries(translationPairs).forEach(([targetAttr, key]) => {
const value = replaceCustomVariableInTranslate(el, getTranslation(key))
if (targetAttr === "innerText") {
el.innerText = value
} else {
el.setAttribute(targetAttr, value)
}
el.removeAttribute("data-translations")
})
})
}
function replaceCustomVariableInTranslate(el, languageText) {
const variablePattern = /\${(.*?)}/g
let match
while ((match = variablePattern.exec(languageText)) !== null) {
const variableName = match[1]
const variableValue = el.getAttribute(`data-${variableName}`)
if (variableValue) {
languageText = languageText.replace(match[0], variableValue)
}
}
return languageText
}
</script>
<script>
function formatDateToPattern(date, format) {
const year = date.getFullYear()
const month = String(date.getMonth() + 1).padStart(2, "0")
const day = String(date.getDate()).padStart(2, "0")
const hours = String(date.getHours()).padStart(2, "0")
const minutes = String(date.getMinutes()).padStart(2, "0")
const seconds = String(date.getSeconds()).padStart(2, "0")
const userLocale = navigator.language || "hu"
const monthOptions = { month: "long" }
const monthString = date.toLocaleDateString(userLocale, monthOptions)
return format
.replace("yyyy", year)
.replace("mmmm", monthString)
.replace("MM", month)
.replace("dd", day)
.replace("HH", hours)
.replace("mm", minutes)
.replace("ss", seconds)
}
function toLocalISOStringWithOffset(date) {
const pad = (n) => String(n).padStart(2, "0")
const y = date.getFullYear()
const M = pad(date.getMonth() + 1)
const d = pad(date.getDate())
const h = pad(date.getHours())
const m = pad(date.getMinutes())
const s = pad(date.getSeconds())
const off = -date.getTimezoneOffset()
const sign = off >= 0 ? "+" : "-"
const oh = pad(Math.floor(Math.abs(off) / 60))
const om = pad(Math.abs(off) % 60)
return `${y}-${M}-${d}T${h}:${m}:${s}${sign}${oh}:${om}`
}
async function processLocalDatetimeElements(context = document) {
context.querySelectorAll("[data-local-datetime-key]").forEach((el) => {
let isoInput = el.getAttribute("data-local-datetime-key")
const format = el.getAttribute("data-local-datetime-format") || config.dateFormat.datetime
const targetFormat = el.getAttribute("data-local-target-format") || config.dateFormat.datetime
const targetAttr = el.getAttribute("data-local-datetime-target")
const assumeUTC = (el.getAttribute("data-assume-utc") ?? "true") === "true"
if (isoInput) {
const hasTZ = /[zZ]|[+\-]\d{2}:?\d{2}$/.test(isoInput)
if (!hasTZ && assumeUTC) isoInput += "Z"
const date = new Date(isoInput)
if (isNaN(date)) {
el.removeAttribute("data-local-datetime-key")
return
}
if (el.tagName === "TIME") {
el.setAttribute("datetime", toLocalISOStringWithOffset(date))
}
if (targetAttr) {
if (targetAttr === "datetime" || targetAttr === "text") {
el.textContent = formatDateToPattern(date, targetFormat)
el.setAttribute("title", formatDateToPattern(date, targetFormat))
} else {
el.setAttribute(targetAttr, formatDateToPattern(date, targetFormat))
}
} else {
el.textContent = formatDateToPattern(date, format)
}
el.removeAttribute("data-local-datetime-key")
}
})
}
async function processTimeAgoElements(context = document) {
const timeAgoElements = context.querySelectorAll("[data-timeago-value]")
timeAgoElements.forEach((el) => {
let timeValue = el.getAttribute("data-timeago-value")
const format = el.getAttribute("data-local-datetime-format") || config.dateFormat.datetime
if (!timeValue.endsWith("Z")) {
timeValue += "Z"
}
const pastDate = new Date(timeValue)
const now = new Date()
const diffInSeconds = Math.floor((now - pastDate) / 1000)
const diffInMinutes = Math.floor(diffInSeconds / 60)
const diffInHours = Math.floor(diffInMinutes / 60)
if (diffInMinutes < 1) {
setElementAttributes(el, "timeago.minutes", "count", 1)
} else if (diffInMinutes < 60) {
setElementAttributes(el, "timeago.minutes", "count", diffInMinutes)
} else if (diffInHours < 24) {
setElementAttributes(el, "timeago.hours", "count", diffInHours)
} else {
el.innerText = formatDateToPattern(pastDate, format)
}
el.removeAttribute("data-timeago-value")
})
}
function setElementAttributes(element, translateKey, customVariableName = null, customVariableValue = null) {
element.setAttribute("data-translate-key", translateKey)
if (customVariableName !== null) {
element.setAttribute(`data-${customVariableName}`, customVariableValue)
}
}
function parseIsoLike(s, assumeUTC = true) {
if (!s) return NaN
const hasTZ = /[zZ]|[+\-]\d{2}:?\d{2}$/.test(s)
const iso = (!hasTZ && assumeUTC) ? s + "Z" : s
const date = new Date(iso)
if (isNaN(date.getTime())) return NaN
date.setSeconds(0, 0)
return date.getTime()
}
function processShowIfAfter(context = document) {
context.querySelectorAll(".js-show-if-after").forEach(el => {
const a = el.getAttribute("data-a") // modifiedAt
const b = el.getAttribute("data-b") // publishAt
const assumeUTC = (el.getAttribute("data-assume-utc") ?? "true") === "true"
const ta = parseIsoLike(a, assumeUTC)
const tb = parseIsoLike(b, assumeUTC)
const show = !Number.isNaN(ta) && !Number.isNaN(tb) && ta > tb
el.style.display = show ? "" : "none"
})
}
try {
processShowIfAfter()
} catch (e) {
}
document.addEventListener("DOMContentLoaded", () => {
try {
processShowIfAfter()
} catch (e) {
}
})
new MutationObserver(() => {
try {
processShowIfAfter()
} catch (e) {
}
})
.observe(document.documentElement, { childList: true, subtree: true })
</script>
<script>
class Carousel {
static DEFAULT_SELECTORS = {
item: ".carousel-item",
indicators: ".carousel-indicators .carousel-indicators__indicator",
indicatorsContainer: ".carousel-indicators",
control: ".carousel-control",
showroom: ".showroom",
wrapper: ".showroom-carousel"
}
static DEFAULT_OPTIONS = {
autoScroll: false,
autoScrollInterval: 5000,
draggable: false,
dragSensitivity: 0.75,
loop: false,
indicators: false,
itemsPerPage: 1,
selectors: {}
}
constructor(carousel, options = {}) {
this.carousel = carousel
const datasetOptions = JSON.parse(carousel.dataset.options || "{}")
const datasetSelectors = JSON.parse(carousel.dataset.selectors || "{}")
const merged = {
...Carousel.DEFAULT_OPTIONS,
...datasetOptions,
...options
}
this.selectors = {
...Carousel.DEFAULT_SELECTORS,
...(merged.selectors || {}),
...datasetSelectors
}
this.options = { ...merged, selectors: this.selectors }
this.wrapperEl = this.carousel.closest(this.selectors.wrapper) || this.carousel.parentElement || document
this.showroomEl = this.carousel.closest(this.selectors.showroom) || this.wrapperEl
this.controls = this.showroomEl?.querySelectorAll(this.selectors.control) || []
const style = getComputedStyle(this.carousel)
const gap = parseFloat(style.columnGap || style.gap || 0)
this.itemWidth = (this.carousel.querySelector(this.selectors.item)?.offsetWidth || 0) + gap
this.itemCount = this.carousel.querySelectorAll(this.selectors.item).length
this.itemsPerPage = Math.max(1, Number(this.options.itemsPerPage) || 1)
this.pageWidth = this.itemWidth * this.itemsPerPage
this.pageCount = Math.max(1, Math.ceil(this.itemCount / this.itemsPerPage))
this.currentIndex = 0
this.autoScrollIntervalId = null
this.isDragging = false
this.hasDragged = false
this.startX = 0
this.scrollLeft = 0
}
init() {
if (this.carousel.dataset.inited === "true") return
this.initControls()
if (this.options.indicators) this.initIndicators()
if (this.options.draggable) this.initDragging()
if (!this.carousel.hasAttribute("tabindex")) {
this.carousel.setAttribute("tabindex", "0")
}
this.initKeyboard()
if (this.options.autoScroll) {
this.startAutoScroll()
this.carousel.addEventListener("manualScroll", () => this.resetAutoScroll())
}
if (!this.options.loop) this.updateButtonStates()
this.carousel.addEventListener("scroll", () => {
this.debounce(() => this.handleManualScroll(), 50)
})
window.addEventListener("resize", () => {
this.debounce(() => this.recalculate(), 200)
})
this.carousel.dataset.inited = "true"
}
initControls() {
this.controls.forEach((control) => {
const direction = control.getAttribute("rel")
control.addEventListener("click", () => {
this.scroll(direction)
this.resetAutoScroll()
})
})
}
initIndicators() {
this.buildIndicatorsIfNeeded()
const indicators = this.wrapperEl?.querySelectorAll(this.selectors.indicators) || []
indicators.forEach((indicator) => {
indicator.addEventListener("click", () => {
const index = parseInt(indicator.dataset.index, 10) || 0 // this is a PAGE index
this.scrollToIndex(index)
if (this.options.autoScroll) {
this.carousel.dispatchEvent(new Event("manualScroll"))
}
})
})
this.updateIndicators(this.currentIndex)
}
buildIndicatorsIfNeeded() {
const container = this.wrapperEl?.querySelector(this.selectors.indicatorsContainer)
if (!container) return
const existing = Array.from(container.querySelectorAll(".carousel-indicators__indicator"))
if (existing.length === this.pageCount && existing.every((el, i) => String(i) === el.dataset.index)) {
return
}
container.innerHTML = ""
for (let i = 0; i < this.pageCount; i++) {
const span = document.createElement("span")
span.className = "carousel-indicators__indicator indicator"
span.dataset.index = String(i)
if (i === 0) span.classList.add("active")
container.appendChild(span)
}
}
updateIndicators(index) {
const indicators = this.wrapperEl?.querySelectorAll(this.selectors.indicators) || []
indicators.forEach((indicator) => indicator.classList.remove("active"))
if (indicators[index]) indicators[index].classList.add("active")
}
initKeyboard() {
this._onKeyDown = (e) => {
if (this.isDragging || e.altKey || e.ctrlKey || e.metaKey) return
switch (e.key) {
case "ArrowRight":
case "PageDown":
this.scroll("next")
this.resetAutoScroll()
e.preventDefault()
break
case "ArrowLeft":
case "PageUp":
this.scroll("prev")
this.resetAutoScroll()
e.preventDefault()
break
case "Home":
this.scrollToIndex(0)
this.resetAutoScroll()
e.preventDefault()
break
case "End":
this.scrollToIndex(this.pageCount - 1)
this.resetAutoScroll()
e.preventDefault()
break
}
}
this.carousel.addEventListener("keydown", this._onKeyDown)
}
scroll(direction) {
let newIndex
if (this.options.loop) {
newIndex =
direction === "next"
? (this.currentIndex + 1) % this.pageCount
: (this.currentIndex - 1 + this.pageCount) % this.pageCount
} else {
if (direction === "next" && this.currentIndex === this.pageCount - 1) return
if (direction === "prev" && this.currentIndex === 0) return
newIndex = direction === "next" ? this.currentIndex + 1 : this.currentIndex - 1
}
this.scrollToIndex(newIndex)
}
scrollToIndex(index) {
this.currentIndex = Math.min(Math.max(index, 0), this.pageCount - 1)
const maxScrollLeft = this.carousel.scrollWidth - this.carousel.clientWidth
const target = Math.min(this.currentIndex * this.pageWidth, Math.max(0, maxScrollLeft))
this.carousel.scrollTo({ left: target, behavior: "smooth" })
if (this.options.indicators) this.updateIndicators(this.currentIndex)
if (!this.options.loop) {
setTimeout(() => this.updateButtonStates(), 600)
}
}
handleManualScroll() {
const index = Math.ceil(this.carousel.scrollLeft / this.pageWidth)
const clamped = Math.min(Math.max(index, 0), this.pageCount - 1)

if (clamped !== this.currentIndex) {
this.currentIndex = clamped 
if (this.options.indicators) this.updateIndicators(this.currentIndex)
if (!this.options.loop) this.updateButtonStates()
this.resetAutoScroll()
}
}
updateButtonStates() {
const maxScrollLeft = this.carousel.scrollWidth - this.carousel.clientWidth
const isAtStart = this.carousel.scrollLeft <= 0
const isAtEnd = Math.ceil(this.carousel.scrollLeft) >= Math.floor(maxScrollLeft)
this.controls.forEach((control) => {
const direction = control.getAttribute("rel")
control.disabled = direction === "prev" ? isAtStart : isAtEnd
})
}
initDragging() {
this._onMouseDown = this.handleMouseDown.bind(this)
this._onMouseUp = this.handleMouseUp.bind(this)
this._onMouseMove = this.handleMouseMove.bind(this)
this._onClick = this.handleClick.bind(this)
this.carousel.addEventListener("mousedown", this._onMouseDown)
document.addEventListener("mouseup", this._onMouseUp)
this.carousel.addEventListener("mousemove", this._onMouseMove)
this.carousel.addEventListener("click", this._onClick)
}
handleMouseDown(e) {
this.isDragging = true
this.hasDragged = false
this.startX = e.pageX - this.carousel.offsetLeft
this.scrollLeft = this.carousel.scrollLeft
this.carousel.classList.add("dragging")
e.preventDefault()
this.resetAutoScroll()
}
handleMouseUp() {
if (!this.isDragging) return
this.isDragging = false
this.carousel.classList.remove("dragging")
setTimeout(() => (this.hasDragged = false), 100)
this.updateButtonStates()
}
handleMouseMove(e) {
if (!this.isDragging) return
this.hasDragged = true
const x = e.pageX - this.carousel.offsetLeft
const walk = (this.startX - x) * this.options.dragSensitivity
this.carousel.scrollLeft = this.scrollLeft + walk
this.debounce(() => this.updateButtonStates(), 50)
}
handleClick(e) {
if (this.hasDragged) e.preventDefault()
}
startAutoScroll() {
clearInterval(this.autoScrollIntervalId)
this.autoScrollIntervalId = setInterval(() => {
this.scroll("next")
}, this.options.autoScrollInterval)
}
resetAutoScroll() {
if (this.options.autoScroll) {
clearInterval(this.autoScrollIntervalId)
this.startAutoScroll()
}
}
recalculate() {
const style = getComputedStyle(this.carousel)
const gap = parseFloat(style.columnGap || style.gap || 0)
this.itemWidth = (this.carousel.querySelector(this.selectors.item)?.offsetWidth || 0) + gap
this.itemCount = this.carousel.querySelectorAll(this.selectors.item).length
this.itemsPerPage = Math.max(1, Number(this.options.itemsPerPage) || 1)
this.pageWidth = this.itemWidth * this.itemsPerPage
this.pageCount = Math.max(1, Math.ceil(this.itemCount / this.itemsPerPage))
if (this.options.indicators) {
this.buildIndicatorsIfNeeded()
this.updateIndicators(this.currentIndex)
}
this.scrollToIndex(this.currentIndex)
if (!this.options.loop) this.updateButtonStates()
}
debounce(func, delay) {
clearTimeout(this._debounceTimer)
this._debounceTimer = setTimeout(func, delay)
}
}
window.Carousel = Carousel
</script>
<meta property="og:title" content=" | hvg.hu">
<meta property="og:type" content="website">
<meta property="og:url" content="https://hvg.hu/">
<meta property="og:site_name" content="hvg.hu">
<meta property="og:locale" content="hu_HU">
<meta property="og:ttl" content="1209600">
<link rel="canonical" href="https://hvg.hu/">
<meta property="og:image" content="https://img.hvg.hu/Img/00000000-0000-0000-0000-000000000000/1da0724d-03b9-4a78-bc04-949f2859285b.jpg">
<meta property="fb:app_id" content="217147285347">
<meta property="twitter:site" content="@hvg_hu">
<meta property="twitter:creator" content="@hvg_hu">
<meta property="article:publisher" content="https://www.facebook.com/hvghu">
<meta name="robots" content="index,follow">
<meta name="description" content="HVG – Hiteles hírek és elemzések gazdaságról, politikáról, kultúráról és életmódról, Magyarország vezető portálján.">
<meta itemprop="description" content="HVG – Hiteles hírek és elemzések gazdaságról, politikáról, kultúráról és életmódról, Magyarország vezető portálján.">
<meta name="twitter:description" content="HVG – Hiteles hírek és elemzések gazdaságról, politikáról, kultúráról és életmódról, Magyarország vezető portálján.">
<meta property="og:description" content="HVG – Hiteles hírek és elemzések gazdaságról, politikáról, kultúráról és életmódról, Magyarország vezető portálján.">
<meta name="robots" content="max-image-preview:large"> <meta property="ispreview" content="False"> <meta property="disqusshortname" content="hvg"> <script type="application/ld+json">
{"@context":"https://schema.org","@type":"Organization","name":"HVG","description":"HVG – Hiteles hírek és elemzések gazdaságról, politikáról, kultúráról és életmódról, Magyarország vezető portálján.","url":"https://hvg.hu","legalName":"HVG Kiadó Zrt."}
</script>
<style>
.podcast-card__content__subtitle {display: none !important;} .article-details div[id^="datawrapper-"] {all: inherit !important;margin-bottom: var(--article-details-section-margin) !important;} .article-details .embedly-card {max-width: 732px;} .article-details .content .content-body iframe {margin: 0 auto !important;} .article-details .content .content-body .embedly-card .embedly-card-hug {margin: 0 auto !important;} .article-details .content .content-body>[adzone] iframe {padding-bottom: 0rem !important;} /* */body:has(.breaking) .perspective-wrapper .ad-perspective-container { transform: translateY(-10.5rem) !important;} .custom-html-wrapper{max-width: 732px !important;}
</style>
<script>
function fetchAndSendGa4UserDataIfRequired(completedCallback) {
if (window.ga4UserData) {
console.log("ga4 user data already fetched");
return;
}
fetch(window.msgwBaseUrl + "/api/ga4/userdata/me", {
method: "GET",
credentials: "include",
headers: {
"Content-Type": "application/json",
},
})
.then(function (response) {
return { sCode: response.status, uData: response.json() };
})
.then(function (respData) {
if (respData.sCode === 200) {
if (window.ga4UserData) {
return;
}
window.ga4UserData = respData.uData;
console.log("pushing new user data into ga4 datalayer");
dataLayer.push({
event: respData.uData.event,
newsletter_status: respData.uData.newsletter_status,
login_status: respData.uData.login_status,
subscription: respData.uData.subscription,
});
} else if (respData.sCode === 304) {
window.ga4UserData = respData.uData;
console.log("ga user data unchanged");
}
})
.catch((error) => {
console.error("Error fetching ga4 user data:", error.message);
})
.finally(() => {
if (completedCallback) {
completedCallback();
}
});
}
function sendGa4UserId() {
fetch(window.msgwBaseUrl + "/api/ga4/userstatus/me", {
method: "GET",
credentials: "include",
headers: {
"Content-Type": "application/json",
},
})
.then(function (response) {
if (!response.ok) {
throw new Error(`HTTP error! Status: ${response.status}`);
}
return response.json();
})
.then(function (uStatus) {
if (uStatus.isGuest === false) {
console.log("pushing user id into ga4 datalayer");
dataLayer.push({
event: "user_id_data",
user_id: uStatus.ga4UserId,
});
}
})
.catch((error) => {
console.error("Error fetching ga4 user status:", error.message);
});
}
</script>
<script>
async function insertTrackingPixel(
anchor,
baseurl,
targetedplatform,
embedMode,
) {
const params = new URLSearchParams({
deviceWidth: screen.width,
deviceHeight: screen.height,
orientation: (screen.orientation || {}).type || window.orientation || "",
clientWidth: document.documentElement.clientWidth,
clientHeight: document.documentElement.clientHeight,
devicePixelRatio: window.devicePixelRatio,
language: navigator.language || navigator.userLanguage,
touchSupport:
"ontouchstart" in window || navigator.maxTouchPoints > 0 ? 1 : 0,
timezoneOffset: new Date().getTimezoneOffset(),
thirdPartyCookiesEnabled: null, // Placeholder for third-party cookie check
}).toString();
const gifUrl = `${baseurl}/${targetedplatform}/${embedMode}.gif?` + params; // Replace with real GIF URL
document.getElementById(anchor).innerHTML =
`<img src="${gifUrl}" width="1" height="1" aria-hidden="true" class="pixel-traffic" />`;
}
</script>
<script>
window.adocf = {};
window.adocf.useDOMContentLoaded = true;
</script>
<script type="text/javascript" src="//hu.adocean.pl/files/js/ado.js"></script>
<script type="text/javascript">
/* (c)AdOcean 2003-2025 */
if (typeof ado !== "object") {
ado = {};
ado.config =
ado.preview =
ado.placement =
ado.master =
ado.slave =
function () {};
}
ado.config({
mode: "new",
xml: false,
consent: true,
characterEncoding: true,
attachReferrer: true,
fpc: "auto",
defaultServer: "hu.adocean.pl",
cookieDomain: "SLD",
});
ado.preview({ enabled: true });
</script>
<style>
.hvg-icon-duocolor-bookmark-add .path2:before {
margin-left: -0.77em !important;
}
</style>
<script async id="ebx" src="//applets.ebxcdn.com/ebx.js"></script>
</head>
<body data-theme="light">
<!-- Google Tag Manager (noscript) -->
<noscript
><iframe
src="https://www.googletagmanager.com/ns.html?id=GTM-P9CGKX"
height="0"
width="0"
style="display: none; visibility: hidden"
></iframe
></noscript>
<!-- End Google Tag Manager (noscript) -->
<script>
(function () {
if (
isMainPage() &&
!new URL(window.location.href).searchParams.has("layoutedit")
) {
const refreshMeta = document.createElement("meta");
refreshMeta.httpEquiv = "refresh";
refreshMeta.content = "1740";
document.head.appendChild(refreshMeta);
}
})();
</script>
<script src="https://cdn.hvg.hu/adblock-detection/tracking-pixels.js"></script>
<section class="portfolio-menu">
<div class="container-narrow h-full">
<div class="portfolio-menu__content"></div>
</div>
</section>
<script>
(function() {
'use strict';
const CDN_URL = 'https://cdn.hvg.hu/assets/hvghu/data/portfolio.json';
function loadPortfolioData() {
const container = document.querySelector('.portfolio-menu');
if (!container) return;
const contentEl = container.querySelector('.portfolio-menu__content');
if (!contentEl) return;
fetch(CDN_URL, {
headers: { 'Accept': 'application/json' },
cache: 'no-store'
})
.then(res => {
if (!res.ok) throw new Error('HTTP error! status: ' + res.status);
return res.json();
})
.then(data => {
renderPortfolio(contentEl, data.items || data);
})
.catch(err => {
console.error('Portfolio CDN load failed:', err);
});
}
function renderPortfolio(container, items) {
if (!Array.isArray(items) || items.length === 0) {
console.error('No items available');
return;
}
const html = items.map(item => `
<a href="${escapeHtml(item.url)}" class="portfolio-menu__item" target="${escapeHtml(item.target)}">
<span class="portfolio-menu__item-title">${escapeHtml(item.title)}</span>
</a>
`).join('');
container.innerHTML = html;
}
function escapeHtml(text) {
if (typeof text !== 'string') return '';
const div = document.createElement('div');
div.textContent = text;
return div.innerHTML;
}
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', loadPortfolioData);
} else {
loadPortfolioData();
}
})();
</script><header id="header" class="header--fixed">
<div class="container-narrow h-full">
<div id="site-toolbar" class="h-full">
<nav class="d-flex toolbar">
<div class="logo-wrapper">
<a href="/" class="brand-logo" data-translations='{"aria-label": "general.index"}'>
<svg width="88" height="88" viewBox="0 0 88 88" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect y="-0.0390625" width="88" height="88" fill="#F26522"/>
<g clip-path="url(#clip0_4420_34275)">
<path d="M11 55.0295V23.6113H18.168V36.401H18.3641C18.9596 34.9333 19.8276 33.8075 20.9679 33.0236C22.1082 32.2397 23.5064 31.8487 25.1624 31.8503C26.7598 31.8503 28.1105 32.2099 29.2145 32.9289C30.3185 33.648 31.1465 34.6612 31.6985 35.9686C32.2499 37.276 32.5259 38.8155 32.5265 40.5871V55.0295H25.3367V41.7822C25.3367 40.562 25.0353 39.6069 24.4325 38.9169C23.8296 38.2269 22.9916 37.8822 21.9183 37.8827C21.1484 37.8827 20.4838 38.0531 19.9245 38.3939C19.3651 38.7352 18.9152 39.2296 18.6281 39.8186C18.323 40.4287 18.1705 41.1333 18.1705 41.9322V55.0295H11Z" fill="white"/>
<path d="M40.3251 55.0282L31.9805 32.3477H39.3445L42.4169 43.1754C42.6783 44.0906 42.9108 45.0312 43.1141 45.9972C43.3175 46.9632 43.4851 47.8457 43.617 48.6446H43.8131C43.9583 47.8457 44.1327 46.9632 44.336 45.9972C44.5394 45.0312 44.7646 44.0906 45.0115 43.1754L47.995 32.3477H55.3809L47.1888 55.0282H40.3251Z" fill="white"/>
<path d="M65.3822 64.0499C63.32 64.0499 61.4936 63.7667 59.9029 63.2001C58.3123 62.6336 57.0449 61.7768 56.1006 60.6298C55.1559 59.4817 54.6111 58.0653 54.4664 56.3808H61.548C61.7509 57.2088 62.2045 57.8234 62.9091 58.2246C63.6136 58.6257 64.5106 58.8254 65.6001 58.8238C66.5728 58.8238 67.3718 58.6458 67.9969 58.2899C68.6185 57.937 69.1024 57.384 69.3697 56.7211C69.6619 56.0299 69.808 55.1693 69.808 54.139V50.1926H69.6337C69.0085 51.4999 68.1115 52.5132 66.9427 53.2322C65.7738 53.9513 64.3824 54.3108 62.7683 54.3108C61.0402 54.3108 59.5037 53.8932 58.1589 53.0579C56.8141 52.2226 55.7609 50.97 54.9994 49.3C54.2368 47.63 53.8555 45.5963 53.8555 43.1989C53.8555 40.9183 54.2041 38.9248 54.9014 37.2185C55.5986 35.5122 56.6191 34.1939 57.9628 33.2637C59.3037 32.334 60.905 31.8691 62.7666 31.8691C64.4081 31.8691 65.799 32.2468 66.9393 33.0022C68.0796 33.7576 68.9766 34.8616 69.6303 36.3142H69.808V32.3703H76.9977V54.139C76.9977 56.2163 76.5365 57.9994 75.6141 59.4884C74.6917 60.9773 73.3592 62.1101 71.6165 62.8867C69.8717 63.6622 67.7936 64.0499 65.3822 64.0499ZM65.5565 48.472C66.4717 48.472 67.2597 48.2614 67.9207 47.8401C68.5816 47.4188 69.0828 46.8087 69.4242 46.0098C69.7655 45.2114 69.9362 44.2526 69.9362 43.1335C69.9362 42.0145 69.7619 41.0484 69.4133 40.2355C69.0646 39.4226 68.5598 38.8016 67.8989 38.3725C67.2379 37.9434 66.4426 37.7294 65.5129 37.7306C64.5838 37.7306 63.7957 37.9445 63.1487 38.3725C62.5018 38.8005 62.0081 39.4187 61.6679 40.2271C61.326 41.0334 61.1553 42.003 61.1558 43.1361C61.1558 44.2406 61.3302 45.1921 61.6788 45.9905C62.0274 46.7889 62.5283 47.4035 63.1814 47.8342C63.8351 48.2594 64.6268 48.472 65.5565 48.472Z" fill="white"/>
</g>
<defs>
<clipPath id="clip0_4420_34275">
<rect width="66" height="40.4382" fill="white" transform="translate(11 23.6113)"/>
</clipPath>
</defs>
</svg>
</a>
<button
type="header"
class="go-back hover-lighten header-toolbar-back-btn"
data-translations='{"aria-label": "general.back"}'
onClick="goBack()"
style="display: none;"
>
<span class="hvg-icon hvg-icon-chevron-left icon-center "

aria-hidden="true" 
><span
class="path1"></span><span class="path2"></span></span>
</button>
</div>
<button
type="header"
class="btn hover-lighten-20 open-nav open-latest d-none d-md-flex gap-2"
>
<span class="hvg-icon hvg-icon-flash-fill icon-left icon-site-500"


><span
class="path1"></span><span class="path2"></span></span>
<span
class="icon-text"

data-translate-key="header.latest.title"
>

</span>
</button>
<div class="custom-toolbar d-flex gap-2">
<a
href="https://hvg.hu/valasztas-2026"
target="_self"
class="btn hover-lighten toolbar-item toolbar-elem"
>
<span
class="icon-text"

data-translate-key="V&#225;laszt&#225;s 2026"
>

</span>
</a>
<a
href="https://info.hvg.hu/vilagossag"
target="_blank"
class="btn hover-lighten toolbar-item toolbar-elem"
>
<span
class="icon-text"

data-translate-key="A HVG v&#225;llal&#225;sai"
>

</span>
</a>
<details class="custom-details dropdown striped toolbar-dropdown hidden-important">
<summary onclick="handleDropdown(event)" class="toolbar-summary btn-hover hover-lighten">
<span data-translate-key="general.additionals"></span>
<span class="hvg-icon hvg-icon-chevron-down "


></span>
</summary>
<ul class="dropdown-content">
<li>
<a href="https://hvg.hu/valasztas-2026" target="_self">
data-translate-key="V&#225;laszt&#225;s 2026"

</a>
</li>
<li>
<a href="https://info.hvg.hu/vilagossag" target="_blank">
data-translate-key="A HVG v&#225;llal&#225;sai"

</a>
</li>
</ul>
</details>
</div>
<div class="d-flex gap-1 ml-auto">
<a
type="header"
class="btn btn-premium-static ml-auto m-left-md-0 subscribe-btn flutter-ios-hide"
>
<span
class="icon-text"

data-translate-key="header.toolbar.iSubscribe"
>

</span>
</a>
<button
type="header"
class="btn hover-lighten open-profile icon-only d-none d-md-flex"
data-translations='{"aria-label": "general.profile"}'
data-type="profileButton"
>
<span class="hvg-icon hvg-icon-user-01 icon-center "

aria-hidden="true" 
><span
class="path1"></span><span class="path2"></span></span>
</button>
<button
type="header"
class="btn hover-lighten open-nav open-menu hamburger ml-0 icon-only d-none d-md-flex"
data-translations='{"aria-label": "general.menu"}'
>
<span class="hvg-icon hvg-icon-menu-01 icon-center "

aria-hidden="true" 
><span
class="path1"></span><span class="path2"></span></span>
</button>
</div>
</nav>
</div>
<script>
if (window.siteConfig?.subscriptionUrl) {
const currentUrl = window.location.href;
const url = new URL(window.siteConfig.subscriptionUrl, window.location.origin);
url.searchParams.set('callback', currentUrl);
document.querySelector(".subscribe-btn").href = url.toString();
}
</script>
<div id="article-details-toolbar" class="h-full">
<nav class="d-flex toolbar">
<button
type="header"
class="go-back hover-lighten"
data-translations='{"aria-label": "general.back"}'
onClick="goBack()"
>
<span class="hvg-icon hvg-icon-chevron-left icon-center "

aria-hidden="true" 
><span
class="path1"></span><span class="path2"></span></span>
</button>
<div class="d-flex gap-1 ml-auto">
<button
type="header"
class="btn hover-lighten icon-only createGiftLink"


onClick="openDialog('giftDialog')"
>
<span class="hvg-icon hvg-icon-gift-02 icon-center "

aria-hidden="true" 
><span
class="path1"></span><span class="path2"></span></span>
</button>
<button
type="header"
class="btn hover-lighten icon-only d-flex shareButton"


>
<span class="hvg-icon hvg-icon-share-06 icon-center "

aria-hidden="true" 
><span
class="path1"></span><span class="path2"></span></span>
</button>
<button
type="header"
class="btn hover-lighten icon-only d-flex saveArticleButton headerSaveArticleButton"


onClick="saveArticle(true)"
>
<span class="hvg-icon hvg-icon-duocolor-bookmark-add icon-center "

aria-hidden="true" 
><span
class="path1"></span><span class="path2"></span></span>
</button>
<button
type="header"
class="btn hover-lighten icon-only d-flex saveArticleButton headerSaveArticleButton active hidden-important"


onClick="saveArticle(false)"
>
<span class="hvg-icon hvg-icon-bookmark-check icon-center "

aria-hidden="true" 
><span
class="path1"></span><span class="path2"></span></span>
</button>
</div>
</nav>
</div>
<script>
function goBack() {
const referrer = document.referrer
const currentHost = window.location.hostname
const cameFromSameHost = () => {
if (!referrer) return false
try {
const refUrl = new URL(referrer)
return refUrl.hostname === currentHost
} catch (e) {
console.warn("Invalid referrer URL:", e)
return false
}
}
if (cameFromSameHost()) {
if (window.history.length > 1) {
window.history.back()
return
}
window.location.href = window.location.origin
} else {
const pathSegments = window.location.pathname
.split("/")
.filter(segment => segment)
if (pathSegments.length > 0) {
pathSegments.pop()
}
const fallbackUrl = `${window.location.origin}/${pathSegments.join("/")}`
window.location.href = fallbackUrl || "/"
}
}
</script>
<progress id="progress-bar" class="d-md-none" value="0" max="100"></progress>
<div class="profile-menu">
<div class="profile-menu-header">
<h3 data-translate-key="header.profileMenu.menuTitle"></h3>
<button
type="header"
class="d-flex close-button-mobile hover-lighten icon-only btn btn-neutral-800"


onClick="closeProfileMenu()"
>
<span class="hvg-icon hvg-icon-x-close icon-center "

aria-hidden="true" 
><span
class="path1"></span><span class="path2"></span></span>
</button>
</div>
<div id="profile-menu-wrapper" class="profile-menu-content" class="mt-2">
</div>
</div>
<script>
const profileMenu = document.querySelector(".profile-menu")
const OPEN_PROFILE_BUTTON_SELECTOR = ".open-profile"
function handleProfileBtnActive() {
const isActive = profileMenu.classList.contains("open")
document.querySelectorAll(OPEN_PROFILE_BUTTON_SELECTOR).forEach(i => {
i.classList.toggle("active", isActive)
})
}
function closeOnScrollEventListener() {
if (window.scrollY > 100) {
closeProfileMenu()
}
}
function closeProfileMenu() {
//profileMenu.style.display = "none"
profileMenu.classList.remove("open")
handleProfileBtnActive()
window.removeEventListener("scroll", closeOnScrollEventListener)
profileMenu.removeEventListener("mouseleave", function() {
closeProfileMenu()
})
}
function openProfileMenu() {
//profileMenu.style.display = "block"
profileMenu.classList.add("open")
handleProfileBtnActive()
profileMenu.addEventListener("mouseleave", function() {
closeProfileMenu()
})
window.addEventListener("scroll", closeOnScrollEventListener)
}
function toggleProfileMenu() {
if (profileMenu.classList.contains("open")) {
closeProfileMenu()
} else {
openProfileMenu()
}
}
function initOpenProfileButtons() {
document.querySelectorAll(OPEN_PROFILE_BUTTON_SELECTOR).forEach((btn) => {
btn.addEventListener("click", () => {
if (!window.profileMenuLoaded) {
checkAuthOrTryLogin(() => {
getPartFromSE("profile-sidebar-menu", "profile-sidebar-menu", "profile-sidebar-menu-header", null, (part) => {
document.getElementById("profile-menu-wrapper").innerHTML = part
openProfileMenu()
initTranslations(profileMenu)
initAccountButtons(profileMenu)
window.profileMenuLoaded = true
})
})
} else {
toggleProfileMenu()
btn.blur()
}
})
})
}
</script>
</div>
</header>
<div id="latest-feed-container"></div>
<div id="right-panel-container"></div>
<div class="dropdown__layer">
<div id="header-loader" class="loader-box loader-white">
<div class="loader-spinner"></div>
</div>
</div>
<nav id="mobile-nav" class="mobile-nav-bottom d-md-none">
<a href="/" class="brand-logo" data-translations='{"aria-label": "general.index"}'>
<svg width="88" height="88" viewBox="0 0 88 88" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect y="-0.0390625" width="88" height="88" fill="#F26522"/>
<g clip-path="url(#clip0_4420_34275)">
<path d="M11 55.0295V23.6113H18.168V36.401H18.3641C18.9596 34.9333 19.8276 33.8075 20.9679 33.0236C22.1082 32.2397 23.5064 31.8487 25.1624 31.8503C26.7598 31.8503 28.1105 32.2099 29.2145 32.9289C30.3185 33.648 31.1465 34.6612 31.6985 35.9686C32.2499 37.276 32.5259 38.8155 32.5265 40.5871V55.0295H25.3367V41.7822C25.3367 40.562 25.0353 39.6069 24.4325 38.9169C23.8296 38.2269 22.9916 37.8822 21.9183 37.8827C21.1484 37.8827 20.4838 38.0531 19.9245 38.3939C19.3651 38.7352 18.9152 39.2296 18.6281 39.8186C18.323 40.4287 18.1705 41.1333 18.1705 41.9322V55.0295H11Z" fill="white"/>
<path d="M40.3251 55.0282L31.9805 32.3477H39.3445L42.4169 43.1754C42.6783 44.0906 42.9108 45.0312 43.1141 45.9972C43.3175 46.9632 43.4851 47.8457 43.617 48.6446H43.8131C43.9583 47.8457 44.1327 46.9632 44.336 45.9972C44.5394 45.0312 44.7646 44.0906 45.0115 43.1754L47.995 32.3477H55.3809L47.1888 55.0282H40.3251Z" fill="white"/>
<path d="M65.3822 64.0499C63.32 64.0499 61.4936 63.7667 59.9029 63.2001C58.3123 62.6336 57.0449 61.7768 56.1006 60.6298C55.1559 59.4817 54.6111 58.0653 54.4664 56.3808H61.548C61.7509 57.2088 62.2045 57.8234 62.9091 58.2246C63.6136 58.6257 64.5106 58.8254 65.6001 58.8238C66.5728 58.8238 67.3718 58.6458 67.9969 58.2899C68.6185 57.937 69.1024 57.384 69.3697 56.7211C69.6619 56.0299 69.808 55.1693 69.808 54.139V50.1926H69.6337C69.0085 51.4999 68.1115 52.5132 66.9427 53.2322C65.7738 53.9513 64.3824 54.3108 62.7683 54.3108C61.0402 54.3108 59.5037 53.8932 58.1589 53.0579C56.8141 52.2226 55.7609 50.97 54.9994 49.3C54.2368 47.63 53.8555 45.5963 53.8555 43.1989C53.8555 40.9183 54.2041 38.9248 54.9014 37.2185C55.5986 35.5122 56.6191 34.1939 57.9628 33.2637C59.3037 32.334 60.905 31.8691 62.7666 31.8691C64.4081 31.8691 65.799 32.2468 66.9393 33.0022C68.0796 33.7576 68.9766 34.8616 69.6303 36.3142H69.808V32.3703H76.9977V54.139C76.9977 56.2163 76.5365 57.9994 75.6141 59.4884C74.6917 60.9773 73.3592 62.1101 71.6165 62.8867C69.8717 63.6622 67.7936 64.0499 65.3822 64.0499ZM65.5565 48.472C66.4717 48.472 67.2597 48.2614 67.9207 47.8401C68.5816 47.4188 69.0828 46.8087 69.4242 46.0098C69.7655 45.2114 69.9362 44.2526 69.9362 43.1335C69.9362 42.0145 69.7619 41.0484 69.4133 40.2355C69.0646 39.4226 68.5598 38.8016 67.8989 38.3725C67.2379 37.9434 66.4426 37.7294 65.5129 37.7306C64.5838 37.7306 63.7957 37.9445 63.1487 38.3725C62.5018 38.8005 62.0081 39.4187 61.6679 40.2271C61.326 41.0334 61.1553 42.003 61.1558 43.1361C61.1558 44.2406 61.3302 45.1921 61.6788 45.9905C62.0274 46.7889 62.5283 47.4035 63.1814 47.8342C63.8351 48.2594 64.6268 48.472 65.5565 48.472Z" fill="white"/>
</g>
<defs>
<clipPath id="clip0_4420_34275">
<rect width="66" height="40.4382" fill="white" transform="translate(11 23.6113)"/>
</clipPath>
</defs>
</svg>
</a>
<button
type="header"
class="d-flex icon-only gap-0 mobile-nav-bottom__item"
data-action="flutter.indexButtonPressed"
onClick="redirectToIndex()"
>
<span class="hvg-icon hvg-icon-home-03 "


><span
class="path1"></span><span class="path2"></span></span>
<span
class="icon-text"

data-translate-key="general.index"
>

</span>
</button>
<button
type="header"
class="open-nav open-latest d-flex icon-only gap-0 mobile-nav-bottom__item"
data-action="flutter.latestButtonPressed"
>
<span class="hvg-icon hvg-icon-flash "


><span
class="path1"></span><span class="path2"></span></span>
<span
class="icon-text"

data-translate-key="header.latest.title"
>

</span>
</button>
<button
type="header"
class="d-flex icon-only gap-0 mobile-nav-bottom__item"
data-action="flutter.premiumButtonPressed"
onClick="redirectTo360()"
>
<span class="hvg-icon hvg-icon-360 "


><span
class="path1"></span><span class="path2"></span></span>
<span
class="icon-text"

data-translate-key="general.premium"
>

</span>
</button>
<button
type="header"
class="open-profile d-flex icon-only gap-0 mobile-nav-bottom__item"
data-type="profileButton"
data-action="flutter.profileButtonPressed"
>
<span class="hvg-icon hvg-icon-user-01 "


><span
class="path1"></span><span class="path2"></span></span>
<span
class="icon-text"

data-translate-key="general.profile"
>

</span>
</button>
<button
type="header"
class="open-nav open-menu hamburger d-flex icon-only gap-0 mobile-nav-bottom__item"
data-action="flutter.menuButtonPressed"
>
<span class="hvg-icon hvg-icon-menu-01 "


><span
class="path1"></span><span class="path2"></span></span>
<span
class="icon-text"

data-translate-key="general.menu"
>

</span>
</button>
</nav>
<script>
checkIfFlutter(".mobile-nav-bottom__item[data-action]")
function redirectTo360() {
window.location.href = "/360"
}
function redirectToIndex() {
window.location.href = "/"
}
const routePart = getRouteName()
if (routePart === null) {
const btn = document.querySelector(".mobile-nav-bottom__item[data-action='flutter.indexButtonPressed']")
btn?.classList.add("active")
} else if (routePart === "360") {
const btn = document.querySelector(".mobile-nav-bottom__item[data-action='flutter.premiumButtonPressed']")
btn?.classList.add("active")
}
if (window.siteConfig?.subscriptionUrl) {
const currentUrl = window.location.href;
const url = new URL(window.siteConfig.subscriptionUrl, window.location.origin);
url.searchParams.set('callback', currentUrl);
document.querySelector(".subscribe-btn").href = url.toString();
}
</script>
<script>
function initMenu() {
const dropdownLayer = document.querySelector(".dropdown__layer")
let scrollTop
const header = document.querySelector("header")
const mobileNav = document.querySelector(".mobile-nav-bottom")
const loaderDom = document.getElementById("header-loader")
document.querySelectorAll(".close-button").forEach((closeButton) => {
closeButton.addEventListener("click", function(event) {
dropdownLayer.classList.add("closing")
closeAllDropdownsWithButton()
event.stopPropagation()
})
})
if (dropdownLayer) {
dropdownLayer.addEventListener("click", function() {
dropdownLayer.classList.add("closing")
closeAllDropdownsWithLayer()
})
}
const openLatestEventListener = () => {
setDisplay(loaderDom, "block")
dropdownLayer.classList.add("visible")
getPartFromSE(
"header-latest-articles",
"header-latest-articles",
"header-latest-articles",
null,
function(text) {
let lfcd = document.getElementById("latest-feed-container")
lfcd.innerHTML = text
init(lfcd)
addClickListenerClosingButtons()
openDropDown(document.querySelector(".nav-left"))
setDisplay(loaderDom, "none")
}
)
}
const openMenuEventListener = () => {
setDisplay(loaderDom, "block")
dropdownLayer.classList.add("visible")
getPartFromSE(
"navigation-right-panel",
"navigation-right-panel",
"navigation-right-panel",
null,
function(text) {
let rpc = document.getElementById("right-panel-container")
injectAndRunHTML(rpc, text)
checkIfFlutter(".notification_menu_button")
init(rpc)
addClickListenerClosingButtons()
openDropDown(
isMobileMenu()
? document.querySelector(".nav-right-mobile")
: document.querySelector(".nav-desktop")
)
setDisplay(loaderDom, "none")
}
)
}
const openNavButtons = document.querySelectorAll(".open-nav")
openNavButtons.forEach((openNav) => {
if (openNav.classList.contains("open-latest")) {
openNav.addEventListener("click", openLatestEventListener)
} else if (openNav.classList.contains("open-menu")) {
openNav.addEventListener("click", openMenuEventListener)
}
})
function addClickListenerClosingButtons() {
document.querySelectorAll(".close-button").forEach((closeButton) => {
closeButton.addEventListener("click", function(event) {
dropdownLayer.classList.add("closing")
closeAllDropdownsWithButton()
event.stopPropagation()
})
})
}
function openDropDown(dropdown) {
if (dropdown) {
setTimeout(() => {
const isOpen = dropdown.classList.contains("open")
if (isOpen) {
dropdown.classList.remove("open")
document.body.classList.remove("menu__active")
dropdownLayer.classList.remove("visible")
restoreScrollPosition()
headroomFreeze()
} else {
lockScrollPosition()
document.body.classList.add("menu__active")
setTimeout(() => {
dropdownLayer.classList.add("visible")
}, 10)
setTimeout(() => {
headroomFreeze()
}, 100)
setTimeout(() => {
dropdown.classList.add("open")
}, 300)
}
setTimeout(() => {
resumeHeadroomWithCheck()
}, 100)
}, 10)
}
}
function closeAllDropdownsWithButton() {
document.querySelectorAll(".navbar").forEach((dropdown) => {
if (dropdown.classList.contains("open")) {
if (dropdown.classList.contains("nav-right-mobile")) {
dropdownLayer.classList.add("closing")
dropdown.classList.remove("open")
} else {
dropdown.classList.add("animate-out")
setTimeout(() => {
dropdown.classList.remove("animate-out")
dropdown.classList.remove("open")
}, 500)
}
}
})
setTimeout(() => {
closeDropdownLayerAfterDelay()
}, 500)
}
function closeAllDropdownsWithLayer() {
document.querySelectorAll(".navbar").forEach((dropdown) => {
if (dropdown.classList.contains("open")) {
if (dropdown.classList.contains("nav-right-mobile")) {
dropdownLayer.classList.add("closing")
dropdown.classList.remove("open")
} else {
dropdown.classList.add("animate-out")
setTimeout(() => {
dropdown.classList.remove("animate-out")
dropdown.classList.remove("open")
}, 500)
}
}
})
setTimeout(() => {
closeDropdownLayerAfterDelay()
}, 500)
}
function closeDropdownLayerAfterDelay() {
setTimeout(() => {
dropdownLayer.classList.remove("visible")
dropdownLayer.classList.remove("closing")
setTimeout(() => {
document.body.classList.remove("menu__active")
restoreScrollPosition()
setTimeout(() => {
resumeHeadroomWithCheck()
}, 100)
}, 200)
}, 200)
}
function lockScrollPosition() {
scrollTop = window.pageYOffset || document.documentElement.scrollTop
document.body.style.top = `-${scrollTop}px`
}
function restoreScrollPosition() {
const storedScrollTop = parseInt(document.body.style.top || "0", 10) * -1
document.body.style.top = ""
window.scrollTo(0, storedScrollTop)
}
function resumeHeadroomWithCheck() {
if (header.classList.contains("slideUp") && mobileNav.classList.contains("slideDownMobile")) {
header.classList.remove("slideUp")
mobileNav.classList.remove("slideDownMobile")
}
headroomFreeze()
}
}
</script>
<script>
initMenu()
if (translationsData) {
initTranslations()
} else {
window.addEventListener("translationsLoaded", function() {
initTranslations()
}, { once: true })
}
initOpenProfileButtons()
</script>
<script>
class OverflowToolbar {
static SELECTORS = {
toolbar: ".custom-toolbar",
dropdown: ".toolbar-dropdown",
dropdownContent: ".dropdown-content",
item: ".toolbar-elem"
}
constructor() {
this.toolbar = document.querySelector(OverflowToolbar.SELECTORS.toolbar)
this.dropdown = this.toolbar.querySelector(OverflowToolbar.SELECTORS.dropdown)
this.dropdownContent = this.dropdown.querySelector(OverflowToolbar.SELECTORS.dropdownContent)
this.items = []
this.overflowItems = []
this.init()
}
init() {
this.toolbar.style.visibility = 'hidden'
this.items = Array.from(this.toolbar.querySelectorAll(OverflowToolbar.SELECTORS.item))
this.bindEvents()
if (document.fonts) {
document.fonts.ready.then(() => this.calculateOverflow())
} else {
this.calculateOverflow()
}
}
bindEvents() {
let resizeTimeout
window.addEventListener("resize", () => {
clearTimeout(resizeTimeout)
resizeTimeout = setTimeout(() => this.calculateOverflow(), 200)
})
}
calculateOverflow() {
this.items.forEach(item => item.classList.remove(HIDDEN))
this.dropdown.classList.add(HIDDEN)
this.toolbar.offsetHeight

const toolbarComputed = getComputedStyle(this.toolbar)
const gap = parseFloat(toolbarComputed.columnGap || toolbarComputed.gap || 0)
const toolbarWidth = this.toolbar.offsetWidth

this.dropdown.classList.remove(HIDDEN)
this.toolbar.offsetHeight
const dropdownWidth = this.dropdown.offsetWidth
this.dropdown.classList.add(HIDDEN)
this.overflowItems = []
let totalWidthWithoutDropdown = 0
const itemWidths = []

for (let i = 0; i < this.items.length; i++) {
const item = this.items[i]
const computedStyle = getComputedStyle(item)
const itemWidth = item.offsetWidth + 
parseFloat(computedStyle.marginRight) + 
parseFloat(computedStyle.marginLeft) + 
(i > 0 ? gap : 0)

itemWidths.push(itemWidth)
totalWidthWithoutDropdown += itemWidth
}
if (totalWidthWithoutDropdown <= toolbarWidth) {
this.toolbar.style.visibility = 'visible'
return
}
const availableWidthWithDropdown = toolbarWidth - dropdownWidth - gap
let totalWidth = 0
for (let i = 0; i < this.items.length; i++) {
const item = this.items[i]
const itemWidth = itemWidths[i]
if (totalWidth + itemWidth <= availableWidthWithDropdown) {
totalWidth += itemWidth
} else {
item.classList.add(HIDDEN)
this.overflowItems.push(item)
}
}
if (this.overflowItems.length > 0) {
this.dropdown.classList.remove(HIDDEN)
this.updateDropdownContent()
}

this.toolbar.style.visibility = 'visible'
}
updateDropdownContent() {
this.dropdownContent.innerHTML = ""
this.overflowItems.forEach(item => {
const li = document.createElement("li")
const a = document.createElement("a")
const elem = item.tagName === "A" ? item : item.querySelector("a")
a.innerText = elem.querySelector(".icon-text")?.innerText || elem.innerText
a.href = elem.href
if (elem.target) {
a.target = elem.target
}
li.appendChild(a)
this.dropdownContent.appendChild(li)
})
}
refresh() {
this.items = Array.from(this.toolbar.querySelectorAll(OverflowToolbar.SELECTORS.item))
this.calculateOverflow()
}
}
const toolbar = new OverflowToolbar()
</script>
<script>
const header = document.querySelector("#header")
const headroomHeader = new Headroom(header, {
offset: 1,
tolerance: 5,
classes: {
initial: "animated",
pinned: "slideDown",
unpinned: "slideUp",
frozen: "headroom--frozen"
}
})
headroomHeader.init()
let headroomMobileNav = null
function initializeMobileNav() {
if (headroomMobileNav === null && isMobileMenu()) {
let mobileNav = document.querySelector("#mobile-nav")
if (mobileNav) {
headroomMobileNav = new Headroom(mobileNav, {
offset: 100,
tolerance: 5,
classes: {
initial: "animated",
pinned: "slideUpMobile",
unpinned: "slideDownMobile",
frozen: "headroom--frozen"
}
})
headroomMobileNav.init()
}
}
}
function headroomFreeze() {
const isMenuActive = document.body.classList.contains("menu__active")

if (isMenuActive) {
if (isMobileMenu() && headroomMobileNav) {
headroomMobileNav.freeze()
} else if (!isMobileMenu() && headroomHeader) {
headroomHeader.freeze()
}
} else {
if (headroomMobileNav) headroomMobileNav.unfreeze()
if (headroomHeader) headroomHeader.unfreeze()
}
}
initializeMobileNav()
window.addEventListener("resize", function() {
if (isMobileMenu()) {
initializeMobileNav()
} else if (headroomMobileNav !== null) {
headroomMobileNav.destroy()
headroomMobileNav = null
}
})
let resizeTimeout
window.visualViewport.addEventListener("resize", () => {
if (isMobileMenu()) {
clearTimeout(resizeTimeout)
resizeTimeout = setTimeout(() => {
if (window.visualViewport.scale > 1) {
if (headroomMobileNav) headroomMobileNav.freeze()
if (headroomHeader) headroomHeader.freeze()
} else {
if (headroomMobileNav) headroomMobileNav.unfreeze()
if (headroomHeader) headroomHeader.unfreeze()
}
}, 300)
}
})
</script>
<script>
const brandLogo = document.querySelector(".brand-logo")
const body = document.body
let isOnDesktop = isLarge()
const handleScale = () => {
if (isOnDesktop) {
if (window.scrollY > 50) {
brandLogo.classList.add("animated", "scaleDown")
brandLogo.classList.remove("scaleUp")
} else if (window.scrollY === 0) {
brandLogo.classList.remove("scaleDown")
brandLogo.classList.add("animated", "scaleUp")
}
} else {
brandLogo.classList.remove("scaleDown", "scaleUp", "animated")
}
}
let resizeLogoTimeout
window.addEventListener("scroll", handleScale)
window.addEventListener("resize", () => {
clearTimeout(resizeLogoTimeout)
resizeLogoTimeout = setTimeout(() => {
isOnDesktop = isLarge()
handleScale()
}, 100)
})
</script>
<script>
document.addEventListener('DOMContentLoaded', () => {
const progressBar = document.getElementById('progress-bar');
const section = document.querySelector('section.article-details-section');
if (!progressBar) return;
function getBottomEnd() {
if (section && section.isConnected) {
const end = (section.offsetTop + section.offsetHeight) - window.innerHeight;
return Math.max(0, end);
} else {
const doc = document.documentElement;
const end = (doc.scrollHeight || 0) - (doc.clientHeight || 0);
return Math.max(0, end);
}
}
function update() {
if (getComputedStyle(progressBar).display === 'none') return;
const scrollTop = Math.max(0, window.scrollY || window.pageYOffset || 0);
const bottomEnd = getBottomEnd();
const pct = bottomEnd > 0 ? (scrollTop / bottomEnd) * 100 : 0;
const safe = Number.isFinite(pct) ? Math.min(100, Math.max(0, pct)) : 0;
progressBar.value = safe;
}
let ticking = false;
window.addEventListener('scroll', () => {
if (ticking) return;
ticking = true;
requestAnimationFrame(() => { update(); ticking = false; });
}, { passive: true });
update();
window.addEventListener('resize', () => update());
});
</script>
<script>
(function() {
function getTheme() {
const m = document.cookie.match(/(?:^|; )theme=([^;]*)/)
if (m) return m[1]
return null
}
let theme = getTheme()
if (!theme || theme === "default") {
theme = window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light"
}
function setBodyTheme() {
if (document.body) {
document.body.setAttribute("data-theme", theme)
} else {
document.addEventListener("DOMContentLoaded", function() {
document.body.setAttribute("data-theme", theme)
})
}
}
setBodyTheme()
})()
function getCookieDomain() {
const host = location.hostname
const parts = host.split(".")
if (parts.length < 2) return ""
return `domain=.${parts.slice(-2).join(".")};`
}
function setThemeCookie(theme) {
document.cookie = `theme=${theme}; path=/; ${getCookieDomain()} max-age=${60 * 60 * 24 * 30}`
}
function getThemeCookie() {
const m = document.cookie.match(/(?:^|; )theme=([^;]*)/)
return m ? m[1] : null
}
function getUserPreferredTheme() {
return window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light"
}
function applyTheme(theme) {
if (document.body.getAttribute("data-theme-mode") === "static") return
if (theme === "default") theme = getUserPreferredTheme()
document.body.setAttribute("data-theme", theme)
}
function storeTheme(theme) {
if (theme === "default") setThemeCookie("")
else setThemeCookie(theme)
}
function initializeThemeSwitchers() {
let theme = getThemeCookie() || "default"
const elementsToActivate = document.querySelectorAll(`[data-theme-control="${theme}"]`)
elementsToActivate.forEach(el => el.classList.add("active"))
const themeControls = document.querySelectorAll(".theme-control")
themeControls.forEach(tc => {
tc.addEventListener("click", () => handleThemeChange(tc, themeControls))
})
}
function handleThemeChange(control, themeControls) {
let theme = control.getAttribute("data-theme-control")
themeControls.forEach(tc => tc.classList.remove("active"))
control.classList.add("active")
storeTheme(theme)
applyTheme(theme)
}
document.addEventListener("DOMContentLoaded", () => {
const observer = new MutationObserver(() => {
const themeChangeDiv = document.querySelector(".theme-change")
if (themeChangeDiv) initializeThemeSwitchers()
})
observer.observe(document.body, { childList: true, subtree: true })
let theme = getThemeCookie() || "default"
applyTheme(theme)
})
</script>
<div class="breaking-container p-0">
<div class="breaking-inactive"
configurable="hvg:breaking:breaking"
>
</div>
</div>
<main><div configurable="hvg:layout:default" class="island-container">
<div class="main-container" data-orientation="vertical">
<section
class="container-narrow"
configurable="hvg:custom-html-section:f1c5067c-c2bf-4acb-a7b5-101fa5fd634b"
>
<link rel="stylesheet" href="https://cdn.hvg.hu/election2026/1.0.61/client.css" type="text/css" />
<script type="module" src="https://cdn.hvg.hu/election2026/1.0.61/ogy-election-widget.js"></script>
<ogy-election-widget
api-url="https://election2026.hvg.hu/api"
force-state="result"
refresh-interval="60"
></ogy-election-widget>
</section>
<section class="card-section main-section"
configurable="hvg:first-fold-12-extra-megabreaking-manual:7f8be7b3-d748-4dda-99e5-f25cb95536f9">
<div class="card-section__header section-header">
<div class="card-section__header__left">
</div>
<div class="card-section__header__right">
</div>
</div>
<div class="row">
<div class="col-xs-12" data-orientation="vertical">
<article
class="article-card format__vertical common-card font-extra is-premium rating-30 "
data-articleId="d6701a8b-9aeb-48f2-ac6c-2808bd1c1c42" configurable="hvg:article-card:374fe5f6-8f33-4b21-b678-f3b9b86cb177" 
>
<div class="article-card__image-wrapper">
<a href="https://hvg.hu/360/20260412_egy-utolso-kerdesben-magyar-peternek-meg-bizonyitani-kell-mennyire-alabecsultuk-ot" aria-hidden="true" tabindex="-1">
<img src="https://img.hvg.hu/Img/27315920-08f2-479a-bc05-0514a7db57d5/d2a4ffbb-a606-4566-807b-764ba711ce95.jpg" loading="lazy" alt=""
class="card-featured-img" />
</a>
</div>
<h3 class="article-card__title">
<a href="https://hvg.hu/360/20260412_egy-utolso-kerdesben-magyar-peternek-meg-bizonyitani-kell-mennyire-alabecsultuk-ot">
Egy utolsó kérdésben Magyar Péternek még bizonyítani kell, mennyire alábecsültük őt
</a>
</h3>
<p class="article-card__lead">Orbán Viktor bűne, hogy olyan rendszert épített a hatalomvesztéstől rettegve, amit megdönteni is csak a fékek és ellensúlyok kiiktatásával lehet. Most Magyar Péteren a sor, hogy mindannyiunkra rácáfoljon, és visszaépítse a demokráciát, amikor a számok alapján nem szorulna erre.</p>
<div class="article-card__footer">
<div class="authors">
<div class="authors-dropdown dropdown">
<div class="authors-dropdown__summary">
<div class="author main-author btn-hover">
<a href="https://hvg.hu/szerzok/gergely-marton" class="author-link">
<img src="https://img.hvg.hu/Img/00000000-0000-0000-0000-000000000000/18712415-cd3e-46a6-a992-fca96765cf86.jpg" alt="" class="author__avatar" loading="lazy" />
<span class="author__name">Gergely Márton</span>
</a>
</div>
</div>
</div>
</div>
</div>
</article>
</div>
</div>
</section>
<section class="card-section main-section" configurable="hvg:first-fold-6-6-manual:7a7b0321-8bca-4822-ac47-89908dc02245">
<div class="card-section__header section-header">
<div class="card-section__header__left">
</div>
<div class="card-section__header__right">
</div>
</div>
<div class="row">
<div class="col-xs-12 col-md-6" data-orientation="vertical">

<article
class="article-card format__horizontal-overlay layer-bottom common-card font-medium"
data-articleId="70c8459f-99ff-4efa-9eb4-fe7d254d77a1"
configurable="hvg:article-card:5d85221e-f2ed-470d-87c4-8d6dcd4107ba" configurable="hvg:article-card:5d85221e-f2ed-470d-87c4-8d6dcd4107ba" 
>
<div class="article-card__image-wrapper">
<a href="https://hvg.hu/itthon/20260412_magyar-peter-valasztas-eredmeny-ketharmad-gyozelem" aria-hidden="true" tabindex="-1">
<img src="https://img.hvg.hu/Img/27315920-08f2-479a-bc05-0514a7db57d5/61d15513-dd6e-444a-853b-4cb8715851e3.jpg" loading="lazy" alt="" class="card-featured-img" />
</a>
</div>
<div class="article-card__layer">
<h3 class="article-card__title">
<a href="https://hvg.hu/itthon/20260412_magyar-peter-valasztas-eredmeny-ketharmad-gyozelem">
Magyar Péter: Leváltottuk az Orbán-rendszert, felszabadítottuk Magyarországot, és visszavettük a hazánkat
</a>
</h3>
</div>
</article>
</div>
<div class="col-xs-12 col-md-6" data-orientation="vertical">

<article
class="article-card format__horizontal-overlay layer-bottom common-card font-medium"
data-articleId="557520e1-d433-4838-b18d-fb5b53442c0d"
configurable="hvg:article-card:d8c46a51-5664-4d38-ae8e-0656d34a370b" configurable="hvg:article-card:d8c46a51-5664-4d38-ae8e-0656d34a370b" 
>
<div class="article-card__image-wrapper">
<a href="https://hvg.hu/itthon/20260412_orban-viktor-valasztas-ketharmad-tisza-part-magyar-peter" aria-hidden="true" tabindex="-1">
<img src="https://img.hvg.hu/Img/27315920-08f2-479a-bc05-0514a7db57d5/520b1a2f-75cc-459b-8bcd-b6b18200efc4.jpg" loading="lazy" alt="" class="card-featured-img" />
</a>
</div>
<div class="article-card__layer">
<h3 class="article-card__title">
<a href="https://hvg.hu/itthon/20260412_orban-viktor-valasztas-ketharmad-tisza-part-magyar-peter">
Orbán Viktor: A választási eredmény fájdalmas
</a>
</h3>
</div>
</article>
</div>
</div>
</section>
<section class="card-section main-section" configurable="hvg:first-fold-6-3-3-manual:4503ef85-87a3-46ed-b5fb-a193409fe044">
<div class="card-section__header section-header">
<div class="card-section__header__left">
</div>
<div class="card-section__header__right">
</div>
</div>
<div class="row">
<div class="col-xs-12 col-sm-12 col-lg-6" data-orientation="vertical">

<article
class="article-card format__vertical-overlay common-card font-large "
data-articleId="8fa3ea06-9095-4621-a312-3e21e87ef2e6"
configurable="hvg:article-card:7b887b9a-98b4-4ae7-a63f-2de9ba9388f3" configurable="hvg:article-card:7b887b9a-98b4-4ae7-a63f-2de9ba9388f3" 
>
<div class="article-card__image-wrapper">
<a href="https://hvg.hu/itthon/20260412_valasztas-2026-eredmenyek-tisza-part-fidesz-ner-percrol-percre" aria-hidden="true" tabindex="-1">
<img src="https://img.hvg.hu/Img/4d4639c9-6016-48d3-83d1-47eccc130a3b/2a78bda8-8c90-4347-afe8-06080e91b2d9.jpg" loading="lazy" alt="" class="card-featured-img" />
</a>
</div>
<div class="article-card__shifted-layer">
<h3 class="article-card__title">
<a href="https://hvg.hu/itthon/20260412_valasztas-2026-eredmenyek-tisza-part-fidesz-ner-percrol-percre">
Megvan a kétharmad a Tiszának, Orbán gratulált Magyar Péternek – élő közvetítés a választás estéjéről
</a>
</h3>
<p class="article-card__lead">16 év után Orbán Viktor bukását hozta el a vasárnapi országgyűlési választás. Bejött a Medián jóslata, amely a Tisza Párt történelmi győzelméről szólt.</p>
</div>
</article>
<article
class="article-card format__vertical common-card font-large rating-70 "
data-articleId="ac883069-7e3f-4bdc-b117-3530944ea60a" configurable="hvg:article-card:6f23c633-20c1-4a01-8594-a1f962fe1847" 
>
<header class="article-card__header">
<div class="tag article-column">
</div>
<div class="tag article-interest">
</div>
</header>
<h3 class="article-card__title">
<a href="https://hvg.hu/itthon/20260412_toroczkai-laszlo-mi-hazank-mozgalom-valasztas-2026-ertekelo-beszed">
A Mi Hazánk biztos befutónak tűnik, Toroczkai a demokráciát félti a Tisza-kétharmadtól
</a>
</h3>
</article>

<article
class="article-card format__attached font-medium 
" data-articleId="817348f7-c86e-4c27-aaac-3291b3ea5f3c"
configurable="hvg:article-card:230ce73a-e38c-4545-9d56-6cd1b211345a" configurable="hvg:article-card:230ce73a-e38c-4545-9d56-6cd1b211345a" 
>
<h3 class="article-card__title">
<a href="https://hvg.hu/itthon/20260412_hadhazy-akos-valasztasi-eredmeny-zuglo">
Hadházy Ákos otthagyja a politikát 
</a>
</h3>
</article>

<article
class="article-card format__attached font-medium 
" data-articleId="1864b761-f2d0-46b0-afa9-bdac32c53bfd"
configurable="hvg:article-card:009a8da9-acbd-44f5-be3e-09b6abc69582" configurable="hvg:article-card:009a8da9-acbd-44f5-be3e-09b6abc69582" 
>
<h3 class="article-card__title">
<a href="https://hvg.hu/itthon/20260412_lemondott-dobrev-klara">
Lemondott Dobrev Klára
</a>
</h3>
</article>

<article
class="article-card format__attached font-medium 
" data-articleId="0939aca3-787d-407c-93a5-963f2b09b4f6"
configurable="hvg:article-card:92b2a9db-bace-4d3f-94ca-4491eacb89eb" configurable="hvg:article-card:92b2a9db-bace-4d3f-94ca-4491eacb89eb" 
>
<h3 class="article-card__title">
<a href="https://hvg.hu/itthon/20260412_nagy-david-mkkp-kutyapart-valasztas-esteje-nyilatkozat">
Nagy Dávid: Többre számítottunk
</a>
</h3>
</article>

<article
class="article-card format__attached font-medium 
" data-articleId="92ea090a-cee5-407d-b2d0-66c47ee24650"
configurable="hvg:article-card:a81d9a8d-0350-4038-9866-81f4d5a28754" configurable="hvg:article-card:a81d9a8d-0350-4038-9866-81f4d5a28754" 
>
<h3 class="article-card__title">
<a href="https://hvg.hu/itthon/20260412_gulyas-gergely-fels-sem-merult-orban-viktor-levaltasa">
Gulyás Gergely: Fel sem merült Orbán Viktor leváltása
</a>
</h3>
</article>
<article
class="article-card format__vertical common-card font-medium is-breaking rating-60 "
data-articleId="699ca0d2-8b48-4332-9d6e-94e000308573" configurable="hvg:article-card:c9356727-65eb-4f80-9103-df704e0eaeaf" 
>
<h3 class="article-card__title">
<a href="https://hvg.hu/itthon/20260412_magyar-peter-valasztasi-gyozelem-gratulacio-europai-politikusok">
Macrontól Zelenszkijig, Von der Leyentől Sánchezig mindenki gratulál Magyar Péternek
</a>
</h3>
</article>

<article
class="article-card format__horizontal common-card font-large rating-60 "
data-articleId="897bc0fd-c730-491c-9fcf-2688f4f9f6ac"
configurable="hvg:article-card:f398bd7c-9633-485a-a84e-dade51f1e831" configurable="hvg:article-card:f398bd7c-9633-485a-a84e-dade51f1e831" 
>
<div class="article-card__content">
<div class="article-card__image-wrapper">
<a href="https://hvg.hu/elet/20260412_mraz-agoston-samuel-egyre-valoszinubb-hogy-a-tisza-megszerzi-a-mandatumok-tobbseget-kozmedia-valasztasi-musor-m1" aria-hidden="true" tabindex="-1">
<img src="https://img.hvg.hu/Img/27315920-08f2-479a-bc05-0514a7db57d5/585c0c95-5d93-4e91-9554-04b4852442cd.jpg" loading="lazy" alt="" class="card-featured-img" />
</a>
</div>
<div class="article-card__right">
<h3 class="article-card__title">
<a href="https://hvg.hu/elet/20260412_mraz-agoston-samuel-egyre-valoszinubb-hogy-a-tisza-megszerzi-a-mandatumok-tobbseget-kozmedia-valasztasi-musor-m1">
Meglepően elfogulatlan a közmédia elemzése, de nem maradnak el a hajmeresztő állítások
</a>
</h3>
</div>
</div>
</article>
</div>
<div class="col-xs-12 col-sm-6 col-lg-3" data-orientation="vertical">

<article
class="article-card format__instalike init-color-thief common-card font-small"
data-color-thief-options='{"image": "img.article-card__image-wrapper__img"}'
configurable="hvg:article-card:a72012ba-b2d5-43e6-9727-187675dc5b70"
data-articleId="1b42970b-002e-4192-9ed6-18d34c595d3c"
aria-label="A t&#246;rt&#233;nelmi Fidesz-kudarc &#246;t k&#233;pben" configurable="hvg:article-card:a72012ba-b2d5-43e6-9727-187675dc5b70" 
>
<div class="article-card__image-wrapper" aria-hidden="true">
<a href="https://hvg.hu/itthon/20260412_orban-viktor-beszede-galeria" tabindex="-1" aria-hidden="true">
<img
src="https://img.hvg.hu/Img/4d4639c9-6016-48d3-83d1-47eccc130a3b/fedf8d20-67e9-4a63-a4e9-5c85f825035f.jpg"
loading="lazy"
class="article-card__image-wrapper__img card-featured-img"
crossorigin="anonymous"
alt=""
/>
</a>
</div>
<h3 class="article-card__title">
<a href="https://hvg.hu/itthon/20260412_orban-viktor-beszede-galeria">
A történelmi Fidesz-kudarc öt képben
</a>
</h3>
</article>
<article
class="article-card format__vertical common-card font-small rating-60 "
data-articleId="d3a24a15-d24c-4dac-934a-6ea6edf7bf9a" configurable="hvg:article-card:1301db44-c6b6-4964-a32d-867d438ad900" 
>
<header class="article-card__header">
<div class="tag article-column">
</div>
<div class="tag article-interest">
</div>
</header>
<h3 class="article-card__title">
<a href="https://hvg.hu/itthon/20260412_valasztas-2026-ivanyi-gabor-orban-viktor-mkkp">
Iványi Gábor üzenetet írt Orbánnak egy narancsszínű felsőre
</a>
</h3>
</article>
<article
class="article-card format__vertical common-card font-small rating-60 "
data-articleId="af3b3fd4-0c24-4527-9863-80c3fa122064" configurable="hvg:article-card:dbb38dff-0527-4cfc-a75c-61a2368fcc78" 
>
<header class="article-card__header">
<div class="tag article-column">
</div>
<div class="tag article-interest">
</div>
</header>
<h3 class="article-card__title">
<a href="https://hvg.hu/itthon/20260412_vilagsajto-cimlap-fidesz-orban-magyar">
Címlapon hozza a Fidesz vereségét a világsajtó
</a>
</h3>
</article>

<article
class="article-card format__attached font-small 
" data-articleId="60d28aae-9437-4085-84bb-e4cf25cd14d7"
configurable="hvg:article-card:aa31c556-9b87-4e4c-8ba8-4151f0811c7a" configurable="hvg:article-card:aa31c556-9b87-4e4c-8ba8-4151f0811c7a" 
>
<h3 class="article-card__title">
<a href="https://hvg.hu/itthon/20260412_new-york-times-az-ukrajnai-haboru-menetet-is-megvaltoztathatja-orban-veresege">
New York Times: Az ukrajnai háború menetét is megváltoztathatja Orbán veresége
</a>
</h3>
</article>

<article
class="article-card format__attached font-small 
" data-articleId="e0cd371f-7477-45a1-8eee-1ccf6e634b28"
configurable="hvg:article-card:5b9d553a-f05b-4b46-86ea-62f562e2cc01" configurable="hvg:article-card:5b9d553a-f05b-4b46-86ea-62f562e2cc01" 
>
<h3 class="article-card__title">
<a href="https://hvg.hu/itthon/20260412_politico-valasztas-2026-orban">
Politico-elemzés: Orbánt cserben hagyta populista érzéke
</a>
</h3>
</article>
<article
class="article-card format__vertical common-card font-small rating-70 "
data-articleId="613bbe9e-3f06-4576-b794-6292851dd1a2" configurable="hvg:article-card:db5aed88-e9ef-4cae-b084-d38bafb3e644" 
>
<div class="article-card__image-wrapper">
<a href="https://hvg.hu/itthon/20260412_tisza-part-eredmenyvaro-galeria" aria-hidden="true" tabindex="-1">
<img src="https://img.hvg.hu/Img/27315920-08f2-479a-bc05-0514a7db57d5/cfe33510-42c4-414c-a52a-ece402d89f52.jpg" loading="lazy" alt=""
class="card-featured-img" />
</a>
</div>
<h3 class="article-card__title">
<a href="https://hvg.hu/itthon/20260412_tisza-part-eredmenyvaro-galeria">
Durrannak a pezsgők a Tisza Párt kétharmados győzelmére – fotógaléria
</a>
</h3>
</article>

<article
class="article-card format__instalike init-color-thief common-card font-small"
data-color-thief-options='{"image": "img.article-card__image-wrapper__img"}'
configurable="hvg:article-card:df83375d-0517-4402-ab8e-e3c916933102"
data-articleId="c449c689-8d43-4f1b-a516-51bc192b447b"
aria-label="H&#225;rom&#233;ves cs&#250;cson a forint" configurable="hvg:article-card:df83375d-0517-4402-ab8e-e3c916933102" 
>
<h3 class="article-card__title">
<a href="https://hvg.hu/gazdasag/20260412_haromeves-csucson-a-forint">
Hároméves csúcson a forint
</a>
</h3>
</article>
<article
class="article-card format__vertical common-card font-small rating-70 "
data-articleId="ad58dc09-5f6f-491d-82da-2377ccd86cd1" configurable="hvg:article-card:6b617714-1636-4591-9818-76548ccb5da0" 
>
<header class="article-card__header">
<div class="tag article-column">
</div>
<div class="tag article-interest">
</div>
</header>
<h3 class="article-card__title">
<a href="https://hvg.hu/itthon/20260412_karacsony-gratulalt-es-nemzeti-szinbe-kapcsolta-a-lanchid-diszkivilagitasat">
Karácsony gratulált és nemzeti színbe kapcsolta a Lánchíd díszkivilágítását
</a>
</h3>
</article>
<article
class="article-card format__vertical common-card font-small rating-70 "
data-articleId="c9c05181-9c09-4d8b-8223-d2ec60a33906" configurable="hvg:article-card:31293970-48ce-42f3-ae00-e88dcfcd074a" 
>
<header class="article-card__header">
<div class="tag article-column">
</div>
<div class="tag article-interest">
</div>
</header>
<h3 class="article-card__title">
<a href="https://hvg.hu/itthon/20260412_racz-andras-allitolagos-tisza-akcioterv-orosz-forditas">
Rácz András: A kormánymédia által közölt, állítólagos Tisza akcióterv hamis 
</a>
</h3>
</article>
</div>
<div class="col-xs-12 col-sm-6 col-lg-3" data-orientation="vertical">
<article
class="article-card format__vertical common-card font-small rating-50 "
data-articleId="2b026965-81b2-417c-9502-e192aa0ecb52" configurable="hvg:article-card:3ca5ad50-f519-4508-9aad-42d63b50304f" 
>
<div class="article-card__image-wrapper">
<a href="https://hvg.hu/kultura/20260412_ilyen-lett-az-uj-heti-hetes" aria-hidden="true" tabindex="-1">
<img src="https://img.hvg.hu/Img/27315920-08f2-479a-bc05-0514a7db57d5/401fb09f-3704-48b4-8af4-0f7b6fff3de9.jpg" loading="lazy" alt=""
class="card-featured-img" />
</a>
</div>
<h3 class="article-card__title">
<a href="https://hvg.hu/kultura/20260412_ilyen-lett-az-uj-heti-hetes">
Enervált hahota zárás után - ilyen lett az új Heti Hetes
</a>
</h3>
</article>

<article
class="article-card format__attached font-small 
" data-articleId="6d435d00-52ab-4c4f-9d62-0cbdd76d061d"
configurable="hvg:article-card:c0ccce24-ae32-4019-87b8-fc741d9df8bd" configurable="hvg:article-card:c0ccce24-ae32-4019-87b8-fc741d9df8bd" 
>
<h3 class="article-card__title">
<a href="https://hvg.hu/elet/20260412_hajos-andras-magyar-peter-hvg-valasztasi-musor">
Hajós András: Ha Orbán ellenzékbe kerül, működésbe lép a Fidesz mélyállama
</a>
</h3>
</article>
<article
class="article-card format__vertical common-card font-small rating-70 "
data-articleId="8b910899-6376-4a08-b08f-a06adf18f90b" configurable="hvg:article-card:ed8c3a17-6d5d-44d2-92c0-d8a8145104ab" 
>
<div class="article-card__image-wrapper">
<a href="https://hvg.hu/itthon/20260412_nagy-ervin-valasztas-este-poszt-koszonet" aria-hidden="true" tabindex="-1">
<img src="https://img.hvg.hu/Img/27315920-08f2-479a-bc05-0514a7db57d5/679ff992-7062-4c10-9fb6-5eaba249c801.jpg" loading="lazy" alt=""
class="card-featured-img" />
</a>
</div>
<h3 class="article-card__title">
<a href="https://hvg.hu/itthon/20260412_nagy-ervin-valasztas-este-poszt-koszonet">
Nagy Ervin: Egy normális ország építését vállaljuk, ahol mindenki egyenlő
</a>
</h3>
</article>
<article
class="article-card format__vertical common-card font-small rating-60 "
data-articleId="2000e345-ca5d-408f-950e-e735c1ff6b80" configurable="hvg:article-card:ed51b26b-cb52-44af-8989-990e0cddd5eb" 
>
<h3 class="article-card__title">
<a href="https://hvg.hu/itthon/20260412_lazar-janos-valasztas-polgarhaboru-tisza">
Lázár János: A Tisza polgárháborút akar kirobbantani 
</a>
</h3>
</article>
<article
class="article-card format__vertical common-card font-small rating-40 "
data-articleId="4307ceda-c647-482d-9787-ab791d925444" configurable="hvg:article-card:4cdb1164-ac61-4eb9-b254-d58f755be5f1" 
>
<header class="article-card__header">
<div class="tag article-column">
</div>
<div class="tag article-interest">
</div>
</header>
<h3 class="article-card__title">
<a href="https://hvg.hu/itthon/20260412_nem-erdekel-odakint-mit-csinalnak-minden-ami-az-ajton-belul-tortenik-az-torvenyes">
„Nem érdekel, odakint mit csinálnak, minden, ami az ajtón belül történik, az törvényes” – gyanús dolgokat láttunk több szavazókörnél
</a>
</h3>
</article>
<article
class="article-card format__vertical common-card font-small rating-60 "
data-articleId="4b65be14-8f48-4657-9c25-865b8d699afa" configurable="hvg:article-card:abeb536a-31a0-46c9-9666-6713303d0218" 
>
<div class="article-card__image-wrapper">
<a href="https://hvg.hu/itthon/20260412_megtamadtak-az-onkentes-valasztasi-megfigyeloket-tiszaburan" aria-hidden="true" tabindex="-1">
<img src="https://img.hvg.hu/Img/27315920-08f2-479a-bc05-0514a7db57d5/bcd620e7-53a0-4cad-b64b-453a5c81fc2f.png" loading="lazy" alt=""
class="card-featured-img" />
</a>
</div>
<h3 class="article-card__title">
<a href="https://hvg.hu/itthon/20260412_megtamadtak-az-onkentes-valasztasi-megfigyeloket-tiszaburan">
Megtámadták az önkéntes választási megfigyelőket Tiszaburán
</a>
</h3>
</article>
<article
class="article-card format__vertical common-card font-small rating-70 "
data-articleId="f5a13886-b5a4-4a37-b780-a6a7e6311a39" configurable="hvg:article-card:8b2afe7d-d3d7-4db5-96f1-2cbe015552d8" 
>
<header class="article-card__header">
<div class="tag article-column">
</div>
<div class="tag article-interest">
</div>
</header>
<h3 class="article-card__title">
<a href="https://hvg.hu/itthon/20260412_krasznahorkai-laszlo-ket-orat-allt-sorban-hogy-szavazhasson">
Krasznahorkai László két órát állt sorban, hogy szavazhasson
</a>
</h3>
</article>
<article
class="article-card format__vertical common-card font-small rating-70 "
data-articleId="ab6d836d-d246-4ab6-860f-4b46ead9c980" configurable="hvg:article-card:66eb530e-4ec4-4149-9149-d1ac65dab6fc" 
>
<header class="article-card__header">
<div class="tag article-column">
</div>
<div class="tag article-interest">
</div>
</header>
<h3 class="article-card__title">
<a href="https://hvg.hu/itthon/20260412_nem-politikusokat-akarok-szolgalni-hanem-nemzetemet-hazamat-az-igazsagot-ujabb-rendor-adott-hangot-az-elegedetlensegenek">
Borított a rendőr: Nem politikusokat akarok szolgálni, hanem nemzetemet, hazámat, az igazságot
</a>
</h3>
</article>
</div>
</div>
</section>
<section
id="fresh-section"
class="card-section main-section fresh-section"
configurable="hvg:fresh-section:abcf51c0-fb03-42ab-b2a8-924b5824ceeb"
>
<div class="card-section__header section-header">
<div class="card-section__header__left">
<h2 class="card-section__header__title">Friss cikkek</h2>
</div>
<div class="card-section__header__right">
<a href="https://hvg.hu//frisshirek" class="card-section__header__right__link">
Tovább a friss hírekhez
</a>
</div>
</div>
<div class="slider">

<article
class="article-card format__fresh font-small

"
data-articleId="e0cd371f-7477-45a1-8eee-1ccf6e634b28"
configurable="hvg:article-card:">
<h3 class="article-card__title">
<a href="https://hvg.hu/itthon/20260412_politico-valasztas-2026-orban" title="Politico-elemzés: Orbánt cserben hagyta populista érzéke">
Politico-elemzés: Orbánt cserben hagyta populista érzéke
</a>
</h3>
<time
class="timestamp "
datetime="2026-04-12T22:13:14.0000000Z"
data-timeago-value="2026-04-12T22:13:14.0000000Z"
data-local-datetime-key="2026-04-12T22:13:14.0000000Z"
data-local-datetime-format="yyyy. mmmm dd. HH:mm"
data-local-target-format="yyyy. mmmm dd. HH:mm"
data-local-datetime-target="datetime"
>
&nbsp;
</time>
</article>

<article
class="article-card format__fresh font-small

"
data-articleId="b2c9abab-8795-4488-88da-ed7a53bf836e"
configurable="hvg:article-card:">
<h3 class="article-card__title">
<a href="https://hvg.hu/itthon/20260412_tobb-mint-3-millio-szavazatot-szerzett-a-tisza" title="Soha párt nem szerzett annyi szavazatot Magyarországon, mint most a Tisza">
Soha párt nem szerzett annyi szavazatot Magyarországon, mint most a Tisza
</a>
</h3>
<time
class="timestamp "
datetime="2026-04-12T22:04:05.0000000Z"
data-timeago-value="2026-04-12T22:04:05.0000000Z"
data-local-datetime-key="2026-04-12T22:04:05.0000000Z"
data-local-datetime-format="yyyy. mmmm dd. HH:mm"
data-local-target-format="yyyy. mmmm dd. HH:mm"
data-local-datetime-target="datetime"
>
&nbsp;
</time>
</article>

<article
class="article-card format__fresh font-small

"
data-articleId="af3b3fd4-0c24-4527-9863-80c3fa122064"
configurable="hvg:article-card:">
<h3 class="article-card__title">
<a href="https://hvg.hu/itthon/20260412_vilagsajto-cimlap-fidesz-orban-magyar" title="Címlapon hozza a Fidesz vereségét a világsajtó">
Címlapon hozza a Fidesz vereségét a világsajtó
</a>
</h3>
<time
class="timestamp "
datetime="2026-04-12T21:58:00.0000000Z"
data-timeago-value="2026-04-12T21:58:00.0000000Z"
data-local-datetime-key="2026-04-12T21:58:00.0000000Z"
data-local-datetime-format="yyyy. mmmm dd. HH:mm"
data-local-target-format="yyyy. mmmm dd. HH:mm"
data-local-datetime-target="datetime"
>
&nbsp;
</time>
</article>

<article
class="article-card format__fresh font-small

"
data-articleId="2b026965-81b2-417c-9502-e192aa0ecb52"
configurable="hvg:article-card:">
<h3 class="article-card__title">
<a href="https://hvg.hu/kultura/20260412_ilyen-lett-az-uj-heti-hetes" title="Enervált hahota zárás után – ilyen lett az új Heti Hetes">
Enervált hahota zárás után – ilyen lett az új Heti Hetes
</a>
</h3>
<time
class="timestamp "
datetime="2026-04-12T21:50:15.0000000Z"
data-timeago-value="2026-04-12T21:50:15.0000000Z"
data-local-datetime-key="2026-04-12T21:50:15.0000000Z"
data-local-datetime-format="yyyy. mmmm dd. HH:mm"
data-local-target-format="yyyy. mmmm dd. HH:mm"
data-local-datetime-target="datetime"
>
&nbsp;
</time>
</article>
</div>
</section>
<script>
const freshSection = document.getElementById("fresh-section")
const refreshIntervalMinutes = config.document.freshSectionRefreshMinutes || 2
const freshSectionRefreshInterval = refreshIntervalMinutes * 60 * 1000
let previousIds = collectArticleIds(freshSection)
setInterval(refreshFresh, freshSectionRefreshInterval)
function refreshFresh() {
const partialId = "abcf51c0-fb03-42ab-b2a8-924b5824ceeb"
getPartFromSE("fresh-section", "card-section", partialId, null, (part) => {
const template = document.createElement("template")
template.innerHTML = part
template.content.querySelectorAll("script").forEach(script => script.remove())
let currentIds = collectArticleIds(template.content)
let newIds = getArrayDifference(currentIds, previousIds)
freshSection.replaceChildren(...template.content.children[0]?.children)
init(freshSection)
if (newIds.length > 0) {
debugLog("New articles found in fresh section:", newIds)
newIds.forEach(id => {
const el = freshSection.querySelector(`[data-articleid="${id}"]`)
if (el) el.classList.add("new")
})
previousIds = currentIds
}
})
}
function collectArticleIds(template) {
return Array.from(
template.querySelectorAll("[data-articleid]")
).map(el => el.dataset.articleid)
}
function getArrayDifference(newIds, oldIds) {
return newIds.filter(item => !oldIds.includes(item))
}
</script>
<section class="card-section main-section" configurable="hvg:first-fold-5-4-3-manual:6399d838-d3b1-444b-b86d-be38a11e1faa">
<div class="row">
<div class="col-xs-12 col-sm-6 col-lg-5" data-orientation="vertical">

<article
class="article-card format__horizontal-overlay layer-bottom common-card font-small"
data-articleId="b7d4f66b-3870-4d72-b967-74bd1356c3e1"
configurable="hvg:article-card:b24da0fe-8d5c-4e72-9f64-49594de3b7d0" configurable="hvg:article-card:b24da0fe-8d5c-4e72-9f64-49594de3b7d0" 
>
<div class="article-card__image-wrapper">
<a href="https://hvg.hu/gazdasag/20260412_valasztas-2026-financial-times-elemzes-orban-gazdasagpolitikaja-megbukott" aria-hidden="true" tabindex="-1">
<img src="https://img.hvg.hu/Img/27315920-08f2-479a-bc05-0514a7db57d5/1c332e91-aaab-4fb4-9114-e0a93bd6ffa0.jpg" loading="lazy" alt="" class="card-featured-img" />
</a>
</div>
<div class="article-card__layer">
<h3 class="article-card__title">
<a href="https://hvg.hu/gazdasag/20260412_valasztas-2026-financial-times-elemzes-orban-gazdasagpolitikaja-megbukott">
Financial Times-elemzés: Orbán gazdaságpolitikája megbukott, kiosztották a bizonyítványt a választók 
</a>
</h3>
</div>
</article>

<article
class="article-card format__horizontal-overlay layer-bottom common-card font-small"
data-articleId="9e09f2a7-0a19-4b1b-990c-71fcc5aba139"
configurable="hvg:article-card:10c5e3e1-16c9-4341-9b33-4e859eb9dd8d" configurable="hvg:article-card:10c5e3e1-16c9-4341-9b33-4e859eb9dd8d" 
>
<div class="article-card__image-wrapper">
<a href="https://hvg.hu/itthon/20260412_zeit-tudositas-orban-faradtnak-tunt-mintha-mar-alig-tudna-allni-nem-sok-maradt-az-egykori-karizmatikus-diakvezerbol" aria-hidden="true" tabindex="-1">
<img src="https://img.hvg.hu/Img/27315920-08f2-479a-bc05-0514a7db57d5/99492ead-6295-41df-ab26-3a393a43639c.jpg" loading="lazy" alt="" class="card-featured-img" />
</a>
</div>
<div class="article-card__layer">
<h3 class="article-card__title">
<a href="https://hvg.hu/itthon/20260412_zeit-tudositas-orban-faradtnak-tunt-mintha-mar-alig-tudna-allni-nem-sok-maradt-az-egykori-karizmatikus-diakvezerbol">
Zeit-tudósítás: Orbán fáradtnak tűnt, mintha már alig tudna állni, nem sok maradt az egykori karizmatikus diákvezérből
</a>
</h3>
</div>
</article>
</div>
<div class="col-xs-12 col-sm-6 col-lg-4" data-orientation="vertical">
<article
class="article-card format__vertical common-card font-small rating-60 "
data-articleId="b8926ca0-b823-464a-b41f-c668d445b4d0" configurable="hvg:article-card:225a71ff-8b6b-40a7-8ecf-3beded0e693b" 
>
<h3 class="article-card__title">
<a href="https://hvg.hu/itthon/20260412_washington-post-valasztas-2026-orban-magyar">
Washington Post-elemzés: 16 év elküldték a magyarok az illiberális kereszténydemokrácia önjelölt bajnokát
</a>
</h3>
</article>

<article
class="article-card format__attached font-small 
" data-articleId="657841b7-374e-4b8a-adeb-be01fc153d15"
configurable="hvg:article-card:83069968-4f79-4dec-982b-0c3c80df2284" configurable="hvg:article-card:83069968-4f79-4dec-982b-0c3c80df2284" 
>
<h3 class="article-card__title">
<a href="https://hvg.hu/itthon/20260412_bloomberg-jelentes-a-magyarok-foldrengessel-felero-szavazason-soportek-el-orbant">
Bloomberg-jelentés: A magyarok földrengéssel felérő szavazáson söpörték el Orbánt
</a>
</h3>
</article>

<article
class="article-card format__attached font-small 
" data-articleId="005b90c7-cb63-4011-b63f-43984515cbf8"
configurable="hvg:article-card:90fafc72-626c-4071-b827-0bbaae621bc9" configurable="hvg:article-card:90fafc72-626c-4071-b827-0bbaae621bc9" 
>
<h3 class="article-card__title">
<a href="https://hvg.hu/itthon/20260412_valasztas-2026-standard-lapszemle">
Standard: A magyarországi választási kampány legyen ébresztő Európa számára
</a>
</h3>
</article>

<article
class="article-card format__attached font-small 
" data-articleId="04db1ef9-5602-4e08-a2bc-6c3ffabfe49b"
configurable="hvg:article-card:e1064e5f-fea3-4716-b725-9a4c03683af3" configurable="hvg:article-card:e1064e5f-fea3-4716-b725-9a4c03683af3" 
>
<h3 class="article-card__title">
<a href="https://hvg.hu/itthon/20260412_lengyel-ujsagiro-jd-vance-nem-volt-tul-nagy-segitseg">
Lengyel újságíró: Magyarországon azt nézzük most, ami jövőre Lengyelországban és Franciaországban is történhet
</a>
</h3>
</article>
<article
class="article-card format__vertical common-card font-small rating-60 "
data-articleId="f89b43e3-ad06-478c-8851-08c7c8b81956" configurable="hvg:article-card:c78e2a20-1926-405e-9678-d800befdb36a" 
>
<h3 class="article-card__title">
<a href="https://hvg.hu/itthon/20260412_mtva-vezeto-bognar-tibor-rendszervaltas-tisza">
Tesztelték, hogy Orbán az összeomlása után képes-e beszédet mondani – állítja a volt MTVA-s vezető
</a>
</h3>
</article>
<article
class="article-card format__vertical common-card font-small rating-70 "
data-articleId="fc09fb68-3e32-410e-b727-3d0a7b5dbb4e" configurable="hvg:article-card:3dbd8e59-71b1-4832-991a-ae8354550314" 
>
<header class="article-card__header">
<div class="tag article-column">
</div>
<div class="tag article-interest">
</div>
</header>
<h3 class="article-card__title">
<a href="https://hvg.hu/itthon/20260412_zold-boritek-helyett-a-kulkepviseleti-szavazaskor-feher-boritekot-adtak-lisszabonban-es-rairtak-hogy-zold-boritek">
Nem vicc: Zöld boríték helyett fehér borítékot adtak Lisszabonban a külképviseleti szavazáson, és ráírták, hogy „zöld boríték”
</a>
</h3>
</article>
<article
class="article-card format__vertical common-card font-small rating-60 "
data-articleId="e423e1c2-927a-41f0-b29e-a634b7a99ed1" configurable="hvg:article-card:7221fb06-8f05-4e7d-9e6f-357bd5f6fce2" 
>
<header class="article-card__header">
<div class="tag article-column">
</div>
<div class="tag article-interest">
</div>
</header>
<h3 class="article-card__title">
<a href="https://hvg.hu/itthon/20260412_levelszavazat-posta-egy-hete-parkol-nvi">
TASZ: Egy hete parkol egy nyugat-európai levélszavazat a Posta logisztikai központjában
</a>
</h3>
</article>
</div>
<div class="col-xs-12 col-lg-3 tablet-horizontal" data-orientation="vertical">

<article
class="article-card format__attached font-small 
" data-articleId="c0b06310-1df0-4942-8235-2a79f9bb4e1d"
configurable="hvg:article-card:c14cee03-438d-495d-9730-b1e4d92e7a7d" configurable="hvg:article-card:c14cee03-438d-495d-9730-b1e4d92e7a7d" 
>
<h3 class="article-card__title">
<a href="https://hvg.hu/itthon/20260412_kerepes-hanko-balazs-penny-market-vasarlasi-utalvany-vasarlasi-csalas">
10 ezer forintos Penny-utalvánnyal vásároltak Fidesz-szavazatokat Kerepesen
</a>
</h3>
</article>

<article
class="article-card format__attached font-small 
" data-articleId="ee498679-3d54-43c1-91cd-ed87289d9b6d"
configurable="hvg:article-card:d5f3a39a-8154-4837-9d2e-79b5493c36a5" configurable="hvg:article-card:d5f3a39a-8154-4837-9d2e-79b5493c36a5" 
>
<h3 class="article-card__title">
<a href="https://hvg.hu/itthon/20260412_ujabb-rekord-az-urnazaras-elotti-utolso-reszveteli-adat-x-szazalek">
Újabb rekord az urnazárás előtti utolsó részvételi adat: 77,8 százalék
</a>
</h3>
</article>

<article
class="article-card format__attached font-small 
" data-articleId="c34ecefa-254a-44a9-978b-7c6841525e74"
configurable="hvg:article-card:34425539-6700-4d36-ab32-dc1aeff27f15" configurable="hvg:article-card:34425539-6700-4d36-ab32-dc1aeff27f15" 
>
<h3 class="article-card__title">
<a href="https://hvg.hu/itthon/20260412_tisza-mezokovesd-csezi-erszebet-csuklyasok-rendorseg">
„Csuklyával a fejükön autóban követtek minket, elállták az utunkat” - rendőrségi bejelentést tett a Tisza jelöltje
</a>
</h3>
</article>

<article
class="article-card format__attached font-small 
" data-articleId="9aaaa044-498a-47d1-826d-87c5eaaa9380"
configurable="hvg:article-card:3c22e248-9757-4cca-a806-3f0e0690b6cf" configurable="hvg:article-card:3c22e248-9757-4cca-a806-3f0e0690b6cf" 
>
<h3 class="article-card__title">
<a href="https://hvg.hu/itthon/20260412_kocsis-mate-valasztasi-csalas-feljelentes-tisza-jambor-andras-ahang-aktivistak">
Kocsis Máté feljelenti a Tiszát, miután az aHang aktivistái táblákkal fogadták a szavazó Orbánt
</a>
</h3>
</article>

<article
class="article-card format__attached font-small 
" data-articleId="0cc4ee9b-093c-4422-bd94-6a76562e392a"
configurable="hvg:article-card:15c9fcc0-9d0d-43f6-a06f-cbcae2c55b00" configurable="hvg:article-card:15c9fcc0-9d0d-43f6-a06f-cbcae2c55b00" 
>
<h3 class="article-card__title">
<a href="https://hvg.hu/kkv/20260412_bayer-construct-balazs-attila-level-szavazz-a-fideszre">
Szavazzanak a Fideszre! – szólította fel az állami milliárdokkal kitömött Bayer Construct tulaja a dolgozóit
</a>
</h3>
</article>

<article
class="article-card format__attached font-small 
" data-articleId="0156ea35-6fae-4b07-b0fb-32f40f4529c5"
configurable="hvg:article-card:4ea1be99-999f-4580-8374-4bc4584bb24d" configurable="hvg:article-card:4ea1be99-999f-4580-8374-4bc4584bb24d" 
>
<h3 class="article-card__title">
<a href="https://hvg.hu/itthon/20260412_szoke-toth-mihaly-fideszes-polgarmester-bocsa-tisza-szavazas">
A bócsai fideszes polgármester a Tiszára szavazott
</a>
</h3>
</article>

<article
class="article-card format__attached font-small 
" data-articleId="e47e77b5-8afc-44f1-a975-00cd3d687f69"
configurable="hvg:article-card:1b1eb959-022f-4a49-ab33-2b6ba224442a" configurable="hvg:article-card:1b1eb959-022f-4a49-ab33-2b6ba224442a" 
>
<h3 class="article-card__title">
<a href="https://hvg.hu/itthon/20260412_orban-viktor-szavazas-sajtotajekoztato-valasztas-eredmeny-magas-reszvetel-lemondas-vereseg-gyozelem">
A miniszterelnök nagy vereség esetén a Fidesz elnöki címéről is lemondana
</a>
</h3>
</article>
</div>
</div>
</section>
<section
class="card-section main-section"
configurable="hvg:card-section-manual:8daf746e-d2e2-4e89-843c-306ece1a81e9"
>
<div class="card-section__header section-header">
<div class="card-section__header__left">
<h2 class="card-section__header__title">Aktuális</h2>
</div>
<div class="card-section__header__right">
</div>
</div>
<div class="grid-row grid-col-xs-12 grid-col-sm-6 grid-col-md-4 grid-col-lg-3" data-orientation="horizontal">
<article
class="article-card format__vertical common-card font-small rating-70 "
data-articleId="2104d825-6c62-45ae-84b4-9b94d54748b3" configurable="hvg:article-card:f340ff99-3d05-417f-b153-7b70dba9e8fa" 
>
<div class="article-card__image-wrapper">
<a href="https://hvg.hu/vilag/20260412_donald-trump-az-amerikai-haditengereszet-blokad-ala-vonja-a-hormuzi-szorost" aria-hidden="true" tabindex="-1">
<img src="https://img.hvg.hu/Img/27315920-08f2-479a-bc05-0514a7db57d5/339d75ba-697a-4356-b118-7b43ba12dcec.jpg" loading="lazy" alt=""
class="card-featured-img" />
</a>
</div>
<h3 class="article-card__title">
<a href="https://hvg.hu/vilag/20260412_donald-trump-az-amerikai-haditengereszet-blokad-ala-vonja-a-hormuzi-szorost">
Donald Trump: Az amerikai haditengerészet blokád alá vonja a Hormuzi-szorost
</a>
</h3>
</article>
<article
class="article-card format__vertical common-card font-small is-premium rating-30 "
data-articleId="2b688e5f-ce79-4bbd-bf8e-7d60ec14eda1" configurable="hvg:article-card:82f8889c-4657-4b30-9031-425103500c65" 
>
<div class="article-card__image-wrapper">
<a href="https://hvg.hu/360/20260412_usa-iran-haboru-trump-targyalasok-hormuzi-szoros" aria-hidden="true" tabindex="-1">
<img src="https://img.hvg.hu/Img/27315920-08f2-479a-bc05-0514a7db57d5/8485d1b0-aa86-4a03-9bcc-cc0551bdbb0a.jpg" loading="lazy" alt=""
class="card-featured-img" />
</a>
</div>
<h3 class="article-card__title">
<a href="https://hvg.hu/360/20260412_usa-iran-haboru-trump-targyalasok-hormuzi-szoros">
Teherán nem bánja, hogy nincs megállapodás, Trump viszont válaszúthoz érkezett
</a>
</h3>
</article>
<article
class="article-card format__vertical common-card font-small rating-60 "
data-articleId="04d64803-2b01-4e5f-9fa6-70e561b02ccd" configurable="hvg:article-card:61c8b2d1-5232-40d9-9178-9c7fc1f4f120" 
>
<div class="article-card__image-wrapper">
<a href="https://hvg.hu/itthon/20260412_vaci-ut-halalos-baleset-torok-sofor-ugyeszseg-letartoztatas" aria-hidden="true" tabindex="-1">
<img src="https://img.hvg.hu/Img/27315920-08f2-479a-bc05-0514a7db57d5/27e2d818-628d-4a45-8ad6-32d1e58f83ae.jpg" loading="lazy" alt=""
class="card-featured-img" />
</a>
</div>
<h3 class="article-card__title">
<a href="https://hvg.hu/itthon/20260412_vaci-ut-halalos-baleset-torok-sofor-ugyeszseg-letartoztatas">
Váci úti halálos baleset: az ügyészség a vétkes török sofőr letartóztatását indítványozta, akár 10 évet is kaphat
</a>
</h3>
</article>
<article
class="article-card format__vertical common-card font-small rating-70 "
data-articleId="41769a52-e386-46d7-8cd5-ce37e577f5b6" configurable="hvg:article-card:84a21b8f-52e6-4acc-b481-48c7fca09350" 
>
<div class="article-card__image-wrapper">
<a href="https://hvg.hu/zhvg/20260412_feher-aranysakal-vadasz-leloves" aria-hidden="true" tabindex="-1">
<img src="https://img.hvg.hu/Img/27315920-08f2-479a-bc05-0514a7db57d5/f2b77525-6c7d-4e43-bd8e-26fc00e08c85.jpg" loading="lazy" alt=""
class="card-featured-img" />
</a>
</div>
<h3 class="article-card__title">
<a href="https://hvg.hu/zhvg/20260412_feher-aranysakal-vadasz-leloves">
Fehér aranysakált lőttek ki a Kiskunságban
</a>
</h3>
</article>
<article
class="article-card format__vertical common-card font-small is-premium rating-30 "
data-articleId="8dba2e38-df79-4de6-9185-63affe69dbb9" configurable="hvg:article-card:c1dc8318-3f66-47e9-ac08-b4811abd2d35" 
>
<div class="article-card__image-wrapper">
<a href="https://hvg.hu/360/20260411_mandatum-szavazat-egyeni-listas-voks-toredekszavazat-mandatumkiosztas-ner-valasztasi-renszer" aria-hidden="true" tabindex="-1">
<img src="https://img.hvg.hu/Img/27315920-08f2-479a-bc05-0514a7db57d5/30e4cfca-155e-4358-b214-255faa1a4fc2.jpg" loading="lazy" alt=""
class="card-featured-img" />
</a>
</div>
<h3 class="article-card__title">
<a href="https://hvg.hu/360/20260411_mandatum-szavazat-egyeni-listas-voks-toredekszavazat-mandatumkiosztas-ner-valasztasi-renszer">
Egyéni és listás voksok, töredékszavazatok és mandátumkiosztás a NER választási rendszerében
</a>
</h3>
</article>
<article
class="article-card format__vertical common-card font-small rating-70 "
data-articleId="6d1da7da-c3ae-4595-b651-ea7fa41db397" configurable="hvg:article-card:3b5339ff-8a9a-4f48-9413-48bcfcf58673" 
>
<div class="article-card__image-wrapper">
<a href="https://hvg.hu/kultura/20260412_beton-hofi-valasztas-szavazas-kormanypart-bunozok-majka-bindzsisztan" aria-hidden="true" tabindex="-1">
<img src="https://img.hvg.hu/Img/27315920-08f2-479a-bc05-0514a7db57d5/66443eb0-9939-49c7-bcbd-260c85ea83a1.jpg" loading="lazy" alt=""
class="card-featured-img" />
</a>
</div>
<h3 class="article-card__title">
<a href="https://hvg.hu/kultura/20260412_beton-hofi-valasztas-szavazas-kormanypart-bunozok-majka-bindzsisztan">
Beton.Hofi a Fideszről: „Náluk a sima, mezei bűnözőket is többre tartom”
</a>
</h3>
</article>
<article
class="article-card format__vertical common-card font-small is-premium rating-30 "
data-articleId="42b6a19e-c043-4d38-9c27-e07941ef0cab" configurable="hvg:article-card:d5ff8396-eb32-4612-96d6-044e662de39a" 
>
<div class="article-card__image-wrapper">
<a href="https://hvg.hu/360/20260411_sorsdonto-falvak-fidesz-valasztas" aria-hidden="true" tabindex="-1">
<img src="https://img.hvg.hu/Img/27315920-08f2-479a-bc05-0514a7db57d5/ba2a7213-3e5d-4d02-8678-729573fd158e.jpg" loading="lazy" alt=""
class="card-featured-img" />
</a>
</div>
<h3 class="article-card__title">
<a href="https://hvg.hu/360/20260411_sorsdonto-falvak-fidesz-valasztas">
Elmentünk rengeteg kistelepülésre az országban, és szinte mindenhol ugyanazt láttuk: párolog a korábbi biztos Fidesz-előny
</a>
</h3>
</article>
<article
class="article-card format__vertical common-card font-small rating-70 "
data-articleId="ff063c65-7366-4051-9548-6632d208fc97" configurable="hvg:article-card:a6a7a1fc-3a36-4187-a845-4ffbbdc55a66" 
>
<div class="article-card__image-wrapper">
<a href="https://hvg.hu/tudomany/20260412_viztisztitas-ivoviz-eloallitasa-napenergia" aria-hidden="true" tabindex="-1">
<img src="https://img.hvg.hu/Img/27315920-08f2-479a-bc05-0514a7db57d5/20ccb4db-1753-425b-9be5-79076fbd83a5.jpg" loading="lazy" alt=""
class="card-featured-img" />
</a>
</div>
<h3 class="article-card__title">
<a href="https://hvg.hu/tudomany/20260412_viztisztitas-ivoviz-eloallitasa-napenergia">
Megszínezik a vizet, és ami azután jön, az milliók életében hozhat változást
</a>
</h3>
</article>
<article
class="article-card format__vertical common-card font-small rating-70 "
data-articleId="e83f436a-9331-4326-a1a8-81c8832435cd" configurable="hvg:article-card:ed9740f3-95f9-4f50-8602-4b7f4dd6a3bb" 
>
<div class="article-card__image-wrapper">
<a href="https://hvg.hu/tudomany/20260412_app-store-appok-szama-vibe-coding" aria-hidden="true" tabindex="-1">
<img src="https://img.hvg.hu/Img/27315920-08f2-479a-bc05-0514a7db57d5/e9953aff-3981-496a-8721-64de75b8921d.jpg" loading="lazy" alt=""
class="card-featured-img" />
</a>
</div>
<h3 class="article-card__title">
<a href="https://hvg.hu/tudomany/20260412_app-store-appok-szama-vibe-coding">
Valami történt: óriásit ugrott az iPhone-os appok száma
</a>
</h3>
</article>
<article
class="article-card format__vertical common-card font-small is-premium rating-20 "
data-articleId="9066ef87-21eb-4a4e-a7b5-0139dd4f803a" configurable="hvg:article-card:693cfab1-28f6-44a3-8d14-b5eebd2f5678" 
>
<div class="article-card__image-wrapper">
<a href="https://hvg.hu/360/20260411_az-en-hetem-lackfi-janos" aria-hidden="true" tabindex="-1">
<img src="https://img.hvg.hu/Img/27315920-08f2-479a-bc05-0514a7db57d5/385760ef-f031-4069-8b7d-7a14f8e2298d.jpg" loading="lazy" alt=""
class="card-featured-img" />
</a>
</div>
<h3 class="article-card__title">
<a href="https://hvg.hu/360/20260411_az-en-hetem-lackfi-janos">
Lackfi János: Kilel a hideg
</a>
</h3>
</article>
<article
class="article-card format__vertical common-card font-small is-premium rating-40 "
data-articleId="fd02665f-0568-46e8-bd63-2959f4fdc872" configurable="hvg:article-card:6c6c5e75-557e-415c-aa75-193b1f1df6d2" 
>
<div class="article-card__image-wrapper">
<a href="https://hvg.hu/360/20260412_hvg-szlovak-autogyartas-vw-stellantis-kia-jaguar-volvo-eauto" aria-hidden="true" tabindex="-1">
<img src="https://img.hvg.hu/Img/27315920-08f2-479a-bc05-0514a7db57d5/31c4584e-cfb1-4865-81aa-e4cabd872401.jpg" loading="lazy" alt=""
class="card-featured-img" />
</a>
</div>
<h3 class="article-card__title">
<a href="https://hvg.hu/360/20260412_hvg-szlovak-autogyartas-vw-stellantis-kia-jaguar-volvo-eauto">
Betegeskedik a világbajnok szlovákiai autógyártás
</a>
</h3>
</article>
<article
class="article-card format__vertical common-card font-small rating-70 "
data-articleId="f000718c-11d5-43bc-bc0e-d89566bad7ec" configurable="hvg:article-card:58162cbd-3582-46cb-8529-2161335f7f58" 
>
<div class="article-card__image-wrapper">
<a href="https://hvg.hu/itthon/20260411_nemeth-szilard-fidesz-kampany-balogh-levente-szentkiralyi-asvanyviz-video" aria-hidden="true" tabindex="-1">
<img src="https://img.hvg.hu/Img/27315920-08f2-479a-bc05-0514a7db57d5/ae40bbe1-e5f3-4761-af17-2a3b4fae8a30.jpg" loading="lazy" alt=""
class="card-featured-img" />
</a>
</div>
<h3 class="article-card__title">
<a href="https://hvg.hu/itthon/20260411_nemeth-szilard-fidesz-kampany-balogh-levente-szentkiralyi-asvanyviz-video">
Videó: Németh Szilárd egy üveg Szentkirályi ásványvíz kiöntésével üzent Balogh Leventének
</a>
</h3>
</article>
</div>
</section>
<section class="card-section main-section" configurable="hvg:first-fold-6-6-manual:1921f365-25dd-41cd-87b4-0d1c9728218b">
<div class="card-section__header section-header">
<div class="card-section__header__left">
<h2 class="card-section__header__title">Pulzus</h2>
</div>
<div class="card-section__header__right">
</div>
</div>
<div class="row">
<div class="col-xs-12 col-md-6" data-orientation="vertical">
<article
class="article-card format__vertical common-card font-medium is-pulse rating-20 "
data-articleId="ce4fa705-3275-4fde-8509-89794827cdc4" configurable="hvg:article-card:ad316619-31d4-4719-a753-fd65aef8eea4" 
>
<div class="article-card__image-wrapper">
<a href="https://pulzus.hvg.hu/tarsadalom/20260412_hatalom-politikus-tarsadalom-bukas-magany-hierarchia" aria-hidden="true" tabindex="-1">
<img src="https://img.hvg.hu/Img/27315920-08f2-479a-bc05-0514a7db57d5/2d9db947-1f72-4381-94f1-c08a1a285c42.jpg" loading="lazy" alt=""
class="card-featured-img" />
</a>
</div>
<h3 class="article-card__title">
<a href="https://pulzus.hvg.hu/tarsadalom/20260412_hatalom-politikus-tarsadalom-bukas-magany-hierarchia">
Ahogyan hatalomra lehet jutni, úgy el is lehet azt veszíteni
</a>
</h3>
</article>
</div>
<div class="col-xs-12 col-md-6" data-orientation="vertical">

<article
class="article-card format__horizontal common-card font-large is-pulse rating-20 "
data-articleId="97921702-7b56-4bf7-910b-d09b2fc5d81a"
configurable="hvg:article-card:85eb4202-fdce-4730-a59c-aae7ff320d07" configurable="hvg:article-card:85eb4202-fdce-4730-a59c-aae7ff320d07" 
>
<div class="article-card__content">
<div class="article-card__image-wrapper">
<a href="https://pulzus.hvg.hu/egeszseg/20260411_kosz-jol-mit-sportoljak-tokeletes-edzesterv-nyomaban-feovenyessy-krisztina-mozgasterapeuta-galba-zsolt-edzo" aria-hidden="true" tabindex="-1">
<img src="https://img.hvg.hu/Img/27315920-08f2-479a-bc05-0514a7db57d5/c0d64229-545d-4232-8a91-b67e7d3b0aaa.jpg" loading="lazy" alt="" class="card-featured-img" />
</a>
</div>
<div class="article-card__right">
<h3 class="article-card__title">
<a href="https://pulzus.hvg.hu/egeszseg/20260411_kosz-jol-mit-sportoljak-tokeletes-edzesterv-nyomaban-feovenyessy-krisztina-mozgasterapeuta-galba-zsolt-edzo">
Kösz, jól: Jóga, futás vagy konditerem? – a tökéletes edzésterv nyomában
</a>
</h3>
</div>
</div>
</article>
<article
class="article-card format__vertical common-card font-medium is-pulse rating-70 "
data-articleId="b44ebcc2-c486-4c44-9e78-9a0c622dc73b" configurable="hvg:article-card:ab289134-2753-4787-9cf9-e743fe0c23a2" 
>
<header class="article-card__header">
<div class="tag article-column">
</div>
<div class="tag article-interest">
</div>
</header>
<h3 class="article-card__title">
<a href="https://pulzus.hvg.hu/egeszseg/20260412_multivitamin-longevity-oregedes-lassitas-etrendkiegeszito-trendek">
Valóban lassíthatja az öregedést a mindennapos multivitamin-szedés? Már van tudományos válasz
</a>
</h3>
</article>
<article
class="article-card format__vertical common-card font-medium is-pulse rating-60 "
data-articleId="22e87d68-58ec-49dc-a708-dc0ff47d6b59" configurable="hvg:article-card:3ba1743e-fb9d-4bd3-b800-e701f963631c" 
>
<header class="article-card__header">
<div class="tag article-column">
</div>
<div class="tag article-interest">
</div>
</header>
<h3 class="article-card__title">
<a href="https://pulzus.hvg.hu/egeszseg/20260411_parkinson-kor-pandemia-megelozheto-korai-jelek-leggyorsabban-terjedo-idegrendszeri-betegseg">
Ezek a Parkinson-kór figyelmeztető jelei – új kutatások adnak reményt a megelőzésben
</a>
</h3>
</article>
<article
class="article-card format__vertical common-card font-medium is-pulse rating-40 "
data-articleId="ffc71f91-953d-4f50-9719-d45689c0e7a6" configurable="hvg:article-card:fb018a0e-3880-4f3a-a4af-ca0994f74fbc" 
>
<header class="article-card__header">
<div class="tag article-column">
</div>
<div class="tag article-interest">
</div>
</header>
<h3 class="article-card__title">
<a href="https://pulzus.hvg.hu/egeszseg/20260410_fogyas-ozempic-testkep-onkep-boldogsag">
Élet az Ozempic után – a súlycsökkenés pszichológiai hatása, amiről senki nem beszél
</a>
</h3>
</article>
</div>
</div>
</section>
<section class="card-section main-section theme-dark" configurable="hvg:first-fold-7-5-manual:c6acea80-8507-47d5-805e-589f67976247">
<div class="card-section__header section-header">
<div class="card-section__header__left">
<h2 class="card-section__header__title">hvg360</h2>
</div>
<div class="card-section__header__right">
<a href="https://hvg.hu/360" class="card-section__header__right__link">
További hvg360-as cikkek
</a>
</div>
</div>
<div class="row">
<div class="col-xs-12 col-md-7" data-orientation="vertical">
<article
class="article-card format__vertical common-card font-large is-premium rating-50 "
data-articleId="2d513751-c2a5-4e5e-bddf-0040a93e8e08" configurable="hvg:article-card:f11e6401-0d0a-4e6f-8a8d-11c9d307a3ea" 
>
<div class="article-card__image-wrapper">
<a href="https://hvg.hu/360/20260411_a-tisza-lett-a-fidesz-a-fidesz-meg-az-msz-m-p" aria-hidden="true" tabindex="-1">
<img src="https://img.hvg.hu/Img/27315920-08f2-479a-bc05-0514a7db57d5/681d4448-e3fc-4192-883a-bbe9c492c425.jpg" loading="lazy" alt=""
class="card-featured-img" />
</a>
</div>
<h3 class="article-card__title">
<a href="https://hvg.hu/360/20260411_a-tisza-lett-a-fidesz-a-fidesz-meg-az-msz-m-p">
A Tisza lett a Fidesz, a Fidesz meg az MSZ(M)P
</a>
</h3>
</article>
<article
class="article-card format__vertical common-card font-large is-premium rating-50 "
data-articleId="7c064d5d-dc63-47f9-8792-18db8f99526a" configurable="hvg:article-card:3b331926-e480-400a-bd41-def526082321" 
>
<header class="article-card__header">
<div class="tag article-column">
</div>
<div class="tag article-interest">
</div>
</header>
<h3 class="article-card__title">
<a href="https://hvg.hu/360/20260411_fidesz-leleplezes-szabo-bence-gundalf-waberer-oncenzura-valasztas-foldes-andras">
Ezért lett utcai harcosból három hét alatt zombi a NER
</a>
</h3>
</article>
<article
class="article-card format__vertical common-card font-large is-premium rating-30 "
data-articleId="6352173b-93db-4a6f-8a01-8a9c23836e10" configurable="hvg:article-card:1b1e42ee-6303-4e40-a67e-106b80ce0d3d" 
>
<header class="article-card__header">
<div class="tag article-column">
</div>
<div class="tag article-interest">
</div>
</header>
<h3 class="article-card__title">
<a href="https://hvg.hu/360/20260410_hvg-kadari-ellenzek-mdf-szdsz-nepiurbanus-ellentet-rendszervaltas-kormanypartok-megszunese-fidesz">
A Fidesz maradt hírmondónak: így tűntek el sorra a süllyesztőben a rendszerváltás óta kormányzó pártok
</a>
</h3>
</article>
<article
class="article-card format__vertical common-card font-large is-premium rating-30 "
data-articleId="23e6740f-a311-4124-ae93-e865c7d5dc57" configurable="hvg:article-card:8eaa397d-0290-49c6-b443-0bba59d98d0a" 
>
<header class="article-card__header">
<div class="tag article-column">
</div>
<div class="tag article-interest">
</div>
</header>
<h3 class="article-card__title">
<a href="https://hvg.hu/360/20260411_koltsegvetes-kiigazitasi-kenyszer-kormanyalakitas-hvg">
A választási győzelemnek az elmúlt 30 évben mindig nagy ára volt, és ez most Magyar Péterre és Orbán Viktorra is áll
</a>
</h3>
</article>
<article
class="article-card format__vertical common-card font-large is-premium rating-40 "
data-articleId="c8c9e1a1-b579-4a34-bbc8-05607c795790" configurable="hvg:article-card:d6cd9a09-7655-4741-9379-01b73f6027d9" 
>
<header class="article-card__header">
<div class="tag article-column">
</div>
<div class="tag article-interest">
</div>
</header>
<h3 class="article-card__title">
<a href="https://hvg.hu/360/20260410_arva-haz-tenytar-parlament-orszaggyules-rendeleti-kormanyzas-hvg">
Az Árva Ház búcsúja: hogyan üresítette ki a parlamentet a Fidesz–KDNP-többség?
</a>
</h3>
</article>
</div>
<div class="col-xs-12 col-md-5" data-orientation="vertical">
<article
class="article-card format__vertical common-card font-medium is-premium rating-30 "
data-articleId="e609649e-08f2-4054-a772-5f9b0728d9ee" configurable="hvg:article-card:0e70690c-a1fa-452a-bc42-d84c51b2b18b" 
>
<div class="article-card__image-wrapper">
<a href="https://hvg.hu/360/20260411_katonak-rendorok-kitalalas-szabo-bence-palinkas-szilveszter-pszichologia" aria-hidden="true" tabindex="-1">
<img src="https://img.hvg.hu/Img/27315920-08f2-479a-bc05-0514a7db57d5/f14a0e40-d78c-4d4d-9a7a-30758a1cf8d1.jpg" loading="lazy" alt=""
class="card-featured-img" />
</a>
</div>
<h3 class="article-card__title">
<a href="https://hvg.hu/360/20260411_katonak-rendorok-kitalalas-szabo-bence-palinkas-szilveszter-pszichologia">
Csak úgy esnek ki a csontvázak a szekrényből. De kik ők, akik nem bírják tovább, és kinyitják a szekrényajtót?
</a>
</h3>
</article>
<article
class="article-card format__vertical common-card font-large is-premium rating-30 "
data-articleId="67104956-85d3-4aa6-b462-7649c6861f19" configurable="hvg:article-card:3067d352-e591-456e-8209-f3e1513e816f" 
>
<header class="article-card__header">
<div class="tag article-column">
</div>
<div class="tag article-interest">
</div>
</header>
<h3 class="article-card__title">
<a href="https://hvg.hu/360/20260409_szabo-bence-nni-interju-portre-hvg">
Szabó Bence: A nagy számat apámtól örököltem, és azt is, fontosabb a karriernél, hogy reggel tükörbe tudjak nézni
</a>
</h3>
</article>
<article
class="article-card format__vertical common-card font-large is-premium rating-50 "
data-articleId="1c2b9771-8907-4ffe-bc25-a48cb9bd3465" configurable="hvg:article-card:20a504bf-3b81-43d0-860b-1c18c0154f28" 
>
<header class="article-card__header">
<div class="tag article-column">
</div>
<div class="tag article-interest">
<a href="https://hvg.hu/cimke/velemeny">vélemény</a>
</div>
</header>
<h3 class="article-card__title">
<a href="https://hvg.hu/360/20260410_mesek-haborurol-es-egerekrol-paraszka-boroka-hvg">
Parászka Boróka: Mesék háborúról és egerekről
</a>
</h3>
</article>
<article
class="article-card format__vertical common-card font-large is-premium rating-50 "
data-articleId="048efa8e-761f-4040-a48d-d0cbb8e83b0a" configurable="hvg:article-card:16a52f3d-69a7-4c76-9b26-6c58c970194a" 
>
<header class="article-card__header">
<div class="tag article-column">
</div>
<div class="tag article-interest">
</div>
</header>
<h3 class="article-card__title">
<a href="https://hvg.hu/360/20260411_rendszerbonto-nagykoncert-hosok-tere-ecku-gulyas-gergely-keresett-a-rem-milyen-rem-a-herem">
Ha Eckü heréjére csavarodik rá a hatalom, akkor még mindig nem érti, mi történik
</a>
</h3>
</article>
<article
class="article-card format__vertical common-card font-large is-premium rating-50 "
data-articleId="ca95d580-14b9-4570-96e0-a67523d6934a" configurable="hvg:article-card:a6cd341a-a624-4596-ba6e-a94c2d5c1483" 
>
<header class="article-card__header">
<div class="tag article-column">
</div>
<div class="tag article-interest">
</div>
</header>
<h3 class="article-card__title">
<a href="https://hvg.hu/360/20260409_hvg-fulszoveg-gergely-marton-varj-mig-felkel-majd-nep-valasztas">
Gergely Márton: Várj, míg felkel majd a nép
</a>
</h3>
</article>
</div>
<div class="grid-row grid-col-xs-12 grid-col-sm-6 grid-col-lg-3"
data-orientation="horizontal">
<article
class="article-card format__vertical common-card font-large is-premium rating-30 "
data-articleId="1c8e45e9-98f5-4f39-8f18-47b58ba48086" configurable="hvg:article-card:d8e8fcb1-9d84-47a3-ac87-33107618fb01" 
>
<div class="article-card__image-wrapper">
<a href="https://hvg.hu/360/20260411_hvg-trump-nato-kilepes-europa-iran-haboru" aria-hidden="true" tabindex="-1">
<img src="https://img.hvg.hu/Img/27315920-08f2-479a-bc05-0514a7db57d5/0021852a-27c3-46db-b6b5-119114df5a5c.jpg" loading="lazy" alt=""
class="card-featured-img" />
</a>
</div>
<h3 class="article-card__title">
<a href="https://hvg.hu/360/20260411_hvg-trump-nato-kilepes-europa-iran-haboru">
Európa igazi békemissziója a NATO megvédése a dühöngő Trumptól
</a>
</h3>
</article>
<article
class="article-card format__vertical common-card font-large is-premium rating-30 "
data-articleId="38d44535-b675-43f8-8a4e-7ef407680763" configurable="hvg:article-card:b0f73a6a-5c15-49ca-8d7e-6fc725b007be" 
>
<div class="article-card__image-wrapper">
<a href="https://hvg.hu/360/20260411_gaspar-tibor-interju-kossuth-dij-miskolci-nemzeti-szinhaz-blokad-goncz-arpad" aria-hidden="true" tabindex="-1">
<img src="https://img.hvg.hu/Img/27315920-08f2-479a-bc05-0514a7db57d5/20ee7b9a-770b-403c-9e1b-53e9bc77c1c8.jpg" loading="lazy" alt=""
class="card-featured-img" />
</a>
</div>
<h3 class="article-card__title">
<a href="https://hvg.hu/360/20260411_gaspar-tibor-interju-kossuth-dij-miskolci-nemzeti-szinhaz-blokad-goncz-arpad">
„Nekem teljesen mindegy, éppen ki adja a Kossuth-díjat” – interjú Gáspár Tiborral
</a>
</h3>
</article>
<article
class="article-card format__vertical common-card font-large is-premium rating-50 "
data-articleId="de0c110d-e6a7-4d2a-87db-21edbada75c3" configurable="hvg:article-card:0627fde8-d66c-4718-bba3-7be263a9e11d" 
>
<div class="article-card__image-wrapper">
<a href="https://hvg.hu/360/20260410_balog-zoltan-reformatus-egyhaz-politika" aria-hidden="true" tabindex="-1">
<img src="https://img.hvg.hu/Img/27315920-08f2-479a-bc05-0514a7db57d5/e8227beb-16e4-4426-a79f-2150bf7d9517.jpg" loading="lazy" alt=""
class="card-featured-img" />
</a>
</div>
<h3 class="article-card__title">
<a href="https://hvg.hu/360/20260410_balog-zoltan-reformatus-egyhaz-politika">
Balog Zoltán politikai súlya összenyomta a református egyházat
</a>
</h3>
</article>
<article
class="article-card format__vertical common-card font-medium is-premium rating-30 "
data-articleId="def379c4-bb00-4787-9b30-87eb2a1b0bab" configurable="hvg:article-card:80b6a1f6-a8f4-4b71-ae54-c7d676c2389b" 
>
<div class="article-card__image-wrapper">
<a href="https://hvg.hu/360/20260412_hvg-boeing-airbus-embraer-repulogepgyartas-trump" aria-hidden="true" tabindex="-1">
<img src="https://img.hvg.hu/Img/27315920-08f2-479a-bc05-0514a7db57d5/d77e7919-c1fe-421d-8982-6b4679f64841.jpg" loading="lazy" alt=""
class="card-featured-img" />
</a>
</div>
<h3 class="article-card__title">
<a href="https://hvg.hu/360/20260412_hvg-boeing-airbus-embraer-repulogepgyartas-trump">
Nem lehetetlen küldetés, hogy a Boeing utolérje az Airbust, de a két repülőgyártó óriásnak új vetélytársa támadt
</a>
</h3>
</article>
</div>
</div>
</section>
<section
class="card-section main-section theme-light"
configurable="hvg:card-section-manual:d0c21b74-db96-42ad-8349-1aac8418e698"
>
<div class="card-section__header section-header">
<div class="card-section__header__left">
<img src="https://img.hvg.hu/Img/00000000-0000-0000-0000-000000000000/00f326d8-db97-4967-990b-f03ae0ea7e1f.jpg" class="card-section__header__img" loading="lazy" alt="">
<h2 class="card-section__header__title">Útmutató cégvezetőknek</h2>
</div>
<div class="card-section__header__right">
<a role="button" href="https://hvg.hu/utmutato-cegvezetoknek"
class="btn card-section__header__right__button btn-hover-20"
style="--button-color:#eaeaea;--text-color:#111111;">
További cikkek
</a>
</div>
</div>
<div class="grid-row grid-col-xs-12 grid-col-sm-6 grid-col-md-4 grid-col-lg-3" data-orientation="horizontal">
<article
class="article-card format__vertical common-card font-small rating-80 "
data-articleId="39cf851e-1395-446b-9025-cee2e1abcc7b" configurable="hvg:article-card:2958f882-3075-4b59-a8c5-71271209089e" 
>
<header class="article-card__header">
<div class="tag article-column">
</div>
<div class="tag article-interest">
</div>
</header>
<h3 class="article-card__title">
<a href="https://hvg.hu/360/20260408_megszunt-a-konyvvizsgalati-kotelezettseg-felmondhato-a-konyvvizsgalo-megbizasa">
Megszűnt a könyvvizsgálati kötelezettség: felmondható a könyvvizsgáló megbízása? 
</a>
</h3>
<p class="article-card__lead">A megváltozott értékhatárok miatt a társaság már nem kötelezett könyvvizsgálatra. Mia teendő?</p>
</article>
<article
class="article-card format__vertical common-card font-small rating-80 "
data-articleId="88d383f7-ca3f-4b1e-94a8-ddc61a767352" configurable="hvg:article-card:9e4ed323-7d13-471a-a778-72ccd5fe90ca" 
>
<header class="article-card__header">
<div class="tag article-column">
</div>
<div class="tag article-interest">
</div>
</header>
<h3 class="article-card__title">
<a href="https://hvg.hu/360/20260408_a-szabadsag-kiadasa-es-nyilvantartasa-folyamatos-munkarend-eseten">
A szabadság kiadása és nyilvántartása folyamatos munkarend esetén
</a>
</h3>
<p class="article-card__lead">A szabadságot hogyan lehet kiadni és nyilvántartani?</p>
</article>
<article
class="article-card format__vertical common-card font-small rating-80 "
data-articleId="8fa3fd1a-beea-4141-a3be-c69653f31a36" configurable="hvg:article-card:72053db6-bf81-4193-9dd4-07cf35498091" 
>
<header class="article-card__header">
<div class="tag article-column">
</div>
<div class="tag article-interest">
</div>
</header>
<h3 class="article-card__title">
<a href="https://hvg.hu/360/20260325_a-gyors-konfliktuskezeles-mint-versenykepessegi-tenyezo">
A gyors konfliktuskezelés mint versenyképességi tényező
</a>
</h3>
<p class="article-card__lead">A gazdasági mediáció a konfliktuskezelés új dimenziója az üzleti világban.</p>
</article>
<article
class="article-card format__vertical common-card font-small rating-80 "
data-articleId="7c3d7c5e-e4e2-4bff-acec-c7f826350fba" configurable="hvg:article-card:98d10c68-6d27-4d34-a952-a84e325aa9fd" 
>
<header class="article-card__header">
<div class="tag article-column">
</div>
<div class="tag article-interest">
</div>
</header>
<h3 class="article-card__title">
<a href="https://hvg.hu/360/20260311_atlathato-berezes-rohamosan-kozeleg-a-hatarido-ideje-elkezdeni-a-besorolas-kialakitasat">
Átlátható bérezés – rohamosan közeleg a határidő
</a>
</h3>
<p class="article-card__lead">A Bértranszparencia Irányelv minden munkáltatót érint, függetlenül a méretétől, illetve az üzletágtól. Ajánlott elkezdeni a besorolás kialakítását.</p>
</article>
</div>
</section>
<section
class="card-section main-section"
configurable="hvg:card-section-auto:6fd0b86e-5850-4ec7-a9c3-8a02269cb9fe"
>
<div class="card-section__header section-header">
<div class="card-section__header__left">
<h2 class="card-section__header__title">Prémium hírlevelek</h2>
</div>
<div class="card-section__header__right">
<a href="https://hvg.hu/premium-hirlevelek" class="card-section__header__right__link">
További Prémium hírlevelek cikkek
</a>
</div>
</div>
<div class="grid-row grid-col-xs-12 grid-col-sm-6 grid-col-md-4 grid-col-lg-3" data-orientation="horizontal">
<article
class="article-card format__vertical common-card font-small rating-80 "
data-articleId="d32618a5-beac-46c5-b17d-bce249f5193b" configurable="hvg:article-card:" 
>
<div class="article-card__image-wrapper">
<a href="https://hvg.hu/360/20260410_premium-hirlevelek-kilato-hidrogenbombak-szuperbakterium-manoszfera-brit-kocsma" aria-hidden="true" tabindex="-1">
<img src="https://img.hvg.hu/Img/27315920-08f2-479a-bc05-0514a7db57d5/1b0b2b5a-9265-4935-929d-26b3db32fa3e.jpg" loading="lazy" alt=""
class="card-featured-img" />
</a>
</div>
<h3 class="article-card__title">
<a href="https://hvg.hu/360/20260410_premium-hirlevelek-kilato-hidrogenbombak-szuperbakterium-manoszfera-brit-kocsma">
Hidrogénbombák a Közel-Keleten, legyőzhető szuperbaktériumok, szélsőséges manoszféra és brit kocsmai illemszabályok
</a>
</h3>
<div class="article-card__footer">
<div class="authors">
<div class="authors-dropdown dropdown">
<div class="authors-dropdown__summary">
<div class="author main-author btn-hover">
<a href="https://hvg.hu/szerzok/nemeth-andras" class="author-link">
<img src="https://img.hvg.hu/Img/54bc8a0e-b0dc-4420-8864-2b54f4f60ed5/47d38d61-ae65-474f-b7d6-ecc890462cee.jpg" alt="" class="author__avatar" loading="lazy" />
<span class="author__name">Németh András</span>
</a>
</div>
</div>
</div>
</div>
</div>
</article>
<article
class="article-card format__vertical common-card font-small rating-80 "
data-articleId="a5b84e88-f89e-4832-8dce-2c3260bea855" configurable="hvg:article-card:" 
>
<div class="article-card__image-wrapper">
<a href="https://hvg.hu/360/20260409_premium-hirlevelek-kokett-politika-almok" aria-hidden="true" tabindex="-1">
<img src="https://img.hvg.hu/Img/27315920-08f2-479a-bc05-0514a7db57d5/1a6f34cb-c4e5-41c7-adf9-bfe58b10d0fd.jpg" loading="lazy" alt=""
class="card-featured-img" />
</a>
</div>
<h3 class="article-card__title">
<a href="https://hvg.hu/360/20260409_premium-hirlevelek-kokett-politika-almok">
Vita Deutsch Tamással, ulti Orbán Viktorral, csók Magyar Péterrel – egyre többen álmodnak politikáról
</a>
</h3>
<div class="article-card__footer">
<div class="authors">
<div class="authors-dropdown dropdown">
<div class="authors-dropdown__summary">
<div class="author main-author btn-hover">
<a href="https://hvg.hu/szerzok/martini-noemi" class="author-link">
<img src="https://img.hvg.hu/Img/54bc8a0e-b0dc-4420-8864-2b54f4f60ed5/7192d067-4a2e-4fa0-948c-e1113f25a9fd.jpg" alt="" class="author__avatar" loading="lazy" />
<span class="author__name">Martini Noémi</span>
</a>
</div>
</div>
</div>
</div>
</div>
</article>
<article
class="article-card format__vertical common-card font-small rating-80 "
data-articleId="7e992ee3-8532-47a1-8793-d654d396b59d" configurable="hvg:article-card:" 
>
<div class="article-card__image-wrapper">
<a href="https://hvg.hu/360/20260408_premium-hirlevelek-hold-kapitalizmus-balasyval-demokracia-utopia" aria-hidden="true" tabindex="-1">
<img src="https://img.hvg.hu/Img/27315920-08f2-479a-bc05-0514a7db57d5/faf88906-2d88-40e2-acd0-cc2ca19d0ab4.jpg" loading="lazy" alt=""
class="card-featured-img" />
</a>
</div>
<h3 class="article-card__title">
<a href="https://hvg.hu/360/20260408_premium-hirlevelek-hold-kapitalizmus-balasyval-demokracia-utopia">
Van még értelme annak a típusú demokráciának, amit eddig ismertünk?
</a>
</h3>
<div class="article-card__footer">
<div class="authors">
<div class="authors-dropdown dropdown">
<div class="authors-dropdown__summary">
<div class="author main-author btn-hover">
<a href="https://hvg.hu/szerzok/balasy-zsolt" class="author-link">
<img src="https://img.hvg.hu/Img/54bc8a0e-b0dc-4420-8864-2b54f4f60ed5/81f9f98e-6bed-444d-9d42-57385d5685aa.jpg" alt="" class="author__avatar" loading="lazy" />
<span class="author__name">Balásy Zsolt – HOLD</span>
</a>
</div>
</div>
</div>
</div>
</div>
</article>
<article
class="article-card format__vertical common-card font-small rating-80 "
data-articleId="629d5cfb-207b-4191-8430-42dd01e210f5" configurable="hvg:article-card:" 
>
<div class="article-card__image-wrapper">
<a href="https://hvg.hu/360/20260407_premium-hirlevelek-van-hozza-kozlony-valasztasi-csalasok-jogvedelem" aria-hidden="true" tabindex="-1">
<img src="https://img.hvg.hu/Img/27315920-08f2-479a-bc05-0514a7db57d5/c5d3a302-a640-4e69-9f7f-8388c2bad01c.jpg" loading="lazy" alt=""
class="card-featured-img" />
</a>
</div>
<h3 class="article-card__title">
<a href="https://hvg.hu/360/20260407_premium-hirlevelek-van-hozza-kozlony-valasztasi-csalasok-jogvedelem">
A választók ébersége kulcsfontosságú lehet az április 12-i választás tisztaságához
</a>
</h3>
<div class="article-card__footer">
<div class="authors">
<div class="authors-dropdown dropdown">
<div class="authors-dropdown__summary">
<div class="author main-author btn-hover">
<a href="https://hvg.hu/szerzok/mudra-marton-istvan" class="author-link">
<img src="https://img.hvg.hu/Img/54bc8a0e-b0dc-4420-8864-2b54f4f60ed5/2990b027-3553-4263-b776-f4cd5f969ef8.jpg" alt="" class="author__avatar" loading="lazy" />
<span class="author__name">Mudra Márton István</span>
</a>
</div>
</div>
</div>
</div>
</div>
</article>
</div>
</section>
<section
class="card-section main-section theme-dark"
configurable="hvg:card-section-manual:98afcf4b-3720-4ea0-a24e-f1f9f61a08d1"
>
<div class="card-section__header section-header">
<div class="card-section__header__left">
<h2 class="card-section__header__title">Interjú a listavezetőkkel</h2>
</div>
<div class="card-section__header__right">
</div>
</div>
<div class="grid-row grid-col-xs-12 grid-col-sm-6 grid-col-md-4 grid-col-lg-3" data-orientation="horizontal">

<article
class="article-card format__instalike init-color-thief common-card font-small is-premium "
data-color-thief-options='{"image": "img.article-card__image-wrapper__img"}'
configurable="hvg:article-card:51b8fc34-3945-4ca3-90d7-4e80ae1ec6b5"
data-articleId="5506af56-48cc-4ec6-b330-da4325b163a3"
aria-label="Magyar P&#233;ter: Akik m&#233;g nem &#233;ltek igazi demokr&#225;ci&#225;ban, azoknak &#243;ri&#225;si fell&#233;legz&#233;s lesz" configurable="hvg:article-card:51b8fc34-3945-4ca3-90d7-4e80ae1ec6b5" 
>
<div class="article-card__image-wrapper" aria-hidden="true">
<a href="https://hvg.hu/360/20260408_magyar-peter-valasztas-interju" tabindex="-1" aria-hidden="true">
<img
src="https://img.hvg.hu/Img/4d4639c9-6016-48d3-83d1-47eccc130a3b/4685cce3-33c9-443a-becf-903367061ee5.jpg"
loading="lazy"
class="article-card__image-wrapper__img card-featured-img"
crossorigin="anonymous"
alt=""
/>
</a>
</div>
<h3 class="article-card__title">
<a href="https://hvg.hu/360/20260408_magyar-peter-valasztas-interju">
Magyar Péter: Akik még nem éltek igazi demokráciában, azoknak óriási fellélegzés lesz
</a>
</h3>
</article>

<article
class="article-card format__instalike init-color-thief common-card font-small is-premium "
data-color-thief-options='{"image": "img.article-card__image-wrapper__img"}'
configurable="hvg:article-card:a3d1e63b-6ddd-446a-b6cd-731227a98421"
data-articleId="e1ed3983-ea9b-4a0d-a497-a538349982ef"
aria-label="Toroczkai L&#225;szl&#243;: Pokoll&#225; tenn&#233;m Orb&#225;n Viktor &#233;s Magyar P&#233;ter napjait" configurable="hvg:article-card:a3d1e63b-6ddd-446a-b6cd-731227a98421" 
>
<div class="article-card__image-wrapper" aria-hidden="true">
<a href="https://hvg.hu/360/20260402_toroczkai-laszlo-interju-mi-hazank-listavezeto-vaeasztas-kampany-program" tabindex="-1" aria-hidden="true">
<img
src="https://img.hvg.hu/Img/4d4639c9-6016-48d3-83d1-47eccc130a3b/01835361-f488-451e-aa80-faf03f4d38dd.jpg"
loading="lazy"
class="article-card__image-wrapper__img card-featured-img"
crossorigin="anonymous"
alt=""
/>
</a>
</div>
<h3 class="article-card__title">
<a href="https://hvg.hu/360/20260402_toroczkai-laszlo-interju-mi-hazank-listavezeto-vaeasztas-kampany-program">
Toroczkai László: Pokollá tenném Orbán Viktor és Magyar Péter napjait
</a>
</h3>
</article>

<article
class="article-card format__instalike init-color-thief common-card font-small is-premium "
data-color-thief-options='{"image": "img.article-card__image-wrapper__img"}'
configurable="hvg:article-card:343cf950-7651-44cb-8eff-ef0009205458"
data-articleId="84958b04-9ef3-4199-83ca-625eb51001fd"
aria-label="Dobrev Kl&#225;ra: Az igazi mel&#243; &#225;prilis 13-&#225;n kezd&#337;dik, nekem nincs B tervem" configurable="hvg:article-card:343cf950-7651-44cb-8eff-ef0009205458" 
>
<div class="article-card__image-wrapper" aria-hidden="true">
<a href="https://hvg.hu/360/20260401_dobrev-klara-interju-demokratikus-koalicio" tabindex="-1" aria-hidden="true">
<img
src="https://img.hvg.hu/Img/4d4639c9-6016-48d3-83d1-47eccc130a3b/5d5b31b4-f830-45b3-941a-787435fb61d0.jpg"
loading="lazy"
class="article-card__image-wrapper__img card-featured-img"
crossorigin="anonymous"
alt=""
/>
</a>
</div>
<h3 class="article-card__title">
<a href="https://hvg.hu/360/20260401_dobrev-klara-interju-demokratikus-koalicio">
Dobrev Klára: Az igazi meló április 13-án kezdődik, nekem nincs B tervem
</a>
</h3>
</article>

<article
class="article-card format__instalike init-color-thief common-card font-small is-premium "
data-color-thief-options='{"image": "img.article-card__image-wrapper__img"}'
configurable="hvg:article-card:4fd3f7b0-c309-4e88-a727-9d2ee82270f5"
data-articleId="4bbd3373-ede0-4713-a907-6a649e598e5f"
aria-label="Nagy D&#225;vid: Tudom, hogy az &#233;n fejem lesz a dar&#225;l&#243;ba t&#233;ve" configurable="hvg:article-card:4fd3f7b0-c309-4e88-a727-9d2ee82270f5" 
>
<div class="article-card__image-wrapper" aria-hidden="true">
<a href="https://hvg.hu/360/20260403_nagy-david-kutyapart-listavezeto-valasztas-kampany" tabindex="-1" aria-hidden="true">
<img
src="https://img.hvg.hu/Img/4d4639c9-6016-48d3-83d1-47eccc130a3b/52d44989-7c1f-45d5-a741-de875a97bf28.jpg"
loading="lazy"
class="article-card__image-wrapper__img card-featured-img"
crossorigin="anonymous"
alt=""
/>
</a>
</div>
<h3 class="article-card__title">
<a href="https://hvg.hu/360/20260403_nagy-david-kutyapart-listavezeto-valasztas-kampany">
Nagy Dávid: Tudom, hogy az én fejem lesz a darálóba téve
</a>
</h3>
</article>
</div>
</section>
<section class="card-section main-section" configurable="hvg:first-fold-5-3-4-manual:3a756cd0-a92a-4fc6-8edf-33ed3dea2fa6">
<div class="card-section__header section-header">
<div class="card-section__header__left">
<h2 class="card-section__header__title">Olvasta már?</h2>
</div>
<div class="card-section__header__right">
</div>
</div>
<div class="row">
<div class="col-xs-12 col-sm-6 col-lg-5" data-orientation="vertical">
<article
class="article-card format__vertical common-card font-medium rating-30 "
data-articleId="163b2c5d-c7f6-488b-91df-5171b5def8bf" configurable="hvg:article-card:9bde9a1e-5fa3-40ee-b8bf-f2652e91e438" 
>
<div class="article-card__image-wrapper">
<a href="https://hvg.hu/gazdasag/20260411_es-akkor-valasztas-gaz-haboru-inflacio-arak-mol-iran" aria-hidden="true" tabindex="-1">
<img src="https://img.hvg.hu/Img/27315920-08f2-479a-bc05-0514a7db57d5/7665d608-f3da-48db-ac97-8c74230daf54.jpg" loading="lazy" alt=""
class="card-featured-img" />
</a>
</div>
<h3 class="article-card__title">
<a href="https://hvg.hu/gazdasag/20260411_es-akkor-valasztas-gaz-haboru-inflacio-arak-mol-iran">
És akkor meglátjuk, a Fidesz ki tud-e vetni árstopot a Tiszára
</a>
</h3>
</article>
</div>
<div class="col-xs-12 col-sm-6 col-lg-3" data-orientation="vertical">
<article
class="article-card format__vertical common-card font-small rating-40 "
data-articleId="5818e549-e76f-47a4-bc97-e3912925ff67" configurable="hvg:article-card:5f3af28e-c647-40c0-8534-17273ca08828" 
>
<div class="article-card__image-wrapper">
<a href="https://hvg.hu/itthon/20260411_tisza-debrecen-kampanyzaro-magyar-peter-riport" aria-hidden="true" tabindex="-1">
<img src="https://img.hvg.hu/Img/27315920-08f2-479a-bc05-0514a7db57d5/63132d37-fdfd-4cb0-bcfc-090492a5f60d.jpg" loading="lazy" alt=""
class="card-featured-img" />
</a>
</div>
<h3 class="article-card__title">
<a href="https://hvg.hu/itthon/20260411_tisza-debrecen-kampanyzaro-magyar-peter-riport">
„Nálunk csak a nagymamám hiszi el, hogy háború lesz” – a Tisza debreceni kampányzáróján jártunk 
</a>
</h3>
</article>
<article
class="article-card format__vertical common-card font-small rating-30 "
data-articleId="9dd82535-3497-44aa-82e9-ef9b7fb3f58c" configurable="hvg:article-card:2359d1d8-0358-44c5-a37d-a3aaa134aac9" 
>
<h3 class="article-card__title">
<a href="https://hvg.hu/itthon/20260410_ner-kviz-teszt">
Azt hiszi, 16 év alatt alaposan kiismerte a NER-t? Ebből a kvízből kiderül
</a>
</h3>
</article>
</div>
<div class="col-xs-12 col-lg-4 tablet-horizontal" data-orientation="vertical">
<article
class="article-card format__vertical common-card font-medium rating-20 "
data-articleId="a57f4148-809a-472b-863c-88a9887a2cce" configurable="hvg:article-card:382d0a06-1f47-49e9-a433-4932f92a1105" 
>
<div class="article-card__image-wrapper">
<a href="https://hvg.hu/kultura/20260411_ner-vers-kolteszet-napja-fidesz-idezetek-orban" aria-hidden="true" tabindex="-1">
<img src="https://img.hvg.hu/Img/27315920-08f2-479a-bc05-0514a7db57d5/22169e7f-0cc4-4fee-8a33-901854ffa2a9.jpg" loading="lazy" alt=""
class="card-featured-img" />
</a>
</div>
<h3 class="article-card__title">
<a href="https://hvg.hu/kultura/20260411_ner-vers-kolteszet-napja-fidesz-idezetek-orban">
NERVERS
</a>
</h3>
</article>

<article
class="article-card format__attached font-small 
" data-articleId="d150cf7e-dd45-491b-aeb9-b3c320441611"
configurable="hvg:article-card:20c1f8c3-cab8-4ccc-8f08-dc955c5bcffa" configurable="hvg:article-card:20c1f8c3-cab8-4ccc-8f08-dc955c5bcffa" 
>
<h3 class="article-card__title">
<a href="https://hvg.hu/kultura/20260411_rendszerbonto-nagykoncert-hosok-tere-vitaris-ivan-ivan-and-the-parazol-pajor-tamas-sisi-mehringer-marci-prieger-zsolt-anima-sound-system">
Ha apámék tudtak rendszert váltani, akkor mi is tudunk – ezért léptek fel a Rendszerbontó Nagykoncert előadói
</a>
</h3>
</article>
</div>
</div>
</section>
<section class="card-section main-section" configurable="hvg:first-fold-5-4-3-auto:a495734e-2b00-42b9-826c-1be709eee0ed">
<div class="card-section__header section-header">
<div class="card-section__header__left">
<h2 class="card-section__header__title">Tech-tudomány</h2>
</div>
<div class="card-section__header__right">
<a href="https://hvg.hu/tudomany" class="card-section__header__right__link">
Tovább a rovatra
</a>
</div>
</div>
<div class="row">
<div class="col-xs-12 col-sm-6 col-lg-5" data-orientation="vertical">

<article
class="article-card format__horizontal common-card font-medium rating-40 "
data-articleId="c63ba989-b248-418c-a4c2-7dc7f541d7bd"
configurable="hvg:article-card:" configurable="hvg:article-card:" 
>
<header class="article-card__header">
<div class="tag article-column">
</div>
<div class="tag article-interest">
</div>
<time
class="timestamp "
datetime="2026-04-12T16:36:21.0000000Z"
data-timeago-value="2026-04-12T16:36:21.0000000Z"
data-local-datetime-key="2026-04-12T16:36:21.0000000Z"
data-local-datetime-format="yyyy. mmmm dd. HH:mm"
data-local-target-format="yyyy. mmmm dd. HH:mm"
data-local-datetime-target="datetime"
>
&nbsp;
</time>
</header>
<div class="article-card__content">
<div class="article-card__right">
<h3 class="article-card__title">
<a href="https://hvg.hu/tudomany/20260412_elo-valasztasi-kozvetites-video-tv-online">
Minden élőben: ezt a weboldalt nyissa meg, ha egyszerre több választási közvetítést is követni akar
</a>
</h3>
<p class="article-card__lead">A fontosabb választási műsorok mindegyike követhető párhuzamosan egy weboldalon. A csatornák közötti váltás nem is lehetne egyszerűbb.</p>
</div>
</div>
</article>

<article
class="article-card format__horizontal common-card font-medium is-premium rating-30 "
data-articleId="3a67f857-23fd-412e-a88d-4688c28b1638"
configurable="hvg:article-card:" configurable="hvg:article-card:" 
>
<header class="article-card__header">
<div class="tag article-column">
</div>
<div class="tag article-interest">
</div>
<time
class="timestamp "
datetime="2026-04-12T13:30:00.0000000Z"
data-timeago-value="2026-04-12T13:30:00.0000000Z"
data-local-datetime-key="2026-04-12T13:30:00.0000000Z"
data-local-datetime-format="yyyy. mmmm dd. HH:mm"
data-local-target-format="yyyy. mmmm dd. HH:mm"
data-local-datetime-target="datetime"
>
&nbsp;
</time>
</header>
<div class="article-card__content">
<div class="article-card__right">
<h3 class="article-card__title">
<a href="https://hvg.hu/360/20260412_hvg-laborhal-ossejt-muhal-eloallitasa-forgalmazas-piaci-lehetosegek-muhus">
A vadlazac után itt a még vadabb: műhallal tarolnák le a szupermarketeket
</a>
</h3>
<p class="article-card__lead">Az áttörés éve lehet 2026 a mesterségesen előállított halféleségek számára, amiket egyszerűbben és olcsóbban is lehet gyártani, mint más műhúsokat. Kérdés, beveszi-e a politikusok és a fogyasztók gyomra a bioreaktorban tenyésztett halszeleteket.</p>
</div>
</div>
</article>

<article
class="article-card format__horizontal common-card font-medium rating-70 "
data-articleId="58fd0871-4244-4b71-b623-6e7b22984b28"
configurable="hvg:article-card:" configurable="hvg:article-card:" 
>
<header class="article-card__header">
<div class="tag article-column">
</div>
<div class="tag article-interest">
</div>
<time
class="timestamp "
datetime="2026-04-12T10:00:00.0000000Z"
data-timeago-value="2026-04-12T10:00:00.0000000Z"
data-local-datetime-key="2026-04-12T10:00:00.0000000Z"
data-local-datetime-format="yyyy. mmmm dd. HH:mm"
data-local-target-format="yyyy. mmmm dd. HH:mm"
data-local-datetime-target="datetime"
>
&nbsp;
</time>
</header>
<div class="article-card__content">
<div class="article-card__right">
<h3 class="article-card__title">
<a href="https://hvg.hu/tudomany/20260412_fenyszennyezes-meta-adatkozpont-nasa-artemis-ii-hold-fotok-telefon-tukrozes-eszak-korea-kibertamadas">
Ez történt: Kiderült, hogy elég nagy a baj az éjszakákban
</a>
</h3>
<p class="article-card__lead">Összegyűjtöttük egy cikkbe a hét legérdekesebb, legolvasottabb technológiai és tudományos témáit.</p>
</div>
</div>
</article>
</div>
<div class="col-xs-12 col-sm-6 col-lg-4" data-orientation="vertical">

<article
class="article-card format__horizontal-overlay layer-bottom common-card font-small"
data-articleId="829ecadb-cffb-483d-9402-683e7d873cd5"
configurable="hvg:article-card:" configurable="hvg:article-card:" 
>
<div class="article-card__image-wrapper">
<a href="https://hvg.hu/tudomany/20260411_del-korea-tajekozodas-kakao-eletkor-k-varosok-k-pop-felvezetogyartas-ebx" aria-hidden="true" tabindex="-1">
<img src="https://img.hvg.hu/Img/27315920-08f2-479a-bc05-0514a7db57d5/8d38b01e-c837-488b-9b85-e63d2f17e9d3.jpg" loading="lazy" alt="" class="card-featured-img" />
</a>
</div>
<div class="article-card__layer">
<h3 class="article-card__title">
<a href="https://hvg.hu/tudomany/20260411_del-korea-tajekozodas-kakao-eletkor-k-varosok-k-pop-felvezetogyartas-ebx">
5 dolog, amit a legtöbben meg sem kérdeznek Dél-Koreáról, pedig a válaszok elég érdekesek
</a>
</h3>
</div>
</article>

<article
class="article-card format__horizontal-overlay layer-bottom common-card font-small"
data-articleId="65beebbb-1508-44fb-befb-79c46c443538"
configurable="hvg:article-card:" configurable="hvg:article-card:" 
>
<div class="article-card__image-wrapper">
<a href="https://hvg.hu/tudomany/20260411_a-tortenelmi-kuldetes-utan-visszatert-a-foldre-az-artemis-ii-legenysege" aria-hidden="true" tabindex="-1">
<img src="https://img.hvg.hu/Img/27315920-08f2-479a-bc05-0514a7db57d5/538e409c-9a6d-4479-9cb3-7eb41c4cd924.jpg" loading="lazy" alt="" class="card-featured-img" />
</a>
</div>
<div class="article-card__layer">
<h3 class="article-card__title">
<a href="https://hvg.hu/tudomany/20260411_a-tortenelmi-kuldetes-utan-visszatert-a-foldre-az-artemis-ii-legenysege">
A történelmi küldetés után visszatért a Földre az Artemis II legénysége
</a>
</h3>
</div>
</article>
</div>
<div class="col-xs-12 col-lg-3 tablet-horizontal" data-orientation="vertical">

<article
class="article-card format__horizontal common-card font-medium rating-70 "
data-articleId="62163ca2-cd05-4b3f-bf49-9ad0a146f9dd"
configurable="hvg:article-card:" configurable="hvg:article-card:" 
>
<header class="article-card__header">
<div class="tag article-column">
</div>
<div class="tag article-interest">
</div>
</header>
<div class="article-card__content">
<div class="article-card__right">
<h3 class="article-card__title">
<a href="https://hvg.hu/tudomany/20260411_microsoft-copilot-felhasznaloi-feltetelek">
A Microsoft maga nem bízik a Copilotban?
</a>
</h3>
</div>
</div>
</article>

<article
class="article-card format__horizontal common-card font-medium rating-70 "
data-articleId="8edc7760-ddbb-4a14-9f99-487254be4706"
configurable="hvg:article-card:" configurable="hvg:article-card:" 
>
<header class="article-card__header">
<div class="tag article-column">
</div>
<div class="tag article-interest">
</div>
</header>
<div class="article-card__content">
<div class="article-card__right">
<h3 class="article-card__title">
<a href="https://hvg.hu/tudomany/20260411_napelemes-fa-zoldenergia-okoszisztema-megorzese">
Lehet, hogy nem is olyan butaság a napelemes fa?
</a>
</h3>
</div>
</div>
</article>

<article
class="article-card format__horizontal common-card font-medium rating-70 "
data-articleId="a0d6ef0c-1538-41df-8518-4670a4ae1911"
configurable="hvg:article-card:" configurable="hvg:article-card:" 
>
<header class="article-card__header">
<div class="tag article-column">
</div>
<div class="tag article-interest">
</div>
</header>
<div class="article-card__content">
<div class="article-card__right">
<h3 class="article-card__title">
<a href="https://hvg.hu/tudomany/20260411_youtube-ai-hiba-nvidia-sajat-promocios-videojanak-letiltasa">
Nagyot bakizott a YouTube-on az AI: az Nvidia saját videóját tiltotta le
</a>
</h3>
</div>
</div>
</article>

<article
class="article-card format__horizontal common-card font-medium rating-70 "
data-articleId="ab8d0eba-600c-427e-a6fb-bb2366c8d908"
configurable="hvg:article-card:" configurable="hvg:article-card:" 
>
<header class="article-card__header">
<div class="tag article-column">
</div>
<div class="tag article-interest">
</div>
</header>
<div class="article-card__content">
<div class="article-card__right">
<h3 class="article-card__title">
<a href="https://hvg.hu/tudomany/20260410_autok-akkumulator-sav-muanyag-lebontasa-hidrogen-eloallitasa">
Akkumulátorokban lévő sav lehet a csodaanyag, ami leküzdheti a bolygó egyik legégetőbb problémáját
</a>
</h3>
</div>
</div>
</article>

<article
class="article-card format__horizontal common-card font-medium rating-70 "
data-articleId="5c3dfc09-30a4-49a1-8097-b6ea163434e5"
configurable="hvg:article-card:" configurable="hvg:article-card:" 
>
<header class="article-card__header">
<div class="tag article-column">
</div>
<div class="tag article-interest">
</div>
</header>
<div class="article-card__content">
<div class="article-card__right">
<h3 class="article-card__title">
<a href="https://hvg.hu/tudomany/20260410_ujrahasznositott-muanyag-uzemanyag-benzin-dizel">
200 Celsius-fokos közegbe rakták a műanyagot, benzinné és dízellé változott
</a>
</h3>
</div>
</div>
</article>
</div>
</div>
</section>
<section
class="card-section main-section"
configurable="hvg:card-section-auto:ecc82b1c-8110-4ea6-84f5-6ab3fb06d8ef"
>
<div class="card-section__header section-header">
<div class="card-section__header__left">
<img src="https://img.hvg.hu/Img/00000000-0000-0000-0000-000000000000/de9c73e5-b25e-470d-901c-713005d53f5f.jpg" class="card-section__header__img" loading="lazy" alt="">
</div>
<div class="card-section__header__right">
<a href="https://hvg.hu/cimke/BrandLab" class="card-section__header__right__link">
További cikkek
</a>
</div>
</div>
<div class="grid-row grid-col-xs-12 grid-col-sm-6 grid-col-md-4 grid-col-lg-3" data-orientation="horizontal">
<article
class="article-card format__vertical common-card font-medium rating-80 "
data-articleId="1301c348-e18d-45f9-84ae-79874041773c" configurable="hvg:article-card:" 
>
<div class="article-card__image-wrapper">
<a href="https://hvg.hu/brandchannel/20260412_proxelan-20221206-prosztatagyulladastol-a-meddosegig" aria-hidden="true" tabindex="-1">
<img src="https://img.hvg.hu/Img/27315920-08f2-479a-bc05-0514a7db57d5/ffa8b524-3d08-4c87-bda5-81083cb6f984.jpg" loading="lazy" alt=""
class="card-featured-img" />
</a>
</div>
<h3 class="article-card__title">
<a href="https://hvg.hu/brandchannel/20260412_proxelan-20221206-prosztatagyulladastol-a-meddosegig">
Prosztatagyulladástól a meddőségig
</a>
</h3>
<div class="article-card__footer">
<div class="authors">
<div class="authors-dropdown dropdown">
<div class="authors-dropdown__summary">
<div class="author main-author btn-hover">
<span class="author-link">
<img src="https://img.hvg.hu/Img/54bc8a0e-b0dc-4420-8864-2b54f4f60ed5/1eb74060-8cbb-4174-bd8f-515b5f3ae96b.jpg" alt="" class="author__avatar" loading="lazy" />
<span class="author__name">Proxelan</span>
</span>
</div>
</div>
</div>
</div>
</div>
</article>
<article
class="article-card format__vertical common-card font-medium rating-80 "
data-articleId="f7978469-4a2e-4459-97cd-0be17c47262d" configurable="hvg:article-card:" 
>
<div class="article-card__image-wrapper">
<a href="https://hvg.hu/brandchannel/20260412_ssi-schafer-kezi-raktarozas-automatizalt-raktarozas" aria-hidden="true" tabindex="-1">
<img src="https://img.hvg.hu/Img/27315920-08f2-479a-bc05-0514a7db57d5/d971e4f8-a49a-4ec7-bcdd-ce13dbd167cb.jpg" loading="lazy" alt=""
class="card-featured-img" />
</a>
</div>
<h3 class="article-card__title">
<a href="https://hvg.hu/brandchannel/20260412_ssi-schafer-kezi-raktarozas-automatizalt-raktarozas">
Innen is eltűnik az emberi munkaerő?
</a>
</h3>
<div class="article-card__footer">
<div class="authors">
<div class="authors-dropdown dropdown">
<div class="authors-dropdown__summary">
<div class="author main-author btn-hover">
<span class="author-link">
<img src="https://img.hvg.hu/Img/54bc8a0e-b0dc-4420-8864-2b54f4f60ed5/c7fac2e9-fae4-4e75-ae87-6d92b77c4da7.jpg" alt="" class="author__avatar" loading="lazy" />
<span class="author__name">SSI Schäfer</span>
</span>
</div>
</div>
</div>
</div>
</div>
</article>
<article
class="article-card format__vertical common-card font-medium rating-80 "
data-articleId="7b548872-6fc5-42f2-871c-7bd12d49bff1" configurable="hvg:article-card:" 
>
<div class="article-card__image-wrapper">
<a href="https://hvg.hu/brandcontent/20260412_befektetes-nehany-mozdulattal" aria-hidden="true" tabindex="-1">
<img src="https://img.hvg.hu/Img/27315920-08f2-479a-bc05-0514a7db57d5/769ed930-e0ea-4e1d-aac7-21b4bb27fd03.png" loading="lazy" alt=""
class="card-featured-img" />
</a>
</div>
<h3 class="article-card__title">
<a href="https://hvg.hu/brandcontent/20260412_befektetes-nehany-mozdulattal">
Befektetés néhány mozdulattal
</a>
</h3>
<div class="article-card__footer">
<div class="authors">
<div class="authors-dropdown dropdown">
<div class="authors-dropdown__summary">
<div class="author main-author btn-hover">
<span class="author-link">
<img src="https://img.hvg.hu/Img/54bc8a0e-b0dc-4420-8864-2b54f4f60ed5/e4c021ad-80d9-4fec-9c1e-982d32b539df.png" alt="" class="author__avatar" loading="lazy" />
<span class="author__name">Raiffeisen Bank </span>
</span>
</div>
</div>
</div>
</div>
</div>
</article>
<article
class="article-card format__vertical common-card font-medium rating-80 "
data-articleId="706a4651-e6ee-4c78-b83f-28ab49a3905a" configurable="hvg:article-card:" 
>
<div class="article-card__image-wrapper">
<a href="https://hvg.hu/brandchannel/20260412_eu-uj-csomagolasi-szabalyozas-gyartas-bosch-rexroth-fmcg-next" aria-hidden="true" tabindex="-1">
<img src="https://img.hvg.hu/Img/27315920-08f2-479a-bc05-0514a7db57d5/523decc9-327f-4cb6-bc0a-5a9e7b96658f.jpg" loading="lazy" alt=""
class="card-featured-img" />
</a>
</div>
<h3 class="article-card__title">
<a href="https://hvg.hu/brandchannel/20260412_eu-uj-csomagolasi-szabalyozas-gyartas-bosch-rexroth-fmcg-next">
Egy új EU-s szabályozás, amire érdemes mindenkinek felkészülnie
</a>
</h3>
<div class="article-card__footer">
<div class="authors">
<div class="authors-dropdown dropdown">
<div class="authors-dropdown__summary">
<div class="author main-author btn-hover">
<span class="author-link">
<img src="https://img.hvg.hu/Img/54bc8a0e-b0dc-4420-8864-2b54f4f60ed5/d5aa262d-9f98-4c3b-a64d-8e7d408cb399.png" alt="" class="author__avatar" loading="lazy" />
<span class="author__name">Bosch Rexroth </span>
</span>
</div>
</div>
</div>
</div>
</div>
</article>
</div>
</section>
<section class="main-section card-section showroom theme-dark"
configurable="hvg:podcast-showroom:f1d48038-1b40-4da5-bf2d-d5058c7e11a9">
<div class="card-section__header section-header">
<div class="card-section__header__left">
<h2 class="card-section__header__title">Podcastok</h2>
</div>
<div class="card-section__header__right">
<a href="https://hvg.hu//podcastok" class="card-section__header__right__link">
Tovább a Podcastokhoz
</a>
<div class="stepper showroom-stepper">
<button rel="prev" class="btn stepper__item stepper__control carousel-control previous"
aria-label="Previous"
><span class="hvg-icon hvg-icon-chevron-left"></span></button>
<button rel="next" class="btn stepper__item stepper__control carousel-control next"
aria-label="Next"
><span class="hvg-icon hvg-icon-chevron-right"></span></button>
</div>
</div>
</div>
<div class="showroom-carousel showroom-carousel-section">
<button
type="podcast-showroom"
class="showroom-carousel__control carousel-control prev"
rel="prev"
data-translations='{"aria-label": "carousel.prev"}'
>
<span class="hvg-icon hvg-icon-chevron-left icon-center "

aria-hidden="true" 
></span>
</button>
<div class="showroom-carousel__content showroom-carousel-section carousel">
<div class="showroom-carousel__content__item carousel-item">
<div
class="podcast-card media-card init-color-thief common-card "
data-color-thief-options='{"image": "img.podcast-card__image__img"}'
configurable="hvg:podcast-card:"
>
<div class="podcast-card__image">
<a href="https://hvg.hu/gazdasag/20260410_romakat-a-bankba-az-it-szektorba-es-a-targyaloasztalokhoz" aria-hidden="true" tabindex="-1">
<img src="https://img.hvg.hu/Img/b2f9973a-64c0-4d38-8989-ccce21345824/6cf8c6d9-f13b-46cb-bfae-272420119928.jpg" loading="lazy" alt=""
class="podcast-card__image__img card-featured-img"
crossorigin="anonymous">
</a>
</div>
<div class="podcast-card__content">
<h3 class="podcast-card__content__title my-2">
<a href="https://hvg.hu/gazdasag/20260410_romakat-a-bankba-az-it-szektorba-es-a-targyaloasztalokhoz" class="card-title">
Romákat a bankba, az IT szektorba és a tárgyalóasztalokhoz!
</a>
</h3>
<p class="podcast-card__content__subtitle m-0">társadalom</p>
</div>
<div class="podcast-card__footer">
<span class="hvg-icon hvg-icon-soundwaves podcast-card__footer__waves"


></span>
<a
href="https://hvg.hu/gazdasag/20260410_romakat-a-bankba-az-it-szektorba-es-a-targyaloasztalokhoz"
data-translations='{"aria-label": "general.openArticle"}'
>
<span class="hvg-icon hvg-icon-play-square-borderless icon-center podcast-card__footer__play btn-hover hover-lighten"

aria-hidden="true" 
></span>
</a>
</div>
</div>
</div>
<div class="showroom-carousel__content__item carousel-item">
<div
class="podcast-card media-card init-color-thief common-card "
data-color-thief-options='{"image": "img.podcast-card__image__img"}'
configurable="hvg:podcast-card:"
>
<div class="podcast-card__image">
<a href="https://hvg.hu/eurologus/20260405_euforia-javor-benedek-energia-ep2026" aria-hidden="true" tabindex="-1">
<img src="https://img.hvg.hu/Img/b2f9973a-64c0-4d38-8989-ccce21345824/1b0c57db-b1a2-43c6-81ae-b040219f9087.jpg" loading="lazy" alt=""
class="podcast-card__image__img card-featured-img"
crossorigin="anonymous">
</a>
</div>
<div class="podcast-card__content">
<h3 class="podcast-card__content__title my-2">
<a href="https://hvg.hu/eurologus/20260405_euforia-javor-benedek-energia-ep2026" class="card-title">
Az olcsó orosz gáz néha drágább, mint a többi – Jávor Benedek az EUfóriában
</a>
</h3>
<p class="podcast-card__content__subtitle m-0">Európai Unió</p>
</div>
<div class="podcast-card__footer">
<span class="hvg-icon hvg-icon-soundwaves podcast-card__footer__waves"


></span>
<a
href="https://hvg.hu/eurologus/20260405_euforia-javor-benedek-energia-ep2026"
data-translations='{"aria-label": "general.openArticle"}'
>
<span class="hvg-icon hvg-icon-play-square-borderless icon-center podcast-card__footer__play btn-hover hover-lighten"

aria-hidden="true" 
></span>
</a>
</div>
</div>
</div>
<div class="showroom-carousel__content__item carousel-item">
<div
class="podcast-card media-card init-color-thief common-card "
data-color-thief-options='{"image": "img.podcast-card__image__img"}'
configurable="hvg:podcast-card:"
>
<div class="podcast-card__image">
<a href="https://hvg.hu/zhvg/20260402_talajregeneralas-talajmegujito-mezogazdasag-agrarium-no-till-szantas-taladergadacio-talajpusztulas-gribek-daniel-hektar-berend-ferenc-somogyi-koszalo-zcast-podcast-regeneracio" aria-hidden="true" tabindex="-1">
<img src="https://img.hvg.hu/Img/b2f9973a-64c0-4d38-8989-ccce21345824/2797639f-3d21-4316-90a0-eff88c4c1220.jpg" loading="lazy" alt=""
class="podcast-card__image__img card-featured-img"
crossorigin="anonymous">
</a>
</div>
<div class="podcast-card__content">
<h3 class="podcast-card__content__title my-2">
<a href="https://hvg.hu/zhvg/20260402_talajregeneralas-talajmegujito-mezogazdasag-agrarium-no-till-szantas-taladergadacio-talajpusztulas-gribek-daniel-hektar-berend-ferenc-somogyi-koszalo-zcast-podcast-regeneracio" class="card-title">
zCast: Akiknek a méhecskéje a giliszta – miért ne bolygassuk a talajt?
</a>
</h3>
<p class="podcast-card__content__subtitle m-0">podcast</p>
</div>
<div class="podcast-card__footer">
<span class="hvg-icon hvg-icon-soundwaves podcast-card__footer__waves"


></span>
<a
href="https://hvg.hu/zhvg/20260402_talajregeneralas-talajmegujito-mezogazdasag-agrarium-no-till-szantas-taladergadacio-talajpusztulas-gribek-daniel-hektar-berend-ferenc-somogyi-koszalo-zcast-podcast-regeneracio"
data-translations='{"aria-label": "general.openArticle"}'
>
<span class="hvg-icon hvg-icon-play-square-borderless icon-center podcast-card__footer__play btn-hover hover-lighten"

aria-hidden="true" 
></span>
</a>
</div>
</div>
</div>
<div class="showroom-carousel__content__item carousel-item">
<div
class="podcast-card media-card init-color-thief common-card "
data-color-thief-options='{"image": "img.podcast-card__image__img"}'
configurable="hvg:podcast-card:"
>
<div class="podcast-card__image">
<a href="https://hvg.hu/itthon/20260402_szavazatvasarlas-fogd-be-vagy-drogot-talalnak-nalad-es-jonnek-a-veroemberek-fulke" aria-hidden="true" tabindex="-1">
<img src="https://img.hvg.hu/Img/b2f9973a-64c0-4d38-8989-ccce21345824/27eac2dd-c3a7-4d2b-b5f2-407000f3d08d.jpg" loading="lazy" alt=""
class="podcast-card__image__img card-featured-img"
crossorigin="anonymous">
</a>
</div>
<div class="podcast-card__content">
<h3 class="podcast-card__content__title my-2">
<a href="https://hvg.hu/itthon/20260402_szavazatvasarlas-fogd-be-vagy-drogot-talalnak-nalad-es-jonnek-a-veroemberek-fulke" class="card-title">
Szavazatvásárlás: Fogd be, vagy drogot találnak nálad és jönnek a verőemberek! – Fülke 
</a>
</h3>
<p class="podcast-card__content__subtitle m-0">videó</p>
</div>
<div class="podcast-card__footer">
<span class="hvg-icon hvg-icon-soundwaves podcast-card__footer__waves"


></span>
<a
href="https://hvg.hu/itthon/20260402_szavazatvasarlas-fogd-be-vagy-drogot-talalnak-nalad-es-jonnek-a-veroemberek-fulke"
data-translations='{"aria-label": "general.openArticle"}'
>
<span class="hvg-icon hvg-icon-play-square-borderless icon-center podcast-card__footer__play btn-hover hover-lighten"

aria-hidden="true" 
></span>
</a>
</div>
</div>
</div>
<div class="showroom-carousel__content__item carousel-item">
<div
class="podcast-card media-card init-color-thief common-card "
data-color-thief-options='{"image": "img.podcast-card__image__img"}'
configurable="hvg:podcast-card:"
>
<div class="podcast-card__image">
<a href="https://hvg.hu/kkv/20260331_kenyeres-kristof-balzac-diakujsag-merlegen-podcast" aria-hidden="true" tabindex="-1">
<img src="https://img.hvg.hu/Img/b2f9973a-64c0-4d38-8989-ccce21345824/ae659ac3-e9ae-46cf-a7e6-4d61b8cb4c35.jpg" loading="lazy" alt=""
class="podcast-card__image__img card-featured-img"
crossorigin="anonymous">
</a>
</div>
<div class="podcast-card__content">
<h3 class="podcast-card__content__title my-2">
<a href="https://hvg.hu/kkv/20260331_kenyeres-kristof-balzac-diakujsag-merlegen-podcast" class="card-title">
„Viccesek akartunk lenni, aztán rájöttünk, hogy a politikával nem lehet viccelni” – a Balzac diákújság története a Mérlegen podcastban
</a>
</h3>
<p class="podcast-card__content__subtitle m-0">podcast</p>
</div>
<div class="podcast-card__footer">
<span class="hvg-icon hvg-icon-soundwaves podcast-card__footer__waves"


></span>
<a
href="https://hvg.hu/kkv/20260331_kenyeres-kristof-balzac-diakujsag-merlegen-podcast"
data-translations='{"aria-label": "general.openArticle"}'
>
<span class="hvg-icon hvg-icon-play-square-borderless icon-center podcast-card__footer__play btn-hover hover-lighten"

aria-hidden="true" 
></span>
</a>
</div>
</div>
</div>
<div class="showroom-carousel__content__item carousel-item">
<div
class="podcast-card media-card init-color-thief common-card "
data-color-thief-options='{"image": "img.podcast-card__image__img"}'
configurable="hvg:podcast-card:"
>
<div class="podcast-card__image">
<a href="https://hvg.hu/eurologus/20260329_donald-trump-euforia-ep2026" aria-hidden="true" tabindex="-1">
<img src="https://img.hvg.hu/Img/b2f9973a-64c0-4d38-8989-ccce21345824/6f19a9bd-5f2f-45aa-8758-48cf132aed42.jpg" loading="lazy" alt=""
class="podcast-card__image__img card-featured-img"
crossorigin="anonymous">
</a>
</div>
<div class="podcast-card__content">
<h3 class="podcast-card__content__title my-2">
<a href="https://hvg.hu/eurologus/20260329_donald-trump-euforia-ep2026" class="card-title">
„Az EU és az USA közti kapcsolat megromlása csak része egy jóval nagyobb külpolitikai káosznak”
</a>
</h3>
<p class="podcast-card__content__subtitle m-0">Európai Unió</p>
</div>
<div class="podcast-card__footer">
<span class="hvg-icon hvg-icon-soundwaves podcast-card__footer__waves"


></span>
<a
href="https://hvg.hu/eurologus/20260329_donald-trump-euforia-ep2026"
data-translations='{"aria-label": "general.openArticle"}'
>
<span class="hvg-icon hvg-icon-play-square-borderless icon-center podcast-card__footer__play btn-hover hover-lighten"

aria-hidden="true" 
></span>
</a>
</div>
</div>
</div>
<div class="showroom-carousel__content__item carousel-item">
<div
class="podcast-card media-card init-color-thief common-card "
data-color-thief-options='{"image": "img.podcast-card__image__img"}'
configurable="hvg:podcast-card:"
>
<div class="podcast-card__image">
<a href="https://hvg.hu/gazdasag/20260326_meg-lehet-ma-elni-ketkezi-munkabol-masik-ut-podcast" aria-hidden="true" tabindex="-1">
<img src="https://img.hvg.hu/Img/b2f9973a-64c0-4d38-8989-ccce21345824/d471cbb1-0cc0-4254-8ad3-479f5f5f90f2.jpg" loading="lazy" alt=""
class="podcast-card__image__img card-featured-img"
crossorigin="anonymous">
</a>
</div>
<div class="podcast-card__content">
<h3 class="podcast-card__content__title my-2">
<a href="https://hvg.hu/gazdasag/20260326_meg-lehet-ma-elni-ketkezi-munkabol-masik-ut-podcast" class="card-title">
Meg lehet ma élni kétkezi munkából?
</a>
</h3>
<p class="podcast-card__content__subtitle m-0">Másik út podcast</p>
</div>
<div class="podcast-card__footer">
<span class="hvg-icon hvg-icon-soundwaves podcast-card__footer__waves"


></span>
<a
href="https://hvg.hu/gazdasag/20260326_meg-lehet-ma-elni-ketkezi-munkabol-masik-ut-podcast"
data-translations='{"aria-label": "general.openArticle"}'
>
<span class="hvg-icon hvg-icon-play-square-borderless icon-center podcast-card__footer__play btn-hover hover-lighten"

aria-hidden="true" 
></span>
</a>
</div>
</div>
</div>
<div class="showroom-carousel__content__item carousel-item">
<div
class="podcast-card media-card init-color-thief common-card "
data-color-thief-options='{"image": "img.podcast-card__image__img"}'
configurable="hvg:podcast-card:"
>
<div class="podcast-card__image">
<a href="https://hvg.hu/itthon/20260325_fulke-hann-endre-tisza-elony-fidesz-valasztas" aria-hidden="true" tabindex="-1">
<img src="https://img.hvg.hu/Img/b2f9973a-64c0-4d38-8989-ccce21345824/a75e4b61-073d-42f4-b765-e5ab8009eb6d.jpg" loading="lazy" alt=""
class="podcast-card__image__img card-featured-img"
crossorigin="anonymous">
</a>
</div>
<div class="podcast-card__content">
<h3 class="podcast-card__content__title my-2">
<a href="https://hvg.hu/itthon/20260325_fulke-hann-endre-tisza-elony-fidesz-valasztas" class="card-title">
A Tisza előnye már 23 százalékpont, rekordrészvételnél a Mi Hazánk kieshet – Hann Endre a Fülke élő adásában
</a>
</h3>
<p class="podcast-card__content__subtitle m-0">podcast</p>
</div>
<div class="podcast-card__footer">
<span class="hvg-icon hvg-icon-soundwaves podcast-card__footer__waves"


></span>
<a
href="https://hvg.hu/itthon/20260325_fulke-hann-endre-tisza-elony-fidesz-valasztas"
data-translations='{"aria-label": "general.openArticle"}'
>
<span class="hvg-icon hvg-icon-play-square-borderless icon-center podcast-card__footer__play btn-hover hover-lighten"

aria-hidden="true" 
></span>
</a>
</div>
</div>
</div>
<div class="showroom-carousel__content__item carousel-item">
<div
class="podcast-card media-card init-color-thief common-card "
data-color-thief-options='{"image": "img.podcast-card__image__img"}'
configurable="hvg:podcast-card:"
>
<div class="podcast-card__image">
<a href="https://hvg.hu/itthon/20260325_median-kutatas-elo-adas" aria-hidden="true" tabindex="-1">
<img src="https://img.hvg.hu/Img/b2f9973a-64c0-4d38-8989-ccce21345824/51e0ad35-498a-48b7-b3b2-b89ed511408f.jpg" loading="lazy" alt=""
class="podcast-card__image__img card-featured-img"
crossorigin="anonymous">
</a>
</div>
<div class="podcast-card__content">
<h3 class="podcast-card__content__title my-2">
<a href="https://hvg.hu/itthon/20260325_median-kutatas-elo-adas" class="card-title">
Délután háromkor élő adásban mutatjuk be a Medián friss számait
</a>
</h3>
<p class="podcast-card__content__subtitle m-0">podcast</p>
</div>
<div class="podcast-card__footer">
<span class="hvg-icon hvg-icon-soundwaves podcast-card__footer__waves"


></span>
<a
href="https://hvg.hu/itthon/20260325_median-kutatas-elo-adas"
data-translations='{"aria-label": "general.openArticle"}'
>
<span class="hvg-icon hvg-icon-play-square-borderless icon-center podcast-card__footer__play btn-hover hover-lighten"

aria-hidden="true" 
></span>
</a>
</div>
</div>
</div>
<div class="showroom-carousel__content__item carousel-item">
<div
class="podcast-card media-card init-color-thief common-card "
data-color-thief-options='{"image": "img.podcast-card__image__img"}'
configurable="hvg:podcast-card:"
>
<div class="podcast-card__image">
<a href="https://pulzus.hvg.hu/egeszseg/20260324_kosz-jol-podcast-szexualis-egeszseg-ferfi-klimax-szexualitas-felvilagositas-libido" aria-hidden="true" tabindex="-1">
<img src="https://img.hvg.hu/Img/b2f9973a-64c0-4d38-8989-ccce21345824/ae46e5b5-9d3e-410c-aae9-101f58d181a3.jpg" loading="lazy" alt=""
class="podcast-card__image__img card-featured-img"
crossorigin="anonymous">
</a>
</div>
<div class="podcast-card__content">
<h3 class="podcast-card__content__title my-2">
<a href="https://pulzus.hvg.hu/egeszseg/20260324_kosz-jol-podcast-szexualis-egeszseg-ferfi-klimax-szexualitas-felvilagositas-libido" class="card-title">
Kösz, jól: A szexet nem lehet elég komolyan venni
</a>
</h3>
<p class="podcast-card__content__subtitle m-0">egészség</p>
</div>
<div class="podcast-card__footer">
<span class="hvg-icon hvg-icon-soundwaves podcast-card__footer__waves"


></span>
<a
href="https://pulzus.hvg.hu/egeszseg/20260324_kosz-jol-podcast-szexualis-egeszseg-ferfi-klimax-szexualitas-felvilagositas-libido"
data-translations='{"aria-label": "general.openArticle"}'
>
<span class="hvg-icon hvg-icon-play-square-borderless icon-center podcast-card__footer__play btn-hover hover-lighten"

aria-hidden="true" 
></span>
</a>
</div>
</div>
</div>
<div class="showroom-carousel__content__item carousel-item">
<div
class="podcast-card media-card init-color-thief common-card "
data-color-thief-options='{"image": "img.podcast-card__image__img"}'
configurable="hvg:podcast-card:"
>
<div class="podcast-card__image">
<a href="https://hvg.hu/eurologus/20260321_euforia-podcast-gyurkeri-mercedesz-eu-csucs-ep2026" aria-hidden="true" tabindex="-1">
<img src="https://img.hvg.hu/Img/b2f9973a-64c0-4d38-8989-ccce21345824/76d210c1-0a55-4e69-9d3b-ff7d56c44622.jpg" loading="lazy" alt=""
class="podcast-card__image__img card-featured-img"
crossorigin="anonymous">
</a>
</div>
<div class="podcast-card__content">
<h3 class="podcast-card__content__title my-2">
<a href="https://hvg.hu/eurologus/20260321_euforia-podcast-gyurkeri-mercedesz-eu-csucs-ep2026" class="card-title">
Orbán előbb túlment minden határon, majd új feltételeket szabott
</a>
</h3>
<p class="podcast-card__content__subtitle m-0">Európai Unió</p>
</div>
<div class="podcast-card__footer">
<span class="hvg-icon hvg-icon-soundwaves podcast-card__footer__waves"


></span>
<a
href="https://hvg.hu/eurologus/20260321_euforia-podcast-gyurkeri-mercedesz-eu-csucs-ep2026"
data-translations='{"aria-label": "general.openArticle"}'
>
<span class="hvg-icon hvg-icon-play-square-borderless icon-center podcast-card__footer__play btn-hover hover-lighten"

aria-hidden="true" 
></span>
</a>
</div>
</div>
</div>
<div class="showroom-carousel__content__item carousel-item">
<div
class="podcast-card media-card init-color-thief common-card "
data-color-thief-options='{"image": "img.podcast-card__image__img"}'
configurable="hvg:podcast-card:"
>
<div class="podcast-card__image">
<a href="https://hvg.hu/zhvg/20260319_vizorzok-vizvisszatartas-kiszaradas-talajviz-talajnedvesseg-patakrevitalizacio-nem-viznek-valo-videg-zcast-podcast" aria-hidden="true" tabindex="-1">
<img src="https://img.hvg.hu/Img/b2f9973a-64c0-4d38-8989-ccce21345824/8692a39b-3c79-404f-8550-2d8da28192ee.jpg" loading="lazy" alt=""
class="podcast-card__image__img card-featured-img"
crossorigin="anonymous">
</a>
</div>
<div class="podcast-card__content">
<h3 class="podcast-card__content__title my-2">
<a href="https://hvg.hu/zhvg/20260319_vizorzok-vizvisszatartas-kiszaradas-talajviz-talajnedvesseg-patakrevitalizacio-nem-viznek-valo-videg-zcast-podcast" class="card-title">
zCast: Van, ahol már menteni való béka sem maradt – beszélgetés kiszárított tájakról, kibetonozott patakokról és hódokat utánzó aktivistákról
</a>
</h3>
<p class="podcast-card__content__subtitle m-0">podcast</p>
</div>
<div class="podcast-card__footer">
<span class="hvg-icon hvg-icon-soundwaves podcast-card__footer__waves"


></span>
<a
href="https://hvg.hu/zhvg/20260319_vizorzok-vizvisszatartas-kiszaradas-talajviz-talajnedvesseg-patakrevitalizacio-nem-viznek-valo-videg-zcast-podcast"
data-translations='{"aria-label": "general.openArticle"}'
>
<span class="hvg-icon hvg-icon-play-square-borderless icon-center podcast-card__footer__play btn-hover hover-lighten"

aria-hidden="true" 
></span>
</a>
</div>
</div>
</div>
</div>
<button
type="podcast-showroom"
class="showroom-carousel__control carousel-control next"
rel="next"
data-translations='{"aria-label": "carousel.next"}'
>
<span class="hvg-icon hvg-icon-chevron-right icon-center "

aria-hidden="true" 
></span>
</button>
</div>
</section>
<script>
document.addEventListener("DOMContentLoaded", () => {
const showroomOptions = {
draggable: true
}
document.querySelectorAll(".showroom-carousel-section .carousel").forEach(carouselElement => {
const carousel = new Carousel(carouselElement, showroomOptions)
carousel.init()
})
})
</script>
<section class="main-section card-section showroom"
configurable="hvg:rss-showroom:38d57f90-6622-4263-8ee0-ec7b4980018e">
<div class="card-section__header section-header">
<div class="card-section__header__left">
<img src="https://img.hvg.hu/Img/00000000-0000-0000-0000-000000000000/043869a7-49b6-4402-87c7-4061a73cab44.jpg" class="card-section__header__img" loading="lazy" alt="">
</div>
<div class="card-section__header__right">
<a href="https://amu.hvg.hu" class="card-section__header__right__link">
Tovább A Mű-re
</a>
</div>
</div>
<div class="showroom-carousel showroom-carousel-section">
<button
type="rss-showroom"
class="showroom-carousel__control carousel-control prev"
rel="prev"
data-translations='{"aria-label": "carousel.prev"}'
>
<span class="hvg-icon hvg-icon-chevron-left icon-center "

aria-hidden="true" 
></span>
</button>
<div class="showroom-carousel__content showroom-carousel-section carousel">
<div class="showroom-carousel__content__item carousel-item">
<article
class="article-card format__vertical common-card font-small "
data-articleId="" configurable="hvg:article-card:" 
>
<time
class="timestamp "
datetime="2026-04-10T12:29:32.0000000Z"
data-timeago-value="2026-04-10T12:29:32.0000000Z"
data-local-datetime-key="2026-04-10T12:29:32.0000000Z"
data-local-datetime-format="yyyy. mmmm dd. HH:mm"
data-local-target-format="yyyy. mmmm dd. HH:mm"
data-local-datetime-target="datetime"
>
&nbsp;
</time>
<h3 class="article-card__title">
<a href="https://amu.hvg.hu/2026/04/10/demokraciajatek-a-mu-heti-ajanloja/">
Demokráciajáték – A mű heti ajánlója
</a>
</h3>
</article>
</div>
<div class="showroom-carousel__content__item carousel-item">
<article
class="article-card format__vertical common-card font-small "
data-articleId="" configurable="hvg:article-card:" 
>
<time
class="timestamp "
datetime="2026-04-08T11:43:29.0000000Z"
data-timeago-value="2026-04-08T11:43:29.0000000Z"
data-local-datetime-key="2026-04-08T11:43:29.0000000Z"
data-local-datetime-format="yyyy. mmmm dd. HH:mm"
data-local-target-format="yyyy. mmmm dd. HH:mm"
data-local-datetime-target="datetime"
>
&nbsp;
</time>
<h3 class="article-card__title">
<a href="https://amu.hvg.hu/2026/04/08/napelem-vagy-befektetes-lesz-az-ezusttalbol-interju-mireisz-viktoriaval-a-bav-art-vezeto-becsusevel/">
Napelem vagy befektetés lesz az ezüsttálból? – interjú Mireisz Viktóriával, a BÁV ART vezető becsüsével
</a>
</h3>
</article>
</div>
<div class="showroom-carousel__content__item carousel-item">
<article
class="article-card format__vertical common-card font-small "
data-articleId="" configurable="hvg:article-card:" 
>
<time
class="timestamp "
datetime="2026-04-03T06:04:25.0000000Z"
data-timeago-value="2026-04-03T06:04:25.0000000Z"
data-local-datetime-key="2026-04-03T06:04:25.0000000Z"
data-local-datetime-format="yyyy. mmmm dd. HH:mm"
data-local-target-format="yyyy. mmmm dd. HH:mm"
data-local-datetime-target="datetime"
>
&nbsp;
</time>
<h3 class="article-card__title">
<a href="https://amu.hvg.hu/2026/04/03/archetipikus-principiumok-a-mu-heti-ajanloja/">
Archetipikus princípiumok – A mű heti ajánlója
</a>
</h3>
</article>
</div>
<div class="showroom-carousel__content__item carousel-item">
<article
class="article-card format__vertical common-card font-small "
data-articleId="" configurable="hvg:article-card:" 
>
<time
class="timestamp "
datetime="2026-04-02T16:44:24.0000000Z"
data-timeago-value="2026-04-02T16:44:24.0000000Z"
data-local-datetime-key="2026-04-02T16:44:24.0000000Z"
data-local-datetime-format="yyyy. mmmm dd. HH:mm"
data-local-target-format="yyyy. mmmm dd. HH:mm"
data-local-datetime-target="datetime"
>
&nbsp;
</time>
<h3 class="article-card__title">
<a href="https://amu.hvg.hu/2026/04/02/a-muveszet-amely-visszaadja-a-jovot-talalkozas-a-wajukuu-kollektivaval-nairobi-peremen/">
A művészet, amely visszaadja a jövőt – találkozás a Wajukuu kollektívával Nairobi peremén
</a>
</h3>
</article>
</div>
</div>
<button
type="rss-showroom"
class="showroom-carousel__control carousel-control next"
rel="next"
data-translations='{"aria-label": "carousel.next"}'
>
<span class="hvg-icon hvg-icon-chevron-right icon-center "

aria-hidden="true" 
></span>
</button>
</div>
<div class="card-section__header section-footer">
<div class="card-section__header__left">
</div>
<div class="card-section__header__right">
</div>
</div>
</section>
<script>
document.addEventListener("DOMContentLoaded", () => {
const showroomOptions = {
draggable: true
}
document.querySelectorAll(".showroom-carousel-section .carousel").forEach(carouselElement => {
const carousel = new Carousel(carouselElement, showroomOptions)
carousel.init()
})
})
</script>
<section class="main-section card-section showroom theme-light"
configurable="hvg:rss-showroom:9e56a126-aca5-4949-a922-fced4d6fd1a0">
<div class="card-section__header section-header">
<div class="card-section__header__left">
<img src="https://img.hvg.hu/Img/00000000-0000-0000-0000-000000000000/d7896fe0-a80f-4daf-a8a5-83eae0349d2f.png" class="card-section__header__img" loading="lazy" alt="">
</div>
<div class="card-section__header__right">
<a href="https://eduline.hu" class="card-section__header__right__link">
Tovább az Eduline-ra
</a>
</div>
</div>
<div class="showroom-carousel showroom-carousel-section">
<button
type="rss-showroom"
class="showroom-carousel__control carousel-control prev"
rel="prev"
data-translations='{"aria-label": "carousel.prev"}'
>
<span class="hvg-icon hvg-icon-chevron-left icon-center "

aria-hidden="true" 
></span>
</button>
<div class="showroom-carousel__content showroom-carousel-section carousel">
<div class="showroom-carousel__content__item carousel-item">
<article
class="article-card format__vertical common-card font-small "
data-articleId="" configurable="hvg:article-card:" 
>
<div class="article-card__image-wrapper">
<a href="https://eduline.hu/erettsegi-felveteli/20260412_tortenelemerettsegi-bukasok-szama-2025" aria-hidden="true" tabindex="-1">
<img src="https://img.hvg.hu/Img/64092e40-39ef-4e7c-88f1-4e482711b139/b0535bdb-3b99-4ae0-8405-fa36476f8613.jpg" loading="lazy" alt=""
class="card-featured-img" />
</a>
</div>
<time
class="timestamp "
datetime="2026-04-12T11:06:00.0000000Z"
data-timeago-value="2026-04-12T11:06:00.0000000Z"
data-local-datetime-key="2026-04-12T11:06:00.0000000Z"
data-local-datetime-format="yyyy. mmmm dd. HH:mm"
data-local-target-format="yyyy. mmmm dd. HH:mm"
data-local-datetime-target="datetime"
>
&nbsp;
</time>
<h3 class="article-card__title">
<a href="https://eduline.hu/erettsegi-felveteli/20260412_tortenelemerettsegi-bukasok-szama-2025">
Ennyien buktak meg 2025-ben a történelemérettségin
</a>
</h3>
</article>
</div>
<div class="showroom-carousel__content__item carousel-item">
<article
class="article-card format__vertical common-card font-small "
data-articleId="" configurable="hvg:article-card:" 
>
<div class="article-card__image-wrapper">
<a href="https://eduline.hu/campus-life/20260412_kiallitasok-ajanlo-muzeum-budapest-tavasz-2026" aria-hidden="true" tabindex="-1">
<img src="https://img.hvg.hu/Img/64092e40-39ef-4e7c-88f1-4e482711b139/c3014661-d029-49d7-9a25-0211a6cd08b1.png" loading="lazy" alt=""
class="card-featured-img" />
</a>
</div>
<time
class="timestamp "
datetime="2026-04-12T09:31:00.0000000Z"
data-timeago-value="2026-04-12T09:31:00.0000000Z"
data-local-datetime-key="2026-04-12T09:31:00.0000000Z"
data-local-datetime-format="yyyy. mmmm dd. HH:mm"
data-local-target-format="yyyy. mmmm dd. HH:mm"
data-local-datetime-target="datetime"
>
&nbsp;
</time>
<h3 class="article-card__title">
<a href="https://eduline.hu/campus-life/20260412_kiallitasok-ajanlo-muzeum-budapest-tavasz-2026">
Tavaszi kiállításajánló: ezt nézd meg 2026-ban – múzeumok és különleges tárlatok egy helyen
</a>
</h3>
</article>
</div>
<div class="showroom-carousel__content__item carousel-item">
<article
class="article-card format__vertical common-card font-small "
data-articleId="" configurable="hvg:article-card:" 
>
<div class="article-card__image-wrapper">
<a href="https://eduline.hu/erettsegi-felveteli/20260412_matekerettsegi-2026-kiknek-kell-szobelizniuk-kozepszinten" aria-hidden="true" tabindex="-1">
<img src="https://img.hvg.hu/Img/64092e40-39ef-4e7c-88f1-4e482711b139/dd90c6b9-5de3-45f4-9860-8db866f40098.jpg" loading="lazy" alt=""
class="card-featured-img" />
</a>
</div>
<time
class="timestamp "
datetime="2026-04-12T05:45:00.0000000Z"
data-timeago-value="2026-04-12T05:45:00.0000000Z"
data-local-datetime-key="2026-04-12T05:45:00.0000000Z"
data-local-datetime-format="yyyy. mmmm dd. HH:mm"
data-local-target-format="yyyy. mmmm dd. HH:mm"
data-local-datetime-target="datetime"
>
&nbsp;
</time>
<h3 class="article-card__title">
<a href="https://eduline.hu/erettsegi-felveteli/20260412_matekerettsegi-2026-kiknek-kell-szobelizniuk-kozepszinten">
Matekérettségi 2026: kiknek kell szóbelizniük középszinten?
</a>
</h3>
</article>
</div>
<div class="showroom-carousel__content__item carousel-item">
<article
class="article-card format__vertical common-card font-small "
data-articleId="" configurable="hvg:article-card:" 
>
<div class="article-card__image-wrapper">
<a href="https://eduline.hu/campus-life/20260412_valasztas-2026-szavazas-atjelentkezes-egyetem-kollegiumok" aria-hidden="true" tabindex="-1">
<img src="https://img.hvg.hu/Img/64092e40-39ef-4e7c-88f1-4e482711b139/81fb933f-523e-47b1-bcb5-b74781137f9c.jpg" loading="lazy" alt=""
class="card-featured-img" />
</a>
</div>
<time
class="timestamp "
datetime="2026-04-12T03:15:00.0000000Z"
data-timeago-value="2026-04-12T03:15:00.0000000Z"
data-local-datetime-key="2026-04-12T03:15:00.0000000Z"
data-local-datetime-format="yyyy. mmmm dd. HH:mm"
data-local-target-format="yyyy. mmmm dd. HH:mm"
data-local-datetime-target="datetime"
>
&nbsp;
</time>
<h3 class="article-card__title">
<a href="https://eduline.hu/campus-life/20260412_valasztas-2026-szavazas-atjelentkezes-egyetem-kollegiumok">
Ezekben a budapesti kerületekben lehet a legnagyobb sor a mai napon: több mint 9000-en jelentkeztek át
</a>
</h3>
</article>
</div>
<div class="showroom-carousel__content__item carousel-item">
<article
class="article-card format__vertical common-card font-small "
data-articleId="" configurable="hvg:article-card:" 
>
<div class="article-card__image-wrapper">
<a href="https://eduline.hu/kozoktatas/20260411_maruzsa-zoltan-pisa-oecd-felmeresek-diakok-teljesitmenye" aria-hidden="true" tabindex="-1">
<img src="https://img.hvg.hu/Img/64092e40-39ef-4e7c-88f1-4e482711b139/309146c5-a51b-4c87-abf8-c6e740092802.jpg" loading="lazy" alt=""
class="card-featured-img" />
</a>
</div>
<time
class="timestamp "
datetime="2026-04-11T12:35:00.0000000Z"
data-timeago-value="2026-04-11T12:35:00.0000000Z"
data-local-datetime-key="2026-04-11T12:35:00.0000000Z"
data-local-datetime-format="yyyy. mmmm dd. HH:mm"
data-local-target-format="yyyy. mmmm dd. HH:mm"
data-local-datetime-target="datetime"
>
&nbsp;
</time>
<h3 class="article-card__title">
<a href="https://eduline.hu/kozoktatas/20260411_maruzsa-zoltan-pisa-oecd-felmeresek-diakok-teljesitmenye">
Maruzsa Zoltán: „Vannak feketeöves kritikusok, akik mindig csak lehorják, de nincs igazuk, a magyar oktatás igenis jól teljesít”
</a>
</h3>
</article>
</div>
<div class="showroom-carousel__content__item carousel-item">
<article
class="article-card format__vertical common-card font-small "
data-articleId="" configurable="hvg:article-card:" 
>
<div class="article-card__image-wrapper">
<a href="https://eduline.hu/palyakezdes/20260411_szakmak-nemi-sztereotipiak-magyarorszag-munkavallalas" aria-hidden="true" tabindex="-1">
<img src="https://img.hvg.hu/Img/64092e40-39ef-4e7c-88f1-4e482711b139/04e61006-385a-42ce-82b3-8ed12c06b701.jpg" loading="lazy" alt=""
class="card-featured-img" />
</a>
</div>
<time
class="timestamp "
datetime="2026-04-11T08:06:00.0000000Z"
data-timeago-value="2026-04-11T08:06:00.0000000Z"
data-local-datetime-key="2026-04-11T08:06:00.0000000Z"
data-local-datetime-format="yyyy. mmmm dd. HH:mm"
data-local-target-format="yyyy. mmmm dd. HH:mm"
data-local-datetime-target="datetime"
>
&nbsp;
</time>
<h3 class="article-card__title">
<a href="https://eduline.hu/palyakezdes/20260411_szakmak-nemi-sztereotipiak-magyarorszag-munkavallalas">
„Fiús” és „lányos” szakmák 2026-ban: még mindig erősek a nemi sztereotípiák Magyarországon
</a>
</h3>
</article>
</div>
<div class="showroom-carousel__content__item carousel-item">
<article
class="article-card format__vertical common-card font-small "
data-articleId="" configurable="hvg:article-card:" 
>
<div class="article-card__image-wrapper">
<a href="https://eduline.hu/campus-life/20260411_szolo-utca-volt-tanar-vallomas" aria-hidden="true" tabindex="-1">
<img src="https://img.hvg.hu/Img/64092e40-39ef-4e7c-88f1-4e482711b139/ea92df7e-6031-4768-a069-836c368ecdd7.jpg" loading="lazy" alt=""
class="card-featured-img" />
</a>
</div>
<time
class="timestamp "
datetime="2026-04-11T05:11:00.0000000Z"
data-timeago-value="2026-04-11T05:11:00.0000000Z"
data-local-datetime-key="2026-04-11T05:11:00.0000000Z"
data-local-datetime-format="yyyy. mmmm dd. HH:mm"
data-local-target-format="yyyy. mmmm dd. HH:mm"
data-local-datetime-target="datetime"
>
&nbsp;
</time>
<h3 class="article-card__title">
<a href="https://eduline.hu/campus-life/20260411_szolo-utca-volt-tanar-vallomas">
A Szőlő utca egyik volt tanára: „Nem bűnözők közé lépsz be, hanem olyan gyerekek közé, akik nem udvariaskodnak veled”
</a>
</h3>
</article>
</div>
<div class="showroom-carousel__content__item carousel-item">
<article
class="article-card format__vertical common-card font-small "
data-articleId="" configurable="hvg:article-card:" 
>
<div class="article-card__image-wrapper">
<a href="https://eduline.hu/felsooktatas/20260411_hook-felmeres-egyetemistak-felsooktatas-munka-a-tanulas-mellett" aria-hidden="true" tabindex="-1">
<img src="https://img.hvg.hu/Img/64092e40-39ef-4e7c-88f1-4e482711b139/99d31cee-7ced-49e1-8762-cccdca134e96.jpg" loading="lazy" alt=""
class="card-featured-img" />
</a>
</div>
<time
class="timestamp "
datetime="2026-04-11T02:21:00.0000000Z"
data-timeago-value="2026-04-11T02:21:00.0000000Z"
data-local-datetime-key="2026-04-11T02:21:00.0000000Z"
data-local-datetime-format="yyyy. mmmm dd. HH:mm"
data-local-target-format="yyyy. mmmm dd. HH:mm"
data-local-datetime-target="datetime"
>
&nbsp;
</time>
<h3 class="article-card__title">
<a href="https://eduline.hu/felsooktatas/20260411_hook-felmeres-egyetemistak-felsooktatas-munka-a-tanulas-mellett">
HÖOK: a hallgatók közel fele fizetett munkavállalás nélkül nem engedhetné meg magának, hogy tanuljon
</a>
</h3>
</article>
</div>
</div>
<button
type="rss-showroom"
class="showroom-carousel__control carousel-control next"
rel="next"
data-translations='{"aria-label": "carousel.next"}'
>
<span class="hvg-icon hvg-icon-chevron-right icon-center "

aria-hidden="true" 
></span>
</button>
</div>
</section>
<script>
document.addEventListener("DOMContentLoaded", () => {
const showroomOptions = {
draggable: true
}
document.querySelectorAll(".showroom-carousel-section .carousel").forEach(carouselElement => {
const carousel = new Carousel(carouselElement, showroomOptions)
carousel.init()
})
})
</script>
<section class="main-section card-section showroom"
configurable="hvg:rss-showroom:f5e02832-21d7-4c6e-be70-194829bb1c12">
<div class="card-section__header section-header">
<div class="card-section__header__left">
<img src="https://img.hvg.hu/Img/00000000-0000-0000-0000-000000000000/2387069c-f229-4d45-b27f-588588993fd7.jpg" class="card-section__header__img" loading="lazy" alt="">
</div>
<div class="card-section__header__right">
<a href="https://adozona.hu" class="card-section__header__right__link">
Tovább a Adózónára
</a>
</div>
</div>
<div class="showroom-carousel showroom-carousel-section">
<button
type="rss-showroom"
class="showroom-carousel__control carousel-control prev"
rel="prev"
data-translations='{"aria-label": "carousel.prev"}'
>
<span class="hvg-icon hvg-icon-chevron-left icon-center "

aria-hidden="true" 
></span>
</button>
<div class="showroom-carousel__content showroom-carousel-section carousel">
<div class="showroom-carousel__content__item carousel-item">
<article
class="article-card format__vertical common-card font-small "
data-articleId="" configurable="hvg:article-card:" 
>
<time
class="timestamp "
datetime="2026-04-12T15:35:00.0000000Z"
data-timeago-value="2026-04-12T15:35:00.0000000Z"
data-local-datetime-key="2026-04-12T15:35:00.0000000Z"
data-local-datetime-format="yyyy. mmmm dd. HH:mm"
data-local-target-format="yyyy. mmmm dd. HH:mm"
data-local-datetime-target="datetime"
>
&nbsp;
</time>
<h3 class="article-card__title">
<a href="https://adozona.hu/afa/Maganszemely_telek_epitkezes_afa_9JMZEC#rss">
Magánszemély építkezése – kivitelezői áfa 
</a>
</h3>
</article>
</div>
<div class="showroom-carousel__content__item carousel-item">
<article
class="article-card format__vertical common-card font-small "
data-articleId="" configurable="hvg:article-card:" 
>
<time
class="timestamp "
datetime="2026-04-12T04:15:00.0000000Z"
data-timeago-value="2026-04-12T04:15:00.0000000Z"
data-local-datetime-key="2026-04-12T04:15:00.0000000Z"
data-local-datetime-format="yyyy. mmmm dd. HH:mm"
data-local-target-format="yyyy. mmmm dd. HH:mm"
data-local-datetime-target="datetime"
>
&nbsp;
</time>
<h3 class="article-card__title">
<a href="https://adozona.hu/szja_ekho_kulonado/Munkavallalo_sajat_szemelygepjarmu_uzemanya_0VNUGM#rss">
Munkavállaló saját tulajdonú személygépjárművébe tankolt üzemanyag elszámolása, adózása 
</a>
</h3>
</article>
</div>
<div class="showroom-carousel__content__item carousel-item">
<article
class="article-card format__vertical common-card font-small "
data-articleId="" configurable="hvg:article-card:" 
>
<time
class="timestamp "
datetime="2026-04-11T15:35:00.0000000Z"
data-timeago-value="2026-04-11T15:35:00.0000000Z"
data-local-datetime-key="2026-04-11T15:35:00.0000000Z"
data-local-datetime-format="yyyy. mmmm dd. HH:mm"
data-local-target-format="yyyy. mmmm dd. HH:mm"
data-local-datetime-target="datetime"
>
&nbsp;
</time>
<h3 class="article-card__title">
<a href="https://adozona.hu/szamvitel/Lekotott_tartalek_elmulasztott_feloldas_pot_T0PMY9#rss">
Lekötött tartalék elmulasztott feloldásának pótlása 
</a>
</h3>
</article>
</div>
<div class="showroom-carousel__content__item carousel-item">
<article
class="article-card format__vertical common-card font-small "
data-articleId="" configurable="hvg:article-card:" 
>
<time
class="timestamp "
datetime="2026-04-11T04:15:00.0000000Z"
data-timeago-value="2026-04-11T04:15:00.0000000Z"
data-local-datetime-key="2026-04-11T04:15:00.0000000Z"
data-local-datetime-format="yyyy. mmmm dd. HH:mm"
data-local-target-format="yyyy. mmmm dd. HH:mm"
data-local-datetime-target="datetime"
>
&nbsp;
</time>
<h3 class="article-card__title">
<a href="https://adozona.hu/munkajog/Letiltas_munkaber_jovedelem_sorrend_T5WEUR#rss">
Letiltás munkabérből – levonási sorrend 
</a>
</h3>
</article>
</div>
<div class="showroom-carousel__content__item carousel-item">
<article
class="article-card format__vertical common-card font-small "
data-articleId="" configurable="hvg:article-card:" 
>
<time
class="timestamp "
datetime="2026-04-10T18:29:00.0000000Z"
data-timeago-value="2026-04-10T18:29:00.0000000Z"
data-local-datetime-key="2026-04-10T18:29:00.0000000Z"
data-local-datetime-format="yyyy. mmmm dd. HH:mm"
data-local-target-format="yyyy. mmmm dd. HH:mm"
data-local-datetime-target="datetime"
>
&nbsp;
</time>
<h3 class="article-card__title">
<a href="https://adozona.hu/altalanos/Kina_mesterseges_intelligencia_oktatas_HGDCPC#rss">
Kína mesterséges intelligenciát vezetne be az oktatás minden szintjén 
</a>
</h3>
</article>
</div>
<div class="showroom-carousel__content__item carousel-item">
<article
class="article-card format__vertical common-card font-small "
data-articleId="" configurable="hvg:article-card:" 
>
<time
class="timestamp "
datetime="2026-04-10T17:02:00.0000000Z"
data-timeago-value="2026-04-10T17:02:00.0000000Z"
data-local-datetime-key="2026-04-10T17:02:00.0000000Z"
data-local-datetime-format="yyyy. mmmm dd. HH:mm"
data-local-target-format="yyyy. mmmm dd. HH:mm"
data-local-datetime-target="datetime"
>
&nbsp;
</time>
<h3 class="article-card__title">
<a href="https://adozona.hu/altalanos/Mol_kozgyules_241_milliard_osztalek_GHN7O2#rss">
A Mol közgyűlése 241 milliárd forint osztalékot hagyott jóvá 
</a>
</h3>
</article>
</div>
<div class="showroom-carousel__content__item carousel-item">
<article
class="article-card format__vertical common-card font-small "
data-articleId="" configurable="hvg:article-card:" 
>
<time
class="timestamp "
datetime="2026-04-10T15:45:00.0000000Z"
data-timeago-value="2026-04-10T15:45:00.0000000Z"
data-local-datetime-key="2026-04-10T15:45:00.0000000Z"
data-local-datetime-format="yyyy. mmmm dd. HH:mm"
data-local-target-format="yyyy. mmmm dd. HH:mm"
data-local-datetime-target="datetime"
>
&nbsp;
</time>
<h3 class="article-card__title">
<a href="https://adozona.hu/altalanos/Rekordhiany_allamkassza_hitel_osztogat_MB09UL#rss">
Rekordhiány az államkasszában, hitelből osztogattak 
</a>
</h3>
</article>
</div>
<div class="showroom-carousel__content__item carousel-item">
<article
class="article-card format__vertical common-card font-small "
data-articleId="" configurable="hvg:article-card:" 
>
<time
class="timestamp "
datetime="2026-04-10T14:36:00.0000000Z"
data-timeago-value="2026-04-10T14:36:00.0000000Z"
data-local-datetime-key="2026-04-10T14:36:00.0000000Z"
data-local-datetime-format="yyyy. mmmm dd. HH:mm"
data-local-target-format="yyyy. mmmm dd. HH:mm"
data-local-datetime-target="datetime"
>
&nbsp;
</time>
<h3 class="article-card__title">
<a href="https://adozona.hu/altalanos/NKFH_India_koriandermag_visszahivas_ZXB6L2#rss">
NKFH: Indiából származó koriandermagot hívnak vissza a fogyasztóktól 
</a>
</h3>
</article>
</div>
</div>
<button
type="rss-showroom"
class="showroom-carousel__control carousel-control next"
rel="next"
data-translations='{"aria-label": "carousel.next"}'
>
<span class="hvg-icon hvg-icon-chevron-right icon-center "

aria-hidden="true" 
></span>
</button>
</div>
</section>
<script>
document.addEventListener("DOMContentLoaded", () => {
const showroomOptions = {
draggable: true
}
document.querySelectorAll(".showroom-carousel-section .carousel").forEach(carouselElement => {
const carousel = new Carousel(carouselElement, showroomOptions)
carousel.init()
})
})
</script>
<section class="main-section card-section showroom"
configurable="hvg:rss-showroom:f1d59490-79d7-430e-9f9d-ef3928367275">
<div class="card-section__header section-header">
<div class="card-section__header__left">
<img src="https://img.hvg.hu/Img/00000000-0000-0000-0000-000000000000/6e7429e4-0feb-4f4d-ae9e-63c806073476.jpg" class="card-section__header__img" loading="lazy" alt="">
</div>
<div class="card-section__header__right">
<a href="https://nyomorszele.hvgblog.hu" class="card-section__header__right__link">
Tovább A nyomor széle blogra
</a>
</div>
</div>
<div class="showroom-carousel showroom-carousel-section">
<button
type="rss-showroom"
class="showroom-carousel__control carousel-control prev"
rel="prev"
data-translations='{"aria-label": "carousel.prev"}'
>
<span class="hvg-icon hvg-icon-chevron-left icon-center "

aria-hidden="true" 
></span>
</button>
<div class="showroom-carousel__content showroom-carousel-section carousel">
<div class="showroom-carousel__content__item carousel-item">
<article
class="article-card format__vertical common-card font-small "
data-articleId="" configurable="hvg:article-card:" 
>
<time
class="timestamp "
datetime="2026-04-10T16:46:39.0000000Z"
data-timeago-value="2026-04-10T16:46:39.0000000Z"
data-local-datetime-key="2026-04-10T16:46:39.0000000Z"
data-local-datetime-format="yyyy. mmmm dd. HH:mm"
data-local-target-format="yyyy. mmmm dd. HH:mm"
data-local-datetime-target="datetime"
>
&nbsp;
</time>
<h3 class="article-card__title">
<a href="https://nyomorszele.hvgblog.hu/2026/04/10/1040-a-peldak/">
1040. A példák
</a>
</h3>
</article>
</div>
<div class="showroom-carousel__content__item carousel-item">
<article
class="article-card format__vertical common-card font-small "
data-articleId="" configurable="hvg:article-card:" 
>
<time
class="timestamp "
datetime="2026-04-03T17:18:59.0000000Z"
data-timeago-value="2026-04-03T17:18:59.0000000Z"
data-local-datetime-key="2026-04-03T17:18:59.0000000Z"
data-local-datetime-format="yyyy. mmmm dd. HH:mm"
data-local-target-format="yyyy. mmmm dd. HH:mm"
data-local-datetime-target="datetime"
>
&nbsp;
</time>
<h3 class="article-card__title">
<a href="https://nyomorszele.hvgblog.hu/2026/04/03/1039-osszegzo-jelentes/">
1039. Összegző jelentés
</a>
</h3>
</article>
</div>
<div class="showroom-carousel__content__item carousel-item">
<article
class="article-card format__vertical common-card font-small "
data-articleId="" configurable="hvg:article-card:" 
>
<time
class="timestamp "
datetime="2026-03-27T19:28:54.0000000Z"
data-timeago-value="2026-03-27T19:28:54.0000000Z"
data-local-datetime-key="2026-03-27T19:28:54.0000000Z"
data-local-datetime-format="yyyy. mmmm dd. HH:mm"
data-local-target-format="yyyy. mmmm dd. HH:mm"
data-local-datetime-target="datetime"
>
&nbsp;
</time>
<h3 class="article-card__title">
<a href="https://nyomorszele.hvgblog.hu/2026/03/27/1038-a-szavazatok-megszerzese/">
1038. A szavazatok megszerzése
</a>
</h3>
</article>
</div>
<div class="showroom-carousel__content__item carousel-item">
<article
class="article-card format__vertical common-card font-small "
data-articleId="" configurable="hvg:article-card:" 
>
<time
class="timestamp "
datetime="2026-03-20T18:58:47.0000000Z"
data-timeago-value="2026-03-20T18:58:47.0000000Z"
data-local-datetime-key="2026-03-20T18:58:47.0000000Z"
data-local-datetime-format="yyyy. mmmm dd. HH:mm"
data-local-target-format="yyyy. mmmm dd. HH:mm"
data-local-datetime-target="datetime"
>
&nbsp;
</time>
<h3 class="article-card__title">
<a href="https://nyomorszele.hvgblog.hu/2026/03/20/1037-az-iskola/">
1037. Az iskola…
</a>
</h3>
</article>
</div>
</div>
<button
type="rss-showroom"
class="showroom-carousel__control carousel-control next"
rel="next"
data-translations='{"aria-label": "carousel.next"}'
>
<span class="hvg-icon hvg-icon-chevron-right icon-center "

aria-hidden="true" 
></span>
</button>
</div>
<div class="card-section__header section-footer">
<div class="card-section__header__left">
</div>
<div class="card-section__header__right">
</div>
</div>
</section>
<script>
document.addEventListener("DOMContentLoaded", () => {
const showroomOptions = {
draggable: true
}
document.querySelectorAll(".showroom-carousel-section .carousel").forEach(carouselElement => {
const carousel = new Carousel(carouselElement, showroomOptions)
carousel.init()
})
})
</script>
<section class="main-section card-section showroom"
configurable="hvg:rss-showroom:8051b0aa-a617-4d6a-b4a2-7d6ac8deca0b">
<div class="card-section__header section-header">
<div class="card-section__header__left">
<h2 class="card-section__header__title">Korrupcióblog</h2>
</div>
<div class="card-section__header__right">
<a href="https://korrupcio.hvgblog.hu/" class="card-section__header__right__link">
Tovább a Transparency International Magyarország blogjára
</a>
</div>
</div>
<div class="showroom-carousel showroom-carousel-section">
<button
type="rss-showroom"
class="showroom-carousel__control carousel-control prev"
rel="prev"
data-translations='{"aria-label": "carousel.prev"}'
>
<span class="hvg-icon hvg-icon-chevron-left icon-center "

aria-hidden="true" 
></span>
</button>
<div class="showroom-carousel__content showroom-carousel-section carousel">
<div class="showroom-carousel__content__item carousel-item">
<article
class="article-card format__vertical common-card font-small "
data-articleId="" configurable="hvg:article-card:" 
>
<time
class="timestamp "
datetime="2026-03-10T08:57:44.0000000Z"
data-timeago-value="2026-03-10T08:57:44.0000000Z"
data-local-datetime-key="2026-03-10T08:57:44.0000000Z"
data-local-datetime-format="yyyy. mmmm dd. HH:mm"
data-local-target-format="yyyy. mmmm dd. HH:mm"
data-local-datetime-target="datetime"
>
&nbsp;
</time>
<h3 class="article-card__title">
<a href="https://korrupcio.hvgblog.hu/2026/03/10/mnb-padme-optima-vagyonkimentes/">
Ingyen és törvénysértőn: így adta oda a közpénzt az MNB alapítványi vagyonkezelő cége a Matolcsy-körnek 
</a>
</h3>
</article>
</div>
<div class="showroom-carousel__content__item carousel-item">
<article
class="article-card format__vertical common-card font-small "
data-articleId="" configurable="hvg:article-card:" 
>
<time
class="timestamp "
datetime="2026-02-20T07:37:00.0000000Z"
data-timeago-value="2026-02-20T07:37:00.0000000Z"
data-local-datetime-key="2026-02-20T07:37:00.0000000Z"
data-local-datetime-format="yyyy. mmmm dd. HH:mm"
data-local-target-format="yyyy. mmmm dd. HH:mm"
data-local-datetime-target="datetime"
>
&nbsp;
</time>
<h3 class="article-card__title">
<a href="https://korrupcio.hvgblog.hu/2026/02/20/plakatpiac-tulajdonosok-kampany-elott/">
Újabb tulajdonosváltás a plakátpiacon: egymásnak adják a kilincset és a közpénzt 
</a>
</h3>
</article>
</div>
<div class="showroom-carousel__content__item carousel-item">
<article
class="article-card format__vertical common-card font-small "
data-articleId="" configurable="hvg:article-card:" 
>
<time
class="timestamp "
datetime="2026-01-09T11:06:22.0000000Z"
data-timeago-value="2026-01-09T11:06:22.0000000Z"
data-local-datetime-key="2026-01-09T11:06:22.0000000Z"
data-local-datetime-format="yyyy. mmmm dd. HH:mm"
data-local-target-format="yyyy. mmmm dd. HH:mm"
data-local-datetime-target="datetime"
>
&nbsp;
</time>
<h3 class="article-card__title">
<a href="https://korrupcio.hvgblog.hu/2026/01/09/ti-hu-2025-perek-eredmenyek/">
Transparency International Magyarország 2025: 10 jogerős pernyerés és 4 első fokú győzelem!
</a>
</h3>
</article>
</div>
<div class="showroom-carousel__content__item carousel-item">
<article
class="article-card format__vertical common-card font-small "
data-articleId="" configurable="hvg:article-card:" 
>
<time
class="timestamp "
datetime="2025-12-23T11:35:14.0000000Z"
data-timeago-value="2025-12-23T11:35:14.0000000Z"
data-local-datetime-key="2025-12-23T11:35:14.0000000Z"
data-local-datetime-format="yyyy. mmmm dd. HH:mm"
data-local-target-format="yyyy. mmmm dd. HH:mm"
data-local-datetime-target="datetime"
>
&nbsp;
</time>
<h3 class="article-card__title">
<a href="https://korrupcio.hvgblog.hu/2025/12/23/2025-a-leg-ek-eve/">
2025 a leg-ek éve a Transparencynél! 
</a>
</h3>
</article>
</div>
</div>
<button
type="rss-showroom"
class="showroom-carousel__control carousel-control next"
rel="next"
data-translations='{"aria-label": "carousel.next"}'
>
<span class="hvg-icon hvg-icon-chevron-right icon-center "

aria-hidden="true" 
></span>
</button>
</div>
<div class="card-section__header section-footer">
<div class="card-section__header__left">
</div>
<div class="card-section__header__right">
</div>
</div>
</section>
<script>
document.addEventListener("DOMContentLoaded", () => {
const showroomOptions = {
draggable: true
}
document.querySelectorAll(".showroom-carousel-section .carousel").forEach(carouselElement => {
const carousel = new Carousel(carouselElement, showroomOptions)
carousel.init()
})
})
</script>
<section class="main-section" configurable="hvg:weeklyissue-list:07e6f20c-db69-45b4-8732-ed1a7c76e558">
<div class="newspapers-grid">
<figure class="newspaper-card">
<div class="newspaper-card__img">
<a href="https://hvg.hu/hetilap/2026-15">
<img src="https://img.hvg.hu/Img/b6333124-9826-47d3-a3af-444f232f24c2/1d0fa00e-866f-424f-a520-f869f9d8fbe1.jpg" loading="lazy" class="card-featured-img" alt="2026 15. lapszám">
</a>
<div class="newspaper-card__img__overlay-desktop">
<a role="button" href="https://hvg.hu/hetilap/2026-15" class="btn btn-neutral-0"
data-translate-key="newspapers.nextToContent"> </a>
</div>
</div>
<figcaption>2026 15. lapszám</figcaption>
</figure>
<figure class="newspaper-card">
<div class="newspaper-card__img">
<a href="https://hvg.hu/hetilap/2026-14">
<img src="https://img.hvg.hu/Img/b6333124-9826-47d3-a3af-444f232f24c2/75d00760-b96e-4cfb-b969-198485652e7d.jpg" loading="lazy" class="card-featured-img" alt="2026 14. lapszám">
</a>
<div class="newspaper-card__img__overlay-desktop">
<a role="button" href="https://hvg.hu/hetilap/2026-14" class="btn btn-neutral-0"
data-translate-key="newspapers.nextToContent"> </a>
</div>
</div>
<figcaption>2026 14. lapszám</figcaption>
</figure>
<figure class="newspaper-card">
<div class="newspaper-card__img">
<a href="https://hvg.hu/hetilap/2026-13">
<img src="https://img.hvg.hu/Img/b6333124-9826-47d3-a3af-444f232f24c2/7da6db76-b803-4dec-8a90-bb4319563e87.jpg" loading="lazy" class="card-featured-img" alt="2026 13. lapszám">
</a>
<div class="newspaper-card__img__overlay-desktop">
<a role="button" href="https://hvg.hu/hetilap/2026-13" class="btn btn-neutral-0"
data-translate-key="newspapers.nextToContent"> </a>
</div>
</div>
<figcaption>2026 13. lapszám</figcaption>
</figure>
<figure class="newspaper-card">
<div class="newspaper-card__img">
<a href="https://hvg.hu/hetilap/2026-12">
<img src="https://img.hvg.hu/Img/b6333124-9826-47d3-a3af-444f232f24c2/8930aa98-d6ff-4c35-8d07-88c033d2793e.jpg" loading="lazy" class="card-featured-img" alt="2026 12. lapszám">
</a>
<div class="newspaper-card__img__overlay-desktop">
<a role="button" href="https://hvg.hu/hetilap/2026-12" class="btn btn-neutral-0"
data-translate-key="newspapers.nextToContent"> </a>
</div>
</div>
<figcaption>2026 12. lapszám</figcaption>
</figure>
</div>
</section>
<section
class="container-narrow"
configurable="hvg:custom-html-section:5392900a-a6e1-4067-b3f9-a1fd756c94e3"
>
<section class="app-promotion" style="background-image: url('https://cdn.hvg.hu/assets/hvghu/images/sections/app-promo-background.png');">
<div class="infobox">
<div class="logo"></div>
<div class="text">
<h2 data-translations='{"aria-label": "appPromo.headline"}'>Töltsd le alkalmazásunkat!</h2>
<p data-translations='{"aria-label": "appPromo.description"}'>Alkalmazásunk számos új funkcióval elérhető már iOS-re és Androidra is</p>
</div>
</div>
<div class="cta-wrapper">
<a href="https://apps.apple.com/hu/app/hvg/id391946486" target="_blank" class="btn hover-lighten appstore-btn">
<img src="https://cdn.hvg.hu/assets/hvghu/images/sections/app-store-badge.png" alt="App Store" />
</a>
<a
href="https://play.google.com/store/apps/details?id=hu.hvg.android"
target="_blank"
class="btn hover-lighten playstore-btn"
>
<img src="https://cdn.hvg.hu/assets/hvghu/images/sections/google-play-badge.png" alt="Google Play" />
</a>
</div>
</section>
</section>
</div>
</div>
<script type="text/javascript">
addToRequiredWidgets([
"live-feed"
])
</script>
<script>
window.addEventListener("DOMContentLoaded", function() {
document.body.classList.add("main-page")
})
</script>
</main>
<footer id="footer" class="footer d-flex">
<div class="footer__bg">
<img src="https://cdn.hvg.hu/img/hvg-logo-xxl-grad.svg" fetchpriority="low" loading="lazy" alt="" />
</div>
<div class="container-narrow">
<div class="row footer__inner w-full-island">
<div class="col-xs-12 col-md-7 col-lg-4">
<ul class="m-0 p-0">
<li>
<a
href="https://bolt.hvg.hu/"
target="_blank"
class="footer__link"
rel="noopener noreferrer"
>
<span
class="icon-text"

data-translate-key="footer.links.shop"
>

</span>
</a>
</li>
<li>
<a
href="https://portfolio.hvg.hu/"
target="_blank"
class="footer__link"
rel="noopener noreferrer"
>
<span
class="icon-text"

data-translate-key="footer.links.portfolio"
>

</span>
</a>
</li>
<li>
<a
href="/hirlevelek"
target="_blank"
class="footer__link"
rel="noopener noreferrer"
>
<span
class="icon-text"

data-translate-key="footer.links.newsletter"
>

</span>
</a>
</li>
<li>
<a
href="/cookie-kezelesi-tajekoztato"
target="_blank"
class="footer__link"
rel="noopener noreferrer"
>
<span
class="icon-text"

data-translate-key="footer.links.cookie"
>

</span>
</a>
</li>
<li>
<a
href="/adatkezelesi-tajekoztato"
target="_blank"
class="footer__link"
rel="noopener noreferrer"
>
<span
class="icon-text"

data-translate-key="footer.links.adatvedelem"
>

</span>
</a>
</li>
<li>
<a
href="/altalanos-szerzodesi-feltetelek"
target="_blank"
class="footer__link"
rel="noopener noreferrer"
>
<span
class="icon-text"

data-translate-key="footer.links.aszf"
>

</span>
</a>
</li>
<li>
<a
href="/moderalasi-szabalyzat"
target="_blank"
class="footer__link"
rel="noopener noreferrer"
>
<span
class="icon-text"

data-translate-key="footer.links.moderalas"
>

</span>
</a>
</li>
<li>
<a
href="/gyakran-ismetelt-kerdesek"
target="_blank"
class="footer__link"
rel="noopener noreferrer"
>
<span
class="icon-text"

data-translate-key="footer.links.faq"
>

</span>
</a>
</li>
<li>
<a
href="/szerzok"
target="_blank"
class="footer__link"
rel="noopener noreferrer"
>
<span
class="icon-text"

data-translate-key="footer.links.authors"
>

</span>
</a>
</li>
<li>
<a
href="/impresszum"
target="_blank"
class="footer__link"
rel="noopener noreferrer"
>
<span
class="icon-text"

data-translate-key="footer.links.impresszum"
>

</span>
</a>
</li>
<li>
<a
href="/rss"
target="_blank"
class="footer__link"
rel="noopener noreferrer"
>
<span
class="icon-text"

data-translate-key="RSS"
>

</span>
</a>
</li>
</ul>
</div>
<div class="col-xs-12 col-md-5 col-lg-8">
<div class="footer__socials">
<a
href="https://www.youtube.com/HVGonline"
target="_blank"
class="btn footer__socials__button btn-neutral-700 static"
rel="noopener noreferrer"
>
<span class="hvg-icon hvg-icon-social-youtube icon-left "


><span
class="path1"></span><span class="path2"></span></span>
<span
class="icon-text"


>
YouTube
</span>
</a>
<a
href="https://www.facebook.com/hvghu"
target="_blank"
class="btn footer__socials__button btn-neutral-700 static"
rel="noopener noreferrer"
>
<span class="hvg-icon hvg-icon-social-facebook icon-left "


><span
class="path1"></span><span class="path2"></span></span>
<span
class="icon-text"


>
Facebook
</span>
</a>
<a
href="https://www.instagram.com/hvg.hu/"
target="_blank"
class="btn footer__socials__button btn-neutral-700 static"
rel="noopener noreferrer"
>
<span class="hvg-icon hvg-icon-social-instagram icon-left "


><span
class="path1"></span><span class="path2"></span></span>
<span
class="icon-text"


>
Instagram
</span>
</a>
<a
href="https://hu.linkedin.com/company/hvg-hu"
target="_blank"
class="btn footer__socials__button btn-neutral-700 static"
rel="noopener noreferrer"
>
<span class="hvg-icon hvg-icon-social-linkedin icon-left "


><span
class="path1"></span><span class="path2"></span></span>
<span
class="icon-text"


>
LinkedIn
</span>
</a>
<a
href="https://x.com/hvg_hu"
target="_blank"
class="btn footer__socials__button btn-neutral-700 static"
rel="noopener noreferrer"
>
<span class="hvg-icon hvg-icon-social-x icon-left "


><span
class="path1"></span><span class="path2"></span></span>
<span
class="icon-text"


>
X (twitter)
</span>
</a>
<a
href="https://www.threads.com/@hvg.hu"
target="_blank"
class="btn footer__socials__button btn-neutral-700 static"
rel="noopener noreferrer"
>
<span class="hvg-icon hvg-icon-social-threads icon-left "


><span
class="path1"></span><span class="path2"></span></span>
<span
class="icon-text"


>
Threads
</span>
</a>
<a
href="https://www.tiktok.com/@hvgkiado"
target="_blank"
class="btn footer__socials__button btn-neutral-700 static"
rel="noopener noreferrer"
>
<span class="hvg-icon hvg-icon-social-tiktok icon-left "


><span
class="path1"></span><span class="path2"></span></span>
<span
class="icon-text"


>
TikTok
</span>
</a>
</div>
</div>
<div class="col-xs-12 version">
HVG Kiadó Zrt. © 2026
</div>
</div>
<div class="row">
<div class="col-xs-12 easter-egg">
<img src="https://cdn.hvg.hu/assets/hvghu/images/footer_artwork.svg" loading="lazy" alt="">
</div>
</div>
</div>
</footer>
<script type="text/javascript">
addToRequiredWidgets([
"ad-placement",
"notification",
"login",
"logout",
"account-deletion"
])
</script>
<login-widget></login-widget>
<notification-widget></notification-widget>
<logout-widget></logout-widget>
<account-delete-widget></account-delete-widget>
<script type="text/javascript">
const main = document.querySelector("main")
let currentOpenDropdown = null
function handleDropdown(event) {
event.preventDefault()
const dropdown = event.target.closest(".dropdown")
if (!dropdown) return
if (currentOpenDropdown && currentOpenDropdown !== dropdown) {
currentOpenDropdown.open = false
}
const isAlreadyOpen = dropdown.open
if (!isAlreadyOpen) {
dropdown.open = true
currentOpenDropdown = dropdown
document.addEventListener("click", dropdownEventListener)
} else {
dropdown.open = false
currentOpenDropdown = null
document.removeEventListener("click", dropdownEventListener)
}
}
function dropdownEventListener(event) {
if (!currentOpenDropdown) return
if (!currentOpenDropdown.contains(event.target)) {
currentOpenDropdown.open = false
currentOpenDropdown = null
document.removeEventListener("click", dropdownEventListener)
}
}
function injectAndRunHTML(targetDiv, html) {
targetDiv.innerHTML = html
targetDiv.querySelectorAll("script").forEach((oldScript) => {
const newScript = document.createElement("script")
if (oldScript.textContent) newScript.textContent = oldScript.textContent
if (oldScript.src) newScript.src = oldScript.src
if (oldScript.async) newScript.async = oldScript.async
if (oldScript.defer) newScript.defer = oldScript.defer
oldScript.remove()
document.body.appendChild(newScript)
})
}
function openDialog(dialogId = "") {
const dialog = document.getElementById(dialogId)
if (typeof dialog.showModal === "function") {
dialog.showModal()
dialog.addEventListener("click", (event) => {
dialogEventListener(event, dialog)
})
}
}
function dialogEventListener(event, dialog) {
const dialogWrapper = dialog.querySelector(".dialog-wrapper")
if (!dialogWrapper) return
const isClickInside = dialogWrapper.contains(event.target)
if (!isClickInside) {
closeDialog(dialog.id)
}
}
function closeDialog(dialogId = "") {
const dialog = document.getElementById(dialogId)
if (!dialog) return
dialog.close()
dialog.removeEventListener("click", (event) => {
dialogEventListener(event, dialog)
})
}
function isLoading(selectorID = "", isLoading = true) {
const elementLoadingRing = document.querySelector("#" + selectorID + " .loading-ring")
const elementLoadingBody = document.querySelector("#" + selectorID + " .loading-body")
if (isLoading) {
elementLoadingRing.style.display = "block"
elementLoadingBody.style.display = "none"
} else {
elementLoadingRing.style.display = "none"
elementLoadingBody.style.display = "block"
}
}
function initSmoothScrollLinks() {
document.querySelectorAll(".scroll-link").forEach((link) => {
link.addEventListener("click", function(event) {
event.preventDefault()
const targetId = this.getAttribute("href").substring(1)
const targetElement = document.getElementById(targetId)
if (targetElement) {
targetElement.scrollIntoView({
behavior: "smooth",
block: "start"
})
}
})
})
}
function removeValueFromArray(arr, value) {
const valuesToRemove = Array.isArray(value) ? value : [value]
for (let i = arr.length - 1; i >= 0; i--) {
if (valuesToRemove.includes(arr[i])) {
arr.splice(i, 1)
}
}
return arr
}
function appendWidgets() {
if (!requiredWidgets) return
let uniqueWidgets = [...new Set(requiredWidgets)]
removeValueFromArray(uniqueWidgets, ["logout", "account-deletion", "closing", "paywall"])
if (uniqueWidgets.includes("live-feed")) {
const livefeedElement = main.querySelector("hvg-livefeed-element")
if (!livefeedElement) {
removeValueFromArray(uniqueWidgets, "live-feed")
}
}
verifyToken()
.then(() => removeValueFromArray(uniqueWidgets, "login"))
.finally(() => {
uniqueWidgets.forEach((w) => {
appendWidget(w)
})
})
}
function init(context = document) {
processLocalDatetimeElements(context)
processTimeAgoElements(context)
initTranslations(context)
}
</script>
<script>
const INTEREST_CHECKBOX_SELECTOR = ".interest-checkbox[type='checkbox'][data-id]"
const FOLLOW_INTEREST_CONTROL_BTN = ".interest-checkbox-control[data-target]"
const FOLLOW_INTEREST_URL = `${window.siteConfig.multiSiteGatewayBaseUrl}/api/Profile/followedInterests`
const UNFOLLOW_INTEREST_URL = `${window.siteConfig.multiSiteGatewayBaseUrl}/api/Profile/followedInterests`
function initInterests() {
verifyToken().then(() => {
getFollowedInterests((interest) => {
document.querySelectorAll(INTEREST_CHECKBOX_SELECTOR).forEach((c) => {
const id = c.getAttribute("data-id")
if (id && interest.includes(id)) {
c.checked = true
}
})
})
})
manageInterestCheckboxes()
}
function getFollowedInterests(successCallback) {
fetch(FOLLOW_INTEREST_URL, {
method: "GET",
credentials: "include"
})
.then(function(response) {
if (!response.ok) {
throw new Error(`HTTP error! Status: ${response.status}`)
}
return response.json()
})
.then(function(data) {
if (successCallback) successCallback(data)
})
}
function manageInterestCheckboxes() {
document.querySelectorAll(FOLLOW_INTEREST_CONTROL_BTN).forEach((btn) => {
btn.addEventListener("click", (e) => {
e.preventDefault()
checkAuthOrTryLogin(() => {
const checkbox = btn.parentElement.querySelector("input")
const wantedState = !checkbox.checked
const id = checkbox.getAttribute("data-id")
setInterestFollowed(id, wantedState, () => {
checkbox.checked = wantedState
const ariaLabelKey = wantedState ? "data-label-followed" : "data-label-follow"
const ariaLabel = btn.getAttribute(ariaLabelKey)
btn.setAttribute("aria-label", ariaLabel)
btn.setAttribute("title", ariaLabel)
})
})
})
})
}
function setInterestFollowed(id, wantedState, successCallback) {
const method = wantedState ? "POST" : "DELETE"
fetch(UNFOLLOW_INTEREST_URL, {
method: method,
credentials: "include",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify({ id: id })
}).then(function(response) {
if (!response.ok) {
throw new Error(`HTTP error! Status: ${response.status}`)
}
if (successCallback) {
successCallback()
}
})
}
</script>
<script>
const AUTHOR_CONTROLS_SELECTOR = ".author-control[data-type][data-object-id]"
const AUTHOR_CONTROL_WRAPPER = ".author-followable"
const AUTHOR_CONTROL_FOLLOW = "authorButtonFollow"
const AUTHOR_CONTROL_UNFOLLOW = "authorButtonUnfollow"
function manageAuthorButtons() {
document.querySelectorAll(AUTHOR_CONTROLS_SELECTOR).forEach((btn) => {
const authorId = btn.getAttribute("data-object-id")
const shouldFollow = btn.getAttribute("data-type") === AUTHOR_CONTROL_FOLLOW
btn.addEventListener("click", () => {
checkAuthOrTryLogin(() => {
setAuthorFollow(authorId, shouldFollow)
})
})
})
}
async function initAuthors() {
await initFollowableAuthors()
await initFollowedAuthors()
manageAuthorButtons()
}
function getFollowableAuthorIds(success) {
fetch(`${window.siteConfig.multiSiteGatewayBaseUrl}/api/Authors/followable-authors`, {
method: "GET",
credentials: "include"
})
.then(function(response) {
if (!response.ok) {
throw new Error(`HTTP error! Status: ${response.status}`)
}
return response.json()
})
.then(function(data) {
success(data)
})
}
async function initFollowableAuthors() {
getFollowableAuthorIds((ids) => {
document.querySelectorAll(AUTHOR_CONTROLS_SELECTOR).forEach((btn) => {
const authorId = btn.getAttribute("data-object-id")
const isFollowable = ids.includes(authorId)
const followBtn = btn.getAttribute("data-type") === AUTHOR_CONTROL_FOLLOW
if (isFollowable) {
btn.classList.toggle(HIDDEN, !followBtn)
} else {
btn.removeAttribute("data-object-id")
}
})
})
}
function getFollowedAuthorIds(success) {
fetch(`${window.siteConfig.multiSiteGatewayBaseUrl}/api/Profile/followedAuthors`, {
method: "GET",
credentials: "include"
})
.then(function(response) {
if (!response.ok) {
throw new Error(`HTTP error! Status: ${response.status}`)
}
return response.json()
})
.then(function(data) {
success(data)
})
}
async function initFollowedAuthors() {
verifyToken().then(() => {
getFollowedAuthorIds((ids) => {
document.querySelectorAll(AUTHOR_CONTROLS_SELECTOR).forEach((btn) => {
const authorId = btn.getAttribute("data-object-id")
const isFollowBtn = btn.getAttribute("data-type") === AUTHOR_CONTROL_FOLLOW
if (ids.includes(authorId)) {
btn.classList.toggle(HIDDEN, isFollowBtn)
const wrapper = document.querySelector(`${AUTHOR_CONTROL_WRAPPER}[data-author-id="${authorId}"]`)
wrapper?.classList.add("followed")
}
})
})
})
}
function setAuthorFollow(id, shouldFollow) {
const btns = document.querySelectorAll(`${AUTHOR_CONTROLS_SELECTOR}[data-object-id="${id}"]`)
const wrapper = document.querySelector(`${AUTHOR_CONTROL_WRAPPER}[data-author-id="${id}"]`)
fetch(`${window.siteConfig.multiSiteGatewayBaseUrl}/api/Profile/followedAuthors`, {
method: shouldFollow ? "POST" : "DELETE",
credentials: "include",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify({ id: id })
}).then(function(response) {
if (!response.ok) {
throw new Error(`HTTP error! Status: ${response.status}`)
}
btns.forEach((b) => {
const type = b.getAttribute("data-type")
const isFollow = type === "authorButtonFollow"
const isUnfollow = type === "authorButtonUnfollow"
const shouldHide = (shouldFollow && isFollow) || (!shouldFollow && isUnfollow)
b.classList.toggle(HIDDEN, shouldHide)
})
wrapper?.classList.toggle("followed", shouldFollow)
})
}
</script>
<script>
const COLORTHIEF_SELECTOR = ".init-color-thief"
const COLORTHIEF_CANVAS_WIDTH = 100
const COLORTHIEF_CANVAS_HEIGHT = 100
function useColorThief(context = document) {
const wrappers = context.querySelectorAll(COLORTHIEF_SELECTOR)
if (!wrappers.length) return
if (typeof ColorThief !== "undefined") {
initColorThief(wrappers)
} else {
const script = document.createElement("script")
script.src = "https://cdnjs.cloudflare.com/ajax/libs/color-thief/2.6.0/color-thief.umd.js"
script.async = true
script.onload = function() {
initColorThief(wrappers)
}
document.head.appendChild(script)
}
}
function initColorThief(wrappers) {
try {
const colorThiefObj = new ColorThief()
wrappers.forEach(wrapper => {
const datasetOptions = JSON.parse(wrapper.dataset.colorThiefOptions || "{}")
const options = {
...defaultOptions(),
...datasetOptions
}
let targetElement = (!options.target || options.target === "self") ? wrapper : wrapper.querySelector(options.target)
let baseImage = wrapper.querySelector(options.image)
if (!baseImage) return
if (baseImage.crossOrigin !== "anonymous") {
baseImage.crossOrigin = "anonymous"
}
if (baseImage.complete) {
processImageWithCanvas(colorThiefObj, targetElement, baseImage, options)
} else {
baseImage.addEventListener("load", () => {
processImageWithCanvas(colorThiefObj, targetElement, baseImage, options)
}, { once: true })
}
wrapper.classList.remove("init-color-thief")
}
)
} catch (error) {
debugError(error)
}
function defaultOptions() {
return {
image: "img",
target: "self",
resize: true,
setDominantColor: true,
setDarkestColor: true
}
}
function processImageWithCanvas(colorThief, target, img, options) {
try {
if (options.resize) {
const canvas = document.createElement("canvas")
canvas.width = COLORTHIEF_CANVAS_WIDTH
canvas.height = COLORTHIEF_CANVAS_HEIGHT
const ctx = canvas.getContext("2d")
ctx.drawImage(img, 0, 0, COLORTHIEF_CANVAS_WIDTH, COLORTHIEF_CANVAS_HEIGHT)
const resizedImage = new Image()
resizedImage.onload = function() {
setColorVariables(colorThief, target, resizedImage, options.setDominantColor, options.setDarkestColor)
}
resizedImage.src = canvas.toDataURL()
} else {
setColorVariables(colorThief, target, img, options.setDominantColor, options.setDarkestColor)
}
} catch (error) {
debugError("Error processing image with canvas:", error)
}
}
function setColorVariables(colorThief, target, img, setDominantColor, setDarkestColor) {
if (setDominantColor) {
let dominant = colorThief.getColor(img)
let dominantColor = getRGBA(dominant)
target.style.setProperty("--dominant-color", dominantColor)
}
if (setDarkestColor) {
let palette = colorThief.getPalette(img)
let darkestColor = getRGBA(getDarkestColor(palette))
target.style.setProperty("--darkest-color", darkestColor)
}
}
function getDarkestColor(colors) {
return colors.reduce((darkest, color) => {
const [r, g, b, a = 1] = color
const luminance = (0.2126 * r + 0.7152 * g + 0.0722 * b) * a
if (!darkest || luminance < darkest.luminance) {
return { color, luminance }
}
return darkest
}, null).color
}
function getRGBA(rgb, alpha = 1) {
return `rgba(${rgb[0]}, ${rgb[1]}, ${rgb[2]}, ${alpha})`
}
}
</script>
<script>
(function () {
function syncOne(el) {
if (!el) return;
const isOpen = !!el.open;
el.classList.toggle('open', isOpen);
const opener = el.querySelector('.dropdown-opener');
const list = el.querySelector('.authors-dropdown__list');
if (opener) opener.setAttribute('aria-expanded', isOpen ? 'true' : 'false');
if (list) {
if (isOpen) list.removeAttribute('hidden');
else list.setAttribute('hidden', '');
}
}
function syncAll() {
document.querySelectorAll('.authors-dropdown.dropdown').forEach(syncOne);
}
function closeAuthorsDropdown(el) {
if (!el) return;
el.open = false;
syncOne(el);
const opener = el.querySelector('.dropdown-opener');
if (opener) opener.focus();
}
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', syncAll);
} else {
syncAll();
}
document.addEventListener('click', function () {
setTimeout(syncAll, 0);
}, true);
document.addEventListener('keydown', function (e) {
if (e.key !== 'Escape') return;
const dd = e.target && e.target.closest('.authors-dropdown.dropdown');
if (!dd) return;
if (dd.open || dd.classList.contains('open')) {
e.preventDefault();
e.stopPropagation();
closeAuthorsDropdown(dd);
}
}, true);
})();
</script><script type="text/javascript">
function initFloatingWindow() {
var RESTORE_MS = 300
var SESSION_KEY = 'fw_state'
var DISMISS_KEY = 'fw_dismissed'
var PIP_ID = 'fw-pip-btn'
var FALLBACK_IMG = 'https://img.staging-hvg.hu/Img/da658e97-86c0-40f3-acd3-b0a850f32c30/1da0724d-03b9-4a78-bc04-949f2859285b.jpg'
var isPlaying = null // null=unknown | true=playing | false=paused/ended
var isLive = null // null=unknown | true=live stream | false=VOD
var playStartWallClock = null
var accumulatedSeconds = 0
var onPlayCallbacks = []
var liveCandidates = []
;(function () {
try {
var html = sessionStorage.getItem('fw_state')
if (!html) return
var tmp = document.createElement('div')
tmp.innerHTML = html
var iframe = tmp.querySelector('iframe')
if (!iframe) return
var m = iframe.getAttribute('src').match(/[?&]start=(\d+)/)
if (m) accumulatedSeconds = parseInt(m[1], 10)
} catch (_) {}
})()
window.addEventListener('message', function (e) {
if (!e.data) return
try {
var d = typeof e.data === 'string' ? JSON.parse(e.data) : e.data
if (d.event === 'infoDelivery' && d.info && typeof d.info.duration === 'number') {
for (var ci = 0; ci < liveCandidates.length; ci++) {
if (e.source === liveCandidates[ci].iframe.contentWindow) {
if (d.info.duration === 0) {
var liveContainer = liveCandidates[ci].container
liveContainer.classList.add('floating-window')
initFloater(liveContainer)
}
liveCandidates.splice(ci, 1)
return
}
}
if (isLive === null) isLive = (d.info.duration === 0)
return
}
if (d.event !== 'onStateChange') return
var st = d.info
if (st === 1 || st === 3) {
if (!isPlaying) playStartWallClock = Date.now()
isPlaying = true
if (st === 1) {
if (isLive === null) requestDuration()
onPlayCallbacks.forEach(function (fn) { fn() })
}
} else {
if (isPlaying && playStartWallClock !== null) {
accumulatedSeconds += (Date.now() - playStartWallClock) / 1000
playStartWallClock = null
}
isPlaying = false
}
} catch (_) {}
})
function getElapsedSeconds() {
var t = accumulatedSeconds
if (playStartWallClock !== null) t += (Date.now() - playStartWallClock) / 1000
return Math.floor(t)
}
function resetTimeTracking() {
playStartWallClock = null
accumulatedSeconds = 0
}
function requestDuration() {
var iframes = document.querySelectorAll('iframe[src*="youtube"]')
for (var i = 0; i < iframes.length; i++) {
try { iframes[i].contentWindow.postMessage(JSON.stringify({ event: 'command', func: 'getDuration', args: [] }), '*') } catch (_) {}
}
}
function ss(action, key, val) {
try {
if (action === 'get') return sessionStorage.getItem(key)
if (action === 'set') sessionStorage.setItem(key, val)
if (action === 'remove') sessionStorage.removeItem(key)
} catch (_) {}
return null
}
function saveFloaterContent(floater) {
var clone = floater.cloneNode(true)
var ctrl = clone.querySelector('.floating-window__controls')
if (ctrl) ctrl.parentNode.removeChild(ctrl)
ss('set', SESSION_KEY, clone.innerHTML)
}
function saveTimeToSession() {
var html = ss('get', SESSION_KEY)
if (!html) return
var tmp = document.createElement('div')
tmp.innerHTML = html
var iframe = tmp.querySelector('iframe')
if (!iframe) return
var src = iframe.getAttribute('src')
src = src.replace(/[?&]start=\d+/g, '').replace(/[?&]autoplay=\d/g, '').replace(/[?&]$/g, '')
var sep = src.indexOf('?') !== -1 ? '&' : '?'
var t = getElapsedSeconds()
src += sep + (isLive === false && t > 0 ? 'start=' + t + '&' : '') + 'autoplay=1'
iframe.setAttribute('src', src)
ss('set', SESSION_KEY, tmp.innerHTML)
}
setInterval(function () { if (isPlaying === true) saveTimeToSession() }, 1000)
window.addEventListener('pagehide', function () {
var alreadyStored = !!ss('get', SESSION_KEY)
if (!alreadyStored && isPlaying === true) {
var fw = document.querySelector('.floating-window')
if (fw) saveFloaterContent(fw)
}
if (alreadyStored || isPlaying === true) saveTimeToSession()
})
function removePip() {
var el = document.getElementById(PIP_ID)
if (el && el.parentNode) el.parentNode.removeChild(el)
}
function showPip(onClick) {
removePip()
var btn = document.createElement('button')
btn.id = PIP_ID
btn.type = 'button'
btn.className = 'floating-window__pip-btn'
btn.setAttribute('aria-label', 'Videó megnyitása')
btn.innerHTML = '<svg viewBox="0 0 16 16" fill="currentColor"><path d="M4 2l10 6-10 6V2z"/></svg>'
btn.addEventListener('click', onClick)
document.body.appendChild(btn)
}
function pauseIframe(container) {
var iframe = container.querySelector('iframe')
if (!iframe) return
try { iframe.contentWindow.postMessage('{"event":"command","func":"pauseVideo","args":""}', '*') } catch (_) {}
}
function ytThumb(container) {
var iframe = container.querySelector('iframe[src*="youtube"]')
if (!iframe) return FALLBACK_IMG
var m = iframe.src.match(/\/embed\/([^?&/]+)/)
return m ? 'https://img.youtube.com/vi/' + m[1] + '/hqdefault.jpg' : FALLBACK_IMG
}
function mkBtn(cls, label, svg) {
var b = document.createElement('button')
b.type = 'button'
b.className = 'floating-window__btn floating-window__btn--' + cls
b.setAttribute('aria-label', label)
b.innerHTML = svg
return b
}
function showGhost() {
var content = ss('get', SESSION_KEY)
if (!content) return
var ghost = document.createElement('div')
ghost.className = 'floating-window is-floating'
ghost.innerHTML = content
var controls = document.createElement('div')
controls.className = 'floating-window__controls'
var minBtn = mkBtn('minimize', 'Kicsinyítés', '<svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><path d="M3 8h10"/></svg>')
minBtn.addEventListener('click', function () {
ghost.classList.add('is-minimizing')
ss('set', DISMISS_KEY, '1')
setTimeout(function () {
ghost.classList.remove('is-minimizing')
ghost.classList.add('is-minimized')
}, 300)
showPip(function () {
removePip()
ss('remove', DISMISS_KEY)
ghost.classList.remove('is-minimized')
ghost.classList.add('is-pip-restoring')
setTimeout(function () { ghost.classList.remove('is-pip-restoring') }, 400)
})
})
var clsBtn = mkBtn('restore', 'Bezárás', '<svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"><path d="M4 4l8 8M12 4L4 12"/></svg>')
clsBtn.addEventListener('click', function () {
pauseIframe(ghost)
ghost.classList.add('is-restoring')
setTimeout(function () {
if (ghost.parentNode) ghost.parentNode.removeChild(ghost)
ss('remove', SESSION_KEY)
ss('remove', DISMISS_KEY)
}, RESTORE_MS)
})
controls.appendChild(minBtn)
controls.appendChild(clsBtn)
ghost.appendChild(controls)
document.body.appendChild(ghost)
var gIframe = ghost.querySelector('iframe[src*="youtube"]')
if (gIframe) {
function ytGhostHandshake() {
try {
gIframe.contentWindow.postMessage(JSON.stringify({ event: 'listening' }), '*')
gIframe.contentWindow.postMessage(JSON.stringify({ event: 'command', func: 'addEventListener', args: ['onStateChange'] }), '*')
} catch (_) {}
}
gIframe.addEventListener('load', function () { setTimeout(ytGhostHandshake, 200) })
setTimeout(ytGhostHandshake, 500)
}
}
function initFloater(floater) {
var placeholder = null
var hasBeenVisible = false
var isOffScreen = false
var originalSrc = null
var iframe = floater.querySelector('iframe[src*="youtube"]')
if (iframe) {
originalSrc = iframe.getAttribute('src')
if (iframe.src.indexOf('enablejsapi') === -1) {
iframe.src += (iframe.src.indexOf('?') !== -1 ? '&' : '?') + 'enablejsapi=1'
originalSrc = iframe.getAttribute('src')
}
function ytHandshake() {
try {
iframe.contentWindow.postMessage(JSON.stringify({event: 'listening'}), '*')
iframe.contentWindow.postMessage(JSON.stringify({event: 'command', func: 'addEventListener', args: ['onStateChange']}), '*')
} catch (_) {}
}
iframe.addEventListener('load', function () { setTimeout(ytHandshake, 200) })
setTimeout(ytHandshake, 500)
}
var controls = document.createElement('div')
controls.className = 'floating-window__controls'
var pinBtn = mkBtn('pin', 'Lebegő ablakba küldés', '<svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M3 3L13 13"/><path d="M8 13h5V8"/></svg>')
var minimizeBtn = mkBtn('minimize', 'Kicsinyítés', '<svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><path d="M3 8h10"/></svg>')
var closeBtn = mkBtn('restore', 'Bezárás', '<svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"><path d="M4 4l8 8M12 4L4 12"/></svg>')
controls.appendChild(pinBtn)
controls.appendChild(minimizeBtn)
controls.appendChild(closeBtn)
floater.appendChild(controls)
function makeFloat() {
if (floater.classList.contains('is-floating')) return
if (document.querySelector('.floating-window.is-floating')) return
removePip()
observer.unobserve(floater)
if (isPlaying !== true) {
var saved = ss('get', SESSION_KEY)
if (saved) {
var tmp = document.createElement('div')
tmp.innerHTML = saved
var sIframe = tmp.querySelector('iframe')
var lIframe = floater.querySelector('iframe')
if (sIframe && lIframe) lIframe.src = sIframe.getAttribute('src')
}
}
placeholder = document.createElement('div')
placeholder.className = 'floating-window__placeholder'
//placeholder.style.cssText = 'pointer-events:none;width:' + floater.offsetWidth + 'px;height:' + floater.offsetHeight + 'px;'
placeholder.innerHTML = '<img src="' + ytThumb(floater) + '" loading="lazy" alt="" style="width:100%;aspect-ratio:16/9;object-fit:cover;display:block;">'
floater.parentNode.insertBefore(placeholder, floater)
floater.classList.add('is-floating')
saveFloaterContent(floater)
ss('remove', DISMISS_KEY)
saveTimeToSession()
}
function minimize() {
if (!floater.classList.contains('is-floating')) return
floater.classList.add('is-minimizing')
ss('set', DISMISS_KEY, '1')
setTimeout(function () {
floater.classList.remove('is-minimizing')
floater.classList.add('is-minimized')
}, 300)
showPip(function () {
removePip()
ss('remove', DISMISS_KEY)
floater.classList.remove('is-minimized')
floater.classList.add('is-pip-restoring')
setTimeout(function () { floater.classList.remove('is-pip-restoring') }, 400)
})
}
function closeFloat() {
if (!floater.classList.contains('is-floating')) return
pauseIframe(floater)
floater.classList.add('is-restoring')
setTimeout(function () {
floater.classList.remove('is-floating', 'is-restoring')
var lIframe = floater.querySelector('iframe')
if (lIframe && originalSrc) lIframe.src = originalSrc
if (placeholder && placeholder.parentNode) { placeholder.parentNode.removeChild(placeholder); placeholder = null }
ss('remove', SESSION_KEY)
resetTimeTracking()
observer.observe(floater)
}, RESTORE_MS)
}
pinBtn.addEventListener('click', makeFloat)
minimizeBtn.addEventListener('click', minimize)
closeBtn.addEventListener('click', closeFloat)
onPlayCallbacks.push(function () {
if (ss('get', DISMISS_KEY)) return
if (!floater.classList.contains('is-floating') && isOffScreen && hasBeenVisible) makeFloat()
})
var observer = new IntersectionObserver(function (entries) {
entries.forEach(function (entry) {
if (entry.intersectionRatio >= 0.5) {
hasBeenVisible = true
isOffScreen = false
} else {
isOffScreen = true
if (!floater.classList.contains('is-floating') && hasBeenVisible && isPlaying === true) makeFloat()
}
})
}, { threshold: 0.5 })
var dismissed = ss('get', DISMISS_KEY)
var floatState = ss('get', SESSION_KEY)
if (dismissed && floatState) {
showPip(function () { removePip(); ss('remove', DISMISS_KEY); makeFloat() })
} else if (!dismissed && floatState) {
makeFloat()
} else if (!dismissed) {
observer.observe(floater)
}
}
function scanForLiveEmbeds() {
var candidates = document.querySelectorAll('iframe[src*="youtube"]')
for (var i = 0; i < candidates.length; i++) {
var el = candidates[i]
if (el.closest('.floating-window')) continue
var src = el.getAttribute('src')
if (src.indexOf('enablejsapi') === -1) {
el.setAttribute('src', src + (src.indexOf('?') !== -1 ? '&' : '?') + 'enablejsapi=1')
}
liveCandidates.push({ iframe: el, container: el.parentElement })
;(function (iframe) {
function probe() {
try {
iframe.contentWindow.postMessage(JSON.stringify({ event: 'listening' }), '*')
iframe.contentWindow.postMessage(JSON.stringify({ event: 'command', func: 'getDuration', args: [] }), '*')
} catch (_) {}
}
iframe.addEventListener('load', function () { setTimeout(probe, 200) })
setTimeout(probe, 500)
})(el)
}
}
var floaters = document.querySelectorAll('.floating-window')
if (floaters.length > 0) {
floaters.forEach(initFloater)
scanForLiveEmbeds()
} else {
scanForLiveEmbeds()
var floatState = ss('get', SESSION_KEY)
if (!floatState) return
var dismissed = ss('get', DISMISS_KEY)
if (dismissed) {
showPip(function () { removePip(); ss('remove', DISMISS_KEY); showGhost() })
} else {
showGhost()
}
}
}
</script>
<script type="text/javascript">
if (new URL(window.location.href).searchParams.has("layoutedit")) {
addToRequiredWidgets("site-configurator");
}
document.addEventListener(
"translationsLoaded",
() => {
initTranslations();
},
{ once: true }
);
document.addEventListener("DOMContentLoaded", () => {
init();
appendWidgets();
initFloatingWindow();
});
window.onload = function () {
debugLog("Window loaded, initing colorthief, smooth scroll links, and check for new translations.");
initSmoothScrollLinks();
useColorThief();
refreshTranslations();
};
</script>
<script type="text/javascript">
(function () {
const FOCUSABLE_SEL =
'a[href],button:not([disabled]),input:not([disabled]),select:not([disabled]),textarea:not([disabled]),[tabindex]:not([tabindex="-1"])';
const RETRY_MAX = 30;
const RETRY_DELAY = 30;
const FIRST_FOCUS_RETRY_MAX = 40;
const FIRST_FOCUS_RETRY_DELAY = 30;
function focusNoScroll(el) {
try { el.focus({ preventScroll: true }); } catch { el.focus(); }
}
function isElemVisible(el) {
if (!el) return false;
const s = getComputedStyle(el);
if (s.display === "none" || s.visibility === "hidden") return false;
if (el.offsetParent === null && s.position !== "fixed") return false;
return el.offsetWidth > 0 && el.offsetHeight > 0;
}
// ====== Login / Logout widget accessibility ======
(function () {
function initLoginHostA11y(options) {
const singleDefault = {
widgetSelector: ".login-widget-isolated",
modalSelector: ".modal-mask",
closeBtnSelector: '.close-login, .modal-close, .custom-toggler, [data-dismiss="modal"]',
openerSelectors: [".open-profile", "[data-login-opener]"]
};
const targets =
options && Array.isArray(options.targets) && options.targets.length
? options.targets
: [Object.assign({}, singleDefault, options || {})];
const lifecycleCleanup = [];
function isVisible(el) {
if (!el) return false;
const s = getComputedStyle(el);
return s.display !== "none" && s.visibility !== "hidden";
}
function getFocusable(container) {
return Array.from(container.querySelectorAll(FOCUSABLE_SEL))
.filter((el) => el.offsetParent !== null || el === container);
}
function isolateBackgroundByPath(leaf, sessionCleanup) {
const restored = [];
let el = leaf;
while (el && el !== document.body) {
const parent = el.parentElement;
if (!parent) break;
Array.from(parent.children).forEach((sib) => {
if (sib === el) return;
if (!sib.__a11yInertApplied) {
sib.__a11yPrevAriaHidden = sib.getAttribute("aria-hidden");
sib.__a11yPrevInert = sib.hasAttribute("inert");
sib.setAttribute("aria-hidden", "true");
sib.setAttribute("inert", "");
sib.__a11yInertApplied = true;
restored.push(sib);
}
});
el = parent;
}
sessionCleanup.push(() => {
restored.forEach((sib) => {
if (sib.__a11yPrevAriaHidden === null) sib.removeAttribute("aria-hidden");
else sib.setAttribute("aria-hidden", sib.__a11yPrevAriaHidden);
if (!sib.__a11yPrevInert) sib.removeAttribute("inert");
delete sib.__a11yInertApplied;
delete sib.__a11yPrevAriaHidden;
delete sib.__a11yPrevInert;
});
});
}
function focusModalInitial(modalRoot) {
const modal = modalRoot.querySelector(".modal-container") || modalRoot;
const auto = modal.querySelector("[autofocus]");
if (auto instanceof HTMLElement) {
focusNoScroll(auto);
return;
}
const f = getFocusable(modal);
if (f.length) {
focusNoScroll(f[0]);
return;
}
if (!modal.hasAttribute("tabindex")) modal.setAttribute("tabindex", "-1");
focusNoScroll(modal);
}
const stateByTarget = new Map();
targets.forEach((t) => {
stateByTarget.set(t, {
openerEl: null,
lastFocused: null,
activeModalRoot: null,
sessionCleanup: [],
managedRoots: new WeakSet()
});
});
function endSession(t) {
const s = stateByTarget.get(t);
s.sessionCleanup.forEach((fn) => { try { fn(); } catch {} });
s.sessionCleanup = [];
const back = s.openerEl && document.body.contains(s.openerEl) ? s.openerEl : s.lastFocused;
if (back && document.body.contains(back)) focusNoScroll(back);
s.activeModalRoot = null;
s.openerEl = null;
s.lastFocused = null;
}
function handleClose(t) { endSession(t); }
function handleOpen(t, rootEl, modalRoot) {
const s = stateByTarget.get(t);
if (s.activeModalRoot === modalRoot && isVisible(modalRoot)) return;
if (s.activeModalRoot && s.activeModalRoot !== modalRoot) endSession(t);
s.activeModalRoot = modalRoot;
s.lastFocused = document.activeElement;
isolateBackgroundByPath(modalRoot, s.sessionCleanup);
focusModalInitial(modalRoot);
function onKeydownEsc(e) {
if (e.key !== "Escape") return;
const btn = modalRoot.querySelector(t.closeBtnSelector);
if (btn instanceof HTMLElement) {
e.preventDefault();
btn.click();
} else {
handleClose(t);
}
}
document.addEventListener("keydown", onKeydownEsc, { capture: true });
s.sessionCleanup.push(() => document.removeEventListener("keydown", onKeydownEsc, { capture: true }));
const attrObserver = new MutationObserver(() => {
if (!document.body.contains(modalRoot) || !isVisible(modalRoot)) handleClose(t);
});
attrObserver.observe(modalRoot, { attributes: true, attributeFilter: ["class", "style", "hidden", "aria-hidden"] });
s.sessionCleanup.push(() => attrObserver.disconnect());
const removalObserver = new MutationObserver(() => {
if (!rootEl.contains(modalRoot)) handleClose(t);
});
removalObserver.observe(rootEl, { childList: true, subtree: true });
s.sessionCleanup.push(() => removalObserver.disconnect());
}
function captureOpener(ev) {
const path = ev.composedPath ? ev.composedPath() : null;
const root = path ? path[0] : ev.target;
if (!(root instanceof Element)) return;
targets.forEach((t) => {
if (!t.openerSelectors) return;
for (const sel of t.openerSelectors) {
const btn = root.closest(sel);
if (btn) {
stateByTarget.get(t).openerEl = btn;
return;
}
}
});
}
document.addEventListener("pointerdown", captureOpener, true);
function onKeyAsOpener(e) {
if (e.key === "Enter" || e.key === " ") captureOpener(e);
}
document.addEventListener("keydown", onKeyAsOpener, true);
function checkModalState(t, widgetRoot) {
const s = stateByTarget.get(t);
const modalRoot = widgetRoot.querySelector(t.modalSelector);
if (modalRoot && isVisible(modalRoot)) {
handleOpen(t, widgetRoot, modalRoot);
} else if (s.activeModalRoot && (!modalRoot || !isVisible(modalRoot))) {
handleClose(t);
}
}
function attachWidgetObserver(t, widgetRoot) {
const s = stateByTarget.get(t);
if (s.managedRoots.has(widgetRoot)) return;
s.managedRoots.add(widgetRoot);
const mo = new MutationObserver(() => checkModalState(t, widgetRoot));
mo.observe(widgetRoot, {
childList: true,
subtree: true,
attributes: true,
attributeFilter: ["class", "style", "hidden", "aria-hidden"]
});
lifecycleCleanup.push(() => mo.disconnect());
checkModalState(t, widgetRoot);
}
const bodyObserver = new MutationObserver((muts) => {
for (const m of muts) {
for (const n of Array.from(m.addedNodes)) {
if (!(n instanceof Element)) continue;
targets.forEach((t) => {
const root = n.matches?.(t.widgetSelector) ? n : n.querySelector?.(t.widgetSelector);
if (root) attachWidgetObserver(t, root);
});
}
}
});
bodyObserver.observe(document.body, { childList: true, subtree: true });
targets.forEach((t) => {
document.querySelectorAll(t.widgetSelector).forEach((el) => attachWidgetObserver(t, el));
});
return {
destroy() {
targets.forEach((t) => endSession(t));
document.removeEventListener("pointerdown", captureOpener, true);
document.removeEventListener("keydown", onKeyAsOpener, true);
bodyObserver.disconnect();
lifecycleCleanup.forEach((fn) => { try { fn(); } catch {} });
}
};
}
window.initLoginHostA11y = initLoginHostA11y;
})();
window.initLoginHostA11y({
targets: [
{
widgetSelector: ".login-widget-isolated",
modalSelector: ".modal-mask",
closeBtnSelector: '.close-login, .modal-close, .custom-toggler, [data-dismiss="modal"]',
openerSelectors: [".open-profile", "[data-login-opener]"]
},
{
widgetSelector: ".logout-widget-isolated",
modalSelector: ".modal-overlay",
closeBtnSelector: ".modal__footer .btn:not(.btn-site)",
openerSelectors: [".open-logout", "[data-logout-opener]"]
}
]
});
// ====== Latest feed accessibility ======
function initWcagLatest() {
var IS_DESKTOP_LIKE = matchMedia('(hover: hover) and (pointer: fine)');
function shouldRestoreFocus(){ 
return IS_DESKTOP_LIKE.matches; 
}
var SEL = {
latestToggle: ".open-nav.open-latest",
latestContainer: "#latest-feed-container .nav-left",
latestArticles: ".columns-feed__articles",
latestClose: "#latest-feed-container .close-button"
};
function $(sel, root) { return (root || document).querySelector(sel); }
function $all(sel, root) { return Array.prototype.slice.call((root || document).querySelectorAll(sel)); }
function isLatestOpen() { var c = $(SEL.latestContainer); return !!(c && c.classList.contains("open")); }
function isMenuActive() { return document.body.classList.contains("menu__active"); }
var lastLatestOpener = null;
function findFirstVisibleLink(root) {
if (!root) return null;
var candidates = root.querySelectorAll('.columns-feed__article .article-card__title a, .article-card__title a, a[href]');
for (var i = 0; i < candidates.length; i++) { if (isElemVisible(candidates[i])) return candidates[i]; }
return null;
}
function getFocusableInContainer(container) {
if (!container) return [];
var list = Array.prototype.slice.call(container.querySelectorAll(FOCUSABLE_SEL));
return list.filter(isElemVisible);
}
function getPreferredFirst(container) {
var root = $(SEL.latestArticles, container) || container.querySelector('.columns-feed__articles');
var firstLink = findFirstVisibleLink(root);
if (firstLink) return firstLink;
var focusables = getFocusableInContainer(container);
return focusables[0] || null;
}
function focusLatestFirstLinkNow() {
var container = $(SEL.latestContainer);
if (!container || !container.classList.contains("open")) return false;
var root = $(SEL.latestArticles, container) || container.querySelector('.columns-feed__articles');
if (!root || !isElemVisible(root)) return false;
var a = findFirstVisibleLink(root);
if (a) {
focusNoScroll(a);
return document.activeElement === a;
}
if (!root.hasAttribute('tabindex')) root.setAttribute('tabindex', '-1');
focusNoScroll(root);
return document.activeElement === root;
}
function retryFocusLatestFirstLink() {
var tries = FIRST_FOCUS_RETRY_MAX, delay = FIRST_FOCUS_RETRY_DELAY;
(function tick() {
if (isMenuActive() && isLatestOpen() && focusLatestFirstLinkNow()) return;
if (--tries <= 0) return;
setTimeout(tick, delay);
})();
}
function closeLatest() {
var btn = $(SEL.latestClose);
var wrap = $(SEL.latestContainer);
if (btn) { btn.click(); return; }
if (wrap) { wrap.classList.remove("open"); }
document.body.classList.remove("menu__active");
}
function isFocusable(el) {
if (!el) return false;
var s = window.getComputedStyle(el);
if (s.display === "none" || s.visibility === "hidden") return false;
if (el.tabIndex < 0) return false;
if (el.offsetParent === null && s.position !== "fixed") return false;
return true;
}
function findLatestOpener() {
if (isFocusable(lastLatestOpener)) return lastLatestOpener;
var list = $all(SEL.latestToggle).filter(isFocusable);
return list[0] || null;
}
function returnFocusToLatestOpener() {
if (!shouldRestoreFocus()) return;
var btn = findLatestOpener();
if (btn) focusNoScroll(btn);
}
function waitUntilClosedThen(cb) {
var tries = RETRY_MAX;
(function waitUntilClosed() {
if (!isLatestOpen()) { cb(); return; }
if (--tries <= 0) { cb(); return; }
setTimeout(waitUntilClosed, RETRY_DELAY);
})();
}
function handleLatestEsc() {
closeLatest();
waitUntilClosedThen(returnFocusToLatestOpener);
}
function handleLatestTrapTab(e) {
var container = $(SEL.latestContainer);
if (!container) return;
var focusables = getFocusableInContainer(container);
if (focusables.length === 0) return;
var firstPref = getPreferredFirst(container);
var first = firstPref || focusables[0];
var last = focusables[focusables.length - 1];
var active = document.activeElement;
if (!e.shiftKey && active === last) {
e.preventDefault();
focusNoScroll(first);
return;
}
if (e.shiftKey && active === first) {
e.preventDefault();
focusNoScroll(last);
return;
}
}
$all(SEL.latestToggle).forEach(function (btn) {
btn.addEventListener("click", function () { lastLatestOpener = btn; setTimeout(retryFocusLatestFirstLink, 0); });
btn.addEventListener("keydown", function (e) {
if (e.key === "Enter" || e.key === " ") { lastLatestOpener = btn; setTimeout(retryFocusLatestFirstLink, 0); }
});
});
document.addEventListener("keydown", function (e) {
if (!isLatestOpen()) return;
if (e.key === "Tab" && !e.altKey && !e.ctrlKey && !e.metaKey) {
handleLatestTrapTab(e);
return;
}
if (e.key === "Escape" || e.key === "Esc") {
e.preventDefault();
handleLatestEsc();
return;
}
}, true);
document.addEventListener("click", function (e) {
var t = e.target;
if (!(t instanceof Element)) return;
if (t.closest(SEL.latestClose)) {
waitUntilClosedThen(returnFocusToLatestOpener);
}
}, true);
(function observeLatestMarkupAndState() {
var latest = $(SEL.latestContainer);
if (latest) {
var latestObserver = new MutationObserver(function (muts) {
var classChanged = muts.some(function (m) { return m.type === "attributes"; });
var contentChanged = muts.some(function (m) { return m.type === "childList"; });
if (classChanged && latest.classList.contains("open")) {
setTimeout(retryFocusLatestFirstLink, 0);
} else if (classChanged && !latest.classList.contains("open")) {
waitUntilClosedThen(returnFocusToLatestOpener);
}
if (contentChanged && latest.classList.contains("open")) {
setTimeout(retryFocusLatestFirstLink, 0);
}
});
latestObserver.observe(latest, { attributes: true, attributeFilter: ["class"], childList: true, subtree: true });
}
var bodyClassObserver = new MutationObserver(function () {
if (isMenuActive() && isLatestOpen()) setTimeout(retryFocusLatestFirstLink, 0);
});
bodyClassObserver.observe(document.body, { attributes: true, attributeFilter: ["class"] });
var host = document.getElementById("latest-feed-container");
if (host) {
var hostObserver = new MutationObserver(function () {
if (isMenuActive() && isLatestOpen()) setTimeout(retryFocusLatestFirstLink, 0);
});
hostObserver.observe(host, { childList: true, subtree: true });
}
})();
}
initWcagLatest();
// ====== Skip to main ======
(function () {
var handled = false;
function onBodyReady(cb) {
if (document.body) { cb(); return; }
var fired = false;
function done() { if (fired) return; fired = true; cb(); }
document.addEventListener("DOMContentLoaded", done, { once: true });
new MutationObserver(function () {
if (document.body) { done(); this.disconnect(); }
}).observe(document.documentElement, { childList: true, subtree: true });
}
function ensureSkipAfterLogo() {
var skip = document.getElementById("skip-to-main");
if (!skip) {
skip = document.createElement("a");
skip.id = "skip-to-main";
skip.className = "skip-to-main";
skip.href = "#";
skip.textContent = "Ugrás a fő tartalomra";
}
var header = document.getElementById("header");
var logo = header && header.querySelector(".logo-wrapper");
if (logo && logo.parentNode) {
var after = logo.nextSibling;
if (after !== skip) {
if (after) logo.parentNode.insertBefore(skip, after);
else logo.parentNode.appendChild(skip);
}
} else if (header) {
if (header.firstChild !== skip) header.insertBefore(skip, header.firstChild);
} else if (document.body) {
if (document.body.firstChild !== skip) document.body.insertBefore(skip, document.body.firstChild);
}
return skip;
}
function firstFocusable(root) {
var all = root ? root.querySelectorAll(FOCUSABLE_SEL) : [];
for (var i = 0; i < all.length; i++) {
var el = all[i], s = getComputedStyle(el);
if (s.display !== "none" && s.visibility !== "hidden" && !el.hidden && (el.offsetParent !== null || s.position === "fixed")) return el;
}
return null;
}
function focusRegion(block) {
if (!block) return;
var tgt = firstFocusable(block) || block;
var needsTab = tgt === block && !block.hasAttribute("tabindex");
if (needsTab) block.setAttribute("tabindex", "-1");
block.scrollIntoView({ block: "start" });
requestAnimationFrame(function () { focusNoScroll(tgt); });
if (needsTab) {
var onBlur = function () { block.removeAttribute("tabindex"); block.removeEventListener("blur", onBlur); };
block.addEventListener("blur", onBlur);
}
}
function getBreaking() {
var b = document.querySelector(".breaking__wrapper");
if (!b) return null;
var s = getComputedStyle(b);
if (s.display === "none" || s.visibility === "hidden" || b.hidden) return null;
if (b.offsetParent === null && s.position !== "fixed") return null;
return b;
}
function getMain() {
return (
document.querySelector("main .island-container") ||
document.querySelector(".island-container") ||
document.querySelector("main") ||
document.querySelector('[role="main"]')
);
}
function onSkipActivate() {
var b = getBreaking();
if (b) { focusRegion(b); return; }
var m = getMain();
focusRegion(m || document.body);
}
window.addEventListener("keydown", function firstTabGuard(e) {
if (handled) return;
var noFocusYet = (!document.activeElement ||
document.activeElement === document.body ||
document.activeElement === document.documentElement);
if (e.key === "Tab" && !e.shiftKey && noFocusYet) {
handled = true;
e.preventDefault();
e.stopImmediatePropagation();
onBodyReady(function () {
var skip = ensureSkipAfterLogo();
focusNoScroll(skip);
});
}
}, { once: true, capture: true });
document.addEventListener("click", function (e) {
var a = e.target.closest && e.target.closest("#skip-to-main");
if (!a) return;
e.preventDefault();
onSkipActivate();
}, true);
document.addEventListener("keydown", function (e) {
if (e.target && e.target.id === "skip-to-main" && (e.key === "Enter" || e.key === " ")) {
e.preventDefault();
onSkipActivate();
}
}, true);
onBodyReady(function () { ensureSkipAfterLogo(); });
})();
// ====== Profile menu accessibility ======
function initProfileMenuA11y() {
var SEL = {
opener: ".open-profile",
menu: ".profile-menu",
content: "#profile-menu-wrapper",
closeBtns: ".profile-menu .close-button, .profile-menu .close-button-mobile, .profile-menu [data-dismiss='modal']"
};
function $(sel, root){ return (root || document).querySelector(sel); }
function $all(sel, root){ return Array.prototype.slice.call((root || document).querySelectorAll(sel)); }
function isMenuOpen(menu){ return !!(menu && menu.classList.contains("open")); }
function getFocusable(container){
if (!container) return [];
return Array.prototype.slice.call(container.querySelectorAll(FOCUSABLE_SEL)).filter(isElemVisible);
}
function focusFirstInMenu(menu){
var root = $(SEL.content, menu) || menu;
var firstLink = root.querySelector('a[href], button:not([disabled])');
var target = (firstLink && isElemVisible(firstLink)) ? firstLink : getFocusable(menu)[0] || root;
if (target && target !== document.activeElement){
focusNoScroll(target);
return true;
}
return false;
}
var lastOpener = null;
$all(SEL.opener).forEach(function(btn){
btn.addEventListener("click", function(){ lastOpener = btn; }, true);
btn.addEventListener("keydown", function(e){
if ((e.key === "Enter" || e.key === " ") && !e.altKey && !e.ctrlKey && !e.metaKey){
lastOpener = btn;
}
}, true);
});
function waitUntilProfileClosedThen(cb) {
var tries = RETRY_MAX;
(function waitUntilClosed() {
if (!isMenuOpen($(SEL.menu))) { cb(); return; }
if (--tries <= 0) { cb(); return; }
setTimeout(waitUntilClosed, RETRY_DELAY);
})();
}
function handleProfileEscClose() {
if (typeof window.closeProfileMenu === "function") {
window.closeProfileMenu();
} else {
var closeBtn = $(SEL.closeBtns);
if (closeBtn) closeBtn.click();
}
waitUntilProfileClosedThen(function(){
if (lastOpener && document.contains(lastOpener)) focusNoScroll(lastOpener);
});
}
function handleProfileTrapTab(e, menu) {
var focusables = getFocusable(menu);
if (!focusables.length) return;
var first = focusables[0];
var last = focusables[focusables.length - 1];
var active = document.activeElement;
if (!e.shiftKey && active === last){
e.preventDefault();
focusNoScroll(first);
return;
}
if (e.shiftKey && active === first){
e.preventDefault();
focusNoScroll(last);
return;
}
}
document.addEventListener("keydown", function(e){
var menu = $(SEL.menu);
if (!isMenuOpen(menu)) return;
if (e.key === "Escape" || e.key === "Esc"){
e.preventDefault();
handleProfileEscClose();
return;
}
if (e.key === "Tab" && !e.altKey && !e.ctrlKey && !e.metaKey){
handleProfileTrapTab(e, menu);
return;
}
}, true);
(function observeMenu(){
var menu = $(SEL.menu);
if (!menu) return;
new MutationObserver(function(muts){
var classChanged = muts.some(function(m){ return m.type === "attributes"; });
if (!classChanged) return;
if (isMenuOpen(menu)){
setTimeout(function(){ focusFirstInMenu(menu); }, 0);
} else {
if (lastOpener && document.contains(lastOpener)){
setTimeout(function(){ focusNoScroll(lastOpener); }, 0);
}
}
}).observe(menu, { attributes: true, attributeFilter: ["class"] });
})();
document.addEventListener("click", function(e){
var t = e.target;
if (!(t instanceof Element)) return;
if (t.closest(SEL.closeBtns)){
waitUntilProfileClosedThen(function(){
if (lastOpener && document.contains(lastOpener)) focusNoScroll(lastOpener);
});
}
}, true);
}
initProfileMenuA11y();
// close dropdowns on ESC
(function addEscCloseForDropdown(){
function focusBack(el){
if (!el) return;
var ctrl = el.querySelector('button, [role="button"], a[href], summary, [tabindex]:not([tabindex="-1"])') || el;
var had = ctrl.hasAttribute('tabindex');
if (!had) ctrl.setAttribute('tabindex', '-1');
try { ctrl.focus({ preventScroll: true }); } catch(_) { ctrl.focus(); }
if (!had){
var rm = function(){ ctrl.removeAttribute('tabindex'); ctrl.removeEventListener('blur', rm, true); };
ctrl.addEventListener('blur', rm, true);
}
}
document.addEventListener('keydown', function(e){
if (e.key !== 'Escape' && e.key !== 'Esc') return;
var open = document.querySelector('.dropdown[open], .dropdown.open');
if (!open) return;
e.preventDefault();
try {
document.body.dispatchEvent(new MouseEvent('click', { bubbles: true }));
setTimeout(function(){ focusBack(open); }, 0);
} catch(_) {
if ('open' in open) open.open = false; else open.classList.remove('open');
setTimeout(function(){ focusBack(open); }, 0);
}
}, true);
})();
})(); 
</script>
<script>
// Prospektus iframe megkeresése és stílusok alkalmazása
// Ideiglenes megoldás, amíg az adverticum nem támogatja a testreszabott iframe stílusokat
(function () {
document.addEventListener("DOMContentLoaded", () => {
setTimeout(() => {
let attempts = 0;
const maxAttempts = 10; // 3s-ig próbálkozik
const interval = 300;
const retryInterval = setInterval(() => {
attempts++;
const targetIframe = Array.from(document.querySelectorAll('iframe')).find(iframe => {
const rect = iframe.getBoundingClientRect();
const style = window.getComputedStyle(iframe);
const widthAttr = iframe.getAttribute('width');
const heightAttr = iframe.getAttribute('height');
const widthMatches =
widthAttr === "380" ||
style.width === "380px" ||
iframe.style.width === "380px" ||
Math.round(rect.width) === 380;
const heightMatches =
heightAttr === "650" ||
style.height === "650px" ||
iframe.style.height === "650px" ||
Math.round(rect.height) === 650;
return widthMatches && heightMatches;
});
if (targetIframe) {
// Iframe stílusok
Object.assign(targetIframe.style, {
overflow: "hidden",
position: "absolute",
top: "0",
left: "0",
bottom: "0",
right: "0",
width: "100%",
height: "100%"
});
// Szülő .goa-embedded stílusok
const parent = targetIframe.closest('.goa-embedded');
if (parent) {
Object.assign(parent.style, {
position: "relative",
overflow: "hidden",
width: "100%",
paddingTop: "calc(100% - 32px)"
});
}
targetIframe.classList.add("prospectus");
clearInterval(retryInterval);
return;
}
if (attempts >= maxAttempts) {
clearInterval(retryInterval);
}
}, interval);
}, 1000);
});
})();
</script><script type="text/javascript">
document.addEventListener("DOMContentLoaded", function () {
fetchAndSendGa4UserDataIfRequired();
sendGa4UserId();
// injectLayoutEditor();
});
function handleRequiredAclResult(requiredAcl, handleFadeLayer, handleDisqus) {
if (requiredAcl) {
appendWidget("paywall");
window.paywallConfig.requiredAcl = requiredAcl;
if (handleFadeLayer) {
const fadeLayerDiv = document.createElement("div");
fadeLayerDiv.className = "fade-layer";
document.getElementById("free-body").appendChild(fadeLayerDiv);
}
appendWidget("closing", () => {
initClosingWidgetCloseButton();
});
} else {
if (handleDisqus) {
loadDisqus();
const observer = new MutationObserver((mutations) => {
for (const m of mutations) {
if (m.type === "attributes" && m.attributeName === "data-theme") {
requestAnimationFrame(() => loadDisqus());
break;
}
}
});
if (document.body) {
observer.observe(document.body, {
attributes: true,
attributeFilter: ["data-theme"],
});
}
}
}
}
</script>
</body>
</html>