<!doctype html><html lang="en-IE"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><meta name="theme-color" content="#123d2e"><link rel="manifest" href="/manifest.webmanifest"><link rel="icon" href="/icons/favicon-48.png?v=2" type="image/png"><link rel="apple-touch-icon" href="/icons/apple-touch-icon.png?v=2"><meta name="apple-mobile-web-app-title" content="What's On"><meta name="mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-status-bar-style" content="default"><script src="/pwa.js?v=2" defer></script>
<title>What's On North Meath &amp; Cavan</title><link rel="canonical" href="https://whatsonnorthmeathcavan.ie/"><meta name="description" content="Gigs, theatre, GAA, festivals, markets and Hallowe'en in Meath, Cavan, Louth and Monaghan: Navan, Trim, Athboy, Kingscourt, Kells, Cavan Town, Dundalk, Drogheda, Ardee, Carlingford, Monaghan Town, Carrickmacross, Castleblayney and Clones.">
<meta name="keywords" content="what's on, events, Meath, Navan, Trim, Athboy, Cavan, Louth, Monaghan, Dundalk, Drogheda, Monaghan Town, Carrickmacross, Kingscourt, Kells, gigs, GAA">
<meta property="og:title" content="What's On North Meath &amp; Cavan, now covering Louth and Monaghan too"><meta property="og:description" content="Free local guide to gigs, theatre, GAA, festivals and markets across Meath, Cavan, Louth and Monaghan."><meta property="og:url" content="https://whatsonnorthmeathcavan.ie/"><meta property="og:type" content="website">
<link rel="preload" href="/fonts/39ce2001bb.woff2" as="font" type="font/woff2" crossorigin><link rel="preload" href="/fonts/567244088c.woff2" as="font" type="font/woff2" crossorigin><link href="/fonts/fonts.css" rel="stylesheet"><script src="/pages.js?v=202610231918" data-seo defer></script><script src="/events-live.js?v=202610231918" defer></script><script src="/geo.js?v=1" defer></script><script src="/home.js?v=202610231918" defer></script><script src="/sponsors.js" defer></script><script src="/sidebar.js?v=3" defer></script><style>
:root{--g:#123d2e;--g2:#1d5c45;--gold:#e0a526;--cream:#fbf7ee;--ink:#1d2421;--mut:#5d6762}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,sans-serif;background:var(--cream);color:var(--ink);line-height:1.45}
h1,h2,h3{font-family:Fraunces,Georgia,serif;line-height:1.1}a{color:var(--g2)}
.hero{position:relative;min-height:clamp(480px,78vh,680px);display:flex;align-items:flex-end;color:#fff;background:#123d2e center/cover no-repeat}@media(max-width:899px){.hero{background-image:url(hero.jpg);background-image:image-set(url("hero-800.webp") type("image/webp"))}}@media(min-width:900px){.hero{background-image:url(hero.jpg);background-image:image-set(url("hero-1280.webp") type("image/webp"))}}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,30,22,.25),rgba(10,30,22,.35) 40%,rgba(10,30,22,.92))}
.top{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:1rem 1.2rem;z-index:2}
.logo{font-family:Fraunces,serif;font-weight:800;font-size:1.05rem;color:#fff;text-decoration:none}.logo span{color:var(--gold)}
.top a.cta{background:var(--gold);color:var(--g);padding:.5rem .9rem;border-radius:99px;font-weight:700;text-decoration:none;font-size:.9rem}
.hin{position:relative;max-width:1100px;margin:auto;width:100%;padding:5rem 1.2rem 2.6rem}
.kick{display:inline-block;background:rgba(224,165,38,.95);color:var(--g);font-weight:700;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;padding:.3rem .7rem;border-radius:99px}
.hero h1{font-size:clamp(2.3rem,8vw,4.6rem);margin:.7rem 0 .6rem;font-weight:800}.hero h1 em{color:var(--gold);font-style:normal}
.hero p{max-width:620px;font-size:clamp(1rem,2.6vw,1.2rem);opacity:.95;margin:0 0 1.3rem}
.stats{display:flex;gap:1.6rem;flex-wrap:wrap}.stats b{display:block;font-family:Fraunces,serif;font-size:1.8rem;color:var(--gold)}.stats span{font-size:.85rem;opacity:.85}
.credit{position:absolute;right:.7rem;bottom:.4rem;font-size:.68rem;opacity:.7;z-index:2}.credit a{color:#fff}
.wrap{max-width:1100px;margin:auto;padding:0 1.1rem}
.sec-h{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin:2.4rem 0 1rem}.sec-h h2{margin:0;font-size:clamp(1.5rem,4.5vw,2.1rem);color:var(--g)}.sec-h small{color:var(--mut)}
.wk{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(250px,1fr);gap:1rem;overflow-x:auto;padding:.3rem .2rem 1rem;scroll-snap-type:x mandatory}
.wkc{scroll-snap-align:start;background:linear-gradient(150deg,var(--g),var(--g2));color:#fff;border-radius:18px;padding:1.1rem;box-shadow:0 10px 24px -12px rgba(18,61,46,.6);position:relative;overflow:hidden;text-decoration:none;transition:transform .2s}
.wkc:hover{transform:translateY(-4px)}.wkc:after{content:"";position:absolute;width:140px;height:140px;border-radius:50%;background:rgba(224,165,38,.18);right:-40px;top:-40px}
.wkc .when{color:var(--gold);font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em}.wkc h3{margin:.4rem 0;font-size:1.15rem}.wkc p{margin:0;font-size:.88rem;opacity:.85}
.filters{position:sticky;top:0;z-index:5;background:rgba(251,247,238,.94);backdrop-filter:blur(8px);padding:.8rem 0;border-bottom:1px solid #e9e1cf}
.frow{display:grid;grid-template-columns:repeat(2,1fr);gap:.55rem}@media(min-width:760px){.frow{grid-template-columns:1fr 1fr 1fr 1.4fr}}
select,input,textarea,button{font:inherit;padding:.7rem .8rem;border:1.5px solid #ddd3bd;border-radius:12px;background:#fff;color:var(--ink);width:100%}
select:focus,input:focus,textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(224,165,38,.25)}
.chips{display:flex;gap:.45rem;overflow-x:auto;margin-top:.6rem;padding-bottom:.2rem}.chip{flex:none;border:0;width:auto;padding:.42rem .8rem;border-radius:99px;font-size:.82rem;font-weight:600;cursor:pointer;background:#efe7d4;color:var(--g)}.chip.on{background:var(--g);color:#fff}
#count{color:var(--mut);margin:1rem 0 0;font-size:.9rem}
.month{display:flex;align-items:center;gap:.8rem;color:var(--g);font-size:1.35rem;margin:1.8rem 0 .9rem}.month:after{content:"";flex:1;height:2px;background:linear-gradient(90deg,var(--gold),transparent)}
.grid{display:grid;gap:.9rem}@media(min-width:760px){.grid{grid-template-columns:1fr 1fr}}
.ev{display:flex;gap:1rem;background:#fff;border-radius:16px;padding:1rem;box-shadow:0 2px 6px rgba(30,40,35,.06),0 8px 22px -14px rgba(30,40,35,.25);transition:transform .18s,box-shadow .18s;border-left:5px solid var(--c)}
.ev:hover{transform:translateY(-3px);box-shadow:0 4px 10px rgba(30,40,35,.08),0 16px 30px -14px rgba(30,40,35,.35)}
.d{flex:none;width:64px;text-align:center;border-radius:12px;background:var(--cream);padding:.45rem 0;align-self:flex-start}.d small{display:block;font-size:.68rem;font-weight:700;text-transform:uppercase;color:var(--mut);letter-spacing:.05em}.d b{display:block;font-family:Fraunces,serif;font-size:1.9rem;line-height:1;color:var(--g)}.d .mo{color:var(--c)}
.ev h3{margin:.15rem 0 .3rem;font-size:1.08rem}.meta{color:var(--mut);font-size:.88rem}.row{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin-top:.55rem}
.badge{display:inline-flex;gap:.3rem;align-items:center;font-size:.74rem;font-weight:700;padding:.18rem .6rem;border-radius:99px;background:color-mix(in srgb,var(--c) 15%,#fff);color:color-mix(in srgb,var(--c) 75%,#000)}
.cty{font-size:.74rem;font-weight:600;padding:.18rem .55rem;border-radius:99px;background:#eef1ef;color:var(--mut)}.src{margin-left:auto;font-size:.82rem;font-weight:600;text-decoration:none}.src:hover{text-decoration:underline}button.src{background:none;border:0;color:var(--c,#2a7fb8);cursor:pointer;font:inherit;font-size:.82rem;font-weight:600;padding:0}.dp{margin-top:.5rem;padding:.55rem .7rem;background:#f6f8f7;border-radius:8px;font-size:.85rem;line-height:1.5}.dp[hidden]{display:none}.pthumb{width:72px;height:96px;object-fit:cover;border-radius:8px;flex:none;align-self:flex-start}.pthumb.wk{width:100%;height:120px;margin:.3rem 0}.pfull{display:block;max-width:100%;height:auto;margin-top:.5rem;border-radius:8px}.ev>picture,.wkc picture,.dp picture{display:contents}@media(max-width:600px){.pthumb{width:56px;height:76px}}
.sub{margin:3rem 0;display:grid;border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 18px 40px -22px rgba(18,61,46,.5)}@media(min-width:860px){.sub{grid-template-columns:1fr 1.2fr}}
.sub .pic{min-height:220px;position:relative;overflow:hidden}.sub .pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.sub .pic span{z-index:1}.sub .pic span{position:absolute;bottom:.4rem;left:.6rem;font-size:.68rem;color:#fff;text-shadow:0 1px 3px #000}.sub .pic span a{color:#fff}
.sub form{padding:1.4rem;display:grid;gap:.65rem}.fl{display:grid;gap:.2rem;font-size:.8rem;font-weight:600;color:var(--mut)}.sub h2{margin:0;color:var(--g);font-size:1.8rem}.two{display:grid;gap:.65rem;grid-template-columns:1fr 1fr}
button.go{background:var(--gold);border:0;color:var(--g);font-weight:800;cursor:pointer;transition:filter .15s}button.go:hover{filter:brightness(1.07)}.note{font-size:.8rem;color:var(--mut);margin:0}
.gaa{margin:2.6rem 0 0;background:linear-gradient(160deg,#0f3a2a,#16563f);border-radius:22px;padding:1.2rem;color:#fff;box-shadow:0 18px 40px -22px rgba(18,61,46,.6)}
.gaa h2{margin:0;color:#fff;font-size:clamp(1.5rem,4.5vw,2rem)}.gaa .sub2{opacity:.8;font-size:.88rem;margin:.3rem 0 1rem}
.fx{display:grid;grid-template-columns:62px 1fr;gap:.8rem;align-items:center;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:.75rem;margin:.55rem 0;transition:background .15s}
.fx:hover{background:rgba(255,255,255,.13)}.fx .d{background:var(--gold);width:62px}.fx .d b,.fx .d small{color:var(--g)}
.fx h3{margin:0;font-size:1rem;font-family:Inter,sans-serif;font-weight:700}.fx .c2{color:var(--gold);font-size:.8rem;font-weight:600;margin:.15rem 0}.fx .v{font-size:.82rem;opacity:.85}.fx a{color:#fff;font-weight:600;font-size:.8rem}
@media(min-width:760px){.fxg{display:grid;grid-template-columns:1fr 1fr;gap:0 .9rem}}
.tog{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--mut);margin-top:.6rem;cursor:pointer}.tog input{width:auto}
.adv{margin:3rem 0 0}.freenote{background:#e8f3ec;border:1px solid #cfe5d7;border-radius:12px;padding:.7rem .85rem;font-size:.92rem}
.cmp{display:grid;gap:1rem;margin-top:1.2rem}@media(min-width:860px){.cmp{grid-template-columns:1fr 1fr 1.3fr}}.cc{background:#fff;border-radius:18px;padding:1.2rem;box-shadow:0 10px 26px -18px rgba(30,40,35,.4)}
.cc h3{margin:0 0 .5rem;color:var(--g);display:flex;justify-content:space-between;align-items:center}.cc ul,.cc ol{margin:0 0 .5rem;padding-left:1.2rem;color:var(--mut);font-size:.92rem}.cc.ft{border:2px solid var(--gold);background:#fffaf0}
.tagf{font-family:Inter;font-size:.8rem;background:#eef1ef;color:var(--g);padding:.2rem .6rem;border-radius:99px}.tagf.gold{background:var(--gold)}.cc.how{background:#efe7d4}.was{font-family:Inter;font-size:1.05rem;font-weight:500;color:#9a9a9a;margin:0 .2rem}.alt{font-size:.85rem;font-weight:600;color:var(--g2);margin-top:-.2rem}.launch{background:linear-gradient(90deg,var(--gold),#f3c55a);color:var(--g);border-radius:14px;padding:.85rem 1rem;font-size:1rem;margin:1rem 0;box-shadow:0 8px 20px -12px rgba(224,165,38,.8);text-align:center}.tiers{display:grid;gap:1rem}@media(min-width:860px){.tiers{grid-template-columns:repeat(3,1fr)}}
.tier{background:#fff;border-radius:20px;padding:1.4rem;box-shadow:0 2px 6px rgba(30,40,35,.06),0 14px 30px -18px rgba(30,40,35,.35);transition:transform .18s;position:relative;border-top:5px solid var(--t)}.tier:hover{transform:translateY(-4px)}
.tier.hl{background:linear-gradient(160deg,var(--g),var(--g2));color:#fff}.tier.hl h3{color:#fff}.tier.hl li{color:#e3ece7}
.tier .ic{font-size:1.9rem}.tier h3{margin:.4rem 0 .2rem;color:var(--g);font-size:1.3rem}.price{font-family:Fraunces,serif;font-size:1.9rem;font-weight:800;color:var(--gold);margin:.3rem 0}.price small{font-family:Inter;font-size:.85rem;font-weight:500;opacity:.75}
.tier ul{padding-left:1.1rem;margin:.6rem 0 1rem;color:var(--mut);font-size:.92rem}.acts{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.paynow{display:inline-block;background:var(--g);color:#fff;font-weight:800;text-decoration:none;padding:.55rem 1rem;border-radius:99px;box-shadow:0 6px 14px -8px rgba(0,0,0,.5)}.paynow:hover{filter:brightness(1.15)}.tier.hl .paynow{background:#fff;color:var(--g)}.paylink{display:inline-block;margin-top:.5rem;font-family:Inter;font-size:.88rem;font-weight:700;color:var(--g2)}.paynote{text-align:center;margin-top:1rem}@media(max-width:520px){.acts a{flex:1 1 100%;text-align:center}}.tier .pick{display:inline-block;background:var(--gold);color:var(--g);font-weight:800;text-decoration:none;padding:.55rem 1rem;border-radius:99px}
.pop{position:absolute;top:-12px;right:14px;background:var(--gold);color:var(--g);font-size:.72rem;font-weight:800;padding:.2rem .6rem;border-radius:99px}
.why{display:grid;gap:.7rem;margin:1.2rem 0}@media(min-width:760px){.why{grid-template-columns:repeat(4,1fr)}}.why div{background:#efe7d4;border-radius:14px;padding:.85rem;font-size:.9rem}.why b{display:block;color:var(--g);margin-bottom:.2rem}
.advf{background:#fff;border-radius:20px;padding:1.4rem;display:grid;gap:.65rem;box-shadow:0 14px 30px -20px rgba(30,40,35,.4);margin-top:1.2rem}.advf h3{margin:0;color:var(--g);font-size:1.4rem}
.slot{display:flex;align-items:center;justify-content:center;gap:.8rem;text-align:center;border:2px dashed #d9c79c;border-radius:16px;padding:1rem;color:var(--mut);background:repeating-linear-gradient(45deg,#fffdf7,#fffdf7 10px,#fbf4e3 10px,#fbf4e3 20px);text-decoration:none;font-size:.9rem;grid-column:1/-1}.slot b{color:var(--g)}.slot:hover{border-color:var(--gold)}
.tnav{display:flex;align-items:center;gap:.4rem}.cta{white-space:nowrap}.cta.ghost{background:transparent!important;color:#fff!important;border:1.5px solid #fff}.cta.wh{background:#fff!important}
.burger{display:none;width:40px;height:38px;padding:9px 8px;border:1.5px solid rgba(255,255,255,.8);border-radius:10px;background:rgba(0,0,0,.25);cursor:pointer;flex-direction:column;justify-content:space-between}.burger span{display:block;height:2px;background:#fff;border-radius:2px}
.mmenu{position:absolute;top:60px;right:1rem;z-index:20;background:#fff;border-radius:14px;box-shadow:0 14px 34px rgba(0,0,0,.3);padding:.4rem;min-width:200px}.mmenu a{display:block;padding:.7rem .9rem;color:var(--g);font-weight:700;text-decoration:none;border-radius:10px;white-space:nowrap}.mmenu a:hover{background:var(--cream)}
@media(max-width:640px){.tnav .dk{display:none}.burger{display:flex}.top{padding:.8rem 1rem}.logo{white-space:nowrap}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:.9rem 1.2rem;max-width:340px}}
@media(min-width:641px){.mmenu{display:none!important}}
footer{background:var(--g);color:#d9e4de;padding:2.4rem 1.2rem 1.6rem;font-size:.88rem}footer .wrap{display:grid;gap:1.4rem}@media(min-width:760px){footer .wrap{grid-template-columns:1.3fr 1fr 1fr}}
footer h4{font-family:Fraunces,serif;color:#fff;margin:0 0 .5rem;font-size:1.1rem}footer a{color:var(--gold)}footer .fine{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.12);padding-top:1rem;font-size:.75rem;opacity:.75}
.news{background:var(--g);color:#fff;border-radius:22px;max-width:1100px;margin:2.4rem auto;padding:2rem 1.3rem;position:relative;overflow:hidden;border-top:5px solid var(--gold)}
.news h2{margin:0 0 .4rem;font-size:clamp(1.6rem,6vw,2.3rem)}.news h2 em{color:var(--gold);font-style:normal}.news p{margin:0 0 1rem;color:#e3ece7;max-width:560px}
.news form{display:grid;gap:.7rem;max-width:620px}@media(min-width:700px){.news form{grid-template-columns:1.4fr 1fr auto}}
.news input,.news select{width:100%;padding:.85rem 1rem;border-radius:12px;border:2px solid transparent;font:inherit;font-size:16px;background:var(--cream);color:var(--ink)}.news input:focus,.news select:focus{outline:none;border-color:var(--gold)}
.news input.bad{border-color:#e85d4a}.news button{background:var(--gold);color:var(--g);border:0;border-radius:99px;padding:.85rem 1.3rem;font-weight:800;font:inherit;font-weight:800;cursor:pointer}
.news .err{color:#ffb4a8;font-size:.85rem;min-height:1em;margin:.2rem 0 0}.news .ok{background:rgba(224,165,38,.15);border:1px solid var(--gold);border-radius:14px;padding:1rem;font-weight:600}.news small{color:#b9cbc2}
@media(max-width:699px){.news{margin:2rem .8rem}}
.xmas{max-width:1100px;margin:2.4rem auto;padding:2rem 1.3rem;background:linear-gradient(160deg,#123d2e,#0d2c21);color:#fff;border-radius:22px;border-top:5px solid #b3262e;position:relative}
.xmas h2{margin:0 0 .4rem;font-size:clamp(1.6rem,6vw,2.3rem)}.xmas h2 em{color:var(--gold);font-style:normal}.xmas>p{color:#e3ece7;max-width:640px;margin:0 0 1rem}
.xnote{background:rgba(224,165,38,.14);border:1px solid var(--gold);border-radius:12px;padding:.7rem .9rem;font-size:.92rem;margin-bottom:1.2rem}
.xgrid{display:grid;gap:1rem;margin-bottom:1.6rem}@media(min-width:700px){.xgrid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}
.xcard{background:var(--cream);color:var(--ink);border-radius:16px;padding:1.1rem}.xcard h3{margin:0;color:var(--g)}.xcard dl{margin:.6rem 0 0;font-size:.9rem}.xcard dt{font-weight:700;color:var(--g2)}.xcard dd{margin:0 0 .4rem}
.xempty{border:2px dashed var(--gold);border-radius:16px;padding:1.4rem;text-align:center}.xempty b{font-family:Fraunces,serif;font-size:1.3rem;color:var(--gold);display:block;margin-bottom:.3rem}
.xempty a{display:inline-block;margin-top:.7rem;background:var(--gold);color:var(--g);padding:.6rem 1.1rem;border-radius:99px;font-weight:800;text-decoration:none}
#xf{display:grid;gap:.7rem;background:rgba(255,255,255,.06);border-radius:16px;padding:1.1rem}#xf h3{margin:0;color:var(--gold)}
#xf .two{display:grid;gap:.7rem;grid-template-columns:1fr}@media(min-width:700px){#xf .two{grid-template-columns:1fr 1fr}}
#xf input,#xf textarea{width:100%;padding:.8rem 1rem;border-radius:12px;border:2px solid transparent;font:inherit;font-size:16px;background:var(--cream);color:var(--ink)}#xf .bad{border-color:#e85d4a}
#xf label{font-size:.92rem}#xf label input{width:auto;margin-right:.4rem}#xf button{background:var(--gold);color:var(--g);border:0;border-radius:99px;padding:.85rem 1.3rem;font:inherit;font-weight:800;cursor:pointer}
.xerr{color:#ffb4a8;font-size:.88rem;min-height:1em;margin:0}.xok{background:rgba(224,165,38,.15);border:1px solid var(--gold);border-radius:14px;padding:1rem;font-weight:600}
@media(max-width:699px){.xmas{margin:2rem .8rem}}
html{scroll-behavior:smooth}#submit{scroll-margin-top:12px}section[id],main [id]{scroll-margin-top:12px}.addbar{display:block;text-align:center;background:#e07a10;color:#fff;font-weight:600;text-decoration:none;padding:.6rem 1rem;font-size:.95rem}.addbar:hover{background:#c96a08}.addbar b{text-decoration:underline;text-underline-offset:3px}@media(max-width:600px){.addbar{font-size:.88rem;padding:.55rem .75rem}}.chip.cc{background:color-mix(in srgb,var(--c) 14%,#fff);color:color-mix(in srgb,var(--c) 70%,#000);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--c) 45%,#fff)}.chip.cc.on{background:var(--c);color:var(--tx);box-shadow:none}.wkc{border-top:6px solid var(--c)}.wkb{display:inline-block;margin:.15rem 0 .35rem;font-size:.72rem;font-weight:700;padding:.15rem .55rem;border-radius:99px;background:var(--c);color:#fff;box-shadow:0 0 0 1.5px rgba(255,255,255,.55)}.wkb.dk{color:#2b2200}.ev{border-left-width:7px}.ev{border-left:0;border-top:0;background:color-mix(in srgb,var(--c) 9%,#fff);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--c) 40%,#fff),0 2px 6px rgba(30,40,35,.05)}.ev .badge{background:color-mix(in srgb,var(--c) 16%,#fff);color:color-mix(in srgb,var(--c) 70%,#000);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--c) 45%,#fff)}.ev .badge.dk{color:#5c4400}.ev .d{background:#fff}.ev .cty{background:rgba(255,255,255,.85)}
.ev{position:relative;background:#fff;border-left:5px solid var(--c);box-shadow:0 2px 6px rgba(30,40,35,.06)}
.ev .badge{font-size:.7rem;padding:.12rem .5rem;box-shadow:none;background:color-mix(in srgb,var(--c) 12%,#fff)}
.ev.feat{grid-column:1/-1;background:color-mix(in srgb,var(--c) 13%,#fff);border:2px solid var(--gold);border-left:7px solid var(--c);box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 35%,transparent),0 10px 26px -10px rgba(224,165,38,.6);padding:1.4rem 1.1rem 1.1rem}
.ev.feat h3{font-size:1.25rem}.ev.feat .pthumb{width:110px;height:150px}
.ribbon{position:absolute;top:-11px;right:14px;background:var(--gold);color:#2b2200;font-size:.75rem;font-weight:800;padding:.22rem .65rem;border-radius:99px;box-shadow:0 3px 8px rgba(0,0,0,.18);letter-spacing:.02em}
.wkc.feat{box-shadow:0 0 0 3px var(--gold),0 10px 24px -10px rgba(224,165,38,.7)}.wkc .ribbon{position:static;display:inline-block;margin-bottom:.4rem}
.wkc:not(.feat){background:#fff;color:var(--ink,#1d2b24);box-shadow:0 2px 8px rgba(30,40,35,.08);border:1px solid #e9e1cf;border-top:6px solid var(--c)}.wkc:not(.feat) h3{color:var(--g)}.wkc:not(.feat) p{color:var(--mut)}.wkc:not(.feat) .when{color:color-mix(in srgb,var(--c) 75%,#000)}.wkc:not(.feat)::after,.wkc:not(.feat)::before{display:none}
.wkc.feat{border:3px solid var(--gold);border-top:6px solid var(--gold)}.more{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center;margin:1.4rem 0 .5rem}.moreb{border:0;border-radius:99px;padding:.75rem 1.2rem;font-weight:700;font-size:.95rem;background:var(--g);color:#fff;cursor:pointer;width:auto}.moreb.ghost{background:#efe7d4;color:var(--g)}.xh{margin:1.4rem 0 .6rem}.xh small{font-weight:600;opacity:.75}.xev .month{color:inherit}.xev .ev{color:var(--ink,#1d2b24)}.qs{background:var(--g);color:#fff;border-radius:16px;margin:1.2rem 0 1.6rem;padding:1rem 1.1rem;border-left:5px solid var(--gold);display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1.2rem}.qs b{font-size:1.05rem}.qs b em{color:var(--gold);font-style:normal}.qs .qt{flex:1 1 240px}.qs .qt small{display:block;color:#cfe0d7;font-size:.85rem}.qs form{display:flex;gap:.5rem;flex:1 1 320px}.qs input{flex:1;min-width:0;padding:.75rem .9rem;border-radius:12px;border:2px solid transparent;font:inherit;font-size:16px;background:var(--cream);color:var(--ink)}.qs input:focus{outline:none;border-color:var(--gold)}.qs input.bad{border-color:#e85d4a}.qs button{background:var(--gold);color:var(--g);border:0;border-radius:99px;padding:.75rem 1.1rem;font:inherit;font-weight:800;cursor:pointer;white-space:nowrap}.qs .err{flex-basis:100%;color:#ffb4a8;font-size:.85rem;margin:0}.qs .err:empty{display:none}.qs .ok{font-weight:600}.qs form input#qemail{flex:1 1 auto;width:auto;min-width:0}.qs form button{flex:0 0 auto;width:auto}.qs form{display:grid;grid-template-columns:minmax(0,1fr) auto;width:100%;min-width:0;box-sizing:border-box}.qs form input#qemail{width:100%;box-sizing:border-box}
/*SEO*/.ev .evl{color:inherit;text-decoration:none}.ev .evl:hover{text-decoration:underline}.ev.feat .evl:after{content:"";position:absolute;inset:0;border-radius:16px}.ev.feat .src,.ev.feat button{position:relative;z-index:1}a.wkc{color:inherit}.tlinks a{display:inline-block;margin:0 .55rem .35rem 0}/*/SEO*/
/*FOLLOW*/footer .follow,.follow{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.9rem}.follow b{color:#fff;font-weight:700;margin-right:.2rem}.follow a{display:inline-flex;align-items:center;gap:.35rem;background:rgba(255,255,255,.1);color:#fff;text-decoration:none;font-weight:600;font-size:.85rem;padding:.4rem .8rem;border-radius:99px}.follow a:hover{background:rgba(224,165,38,.25)}.follow svg{color:var(--gold);flex:none}/*FEATC*/.wkc.feat,a.wkc.feat{color:#fff8e7}.wkc.feat h3{color:#fff8e7;text-shadow:0 1px 2px rgba(0,0,0,.35)}.wkc.feat p{color:#f3e7c9;opacity:1}.wkc.feat .when{color:#f2c14e}a.wkc.feat:hover h3,a.wkc.feat:focus-visible h3{color:#fff;text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:3px}a.wkc.feat:visited{color:#fff8e7}.wkc.feat:focus-visible{outline:3px solid #fff8e7;outline-offset:3px}.wkc.feat .dp{color:var(--ink)}.wkc.feat .dp a{color:var(--g2)}/*/FEATC*//*LISTER*/.ev.lst:not(.feat),.wkc.lst:not(.feat){outline:2px solid #7fae9b;outline-offset:-2px;background:#f6faf8}.ltag{display:inline-block;font-size:.7rem;font-weight:600;color:#1d5c45;background:#e2efe9;border:1px solid #c5ddd2;padding:.06rem .5rem;border-radius:99px;line-height:1.5;white-space:nowrap}.wkc .ltag{margin-left:.4rem;vertical-align:middle;text-transform:none;letter-spacing:0}.wkc.feat .ltag{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.3);color:#e3ece7}.ev.feat .ltag{font-weight:500;color:#2f5a49;background:rgba(255,255,255,.7)}
/*SPONSORS*/.sponsors{margin:0 0 1rem}.sponsors[hidden],.sponsors:empty{display:none!important;margin:0!important;padding:0;border:0}.hero .sponsors{margin:.8rem 0 .1rem}.sponsors-in{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem .85rem;background:#fff;color:var(--ink);border-radius:18px;border-top:4px solid var(--gold);box-shadow:0 10px 24px -16px rgba(18,61,46,.55);padding:.7rem .85rem}.hero .sponsors-in{background:rgba(251,247,238,.97)}.sponsors-kicker{margin:0;font-family:Fraunces,Georgia,serif;font-weight:700;font-size:1.05rem;color:var(--g);line-height:1.15}.sponsors-kicker span{display:block;font-family:Inter,system-ui,sans-serif;font-weight:700;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--g2);margin-bottom:.12rem}.sponsors-list{display:flex;flex-wrap:wrap;gap:.45rem;list-style:none;margin:0;padding:0;flex:1 1 16rem}.sponsor{display:flex;align-items:center;gap:.55rem;text-decoration:none;background:var(--cream);color:var(--g);border-radius:999px;padding:.28rem .8rem .28rem .28rem;border:1px solid #e7dcc4;max-width:100%}.sponsor:hover{border-color:var(--gold)}.sponsor-mark{flex:none;width:34px;height:34px;border-radius:50%;background:var(--g);color:var(--gold);display:grid;place-items:center;font-family:Fraunces,Georgia,serif;font-weight:800;font-size:.78rem}.sponsor-copy{min-width:0}.sponsor b{display:block;color:var(--g);font-size:.9rem;font-weight:700;line-height:1.15}.sponsor small{display:block;color:var(--mut);font-size:.75rem;font-weight:500;line-height:1.25}.ex{display:inline-block;margin-left:.3rem;background:var(--gold);color:var(--g);font-family:Inter,system-ui,sans-serif;font-size:.62rem;font-weight:800;letter-spacing:.06em;padding:.08rem .38rem;border-radius:99px;vertical-align:.1em}.sponsors-cta{margin-left:auto;background:var(--gold);color:var(--g)!important;font-weight:800;text-decoration:none;padding:.5rem .95rem;border-radius:99px;font-size:.84rem;white-space:nowrap}.sponsors-cta:hover{filter:brightness(1.06)}.sponsor:focus-visible,.sponsors-cta:focus-visible{outline:3px solid var(--gold);outline-offset:2px}@media(max-width:640px){.sponsors-cta{margin-left:0}.hero .sponsors-list{flex-wrap:nowrap;overflow-x:auto;flex:1 1 auto;min-width:0}.hero .sponsor{flex:none}}.sponsor-logo{width:34px;height:34px;border-radius:50%;object-fit:cover;flex:none;background:#fff}.sponsor-join{display:inline-flex;align-items:center;margin:.45rem 0 .15rem;background:var(--gold);color:var(--g)!important;font-weight:800;text-decoration:none;padding:.42rem .9rem;border-radius:99px;font-size:.84rem;width:auto}.hero .sponsor-join{margin-top:.9rem}.sponsor-join:hover{filter:brightness(1.06)}.sponsor-join:focus-visible{outline:3px solid var(--gold);outline-offset:2px}/*/SPONSORS*/
.quick{display:flex;align-items:center;gap:.5rem;margin:0 0 .65rem;flex-wrap:wrap}
.wkend{flex:1 1 220px;width:auto;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;border:2px solid var(--gold);background:#fff;color:var(--g);font-weight:800;border-radius:99px;padding:.55rem 1rem;cursor:pointer;box-shadow:0 6px 16px -10px rgba(224,165,38,.9)}
.wkend small{font-weight:700;color:var(--g2)}
.wkend.on{background:var(--gold);color:var(--g)}
.wkend.on small{color:var(--g)}
.wkend:focus-visible,.viewtog button:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(224,165,38,.45)}
.viewtog{display:inline-flex;background:#efe7d4;border-radius:99px;padding:3px;flex:none}
.viewtog button{width:auto;border:0;background:transparent;color:var(--g);font-weight:800;border-radius:99px;padding:.48rem .95rem;cursor:pointer}
.viewtog button.on{background:var(--g);color:#fff}
#mview{position:relative;z-index:1;margin:.4rem 0 1.2rem}
#mview[hidden],#list[hidden]{display:none}
.mleg{margin:.2rem 0 .55rem;color:var(--mut);font-size:.9rem}
.mlay{display:grid;gap:.7rem}
@media(min-width:760px){.mlay{grid-template-columns:220px minmax(0,1fr);align-items:stretch}}
.mtowns{display:flex;gap:.4rem;margin:0;padding:0;list-style:none;overflow:auto}
@media(max-width:759px){.mtowns{flex-direction:row;padding-bottom:.15rem}.mtowns button{width:auto;flex:none}}
@media(min-width:760px){.mtowns{flex-direction:column;max-height:min(68vh,480px)}}
.mtowns button{display:flex;justify-content:space-between;align-items:center;gap:.6rem;width:100%;text-align:left;border:0;border-radius:99px;background:#fff;color:var(--g);font-weight:700;padding:.48rem .75rem;cursor:pointer;box-shadow:inset 0 0 0 1.5px #e9e1cf}
.mtowns button b{font-family:Fraunces,Georgia,serif;color:var(--g2)}
.mtowns button.on{background:var(--g);color:#fff;box-shadow:none}
.mtowns button.on b{color:var(--gold)}
#emap{height:min(68vh,480px);min-height:320px;border-radius:18px;overflow:hidden;border:1.5px solid #e9e1cf;background:#e7efe9;box-shadow:0 10px 24px -16px rgba(18,61,46,.55)}
.leaflet-marker-icon{scroll-margin-top:220px}
.pin{background:transparent;border:none}
.pinb{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:99px;background:#123d2e;color:#fff;font-family:Fraunces,Georgia,serif;font-weight:800;font-size:1rem;border:3px solid #e0a526;box-shadow:0 8px 16px -8px rgba(18,61,46,.8);position:relative}
.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.leaflet-container{font-family:Inter,system-ui,sans-serif;background:#e7efe9}
.leaflet-popup-content-wrapper{border-radius:16px;background:#fbf7ee;color:#1d2421}
.leaflet-popup-tip{background:#fbf7ee}
.leaflet-popup-content{margin:.7rem .85rem}
.mpop h3{font-family:Fraunces,Georgia,serif;color:#123d2e;margin:0 0 .15rem;font-size:1.15rem}
.mpop p{margin:0 0 .35rem;color:#5d6762;font-size:.85rem}
.mpop ul{margin:0;padding:0;list-style:none}
.mpop-scroll{max-height:260px;overflow-y:auto;margin:.15rem 0 .55rem;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y}
.mpop li{margin:0;font-size:.88rem;line-height:1.35}
.mpop-row{display:grid;grid-template-columns:5.5rem minmax(0,1fr);gap:.12rem .45rem;align-items:baseline;padding:.32rem .1rem;border-bottom:1px solid #eadfca;color:inherit;text-decoration:none}
.mpop-scroll .dt{font-size:.75rem;font-weight:700;color:#5d6762}
.mpop-scroll b{font-weight:700;color:#123d2e}
.mpop-scroll a.mpop-row:hover b,.mpop-scroll a.mpop-row:focus-visible b{text-decoration:underline}
.mpop li span{color:#5d6762}
.mpop .go{width:100%;margin-top:.2rem;border-radius:99px;padding:.55rem .8rem}
.leaflet-tooltip{font-family:Inter,system-ui,sans-serif;font-weight:700;color:#123d2e;border:0;border-radius:99px;box-shadow:0 4px 12px -6px rgba(18,61,46,.6)}
@media(max-width:640px){#emap{height:440px;min-height:400px}.wkend{flex-basis:100%}}
</style></head><body>
<header class="hero"><div class="top"><a class="logo" href="#">What's On <span>NM&amp;C</span></a><nav class="tnav"><a class="cta ghost dk" href="#advertise">Advertise with us</a><a class="cta wh dk" href="#gaa">🏐&nbsp;GAA</a><a class="cta" href="#submit">+&nbsp;Add event</a>
<button class="burger" id="burger" aria-label="Menu" aria-expanded="false" aria-controls="mmenu"><span></span><span></span><span></span></button></nav>
<div class="mmenu" id="mmenu" hidden><a href="#events">📅&nbsp;Events</a><a href="#xmas">🎄&nbsp;Christmas parties</a><a href="#gaa">🏐&nbsp;GAA fixtures</a><a href="#advertise">📣&nbsp;Advertise with us</a><a href="#weekly">✉️&nbsp;Weekly email</a><a href="#towns">📍&nbsp;Towns</a></div></div>
<div class="hin"><span class="kick">Autumn 2026 · Free local guide</span> <a href="#advertise" class="kick" style="background:#fff;text-decoration:none">🎉 Businesses: first month free</a><h1>What's On <em>North Meath</em> &amp; Cavan</h1>
<p>Gigs, theatre, GAA, festivals, markets &amp; Hallowe'en from Navan, Trim, Athboy, Kells, Slane, Oldcastle and Kilmainhamwood to Kingscourt, Cavan Town, Virginia and the lakelands.</p>
<p style="font-weight:700;color:var(--gold);margin-top:-.6rem">📍 Now covering Navan, Trim and Athboy, plus Louth and Monaghan too: Dundalk, Drogheda, Ardee, Carlingford, Monaghan Town, Carrickmacross, Castleblayney, Clones and more.</p>
<div class="stats"><div><b id="sE">37</b><span>upcoming events</span></div><div><b id="sG">10</b><span>GAA fixtures</span></div><div><b id="sT">10</b><span>towns &amp; villages</span></div><div><b>4</b><span>counties</span></div></div>
<aside id="sponsors" class="sponsors" data-state="pending" hidden></aside><a class="sponsor-join" href="/sponsor">Sponsor this site</a></div>
<div class="credit">Loughcrew Cairns T &amp; V · <a href="https://commons.wikimedia.org/wiki/File:Loughcrew_Cairns_T_and_V.jpg">Rob Hurson</a>, CC BY-SA 2.0</div></header><a class="addbar" href="#submit">🎤 Running an event? <b>Add it free →</b></a>
<main class="wrap">
<section class="qs" id="signup" aria-label="Weekly email signup"><div class="qt"><b>✉️ Get the weekly <em>What's On</em> email</b><small>Every Thursday. Free, no spam, unsubscribe any time.</small></div><form id="qf" novalidate><input id="qemail" name="email" type="email" inputmode="email" autocomplete="email" placeholder="Your email address" aria-label="Email address" required><input id="qhp" name="website" tabindex="-1" autocomplete="off" aria-hidden="true" style="position:absolute;left:-9999px;width:1px;height:1px"><button type="submit">Sign up</button></form><p class="err" id="qerr" role="alert"></p></section>
<div class="sec-h"><h2>🗓️ Coming up this weekend</h2><small id="wkl"></small></div><div class="wk" id="wk"></div>
<div class="filters" id="events"><div class="quick"><button type="button" class="wkend" id="wkend" aria-pressed="false">This weekend <small id="wkendr"></small></button><div class="viewtog" role="group" aria-label="Event list or map"><button type="button" id="viewlist" class="on" aria-pressed="true">List</button><button type="button" id="viewmap" aria-pressed="false">Map</button></div></div><div class="frow">
<select id="county" aria-label="County"><option value="">All counties</option><option>Meath</option><option>Cavan</option><option>Louth</option><option>Monaghan</option></select>
<select id="town" aria-label="Town"><option value="">All towns</option></select>
<select id="cat" aria-label="Type"><option value="">All types</option></select>
<input id="q" type="search" placeholder="🔍 Search events, venues…"></div><div class="chips" id="chips"></div><label class="tog"><input type="checkbox" id="incg"> Include GAA fixtures in the main list</label></div>
<div id="mview" hidden><p class="mleg">Each pin is a town. The number is how many matching events are on there. Choose a town to open it.</p><div class="mlay"><ul id="mtowns" class="mtowns" aria-label="Towns on the map"></ul><div id="emap" role="region" aria-label="Map of events by town"></div></div><p class="note" id="mmiss" hidden></p></div>
<p id="count"></p><div id="list"></div>
<section class="gaa" id="gaa"><h2>🏐 GAA fixtures</h2><p class="sub2">Club championship finals, Ulster club games and underage fixtures involving clubs from North Meath, Cavan, Louth and Monaghan. Only fixtures with a confirmed date and venue are listed. Times are throw-in, Irish time.</p><div class="fxg" id="fxl"></div></section>

<section class="adv" id="advertise"><div class="sec-h"><h2>📣 Advertise &amp; sponsor</h2><small>Support a free local guide</small></div>
<p style="max-width:700px;color:var(--mut)">Put your business in front of people planning nights out, gigs, theatre, family days and match days across North Meath, Cavan, Louth and Monaghan, from Navan, Trim, Kingscourt and Kells to Cavan Town, Dundalk, Drogheda and Monaghan Town. Packages are simple, local and flexible.</p>
<div class="launch">🎉 <b>Launch offer:</b> first month free for the first 10 businesses</div><div class="why"><div><b>🎯 Truly local</b>Everyone here is looking for something to do nearby.</div><div><b>📅 Right moment</b>Reach people while they're making plans for the weekend.</div><div><b>📱 Phone-first</b>Your listing looks great on mobile, where most people browse.</div><div><b>🤝 Community</b>Your support keeps the guide free for everyone.</div></div>
<div class="tiers">
<div class="tier" style="--t:#e07a10"><div class="ic">⭐</div><h3>Featured event</h3><div class="price">€10 <s class="was">€25</s> <small>per event</small></div><ul><li>Boost one event to the top of its month</li><li>Placed in the “This weekend” row</li><li>Highlighted card with a Featured badge</li></ul><div class="acts"><a class="pick" href="#advf" data-p="Featured event">Enquire</a><a class="paynow" href="#submit">Submit your event, then pay</a></div></div>
<div class="tier" style="--t:#2a7fb8"><span class="pop">Best value</span><div class="ic">🏪</div><h3>Local business listing</h3><div class="price">€15 <s class="was">€30</s> <small>/ month</small></div><div class="alt">or €120 a year</div><ul><li>Your business card shown among the events</li><li>Logo, short description and link</li><li>Choose your town or county</li></ul><div class="acts"><a class="paynow" href="#advf" data-p="Local business listing">Enquire, then pay</a></div></div>
<div class="tier hl" style="--t:#e0a526"><div class="ic">🏆</div><h3>Headline sponsor</h3><div class="price">€50 <s class="was" style="color:#cfe0d7">€75</s> <small style="color:#fff">/ month</small></div><div class="alt" style="color:#e3ece7">Founding sponsor price for the first 6 months, then €75 / month</div><ul><li>“Brought to you by” slot in the hero</li><li>Logo in the footer on every page</li><li>Limited to 1–2 founding sponsors</li></ul><div class="acts"><a class="paynow" href="#advf" data-p="Headline sponsor">Enquire, then pay</a></div></div></div><p class="note paynote">🔒 Secure card payments by Stripe. Send the enquiry form first, then you'll get your pay buttons with a reference, so we can match your payment.</p>
<div class="cmp" id="howfeat"><div class="cc"><h3>Free listing <span class="tagf">€0</span></h3><ul><li>Shown in the date-ordered events list</li><li>Standard event card</li><li>Always free, never hidden</li></ul></div>
<div class="cc ft"><h3>Featured <span class="tagf gold">€10</span></h3><ul><li>Pinned to the top of its month</li><li>Placed in the “This weekend” row</li><li>Highlighted card with a gold ⭐ Featured badge</li><li>Shown at the top from the day you pay until your event</li></ul><a class="paylink" href="#submit">📝 Submit your event, then pay €10 →</a></div>
<div class="cc how"><h3>How featuring works</h3><ol><li>Submit your event (free)</li><li>Tick “Feature this event” on the form, or reply to the confirmation email</li><li>Pay by card using the secure Stripe Pay buttons</li><li>We switch it on, usually the same day</li></ol>
<p class="note">• A maximum of 3 featured events run each week, so the badge means something.<br>• Free events are never hidden.<br>• Charities and GAA clubs get one free feature a year.</p></div></div>
<form class="advf" id="advf"><h3>Advertising enquiry</h3><p class="note">Tell us a bit about your business and we'll get back to you.</p>
<div class="two"><input name="business" required placeholder="Business name"><input name="contact" required placeholder="Contact name"></div>
<div class="two"><input name="email" type="email" required placeholder="Email"><input name="phone" type="tel" placeholder="Phone"></div>
<select name="package" id="pkg"><option>Featured event</option><option>Local business listing</option><option>Headline sponsor</option><option>Not sure yet</option></select>
<textarea name="message" rows="3" placeholder="Message"></textarea><input name="website2" tabindex="-1" autocomplete="off" aria-hidden="true" style="position:absolute;left:-9999px;width:1px;height:1px"><label class="tog" style="color:var(--ink);font-size:.85rem"><input type="checkbox" name="newsletter"> Send me the free weekly What's On email (optional; unsubscribe any time)</label><label class="tog" style="color:var(--ink);font-size:.85rem"><input type="checkbox" name="consent" required> I agree my details are used to handle this submission (<a href="/privacy">Privacy</a>)</label><button class="go">Send enquiry →</button><p class="err" id="aerr" role="alert" style="color:#c0392b;margin:0"></p><p class="note">Sent securely to the What's On team. We use your details only to reply and handle your listing. <a href="/privacy.html">Privacy</a> · <a href="/privacy.html#terms">Terms</a></p></form></section>
<section class="sub" id="submit"><div class="pic"><picture><source type="image/webp" srcset="lough.webp"><img src="lough.jpg" alt="" width="1100" height="825" loading="lazy" decoding="async"></picture><span>Lough Oughter, Cavan · <a href="https://commons.wikimedia.org/wiki/File:Lough_Oughter,_Cavan.jpg">NTF30</a>, CC BY-SA 4.0</span></div>
<form id="f" novalidate><h2>Submit your event</h2><p class="note">Running something anywhere in Ireland? Send us the details. Events in Meath (including Navan, Trim and Athboy), Cavan, Louth and Monaghan go live now. Events in other counties go live when What's On Local launches countrywide in early November.</p><div class="freenote">💚 <b>Listing your event is always free.</b> Want more people to see it? <a href="#howfeat">Feature it for €10.</a></div>
<input name="title" required maxlength="150" placeholder="Event title *" aria-label="Event title">
<div class="two"><label class="fl">Date *<input name="date" type="date" required></label><label class="fl">Start time *<input name="start_time" type="time" required></label></div>
<div class="two"><label class="fl">End date (optional)<input name="end_date" type="date"></label><select name="category" required aria-label="Category"><option value="">Category *</option><option>Comedy</option><option>Community</option><option>Exhibition</option><option>Festival</option><option>Film</option><option>GAA</option><option>Hallowe'en</option><option>Market</option><option>Music</option><option>Theatre</option><option>Other</option></select></div>
<input name="venue" required maxlength="120" placeholder="Venue *" aria-label="Venue">
<div class="two"><select name="county" id="fcounty" required aria-label="County"><option value="">County *</option><option>Carlow</option><option>Cavan</option><option>Clare</option><option>Cork</option><option>Donegal</option><option>Dublin</option><option>Galway</option><option>Kerry</option><option>Kildare</option><option>Kilkenny</option><option>Laois</option><option>Leitrim</option><option>Limerick</option><option>Longford</option><option>Louth</option><option>Mayo</option><option>Meath</option><option>Monaghan</option><option>Offaly</option><option>Roscommon</option><option>Sligo</option><option>Tipperary</option><option>Waterford</option><option>Westmeath</option><option>Wexford</option><option>Wicklow</option></select><div style="display:grid"><select name="town" id="ftown" required aria-label="Town"><option value="">Town *</option><option>Ardee</option><option>Ashbourne</option><option>Athboy</option><option>Ballybay</option><option>Ballyconnell</option><option>Belturbet</option><option>Brú na Bóinne</option><option>Carlingford</option><option>Carrickmacross</option><option>Castleblayney</option><option>Cavan Town</option><option>Clones</option><option>Collon</option><option>Cootehill</option><option>Donore</option><option>Drogheda</option><option>Duleek</option><option>Dunboyne</option><option>Dundalk</option><option>Dunganny</option><option>Dunleer</option><option>Grangegeeth</option><option>Inniskeen</option><option>Kells</option><option>Kilberry</option><option>Kilmainhamwood</option><option>Kingscourt</option><option>Knockatallon</option><option>Martry</option><option>Monaghan Town</option><option>Monknewtown</option><option>Mountnugent</option><option>Moylagh</option><option>Navan</option><option>Oldcastle</option><option>Rathkenny</option><option>Slane</option><option>Trim</option><option>Virginia</option><option>Wilkinstown</option><option>Other</option></select><select name="town" id="ftown2" aria-label="Town" hidden disabled><option value="">Town *</option></select></div></div><div id="fnat" hidden role="note" style="background:#fff7e0;border:1px solid #e0a526;color:#5c4400;border-radius:12px;padding:.7rem .9rem;font-size:.9rem;font-weight:600">📍 We're launching countrywide in early November. Your event will be saved and will appear when What's On Local goes live.</div>
<input name="town_other" id="ftowno" maxlength="80" placeholder="Town name (if Other)" hidden aria-label="Other town">
<textarea name="description" rows="3" required maxlength="1500" placeholder="Short description *" aria-label="Short description"></textarea>
<div class="two"><input name="price" required maxlength="80" placeholder="Price, or Free *" aria-label="Price or free"><input name="link" type="text" inputmode="url" placeholder="Link for tickets / info (optional)" aria-label="Link"></div><label class="pst" style="color:var(--ink);font-size:.9rem;font-weight:600">🖼️ Poster image (optional, JPG/PNG/WebP)<input type="file" id="fposter" accept="image/*" style="display:block;margin-top:.3rem;font-weight:400"><small style="display:block;font-weight:400;color:var(--mut)">Shown on your listing after we review it.</small></label>
<div class="two"><input name="organiser" required maxlength="80" placeholder="Your name *" aria-label="Organiser name"><input name="email" type="email" required placeholder="Your email * (for queries)" aria-label="Organiser email"></div><p style="font-size:.8rem;margin:.2rem 0 .6rem;opacity:.8">We may occasionally email you about your own events (at most once per event). Reply 'stop' any time.</p><input name="website2" tabindex="-1" autocomplete="off" aria-hidden="true" style="position:absolute;left:-9999px;width:1px;height:1px">
<label class="tog" id="ffeat" style="color:var(--ink);font-weight:600"><input type="checkbox" name="featured"> ⭐ I'd like to feature this event (€10), optional</label><small class="fhint" id="ffeath" style="display:block;margin:-.2rem 0 .4rem 1.6rem;color:var(--mut);font-size:.85rem">Send the form first, then you'll get a button to pay €10.</small>
<label class="tog" style="color:var(--ink);font-size:.85rem"><input type="checkbox" name="newsletter"> Send me the free weekly What's On email (optional; unsubscribe any time)</label><label class="tog" style="color:var(--ink);font-size:.85rem"><input type="checkbox" name="consent" required> I agree my details are used to handle this submission (<a href="/privacy">Privacy</a>)</label>
<button class="go">Send my event →</button><p class="err" id="ferr" role="alert" style="color:#c0392b;margin:0"></p><p class="note">Sent securely to the What's On team. We use your details only to check and list your event and to contact you about it. <a href="/privacy">Privacy</a> · <a href="/privacy.html#terms">Terms</a></p></form></section></main>
<section class="xmas" id="xmas"><h2>🎄 Christmas parties &amp; events <em>2026</em></h2><p>Planning the work do or a night out with friends? Here are the Christmas party offers from restaurants, hotels and pubs across North Meath, Cavan, Louth &amp; Monaghan.</p>
<div class="xnote">💚 <b>Basic listings are free.</b> Want to stand out? A ⭐ Featured Christmas listing is <b>€10</b> <s>€25</s> (launch price).</div>
<h3 class="xh">🎄 Christmas events, markets &amp; shows <small>(<span id="xcount">0</span>)</small></h3><div id="xev" class="xev"></div><h3 class="xh">🥂 Christmas party nights</h3>
<form id="xf" novalidate><h3>List your Christmas party nights</h3>
<div class="two"><input name="venue" required placeholder="Venue name" aria-label="Venue name"><input name="town" required placeholder="Town / village" aria-label="Town"></div>
<div class="two"><input name="contact" required placeholder="Contact name" aria-label="Contact name"><input name="phone" type="tel" required placeholder="Phone" aria-label="Phone"></div>
<input name="email" type="email" required placeholder="Email" aria-label="Email">
<textarea name="offer" rows="3" required placeholder="Offer details: menu highlights, entertainment, group size" aria-label="Offer details"></textarea>
<div class="two"><input name="dates" required placeholder="Dates available (e.g. Fri &amp; Sat, 27 Nov – 19 Dec)" aria-label="Dates"><input name="price" required placeholder="Price per head (e.g. €45)" aria-label="Price per head"></div>
<input name="website" type="url" placeholder="Website (optional)" aria-label="Website"><input name="website2" tabindex="-1" autocomplete="off" aria-hidden="true" style="position:absolute;left:-9999px;width:1px;height:1px;opacity:0">
<label><input type="checkbox" name="featured">⭐ Make it a Featured listing (€10)</label>
<p class="note" style="font-size:.8rem">We use these details only to review and publish your listing and contact you about it. <a href="/privacy.html">Privacy</a> · <a href="/privacy.html#terms">Terms for paid listings</a></p><button>Submit my listing →</button><p class="xerr" id="xerr"></p></form></section>
<section class="news" id="weekly"><h2>✉️ Get the weekly <em>What's On</em> email</h2><p>Every Thursday: the best gigs, GAA, markets and family days out across North Meath, Cavan, Louth &amp; Monaghan. Free, no spam, unsubscribe any time.</p>
<form id="nf" novalidate><input id="nemail" name="email" type="email" inputmode="email" autocomplete="email" placeholder="Your email address" aria-label="Email address" required><select id="ntown" name="town" aria-label="Your area (optional)"><option value="">Your area (optional)</option><option>North Meath</option><option>Navan, Trim &amp; Athboy</option><option>Cavan</option><option>Louth</option><option>Monaghan</option><option>All areas</option></select><input name="website" id="nhp" tabindex="-1" autocomplete="off" aria-hidden="true" style="position:absolute;left:-9999px;width:1px;height:1px;opacity:0"><button>Sign me up →</button></form><p class="err" id="nerr"></p><small>By signing up you agree to get our free weekly What's On email. We use your email (and town, if given) only to send it, via our email provider MailerLite. We never sell or share it. Unsubscribe any time with one click. See our <a href="/privacy.html">Privacy Policy</a>.</small></section>
<footer><div class="wrap"><div><h4>What's On North Meath &amp; Cavan</h4>A free, independent guide to gigs, theatre, GAA and what's happening across North Meath and Counties Cavan, Louth and Monaghan, from Kingscourt to Kilmainhamwood, Navan, Trim, Athboy, Dundalk, Drogheda and Monaghan Town. Every listing links to its source, so please check with the organiser before you travel.<div class="follow"><b>Follow us</b> <a href="https://www.facebook.com/122107562157503726" target="_blank" rel="noopener" aria-label="What's On NM&amp;C on Facebook"><svg viewBox="0 0 24 24" width="18" height="18" aria-hidden="true"><path fill="currentColor" d="M13.5 21v-7.5h2.5l.4-3h-2.9V8.6c0-.9.3-1.5 1.5-1.5h1.6V4.4c-.3 0-1.2-.1-2.3-.1-2.3 0-3.9 1.4-3.9 4v2.2H7.9v3h2.5V21h3.1z"/></svg>Facebook</a> <a href="https://www.instagram.com/whatsonnmc/" target="_blank" rel="noopener" aria-label="What's On NM&amp;C on Instagram"><svg viewBox="0 0 24 24" width="18" height="18" aria-hidden="true"><path fill="none" stroke="currentColor" stroke-width="2" d="M7.5 3h9A4.5 4.5 0 0 1 21 7.5v9a4.5 4.5 0 0 1-4.5 4.5h-9A4.5 4.5 0 0 1 3 16.5v-9A4.5 4.5 0 0 1 7.5 3z"/><circle cx="12" cy="12" r="4" fill="none" stroke="currentColor" stroke-width="2"/><circle cx="17.3" cy="6.7" r="1.2" fill="currentColor"/></svg>Instagram</a></div></div>
<div><h4>Explore</h4><a href="#events">All events</a><br><a href="#wk">This weekend</a><br><a href="#gaa">GAA fixtures</a><br><a href="#submit">Submit an event</a><br><a href="#advertise">Advertise with us</a><br><a href="/sponsor">Sponsor this site</a></div>
<div id="towns"><h4>Towns</h4><span id="ftowns" hidden></span><!--SEO-TOWNS--><nav class="tlinks"><a href="/whats-on/annagassan/">Annagassan</a> <a href="/whats-on/ardee/">Ardee</a> <a href="/whats-on/ashbourne/">Ashbourne</a> <a href="/whats-on/athboy/">Athboy</a> <a href="/whats-on/bailieborough/">Bailieborough</a> <a href="/whats-on/ballinagh/">Ballinagh</a> <a href="/whats-on/ballyconnell/">Ballyconnell</a> <a href="/whats-on/ballyjamesduff/">Ballyjamesduff</a> <a href="/whats-on/carlingford/">Carlingford</a> <a href="/whats-on/carrickmacross/">Carrickmacross</a> <a href="/whats-on/castleblayney/">Castleblayney</a> <a href="/whats-on/cavan/">Cavan Town</a> <a href="/whats-on/clones/">Clones</a> <a href="/whats-on/cootehill/">Cootehill</a> <a href="/whats-on/donore/">Donore</a> <a href="/whats-on/drogheda/">Drogheda</a> <a href="/whats-on/duleek/">Duleek</a> <a href="/whats-on/dundalk/">Dundalk</a> <a href="/whats-on/dunleer/">Dunleer</a> <a href="/whats-on/enfield/">Enfield</a> <a href="/whats-on/glaslough/">Glaslough</a> <a href="/whats-on/gormanston/">Gormanston</a> <a href="/whats-on/kells/">Kells</a> <a href="/whats-on/kilmainhamwood/">Kilmainhamwood</a> <a href="/whats-on/kingscourt/">Kingscourt</a> <a href="/whats-on/monaghan/">Monaghan Town</a> <a href="/whats-on/navan/">Navan</a> <a href="/whats-on/nobber/">Nobber</a> <a href="/whats-on/oldcastle/">Oldcastle</a> <a href="/whats-on/ratoath/">Ratoath</a> <a href="/whats-on/slane/">Slane</a> <a href="/whats-on/trim/">Trim</a> <a href="/whats-on/virginia/">Virginia</a></nav><!--/SEO-TOWNS--></div>
<div class="fine">© 2026 whatsonnorthmeathcavan.ie · <a href="/privacy.html">Privacy Policy</a> · <a href="/privacy.html#terms">Terms</a> · <a href="mailto:hello@whatsonnorthmeathcavan.ie">hello@whatsonnorthmeathcavan.ie</a> · Photos: Loughcrew Cairns T and V by Rob Hurson (CC BY-SA 2.0); Lough Oughter, Cavan by NTF30 (CC BY-SA 4.0), via Wikimedia Commons.</div>
<!-- VISITOR COUNTER: delete this div + the vc script below to remove --><div id="vc" class="fine" style="display:none;border:0;padding-top:0"></div></div></footer>
<script type="module">(function(){var el=document.getElementById('vc');if(!el)return;fetch('/api/visits').then(function(r){return r.json()}).then(function(d){if(d&&d.ok&&d.total>0){el.textContent='👀 '+d.total.toLocaleString('en-IE')+' visitors since launch';el.style.display=''}}).catch(function(){})})();</script>
<script type="module">(function(){const f=document.getElementById('nf'),e=document.getElementById('nemail'),t=document.getElementById('ntown'),er=document.getElementById('nerr'),bt=f.querySelector('button');try{const q=new URLSearchParams(location.search).get('email');if(q)e.value=q}catch(_){}f.onsubmit=async function(ev){ev.preventDefault();const v=e.value.trim();if(!/^[^\s@]+@[^\s@]+\.[^\s@]{2,}$/.test(v)){e.classList.add('bad');er.textContent='Please enter a valid email address.';e.focus();return}e.classList.remove('bad');er.textContent='';bt.disabled=true;bt.textContent='Signing up…';try{const r=await fetch('/api/subscribe',{method:'POST',headers:{'content-type':'application/json'},body:JSON.stringify({email:v,area:t.value.trim(),website:document.getElementById('nhp').value})});const d=await r.json();if(!r.ok||!d.ok)throw new Error(d.error||'x');f.outerHTML='<div class="ok">🎉 Thanks! You\'re on the list for the weekly What\'s On email.</div>'}catch(x){er.textContent='Sorry, something went wrong. Please try again, or email hello@whatsonnorthmeathcavan.ie to join.';bt.disabled=false;bt.textContent='Sign me up →'}}})();</script><script type="module">(function(){const f=document.getElementById('xf'),er=document.getElementById('xerr'),bt=f.querySelector('button');f.onsubmit=async function(ev){ev.preventDefault();er.textContent='';let bad=null;f.querySelectorAll('[required]').forEach(i=>{const ok=i.value.trim()&&(i.type!='email'||/^[^\s@]+@[^\s@]+\.[^\s@]{2,}$/.test(i.value.trim()));i.classList.toggle('bad',!ok);if(!ok&&!bad)bad=i});if(bad){er.textContent='Please fill in the highlighted fields.';bad.focus();return}const d={};new FormData(f).forEach((v,k)=>d[k]=String(v).trim());d.featured=f.featured.checked;bt.disabled=true;bt.textContent='Sending…';try{const r=await fetch('/api/xmas',{method:'POST',headers:{'content-type':'application/json'},body:JSON.stringify(d)});const o=await r.json();if(!r.ok||!o.ok)throw new Error(o.error||'');f.outerHTML='<div class="xok">🎄 Thanks! We\'ve got your Christmas listing. We\'ll review it and publish it shortly.</div>'}catch(x){er.textContent=(x.message||'Sorry, something went wrong.')+' You can also email hello@whatsonnorthmeathcavan.ie.';bt.disabled=false;bt.textContent='Submit my listing →'}}})();</script><script type="module">(function(){try{if(navigator.doNotTrack=='1')return;navigator.sendBeacon?navigator.sendBeacon('/api/hit',new Blob([JSON.stringify({p:location.pathname,r:document.referrer})],{type:'application/json'})):fetch('/api/hit',{method:'POST',keepalive:true,headers:{'content-type':'application/json'},body:JSON.stringify({p:location.pathname,r:document.referrer})})}catch(e){}})();</script><script>
function er_top(el){return el.getBoundingClientRect().top+window.pageYOffset}
window.jumpTo=function(el){function go(){var r=document.documentElement,p=r.style.scrollBehavior;r.style.scrollBehavior='auto';(function(){var f=document.getElementById('events'),o=12;if(f&&getComputedStyle(f).position=='sticky'&&f.parentNode.contains(el)&&(f.compareDocumentPosition(el)&4)&&!f.contains(el))o+=f.offsetHeight;window.scrollTo({top:er_top(el)-o,behavior:'instant'})})();r.style.scrollBehavior=p}requestAnimationFrame(function(){go();requestAnimationFrame(go)});setTimeout(go,250);setTimeout(function(){go()},800)};
/* Reliable in-page jumps: long smooth scrolls can be cut short on phones (layout still settling), so jump, then re-check. */
document.addEventListener('click',function(e){var a=e.target.closest&&e.target.closest('a[href^="#"]');if(!a)return;var id=a.getAttribute('href').slice(1);if(!id)return;var el=document.getElementById(id);if(!el)return;e.preventDefault();var mm=document.getElementById('mmenu');if(mm&&!mm.hidden){mm.hidden=true;var b=document.getElementById('burger');if(b)b.setAttribute('aria-expanded','false')}
function go(){var r=document.documentElement,p=r.style.scrollBehavior;r.style.scrollBehavior='auto';(function(){var f=document.getElementById('events'),o=12;if(f&&getComputedStyle(f).position=='sticky'&&f.parentNode.contains(el)&&(f.compareDocumentPosition(el)&4)&&!f.contains(el))o+=f.offsetHeight;window.scrollTo({top:er_top(el)-o,behavior:'instant'})})();r.style.scrollBehavior=p}
requestAnimationFrame(function(){go();requestAnimationFrame(go)});setTimeout(go,250);setTimeout(function(){go()},800);
if(history.replaceState)history.replaceState(null,'','#'+id)});
if(location.hash.length>1){function jumpHash(){try{var id=decodeURIComponent(location.hash.slice(1));var el=id&&document.getElementById(id);if(el)jumpTo(el)}catch(err){}}jumpHash();window.addEventListener('load',jumpHash);}
</script><script>
/* SECTION ORDER after the main events list. To put Christmas above GAA later, change to ['xmas','gaa']. */
var AFTER_LIST_ORDER=['xmas','gaa'];
(function(){var anchor=document.getElementById('list');AFTER_LIST_ORDER.forEach(function(id){var s=document.getElementById(id);if(s&&anchor){anchor.parentNode.insertBefore(s,anchor.nextSibling);anchor=s}})})();
</script><script type="module">(function(){const f=document.getElementById('qf'),e=document.getElementById('qemail'),er=document.getElementById('qerr'),bt=f.querySelector('button');try{const q=new URLSearchParams(location.search).get('email');if(q)e.value=q}catch(_){}f.onsubmit=async function(ev){ev.preventDefault();const v=e.value.trim();if(!/^[^\s@]+@[^\s@]+\.[^\s@]{2,}$/.test(v)){e.classList.add('bad');er.textContent='Please enter a valid email address.';e.focus();return}e.classList.remove('bad');er.textContent='';bt.disabled=true;bt.textContent='Signing up…';try{const r=await fetch('/api/subscribe',{method:'POST',headers:{'content-type':'application/json'},body:JSON.stringify({email:v,area:'',website:document.getElementById('qhp').value})});const d=await r.json();if(!r.ok||!d.ok)throw new Error(d.error||'x');f.outerHTML='<div class="ok">🎉 Thanks! Check your inbox to confirm.</div>'}catch(x){er.textContent='Sorry, something went wrong. Please try again, or email hello@whatsonnorthmeathcavan.ie to join.';bt.disabled=false;bt.textContent='Sign up'}}})();</script><script>if(!window.spg)window.spg=function(){return''}</script><script src="/share.js?v=2" defer></script></body></html>
