Skip to content

Commit 25282ef

Browse files
Various Iterations
Updated details (corrections), added resources page, partners and added calendar invite feature for P2P 2026
1 parent 76b9ea5 commit 25282ef

18 files changed

Lines changed: 1267 additions & 41 deletions

P2P.html

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,14 @@
55
<meta charset="utf-8">
66
<meta name="viewport" content="width=device-width, initial-scale=1">
77
<title>Pwn2Play CTF - DMU Hackers Capture The Flag Competition</title>
8-
<meta name="description" content="Pwn2Play is DMU Hackers' flagship Capture The Flag competition. Web exploitation, cryptography, reverse engineering and more. Open to all universities.">
8+
<meta name="description" content="Pwn2Play is DMU Hackers' flagship Capture The Flag competition. Web exploitation, cryptography, reverse engineering and more. Open to everyone.">
99
<meta property="og:title" content="Pwn2Play CTF - DMU Hackers">
1010
<meta property="og:description" content="DMU Hackers' flagship CTF competition. Exploit, decrypt, reverse-engineer. Prove you've got what it takes.">
1111
<meta property="og:type" content="website">
1212
<meta property="og:url" content="https://dmuhackers.com/P2P.html">
13+
<meta property="og:image" content="https://dmuhackers.com/img/site-content/logo.png">
1314
<meta name="twitter:card" content="summary">
15+
<meta name="twitter:image" content="https://dmuhackers.com/img/site-content/logo.png">
1416
<meta name="twitter:site" content="@dmuhackers">
1517
<meta name="twitter:title" content="Pwn2Play CTF - DMU Hackers">
1618
<meta name="twitter:description" content="DMU Hackers' flagship CTF competition. Exploit, decrypt, reverse-engineer. Prove you've got what it takes.">
@@ -68,6 +70,7 @@
6870
<li><a href="#key-info" class="nav__link" data-section="key-info">Key Info</a></li>
6971
<li><a href="#schedule" class="nav__link" data-section="schedule">Schedule</a></li>
7072
<li><a href="#rules" class="nav__link" data-section="rules">Rules</a></li>
73+
<li><a href="#afterparty" class="nav__link" data-section="afterparty">Social</a></li>
7174
<li><a href="#sponsors" class="nav__link" data-section="sponsors">Sponsors</a></li>
7275
<li><a href="#podium" class="nav__link" data-section="podium">Results</a></li>
7376
<li><a href="https://discord.gg/Vvrk4kK" class="nav__link nav__link--cta" target="_blank" rel="noopener noreferrer"><i class="fab fa-discord"></i> Join Us</a></li>
@@ -146,6 +149,10 @@ <h3 class="card__title">Location</h3>
146149
<p class="card__text">Virtual &amp; DMU Campus</p>
147150
</div>
148151
</div>
152+
<div class="calendar-actions">
153+
<a href="https://www.google.com/calendar/render?action=TEMPLATE&text=Pwn2Play%3A+Core+Incursion+-+DMU+Hackers+CTF&dates=20260530T080000Z/20260530T170000Z&details=DMU+Hackers%27+flagship+Capture+The+Flag+competition.+Register%3A+https%3A%2F%2Fforms.gle%2FYPQaL6gwLK24S6ms8&location=Gateway+House+Floor+5%2C+De+Montfort+University%2C+The+Gateway%2C+Leicester+LE1+9BH" class="btn btn--ghost btn--sm" target="_blank" rel="noopener noreferrer"><i class="fab fa-google"></i> Google Calendar</a>
154+
<a href="data/p2p-core-incursion.ics" class="btn btn--ghost btn--sm" download><i class="fas fa-calendar-plus"></i> Download .ics</a>
155+
</div>
149156
<div class="p2p-connect">
150157
<h3 class="p2p-connect__title">Connect with us</h3>
151158
<div class="p2p-connect__links">
@@ -552,7 +559,7 @@ <h2 class="section__title" id="podiumTitle">Pwn2Play Results</h2>
552559
<div class="footer__top">
553560
<div class="footer__col">
554561
<div class="footer__brand">
555-
<img src="img/site-content/logo.png" alt="DMU Hackers logo" class="footer__logo">
562+
<img src="img/site-content/logo.png" alt="DMU Hackers logo" class="footer__logo" loading="lazy">
556563
<span>DMU Hackers</span>
557564
</div>
558565
<p class="footer__desc">De Montfort University's cyber security society. Hacking, learning, and competing since 2015.</p>
@@ -587,6 +594,7 @@ <h4 class="footer__heading">Join</h4>
587594
<a href="https://discord.gg/Vvrk4kK" target="_blank" rel="noopener noreferrer">Discord Server</a>
588595
<a href="https://www.demontfortsu.com/organisation/dmuhackers/" target="_blank" rel="noopener noreferrer">DSU Page</a>
589596
<a href="sponsors.html">Sponsors</a>
597+
<a href="resources.html">Resources</a>
590598
</nav>
591599
</div>
592600
</div>

