/*
Theme Name: Chamber Telegraph
Theme URI: https://chambertelegraph.com/
Author: Abuja Chamber of Commerce and Industry
Description: A newspaper theme built for Chamber Telegraph, the voice of the private sector. The design is fixed to the publication's identity, so editors publish stories without touching any settings.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: chamber-telegraph
Tags: news, magazine, two-columns, right-sidebar, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready
*/

/* ==========================================================================
   1. Tokens
   ========================================================================== */

:root{
	--ct-red:#EC3237;
	--ct-red-dark:#C4181D;
	--ct-ink:#1C1C1C;
	--ct-body:#333333;
	--ct-muted:#6B7280;
	--ct-rule:#DCDFE4;
	--ct-wash:#F5F6F8;
	--ct-paper:#FFFFFF;

	--ct-display:"Playfair Display", Georgia, "Times New Roman", serif;
	--ct-text:"Source Sans 3", "Segoe UI", Arial, sans-serif;

	--ct-wide:1180px;
	--ct-gap:32px;
}

/* ==========================================================================
   2. Base
   ========================================================================== */

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

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

body{
	margin:0;
	background:var(--ct-paper);
	color:var(--ct-body);
	font-family:var(--ct-text);
	font-size:17px;
	line-height:1.7;
	-webkit-font-smoothing:antialiased;
}

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

a{color:var(--ct-red-dark);text-decoration:none;}
a:hover{text-decoration:underline;}

h1,h2,h3,h4,h5,h6{
	font-family:var(--ct-display);
	color:var(--ct-ink);
	line-height:1.2;
	margin:0 0 .5em;
	font-weight:700;
}

p{margin:0 0 1.15em;}

blockquote{
	margin:1.6em 0;
	padding:.2em 0 .2em 22px;
	border-left:4px solid var(--ct-red);
	font-family:var(--ct-display);
	font-size:1.18em;
	font-style:italic;
	color:var(--ct-ink);
}

:focus-visible{outline:3px solid var(--ct-red);outline-offset:2px;}

.ct-skip{
	position:absolute;left:-9999px;top:0;z-index:999;
	background:var(--ct-ink);color:#fff;padding:12px 18px;
}
.ct-skip:focus{left:0;}

.screen-reader-text{
	position:absolute!important;width:1px;height:1px;overflow:hidden;
	clip:rect(1px,1px,1px,1px);white-space:nowrap;
}

.ct-shell{
	width:100%;
	max-width:var(--ct-wide);
	margin:0 auto;
	padding:0 22px;
}

/* ==========================================================================
   3. Header
   ========================================================================== */

.ct-topbar{
	background:var(--ct-ink);
	color:#C9CDD4;
	font-size:12.5px;
	letter-spacing:.06em;
	text-transform:uppercase;
}

.ct-topbar .ct-shell{
	display:flex;
	justify-content:space-between;
	align-items:center;
	gap:16px;
	min-height:40px;
	padding-top:8px;
	padding-bottom:8px;
}

