CINXE.COM
Washingtonian Library
<!DOCTYPE html> <html lang="en-US" prefix="og: http://ogp.me/ns#"> <head> <title>Washingtonian Library</title> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <!-- Apple PWA compat --> <meta name="apple-mobile-web-app-capable" content="yes"> <meta name="apple-mobile-web-app-status-bar-style" content="black"> <meta name="apple-mobile-web-app-title" content="Washingtonian"> <meta name="description" content="Washingtonian"> <meta name="theme-color" content="#FFFFFF" /> <!-- PWA Icons --> <link rel="shortcut icon" href="https://assets.emagazines.com/appIcon36x36_app_icon.png" crossorigin='anonymous'> <link rel="apple-touch-icon" href="https://assets.emagazines.com/appIcon36x36_app_icon.png" crossorigin='anonymous' /> <link rel="apple-touch-icon" sizes="72x72" href="https://assets.emagazines.com/appIcon72x72_app_icon.png" /> <link rel="apple-touch-icon" sizes="114x114" href="https://assets.emagazines.com/appIcon114x114_app_icon.png" /> <link rel="apple-touch-icon" sizes="144x144" href="https://assets.emagazines.com/appIcon144x144_app_icon.png" crossorigin='anonymous' /> <link rel="apple-touch-icon" sizes="192x192" href="https://assets.emagazines.com/appIcon192x192_app_icon.png" crossorigin='anonymous' /> <link rel="apple-touch-icon" sizes="384x384" href="https://assets.emagazines.com/appIcon384x384_app_icon.png" crossorigin='anonymous' /> <link rel="apple-touch-icon" sizes="512x512" href="https://assets.emagazines.com/appIcon512x512_app_icon.png" crossorigin='anonymous' /> <link rel="apple-touch-startup-image" href="https://assets.emagazines.com/appIcon36x36_app_icon.png" crossorigin='anonymous' /> <meta name="apple-mobile-web-app-title" content="Washingtonian" crossorigin='anonymous'> <meta property="og:site_name" content="Washingtonian"> <meta property="og:title" content="Washingtonian"> <meta property="og:image" content="https://assets.emagazines.com/appIcon192x192_app_icon.png"> <link rel="stylesheet" href="https://assets.emagazines.com/uploads/77a53deb-8010-4410-b06d-dd911150e09a_simplebar.css"> <script src="https://assets.emagazines.com/uploads/e626f815-e479-473e-b601-2c4b877ce283_simplebar.js"></script> <script src="https://cdn.jsdelivr.net/npm/sweetalert2@9"></script> <link rel="icon" href="https://cdn.emagazines.com/default/washfavicon_db17f924-4c31-4da9-a89a-7cda3812b518.ico" crossorigin='anonymous' /> <link href="/css/wordpress/style.css?v=Z2MFA3mkYfzen-8VNkW4YHpVz5VQ3HYr-IEKZt5OlIY" rel="stylesheet" crossorigin='anonymous' /> <style type="text/css"> @font-face { font-family: "Avenir Next W05"; src: url("https://assets.emagazines.com/uploads/86df2caf-2588-4bb9-a9a9-5290fb6bd63d_da92a44f-8e1d-4248-ba7b-b12c91a118a9.woff2") format("woff2"), url("https://assets.emagazines.com/uploads/ae824335-a7f0-425a-81b5-436dc22ea039_b679252b-1f50-49c3-9b2e-002bb8827c2e.woff") format("woff"); font-weight: 200; font-style: normal; } @font-face { font-family: "Avenir Next W05"; src: url("https://assets.emagazines.com/uploads/2a916cb0-7c05-48ce-a11f-851a3d5a7292_f64c3634-1027-4aec-8bd4-d96f2444f559.woff2") format("woff2"), url("https://assets.emagazines.com/uploads/3a215542-78db-4c56-bc1c-729471ec83bd_91f23395-35b5-470e-9680-45d860e84f5b.woff") format("woff"); font-weight: 400; font-style: normal; } @font-face { font-family: "Avenir Next W05"; src: url("https://assets.emagazines.com/uploads/8e00a826-1fba-4c4b-968f-01c4b067ba6e_a1049d00-54ad-4589-95b8-d353f7ab52f0.woff2") format("woff2"), url("https://assets.emagazines.com/uploads/9d66ae23-0e78-41c1-ac26-2a985a92cc05_13faf0ae-dcab-4d1c-9c08-f9ca339b6023.woff") format("woff"); font-weight: 500; font-style: normal; } @font-face { font-family: "Avenir Next W05"; src: url("https://assets.emagazines.com/uploads/28e6049e-b528-4c30-9ff9-a3ee6f96a154_8c6d7851-9978-4520-8c8f-dc1b38b36eb6.woff2") format("woff2"), url("https://assets.emagazines.com/uploads/92d7f2ef-17b1-4ef5-bfbc-b633fbe4e68e_73fd8503-a80c-4965-97ae-a1178b2caad0.woff") format("woff"); font-weight: 600; font-style: normal; } @font-face { font-family: "Avenir Next W05"; src: url("https://assets.emagazines.com/uploads/918bf6de-7721-41f8-91e7-ae06649ce7b2_9544095b-fbf6-4d50-870f-a5102776eae4.woff2") format("woff2"), url("https://assets.emagazines.com/uploads/918bf6de-7721-41f8-91e7-ae06649ce7b2_9544095b-fbf6-4d50-870f-a5102776eae4.woff2") format("woff"); font-weight: 700; font-style: normal; } @font-face { font-family: "Avenir Next W05"; src: url("https://assets.emagazines.com/uploads/918bf6de-7721-41f8-91e7-ae06649ce7b2_9544095b-fbf6-4d50-870f-a5102776eae4.woff2") format("woff2"), url("https://assets.emagazines.com/uploads/2c48580a-b3ab-46ab-af0a-aa48d007e363_888f1b57-0692-499d-91f0-718136703ef4.woff") format("woff"); font-weight: 900; font-style: normal; } </style> <link rel="preconnect" href="https://fonts.gstatic.com"> <link href="https://fonts.googleapis.com/css2?family=Roboto:wght@700&display=swap" rel="stylesheet"> <!-- jQuery library --> <script crossorigin='anonymous' src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <!-- Global Site Tag (gtag.js) - Google Analytics --> <script async src="https://www.googletagmanager.com/gtag/js?id=G-1S9N6EH6YF"></script> <script> window.dataLayer = window.dataLayer || []; function gtag() { dataLayer.push(arguments); } gtag('js', new Date()); gtag('config', 'G-1S9N6EH6YF'); </script> <link href="/css/partner.css?v=PqD0Xz2Sc4e7fhqJSF91MNHptC4UQiE9VSdj_mFhgVA" rel="stylesheet" crossorigin='anonymous' /> <link href="/lib/limonte-sweetalert2/sweetalert2.css" rel="stylesheet" crossorigin='anonymous' /> <script crossorigin='anonymous' src="/lib/limonte-sweetalert2/sweetalert2.js"></script> <style> #titleSwiperTitle{ color: #222533 !important; /*font-family: 'Roboto'; font-weight: bold; text-transform: uppercase;*/ } #titleSwiperCaret{ color: #222533 !important; border-color: #222533 !important; } .swiper-pagination-bullet-active{ background-color: #222533 !important; } .search-icon{ fill: #222533 !important; stroke: #222533 !important; } .featuredArticlesTitle{ color: #222533 !important; } .featuredArticlesCaret{ color: #222533 !important; border-color: #222533 !important; } .read-more-text, .read-more-caret { color: #222533 !important; } .discover-more-link{ color: #222533 !important; } .swiper-button-next { color: black !important; } .swiper-button-prev{ color: black !important; } .issue-label{ color: black !important; } .issue-label:hover { color: #009BDF !important; } .page-item.active .page-link { background-color: #222533 !important; border-color: #222533 !important; } .issueTitle { font-weight: 600; color: black; } </style> </head> <body class="page"> <div id="preloader"> <div id="preloader-inner"></div> </div> <!--/preloader--> <header class="fixed-top bg-white navbar-light navbar-expand-md" id="header" role="banner"> <div class="d-md-flex container align-items-md-center px-lg-0"> <a class="navbar-brand d-print-none default-logo" href="https://www.washingtonian.com/"> <span id="pageLogo" class="brand-logo hide-text" style="background-image: url('https://feed.valuemags.com/digital/washingtonian/logo.jpg');" crossorigin='anonymous'>eMagazines</span> </a> <div class="d-none d-print-block logo-print"> <img crossorigin='anonymous' style="min-height: 70px;" src="https://feed.valuemags.com/digital/washingtonian/logo.jpg" height="136" width="125" alt=""> </div> <button type="button" class="navbar-toggler d-block d-md-none ml-auto" data-toggle="collapse" data-target=".navbar-collapse" aria-label="Toggle Navigation"> <icon class="icon-list-list"> <span class="list-item"></span> <span class="list-item"></span> <span class="list-item"></span> </icon> </button> <nav class="collapse navbar-collapse ml-md-auto" aria-label="Global Site"> <ul id="menu-primary-navigation" class="nav navbar-nav navbar-main"> <li class="dropdown nav-item"> <ul class="dropdown-menu"></ul> </li> </ul> <ul id="menu-social-media" class="nav navbar-nav navbar-footer flex-row"> <li> <div class="alert alert-primary alert-dismissible fade show" style="text-align: left; margin: auto; width: 85%; color: #004085; background-color: #E1EBFB; border-color: #b8daff; position: relative; padding: .75rem 1rem; margin-bottom: 1rem; margin-top: 1rem; border: 1px solid transparent;" role="alert"> <svg xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" width="16" height="16" viewBox="0 0 172 172" style="fill: #000000;"> <g fill="none" fill-rule="nonzero" stroke="none" stroke-width="1" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="10" stroke-dasharray="" stroke-dashoffset="0" font-family="none" font-weight="none" font-size="none" text-anchor="none" style="mix-blend-mode: normal"> <path d="M0,172v-172h172v172z" fill="none"></path> <g fill="#194fa2"> <path d="M86,0c-47.50716,0 -86,38.49284 -86,86c0,47.50716 38.49284,86 86,86c47.50716,0 86,-38.49284 86,-86c0,-47.50716 -38.49284,-86 -86,-86zM86,14.33333c39.58464,0 71.66667,32.08203 71.66667,71.66667c0,39.58464 -32.08203,71.66667 -71.66667,71.66667c-39.58463,0 -71.66667,-32.08203 -71.66667,-71.66667c0,-39.58463 32.08203,-71.66667 71.66667,-71.66667zM86,41.65625c-1.31576,0 -2.40755,-0.02799 -3.58333,0.22396c-1.17578,0.25195 -2.26758,0.89583 -3.13542,1.56771c-0.86784,0.67188 -1.51172,1.5957 -2.01562,2.6875c-0.5039,1.0918 -0.67187,2.37956 -0.67187,4.03125c0,1.6237 0.16797,2.91146 0.67188,4.03125c0.50391,1.11979 1.14778,2.01563 2.01563,2.6875c0.86784,0.67188 1.95964,1.06381 3.13542,1.34375c1.17578,0.27995 2.26758,0.44792 3.58333,0.44792c1.28776,0 2.65951,-0.16797 3.80729,-0.44792c1.14778,-0.27994 2.04362,-0.67187 2.91146,-1.34375c0.86784,-0.67187 1.51172,-1.56771 2.01563,-2.6875c0.50391,-1.0918 0.89583,-2.40755 0.89583,-4.03125c0,-1.65169 -0.39192,-2.93945 -0.89583,-4.03125c-0.5039,-1.0918 -1.14778,-2.01562 -2.01562,-2.6875c-0.86784,-0.67187 -1.76367,-1.31576 -2.91146,-1.56771c-1.14778,-0.25195 -2.51953,-0.22396 -3.80729,-0.22396zM77.26563,65.61979v64.27604h17.46875v-64.27604z"></path> </g> </g> </svg> <span style="font-size: 12px;"> Add to your home screen.</span> <a style="cursor: pointer; font-size: 12px;" class="text-primary" onclick="install()">Click Here</a> </div> </li> </ul> </nav> </div> </header> <main id="main" tabindex="-1"> <article class="page-content"> <div class="container px-lg-0"> <div class="entry-content"> <div class="wp-block jumbotron jumbotron-light"> <picture> <source media="(min-width: 768px)" srcset="/images/login-banner.jpg 1800w, /images/login-banner-600x225.jpg 600w, /images/login-banner-768x288.jpg 768w, /images/login-banner-1024x384.jpg 1024w" sizes="(min-width: 1200px) 1200px, 100vw"> <source srcset="/images/login-banner-mobile.jpg 712w, /images/login-banner-mobile-600x263.jpg 600w"> <img src="/images/login-banner.jpg" class="img-fluid" alt=""> </picture> </div> <div class="wp-block block-columns" style="z-index: 999"> <div class="row no-gutters animated fadeInUp" style="margin-bottom: 25px;"> <div class="col-sm-12"> <div class="columns-text"> <div class="frm_forms with_frm_style frm_style_formidable-style"> <form id="loginForm" method="post" class="frm-show-form col-11 col-sm-9 col-md-6 mx-auto box-shadow bg-white frm-login frm_pro_form" action="/Account/ExpressLoginEmailVerify"> <div class="validation-summary-valid" data-valmsg-summary="true" style="color:red;"><ul><li style="display:none"></li> </ul></div> <img style="display: block; margin: auto; width: 65px;" class="mb-1 mt-1" src="https://assets.emagazines.com/uploads/4a8d62ab-246a-43e1-9020-adfbcbd7fac3_emags_lock.png"> <div style="max-width: 350px; margin: auto;"> <div class="text-center auth" style="" id="expressLoginContainer"> <h3 style="text-align: center;">Login without a password. </h3> <br> <h5>Just enter your email and we'll send you a link to access your digital library.</h5> <br> <input type="email" id="email" placeholder="Email" required data-val="true" data-val-email="The Email field is not a valid Email address." data-val-required="The Email field is required." name="Email" value="" /> <input style="display: none;" type="number" data-val="true" data-val-required="The plid field is required." id="plid" name="plid" value="319" /><input name="__Invariant" type="hidden" value="plid" /> <button id="loginButton" class="btn d-block mt-3 mb-3 mx-auto w-100" style="background: #1a73d3; height: 40px; font-size: 1.3rem; padding: 0 20px 0 20px; width: 230px; border-radius: 6px; color: white; font-weight: 500;"> Submit </button> </div> </div> <input name="__RequestVerificationToken" type="hidden" value="CfDJ8FFCLXcVNY1Cod0PBnJ3FKc7WFgGDcW-d0lORNizXXEFUPPEdlN1gxw4iEeH4ETYUi9TYxIuq-UKkU7iAh3LIE3jSpZLUyXg8003-vQZ56InMDlC3yyB1RVrJL-ese00mqKdPajjHDDWVrVjL1NA1cg" /></form> </div> </div> </div> </div> </div> </div> </div> </article> </main> <footer class="py-2"> <div class="container" style="border-top: 1px solid #d8d8d8;"> <div class="row mt-3 justify-content-center"> <div class="col-4 mt-2 order-3 order-sm-3 order-md-1 order-lg-1 order-xl-1" style="min-width: 250px; margin: auto;"> <div style="margin: auto;"> ©: 2024 Washingtonian Media Inc. All Rights Reserved. </div> </div> <div class="col-5 order-1 justify-content-center" style="min-width: 325px; margin: auto;"> <div style="margin: auto; text-align: center;" class="mt-2"> <a target="_blank" href="https://www.washingtonian.com/about/" class="nav-link">About</a> <a target="_blank" href="https://www.washingtonian.com/privacypolicy" class="nav-link">Privacy</a> <a target="_blank" href="https://emagazines.zendesk.com/hc/en-us" class="nav-link">Support</a> </div> </div> </div> </div> </footer> <link href="/css/wordpress/formidableforms.css?v=dM2AVK_NU-4gTqrQL12r9C8cGZCLgPS9i72rxaTnGbc" rel="stylesheet" crossorigin='anonymous' /> <script crossorigin='anonymous' src="/js/wordpress/theme.min.js?v=GA7qLZWknpWU1Ep4ooDoYKLZDFQjaYMszIGWgA_ZjJs"></script> <script> var isIos = false; var isMobile = false; </script> <script crossorigin='anonymous' src="/js/preloader.js?v=ClN25J_RcHjyvdqphcQ3AQm_iZgKaOpEu7ypMNtDF0A"></script> <script> //preloader $(window).preloader({ delay: 500 }); </script> <script> document.getElementById('loginForm').addEventListener('submit', function (e) { // Prevent default form submission initially e.preventDefault(); // Disable the submit button to prevent multiple clicks var submitButton = document.getElementById('loginButton'); submitButton.disabled = true; submitButton.innerHTML = 'Submitting...'; // Optionally change button text // Now you can perform an AJAX submission or just allow the form to submit: // For the purpose of this example, we'll just submit the form. if (this.checkValidity()) { // If form is valid e.target.submit(); // This will submit the form as usual } }); // Listen to the 'invalid' event on form elements document.getElementById('loginForm').addEventListener('invalid', function (e) { // This is a real-time validation failed event, it gets triggered for each invalid element // So, re-enable the submit button here var submitButton = document.getElementById('loginButton'); submitButton.disabled = false; submitButton.innerHTML = 'Submit'; }, true); // Setting the third parameter to true makes the event capture in the capturing phase. </script> <script src="https://ajax.aspnetcdn.com/ajax/jquery.validate/1.14.0/jquery.validate.min.js" crossorigin="anonymous" integrity="sha384-Fnqn3nxp3506LP/7Y3j/25BlWeA3PXTyT1l78LjECcPaKCV12TsZP7yyMxOe/G/k"> </script> <script>(window.jQuery && window.jQuery.validator||document.write("\u003Cscript src=\u0022/lib/jquery-validation/dist/jquery.validate.min.js\u0022 crossorigin=\u0022anonymous\u0022 integrity=\u0022sha384-Fnqn3nxp3506LP/7Y3j/25BlWeA3PXTyT1l78LjECcPaKCV12TsZP7yyMxOe/G/k\u0022\u003E\u003C/script\u003E"));</script> <script src="https://ajax.aspnetcdn.com/ajax/jquery.validation.unobtrusive/3.2.6/jquery.validate.unobtrusive.min.js" crossorigin="anonymous" integrity="sha384-JrXK+k53HACyavUKOsL+NkmSesD2P+73eDMrbTtTk0h4RmOF8hF8apPlkp26JlyH"> </script> <script>(window.jQuery && window.jQuery.validator && window.jQuery.validator.unobtrusive||document.write("\u003Cscript src=\u0022/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js\u0022 crossorigin=\u0022anonymous\u0022 integrity=\u0022sha384-JrXK\u002Bk53HACyavUKOsL\u002BNkmSesD2P\u002B73eDMrbTtTk0h4RmOF8hF8apPlkp26JlyH\u0022\u003E\u003C/script\u003E"));</script> <script> var pwaCache; getCache(); function getCache() { var CACHE = "pwa-cache"; return new Promise((resolve, reject) => { caches.open(CACHE) .then((cache) => { pwaCache = cache; resolve(cache); }).catch((reason) => { console.log("Error fetching cache: " + reason); reject(); }); }); } $("img, script").on("error", function () { let errorImage = $(this); let src = errorImage.attr("src"); console.log("Retrying image: " + src); let retry = errorImage.attr("retry"); // First attempt remove from cache and try again if (!retry) { errorImage.attr("src", ""); errorImage.attr("src", src); errorImage.attr("retry", "true"); if (pwaCache) { pwaCache.delete(src) .then(function (response) { errorImage.attr("src", ""); errorImage.attr("src", src); errorImage.attr("retry", "true"); }); } else { errorImage.attr("src", ""); errorImage.attr("src", src); errorImage.attr("retry", "true"); } // Second attempt without requesting cors but will pad with 8MB in cache } else if (retry != "stop") { if (pwaCache) { pwaCache.delete(src).then(function (response) { errorImage.attr("retry", "stop"); errorImage.removeAttr("crossorigin"); errorImage.attr("src", ""); errorImage.attr("src", src); }); } else { errorImage.attr("retry", "stop"); errorImage.removeAttr("crossorigin"); errorImage.attr("src", ""); errorImage.attr("src", src); } } }); $("link").on("error", function () { let errorElement = $(this); let href = errorElement.attr("href"); console.log("Retrying stylesheet: " + href); let retry = errorElement.attr("retry"); // First attempt remove from cache and try again if (!retry) { errorElement.attr("href", ""); errorElement.attr("href", href); errorElement.attr("retry", "true"); if (pwaCache) { pwaCache.delete(src) .then(function (response) { errorElement.attr("href", ""); errorElement.attr("href", href); errorElement.attr("retry", "true"); }); } else { errorElement.attr("href", ""); errorElement.attr("href", href); errorElement.attr("retry", "true"); } // Second attempt without requesting cors but will pad with 8MB in cache } else if (retry != "stop") { if (pwaCache) { pwaCache.delete(src).then(function (response) { errorElement.attr("retry", "stop"); errorElement.removeAttr("crossorigin"); errorElement.attr("href", ""); errorElement.attr("href", href); }); } else { errorElement.attr("retry", "stop"); errorElement.removeAttr("crossorigin"); errorElement.attr("href", ""); errorElement.attr("href", href); } } }); </script> <style> #components-reconnect-modal { display: none !important; } </style> </body> </html>