committee.html

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,9 @@
1010
<meta property="og:description" content="The people who built DMU Hackers, year by year.">
1111
<meta property="og:type" content="website">
1212
<meta property="og:url" content="https://dmuhackers.com/committee.html">
13+
<meta property="og:image" content="https://dmuhackers.com/img/site-content/logo.png">
1314
<meta name="twitter:card" content="summary">
15+
<meta name="twitter:image" content="https://dmuhackers.com/img/site-content/logo.png">
1416
<meta name="twitter:site" content="@dmuhackers">
1517
<link rel="canonical" href="https://dmuhackers.com/committee.html">
1618
<link rel="icon" href="favicon.ico" type="image/x-icon">
@@ -99,7 +101,7 @@ <h3 class="member__name">Josh Lloyd</h3>
99101
<div class="member member--sm">
100102
<div class="member__img member__img--placeholder member__img--mini"><i class="fas fa-heart-pulse"></i></div>
101103
<div class="member--sm__info">
102-
<span class="member__name">Denis Turgut</span>
104+
<span class="member__name">Deniz Turgut</span>
103105
<span class="member__role">Wellbeing Officer</span>
104106
</div>
105107
</div>
@@ -617,7 +619,7 @@ <h3 class="member__name">Jeszica Natasha</h3>
617619
<div class="footer__top">
618620
<div class="footer__col">
619621
<div class="footer__brand">
620-
<img src="img/site-content/logo.png" alt="DMU Hackers logo" class="footer__logo">
622+
<img src="img/site-content/logo.png" alt="DMU Hackers logo" class="footer__logo" loading="lazy">
621623
<span>DMU Hackers</span>
622624
</div>
623625
<p class="footer__desc">De Montfort University's cyber security society. Hacking, learning, and competing since 2015.</p>
@@ -635,6 +637,7 @@ <h4 class="footer__heading">Navigate</h4>
635637
<a href="index.html">Home</a>
636638
<a href="index.html#about">About</a>
637639
<a href="committee.html">Committee</a>
640+
<a href="resources.html">Resources</a>
638641
</nav>
639642
</div>
640643
<div class="footer__col">
@@ -650,6 +653,7 @@ <h4 class="footer__heading">Join</h4>
650653
<a href="https://discord.gg/Vvrk4kK" target="_blank" rel="noopener noreferrer">Discord Server</a>
651654
<a href="https://www.demontfortsu.com/organisation/dmuhackers/" target="_blank" rel="noopener noreferrer">DSU Page</a>
652655
<a href="sponsors.html">Sponsors</a>
656+
<a href="partners.html">Partners</a>
653657
</nav>
654658
</div>
655659
</div>

css/P2P.css

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,13 @@
160160
}
161161

162162
/* ---------- Connect strip ---------- */
163+
.calendar-actions {
164+
display: flex;
165+
justify-content: center;
166+
gap: 12px;
167+
margin-top: 32px;
168+
}
169+
163170
.p2p-connect {
164171
margin-top: 48px;
165172
text-align: center;

css/main.css

Lines changed: 200 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,18 @@ ul { list-style: none; }
102102
top: 0;
103103
}
104104

