/*
Theme Name: Leslie
Description: Clean generic rebuild of the Leslie theme layout (original theme CSS
was not preserved in the archive and is unrecoverable from Wayback). Provides the
12-column grid (row / c2..c12), header, sidebar and footer used by the markup.
*/

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
	margin: 0;
	font-family: "Oxygen", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	font-size: 17px;
	line-height: 1.7;
	color: #2b2b2b;
	background: #f4f5f7;
}

body.custom-background { background-image: none; }

a { color: #1a6fc4; text-decoration: none; }
a:hover { text-decoration: underline; }

img { max-width: 100%; height: auto; }

h1, h2, h3, h4, h5 { line-height: 1.25; color: #1c1c1c; font-weight: 700; }

/* ---- 12-column grid ---- */
.row {
	display: flex;
	flex-wrap: wrap;
	max-width: 1140px;
	margin: 0 auto;
	padding: 0 16px;
	gap: 24px;
}
.row::after { content: ""; display: table; clear: both; }

.c2  { flex: 0 0 15%;  max-width: 15%; }
.c3  { flex: 0 0 23%;  max-width: 23%; }
.c4  { flex: 0 0 31.5%; max-width: 31.5%; }
.c7  { flex: 1 1 55%; }
.c8  { flex: 1 1 62%; }
.c12 { flex: 0 0 100%; max-width: 100%; }

/* ---- header ---- */
#masthead {
	align-items: center;
	background: #fff;
	border-bottom: 3px solid #1a6fc4;
	padding-top: 22px;
	padding-bottom: 22px;
	margin-bottom: 28px;
}
#logo { margin: 0; }
#logo a { display: block; min-height: 8px; }
#hgroup { display: flex; flex-direction: column; justify-content: center; }
.site-title { margin: 0; font-size: 32px; }
.site-title a { color: #1c1c1c; }
.site-description { margin: 4px 0 0; font-size: 16px; font-weight: 400; color: #6a6a6a; }

/* ---- main ---- */
#main { padding-bottom: 40px; }
#homeWrapper { display: flex; flex-wrap: wrap; gap: 28px; width: 100%; }

/* left nav column */
#main-nav nav .menu { display: flex; flex-direction: column; }
#main-nav ul { list-style: none; margin: 0; padding: 0; }
#main-nav li a {
	display: block;
	padding: 9px 12px;
	color: #2b2b2b;
	border-bottom: 1px solid #e6e6e6;
	font-weight: 600;
}
#main-nav li a:hover { color: #1a6fc4; text-decoration: none; }

/* content column */
#content { background: #fff; padding: 28px 32px; border-radius: 4px; box-shadow: 0 1px 3px rgba(0,0,0,.06); }
.content-container { max-width: 100%; }
.entry-title { font-size: 26px; margin: 0 0 16px; }
.entry-title a { color: #1c1c1c; }
.entry-title a:hover { color: #1a6fc4; }
.entry p { margin: 0 0 1.1em; }
.entry ul, .entry ol { margin: 0 0 1.2em; padding-left: 1.4em; }
.entry li { margin-bottom: .5em; }
.entry figure { margin: 0 0 1.2em; }
.no-thumb { display: none; }
.metadata { margin-top: 22px; padding-top: 14px; border-top: 1px solid #ececec; font-size: 14px; color: #777; }
.metadata p { margin: 2px 0; }

/* sidebar */
#left-sidebar-container #sidebar { background: #fff; padding: 20px; border-radius: 4px; box-shadow: 0 1px 3px rgba(0,0,0,.06); }
.widget-container { margin-bottom: 26px; }
.widget-title { font-size: 15px; text-transform: uppercase; letter-spacing: .05em; margin: 0 0 12px; padding-bottom: 8px; border-bottom: 2px solid #1a6fc4; }
.widget_recent_entries ul { list-style: none; margin: 0; padding: 0; }
.widget_recent_entries li { margin-bottom: 10px; }
.search-form { display: flex; gap: 6px; }
.search-field { flex: 1; padding: 8px 10px; border: 1px solid #ccc; border-radius: 3px; }
.search-submit { padding: 8px 14px; background: #1a6fc4; color: #fff; border: 0; border-radius: 3px; cursor: pointer; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(1px,1px,1px,1px); }

/* ---- footer ---- */
#footer {
	background: #1f2529;
	color: #c8ccd0;
	margin-top: 30px;
	padding-top: 30px;
	padding-bottom: 30px;
}
#footer a { color: #e6e9ec; }
#footer h5 { margin: 0 0 6px; font-size: 15px; font-weight: 600; }
.social-block { list-style: none; margin: 0; padding: 0; }
.credits p { margin: 0; font-size: 13px; }
.pagination a { color: #e6e9ec; }

.clearfix::after { content: ""; display: table; clear: both; }

/* ---- responsive ---- */
@media (max-width: 900px) {
	.row, #homeWrapper { flex-direction: column; }
	.c2, .c3, .c4, .c7, .c8, .c12 { flex: 0 0 100%; max-width: 100%; }
	#masthead { text-align: center; }
	#content { padding: 22px 18px; }
}