.ct-topbar__tag{color:#FFFFFF;font-weight:600;}
.ct-topbar__tag::before{
	content:"";
	display:inline-block;
	width:9px;height:9px;
	background:var(--ct-red);
	margin-right:9px;
	vertical-align:baseline;
}

.ct-masthead{
	text-align:center;
	padding:30px 0 26px;
	border-bottom:1px solid var(--ct-rule);
}

.ct-masthead__logo img{
	margin:0 auto;
	max-height:96px;
	width:auto;
}

.ct-masthead__logo .ct-wordmark{
	font-family:var(--ct-display);
	font-size:clamp(34px,8vw,58px);
	font-weight:800;
	font-style:italic;
	color:var(--ct-red);
	line-height:1;
	display:block;
}

.ct-masthead__logo .ct-wordmark span{
	display:block;
	font-style:normal;
	font-size:.32em;
	letter-spacing:.34em;
	text-indent:.34em;
	color:var(--ct-ink);
	margin-top:8px;
}

/* Navigation */

.ct-nav{
	border-bottom:3px solid var(--ct-red);
	background:var(--ct-paper);
	position:relative;
}

.ct-nav .ct-shell{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:16px;
}

.ct-nav ul{
	list-style:none;
	margin:0;
	padding:0;
	display:flex;
	flex-wrap:wrap;
}

.ct-nav li{position:relative;}

.ct-nav a{
	display:block;
	padding:14px 15px;
	font-size:14px;
	font-weight:600;
	letter-spacing:.07em;
	text-transform:uppercase;
	color:var(--ct-ink);
}

.ct-nav a:hover,
.ct-nav .current-menu-item > a,
.ct-nav .current-post-ancestor > a{
	background:var(--ct-red);
	color:#fff;
	text-decoration:none;
}

/* Sub menus */
.ct-nav ul ul{
	display:none;
	position:absolute;
	top:100%;
	left:0;
	min-width:210px;
	background:var(--ct-ink);
	flex-direction:column;
	z-index:60;
	box-shadow:0 12px 28px rgba(0,0,0,.18);
}
.ct-nav li:hover > ul,
.ct-nav li:focus-within > ul{display:flex;}
.ct-nav ul ul a{color:#fff;padding:11px 16px;text-transform:none;letter-spacing:0;font-size:14.5px;}

.ct-nav__toggle{
	display:none;
	background:none;
	border:1px solid var(--ct-rule);
	color:var(--ct-ink);
	font:600 14px/1 var(--ct-text);
	letter-spacing:.08em;
	text-transform:uppercase;
	padding:11px 14px;
	margin:8px 0;
	cursor:pointer;
}

.ct-search-open{
	background:none;border:0;cursor:pointer;
	color:var(--ct-ink);padding:12px 4px;font-size:15px;
}
.ct-search-open:hover{color:var(--ct-red);}

.ct-searchbar{
	display:none;
	padding:0 0 18px;
}
.ct-searchbar.is-open{display:block;}

/* ==========================================================================
   4. Forms
   ========================================================================== */

.ct-searchform{display:flex;gap:0;max-width:520px;margin:0 auto;}

input[type="text"],
input[type="search"],
input[type="email"],
input[type="url"],
input[type="password"],
textarea{
	width:100%;
	padding:12px 14px;
	border:1px solid var(--ct-rule);
	font:400 16px/1.5 var(--ct-text);
	color:var(--ct-ink);
	background:#fff;
	border-radius:0;
}

textarea{min-height:150px;}

button,
input[type="submit"],
.ct-btn{
	display:inline-block;
	background:var(--ct-red);
	color:#fff;
	border:0;
	padding:12px 22px;
	font:600 14px/1.5 var(--ct-text);
	letter-spacing:.08em;
	text-transform:uppercase;
	cursor:pointer;
	border-radius:0;
}

button:hover,
input[type="submit"]:hover,
.ct-btn:hover{background:var(--ct-ink);color:#fff;text-decoration:none;}

/* ==========================================================================
   5. Layout
   ========================================================================== */

.ct-main{padding:36px 0 56px;}

.ct-cols{
	display:grid;
	grid-template-columns:minmax(0,1fr) 320px;
	gap:var(--ct-gap);
	align-items:start;
}

.ct-cols--single{grid-template-columns:minmax(0,1fr);}

/* Section headings */

.ct-section-head{
	display:flex;
	align-items:center;
	gap:12px;
	border-bottom:2px solid var(--ct-ink);
	margin:0 0 22px;
	padding-bottom:8px;
}

.ct-section-head h2{
	margin:0;
	font-size:20px;
	letter-spacing:.02em;
	text-transform:uppercase;
	font-family:var(--ct-text);
	font-weight:700;
}

.ct-section-head h2::before{
	content:"";
	display:inline-block;
	width:12px;height:12px;
	background:var(--ct-red);
	margin-right:10px;
}

.ct-section-head .ct-more{
	margin-left:auto;
	font-size:13px;
	font-weight:600;
	letter-spacing:.08em;
	text-transform:uppercase;
	color:var(--ct-muted);
}
.ct-section-head .ct-more:hover{color:var(--ct-red);}

.ct-section{margin-bottom:46px;}

/* Eyebrow / category tag */

.ct-eyebrow{
	display:inline-block;
	font-size:12px;
	font-weight:700;
	letter-spacing:.11em;
	text-transform:uppercase;
	color:var(--ct-red);
	margin-bottom:9px;
}
.ct-eyebrow a{color:inherit;}

.ct-meta{
	font-size:13.5px;
	color:var(--ct-muted);
	letter-spacing:.02em;
}
.ct-meta a{color:var(--ct-muted);}

/* ==========================================================================
   6. Cards
   ========================================================================== */

.ct-lead{margin-bottom:40px;}

.ct-lead .ct-thumb{margin-bottom:18px;}

.ct-lead h2{
	font-size:clamp(28px,4.4vw,42px);
	line-height:1.13;
	margin-bottom:12px;
}

.ct-lead h2 a{color:var(--ct-ink);}
.ct-lead h2 a:hover{color:var(--ct-red);text-decoration:none;}

.ct-lead .ct-excerpt{font-size:18.5px;color:#444;}

.ct-thumb{
	display:block;
	overflow:hidden;
	background:var(--ct-wash);
}

.ct-thumb img{
	width:100%;
	transition:transform .45s ease;
}

.ct-thumb:hover img{transform:scale(1.035);}

.ct-grid{
	display:grid;
	gap:26px;
	grid-template-columns:repeat(2,minmax(0,1fr));
}

.ct-grid--three{grid-template-columns:repeat(3,minmax(0,1fr));}

.ct-card .ct-thumb{margin-bottom:13px;}

.ct-card h3{
	font-size:20px;
	line-height:1.25;
	margin-bottom:8px;
}

.ct-card h3 a{color:var(--ct-ink);}
.ct-card h3 a:hover{color:var(--ct-red);text-decoration:none;}

.ct-card .ct-excerpt{font-size:15.5px;color:#4A4A4A;margin-bottom:8px;}

/* Horizontal list item */

.ct-list{list-style:none;margin:0;padding:0;}

.ct-list li{
	display:flex;
	gap:16px;
	padding:16px 0;
	border-bottom:1px solid var(--ct-rule);
}

.ct-list li:first-child{padding-top:0;}

.ct-list .ct-thumb{flex:0 0 116px;width:116px;margin:0;}

.ct-list h3{font-size:17.5px;line-height:1.3;margin-bottom:5px;}
.ct-list h3 a{color:var(--ct-ink);}
.ct-list h3 a:hover{color:var(--ct-red);text-decoration:none;}

/* ==========================================================================
   7. Sidebar
   ========================================================================== */

.ct-sidebar .widget{
	margin-bottom:34px;
	padding-bottom:4px;
}

.ct-sidebar .widget-title{
	font-family:var(--ct-text);
	font-size:16px;
	font-weight:700;
	text-transform:uppercase;
	letter-spacing:.07em;
	border-bottom:2px solid var(--ct-ink);
	padding-bottom:8px;
	margin-bottom:16px;
}

.ct-sidebar .widget-title::before{
	content:"";
	display:inline-block;
	width:10px;height:10px;
	background:var(--ct-red);
	margin-right:9px;
}

.ct-sidebar ul{list-style:none;margin:0;padding:0;}

.ct-sidebar ul li{
	padding:9px 0;
	border-bottom:1px solid var(--ct-rule);
	font-size:15.5px;
}

.ct-sidebar ul li a{color:var(--ct-ink);}
.ct-sidebar ul li a:hover{color:var(--ct-red);}

.ct-callout{
	background:var(--ct-wash);
	border-top:3px solid var(--ct-red);
	padding:22px;
}

.ct-callout h3{font-size:19px;margin-bottom:8px;}
.ct-callout p{font-size:15px;margin-bottom:0;color:#4A4A4A;}

/* ==========================================================================
   8. Single post and pages
   ========================================================================== */

.ct-article__header{margin-bottom:24px;}

.ct-article__header h1{
	font-size:clamp(30px,5vw,44px);
	line-height:1.14;
	margin-bottom:14px;
}

.ct-article__meta{
	display:flex;
	flex-wrap:wrap;
	gap:8px 18px;
	padding:12px 0;
	border-top:1px solid var(--ct-rule);
	border-bottom:1px solid var(--ct-rule);
	font-size:13.5px;
	color:var(--ct-muted);
	text-transform:uppercase;
	letter-spacing:.06em;
}

.ct-featured{margin:24px 0 28px;}

.ct-featured figcaption{
	font-size:13.5px;
	color:var(--ct-muted);
	padding-top:8px;
	border-bottom:1px solid var(--ct-rule);
	padding-bottom:10px;
}

.ct-content{font-size:18px;}

.ct-content h2{font-size:28px;margin-top:1.5em;}
.ct-content h3{font-size:23px;margin-top:1.4em;}
.ct-content img{margin:1.4em 0;}
.ct-content ul,.ct-content ol{margin:0 0 1.2em;padding-left:24px;}
.ct-content li{margin-bottom:.5em;}

.ct-content figcaption{font-size:14px;color:var(--ct-muted);margin-top:-1em;margin-bottom:1.6em;}

.ct-tags{margin:30px 0 0;font-size:14px;}
.ct-tags a{
	display:inline-block;
	background:var(--ct-wash);
	border:1px solid var(--ct-rule);
	padding:5px 12px;
	margin:0 6px 8px 0;
	color:var(--ct-ink);
	text-transform:uppercase;
	letter-spacing:.06em;
	font-size:12.5px;
	font-weight:600;
}
.ct-tags a:hover{background:var(--ct-red);border-color:var(--ct-red);color:#fff;text-decoration:none;}

.ct-postnav{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:20px;
	margin:36px 0 0;
	border-top:1px solid var(--ct-rule);
	padding-top:22px;
}

.ct-postnav span{
	display:block;
	font-size:12px;
	letter-spacing:.1em;
	text-transform:uppercase;
	color:var(--ct-muted);
	margin-bottom:6px;
}

.ct-postnav a{
	font-family:var(--ct-display);
	font-size:17px;
	font-weight:700;
	color:var(--ct-ink);
	line-height:1.3;
}
.ct-postnav a:hover{color:var(--ct-red);text-decoration:none;}
.ct-postnav .ct-next{text-align:right;}

.ct-page-head{
	border-bottom:2px solid var(--ct-ink);
	margin-bottom:28px;
	padding-bottom:10px;
}

.ct-page-head h1{font-size:clamp(26px,4.5vw,36px);margin-bottom:6px;}
.ct-page-head p{margin:0;color:var(--ct-muted);font-size:15px;}

/* Comments */

.ct-comments{margin-top:46px;border-top:2px solid var(--ct-ink);padding-top:26px;}
.ct-comments ol{list-style:none;margin:0;padding:0;}
.ct-comments .children{list-style:none;padding-left:26px;}
.ct-comments li.comment{border-bottom:1px solid var(--ct-rule);padding:18px 0;}
.ct-comments .comment-author img{float:left;margin-right:12px;border-radius:50%;}
.ct-comments .comment-meta{font-size:13px;color:var(--ct-muted);margin-bottom:8px;}

/* Pagination */

.ct-pagination{margin:38px 0 0;text-align:center;}
.ct-pagination .page-numbers{
	display:inline-block;
	min-width:42px;
	padding:9px 12px;
	margin:0 4px 8px;
	border:1px solid var(--ct-rule);
	color:var(--ct-ink);
	font-weight:600;
	font-size:15px;
}
.ct-pagination .page-numbers:hover,
.ct-pagination .current{background:var(--ct-red);border-color:var(--ct-red);color:#fff;text-decoration:none;}

/* Empty state */

.ct-empty{
	border:1px dashed var(--ct-rule);
	background:var(--ct-wash);
	padding:44px 26px;
	text-align:center;
}
.ct-empty h2{font-size:24px;}
.ct-empty p{color:var(--ct-muted);max-width:520px;margin-left:auto;margin-right:auto;}

/* ==========================================================================
   9. Footer
   ========================================================================== */

.ct-footer{
	background:var(--ct-ink);
	color:#B8BDC6;
	margin-top:40px;
	padding:44px 0 0;
	font-size:15px;
}

.ct-footer a{color:#E6E8EC;}
.ct-footer a:hover{color:var(--ct-red);}

.ct-footer__cols{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:34px;
	padding-bottom:38px;
}

.ct-footer h2,
.ct-footer .widget-title{
	color:#fff;
	font-family:var(--ct-text);
	font-size:15px;
	font-weight:700;
	text-transform:uppercase;
	letter-spacing:.08em;
	border-bottom:1px solid rgba(255,255,255,.18);
	padding-bottom:9px;
	margin-bottom:15px;
}

.ct-footer ul{list-style:none;margin:0;padding:0;}
.ct-footer ul li{padding:6px 0;}

.ct-footer__mark img{max-height:56px;width:auto;background:#fff;padding:8px 12px;}

.ct-footer__bar{
	border-top:1px solid rgba(255,255,255,.16);
	padding:18px 0;
	font-size:13.5px;
	display:flex;
	flex-wrap:wrap;
	gap:10px 20px;
	justify-content:space-between;
	align-items:center;
}

/* ==========================================================================
   10. Responsive
   ========================================================================== */

@media (max-width:1000px){
	.ct-cols{grid-template-columns:minmax(0,1fr);}
	.ct-sidebar{border-top:2px solid var(--ct-ink);padding-top:26px;}
	.ct-grid--three{grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media (max-width:760px){
	body{font-size:16.5px;}
	.ct-topbar .ct-shell{font-size:11.5px;}
	.ct-topbar__date{display:none;}
	.ct-masthead{padding:22px 0 18px;}
	.ct-masthead__logo img{max-height:62px;}

	.ct-nav .ct-shell{flex-wrap:wrap;}
	.ct-nav__toggle{display:block;}
	.ct-nav__menu{
		display:none;
		width:100%;
		flex-direction:column;
		border-top:1px solid var(--ct-rule);
		padding-bottom:8px;
	}
	.ct-nav__menu.is-open{display:flex;}
	.ct-nav ul ul{position:static;display:flex;box-shadow:none;background:var(--ct-wash);}
	.ct-nav ul ul a{color:var(--ct-ink);padding-left:32px;}
	.ct-nav a{padding:13px 4px;}

	.ct-grid,
	.ct-grid--three{grid-template-columns:minmax(0,1fr);}

	.ct-footer__cols{grid-template-columns:minmax(0,1fr);gap:26px;}
	.ct-postnav{grid-template-columns:minmax(0,1fr);}
	.ct-postnav .ct-next{text-align:left;}
	.ct-list .ct-thumb{flex:0 0 92px;width:92px;}
	.ct-content{font-size:17px;}
}

/* ==========================================================================
   11. WordPress core classes
   ========================================================================== */

.alignleft{float:left;margin:6px 24px 18px 0;}
.alignright{float:right;margin:6px 0 18px 24px;}
.aligncenter{margin-left:auto;margin-right:auto;}
.alignwide,.alignfull{margin-left:0;margin-right:0;}
.wp-caption{max-width:100%;}
.wp-caption-text{font-size:14px;color:var(--ct-muted);}
.sticky .ct-eyebrow::after{content:" \00b7 Pinned";}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:1.5em;}
.gallery-item{margin:0;}

@media (prefers-reduced-motion: reduce){
	*{animation:none!important;transition:none!important;}
	.ct-thumb:hover img{transform:none;}
}
