CINXE.COM

Roll20 Marketplace: Digital maps, tokens, tiles, and modules for online tabletop gaming

<!DOCTYPE html> <html lang="en"> <head> <meta name=“facebook-domain-verification” content=“lb07chyng6etwkpmjwu29mkje960mx” /> <!-- Google Tag Manager --> <script id="gtmScript" nonce=''>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl+ '&gtm_auth=RyNPjkDTh-LgK4oo5gJi6A&gtm_preview=env-1&gtm_cookies_win=x'; var n=d.querySelector('[nonce]');n&&j.setAttribute('nonce',n.nonce||n.getAttribute('nonce'));f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-MKL9HM6');</script> <!-- End Google Tag Manager --> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1" /> <title>Roll20 Marketplace: Digital maps, tokens, tiles, and modules for online tabletop gaming</title> <meta property="og:title" content="Roll20 - Virtual Tabletop for Playing D&amp;D, Pathfinder, Call of Cthulhu, TTRPGs" /><meta property='og:type' content='website' /> <meta property='og:url' content='https://marketplace.roll20.net/' /> <meta property='og:image' content='images/roll20-marketplace-og.jpg' /> <meta property="og:description" content="From officially produced adventures to independent creators, there are thousands of ways to make your games better, easier, and more fun with the Roll20 Marketplace." /><meta property='og:locale' content='en_US' /> <meta property='og:locale:alternate' content='af_ZA' /> <meta property='og:locale:alternate' content='ca_CA' /> <meta property='og:locale:alternate' content='zh_Hant_TW' /> <meta property='og:locale:alternate' content='cs_CZ' /> <meta property='og:locale:alternate' content='da_DK' /> <meta property='og:locale:alternate' content='nl_NL' /> <meta property='og:locale:alternate' content='fr_FR' /> <meta property='og:locale:alternate' content='de_DE' /> <meta property='og:locale:alternate' content='el_GR' /> <meta property='og:locale:alternate' content='he_IL' /> <meta property='og:locale:alternate' content='hu_HU' /> <meta property='og:locale:alternate' content='it_IT' /> <meta property='og:locale:alternate' content='ja_JP' /> <meta property='og:locale:alternate' content='ko_KR' /> <meta property='og:locale:alternate' content='pl_PL' /> <meta property='og:locale:alternate' content='pt_PT' /> <meta property='og:locale:alternate' content='ru_RU' /> <meta property='og:locale:alternate' content='es_ES' /> <meta property='og:locale:alternate' content='sv_SE' /> <meta property='og:locale:alternate' content='tr_TR' /> <meta property='og:locale:alternate' content='uk_UK' /> <meta property="og:site_name" content="Roll20" /> <meta property="og:logo" content="https://roll20.net/images/logo-die-large.png?1742835274" /> <meta property="og:image:alt" content='Roll20 logo, a pink and purple 20-sided die with the number twenty featured on its face. The die sits on top of the name "Roll20" in black font.' /> <meta name="twitter:card" content="summary"/> <meta name="twitter:site" content="@roll20app"/> <link rel="stylesheet" href="/v3/assets/css/marketplace-v3.css?1742835275" type="text/css" /> <link rel="stylesheet" href="/v3/assets/js/libs/@fortawesome/fontawesome-free/css/all.min.css?1742835275" type="text/css" /> <link rel="stylesheet" href="/css/fonts.css?1742835273" type="text/css" /> <link rel="stylesheet" href="/v2/css/colors.css?1742835274" type="text/css" /> <script type="text/javascript" src="/assets/marketplace.js?1742835275"></script> <script type="text/javascript" src="/assets/marketplace-search.js?1742835275"></script> <script type="text/javascript"> $('html').attr('data-theme', 'light'); </script> <script src="https://js.stripe.com/v3/"></script> <script type="text/javascript"> const stripe = Stripe("pk_live_1vH03GH31ZvT2lI7yU8bcClq9jDHOPU4OlnsWqZKu2s4Vs014SXpmjsjnRv37wD8PhLLkYj1YcLSxVDbdzba2HZiQ00qGgUFDqB"); const elements = stripe.elements(); </script> <script type="text/javascript"> const url = new URL(window.location.href); url.pathname = url.pathname.split('/').slice(0, 3).join('/'); // get the first one or two parts of the url path i.e. '/campaigns/search' or '/login' var _conv_page_type = url.toString(); var _conv_category_id = ""; // unused var _conv_category_name = ""; // only used in V2 marketplace var _conv_product_sku = ""; // only used in V2 marketplace var _conv_product_name = ""; // only used in V2 marketplace & characters var _conv_product_price = ""; // only used in V2 marketplace var _conv_customer_id = 'visitor'; var _conv_custom_v1 = 'loggedout'; var _conv_custom_v2 = ""; // unused var _conv_custom_v3 = ""; // unused var _conv_custom_v4 = ""; // unused </script> <script type="text/javascript" src="//cdn-4.convertexperiments.com/v1/js/10042023-10042444.js" integrity="sha384-gSDcZjQNbDoXzGah4K3Gb02Y6qVZNgNiMUn6LdQ5FCsldO6ne//TUKkgKabzB65Z"></script> </head> <body> <a href="#mainContent" class="skip-link">Skip to Main Content</a> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-MKL9HM6&gtm_auth=RyNPjkDTh-LgK4oo5gJi6A&gtm_preview=env-1&gtm_cookies_win=x" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <script> const navClick = function(url) { location.assign(url); } </script> <header id="header" class="header header-legacy" role="banner"> <div class="header-top"> <div class="container"> <div class="d-flex py-3 flex-column flex-lg-row justify-content-start justify-content-lg-between align-items-lg-center"> <div class="header-logo order-1 order-lg-0"> <a href="https://app.roll20.net"> <img src="https://app.roll20.net/v2/images/roll20-logo.png?v=2" alt="Roll20 logo" style="" class="withoutad" /> </a> </div> <div class="header-advertisment order-0 order-lg-1 pl-0 pl-lg-4 pl-xl-0 pb-2 pb-lg-0"> <script type='text/javascript'> var googletag = googletag || {}; googletag.cmd = googletag.cmd || []; (function() { var gads = document.createElement('script'); gads.async = true; gads.type = 'text/javascript'; var useSSL = 'https:' == document.location.protocol; gads.src = (useSSL ? 'https:' : 'http:') + '//www.googletagservices.com/tag/js/gpt.js'; var node = document.getElementsByTagName('script')[0]; node.parentNode.insertBefore(gads, node); })(); </script> <script type='text/javascript'> googletag.cmd.push(function() { googletag.defineSlot('/34541132/Leaderboard-Compendium', [728, 90], 'dfp-1349444251840-1').addService(googletag.pubads()); googletag.pubads().enableSingleRequest(); googletag.enableServices(); }); </script> <div class="bna" style="max-width: 100%; "> <span class="footer"> <a href="https://app.roll20.net/create-account?bannertext&utm_source=inhouse&utm_medium=banner&utm_campaign=freetextCTA"> Create a free account </a> </span> <div id='dfp-1349444251840-1' style='width:728px; overflow: hidden; height:90px; margin-left: auto; margin-right: auto; max-width: 100%;'> <script type='text/javascript'> googletag.cmd.push(function() { /*$("#dfp-1349444251840-1 a").remove();*/ googletag.display('dfp-1349444251840-1'); }); </script> </div> </div> </div> </div> </div> </div> <div class="header-navbar"> <div class="container"> <nav class="navbar navbar-expand-lg navbar-legacy py-2 py-lg-0"> <button class="navbar-toggler collapsed" type="button" data-toggle="collapse" data-target="#navbar-legacy" aria-controls="navbar-legacy" aria-expanded="false" aria-label="Toggle navigation"> <span class="icon-bar top-bar mt-0"></span> <span class="icon-bar middle-bar"></span> <span class="icon-bar bottom-bar"></span> </button> <div class="collapse navbar-collapse justify-content-between" id="navbar-legacy"> <ul class="navbar-nav"> <li class="nav-item"> <a href="https://app.roll20.net/" class="nav-link" id="menu-play-now">Play Now</a> </li> <li class="nav-item"> <a href="https://app.roll20.net/lfg" class="nav-link" id="menu-join-game">Join a Game</a> </li> <li class="nav-item dropdown mega-dropdown"> <a href="https://marketplace.roll20.net" class="nav-link dropdown-toggle" id="menu-marketplace" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" onClick="navClick('https://marketplace.roll20.net')">Marketplace</a> <ul class="dropdown-menu mega-dropdown-menu" aria-labelledby="menu-marketplace"> <li class="row"> <div class="col-12 col-lg-3"> <div class="mega-menu__links"> <ul class="p-0"> <li> <a href="https://marketplace.roll20.net" class="dropdown-item">What's New</a> </li> <li> <a href="https://marketplace.roll20.net/browse" class="dropdown-item">Browse</a> </li> <li> <a href="https://marketplace.roll20.net/gift/" class="dropdown-item">Give a Gift</a> </li> <li> <a href="https://marketplace.roll20.net/coupon/" class="dropdown-item">Redeem a Code</a> </li> <!-- <li> <a href="https://merchoforr.com/" class="dropdown-item">Merchandise</a> </li> --> </ul> </div> </div> <div class="col-12 col-lg-9 col-xl-9"> <div class="mega-menu__cards pt-3 pt-xl-0 pr-lg-3"> <div class="row"> <div class="col-12 col-md-6 col-xl-3"> <div class="card mb-3 mb-xl-0"> <div class="row align-items-center"> <div class="col col-xl-12"> <a href="https://marketplace.roll20.net/browse/bundle/31887/dandd-core-rulebook-bundle-2024"> <span class="sr-only">D&amp;D Core Rulebook Bundle (2024) </span> <img src="https://files.d20.io/marketplace/3970529/F_hjWLAuwz0TkrcIf3BxUw/med.png?1718712581469" class="card-img-top img-center img-fluid" alt="" /> </a> </div> <div class="col-8 col-xl-12 pl-2"> <div class="card-body pl-0 px-xl-4 py-0 py-xl-3"> <a href="https://marketplace.roll20.net/browse/bundle/31887/dandd-core-rulebook-bundle-2024">D&amp;D Core Rulebook Bundle (2024) </a><br/> <span class="card-title">by Wizards of the Coast</span> </div> </div> </div> </div> </div> <div class="col-12 col-md-6 col-xl-3"> <div class="card mb-3 mb-xl-0"> <div class="row align-items-center"> <div class="col col-xl-12"> <a href="https://marketplace.roll20.net/browse/bundle/15575/dandd-curse-of-strahd"> <span class="sr-only">D&amp;D Curse of Strahd</span> <img src="https://files.d20.io/marketplace/3977000/dafVzdTIILuozTjInO_vEA/med.png?1719247876490" class="card-img-top img-center img-fluid" alt="" /> </a> </div> <div class="col-8 col-xl-12 pl-2"> <div class="card-body pl-0 px-xl-4 py-0 py-xl-3"> <a href="https://marketplace.roll20.net/browse/bundle/15575/dandd-curse-of-strahd">D&amp;D Curse of Strahd</a><br/> <span class="card-title">by Wizards of the Coast</span> </div> </div> </div> </div> </div> <div class="col-12 col-md-6 col-xl-3"> <div class="card mb-3 mb-xl-0"> <div class="row align-items-center"> <div class="col col-xl-12"> <a href="https://marketplace.roll20.net/browse/bundle/29589/pathfinder-core-mega-bundle"> <span class="sr-only">Pathfinder Core Mega Bundle</span> <img src="https://files.d20.io/marketplace/3814843/kr9hNl-iDXGErQDeLyvRdQ/med.png?1709085860170" class="card-img-top img-center img-fluid" alt="" /> </a> </div> <div class="col-8 col-xl-12 pl-2"> <div class="card-body pl-0 px-xl-4 py-0 py-xl-3"> <a href="https://marketplace.roll20.net/browse/bundle/29589/pathfinder-core-mega-bundle">Pathfinder Core Mega Bundle</a><br/> <span class="card-title">by Paizo</span> </div> </div> </div> </div> </div> <div class="col-12 col-md-6 col-xl-3"> <div class="card mb-3 mb-xl-0"> <div class="row align-items-center"> <div class="col col-xl-12"> <a href="https://marketplace.roll20.net/browse/bundle/13881/cyberpunk-red"> <span class="sr-only">Cyberpunk RED</span> <img src="https://files.d20.io/marketplace/2804303/qu8j0OPMgC21GjOtNunYzw/med.jpeg?1667917715094" class="card-img-top img-center img-fluid" alt="" /> </a> </div> <div class="col-8 col-xl-12 pl-2"> <div class="card-body pl-0 px-xl-4 py-0 py-xl-3"> <a href="https://marketplace.roll20.net/browse/bundle/13881/cyberpunk-red">Cyberpunk RED</a><br/> <span class="card-title">by R. Talsorian Games</span> </div> </div> </div> </div> </div> </div> </div> </div> </li> </ul> </li> <li class="nav-item dropdown mega-dropdown"> <a href="https://roll20.net/compendium" class="nav-link dropdown-toggle" id="menu-tools" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" onClick="navClick('https://roll20.net/compendium')">Tools</a> <ul class="dropdown-menu mega-dropdown-menu" aria-labelledby="menu-tools"> <li class="row"> <div class="col-12 col-lg-3"> <div class="mega-menu__links"> <ul class="p-0"> <li> <a href="https://roll20.net/compendium" class="dropdown-item">Compendium</a> </li> <li> <a href="https://app.roll20.net/characters" class="dropdown-item">Characters</a> </li> <li> <a href="https://app.roll20.net/audio_library/" class="dropdown-item">Manage Audio</a> </li> <li> <a href="https://app.roll20.net/marker-library" class="dropdown-item">Token Marker Library</a> </li> <li> <a href="https://pages.roll20.net/companionapp" class="dropdown-item">Roll20 Companion App</a> </li> <li> <a href="https://pages.roll20.net/dnd/" class="dropdown-item">D&D Hub</a> </li> <li> <a href="https://pages.roll20.net/marvel-multiverse" class="dropdown-item">Marvel Hub</a> </li> <li> <a href="https://gmhub.roll20.net/" class="dropdown-item">GM Hub</a> </li> <li> <a href="https://dungeonscrawl.com/" class="dropdown-item">Dungeon Scrawl</a> </li> <li> <a href="https://app.demiplane.com/home" class="dropdown-item">Demiplane</a> </li> </ul> </div> </div> <div class="col-12 col-lg-9 col-xl-9"> <div class="mega-menu__cards pt-3 pt-xl-0 pr-lg-3"> <div class="row"> <div class="col-12 col-md-6 col-xl-3"> <div class="card mb-3 mb-xl-0"> <div class="row align-items-center"> <div class="col col-xl-12"> <a href="https://app.roll20.net/characters/"> <img src="/images/Roll20Characters-TopNav.jpg" class="card-img-top img-center img-fluid" alt="Tutorial" /> </a> </div> <div class="col-8 col-xl-12 pl-2"> <div class="card-body pl-0 px-xl-4 py-0 py-xl-3"> <a href="https://app.roll20.net/characters/">Characters</a> <div class="shorthr"></div> <span class="gameinfo">Create, Manage, and Play Characters</span> </div> </div> </div> </div> </div> <div class="col-12 col-md-6 col-xl-3"> <div class="card mb-3 mb-xl-0"> <div class="row align-items-center"> <div class="col col-xl-12"> <a href="https://roll20.net/compendium/"> <img src="/images/banner-compendium.jpg" class="card-img-top img-center img-fluid" alt="Compedium" /> </a> </div> <div class="col-8 col-xl-12 pl-2"> <div class="card-body pl-0 px-xl-4 py-0 py-xl-3"> <a href="https://roll20.net/compendium/">Compendium</a> <div class="shorthr"></div> <span class="gameinfo">Your System Come To Life</span> </div> </div> </div> </div> </div> <div class="col-12 col-md-6 col-xl-3"> <div class="card mb-3 mb-xl-0"> <div class="row align-items-center"> <div class="col col-xl-12"> <a href="https://app.roll20.net/vault/characters"> <img src="/images/banner-character-vault.jpg" class="card-img-top img-center img-fluid" alt="Character Vault" /> </a> </div> <div class="col-8 col-xl-12 pl-2"> <div class="card-body pl-0 px-xl-4 py-0 py-xl-3"> <a href="https://app.roll20.net/vault/characters">Character Vault</a> <div class="shorthr"></div> <span class="gameinfo">Create, Manage, and Play Characters</span> </div> </div> </div> </div> </div> <div class="col-12 col-md-6 col-xl-3"> <div class="card mb-3 mb-xl-0"> <div class="row align-items-center"> <div class="col col-xl-12"> <a href="https://dungeonscrawl.com"> <img src="/images/banner-dungeonscrawl.png" class="card-img-top img-center img-fluid" alt="Dungeon Scrawl" /> </a> </div> <div class="col-8 col-xl-12 pl-2"> <div class="card-body pl-0 px-xl-4 py-0 py-xl-3"> <a href="https://dungeonscrawl.com">Dungeon Scrawl</a> <div class="shorthr"></div> <span class="gameinfo">Create Maps for your Games</span> </div> </div> </div> </div> </div> </div> </div> </div> </li> </ul> </li> <li class="nav-item dropdown mega-dropdown"> <a href="https://app.roll20.net/forum" class="nav-link dropdown-toggle" role="button" id="menu-community" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" onClick="navClick('https://app.roll20.net/forum')"> Community</a> <ul class="dropdown-menu mega-dropdown-menu" aria-labelledby="menu-community"> <li class="row"> <div class="col-12 col-lg-3"> <div class="mega-menu__links"> <ul class="p-0"> <li> <a href=" https://blog.roll20.net/" class="dropdown-item">Blog</a> </li> <li> <a href="https://roll20.net/help" class="dropdown-item" target="_blank" class="dropdown-item">Help Center</a> </li> <li> <a href="https://roll20.zendesk.com/hc/articles/360037772613-Change-Log" target="_blank" class="dropdown-item">Change Log</a> </li> <li> <a href="https://app.roll20.net/forum/" class="dropdown-item">Forums</a> </li> <li> <a href="https://wiki.roll20.net/Main_Page" class="dropdown-item">Community Wiki</a> </li> <li> <a href="http://www.twitch.tv/roll20app" target="_blank" class="dropdown-item">Live Stream</a> </li> <li> <a href="https://www.youtube.com/channel/UCHC1kWACzA7G6D2fqkqsRDg" target="_blank" class="dropdown-item">VODs</a> </li> <li> <a href="https://pages.roll20.net/ambassador-program" target="_blank" class="dropdown-item">Ambassador Program</a> </li> </ul> </div> </div> <div class="col-12 col-lg-9 col-xl-9"> <div class="mega-menu__cards pt-3 pt-xl-0 pr-lg-3"> <div class="row"> <div class="col-12 col-md-6 col-xl-3"> <div class="card mb-3 mb-xl-0"> <div class="row align-items-center"> <div class="col col-xl-12"> <a href="https://blog.roll20.net/posts/the-new-roll20-tabletop-fast-free-and-stunning/"> <span class="sr-only">The New Roll20 Tabletop</span> <img src="https://files.d20.io/images/406055047/NBEegvOJ3pSZYTXXhId6xQ/original.jpg?1724188557376" class="card-img-top img-center img-fluid" alt="" /> </a> </div> <div class="col-8 col-xl-12 pl-2"> <div class="card-body pl-0 px-xl-4 py-0 py-xl-3"> <a href="https://blog.roll20.net/posts/the-new-roll20-tabletop-fast-free-and-stunning/"> The New Roll20 Tabletop </a> </div> </div> </div> </div> </div> <div class="col-12 col-md-6 col-xl-3"> <div class="card mb-3 mb-xl-0"> <div class="row align-items-center"> <div class="col col-xl-12"> <a href="https://blog.roll20.net/posts/roll20-discord-activity/"> <span class="sr-only">Play Roll20 on Discord</span> <img src="https://files.d20.io/images/406055142/WxdDedtmZSm7uIUVGANdzg/original.jpg?1724188591159" class="card-img-top img-center img-fluid" alt="" /> </a> </div> <div class="col-8 col-xl-12 pl-2"> <div class="card-body pl-0 px-xl-4 py-0 py-xl-3"> <a href="https://blog.roll20.net/posts/roll20-discord-activity/"> Play Roll20 on Discord </a> </div> </div> </div> </div> </div> <div class="col-12 col-md-6 col-xl-3"> <div class="card mb-3 mb-xl-0"> <div class="row align-items-center"> <div class="col col-xl-12"> <a href="https://app.roll20.net/characters/create/dnd2024byroll20"> <span class="sr-only">Play D&amp;D 2024</span> <img src="https://files.d20.io/images/409822399/wtLMqDnqy0jvxjxvOYtaPw/original.jpg?1726541310739" class="card-img-top img-center img-fluid" alt="" /> </a> </div> <div class="col-8 col-xl-12 pl-2"> <div class="card-body pl-0 px-xl-4 py-0 py-xl-3"> <a href="https://app.roll20.net/characters/create/dnd2024byroll20"> Play D&amp;D 2024 </a> </div> </div> </div> </div> </div> <div class="col-12 col-md-6 col-xl-3"> <div class="card mb-3 mb-xl-0"> <div class="row align-items-center"> <div class="col col-xl-12"> <a href="https://blog.roll20.net/posts/roll20-has-acquired-demiplane/"> <span class="sr-only">Demiplane Joins Roll20</span> <img src="https://files.d20.io/images/406056058/6P2sO-_xeNWhbSgKpW7rcw/original.jpg?1724189145614" class="card-img-top img-center img-fluid" alt="" /> </a> </div> <div class="col-8 col-xl-12 pl-2"> <div class="card-body pl-0 px-xl-4 py-0 py-xl-3"> <a href="https://blog.roll20.net/posts/roll20-has-acquired-demiplane/"> Demiplane Joins Roll20 </a> </div> </div> </div> </div> </div> </div> </div> </div> </li> </ul> </li> <li class="nav-item"> <a class="nav-link" href="https://app.roll20.net/why-subscribe-to-roll20" id="nav-subscribe">Subscribe</a> </li> </ul> <ul class="navbar-nav navbar-notifications"> <li class="nav-item dropdown dropdown--click-only no-caret topbarsitenotifications"> <a href="#" class="nav-link nav-icon-only dropdown-toggle" id="menu-site-alerts" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" aria-label="Open Alerts Panel"> <span class="alerts-icon"> <i class="fas fa-bell "></i> </span> </a> <div class="dropdown-menu dropdown-menu-right dropdown-menu--xl py-0" > <div class="list-group list-group-flush"> <div class="list-group sitenotifications"> <a href="https://blog.roll20.net/posts/play-dd-2024-your-way-on-roll20/" class="list-group-item list-group-item-action new"> <div class="d-flex"> <div> <img src="/images/Notification System Icons/social-pink.png" class="mr-3" style="width: 40px; height: 40px;" alt=""> </div> <div> <div class="text-sm lh-150"> <span class="font-weight-bold d-block">New D&amp;D Character Sheet Available</span> <span class="">Roll20&#39;s new D&amp;D character sheet, which supports both 2014 and 2024 rules, is live and free for all users.</span> </div> </div> </div> </a> <a href="https://blog.roll20.net/posts/dd-2024-legacy-and-new-character-sheets-unite/#multiplesheets" class="list-group-item list-group-item-action new"> <div class="d-flex"> <div> <img src="https://s3.amazonaws.com/files.d20.io/images/408806657/Cz6McatFyq96_GoqMUDEzw/thumb.png" class="mr-3" style="width: 40px; height: 40px;" alt=""> </div> <div> <div class="text-sm lh-150"> <span class="font-weight-bold d-block">Use Both D&amp;D 5E Character Sheets</span> <span class="">Both classic and new D&amp;D 5E sheets can be used in a single campaign, exclusively in Jumpgate.</span> </div> </div> </div> </a> <a href="https://blog.roll20.net/posts/roll20-tabletop-effects-fx-tool-now-free-for-all-users/" class="list-group-item list-group-item-action new"> <div class="d-flex"> <div> <img src="/images/Notification System Icons/plus-pink.png" class="mr-3" style="width: 40px; height: 40px;" alt=""> </div> <div> <div class="text-sm lh-150"> <span class="font-weight-bold d-block">Effects (FX) Tool Now Free for All! </span> <span class="">Enjoy new and optimized VTT visuals using Project Jumpgate&#39;s uplifted Effects tool. </span> </div> </div> </div> </a> <a href="https://app.roll20.net/characters/" class="list-group-item list-group-item-action new"> <div class="d-flex"> <div> <img src="/images/Notification System Icons/social-pink.png" class="mr-3" style="width: 40px; height: 40px;" alt=""> </div> <div> <div class="text-sm lh-150"> <span class="font-weight-bold d-block">Roll20 Characters: D&amp;D + Candela Obscura</span> <span class="">D&amp;D 5E + Candela Obscura sheets are now available in Roll20 Characters to create and manage outside the VTT.</span> </div> </div> </div> </a> </div> </div> <div class="py-2 text-center border-top"> <button id="navbar-notifications__see-more-btn" class="btn btn-link btn-sm text-muted font-weight-bold btn-block">See More</button> </div> </div> </li> <li class="nav-item dropdown dropdown--click-only"> <a href="#" class="nav-link dropdown-toggle" id="menu-signin" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Sign In</a> <div class="dropdown-menu dropdown-menu-right" > <form action="https://app.roll20.net/sessions/create?backto=https://marketplace.roll20.net/" method="post" class="px-3"> <div class="form-group"> <label for="input_login-email" class="col-form-label-sm m-0">Email address</label> <input type="email" name="email" class="form-control form-control-sm" id="input_login-email" placeholder="email@example.com"> </div> <div class="form-group"> <label for="input_login-password" class="col-form-label-sm m-0">Password</label> <input type="password" name="password" class="form-control form-control-sm" id="input_login-password" placeholder="Password" autocomplete="new-password"> </div> <button type="submit" class="btn btn-primary btn-sm">Sign in</button> </form> <div class="dropdown-divider"></div> <div> <a class="dropdown-item" href="https://app.roll20.net/create-account">New around here? Sign up</a> <a class="dropdown-item" href="https://app.roll20.net/forgot-password">Forgot password?</a> </div> </div> </li> </ul> <ul class="navbar-nav navbar-expanded navbar-notifications navbar-notifications--mobile d-none flex-row"> <li class="nav-item"> <a href="#" class="nav-link nav-icon-only " id="menu-mobile-site-alerts" aria-label="Open Mobile Alerts Menu"> <span class="alerts-icon"> <i class="fas fa-bell"></i> </span> </a> </li> <li class="nav-item"> <a href="https://app.roll20.netlogin" class="nav-link" id="menu-mobile-signin">Sign In</a> </li> </ul> </div> </nav> </div> </div> </header> <div id="mainContent" class="sr-only"></div> <section id="marketplace-masthead" class="masthead-1"> <div class="masthead-inner py-6 py-xl-7 responsive-bg align-bottom align-right" style="background-image: linear-gradient(to left, rgba(0, 0, 0, 0.12), rgba(0, 0, 0, 0.73)), url('https://files.d20.io/images/434213816/KpV6qTgeLwYFBSK9q15s2w/original.png?1742822338435" alt="Buy the D&amp;D 2024 Core Rulebook Bundle');"> <div class="container"> <div class="row"> <div class="col-lg-6"> <h3 class="display-3 text-white">Buy the D&amp;D 2024 Core Rulebook Bundle</h3> <p class=" text-white h5" style="font-weight: normal"> Unlock 400 magic items, 550 monsters, 391 spells, and exclusive bonuses! </p> <a href="https://marketplace.roll20.net/browse/bundle/31887/dandd-core-rulebook-bundle-2024" class="btn btn-primary mt-4">Buy Now</a> </div> </div> </div> </div> </section> <section id="main" role="main"> <section id="marketplace-search" class="marketplace-search marketplace-search--home py-4"> <div class="container"> <div class="marketplace-search__inner card p-3 m-0"> <form class="row"> <div class="col-12 col-md mr-auto marketplace-search__col-search-input"> <input type="text" id="input__marketplace-search" class="form-control" data-toggle="marketplace-selectize" placeholder="Search Roll20 Marketplace" aria-label="search"> </div> <div class="px-3 pl-md-0 pr-md-3 marketplace-search__col-buttons"> <div class="row"> <div class="col-8 col-sm-9 col-md"> <button id="marketplace-search__btn" class="btn btn-primary" type="submit">Search</button> </div> <div class="col-4 col-sm-3 col-md pl-0"> <button aria-label="[search_filter]" id="marketplace-search__filter-btn" class="btn btn-outline-dark marketplace-search__filter-btn" type="button"><i class="fas fa-sliders-h"></i></button> </div> </div> </div> </form> <div class="collapse marketplace-search__filter-container" id="marketplace-search__filter-container"></div> </div> </div> </section> <section class="featured-products py-5"> <div class="container"> <div class="row"> <div class="col-12 col-lg-3"> <div class="mb-5"> <h3 class="h2">Enhance Your Games</h3> <div class="mt-3"> <p class="lead lh-180">From officially produced adventures to independent creators, there are thousands of ways to make your games better, easier, and more fun with the Roll20 Marketplace. New content added weekly!</p> </div> </div> </div> <div class="col-12 col-lg-9"> <div class="featured-products__row d-flex justify-content-between align-items-center mb-3"> <h4 class="featured-products__title h3">Featured Products</h4> </div> <div class="owl-carousel carousel-widget" data-margin="20" data-nav="true" data-pagi="false" data-items-xs="2" data-items-sm="2" data-items-md="3" data-items-lg="3"> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/3970529/F_hjWLAuwz0TkrcIf3BxUw/thumb.png?1718712581469" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img="https://s3.amazonaws.com/files.d20.io/marketplace/3970529/F_hjWLAuwz0TkrcIf3BxUw/med.png?1718712581469"> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Wizards of the Coast</h5> <h6 class="card-title h5 text-truncate">D&amp;D Core Rulebook Bundle (2024) </h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price">$89.97</span> <span class="item-currency">USD</span> </div> </div> <a href="https://marketplace.roll20.net/browse/bundle/31887/dandd-core-rulebook-bundle-2024" class="stretched-link"><span class="sr-only">D&amp;D Core Rulebook Bundle (2024) </span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Games</li> <li class="list-inline-item">RPG Rulebooks</li> <li class="list-inline-item">Core Games</li> </ul> </div> </div> </div> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/3977000/dafVzdTIILuozTjInO_vEA/thumb.png?1719247876490" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img="https://s3.amazonaws.com/files.d20.io/marketplace/3977000/dafVzdTIILuozTjInO_vEA/med.png?1719247876490"> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Wizards of the Coast</h5> <h6 class="card-title h5 text-truncate">D&amp;D Curse of Strahd</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price">$24.99</span> <span class="item-currency">USD</span> </div> <span class="card-price"> </span> </div> <a href="https://marketplace.roll20.net/browse/bundle/15575/dandd-curse-of-strahd" class="stretched-link"><span class="sr-only">D&amp;D Curse of Strahd</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Games</li> <li class="list-inline-item">Adventures</li> <li class="list-inline-item">Long Campaigns</li> </ul> </div> </div> </div> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/3814843/kr9hNl-iDXGErQDeLyvRdQ/thumb.png?1709085860170" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img="https://s3.amazonaws.com/files.d20.io/marketplace/3814843/kr9hNl-iDXGErQDeLyvRdQ/med.png?1709085860170"> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Paizo</h5> <h6 class="card-title h5 text-truncate">Pathfinder Core Mega Bundle</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price dynamic-price" data-itemid="29589">$99.99</span> <span class="item-currency">USD</span> </div> <p class="browse-discount browse-discount-hidden">-16%</p> </div> <a href="https://marketplace.roll20.net/browse/bundle/29589/pathfinder-core-mega-bundle" class="stretched-link"><span class="sr-only">Pathfinder Core Mega Bundle</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Games</li> <li class="list-inline-item">RPG Rulebooks</li> <li class="list-inline-item">Core Games</li> </ul> </div> </div> </div> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/2804303/qu8j0OPMgC21GjOtNunYzw/thumb.jpeg?1667917715094" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img="https://s3.amazonaws.com/files.d20.io/marketplace/2804303/qu8j0OPMgC21GjOtNunYzw/med.jpeg?1667917715094"> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">R. Talsorian Games</h5> <h6 class="card-title h5 text-truncate">Cyberpunk RED</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price">$39.99</span> <span class="item-currency">USD</span> </div> <span class="card-price"> </span> </div> <a href="https://marketplace.roll20.net/browse/bundle/13881/cyberpunk-red" class="stretched-link"><span class="sr-only">Cyberpunk RED</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Games</li> <li class="list-inline-item">RPG Rulebooks</li> <li class="list-inline-item">Core Games</li> </ul> </div> </div> </div> </div> </div> </div> </div> </section> <section id="section-dungeons-&amp;-dragons-new-releases" class="py-5 bg-light" role="region"> <div class="container"> <div class="row align-items-center"> <div class="col-12"> <div class="d-flex justify-content-between mb-3 mb-md-2"> <h4 class="h2 m-0">Dungeons &amp; Dragons New Releases</h4> <div class="align-self-end"> <a href="https://marketplace.roll20.net/browse/search?author=Wizards%20of%20the%20Coast">view all <i class="far angle-right"></i></a> </div> </div> </div> <div class="col-12"> <div class="owl-carousel carousel-widget py-2" data-margin="20" data-nav="true" data-pagi="false" data-items-xs="2" data-items-sm="2" data-items-md="3" data-items-lg="4" data-items-xxxl="5"> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/4184370/Xqzx1gCfKqSgg77HR4Rb9Q/thumb.png?1731006378215" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/4184370/Xqzx1gCfKqSgg77HR4Rb9Q/med.png?1731006378215> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Wizards of the Coast</h5> <h6 class="card-title h5 text-truncate">D&amp;D Dungeon Master's Guide (2024)</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price">$29.99</span> <span class="item-currency">USD</span> </div> <span class="card-price"> </span> </div> <a href="https://marketplace.roll20.net/browse/bundle/31885/dandd-dungeon-masters-guide-2024" class="stretched-link"><span class="sr-only">D&amp;D Dungeon Master's Guide (2024)</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Games</li> <li class="list-inline-item">RPG Rulebooks</li> <li class="list-inline-item">Core Games</li> </ul> </div> </div> </div> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/4114013/tyZQ793tZ2znYXo5sYM46g/thumb.png?1726541507004" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/4114013/tyZQ793tZ2znYXo5sYM46g/med.png?1726541507004> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Wizards of the Coast</h5> <h6 class="card-title h5 text-truncate">D&amp;D Player’s Handbook (2024)</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price">$29.99</span> <span class="item-currency">USD</span> </div> <span class="card-price"> </span> </div> <a href="https://marketplace.roll20.net/browse/bundle/31884/dandd-players-handbook-2024" class="stretched-link"><span class="sr-only">D&amp;D Player’s Handbook (2024)</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Games</li> <li class="list-inline-item">RPG Rulebooks</li> <li class="list-inline-item">Core Games</li> </ul> </div> </div> </div> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/3970529/F_hjWLAuwz0TkrcIf3BxUw/thumb.png?1718712581469" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/3970529/F_hjWLAuwz0TkrcIf3BxUw/med.png?1718712581469> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Wizards of the Coast</h5> <h6 class="card-title h5 text-truncate">D&amp;D Core Rulebook Bundle (2024) </h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price">$89.97</span> <span class="item-currency">USD</span> </div> </div> <a href="https://marketplace.roll20.net/browse/bundle/31887/dandd-core-rulebook-bundle-2024" class="stretched-link"><span class="sr-only">D&amp;D Core Rulebook Bundle (2024) </span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Games</li> <li class="list-inline-item">RPG Rulebooks</li> <li class="list-inline-item">Core Games</li> </ul> </div> </div> </div> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/4424905/ZfRRgzqnC9USJ1yTOv3pvA/thumb.png?1742487663265" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/4424905/ZfRRgzqnC9USJ1yTOv3pvA/med.png?1742487663265> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Wizards of the Coast</h5> <h6 class="card-title h5 text-truncate">D&amp;D Quests from the Infinite Staircase</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price">$29.99</span> <span class="item-currency">USD</span> </div> <span class="card-price"> </span> </div> <a href="https://marketplace.roll20.net/browse/bundle/30280/dandd-quests-from-the-infinite-staircase" class="stretched-link"><span class="sr-only">D&amp;D Quests from the Infinite Staircase</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Games</li> <li class="list-inline-item">Adventures</li> <li class="list-inline-item">One Shots</li> </ul> </div> </div> </div> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/1115381/mKb1aGSjuS-DA7iG0E4TRA/thumb.jpg?1584454051887" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/1115381/mKb1aGSjuS-DA7iG0E4TRA/med.jpg?1584454051887> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Wizards of the Coast</h5> <h6 class="card-title h5 text-truncate">D&amp;D Explorer's Guide to Wildemount</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price">$29.99</span> <span class="item-currency">USD</span> </div> <span class="card-price"> </span> </div> <a href="https://marketplace.roll20.net/browse/bundle/5019/dandd-explorers-guide-to-wildemount" class="stretched-link"><span class="sr-only">D&amp;D Explorer's Guide to Wildemount</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Games</li> <li class="list-inline-item">RPG Rulebooks</li> <li class="list-inline-item">Rules Expansions</li> </ul> </div> </div> </div> </div> </div> </div> </div> </section> <section id="section-dungeons-&amp;-dragons-best-sellers" class="py-5" role="region"> <div class="container"> <div class="row align-items-center"> <div class="col-12"> <div class="d-flex justify-content-between mb-3 mb-md-2"> <h4 class="h2 m-0">Dungeons &amp; Dragons Best Sellers</h4> <div class="align-self-end"> <a href="https://marketplace.roll20.net/browse/search?tag=Unique%20Status:D%26D%20Best%20Seller">view all <i class="far angle-right"></i></a> </div> </div> </div> <div class="col-12"> <div class="owl-carousel carousel-widget py-2" data-margin="20" data-nav="true" data-pagi="false" data-items-xs="2" data-items-sm="2" data-items-md="3" data-items-lg="4" data-items-xxxl="5"> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/3977000/dafVzdTIILuozTjInO_vEA/thumb.png?1719247876490" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/3977000/dafVzdTIILuozTjInO_vEA/med.png?1719247876490> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Wizards of the Coast</h5> <h6 class="card-title h5 text-truncate">D&amp;D Curse of Strahd</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price">$24.99</span> <span class="item-currency">USD</span> </div> <span class="card-price"> </span> </div> <a href="https://marketplace.roll20.net/browse/bundle/15575/dandd-curse-of-strahd" class="stretched-link"><span class="sr-only">D&amp;D Curse of Strahd</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Games</li> <li class="list-inline-item">Adventures</li> <li class="list-inline-item">Long Campaigns</li> </ul> </div> </div> </div> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/3762977/BIQiwgir7Im_phCO2WlhEg/thumb.jpg?1705959725853" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/3762977/BIQiwgir7Im_phCO2WlhEg/med.jpg?1705959725853> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Wizards of the Coast</h5> <h6 class="card-title h5 text-truncate">D&amp;D Chains of Asmodeus</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price">$29.99</span> <span class="item-currency">USD</span> </div> <span class="card-price"> </span> </div> <a href="https://marketplace.roll20.net/browse/bundle/29192/dandd-chains-of-asmodeus" class="stretched-link"><span class="sr-only">D&amp;D Chains of Asmodeus</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Games</li> <li class="list-inline-item">Adventures</li> <li class="list-inline-item">Long Campaigns</li> </ul> </div> </div> </div> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/2436241/2bh5VOMHHTAbHafTbD6LEA/thumb.png?1652721311232" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/2436241/2bh5VOMHHTAbHafTbD6LEA/med.png?1652721311232> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Wizards of the Coast</h5> <h6 class="card-title h5 text-truncate">D&amp;D Mordenkainen Presents: Monsters of the Multiverse</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price">$29.99</span> <span class="item-currency">USD</span> </div> <span class="card-price"> </span> </div> <a href="https://marketplace.roll20.net/browse/bundle/14415/dandd-mordenkainen-presents-monsters-of-the-multiverse" class="stretched-link"><span class="sr-only">D&amp;D Mordenkainen Presents: Monsters of the Multiverse</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Games</li> <li class="list-inline-item">RPG Rulebooks</li> <li class="list-inline-item">Rules Expansions</li> </ul> </div> </div> </div> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/4146260/jv0nAeZC8cb2mazqFMTVkQ/thumb.png?1728940315421" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/4146260/jv0nAeZC8cb2mazqFMTVkQ/med.png?1728940315421> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Wizards of the Coast</h5> <h6 class="card-title h5 text-truncate">D&amp;D Player Bundle</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price dynamic-price" data-itemid="14719">$93.44</span> <span class="item-currency">USD</span> </div> <p class="browse-discount browse-discount-hidden">-15%</p> </div> <a href="https://marketplace.roll20.net/browse/bundle/14719/dandd-player-bundle" class="stretched-link"><span class="sr-only">D&amp;D Player Bundle</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Games</li> <li class="list-inline-item">RPG Rulebooks</li> <li class="list-inline-item">Rules Expansions</li> </ul> </div> </div> </div> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/4146264/EGj5mug27XJroXftH9Zwaw/thumb.png?1728940363881" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/4146264/EGj5mug27XJroXftH9Zwaw/med.png?1728940363881> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Wizards of the Coast</h5> <h6 class="card-title h5 text-truncate">D&amp;D DM Starter Bundle</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price dynamic-price" data-itemid="14718">$114.72</span> <span class="item-currency">USD</span> </div> <p class="browse-discount browse-discount-hidden">-15%</p> </div> <a href="https://marketplace.roll20.net/browse/bundle/14718/dandd-dm-starter-bundle" class="stretched-link"><span class="sr-only">D&amp;D DM Starter Bundle</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Games</li> <li class="list-inline-item">RPG Rulebooks</li> <li class="list-inline-item">Core Games</li> </ul> </div> </div> </div> </div> </div> </div> </div> </section> <section id="section-pathfinder-best-sellers" class="py-5 bg-light" role="region"> <div class="container"> <div class="row align-items-center"> <div class="col-12"> <div class="d-flex justify-content-between mb-3 mb-md-2"> <h4 class="h2 m-0">Pathfinder Best Sellers</h4> <div class="align-self-end"> <a href="https://marketplace.roll20.net/browse/search?tag=Unique%20Status:Paizo%20Best%20Seller">view all <i class="far angle-right"></i></a> </div> </div> </div> <div class="col-12"> <div class="owl-carousel carousel-widget py-2" data-margin="20" data-nav="true" data-pagi="false" data-items-xs="2" data-items-sm="2" data-items-md="3" data-items-lg="4" data-items-xxxl="5"> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/3814844/csSOo3R1yVn30G_8fg1ZNg/thumb.png?1709085865240" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/3814844/csSOo3R1yVn30G_8fg1ZNg/med.png?1709085865240> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Paizo</h5> <h6 class="card-title h5 text-truncate">Pathfinder Core Advanced Bundle</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price dynamic-price" data-itemid="29517">$49.99</span> <span class="item-currency">USD</span> </div> <p class="browse-discount browse-discount-hidden">-16%</p> </div> <a href="https://marketplace.roll20.net/browse/bundle/29517/pathfinder-core-advanced-bundle" class="stretched-link"><span class="sr-only">Pathfinder Core Advanced Bundle</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Games</li> <li class="list-inline-item">RPG Rulebooks</li> <li class="list-inline-item">Core Games</li> </ul> </div> </div> </div> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/3676971/vnDApvBsVHcjHGuvjI-npw/thumb.jpg?1700072038196" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/3676971/vnDApvBsVHcjHGuvjI-npw/med.jpg?1700072038196> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Paizo</h5> <h6 class="card-title h5 text-truncate">Pathfinder GM Core</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price">$29.99</span> <span class="item-currency">USD</span> </div> <span class="card-price"> </span> </div> <a href="https://marketplace.roll20.net/browse/bundle/26274/pathfinder-gm-core" class="stretched-link"><span class="sr-only">Pathfinder GM Core</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Games</li> <li class="list-inline-item">RPG Rulebooks</li> <li class="list-inline-item">Core Games</li> </ul> </div> </div> </div> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/3676956/vQBBDGkskKUBFJ7SeBKE4w/thumb.jpg?1700071496003" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/3676956/vQBBDGkskKUBFJ7SeBKE4w/med.jpg?1700071496003> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Paizo</h5> <h6 class="card-title h5 text-truncate">Pathfinder Player Core</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price">$29.99</span> <span class="item-currency">USD</span> </div> <span class="card-price"> </span> </div> <a href="https://marketplace.roll20.net/browse/bundle/26273/pathfinder-player-core" class="stretched-link"><span class="sr-only">Pathfinder Player Core</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Games</li> <li class="list-inline-item">RPG Rulebooks</li> <li class="list-inline-item">Core Games</li> </ul> </div> </div> </div> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/2782072/-prwhHuG4bj54Q9Z4RVIxQ/thumb.jpg?1666807990510" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/2782072/-prwhHuG4bj54Q9Z4RVIxQ/med.jpg?1666807990510> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Paizo</h5> <h6 class="card-title h5 text-truncate">Kingmaker Adventure Path</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price">$65.99</span> <span class="item-currency">USD</span> </div> <span class="card-price"> </span> </div> <a href="https://marketplace.roll20.net/browse/bundle/18880/kingmaker-adventure-path" class="stretched-link"><span class="sr-only">Kingmaker Adventure Path</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Games</li> <li class="list-inline-item">Adventures</li> <li class="list-inline-item">Long Campaigns</li> </ul> </div> </div> </div> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/1475521/yCxlxwWz2CQB4VuIfFhpbg/thumb.jpg?1605113703108" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/1475521/yCxlxwWz2CQB4VuIfFhpbg/med.jpg?1605113703108> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Paizo</h5> <h6 class="card-title h5 text-truncate">Pathfinder Second Edition Beginner Box</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price">$29.99</span> <span class="item-currency">USD</span> </div> <span class="card-price"> </span> </div> <a href="https://marketplace.roll20.net/browse/bundle/8453/pathfinder-second-edition-beginner-box" class="stretched-link"><span class="sr-only">Pathfinder Second Edition Beginner Box</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Games</li> <li class="list-inline-item">RPG Rulebooks</li> <li class="list-inline-item">Core Games</li> </ul> </div> </div> </div> </div> </div> </div> </div> </section> <section id="section-paizo-new-releases" class="py-5" role="region"> <div class="container"> <div class="row align-items-center"> <div class="col-12"> <div class="d-flex justify-content-between mb-3 mb-md-2"> <h4 class="h2 m-0">Paizo New Releases</h4> <div class="align-self-end"> <a href="https://marketplace.roll20.net/browse/search?author=Paizo">view all <i class="far angle-right"></i></a> </div> </div> </div> <div class="col-12"> <div class="owl-carousel carousel-widget py-2" data-margin="20" data-nav="true" data-pagi="false" data-items-xs="2" data-items-sm="2" data-items-md="3" data-items-lg="4" data-items-xxxl="5"> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/4406764/DLC1pKVna9JTtwTqM7fpkQ/thumb.jpg?1741122469071" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/4406764/DLC1pKVna9JTtwTqM7fpkQ/med.jpg?1741122469071> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Paizo</h5> <h6 class="card-title h5 text-truncate">Pathfinder Adventure Path #212: A Voice in the Blight (Spore War 3 of 3) VTT Companion</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price">$12.99</span> <span class="item-currency">USD</span> </div> <span class="card-price"> </span> </div> <a href="https://marketplace.roll20.net/browse/bundle/35991/pathfinder-adventure-path-number-212-a-voice-in-the-blight-spore-war-3-of-3-vtt-companion" class="stretched-link"><span class="sr-only">Pathfinder Adventure Path #212: A Voice in the Blight (Spore War 3 of 3) VTT Companion</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Games</li> <li class="list-inline-item">Adventures</li> <li class="list-inline-item">Long Campaigns</li> </ul> </div> </div> </div> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/4405129/JqmV72JnPYr56-S3EZFrsA/thumb.jpg?1741120099630" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/4405129/JqmV72JnPYr56-S3EZFrsA/med.jpg?1741120099630> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Paizo</h5> <h6 class="card-title h5 text-truncate">NPC Core Art Pack Package</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price">$9.99</span> <span class="item-currency">USD</span> </div> <span class="card-price"> </span> </div> <a href="https://marketplace.roll20.net/browse/bundle/36215/npc-core-art-pack-package" class="stretched-link"><span class="sr-only">NPC Core Art Pack Package</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Art</li> <li class="list-inline-item">Tokens</li> <li class="list-inline-item">Bordered Tokens</li> </ul> </div> </div> </div> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/4404715/yevlCMnlkuyeZrd9L2YVVw/thumb.jpg?1741116717401" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/4404715/yevlCMnlkuyeZrd9L2YVVw/med.jpg?1741116717401> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Paizo</h5> <h6 class="card-title h5 text-truncate">Lost Omens: Rival Academies Art Pack</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price">$9.99</span> <span class="item-currency">USD</span> </div> <span class="card-price"> </span> </div> <a href="https://marketplace.roll20.net/browse/set/36214/lost-omens-rival-academies-art-pack" class="stretched-link"><span class="sr-only">Lost Omens: Rival Academies Art Pack</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Art</li> <li class="list-inline-item">Tokens</li> <li class="list-inline-item">Bordered Tokens</li> </ul> </div> </div> </div> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/4392426/r_40991PYG2xmlj2V1aiAg/thumb.jpg?1740437619698" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/4392426/r_40991PYG2xmlj2V1aiAg/med.jpg?1740437619698> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Paizo</h5> <h6 class="card-title h5 text-truncate">Return of the Runelords (3 of 6) - Runeplague</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price">$19.99</span> <span class="item-currency">USD</span> </div> <span class="card-price"> </span> </div> <a href="https://marketplace.roll20.net/browse/bundle/35994/return-of-the-runelords-3-of-6-runeplague" class="stretched-link"><span class="sr-only">Return of the Runelords (3 of 6) - Runeplague</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Games</li> <li class="list-inline-item">Adventures</li> <li class="list-inline-item">Long Campaigns</li> </ul> </div> </div> </div> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/4362147/V5m9DZcpCUgsWvZSp5jBxQ/thumb.jpg?1738615111016" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/4362147/V5m9DZcpCUgsWvZSp5jBxQ/med.jpg?1738615111016> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Paizo</h5> <h6 class="card-title h5 text-truncate">Pathfinder Adventure Path #211: The Secret of Deathstalk Tower (Spore War 2 of 3) VTT Companion</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price">$12.99</span> <span class="item-currency">USD</span> </div> <span class="card-price"> </span> </div> <a href="https://marketplace.roll20.net/browse/bundle/35750/pathfinder-adventure-path-number-211-the-secret-of-deathstalk-tower-spore-war-2-of-3-vtt-companion" class="stretched-link"><span class="sr-only">Pathfinder Adventure Path #211: The Secret of Deathstalk Tower (Spore War 2 of 3) VTT Companion</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Games</li> <li class="list-inline-item">Adventures</li> <li class="list-inline-item">Long Campaigns</li> </ul> </div> </div> </div> </div> </div> </div> </div> </section> <section id="section-rpg-rulebooks" class="py-5 bg-light" role="region"> <div class="container"> <div class="row align-items-center"> <div class="col-12"> <div class="d-flex justify-content-between mb-3 mb-md-2"> <h4 class="h2 m-0">RPG Rulebooks</h4> <div class="align-self-end"> <a href="https://marketplace.roll20.net/browse/search?category=Games:RPG%20Rulebooks">view all <i class="far angle-right"></i></a> </div> </div> </div> <div class="col-12"> <div class="owl-carousel carousel-widget py-2" data-margin="20" data-nav="true" data-pagi="false" data-items-xs="2" data-items-sm="2" data-items-md="3" data-items-lg="4" data-items-xxxl="5"> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/4425889/JKxBYlSdVI9DlpfO148oLg/thumb.png?1742606639383" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/4425889/JKxBYlSdVI9DlpfO148oLg/med.png?1742606639383> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Arcane Affinity</h5> <h6 class="card-title h5 text-truncate">Arcane Affinity Magic Item Bundle Vol 4</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price dynamic-price" data-itemid="36494">$22.37</span> <span class="item-currency">USD</span> </div> <p class="browse-discount browse-discount-hidden">-20%</p> </div> <a href="https://marketplace.roll20.net/browse/bundle/36494/arcane-affinity-magic-item-bundle-vol-4" class="stretched-link"><span class="sr-only">Arcane Affinity Magic Item Bundle Vol 4</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Games</li> <li class="list-inline-item">RPG Rulebooks</li> <li class="list-inline-item">Addons</li> </ul> </div> </div> </div> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/4262968/T1qycDb_QeYh0UtJQIYZjA/thumb.jpg?1734740153258" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/4262968/T1qycDb_QeYh0UtJQIYZjA/med.jpg?1734740153258> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Blue Crab Party</h5> <h6 class="card-title h5 text-truncate">PC Pack BUNDLE: HALFLINGS</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price dynamic-price" data-itemid="35144">FREE</span> <span class="item-currency">USD</span> </div> <p class="browse-discount browse-discount-hidden">-20%</p> </div> <a href="https://marketplace.roll20.net/browse/bundle/35144/pc-pack-bundle-halflings" class="stretched-link"><span class="sr-only">PC Pack BUNDLE: HALFLINGS</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Games</li> <li class="list-inline-item">RPG Rulebooks</li> <li class="list-inline-item">Addons</li> </ul> </div> </div> </div> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/4424549/P-zogBfNpRSOPSw95JpXHg/thumb.png?1742428633243" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/4424549/P-zogBfNpRSOPSw95JpXHg/med.png?1742428633243> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Onyx Path Publishing</h5> <h6 class="card-title h5 text-truncate">Scion Second Edition - Book One Origin</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price">$19.99</span> <span class="item-currency">USD</span> </div> <span class="card-price"> </span> </div> <a href="https://marketplace.roll20.net/browse/bundle/36460/scion-second-edition-book-one-origin" class="stretched-link"><span class="sr-only">Scion Second Edition - Book One Origin</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Games</li> <li class="list-inline-item">RPG Rulebooks</li> <li class="list-inline-item">Core Games</li> </ul> </div> </div> </div> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/4424561/CKHSN-IkLm0FsuC1PhONHQ/thumb.png?1742428813068" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/4424561/CKHSN-IkLm0FsuC1PhONHQ/med.png?1742428813068> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Onyx Path Publishing</h5> <h6 class="card-title h5 text-truncate">Scion Second Edition - Book Two Hero</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price">$19.99</span> <span class="item-currency">USD</span> </div> <span class="card-price"> </span> </div> <a href="https://marketplace.roll20.net/browse/bundle/36459/scion-second-edition-book-two-hero" class="stretched-link"><span class="sr-only">Scion Second Edition - Book Two Hero</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Games</li> <li class="list-inline-item">RPG Rulebooks</li> <li class="list-inline-item">Core Games</li> </ul> </div> </div> </div> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/4425312/s1j7BTo3I7uVPxIIAq2UKg/thumb.png?1742558843152" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/4425312/s1j7BTo3I7uVPxIIAq2UKg/med.png?1742558843152> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Arcane Affinity</h5> <h6 class="card-title h5 text-truncate">Magic Items Vol 16: Dragon's Horde</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price">$6.99</span> <span class="item-currency">USD</span> </div> <span class="card-price"> </span> </div> <a href="https://marketplace.roll20.net/browse/gameaddon/36477/magic-items-vol-16-dragons-horde" class="stretched-link"><span class="sr-only">Magic Items Vol 16: Dragon's Horde</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Games</li> <li class="list-inline-item">RPG Rulebooks</li> <li class="list-inline-item">Addons</li> </ul> </div> </div> </div> </div> </div> </div> </div> </section> <section id="section-adventures" class="py-5" role="region"> <div class="container"> <div class="row align-items-center"> <div class="col-12"> <div class="d-flex justify-content-between mb-3 mb-md-2"> <h4 class="h2 m-0">Adventures</h4> <div class="align-self-end"> <a href="https://marketplace.roll20.net/browse/search?category=Games:Adventures">view all <i class="far angle-right"></i></a> </div> </div> </div> <div class="col-12"> <div class="owl-carousel carousel-widget py-2" data-margin="20" data-nav="true" data-pagi="false" data-items-xs="2" data-items-sm="2" data-items-md="3" data-items-lg="4" data-items-xxxl="5"> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/4428946/wskdkVqg1hCMGBuhggQqOg/thumb.jpg?1742840537597" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/4428946/wskdkVqg1hCMGBuhggQqOg/med.jpg?1742840537597> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Elven Tower Adventures</h5> <h6 class="card-title h5 text-truncate">The Winter Museum - Level-5 Adventure</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price">$9.99</span> <span class="item-currency">USD</span> </div> <span class="card-price"> </span> </div> <a href="https://marketplace.roll20.net/browse/gameaddon/36529/the-winter-museum-level-5-adventure" class="stretched-link"><span class="sr-only">The Winter Museum - Level-5 Adventure</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Games</li> <li class="list-inline-item">Adventures</li> <li class="list-inline-item">One Shots</li> </ul> </div> </div> </div> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/4428690/oKn5nYaHlZ-IB0UhgBzAtQ/thumb.jpg?1742816441224" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/4428690/oKn5nYaHlZ-IB0UhgBzAtQ/med.jpg?1742816441224> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Sponge of Wonder</h5> <h6 class="card-title h5 text-truncate">Three Feasts</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price dynamic-price" data-itemid="36526">$18.17</span> <span class="item-currency">USD</span> </div> <p class="browse-discount browse-discount-hidden">-30%</p> </div> <a href="https://marketplace.roll20.net/browse/bundle/36526/three-feasts" class="stretched-link"><span class="sr-only">Three Feasts</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Games</li> <li class="list-inline-item">Adventures</li> <li class="list-inline-item">Short Campaigns</li> </ul> </div> </div> </div> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/4424928/JvsWdD6lkx959iPo4mgywg/thumb.png?1742490612977" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/4424928/JvsWdD6lkx959iPo4mgywg/med.png?1742490612977> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Aenarion's Coven</h5> <h6 class="card-title h5 text-truncate">Hunting the Mutineer Bard</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price">$5.99</span> <span class="item-currency">USD</span> </div> <span class="card-price"> </span> </div> <a href="https://marketplace.roll20.net/browse/gameaddon/36466/hunting-the-mutineer-bard" class="stretched-link"><span class="sr-only">Hunting the Mutineer Bard</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Games</li> <li class="list-inline-item">Adventures</li> <li class="list-inline-item">Short Campaigns</li> </ul> </div> </div> </div> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/4420627/i7Jbj_opbqZdDJyTJ02bBA/thumb.jpg?1742221796728" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/4420627/i7Jbj_opbqZdDJyTJ02bBA/med.jpg?1742221796728> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Aenarion's Coven</h5> <h6 class="card-title h5 text-truncate">The Phantom Captain</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price">$4.99</span> <span class="item-currency">USD</span> </div> <span class="card-price"> </span> </div> <a href="https://marketplace.roll20.net/browse/gameaddon/36422/the-phantom-captain" class="stretched-link"><span class="sr-only">The Phantom Captain</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Games</li> <li class="list-inline-item">Adventures</li> <li class="list-inline-item">One Shots</li> </ul> </div> </div> </div> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/4423420/3dxApgA9lLPy68sQutUrNw/thumb.jpg?1742316142156" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/4423420/3dxApgA9lLPy68sQutUrNw/med.jpg?1742316142156> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Sponge of Wonder</h5> <h6 class="card-title h5 text-truncate">Pond Of Plunder</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price">$4.99</span> <span class="item-currency">USD</span> </div> <span class="card-price"> </span> </div> <a href="https://marketplace.roll20.net/browse/gameaddon/36441/pond-of-plunder" class="stretched-link"><span class="sr-only">Pond Of Plunder</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Games</li> <li class="list-inline-item">Adventures</li> <li class="list-inline-item">One Shots</li> </ul> </div> </div> </div> </div> </div> </div> </div> </section> <section id="section-maps" class="py-5 bg-light" role="region"> <div class="container"> <div class="row align-items-center"> <div class="col-12"> <div class="d-flex justify-content-between mb-3 mb-md-2"> <h4 class="h2 m-0">Maps</h4> <div class="align-self-end"> <a href="https://marketplace.roll20.net/browse/search?category=Art:Maps">view all <i class="far angle-right"></i></a> </div> </div> </div> <div class="col-12"> <div class="owl-carousel carousel-widget py-2" data-margin="20" data-nav="true" data-pagi="false" data-items-xs="2" data-items-sm="2" data-items-md="3" data-items-lg="4" data-items-xxxl="5"> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/4428669/4MScXN-N-fC1ioWkZ6j8bA/thumb.jpg?1742797714615" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/4428669/4MScXN-N-fC1ioWkZ6j8bA/med.jpg?1742797714615> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Angela Maps</h5> <h6 class="card-title h5 text-truncate">Halfling Village (animated) Dynamic</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price">$5.99</span> <span class="item-currency">USD</span> </div> <span class="card-price"> </span> </div> <a href="https://marketplace.roll20.net/browse/gameaddon/36525/halfling-village-animated-dynamic" class="stretched-link"><span class="sr-only">Halfling Village (animated) Dynamic</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Art</li> <li class="list-inline-item">Maps</li> <li class="list-inline-item">Dynamically Lit Maps</li> </ul> </div> </div> </div> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/4424107/rtVuquv9aaARxKFUTo0eoQ/thumb.jpg?1742393781894" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/4424107/rtVuquv9aaARxKFUTo0eoQ/med.jpg?1742393781894> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Angela Maps</h5> <h6 class="card-title h5 text-truncate">Halfling Village (animated)</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price">$4.99</span> <span class="item-currency">USD</span> </div> <span class="card-price"> </span> </div> <a href="https://marketplace.roll20.net/browse/set/36453/halfling-village-animated" class="stretched-link"><span class="sr-only">Halfling Village (animated)</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Art</li> <li class="list-inline-item">Maps</li> <li class="list-inline-item">Map Packs</li> </ul> </div> </div> </div> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/4429269/LemWF8YpHgnbWxtzWFJA2A/thumb.png?1742848853566" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/4429269/LemWF8YpHgnbWxtzWFJA2A/med.png?1742848853566> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Rhasmus</h5> <h6 class="card-title h5 text-truncate">Underground Camp</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price">$4.99</span> <span class="item-currency">USD</span> </div> <span class="card-price"> </span> </div> <a href="https://marketplace.roll20.net/browse/set/36507/underground-camp" class="stretched-link"><span class="sr-only">Underground Camp</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Art</li> <li class="list-inline-item">Maps</li> <li class="list-inline-item">Map Packs</li> </ul> </div> </div> </div> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/4429256/9_RiAAcy_uhdhOkOX3wzNA/thumb.png?1742847944647" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/4429256/9_RiAAcy_uhdhOkOX3wzNA/med.png?1742847944647> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Rhasmus</h5> <h6 class="card-title h5 text-truncate">The Temple of the Moon - Day and Night</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price">$4.99</span> <span class="item-currency">USD</span> </div> <span class="card-price"> </span> </div> <a href="https://marketplace.roll20.net/browse/set/36506/the-temple-of-the-moon-day-and-night" class="stretched-link"><span class="sr-only">The Temple of the Moon - Day and Night</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Art</li> <li class="list-inline-item">Maps</li> <li class="list-inline-item">Map Packs</li> </ul> </div> </div> </div> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/4429249/Bh9gRZsiNkuJ2IuA1KVM-g/thumb.png?1742847632237" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/4429249/Bh9gRZsiNkuJ2IuA1KVM-g/med.png?1742847632237> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Rhasmus</h5> <h6 class="card-title h5 text-truncate">The Path</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price">$4.99</span> <span class="item-currency">USD</span> </div> <span class="card-price"> </span> </div> <a href="https://marketplace.roll20.net/browse/set/36505/the-path" class="stretched-link"><span class="sr-only">The Path</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Art</li> <li class="list-inline-item">Maps</li> <li class="list-inline-item">Map Packs</li> </ul> </div> </div> </div> </div> </div> </div> </div> </section> <section id="section-token-packs" class="py-5" role="region"> <div class="container"> <div class="row align-items-center"> <div class="col-12"> <div class="d-flex justify-content-between mb-3 mb-md-2"> <h4 class="h2 m-0">Token Packs</h4> <div class="align-self-end"> <a href="https://marketplace.roll20.net/browse/search?category=Art:Tokens">view all <i class="far angle-right"></i></a> </div> </div> </div> <div class="col-12"> <div class="owl-carousel carousel-widget py-2" data-margin="20" data-nav="true" data-pagi="false" data-items-xs="2" data-items-sm="2" data-items-md="3" data-items-lg="4" data-items-xxxl="5"> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/4427710/RqWqqDq_xpe45GvGtBswQA/thumb.png?1742692019720" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/4427710/RqWqqDq_xpe45GvGtBswQA/med.png?1742692019720> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Elton's Fantastic Workshop</h5> <h6 class="card-title h5 text-truncate">Undead Pack n.1</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price">$4.99</span> <span class="item-currency">USD</span> </div> <span class="card-price"> </span> </div> <a href="https://marketplace.roll20.net/browse/set/36346/undead-pack-n-dot-1" class="stretched-link"><span class="sr-only">Undead Pack n.1</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Art</li> <li class="list-inline-item">Tokens</li> <li class="list-inline-item">Figures</li> </ul> </div> </div> </div> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/4428130/i95gsSsRW8lTnZ1Qb-5jkg/thumb.jpg?1742747443104" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/4428130/i95gsSsRW8lTnZ1Qb-5jkg/med.jpg?1742747443104> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Torekdva</h5> <h6 class="card-title h5 text-truncate">Tavern Token Border</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price">$4.99</span> <span class="item-currency">USD</span> </div> <span class="card-price"> </span> </div> <a href="https://marketplace.roll20.net/browse/set/36519/tavern-token-border" class="stretched-link"><span class="sr-only">Tavern Token Border</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Art</li> <li class="list-inline-item">Tokens</li> <li class="list-inline-item">Token Elements</li> </ul> </div> </div> </div> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/4427737/8Yls3E_E92Eji8McPejY3A/thumb.jpg?1742721752630" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/4427737/8Yls3E_E92Eji8McPejY3A/med.jpg?1742721752630> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Magog's Maps</h5> <h6 class="card-title h5 text-truncate">Galactic Explorer Pack</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price">$4.99</span> <span class="item-currency">USD</span> </div> <span class="card-price"> </span> </div> <a href="https://marketplace.roll20.net/browse/set/36514/galactic-explorer-pack" class="stretched-link"><span class="sr-only">Galactic Explorer Pack</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Art</li> <li class="list-inline-item">Tokens</li> <li class="list-inline-item">Figures</li> </ul> </div> </div> </div> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/4424084/2q2erqAmr6v1ND69wQG9cQ/thumb.jpg?1742384038122" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/4424084/2q2erqAmr6v1ND69wQG9cQ/med.jpg?1742384038122> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Magog's Maps</h5> <h6 class="card-title h5 text-truncate">Empire's Elite Pack</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price">$4.99</span> <span class="item-currency">USD</span> </div> <span class="card-price"> </span> </div> <a href="https://marketplace.roll20.net/browse/set/36452/empires-elite-pack" class="stretched-link"><span class="sr-only">Empire's Elite Pack</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Art</li> <li class="list-inline-item">Tokens</li> <li class="list-inline-item">Figures</li> </ul> </div> </div> </div> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/4424083/tRS5AIk5hEFH3V5Y38dzoQ/thumb.jpg?1742384028911" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/4424083/tRS5AIk5hEFH3V5Y38dzoQ/med.jpg?1742384028911> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Magog's Maps</h5> <h6 class="card-title h5 text-truncate">Confederate Command Pack</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price">$4.99</span> <span class="item-currency">USD</span> </div> <span class="card-price"> </span> </div> <a href="https://marketplace.roll20.net/browse/set/36450/confederate-command-pack" class="stretched-link"><span class="sr-only">Confederate Command Pack</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Art</li> <li class="list-inline-item">Tokens</li> <li class="list-inline-item">Figures</li> </ul> </div> </div> </div> </div> </div> </div> </div> </section> <section id="section-evil-hat-productions" class="py-5 bg-light" role="region"> <div class="container"> <div class="row align-items-center"> <div class="col-12"> <div class="d-flex justify-content-between mb-3 mb-md-2"> <h4 class="h2 m-0">Evil Hat Productions</h4> <div class="align-self-end"> <a href="https://marketplace.roll20.net/browse/search?author=Evil%20Hat%20Productions">view all <i class="far angle-right"></i></a> </div> </div> </div> <div class="col-12"> <div class="owl-carousel carousel-widget py-2" data-margin="20" data-nav="true" data-pagi="false" data-items-xs="2" data-items-sm="2" data-items-md="3" data-items-lg="4" data-items-xxxl="5"> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/4371545/4H3ZGx5VxWn8j8A9u7Tk-g/thumb.png?1739220242480" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/4371545/4H3ZGx5VxWn8j8A9u7Tk-g/med.png?1739220242480> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Evil Hat Productions</h5> <h6 class="card-title h5 text-truncate">City of Red Waters - A Blades in the Dark Setting</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price">$9.99</span> <span class="item-currency">USD</span> </div> <span class="card-price"> </span> </div> <a href="https://marketplace.roll20.net/browse/compendiumexpansion/31791/city-of-red-waters-a-blades-in-the-dark-setting" class="stretched-link"><span class="sr-only">City of Red Waters - A Blades in the Dark Setting</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Games</li> <li class="list-inline-item">Adventures</li> <li class="list-inline-item">Long Campaigns</li> </ul> </div> </div> </div> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/4211386/_xFDRX20I5_swlJS1OQd8g/thumb.png?1732326475110" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/4211386/_xFDRX20I5_swlJS1OQd8g/med.png?1732326475110> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Evil Hat Productions</h5> <h6 class="card-title h5 text-truncate">Stewpot: Tales from a Fantasy Tavern</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price">$24.99</span> <span class="item-currency">USD</span> </div> <span class="card-price"> </span> </div> <a href="https://marketplace.roll20.net/browse/bundle/34716/stewpot-tales-from-a-fantasy-tavern" class="stretched-link"><span class="sr-only">Stewpot: Tales from a Fantasy Tavern</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Games</li> <li class="list-inline-item">RPG Rulebooks</li> <li class="list-inline-item">Core Games</li> </ul> </div> </div> </div> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/4001829/a_E7-D5f2oCa7dGyvVuFeQ/thumb.png?1720561946293" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/4001829/a_E7-D5f2oCa7dGyvVuFeQ/med.png?1720561946293> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Evil Hat Productions</h5> <h6 class="card-title h5 text-truncate">Monster of the Week | Codex of Worlds: Apocrypha</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price">$24.99</span> <span class="item-currency">USD</span> </div> <span class="card-price"> </span> </div> <a href="https://marketplace.roll20.net/browse/bundle/32329/monster-of-the-week-codex-of-worlds-apocrypha" class="stretched-link"><span class="sr-only">Monster of the Week | Codex of Worlds: Apocrypha</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Games</li> <li class="list-inline-item">Adventures</li> <li class="list-inline-item">Short Campaigns</li> </ul> </div> </div> </div> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/3984977/bFGMEOwAdBdOV9l1nguQzQ/thumb.png?1719774572173" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/3984977/bFGMEOwAdBdOV9l1nguQzQ/med.png?1719774572173> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Evil Hat Productions</h5> <h6 class="card-title h5 text-truncate">Monster of the Week | Codex of Worlds: Modern Haunts</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price">$14.99</span> <span class="item-currency">USD</span> </div> <span class="card-price"> </span> </div> <a href="https://marketplace.roll20.net/browse/bundle/32120/monster-of-the-week-codex-of-worlds-modern-haunts" class="stretched-link"><span class="sr-only">Monster of the Week | Codex of Worlds: Modern Haunts</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Games</li> <li class="list-inline-item">Adventures</li> <li class="list-inline-item">Long Campaigns</li> </ul> </div> </div> </div> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/3925498/Xa1Rpddn1Q84-1YonhLqww/thumb.png?1715038571898" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/3925498/Xa1Rpddn1Q84-1YonhLqww/med.png?1715038571898> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Evil Hat Productions</h5> <h6 class="card-title h5 text-truncate">Apocalypse Keys: Doomsday Delights</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price">$9.99</span> <span class="item-currency">USD</span> </div> <span class="card-price"> </span> </div> <a href="https://marketplace.roll20.net/browse/bundle/31303/apocalypse-keys-doomsday-delights" class="stretched-link"><span class="sr-only">Apocalypse Keys: Doomsday Delights</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Games</li> <li class="list-inline-item">RPG Rulebooks</li> <li class="list-inline-item">Rules Expansions</li> </ul> </div> </div> </div> </div> </div> </div> </div> </section> <section id="section-chaosium-inc." class="py-5" role="region"> <div class="container"> <div class="row align-items-center"> <div class="col-12"> <div class="d-flex justify-content-between mb-3 mb-md-2"> <h4 class="h2 m-0">Chaosium Inc.</h4> <div class="align-self-end"> <a href="https://marketplace.roll20.net/browse/search?author=Chaosium%20Inc.">view all <i class="far angle-right"></i></a> </div> </div> </div> <div class="col-12"> <div class="owl-carousel carousel-widget py-2" data-margin="20" data-nav="true" data-pagi="false" data-items-xs="2" data-items-sm="2" data-items-md="3" data-items-lg="4" data-items-xxxl="5"> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/4371109/w1AA71mQwcHf9wi9U6n0MQ/thumb.png?1739162533916" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/4371109/w1AA71mQwcHf9wi9U6n0MQ/med.png?1739162533916> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Chaosium Inc.</h5> <h6 class="card-title h5 text-truncate">The Two-Headed Serpent</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price">$22.49</span> <span class="item-currency">USD</span> </div> <span class="card-price"> </span> </div> <a href="https://marketplace.roll20.net/browse/bundle/35796/the-two-headed-serpent" class="stretched-link"><span class="sr-only">The Two-Headed Serpent</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Games</li> <li class="list-inline-item">Adventures</li> <li class="list-inline-item">Long Campaigns</li> </ul> </div> </div> </div> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/4353986/oAH6vNBSCgGH81zSNlrk3Q/thumb.png?1738288416670" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/4353986/oAH6vNBSCgGH81zSNlrk3Q/med.png?1738288416670> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Chaosium Inc.</h5> <h6 class="card-title h5 text-truncate">Does Love Forgive</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price">$6.99</span> <span class="item-currency">USD</span> </div> <span class="card-price"> </span> </div> <a href="https://marketplace.roll20.net/browse/bundle/35659/does-love-forgive" class="stretched-link"><span class="sr-only">Does Love Forgive</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Games</li> <li class="list-inline-item">Adventures</li> <li class="list-inline-item">One Shots</li> </ul> </div> </div> </div> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/4166193/y8ZtB0tAT56jz2F9WazVSA/thumb.png?1730173899340" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/4166193/y8ZtB0tAT56jz2F9WazVSA/med.png?1730173899340> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Chaosium Inc.</h5> <h6 class="card-title h5 text-truncate">No Time to Scream</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price">$14.99</span> <span class="item-currency">USD</span> </div> <span class="card-price"> </span> </div> <a href="https://marketplace.roll20.net/browse/bundle/34333/no-time-to-scream" class="stretched-link"><span class="sr-only">No Time to Scream</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Games</li> <li class="list-inline-item">Adventures</li> <li class="list-inline-item">One Shots</li> </ul> </div> </div> </div> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/4120134/iGREbE57g2w05oEbczse-Q/thumb.png?1727066497287" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/4120134/iGREbE57g2w05oEbczse-Q/med.png?1727066497287> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Chaosium Inc.</h5> <h6 class="card-title h5 text-truncate">The Order of the Stone</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price">$14.99</span> <span class="item-currency">USD</span> </div> <span class="card-price"> </span> </div> <a href="https://marketplace.roll20.net/browse/bundle/33749/the-order-of-the-stone" class="stretched-link"><span class="sr-only">The Order of the Stone</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Games</li> <li class="list-inline-item">Adventures</li> <li class="list-inline-item">Long Campaigns</li> </ul> </div> </div> </div> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/3961660/G_NK0kF5n7j_8K1S82zLpA/thumb.png?1718003440891" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/3961660/G_NK0kF5n7j_8K1S82zLpA/med.png?1718003440891> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Chaosium Inc.</h5> <h6 class="card-title h5 text-truncate">The Grey Knight Module</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price">$14.99</span> <span class="item-currency">USD</span> </div> <span class="card-price"> </span> </div> <a href="https://marketplace.roll20.net/browse/module/31827/the-grey-knight-module" class="stretched-link"><span class="sr-only">The Grey Knight Module</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Games</li> <li class="list-inline-item">Adventures</li> <li class="list-inline-item">Short Campaigns</li> </ul> </div> </div> </div> </div> </div> </div> </div> </section> <section id="section-kobold-press" class="py-5 bg-light" role="region"> <div class="container"> <div class="row align-items-center"> <div class="col-12"> <div class="d-flex justify-content-between mb-3 mb-md-2"> <h4 class="h2 m-0">Kobold Press</h4> <div class="align-self-end"> <a href="https://marketplace.roll20.net/browse/search?author=Kobold%20Press">view all <i class="far angle-right"></i></a> </div> </div> </div> <div class="col-12"> <div class="owl-carousel carousel-widget py-2" data-margin="20" data-nav="true" data-pagi="false" data-items-xs="2" data-items-sm="2" data-items-md="3" data-items-lg="4" data-items-xxxl="5"> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/4374986/i-g_Y5quwklo1j6teIWHZA/thumb.jpg?1739295509514" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/4374986/i-g_Y5quwklo1j6teIWHZA/med.jpg?1739295509514> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Kobold Press</h5> <h6 class="card-title h5 text-truncate">Campaign Builder: Dungeons &amp; Ruins</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price">$29.99</span> <span class="item-currency">USD</span> </div> <span class="card-price"> </span> </div> <a href="https://marketplace.roll20.net/browse/bundle/35888/campaign-builder-dungeons-and-ruins" class="stretched-link"><span class="sr-only">Campaign Builder: Dungeons &amp; Ruins</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Games</li> <li class="list-inline-item">RPG Rulebooks</li> <li class="list-inline-item">Rules Expansions</li> </ul> </div> </div> </div> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/4132640/rEA3yCOu7ENLk3bPF3as1Q/thumb.png?1727804584695" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/4132640/rEA3yCOu7ENLk3bPF3as1Q/med.png?1727804584695> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Kobold Press</h5> <h6 class="card-title h5 text-truncate">Kobold Press 5E Adventure Bundle</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price">$39.98</span> <span class="item-currency">USD</span> </div> </div> <a href="https://marketplace.roll20.net/browse/bundle/33331/kobold-press-5e-adventure-bundle" class="stretched-link"><span class="sr-only">Kobold Press 5E Adventure Bundle</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Games</li> <li class="list-inline-item">Adventures</li> <li class="list-inline-item">Short Campaigns</li> </ul> </div> </div> </div> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/3933205/wNb3pY3pwg0HnVs5Acsvyw/thumb.png?1715606575519" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/3933205/wNb3pY3pwg0HnVs5Acsvyw/med.png?1715606575519> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Kobold Press</h5> <h6 class="card-title h5 text-truncate">Midgard Worldbook</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price">$29.49</span> <span class="item-currency">USD</span> </div> <span class="card-price"> </span> </div> <a href="https://marketplace.roll20.net/browse/compendiumexpansion/30466/midgard-worldbook" class="stretched-link"><span class="sr-only">Midgard Worldbook</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Games</li> <li class="list-inline-item">RPG Rulebooks</li> <li class="list-inline-item">Rules Expansions</li> </ul> </div> </div> </div> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/3642717/PzrXu8nSTPTllbePBF6dYw/thumb.png?1698193424706" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/3642717/PzrXu8nSTPTllbePBF6dYw/med.png?1698193424706> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Kobold Press</h5> <h6 class="card-title h5 text-truncate">Deep Magic Volume 2</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price">$39.99</span> <span class="item-currency">USD</span> </div> <span class="card-price"> </span> </div> <a href="https://marketplace.roll20.net/browse/bundle/27670/deep-magic-volume-2" class="stretched-link"><span class="sr-only">Deep Magic Volume 2</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Games</li> <li class="list-inline-item">RPG Rulebooks</li> <li class="list-inline-item">Rules Expansions</li> </ul> </div> </div> </div> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/3642713/-Ube9IJ7_ofqF-OONo7Jlg/thumb.png?1698193088775" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/3642713/-Ube9IJ7_ofqF-OONo7Jlg/med.png?1698193088775> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Kobold Press</h5> <h6 class="card-title h5 text-truncate">Deep Magic Volume 1</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price">$39.99</span> <span class="item-currency">USD</span> </div> <span class="card-price"> </span> </div> <a href="https://marketplace.roll20.net/browse/bundle/27668/deep-magic-volume-1" class="stretched-link"><span class="sr-only">Deep Magic Volume 1</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Games</li> <li class="list-inline-item">RPG Rulebooks</li> <li class="list-inline-item">Rules Expansions</li> </ul> </div> </div> </div> </div> </div> </div> </div> </section> <section id="section-free-league-publishing" class="py-5" role="region"> <div class="container"> <div class="row align-items-center"> <div class="col-12"> <div class="d-flex justify-content-between mb-3 mb-md-2"> <h4 class="h2 m-0">Free League Publishing</h4> <div class="align-self-end"> <a href="https://marketplace.roll20.net/browse/search?author=Free%20League%20Publishing">view all <i class="far angle-right"></i></a> </div> </div> </div> <div class="col-12"> <div class="owl-carousel carousel-widget py-2" data-margin="20" data-nav="true" data-pagi="false" data-items-xs="2" data-items-sm="2" data-items-md="3" data-items-lg="4" data-items-xxxl="5"> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/4075555/SGCQxcL8cV_9kdrvXZLTxQ/thumb.png?1724866538647" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/4075555/SGCQxcL8cV_9kdrvXZLTxQ/med.png?1724866538647> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Free League Publishing</h5> <h6 class="card-title h5 text-truncate">Walking Dead Universe Starter Bundle</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price dynamic-price" data-itemid="33214">$47.98</span> <span class="item-currency">USD</span> </div> <p class="browse-discount browse-discount-hidden">-20%</p> </div> <a href="https://marketplace.roll20.net/browse/bundle/33214/walking-dead-universe-starter-bundle" class="stretched-link"><span class="sr-only">Walking Dead Universe Starter Bundle</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Games</li> <li class="list-inline-item">RPG Rulebooks</li> <li class="list-inline-item">Core Games</li> </ul> </div> </div> </div> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/3955512/wA9Xeor0PmU7zREY80xrbQ/thumb.jpg?1717448475888" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/3955512/wA9Xeor0PmU7zREY80xrbQ/med.jpg?1717448475888> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Free League Publishing</h5> <h6 class="card-title h5 text-truncate">The Walking Dead Universe - Roleplaying Starter Set</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price">$29.99</span> <span class="item-currency">USD</span> </div> <span class="card-price"> </span> </div> <a href="https://marketplace.roll20.net/browse/bundle/31714/the-walking-dead-universe-roleplaying-starter-set" class="stretched-link"><span class="sr-only">The Walking Dead Universe - Roleplaying Starter Set</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Games</li> <li class="list-inline-item">Adventures</li> <li class="list-inline-item">Quickstart</li> </ul> </div> </div> </div> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/3955702/urgVwy_4eykuiBfwO9KvlA/thumb.jpg?1717452018656" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/3955702/urgVwy_4eykuiBfwO9KvlA/med.jpg?1717452018656> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Free League Publishing</h5> <h6 class="card-title h5 text-truncate">The Walking Dead Universe - Roleplaying Core Rules Set</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price">$29.99</span> <span class="item-currency">USD</span> </div> <span class="card-price"> </span> </div> <a href="https://marketplace.roll20.net/browse/bundle/30539/the-walking-dead-universe-roleplaying-core-rules-set" class="stretched-link"><span class="sr-only">The Walking Dead Universe - Roleplaying Core Rules Set</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Games</li> <li class="list-inline-item">RPG Rulebooks</li> <li class="list-inline-item">Core Games</li> </ul> </div> </div> </div> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/3410838/eJbjY8N-fqFcyDCw-nwo-g/thumb.png?1689369162062" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/3410838/eJbjY8N-fqFcyDCw-nwo-g/med.png?1689369162062> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Free League Publishing</h5> <h6 class="card-title h5 text-truncate">Dragonbane - Core Set</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price">$29.99</span> <span class="item-currency">USD</span> </div> <span class="card-price"> </span> </div> <a href="https://marketplace.roll20.net/browse/bundle/25542/dragonbane-core-set" class="stretched-link"><span class="sr-only">Dragonbane - Core Set</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Games</li> <li class="list-inline-item">RPG Rulebooks</li> <li class="list-inline-item">Core Games</li> </ul> </div> </div> </div> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/3116471/v5QkwmsEq_iS2UddW4Em7A/thumb.png?1678826110997" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/3116471/v5QkwmsEq_iS2UddW4Em7A/med.png?1678826110997> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Free League Publishing</h5> <h6 class="card-title h5 text-truncate">Alien - Heart of Darkness Package</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price">$19.99</span> <span class="item-currency">USD</span> </div> <span class="card-price"> </span> </div> <a href="https://marketplace.roll20.net/browse/bundle/22637/alien-heart-of-darkness-package" class="stretched-link"><span class="sr-only">Alien - Heart of Darkness Package</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Games</li> <li class="list-inline-item">Adventures</li> <li class="list-inline-item">Long Campaigns</li> </ul> </div> </div> </div> </div> </div> </div> </div> </section> <section id="section-bring-your-games-to-life!" class="py-5 bg-light" role="region"> <div class="container"> <div class="row align-items-center"> <div class="col-12"> <div class="d-flex justify-content-between mb-3 mb-md-2"> <h4 class="h2 m-0">Bring Your Games to Life!</h4> <div class="align-self-end"> <a href="https://marketplace.roll20.net/browse/search?tag=Features:Animated">view all <i class="far angle-right"></i></a> </div> </div> </div> <div class="col-12"> <div class="owl-carousel carousel-widget py-2" data-margin="20" data-nav="true" data-pagi="false" data-items-xs="2" data-items-sm="2" data-items-md="3" data-items-lg="4" data-items-xxxl="5"> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/4428669/4MScXN-N-fC1ioWkZ6j8bA/thumb.jpg?1742797714615" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/4428669/4MScXN-N-fC1ioWkZ6j8bA/med.jpg?1742797714615> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Angela Maps</h5> <h6 class="card-title h5 text-truncate">Halfling Village (animated) Dynamic</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price">$5.99</span> <span class="item-currency">USD</span> </div> <span class="card-price"> </span> </div> <a href="https://marketplace.roll20.net/browse/gameaddon/36525/halfling-village-animated-dynamic" class="stretched-link"><span class="sr-only">Halfling Village (animated) Dynamic</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Art</li> <li class="list-inline-item">Maps</li> <li class="list-inline-item">Dynamically Lit Maps</li> </ul> </div> </div> </div> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/4424107/rtVuquv9aaARxKFUTo0eoQ/thumb.jpg?1742393781894" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/4424107/rtVuquv9aaARxKFUTo0eoQ/med.jpg?1742393781894> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Angela Maps</h5> <h6 class="card-title h5 text-truncate">Halfling Village (animated)</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price">$4.99</span> <span class="item-currency">USD</span> </div> <span class="card-price"> </span> </div> <a href="https://marketplace.roll20.net/browse/set/36453/halfling-village-animated" class="stretched-link"><span class="sr-only">Halfling Village (animated)</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Art</li> <li class="list-inline-item">Maps</li> <li class="list-inline-item">Map Packs</li> </ul> </div> </div> </div> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/4425288/Uy27G36jAKE_qNJzyNDM8Q/thumb.jpg?1742551574155" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/4425288/Uy27G36jAKE_qNJzyNDM8Q/med.jpg?1742551574155> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Advanced Battlemaps</h5> <h6 class="card-title h5 text-truncate">City Wall - Complete Map-Set</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price dynamic-price" data-itemid="36168">$20.96</span> <span class="item-currency">USD</span> </div> <p class="browse-discount browse-discount-hidden">-30%</p> </div> <a href="https://marketplace.roll20.net/browse/bundle/36168/city-wall-complete-map-set" class="stretched-link"><span class="sr-only">City Wall - Complete Map-Set</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Art</li> <li class="list-inline-item">Maps</li> <li class="list-inline-item">Map Packs</li> </ul> </div> </div> </div> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/4425287/z3NNqtWtmkflBQzQquYBbQ/thumb.jpg?1742551061766" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/4425287/z3NNqtWtmkflBQzQquYBbQ/med.jpg?1742551061766> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Advanced Battlemaps</h5> <h6 class="card-title h5 text-truncate">City Wall - West Gate - Part 1/6</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price">$4.99</span> <span class="item-currency">USD</span> </div> <span class="card-price"> </span> </div> <a href="https://marketplace.roll20.net/browse/set/36167/city-wall-west-gate-part-1-slash-6" class="stretched-link"><span class="sr-only">City Wall - West Gate - Part 1/6</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Art</li> <li class="list-inline-item">Maps</li> <li class="list-inline-item">Map Packs</li> </ul> </div> </div> </div> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/4425422/0ya6UzWdxKONVGs1KpIQJg/thumb.jpg?1742567860642" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/4425422/0ya6UzWdxKONVGs1KpIQJg/med.jpg?1742567860642> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Advanced Battlemaps</h5> <h6 class="card-title h5 text-truncate">City Wall - West Wall - Part 2/6</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price">$4.99</span> <span class="item-currency">USD</span> </div> <span class="card-price"> </span> </div> <a href="https://marketplace.roll20.net/browse/set/36166/city-wall-west-wall-part-2-slash-6" class="stretched-link"><span class="sr-only">City Wall - West Wall - Part 2/6</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Art</li> <li class="list-inline-item">Maps</li> <li class="list-inline-item">Map Packs</li> </ul> </div> </div> </div> </div> </div> </div> </div> </section> <section id="section-objects" class="py-5" role="region"> <div class="container"> <div class="row align-items-center"> <div class="col-12"> <div class="d-flex justify-content-between mb-3 mb-md-2"> <h4 class="h2 m-0">Objects</h4> <div class="align-self-end"> <a href="https://marketplace.roll20.net/browse/search?category=Art:Objects">view all <i class="far angle-right"></i></a> </div> </div> </div> <div class="col-12"> <div class="owl-carousel carousel-widget py-2" data-margin="20" data-nav="true" data-pagi="false" data-items-xs="2" data-items-sm="2" data-items-md="3" data-items-lg="4" data-items-xxxl="5"> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/4422891/kZTtyvuSxXtfjJhCMQreXA/thumb.png?1742274370168" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/4422891/kZTtyvuSxXtfjJhCMQreXA/med.png?1742274370168> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Gamers Cortex</h5> <h6 class="card-title h5 text-truncate">Gamers Cortex Airship Bundle</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price dynamic-price" data-itemid="36437">$12.78</span> <span class="item-currency">USD</span> </div> <p class="browse-discount browse-discount-hidden">-20%</p> </div> <a href="https://marketplace.roll20.net/browse/bundle/36437/gamers-cortex-airship-bundle" class="stretched-link"><span class="sr-only">Gamers Cortex Airship Bundle</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Art</li> <li class="list-inline-item">Objects</li> <li class="list-inline-item">Vehicles</li> </ul> </div> </div> </div> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/4420061/w7c1HchJJOu9-OM87W8TRw/thumb.jpg?1742075693416" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/4420061/w7c1HchJJOu9-OM87W8TRw/med.jpg?1742075693416> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Chibbin Grove</h5> <h6 class="card-title h5 text-truncate">Adventurous Assets: Rural Bundle</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price dynamic-price" data-itemid="36392">$8.48</span> <span class="item-currency">USD</span> </div> <p class="browse-discount browse-discount-hidden">-15%</p> </div> <a href="https://marketplace.roll20.net/browse/bundle/36392/adventurous-assets-rural-bundle" class="stretched-link"><span class="sr-only">Adventurous Assets: Rural Bundle</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Art</li> <li class="list-inline-item">Objects</li> <li class="list-inline-item">Decor</li> </ul> </div> </div> </div> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/4423030/fc--Pc8gSZyVpkH7Wi7PdQ/thumb.jpg?1742306280195" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/4423030/fc--Pc8gSZyVpkH7Wi7PdQ/med.jpg?1742306280195> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Forgotten Adventures</h5> <h6 class="card-title h5 text-truncate">Dungeon Decor - Pack 49</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price">$4.99</span> <span class="item-currency">USD</span> </div> <span class="card-price"> </span> </div> <a href="https://marketplace.roll20.net/browse/set/36440/dungeon-decor-pack-49" class="stretched-link"><span class="sr-only">Dungeon Decor - Pack 49</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Art</li> <li class="list-inline-item">Objects</li> <li class="list-inline-item">Decor</li> </ul> </div> </div> </div> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/4420689/Y2fxNWz77lnTldZN59F2zw/thumb.png?1742236017296" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/4420689/Y2fxNWz77lnTldZN59F2zw/med.png?1742236017296> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Wild Magic Surge</h5> <h6 class="card-title h5 text-truncate">Animated Wall of Thorns</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price">$4.99</span> <span class="item-currency">USD</span> </div> <span class="card-price"> </span> </div> <a href="https://marketplace.roll20.net/browse/set/36152/animated-wall-of-thorns" class="stretched-link"><span class="sr-only">Animated Wall of Thorns</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Art</li> <li class="list-inline-item">Objects</li> <li class="list-inline-item">Magic &amp; Effects</li> </ul> </div> </div> </div> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/4420088/-KFf2mzG94nakiMalI5X4A/thumb.jpg?1742080408933" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/4420088/-KFf2mzG94nakiMalI5X4A/med.jpg?1742080408933> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Chibbin Grove</h5> <h6 class="card-title h5 text-truncate">Adventurous Assets Bundle</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price dynamic-price" data-itemid="36406">$15.00</span> <span class="item-currency">USD</span> </div> <p class="browse-discount browse-discount-hidden">-20%</p> </div> <a href="https://marketplace.roll20.net/browse/bundle/36406/adventurous-assets-bundle" class="stretched-link"><span class="sr-only">Adventurous Assets Bundle</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Art</li> <li class="list-inline-item">Objects</li> <li class="list-inline-item">Decor</li> </ul> </div> </div> </div> </div> </div> </div> </div> </section> <section id="section-token-markers" class="py-5 bg-light" role="region"> <div class="container"> <div class="row align-items-center"> <div class="col-12"> <div class="d-flex justify-content-between mb-3 mb-md-2"> <h4 class="h2 m-0">Token Markers</h4> <div class="align-self-end"> <a href="https://marketplace.roll20.net/browse/search?category=Art:Token%20Markers">view all <i class="far angle-right"></i></a> </div> </div> </div> <div class="col-12"> <div class="owl-carousel carousel-widget py-2" data-margin="20" data-nav="true" data-pagi="false" data-items-xs="2" data-items-sm="2" data-items-md="3" data-items-lg="4" data-items-xxxl="5"> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/4357296/NKP-8UVWm3_4wEGfv0T0RA/thumb.jpg?1738423199172" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/4357296/NKP-8UVWm3_4wEGfv0T0RA/med.jpg?1738423199172> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">J.Baptista</h5> <h6 class="card-title h5 text-truncate">Toon Markers #17</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price">$4.99</span> <span class="item-currency">USD</span> </div> <span class="card-price"> </span> </div> <a href="https://marketplace.roll20.net/browse/markerset/35200/toon-markers-number-17" class="stretched-link"><span class="sr-only">Toon Markers #17</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Art</li> <li class="list-inline-item">Token Markers</li> </ul> </div> </div> </div> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/4286299/P5UQxv1XBgvNEyCiy2klTA/thumb.jpg?1736294133634" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/4286299/P5UQxv1XBgvNEyCiy2klTA/med.jpg?1736294133634> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">DnDPlay20</h5> <h6 class="card-title h5 text-truncate">Metal Letters and Numbers Set 2</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price">$4.99</span> <span class="item-currency">USD</span> </div> <span class="card-price"> </span> </div> <a href="https://marketplace.roll20.net/browse/markerset/35365/metal-letters-and-numbers-set-2" class="stretched-link"><span class="sr-only">Metal Letters and Numbers Set 2</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Art</li> <li class="list-inline-item">Token Markers</li> </ul> </div> </div> </div> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/4286296/crgTJUBppSJlPQEvB7hsSg/thumb.jpg?1736293609863" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/4286296/crgTJUBppSJlPQEvB7hsSg/med.jpg?1736293609863> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">DnDPlay20</h5> <h6 class="card-title h5 text-truncate">Metal Letters and Numbers Token Marker Set 1</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price">$4.99</span> <span class="item-currency">USD</span> </div> <span class="card-price"> </span> </div> <a href="https://marketplace.roll20.net/browse/markerset/35364/metal-letters-and-numbers-token-marker-set-1" class="stretched-link"><span class="sr-only">Metal Letters and Numbers Token Marker Set 1</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Art</li> <li class="list-inline-item">Token Markers</li> </ul> </div> </div> </div> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/4292354/C9ByR2HM51mZCm2z-XBOlw/thumb.jpg?1736638942053" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/4292354/C9ByR2HM51mZCm2z-XBOlw/med.jpg?1736638942053> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Chibbin Grove</h5> <h6 class="card-title h5 text-truncate">Token Markers: Banner Bonanza</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price">$4.99</span> <span class="item-currency">USD</span> </div> <span class="card-price"> </span> </div> <a href="https://marketplace.roll20.net/browse/markerset/35422/token-markers-banner-bonanza" class="stretched-link"><span class="sr-only">Token Markers: Banner Bonanza</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Art</li> <li class="list-inline-item">Token Markers</li> </ul> </div> </div> </div> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/4284055/KFz5FQJpq8sVLVuP8EcqBA/thumb.jpg?1736040743064" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/4284055/KFz5FQJpq8sVLVuP8EcqBA/med.jpg?1736040743064> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">DnDPlay20</h5> <h6 class="card-title h5 text-truncate">Yellow and Black Token Marker Numbers</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price">$4.99</span> <span class="item-currency">USD</span> </div> <span class="card-price"> </span> </div> <a href="https://marketplace.roll20.net/browse/markerset/35331/yellow-and-black-token-marker-numbers" class="stretched-link"><span class="sr-only">Yellow and Black Token Marker Numbers</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Art</li> <li class="list-inline-item">Token Markers</li> </ul> </div> </div> </div> </div> </div> </div> </div> </section> <section id="section-board-&amp;-card-games" class="py-5" role="region"> <div class="container"> <div class="row align-items-center"> <div class="col-12"> <div class="d-flex justify-content-between mb-3 mb-md-2"> <h4 class="h2 m-0">Board &amp; Card Games</h4> <div class="align-self-end"> <a href="https://marketplace.roll20.net/browse/search?category=Games:Board%20%26%20Card%20Games">view all <i class="far angle-right"></i></a> </div> </div> </div> <div class="col-12"> <div class="owl-carousel carousel-widget py-2" data-margin="20" data-nav="true" data-pagi="false" data-items-xs="2" data-items-sm="2" data-items-md="3" data-items-lg="4" data-items-xxxl="5"> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/4363040/cS3lqkLoVE7hmLuFUWPhWQ/thumb.png?1738703140409" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/4363040/cS3lqkLoVE7hmLuFUWPhWQ/med.png?1738703140409> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Hunters Entertainment</h5> <h6 class="card-title h5 text-truncate">Natural Library Geologist's Flash Cards</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price">$14.99</span> <span class="item-currency">USD</span> </div> <span class="card-price"> </span> </div> <a href="https://marketplace.roll20.net/browse/gameaddon/35698/natural-library-geologists-flash-cards" class="stretched-link"><span class="sr-only">Natural Library Geologist's Flash Cards</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Games</li> <li class="list-inline-item">Board &amp; Card Games</li> <li class="list-inline-item">Card Decks</li> </ul> </div> </div> </div> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/4188708/GigHPWH9lo_EV6tkCLS5Kg/thumb.jpg?1731382226133" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/4188708/GigHPWH9lo_EV6tkCLS5Kg/med.jpg?1731382226133> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Spotless Dice Games</h5> <h6 class="card-title h5 text-truncate">Ringmaster</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price">$13.99</span> <span class="item-currency">USD</span> </div> <span class="card-price"> </span> </div> <a href="https://marketplace.roll20.net/browse/module/34467/ringmaster" class="stretched-link"><span class="sr-only">Ringmaster</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Games</li> <li class="list-inline-item">Board &amp; Card Games</li> <li class="list-inline-item">Card Decks</li> </ul> </div> </div> </div> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/4295632/M5JkJhKjnuC1EdxotjbzrA/thumb.png?1736837693394" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/4295632/M5JkJhKjnuC1EdxotjbzrA/med.png?1736837693394> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Theodore Pallas</h5> <h6 class="card-title h5 text-truncate">Cards and Ale Tavern Playing Cards Poker Deck and Don't Sink the Boat Rules</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price">$9.99</span> <span class="item-currency">USD</span> </div> <span class="card-price"> </span> </div> <a href="https://marketplace.roll20.net/browse/gameaddon/35465/cards-and-ale-tavern-playing-cards-poker-deck-and-dont-sink-the-boat-rules" class="stretched-link"><span class="sr-only">Cards and Ale Tavern Playing Cards Poker Deck and Don't Sink the Boat Rules</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Games</li> <li class="list-inline-item">Board &amp; Card Games</li> <li class="list-inline-item">Card Decks</li> </ul> </div> </div> </div> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/4288001/RdxZkSacTAPvByQHeD_Gvw/thumb.png?1736463853026" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/4288001/RdxZkSacTAPvByQHeD_Gvw/med.png?1736463853026> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Hunters Entertainment</h5> <h6 class="card-title h5 text-truncate">Alice is Missing: Silent Falls</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price">$14.99</span> <span class="item-currency">USD</span> </div> <span class="card-price"> </span> </div> <a href="https://marketplace.roll20.net/browse/gameaddon/35395/alice-is-missing-silent-falls" class="stretched-link"><span class="sr-only">Alice is Missing: Silent Falls</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Games</li> <li class="list-inline-item">Board &amp; Card Games</li> <li class="list-inline-item">Party</li> </ul> </div> </div> </div> <div class="item"> <div class="card card-product m-0"> <div class="card-image p-0"> <img src="https://files.d20.io/marketplace/4175777/kE6oHHJG6sECittk3QnnNg/thumb.jpg?1730734300570" alt="" class="card-img-top img-center img-fluid mp-image-thumb" data-img=https://s3.amazonaws.com/files.d20.io/marketplace/4175777/kE6oHHJG6sECittk3QnnNg/med.jpg?1730734300570> </div> <div class="card-body py-3 px-4"> <h5 class="card-subtitle h6 mb-0 text-muted text-truncate marketplace-item-subtitle">Loke BattleMats</h5> <h6 class="card-title h5 text-truncate">Deck of Many Insults</h6> <div class="browse-price-row"> <div class="card-price-box"> <span class="card-price">$6.99</span> <span class="item-currency">USD</span> </div> <span class="card-price"> </span> </div> <a href="https://marketplace.roll20.net/browse/gameaddon/34452/deck-of-many-insults" class="stretched-link"><span class="sr-only">Deck of Many Insults</span></a> </div> <!-- Removed until carousel situation can be resolved --> <div class="card-footer py-2 px-4"> <ul class="card-tags list-inline text-sm m-0"> <li class="list-inline-item">Games</li> <li class="list-inline-item">Board &amp; Card Games</li> <li class="list-inline-item">Card Decks</li> </ul> </div> </div> </div> </div> </div> </div> </div> </section> <!-- <section id="section-roll20-merch" class="py-5 bg-light" role="region"> <div class="container"> <div class="row align-items-center"> <div class="col-12"> <div class="d-flex justify-content-between mb-3 mb-md-2"> <h4 class="h2 m-0">Roll20 Merch</h4> <div class="align-self-end"> <a href="https://merchoforr.com/"> view all <span class="sr-only">Roll20 Merch</span><i class="far angle-right"></i></a> </div> </div> </div> <div class="col-12"> <div class="owl-carousel carousel-widget py-2" data-margin="20" data-nav="true" data-pagi="false" data-items-xs="2" data-items-sm="2" data-items-md="3" data-items-lg="4" data-items-xxxl="5"> <div class="item"> <div class="card card-product m-0" title="Roll20 Stacked Logo Shirt"> <a href="https://merchoforr.com/products/roll20-stacked-logo-shirt" target="_blank" class="stretched-link"> <img src="/images/Roll20-RevisedMerch_Shirt-BigLG-400.jpg?v=2" alt="Roll20 Stacked Logo Shirt" class="card-img-top" /> </a> <div class="card-body"> <h6 class="card-title h5">Roll20 Stacked Logo Shirt</h6> <span class="card-price"> $25.00 USD </span> </div> </div> </div> <div class="item"> <div class="card card-product m-0" title="Roll20 esports Jersey"> <a href="https://merchoforr.com/products/roll20-esports-jersey-away" target="_blank" class="stretched-link"> <img src="/images/Roll20-RevisedMerch_Jersey-Pink-400.jpg?v=2" alt="Roll20 esports Jersey" class="card-img-top" /> </a> <div class="card-body"> <h6 class="card-title h5">Roll20 esports Jersey</h6> <span class="card-price">$60.00 USD</span> </div> </div> </div> <div class="item"> <div class="card card-product m-0" title="Roll20 Tank"> <a href="https://merchoforr.com/products/roll20-tank" target="_blank" class="stretched-link"> <img src="/images/Roll20-RevisedMerch_Tank-400.jpg?v=2" alt="Roll20 Tank" class="card-img-top" /> </a> <div class="card-body"> <h6 class="card-title h5">Roll20 Tank</h6> <span class="card-price"> $27.00 USD </span> </div> </div> </div> <div class="item"> <div class="card card-product m-0" title="Roll20 Logo Shirt"> <a href="https://merchoforr.com/products/roll20-logo-shirt" target="_blank" class="stretched-link"> <img src="/images/Roll20-RevisedMerch_Shirt-Blue-400.jpg?v=2" alt="Roll20 Logo Shirt" class="card-img-top" /> </a> <div class="card-body"> <h6 class="card-title h5">Roll20 Logo Shirt</h6> <span class="card-price"> $25.00 USD </span> </div> </div> </div> </div> </div> </div> </div> </section> --> </section> <div class="marketplace-filter-panel__container marketplace-filter-panel--home"> <div id="marketplace-filter-panel" class="marketplace-filter-panel"> <div class="marketplace-filter-panel__wrapper"> <div class="marketplace-filter-panel__inner-wrapper"> <div class="marketplace-filter-panel__header"> <div class="d-flex align-items-center justify-content-between py-3 px-4"> <div class="marketplace-filter-panel__header-title h6 m-0">Filters</div> <a href="JavaScript:void(0)" id="marketplace-filter-panel__header-clear" class="marketplace-filter-panel__header-clear">Clear All</a> <a href="JavaScript:void(0)" id="marketplace-filter-panel__header-close" class="marketplace-filter-panel__header-close" aria-label="Close"><i class="fal fa-times"></i></a> </div> <div class="marketplace-filter-panel__active-filters py-3 px-4 bg-gray-100"> </div> <div class="marketplace-filter-panel__active-filters-clear-container text-right px-4 pb-3 bg-gray-100"> <a href="JavaScript:void(0)" id="marketplace-filter-panel__active-filters-clear" class="marketplace-filter-panel__active-filters-clear">Clear All (<span class="number"></span>)</a> </div> </div> <div class="marketplace-filter-panel__body"> <div id="accordion-1" class="accordion accordion-stacked"> <div class="card-header py-3" data-toggle="collapse" role="button" data-target="#collapseCategory-art" aria-expanded="true" aria-controls="collapseCategory-art"> <h6 class="mb-0">Art</h6> </div> <div id="collapseCategory-art" class="collapse show" aria-labelledby="collapseCategory-art"> <div class="card-body p-0"> <div class="pt-3 px-4 filter-body--category"> <div class="custom-control custom-checkbox"> <input type="checkbox" class="custom-control-input" id="checkbox_filter-all-art" data-filter="Art" data-parent="itemtype" /> <label class="custom-control-label" for="checkbox_filter-all-art">All Art</label> </div> </div> <div class="card-header py-3 card-header--level1" data-toggle="collapse" role="button" data-target="#collapseCategory-art-tokens" aria-expanded="false" aria-controls="collapseCategory-art-tokens"> <h6 class="mb-0 font-weight-normal">Tokens</h6> </div> <div id="collapseCategory-art-tokens" class="collapse" aria-labelledby="collapseCategory-art-tokens"> <div class="pt-3 px-4 filter-body--level1"> <div class="custom-control custom-checkbox"> <input type="checkbox" class="custom-control-input" id="checkbox_filter-all-tokens" data-filter="Tokens" data-parent="Art" /> <label class="custom-control-label" for="checkbox_filter-all-tokens">All Tokens</label> </div> <div class="custom-control custom-checkbox"> <input type="checkbox" class="custom-control-input" id="checkbox_filter-figures" data-filter="Figures" data-parent="Tokens"/> <label class="custom-control-label" for="checkbox_filter-figures">Figures</label> </div> <div class="custom-control custom-checkbox"> <input type="checkbox" class="custom-control-input" id="checkbox_filter-borderedtokens" data-filter="Bordered Tokens" data-parent="Tokens"/> <label class="custom-control-label" for="checkbox_filter-borderedtokens">Bordered Tokens</label> </div> <div class="custom-control custom-checkbox"> <input type="checkbox" class="custom-control-input" id="checkbox_filter-portraits" data-filter="Portraits" data-parent="Tokens"/> <label class="custom-control-label" for="checkbox_filter-portraits">Portraits</label> </div> <div class="custom-control custom-checkbox"> <input type="checkbox" class="custom-control-input" id="checkbox_filter-tokenelements" data-filter="Token Elements" data-parent="Tokens"/> <label class="custom-control-label" for="checkbox_filter-tokenelements">Token Elements</label> </div> <div class="custom-control custom-checkbox"> <input type="checkbox" class="custom-control-input" id="checkbox_filter-statusicons" data-filter="Status Icons" data-parent="Tokens"/> <label class="custom-control-label" for="checkbox_filter-statusicons">Status Icons</label> </div> </div> </div> <div class="card-header py-3 card-header--level1" data-toggle="collapse" role="button" data-target="#collapseCategory-art-maps" aria-expanded="false" aria-controls="collapseCategory-art-maps"> <h6 class="mb-0 font-weight-normal">Maps</h6> </div> <div id="collapseCategory-art-maps" class="collapse" aria-labelledby="collapseCategory-art-maps"> <div class="pt-3 px-4 filter-body--level1"> <div class="custom-control custom-checkbox"> <input type="checkbox" class="custom-control-input" id="checkbox_filter-all-maps" data-filter="Maps" data-parent="Art" /> <label class="custom-control-label" for="checkbox_filter-all-maps">All Maps</label> </div> <div class="custom-control custom-checkbox"> <input type="checkbox" class="custom-control-input" id="checkbox_filter-tilesets" data-filter="Tile Sets" data-parent="Maps"/> <label class="custom-control-label" for="checkbox_filter-tilesets">Tile Sets</label> </div> <div class="custom-control custom-checkbox"> <input type="checkbox" class="custom-control-input" id="checkbox_filter-mappacks" data-filter="Map Packs" data-parent="Maps"/> <label class="custom-control-label" for="checkbox_filter-mappacks">Map Packs</label> </div> <div class="custom-control custom-checkbox"> <input type="checkbox" class="custom-control-input" id="checkbox_filter-worldmaps" data-filter="World Maps" data-parent="Maps"/> <label class="custom-control-label" for="checkbox_filter-worldmaps">World Maps</label> </div> <div class="custom-control custom-checkbox"> <input type="checkbox" class="custom-control-input" id="checkbox_filter-dynamicallylitmaps" data-filter="Dynamically Lit Maps" data-parent="Maps"/> <label class="custom-control-label" for="checkbox_filter-dynamicallylitmaps">Dynamically Lit Maps</label> </div> <div class="custom-control custom-checkbox"> <input type="checkbox" class="custom-control-input" id="checkbox_filter-dashboards" data-filter="Dashboards" data-parent="Maps"/> <label class="custom-control-label" for="checkbox_filter-dashboards">Dashboards</label> </div> </div> </div> <div class="card-header py-3 card-header--level1" data-toggle="collapse" role="button" data-target="#collapseCategory-art-tokenmarkers" aria-expanded="false" aria-controls="collapseCategory-art-tokenmarkers"> <h6 class="mb-0 font-weight-normal">Token Markers</h6> </div> <div id="collapseCategory-art-tokenmarkers" class="collapse" aria-labelledby="collapseCategory-art-tokenmarkers"> <div class="pt-3 px-4 filter-body--level1"> <div class="custom-control custom-checkbox"> <input type="checkbox" class="custom-control-input" id="checkbox_filter-all-tokenmarkers" data-filter="Token Markers" data-parent="Art" /> <label class="custom-control-label" for="checkbox_filter-all-tokenmarkers">All Token Markers</label> </div> </div> </div> <div class="card-header py-3 card-header--level1" data-toggle="collapse" role="button" data-target="#collapseCategory-art-objects" aria-expanded="false" aria-controls="collapseCategory-art-objects"> <h6 class="mb-0 font-weight-normal">Objects</h6> </div> <div id="collapseCategory-art-objects" class="collapse" aria-labelledby="collapseCategory-art-objects"> <div class="pt-3 px-4 filter-body--level1"> <div class="custom-control custom-checkbox"> <input type="checkbox" class="custom-control-input" id="checkbox_filter-all-objects" data-filter="Objects" data-parent="Art" /> <label class="custom-control-label" for="checkbox_filter-all-objects">All Objects</label> </div> <div class="custom-control custom-checkbox"> <input type="checkbox" class="custom-control-input" id="checkbox_filter-structures" data-filter="Structures" data-parent="Objects"/> <label class="custom-control-label" for="checkbox_filter-structures">Structures</label> </div> <div class="custom-control custom-checkbox"> <input type="checkbox" class="custom-control-input" id="checkbox_filter-nature" data-filter="Nature" data-parent="Objects"/> <label class="custom-control-label" for="checkbox_filter-nature">Nature</label> </div> <div class="custom-control custom-checkbox"> <input type="checkbox" class="custom-control-input" id="checkbox_filter-inventory" data-filter="Inventory" data-parent="Objects"/> <label class="custom-control-label" for="checkbox_filter-inventory">Inventory</label> </div> <div class="custom-control custom-checkbox"> <input type="checkbox" class="custom-control-input" id="checkbox_filter-decor" data-filter="Decor" data-parent="Objects"/> <label class="custom-control-label" for="checkbox_filter-decor">Decor</label> </div> <div class="custom-control custom-checkbox"> <input type="checkbox" class="custom-control-input" id="checkbox_filter-mapmarkers" data-filter="Map Markers" data-parent="Objects"/> <label class="custom-control-label" for="checkbox_filter-mapmarkers">Map Markers</label> </div> <div class="custom-control custom-checkbox"> <input type="checkbox" class="custom-control-input" id="checkbox_filter-magiceffects" data-filter="Magic &amp; Effects" data-parent="Objects"/> <label class="custom-control-label" for="checkbox_filter-magiceffects">Magic &amp; Effects</label> </div> <div class="custom-control custom-checkbox"> <input type="checkbox" class="custom-control-input" id="checkbox_filter-vehicles" data-filter="Vehicles" data-parent="Objects"/> <label class="custom-control-label" for="checkbox_filter-vehicles">Vehicles</label> </div> </div> </div> <div class="card-header py-3 card-header--level1" data-toggle="collapse" role="button" data-target="#collapseCategory-art-weather" aria-expanded="false" aria-controls="collapseCategory-art-weather"> <h6 class="mb-0 font-weight-normal">Weather</h6> </div> <div id="collapseCategory-art-weather" class="collapse" aria-labelledby="collapseCategory-art-weather"> <div class="pt-3 px-4 filter-body--level1"> <div class="custom-control custom-checkbox"> <input type="checkbox" class="custom-control-input" id="checkbox_filter-all-weather" data-filter="Weather" data-parent="Art" /> <label class="custom-control-label" for="checkbox_filter-all-weather">All Weather</label> </div> </div> </div> <div class="card-header py-3 card-header--level1" data-toggle="collapse" role="button" data-target="#collapseCategory-art-music" aria-expanded="false" aria-controls="collapseCategory-art-music"> <h6 class="mb-0 font-weight-normal">Music</h6> </div> <div id="collapseCategory-art-music" class="collapse" aria-labelledby="collapseCategory-art-music"> <div class="pt-3 px-4 filter-body--level1"> <div class="custom-control custom-checkbox"> <input type="checkbox" class="custom-control-input" id="checkbox_filter-all-music" data-filter="Music" data-parent="Art" /> <label class="custom-control-label" for="checkbox_filter-all-music">All Music</label> </div> </div> </div> </div> </div> <div class="card-header py-3" data-toggle="collapse" role="button" data-target="#collapseCategory-games" aria-expanded="true" aria-controls="collapseCategory-games"> <h6 class="mb-0">Games</h6> </div> <div id="collapseCategory-games" class="collapse show" aria-labelledby="collapseCategory-games"> <div class="card-body p-0"> <div class="pt-3 px-4 filter-body--category"> <div class="custom-control custom-checkbox"> <input type="checkbox" class="custom-control-input" id="checkbox_filter-all-games" data-filter="Games" data-parent="itemtype" /> <label class="custom-control-label" for="checkbox_filter-all-games">All Games</label> </div> </div> <div class="card-header py-3 card-header--level1" data-toggle="collapse" role="button" data-target="#collapseCategory-games-rpgrulebooks" aria-expanded="false" aria-controls="collapseCategory-games-rpgrulebooks"> <h6 class="mb-0 font-weight-normal">RPG Rulebooks</h6> </div> <div id="collapseCategory-games-rpgrulebooks" class="collapse" aria-labelledby="collapseCategory-games-rpgrulebooks"> <div class="pt-3 px-4 filter-body--level1"> <div class="custom-control custom-checkbox"> <input type="checkbox" class="custom-control-input" id="checkbox_filter-all-rpgrulebooks" data-filter="RPG Rulebooks" data-parent="Games" /> <label class="custom-control-label" for="checkbox_filter-all-rpgrulebooks">All RPG Rulebooks</label> </div> <div class="custom-control custom-checkbox"> <input type="checkbox" class="custom-control-input" id="checkbox_filter-coregames" data-filter="Core Games" data-parent="RPG Rulebooks"/> <label class="custom-control-label" for="checkbox_filter-coregames">Core Games</label> </div> <div class="custom-control custom-checkbox"> <input type="checkbox" class="custom-control-input" id="checkbox_filter-bestiaries" data-filter="Bestiaries" data-parent="RPG Rulebooks"/> <label class="custom-control-label" for="checkbox_filter-bestiaries">Bestiaries</label> </div> <div class="custom-control custom-checkbox"> <input type="checkbox" class="custom-control-input" id="checkbox_filter-rulesexpansions" data-filter="Rules Expansions" data-parent="RPG Rulebooks"/> <label class="custom-control-label" for="checkbox_filter-rulesexpansions">Rules Expansions</label> </div> <div class="card-header py-3 mx-n4 card-header--level2" data-toggle="collapse" role="button" data-target="#collapseCategory-games-rpgrulebooks-addons" aria-expanded="false" aria-controls="collapseCategory-games-rpgrulebooks-addons"> <h6 class="mb-0 font-weight-normal">Addons</h6> </div> <div id="collapseCategory-games-rpgrulebooks" class="collapse" aria-labelledby="collapseCategory-games-rpgrulebooks"> <div id="collapseCategory-games-rpgrulebooks-addons" class="collapse" aria-labelledby="collapseCategory-games-rpgrulebooks-addons"> <div class="pt-3 px-4 filter-body--level2"> <div class="custom-control custom-checkbox"> <input type="checkbox" class="custom-control-input" id="checkbox_filter-all-addons" data-filter="Addons" data-parent="RPG Rulebooks"/> <label class="custom-control-label" for="checkbox_filter-all-addons">All Addons</label> </div> <div class="custom-control custom-checkbox"> <input type="checkbox" class="custom-control-input" id="checkbox_filter-characters" data-filter="Characters" data-parent="Addons"/> <label class="custom-control-label" for="checkbox_filter-characters">Characters</label> </div> <div class="custom-control custom-checkbox"> <input type="checkbox" class="custom-control-input" id="checkbox_filter-monsters" data-filter="Monsters" data-parent="Addons"/> <label class="custom-control-label" for="checkbox_filter-monsters">Monsters</label> </div> <div class="custom-control custom-checkbox"> <input type="checkbox" class="custom-control-input" id="checkbox_filter-items" data-filter="Items" data-parent="Addons"/> <label class="custom-control-label" for="checkbox_filter-items">Items</label> </div> <div class="custom-control custom-checkbox"> <input type="checkbox" class="custom-control-input" id="checkbox_filter-locations" data-filter="Locations" data-parent="Addons"/> <label class="custom-control-label" for="checkbox_filter-locations">Locations</label> </div> <div class="custom-control custom-checkbox"> <input type="checkbox" class="custom-control-input" id="checkbox_filter-effects" data-filter="Effects" data-parent="Addons"/> <label class="custom-control-label" for="checkbox_filter-effects">Effects</label> </div> <div class="custom-control custom-checkbox"> <input type="checkbox" class="custom-control-input" id="checkbox_filter-ideaprompts" data-filter="Idea Prompts" data-parent="Addons"/> <label class="custom-control-label" for="checkbox_filter-ideaprompts">Idea Prompts</label> </div> <div class="custom-control custom-checkbox"> <input type="checkbox" class="custom-control-input" id="checkbox_filter-puzzles" data-filter="Puzzles" data-parent="Addons"/> <label class="custom-control-label" for="checkbox_filter-puzzles">Puzzles</label> </div> <div class="custom-control custom-checkbox"> <input type="checkbox" class="custom-control-input" id="checkbox_filter-playaids" data-filter="Play Aids" data-parent="Addons"/> <label class="custom-control-label" for="checkbox_filter-playaids">Play Aids</label> </div> </div> </div> </div> </div> </div> <div class="card-header py-3 card-header--level1" data-toggle="collapse" role="button" data-target="#collapseCategory-games-adventures" aria-expanded="false" aria-controls="collapseCategory-games-adventures"> <h6 class="mb-0 font-weight-normal">Adventures</h6> </div> <div id="collapseCategory-games-adventures" class="collapse" aria-labelledby="collapseCategory-games-adventures"> <div class="pt-3 px-4 filter-body--level1"> <div class="custom-control custom-checkbox"> <input type="checkbox" class="custom-control-input" id="checkbox_filter-all-adventures" data-filter="Adventures" data-parent="Games" /> <label class="custom-control-label" for="checkbox_filter-all-adventures">All Adventures</label> </div> <div class="custom-control custom-checkbox"> <input type="checkbox" class="custom-control-input" id="checkbox_filter-oneshots" data-filter="One Shots" data-parent="Adventures"/> <label class="custom-control-label" for="checkbox_filter-oneshots">One Shots</label> </div> <div class="custom-control custom-checkbox"> <input type="checkbox" class="custom-control-input" id="checkbox_filter-shortcampaigns" data-filter="Short Campaigns" data-parent="Adventures"/> <label class="custom-control-label" for="checkbox_filter-shortcampaigns">Short Campaigns</label> </div> <div class="custom-control custom-checkbox"> <input type="checkbox" class="custom-control-input" id="checkbox_filter-longcampaigns" data-filter="Long Campaigns" data-parent="Adventures"/> <label class="custom-control-label" for="checkbox_filter-longcampaigns">Long Campaigns</label> </div> <div class="custom-control custom-checkbox"> <input type="checkbox" class="custom-control-input" id="checkbox_filter-quickstart" data-filter="Quickstart" data-parent="Adventures"/> <label class="custom-control-label" for="checkbox_filter-quickstart">Quickstart</label> </div> </div> </div> <div class="card-header py-3 card-header--level1" data-toggle="collapse" role="button" data-target="#collapseCategory-games-boardcardgames" aria-expanded="false" aria-controls="collapseCategory-games-boardcardgames"> <h6 class="mb-0 font-weight-normal">Board &amp; Card Games</h6> </div> <div id="collapseCategory-games-boardcardgames" class="collapse" aria-labelledby="collapseCategory-games-boardcardgames"> <div class="pt-3 px-4 filter-body--level1"> <div class="custom-control custom-checkbox"> <input type="checkbox" class="custom-control-input" id="checkbox_filter-all-boardcardgames" data-filter="Board &amp; Card Games" data-parent="Games" /> <label class="custom-control-label" for="checkbox_filter-all-boardcardgames">All Board &amp; Card Games</label> </div> <div class="custom-control custom-checkbox"> <input type="checkbox" class="custom-control-input" id="checkbox_filter-classic" data-filter="Classic" data-parent="Board &amp; Card Games"/> <label class="custom-control-label" for="checkbox_filter-classic">Classic</label> </div> <div class="custom-control custom-checkbox"> <input type="checkbox" class="custom-control-input" id="checkbox_filter-strategy" data-filter="Strategy" data-parent="Board &amp; Card Games"/> <label class="custom-control-label" for="checkbox_filter-strategy">Strategy</label> </div> <div class="custom-control custom-checkbox"> <input type="checkbox" class="custom-control-input" id="checkbox_filter-party" data-filter="Party" data-parent="Board &amp; Card Games"/> <label class="custom-control-label" for="checkbox_filter-party">Party</label> </div> <div class="custom-control custom-checkbox"> <input type="checkbox" class="custom-control-input" id="checkbox_filter-family" data-filter="Family" data-parent="Board &amp; Card Games"/> <label class="custom-control-label" for="checkbox_filter-family">Family</label> </div> <div class="custom-control custom-checkbox"> <input type="checkbox" class="custom-control-input" id="checkbox_filter-carddecks" data-filter="Card Decks" data-parent="Board &amp; Card Games"/> <label class="custom-control-label" for="checkbox_filter-carddecks">Card Decks</label> </div> </div> </div> </div> </div> </div> </div> </div> </div> <div class="marketplace-filter-panel__footer px-4"> <button type="button" id="marketplace-filter-panel__search-btn" class="btn btn-primary marketplace-filter-panel__search-btn">Search</button> </div> </div> </div> <div class="body-overlay"></div> <div class="modal fade" id="createNewWishlistModal" tabindex="-1" role="dialog" aria-hidden="true" class="createNewWishlistModal"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title" id="createNewWishlistModalLabel" style="display: inline;">Create New Wishlist</h5> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">&times;</span> </button> </div> <form action="/wishlist/create" method="post" autocomplete="off"> <div class="modal-body"> <div class="row align-items-center"> <div class="col-12 col-xs-12"> <div class="form-group"> <label class="form-control-label" for="wishlist-name">Wishlist Name</label> <input type="text" name="name" class="form-control form-control-sm" id="wishlist-name" autocomplete="off" required> <input type="hidden" value="" name="accountid"> <input type="hidden" value="" name="itemid"> </div> </div> <div class="col-12 col-xs-12"> <div class="custom-control custom-radio custom-control-inline radio-inline"> <input type="radio" id="radio_public" value="public" name="public" checked class="custom-control-input"> <label class="custom-control-label" for="radio_public">Public</label> </div> <div class="custom-control custom-radio custom-control-inline radio-inline"> <input type="radio" id="radio_privacy" value="private" name="public" class="custom-control-input"> <label class="custom-control-label" for="radio_privacy">Private</label> </div> <div class="small privacyMessage">Other people can view this list.</div> </div> </div> </div> <div class="modal-footer"> <button type="button" class="btn btn-light btn-sm btn-inner--text" data-dismiss="modal">Cancel</button> <button type="submit" class="btn btn-primary btn-sm submit btn-inner--text">Create Wishlist</button> </div> </form> </div> </div> </div> <div class="modal fade" id="editWishlistModal" tabindex="-1" role="dialog" aria-hidden="true"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title" id="editWishlistModalLabel">Edit</h5> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">&times;</span> </button> </div> <form action="/wishlist/update" method="post"> <div class="modal-body"> <div class="row align-items-center"> <div class="col-12"> <div class="form-group"> <label class="form-control-label" for="input_edit_name">Wishlist Name</label> <input type="text" name="name" class="form-control form-control-sm" id="input_edit_name" required> <input type="hidden" value="" name="accountid"> <input type="hidden" value="" name="id"> </div> </div> <div class="col-12"> <div class="custom-control custom-radio custom-control-inline"> <input type="radio" id="radio_edit_public" value="public" name="public" checked class="custom-control-input"> <label class="custom-control-label" for="radio_edit_public">Public</label> </div> <div class="custom-control custom-radio custom-control-inline"> <input type="radio" id="radio_edit_privacy" value="private" name="public" class="custom-control-input"> <label class="custom-control-label" for="radio_edit_privacy">Private</label> </div> <div class="small privacyMessage">Other people can view this list.</div> </div> </div> </div> <div class="modal-footer"> <button type="button" class="btn btn-light btn-sm btn-inner--text" data-dismiss="modal">Cancel</button> <button type="submit" class="btn btn-primary btn-sm submit btn-inner--text">Submit Changes</button> </div> </form> </div> </div> </div> <script type="text/javascript"> $("a.createwishlist").on("click", function(){ let itemid = $(this).parents("[data-itemid]").data("itemid"); if(itemid) { $("#createNewWishlistModal input[name=itemid]").val(itemid); } }); $('.modal-content form input[type=radio][name=public]').change(function() { var publicmessage = "Other people can view this list." var privatemessage = "Only you can view this list." switch ($('input[name=public]:checked').val()) { case 'public': $('.privacyMessage').text(publicmessage); break; case 'private': $('.privacyMessage').text(privatemessage); break; }; }); $(".wishlist-action__delete").on("click", function() { let wishlistid = $(".wishlist-dropdown-item.active").data("id"); let deleteChoice = confirm(`Are you sure you want to delete this wishlist?`); if(deleteChoice) { $.post('/wishlist/deletewishlist/', { wishlistid: wishlistid }, function(data) { window.location = `/wishlists/`; }); } }); $(".wishlist-action__edit").on("click", function(){ $("#editWishlistModal").modal('show'); }); $(".wishlist__view").on("click", ".wishlist-action__remove", function() { let itemid = $(this).parents(".card-product").data("itemid"); let listid = $(".wishlist-dropdown-item.active").data("id"); $.post('/wishlist/removeitem', { itemid: itemid, listid: listid }, function(data) { showItems(JSON.parse(data)); }); }); </script> <script type="text/javascript"> $(document).ready(() => { $('.mp-image-thumb').each((i, img) => { const image = $(img); const newUrl = image.data('img') .replace('s3.amazonaws.com/files.d20.io', 'files.d20.io') .replace('s3.amazonaws.com/files.staging.d20.io', 'files.staging.d20.io'); $(img).attr('src', newUrl); $(img).removeAttr('data-img'); }) }); </script> <script type="text/javascript"> $(document).ready(() => { $('.dynamic-price').each((i, e) => { const priceSpan = $(e); const bundleID = priceSpan.data('itemid'); const requestData = {bundle_id: bundleID} $.ajax({ url: `/api/bundleprice/${bundleID}`, method: "POST", dataType: 'json', data: requestData, success: (response) => { const price = response.price; if (price !== 'FREE'){ $(e).text(price); } $(e).parent().parent().find('.browse-discount').removeClass('browse-discount-hidden'); $(e).parent().find('.dynamic-price').addClass('browse-bundle-price'); $(e).parent().find('.item-currency').addClass('browse-bundle-price'); }, error: (response) => { console.log("There was an error retrieving user price."); } }); }); }); </script> <script type="text/javascript"> // Needed for RB to JS bridge. var $masthead_url = "https://marketplace.roll20.net/browse/bundle/31887/dandd-core-rulebook-bundle-2024"; var $authorlist = ["0-hr", "1,000 Creations", "100DOS", "1985 Games", "2 Dead Pixels", "2-Minute Tabletop", "20 Sided Maps", "2D Storyteller", "2OG Games", "9th Level Games", "a day at - modular modern maps", "A.E. Coggon", "Aaron Hendricks", "Aaron Z. Arrick", "AAW Games", "Abandon", "Abel Blakk's Monsters and Maps", "Abelhawk", "Abyssal Brews", "Acheaa", "Acheron Games", "Ada Lindberg", "Adam Bell", "Adam F", "Adder B", "Adela Quiles", "Advanced Battlemaps", "Adventure Awaits Battlemaps", "Adventure Hoard", "Adventure Inc.", "Aegis Studios", "AEIO Utopia", "Aenarion's Coven", "Aetheric Dreams", "AetherPress", "Airëcemi Maps", "Alec Thomas", "Aleksandr Filinkov", "Alex Carmichal", "Alex Green", "Alexandre Menet", "AlexTheMapMaker", "Algen summons", "Alka-Di-Kijarr", "Allen Rees", "Alligator Alley Entertainment", "Almeow", "Alpha Strike Games Ltd", "Alyssa Faden", "Amatsu", "Amazing Rando Design", "Amber Dawn Games", "Ambitosis", "Ame Kuma Maps", "AmmyArts ", "Ancestral Dawn", "Ancris IT", "Andrew Chirgwin", "Andrew James Woodyard", "Andrews McMeel Publishing", "Andy Gerding", "Andy Owlington", "Angela Maps", "Animancer", "Animancy Press", "Anosina", "Anthony Jones", "Antonino Liconti", "Anzhc", "AquaSpiderArt", "Arc Dream Publishing", "Arc Le Joan", "Arcadia's Creations", "Arcadian Media", "Arcana Games", "Arcane Affinity", "Arcane Minis", "Arcane Vault Assembly", "Arcania Adventures", "Arcanum Syndicate", "Arcanum Worlds", "Architect GM", "Arcknight", "Arion´s Humble Map Shop", "Arkangel", "Arlin Ortiz", "Arme Blanche Games", "Armored Studio", "Art Arcanum", "Art of Amanda NP", "Artem", "Artem Grishin", "Artful Serge, LLC", "ArtifexMaps", "artmikegarcia", "Ashen Realms", "AshLands Maps", "AsTheMagpieFlies", "AtaraxianBear", "Atelier Tillumni", "AtomicTitan", "Austin Little", "Austin Ramsay Games", "Avalanche Artistry", "Avery Alder", "Avner's Games", "AWinterBlaze TTRPG Resources", "Axostories", "Aymber Prefabs", "Azu", "Azulity", "B. Simon Smith", "B.A. Games", "Backwards Tabletop", "Balefire Creations", "Bambi1991", "Bandit Camp", "BanzaiZAP Map Packs", "Barbes", "Barkada Games", "Barto", "Bartolius", "Baufroy", "BC Games", "Bearworks", "BeatrixRae Cartography", "Beetroot McKinnley", "Bellow", "Bells Does RPGs", "Ben Johnson", "BenDjinn Games", "Beneos Battlemaps", "Benjamin Ilarraza", "BFH Tokens", "BGHookeArt", "BigGuy", "Billy Blue", "BirdBean Press", "Black Armada Games", "Black Belt Maps", "Black Blue Woof", "Black Void Games", "BlackLilithMoon", "Blackraven Studios", "BlackSmithArt", "Blacktris Tavern", "Blackwood Workshop", "Blue Crab Party", "Blue Raven Treasures", "Blueberrymaps", "Bob A.", "Bold Brush Studio", "Borough Bound", "Brandon Cook", "Brass Badger Workshop", "Brave New Worlds", "Braythe RPG", "Brian Wise", "Brotherwise Games", "brushmen", "Buguwa", "Bully Pulpit Games", "Burning Wheel", "Burrows RPG Worlds", "Buttonpusher Studios", "By Jove Publishing", "Bytewerks", "Caeora", "Calistocrates Mapventures", "Campside Tales", "Candle Moth Stories", "Candlelight Entertainment", "Cannon's Maps", "Canvas Quest", "Caramujo's Corner", "Cards Will Tell Productions", "Carl Jackman", "Carnival 6 Studio", "Cartographer's Cantrip", "Caseymobile", "Cassastereo's Mapperie", "Cast n Play", "Castle Clark Games", "Cat Guardian Illustrations", "Catalyst Game Labs", "Catilus", "Cauldron of Challenges", "Cave Geek Maps", "Cecilia Kjellman", "Chamomile Has Adventures", "Chaosium Inc.", "Charly Bellavance", "Chee Seekins", "Cheyenne Wright", "Chibbin Grove", "Chris Boe", "ChrisMephamRPG", "Christian Truog", "Cinderlight Studio", "Clark S.", "Clint Bohaty", "Cloud-Yo!", "Colin Richards", "Columbia Games", "Cone Of Negative Energy", "Corefun Studios", "CornyMaps", "Corradine's Maps", "Cory McD", "Cosmicmaps", "Coyote &amp; Crow", "coyotegrey", "Crafty Ogre", "Create &amp; Serve", "Creative Witch", "Creature Curation", "Creature Forge", "CRISPR Monkey Studios", "Crit Hit Brit", "CritCartograph", "Critical Concepts", "Critical Crafting", "Critical Realms", "Critical Tavern", "CrossF", "Crosshead", "Cryptocartographer", "Cthulhu Architect", "Cthulhu Reborn", "Cubicle 7 Entertainment", "cupidbeaux", "CyberWyld", "CyborgPrime Games", "Cyclopean", "Cyrens Maps", "Czepeku", "CZRPG", "Cédric H.", "D&amp;Demetrius' Maps", "D20 Epic Level", "d20_dragon", "d20Monkey", "D20Nomads", "Dakota N.", "Dakota Nicholas", "Daltown Tabletop Creations", "Damage Die Jim", "Dan DiPietro", "Dan Heinrich", "Danger Vault", "Daniel \"SDM\" Reis", "Daniel 'SDM' Reis", "Daniel Bayless", "Daniel R.", "Daniel Rosenblatt", "Daniel Salcido", "Daniel's Maps", "Danilo Zaki", "Danima Gaming", "Dark Lord Dice", "DarkDeer", "Darker Hue Studios", "Darkloli", "Darkseal", "Darn Old Art", "Darrington Press", "Dave's Art Tavern", "David Baldridge", "David Hemenway", "David Kogan", "David Miller", "David North", "David Silver", "David's Ballarat Gamers", "David's Consortium", "Dawn Caroll", "Dawn Carroll", "Daydream Archives", "de-Zigner", "Deadworks Alliance", "Dean Spencer Art", "Deathly", "DeekLeeshy Maps", "Deep Water Games", "DeepDark Designs", "Deeper Dungeons", "Defrin's Emporium", "Dejexl", "Delgar", "DeMartini Designs", "Demon Paimon", "Deruji", "Deven Rue", "Devin Night", "Devious Designs", "DevoursBears", "Diantimony Designs", "Dice Chronicles", "Dice Grimorium", "DigitalTTRPG ", "Dimension 20", "Dimension Dorks", "Divination Illustrations", "DM Andy Maps", "DM Anubis", "DM Cucub", "Dm Flint", "DM Nel", "DM Todd Bloom", "DMDave", "DMPat", "DMS Creations", "DnDadmog", "DnDPlay20", "DnDPlay20 Games", "Doc", "Doffu", "Domigorgon's Maps", "Domille", "Domille's Wondrous Works", "Domino44maps", "Doodelish", "Doodles and Dragons", "Dr. Mapzo", "Dragon Drop Gaming", "Dragonix Books", "Dragonshorn Studios", "dransky", "Dread Maps", "Dream Realm Storytellers", "Drew Soman", "DrX", "Dsurion", "DumbHumanDrawn", "Dump Stat Adventures", "Duncan", "Dungeon Baker", "Dungeon Channel", "Dungeon Doug Maps", "Dungeon Journal", "Dungeon Master Tuz", "Dungeon Mister's Menagerie of Misadventures", "Dungeon Rogues", "Dungeon Scribe", "Dungeon Shorts", "Dungeon Smith", "Dungeon Strugglers", "dungeonism", "Dungeonmapster", "DungeonMartian", "DungeonPaws", "Dungeons on a Dime", "DuskWolf", "Dusky Cat", "Dusty's Nexus", "DutyUntoDeath", "Dwarven Pigeon", "Dylan Grinder", "e.r. norman", "E.R. Norman", "Echo ", "Edge Studio", "Edward Castle", "EGGtOkens", "Eglay", "Eightfold Paper", "El Alebrije Itinerante", "Elcio Trombini", "Elderbrain", "Eldritch Arcanum", "Eledryll Maps", "Elemental Flame", "Elena N.", "Eli Moon", "Elite Adventures Inc.", "Eloquin", "Elton's Fantastic Workshop", "Eluut_bazaar", "Elven Tower Adventures", "Elyrian Dreams", "Em the Game Master", "EN Publishing", "Entanglement Interactive LLC", "EnthusiasmShared", "Epic Quest Productions", "Epsilon7430", "Erdrik", "Ergo's Emporium", "Erian Dragonborn", "Erisia", "Escape Plan Games", "Essendi", "Estudio Tlalocán", "Eternal_Savvy", "Ethan Calabria", "Ethan Hudgens", "ETW Games", "Eugene's Workshop", "Euphamia", "Eventyr Games", "Evernorth S&amp;E", "Every Map A Story ", "Eveydeetart", "Evil Genius Games", "Evil Hat Productions", "Fabio Semenzato", "Fabled Sirens", "FableKit", "Falconforgefantasy", "Fantastical Cartographers", "Fantasy Atlas", "Fantasy Forgeworks", "Fantasy Salad", "FantasyRollDice", "Faraday", "Farwin Fantasy", "FASA Games", "Fearsome Foes", "Felipe S. Silva", "Fernando Alves", "Fiendslayer Games", "Fire Hand Studios", "First Adventures", "Fishbowl Kraken", "Fisktak", "Force of Virtue", "Forge of Tlepsh", "Forge Universe Blacksmith Labs Ltd.", "ForgeMaster's Workshop", "Forgotten Adventures", "Forrest Imel", "FragMaps", "Fred Lang", "Free League Publishing", "Frida Bergholtz", "Fridge's Fancy Battle Maps", "FriendOrFoe", "Frik", "Frog God Games", "frogfairy", "From The Ashes", "From the Ashes", "FrozenApples Studio", "Fungeon Master", "G. Romilly Mueller", "Gabe Hicks", "Gabriel Pickard", "Gadfly Games", "GalefireRPG", "GalefireRPG ", "Gallant Knight Enterprises", "Game Tile Warehouse", "Game to Grow", "GameBrink Studios", "Gamers Cortex", "Gary Simpson", "Gear Games", "Gemhammer and Sons", "Ghostfire Gaming", "Ginnos-Maps", "Glargh", "GM Puppy Pound", "GM's Tavern", "Gnomio's", "GoAdventureMaps", "Goatwright", "GonerogueArtUK", "Goodman Games", "Gooey Cube", "Grae Hunter", "Grantovich", "GreaterFishy", "Greckels Grimoires", "Greek4Six", "Green Feather Games", "Green Ronin Publishing", "Greg Bruni", "Greg Taylor", "Greg Taylor Art", "GreyScriber", "Griffin Peak Productions", "Grim Maven", "Grim Press", "GRIPNR Presents - The Glimmering", "Grumpy Kobold", "Guild Chronicles, LLC", "Guilherme Geri", "guttDesign", "Haasio", "Haigo Dungeoncrafts", "Hank at the Raid N Trade", "Happy Monster Press", "Harbinger's Wares", "Harley Smith", "Hazel's Emporium", "heart of the deernicorn", "Hector Cornejo", "Heiph Illustrates", "Helm's Fables", "Henry Martinez", "HERO Games", "Hero Smith", "Heroes of Karth", "Heroes of the Coast", "Heroic Maps", "Heroic Roleplaying Press", "Heyra! Isometric Maps", "Hi De Ho Games", "Hideous Hiss", "High Fantasy", "Hiscursedness", "HiSS-Graphics", "Hit Point Press", "Hitdice", "Hoenir", "HollyAndThorn", "HoloGrounds", "HoloHeroes Next", "HOMIEandTheDUDE", "House Lawlez", "Hunters Entertainment", "Hushicho", "Ian Brock", "IdrisTheGoblin", "iec", "Ilgo Art", "Illo-Tokens", "Illustrated Page Design", "Impossible Emporium", "Indi Martin - Tortoise &amp; Hare Creations", "Ink and Bone", "Inkwell Ideas", "Inn Scribe Maps", "Inocyde Worldsbuilder", "Inspiring R.P.G", "Iron Crown Enterprises", "Iron GM Games", "Ironstone Press", "Isidoro Campaña", "IsItMyTurnYet", "IsoAdventures", "Isometric Worlds", "J R Evans", "J. Rodriguez", "J.Baptista", "J.Dixon Studio", "JackieCoY", "Jacopo Sabbadini", "Jake's VTT Tokens+Maps", "Jambô Editora", "James Hastings", "James Introcaso", "James Nathaniel", "Jameson Scott", "JamesRPGArt", "Jan Loos", "Jared Blando", "Jason Beighel", "Jason Butera", "Jason Heath", "Jason Kerr", "Jason Kogan", "Jay Westcott", "Jaytaro", "Jazz-Dude", "JB-Media", "Jean Adaser", "Jeff Mahony", "Jeff Stevens Games", "Jeffrey Chen", "Jeffrey Kaminski", "Jenafer Cruz", "Jeremy Wynn", "Jesse Butler", "Jesse Lane", "Jesús Navarro", "JJPS", "Joe Bush", "Joel Marcantel", "Joel Steudler", "John Latta Art", "John Schneddi", "John Youngeagle", "Jon Brazer Enterprises", "Jonann", "Jonathan Elliott", "Jonathan Llewellyn", "Jonathan Roberts", "Jonathan Scott", "Joseph Blanchette", "Joseph Fox's BinderStuff", "Juicy", "Julien De Lucca", "JurianChibo", "Justin Highberger", "Justin Lewis", "Justin Morison", "JVNKCAT", "Kaigen87", "Kaitelyn Toft", "Kaiz Rift Games", "KamuiHand", "Kaney Kreative", "Karma Pirate Games", "Kasrelain", "Katalabus Maps", "katorga.art", "KC Rift", "KDCMArts", "Keegan", "Keith Curtis", "Keith Reinig", "Kelfecil's Tales", "Kelly Whyte", "Keltic Studio", "Kernel Knight's Atlas", "Kevin Berry", "Kevin Brown", "Kevin Campbell", "KevinDnG", "Kidney Boy", "Kiel Thompson", "Kieran H", "Kim's fantasy assets", "Kirizaki", "Kishi", "Kiwisusu", "KJJ Publications", "Klaus Gieseler", "Klawzie", "Klone #29", "KnightKingS", "Knights of Vasteel", "Kobold Press", "Kodiak", "Konigstein Homebrews", "KosMaps", "Kraven’s Keep", "Kristin Carlson", "KriszDoodle", "Kyle Adair", "Kyle Armstrong", "Kyle De Young", "Kyle White", "Kytah Art", "L'Endimanché", "La Regina MAB", "Laerso Ramos", "Larry Roberts", "Lazarus the Cartographer", "LazyTrain", "LBM Mapmaker", "Lee Lockwood", "Lee0z", "Legendary Adventure Press", "Legendary Games", "Legends of Athelu", "Les Contes de Zak", "Lesha’s Illustrations", "Levi Lord", "Liam Davey", "Lichbrush", "Lighthouse Keeper Games", "Limberlost Studio", "Limithron", "Linden Games", "LinouMajorZero", "Lion Banner Games", "Living Tokens", "LivingDungeons", "Lodaim's Tokens", "Lohikaarmes", "Loke BattleMats", "Lone Colossus Games", "Lone Mapper", "Lookstone", "Looney Labs", "Loot Tavern", "Lord Stendor", "Lord Taylorian", "Lords of Gallipae Games LLC", "Loremasters", "Lorestone Maps", "Lorien Wright", "Lost Acumen", "Lost West Media", "Louis Porter Jr Design", "Lucas Dotte Art", "LuckyFox Tabletop", "Lueliya", "LunaBear Games", "LunaryNeko", "Lupen The Wolf", "M. Bittencourt", "Mac Beddy", "Mace Publishing Ltd", "Mad Sparrow", "Mad World", "Madgarou's Bazaar", "Mage Hand Press", "Magog's Maps", "Magpie Games", "Malefactory Games", "Mammoth Factory", "Manearoliste", "Manseyful", "Many Maps", "Map Crow", "Map Doctor", "Map Hatchery", "Map Masters", "MapGuffin", "MapLocks", "Mapmaster Battlemaps", "Mappith", "Maps 'N' Quests", "Maps 'n' Role", "Maps by Rainbow Danger", "MapSmyth", "MapXilla", "MargoMods", "Marion Poinsot", "Mark Cashion", "Mark Stern", "MarkDrummondJ", "Mars the Bard", "Martin Pedersen", "Marvel", "Master Maps", "Mat Kolbeck", "Mathias B.", "Mathias Berben", "Mats Svendsen", "Matt Pierce", "Matt Sinor", "Matt Ward", "Matt Warwick", "Matt.M Animations", "Mattecoo", "Matther", "Matthew Foss", "Matthew Ritter", "Matthew Whalley", "MavHatter Laboratories", "Max Dunham", "Max Marsh", "Max Rinkel", "Maxwell Taylor", "MCDM Productions", "McFin Artwork", "McKenna M", "McNabb Games LLC", "Meditating Munky", "Meepo", "mei-chuan-nei-ku", "Melanie Paterson", "Menagerie Press", "MicahDraws", "Michael Centala", "Michael Fitzhywel", "Michael Turney", "Michelle Ribar", "MicMap", "Micmaps", "Midgard Gaming Studios", "Midgardia", "Midnite Oil Games", "Mik Holmes", "Mikiko", "MildMisanthropy", "Milestone", "Mimee", "Mini Mayhem &amp; Manufacturing", "MiniMinions", "Mink", "Minotaur Games", "Minotravos Maps", "Mirror Images", "Miscellanea Maps", "MischievousMaps", "Misjay Maps", "Miska’s Maps", "Mister Ferv's Market", "Mizu", "MK online services", "MMPapps Corp.", "Moandor", "Modemkiller", "Modiphius Entertainment", "Modular Dungeon Craft", "Mollicart", "Momentous Maps", "Mongoose Publishing", "Monkey's Tavern", "MonkeyB’s Toybox", "MonkeyDM", "Monnichi Art", "Monsieur Gentil", "Monster Grin", "Monster Mage Games", "Monte Cook Games", "Moon Gate Exploration Co.", "Moonlight Maps", "Moonlight Maps SciFi", "Moosanychibis", "Morgan Richard", "Moriah Ortiz", "Mortar and Thistle", "Morvold Press", "Mountainland Games", "Moving Dungeons", "MrCrowleyTTRPG", "MrDrButthurt", "MrValor", "MysticalMaps", "Mythic Portal Games", "naguikunrpg", "Nailcoffin Media", "Nailmaker", "Namadozer", "Narradores Narrados", "Nate's Map Emporium", "Nathan Smith", "Nathaniel D.", "Nathaniel Dorrington", "Naughty Zoot", "Nerdarchy", "NerdBurger Games", "Nerdy Maps", "Nerx Maps", "Net_Hunter", "Neutral Party", "NeverEnding", "Nick Jensen", "Nick Turner", "Nicky G.", "Night Owl Odysseys", "Nightman Studios", "Nilaum", "Ninetoes82", "Nixalotle", "Nord Games", "Norse Foundry", "Nova Worlds", "NovemberRush", "Nox Arcanum Experiment", "Nutshell's Emporium", "NV Art Assets", "OCCULTLY", "Odd Concoction", "Odinson Games", "Ohmybatman", "Oixxo Art", "Old Mage Games", "Oliver Smith", "On963", "One-Eyed Werebear Gaming Inc.", "OnirArts", "Onyx Path Publishing", "Ori The Cartographer", "Orion D. Black", "Owl Sockets", "Owlbear Emporium", "Owlsthirdeye", "P.Z.", "Painterly Puzzlescapes", "Paizo", "Pale Oracle Atelier", "Pancake Goblin", "PandaAssassin", "Pandamonium Labs", "Paper Forge", "Paper Golems", "Paper Skull", "Paperboy Maps", "PaperDemon", "Paradoxe", "Party of Two", "Pastom", "Patrick (Ruelle) F.", "Patrick Von Raven", "Paul C.", "Paul Camp", "Paul Matijevic", "Paul Ooshun", "Pavle Marinkovic", "PB_Battlemaps", "PeaPu", "Pegasus Spiele", "Pelgrane Press", "Pendelhaven (Fate of the Norns)", "perfectfitz", "Perfectfitz", "Peter Thompson", "Peter's Forge", "Pickpocket Press", "Pierluigi Rimini", "Pineaptor Maps", "Pinnacle Entertainment", "Pinpoint Playground", "pirohmy", "Pixel America", "Pixel Boy Studio", "Pixelart Tokens", "Plague's Pieces", "Plexsoup", "Plum soup", "Pluto City Maps", "PogS Props", "Porcupine Publishing", "Post Scenarium", "Potato's Knights", "Poy", "Practical Games", "Prestige Figures", "Print and Play Productions", "Prosaic Redemption", "Pugsteady", "Quantum Archives", "Queers Play Stuff", "Quests And Chaos", "quietsnooze", "Quill Of Damocles", "Quittance Press", "R. Talsorian Games", "Rachel Jacobson", "Rah's Workshop", "Ramz Art", "Random Alien Games", "Randy Murnighan", "Rantario", "Ravenbohique", "RB Illustration", "Rebekah Sutton", "Red Fisch Games", "Red Lion B&amp;B LLC", "Red Panda Publishing", "Red Pawn Projects", "Red Table Games", "RedCraft", "Reese", "Renegade Game Studios", "Renflowergrapx", "Reno Buchanan", "Retrograde Minis", "Rhapsody Adventures", "Rhasmus", "Rhyannon", "Ri Kreiner", "Richard Bardle", "Richard Tran", "Ridell Apellanes", "Rigel's Roleplaying Realms", "Riley Owens", "Risen Tabletop", "Rite Publishing", "River Octopus Games", "RK Media", "RkdVanguard", "Roaming Gnoll Adventures", "Robert Riter", "Robert Smith", "Robin Fertner", "Robohaven", "RobotAndApril", "Rog Ol", "Roll &amp; Play Press", "Roll For Combat", "Roll20", "Rollacrit", "ROLLINKUNZ!", "Ronald Montoya", "Ronamis", "Roninjutsu", "Rook and Role", "Rookzer0", "Ross Evans", "Roughspun Games", "RPG SmallWorlds", "RPGScenery", "Runebear Cartography", "Runehammer Games", "Runic Tales Inc.", "Runic Wolfe Games", "Russ Hapke", "Rustymaps", "S0LU7I0N", "Safe In Our World", "Sage &amp; Stone Cartography", "Sah", "SailorCat", "Saintash", "Saironwen", "Saivur", "Sal Latora", "Sam Rabbitt", "Samantha Darcy", "Samuel Schultz", "SamuriFerret", "Sanctum of Maps", "Sandstone District", "Sarah Helsley", "Sasha Reneau", "Saul Wynne", "Sauriels_Maps", "Savage Scrolls, by Eddie Porter", "Schwalb Entertainment", "Scribbles in Space", "Sean Archer", "Sean Evans", "Seifer", "Seinstheorie", "Semekleri's Shop", "Sen Cross Art", "Session Zero", "Sewer Brew Games", "Shadowlands Ediciones", "Shambles", "Sharp Mountain Games", "Shaun Ellis", "Shawn Conlin", "Shi-Ying Ong", "Shining", "Shut-in Studios", "Sigil Entertainment Group", "Silky Noire", "Silly Rabbit RPG", "Silver Canon", "Silver Compass Maps", "Silver Spider Art", "Silverwind Workshop", "Simon Powell", "Sir Arthur Whitlock's Emporium of Wondrous Wares", "Sir Kindleknight", "SirInkman", "Skeeterbolt", "Slime Slander", "Sliph Battlemaps", "Slowquest", "SlyFlourish.com", "Small Robert", "sMythic Maps", "Snowy's Maps", "Sokhtar", "Sometimes a Mimic", "Son of Oak Game Studio", "Sophie Campbell", "Sophie Hort", "Sortar's Arcanum", "Souzza", "Space Daddy Games", "Spellarena", "SpicyStarfish", "Spiren", "Splattered Ink Games", "Sponge of Wonder", "Spooky Action Games", "Spotless Dice Games", "Squares &amp; Hexagons", "StainedKarbonMaps", "Stalking Crow", "Stands To Reason Games", "Starsail Games", "Steam &amp; Steel", "Stefan R.", "Stelliadi", "Stephen Shomo", "Steve Prescott", "Steven Colling", "Steven Jelenich", "Stewart Werley", "Stitched Together Maps", "Storm Bunny Studios", "Storm Grave", "Storn Cook", "Storycaster", "Stygian Emperor", "Sun Drake Gaming", "Sun Snake Maps", "Sunset Dragon", "Sunset Industries", "Support Class", "Susanna Snyder", "Sveltheim Chronicler", "Sweet Potato Press", "Swish's Maps", "Swordfish Islands", "Sygdom", "T.A. Gray", "T.M. van Dalen RPG", "Tabletop Goblin", "Tabletop Supplies", "Tactical Master", "Tale-Top Games", "Tan M. Montana", "Tania Gomes Art", "Tannen W.", "TD Maps", "Techlanders", "Tellus", "Tessa Presents Maps", "Thalamus Grondak", "The Amethyst Dragon", "The Arcane Library", "The Awakened Gator", "The Chapel", "The Crafty Dice", "The Cunning Plan ARTFATHER", "The Cyclopean Publishing Company", "The Designated DM", "The DM Lair", "The DM Tool Chest", "The Dungeon Archive", "The Dungeon Warden", "The Dungeoneering Guild", "The Eldritch Press", "The Fluffy Folio", "The Forge Studios", "The Frosty Familiar", "The Goblin Explorer", "The Gremlin Brothers", "The Iso Explorer", "The Knobbywood", "The Lore Observer", "The MAD Cartographer", "The Map Magi", "The Nimble Gnome", "the old \"grunt\" cauldron", "The Oricami Curio", "The Planet Hoppers", "The PMDM", "The Professor", "The Reclusive Cartographer", "The Seraph's Tome", "The Shop on the Hill", "The Sphinx Den", "The Star Raft", "The Sunlight Covenant", "The Wanderer's Tome", "The Wandering DM", "The Well Dressed Viking", "The Witchborn", "The Wizard Fuu", "The Wolves Den Tavern", "The World of Farland", "The_Gravel_King", "theblakeq", "ThedaCraft", "TheDiceGoddess", "thedungeonskey", "TheLegalLiam's Dragon Imporium", "Theo's Hut", "Theodore Pallas", "Third Act Publishing", "Thomas Smith", "Thomas Synjin's Maps", "Thorny Games", "Tiffany Munro", "Tim Jenkins", "Tim P. GMing", "Tin Star Games", "Tiny Den", "Tiny Den ", "Titan's Dawn", "Toby Lancaster at Dark Realm Maps", "Todd Gamble", "Tokenetics", "Tolgrins Forge", "Tom Cartos", "ToMa", "Tome of Maps", "Tome of Summoning", "Tomesmith Press", "Tony Dowler", "Tonz0Maps", "Torchlit Maps", "Torekdva", "Travis Kelly", "treblejeff", "Trevor Wolthuis", "Tribality Publishing", "Troll Lord Games", "TruRPG Adventures", "Tspuun", "TTRPGHQ", "Tulsevran's Menagerie", "turgon", "Turnbury Press", "Tuslevran's Menagerie", "Tvrtko Validžić", "Twin Fangs Art Studio", "Twisted Rainy", "Twitch the Fiend", "Two Brave Puffins", "Two Cat Creations", "Tyler Geovex", "TYPE40", "Uhrwerk Verlag", "Ulisses Medien & Spiel Distribution", "Ulisses Medien &amp; Spiel Distribution", "Underground Oracle Publishing", "Unhelpful Creations", "Unicorn Motorcycle Games", "Unlimited Realms Ltd", "Unseendominions", "UrbanSunrises", "Valentine's Exotics", "ValetheDM", "Valiant Fox Gaming", "Valor Maps", "Vanderforge", "VarietyPax", "Vektor", "Velhior", "Velhior_H", "Venatus Maps", "Venger's Decks", "VerdeSquid", "Veris Design", "Vertighost", "vge", "Vhey Preexa", "Vicnedel", "Vigilem, LLC", "Villagelder", "Vincent de Vries", "Vincent Marocco", "ViSoMaps", "Vitaliya Mudraya", "Vivid Chaos", "Voisin4", "Vortex Verlag", "Voxii", "VTT Sketch", "wackyusername", "Wakô", "Wandering Alchemist Games", "WarDrumRPG", "WarSpeakerGames", "WatcherDM", "Waysider Press", "waza", "Weird Works LLC", "WendiGh0st", "Wham's Maps", "Which Game First", "WhimsiKarren's Warehouse", "White Fox Works", "White Wind Studio", "Wicked Willow Art", "Wider Path Games", "Wild Boar Maps", "Wild Magic Surge", "Wild Shape Society", "Wildjourney's Eclectic Collections", "William Lyday", "William McAvoy", "Willow", "Windspire Adventures", "Wizards of the Coast", "Wolf & Raven Games", "Wolf's Forge", "Wolfman and Donna", "Wolfwood", "Wooden Leg Named Smith Productions", "Woodenswordink", "Woods Gaming", "Wordforger", "WrightOn", "WychorianDreams", "WyldBore Productions", "X10 Game Studios", "Xeylisia", "XIG Games", "Xiurhn-Art", "Xploringmap", "Yasashii Kyojin Studio", "Yellowbyte Studios", "YH-Arts", "Yuikami", "Zac Goins", "Zach Moeller", "Zantonny Maps", "Zee Bashew", "Zen Pen Games", "Zero_", "Zeshio"]; var $cat = {"Art":{"Tokens":{"Figures":{},"Bordered Tokens":{},"Portraits":{},"Token Elements":{},"Status Icons":{}},"Maps":{"Tile Sets":{},"Map Packs":{},"World Maps":{},"Dynamically Lit Maps":{},"Dashboards":{}},"Token Markers":{},"Objects":{"Structures":{},"Nature":{},"Inventory":{},"Decor":{},"Map Markers":{},"Magic & Effects":{},"Vehicles":{}},"Weather":{},"Music":{}},"Games":{"RPG Rulebooks":{"Core Games":{},"Bestiaries":{},"Rules Expansions":{},"Addons":{"Characters":{},"Monsters":{},"Items":{},"Locations":{},"Effects":{},"Idea Prompts":{},"Puzzles":{},"Play Aids":{}}},"Adventures":{"One Shots":{},"Short Campaigns":{},"Long Campaigns":{},"Quickstart":{}},"Board & Card Games":{"Classic":{},"Strategy":{},"Party":{},"Family":{},"Card Decks":{}}}}; var $tags = {"Game System":{"Any":{},"13th Age":{},"2d20":{"Dune: Adventures in the Imperium":{},"Fallout":{}},"Adventure Game Engine (AGE)":{},"Alien RPG":{},"Apocalypse World":{},"Blade Runner RPG":{},"bunker 2056":{},"Burning Wheel":{},"Burn Bryte":{},"Call of Cthulhu":{"7th Edition":{},"Other Editions":{}},"Candela Obscura":{},"Castles & Crusades":{},"Conan":{},"Coyote & Crow":{},"Cyberpunk RED":{},"Cypher System":{"Numenera":{},"The Strange":{},"Cypher System":{}},"d20 Modern":{},"D616":{"Marvel Multiverse":{}},"DarkEnergy":{"1.5 Edition":{}},"Das Schwarze Auge/The Dark Eye":{},"Delta Green":{},"Desperation":{},"Dragonbane":{},"Dungeon Crawl Classics":{},"Dungeons & Dragons":{"5E":{},"4E":{},"3.5":{},"2E":{},"1E":{}},"Earthdawn":{},"Essence20 Roleplaying System":{"Power Rangers":{},"GI Joe":{},"Transformers":{},"My Little Pony":{}},"Forged in the Dark":{"Blades in the Dark":{},"Band of Blades":{},"Scum and Villainy":{}},"Fate":{"Core":{},"Accelerated":{},"Condensed":{},"Fate of Cthulhu":{}},"GeneFunk 2090":{},"Gumshoe":{},"HERO System":{"Champions Complete 6th Edition":{}},"Kids on Bikes":{},"Monster of the Week":{},"Mutants & Masterminds":{"2e":{},"3e":{}},"Savage Worlds Adventure Edition":{},"Shadowrun":{},"Star Trek":{},"Starfinder":{},"Pathfinder":{"2nd Edition":{},"1st Edition":{}},"Paranoia":{},"Pendragon":{},"Pirate Borg":{},"Powered by the Apocalypse":{"Monster of the Week":{},"Thirsty Sword Lesbians":{},"Apocalypse Keys":{}},"Rolemaster":{"Unified":{}},"Storypath":{"Scion 2E":{},"They Came From Beneath the Sea!":{}},"Tales of the Valiant":{},"Torg Eternity":{},"Tormenta":{},"Vampire: The Masquerade":{"5th Edition":{}},"Velvet Generation":{},"Warhammer Fantasy Roleplay":{"4th Edition":{},"3rd Edition":{},"2nd Edition":{},"1st Edition":{}},"Year Zero Engine":{},"Zweihander":{},"Other":{},"Required":{}},"Installation":{"Art Pack":{},"Addon":{},"Module":{},"Compendium":{},"Token Marker Set":{},"Required":{}},"Downloadable":{"Yes":{},"No":{}},"Genre":{"Agnostic":{},"Fantasy":{},"Scifi":{},"Modern":{},"Historical":{},"Horror":{},"Steampunk":{},"Superhero":{},"Apocalypse":{},"Sports":{}},"Age Recommendation":{"Child Friendly":{},"Teens and Up":{},"Mature":{},"Required":{}},"Features":{"Animated":{},"Card Decks":{},"Charactermancer Support":{},"Doors & Windows":{},"Dynamic Lighting":{},"Macros":{},"Rollable Tables":{},"Token Markers":{},"Audio/Music":{}},"Art Style":{"None":{},"Traditional":{},"Cartoon":{},"Anime":{},"PhotoRealistic":{},"3D Model":{},"Pixel":{},"Black & White":{},"Required":{}},"Perspective":{"Top Down":{},"Isometric":{},"Front Facing":{},"Required":{}},"Grid":{"None":{},"Square":{},"Hex":{},"Required":{}},"Starting Level":{"Low":{},"Medium":{},"High":{},"Epic":{}},"Players Min":{"1":{},"2":{},"3":{},"4":{},"5":{},"6+":{},"Required":{}},"Players Max":{"1":{},"2":{},"3":{},"4":{},"5":{},"6":{},"7":{},"8+":{},"Required":{}},"Language":{"Required":{},"English":{},"Deutsch":{},"Español":{},"Français":{},"Italiano":{},"Português":{},"Russian / Русский":{},"Svenska":{}},"License":{"None":{},"Commercial License Available":{}},"Unique Status":{"Bundle":{},"Generated Images":{},"Indie":{},"Official Content":{},"Roll20 Produced":{},"D&D Best Seller":{},"Free Starter":{},"Free Art":{},"Free Legacy":{},"Paizo Core":{},"Paizo Best Seller":{},"DnD2024":{},"Playset":{}}}; const translations = { wishlist_alert_add_item: `Item added to wishlist.`, wishlist_items: `{{0}} items`, wishlist_public: `Public`, wishlist_private: `Private`, wishlist_in_list: `Item already in wishlist`, add_to_wishlist: `Add to Wishlist`, wishlist_none: `You currently have no wishlists.`, wishlists_create: `Create New Wishlist` }; ROLL20.marketplace.homePage = true; </script> <!-- this is specific to the marketplace footer, for now --> <div class="row marketplace-footer-add"> <div class="col-md-4"> <h4>About Roll20 Marketplace</h4> <p>The Roll20 Marketplace is the premiere online store for digital maps, tiles, tokens, and modules used in online tabletop gaming. Our assets are produced by independent artists and made available for the enjoyment of tabletop gamers worldwide.</p> </div> <div class="col-md-4 social-links"> <h4>Stay Connected</h4> <p>Stay connected with us via Facebook, Twitter, YouTube, Twitch, and Instagram to hear the latest news.</p> <p class="social-link-icons"><a href="https://www.tiktok.com/@roll20app" target="_blank"><img src="/v2/images/social-tiktok.png" alt="Roll20 on TikTok" style="max-height: 41px;"/></a><a href="https://www.facebook.com/pages/Roll20/439774126041559"><img src="/v2/images/social-fb.png" alt="Roll20 on Facebook" /></a><a href="https://twitter.com/roll20app"><img src="/v2/images/social-twitter.png" alt="Roll20 on Twitter" /></a><a href="https://www.youtube.com/channel/UCHC1kWACzA7G6D2fqkqsRDg" target="_blank"><img src="/v2/images/social-youtube.png?v=2" alt="Roll20 on YouTube" /></a><a href="http://twitch.tv/roll20app"><img src="/v2/images/social-twitch.png" alt="Roll20 on Twitch" /></a><a href="https://www.instagram.com/roll20app/"><img style="margin-right: 10px;" src="/v2/images/social-instagram.png" alt="Roll20 on Instagram" /></a></p> </div> <div class="col-md-4 join-newsletter"> <h4>Become a Creator</h4> <p>If you're interested in creating new assets (tokens, maps, or modules) for sale through the Marketplace, we have all the info you need on our <a href="https://pages.roll20.net/marketplace-creators" target='_blank'>Become a Creator page</a>.</p> </div> </div> <style> .marketplace-footer-add{ padding: 15px 10rem 0 10rem; } @media (max-width: 1024px) { .marketplace-footer-add{ padding: 15px 7rem 0 7rem; } } </style> <footer id="footer" class="container globalfooter"> <div class="footer-terms"> <a href="https://roll20.net/" target="_blank"><img src="/v3/assets/img/logos/roll20-logo-new-light.svg" alt="Go to Roll20 Homepage"/></a> <span>&copy; Roll20, LLC | <a href="https://help.roll20.net/hc/articles/360037770793-Terms-of-Service-and-Privacy-Policy#Notification_of_Copyright_Infringement_.28DMCA_Policy.29" target="_blank">Terms of Service & Privacy Policy</a> | <a href="https://help.roll20.net/hc/articles/360037770833-DMCA" target="_blank">DMCA</a> | <a href="https://roll20.zendesk.com/hc/requests/new " target="_blank">Contact Us</a> | <a href="https://roll20.net/help" target="_blank">Help Center</a> | All rights reserved. All product and company names are trademarks<sup>&trade;</sup> or registered<sup>&reg;</sup> trademarks of their respective holders.</span> <div class="socials"> <a href="http://discord.gg/roll20" target="_blank"><img src="/v2/images/Discord-LightMode.png" alt="Join the Roll20 Discord Server" /></a> <a href="https://www.facebook.com/roll20app/" target="_blank"><img src="/v2/images/Icon-Facebook.png" alt="Go to Roll20 on Facebook" /></a> <a href="https://x.com/roll20app" target="_blank"><img src="/v2/images/Icon-X.png" alt="Go to Roll20 on Twitter" /></a> <a href="https://bsky.app/profile/roll20.net" target="_blank"><img src="/v2/images/Icon-Bluesky.png" alt="Go to Roll20 on Bluesky" /></a> <a href="https://www.instagram.com/roll20app/" target="_blank"><img src="/v2/images/Icon-Instagram.png" alt="Go to Roll20 on Instagram" /></a> <a href=" https://www.tiktok.com/@roll20app?lang=en" target="_blank"><img src="/v2/images/Icon-TikTok.png" alt="Go to Roll20 on TikTok" style="max-height: 41px;"/></a> <a href="https://www.youtube.com/roll20app" target="_blank"><img src="/v2/images/Icon-YouTube.png" alt="Go to Roll20 on YouTube" /></a> <a href="https://www.twitch.tv/roll20app " target="_blank"><img src="/v2/images/Icon-Twitch.png" alt="Go to Roll20 on Twitch" /></a> <a href="https://www.linkedin.com/company/roll20/" target="_blank"><img src="/v2/images/Icon-LinkedIn.png" alt="Go to Roll20 on LinkedIn" /></a> </div> </div> <div class="footer-content"> <span class="powered-by">Powered by Roll20</span> <div class="grid-container"> <div class="section"> <a class="section-title" href="https://roll20.net" target="_blank">Roll20 <br> The #1 Tabletop for Playing RPGs Online</a> <p class="collapsed-section-title">Roll20 <br> <i>The #1 Tabletop for Playing RPGs Online</i></p> <div class="section-content"> <a href="https://roll20.net" target="_blank">Roll20 Tabletop</a> <a href="https://app.roll20.net/characters" target="_blank">Roll20 Characters</a> <a href="https://marketplace.roll20.net" target="_blank">Roll20 Marketplace</a> <a href="https://roll20.net/compendium" target="_blank">Roll20 Compendium</a> </div> </div> <div class="section"> <a class="section-title" href="https://drivethrurpg.com/" target="_blank" aria-label="Go to DriveThru Homepage">DriveThru <br> The Largest RPG Marketplace</a> <p class="collapsed-section-title">DriveThru <br> <i>The Largest RPG Marketplace</i></p> <div class="section-content"> <a class="homepage-link" href="https://drivethrurpg.com/" target="_blank">DriveThru</a> <a href="https://www.drivethrucomics.com/" target="_blank">DriveThruComics</a> <a href="https://www.drivethrufiction.com/index.php" target="_blank">DriveThruFiction</a> <a href="https://www.drivethrucards.com/" target="_blank">DriveThruCards</a> <a href="https://www.wargamevault.com/" target="_blank">Wargame Vault</a> </div> </div> <div class="section"> <a class="section-title" href="https://app.demiplane.com/home" target="_blank" aria-label="Go to Demiplane Homepage">Demiplane <br> Official Character Creation and Game Companion</a> <p class="collapsed-section-title">Demiplane <br> <i>Official Character Creation and Game Companion</i></p> <div class="section-content"> <a class="homepage-link" href="https://app.demiplane.com/home" target="_blank">Demiplane</a> <a href="https://app.demiplane.com/nexus/pathfinder2e" target="_blank">Pathfinder Nexus</a> <a href="https://app.demiplane.com/nexus/daggerheart" target="_blank">Daggerheart Nexus</a> <a href="https://app.demiplane.com/nexus/vampire" target="_blank">Vampire: The Masquerade Nexus</a> <a href="https://app.demiplane.com/nexus/marvelrpg" target="_blank">Marvel Multiverse RPG Nexus</a> <a href="https://app.demiplane.com/nexus/cosmererpg" target="_blank">Cosmere RPG Nexus</a> <a href="https://cyberpunkrednexus.com" target="_blank">Cyberpunk RED Nexus</a> </div> </div> <div class="section"> <a class="section-title" href="https://www.dungeonscrawl.com/" target="_blank" aria-label="Go to Dungeon Scrawl Homepage">Dungeon Scrawl <br> Create RPG Maps in Minutes</a> <p class="collapsed-section-title">Dungeon Scrawl <br> <i>Create RPG Maps in Minutes</i></p> <div class="section-content"> <a class="homepage-link" href="https://www.dungeonscrawl.com/" target="_blank">Dungeon Scrawl</a> <a href="https://www.dungeonscrawl.com/" target="_blank">Create a Map</a> </div> </div> <div class="section"> <span class="section-title community-content">Community Content</span> <p class="collapsed-section-title">Community Content <br> <i>Adventure by Fans Everywhere</i></p> <div class="section-content"> <a href="https://www.dmsguild.com/" target="_blank">Dungeon Masters Guild (D&D)</a> <a href="https://www.pathfinderinfinite.com/" target="_blank">Pathfinder Infinite</a> <a href="https://www.starfinderinfinite.com/" target="_blank">Starfinder Infinite</a> <a href="https://www.drivethrurpg.com/cc/16/Miskatonic " target="_blank">Miskatonic Repository</a> <a href="https://www.storytellersvault.com/" target="_blank">Storytellers Vault</a> </div> </div> </div> </div> <div class="footer-bottom"> <div class="dice"> <img src="/v2/images/Icon-Dice.svg" alt="Dice Icon"/> </div> <div class="roll20-logos"> <div class="roll20-logo-text"> <img src="/v2/images/roll20-logo.png" alt="Pink Roll20 Logo"/> <p class="bottom-text">Everything for <br> your adventures</p> </div> <div class="all-logos"> <img src="/v3/assets/img/logos/roll20-logo-new-light.svg" alt="Pink Roll20 Logo"/> <img src="/v2/images/DriveThruRPG-LG.png" alt="DriveThru RPG Logo"/> <img src="/v2/images/Demiplane-LG.png" alt="Demiplane Logo"/> <img src="/v2/images/DMG-LG.png" alt="Dungeon Masters Guild Logo"/> <img src="/v2/images/DungeonScrawl-LG.png" alt="Dungeown Scrawl"/> </div> </div> </div> </footer> <style> #footer { padding-top: 3rem; } .footer-terms{ display: flex; justify-content: space-around; align-items: center; font-weight: 300; font-size: 1.3rem; line-height: 1.5rem; } .footer-terms span{ width: 60%; padding-left: 1rem; font-size: 1rem; } sup { /* necessary to override stylings */ top: 0; font-size: 100%; } .powered-by { display: flex; align-items: center; text-align: center; padding: 2rem 3.5rem; } .powered-by::before, .powered-by::after { content: ""; flex: 1; border-bottom: 1px solid rgba(98, 91, 101, 1); margin: 0 10px; } .section-content{ display: flex; flex-direction: column; } .section-content a{ color: var(--color-grayscale1); } .homepage-link{ display: none; } .community-content{ color: var(--color-primary-text) !important; } /* Large screens - 3 columns layout (2, 1, 2) */ .grid-container { display: grid; grid-template-columns: 1fr 1fr 1fr; /* Three columns */ gap: 10px; align-items: start; /* Ensures items align to the top of the grid */ grid-auto-flow: dense; padding-left: 3.5rem; } /* Define where each section goes in the grid */ .section:nth-child(1), .section:nth-child(2) { grid-column: 1; } .section:nth-child(3) { grid-column: 2; grid-row: span 2; } .section:nth-child(4){ grid-column: 3; grid-row: 1; } .section:nth-child(5) { grid-column: 3; grid-row: 2; /* below two lines are to move the final section up out of the set grid to match design */ position: relative; top: -60px; } .collapsed-section-title{ display: none; } .dice{ display: flex; align-items: center; text-align: center; justify-content: center; padding: 0 7.5rem; } .dice::before, .dice::after { content: ""; flex: 1; border-bottom: 1px solid rgba(98, 91, 101, 1); margin: 0 10px; } .roll20-logo-text{ display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; } .roll20-logo-text img{ height: 5rem; } .bottom-text{ color: var(--color-grayscale1); text-transform: uppercase; font-weight: 600; } .footer-bottom{ padding-bottom: 30px; } .roll20-logos{ padding: 2rem 0 2rem 3rem; display: flex; justify-content: space-between; } .all-logos{ text-align: center; width: 73%; max-width: 50rem; } .all-logos img{ padding-right: 1rem; } /* There is a higher-level page break in a different CSS file, so I need to handle a specific width here when that happens */ @media (max-width: 1200px) { .all-logos { width: 70%; } .all-logos img{ padding-right: 1rem; } } /* There is a higher-level page break in a different CSS file, so I need to handle a specific width here when that happens */ @media (max-width: 991px) { .footer-terms span { width: 48%; padding-left: 10px; } } /* Medium screens - 2 columns layout (2, 3) */ @media (max-width: 1024px) { .grid-container { grid-template-columns: 1fr 1fr; /* Two equal columns */ } .section:nth-child(1), .section:nth-child(2) { grid-column: 1; } .section:nth-child(2){ position: relative; top: -30px; } .section:nth-child(3){ grid-column: 2; grid-row: 1 } .section:nth-child(4){ grid-column: 2; grid-row: 2 } .section:nth-child(5) { grid-column: 2; grid-row: 3; } .footer-bottom{ position: relative; top: -30px; } .all-logos{ display: none; } .roll20-logos{ justify-content: center; } .dice { padding: 0; } } /* Small screens - 1 column, collapsible sections */ @media (max-width: 768px) { .section-title { display: none; } .socials{ display: flex; gap: 1rem; padding-top: 1rem; } .collapsed-section-title{ display: unset; width: 100%; font-weight: 600; } .footer-terms{ flex-direction: column; } .footer-terms span{ display: none; } .footer-content{ display: flex; flex-direction: column; } .grid-container { display: flex; flex-direction: column; align-self: center; width: 85%; padding-left: 0; position: relative; left: -16px; } .homepage-link{ display: unset; } .globalfooter p{ color: var(--color-grayscale1); } .section{ display: flex; align-items: center; justify-content: space-between; width: 100%; flex-direction: column; border-bottom: 1px solid rgba(98, 91, 101, 1); width: 110%; } .section-content a{ color: var(--color-primary-text); font-size: 1rem; } .section:nth-child(2){ top: 0; } .section:nth-child(5) { top: 0; } i { font-weight: 400; } .section-content { display: none; /* Hidden by default */ } .section.active .section-content { display: flex; /* Show content when active */ flex-direction: column; align-items: flex-start; width: 98%; font-size: 1.5rem; padding: 0 0 10px 5px; } .collapsed-section-title::after { content: '+'; float: right; } .collapsed-section-title.active::after { content: '-'; transform: scaleX(1.8); } .footer-bottom{ position: relative; top: 20px; } .powered-by { display: flex; align-items: center; text-align: center; padding: 2rem 0; } .roll20-logos{ padding: 2rem 0; } } </style> <script> // Toggle collapsible sections on small screens document.querySelectorAll('.collapsed-section-title').forEach(section => { section.addEventListener('click', function() { this.classList.toggle('active'); this.parentElement.classList.toggle('active'); }); }); </script> <!-- This is the footer that is shared across all pages --> <script type="text/javascript"> $(function() { var cookieName = 'roll20tempauth'; var cookieValue = Math.floor(Math.random()*100); var myDate = new Date(); myDate.setMonth(myDate.getMonth() + 1); var cookieinfo = cookieName +"=" + cookieValue + ";expires=" + myDate + ";domain=.roll20.net;path=/"; document.cookie = cookieinfo; // var s = document.createElement('script'); // s.type = 'text/javascript'; // s.src = 'https://app.roll20.net/sessions/topbar/'+cookieValue; // var x = document.getElementsByTagName('script')[0]; // x.parentNode.insertBefore(s, x); }); </script> <script id="tmpl_campaigntag" type="text/html"> <div class="tag"><$=this.model.get("tag")$></div> </script> <script id="tmpl_campaigntags" type="text/html"> <div class="tags tagset"> <div class="tagslabel"> <span class="pictos">z</span> Tags: </div> <input> <$ if(this.editable == "true") { $> <div class="add"> <em> <span class="pictos">p</span> Edit Tags </em> </div> <$ } $> </div> <div class="clear"></div> </script> <script id="tmpl_tokentag" type="text/html"> <div class="tag"> <$=this.model.get("tag")$> </div> </script> <script id="tmpl_tokentags" type="text/html"> <div class="tags tagset"> <div class="label"> <span class="pictos">z</span> Global Tags: </div> <input /> <$ if(this.editable == "true") { $> <div class="add"> <em> <span class="pictos">p</span> Edit Tags </em> </div> <$ } $> </div> <div class="clear"></div> </script> <script id="tmpl_yourtag" type="text/html"> <div class="tag"> <$=this.model.get("tag")$> </div> </script> <script id="tmpl_yourtags" type="text/html"> <div class="tags tagset"> <div class="label"> <span class="pictos">z</span> Global Tags: </div> <input /> <$ if(this.editable == "true") { $> <div class="add"> <em> <span class="pictos">p</span> Edit Tags </em> </div> <$ } $> </div> <div class="clear"></div> </script> <script id="tmpl_uploadslot" type="text/html"> <div class="avatar dropbox <$! (this != "" ? "filled" : "empty") $>"> <div class="status"></div> <div class="inner"> <$ if(this == "") { $> <h4 style="padding-bottom: 0px; marigin-bottom: 0px; color: #777;">Drop a File<small>(JPG, PNG, GIF)</small></h4> <div style="margin-top: -5px; margin-bottom: 5px;">or</div> <a href="javascript:void(0);" class="btn btn-info" style="margin-bottom: 10px;">Choose a File...</a> <input class="manual" type="file" /> <$ } else { $> <img src="<$!this$>" /> <div class='remove'><a href='javascript:void(0);'>Change Image</a></div> <$ } $> </div> </div> </script> <script type="text/javascript"> $(function() { setTimeout(function(){ if($(".obs_container").length > 0) { // GA Event Tracking ga('send', { 'hitType': 'event', 'eventCategory': 'obsAdvert', 'eventAction': 'topbar', 'eventLabel': '' }); } }, 0); $(".localtimeme-short").each(function() { let time = parseInt($.trim($(this).text()), 10); let d = new Date(time*1000); $(this).attr("data-timestamp", d.getTime()); let mytimezone = ""; if(d.toLocaleString) { mytimezone = d.toLocaleString('en', {timeZoneName: 'short'}).split(' ').pop(); } const options = { month: 'long', hour:'numeric', minute:'numeric', day: 'numeric', timeZoneName: 'short' }; $(this).text(d.toLocaleDateString('en-EN', options)); }); }); $("#roll20-top .loginform button").on("click", function() { console.log("click"); var $form = $(this).parents("form"); $form.attr("action", $form.attr("action") + "?backto=" + escape(window.location)); $form.submit(); return false; }); $(".topbarnotifications .notification button").on("click", function() { var notid = $(this).attr("data-notification-id"); var othis = this; $.getJSON("https://app.roll20.net/notifications/dismiss/" + notid + "/?callback=?", function(data) { if(notid == "all") { $(othis).parents(".notifications").fadeOut(); $(".alertcount").html(""); $(".topbarnotifications .dropdown-menu").remove(); $(".topbarnotifications.nav-item-messages").html("<a href='https://app.roll20.net/private_message/inbox/' class='nav-link'><i class='fas fa-envelope'></i></a>"); return; } if($(othis).attr("href")) { window.location = "https://app.roll20.net" + $(othis).attr("href"); } else { $(othis).parents(".notification").fadeOut(); var $count = $(othis).parents(".notifications").find("a .count"); var current = parseInt($.trim($count.text()), 10); current = current - 1; if(current < 0) current = 0; $count.text(current); countdown = parseInt($(".alertcount").html(), 10) $(".alertcount").html(countdown - 1); if(countdown < 2) { $(othis).parents(".notifications").fadeOut(); $(".alertcount").html(""); $(".topbarnotifications .dropdown-menu").remove(); $(".topbarnotifications.nav-item-messages").html("<a href='https://app.roll20.net/private_message/inbox/' class='nav-link'><i class='fas fa-envelope'></i></a>"); return; } } }); return false; }); $(".topbarsitenotifications .newalerts").on("click", function() { }); $("#navbar-notifications__see-more-btn").on("click", function() { window.location = "https://app.roll20.net/sitenotifications"; }); $("#menu-mobile-site-alerts").on("click", function(e) { e.preventDefault(); window.location = "https://app.roll20.net/sitenotifications"; }); $("#remove-admin-menu").on("click", function() { $("#menu-adminhalla").remove(); $("ul.dropdown-menu[aria-labelledby='menu-adminhalla']").remove(); $(".logo img").prop("style", ""); }); if(window.dataLayer) { dataLayer.push({ 'event': 'start_pw'}); } </script> <style> .bottom-banner { background-color: #fff; position: fixed; bottom: 40px; z-index: 9999; width: calc(100% - 30px); margin-left: 15px; box-shadow: 0px 0px 16px #888888; display: flex; align-items:center; justify-content: space-around; } .bottom-banner-css-version-v2{ border-left: 15px solid #ec008c; } .bottom-banner-css-version-v3{ border-left: 15px solid #35c8f5; } .bottom-banner-css-version-v2 .bottom-banner__button{ background-color: #35c8f5; } .bottom-banner-css-version-v3 .bottom-banner__button{ background-color: #ec008c; } .bottom-banner--hidden { display:none; } .bottom-banner__message { padding: 1em; float: left; font-size: 12px; line-height: 1.4; } .bottom-banner__dismiss-icon { float: right; padding:10px; color: #d1d1d1; cursor: pointer; align-self: flex-start; } .bottom-banner__dismiss-icon:hover { color: #333333; } .bottom-banner__button, .bottom-banner__button:hover, .bottom-banner__button:visited, .bottom-banner__button:active { float:right; font-size: 16px; line-height: 1.6; border-radius: 4px; padding: 7px 15px 7px 15px; color: #fff !important; transition: all .25s linear; text-decoration: none; } .bottom-banner__button:hover { color: #fff; } .cookie-modal--hidden { display: none; position: fixed; z-index: 10001; left: 0; top: 0; width: 100%; height: 100%; overflow: auto; } .cookie-modal-content { background-color: var(--color-surface1); margin: 20% auto; padding: 20px; width: 40%; box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.6), 0 6px 20px 0 rgba(0, 0, 0, 0.19); } .cookie-modal-content h3 { display: inline-block; } .cookie-modal-css-version-v3 { padding-top: 16px; } .cookie-modal_switch .switch{ display: inline-block; float: right; margin-top: 30px; width: 60px; } .switch { position: relative; display: inline-block; width: 60px; height: 26px; } .switch input { opacity: 0; width: 0; height: 0; } .slider { position: absolute; cursor: pointer; top: 0; left: 0; right: 0; bottom: 0; background-color: #8492A6; -webkit-transition: .3s; transition: .3s; } .slider:after { content: "Off"; position: absolute; top: 50%; right: 11px; transform: translateY(-50%); color: #fff; font-family: helvetica; font-weight: bold; font-size: 13px; } .slider:before { position: absolute; content: ""; height: 20px; width: 20px; left: 3px; bottom: 3px; background-color: white; -webkit-transition: .3s; transition: .3s; } input:checked + .slider { background-color: #00853C; } input:disabled + .slider { cursor: no-drop; background-color: #C2C7D1; } input:disabled + .slider:before { background-color: #DFE2E7; } input:focus + .slider { box-shadow: 0 0 5px #2196F3; } input:checked + .slider:before { -webkit-transform: translateX(33px); -ms-transform: translateX(33px); transform: translateX(33px); } input:checked + .slider:after { content: "On"; right: auto; left: 11px; } /* Rounded sliders */ .slider.round { border-radius: 26px; width: 60px; } .slider.round:before { border-radius: 50%; } .close { float: right; font-size: 20px; font-weight: bold; line-height: 18px; color: var(--color-grayscale1); text-shadow: 0 1px 0 #ffffff; opacity: 0.2; filter: alpha(opacity=20); } .close:hover { color: var(--color-grayscale1); text-decoration: none; opacity: 0.4; filter: alpha(opacity=40); cursor: pointer; } </style> <!--googleoff: all--> <div id="gdpr-notification" class="bottom-banner bottom-banner--hidden bottom-banner-css-version-v3"> <div class="bottom-banner__message"> Roll20 uses cookies to improve your experience on our site. Cookies enable you to enjoy certain features, social sharing functionality, and tailor message and display ads to your interests on our site and others. They also help us understand how our site is being used. By continuing to use our site, you consent to our use of cookies. Update your cookie preferences <a href='#' id='banner-link-preferences'>here</a>. </div> <span class="bottom-banner__dismiss-icon" id="gdpr-notification-dismiss-button" aria-label="Close Cookie Toast" role="button" tabindex="0">&times;</span> </div> <div id="cookie-modal" class="cookie-modal--hidden"> <!-- Modal content --> <div class="cookie-modal-content cookie-modal-css-version-v3"> <span class="close" id="cookie-modal-dismiss">&times;</span> <h3>Cookie Preferences</h3> <span class="cookie-modal_switch"> <label class="switch"> <span class="sr-only">Accept cookies</span> <input class="feature_toggle" id="cookie-modal-input" type="checkbox"> <span class="slider round"></span> </span> <hr> We use Cookies to help personalize and improve Roll20. For more information on our use of non-essential Cookies, visit our Privacy Policy <a href=https://roll20.zendesk.com/hc/articles/360037770793-Terms-of-Service-and-Privacy-Policy target='_blank'>here.</a> </div> </div> <!--googleon: all--> <script src="https://www.datadoghq-browser-agent.com/datadog-rum.js" type="text/javascript"> </script> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-31040388-1"></script> <script type="text/javascript" nonce=""> // Google analytics function to send events via analytics.js // Remove after everything has been switched to gtag (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); // Google analytics function to send events via gtag.js function gtag(){dataLayer.push(arguments);} initializeOldGoogleAnalytics(); initializeNewGoogleAnalytics(); window['ga-disable-UA-31040388-1'] = true; var gdprCookie = getCookie("gdpr_accepts_cookies"); if (gdprCookie != undefined) { gdprCookie == "true" ? gdprCookie = true : gdprCookie = false; }; var gdprBanner = document.getElementById("gdpr-notification"); var gdprBannerDissmissButton = document.getElementById("gdpr-notification-dismiss-button"); var gdprLoggedIn = false; var gdprAccountAcceptsCookies = null; var cookieModal = document.getElementById("cookie-modal"); var cookieModalClose = document.getElementById("cookie-modal-dismiss"); var cookieModalSwitch = document.getElementById("cookie-modal-input"); var bannerLinkPreferences = document.getElementById("banner-link-preferences"); bannerLinkPreferences.onclick = function () { cookieModal.style.display = 'block'; hideGDPRBanner(); } function setGDPRCookie(value, expirationInDays) { var date = new Date(); date.setTime(date.getTime() + expirationInDays * 24 * 60 * 60 * 1000); //convert to milleseconds var expires = "expires="+ date.toUTCString(); document.cookie = "gdpr_accepts_cookies=" + value + ";" + expires + ";path=/"+ ";domain=.roll20.net"; } function getCookie(cname) { var name = cname + "="; var ca = document.cookie.split(';'); for(var i = 0; i < ca.length; i++) { var c = ca[i]; while (c.charAt(0) == ' ') { c = c.substring(1); } if (c.indexOf(name) == 0) { return c.substring(name.length, c.length); } } return undefined; } function checkGdprStatus() { if (gdprLoggedIn == true) { checkAccountGdprCookieSettings(); } else { checkPublicGdprCookieSettings(); } } function checkAccountGdprCookieSettings() { var cookieExists = getCookie("gdpr_accepts_cookies"); switch(cookieExists){ case "true": acceptCookies(); break case "false": denyCookies(); break case undefined: showGDPRBanner(); acceptCookies(); break } } function checkPublicGdprCookieSettings() { console.log('Not logged in - checking cookie GDPR status'); const in_discord = false; if (gdprCookie == undefined) { console.log("No GPDR Cookie Detected"); // If a user is logging in from the discord activity, we want to deny our cookies by default so we don't show the cookie banner. Later, we can figure out a better way to handle instead of denying out of the gate (so we have analytics, for example), but for MVP, this works if(in_discord){ denyCookies(); }else{ showGDPRBanner(); acceptCookies(); } } else if (gdprCookie == true){ console.log("GDPR Cookie Detected"); acceptCookies(); } } // Options object for google analytics based on the current account function getAnalyticsConfigOptions() { return {'cookieDomain': 'auto'} } // Not impacted by GDPR - just connects our account // Remove after everything has been switched to gtag function initializeOldGoogleAnalytics() { ga('create', 'UA-31040388-1', getAnalyticsConfigOptions()); } // Not impacted by GDPR - just connects our account function initializeNewGoogleAnalytics() { window.dataLayer = window.dataLayer || []; gtag('js', new Date()); // Universal analytics gtag('config', 'UA-31040388-1', { ...getAnalyticsConfigOptions(), send_page_view: false }); // Google Analytics 4 gtag('config', 'G-SZLSVQPSWG', { ...getAnalyticsConfigOptions(), send_page_view: false }); } function turnOnGoogleAnalytics() { window['ga-disable-UA-31040388-1'] = false; ga('send', 'pageview'); if(window.dataLayer) { dataLayer.push({'event': 'optedIn'}); } } var showGDPRBanner = function () { gdprBanner.classList.remove("bottom-banner--hidden"); } var hideGDPRBanner = function () { gdprBanner.classList.add("bottom-banner--hidden"); } var updateUserAccount = function(account_id, value) { var xhr = new XMLHttpRequest(); // need to get the below working for marketplace, compendium, landing (only works for app) xhr.open("PATCH", '/accounts/'+account_id, true); xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8'); var cookieValue = "account[gdpr_accepts_cookies]=" + value; xhr.send(cookieValue); } var acceptCookies = function () { setGDPRCookie(true, 365); turnOnGoogleAnalytics(); turnOnDataDogRUM(); // hideGDPRBanner(); document.getElementById("cookie-modal-input").checked = true; } var denyCookies = function () { setGDPRCookie(false, 365); } var toggleCookie = function () { var switchChecked = document.getElementById("cookie-modal-input").checked; setGDPRCookie(switchChecked, 365); } var showCookieModal = function (){ cookieModal.style.display = "block"; } var closeCookieModal = function (){ cookieModal.style.display = "none"; } if (gdprCookie == true || gdprAccountAcceptsCookies == true){ document.getElementById("cookie-modal-input").checked = true; } gdprBannerDissmissButton.addEventListener("click", hideGDPRBanner); cookieModalClose.addEventListener("click", closeCookieModal); cookieModalSwitch.addEventListener("click", toggleCookie); checkGdprStatus(); function vttSampleRate() { const sampleRate = 0; if (sampleRate > 5) return sampleRate; return 5; } function experiment({ chatTech }) { const experimentsEnabled =false; return experimentsEnabled && chatTech === 'simple-peer'; } function staging({ hostName }) { return hostName === 'roll20staging.net'; } function ddSampleRate(opts) { if (experiment(opts)) return 100; return staging(opts) ? 100 : vttSampleRate(); } function turnOnDataDogRUM () { var tmplMeta = { chatTech: '', hostName: 'roll20.net', version: '25.3.24.2', }; var sampleRate = ddSampleRate(tmplMeta); window.DD_RUM && window.DD_RUM.init({ applicationId: '95ddf222-5b92-4a62-803a-185cdd723c8b', clientToken: 'pub3fb1f7cf273c5d345be974e50be0dfda', site: 'datadoghq.com', service:'d20app', sampleRate, trackInteractions: true, version: tmplMeta.version, }); } </script> <script type="text/javascript"> // Sets a browser cookie, but only allows true or false flags function setCookie(name, value, expirationInDays) { let date = new Date(); date.setTime(date.getTime() + expirationInDays * 24 * 60 * 60 * 1000); //convert to milleseconds const expires = `expires=${date.toUTCString()}`; if (value == true || value == false) { document.cookie = `${name}=${value};${expires};path=/;domain=.roll20.net`; } else if (name == "subscriptionGiftPurchaseInfo"){ // it is a gift subscription and we need some actual values let amount = value.substring( value.indexOf("=") + 1, value.lastIndexOf("|") ) let giftToId = value.split('|giftToId=')[1]; document.cookie = `subscriptionGiftPurchaseInfo=true|amount=${amount*100}|giftToId=${giftToId};${expires};path=/;domain=.roll20.net`; }else { return undefined; } } // Gets a browser cookie value function getCookie(cname) { let name = cname + '='; let ca = document.cookie.split(';'); for(let i = 0; i < ca.length; i++) { let c = ca[i]; while (c.charAt(0) == ' ') { c = c.substring(1); } if (c.indexOf(name) == 0) { return c.substring(name.length, c.length); } } return undefined; } function checkCookieFlag(name) { let flag = getCookie(name); if (flag != undefined) { flag == 'true' ? flag = true : flag = false; } return flag; } </script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10