105+
.sr-only {
106+
position: absolute;
107+
width: 1px;
108+
height: 1px;
109+
padding: 0;
110+
margin: -1px;
111+
overflow: hidden;
112+
clip: rect(0,0,0,0);
113+
white-space: nowrap;
114+
border: 0;
115+
}
116+
105117
.container {
106118
width: 100%;
107119
max-width: var(--max-w);
@@ -1170,6 +1182,13 @@ a.card--link:hover .card__arrow {
11701182
animation-play-state: paused;
11711183
}
11721184

1185+
.logo-marquee__track a {
1186+
display: flex;
1187+
align-items: center;
1188+
text-decoration: none;
1189+
flex-shrink: 0;
1190+
}
1191+
11731192
.logo-marquee__img {
11741193
height: 36px;
11751194
width: auto;
@@ -1195,6 +1214,36 @@ a.card--link:hover .card__arrow {
11951214
height: 48px;
11961215
}
11971216

1217+
/* ---------- Hero Stats ---------- */
1218+
.hero-stats {
1219+
display: flex;
1220+
justify-content: center;
1221+
gap: 48px;
1222+
margin-top: 48px;
1223+
padding: 32px 0;
1224+
border-top: 1px solid rgba(255,255,255,.06);
1225+
border-bottom: 1px solid rgba(255,255,255,.06);
1226+
}
1227+
.hero-stat {
1228+
display: flex;
1229+
flex-direction: column;
1230+
align-items: center;
1231+
gap: 4px;
1232+
}
1233+
.hero-stat__number {
1234+
font-family: var(--font-display);
1235+
font-size: 2rem;
1236+
font-weight: 700;
1237+
color: var(--accent);
1238+
line-height: 1;
1239+
}
1240+
.hero-stat__label {
1241+
font-size: .82rem;
1242+
color: var(--text-muted);
1243+
text-transform: uppercase;
1244+
letter-spacing: .08em;
1245+
}
1246+
11981247
/* ---------- Info Bar ---------- */
11991248
.info-bar {
12001249
display: flex;
@@ -1237,6 +1286,13 @@ a.card--link:hover .card__arrow {
12371286
font-size: 1.15rem;
12381287
text-shadow: 0 0 12px rgba(0,228,255,.3);
12391288
}
1289+
.info-bar__item a {
1290+
color: inherit;
1291+
text-decoration: none;
1292+
}
1293+
.info-bar__item a:hover {
1294+
color: var(--cyan);
1295+
}
12401296

12411297
/* ---------- P2P Split ---------- */
12421298
.p2p-split {
@@ -1280,6 +1336,18 @@ a.card--link:hover .card__arrow {
12801336
margin-top: 48px;
12811337
}
12821338

1339+
.section-cta {
1340+
text-align: center;
1341+
max-width: 520px;
1342+
margin: 0 auto;
1343+
}
1344+
.section-cta p {
1345+
font-size: 1.05rem;
1346+
color: var(--text-muted);
1347+
margin-bottom: 24px;
1348+
line-height: 1.7;
1349+
}
1350+
12831351
.committee-grid .member {
12841352
flex: 0 0 calc(25% - 18px);
12851353
}
@@ -1554,6 +1622,7 @@ a.card--link:hover .card__arrow {
15541622
.step,
15551623
.faq,
15561624
.getting-started__cta,
1625+
.section-cta,
15571626
.rule {
15581627
opacity: 0;
15591628
transform: translateY(28px);
@@ -1727,8 +1796,139 @@ a.card--link:hover .card__arrow {
17271796

17281797
@media (max-width: 480px) {
17291798
.committee-grid .member { flex: 0 0 calc(50% - 12px); }
1799+
.hero-stats { gap: 24px; flex-wrap: wrap; }
1800+
.hero-stat__number { font-size: 1.6rem; }
17301801
.info-bar { flex-direction: column; align-items: center; }
17311802
.hero__actions { flex-direction: column; align-items: center; }
17321803
.footer__top { grid-template-columns: 1fr; }
17331804
.hero-term__body { max-height: 200px; }
17341805
}
1806+
1807+
/* ==========================================================================
1808+
View Transitions (cross-page)
1809+
========================================================================== */
1810+
@view-transition {
1811+
navigation: auto;
1812+
}
1813+
1814+
::view-transition-old(root) {
1815+
animation: fadeOut .2s ease-out;
1816+
}
1817+
::view-transition-new(root) {
1818+
animation: fadeIn .3s ease-in;
1819+
}
1820+
1821+
@keyframes fadeOut {
1822+
from { opacity: 1; }
1823+
to { opacity: 0; }
1824+
}
1825+
@keyframes fadeIn {
1826+
from { opacity: 0; }
1827+
to { opacity: 1; }
1828+
}
1829+
1830+
/* ==========================================================================
1831+
Keyboard Focus Indicators
1832+
========================================================================== */
1833+
:focus-visible {
1834+
outline: 2px solid var(--cyan);
1835+
outline-offset: 3px;
1836+
border-radius: 4px;
1837+
}
1838+
1839+
.btn:focus-visible {
1840+
outline: 2px solid var(--cyan);
1841+
outline-offset: 3px;
1842+
box-shadow: 0 0 16px var(--cyan-glow);
1843+
}
1844+
1845+
.nav__link:focus-visible {
1846+
outline: 2px solid var(--cyan);
1847+
outline-offset: 4px;
1848+
}
1849+
1850+
.card:focus-visible,
1851+
.resource-card:focus-visible {
1852+
outline: 2px solid var(--cyan);
1853+
outline-offset: 2px;
1854+
}
1855+
1856+
/* ==========================================================================
1857+
Print Stylesheet
1858+
========================================================================== */
1859+
@media print {
1860+
*,
1861+
*::before,
1862+
*::after {
1863+
background: transparent !important;
1864+
color: #000 !important;
1865+
box-shadow: none !important;
1866+
text-shadow: none !important;
1867+
}
1868+
1869+
body {
1870+
font-size: 12pt;
1871+
line-height: 1.5;
1872+
}
1873+
1874+
.nav,
1875+
.hero__canvas,
1876+
.hero__bg,
1877+
.hero__scroll,
1878+
.back-to-top,
1879+
.hero-term,
1880+
.hero-featured,
1881+
.hero__socials,
1882+
.hero__actions,
1883+
.logo-marquee,
1884+
.hero-countdown,
1885+
.info-bar__item--countdown,
1886+
.footer__socials {
1887+
display: none !important;
1888+
}
1889+
1890+
.hero {
1891+
min-height: auto !important;
1892+
padding: 24pt 0 !important;
1893+
}
1894+
1895+
.section {
1896+
padding: 24pt 0 !important;
1897+
break-inside: avoid;
1898+
}
1899+
1900+
.cards,
1901+
.bento,
1902+
.tools-grid,
1903+
.resource-grid {
1904+
grid-template-columns: 1fr 1fr !important;
1905+
}
1906+
1907+
.card,
1908+
.resource-card,
1909+
.tool-card {
1910+
border: 1px solid #ccc !important;
1911+
break-inside: avoid;
1912+
page-break-inside: avoid;
1913+
}
1914+
1915+
a[href]::after {
1916+
content: " (" attr(href) ")";
1917+
font-size: .8em;
1918+
color: #555 !important;
1919+
}
1920+
1921+
.nav__link::after,
1922+
.btn::after,
1923+
.footer__nav a::after,
1924+
.hero-featured::after,
1925+
.logo-marquee__track a::after,
1926+
.info-bar__item a::after {
1927+
content: none !important;
1928+
}
1929+
1930+
.footer {
1931+
border-top: 1px solid #ccc;
1932+
padding-top: 12pt;
1933+
}
1934+
}

0 commit comments

Comments
 (0)