CINXE.COM
Get the real story behind the headlines
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <title>Get the real story behind the headlines</title> <meta name="HandheldFriendly" content="True" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <link rel="preload" href="https://readsludge.com/assets/css/app.css?v=84975b7b07" as="style" /> <link rel="preload" href="https://readsludge.com/assets/css/membership.css?v=84975b7b07" as="style" /> <link rel="stylesheet" type="text/css" href="https://readsludge.com/assets/css/app.css?v=84975b7b07" media="screen" /> <link rel="stylesheet" type="text/css" href="https://readsludge.com/assets/css/membership.css?v=84975b7b07" media="screen" /> <meta name="description" content="Subscribe to receive our daily newsletter exposing the moneyed interests shaping politics."> <link rel="icon" href="https://readsludge.com/content/images/size/w256h256/2024/11/Sludge-Logo-Playground.png" type="image/png"> <link rel="canonical" href="https://readsludge.com/membership/"> <meta name="referrer" content="no-referrer-when-downgrade"> <meta property="og:site_name" content="Sludge"> <meta property="og:type" content="website"> <meta property="og:title" content="Get the real story behind the headlines"> <meta property="og:description" content="Subscribe to receive our daily newsletter exposing the moneyed interests shaping politics."> <meta property="og:url" content="https://readsludge.com/membership/"> <meta property="og:image" content="https://readsludge.com/content/images/2024/11/sludgedome-1.jpg"> <meta property="article:modified_time" content="2024-11-11T22:07:03.000Z"> <meta property="article:publisher" content="https://www.facebook.com/readsludge/"> <meta name="twitter:card" content="summary_large_image"> <meta name="twitter:title" content="Get the real story behind the headlines"> <meta name="twitter:description" content="Subscribe to receive our daily newsletter exposing the moneyed interests shaping politics."> <meta name="twitter:url" content="https://readsludge.com/membership/"> <meta name="twitter:image" content="https://readsludge.com/content/images/2024/11/sludgedome.jpg"> <meta name="twitter:label1" content="Written by"> <meta name="twitter:data1" content="Donald Shaw"> <meta name="twitter:site" content="@Sludge"> <meta name="twitter:creator" content="@donnydonny"> <meta property="og:image:width" content="800"> <meta property="og:image:height" content="419"> <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "Article", "publisher": { "@type": "Organization", "name": "Sludge", "url": "https://readsludge.com/", "logo": { "@type": "ImageObject", "url": "https://readsludge.com/content/images/2024/11/Sludge_new_logotype_text-1730645314160-1.png" } }, "author": { "@type": "Person", "name": "Donald Shaw", "image": { "@type": "ImageObject", "url": "https://readsludge.com/content/images/2023/08/FOk2FhdXwAYpvds.jpg", "width": 400, "height": 400 }, "sameAs": [ "https://twitter.com/donnydonny" ] }, "headline": "Get the real story behind the headlines", "url": "https://readsludge.com/membership/", "dateModified": "2024-11-11T22:07:03.000Z", "description": "Subscribe to receive our daily newsletter exposing the moneyed interests shaping politics. ", "mainEntityOfPage": "https://readsludge.com/membership/" } </script> <meta name="generator" content="Ghost 5.115"> <link rel="alternate" type="application/rss+xml" title="Sludge" href="https://readsludge.com/rss/"> <script defer src="https://cdn.jsdelivr.net/ghost/portal@~2.50/umd/portal.min.js" data-i18n="true" data-ghost="https://readsludge.com/" data-key="76f8aaa3e78026f68f8829f362" data-api="https://sludge.ghost.io/ghost/api/content/" data-locale="en" crossorigin="anonymous"></script><style id="gh-members-styles">.gh-post-upgrade-cta-content, .gh-post-upgrade-cta { display: flex; flex-direction: column; align-items: center; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; text-align: center; width: 100%; color: #ffffff; font-size: 16px; } .gh-post-upgrade-cta-content { border-radius: 8px; padding: 40px 4vw; } .gh-post-upgrade-cta h2 { color: #ffffff; font-size: 28px; letter-spacing: -0.2px; margin: 0; padding: 0; } .gh-post-upgrade-cta p { margin: 20px 0 0; padding: 0; } .gh-post-upgrade-cta small { font-size: 16px; letter-spacing: -0.2px; } .gh-post-upgrade-cta a { color: #ffffff; cursor: pointer; font-weight: 500; box-shadow: none; text-decoration: underline; } .gh-post-upgrade-cta a:hover { color: #ffffff; opacity: 0.8; box-shadow: none; text-decoration: underline; } .gh-post-upgrade-cta a.gh-btn { display: block; background: #ffffff; text-decoration: none; margin: 28px 0 0; padding: 8px 18px; border-radius: 4px; font-size: 16px; font-weight: 600; } .gh-post-upgrade-cta a.gh-btn:hover { opacity: 0.92; }</style><script async src="https://js.stripe.com/v3/"></script> <script defer src="https://cdn.jsdelivr.net/ghost/sodo-search@~1.5/umd/sodo-search.min.js" data-key="76f8aaa3e78026f68f8829f362" data-styles="https://cdn.jsdelivr.net/ghost/sodo-search@~1.5/umd/main.css" data-sodo-search="https://sludge.ghost.io/" data-locale="en" crossorigin="anonymous"></script> <link href="https://readsludge.com/webmentions/receive/" rel="webmention"> <script defer src="/public/cards.min.js?v=84975b7b07"></script> <link rel="stylesheet" type="text/css" href="/public/cards.min.css?v=84975b7b07"> <script defer src="/public/comment-counts.min.js?v=84975b7b07" data-ghost-comments-counts-api="https://readsludge.com/members/api/comments/counts/"></script> <script defer src="/public/member-attribution.min.js?v=84975b7b07"></script><style>:root {--ghost-accent-color: #0509d3;}</style> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link href="https://fonts.googleapis.com/css2?family=Oswald:wght@700&display=swap" rel="stylesheet"> <script src="https://cdn.usefathom.com/script.js" data-site="QWNFYHQD" defer></script> <!-- Google tag (gtag.js) --> <script async src="https://www.googletagmanager.com/gtag/js?id=G-79V35NWWX4"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-79V35NWWX4'); </script> <style> /* font overrides */ .gh-topic-grid .gh-topic-name { border-bottom: 4px solid black; padding-bottom: 0.5em; margin-bottom: 0.5em; } h1, h2, h3 { font-family: "Oswald", Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; font-weight: 700; letter-spacing: normal; } nav { font-family: "Oswald", Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; font-weight: 700; letter-spacing: normal; font-size: 16px; } /* DISABLED: changed link highlight color to match old Sludge .gh-content a { color: black; text-decoration: underline; text-decoration-color: #2b56ff; text-decoration-thickness: 2px; transition: color 0.2s; } .gh-content a:hover { color: #2b56ff; } */ .wp-block-image span.credit { /* match figcaption */ display: block; text-align: center; color: var(--color-secondary-text); font-size: 1.3rem; line-height: 1.4; margin-top: 1.6rem; } .wp-block-image figure, .wp-block-image img { width: 100% } </style> <!-- Start VWO Async SmartCode --> <link rel="preconnect" href="https://dev.visualwebsiteoptimizer.com" /> <script type='text/javascript' id='vwoCode'> window._vwo_code || (function() { var account_id=991017, version=2.1, settings_tolerance=2000, hide_element='body', hide_element_style = 'opacity:0 !important;filter:alpha(opacity=0) !important;background:none !important;transition:none !important;', /* DO NOT EDIT BELOW THIS LINE */ f=false,w=window,d=document,v=d.querySelector('#vwoCode'),cK='_vwo_'+account_id+'_settings',cc={};try{var c=JSON.parse(localStorage.getItem('_vwo_'+account_id+'_config'));cc=c&&typeof c==='object'?c:{}}catch(e){}var stT=cc.stT==='session'?w.sessionStorage:w.localStorage;code={nonce:v&&v.nonce,use_existing_jquery:function(){return typeof use_existing_jquery!=='undefined'?use_existing_jquery:undefined},library_tolerance:function(){return typeof library_tolerance!=='undefined'?library_tolerance:undefined},settings_tolerance:function(){return cc.sT||settings_tolerance},hide_element_style:function(){return'{'+(cc.hES||hide_element_style)+'}'},hide_element:function(){if(performance.getEntriesByName('first-contentful-paint')[0]){return''}return typeof cc.hE==='string'?cc.hE:hide_element},getVersion:function(){return version},finish:function(e){if(!f){f=true;var t=d.getElementById('_vis_opt_path_hides');if(t)t.parentNode.removeChild(t);if(e)(new Image).src='https://dev.visualwebsiteoptimizer.com/ee.gif?a='+account_id+e}},finished:function(){return f},addScript:function(e){var t=d.createElement('script');t.type='text/javascript';if(e.src){t.src=e.src}else{t.text=e.text}v&&t.setAttribute('nonce',v.nonce);d.getElementsByTagName('head')[0].appendChild(t)},load:function(e,t){var n=this.getSettings(),i=d.createElement('script'),r=this;t=t||{};if(n){i.textContent=n;d.getElementsByTagName('head')[0].appendChild(i);if(!w.VWO||VWO.caE){stT.removeItem(cK);r.load(e)}}else{var o=new XMLHttpRequest;o.open('GET',e,true);o.withCredentials=!t.dSC;o.responseType=t.responseType||'text';o.onload=function(){if(t.onloadCb){return t.onloadCb(o,e)}if(o.status===200||o.status===304){_vwo_code.addScript({text:o.responseText})}else{_vwo_code.finish('&e=loading_failure:'+e)}};o.onerror=function(){if(t.onerrorCb){return t.onerrorCb(e)}_vwo_code.finish('&e=loading_failure:'+e)};o.send()}},getSettings:function(){try{var e=stT.getItem(cK);if(!e){return}e=JSON.parse(e);if(Date.now()>e.e){stT.removeItem(cK);return}return e.s}catch(e){return}},init:function(){if(d.URL.indexOf('__vwo_disable__')>-1)return;var e=this.settings_tolerance();w._vwo_settings_timer=setTimeout(function(){_vwo_code.finish();stT.removeItem(cK)},e);var t;if(this.hide_element()!=='body'){t=d.createElement('style');var n=this.hide_element(),i=n?n+this.hide_element_style():'',r=d.getElementsByTagName('head')[0];t.setAttribute('id','_vis_opt_path_hides');v&&t.setAttribute('nonce',v.nonce);t.setAttribute('type','text/css');if(t.styleSheet)t.styleSheet.cssText=i;else t.appendChild(d.createTextNode(i));r.appendChild(t)}else{t=d.getElementsByTagName('head')[0];var i=d.createElement('div');i.style.cssText='z-index: 2147483647 !important;position: fixed !important;left: 0 !important;top: 0 !important;width: 100% !important;height: 100% !important;background: white !important;display: block !important;';i.setAttribute('id','_vis_opt_path_hides');i.classList.add('_vis_hide_layer');t.parentNode.insertBefore(i,t.nextSibling)}var o=window._vis_opt_url||d.URL,s='https://dev.visualwebsiteoptimizer.com/j.php?a='+account_id+'&u='+encodeURIComponent(o)+'&vn='+version;if(w.location.search.indexOf('_vwo_xhr')!==-1){this.addScript({src:s})}else{this.load(s+'&x=true')}}};w._vwo_code=code;code.init();})(); </script> <!-- End VWO Async SmartCode --> <style> :root { --accent: var(--ghost-accent-color); } </style> <style> :root { --header-style: fixed; } </style> <style> /* These font-faces are defined here to make fonts work in case the Ghost instance is installed within a subdirectory */ /** * @license * * Font Family: Clash Display * Designed by: Indian Type Foundry * URL: https://www.fontshare.com/fonts/clash-display * © 2022 Indian Type Foundry * */ @font-face { font-family: 'ClashDisplay-Variable'; src: url("https://readsludge.com/assets/fonts/clash-display/ClashDisplay-Variable.woff2?v=84975b7b07") format('woff2'), url("https://readsludge.com/assets/fonts/clash-display/ClashDisplay-Variable.woff?v=84975b7b07") format('woff'), url("https://readsludge.com/assets/fonts/clash-display/ClashDisplay-Variable.ttf?v=84975b7b07") format('truetype'); font-weight: 200 700; font-display: swap; font-style: normal; } /** * @license * * Font Family: General Sans * Designed by: Frode Helland * URL: https://www.fontshare.com/fonts/general-sans * © 2022 Indian Type Foundry * */ @font-face { font-family: 'GeneralSans-Variable'; src: url("https://readsludge.com/assets/fonts/general-sans/GeneralSans-Variable.woff2?v=84975b7b07") format('woff2'), url("https://readsludge.com/assets/fonts/general-sans/GeneralSans-Variable.woff?v=84975b7b07") format('woff'), url("https://readsludge.com/assets/fonts/general-sans/GeneralSans-Variable.ttf?v=84975b7b07") format('truetype'); font-weight: 200 700; font-display: swap; font-style: normal; } /** * @license * * Font Family: Literata * Designed by: TypeTogether * URL: https://www.fontshare.com/fonts/literata * © 2022 Indian Type Foundry * */ @font-face { font-family: 'Literata-Variable'; src: url("https://readsludge.com/assets/fonts/literata/Literata-Variable.woff2?v=84975b7b07") format('woff2'), url("https://readsludge.com/assets/fonts/literata/Literata-Variable.woff?v=84975b7b07") format('woff'), url("https://readsludge.com/assets/fonts/literata/Literata-Variable.ttf?v=84975b7b07") format('truetype'); font-weight: 200 700; font-display: swap; font-style: normal; } </style> <style> :root { --title-font: 'Literata-Variable'; --headings-weight: 600; } </style> <style> :root { --body-font: 'Literata-Variable'; } </style> <script> if (typeof Storage !== 'undefined') { const savedThemeMode = localStorage.getItem('bold-theme-mode') const html = document.querySelector('html') if (savedThemeMode && savedThemeMode !== 'system') { html.setAttribute('theme-mode', savedThemeMode) } else { const isSystemDark = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches const themeMode = isSystemDark ? 'dark' : 'light' html.setAttribute('theme-mode', themeMode) } } </script> </head> <body class="page-template page-membership"> <header class="bo-header js-header" :class="{'open': isMobileMenuOpen()}" x-data="header(false)" @home-header-enter.window="setHeaderCustomColor" @home-header-leave.window="clearHeaderCustomColor" > <div class="bo-mobile-bar" :class="{'open': isMobileMenuOpen()}"> <button class="bo-mobile-bar__menu no-appearance focusable" :class="{'open': isMobileMenuOpen()}" @click.stop="toggleMobileMenu" > <span class="bo-mobile-bar__menu__content"> <span></span> <span></span> <span></span> </span> <span class="sr-only">Open menu</span> </button> <a href="https://readsludge.com" title="Sludge" class="bo-logo focusable" > <img src="https://readsludge.com/content/images/2024/11/Sludge_new_logotype_text-1730645314160-1.png" alt="" width="100" height="24" > </a> <button class="bo-mobile-bar__search no-appearance focusable" data-ghost-search> <svg width="24" height="24" class="bo-icon" > <use href="https://readsludge.com/assets/images/icons.svg?v=84975b7b07#search" /> </svg> <span class="sr-only">Search</span> </button> </div> <div class="bo-mobile-menu" :class="{'open': isMobileMenuOpen()}" @click.outside="closeMobileMenu" > <div class="bo-mobile-menu__nav"> <nav aria-label="Main navigation"> <ul> </ul> </nav> </div> <div class="bo-mobile-menu__nav secondary"> <nav aria-label="Secondary navigation"> <ul> <li class="nav-about-sludge"> <a href="https://readsludge.com/about/" class="focusable"> About Sludge </a> </li> <li class="nav-donate"> <a href="https://readsludge.com/tip-jar/" class="focusable"> Donate </a> </li> <li class="nav-subscribe nav-current"> <a href="https://readsludge.com/membership/" class="focusable"> Subscribe </a> </li> </ul> </nav> </div> <div class="bo-mobile-menu__social"> <ul class="bo-social-list in-header"> <li> <a href="https://twitter.com/Sludge" target="_blank" rel="noopener" class="focusable"> <svg width="20" height="20" class="bo-icon" > <use href="https://readsludge.com/assets/images/icons.svg?v=84975b7b07#x" /> </svg> <span class="sr-only">Twitter</span> </a> </li> <li> <a href="https://www.facebook.com/readsludge/" target="_blank" rel="noopener" class="focusable"> <svg width="20" height="20" class="bo-icon" > <use href="https://readsludge.com/assets/images/icons.svg?v=84975b7b07#facebook" /> </svg> <span class="sr-only">Facebook</span> </a> </li> </ul> </div> <div class="bo-mobile-menu__actions "> <div class="bo-theme-switcher"> <button class="no-appearance focusable" :class="{active: savedThemeMode === 'system'}" @click="setThemeMode('system')" > <svg width="18" height="18" class="bo-icon" > <use href="https://readsludge.com/assets/images/icons.svg?v=84975b7b07#monitor" /> </svg> <span>Auto</span> </button> <button class="no-appearance focusable" :class="{active: savedThemeMode === 'light'}" @click="setThemeMode('light')" > <svg width="18" height="18" class="bo-icon" > <use href="https://readsludge.com/assets/images/icons.svg?v=84975b7b07#sun" /> </svg> <span>Light</span> </button> <button class="no-appearance focusable" :class="{active: savedThemeMode === 'dark'}" @click="setThemeMode('dark')" > <svg width="18" height="18" class="bo-icon" > <use href="https://readsludge.com/assets/images/icons.svg?v=84975b7b07#moon" /> </svg> <span>Dark</span> </button> </div> <div class="bo-mobile-menu__actions__avatar"> <a href="https://readsludge.com/signin" class="bo-button full-width small" > Sign in </a> </div> </div> </div> <div class="bo-desktop-bar"> <div class="bo-desktop-bar__wrapper"> <div class="bo-desktop-bar__main"> <div class="bo-desktop-bar__main__logo-container"> <a href="https://readsludge.com" title="Sludge" class="bo-logo focusable" > <img src="https://readsludge.com/content/images/2024/11/Sludge_new_logotype_text-1730645314160-1.png" alt="" width="100" height="24" > </a> </div> <div class="bo-desktop-bar__main__container"> <div class="bo-desktop-bar__main__nav-container"> <nav class="bo-desktop-bar__main__nav" aria-label="Main navigation"> <ul> </ul> </nav> </div> <div class="bo-desktop-bar__main__more-container"> <button class="bo-desktop-bar__main__more no-appearance focusable" @click.stop="toggleSubmenu" > <span class="bo-desktop-bar__main__more__content"> <span></span> <span></span> <span></span> </span> <span class="sr-only">More</span> </button> <div class="bo-submenu" :class="{'open': isSubmenuOpen()}" @click.outside="closeSubmenu" > <div class="bo-submenu__nav"> <nav aria-label="Secondary navigation"> <ul> <li class="nav-about-sludge"> <a href="https://readsludge.com/about/" class="focusable"> About Sludge </a> </li> <li class="nav-donate"> <a href="https://readsludge.com/tip-jar/" class="focusable"> Donate </a> </li> <li class="nav-subscribe nav-current"> <a href="https://readsludge.com/membership/" class="focusable"> Subscribe </a> </li> </ul> </nav> </div> <div class="bo-submenu__actions"> <div class="bo-theme-switcher"> <button class="no-appearance focusable" :class="{active: savedThemeMode === 'system'}" @click="setThemeMode('system')" > <svg width="18" height="18" class="bo-icon" > <use href="https://readsludge.com/assets/images/icons.svg?v=84975b7b07#monitor" /> </svg> <span>Auto</span> </button> <button class="no-appearance focusable" :class="{active: savedThemeMode === 'light'}" @click="setThemeMode('light')" > <svg width="18" height="18" class="bo-icon" > <use href="https://readsludge.com/assets/images/icons.svg?v=84975b7b07#sun" /> </svg> <span>Light</span> </button> <button class="no-appearance focusable" :class="{active: savedThemeMode === 'dark'}" @click="setThemeMode('dark')" > <svg width="18" height="18" class="bo-icon" > <use href="https://readsludge.com/assets/images/icons.svg?v=84975b7b07#moon" /> </svg> <span>Dark</span> </button> </div> </div> </div> </div> </div> </div> <div class="bo-desktop-bar__secondary"> <ul class="bo-social-list in-header"> <li> <a href="https://twitter.com/Sludge" target="_blank" rel="noopener" class="focusable"> <svg width="20" height="20" class="bo-icon" > <use href="https://readsludge.com/assets/images/icons.svg?v=84975b7b07#x" /> </svg> <span class="sr-only">Twitter</span> </a> </li> <li> <a href="https://www.facebook.com/readsludge/" target="_blank" rel="noopener" class="focusable"> <svg width="20" height="20" class="bo-icon" > <use href="https://readsludge.com/assets/images/icons.svg?v=84975b7b07#facebook" /> </svg> <span class="sr-only">Facebook</span> </a> </li> </ul> <div class="bo-desktop-bar__secondary__actions"> <button class="bo-desktop-bar__secondary__search no-appearance focusable" data-ghost-search> <svg width="24" height="24" class="bo-icon" > <use href="https://readsludge.com/assets/images/icons.svg?v=84975b7b07#search" /> </svg> <span class="sr-only">Search</span> </button> <a href="https://readsludge.com/signin" class="bo-button full-width small" > Sign in </a> </div> </div> </div> </div> </header> <script> function header(isHome) { return { showMobileMenu: false, showSubmenu: false, savedThemeMode: 'system', customForegroundColor: '', customBackgroundColor: '', customTranslucentColor: '', isHomeHeaderVisible: isHome, init() { this.initThemeMode() this.setHeaderColors() }, toggleMobileMenu() { this.showMobileMenu = !this.showMobileMenu }, toggleSubmenu() { this.showSubmenu = !this.showSubmenu }, closeMobileMenu() { this.showMobileMenu = false }, closeSubmenu() { this.showSubmenu = false }, isMobileMenuOpen() { return this.showMobileMenu === true }, isSubmenuOpen() { return this.showSubmenu === true }, initThemeMode() { this.savedThemeMode = this.getThemeMode() this.setThemeMode(this.savedThemeMode) if (window.matchMedia) { window.matchMedia('(prefers-color-scheme: dark)') .addEventListener('change', this.updateSystemTheme.bind(this)) } }, updateSystemTheme() { if (this.savedThemeMode !== 'system') { return } if (this.isSystemDark()) { this.setThemeMode('dark', false) } else { this.setThemeMode('light', false) } }, isSystemDark() { return window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches }, setThemeMode(mode, saveTheme = true) { const html = document.querySelector('html') html.setAttribute('theme-mode', mode) if (saveTheme) { this.savedThemeMode = mode if (mode === 'system') { this.updateSystemTheme() } localStorage.setItem('bold-theme-mode', mode) } this.rerenderGhostIframes() if (!this.isHomeHeaderVisible) { this.clearHeaderCustomColor() } }, getThemeMode() { const localValue = localStorage.getItem('bold-theme-mode') if (!localValue) { return 'system' } return localValue }, rerenderGhostIframes() { const comments = document.querySelector('.js-comments > div > iframe') if (comments) { comments.contentDocument.location.reload(true) } }, setHeaderColors() { this.customForegroundColor = this.getPropertyValue('--header-foreground-color') this.customBackgroundColor = this.getPropertyValue('--header-background-color') this.customTranslucentColor = this.getPropertyValue('--header-translucent-color') }, setHeaderCustomColor() { this.isHomeHeaderVisible = true this.setPropertyValue('--header-foreground-color', this.customForegroundColor) this.setPropertyValue('--header-background-color', this.customBackgroundColor) this.setPropertyValue('--header-translucent-color', this.customTranslucentColor) }, clearHeaderCustomColor() { this.isHomeHeaderVisible = false this.setPropertyValue('--header-foreground-color', this.getPropertyValue('--foreground')) this.setPropertyValue('--header-background-color', this.getPropertyValue('--background')) this.setPropertyValue('--header-translucent-color', this.getPropertyValue('--translucent')) }, getPropertyValue(property) { const value = getComputedStyle(document.documentElement).getPropertyValue(property) return value ? value : '' }, setPropertyValue(property, value) { if (!value) { return } document.documentElement.style.setProperty(property, value) } } } </script> <div class="bo-main-container"> <main x-data="membership()"> <div class="bo-wrapper"> <div class="bo-generic-page bo-generic-wrapper"> <section class="bo-generic-hero no-image"> <div class="bo-generic-hero__main"> <div class="bo-generic-header centered"> <h1 class="bo-generic-header__title"> Get the real story behind the headlines </h1> <p class="bo-generic-header__description"> Subscribe to receive our daily newsletter exposing the moneyed interests shaping politics. </p> </div> </div> </section> <div class="bo-plan-switcher"> <span class="bo-plan-switcher__label"> Choose your plan </span> <div class="bo-plan-switcher__container"> <div class="bo-plan-switcher__indicator" :class="{ 'yearly': isYearlyPlan() }" ></div> <div class="bo-plan-switcher__wrapper"> <button class="bo-plan-switcher__button" :class="{ 'active': !isYearlyPlan() }" @click="choosePlan('monthly')" > Monthly </button> <button class="bo-plan-switcher__button" :class="{ 'active': isYearlyPlan() }" @click="choosePlan('yearly')" > Yearly </button> </div> </div> </div> <section class="bo-tiers-container"> <div class="bo-tier 640372f1b57eec003176479f free" x-bind:data-plan="activePlan"> <div class="bo-tier__main"> <div class="bo-tier__main-content"> <div class="bo-tier__main-wrapper"> <div class="bo-tier__top"> <h2 class="bo-tier__name">Preview</h2> </div> <div class="bo-tier__price free"> <span></span>0 </div> </div> <p class="bo-tier__description"> Access select Sludge posts for free, but if you appreciate our work, please support us and join as a paid subscriber </p> </div> <a href="https://readsludge.com/signup" class="bo-button full-width" > Subscribe now </a> </div> <hr class="bo-tier__divider"> <div class="bo-tier__benefits"> <ul class="bo-tier__list"> <li class="bo-tier__list-item"> <svg width="20" height="20" class="bo-icon" > <use href="https://readsludge.com/assets/images/icons.svg?v=84975b7b07#check" /> </svg> <span>Get occasional posts by email and truncated versions of subscriber-only content</span> </li> </ul> </div> </div> <div class="bo-tier 647221628bf1710001d48346 sludge-report" x-bind:data-plan="activePlan"> <div class="bo-tier__main"> <div class="bo-tier__main-content"> <div class="bo-tier__main-wrapper"> <div class="bo-tier__top"> <h2 class="bo-tier__name">Subscriber</h2> <template x-if="calculateDiscount(10, 100) > 0"> <span class="bo-tier__discount" data-yearly> <span x-text="calculateDiscount(10, 100)"></span>% discount </span> </template> </div> <div class="bo-tier__price paid" data-monthly> <span>$</span>10<span class="bo-tier__plan">/ month</span> </div> <div class="bo-tier__price paid" data-yearly> <span>$</span>100<span class="bo-tier__plan">/ year</span> </div> </div> <p class="bo-tier__description"> Daily newsletter subscription </p> </div> <a href="javascript:" data-portal="signup/647221628bf1710001d48346/monthly" data-monthly class="bo-button full-width" > Subscribe now </a> <a href="javascript:" data-portal="signup/647221628bf1710001d48346/yearly" data-yearly class="bo-button full-width" > Subscribe now </a> </div> <hr class="bo-tier__divider"> <div class="bo-tier__benefits"> <ul class="bo-tier__list"> <li class="bo-tier__list-item"> <svg width="20" height="20" class="bo-icon" > <use href="https://readsludge.com/assets/images/icons.svg?v=84975b7b07#check" /> </svg> <span>Receive our daily money-in-politics newsletter</span> </li> <li class="bo-tier__list-item"> <svg width="20" height="20" class="bo-icon" > <use href="https://readsludge.com/assets/images/icons.svg?v=84975b7b07#check" /> </svg> <span>Full access to our site archives</span> </li> <li class="bo-tier__list-item"> <svg width="20" height="20" class="bo-icon" > <use href="https://readsludge.com/assets/images/icons.svg?v=84975b7b07#check" /> </svg> <span>Access to commenting feature</span> </li> <li class="bo-tier__list-item"> <svg width="20" height="20" class="bo-icon" > <use href="https://readsludge.com/assets/images/icons.svg?v=84975b7b07#check" /> </svg> <span>Directly support our journalism</span> </li> <li class="bo-tier__list-item"> <svg width="20" height="20" class="bo-icon" > <use href="https://readsludge.com/assets/images/icons.svg?v=84975b7b07#check" /> </svg> <span>Cancel anytime</span> </li> </ul> </div> </div> <div class="bo-tier 67326b7011bfd800017aa8aa super-subscriber" x-bind:data-plan="activePlan"> <div class="bo-tier__main"> <div class="bo-tier__main-content"> <div class="bo-tier__main-wrapper"> <div class="bo-tier__top"> <h2 class="bo-tier__name">Sustaining Subscriber</h2> <template x-if="calculateDiscount(25, 240) > 0"> <span class="bo-tier__discount" data-yearly> <span x-text="calculateDiscount(25, 240)"></span>% discount </span> </template> </div> <div class="bo-tier__price paid" data-monthly> <span>$</span>25<span class="bo-tier__plan">/ month</span> </div> <div class="bo-tier__price paid" data-yearly> <span>$</span>240<span class="bo-tier__plan">/ year</span> </div> </div> <p class="bo-tier__description"> Everything in Subscriber tier, plus: </p> </div> <a href="javascript:" data-portal="signup/67326b7011bfd800017aa8aa/monthly" data-monthly class="bo-button full-width" > Subscribe now </a> <a href="javascript:" data-portal="signup/67326b7011bfd800017aa8aa/yearly" data-yearly class="bo-button full-width" > Subscribe now </a> </div> <hr class="bo-tier__divider"> <div class="bo-tier__benefits"> <ul class="bo-tier__list"> <li class="bo-tier__list-item"> <svg width="20" height="20" class="bo-icon" > <use href="https://readsludge.com/assets/images/icons.svg?v=84975b7b07#check" /> </svg> <span>A natural cotton "Sludge" market bag, 18″ x 13″, delivered to you in the mail</span> </li> <li class="bo-tier__list-item"> <svg width="20" height="20" class="bo-icon" > <use href="https://readsludge.com/assets/images/icons.svg?v=84975b7b07#check" /> </svg> <span>Vital support that directly sustains our relentless reporting</span> </li> <li class="bo-tier__list-item"> <svg width="20" height="20" class="bo-icon" > <use href="https://readsludge.com/assets/images/icons.svg?v=84975b7b07#check" /> </svg> <span>Cancel anytime</span> </li> </ul> </div> </div> </section> </div> </div> <section class="bo-newsletter"> <div class="bo-newsletter__content"> <div class="bo-newsletter__content_text"> <h2 class="bo-newsletter__title"> Subscribe to the newsletter </h2> <p class="bo-newsletter__description"> Subscribe to the newsletter for the latest news and work updates straight to your inbox, every week. </p> </div> <a href="https://readsludge.com/newsletter" class="bo-button min-width" > Subscribe </a> </div> </section> </main> <script> function membership() { return { activePlan: 'monthly', init() { const currencyElement = this.$el.querySelector('.bo-tier-card__price.paid span') if (currencyElement) { const currency = currencyElement.innerText const freeTierCurrencyElement = this.$el.querySelector('.bo-tier-card__price.free span') if (freeTierCurrencyElement) { freeTierCurrencyElement.innerText = currency } } }, choosePlan(plan) { if (this.activePlan === plan) { return } this.activePlan = plan }, isYearlyPlan() { return this.activePlan === 'yearly' }, calculateDiscount(monthlyPrice, yearlyPrice) { const monthlyTotal = monthlyPrice * 12 const discountAmount = monthlyTotal - yearlyPrice const discountPercentage = (discountAmount / monthlyTotal) * 100 return Math.round(discountPercentage) } } } </script> </div> <footer class="bo-footer"> <div class="bo-wrapper"> <div class="bo-footer__container"> <div class="bo-footer-main"> <div class="bo-footer-main__nav"> <nav class="bo-footer-main__nav__primary"> <ul> </ul> </nav> <nav class="bo-footer-main__nav__secondary"> <ul> <li class="nav-about-sludge"> <a href="https://readsludge.com/about/" class="focusable"> About Sludge </a> </li> <li class="nav-donate"> <a href="https://readsludge.com/tip-jar/" class="focusable"> Donate </a> </li> <li class="nav-subscribe nav-current"> <a href="https://readsludge.com/membership/" class="focusable"> Subscribe </a> </li> </ul> </nav> </div> <div class="bo-footer-main__search"> <button class="no-appearance focusable" data-ghost-search> <svg width="24" height="24" class="bo-icon" > <use href="https://readsludge.com/assets/images/icons.svg?v=84975b7b07#search" /> </svg> <span class="sr-only">Search</span> </button> </div> </div> <div class="bo-footer-secondary"> <div class="bo-footer-secondary__social"> <ul class="bo-social-list "> <li> <a href="https://twitter.com/Sludge" target="_blank" rel="noopener" class="focusable"> <svg width="20" height="20" class="bo-icon" > <use href="https://readsludge.com/assets/images/icons.svg?v=84975b7b07#x" /> </svg> <span class="sr-only">Twitter</span> </a> </li> <li> <a href="https://www.facebook.com/readsludge/" target="_blank" rel="noopener" class="focusable"> <svg width="20" height="20" class="bo-icon" > <use href="https://readsludge.com/assets/images/icons.svg?v=84975b7b07#facebook" /> </svg> <span class="sr-only">Facebook</span> </a> </li> <li> <a href="https://readsludge.com/rss" target="_blank" rel="noopener" class="focusable"> <svg width="20" height="20" class="bo-icon" > <use href="https://readsludge.com/assets/images/icons.svg?v=84975b7b07#rss" /> </svg> <span class="sr-only">RSS</span> </a> </li> </ul> </div> <p class="bo-footer-secondary__note"> Sludge © 2025. Powered by <a href="https://ghost.org" target="_blank" rel="noopener">Ghost</a> </p> </div> </div> </div> </footer> <script src="https://readsludge.com/assets/js/manifest.js?v=84975b7b07" defer></script> <script src="https://readsludge.com/assets/js/vendor.js?v=84975b7b07" defer></script> <script src="https://readsludge.com/assets/js/app.js?v=84975b7b07" defer></script> <script> const OutpostPub = { apiDomain: "https://readsludgecom.outpost.pub", apiKey: "2a4c60fa-9923-47c9-a187-79ea6877d387", siteName: "Sludge", memberId: "", memberEmail: "", } </script> <script defer src="https://assets.outpostpublishingcoop.com/assets/v2/js/outpost-pub.js"></script> <script> !function(w,d,id,ns,s){var c=w[ns]=w[ns]||{};if(c.ready||(c.q=[],c.ready=function(){c.q.push(arguments)}),!d.getElementById(id)){var e=d.createElement(s);e.id=id,e.defer=true,e.src="https://assets.context.ly/kit/6.latest/loader.js";var h=d.getElementsByTagName(s)[0];h.parentNode.insertBefore(e,h)}}(window,document,"ctx-loader","Contextly","script"); </script> <script> Contextly.ready('widgets'); </script> </body> </html>