/*
================================================
  Master Stylesheet
================================================

/*================================================
  1. FONTS & ICON FONT
================================================*/
@font-face { font-family:'fontello'; src:url('./fonticons/fontello.eot?53489530'); src:url('./fonticons/fontello.eot?53489530#iefix') format('embedded-opentype'), url('./fonticons/fontello.woff2?53489530') format('woff2'), url('./fonticons/fontello.woff?53489530') format('woff'), url('./fonticons/fontello.ttf?53489530') format('truetype'), url('./fonticons/fontello.svg?53489530#fontello') format('svg'); font-weight:normal; font-style:normal; }

@font-face { font-display:swap; font-family:'Merriweather'; font-style:normal; font-weight:400; src:url('./fonts/merriweather-v30-latin-regular.woff2') format('woff2'); }
@font-face { font-display:swap; font-family:'Merriweather'; font-style:normal; font-weight:700; src:url('./fonts/merriweather-v30-latin-700.woff2') format('woff2'); }
@font-face { font-display:swap; font-family:'Roboto'; font-style:normal; font-weight:400; src:url('./fonts/roboto-v51-latin-regular.woff2') format('woff2'); }
@font-face { font-display:swap; font-family:'Roboto'; font-style:normal; font-weight:500; src:url('./fonts/roboto-v51-latin-500.woff2') format('woff2'); }
@font-face { font-display:swap; font-family:'Roboto'; font-style:normal; font-weight:600; src:url('./fonts/roboto-v51-latin-600.woff2') format('woff2'); }
@font-face { font-display:swap; font-family:'Roboto'; font-style:normal; font-weight:700; src:url('./fonts/roboto-v51-latin-700.woff2') format('woff2'); }
@font-face { font-display:swap; font-family:'Roboto'; font-style:normal; font-weight:800; src:url('./fonts/roboto-v51-latin-800.woff2') format('woff2'); }


/*================================================
  2. ICON DEFINITIONS
================================================*/
[class^="icon-"]:before, [class*=" icon-"]:before { font-family:"fontello"; font-style:normal; font-weight:normal; speak:never; display:inline-block; text-decoration:inherit; width:1em; margin-right:.2em; text-align:center; font-variant:normal; text-transform:none; line-height:1em; margin-left:.2em; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }

.icon-mail:before { content:'\e800'; }
.icon-down-open:before { content:'\e801'; }
.icon-left-open:before { content:'\e802'; }
.icon-right-open:before { content:'\e803'; }
.icon-up-open:before { content:'\e804'; }
.icon-flash:before { content:'\e805'; }
.icon-fire:before { content:'\e806'; }
.icon-x_logo_2023:before { content:'\e807'; }
.icon-search:before { content:'\e808'; }
.icon-trending:before { content:'\e809'; }
.icon-left:before { content:'\e80a'; }
.icon-right:before { content:'\e80b'; }
.icon-down:before { content:'\e80c'; }
.icon-up:before { content:'\e80d'; }
.icon-facebook:before { content:'\f09a'; }
.icon-mail-alt:before { content:'\f0e0'; }
.icon-angle-left:before { content:'\f104'; }
.icon-angle-right:before { content:'\f105'; }
.icon-angle-up:before { content:'\f106'; }
.icon-angle-down:before { content:'\f107'; }
.icon-youtube:before { content:'\f167'; }
.icon-instagram:before { content:'\f16d'; }
.icon-pinterest:before { content:'\f231'; }
.icon-linkedin-squared:before { content:'\f30c'; }


