1<!doctype html> 2<!-- header.php --> 3<html lang="en-US"> 4<head> 5 <!-- Google Tag Manager --> 6
6<script>
vendor: 335 bytes, lines 6-10
6(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 7 new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 8 j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 9 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 10 })(window,document,'script','dataLayer','
10GTM-P9S9DLB
vendor: 3 bytes, line 10
10');
10</script>
10 11 <!-- End Google Tag Manager --> 12 <!-- Mailchimp connected-site script, held until the visitor interacts. 13 It drives the signup popup, which has no value before someone is actually 14 present. Revenue tracking runs through mailchimp-for-woocommerce, not this. --> 15
15<script id="mcjs"> 16 (function(d,src){var done=false,evts=['scroll','mousemove','touchstart','keydown','click','wheel']; 17 function load(){if(done){return;}done=true; 18 evts.forEach(function(e){window.removeEventListener(e,load,{passive:true});}); 19 var s=d.createElement('script'),f=d.getElementsByTagName('script')[0]; 20 s.async=1;s.src=src;f.parentNode.insertBefore(s,f);} 21 evts.forEach(function(e){window.addEventListener(e,load,{passive:true});}); 22 })(document,"https://chimpstatic.com/mcjs-connected/js/users/40e7c975ae212506d1254ff52/ce6a5cc731a09cfede94003fa.js"); 23 </script>
23 24 <meta charset="UTF-8"> 25 <meta name="viewport" content="width=device-width, initial-scale=1"> 26 <link rel="profile" href="https://gmpg.org/xfn/11"> 27 <!-- Typekit loaded without blocking the first paint. It cost ~1.75s of render 28 block across use.typekit.net and p.typekit.net. Text paints in the fallback 29 face and swaps when the kit lands. --> 30 <link rel="stylesheet" href="https://use.typekit.net/xid6xgf.css" media="print" onload="this.media='all';this.onload=null;"> 31 <noscript><link rel="stylesheet" href="https://use.typekit.net/xid6xgf.css"></noscript> 32 33 <meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' /> 34 35 <!-- This site is optimized with the Yoast SEO plugin v28.5 - https://yoast.com/product/yoast-seo-wordpress/ --> 36 <title>Blog - Evil Hat Productions</title> 37<link data-rocket-prefetch href="https://www.gstatic.com" rel="dns-prefetch"> 38<link data-rocket-prefetch href="https://www.googletagmanager.com" rel="dns-prefetch"> 39<link data-rocket-prefetch href="https://chimpstatic.com" rel="dns-prefetch"> 40<link data-rocket-prefetch href="https://use.typekit.net" rel="dns-prefetch"> 41<link data-rocket-prefetch href="https://fonts.googleapis.com" rel="dns-prefetch"> 42<link data-rocket-prefetch href="https://googleads.g.doubleclick.net" rel="dns-prefetch"> 43<link data-rocket-prefetch href="https://www.google.com" rel="dns-prefetch"> 44<link data-rocket-prefetch href="https://form-assets.mailchimp.com" rel="dns-prefetch"><link rel="preload" data-rocket-preload as="image" href="https://evilhat.com/wp-content/uploads/2026/02/subhero.webp" imagesrcset="https://evilhat.com/wp-content/uploads/2026/02/subhero.webp 642w, https://evilhat.com/wp-content/uploads/2026/02/subhero-300x212.webp 300w, https://evilhat.com/wp-content/uploads/2026/02/subhero-180x127.webp 180w, https://evilhat.com/wp-content/uploads/2026/02/subhero-150x106.webp 150w, https://evilhat.com/wp-content/uploads/2026/02/subhero-283x200.webp 283w" imagesizes="(max-width: 200px) 100vw, 200px" fetchpriority="high"> 45 <link rel="canonical" href="https://evilhat.com/blog/" /> 46 <link rel="next" href="https://evilhat.com/blog/page/2/" /> 47 <meta property="og:locale" content="en_US" /> 48 <meta property="og:type" content="article" /> 49 <meta property="og:title" content="Blog - Evil Hat Productions" /> 50 <meta property="og:url" content="https://evilhat.com/blog/" /> 51 <meta property="og:site_name" content="Evil Hat Productions" /> 52 <meta name="twitter:card" content="summary_large_image" /> 53
53<script type="application/ld+json" class="yoast-schema-graph">{"@context":"https:\/\/schema.org","@graph":[{"@type":["WebPage","CollectionPage"],"@id":"https:\/\/evilhat.com\/blog\/","url":"https:\/\/evilhat.com\/blog\/","name":"Blog - Evil Hat Productions","isPartOf":{"@id":"https:\/\/evilhat.com\/#website"},"datePublished":"2022-05-09T02:26:45+00:00","dateModified":"2022-06-12T02:26:26+00:00","breadcrumb":{"@id":"https:\/\/evilhat.com\/blog\/#breadcrumb"},"inLanguage":"en-US"},{"@type":"BreadcrumbList","@id":"https:\/\/evilhat.com\/blog\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/evilhat.com\/"},{"@type":"ListItem","position":2,"name":"Blog"}]},{"@type":"WebSite","@id":"https:\/\/evilhat.com\/#website","url":"https:\/\/evilhat.com\/","name":"Evil Hat Productions","description":"Turning Passion Into Great Games!","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/evilhat.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}</script>
53 54 <!-- / Yoast SEO plugin. --> 55 56 57<link rel='dns-prefetch' href='//www.googletagmanager.com' /> 58<link href='https://use.typekit.net' crossorigin='anonymous' rel='preconnect' /> 59<link rel='preconnect' href='https://p.typekit.net' /> 60<link rel='preconnect' href='https://www.googletagmanager.com' /> 61 62<link rel="alternate" type="application/rss+xml" title="Evil Hat Productions » Feed" href="https://evilhat.com/feed/" /> 63<link rel="alternate" type="application/rss+xml" title="Evil Hat Productions » Comments Feed" href="https://evilhat.com/comments/feed/" /> 64<style id="wp-img-auto-sizes-contain-inline-css"> 65img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px} 66/*# sourceURL=wp-img-auto-sizes-contain-inline-css */ 67</style> 68<link rel='stylesheet' id='wccp-extends-cart-blocks-css' href='https://evilhat.com/wp-content/plugins/woocommerce-chained-products/blocks/assets/css/wc-cp-extends-cart-blocks.min.css?ver=3.10.0' media='all' /> 69<style id="wp-emoji-styles-inline-css"> 70 71 img.wp-smiley, img.emoji { 72 display: inline !important; 73 border: none !important; 74 box-shadow: none !important; 75 height: 1em !important; 76 width: 1em !important; 77 margin: 0 0.07em !important; 78 vertical-align: -0.1em !important; 79 background: none !important; 80 padding: 0 !important; 81 } 82/*# sourceURL=wp-emoji-styles-inline-css */ 83</style> 84<style id="wp-block-library-inline-css"> 85:root{--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223;--wp-bound-block-color:var(--wp-block-synced-color);--wp-editor-canvas-background:#ddd;--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,160.5;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.wp-element-button{cursor:pointer}:root .has-very-light-gray-background-color{background-color:#eee}:root .has-very-dark-gray-background-color{background-color:#313131}:root .has-very-light-gray-color{color:#eee}:root .has-very-dark-gray-color{color:#313131}:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background{background:linear-gradient(135deg,#00d084,#0693e3)}:root .has-purple-crush-gradient-background{background:linear-gradient(135deg,#34e2e4,#4721fb 50%,#ab1dfe)}:root .has-hazy-dawn-gradient-background{background:linear-gradient(135deg,#faaca8,#dad0ec)}:root .has-subdued-olive-gradient-background{background:linear-gradient(135deg,#fafae1,#67a671)}:root .has-atomic-cream-gradient-background{background:linear-gradient(135deg,#fdd79a,#004a59)}:root .has-nightshade-gradient-background{background:linear-gradient(135deg,#330968,#31cdcf)}:root .has-midnight-gradient-background{background:linear-gradient(135deg,#020381,#2874fc)}:root{--wp--preset--font-size--normal:16px;
85--wp--preset--font-size--huge:42px}.has-regular-font-size{font-size:1em}.has-larger-font-size{font-size:2.625em}.has-normal-font-size{font-size:var(--wp--preset--font-size--normal)}.has-huge-font-size{font-size:var(--wp--preset--font-size--huge)}:root .has-text-align-center{text-align:center}:root .has-text-align-left{text-align:left}:root .has-text-align-right{text-align:right}.has-fit-text{white-space:nowrap!important}#end-resizable-editor-section{display:none}.aligncenter{clear:both}.items-justified-left{justify-content:flex-start}.items-justified-center{justify-content:center}.items-justified-right{justify-content:flex-end}.items-justified-space-between{justify-content:space-between}.screen-reader-text{word-wrap:normal!important;border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-break:normal!important}.screen-reader-text:focus{background-color:#ddd;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}html :where(.has-border-color){border-style:solid}html :where([style^=border-color],[style*=";border-color"],[style*="; border-color"]){border-style:solid}html :where([style^=border-top-color],[style*=";border-top-color"],[style*="; border-top-color"]){border-top-style:solid}html :where([style^=border-right-color],[style*=";border-right-color"],[style*="; border-right-color"]){border-right-style:solid}html :where([style^=border-bottom-color],[style*=";border-bottom-color"],[style*="; border-bottom-color"]){border-bottom-style:solid}html :where([style^=border-left-color],[style*=";border-left-color"],[style*="; border-left-color"]){border-left-style:solid}html :where([style^=border-width],[style*=";border-width"],[style*="; border-width"]){border-style:solid}html :where([style^=border-top-width],[style*=";border-top-width"],[style*="; border-top-width"]){border-top-style:solid}html :where([style^=border-right-width],[style*=";border-right-width"],[style*="; border-right-width"]){border-right-style:solid}html :where([style^=border-bottom-width],[style*=";border-bottom-width"],[style*="; border-bottom-width"]){border-bottom-style:solid}html :where([style^=border-left-width],[style*=";border-left-width"],[style*="; border-left-width"]){border-left-style:solid}html :where(img[class*=wp-image-]){height:auto;max-width:100%}:where(figure){margin:0 0 1em}html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:var(--wp-admin--admin-bar--height,0px)}@media screen and (max-width:600px){html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:0px}} 86 87/*# sourceURL=/wp-includes/css/dist/block-library/common.min.css */ 88</style> 89<style id="wp-block-heading-inline-css"> 90h1:where(.wp-block-heading).has-background,h2:where(.wp-block-heading).has-background,h3:where(.wp-block-heading).has-background,h4:where(.wp-block-heading).has-background,h5:where(.wp-block-heading).has-background,h6:where(.wp-block-heading).has-background{padding:1.25em 2.375em}h1.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h1.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h2.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h2.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h3.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h3.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h4.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h4.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h5.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h5.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h6.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h6.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]){rotate:180deg} 91/*# sourceURL=https://evilhat.com/wp-includes/blocks/heading/style.min.css */ 92</style> 93<style id="wp-block-loginout-inline-css"> 94.wp-block-loginout{box-sizing:border-box} 95/*# sourceURL=https://evilhat.com/wp-includes/blocks/loginout/style.min.css */ 96</style> 97<style id="wp-block-paragraph-inline-css"> 98.is-small-text{font-size:.875em}.is-regular-text{font-size:1em}.is-large-text{font-size:2.25em}.is-larger-text{font-size:3em}.has-drop-cap:not(:focus):first-letter{float:left;font-size:8.4em;font-style:normal;font-weight:100;line-height:.68;margin:.05em .1em 0 0;text-transform:uppercase}body.rtl .has-drop-cap:not(:focus):first-letter{float:none;margin-left:.1em}p.has-drop-cap.has-background{overflow:hidden}:root :where(p.has-background){padding:1.25em 2.375em}:where(p.has-text-color:not(.has-link-color)) a{color:inherit}p.has-text-align-left[style*="writing-mode:vertical-lr"],p.has-text-align-right[style*="writing-mode:vertical-rl"]{rotate:180deg} 99/*# sourceURL=https://evilhat.com/wp-includes/blocks/paragraph/style.min.css */ 100</style> 101<style id="wp-block-search-inline-css"> 102.wp-block-search__button{margin-left:10px;word-break:normal}.wp-block-search__button.has-icon{line-height:0}.wp-block-search__button svg{fill:currentColor;height:1.25em;min-height:24px;min-width:24px;vertical-align:text-bottom;width:1.25em}:where(.wp-block-search__button){border:1px solid #ccc;padding:6px 10px}.wp-block-search__inside-wrapper{display:flex;flex:auto;flex-wrap:nowrap;max-width:100%}.wp-block-search__label{width:100%}.wp-block-search.wp-block-search__button-only .wp-block-search__button{box-sizing:border-box;display:flex;flex-shrink:0;justify-content:center;margin-left:0;max-width:100%}.wp-block-search.wp-block-search__button-only .wp-block-search__inside-wrapper{min-width:0!important;transition-property:width}.wp-block-search.wp-block-search__button-only .wp-block-search__input{flex-basis:100%;transition-duration:.3s}.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden,.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden .wp-block-search__inside-wrapper{overflow:hidden}.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden .wp-block-search__input{border-left-width:0!important;border-right-width:0!important;flex-basis:0;flex-grow:0;margin:0;min-width:0!important;padding-left:0!important;padding-right:0!important;width:0!important}:where(.wp-block-search__input){-webkit-appearance:initial;-moz-appearance:initial;appearance:none;border:1px solid #949494;flex-grow:1;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin-left:0;margin-right:0;min-width:3rem;padding:8px;text-decoration:unset!important;text-transform:inherit}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper){background-color:#fff;border:1px solid #949494;box-sizing:border-box;padding:4px}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) .wp-block-search__input{border:none;border-radius:0;padding:0 4px}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) .wp-block-search__input:focus{outline:none}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) :where(.wp-block-search__button){padding:4px 8px}.wp-block-search.aligncenter .wp-block-search__inside-wrapper{margin:auto}.wp-block[data-align=right] .wp-block-search.wp-block-search__button-only .wp-block-search__inside-wrapper{float:right} 103/*# sourceURL=https://evilhat.com/wp-includes/blocks/search/style.min.css */ 104</style> 105 106 107<link rel='stylesheet' id='mediaelement-css' href='https://evilhat.com/wp-includes/js/mediaelement/mediaelementplayer-legacy.min.css?ver=4.2.17' media='all' /> 108<link rel='stylesheet' id='wp-mediaelement-css' href='https://evilhat.com/wp-includes/js/mediaelement/wp-mediaelement.min.css?ver=78ddc6aa9594e4e187a2f2ab8606de7c' media='all' /> 109<link rel='stylesheet' id='view_editor_gutenberg_frontend_assets-css' href='https://evilhat.com/wp-content/plugins/toolset-blocks/public/css/views-frontend.css?ver=3.6.2' media='all' /> 110<style id="view_editor_gutenberg_frontend_assets-inline-css"> 111.wpv-sort-list-dropdown.wpv-sort-list-dropdown-style-default > span.wpv-sort-list,.wpv-sort-list-dropdown.wpv-sort-list-dropdown-style-default .wpv-sort-list-item {border-color: #cdcdcd;}.wpv-sort-list-dropdown.wpv-sort-list-dropdown-style-default .wpv-sort-list-item a {color: #444;background-color: #fff;}.wpv-sort-list-dropdown.wpv-sort-list-dropdown-style-default a:hover,.wpv-sort-list-dropdown.wpv-sort-list-dropdown-style-default a:focus {color: #000;background-color: #eee;}.wpv-sort-list-dropdown.wpv-sort-list-dropdown-style-default .wpv-sort-list-item.wpv-sort-list-current a {color: #000;background-color: #eee;} 112.wpv-sort-list-dropdown.wpv-sort-list-dropdown-style-default > span.wpv-sort-list,.wpv-sort-list-dropdown.wpv-sort-list-dropdown-style-default .wpv-sort-list-item {border-color: #cdcdcd;}.wpv-sort-list-dropdown.wpv-sort-list-dropdown-style-default .wpv-sort-list-item a {color: #444;background-color: #fff;}.wpv-sort-list-dropdown.wpv-sort-list-dropdown-style-default a:hover,.wpv-sort-list-dropdown.wpv-sort-list-dropdown-style-default a:focus {color: #000;background-color: #eee;}.wpv-sort-list-dropdown.wpv-sort-list-dropdown-style-default .wpv-sort-list-item.wpv-sort-list-current a {color: #000;background-color: #eee;}.wpv-sort-list-dropdown.wpv-sort-list-dropdown-style-grey > span.wpv-sort-list,.wpv-sort-list-dropdown.wpv-sort-list-dropdown-style-grey .wpv-sort-list-item {border-color: #cdcdcd;}.wpv-sort-list-dropdown.wpv-sort-list-dropdown-style-grey .wpv-sort-list-item a {color: #444;background-color: #eeeeee;}.wpv-sort-list-dropdown.wpv-sort-list-dropdown-style-grey a:hover,.wpv-sort-list-dropdown.wpv-sort-list-dropdown-style-grey a:focus {color: #000;background-color: #e5e5e5;}.wpv-sort-list-dropdown.wpv-sort-list-dropdown-style-grey .wpv-sort-list-item.wpv-sort-list-current a {color: #000;background-color: #e5e5e5;} 113.wpv-sort-list-dropdown.wpv-sort-list-dropdown-style-default > span.wpv-sort-list,.wpv-sort-list-dropdown.wpv-sort-list-dropdown-style-default .wpv-sort-list-item {border-color: #cdcdcd;}.wpv-sort-list-dropdown.wpv-sort-list-dropdown-style-default .wpv-sort-list-item a {color: #444;background-color: #fff;}.wpv-sort-list-dropdown.wpv-sort-list-dropdown-style-default a:hover,.wpv-sort-list-dropdown.wpv-sort-list-dropdown-style-default a:focus {color: #000;background-color: #eee;}.wpv-sort-list-dropdown.wpv-sort-list-dropdown-style-default .wpv-sort-list-item.wpv-sort-list-current a {color: #000;background-color: #eee;}.wpv-sort-list-dropdown.wpv-sort-list-dropdown-style-grey > span.wpv-sort-list,.wpv-sort-list-dropdown.wpv-sort-list-dropdown-style-grey .wpv-sort-list-item {border-color: #cdcdcd;}.wpv-sort-list-dropdown.wpv-sort-list-dropdown-style-grey .wpv-sort-list-item a {color: #444;background-color: #eeeeee;}.wpv-sort-list-dropdown.wpv-sort-list-dropdown-style-grey a:hover,.wpv-sort-list-dropdown.wpv-sort-list-dropdown-style-grey a:focus {color: #000;background-color: #e5e5e5;}.wpv-sort-list-dropdown.wpv-sort-list-dropdown-style-grey .wpv-sort-list-item.wpv-sort-list-current a {color: #000;background-color: #e5e5e5;}.wpv-sort-list-dropdown.wpv-sort-list-dropdown-style-blue > span.wpv-sort-list,.wpv-sort-list-dropdown.wpv-sort-list-dropdown-style-blue .wpv-sort-list-item {border-color: #0099cc;}.wpv-sort-list-dropdown.wpv-sort-list-dropdown-style-blue .wpv-sort-list-item a {color: #444;background-color: #cbddeb;}.wpv-sort-list-dropdown.wpv-sort-list-dropdown-style-blue a:hover,.wpv-sort-list-dropdown.wpv-sort-list-dropdown-style-blue a:focus {color: #000;background-color: #95bedd;}.wpv-sort-list-dropdown.wpv-sort-list-dropdown-style-blue .wpv-sort-list-item.wpv-sort-list-current a {color: #000;background-color: #95bedd;} 114/*# sourceURL=view_editor_gutenberg_frontend_assets-inline-css */ 115</style> 116<style id="global-styles-inline-css"> 117:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--color--black-light: #C2B1B1;--wp--preset--color--red: #B51A16;--wp--preset--color--blue: #1B75BC;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,
1170) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}.wp-block-button{--wp--preset--dimension--25: 25%;--wp--preset--dimension--50: 50%;--wp--preset--dimension--75: 75%;--wp--preset--dimension--100: 100%;}:where(body) { margin: 0; }.wp-site-blocks > .alignleft { float: left; margin-right: 2em; }.wp-site-blocks > .alignright { float: right; margin-left: 2em; }.wp-site-blocks > .aligncenter { justify-content: center; margin-left: auto; margin-right: auto; }:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}.is-layout-flow > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}.is-layout-flow > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}.is-layout-flow > .aligncenter{margin-left: auto !important;margin-right: auto !important;}.is-layout-constrained > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}.is-layout-constrained > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}.is-layout-constrained > .aligncenter{margin-left: auto !important;margin-right: auto !important;}.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)){margin-left: auto !important;margin-right: auto !important;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}body{padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}:root :where(.wp-element-button, .wp-block-button__link){background-color: #32373c;border-width: 0;color: #fff;font-family: inherit;font-size: inherit;font-style: inherit;font-weight: inherit;letter-spacing: inherit;line-height: inherit;padding-top: calc(0.667em + 2px);padding-right: calc(1.333em + 2px);padding-bottom: calc(0.667em + 2px);padding-left: calc(1.333em + 2px);text-decoration: none;text-transform: inherit;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-light-color{color: var(--wp--preset--color--black-light) !important;}.has-red-color{color: var(--wp--preset--color--red) !important;}.has-blue-color{color: var(--wp--preset--color--blue) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-light-background-color{background-color: var(--wp--preset--color--black-light) !important;}.has-red-background-color{background-color: var(--wp--preset--color--red) !important;}.has-blue-background-color{background-color: var(--wp--preset--color--blue) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-light-border-color{border-color: var(--wp--preset--color--black-light) !important;}.has-red-border-color{border-color: var(--wp--preset--color--red) !important;}.has-blue-border-color{border-color: var(--wp--preset--color--blue) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}
117.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;} 118/*# sourceURL=global-styles-inline-css */ 119</style> 120 121<link rel='stylesheet' id='advanced-product-variation-css' href='https://evilhat.com/wp-content/plugins/eh-advanced-product-variation/public/css/advanced-product-variation-public.css?ver=1.1.3' media='all' /> 122<link rel='stylesheet' id='dashicons-css' href='https://evilhat.com/wp-includes/css/dashicons.min.css?ver=78ddc6aa9594e4e187a2f2ab8606de7c' media='all' /> 123<link rel='stylesheet' id='tiered-pricing-table-front-css-css' href='https://evilhat.com/wp-content/plugins/tier-pricing-table/assets/frontend/main.min.css?ver=10.0.1' media='all' /> 124<style id="woocommerce-inline-inline-css"> 125.woocommerce form .form-row .required { visibility: visible; } 126/*# sourceURL=woocommerce-inline-inline-css */ 127</style> 128<link rel='stylesheet' id='wc-serial-numbers-frontend-css' href='https://evilhat.com/wp-content/plugins/wc-serial-numbers/assets/build/css/frontend-style.css?ver=bc71bb59ea6ad7adddd3' media='all' /> 129<link rel='stylesheet' id='alg-wc-alfs-progress-css' href='https://evilhat.com/wp-content/plugins/amount-left-free-shipping-woocommerce/includes/css/alg-wc-alfs-progress.min.css?ver=2.5.3' media='all' /> 130<link rel='stylesheet' id=' _evilhat-style-css' href='https://evilhat.com/wp-content/themes/_evilhat/style.css?ver=1.0.0' media='all' /> 131<link rel='stylesheet' id='mwb-pvtfw-style-css' href='https://evilhat.com/wp-content/plugins/eh-advanced-product-variation/common/css/advanced-product-variation-common.css?ver=1.0.0' media='all' /> 132<style id="mwb-pvtfw-style-inline-css"> 133 134 /* NYP Styling */ 135 .nyp-price-label { 136 display: inline-block; 137 margin-left: 5px; 138 } 139 140 #nyp-modal-dialog .nyp-modal-content { 141 box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); 142 font-family: inherit; 143 } 144 145 #nyp-modal-dialog .nyp-title { 146 margin-top: 0; 147 margin-bottom: 15px; 148 font-size: 1.5em; 149 } 150 151 #nyp-modal-dialog .nyp-price-input { 152 width: 100%; 153 padding: 8px 12px; 154 border: 1px solid #ddd; 155 border-radius: 4px; 156 font-size: 1.1em; 157 } 158 159 #nyp-modal-dialog .nyp-add-to-cart-btn { 160 width: 100%; 161 padding: 10px; 162 font-size: 1.1em; 163 } 164 165 #nyp-modal-dialog .nyp-close:hover { 166 color: #444; 167 } 168 .added_to_cart.wc-forward { 169 display: none; 170 } 171 172 173 .mwb_variant_table_block table.variant th { 174 border: none; 175 text-align: left !important; 176 } 177 .mwb_variant_table_block table.variant td { 178 border: none; 179 } 180 181 table.variant .woocommerce-Price-currencySymbol { 182 font-size: 1em; 183 } 184 185/*# sourceURL=mwb-pvtfw-style-inline-css */ 186</style> 187<link rel='stylesheet' id='woocommerce-nyp-css' href='https://evilhat.com/wp-content/plugins/woocommerce-name-your-price/assets/css/frontend/name-your-price.min.css?ver=3.8.2' media='all' /> 188<style id="wc-product-table-head-inline-css"> 189table.wc-product-table { visibility: hidden; } 190/*# sourceURL=wc-product-table-head-inline-css */ 191</style> 192<style id="block-visibility-screen-size-styles-inline-css"> 193/* Large screens (desktops, 992px and up) */ 194@media ( min-width: 992px ) { 195 .block-visibility-hide-large-screen { 196 display: none !important; 197 } 198} 199 200/* Medium screens (tablets, between 768px and 992px) */ 201@media ( min-width: 768px ) and ( max-width: 991.98px ) { 202 .block-visibility-hide-medium-screen { 203 display: none !important; 204 } 205} 206 207/* Small screens (mobile devices, less than 768px) */ 208@media ( max-width: 767.98px ) { 209 .block-visibility-hide-small-screen { 210 display: none !important; 211 } 212} 213/*# sourceURL=block-visibility-screen-size-styles-inline-css */ 214</style> 215<style id="rocket-lazyload-inline-css"> 216.rll-youtube-player{position:relative;padding-bottom:56.23%;height:0;overflow:hidden;max-width:100%;}.rll-youtube-player:focus-within{outline: 2px solid currentColor;outline-offset: 5px;}.rll-youtube-player iframe{position:absolute;top:0;left:0;width:100%;height:100%;z-index:100;background:0 0}.rll-youtube-player img{bottom:0;display:block;left:0;margin:auto;max-width:100%;width:100%;position:absolute;right:0;top:0;border:none;height:auto;-webkit-transition:.4s all;-moz-transition:.4s all;transition:.4s all}.rll-youtube-player img:hover{-webkit-filter:brightness(75%)}.rll-youtube-player .play{height:100%;width:100%;left:0;top:0;position:absolute;background:url(https://evilhat.com/wp-content/plugins/wp-rocket/assets/img/youtube.png) no-repeat center;background-color: transparent !important;cursor:pointer;border:none;} 217/*# sourceURL=rocket-lazyload-inline-css */ 218</style>
219<script type="text/template" id="tmpl-variation-template"> 220 <div class="woocommerce-variation-description">{{{ data.variation.variation_description }}}</div> 221 <div class="woocommerce-variation-price">{{{ data.variation.price_html }}}</div> 222 <div class="woocommerce-variation-availability">{{{ data.variation.availability_html }}}</div> 223</script>
vendor: 1 bytes, line 223
223
224<script type="text/template" id="tmpl-unavailable-variation-template"> 225 <p role="alert">Sorry, this product is unavailable. Please choose a different combination.</p> 226</script>
vendor: 1 bytes, line 226
226
227<script id="woocommerce-google-analytics-integration-gtag-js-before"> 228window.wcGoogleAnalyticsIntegration = window.wcGoogleAnalyticsIntegration || {}; 229 /* Returns the gtag config with page_location and page_referrer stripped of sensitive query parameters. */ 230 window.wcGoogleAnalyticsIntegration.redactGtagConfig = (function ( redaction ) { 231 // An order key is wc_ followed by a body WooCommerce lets sites filter, so match 232 // the guaranteed prefix, the stock format anywhere in the value, and a key sitting 233 // in the query string of a URL nested inside the value. 234 const ORDER_KEY = /^wc_|wc_order_|[?&][^=&]*=wc_/i; 235 function lower( value ) { 236 try { 237 return decodeURIComponent( String( value ).replace( /\+/g, " " ) ).toLowerCase(); 238 } catch ( e ) { 239 return String( value ).toLowerCase(); 240 } 241 } 242 function redact( href ) { 243 try { 244 const url = new URL( href ); 245 if ( ! url.search ) { 246 return href; 247 } 248 const pairs = url.search.slice( 1 ).split( "&" ); 249 const names = pairs.map( function ( pair ) { 250 const eq = pair.indexOf( "=" ); 251 return lower( eq === -1 ? pair : pair.slice( 0, eq ) ); 252 } ); 253 const segments = url.pathname.split( "/" ).map( lower ); 254 const isOrderPage = ( redaction.order_endpoints || [] ).some( function ( endpoint ) { 255 return segments.includes( endpoint ) || names.includes( endpoint ); 256 } ); 257 const kept = []; 258 let changed = false; 259 pairs.forEach( function ( pair, index ) { 260 const eq = pair.indexOf( "=" ); 261 const value = eq === -1 ? "" : pair.slice( eq + 1 ); 262 const isOrderKey = ORDER_KEY.test( value ) || ORDER_KEY.test( lower( value ) ); 263 const drop = pair !== "" && ( isOrderKey || ( isOrderPage 264 ? ! ( redaction.order_params || [] ).includes( names[ index ] ) 265 : redaction.params.includes( names[ index ] ) ) ); 266 if ( drop ) { 267 changed = true; 268 } else { 269 kept.push( pair ); 270 } 271 } ); 272 if ( ! changed ) { 273 return href; 274 } 275 // Reassembled from the original pairs so kept values keep their exact encoding. 276 url.search = kept.join( "&" ); 277 return url.href; 278 } catch ( e ) { 279 // Unparsable or unfilterable: drop the query and fragment rather than risk leaking a key. 280 return String( href ).split( /[?#]/ )[ 0 ]; 281 } 282 } 283 return function ( config ) { 284 try { 285 if ( ! redaction || ! Array.isArray( redaction.params ) ) { 286 return config; 287 } 288 if ( ! ( "page_location" in config ) ) { 289 const pageLocation = redact( document.location.href ); 290 if ( pageLocation !== document.location.href ) { 291 config.page_location = pageLocation; 292 } 293 } 294 if ( ! ( "page_referrer" in config ) && document.referrer ) { 295 const pageReferrer = redact( document.referrer ); 296 if ( pageReferrer !== document.referrer ) { 297 config.page_referrer = pageReferrer; 298 } 299 } 300 } catch ( e ) {} 301 return config; 302 }; 303 })( {"params":["key","login","session","email","uid","_wpnonce","_wp_http_referer","woo-share","moderation-hash","unapproved","email_link_action_key","consumer_key","consumer_secret","redirect","redirect_to"],"order_endpoints":["order-received","order-pay"],"order_params":["order-received","order-pay","pay_for_order","page_id","p","pagename","lang","currency","utm_source","utm_medium","utm_campaign","utm_term","utm_content","utm_id","utm_source_platform","utm_creative_format","utm_marketing_tactic","utm_nooverride","srsltid","gclid","gbraid","wbraid","dclid","fbclid","msclkid","_gl"]} ); 304//# sourceURL=woocommerce-google-analytics-integration-gtag-js-before 305</script>
vendor: 1 bytes, line 305
305
306<script id="woocommerce-google-analytics-integration-gtag-js-after"> 307/* Google Analytics for WooCommerce (gtag.js) */ 308 window.dataLayer = window.dataLayer || []; 309 function gtag(){dataLayer.push(arguments);} 310 // Set up default consent state. 311 for ( const mode of [{"analytics_storage":"denied","ad_storage":"denied","ad_user_data":"denied","ad_personalization":"denied","region":["AT","BE","BG","HR","CY","CZ","DK","EE","FI","FR","DE","GR","HU","IS","IE","IT","LV","LI","LT","LU","MT","NL","NO","PL","PT","RO","SK","SI","ES","SE","GB","CH"]}] || [] ) { 312 gtag( "consent", "default", { "wait_for_update": 500, ...mode } ); 313 } 314 gtag("js", new Date()); 315 gtag("set", "developer_id.dOGY3NW", true); 316 // Report the page URL and referrer without order keys and other sensitive query parameters. 317 gtag("config", "G-VPXW9EMTLX", ( window.wcGoogleAnalyticsIntegration && window.wcGoogleAnalyticsIntegration.redactGtagConfig || function ( config ) { return config; } )( {"track_404":true,"allow_google_signals":true,"logged_in":false,"linker":{"domains":[],"allow_incoming":false},"custom_map":{"dimension1":"logged_in"}} )); 318//# sourceURL=woocommerce-google-analytics-integration-gtag-js-after 319</script>
vendor: 1 bytes, line 319
319
320<script id="toolset-common-es-frontend-js" src="https://evilhat.com/wp-content/plugins/toolset-blocks/vendor/toolset/common-es/public/toolset-common-es-frontend.js?ver=162000"></script>
vendor: 1 bytes, line 320
320
321<script id="jquery-core-js" src="https://evilhat.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1"></script>
vendor: 1 bytes, line 321
321
322<script id="jquery-migrate-js" src="https://evilhat.com/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1"></script>
vendor: 1 bytes, line 322
322
323<script id="advanced-product-variation-js-extra"> 324var av_public_param = {"ajax_url":"https://evilhat.com/wp-admin/admin-ajax.php","single_page":"","Hide_Variations":"Hide Variations","Show_Variations":"Show Variations","shop_swatch":"on","shop_swatch_size":"60","border_enable":"","hide_addtocart":"","show_for_related_products":"","hide_addtocart_related":"","show_single_attribute":"","shop_swatch_height":"60","attr_behaviour":"cross","shop_swatch_width":"60","mwb_nonce":"b8f7cd0dcd"}; 325//# sourceURL=advanced-product-variation-js-extra 326</script>
vendor: 1 bytes, line 326
326
327<script id="advanced-product-variation-js" src="https://evilhat.com/wp-content/plugins/eh-advanced-product-variation/public/js/advanced-product-variation-public.js?ver=1.1.3"></script>
vendor: 1 bytes, line 327
327
328<script id="advanced-product-variationcommon-global-js-extra"> 329var av_common_global_param = {"ajaxurl":"https://evilhat.com/wp-admin/admin-ajax.php","variation_common_nonce":"3b6b6c2f59","check_slider":"","check_variation_swatches":""}; 330//# sourceURL=advanced-product-variationcommon-global-js-extra 331</script>
vendor: 1 bytes, line 331
331
332<script id="advanced-product-variationcommon-global-js" src="https://evilhat.com/wp-content/plugins/eh-advanced-product-variation/common/js/advanced-product-variation-common-global.js"></script>
vendor: 1 bytes, line 332
332
333<script id="tiered-pricing-table-front-js-js-extra"> 334var tieredPricingGlobalData = {"version":"10.0.1","loadVariationTieredPricingNonce":"34ec796232","isPremium":"yes","currencyOptions":{"currency_symbol":"$","decimal_separator":".","thousand_separator":",","decimals":2,"price_format":"%1$s%2$s","trim_zeros":false},"supportedVariableProductTypes":["variable","variable-subscription"],"supportedSimpleProductTypes":["simple","variation","subscription","subscription-variation"]}; 335//# sourceURL=tiered-pricing-table-front-js-js-extra 336</script>
vendor: 1 bytes, line 336
336
337<script id="tiered-pricing-table-front-js-js" src="https://evilhat.com/wp-content/plugins/tier-pricing-table/assets/frontend/product-tiered-pricing-table.min.js?ver=10.0.1"></script>
vendor: 1 bytes, line 337
337
338<script id="underscore-js" src="https://evilhat.com/wp-includes/js/underscore.min.js?ver=1.13.8"></script>
vendor: 1 bytes, line 338
338
339<script id="wp-util-js-extra"> 340var _wpUtilSettings = {"ajax":{"url":"/wp-admin/admin-ajax.php"}}; 341//# sourceURL=wp-util-js-extra 342</script>
vendor: 1 bytes, line 342
342
343<script id="wp-util-js" src="https://evilhat.com/wp-includes/js/wp-util.min.js?ver=78ddc6aa9594e4e187a2f2ab8606de7c"></script>
vendor: 1 bytes, line 343
343
344<script data-wp-strategy="defer" defer id="wc-jquery-blockui-js" src="https://evilhat.com/wp-content/plugins/woocommerce/assets/js/jquery-blockui/jquery.blockUI.min.js?ver=2.7.0-wc.11.1.1"></script>
vendor: 1 bytes, line 344
344
345<script id="wc-add-to-cart-variation-js-extra"> 346var wc_add_to_cart_variation_params = {"wc_ajax_url":"/?wc-ajax=%%endpoint%%","i18n_no_matching_variations_text":"Sorry, no products matched your selection. Please choose a different combination.","i18n_make_a_selection_text":"Please select some product options before adding this product to your cart.","i18n_unavailable_text":"Sorry, this product is unavailable. Please choose a different combination.","i18n_reset_alert_text":"Your selection has been reset. Please select some product options before adding this product to your cart."}; 347//# sourceURL=wc-add-to-cart-variation-js-extra 348</script>
vendor: 1 bytes, line 348
348
349<script data-wp-strategy="defer" defer id="wc-add-to-cart-variation-js" src="https://evilhat.com/wp-content/plugins/woocommerce/assets/js/frontend/add-to-cart-variation.min.js?ver=11.1.1"></script>
vendor: 1 bytes, line 349
349
350<script id="wc-add-to-cart-js-extra"> 351var wc_add_to_cart_params = {"ajax_url":"/wp-admin/admin-ajax.php","wc_ajax_url":"/?wc-ajax=%%endpoint%%","i18n_view_cart":"View cart","cart_url":"https://evilhat.com/cart/","is_cart":"","cart_redirect_after_add":"no"}; 352//# sourceURL=wc-add-to-cart-js-extra 353</script>
vendor: 1 bytes, line 353
353
354<script data-wp-strategy="defer" defer id="wc-add-to-cart-js" src="https://evilhat.com/wp-content/plugins/woocommerce/assets/js/frontend/add-to-cart.min.js?ver=11.1.1"></script>
vendor: 1 bytes, line 354
354
355<script data-wp-strategy="defer" defer id="wc-js-cookie-js" src="https://evilhat.com/wp-content/plugins/woocommerce/assets/js/js-cookie/js.cookie.min.js?ver=2.1.4-wc.11.1.1"></script>
vendor: 1 bytes, line 355
355
356<script id="woocommerce-js-extra"> 357var woocommerce_params = {"ajax_url":"/wp-admin/admin-ajax.php","wc_ajax_url":"/?wc-ajax=%%endpoint%%","i18n_password_show":"Show password","i18n_password_hide":"Hide password"}; 358//# sourceURL=woocommerce-js-extra 359</script>
vendor: 1 bytes, line 359
359
360<script data-wp-strategy="defer" defer id="woocommerce-js" src="https://evilhat.com/wp-content/plugins/woocommerce/assets/js/frontend/woocommerce.min.js?ver=11.1.1"></script>
vendor: 1 bytes, line 360
360
361<script id="wc-serial-numbers-frontend-js-extra"> 362var wc_serial_numbers_frontend_vars = {"ajax_url":"https://evilhat.com/wp-admin/admin-ajax.php","i18n":{"copied":"Copied","loading":"Loading"}}; 363//# sourceURL=wc-serial-numbers-frontend-js-extra 364</script>
vendor: 1 bytes, line 364
364
365<script id="wc-serial-numbers-frontend-js" src="https://evilhat.com/wp-content/plugins/wc-serial-numbers/assets/build/js/frontend-script.js?ver=e48750500fe6d381f055"></script>
vendor: 1 bytes, line 365
365
366<script id="WCPAY_ASSETS-js-extra"> 367var wcpayAssets = {"url":"https://evilhat.com/wp-content/plugins/woocommerce-payments/dist/"}; 368//# sourceURL=WCPAY_ASSETS-js-extra 369</script>
369 370 371<!-- Google tag (gtag.js) snippet added by Site Kit --> 372<!-- Google Analytics snippet added by Site Kit -->
vendor: 80 bytes, lines 372-373
372 373<script id="google_gtagjs-js" src="https://www.googletagmanager.com/gtag/js?id=
373G-VPXW9EMTLX
vendor: 18 bytes, line 373
373" async></script>
374<script id="google_gtagjs-js-after"> 375window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);} 376gtag("set","linker",{"domains":["evilhat.com"]}); 377gtag("js", new Date()); 378gtag("set", "developer_id.dZTNiMT", true); 379gtag("config", "G-VPXW9EMTLX"); 380//# sourceURL=google_gtagjs-js-after 381</script>
381 382<link rel="https://api.w.org/" href="https://evilhat.com/wp-json/" /> <style> 383 .external-variations-title, h2#variant-table { 384 margin: 30px 0 15px; 385 font-size: 1.5em; 386 } 387 .external-variations-container { 388 display: flex; 389 flex-wrap: wrap; 390 gap: 10px; 391 } 392 .external-variation-button { 393 display: inline-block; 394 padding: 10px 20px; 395 background-color: #f0f0f0; 396 border: 1px solid #ddd; 397 border-radius: 4px; 398 text-decoration: none; 399 color: #333; 400 transition: all 0.3s ease; 401 } 402 .external-variation-button:hover { 403 background-color: #e0e0e0; 404 border-color: #ccc; 405 } 406 .single-product p.price { 407 display: none; 408 } 409 </style> 410 <style> 411 .wvs-theme-child-savoy:not(.wvs-show-label) .variations > tbody > tr > td.label:nth-child(2n+1) { 412 display: none; 413 } 414 415 .wvs-theme-savoy:not(.wvs-show-label) .variations > tbody > tr > td.label:nth-child(2n+1) { 416 display: none; 417 } 418 </style> 419 <meta name="generator" content="Site Kit by Google 1.188.0" /> 420<!-- This website runs the Product Feed PRO for WooCommerce by AdTribes.io plugin - version woocommercesea_option_installed_version --> 421<!-- WP Social Preview --> 422<meta property="og:locale" content="en_US" /> 423<meta property="og:url" content="https://evilhat.com" /> 424<meta property="og:title" content="Evil Hat Productions" /> 425<meta name="twitter:title" content="Evil Hat Productions" /> 426<meta property="og:description" content="Turning Passion Into Great Games!" /> 427<meta name="twitter:description" content="Turning Passion Into Great Games!" /> 428<meta property="og:image" content="https://evilhat.com/wp-content/uploads/2022/07/Frame-4.png" /> 429<meta name="twitter:card" content="summary_large_image" /> 430<meta name="twitter:image" content="https://evilhat.com/wp-content/uploads/2022/07/Frame-4.png" /> 431<meta property="og:image:width" content="882" /> 432<meta property="og:image:height" content="483" /> 433<meta name="twitter:site" content="@EvilHatOfficial" /> 434<!-- / WP Social Preview --> 435<!-- Google site verification - Google for WooCommerce --> 436<meta name="google-site-verification" content="j4nsFEVhRfj4qFdNAr5uWDIgA_fbkO5wDkW08vdd7Xk" /> 437 <noscript><style>.woocommerce-product-gallery{ opacity: 1 !important; }</style></noscript> 438
438<script> window.addEventListener("load",function(){ var c={script:false,link:false}; function ls(s) { if(!['script','link'].includes(s)||c[s]){return;}c[s]=true; var d=document,f=d.getElementsByTagName(s)[0],j=d.createElement(s); if(s==='script'){j.async=true;j.src='https://evilhat.com/wp-content/plugins/toolset-blocks/vendor/toolset/blocks/public/js/frontend.js?v=1.6.0';}else{ j.rel='stylesheet';j.href='https://evilhat.com/wp-content/plugins/toolset-blocks/vendor/toolset/blocks/public/css/style.css?v=1.6.0';} f.parentNode.insertBefore(j, f); }; function ex(){ls('script');ls('link')} window.addEventListener("scroll", ex, {once: true}); if (('IntersectionObserver' in window) && ('IntersectionObserverEntry' in window) && ('intersectionRatio' in window.IntersectionObserverEntry.prototype)) { var i = 0, fb = document.querySelectorAll("[class^='tb-']"), o = new IntersectionObserver(es => { es.forEach(e => { o.unobserve(e.target); if (e.intersectionRatio > 0) { ex();o.disconnect();}else{ i++;if(fb.length>i){o.observe(fb[i])}} }) }); if (fb.length) { o.observe(fb[i]) } } }) </script>
438 439 <noscript> 440 <link rel="stylesheet" href="https://evilhat.com/wp-content/plugins/toolset-blocks/vendor/toolset/blocks/public/css/style.css"> 441 </noscript><meta name="ppcp.axo" content="ppcp.axo.disabled" /><link rel="icon" href="https://evilhat.com/wp-content/uploads/2021/11/cropped-favicon-32x32.png" sizes="32x32" /> 442<link rel="icon" href="https://evilhat.com/wp-content/uploads/2021/11/cropped-favicon-192x192.png" sizes="192x192" /> 443<link rel="apple-touch-icon" href="https://evilhat.com/wp-content/uploads/2021/11/cropped-favicon-180x180.png" /> 444<meta name="msapplication-TileImage" content="https://evilhat.com/wp-content/uploads/2021/11/cropped-favicon-270x270.png" /> 445<style id="wp-custom-css"> 446/* Fred works on making the front page blog display look actually good */ 447 448.evilhat-front-page-blog > ul > li > a { 449 font-weight: 600; 450 font-size: 2.5rem; 451 line-height: 1.25; 452 text-decoration: none; 453 color: black; 454} 455 456.evilhat-front-page-blog > ul > li { 457 list-style: none; 458} 459 460.evilhat-front-page-blog figure { 461 float: right; 462 margin: 1rem; 463 margin-top: 0rem; 464 margin-right: 0rem; 465 max-width: 40%; 466} 467 468.evilhat-front-page-blog figure figure { 469 max-width: 100%; 470} 471 472/* Fred tries to get the menu to be more vertical when on really narrow mobile */ 473 474@media (max-width: 1323px) { 475 476 .site-header .wrapper.flex-row { 477 flex-flow: column; 478 } 479 480 .nav-primary a { 481 margin-left: 20px; 482 } 483 484 .nav-primary .menu--new-releases a { 485 margin-left: -3px; 486 } 487 488 .nav-primary .menu--on-sale a { 489 margin-left: -4px; 490 } 491 492 .nav-primary .menu--project-status a { 493 margin-left: -9px; 494 } 495 496 .nav-primary ul.menu { 497 overflow-x: unset; 498 display: grid; 499 grid-template-columns: 1fr 1fr; 500 justify-items: start; 501 } 502 503 .nav-primary ul.menu li.menu-item > a { 504 padding-top: 0.125rem; 505 padding-bottom: 0.125rem; 506 padding-left: 1.5rem; 507 } 508 509 .nav-utility { 510 margin-left: unset; 511 display: grid; 512 grid-template-columns: 1fr 1fr; 513 justify-items: start; 514 padding-right: 2.5rem; 515 padding-left: 1.5rem; 516 column-gap: 60px; 517 row-gap: .25rem; 518 margin-bottom: .25rem; 519 } 520 521 .nav-utility .widget { 522 display: unset; 523 } 524 525 .nav-utility .cart { 526 align-self: left; 527 grid-column: 1; 528 grid-row: 1; 529 } 530 531 .nav-utility .widget .wp-block-loginout { 532 grid-column: 2; 533 grid-row: 1; 534 } 535 536 .nav-utility .widget_search { 537 grid-column-start: span 2; 538 justify-self: stretch; 539 padding-left: 0; 540 grid-row: 2; 541 } 542 543 .nav-utility .widget_nav_menu { 544 display: none; 545 } 546 547} 548 549@media (max-width: 767px) { 550 551 .hdr-logo a img { 552 min-width: 90vw; 553 } 554 555} 556 557/* Fred adds a no-hover property we can use to add non-link-behaving links on our footer menu */ 558 559.no-hover > a:hover { 560 background: transparent; 561 cursor: default; 562 text-decoration: none; 563 opacity: 0.9; 564} 565 566/* Fred does some work here to make the headers less egregious with creating white space we don't need */ 567 568.prose * + h1, .prose * + h2, .prose * + h3 { 569 margin-top: 1rem; 570} 571 572.prose h1, .prose h2, .prose h3, .prose h4, .prose h5, .prose h6 { 573 margin-bottom: 0.5rem; 574} 575 576.prose h1 { 577 font-size: 3rem; 578} 579 580.prose h2 { 581 font-size: 2.5rem; 582} 583 584.prose h3 { 585 font-size: 2rem; 586} 587 588.prose h4 { 589 margin-top: 1.0rem; 590 font-size: 1.5rem; 591} 592 593/* Messing with how the My Account page displays its menu */ 594 595@media (min-width: 720px) { 596 nav.woocommerce-MyAccount-navigation ul { 597 margin-left: 0px; 598 text-align: center; 599 white-space: nowrap; 600 } 601 602 nav.woocommerce-MyAccount-navigation ul .woocommerce-MyAccount-navigation-link { 603 display: inline; 604 margin-left: 0; 605 white-space: nowrap; 606 font-size: 96% 607 } 608 609 nav.woocommerce-MyAccount-navigation ul .woocommerce-MyAccount-navigation-link::after { 610 content: " ⢠" 611 } 612 613 nav.woocommerce-MyAccount-navigation ul .woocommerce-MyAccount-navigation-link--customer-logout::after { 614 content: "" 615 } 616 617 nav.woocommerce-MyAccount-navigation ul .woocommerce-MyAccount-navigation-link--dashboard { 618 display: none; 619 } 620 621 div.woocommerce-MyAccount-content { 622 width: 720px; 623 padding-left: 20px; 624 } 625} 626 627/* A section of various attempted tweaks to try to get parts of woocommerce to format in a not-ugly way. */ 628 629 630.woocommerce-info { 631 border: 2px solid #3d9cd2; 632 background: white; 633 padding: 6px; 634} 635 636.woocommerce-table--order-downloads { 637 border: 1px solid black; 638} 639 640.woocommerce-table--order-downloads td, .woocommerce-table--order-downloads th { 641 padding: 6px; 642} 643 644.woocommerce-table--order-downloads th { 645 color: white; 646 background-color: black; 647} 648 649.woocommerce-table--order-downloads td { 650 border: 1px solid black; 651} 652 653.woocommerce-table--order-downloads th.download-remaining { 654 width: 15%; 655} 656 657/* Customizations for the Quick View plugin */ 658 659.wc-block-grid .wc-block-grid__products .wc-block-grid__product .wc-block-grid__product-add-to-cart .wc-quick-view-button { 660 margin-right: 5px!important; 661} 662 663.modal.wc-quick-view-modal { 664 background: black; 665 color: white; 666 border-radius: 8px; 667 border: 2px solid white; 668} 669 670.wc-quick-view-modal .type-product .wc-quick-view-product-gallery { 671 grid-column: 1 / span 1; 672 grid-row: 1; 673} 674 675.wc-quick-view-modal .type-product .wc-quick-view-product-summary { 676 grid-column: 2 / span 1; 677 grid-row: 1; 678} 679 680.wc-quick-view-modal .type-product .wc-quick-view-product-tabs { 681 grid-column: 1 / span 2; 682 grid-row: 2; 683} 684 685.wc-quick-view-modal .type-product .variations th.label { 686 display: none; 687} 688 689.wc-quick-view-modal .type-product .single_add_to_cart_button { 690 background: rgb(181, 26, 22); 691 text-transform: uppercase; 692 font-weight: 600; 693 border-radius: 6px; 694 border: 1px solid white; 695} 696 697.product .wc-quick-view-button:not(.qvp-show-on-hover) { 698 margin-right: auto !important; 699} 700 701.wc-quick-view-button { 702 display: inline-block; 703 width: max-content; 704 padding-left: 1rem; 705 padding-right: 1rem; 706 padding-top: 0.5rem; 707 padding-bottom: 0.5rem; 708 font-size: 0.815rem; 709 font-weight: 600; 710 text-transform: uppercase; 711 line-height: 1; 712 --tw-text-opacity: 1; 713 color: rgba(255, 255, 255, var(--tw-text-opacity))!important; 714 text-decoration: none; 715 border-radius: 0.5rem; 716 border-width: 2px; 717 border-style: solid; 718 --tw-border-opacity: 1; 719 border-color: rgba(15,15,5,var(--tw-border-opacity)); 720 --tw-bg-opacity: 1; 721 background-color: rgba(181,26,22,var(--tw-bg-opacity));; 722} 723 724.wc-quick-view-modal .type-product { 725 grid-template-columns: 300px 1fr; 726 padding-left: 10px; 727 padding-top: 10px; 728} 729 730.wc-quick-view-modal .type-product .woocommerce-product-gallery__wrapper { 731 width: 300px; 732} 733 734.modal a.close-modal { 735 border: 2px solid white; 736 border-radius: 15px; 737} 738 739/* Customizations to address issues with the Product Table plugin */ 740 741table.dataTable thead>tr>th.sorting:after, table.dataTable thead>tr>th.sorting_asc:after, table.dataTable thead>tr>th.sorting_desc:after, table.dataTable thead>tr>th.sorting_asc_disabled:after, table.dataTable thead>tr>th.sorting_desc_disabled:after, table.dataTable thead>tr>td.sorting:after, table.dataTable thead>tr>td.sorting_asc:after, table.dataTable thead>tr>td.sorting_desc:after, table.dataTable thead>tr>td.sorting_asc_disabled:after, table.dataTable thead>tr>td.sorting_desc_disabled:after { 742 content: "â¼"; 743 font-size: .6em; 744} 745 746table.dataTable thead>tr>th.sorting:before, table.dataTable thead>tr>th.sorting_asc:before, table.dataTable thead>tr>th.sorting_desc:before, table.dataTable thead>tr>th.sorting_asc_disabled:before, table.dataTable thead>tr>th.sorting_desc_disabled:before, table.dataTable thead>tr>td.sorting:before, table.dataTable thead>tr>td.sorting_asc:before, table.dataTable thead>tr>td.sorting_desc:before, table.dataTable thead>tr>td.sorting_asc_disabled:before, table.dataTable thead>tr>td.sorting_desc_disabled:before { 747 content: "â²"; 748 font-size: .6em; 749} 750 751 752.wc-product-table .with-quantity.with-cart-button a.added_to_cart:hover { 753 text-decoration: underline; 754} 755 756.wc-product-table-multi-form .btn, 757.single_add_to_cart_button { 758 display: inline-block; 759 width: max-content; 760 padding-left: 1rem; 761 padding-right: 1rem; 762 padding-top: 0.5rem; 763 padding-bottom: 0.5rem; 764 font-size: 0.815rem; 765 font-weight: 600; 766 text-transform: uppercase; 767 line-height: 1; 768 --tw-text-opacity: 1; 769 color: rgba(255, 255, 255, var(--tw-text-opacity))!important; 770 text-decoration: none; 771 border-radius: 0.5rem; 772 border-width: 2px; 773 border-style: solid; 774 --tw-border-opacity: 1; 775 border-color: rgba(15,15,5,var(--tw-border-opacity)); 776 --tw-bg-opacity: 1; 777 background-color: rgba(181,26,22,var(--tw-bg-opacity)); 778} 779 780.wc-product-table .button.added:after { 781 content: "â"; 782} 783 784.wc-product-table-wrapper .wc-forward:after { 785 content: ""; 786} 787 788.wc-product-table .button.loading:after, .wc-product-table button.button.loading:after, .wc-product-table button.loading:after { 789 content: "â"; 790} 791 792.wc-product-table-reset a:before { 793 content: ""; 794} 795 796.wc-product-table a.single-product-link { 797 color: unset; 798 text-decoration: none; 799} 800 801.wc-product-table a.single-product-link:hover { 802 text-decoration: underline; 803} 804 805.wc-product-table .add-to-cart-wrapper { 806 white-space: nowrap; 807} 808 809.single-product .wc-product-table-wrapper { 810 margin-bottom: 0px; 811 margin-top: 0px; 812} 813 814.wc-product-table td.col-buy, .wc-product-table th.col-buy { 815 min-width: 200px; 816} 817 818.wc-product-table .product-table-image { 819 border: 1px solid; 820 border-radius: 8px; 821} 822 823.wc-product-table select option[value=roll20] {
824 display: none; 825} 826 827.wc-product-table p.stock { 828 font-weight: bold; 829 text-shadow: 1px 1px 1px white, -1px -1px 1px white, -1px 1px 1px white, 1px -1px 1px white; 830} 831 832ul.wc-block-grid__products li.wc-block-grid__product .wc-block-grid__product-onsale { 833 left: -15px; 834 top: -15px; 835 height: 60px; 836 width: 60px; 837 text-align: right!important; 838 background: rgba(229,198,73,1); 839 color: rgba(15,15,5,1); 840 font-weight: 600; 841 padding: unset; 842 margin-left: 8px; 843 margin-top: 8px; 844 line-height: 60px; 845 font-size: 1.125rem; 846 border-color: rgba(229,198,73,1); 847 border-radius: 9999px; 848} 849 850ul.wc-block-grid__products li.wc-block-grid__product .wc-block-grid__product-onsale > span { 851 position: absolute; 852 left: 4px; 853 top: -1.5px; 854} 855 856ul.wc-block-grid__products li.wc-block-grid__product .wc-block-grid__product-onsale > span::after { 857 content: "!" 858} 859 860.wp-block-kadence-postgrid { 861 grid-column: breakout !important; 862} 863 864.product-summary .cart .single_variation_wrap .woocommerce-variation-add-to-cart { 865 flex-wrap: wrap; 866} 867 868.products ul.products li.product { 869 display: inline-block; 870} 871 872.products ul.products li.product a { 873 display: inline-block; 874} 875 876.products ul.products li.product a.woocommerce-LoopProduct-link { 877 display: inline-block; 878 width: 100%; 879} 880ul.wc-block-grid__products li.wc-block-grid__product del { 881 font-size: 1.125rem; 882} 883 884.wp-block-button__link { 885 height: unset; 886} 887 888/* Button link text issue fix; the problem is that without ".prose" the css intended to style the button's link, doesn't */ 889 890:root .prose :where(.wp-element-button, .wp-block-button__link) { 891 color: rgb(255,255,255); 892 text-decoration: none; 893} 894 895/* added by Jeremy */ 896.woocommerce-checkout-review-order-table td.product-total { 897 vertical-align: top; 898} 899.table-padding { 900 padding: 0 20px; 901} 902.wpdatabutton { 903 display: inline-block; 904 margin: 10px auto !important; 905} 906.page-id-92364 .entry-title, .page-id-92364 #breadcrumbs { 907 display: none; 908} 909 910/* Seeing if I can reconfigure how the download lists work */ 911 912.wp-block-file:not(.wp-element-button) { 913 font-size: 1em; 914} 915 916.wp-block-file { 917 display: flex; 918 flex-direction: row-reverse; 919 align-items: center; 920 gap: 0.5em; 921} 922 923.wp-block-file *+.wp-block-file__button { 924 margin-left: 0; 925 flex-shrink: 0; 926 flex-grow: 0; 927} 928 929.wp-block-file > a { 930 flex-grow: 1; 931} 932 933.sb_youtube { 934 grid-column: breakout !important; 935} 936 937.chained_items_container .price { 938 display: none !important; 939} 940 941.mwb_variant_table_block table.variant tbody tr:nth-child(odd) { 942 background-color: transparent !important; 943} 944</style> 945<noscript><style id="rocket-lazyload-nojs-css">.rll-youtube-player, [data-lazy-src]{display:none !important;}</style></noscript><link rel='stylesheet' id='pre_orders_pay_later_css-css' href='https://evilhat.com/wp-content/plugins/woocommerce-pre-orders/build/gateway/index.css?ver=630f071150e300d5d0fa' media='all' /> 946 947<style id="rocket-lazyrender-inline-css">[data-wpr-lazyrender] {content-visibility: auto;}</style><meta name="generator" content="WP Rocket 3.23.3.3" data-wpr-features="wpr_lazyload_images wpr_lazyload_iframes wpr_preconnect_external_domains wpr_automatic_lazy_rendering wpr_oci wpr_cdn wpr_preload_links wpr_desktop" /></head> 948 949<body data-rsssl=1 class="blog wp-theme-_evilhat font-sans relative text-black theme-_evilhat woocommerce-no-js hfeed no-sidebar woocommerce-active _evilhat"> 950<!-- Google Tag Manager (noscript) -->
vendor: 68 bytes, lines 950-951
950 951<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
951GTM-P9S9DLB
vendor: 83 bytes, lines 951-952
951" 952height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
953<!-- End Google Tag Manager (noscript) --> 954<div id="page" class="site site-layout"> 955 <a class="skip-link screen-reader-text" href="#primary">Skip to content</a> 956 957 <header id="masthead" class="site-header bg-black text-white border-b-8 border-eh_red border-solid"> 958 <div class="layout-grid"> 959 <div class="wrapper has-width-wide flex flex-row"> 960 <div class="hdr-logo has-width-wide max-w-7xl my-0 inline-block px-5 md:px-0" role="banner"> 961 <a class="block py-5" href="https://evilhat.com" rel="home"> 962 <img style="max-width: 208px;" src="https://evilhat.com/wp-content/themes/_evilhat/images/evilhat-logo.svg" alt="Evil Hat Productions"> 963 </a> 964 </div> 965 966 <div class="nav-utility ml-auto"> 967 968 <div id="block-4" class="widget widget_block widget_search"><form role="search" method="get" action="https://evilhat.com/" class="wp-block-search__button-inside wp-block-search__icon-button wp-block-search" ><label class="wp-block-search__label screen-reader-text" for="wp-block-search__input-1" >Search</label><div class="wp-block-search__inside-wrapper" ><input class="wp-block-search__input" id="wp-block-search__input-1" placeholder="Search..." value="" type="search" name="s" required /><button aria-label="Search" class="wp-block-search__button has-icon wp-element-button" type="submit" ><svg class="search-icon" viewBox="0 0 24 24" width="24" height="24"> 969 <path d="M13 5c-3.3 0-6 2.7-6 6 0 1.4.5 2.7 1.3 3.7l-3.8 3.8 1.1 1.1 3.8-3.8c1 .8 2.3 1.3 3.7 1.3 3.3 0 6-2.7 6-6S16.3 5 13 5zm0 10.5c-2.5 0-4.5-2-4.5-4.5s2-4.5 4.5-4.5 4.5 2 4.5 4.5-2 4.5-4.5 4.5z"></path> 970 </svg></button></div></form></div><div id="nav_menu-3" class="widget widget_nav_menu"><div class="widget-title-holder"><h3 class="widget-title">Utility Nav</h3></div></div><div id="block-14" class="widget widget_block"><div class="logged-out wp-block-loginout"><a rel="nofollow" href="https://evilhat.com/wp-login.php?redirect_to=https%3A%2F%2Fevilhat.com%2Fblog%2F">Log in</a></div></div> <a href="https://evilhat.com/cart/" title="View your shopping cart" class="cart"> 971 <span> 972 Cart 973 </span> 974 </a> 975 </div> 976 </div> 977 </div> 978 979 <div class="layout-grid border-t border-black-dark border-solid"> 980 <nav id="nav-main" class="nav-primary" role="navigation"> 981 <div class="menu-primary-container"><ul id="primary-menu" class="menu"><li id="menu-item-472" class="menu--new-releases menu-item menu-item-type-post_type menu-item-object-page menu-item-472"><a href="https://evilhat.com/new-releases/">New Releases</a></li><li id="menu-item-464" class="menu--rpgs menu-item menu-item-type-custom menu-item-object-custom menu-item-464"><a href="/roleplaying-games/">RPGs</a><article class="megamenu " data-menu-id="464"><section data-bg="https://evilhat.com/wp-content/uploads/2024/08/Background.png" class="megamenu__featured rocket-lazyload" style=""><div class="megamenu__content"><div class="font-semibold text-sm uppercase mb-4 leading-none hidden md:block">Featured</div><img src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E" data-lazy-src="https://evilhat.com/wp-content/uploads/2021/10/HJ_SSK_glow.webp" /><noscript><img src='https://evilhat.com/wp-content/uploads/2021/10/HJ_SSK_glow.webp' /></noscript><div class="megamenu__text"><div class="font-semibold text-sm uppercase mb-4 md:hidden">Featured</div><div class="font-semibold text-lg leading-none mb-2">Slayers Survival Kit and Hunter's Journal Bundle</div><p><p>Pick up these two huge new supplements for Monster of the Week!</p></p><a class="megamenu__featured__button" href="https://evilhat.com/product/slayers-survival-kit-and-hunters-journal-bundle/">AVAILABLE NOW!</a></div></div></section><section class="megamenu__product-list"><div class="text-sm text-eh_red uppercase font-bold mb-3 pl-4 leading-none">Roleplaying Games</div><ul class="megamenu__product-list__list text-black"><li class='item'><a href='https://evilhat.com/product/deathmatch-island/'><img src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E" alt='Deathmatch Island' data-lazy-src="https://evilhat.com/wp-content/uploads/2021/10/dmi_cover_flat_sm
981-173x260.jpg"><noscript><img src='https://evilhat.com/wp-content/uploads/2021/10/dmi_cover_flat_sm-173x260.jpg' alt='Deathmatch Island'></noscript></a></li><li class='item'><a href='https://evilhat.com/product/blades-in-the-dark/'><img src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E" alt='Blades in the Dark' data-lazy-src="https://evilhat.com/wp-content/uploads/2021/10/61uIViBNL._AC_SL1024_-173x260.jpg"><noscript><img src='https://evilhat.com/wp-content/uploads/2021/10/61uIViBNL._AC_SL1024_-173x260.jpg' alt='Blades in the Dark'></noscript></a></li><li class='item'><a href='https://evilhat.com/product/thirsty-sword-lesbians/'><img src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E" alt='Thirsty Sword Lesbians' data-lazy-src="https://evilhat.com/wp-content/uploads/2021/10/products-TSL-Cover-Mockup-front-900px-176x260.jpg"><noscript><img src='https://evilhat.com/wp-content/uploads/2021/10/products-TSL-Cover-Mockup-front-900px-176x260.jpg' alt='Thirsty Sword Lesbians'></noscript></a></li><li class='item'><a href='https://evilhat.com/product/monster-of-the-week/'><img src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E" alt='Monster of the Week' data-lazy-src="https://evilhat.com/wp-content/uploads/2023/01/MOTW-HC-Front-Flat-625-x-925-176x260.webp"><noscript><img src='https://evilhat.com/wp-content/uploads/2023/01/MOTW-HC-Front-Flat-625-x-925-176x260.webp' alt='Monster of the Week'></noscript></a></li><li class='item'><a href='https://evilhat.com/product/stewpot/'><img src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E" alt='Stewpot' data-lazy-src="https://evilhat.com/wp-content/uploads/2021/10/Stewpot_cover_2D-176x260.webp"><noscript><img src='https://evilhat.com/wp-content/uploads/2021/10/Stewpot_cover_2D-176x260.webp' alt='Stewpot'></noscript></a></li><li class='item'><a href='https://evilhat.com/fate-everything/'><img src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E" alt='Fate Everything' data-lazy-src="https://evilhat.com/wp-content/uploads/2022/06/Fate-Everything-347x520.jpg"><noscript><img src='https://evilhat.com/wp-content/uploads/2022/06/Fate-Everything-347x520.jpg' alt='Fate Everything'></noscript></a></li><li class='item'><a href='https://evilhat.com/product/scum-and-villainy/'><img src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E" alt='Scum and Villainy' data-lazy-src="https://evilhat.com/wp-content/uploads/2021/10/Cover-Art-and-Logo_cropped-693x1024-1-176x260.png"><noscript><img src='https://evilhat.com/wp-content/uploads/2021/10/Cover-Art-and-Logo_cropped-693x1024-1-176x260.png' alt='Scum and Villainy'></noscript></a></li><li class='item'><a href='https://evilhat.com/product/band-of-blades/'><img src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E" alt='Band of Blades' data-lazy-src="https://evilhat.com/wp-content/uploads/2021/10/Book-Cover-176x260.jpg"><noscript><img src='https://evilhat.com/wp-content/uploads/2021/10/Book-Cover-176x260.jpg' alt='Band of Blades'></noscript></a></li><li class='item'><a href='https://evilhat.com/product/agon/'><img src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E" alt='AGON' data-lazy-src="https://evilhat.com/wp-content/uploads/2021/10/Agon-Cover-174x260.png"><noscript><img src='https://evilhat.com/wp-content/uploads/2021/10/Agon-Cover-174x260.png' alt='AGON'></noscript></a></li><li class='item'><a href='https://evilhat.com/product/girl-by-moonlight/'><img src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E" alt='Girl by Moonlight' data-lazy-src="https://evilhat.com/wp-content/uploads/2021/10/GBM-Cover-Image-DriveThru-900px-173x260.jpg"><noscript><img src='https://evilhat.com/wp-content/uploads/2021/10/GBM-Cover-Image-DriveThru-900px-173x260.jpg' alt='Girl by Moonlight'></noscript></a></li><li class='item'><a href='https://evilhat.com/product/apocalypse-keys/'><img src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E" alt='Apocalypse Keys' data-lazy-src="https://evilhat.com/wp-content/uploads/2021/10/Apocalypse-Keys-Full-Cover-Preliminary-Front-150dpi-176x260.jpg"><noscript><img src='https://evilhat.com/wp-content/uploads/2021/10/Apocalypse-Keys-Full-Cover-Preliminary-Front-150dpi-176x260.jpg' alt='Apocalypse Keys'></noscript></a></li><li class='item'><a href='https://evilhat.com/product/advanced-lovers-lesbians/'><img src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E" alt='Advanced Lovers & Lesbians' data-lazy-src="https://evilhat.com/wp-content/uploads/2021/10/Advanced-Lovers-and-Lesbians-Front-for-web-176x260.jpg"><noscript><img src='https://evilhat.com/wp-content/uploads/2021/10/Advanced-Lovers-and-Lesbians-Front-for-web-176x260.jpg' alt='Advanced Lovers & Lesbians'></noscript></a></li><li class='item'><a href='https://evilhat.com/product/codex-of-worlds/'><img src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E" alt='Monster of the Week: Codex of Worlds' data-lazy-src="https://evilhat.com/wp-content/uploads/2021/10/MOTW-Codex-of-Worlds-Cover-Prototype-176x260.jpg"><noscript><img src='https://evilhat.com/wp-content/uploads/2021/10/MOTW-Codex-of-Worlds-Cover-Prototype-176x260.jpg' alt='Monster of the Week: Codex of Worlds'></noscript></a></li><li class='item'><a href='https://evilhat.com/product/improv-for-gamers-second-edition/'><img src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E" alt='Improv for Gamers Second Edition' data-lazy-src="https://evilhat.com/wp-content/uploads/2021/10/Cover-2D-mega_menu-347x520.jpg"><noscript><img src='https://evilhat.com/wp-content/uploads/2021/10/Cover-2D-mega_menu-347x520.jpg' alt='Improv for Gamers Second Edition'></noscript></a></li></ul><a class="inline-block uppercase text-sm underline mt-1 font-semibold pl-4" href="/roleplaying-games/">See all Roleplaying Games</a></section><section class="megamenu__also"><div class="text-sm uppercase font-semibold mb-1 md:mb-0 text-black">Also Available At:</div><ul class="megamenu__also__list"><li class="item"><a class="block" href="https://marketplace.roll20.net/browse/publisher/385/evil-hat-productions"><img src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E" alt="Roll20" data-lazy-src="https://evilhat.com/wp-content/uploads/2021/11/roll20-logo.png"><noscript><img src="https://evilhat.com/wp-content/uploads/2021/11/roll20-logo.png" alt="Roll20"></noscript></a></li><li class="item"><a class="block" href="https://evilhat.itch.io/"><img src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E" alt="Itch.io" data-lazy-src="https://evilhat.com/wp-content/uploads/2021/10/itch.png"><noscript><img src="https://evilhat.com/wp-content/uploads/2021/10/itch.png" alt="Itch.io"></noscript></a></li><li class="item"><a class="block" href="https://www.drivethrurpg.com/browse/pub/2152/Evil-Hat-Productions-LLC"><img src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E" alt="DriveThruRPG" data-lazy-src="https://evilhat.com/wp-content/uploads/2022/05/drivethrurpg-logo-small.png"><noscript><img src="https://evilhat.com/wp-content/uploads/2022/05/drivethrurpg-logo-small.png" alt="DriveThruRPG"></noscript></a></li></ul></section></article></li><li id="menu-item-474" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-474">
981<a href="/product-category/dice-and-accessories/">Dice & Accessories</a></li><li id="menu-item-466" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-466"><a href="/other-books-and-games">Other Books & Games</a></li><li id="menu-item-473" class="menu--on-sale menu-item menu-item-type-post_type menu-item-object-page menu-item-473"><a href="https://evilhat.com/on-sale/">On Sale</a></li><li id="menu-item-1588" class="menu--project-status menu-item menu-item-type-post_type menu-item-object-page menu-item-1588"><a href="https://evilhat.com/project-status/">Project Status</a></li><li id="menu-item-146607" class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-2046 current_page_item current_page_parent menu-item-146607"><a href="https://evilhat.com/blog/" aria-current="page">Blog</a></li><li id="menu-item-146756" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-146756"><a href="https://evilhat.com/my-account/">My Account</a></li></ul></div></nav> 982 </div> 983 </header> 984 985 <main id="primary" class="site-main prose" data-template="index.php"> 986 987 <header class="entry-header layout-grid my-10"> 988 <p id="breadcrumbs" class="breadcrumbs mb-0"><span><span><a href="https://evilhat.com/">Home</a></span> / <span class="breadcrumb_last" aria-current="page">Blog</span></span></p> <h1 class="entry-title">Blog</h1> 989 </header> 990 991 992<article id="post-144971" class="layout-grid post-144971 post type-post status-publish format-standard hentry category-roleplaying-games"> 993 <header class="entry-header"> 994 <h2 class="entry-title"><a href="https://evilhat.com/thousand-arrows-launching-soon/" rel="bookmark">Thousand Arrows launching soon!</a></h2> <div class="entry-meta"> 995 <span class="posted-on">Posted on <a href="https://evilhat.com/thousand-arrows-launching-soon/" rel="bookmark"><time class="entry-date published" datetime="2026-07-08T11:50:52-04:00">July 8, 2026</time><time class="updated" datetime="2026-07-24T12:54:30-04:00">July 24, 2026</time></a></span> </div><!-- .entry-meta --> 996 </header><!-- .entry-header --> 997 998 <div class="entry-content"> 999 <p>On July 21, 2026 James Mendez Hodes and Evil Hat Productions are re-releasing Thousand Arrows in PDF and POD formats! UPDATE: Thousand Arrows is available now! It is the sixteenth century. All Japan is at war. The gallant cavaliers of eras past have become ruthless warlords, each one fighting to unify Japanâs warring states under […]</p> 1000<a href="https://evilhat.com/thousand-arrows-launching-soon/" style="text-align: right; display: block;">Keep Reading</a> </div><!-- .entry-content --> 1001</article><!-- #post-144971 --> 1002 1003<article id="post-139705" class="layout-grid post-139705 post type-post status-publish format-standard has-post-thumbnail hentry category-project-updates tag-design-diaries tag-rocket-club"> 1004 <header class="entry-header"> 1005 <h2 class="entry-title"><a href="https://evilhat.com/secret-crushes-and-alien-babies/" rel="bookmark">Secret Crushes and Alien Babies</a></h2> <div class="entry-meta"> 1006 <span class="posted-on">Posted on <a href="https://evilhat.com/secret-crushes-and-alien-babies/" rel="bookmark"><time class="entry-date published" datetime="2026-05-11T11:37:47-04:00">May 11, 2026</time><time class="updated" datetime="2026-07-23T13:37:08-04:00">July 23, 2026</time></a></span> </div><!-- .entry-meta --> 1007 </header><!-- .entry-header --> 1008 1009 <div class="entry-content"> 1010 <img fetchpriority="high" width="200" height="141" src="https://evilhat.com/wp-content/uploads/2026/02/subhero.webp" class="float-right ml-5 post-excerpt__image wp-post-image" alt="" decoding="async" srcset="https://evilhat.com/wp-content/uploads/2026/02/subhero.webp 642w, https://evilhat.com/wp-content/uploads/2026/02/subhero-300x212.webp 300w, https://evilhat.com/wp-content/uploads/2026/02/subhero-180x127.webp 180w, https://evilhat.com/wp-content/uploads/2026/02/subhero-150x106.webp 150w, https://evilhat.com/wp-content/uploads/2026/02/subhero-283x200.webp 283w" sizes="(max-width: 200px) 100v
1010w, 200px" /><p>My journey as a game designer started during the Covid pandemic. It was a difficult time, but I was one of the lucky ones. I had shifted to working remotely (and not working much), and roleplaying games were my main social outlet. Around this time I heard an actual play podcast of Grant Howittâs âThe Witch is Dead.â I had never heard of a one-page rpg, and the concept fascinated me. Itâs an amazing game with so much rich detail and story potential packed into a very small space. Always up for a challenge, I tried writing my own and was instantly smitten.</p> 1011<a href="https://evilhat.com/secret-crushes-and-alien-babies/" style="text-align: right; display: block;">Keep Reading</a> </div><!-- .entry-content --> 1012</article><!-- #post-139705 --> 1013 1014<article id="post-139406" class="layout-grid post-139406 post type-post status-publish format-standard has-post-thumbnail hentry category-project-updates tag-design-diaries tag-rocket-club"> 1015 <header class="entry-header"> 1016 <h2 class="entry-title"><a href="https://evilhat.com/tell-me-how-i-feel/" rel="bookmark">Tell Me How I Feel</a></h2> <div class="entry-meta"> 1017 <span class="posted-on">Posted on <a href="https://evilhat.com/tell-me-how-i-feel/" rel="bookmark"><time class="entry-date published" datetime="2026-05-04T21:09:48-04:00">May 4, 2026</time><time class="updated" datetime="2026-05-04T21:09:52-04:00">May 4, 2026</time></a></span> </div><!-- .entry-meta --> 1018 </header><!-- .entry-header --> 1019 1020 <div class="entry-content"> 1021 <img width="200" height="141" src="https://evilhat.com/wp-content/uploads/2026/02/subhero.webp" class="float-right ml-5 post-excerpt__image wp-post-image" alt="" decoding="async" srcset="https://evilhat.com/wp-content/uploads/2026/02/subhero.webp 642w, https://evilhat.com/wp-content/uploads/2026/02/subhero-300x212.webp 300w, https://evilhat.com/wp-content/uploads/2026/02/subhero-180x127.webp 180w, https://evilhat.com/wp-content/uploads/2026/02/subhero-150x106.webp 150w, https://evilhat.com/wp-content/uploads/2026/02/subhero-283x200.webp 283w" sizes="(max-width: 200px) 100vw, 200px" /><p>My journey as a game designer started during the Covid pandemic. It was a difficult time, but I was one of the lucky ones. I had shifted to working remotely (and not working much), and roleplaying games were my main social outlet. Around this time I heard an actual play podcast of Grant Howittâs âThe Witch is Dead.â I had never heard of a one-page rpg, and the concept fascinated me. Itâs an amazing game with so much rich detail and story potential packed into a very small space. Always up for a challenge, I tried writing my own and was instantly smitten.</p> 1022<a href="https://evilhat.com/tell-me-how-i-feel/" style="text-align: right; display: block;">Keep Reading</a> </div><!-- .entry-content --> 1023</article><!-- #post-139406 --> 1024 1025<article id="post-138630" class="layout-grid post-138630 post type-post status-publish format-standard has-post-thumbnail hentry category-project-updates tag-design-diaries tag-rocket-club"> 1026 <header class="entry-header"> 1027 <h2 class="entry-title"><a href="https://evilhat.com/alien-invasion/" rel="bookmark">Alien Invasion</a></h2> <div class="entry-meta"> 1028 <span class="posted-on">Posted on <a href="https://evilhat.com/alien-invasion/" rel="bookmark"><time class="entry-date published" datetime="2026-04-27T11:45:12-04:00">April 27, 2026</time><time class="updated" datetime="2026-04-27T11:45:18-04:00">April 27, 2026</time></a></span> </div><!-- .entry-meta --> 1029 </header><!-- .entry-header --> 1030 1031 <div class="entry-content"> 1032 <img width="200" height="141" src="https://evilhat.com/wp-content/uploads/2026/02/subhero.webp" class="float-right ml-5 post-excerpt__image wp-post-image" alt="" decoding="async" srcset="https://evilhat.com/wp-content/uploads/2026/02/subhero.webp 642w, https://evilhat.com/wp-content/uploads/2026/02/subhero-300x212.webp 300w, https://evilhat.com/wp-content/uploads/2026/02/subhero-180x127.webp 180w, https://evilhat.com/wp-content/uploads/2026/02/subhero-150x106.webp 150w, https://evilhat.com/wp-content/uploads/2026/02/subhero-283x200.webp 283w" sizes="(max-width: 200px) 100v
1032w, 200px" /><p>My journey as a game designer started during the Covid pandemic. It was a difficult time, but I was one of the lucky ones. I had shifted to working remotely (and not working much), and roleplaying games were my main social outlet. Around this time I heard an actual play podcast of Grant Howittâs âThe Witch is Dead.â I had never heard of a one-page rpg, and the concept fascinated me. Itâs an amazing game with so much rich detail and story potential packed into a very small space. Always up for a challenge, I tried writing my own and was instantly smitten.</p> 1033<a href="https://evilhat.com/alien-invasion/" style="text-align: right; display: block;">Keep Reading</a> </div><!-- .entry-content --> 1034</article><!-- #post-138630 --> 1035 1036<article id="post-137286" class="layout-grid post-137286 post type-post status-publish format-standard has-post-thumbnail hentry category-project-updates tag-design-diaries tag-rocket-club"> 1037 <header class="entry-header"> 1038 <h2 class="entry-title"><a href="https://evilhat.com/one-page-at-a-time/" rel="bookmark">One Page at a Time</a></h2> <div class="entry-meta"> 1039 <span class="posted-on">Posted on <a href="https://evilhat.com/one-page-at-a-time/" rel="bookmark"><time class="entry-date published" datetime="2026-04-13T18:33:08-04:00">April 13, 2026</time><time class="updated" datetime="2026-04-13T18:33:15-04:00">April 13, 2026</time></a></span> </div><!-- .entry-meta --> 1040 </header><!-- .entry-header --> 1041 1042 <div class="entry-content"> 1043 <img width="200" height="141" src="https://evilhat.com/wp-content/uploads/2026/02/subhero.webp" class="float-right ml-5 post-excerpt__image wp-post-image" alt="" decoding="async" srcset="https://evilhat.com/wp-content/uploads/2026/02/subhero.webp 642w, https://evilhat.com/wp-content/uploads/2026/02/subhero-300x212.webp 300w, https://evilhat.com/wp-content/uploads/2026/02/subhero-180x127.webp 180w, https://evilhat.com/wp-content/uploads/2026/02/subhero-150x106.webp 150w, https://evilhat.com/wp-content/uploads/2026/02/subhero-283x200.webp 283w" sizes="(max-width: 200px) 100vw, 200px" /><p>My journey as a game designer started during the Covid pandemic. It was a difficult time, but I was one of the lucky ones. I had shifted to working remotely (and not working much), and roleplaying games were my main social outlet. Around this time I heard an actual play podcast of Grant Howittâs âThe Witch is Dead.â I had never heard of a one-page rpg, and the concept fascinated me. Itâs an amazing game with so much rich detail and story potential packed into a very small space. Always up for a challenge, I tried writing my own and was instantly smitten.</p> 1044<a href="https://evilhat.com/one-page-at-a-time/" style="text-align: right; display: block;">Keep Reading</a> </div><!-- .entry-content --> 1045</article><!-- #post-137286 --> 1046 1047<article id="post-135213" class="layout-grid post-135213 post type-post status-publish format-standard has-post-thumbnail hentry category-roleplaying-games tag-rocket-club"> 1048 <header class="entry-header"> 1049 <h2 class="entry-title"><a href="https://evilhat.com/love-and-rockets/" rel="bookmark">Love and Rockets</a></h2> <div class="entry-meta"> 1050 <span class="posted-on">Posted on <a href="https://evilhat.com/love-and-rockets/" rel="bookmark"><time class="entry-date published" datetime="2026-03-30T09:00:00-04:00">March 30, 2026</time><time class="updated" datetime="2026-03-30T15:01:33-04:00">March 30, 2026</time></a></span> </div><!-- .entry-meta --> 1051 </header><!-- .entry-header --> 1052 1053 <div class="entry-content"> 1054 <img width="200" height="105" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20200%20105'%3E%3C/svg%3E" class="float-right ml-5 post-excerpt__image wp-post-image" alt="" decoding="async" data-lazy-srcset="https://evilhat.com/wp-content/uploads/2026/02/Facebook.webp 1200w, https://evilhat.com/wp-content/uploads/2026/02/Facebook-300x158.webp 300w, https://evilhat.com/wp-content/uploads/2026/02/Facebook-1024x538.webp 1024w, https://evilhat.com/wp-content/uploads/2026/02/Facebook-768x403.webp 768w, https://evilhat.com/wp-content/uploads/2026/02/Facebook-180x95.webp 180w, https://evilhat.com/wp-content/uploads/2026/02/Facebook-642x337.webp 642w, https://evilhat.com/wp-content/uploads/2026/02/Facebook-150x79.webp 150w, https://evilhat.com/wp-content/uploads/2026/02/Facebook-381x200.webp 381w" data-lazy-sizes="(max-width: 200px) 100v
1054w, 200px" data-lazy-src="https://evilhat.com/wp-content/uploads/2026/02/Facebook.webp" /><noscript><img width="200" height="105" src="https://evilhat.com/wp-content/uploads/2026/02/Facebook.webp" class="float-right ml-5 post-excerpt__image wp-post-image" alt="" decoding="async" srcset="https://evilhat.com/wp-content/uploads/2026/02/Facebook.webp 1200w, https://evilhat.com/wp-content/uploads/2026/02/Facebook-300x158.webp 300w, https://evilhat.com/wp-content/uploads/2026/02/Facebook-1024x538.webp 1024w, https://evilhat.com/wp-content/uploads/2026/02/Facebook-768x403.webp 768w, https://evilhat.com/wp-content/uploads/2026/02/Facebook-180x95.webp 180w, https://evilhat.com/wp-content/uploads/2026/02/Facebook-642x337.webp 642w, https://evilhat.com/wp-content/uploads/2026/02/Facebook-150x79.webp 150w, https://evilhat.com/wp-content/uploads/2026/02/Facebook-381x200.webp 381w" sizes="(max-width: 200px) 100vw, 200px" /></noscript><p>There was never any other kind of club. From the moment the idea of this game popped into my head, it was Rocket Club. I donât know if the title came first or the image of a scrappy kid with a homemade jetpack, but it was middle-schoolers with rockets from the start.</p> 1055<a href="https://evilhat.com/love-and-rockets/" style="text-align: right; display: block;">Keep Reading</a> </div><!-- .entry-content --> 1056</article><!-- #post-135213 --> 1057 1058<article id="post-132435" class="layout-grid post-132435 post type-post status-publish format-standard has-post-thumbnail hentry category-roleplaying-games"> 1059 <header class="entry-header"> 1060 <h2 class="entry-title"><a href="https://evilhat.com/rocket-club/" rel="bookmark">Rocket Club</a></h2> <div class="entry-meta"> 1061 <span class="posted-on">Posted on <a href="https://evilhat.com/rocket-club/" rel="bookmark"><time class="entry-date published" datetime="2026-02-24T12:02:58-05:00">February 24, 2026</time><time class="updated" datetime="2026-02-24T13:45:34-05:00">February 24, 2026</time></a></span> </div><!-- .entry-meta --> 1062 </header><!-- .entry-header --> 1063 1064 <div class="entry-content"> 1065 <img width="200" height="105" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20200%20105'%3E%3C/svg%3E" class="float-right ml-5 post-excerpt__image wp-post-image" alt="" decoding="async" data-lazy-srcset="https://evilhat.com/wp-content/uploads/2026/02/Facebook.webp 1200w, https://evilhat.com/wp-content/uploads/2026/02/Facebook-300x158.webp 300w, https://evilhat.com/wp-content/uploads/2026/02/Facebook-1024x538.webp 1024w, https://evilhat.com/wp-content/uploads/2026/02/Facebook-768x403.webp 768w, https://evilhat.com/wp-content/uploads/2026/02/Facebook-180x95.webp 180w, https://evilhat.com/wp-content/uploads/2026/02/Facebook-642x337.webp 642w, https://evilhat.com/wp-content/uploads/2026/02/Facebook-150x79.webp 150w, https://evilhat.com/wp-content/uploads/2026/02/Facebook-381x200.webp 381w" data-lazy-sizes="(max-width: 200px) 100vw, 200px" data-lazy-src="https://evilhat.com/wp-content/uploads/2026/02/Facebook.webp" /><noscript><img width="200" height="105" src="https://evilhat.com/wp-content/uploads/2026/02/Facebook.webp" class="float-right ml-5 post-excerpt__image wp-post-image" alt="" decoding="async" srcset="https://evilhat.com/wp-content/uploads/2026/02/Facebook.webp 1200w, https://evilhat.com/wp-content/uploads/2026/02/Facebook-300x158.webp 300w, https://evilhat.com/wp-content/uploads/2026/02/Facebook-1024x538.webp 1024w, https://evilhat.com/wp-content/uploads/2026/02/Facebook-768x403.webp 768w, https://evilhat.com/wp-content/uploads/2026/02/Facebook-180x95.webp 180w, https://evilhat.com/wp-content/uploads/2026/02/Facebook-642x337.webp 642w, https://evilhat.com/wp-content/uploads/2026/02/Facebook-150x79.webp 150w, https://evilhat.com/wp-content/uploads/2026/02/Facebook-381x200.webp 381w" sizes="(max-width: 200px) 100vw, 200px" /></noscript><p>Rocket Club, by Em Hubbard, is a game of precocious, rocket-obsessed middle schoolersfacing a dangerous alien invasion while grappling with their ownvolatile emotions. Sign up to playtest here. Rocket Club is a tabletop roleplaying game designed for 3â6 players, with one taking on the role of Guide. It uses a novel resolution mechanic where each […]</p> 1066<a href="https://evilhat.com/rocket-club/" style="text-align: right; display: block;">Keep Reading</a> </div><!-- .entry-content --> 1067</article><!-- #post-132435 --> 1068 1069<article data-wpr-lazyrender="1" id="post-116940" class="layout-grid post-116940 post type-post status-publish format-standard has-post-thumbnail hentry category-our-news tag-design-diaries tag-rangers-of-a-broken-world"> 1070 <header class="entry-header"> 1071 <h2 class="entry-title"><a href="https://evilhat.com/the-curiosity-of-the-dragons/" rel="bookmark">The Curiosity of the Dragons</a></h2> <div class="entry-meta"> 1072 <span class="posted-on">Posted on <a href="https://evilhat.com/the-curiosity-of-the-dragons/" rel="bookmark"><time class="entry-date published" datetime="2025-08-25T18:46:11-04:00">August 25, 2025</time><time class="updated" datetime="2025-08-25T18:46:17-04:00">August 25, 2025</time></a></span> </div><!-- .entry-meta --> 1073 </header><!-- .entry-header --> 1074 1075 <div class="entry-content"> 1076 <img width="200" height="113" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20200%20113'%3E%3C/svg%3E" class="float-right ml-5 post-excerpt__image wp-post-image" alt="" decoding="async" data-lazy-srcset="https://evilhat.com/wp-content/uploads/2025/05/Bluesky_wide-copy-2-1.png 1920w, https://evilhat.com/wp-content/uploads/2025/05/Bluesky_wide-copy-2-1-300x169.png 300w, https://evilhat.com/wp-content/uploads/2025/05/Bluesky_wide-copy-2-1-1024x576.png 1024w, https://evilhat.com/wp-content/uploads/2025/05/Bluesky_wide-copy-2-1-768x432.png 768w, https://evilhat.com/wp-content/uploads/2025/05/Bluesky_wide-copy-2-1-1536x864.png 1536w, https://evilhat.com/wp-content/uploads/2025/05/Bluesky_wide-copy-2-1-180x101.png 180w, https://evilhat.com/wp-content/uploads/2025/05/Bluesky_wide-copy-2-1-642x361.png 642w, https://evilhat.com/wp-content/uploads/2025/05/Bluesky_wide-copy-2-1-150x84.png 150w, https://evilhat.com/wp-content/uploads/2025/05/Bluesky_wide-copy-2-1-356x200.png 356w" data-lazy-sizes="(max-width: 200px) 100v
1076w, 200px" data-lazy-src="https://evilhat.com/wp-content/uploads/2025/05/Bluesky_wide-copy-2-1.png" /><noscript><img width="200" height="113" src="https://evilhat.com/wp-content/uploads/2025/05/Bluesky_wide-copy-2-1.png" class="float-right ml-5 post-excerpt__image wp-post-image" alt="" decoding="async" srcset="https://evilhat.com/wp-content/uploads/2025/05/Bluesky_wide-copy-2-1.png 1920w, https://evilhat.com/wp-content/uploads/2025/05/Bluesky_wide-copy-2-1-300x169.png 300w, https://evilhat.com/wp-content/uploads/2025/05/Bluesky_wide-copy-2-1-1024x576.png 1024w, https://evilhat.com/wp-content/uploads/2025/05/Bluesky_wide-copy-2-1-768x432.png 768w, https://evilhat.com/wp-content/uploads/2025/05/Bluesky_wide-copy-2-1-1536x864.png 1536w, https://evilhat.com/wp-content/uploads/2025/05/Bluesky_wide-copy-2-1-180x101.png 180w, https://evilhat.com/wp-content/uploads/2025/05/Bluesky_wide-copy-2-1-642x361.png 642w, https://evilhat.com/wp-content/uploads/2025/05/Bluesky_wide-copy-2-1-150x84.png 150w, https://evilhat.com/wp-content/uploads/2025/05/Bluesky_wide-copy-2-1-356x200.png 356w" sizes="(max-width: 200px) 100vw, 200px" /></noscript><p>Welcome to the 14th post in a series of Design Diaries for Rangers of a Broken World by the creator Leon Richardson: … Dragons might be my favorite inhabitants of Amylte, and for the life of me I have no idea where their idea first came from. Much like the dragons themselves, I suppose, they […]</p> 1077<a href="https://evilhat.com/the-curiosity-of-the-dragons/" style="text-align: right; display: block;">Keep Reading</a> </div><!-- .entry-content --> 1078</article><!-- #post-116940 --> 1079 1080<article data-wpr-lazyrender="1" id="post-116693" class="layout-grid post-116693 post type-post status-publish format-standard has-post-thumbnail hentry category-our-news tag-design-diaries tag-rangers-of-a-broken-world"> 1081 <header class="entry-header"> 1082 <h2 class="entry-title"><a href="https://evilhat.com/the-programming-of-the-automata/" rel="bookmark">The Programming of the Automata</a></h2> <div class="entry-meta"> 1083 <span class="posted-on">Posted on <a href="https://evilhat.com/the-programming-of-the-automata/" rel="bookmark"><time class="entry-date published" datetime="2025-08-18T18:17:52-04:00">August 18, 2025</time><time class="updated" datetime="2025-08-18T18:17:55-04:00">August 18, 2025</time></a></span> </div><!-- .entry-meta --> 1084 </header><!-- .entry-header --> 1085 1086 <div class="entry-content"> 1087 <img width="200" height="113" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20200%20113'%3E%3C/svg%3E" class="float-right ml-5 post-excerpt__image wp-post-image" alt="" decoding="async" data-lazy-srcset="https://evilhat.com/wp-content/uploads/2025/05/Bluesky_wide-copy-2-1.png 1920w, https://evilhat.com/wp-content/uploads/2025/05/Bluesky_wide-copy-2-1-300x169.png 300w, https://evilhat.com/wp-content/uploads/2025/05/Bluesky_wide-copy-2-1-1024x576.png 1024w, https://evilhat.com/wp-content/uploads/2025/05/Bluesky_wide-copy-2-1-768x432.png 768w, https://evilhat.com/wp-content/uploads/2025/05/Bluesky_wide-copy-2-1-1536x864.png 1536w, https://evilhat.com/wp-content/uploads/2025/05/Bluesky_wide-copy-2-1-180x101.png 180w, https://evilhat.com/wp-content/uploads/2025/05/Bluesky_wide-copy-2-1-642x361.png 642w, https://evilhat.com/wp-content/uploads/2025/05/Bluesky_wide-copy-2-1-150x84.png 150w, https://evilhat.com/wp-content/uploads/2025/05/Bluesky_wide-copy-2-1-356x200.png 356w" data-lazy-sizes="(max-width: 200px) 100vw, 200px" data-lazy-src="https://evilhat.com/wp-content/uploads/2025/05/Bluesky_wide-copy-2-1.png" /><noscript><img width="200" height="113" src="https://evilhat.com/wp-content/uploads/2025/05/Bluesky_wide-copy-2-1.png" class="float-right ml-5 post-excerpt__image wp-post-image" alt="" decoding="async" srcset="https://evilhat.com/wp-content/uploads/2025/05/Bluesky_wide-copy-2-1.png 1920w, https://evilhat.com/wp-content/uploads/2025/05/Bluesky_wide-copy-2-1-300x169.png 300w, https://evilhat.com/wp-content/uploads/2025/05/Bluesky_wide-copy-2-1-1024x576.png 1024w, https://evilhat.com/wp-content/uploads/2025/05/Bluesky_wide-copy-2-1-768x432.png 768w, https://evilhat.com/wp-content/uploads/2025/05/Bluesky_wide-copy-2-1-1536x864.png 1536w, https://evilhat.com/wp-content/uploads/2025/05/Bluesky_wide-copy-2-1-180x101.png 180w, https://evilhat.com/wp-content/uploads/2025/05/Bluesky_wide-copy-2-1-642x361.png 642w, https://evilhat.com/wp-content/uploads/2025/05/Bluesky_wide-copy-2-1-150x84.png 150w, https://evilhat.com/wp-content/uploads/2025/05/Bluesky_wide-copy-2-1-356x200.png 356w" sizes="(max-width: 200px) 100v
1087w, 200px" /></noscript><p>Welcome to the 13th post in a series of Design Diaries for Rangers of a Broken World by the creator Leon Richardson: … If youâve read the first Design Diary in the whole series, then youâll know that Amylte, the world of Rangers of a Broken World, was inspired by efforts to reclaim the old […]</p> 1088<a href="https://evilhat.com/the-programming-of-the-automata/" style="text-align: right; display: block;">Keep Reading</a> </div><!-- .entry-content --> 1089</article><!-- #post-116693 --> 1090 1091<article data-wpr-lazyrender="1" id="post-116452" class="layout-grid post-116452 post type-post status-publish format-standard has-post-thumbnail hentry category-our-news tag-design-diaries tag-rangers-of-a-broken-world"> 1092 <header class="entry-header"> 1093 <h2 class="entry-title"><a href="https://evilhat.com/the-memory-of-the-horrors/" rel="bookmark">The Memory of the Horrors</a></h2> <div class="entry-meta"> 1094 <span class="posted-on">Posted on <a href="https://evilhat.com/the-memory-of-the-horrors/" rel="bookmark"><time class="entry-date published" datetime="2025-08-11T19:04:40-04:00">August 11, 2025</time><time class="updated" datetime="2025-08-11T19:04:44-04:00">August 11, 2025</time></a></span> </div><!-- .entry-meta --> 1095 </header><!-- .entry-header --> 1096 1097 <div class="entry-content"> 1098 <img width="200" height="113" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20200%20113'%3E%3C/svg%3E" class="float-right ml-5 post-excerpt__image wp-post-image" alt="" decoding="async" data-lazy-srcset="https://evilhat.com/wp-content/uploads/2025/05/Bluesky_wide-copy-2-1.png 1920w, https://evilhat.com/wp-content/uploads/2025/05/Bluesky_wide-copy-2-1-300x169.png 300w, https://evilhat.com/wp-content/uploads/2025/05/Bluesky_wide-copy-2-1-1024x576.png 1024w, https://evilhat.com/wp-content/uploads/2025/05/Bluesky_wide-copy-2-1-768x432.png 768w, https://evilhat.com/wp-content/uploads/2025/05/Bluesky_wide-copy-2-1-1536x864.png 1536w, https://evilhat.com/wp-content/uploads/2025/05/Bluesky_wide-copy-2-1-180x101.png 180w, https://evilhat.com/wp-content/uploads/2025/05/Bluesky_wide-copy-2-1-642x361.png 642w, https://evilhat.com/wp-content/uploads/2025/05/Bluesky_wide-copy-2-1-150x84.png 150w, https://evilhat.com/wp-content/uploads/2025/05/Bluesky_wide-copy-2-1-356x200.png 356w" data-lazy-sizes="(max-width: 200px) 100vw, 200px" data-lazy-src="https://evilhat.com/wp-content/uploads/2025/05/Bluesky_wide-copy-2-1.png" /><noscript><img width="200" height="113" src="https://evilhat.com/wp-content/uploads/2025/05/Bluesky_wide-copy-2-1.png" class="float-right ml-5 post-excerpt__image wp-post-image" alt="" decoding="async" srcset="https://evilhat.com/wp-content/uploads/2025/05/Bluesky_wide-copy-2-1.png 1920w, https://evilhat.com/wp-content/uploads/2025/05/Bluesky_wide-copy-2-1-300x169.png 300w, https://evilhat.com/wp-content/uploads/2025/05/Bluesky_wide-copy-2-1-1024x576.png 1024w, https://evilhat.com/wp-content/uploads/2025/05/Bluesky_wide-copy-2-1-768x432.png 768w, https://evilhat.com/wp-content/uploads/2025/05/Bluesky_wide-copy-2-1-1536x864.png 1536w, https://evilhat.com/wp-content/uploads/2025/05/Bluesky_wide-copy-2-1-180x101.png 180w, https://evilhat.com/wp-content/uploads/2025/05/Bluesky_wide-copy-2-1-642x361.png 642w, https://evilhat.com/wp-content/uploads/2025/05/Bluesky_wide-copy-2-1-150x84.png 150w, https://evilhat.com/wp-content/uploads/2025/05/Bluesky_wide-copy-2-1-356x200.png 356w" sizes="(max-width: 200px) 100vw, 200px" /></noscript><p>Welcome to the 12th post in a series of Design Diaries for Rangers of a Broken World by the creator Leon Richardson: … Most paranormal researchers believe there are three (maybe four depending on what you think about poltergeist activity) types of hauntings: human spirits, non-human spirits, and ârecordingsâ. Itâs this last kind that directly […]</p> 1099<a href="https://evilhat.com/the-memory-of-the-horrors/" style="text-align: right; display: block;">Keep Reading</a> </div><!-- .entry-content --> 1100</article><!-- #post-116452 --> 1101 1102 <div data-wpr-lazyrender="1" class="layout-grid"> 1103 1104 <nav class="navigation posts-navigation" aria-label="Posts"> 1105 <h2 class="screen-reader-text">Posts navigation</h2> 1106 <div class="nav-links"><div class="nav-previous"><a href="https://evilhat.com/blog/page/2/" >Older posts</a></div></div> 1107 </nav> </div> 1108 1109 1110 1111 </main><!-- #main --> 1112 1113<!-- footer.php --> 1114<footer data-wpr-lazyrender="1" id="footer" class="site-footer bg-black text-white layout-grid pt-10"> 1115 1116 <div class="flex flex-col md:flex-row gap-10 has-width-wide"> 1117 1118 <nav id="nav-footer" role="navigation" class="px-5 md:px-0 has-width-wide"> 1119 <a class="p-5 pt-0 md:px-0 inline-block" href="https://evilhat.com" rel="home"> 1120 <img style="max-width: 208px;" src="https://evilhat.com/wp-content/themes/_evilhat/images/evilhat-logo.svg" alt="Evil Hat Productions"> 1121 </a> 1122 <div class="menu-footer-container"><ul id="17" class="font-bold text-base max-w-7xl m-0"><li id="menu-item-5755" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-5755 list-none"><a href="https://evilhat.com/my-account/" class="menu-link-class inline-block px-5 py-1 pl-0 hover:underline text-white hover:text-white visited:text-white opacity-90 hover:opacity-100">My Account</a></li> 1123<li id="menu-item-2311" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-2311 list-none"><a href="https://evilhat.com/contact-us/" class="menu-link-class inline-block px-5 py-1 pl-0 hover:underline text-white hover:text-white visited:text-white opacity-90 hover:opacity-100">Contact Us</a> 1124<ul class="sub-menu"> 1125 <li id="menu-item-4943" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-4943 list-none"><a href="https://evilhat.com/game-submissions/" class="menu-link-class inline-block px-5 py-1 pl-0 hover:underline text-white hover:text-white visited:text-white opacity-90 hover:opacity-100">Game Submission Guidelines</a></li> 1126</ul> 1127</li> 1128<li id="menu-item-1535" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-1535 list-none"><a href="https://evilhat.com/retailer-distribution-info/" class="menu-link-class inline-block px-5 py-1 pl-0 hover:underline text-white hover:text-white visited:text-white opacity-90 hover:opacity-100">Retailer & Distribution Info</a> 1129<ul class="sub-menu"> 1130 <li id="menu-item-146917" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-146917 list-none"><a href="/retailer-distribution-info/#can-evil-hat-sell-direct-to-retail-stores" class="menu-link-class inline-block px-5 py-1 pl-0 hover:underline text-white hover:text-white visited:text-white opacity-90 hover:opacity-100">Buy Direct from Evil Hat</a></li> 1131 <li id="menu-item-146918" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-146918 list-none"><a href="/retailer-distribution-info/#free-pdfs-for-your-customers-free-for-you" class="menu-link-class inline-block px-5 py-1 pl-0 hover:underline text-white hover:text-white visited:text-white opacity-90 hover:opacity-100">Free PDFs For Your Customers</a></li> 1132 <li id="menu-item-146919" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-146919 list-none"><a href="/retailer-distribution-info/#who-distributes-evil-hat-s-products" class="menu-link-class inline-block px-5 py-1 pl-0 hover:underline text-white hover:text-white visited:text-white opacity-90 hover:opacity-100">Distributor List</a></li> 1133 <li id="menu-item-114675" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-114675 list-none"><a href="https://evilhat.com/sell-sheets/" class="menu-link-class inline-block px-5 py-1 pl-0 hover:underline text-white hover:text-white visited:text-white opacity-90 hover:opacity-100">Sell Sheets</a></li> 1134</ul> 1135</li> 1136<li id="menu-item-94940" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-94940 list-none"><a href="https://evilhat.com/creator-support/" class="menu-link-class inline-block px-5 py-1 pl-0 hover:underline text-white hover:text-white visited:text-white opacity-90 hover:opacity-100">Creator Support</a> 1137<ul class="sub-menu"> 1138 <li id="menu-item-95061" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-95061 list-none"><a href="https://evilhat.com/streaming-assets-and-overlays/" class="menu-link-class inline-block px-5 py-1 pl-0 hover:underline text-white hover:text-white visited:text-white opacity-90 hover:opacity-100">Streaming Assets and Overlays</a></li> 1139</ul> 1140</li> 1141<li id="menu-item-146412" class="no-hover menu-item menu-item-type-custom menu-item-object-custom current-menu-ancestor current-menu-parent menu-item-has-children menu-item-146412 list-none"><a href="#nav-footer" class="menu-link-class inline-block px-5 py-1 pl-0 hover:underline text-white hover:text-white visited:text-white opacity-90 hover:opacity-100">News & Conversation</a> 1142<ul class="sub-menu"> 1143 <li id="menu-item-63851" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-63851 list-none"><a href="https://evilhat.com/sign-up-for-our-newsletter/" class="menu-link-class inline-block px-5 py-1 pl-0 hover:underline text-white hover:text-white visited:text-white opacity-90 hover:opacity-100">Sign up for our Newsletter</a></li> 1144 <li id="menu-item-95677" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-95677 list-none"><a href="https://evilhat.com/project-status/" class="menu-link-class inline-block px-5 py-1 pl-0 hover:underline text-white hover:text-white visited:text-white opacity-90 hover:opacity-100">
1144Project Status Updates</a></li> 1145 <li id="menu-item-2050" class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-2046 current_page_item current_page_parent menu-item-2050 list-none"><a href="https://evilhat.com/blog/" aria-current="page" class="menu-link-class inline-block px-5 py-1 pl-0 hover:underline text-white hover:text-white visited:text-white opacity-90 hover:opacity-100">Evil Hat’s Blog</a></li> 1146 <li id="menu-item-94886" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-94886 list-none"><a href="https://evilhat.com/community/" class="menu-link-class inline-block px-5 py-1 pl-0 hover:underline text-white hover:text-white visited:text-white opacity-90 hover:opacity-100">Online Communities</a></li> 1147</ul> 1148</li> 1149<li id="menu-item-146913" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-146913 list-none"><a href="#nav-footer" class="menu-link-class inline-block px-5 py-1 pl-0 hover:underline text-white hover:text-white visited:text-white opacity-90 hover:opacity-100">Social Media</a> 1150<ul class="sub-menu"> 1151 <li id="menu-item-146914" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-146914 list-none"><a target="_blank" href="https://bsky.app/profile/evilhat.bsky.social" class="menu-link-class inline-block px-5 py-1 pl-0 hover:underline text-white hover:text-white visited:text-white opacity-90 hover:opacity-100">BlueSky</a></li> 1152 <li id="menu-item-146915" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-146915 list-none"><a target="_blank" href="https://www.facebook.com/EvilHatProductions" class="menu-link-class inline-block px-5 py-1 pl-0 hover:underline text-white hover:text-white visited:text-white opacity-90 hover:opacity-100">Facebook</a></li> 1153 <li id="menu-item-146916" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-146916 list-none"><a target="_blank" href="https://www.youtube.com/@EvilHatProductions" class="menu-link-class inline-block px-5 py-1 pl-0 hover:underline text-white hover:text-white visited:text-white opacity-90 hover:opacity-100">YouTube</a></li> 1154</ul> 1155</li> 1156<li id="menu-item-146407" class="no-hover menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-146407 list-none"><a href="#nav-footer" class="menu-link-class inline-block px-5 py-1 pl-0 hover:underline text-white hover:text-white visited:text-white opacity-90 hover:opacity-100">Policies</a> 1157<ul class="sub-menu"> 1158 <li id="menu-item-92" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-92 list-none"><a href="https://evilhat.com/pdf-guarantee/" class="menu-link-class inline-block px-5 py-1 pl-0 hover:underline text-white hover:text-white visited:text-white opacity-90 hover:opacity-100">PDF Guarantee</a></li> 1159 <li id="menu-item-80" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-80 list-none"><a href="https://evilhat.com/shipping-returns/" class="menu-link-class inline-block px-5 py-1 pl-0 hover:underline text-white hover:text-white visited:text-white opacity-90 hover:opacity-100">Shipping & Returns</a></li> 1160 <li id="menu-item-79356" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-privacy-policy menu-item-79356 list-none"><a rel="privacy-policy" href="https://evilhat.com/privacy-policy/" class="menu-link-class inline-block px-5 py-1 pl-0 hover:underline text-white hover:text-white visited:text-white opacity-90 hover:opacity-100">Privacy Policy</a></li> 1161</ul> 1162</li> 1163</ul></div> </nav> 1164 1165 <div class="footer-widget-area--wrapper px-5 md:px-0"> 1166 </div> 1167 1168 <div class="footer-email-widget-area--wrapper px-5 md:px-0 md:ml-auto md:w-1/3"> 1169 </div> 1170 1171 </div> 1172 1173 <p class="mt-11 text-sm px-5 md:px-0 has-width-wide">Copyright © 2026</p> 1174</footer> 1175 1176</div><!-- #page --> 1177
1178<script type="speculationrules"> 1179{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/_evilhat/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]} 1180</script>
1180 1181
1181<script> 1182 jQuery(document).ready(function($) { 1183 var mwb_table_cart_nonce = '3b6b6c2f59'; 1184 1185 // Create the NYP modal dialog if it doesn't exist 1186 if ($('#nyp-modal-dialog').length === 0) { 1187 $('body').append(` 1188 <div id="nyp-modal-dialog" style="display:none; position:fixed; top:0; left:0; width:100%; height:100%; background-color:rgba(0,0,0,0.5); z-index:9999; justify-content:center; align-items:center;"> 1189 <div class="nyp-modal-content" style="background-color:#fff; padding:20px; border-radius:5px; max-width:400px; position:relative;"> 1190 <span class="nyp-close" style="position:absolute; top:10px; right:10px; font-size:20px; cursor:pointer;">×</span> 1191 <h3 class="nyp-title">Name Your Price</h3> 1192 <p class="nyp-description">Please enter the amount you would like to pay:</p> 1193 <div class="nyp-price-input-wrapper"> 1194 <input type="text" id="nyp-price-input" class="nyp-price-input" /> 1195 </div> 1196 <p class="nyp-min-price" style="font-size:0.85em; margin-top:5px; display:none;"></p> 1197 <p class="nyp-max-price" style="font-size:0.85em; margin-top:2px; display:none;"></p> 1198 <div class="nyp-error-message" style="color:red; margin-top:10px; display:none;"></div> 1199 <button class="nyp-add-to-cart-btn button alt" style="margin-top:15px;">Add to Cart</button> 1200 </div> 1201 </div> 1202 `); 1203 } 1204 1205 // Close the modal when clicking the close button or outside the modal content 1206 $(document).on('click', '.nyp-close, #nyp-modal-dialog', function(e) { 1207 if (e.target === this) { 1208 $('#nyp-modal-dialog').hide(); 1209 } 1210 }); 1211 1212 // Stop propagation when clicking inside the modal content 1213 $(document).on('click', '.nyp-modal-content', function(e) { 1214 e.stopPropagation(); 1215 }); 1216 1217 // Store the NYP product data when clicking add to cart 1218 var nypProductData = {}; 1219 1220 // Use event delegation for better Safari compatibility 1221 $(document).on('click', '.pvtfw_variant_table_cart_btn', function(e) { 1222 e.preventDefault(); 1223 e.stopPropagation(); 1224 1225 var $thisbutton = $(this); 1226 var id = $thisbutton.data("product-id"); 1227 var site_url = $thisbutton.data("url"); 1228 var variant_id = $thisbutton.data("variant"); 1229 var qty = $thisbutton.closest('.variant tbody tr').find('.qty').val(); 1230 1231 // Check if this is a Name Your Price product 1232 if ($thisbutton.closest('tr').find('.nyp-price-label').length > 0 || $thisbutton.closest('tr').find('.nyp-suggested-price').length > 0) { 1233 // It's a NYP product - show the modal 1234 nypProductData = { 1235 product_id: id, 1236 site_url: site_url, 1237 variant_id: variant_id, 1238 qty: qty, 1239 $button: $thisbutton 1240 }; 1241 1242 // Reset any previous error messages 1243 $('.nyp-error-message').hide(); 1244 1245 // Get the suggested price and populate the input 1246 var suggestedPrice = $thisbutton.closest('tr').find('.nyp-suggested-price').text(); 1247 if (suggestedPrice) { 1248 // Extract the price from the formatted string 1249 suggestedPrice = suggestedPrice.replace(/[^0-9.]/g, ''); 1250 $('#nyp-price-input').val(suggestedPrice); 1251 } else { 1252 $('#nyp-price-input').val(''); 1253 } 1254 1255 // Get any data attributes with min/max price info 1256 var $priceElement = $thisbutton.closest('tr').find('.nyp-suggested-price'); 1257 var minPrice = $priceElement.data('min-price'); 1258 var maxPrice = $priceElement.data('max-price'); 1259 1260 // Show min/max prices if available 1261 if (minPrice) { 1262 $('.nyp-min-price').text('Minimum price: ' + minPrice).show(); 1263 } else { 1264 $('.nyp-min-price').hide(); 1265 } 1266 1267 if (maxPrice) { 1268 $('.nyp-max-price').text('Maximum price: ' + maxPrice).show(); 1269 } else { 1270 $('.nyp-max-price').hide(); 1271 } 1272 1273 // Show the modal 1274 $('#nyp-modal-dialog').css('display', 'flex'); 1275 return; 1276 } 1277 1278 var data = { 1279 action: 'mwb_woocommerce_ajax_add_to_cart', 1280 product_id: id, 1281 product_sku: '', 1282 quantity: qty, 1283 variation_id: variant_id,
1284 mwb_table_cart: mwb_table_cart_nonce 1285 }; 1286 1287 // Add data attributes for Google Analytics 1288 $thisbutton.attr('data-product_id', id); 1289 $thisbutton.attr('data-product_sku', ''); 1290 $thisbutton.attr('data-product_name', $thisbutton.closest('tr').find('td[data-title="Description"]').text()); 1291 $thisbutton.attr('data-product_price', $thisbutton.closest('tr').find('td[data-title="Price"]').text().replace(/[^0-9.]/g, '')); 1292 $thisbutton.attr('data-product_variation_id', variant_id); 1293 $thisbutton.attr('data-product_quantity', qty); 1294 1295 $(document.body).trigger('adding_to_cart', [$thisbutton, data]); 1296 1297 // Use a more Safari-friendly AJAX approach 1298 $.ajax({ 1299 type: 'POST', 1300 url: wc_add_to_cart_params.ajax_url, 1301 data: data, 1302 cache: false, 1303 beforeSend: function() { 1304 $thisbutton.addClass('loading'); 1305 }, 1306 complete: function(response) { 1307 $thisbutton.removeClass('loading'); 1308 }, 1309 success: function(response) { 1310 if (response.error && response.product_url) { 1311 window.location = response.product_url; 1312 return; 1313 } else { 1314 // Add success message at the top and trigger page scroll 1315 $(document.body).trigger('added_to_cart', [response.fragments, response.cart_hash, $thisbutton]); 1316 1317 // Remove existing notices 1318 $('.woocommerce-error, .woocommerce-message, .woocommerce-info').remove(); 1319 1320 // Add the notices HTML fragment 1321 if (response.fragments && response.fragments.notices_html) { 1322 // Ensure the notices wrapper exists 1323 if ($('.woocommerce-notices-wrapper').length === 0) { 1324 $('<div class="woocommerce-notices-wrapper"></div>').prependTo('.entry-content'); 1325 } 1326 $('.woocommerce-notices-wrapper').html(response.fragments.notices_html); 1327 } 1328 1329 // Scroll to top where the notice appears 1330 $("html, body").animate({ 1331 scrollTop: 0 1332 }, "slow"); 1333 } 1334 }, 1335 error: function(xhr, status, error) { 1336 console.error("AJAX Error:", status, error); 1337 $thisbutton.removeClass('loading'); 1338 } 1339 }); 1340 }); 1341 1342 // Handle the Name Your Price add to cart button 1343 $(document).on('click', '.nyp-add-to-cart-btn', function() { 1344 var price = $('#nyp-price-input').val().trim(); 1345 1346 // Validate the price 1347 if (!price || isNaN(parseFloat(price)) || parseFloat(price) < 0) { 1348 $('.nyp-error-message').text('Please enter a valid price').show(); 1349 return; 1350 } 1351 1352 // Hide any error messages 1353 $('.nyp-error-message').hide(); 1354 1355 // Add the product to cart with the NYP price 1356 var data = { 1357 action: 'mwb_woocommerce_ajax_add_to_cart', 1358 product_id: nypProductData.product_id, 1359 product_sku: '', 1360 quantity: nypProductData.qty, 1361 variation_id: nypProductData.variant_id, 1362 nyp: price, // This is the NYP price 1363 mwb_table_cart: mwb_table_cart_nonce 1364 }; 1365 1366 var $thisbutton = nypProductData.$button; 1367 1368 // Add data attributes for Google Analytics 1369 $thisbutton.attr('data-product_id', nypProductData.product_id); 1370 $thisbutton.attr('data-product_sku', ''); 1371 $thisbutton.attr('data-product_name', $thisbutton.closest('tr').find('td[data-title="Description"]').text()); 1372 $thisbutton.attr('data-product_price', price); 1373 $thisbutton.attr('data-product_variation_id', nypProductData.variant_id); 1374 $thisbutton.attr('data-product_quantity', nypProductData.qty); 1375 1376 $(document.body).trigger('adding_to_cart', [$thisbutton, data]); 1377 1378 // Use a more Safari-friendly AJAX approach 1379 $.ajax({ 1380 type: 'POST', 1381 url: wc_add_to_cart_params.ajax_url, 1382 data: data, 1383 cache: false, 1384 beforeSend: function() { 1385 $thisbutton.addClass('loading'); 1386 }, 1387 complete: function(response) { 1388 $thisbutton.removeClass('loading'); 1389 // Hide the modal 1390 $('#nyp-modal-dialog').hide(); 1391 }, 1392 success: function(response) { 1393 if (response.error && response.product_url) { 1394 window.location = response.product_url; 1395 return; 1396 } else { 1397 // Add success message at the top and trigger page scroll 1398 $(document.body).trigger('added_to_cart', [response.fragments, response.cart_hash, $thisbutton]); 1399 1400 // Remove existing notices 1401 $('.woocommerce-error, .woocommerce-message, .woocommerce-info').remove(); 1402 1403 // Add the notices HTML fragment 1404 if (response.fragments && response.fragments.notices_html) { 1405 // Ensure the notices wrapper exists 1406 if ($('.woocommerce-notices-wrapper').length === 0) { 1407 $('<div class="woocommerce-notices-wrapper"></div>').prependTo('.entry-content'); 1408 } 1409 $('.woocommerce-notices-wrapper').html(response.fragments.notices_html); 1410 } 1411 1412 // Scroll to top where the notice appears 1413 $("html, body").animate({ 1414 scrollTop: 0 1415 }, "slow"); 1416 } 1417 }, 1418 error: function(xhr, status, error) { 1419 console.error("AJAX Error:", status, error); 1420 $thisbutton.removeClass('loading'); 1421 $('#nyp-modal-dialog').hide(); 1422 } 1423 }); 1424 }); 1425 }); 1426 </script>
1426 1427 <style type="text/css" class="wcp-frontend"> 1428 1429 .chained_items_container ul.products > li{ 1430 margin: 0 0.6rem !important; 1431 } 1432 1433 </style> 1434
1434<script id="mcjs">!function(c,h,i,m,p){m=c.createElement(h),p=c.getElementsByTagName(h)[0],m.async=1,m.src=i,p.parentNode.insertBefore(m,p)}(document,"script","https://chimpstatic.com/mcjs-connected/js/users/40e7c975ae212506d1254ff52/3b897f219a54fb5877cb2de7c.js");</script>
1434
1434<script type="text/javascript"> 1435 window.mcPixel = window.mcPixel || {}; 1436 window.mcPixel._handled = {}; 1437 window.mcPixel.cartId = 't_3786772cf1caca6dd6de4708805d42'; 1438 </script>
1438 1439 <!-- YouTube Feeds JS -->
1440<script type="text/javascript"> 1441 1442</script>
1442 1443
1443<script> 1444 (function () { 1445 var c = document.body.className; 1446 c = c.replace(/woocommerce-no-js/, 'woocommerce-js'); 1447 document.body.className = c; 1448 })(); 1449 </script>
vendor: 111 bytes, lines 1449-1450
1449 1450 <script data-wp-strategy="async" id="google-tag-manager-js" src="https://www.googletagmanager.com/gtag/js?id=
1450G-VPXW9EMTLX
vendor: 12 bytes, line 1450
1450"></script>
1451<script id="wp-hooks-js" src="https://evilhat.com/wp-includes/js/dist/hooks.min.js?ver=f0f188028580e8dc1255"></script>
vendor: 1 bytes, line 1451
1451
1452<script id="wp-i18n-js" src="https://evilhat.com/wp-includes/js/dist/i18n.min.js?ver=1dfe7db3940c23ea9216"></script>
vendor: 1 bytes, line 1452
1452
1453<script id="wp-i18n-js-after"> 1454wp.i18n.setLocaleData( { 'text direction\u0004ltr': [ 'ltr' ] } ); 1455//# sourceURL=wp-i18n-js-after 1456</script>
vendor: 1 bytes, line 1456
1456
1457<script id="woocommerce-google-analytics-integration-js" src="https://evilhat.com/wp-content/plugins/woocommerce-google-analytics-integration/assets/js/build/main.js?ver=c77d282f696b4d71afc9"></script>
vendor: 1 bytes, line 1457
1457
1458<script id="woocommerce-google-analytics-integration-js-after"> 1459gtag("config", "AW-406786713", { "groups": "GLA", "send_page_view": false }); 1460 1461gtag("event", "page_view", {send_to: "GLA"}); 1462//# sourceURL=woocommerce-google-analytics-integration-js-after 1463</script>
vendor: 1 bytes, line 1463
1463
1464<script id="sws-frontend-js-extra"> 1465var sws_frontend = {"ajaxurl":"https://evilhat.com/wp-admin/admin-ajax.php","ajax_nonce":"2696a65134"}; 1466//# sourceURL=sws-frontend-js-extra 1467</script>
vendor: 1 bytes, line 1467
1467
1468<script id="sws-frontend-js" src="https://evilhat.com/wp-content/plugins/storewide-sale/assets/js/frontend_script.js?ver=1.0.8"></script>
vendor: 1 bytes, line 1468
1468
1469<script id="wc-sc-countdown-js" src="https://evilhat.com/wp-content/plugins/woocommerce-smart-coupons/assets/js/sc-countdown.min.js?ver=9.82.0"></script>
vendor: 1 bytes, line 1469
1469
1470<script id="rocket-browser-checker-js-after"> 1471"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}var RocketBrowserCompatibilityChecker=function(){function RocketBrowserCompatibilityChecker(options){_classCallCheck(this,RocketBrowserCompatibilityChecker),this.passiveSupported=!1,this._checkPassiveOption(this),this.options=!!this.passiveSupported&&options}return _createClass(RocketBrowserCompatibilityChecker,[{key:"_checkPassiveOption",value:function(self){try{var options={get passive(){return!(self.passiveSupported=!0)}};window.addEventListener("test",null,options),window.removeEventListener("test",null,options)}catch(err){self.passiveSupported=!1}}},{key:"initRequestIdleCallback",value:function(){!1 in window&&(window.requestIdleCallback=function(cb){var start=Date.now();return setTimeout(function(){cb({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-start))}})},1)}),!1 in window&&(window.cancelIdleCallback=function(id){return clearTimeout(id)})}},{key:"isDataSaverModeOn",value:function(){return"connection"in navigator&&!0===navigator.connection.saveData}},{key:"supportsLinkPrefetch",value:function(){var elem=document.createElement("link");return elem.relList&&elem.relList.supports&&elem.relList.supports("prefetch")&&window.IntersectionObserver&&"isIntersecting"in IntersectionObserverEntry.prototype}},{key:"isSlowConnection",value:function(){return"connection"in navigator&&"effectiveType"in navigator.connection&&("2g"===navigator.connection.effectiveType||"slow-2g"===navigator.connection.effectiveType)}}]),RocketBrowserCompatibilityChecker}(); 1472//# sourceURL=rocket-browser-checker-js-after 1473</script>
vendor: 1 bytes, line 1473
1473
1474<script id="rocket-preload-links-js-extra"> 1475var RocketPreloadLinksConfig = {"excludeUris":"/(?:.+/)?feed(?:/(?:.+/?)?)?$|/(?:.+/)?embed/|/checkout/??(.*)|/cart/?|/my-account/??(.*)|/(index.php/)?(.*)wp-json(/.*|$)|/refer/|/go/|/recommend/|/recommends/","usesTrailingSlash":"1","imageExt":"jpg|jpeg|gif|png|tiff|bmp|webp|avif|pdf|doc|docx|xls|xlsx|php","fileExt":"jpg|jpeg|gif|png|tiff|bmp|webp|avif|pdf|doc|docx|xls|xlsx|php|html|htm","siteUrl":"https://evilhat.com","onHoverDelay":"100","rateThrottle":"3"}; 1476//# sourceURL=rocket-preload-links-js-extra 1477</script>
vendor: 1 bytes, line 1477
1477
1478<script id="rocket-preload-links-js-after"> 1479(function() { 1480"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e=function(){function i(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(e,t,n){return t&&i(e.prototype,t),n&&i(e,n),e}}();function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var t=function(){function n(e,t){i(this,n),this.browser=e,this.config=t,this.options=this.browser.options,this.prefetched=new Set,this.eventTime=null,this.threshold=1111,this.numOnHover=0}return e(n,[{key:"init",value:function(){!this.browser.supportsLinkPrefetch()||this.browser.isDataSaverModeOn()||this.browser.isSlowConnection()||(this.regex={excludeUris:RegExp(this.config.excludeUris,"i"),images:RegExp(".("+this.config.imageExt+")$","i"),fileExt:RegExp(".("+this.config.fileExt+")$","i")},this._initListeners(this))}},{key:"_initListeners",value:function(e){-1<this.config.onHoverDelay&&document.addEventListener("mouseover",e.listener.bind(e),e.listenerOptions),document.addEventListener("mousedown",e.listener.bind(e),e.listenerOptions),document.addEventListener("touchstart",e.listener.bind(e),e.listenerOptions)}},{key:"listener",value:function(e){var t=e.target.closest("a"),n=this._prepareUrl(t);if(null!==n)switch(e.type){case"mousedown":case"touchstart":this._addPrefetchLink(n);break;case"mouseover":this._earlyPrefetch(t,n,"mouseout")}}},{key:"_earlyPrefetch",value:function(t,e,n){var i=this,r=setTimeout(function(){if(r=null,0===i.numOnHover)setTimeout(function(){return i.numOnHover=0},1e3);else if(i.numOnHover>i.config.rateThrottle)return;i.numOnHover++,i._addPrefetchLink(e)},this.config.onHoverDelay);t.addEventListener(n,function e(){t.removeEventListener(n,e,{passive:!0}),null!==r&&(clearTimeout(r),r=null)},{passive:!0})}},{key:"_addPrefetchLink",value:function(i){return this.prefetched.add(i.href),new Promise(function(e,t){var n=document.createElement("link");n.rel="prefetch",n.href=i.href,n.onload=e,n.onerror=t,document.head.appendChild(n)}).catch(function(){})}},{key:"_prepareUrl",value:function(e){if(null===e||"object"!==(void 0===e?"undefined":r(e))||!1 in e||-1===["http:","https:"].indexOf(e.protocol))return null;var t=e.href.substring(0,this.config.siteUrl.length),n=this._getPathname(e.href,t),i={original:e.href,protocol:e.protocol,origin:t,pathname:n,href:t+n};return this._isLinkOk(i)?i:null}},{key:"_getPathname",value:function(e,t){var n=t?e.substring(this.config.siteUrl.length):e;return n.startsWith("/")||(n="/"+n),this._shouldAddTrailingSlash(n)?n+"/":n}},{key:"_shouldAddTrailingSlash",value:function(e){return this.config.usesTrailingSlash&&!e.endsWith("/")&&!this.regex.fileExt.test(e)}},{key:"_isLinkOk",value:function(e){return null!==e&&"object"===(void 0===e?"undefined":r(e))&&(!this.prefetched.has(e.href)&&e.origin===this.config.siteUrl&&-1===e.href.indexOf("?")&&-1===e.href.indexOf("#")&&!this.regex.excludeUris.test(e.href)&&!this.regex.images.test(e.href))}}],[{key:"run",value:function(){"undefined"!=typeof RocketPreloadLinksConfig&&new n(new RocketBrowserCompatibilityChecker({capture:!0,passive:!0}),RocketPreloadLinksConfig).init()}}]),n}();t.run(); 1481}()); 1482 1483//# sourceURL=rocket-preload-links-js-after 1484</script>
vendor: 1 bytes, line 1484
1484
1485<script id="mailchimp-woocommerce-js-extra"> 1486var mailchimp_public_data = {"site_url":"https://evilhat.com","ajax_url":"https://evilhat.com/wp-admin/admin-ajax.php","disable_carts":"","subscribers_only":"","language":"en","allowed_to_set_cookies":"1","sms_allowed_countries":["AU","AT","CA","FR","DE","IE","IT","ES","CH","NL","US","GB","AL","BE","HR","DK","EE","FO","FI","GI","GR","GG","IS","IM","JE","LV","LT","LU","MT","MD","NO","PL","PT","SM","SK","SI","SE"]}; 1487//# sourceURL=mailchimp-woocommerce-js-extra 1488</script>
vendor: 1 bytes, line 1488
1488
1489<script id="mailchimp-woocommerce-js" src="https://evilhat.com/wp-content/plugins/mailchimp-for-woocommerce/public/js/mailchimp-woocommerce-public.min.js?ver=6.2"></script>
vendor: 1 bytes, line 1489
1489
1490<script id="mailchimp-woocommerce-pixel-tracking-js-extra"> 1491var mcPixelConfig = {"restBase":"https://evilhat.com/wp-json/mailchimp-for-woocommerce/v1/"}; 1492//# sourceURL=mailchimp-woocommerce-pixel-tracking-js-extra 1493</script>
vendor: 1 bytes, line 1493
1493
1494<script id="mailchimp-woocommerce-pixel-tracking-js" src="https://evilhat.com/wp-content/plugins/mailchimp-for-woocommerce/public/js/mailchimp-woocommerce-pixel-tracking.js?ver=1.0.0"></script>
vendor: 1 bytes, line 1494
1494
1495<script id="wp-polyfill-js" src="https://evilhat.com/wp-includes/js/dist/vendor/wp-polyfill.min.js?ver=3.15.0"></script>
vendor: 1 bytes, line 1495
1495
1496<script id="mailchimp-woocommerce-pixel-tracking-blocks-js" src="https://evilhat.com/wp-content/plugins/mailchimp-for-woocommerce/blocks/build/pixel-tracking.js?ver=e1e1f7312242942b6f0e"></script>
vendor: 1 bytes, line 1496
1496
1497<script id=" _evilhat-navigation-js" src="https://evilhat.com/wp-content/themes/_evilhat/js/navigation.js?ver=1.0.0"></script>
vendor: 1 bytes, line 1497
1497
1498<script id="wcev_main-js" src="https://evilhat.com/wp-content/plugins/wc-external-variations/assets/js/wcev_main.js"></script>
vendor: 1 bytes, line 1498
1498
1499<script id="sourcebuster-js-js" src="https://evilhat.com/wp-content/plugins/woocommerce/assets/js/sourcebuster/sourcebuster.min.js?ver=11.1.1"></script>
vendor: 1 bytes, line 1499
1499
1500<script id="wc-order-attribution-js-extra"> 1501var wc_order_attribution = {"params":{"lifetime":1.0e-5,"session":30,"base64":false,"ajaxurl":"https://evilhat.com/wp-admin/admin-ajax.php","prefix":"wc_order_attribution_","allowTracking":true},"fields":{"source_type":"current.typ","referrer":"current_add.rf","utm_campaign":"current.cmp","utm_source":"current.src","utm_medium":"current.mdm","utm_content":"current.cnt","utm_id":"current.id","utm_term":"current.trm","utm_source_platform":"current.plt","utm_creative_format":"current.fmt","utm_marketing_tactic":"current.tct","session_entry":"current_add.ep","session_start_time":"current_add.fd","session_pages":"session.pgs","session_count":"udata.vst","user_agent":"udata.uag"}}; 1502//# sourceURL=wc-order-attribution-js-extra 1503</script>
vendor: 1 bytes, line 1503
1503
1504<script id="wc-order-attribution-js" src="https://evilhat.com/wp-content/plugins/woocommerce/assets/js/frontend/order-attribution.min.js?ver=11.1.1"></script>
vendor: 1 bytes, line 1504
1504
1505<script id="wdt-custom-avada-js-js-extra"> 1506var wdt_ajax_object = {"ajaxurl":"https://evilhat.com/wp-admin/admin-ajax.php"}; 1507//# sourceURL=wdt-custom-avada-js-js-extra 1508</script>
vendor: 1 bytes, line 1508
1508
1509<script id="wdt-custom-avada-js-js" src="https://evilhat.com/wp-content/plugins/wpdatatables/backend/tiers/starter/page-builders/avada/assets/js/wdt-custom-avada-js.js?ver=8.0.2"></script>
vendor: 1 bytes, line 1509
1509
1510<script id="woocommerce-google-analytics-integration-data-js-after"> 1511window.ga4w = { data: {"cart":{"items":[],"coupons":[],"totals":{"currency_code":"USD","total_price":0,"currency_minor_unit":2}},"list_name":"Product List"}, settings: {"tracker_function_name":"gtag","events":["purchase","add_to_cart","remove_from_cart","view_item_list","select_content","view_item","begin_checkout","add_shipping_info","add_payment_info"],"identifier":"product_sku","currency":{"decimalSeparator":".","thousandSeparator":",","precision":2}} }; document.dispatchEvent(new Event("ga4w:ready")); 1512//# sourceURL=woocommerce-google-analytics-integration-data-js-after 1513</script>
vendor: 1 bytes, line 1513
1513
1514<script>window.lazyLoadOptions=[{elements_selector:"img[data-lazy-src],.rocket-lazyload,iframe[data-lazy-src]",data_src:"lazy-src",data_srcset:"lazy-srcset",data_sizes:"lazy-sizes",class_loading:"lazyloading",class_loaded:"lazyloaded",threshold:300,callback_loaded:function(element){if(element.tagName==="IFRAME"&&element.dataset.rocketLazyload=="fitvidscompatible"){if(element.classList.contains("lazyloaded")){if(typeof window.jQuery!="undefined"){if(jQuery.fn.fitVids){jQuery(element).parent().fitVids()}}}}}},{elements_selector:".rocket-lazyload",data_src:"lazy-src",data_srcset:"lazy-srcset",data_sizes:"lazy-sizes",class_loading:"lazyloading",class_loaded:"lazyloaded",threshold:300,}];window.addEventListener('LazyLoad::Initialized',function(e){var lazyLoadInstance=e.detail.instance;if(window.MutationObserver){var observer=new MutationObserver(function(mutations){var image_count=0;var iframe_count=0;var rocketlazy_count=0;mutations.forEach(function(mutation){for(var i=0;i<mutation.addedNodes.length;i++){if(typeof mutation.addedNodes[i].getElementsByTagName!=='function'){continue} 1515if(typeof mutation.addedNodes[i].getElementsByClassName!=='function'){continue} 1516images=mutation.addedNodes[i].getElementsByTagName('img');is_image=mutation.addedNodes[i].tagName=="IMG";iframes=mutation.addedNodes[i].getElementsByTagName('iframe');is_iframe=mutation.addedNodes[i].tagName=="IFRAME";rocket_lazy=mutation.addedNodes[i].getElementsByClassName('rocket-lazyload');image_count+=images.length;iframe_count+=iframes.length;rocketlazy_count+=rocket_lazy.length;if(is_image){image_count+=1} 1517if(is_iframe){iframe_count+=1}}});if(image_count>0||iframe_count>0||rocketlazy_count>0){lazyLoadInstance.update()}});var b=document.getElementsByTagName("body")[0];var config={childList:!0,subtree:!0};observer.observe(b,config)}},!1)</script>
1517<script data-no-minify="1" async src="https://evilhat.com/wp-content/plugins/wp-rocket/assets/js/lazyload/17.8.3/lazyload.min.js"></script>
1517<script>function lazyLoadThumb(e,alt,l){var t='<img data-lazy-src="https://i.ytimg.com/vi/ID/hqdefault.jpg" alt="" width="480" height="360"><noscript><img src="https://i.ytimg.com/vi/ID/hqdefault.jpg" alt="" width="480" height="360"></noscript>',a='<button class="play" aria-label="Play Youtube video"></button>';if(l){t=t.replace('data-lazy-','');t=t.replace('loading="lazy"','');t=t.replace(/<noscript>.*?<\/noscript>/g,'');}t=t.replace('alt=""','alt="'+alt+'"');return t.replace("ID",e)+a}function lazyLoadYoutubeIframe(){var e=document.createElement("iframe"),t="ID?autoplay=1";t+=0===this.parentNode.dataset.query.length?"":"&"+this.parentNode.dataset.query;e.setAttribute("src",t.replace("ID",this.parentNode.dataset.src)),e.setAttribute("frameborder","0"),e.setAttribute("allowfullscreen","1"),e.setAttribute("allow","accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture"),this.parentNode.parentNode.replaceChild(e,this.parentNode)}document.addEventListener("DOMContentLoaded",function(){var exclusions=["wp-block-cover__image-background","wp-image-152271","wp-image-152270","Foreground_1","evilhat-logo"];var e,t,p,u,l,a=document.getElementsByClassName("rll-youtube-player");for(t=0;t<a.length;t++)(e=document.createElement("div")),(u='https://i.ytimg.com/vi/ID/hqdefault.jpg'),(u=u.replace('ID',a[t].dataset.id)),(l=exclusions.some(exclusion=>u.includes(exclusion))),e.setAttribute("data-id",a[t].dataset.id),e.setAttribute("data-query",a[t].dataset.query),e.setAttribute("data-src",a[t].dataset.src),(e.innerHTML=lazyLoadThumb(a[t].dataset.id,a[t].dataset.alt,l)),a[t].appendChild(e),(p=e.querySelector(".play")),(p.onclick=lazyLoadYoutubeIframe)});</script>
vendor: 1 bytes, line 1517
1517
1518<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"42177c6eef6a4f3c86c3ed7a24a8797d","r":1,"spa":2}' crossorigin="anonymous"></script>
1518 1519</body> 1520</html> 1521 1522<!-- This website is like a Rocket, isn't it? Performance optimized by WP Rocket. Learn more: https://wp-rocket.me - Debug: cached@1790234223 -->
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.