/* Global CSS Reset & Clear Typography */
* {
box-sizing: border-box;
margin: 0;
padding: 0;
}
body {
font-family: sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
font-size: 15px;
line-height: 1.6;
color: #202122;
background-color: #ffffff;
padding: 15px 20px;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
a {
color: #36b;
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
/* Container Layout */
.wiki-container {
max-width: 1100px;
margin: 0 auto;
}
/* Header Style */
header {
border-bottom: 1px solid #a2a9b1;
margin-bottom: 15px;
padding-bottom: 5px;
}
h1.firstHeading {
font-family: 'Linux Libertine', 'Georgia', 'Times New Roman', serif;
font-weight: normal;
font-size: 2.2em;
line-height: 1.2;
color: #000;
}

.firstHeading a {color: inherit; text-decoration: none;}
.siteSub {
font-size: 0.85em;
color: #54595d;
}
/* Responsive Grid: Default Mobile Layout puts Infobox First */
.content-grid {
display: flex;
flex-direction: column;
}
@media (min-width: 768px) {
.content-grid {
display: block;
}
}
/* Wikipedia Infobox Sidebar Styling */
.infobox {
border: 1px solid #a2a9b1;
background-color: #f8f9fa;
padding: 5px;
font-size: 0.88em;
line-height: 1.5;
width: 100%;
margin-bottom: 20px;
}
@media (min-width: 768px) {
.infobox {
float: right;
width: 320px; /* Slightly increased to accommodate long email comfortably */
margin: 0 0 15px 20px;
}
}
.infobox-title {
background-color: #cedff2;
text-align: center;
font-weight: bold;
font-size: 1.15em;
padding: 6px;
}
.infobox-image {
text-align: center;
padding: 8px 0;
background: #fff;
}
.infobox-image img {
max-width: 100%;
height: auto;
border: 1px solid #ccc;
}
.infobox-caption {
font-size: 0.85em;
color: #54595d;
margin-top: 4px;
}
.infobox table {
width: 100%;
border-collapse: collapse;
}
.infobox th, .infobox td {
padding: 6px 4px;
vertical-align: top;
border-top: 1px solid #a2a9b1;
}
.infobox th {
text-align: left;
width: 28%; /* Reduced width to give more room to content */
font-weight: bold;
}
/* Contact Details Flex Styling to prevent breaking */
.contact-item {
display: flex;
align-items: baseline;
gap: 5px;
margin-bottom: 4px;
white-space: nowrap;
}
.contact-item a {
font-size: 0.95em;
}
/* Main Content Typography */
.main-content p {
margin-bottom: 14px;
text-align: justify;
}
h2 {
font-family: 'Linux Libertine', 'Georgia', 'Times New Roman', serif;
font-size: 1.5em;
font-weight: normal;
border-bottom: 1px solid #a2a9b1;
margin-top: 25px;
margin-bottom: 12px;
padding-bottom: 3px;
clear: left;
}
ul {
margin-left: 25px;
margin-bottom: 15px;
}
li {
margin-bottom: 6px;
}
/* Social Links Multi-Column Grid */
.social-links-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
gap: 8px 15px;
list-style: none;
margin-left: 0;
}
.social-links-grid li {
margin-bottom: 0;
font-size: 0.95em;
}
.social-links-grid li::before {
content: "• ";
color: #a2a9b1;
}
/* Badges & Tags */
.skill-list {
display: flex;
flex-wrap: wrap;
gap: 6px;
margin-bottom: 15px;
}
.skill-badge {
background-color: #f1f3f5;
border: 1px solid #d1d5db;
border-radius: 3px;
padding: 3px 8px;
font-size: 0.85em;
color: #333;
}
/* Tables for Structured Lists */
.wiki-table {
width: 100%;
border-collapse: collapse;
margin-top: 10px;
margin-bottom: 20px;
font-size: 0.9em;
}
.wiki-table th, .wiki-table td {
border: 1px solid #a2a9b1;
padding: 8px 10px;
text-align: center;
}
.wiki-table th {
background-color: #eaecf0;
font-weight: bold;
}
.wiki-table tr:nth-child(even) {
background-color: #f8f9fa;
}
/* Table of Contents (TOC) */
.toc {
background-color: #f8f9fa;
border: 1px solid #a2a9b1;
padding: 10px 15px;
display: inline-block;
margin-bottom: 20px;
min-width: 250px;
width: 100%;
}
@media (min-width: 576px) {
.toc {
width: auto;
}
}
.toc-title {
font-weight: bold;
text-align: center;
margin-bottom: 8px;
border-bottom: 1px solid #aaa;
padding-bottom: 3px;
}
.toc ul {
list-style: none;
margin-left: 0;
margin-bottom: 0;
}
.toc li {
margin-bottom: 4px;
font-size: 0.9em;
}
footer {
margin-top: 40px;
border-top: 1px solid #a2a9b1;
padding-top: 12px;
font-size: 0.8em;
color: #54595d;
text-align: center;
}