/*================================================
  3. RESET & BASE
================================================*/
* { outline:none; box-sizing:border-box; }
html, body, div, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, button, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { margin:0; padding:0; border:0; font-size:100%; font:inherit; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%; box-sizing:border-box; font-family:"Roboto", sans-serif; font-optical-sizing:auto; font-style:normal; }
body { max-width:2200px; margin:0 auto; background:#fff; }
html { --scrollbar_bg:#cccccc; --thumb_bg:#181818; --dark_scrollbar_bg:#3d3d3d; --dark_thumb_bg:#111111; }
html, body {overflow-x:clip; max-width:100%;}
input, textarea { -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; box-sizing:border-box; outline:none; }
img {vertical-align:middle; max-width:100%;}
article figure {overflow:hidden; border-radius:3px; margin:0 0 0 0}
article figure img {-webkit-transition:all 8000ms cubic-bezier(.19,1,.22,1) 0ms; -webkit-transform:translateZ(0); transform:translateZ(0); transition:all 8000ms cubic-bezier(.19,1,.22,1) 0ms;}
article figure img:hover {-webkit-transform:scale(1.1); transform:scale(1.1);}
ul, li { padding:0; margin:0; list-style:none; }
a { text-decoration:none; color:#1153a4; cursor:pointer; }
p { font-weight:400; }
h1, h2 { font-weight:600; color:#000; }
strong { font-weight:600; }
em { font-style:italic; }
::placeholder { color:#bababa; opacity:1; }
:-ms-input-placeholder { color:#bababa; }
::-ms-input-placeholder { color:#bababa; }
select { -webkit-appearance:none; -moz-appearance:none; }
video { width:100% !important; height:auto !important; }

/*================================================
  4. SCROLLBAR
================================================*/
body::-webkit-scrollbar { width:11px; }
body { scrollbar-width:thin; scrollbar-color:var(--thumb_bg) var(--scrollbar_bg); }
body::-webkit-scrollbar-track { background:var(--scrollbar_bg); }
body::-webkit-scrollbar-thumb { background-color:var(--thumb_bg); border-radius:6px; border:3px solid var(--scrollbar_bg); }


/*================================================
  5. GLOBAL UTILITIES
================================================*/
.default_width { max-width:1330px; margin:0 auto; }
.video_container { position:relative; padding-bottom:56.25%; padding-top:30px; height:0; overflow:hidden; }
.video_container iframe, .video-container object, .video-container embed { position:absolute; top:0; left:0; width:100%; height:100%; }
.responsive_video_container { position:relative; padding-bottom:56.25%; height:0; overflow:hidden; display:block; }
.responsive_video_container iframe { position:absolute; top:0; left:0; width:100%; height:100%; }
.homepage_mobile_300x250 { margin:0 auto; }
#homepage_bottom aside .three_hundredx600 {margin-top:25px; margin-bottom:25px}


/*================================================
  6. SCROLL PROGRESS CIRCLE
================================================*/
.center-wrap { position:absolute; width:100%; display:block; overflow:hidden; left:0; top:50%; transform:translateY(-50%); z-index:2; }
.progress-wrap { position:fixed; right:30px; bottom:30px; height:46px; width:46px; cursor:pointer; display:block; border-radius:50px; box-shadow:inset 0 0 0 2px rgba(0,19,40,0.3); z-index:10000; opacity:0; visibility:hidden; transform:translateY(15px); transition:.2s linear; }
.progress-wrap::after, .progress-wrap::before { position:absolute; font-family:'fontello'; content:'\e80d'; text-align:center; line-height:46px; font-size:24px; left:0; top:0; height:46px; width:46px; display:block; transition:.2s linear; cursor:pointer; }
.progress-wrap.active-progress { opacity:1; visibility:visible; transform:translateY(0); }
.progress-wrap::after { color:#1153a4; z-index:1; transition:.2s linear; }
.progress-wrap:hover::after { color:#236fff; }
.progress-wrap:hover::before { opacity:1; }
.progress-wrap svg path { fill:none; }
.progress-wrap svg.progress-circle path { stroke:#1153a4; stroke-width:5; box-sizing:border-box; transition:.2s linear; }


/*================================================
  7. HEADER & TOP NAV
================================================*/
#top_header { padding:0 0 10px 0; }
#top_nav {background-color:#000; display:flex; align-items:center; justify-content:space-between; padding:0 1.5rem 0 0.5rem; height:44px; position:sticky; top:0; z-index:9999; width:100%; max-width:100%}
#top_nav nav {display:flex; align-items:center; gap:0; margin:0; padding:0; flex:1; overflow:visible; min-width:0; }
#top_nav ul {display:flex; align-items:center; gap:0; list-style:none; margin:0; padding:0; flex:1; overflow:visible; }
.menu-main-menu-container { overflow:visible; }
#top_nav ul li { color:#fff; font-weight:500; font-size:14px; letter-spacing:0.04em; text-transform:uppercase; padding:0 12px; cursor:pointer; white-space:nowrap; transition:color 0.2s; }
#top_nav ul li:last-child { border-right:none; }
#top_nav ul li a { color:inherit; text-decoration:none; }
#top_nav ul li a:hover { color:#fffbe4; }
#top_nav aside { display:flex; align-items:center; gap:1rem; flex-shrink:0; margin-left:1rem; }
#top_nav aside #search { color:#999; font-size:18px; cursor:pointer; transition:color 0.2s; }
#top_nav aside #search:hover { color:#fff; }
#subscribe_button { background-color:#cf2f2f; color:#fff; border:none; font-size:0.75rem; letter-spacing:0.08em; text-transform:uppercase; font-weight:500; padding:7px 10px 6px 10px; cursor:pointer; transition:background-color 0.2s; text-decoration:none; border-radius:4px; display:inline-block; }
#subscribe_button:hover { background-color:#aa2626; }
#header_nav_login { background-color:#000; color:#fff; font-size:0.75rem; letter-spacing:0.08em; text-transform:uppercase; padding:6px 9px 5px 9px; cursor:pointer; transition:background-color 0.2s; text-decoration:none; border-radius:5px; display:inline-block; font-weight:500; border:solid 1px #18479f; margin-left:5px; }
#header_nav_login:hover { background-color:#18479f; }
#header_nav_login.login_toggle {display:none}
#top_header figure { text-align:center; width:100%; padding:15px 0; }
#top_header figure img { height:55px; width:auto; }
#under_logo_links { width:100%; display:flex; justify-content:center; }
#under_logo_links ul { display:flex; align-items:center; gap:0; list-style:none; margin:0; padding:0; }
#under_logo_links ul li { color:#111; font-size:11px; line-height:13px; font-weight:500; letter-spacing:0.04em; text-transform:uppercase; padding:0 0.85rem; white-space:nowrap; transition:color 0.2s ease; border-right:1px solid #ddd; font-family:"Merriweather", sans-serif; }
#under_logo_links ul li a {color:#111; font-size:11px; line-height:13px; font-weight:500; letter-spacing:0.04em; text-transform:uppercase; transition:color 0.2s ease; font-family:"Merriweather", sans-serif; }

#under_logo_links ul li:first-child { padding-left:0; }
#under_logo_links ul li:last-child { border-right:none; }


/*================================================
  8. SEARCH BAR
================================================*/
#search_bar { background:#1c1c1c; max-height:0; overflow:hidden; transition:max-height .3s ease, padding .3s ease; padding:0 20px; }
#search_bar.active { max-height:56px; padding:12px 20px; }
#search_bar form { display:flex; align-items:center; gap:12px; height:30px; }
#search_bar .icon-search { color:#cc0000; font-size:18px; flex-shrink:0; }
#search_bar input { flex:1; background:transparent; border:none; outline:none; color:#fff; font-size:15px; font-family:inherit; caret-color:#cc0000; }
#search_bar input::placeholder { color:rgba(255,255,255,0.35); }
#search_bar button { background:none; border:1px solid #444; border-radius:50%; width:30px; height:30px; display:flex; align-items:center; justify-content:center; cursor:pointer; color:#aaa; flex-shrink:0; transition:border-color .15s, color .15s; }
#search_bar button:hover { border-color:#fff; color:#fff; }


/*================================================
  9. BREAKING NEWS TICKER
================================================*/
.breaking_news_wrap { display:flex; align-items:center; width:100%; height:44px; background:#000; font-family:Arial, sans-serif; overflow:hidden; box-shadow:inset 0 11px 8px -4px rgba(204,0,0,0.25); }
.breaking_news_badge { background:#cc0000; color:#fff; font-size:13px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; height:100%; display:flex; align-items:center; white-space:nowrap; clip-path:polygon(0 0, calc(100% - 10px) 0, 100% 50%, calc(100% - 10px) 100%, 0 100%); padding:0 28px 0 18px; }
.breaking_news_divider { width:3px; height:24px; background:#cc0000; margin:0 16px; flex-shrink:0; }
.breaking_news_ticker_wrap { flex:1; overflow:hidden; position:relative; height:100%; }
.breaking_news_ticker { position:relative; height:100%; display:flex; align-items:center; }
.breaking_news_item { position:absolute; width:100%; color:#fff; font-size:14px; font-weight:500; letter-spacing:0.02em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.breaking_news_item.enter { animation:breaking_news_enter 0.5s ease forwards; }
.breaking_news_item.exit { animation:breaking_news_exit 0.5s ease forwards; }
.breaking_news_item.pulse { animation:breaking_news_pulse 8s ease-in-out infinite; }
@keyframes breaking_news_pulse { 0% { opacity:1; } 62% { opacity:1; } 75% { opacity:0.35; } 87% { opacity:1; } 100% { opacity:1; } }
@keyframes breaking_news_enter { from { transform:translateY(-100%); opacity:0; } to { transform:translateY(0); opacity:1; } }
@keyframes breaking_news_exit { from { transform:translateY(0); opacity:1; } to { transform:translateY(100%); opacity:0; } }
@keyframes breaking_news_dot_pulse { 0%, 100% { opacity:1; } 50% { opacity:0.2; } }


/*================================================
  10. HAMBURGER & MOBILE DRAWER
================================================*/
#hamburger { background:none; border:none; cursor:pointer; padding:10px; display:flex; flex-direction:column; gap:5px; flex-shrink:0; }
#hamburger span { display:block; width:22px; height:2px; background:#ccc; transition:background 0.2s; }
#hamburger:hover span { background:#fff; }
#overlay { position:fixed; inset:0; max-width:100%; background:rgba(0,0,0,0); visibility:hidden; transition:background 0.3s; z-index:900; }
#overlay.open { background:rgba(0,0,0,0.6); visibility:visible; }
#drawer { position:fixed; top:0; left:0; height:100%; width:280px; background:#111; border-right:1px solid #222; transform:translateX(-100%); transition:transform 0.3s cubic-bezier(.4,0,.2,1); z-index:9999; overflow-y:auto; scrollbar-width:thin; scrollbar-color:#333 #111; }
#drawer.open { transform:translateX(0); }
#drawer_header { display:flex; align-items:center; justify-content:space-between; padding:14px 16px; border-bottom:1px solid #222; }
#drawer_header span { font-size:0.7rem; letter-spacing:0.1em; text-transform:uppercase; color:#666; }
#close_button { background:none; border:none; cursor:pointer; color:#888; font-size:1.1rem; padding:4px 6px; line-height:1; transition:color 0.2s; }
#close_button:hover { color:#fff; }
.menu-mobile-menu-container ul { list-style:none; margin:0; padding:0; }
.menu-mobile-menu-container > ul > li { border-bottom:1px solid #1e1e1e; }
.parent_row { display:flex; align-items:stretch; }
.parent_row > a { flex:1; display:block; padding:13px 16px; color:#fff; text-decoration:none; font-size:0.82rem; letter-spacing:0.04em; text-transform:uppercase; transition:color 0.2s, background 0.2s; }
.parent_row > a:hover { color:#fff; background:#1a1a1a; }
.hamburger_toggle_button { background:none; border:none; border-left:1px solid #1e1e1e; cursor:pointer; padding:0 14px; color:#555; font-size:0.65rem; transition:color 0.2s, background 0.2s; display:flex; align-items:center; justify-content:center; min-width:42px; }
.hamburger_toggle_button:hover { color:#fff; background:#1a1a1a; }
.hamburger_toggle_button .icon-right-open { display:inline-block; transition:transform 0.25s; font-style:normal; }
.hamburger_toggle_button.expanded .icon-right-open { transform:rotate(90deg); }
.sub-menu { list-style:none; overflow:hidden; max-height:0; transition:max-height 0.3s ease; margin:0; padding:0; }
.sub-menu.open { max-height:500px; }
.sub-menu li { border-bottom:1px solid #181818; }
.sub-menu li:last-child { border-bottom:none; }
.sub-menu li a { display:block; padding:10px 16px 10px 28px; color:#aeaeae; text-decoration:none; font-size:0.78rem; letter-spacing:0.03em; transition:color 0.2s, background 0.2s; position:relative; }
.sub-menu li a::before { content:''; position:absolute; left:16px; top:50%; transform:translateY(-50%); width:5px; height:1px; background:#444; }
.sub-menu li a:hover { color:#fff; background:#1a1a1a; }
#drawer::-webkit-scrollbar { width:6px; }
#drawer::-webkit-scrollbar-track { background:#111; }
#drawer::-webkit-scrollbar-thumb { background:#333; border-radius:3px; }
#drawer::-webkit-scrollbar-thumb:hover { background:#555; }


/*================================================
  11. HOMEPAGE — TOP NEWS
================================================*/
#homepage_top { background:linear-gradient(to bottom, #f9f9f9 185px, #ffffff 185px); box-shadow:inset 0 3px 5px rgba(0,0,0,0.045); padding-top:15px; }
#homepage_top_news { display:grid; grid-template-columns:1fr 300px; grid-column-gap:30px; align-items:start; }
#homepage_top_news_category { display:grid; grid-template-columns:60% 1fr; grid-column-gap:20px; background:#fff; border-radius:4px; }
#homepage_top_news_category .leading_story { width:100%; height:380px; position:relative; overflow:hidden; border-radius:4px; padding:0; }
#homepage_top_news_category .leading_story figure { margin:0; padding:0; width:100%; height:100%; border-radius:4px; }
#homepage_top_news_category .leading_story figure img { width:100%; height:100%; object-fit:cover; display:block; border-radius:4px; }
#homepage_top_news_category .leading_story div { position:absolute; bottom:0; left:0; width:100%; padding:60px 1.25rem 1rem 1.25rem; background:linear-gradient(to top, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0) 98%); display:flex; flex-direction:column; gap:0.25rem; }
#homepage_top_news_category .leading_story .lead_story_no_photo {background:unset; top:0; bottom:unset; padding-top:20px}
#homepage_top_news_category .leading_story .lead_story_no_photo nav {background:#000}
#homepage_top_news_category .leading_story nav { font-size:12px; letter-spacing:0.1em; text-transform:uppercase; color:rgb(226 226 226 / 0.8); border:solid 1px rgb(212 212 212 / 0.5); border-radius:4px; display:inline-block; width:max-content; padding:4px 5px 3px 5px; line-height:12px; transition:0.75s; background:rgb(0 0 0 / 0.3); font-weight:500; }
#homepage_top_news_category .leading_story nav:hover { color:#fff; border:solid 1px #fff; transition:0.75s; background:rgb(0 0 0 / 0.45); }
#homepage_top_news_category .leading_story h1 { font-size:26px; font-weight:800; line-height:32px; margin:7px 0 0 0; }
#homepage_top_news_category .leading_story h1 a { color:#fff; background:linear-gradient(to right, rgba(228,228,228,0), rgba(228,228,228,0)), linear-gradient(to right, rgb(0 0 0 / 0.92), rgb(0 0 0 / 0.6), rgb(0 0 0 / 0.6)); background-size:100% 1px, 0 1px; background-position:0 100%; background-repeat:no-repeat; transition:background-size 400ms; }
#homepage_top_news_category .leading_story .lead_story_no_photo h1 a {color:#000;}
#homepage_top_news_category .leading_story .lead_story_no_photo p {color:#333; font-family:'Merriweather', serif; font-size:15px; line-height:25px}
#homepage_top_news_category .leading_story .has_lead_photo { display:none; }
#homepage_top_news_category h1 a:hover { background-size:0 1px, 100% 1px; }
#homepage_top_news_category time { font-size:11px; color:rgba(255,255,255,0.55); }
#homepage_top_news_category #more_top_news { padding:5px 20px 0 0; position:relative; }
#homepage_top_news_category article { padding:12px 0; border-bottom:solid 1px #ececec; }
#homepage_top_news_category article:last-of-type { padding-bottom:0; border-bottom:0; }
#homepage_top_news_category h3 { font-weight:500; font-size:16px; line-height:22px; }
#homepage_top_news_category h3 a { color:#000; background:linear-gradient(to right, rgba(228,228,228,0), rgba(228,228,228,0)), linear-gradient(to right, rgb(0 0 0 / 0.4), rgb(0 0 0 / 0.4), rgb(0 0 0 / 0.4)); background-size:100% 1px, 0 1px; background-position:0 100%; background-repeat:no-repeat; transition:background-size 400ms; }
#homepage_top_news_category h3 a:hover { background-size:0 1px, 100% 1px; }
#homepage_top_news_category #more_top_news nav { position:absolute; bottom:0; right:0; font-size:13px; line-height:13px; color:#ccc; border-radius:4px; padding:5px 4px 4px 6px; border:solid 1px #e0e0e0; transition:all 0.75s ease-out; display:flex; align-items:center; }
#homepage_top_news_category #more_top_news nav i, #homepage_top_news_category section nav a { line-height:13px; color:#ccc; }
#homepage_top_news_category #more_top_news nav span { width:0; margin-bottom:-2px; overflow:hidden; white-space:nowrap; display:inline-block; transition:width 0.75s ease-out; }
#homepage_top_news_category #more_top_news nav:hover span { width:122px; color:#777; }
#homepage_top_news_category #more_top_news p { display:none; }
#homepage_top_news_category article .home_top_image_tall_blur { width:100%; height:400px; background-repeat:no-repeat !important; background-position:50% 50% !important; background-size:cover !important; border-radius:4px; margin-bottom:10px; padding-top:0; }
#homepage_top_news_category article .image_tall { text-align:center; background-color:rgba(255,255,255,0.55); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); overflow:hidden; border-radius:4px; }
#homepage_top_news_category article .image_tall img { height:110%; width:auto; border-radius:0; }


/*================================================
  12. HOMEPAGE — MIDDLE CATEGORIES
================================================*/
#homepage_middle { display:grid; grid-template-columns:1fr 300px; grid-column-gap:30px; align-items:start; }
#homepage_middle_cat { display:grid; grid-template-columns:1fr 1fr 1fr; grid-column-gap:25px; padding:20px; margin-top:25px; background:#f9f9f9; border-radius:4px; }
.middle_cat { position:relative; padding-bottom:5px; }
.middle_cat .leading_story p, .other_middle_cat_articles p { display:none; }
.middle_cat .leading_story .no_photo p {display:-webkit-box;}
.middle_cat h2 { font-size:19px; line-height:19px; text-transform:uppercase; letter-spacing:0.04em; font-weight:800; color:#333; padding:2px 0 1px 0; margin:0 0 11px 0; }
.middle_cat img { border-radius:4px; }
.middle_cat figure { height:225px; margin-bottom:8px; }
.other_middle_cat_articles .image_wide, .other_middle_cat_articles .home_image_tall_blur { display:none; }
.middle_cat .image_wide img { object-fit:cover; width:100%; height:100%; }
.middle_cat .home_image_tall_blur { width:100%; height:225px; background-repeat:no-repeat !important; background-position:50% 50% !important; background-size:cover !important; border-radius:4px; margin-bottom:8px; }
.middle_cat .image_tall { text-align:center; background-color:rgba(255,255,255,0.55); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); overflow:hidden; border-radius:4px; height:225px; width:100%; display:flex; align-items:center; justify-content:center; }
.middle_cat .image_tall img { height:225px; width:auto; display:block; margin:0 auto; border-radius:0;}
.middle_cat h3 { font-weight:500; font-size:17px; line-height:23px; padding-bottom:9px; border-bottom:solid 1px #ececec; margin-bottom:12px; }
.middle_cat h4 { font-weight:500; font-size:13px; line-height:17px; padding-bottom:11px; }
.middle_cat a { color:#000; background:linear-gradient(to right, rgba(228,228,228,0), rgba(228,228,228,0)), linear-gradient(to right, rgb(239,167,0,0.4), rgb(234,164,0,0.4), rgb(238,166,0,0.4)); background-size:100% 1px, 0 1px; background-position:0 100%; background-repeat:no-repeat; transition:background-size 400ms; }
.middle_cat nav { position:absolute; top:0; right:0; }
.middle_cat nav .icon-right { font-size:14px; line-height:28px; color:rgb(198 198 198 / 1); }
.middle_cat nav:hover .icon-right { color:rgba(239,167,0,1); }
.middle_cat p { font-family:"Merriweather",sans-serif; color:#333; font-size:13px; font-weight:400; line-height:19px; padding-bottom:9px; border-bottom:solid 1px #ececec; margin-bottom:12px; }
.middle_cat .no_photo h3 { border-bottom:unset; padding-bottom:6px; margin-bottom:unset; border-top:solid 1px #ececec; padding-top:6px; }
.image_tall figure, .home_image_tall_blur figure, .home_top_image_tall_blur figure { border-radius:0; overflow:visible; }


/*================================================
  13. HOMEPAGE — BOTTOM SECTION
================================================*/
#homepage_bottom { display:grid; grid-template-columns:1fr 300px; grid-column-gap:30px; align-items:start; }
#homepage_bottom_left { display:grid; grid-template-columns:300px 1fr; grid-column-gap:30px; align-items:start; }
#homepage_bottom_cat { display:grid; grid-template-columns:1fr 1fr; grid-column-gap:25px; grid-row-gap:20px; }
#homepage_bottom .leading_story p { display:block; font-family:"Merriweather",sans-serif; color:#333; }


/*================================================
  14. CATEGORY PAGES (shared)
================================================*/
#category_content_wrap { background:linear-gradient(to bottom, #f9f9f9 300px, #ffffff 400px); box-shadow:inset 0 3px 5px rgba(0,0,0,0.045); padding-top:15px; }
#category_layout { display:grid; grid-template-columns:1fr 300px; grid-column-gap:30px; align-items:start; margin:0 auto; }
#category_sidebar { position:sticky; top:60px; }
#category_sidebar .three_hundredx250 {margin-bottom:25px}
#category_sidebar .three_hundredx600 {margin-top:25px}
.cat_ad_placeholder { width:300px; min-height:250px; background:#f5f5f5; border:1px solid #e0e0e0; border-radius:4px; }
#category_main h1 {text-transform:uppercase; font-size:30px; line-height:36px; margin:0; padding:0 0 0 3px; font-family:'Merriweather', serif; }
#category_main h1 a { font-family:'Merriweather', serif; color:#000; }
.cat_title_wrap { position:relative; display:inline-block; width:100%; }
.cat_title_wrap h1 { display:flex; align-items:center; gap:2px; cursor:default; border-bottom:solid 1px #dbdbdb; padding-bottom:7px; margin-bottom:0; }
.cat_title_wrap h2 { display:flex; align-items:center; gap:2px; cursor:default; border-bottom:solid 1px #dbdbdb; padding-bottom:7px; margin-bottom:12px; font-size:20px; font-family:'Merriweather', serif; }
.icon-down-open { font-style:normal; font-size:16px; color:#c3c3c3; line-height:6px; transition:transform .2s ease, color .2s ease; display:inline-flex; align-self:flex-end; margin-bottom:6px; }
.cat_title_wrap:hover .icon-down-open { transform:rotate(180deg); color:#c3c3c3; }
#parent_cat_subs { position:absolute; top:100%; left:0; background:#fff; border:1px solid #e0e0e0; border-top:2px solid #333; border-radius:0 0 4px 4px; display:flex; flex-direction:row; flex-wrap:wrap; gap:0; list-style:none; margin:0; padding:0; min-width:100%; white-space:nowrap; z-index:100; opacity:0; visibility:hidden; transform:translateY(-4px); transition:opacity .2s ease, transform .2s ease, visibility .2s; box-shadow:0 4px 12px rgba(0,0,0,0.08); }
.cat_title_wrap:hover #parent_cat_subs { opacity:1; visibility:visible; transform:translateY(0); }
#parent_cat_subs li { margin:0; padding:0; }
#parent_cat_subs a { display:block; font-size:.8rem; font-weight:500; text-transform:uppercase; letter-spacing:.05em; color:#555; text-decoration:none; padding:10px 8px; white-space:nowrap; transition:background .15s, color .15s; }
#parent_cat_subs li:last-child a { border-right:none; }
#parent_cat_subs a:hover { background:#f7f7f7; color:#000; }
#category_main article { display:flex; gap:25px; align-items:center; padding:26px 0; }
#category_main article:last-of-type { border-bottom:none; }
#category_main article:has(+ .cat_leaderboard) { border-bottom:none; }
#category_main .cat_leaderboard + article { border-bottom:none; }
.full_category_photo_wrap { flex:0 0 300px; width:300px; }
.full_category_photo_wrap img { width:100%; height:240px; object-fit:cover; display:block; border-radius:4px; }
.cat_photo_tall_blur { width:100%; height:240px; background-repeat:no-repeat !important; background-position:50% 50% !important; background-size:cover !important; border-radius:4px; }
.cat_photo_tall_blur .image_tall { height:240px; border-radius:4px; width:100%; background-color:rgba(255,255,255,0.55); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); overflow:hidden; }
.full_category_photo_wrap .cat_photo_tall_blur img { object-fit:unset; height:104%; margin:-2% auto 0 auto; width:auto; border-radius:0; }
.cat_article_image_blur { display:none; }
.cat_article_text { flex:1; min-width:0; }
#category_main article h2 { font-size:23px; line-height:29px; font-weight:600; margin-bottom:8px; }
#category_main article h2 a { color:#000; }
#category_main article h2 a:hover { color:#000; }
#category_main article p { font-family:'Merriweather', serif; font-size:14px; line-height:24px; color:#555; margin:0; }
#category_main article time { font-size:13px; color:#999; }
.cat_article_meta { display:flex; align-items:center; gap:10px; margin-bottom:6px; }
.cat_article_cat_label { font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:0.05em; color:#4e6588; text-decoration:none; white-space:nowrap; }
.cat_article_cat_label:hover { color:#0d3f7a; }
.sponsored_label {font-size:14px; color:#2aa9c6; display:block; margin-bottom:3px;}
.cat_leaderboard { width:100%; min-height:90px; margin:10px 0; background:#f5f5f5; border:1px solid #e0e0e0; border-radius:4px; display:flex; align-items:center; justify-content:center; }
.page-numbers { list-style:none; display:flex; gap:6px; justify-content:center; margin:32px 0; padding:0; flex-wrap:wrap; }
.page-numbers li a, .page-numbers li span { display:flex; align-items:center; justify-content:center; min-width:38px; height:38px; padding:0 10px; border-radius:6px; font-size:14px; font-weight:600; text-decoration:none; transition:background .2s, color .2s; }
.page-numbers li a { background:#f1f3f5; color:#333; }
.page-numbers li a:hover { background:#e0e4e8; color:#111; }
.page-numbers li span.current { background:#041f36; color:#fff; }
.page-numbers li span.dots { background:transparent; color:#999; pointer-events:none; }


/*================================================
  15. CATEGORY PAGE — PARENT / AP SIDEBAR
================================================*/
.ap_sidebar { background:#fff; border:1px solid #e0e0e0; border-top:3px solid #c00; margin-bottom:20px; padding:0; }
.ap_sidebar_title { margin:0; padding:10px 14px; font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; border-bottom:1px solid #e0e0e0; }
.ap_sidebar_title a { color:#111; text-decoration:none; }
.ap_sidebar_title a:hover { color:#c00; }
.ap_sidebar_list { margin:0; padding:0; list-style:none; }
.ap_sidebar_item { border-bottom:1px solid #f0f0f0; }
.ap_sidebar_item:last-child { border-bottom:none; }
.ap_sidebar_item a { display:block; padding:9px 14px; font-size:13px; line-height:1.4; color:#222; text-decoration:none; }
.ap_sidebar_item a:hover { background:#f7f7f7; color:#c00; }
#category_layout #trending .trend_item:nth-last-child(3), #category_layout #trending .trend_item:nth-last-child(2) { display:none; }
#category_layout #trending .trend_item:nth-child(5) { border-bottom:none; }


/*================================================
  16. SINGLE ARTICLE
================================================*/
#single { background:linear-gradient(to bottom, #f9f9f9 300px, #ffffff 400px); box-shadow:inset 0 3px 5px rgba(0,0,0,0.045); padding-top:15px; }
#single_layout { display:grid; grid-template-columns:1fr 300px; gap:30px; margin:0 auto; align-items:start; }
#main_article { min-width:0; display:grid; grid-template-columns:240px 1fr; column-gap:30px; }
#article_top { grid-column:1/-1; }
#single_left_rail { position:sticky; top:20px; }
#article_content_wrap {min-width:0; margin:0 0 20px 0; word-wrap:break-word; font-size:16px; line-height:28px; color:#464749; font-weight:400; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; text-rendering:optimizeLegibility; min-height:600px}
#article_content_wrap::after { content:''; display:table; clear:both; }
.article_cat_label { display:inline-block; color:#777; border:solid 1px #ccc; border-radius:3px; font-size:11px; line-height:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; padding:5px 10px 3px 10px; margin-bottom:12px; text-decoration:none; }
.sponsored_label_single { font-size:18px; color:#2aa9c6; display:block; margin-bottom:8px; }
#main_article h1 { font-family:"Merriweather",sans-serif; font-size:2.2rem; font-weight:700; line-height:1.2; color:#111; margin:0 0 10px; }
#sub_headline { font-size:1.15rem; font-weight:400; font-style:italic; color:#444; border-left:3px solid #bbbbbb; padding-left:14px; margin:0 0 16px; line-height:1.5; }
#single_meta { display:flex; align-items:center; justify-content:space-between; padding:2px 0; margin:0 0 20px; }
#single_meta_left { display:flex; align-items:center; gap:12px; flex-wrap:wrap; font-size:13px; color:#666; }
#article_author { display:inline; }
#article_author #author_name { display:inline; }
#single_meta_left time { color:#888; }
#single_meta_left #author_name { color:#333; font-weight:600; }
#single_meta_left a#author_name { text-decoration:none; }
#single_meta_left a#author_name:hover { text-decoration:underline; }
.reading_time_meta { color:#999; font-size:12px; }
#single_meta_right { flex-shrink:0; }
ul.share_icons { display:flex; gap:6px; list-style:none; margin:0; padding:0; }
ul.share_icons li { width:30px; height:30px; border-radius:6px; display:flex; align-items:center; justify-content:center; font-size:13px; color:rgba(0,0,0,0.5); border:solid 1px rgba(0,0,0,0.5); transition:color 0.2s; }
ul.share_icons a { line-height:0; }
ul.share_icons li:hover { color:rgb(0,0,0); border:solid 1px rgb(0,0,0); }
.single_article_image_wrap { height:auto; overflow:hidden; position:relative; }
.single_article_image_wide figure img { width:100%; height:100%; object-fit:cover; }
.single_article_image_tall_blur { position:relative; background-size:cover; background-position:center; background-repeat:no-repeat; overflow:hidden; height:640px; display:flex; align-items:center; justify-content:center; }
.single_article_image_tall_blur::after { content:''; position:absolute; inset:0; background:rgba(0,0,0,.45); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); z-index:0; }
.single_article_image_tall { position:relative; z-index:1; height:100%; display:flex; align-items:center; justify-content:center; }
.single_article_image_tall figure { margin:0; border-radius:unset; height:100%; display:flex; align-items:center; }
.single_article_image_tall img { width:auto; height:100%; max-height:640px; display:block; object-fit:contain; position:relative; z-index:1; }
.photo_credit { display:block; font-size:11px; color:#888; text-align:right; margin-top:4px; font-style:italic; }
#single #article_content_wrap div.wp-caption .photo_credit, #single_layout.ap-wire .photo_credit { position:absolute; bottom:0; right:0; margin:0; padding:5px; background:rgb(0 0 0 / 0.59); line-height:11px; color:#d6d6d6; border-radius:3px 0 0 0; }
.caption { font-family:"Merriweather",sans-serif; font-size:10px; letter-spacing:.03em; line-height:15px; margin-bottom:15px; color:#888; border-bottom:solid 1px #f2f2f2; padding:4px 0; }
#single .single_article_image_wrap img { -webkit-transition:unset; -webkit-transform:unset; transform:none; }
#single .single_article_image_wrap img:hover { -webkit-transform:unset; transform:none; }
#single #article_content_wrap div.wp-caption { width:100% !important; }
#single #article_content_wrap figure { border-radius:3px; }
#single #article_content_wrap figure img { transform:unset !important; border-radius:3px; transition:unset !important; -webkit-transition:unset !important; }
#single #article_content_wrap div.wp-caption .wp-caption-text { display:none; }
#single #article_content_wrap div.wp-caption .caption { font-family:"Merriweather",sans-serif; font-size:10px; letter-spacing:.03em; line-height:15px; margin-bottom:15px; color:#888; border-bottom:solid 1px #f2f2f2; padding:4px 0; }
#single #article_content_wrap .single_article_image_tall_blur { height:460px; border-radius:3px; }
#single #article_content_wrap .single_article_image_tall_blur figure img { height:470px; width:auto; }
.article_ad_float { float:left; clear:left; margin:0 24px 0 0; max-width:300px; }
#single_right_rail {position:relative; align-self:stretch; }
#rail_sticky {width:300px; }


/*================================================
  17. ARTICLE BODY CONTENT
================================================*/
#article_content_wrap p { margin:0 0 15px; font-size:16px; line-height:1.6; color:#222; }
#article_content_wrap h2 { font-family:"Merriweather",sans-serif; font-size:1.35rem; font-weight:700; color:#111; margin:1.8em 0 .6em; border-bottom:2px solid #b41e1e; padding-bottom:6px; }
#article_content_wrap h3 { font-family:"Merriweather",sans-serif; font-size:1.15rem; font-weight:700; color:#111; margin:1.6em 0 .5em; }
#article_content_wrap blockquote { font-family:"Merriweather",sans-serif; font-size:1.3rem; font-style:italic; color:#b41e1e; text-align:center; border:none; margin:2em 20px; padding:0; background:transparent; line-height:1.6; }
#article_content_wrap blockquote p { margin:0; }
#article_content_wrap figure { margin:1.8em 0; }
#article_content_wrap figure img { width:100%; height:auto; display:block; }
#article_content_wrap figure figcaption { font-size:12px; color:#888; font-style:italic; margin-top:6px; }
#article_content_wrap ul, #article_content_wrap ol { padding-left:1.6em; margin:0 0 1.4em; }
#article_content_wrap li { margin-bottom:.5em; }
.article_video { margin:1.8em 0; }
#article_content_wrap .notes { background:#f9f9f9; border:1px solid #ddd; border-top:3px solid #555; border-radius:0 0 4px 4px; padding:1.25rem 1.5rem; margin:1.5rem 0; }
#article_content_wrap .notes strong { display:block; font-size:11px; letter-spacing:0.1em; text-transform:uppercase; color:#555; margin-bottom:10px; }
#article_content_wrap .notes ul { margin:0; padding-left:1.2rem; }
#article_content_wrap .notes ul li { font-size:15px; line-height:1.7; color:#333; margin-bottom:8px; list-style:disc; }
#article_content_wrap .notes ul li:last-child { margin-bottom:0; }


/*================================================
  18. ADS
================================================*/
.article_300x250 {margin:0 auto; padding:5px 0 10px 0;}
.leaderboard_bottom {padding:15px 0;}
.leaderboard_top {margin-bottom:15px}
.leaderboard_middle2 {grid-column:1/-1; margin:25px auto; }
.page .sidebar .three_hundredx250 {margin-top:25px;}
.page .sidebar .three_hundredx600 {margin-top:15px;}


/*================================================
  19. ARTICLE — AUTHOR BOX & FEATURE
================================================*/
#author_feature_wrap { border-top:2px solid #222; border-left:1px solid #eee; border-right:1px solid #eee; border-bottom:1px solid #eee; border-radius:0 0 4px 4px; background:#fff; }
#author_feature { display:flex; align-items:center; gap:10px; padding:12px 14px; }
#author_photo { width:44px; height:44px; border-radius:50%; object-fit:cover; flex-shrink:0; border:1px solid #eee; }
#author_info { min-width:0; }
#author_label { font-size:8px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; color:#999; margin:0 0 2px; }
#author_name { font-size:14px; font-weight:600; color:#111; text-decoration:none; display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; margin:0 0 2px; }
a#author_name:hover { color:#555; }
#author_title { font-size:11px; color:#888; margin:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
#single_author_box { text-align:center; border-top:1px solid #eee; padding-top:20px; }
.author_avatar { width:70px; height:70px; border-radius:50%; object-fit:cover; display:block; margin:0 auto 10px; }
.author_box_name { font-size:14px; font-weight:700; color:#111; text-decoration:none; display:block; margin-bottom:4px; }
.author_box_name:hover { color:#b41e1e; }
.author_box_title { font-size:12px; color:#888; display:block; margin-bottom:8px; }
.author_box_bio { font-size:12px; color:#555; line-height:1.5; text-align:left; margin-bottom:10px; }
.author_box_social { display:flex; justify-content:center; gap:10px; }
.author_box_social a { color:#555; font-size:16px; text-decoration:none; }
.author_box_social a:hover { color:#b41e1e; }

/* Author header (author archive page) */
#author_header { display:flex; gap:20px; align-items:center; padding:10px 0 20px 0; margin-bottom:8px; border-bottom:solid 1px #dbdbdb; }
#author_photo_wrap { position:relative; flex:0 0 90px; }
#author_photo_wrap img { width:90px; height:90px; border-radius:50%; object-fit:cover; display:block; }
#author_photo_fallback { display:none; width:90px; height:90px; border-radius:50%; background:#041f36; color:#fff; font-size:36px; font-weight:700; align-items:center; justify-content:center; font-family:'Merriweather', serif; }
#author_header_text { flex:1; min-width:0; }
#author_written_by { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:0.08em; color:#4e6588; margin:0 0 4px 0; }
#author_header_text h1 { font-size:26px; line-height:32px; margin:0 0 4px 0; font-family:'Merriweather', serif; }
#author_bio { font-size:13px; line-height:21px; color:#444; font-family:'Merriweather', serif; margin:0 0 8px 0; }
#author_post_count { font-size:12px; color:#999; margin:0; }


/*================================================
  20. ARTICLE TAGS
================================================*/
#article_tags { margin:40px 0; }
#article_tags a { color:#646464; border:1px solid #e5e5e5; background:#fff; border-radius:20px; display:inline-block; font-size:15px; margin:0 4px 4px 0; padding:6px 14px; font-weight:400; transition:background-color 0.25s ease-out; }
#article_tags a:hover { background-color:#1153a4; color:#fff; }
#article_tags h3 { font-family:'Merriweather',serif; font-size:22px; font-weight:400; text-transform:uppercase; margin-bottom:25px; }
#article_tags h3 span { border-bottom:solid 3px #888; }


/*================================================
  21. GALLERY (oni_gallery)
================================================*/
.oni_gallery_wrap *, .oni_modal_overlay * { box-sizing:border-box; }
.oni_gallery_wrap { width:100%; margin-bottom:24px; }
.oni_gallery_stage { position:relative; width:100%; border-radius:6px; overflow:hidden; }
.oni_gallery_track { display:flex; width:100%; transition:transform 0.42s cubic-bezier(0.4,0,0.2,1); }
.oni_gallery_slide { flex:0 0 100%; width:100%; position:relative; overflow:hidden; }
.oni_gallery_img_wrap { width:100%; height:520px; overflow:hidden; position:relative; }
.oni_gallery_img_wrap .slide_bg { position:absolute; inset:0; background-size:cover; background-position:center; filter:blur(18px) brightness(0.45); transform:scale(1.08); z-index:0; }
.oni_gallery_img_wrap img { position:relative; z-index:1; width:100%; height:100%; object-fit:contain; display:block; }
.oni_gallery_img_wrap.wide img { position:absolute; top:50%; left:50%; width:105%; height:105%; transform:translate(-50%,-50%); object-fit:cover; }
.oni_gallery_caption { position:absolute; bottom:0; left:0; right:0; padding:28px 14px 12px; background:linear-gradient(transparent, rgba(0,0,0,0.7)); z-index:2; }
.oni_gallery_caption_text { font-size:13px; line-height:1.45; color:rgba(255,255,255,0.9); margin:0 0 4px; }
.oni_gallery_credit { font-size:11px; color:rgba(255,255,255,0.5); letter-spacing:0.02em; }
.oni_gallery_counter { position:absolute; top:11px; left:13px; background:rgba(0,0,0,0.5); color:#fff; font-size:11px; font-weight:600; letter-spacing:0.06em; padding:3px 9px; border-radius:20px; pointer-events:none; z-index:2; }
.oni_gallery_btn { position:absolute; top:50%; transform:translateY(-50%); width:36px; height:36px; border-radius:50%; background:rgba(255,255,255,0.12); border:0.5px solid rgba(255,255,255,0.2); color:#fff; cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:16px; transition:background 0.18s; z-index:2; }
.oni_gallery_btn:hover { background:rgba(255,255,255,0.22); }
.oni_gallery_btn:disabled { opacity:0.2; cursor:default; }
.oni_prev { left:11px; }
.oni_next { right:11px; }
.oni_expand_btn { position:absolute; top:10px; right:10px; background:rgba(0,0,0,0.48); border:0.5px solid rgba(255,255,255,0.2); color:#fff; font-size:11px; font-weight:600; letter-spacing:0.05em; padding:4px 10px; border-radius:20px; cursor:pointer; transition:background 0.18s; text-transform:uppercase; z-index:2; }
.oni_expand_btn:hover { background:rgba(0,0,0,0.72); }
.oni_gallery_dots { display:flex; justify-content:center; gap:6px; padding:10px 0 0; }
.oni_gallery_dot { width:6px; height:6px; border-radius:50%; background:#bbb; border:none; cursor:pointer; padding:0; transition:all 0.22s; }
.oni_gallery_dot.active { background:#222; width:18px; border-radius:3px; }
.dark .oni_gallery_dot { background:#555; }
.dark .oni_gallery_dot.active { background:#ddd; }
.oni_modal_overlay { display:none; position:fixed; inset:0; background:rgba(0,0,0,0.93); z-index:999999; align-items:center; justify-content:center; flex-direction:column; }
.oni_modal_overlay.open { display:flex; }
.oni_modal_inner { width:min(860px, 92vw); position:relative; }
.oni_modal_close { position:absolute; top:-38px; right:0; background:none; border:0.5px solid rgba(255,255,255,0.25); color:#fff; font-size:13px; font-weight:600; padding:5px 14px; border-radius:20px; cursor:pointer; letter-spacing:0.04em; transition:background 0.18s; }
.oni_modal_close:hover { background:rgba(255,255,255,0.1); }
.oni_modal_stage { position:relative; border-radius:6px; overflow:hidden; background:#000; }
.oni_modal_track { display:flex; width:100%; transition:transform 0.42s cubic-bezier(0.4,0,0.2,1); }
.oni_modal_slide { flex:0 0 100%; width:100%; position:relative; overflow:hidden; }
.oni_modal_img_wrap { width:100%; max-height:76vh; display:flex; align-items:center; justify-content:center; background:#000; }
.oni_modal_img_wrap img { max-width:100%; max-height:76vh; object-fit:contain; display:block; }
.oni_modal_caption { padding:10px 14px; }
.oni_modal_caption p { font-size:13px; color:rgba(255,255,255,0.75); margin:0 0 3px; }
.oni_modal_credit { font-size:11px; color:rgba(255,255,255,0.38); }
.oni_modal_counter { position:absolute; top:10px; left:12px; background:rgba(0,0,0,0.52); color:#fff; font-size:11px; font-weight:600; padding:3px 9px; border-radius:20px; pointer-events:none; z-index:2; }
.oni_modal_btn { position:absolute; top:50%; transform:translateY(-50%); width:42px; height:42px; border-radius:50%; background:rgba(255,255,255,0.1); border:0.5px solid rgba(255,255,255,0.2); color:#fff; cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:18px; transition:background 0.18s; z-index:2; }
.oni_modal_btn:hover { background:rgba(255,255,255,0.22); }
.oni_modal_prev { left:-54px; }
.oni_modal_next { right:-54px; }
.oni_modal_dots { display:flex; justify-content:center; gap:6px; margin-top:13px; }
.oni_modal_dot { width:6px; height:6px; border-radius:50%; background:rgba(255,255,255,0.25); border:none; cursor:pointer; padding:0; transition:all 0.22s; }
.oni_modal_dot.active { background:#fff; width:18px; border-radius:3px; }


/*================================================
  22. TRENDING WIDGET
================================================*/
#trending { margin-top:25px; }
#trending h2 { font-size:15px; font-weight:500; color:#222; letter-spacing:.04em; text-transform:uppercase; margin:0 0 5px; }
#trending section { background:#fff; border-radius:4px; overflow:hidden; margin-top:8px; border:solid 1px #ececec; }
#trending .trend_item { display:flex; align-items:flex-start; gap:8px; padding:11px 10px; border-bottom:1px solid #f2f2f2; transition:background 0.15s; text-decoration:none; }
#trending .trend_item:last-of-type { border-bottom:none; }
#trending .trend_item:hover { background:#fafafa; }
#trending .trend_item:hover .trend_title { color:#000; }
#trending .heat_bar { width:3px; border-radius:2px; align-self:stretch; min-height:18px; flex-shrink:0; }
#trending .trend_number { font-size:11px; font-weight:500; color:#e85d2f; min-width:10px; padding-top:2px; opacity:0.85; }
#trending .trend_number.hot { color:#c4401a; opacity:1; font-size:13px; }
#trending .trend_title { font-size:13px; font-weight:500; color:#333; line-height:1.45; transition:color 0.15s; }
#trending #view_more_trending { text-align:center; border-top:1px dotted #ececec; }
#trending #view_more_trending a { display:block; padding:9px; font-size:12px; color:#bbb; transition:.2s; text-decoration:none; }
#trending #view_more_trending a i { font-size:10px; color:#ddd; transition:.2s; }
#trending #view_more_trending a:hover { color:#999; }
#trending #view_more_trending a:hover i { color:#aaa; }


/*================================================
  23. TODAY'S PAPER WIDGET
================================================*/
#todays_paper { box-shadow:0 0 16px rgba(0,0,0,0.09); border:solid 1px #ececec; border-radius:4px; }
#todays_paper h3 { background:#fff; font-size:16px; text-align:center; letter-spacing:0.04em; line-height:16px; padding:7px 0 6px 0; font-weight:500; text-transform:uppercase; border-bottom-left-radius:4px; border-bottom-right-radius:4px; }
#todays_paper a { color:#333; }
#todays_paper figure { width:100%; aspect-ratio:18/21; overflow:hidden; border-bottom:solid 1px #ececec; position:relative; border-top-left-radius:4px; border-top-right-radius:4px; }
#todays_paper img { width:100%; height:143%; object-fit:cover; object-position:top; }
#todays_paper figure::after { content:''; position:absolute; bottom:0; left:0; width:100%; height:50px; background:linear-gradient(to bottom, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%); border-bottom:solid 5px #fff; }


/*================================================
  24. NEWSLETTER BOX
================================================*/
#box_join {padding:20px 15px; margin:25px auto; border:solid 1px #ececec; border-radius:5px; }
#box_join #box_newsletter .gform-theme--foundation .gform_fields {row-gap:0; display:block}
#box_newsletter .gsection_title {margin:0 0 5px 0; text-align:center; font-size:16px; font-weight:500; letter-spacing:0.05em; text-transform:uppercase; color:#666; white-space:nowrap; }
#box_newsletter .gsection_description {font-size:12px; color:#333; text-align:center; font-weight:400; margin-bottom:10px; }
#box_newsletter .gfield_label {font-size:11px; color:#555; font-weight:400; display:block; line-height:14px; --gf-local-margin-y:0; margin-bottom:8px}
#box_newsletter .gfield_required {font-size:9px; color:#a50b00; }
#box_newsletter .ginput_container_email {display:block; margin-bottom:20px}
#box_newsletter input[type="email"] {width:100%; height:30px; border:solid 1px #d3d3d3 !important; padding-left:5px; padding-top:2px; border-radius:3px; }
#box_newsletter input[type="email"]::placeholder { color:#999; opacity:1; }
#box_newsletter .ginput_container_checkbox {display:contents; }
#box_newsletter .gfield_checkbox {display:grid; grid-template-columns:1fr 1fr; gap:5px; grid-column-gap:5px; }
#box_newsletter .ginput_container_radio { display:contents; }
#box_newsletter .gfield_radio {display:grid; grid-template-columns:auto 1fr; grid-column-gap:10px; }
#box_newsletter .gfield--type-radio {margin-top:20px}
#box_newsletter .gfield-choice-input {width:15px; height:15px; accent-color:#00468c; cursor:pointer; }
#box_newsletter .gchoice label {font-size:13px; color:#666; cursor:pointer; margin:0; }
#box_newsletter .gform_footer {padding:0; gap:0; margin-block-start:0}
#box_newsletter .gform_button {display:block; font-size:14px; font-family:'Roboto', sans-serif; font-weight:400; line-height:15px; background:#fd4e15; border:none; padding:7px 8px 6px 10px; border-radius:4px; text-transform:uppercase; color:#fff; cursor:pointer; width:120px; margin:20px auto 0 auto; letter-spacing:0.04em; }
#box_newsletter .gform_button:hover {background:rgba(239,167,0,.7); transition:0.75s; color:#fff; }





/*================================================
  26. FOOTER
================================================*/
footer { background-color:#ececec; padding:48px 40px 32px; box-sizing:border-box; }
#footer_top { display:flex; justify-content:space-between; align-items:center; margin:0 auto 40px; }
#footer_top figure { margin:0; padding:0; }
#footer_top figure img { height:36px; width:auto; display:block; }
#footer_top aside { display:flex; gap:18px; align-items:center; }
#footer_top aside a { color:#222; font-size:20px; display:flex; align-items:center; text-decoration:none; transition:color 0.2s; }
#footer_top aside a:hover { color:#000; }
footer .sub-menu li { border-bottom:unset; }
footer .sub-menu li a::before { background:unset; position:unset; width:unset; height:unset; }
footer .sub-menu li a:hover { background:unset; }
footer .menu-footer-menu-container { margin:0 auto; }
footer #menu-footer-menu { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(5, 1fr); gap:0 5px; }
footer #menu-footer-menu > .menu-item > a { display:block; color:#222; text-decoration:none; font-size:14px; font-weight:700; padding:0 0 2px 0; margin-bottom:8px; text-transform:uppercase; letter-spacing:0.03em; }
footer #menu-footer-menu > .menu-item > a:hover { color:#000; }
footer #menu-footer-menu .sub-menu { display:block !important; max-height:unset; visibility:visible !important; position:static !important; opacity:1 !important; list-style:none; margin:0; padding:0; background:none; box-shadow:none; }
footer #menu-footer-menu .sub-menu .menu-item a { display:block; color:#333; text-decoration:none; font-size:13px; font-weight:500; padding:5px 0; transition:color 0.2s; }
footer #menu-footer-menu .sub-menu .menu-item a:hover { color:#000; text-decoration:underline; }
.footer-copyright { max-width:1200px; margin:32px auto 0; padding-top:20px; border-top:1px solid #d8d3c8; font-size:13px; color:#888; }
#footer_address { grid-column:1/-1; padding-top:30px; }
#footer_address p { color:#555; }


/*================================================
  27. STATIC PAGES (page template)
================================================*/
.page main {background:unset; box-shadow:unset; display:grid; grid-template-columns:1fr 300px; grid-column-gap:30px; }
.page { background:linear-gradient(to bottom, #f9f9f9 300px, #ffffff 400px); box-shadow:inset 0 3px 5px rgba(0,0,0,0.045); padding-top:15px; }
.page #page_title { font-size:30px; line-height:36px; margin:0 0 10px 0; border-bottom:solid 1px #ececec; padding:0 0 2px 3px; font-family:'Merriweather', serif;}
.page main article p { margin:0 0 15px; font-size:16px; line-height:1.6; color:#222; }
.page main article h2 { font-family:"Merriweather",sans-serif; font-size:1.4rem; font-weight:700; color:#111; margin:15px 0 0 0; padding-bottom:6px; }
.page main article .gform_title {display:none}
.page main article .gform_heading {padding-top:10px}
.page main article h3 { font-family:"Merriweather",sans-serif; font-size:1.15rem; font-weight:700; color:#111; margin:1.6em 0 .5em; }
.page main article blockquote { font-family:"Merriweather",sans-serif; font-size:1.3rem; font-style:italic; color:#b41e1e; text-align:center; border:none; margin:2em 20px; padding:0; background:transparent; line-height:1.6; }
.page main article blockquote p { margin:0; }
.page main article figure { margin:1.8em 0; }
.page main article figure img { width:100%; height:auto; display:block; }
.page main article figure figcaption { font-size:12px; color:#888; font-style:italic; margin-top:6px; }
.page main article ul, #article_content_wrap article ol { padding-left:1.6em; margin:0 0 1.4em; }
.page main article li { margin-bottom:.5em; }
.page main .article_video { margin:1.8em 0; }
.page main article ul li {list-style:disc; color:#333; line-height:26px}
.page main article .gform_wrapper {background:#fff; border:solid 1px #ececec; border-radius:10px; padding:0 20px 20px 20px;}

/*================================================
  28. CONTACT US PAGE
================================================*/
#contact_us { max-width:100%; padding:20px 0; }
.ocm_aside { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:1.5rem; }
.ocm_aside_col { background:#fff; border:0.5px solid rgba(0,0,0,.12); border-radius:12px; padding:1.25rem 1.5rem; }
.ocm_aside_col h2 { font-size:11px; font-weight:500; text-transform:uppercase; letter-spacing:.08em; color:#888; margin:0 0 8px; padding:0; border:none; }
.ocm_aside_col p { font-size:14px; line-height:1.6; margin:0 0 4px; }
.ocm_phone { font-weight:500; }
.ocm_address { color:#666; margin-top:8px !important; }
.ocm_fax_row { display:flex; justify-content:space-between; font-size:13px; padding:4px 0; border-bottom:0.5px solid rgba(0,0,0,.08); color:#666; }
.ocm_fax_row:last-child { border-bottom:none; }
.ocm_fax_num { color:#111; font-variant-numeric:tabular-nums; }
.ocm_dept_grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(360px,1fr)); gap:12px; }
.contact_department { background:#fff; border:0.5px solid rgba(0,0,0,.12); border-radius:12px; padding:1rem 1.25rem; }
.ocm_dept_wide { grid-column:1 / -1; }
.contact_department h2 { font-size:13px; font-weight:500; text-transform:uppercase; letter-spacing:.07em; color:#111; margin:0 0 10px; padding-bottom:8px; border-bottom:0.5px solid rgba(0,0,0,.1); }
.ocm_members_grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(350px,1fr)); }
.ocm_member { display:flex; align-items:flex-start; gap:8px; padding:5px 0; border-bottom:0.5px solid rgba(0,0,0,.06); }
.ocm_member:last-child { border-bottom:none; padding-bottom:0; }
.ocm_avatar { width:28px; height:28px; border-radius:50%; background:#E6F1FB; display:flex; align-items:center; justify-content:center; font-size:10px; font-weight:500; color:#185FA5; flex-shrink:0; margin-top:2px; }
.ocm_avatar_icon { font-size:13px; }
.ocm_member_info { flex:1; min-width:0; }
.ocm_member_role { font-size:11px; color:#888; margin:0 0 1px; }
.ocm_member_name { font-size:13px; font-weight:500; color:#111; margin:0 0 1px; }
.ocm_ext { font-size:11px; color:#888; margin-left:4px; font-weight:400; }
.ocm_member_email { font-size:11px; color:#5A8BB0; text-decoration:none; display:block; margin-top:4px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ocm_member_email:hover { text-decoration:underline; }


.g_ad {min-height:1px}


/*================================================
  29. RESPONSIVE BREAKPOINTS
================================================*/
@media screen and (min-width:1400px) and (max-width:4000px) {
    .page main article .gform_wrapper {background:#fff; border:solid 1px #ececec; border-radius:10px; padding:0 50px 20px 50px;}
}


/* ── Global layout breakpoints ── */
@media screen and (max-width:1630px) {
    #editors_picks_wrap .default_width { max-width:calc(100% - 130px) !important; }
}
@media screen and (max-width:1380px) {
    .default_width { max-width:1230px; }
}
@media screen and (max-width:1280px) {
    .default_width { max-width:1130px; }
    #homepage_top_news_category .leading_story .lead_story_no_photo p {display:-webkit-box; -webkit-line-clamp:8; -webkit-box-orient:vertical; overflow:hidden;}
    #homepage_middle_cat { grid-template-columns:1fr 1fr; }
    #homepage_middle_cat .middle_cat:last-of-type { display:grid; grid-template-columns:1fr 1fr; margin-top:5px; border-top:solid 1px #e6e6e6; padding-top:15px; grid-column-gap:20px; grid-template-rows:auto 1fr auto; grid-column:1/-1; }
    #homepage_middle_cat .middle_cat:last-of-type h2 { grid-column:1 / -1; }
    #homepage_middle_cat .middle_cat:last-of-type .leading_story { grid-column:1; grid-row:2; }
    #homepage_middle_cat .middle_cat:last-of-type .other_middle_cat_articles { grid-column:2; grid-row:2; display:flex; flex-direction:column; align-self:start; }
    #homepage_middle_cat .middle_cat:last-of-type .other_middle_cat_articles article { border-top:1px solid #e6e6e6; padding:8px 0 8px 14px; display:flex; align-items:center; }
    #homepage_middle_cat .middle_cat:last-of-type .other_middle_cat_articles article:first-child { border-top:none; }
    #homepage_middle_cat .middle_cat:last-of-type nav { grid-column:1 / -1; top:15px; }
    #homepage_middle_cat .middle_cat:last-of-type .leading_story h3 { border-bottom:none; padding-bottom:0; margin-bottom:0; }
}

/* ── Article breakpoints ── */
@media (max-width:1200px) {
    .single_article_image_tall_blur { height:500px; }
    #single #article_content_wrap .single_article_image_tall_blur { height:410px; }
    #single #article_content_wrap .single_article_image_tall_blur figure img { height:420px; }
    .article_ad_float { float:unset; margin:0 auto; }
}

@media screen and (max-width:1180px) {
    .default_width { max-width:1030px; }
    #homepage_bottom_left {grid-template-columns:1fr}
    .ogden_poll_widget {max-width:100% !important;}
}


@media (max-width:1100px) {
    #main_article { grid-template-columns:1fr; align-items:start}
    #article_top { grid-row:1;}
    #article_content_wrap { grid-row:2; min-height:200px}
    #single_left_rail { position:unset; grid-row:3; }
    #author_feature_wrap { display:none; }
    .single_article_image_tall_blur { height:450px; }
    #single #article_content_wrap .single_article_image_tall_blur { height:380px; }
    #single #article_content_wrap .single_article_image_tall_blur figure img { height:390px; }
    #category_main article {gap:20px; align-items:start}
    .full_category_photo_wrap { flex:0 0 200px; width:200px; }
    .full_category_photo_wrap img {height:140px;}
    .cat_photo_tall_blur {height:140px; }
    .cat_photo_tall_blur .image_tall {height:140px;}
    #category_main article h2 { font-size:20px; line-height:26px; margin-bottom:6px; }
    #category_main article p {font-size:12px; line-height:22px;}
    #category_main article time {font-size:11px;}
    #single_left_rail #left_rail_sticky {position:unset !important;}
}

@media screen and (max-width:1080px) {
    .default_width { max-width:930px; }
    #homepage_top_news { grid-column-gap:20px; }
    #homepage_top_news_category { grid-template-columns:1fr; }
    #homepage_top_news_category #more_top_news { padding:0; }
    #homepage_top_news_category #more_top_news nav { display:none; }
    #todays_paper { width:300px; }
    #todays_paper figure { aspect-ratio:16/31 !important; overflow:hidden; width:100%; }
    #todays_paper img { width:100%; height:auto !important; object-fit:unset !important; object-position:top center; color:rgb(0 0 0 / 0.37); }
    #homepage_top_news_category h3 { display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; overflow:hidden; }
}
@media screen and (max-width:980px) {
    .default_width { max-width:830px; }
    .page main {grid-template-columns:1fr}
    .page .sidebar .three_hundredx600 {margin-top:25px;}
}

@media (max-width:900px) {
    #single_layout { grid-template-columns:1fr; }
    .single_article_image_wide figure img { object-fit:unset; height:auto; }
    #rail_sticky {position:unset; width:unset; }
    #article_tags {border:solid 1px #ececec; border-radius:5px; padding:20px;}
    #category_main article {display:block}
    .full_category_photo_wrap { flex:0 0 340px; width:100%; margin-bottom:10px}
    .full_category_photo_wrap img {height:280px; width:100%}
    .cat_photo_tall_blur {height:280px; }
    .cat_photo_tall_blur .image_tall {height:280px;}
    .page main article .gform-theme--foundation .gform_fields {row-gap:25px}
}

@media screen and (max-width:880px) {
    .default_width { max-width:730px; }
}

/* ── Category breakpoints ── */
@media screen and (max-width:780px) {
    #category_layout { grid-template-columns:1fr; }

}

/* ── Shared 760px ── */
@media screen and (max-width:760px) {
    .default_width { max-width:100%; padding:0 20px; }
    #top_nav { padding:0 10px 0 .25rem; }
    #homepage_top_news { grid-template-columns:1fr; }
    #homepage_top_news_category { grid-template-columns:1fr 300px; }
    #homepage_top_news_category .leading_story { height:260px; }
    #homepage_top_news_category #more_top_news { padding-right:20px; }
    #homepage_middle, #homepage_bottom, #homepage_bottom_left { grid-template-columns:1fr; }
    #top_nav nav { display:none; }
    #homepage_top_news aside { padding:25px 0; }
    #todays_paper { width:100%; }
    #todays_paper figure { aspect-ratio:16/10 !important; }
    #homepage_middle.default_width { padding:0; }
    #homepage_middle #homepage_middle_cat { border-radius:0; }
    #homepage_middle aside { padding:0 20px; }
    #promo_ad_section { width:300px; margin:25px auto 10px auto !important; }
    #homepage_bottom_cat { grid-template-columns:1fr; }
    #homepage_top_news aside { display:grid; grid-template-columns:1fr 300px; grid-column-gap:20px; }
    #homepage_top_news_category .leading_story .lead_story_no_photo p {-webkit-line-clamp:3;}
    #homepage_middle aside .three_hundredx250 {margin-top:25px}
    .middle_cat figure {height:400px;}
}

/* ── 700px ── */
@media (max-width:700px) {
    .article_ad_float { float:none; margin:20px auto; max-width:100%; text-align:center; }
    #main_article h1 { font-size:1.7rem; line-height:1.3; }
    #article_content_wrap { font-size:15px; line-height:26px; }
}

/* ── 620px ── */
@media screen and (max-width:620px) {
    #homepage_top_news { margin-top:15px; }
    #homepage_top_news_category .leading_story .lead_story_no_photo {padding:3px 20px 23px 20px}
    #homepage_top_news_category .leading_story .lead_story_no_photo p {-webkit-line-clamp:6}
    #homepage_top_news_category { grid-template-columns:1fr; }
    #homepage_top_news_category .leading_story { height:unset; }
    #homepage_top_news_category .leading_story figure { height:330px; }
    #homepage_top_news_category .leading_story div { position:unset; padding:0; background:unset; }
    #homepage_top_news_category .leading_story h1 a { color:#000; }
    #homepage_top_news_category .leading_story nav, #homepage_top_news_category time { display:none; }
    #homepage_top_news_category .leading_story .has_lead_photo { display:block; font-family:"Merriweather", sans-serif; font-weight:400; font-size:14px; line-height:24px; color:#333; padding:5px 0 15px 0; margin:0 auto 15px auto; border-bottom:solid 1px #ececec; }
    #homepage_top_news_category #more_top_news { padding-right:unset; display:grid; grid-template-columns:49.5% 50.5%; }
    #homepage_top_news_category #more_top_news article { border-bottom:unset; padding:0; }
    #homepage_top_news_category #more_top_news article:nth-of-type(odd) { padding-right:8px; margin-bottom:8px; }
    #homepage_top_news_category #more_top_news article:nth-of-type(even) { padding-left:9px; border-left:solid 1px #ececec; margin-bottom:8px; }
    #homepage_top_news_category h3 { display:block; font-size:18px; line-height:23px; margin:0 0 5px 0; }
    #homepage_top_news_category #more_top_news p { display:block; font-family:"Merriweather", sans-serif; font-weight:400; font-size:14px; line-height:22px; color:#333; }
    #homepage_top_news_category #more_top_news article:nth-of-type(3), #homepage_top_news_category #more_top_news article:nth-of-type(4) { grid-column:1/-1; border-top:solid 1px #ececec; margin-top:8px; padding-top:13px; border-left:none; padding-left:0; padding-right:0; margin-bottom:0; }
    #homepage_top_news_category #more_top_news article:nth-of-type(3) p, #homepage_top_news_category #more_top_news article:nth-of-type(4) p, #homepage_top_news_category #more_top_news article:nth-of-type(5) { display:none; }
    #under_logo_links ul li { border-right:none; }
    #under_logo_links .todays_paper { border-right:1px solid #ddd; }
    .todays_date, .subscribe_under_logo { display:none; }
    #todays_paper figure { aspect-ratio:16/16 !important; }
    #homepage_middle_cat { grid-template-columns:1fr; }
    #homepage_middle_cat .middle_cat:first-of-type { margin-bottom:15px; border-bottom:solid 1px #e6e6e6; padding-bottom:5px; }
    #homepage_middle_cat .middle_cat:last-of-type { display:block; padding-bottom:0; }
    #homepage_middle_cat .middle_cat:last-of-type .leading_story h3 { padding-bottom:9px; border-bottom:solid 1px #ececec; margin-bottom:12px; }
    #homepage_middle_cat .middle_cat:last-of-type .other_middle_cat_articles article { padding:0; border-top:unset; }
    .ad_300x250, .ad_300x600  {width:300px; margin:0 auto}
    .page #page_title {font-size:26px}
    #category_main h1 {font-size:26px;}
}

/* ── 600px ── */
@media (max-width:600px) { .single_article_image_tall_blur { height:380px; }
    #single #article_content_wrap .single_article_image_tall_blur { height:330px; }
    #single #article_content_wrap .single_article_image_tall_blur figure img { height:340px; }
    #article_content_wrap p { font-size:18px; }
    #article_tags h3 { font-size:25px; }
    #article_tags a { font-size:18px; }
    #trending h2 { font-size:22px; }
    #trending .trend_title { font-size:18px; }
    #trending .trend_number.hot { font-size:15px; }
    #trending .trend_number { font-size:14px; }
    #trending #view_more_trending a { font-size:17px; }
    footer { padding:32px 0 24px; }
    footer #menu-footer-menu { display:none; }
    #footer_top aside { gap:14px; }
    #footer_address p { text-align:center; }
    #footer_top { margin-bottom:0; }
    .oni_gallery_img_wrap { height:320px; }
    .oni_gallery_btn { width:30px; height:30px; font-size:14px; }
    .oni_gallery_caption { opacity:0; transition:opacity 0.3s ease; }
    .oni_gallery_slide:hover .oni_gallery_caption { opacity:1; }
    #footer_top figure img {max-height:36px; height:auto; min-width:230px; max-width:300px; width:calc(100% - 30px);}
}

/* ── 580px ── */
@media screen and (max-width:580px) {
    #top_header figure img {height:auto; max-height:50px; width:auto; min-width:250px; max-width:calc(100% - 40px)}
    #homepage_top_news aside { grid-template-columns:1fr; }
    .homepage_mobile_300x250 { margin:25px auto 0 auto; }
    #todays_paper, #todays_paper figure { max-width:300px; margin:0 auto; }
    #homepage_middle_cat { padding:20px 20px 10px 20px; margin-bottom:20px; }
    .other_middle_cat_articles .image_wide, .other_middle_cat_articles .home_image_tall_blur { display:block; }
    .other_middle_cat_articles article { display:flex; gap:10px; align-items:center; margin-bottom:12px; }
    .other_middle_cat_articles article figure { flex:0 0 120px; margin:0; height:80px; }
    .other_middle_cat_articles article figure img { width:100%; height:80px; object-fit:cover; display:block; }
    .other_middle_cat_articles article h4 { margin:0; padding-bottom:0; }
    .other_middle_cat_articles article .home_image_tall_blur { flex:0 0 120px; margin:0; height:80px; overflow:hidden; background-size:cover; background-position:center; display:flex; justify-content:center; }
    .other_middle_cat_articles article .home_image_tall_blur figure { margin:0; height:100%; }
    .other_middle_cat_articles article .home_image_tall_blur figure a { display:block; height:100%; }
    .other_middle_cat_articles article .home_image_tall_blur figure img { width:auto !important; height:106%; display:block; margin:0 auto; margin-top:-3%; }
    .middle_cat h3 { font-size:21px; line-height:25px; }
    .middle_cat h4 { font-size:15px; line-height:19px; }
    .other_middle_cat_articles article.no_photo { display:flex; flex-direction:column; align-items:flex-start; gap:0; }
    .other_middle_cat_articles article.no_photo h4 { order:-1; text-align:left; padding-bottom:5px; }
    .other_middle_cat_articles article.no_photo p { display:block; font-family:"Merriweather",sans-serif; color:#333; }
}

/* ── 500px ── */
@media screen and (max-width:500px) {
    .single_article_image_tall_blur { height:320px; }
    #single #article_content_wrap .single_article_image_tall_blur { height:300px; }
    #single #article_content_wrap .single_article_image_tall_blur figure img { height:310px; }
    #author_header { flex-direction:column; align-items:center; text-align:center; }
    #category_main article { display:block; }
    .full_category_photo_wrap { width:100%; margin-bottom:8px; }
    .full_category_photo_wrap img { height:240px; }
    .cat_photo_tall_blur { height:240px; }
    .cat_photo_tall_blur .image_tall { height:240px; }
    #category_main article h2 { font-size:22px; line-height:28px; }
    #category_main article p { font-size:15px; line-height:25px; display:-webkit-box; line-clamp:5; -webkit-box-orient:vertical; -webkit-line-clamp:5; overflow:hidden; }
    #category_main article time { font-size:13px; }
    .middle_cat figure {height:225px;}
    .cat_article_cat_label { font-size:13px; }
    .page-numbers:not(.current):not(.prev):not(.next):not(:first-child):not(:last-child) { display:none; }
    .page-numbers.dots { display:none; }
    .pagination_collapse .page-numbers li:nth-child(3), .pagination_collapse .page-numbers li:nth-child(4), .pagination_collapse .page-numbers li:nth-last-child(3), .pagination_collapse .page-numbers li:nth-last-child(4) { display:none; }
    .page-numbers .prev, .page-numbers .next { padding:0 5px; min-width:32px; }
    .page-numbers li .pagination_link { padding:0 5px; min-width:30px; }
    #box_newsletter h4 { font-size:22px; }
    #box_newsletter p { font-size:16px; }
    #box_newsletter input[type="email"] { height:44px; }
    #box_newsletter h6 { font-size:15px; }
    #box_newsletter .gchoice label, #box_newsletter .subscriber legend { font-size:16px; }
    #box_newsletter .gform_button { font-size:19px; width:150px; }
    #box_newsletter .gfield_radio { margin-top:5px; }
}

/* ── 450px ── */
@media screen and (max-width:450px) {
    #homepage_top_news_category .leading_story { height:auto; }
    #homepage_top_news_category .leading_story figure { height:auto; aspect-ratio:23/16 !important; overflow:hidden; width:100%; }
    #homepage_bottom .leaderboard_middle2 {max-width:300px; overflow:hidden;}
}

/* ── 440px (gallery) ── */
@media screen and (max-width:440px) {
    .oni_gallery_img_wrap { height:260px; }
}

/* ── 400px ── */
@media screen and (max-width:400px) {
    .page-numbers li .pagination_link { padding:0 5px; min-width:20px; }
    .page-numbers .prev, .page-numbers .next { padding:0 5px; min-width:28px; }
}

/* ── 860px (gallery modal) ── */
@media screen and (max-width:860px) {
    .oni_gallery_img_wrap { height:420px; }
    .oni_modal_prev { left:6px; }
    .oni_modal_next { right:6px; }
    .oni_modal_inner { width:96vw; }
}

/* ── Footer / misc ── */
@media (max-width:900px) {
    footer #menu-footer-menu { grid-template-columns:repeat(3, 1fr); gap:32px 24px; }
}
@media screen and (max-width:360px) {
    .page-numbers li .pagination_link { padding:0 3px; min-width:16px; }
}