1222 lines
347 KiB
HTML
1222 lines
347 KiB
HTML
<!doctype html>
|
||
<html lang="en-US">
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||
<meta name="google-site-verification" content="V8eEvIkb6RQqJca9Wf-o9baurAQMe54VKxd06IeaFeg"/>
|
||
<meta name="slack-app-id" content="A1QME020P">
|
||
<link rel="profile" href="https://gmpg.org/xfn/11">
|
||
<meta name="theme-color" content="#5A1BA9" />
|
||
<meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' />
|
||
|
||
<!-- Google Tag Manager for WordPress by gtm4wp.com -->
|
||
<script data-cfasync="false" data-pagespeed-no-defer>
|
||
var gtm4wp_datalayer_name = "dataLayer";
|
||
var dataLayer = dataLayer || [];
|
||
</script>
|
||
<!-- End Google Tag Manager for WordPress by gtm4wp.com --><link rel="preload" as="image" href="https://www.heroku.com/wp-content/uploads/2025/03/hero-art.svg">
|
||
<!-- This site is optimized with the Yoast SEO Premium plugin v27.7 (Yoast SEO v28.3) - https://yoast.com/product/yoast-seo-premium-wordpress/ -->
|
||
<title>Puma 4: Hammering Out H13s—A Debugging Story | Heroku</title>
|
||
<meta name="description" content="Distributed systems debugging can be tricky. Following along as Heroku Engineer, Richard Schneeman, debugs network connection issues." />
|
||
<link rel="canonical" href="https://www.heroku.com/blog/puma-4-hammering-out-h13s-a-debugging-story/" />
|
||
<meta property="og:locale" content="en_US" />
|
||
<meta property="og:type" content="article" />
|
||
<meta property="og:title" content="Puma 4: Hammering Out H13s—A Debugging Story" />
|
||
<meta property="og:description" content="Distributed systems debugging can be tricky. Following along as Heroku Engineer, Richard Schneeman, debugs network connection issues." />
|
||
<meta property="og:url" content="https://www.heroku.com/blog/puma-4-hammering-out-h13s-a-debugging-story/" />
|
||
<meta property="og:site_name" content="Heroku" />
|
||
<meta property="article:published_time" content="2019-07-12T17:53:00+00:00" />
|
||
<meta property="article:modified_time" content="2025-11-10T20:11:40+00:00" />
|
||
<meta property="og:image" content="https://www.heroku.com/wp-content/uploads/2025/03/1562883126-Screenshot-2019-06-23-15.04.50.png" />
|
||
<meta name="author" content="Richard Schneeman" />
|
||
<meta name="twitter:card" content="summary_large_image" />
|
||
<meta name="twitter:creator" content="@schneems" />
|
||
<meta name="twitter:site" content="@heroku" />
|
||
<meta name="twitter:label1" content="Written by" />
|
||
<meta name="twitter:data1" content="Richard Schneeman" />
|
||
<meta name="twitter:label2" content="Est. reading time" />
|
||
<meta name="twitter:data2" content="9 minutes" />
|
||
<!-- / Yoast SEO Premium plugin. -->
|
||
|
||
|
||
<link rel='dns-prefetch' href='//cdn.parsely.com' />
|
||
<link rel='dns-prefetch' href='//cdnjs.cloudflare.com' />
|
||
<link rel='dns-prefetch' href='//www.google.com' />
|
||
<link rel="alternate" type="application/rss+xml" title="Heroku » Feed" href="https://www.heroku.com/feed/" />
|
||
<link rel="preconnect" href="https://www0.assets.heroku.com">
|
||
<link rel="preconnect" href="https://p1.parsely.com">
|
||
<link rel="preconnect" href="https://www.herokucdn.com">
|
||
<style id="wp-img-auto-sizes-contain-inline-css">
|
||
img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px}
|
||
/*# sourceURL=wp-img-auto-sizes-contain-inline-css */
|
||
</style>
|
||
<style id="co-authors-plus-coauthors-style-inline-css">
|
||
.wp-block-co-authors-plus-coauthors.is-layout-flow [class*=wp-block-co-authors-plus]{display:inline}
|
||
|
||
/*# sourceURL=https://www.heroku.com/wp-content/plugins/co-authors-plus/build/blocks/block-coauthors/style-index.css */
|
||
</style>
|
||
<style id="co-authors-plus-avatar-style-inline-css">
|
||
.wp-block-co-authors-plus-avatar :where(img){height:auto;max-width:100%;vertical-align:bottom}.wp-block-co-authors-plus-coauthors.is-layout-flow .wp-block-co-authors-plus-avatar :where(img){vertical-align:middle}.wp-block-co-authors-plus-avatar:is(.alignleft,.alignright){display:table}.wp-block-co-authors-plus-avatar.aligncenter{display:table;margin-inline:auto}
|
||
|
||
/*# sourceURL=https://www.heroku.com/wp-content/plugins/co-authors-plus/build/blocks/block-coauthor-avatar/style-index.css */
|
||
</style>
|
||
<style id="co-authors-plus-image-style-inline-css">
|
||
.wp-block-co-authors-plus-image{margin-bottom:0}.wp-block-co-authors-plus-image :where(img){height:auto;max-width:100%;vertical-align:bottom}.wp-block-co-authors-plus-coauthors.is-layout-flow .wp-block-co-authors-plus-image :where(img){vertical-align:middle}.wp-block-co-authors-plus-image:is(.alignfull,.alignwide) :where(img){width:100%}.wp-block-co-authors-plus-image:is(.alignleft,.alignright){display:table}.wp-block-co-authors-plus-image.aligncenter{display:table;margin-inline:auto}
|
||
|
||
/*# sourceURL=https://www.heroku.com/wp-content/plugins/co-authors-plus/build/blocks/block-coauthor-image/style-index.css */
|
||
</style>
|
||
<style id="safe-svg-svg-icon-style-inline-css">
|
||
.safe-svg-cover{text-align:center}.safe-svg-cover .safe-svg-inside{display:inline-block;max-width:100%}.safe-svg-cover svg{fill:currentColor;height:100%;max-height:100%;max-width:100%;width:100%}
|
||
|
||
/*# sourceURL=https://www.heroku.com/wp-content/plugins/safe-svg/dist/safe-svg-block-frontend.css */
|
||
</style>
|
||
<style id="wp-parsely-recommendations-style-inline-css">
|
||
.parsely-recommendations-list-title{font-size:1.2em}.parsely-recommendations-list{list-style:none;padding:unset}.parsely-recommendations-cardbody{overflow:hidden;padding:.8em;text-overflow:ellipsis;white-space:nowrap}.parsely-recommendations-cardmedia{padding:.8em .8em 0}
|
||
|
||
/*# sourceURL=https://www.heroku.com/wp-content/mu-plugins/wp-parsely-3.24/build/blocks/recommendations/style-edit.css */
|
||
</style>
|
||
<style id="jetpack-search-active-filters-style-inline-css">
|
||
.wp-block-jetpack-search-active-filters{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.wp-block-jetpack-search-active-filters[hidden]{display:none}.wp-block-jetpack-search-active-filters .jetpack-search-active-filters__heading{color:inherit;font-size:.8rem;font-weight:600;opacity:.8}.wp-block-jetpack-search-active-filters .jetpack-search-active-filters__pills{display:flex;flex-wrap:wrap;gap:.25rem;list-style:none;margin:0;padding:0}.wp-block-jetpack-search-active-filters .jetpack-search-active-filters__pill{align-items:center;background:#0000;border:1px solid;border-radius:12px;color:inherit;cursor:pointer;display:inline-flex;font:inherit;font-size:.8rem;gap:.25rem;letter-spacing:normal;line-height:1.2;padding:.2rem .6rem;text-transform:none;transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease}@supports(border-color:color-mix(in sRGB,black 50%,white)){.wp-block-jetpack-search-active-filters .jetpack-search-active-filters__pill{background:color-mix(in sRGB,currentColor 14%,#0000);border-color:color-mix(in sRGB,currentColor 38%,#0000)}}.wp-block-jetpack-search-active-filters :is(.jetpack-search-active-filters__pill:focus-visible,.jetpack-search-active-filters__pill:hover){background:#0000;border-color:currentColor}@supports(background:color-mix(in sRGB,black 50%,white)){.wp-block-jetpack-search-active-filters :is(.jetpack-search-active-filters__pill:focus-visible,.jetpack-search-active-filters__pill:hover){background:color-mix(in sRGB,currentColor 24%,#0000);border-color:color-mix(in sRGB,currentColor 52%,#0000)}}.wp-block-jetpack-search-active-filters .jetpack-search-active-filters__pill:focus-visible{box-shadow:0 0 0 2px currentColor;outline:none}@supports(box-shadow:0 0 0 2px color-mix(in sRGB,black 50%,white)){.wp-block-jetpack-search-active-filters .jetpack-search-active-filters__pill:focus-visible{box-shadow:0 0 0 2px color-mix(in sRGB,currentColor 28%,#0000)}}.wp-block-jetpack-search-active-filters .jetpack-search-active-filters__pill-remove{font-weight:700;line-height:1}
|
||
/*# sourceURL=https://www.heroku.com/wp-content/mu-plugins/jetpack-16.1/jetpack_vendor/automattic/jetpack-search/build/search-blocks/active-filters.css */
|
||
</style>
|
||
<style id="jetpack-search-ai-answer-style-inline-css">
|
||
.wp-block-jetpack-search-ai-answer{border-inline-start:3px solid color-mix(in sRGB,currentColor 30%,#0000);margin-block:0 var(--wp--preset--spacing--40,1.5rem);padding-block:var(--wp--preset--spacing--30,.75rem);padding-inline-start:var(--wp--preset--spacing--30,1rem)}.wp-block-jetpack-search-ai-answer[hidden]{display:none}.jp-search-answers-panel__heading{font-size:.75em;font-weight:600;letter-spacing:.06em;margin:0 0 .5em;opacity:.7;text-transform:uppercase}.jp-search-answers-panel__loading,.jp-search-answers-panel__loading-hint{align-items:center;color:inherit;display:flex;font-size:.75em;gap:.5em;margin:.5em 0 0;opacity:.7}.jp-search-answers-panel__loading-hint[hidden],.jp-search-answers-panel__loading[hidden]{display:none}.jp-search-answers-panel__loading-hint{font-style:italic}.jp-search-answers-panel__error{margin:0}.jp-search-answers-panel__error-message{margin:0 0 .25em}.jp-search-answers-panel__error-detail{font-size:.875em;margin:0;opacity:.7}.jp-search-answers-panel__content{margin:0}.jp-search-answers-panel__text{font-size:.875em;line-height:1.6}.jp-search-answers-panel__text :is(h2,h3,h4){font-size:1em;font-weight:700;margin:.8em 0 .3em}.jp-search-answers-panel__text p{margin:0 0 .6em}.jp-search-answers-panel__text ul{list-style:disc;margin:0 0 .6em 1.2em;padding:0}.jp-search-answers-panel__text li{margin-bottom:.2em}.jp-search-answers-panel__text strong{font-weight:700}.jp-search-answers-panel__text em{font-style:italic}.jp-search-answers-panel__toggle{align-items:center;background:none;border:0;color:inherit;cursor:pointer;display:inline-flex;font:inherit;font-size:.75em;gap:.4em;margin-top:.5em;padding:0;text-decoration:underline}.jp-search-answers-panel__toggle[hidden]{display:none}.jp-search-answers-panel__toggle:hover{opacity:.7}.jp-search-answers-panel__toggle-icon{border-bottom:1.5px solid;border-right:1.5px solid;display:inline-block;height:.4em;transform:rotate(45deg);width:.4em}.jp-search-answers-panel__citations{display:flex;flex-wrap:wrap;font-size:.75em;gap:.5em 1em;list-style:none;margin:.75em 0 0;padding:0}.jp-search-answers-panel__citations[hidden]{display:none}.jp-search-answers-panel__citations li{margin:0}.jp-search-answers-panel__citations a{align-items:center;display:inline-flex;gap:.25em}.jp-search-answers-panel__citation-icon{flex-shrink:0}@keyframes jp-search-animated-ellipsis-bounce{0%,80%,to{opacity:.2}40%{opacity:1}}.jp-search-animated-ellipsis{display:inline-flex;gap:2px}.jp-search-animated-ellipsis span{animation:jp-search-animated-ellipsis-bounce 1.4s infinite both;background:currentColor;border-radius:50%;display:inline-block;height:3px;width:3px}.jp-search-animated-ellipsis span:nth-child(2){animation-delay:.16s}.jp-search-animated-ellipsis span:nth-child(3){animation-delay:.32s}
|
||
/*# sourceURL=https://www.heroku.com/wp-content/mu-plugins/jetpack-16.1/jetpack_vendor/automattic/jetpack-search/build/search-blocks/ai-answer.css */
|
||
</style>
|
||
<style id="jetpack-search-clear-filters-style-inline-css">
|
||
.jetpack-search-clear-filters[hidden]{display:none}.jetpack-search-clear-filters__button{cursor:pointer}.jetpack-search-clear-filters.is-style-compact .jetpack-search-clear-filters__button{font-size:.8125rem;line-height:1.5;min-width:0;padding:.25em .75em;width:auto}
|
||
/*# sourceURL=https://www.heroku.com/wp-content/mu-plugins/jetpack-16.1/jetpack_vendor/automattic/jetpack-search/build/search-blocks/clear-filters.css */
|
||
</style>
|
||
<style id="jetpack-search-filter-checkbox-style-inline-css">
|
||
.wp-block-jetpack-search-filter-checkbox[hidden]{display:none}@keyframes jetpack-search-skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.wp-block-jetpack-search-filter-checkbox .jetpack-search-skeleton{animation:jetpack-search-skeleton-shimmer 1.5s linear infinite;background:color-mix(in sRGB,currentColor 8%,#0000) linear-gradient(90deg,#0000,color-mix(in sRGB,currentColor 6%,#0000) 50%,#0000) repeat;background-size:200% 100%;border-radius:4px;display:block}@media(prefers-reduced-motion:reduce){.wp-block-jetpack-search-filter-checkbox .jetpack-search-skeleton{animation:none}}.wp-block-jetpack-search-filter-checkbox .jetpack-search-skeleton--filter-row{height:1rem;width:80%}.wp-block-jetpack-search-filter-checkbox .jetpack-search-filter__list--skeleton{list-style:none;margin:0;padding:0}.wp-block-jetpack-search-filter-checkbox .jetpack-search-filter__list--skeleton[hidden]{display:none}.wp-block-jetpack-search-filter-checkbox .jetpack-search-filter__item--skeleton{padding:.25rem 0}.wp-block-jetpack-search-filter-checkbox .jetpack-search-filter__title{color:inherit;font-size:.85rem;font-weight:700;letter-spacing:.05em;margin:0 0 .5rem;text-transform:uppercase}.wp-block-jetpack-search-filter-checkbox .jetpack-search-filter__list{list-style:none;margin:0;padding:0}.wp-block-jetpack-search-filter-checkbox .jetpack-search-filter__item{padding:.25rem 0}.wp-block-jetpack-search-filter-checkbox .jetpack-search-filter__item label{align-items:center;cursor:pointer;display:flex;gap:.5rem}.wp-block-jetpack-search-filter-checkbox .jetpack-search-filter__label{flex:1}.wp-block-jetpack-search-filter-checkbox .jetpack-search-filter__count{background:color-mix(in sRGB,currentColor 12%,#0000);border-radius:10px;color:inherit;font-size:.8rem;padding:0 .4rem}.wp-block-jetpack-search-filter-checkbox .jetpack-search-filter__count[hidden]{display:none}.wp-block-jetpack-search-filter-checkbox[data-display-style=chips] .jetpack-search-filter__list{display:flex;flex-wrap:wrap;gap:.5rem}.wp-block-jetpack-search-filter-checkbox[data-display-style=chips] .jetpack-search-filter__item{padding:0}.wp-block-jetpack-search-filter-checkbox[data-display-style=chips] .jetpack-search-filter__item label{align-items:center;border:1px solid;border-radius:9999px;cursor:pointer;display:inline-flex;gap:.35rem;padding:.35rem .7rem;position:relative;transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease}@supports(border-color:color-mix(in sRGB,black 50%,white)){.wp-block-jetpack-search-filter-checkbox[data-display-style=chips] .jetpack-search-filter__item label{border-color:color-mix(in sRGB,currentColor 24%,#0000)}}.wp-block-jetpack-search-filter-checkbox[data-display-style=chips] .jetpack-search-filter__item label:hover{background:#0000;border-color:currentColor}@supports(background:color-mix(in sRGB,black 50%,white)){.wp-block-jetpack-search-filter-checkbox[data-display-style=chips] .jetpack-search-filter__item label:hover{background:color-mix(in sRGB,currentColor 8%,#0000);border-color:color-mix(in sRGB,currentColor 32%,#0000)}}.wp-block-jetpack-search-filter-checkbox[data-display-style=chips] .jetpack-search-filter__item label:focus-within{box-shadow:0 0 0 2px currentColor}@supports(box-shadow:0 0 0 2px color-mix(in sRGB,black 50%,white)){.wp-block-jetpack-search-filter-checkbox[data-display-style=chips] .jetpack-search-filter__item label:focus-within{box-shadow:0 0 0 2px color-mix(in sRGB,currentColor 28%,#0000)}}.wp-block-jetpack-search-filter-checkbox[data-display-style=chips] .jetpack-search-filter__item label:has(input:checked){background:#0000;border-color:currentColor}@supports(background:color-mix(in sRGB,black 50%,white)){.wp-block-jetpack-search-filter-checkbox[data-display-style=chips] .jetpack-search-filter__item label:has(input:checked){background:color-mix(in sRGB,currentColor 14%,#0000);border-color:color-mix(in sRGB,currentColor 38%,#0000)}}.wp-block-jetpack-search-filter-checkbox[data-display-style=chips] .jetpack-search-filter__item input[type=checkbox]{block-size:1px;border:0;clip-path:inset(50%);inline-size:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.wp-block-jetpack-search-filter-checkbox[data-display-style=chips] .jetpack-search-filter__label{flex:0 1 auto}.wp-block-jetpack-search-filter-checkbox[data-display-style=chips] .jetpack-search-filter__count{font-size:.72rem;line-height:1.2;padding:.1rem .4rem}
|
||
/*# sourceURL=https://www.heroku.com/wp-content/mu-plugins/jetpack-16.1/jetpack_vendor/automattic/jetpack-search/build/search-blocks/filter-checkbox.css */
|
||
</style>
|
||
<style id="jetpack-search-filter-date-style-inline-css">
|
||
.wp-block-jetpack-search-filter-date[hidden]{display:none}@keyframes jetpack-search-skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.wp-block-jetpack-search-filter-date .jetpack-search-skeleton{animation:jetpack-search-skeleton-shimmer 1.5s linear infinite;background:color-mix(in sRGB,currentColor 8%,#0000) linear-gradient(90deg,#0000,color-mix(in sRGB,currentColor 6%,#0000) 50%,#0000) repeat;background-size:200% 100%;border-radius:4px;display:block}@media(prefers-reduced-motion:reduce){.wp-block-jetpack-search-filter-date .jetpack-search-skeleton{animation:none}}.wp-block-jetpack-search-filter-date .jetpack-search-skeleton--filter-row{height:1rem;width:80%}.wp-block-jetpack-search-filter-date .jetpack-search-filter__list--skeleton{list-style:none;margin:0;padding:0}.wp-block-jetpack-search-filter-date .jetpack-search-filter__list--skeleton[hidden]{display:none}.wp-block-jetpack-search-filter-date .jetpack-search-filter__item--skeleton{padding:.25rem 0}.wp-block-jetpack-search-filter-date .jetpack-search-filter__title{color:inherit;font-size:.85rem;font-weight:700;letter-spacing:.05em;margin:0 0 .5rem;text-transform:uppercase}.wp-block-jetpack-search-filter-date .jetpack-search-filter__list{list-style:none;margin:0;padding:0}.wp-block-jetpack-search-filter-date .jetpack-search-filter__item{padding:.25rem 0}.wp-block-jetpack-search-filter-date .jetpack-search-filter__item label{align-items:center;cursor:pointer;display:flex;gap:.5rem}.wp-block-jetpack-search-filter-date .jetpack-search-filter__label{flex:1}.wp-block-jetpack-search-filter-date .jetpack-search-filter__count{background:color-mix(in sRGB,currentColor 12%,#0000);border-radius:10px;color:inherit;font-size:.8rem;padding:0 .4rem}.wp-block-jetpack-search-filter-date .jetpack-search-filter__count[hidden]{display:none}.wp-block-jetpack-search-filter-date[data-display-style=chips] .jetpack-search-filter__list{display:flex;flex-wrap:wrap;gap:.5rem}.wp-block-jetpack-search-filter-date[data-display-style=chips] .jetpack-search-filter__item{padding:0}.wp-block-jetpack-search-filter-date[data-display-style=chips] .jetpack-search-filter__item label{align-items:center;border:1px solid;border-radius:9999px;cursor:pointer;display:inline-flex;gap:.35rem;padding:.35rem .7rem;position:relative;transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease}@supports(border-color:color-mix(in sRGB,black 50%,white)){.wp-block-jetpack-search-filter-date[data-display-style=chips] .jetpack-search-filter__item label{border-color:color-mix(in sRGB,currentColor 24%,#0000)}}.wp-block-jetpack-search-filter-date[data-display-style=chips] .jetpack-search-filter__item label:hover{background:#0000;border-color:currentColor}@supports(background:color-mix(in sRGB,black 50%,white)){.wp-block-jetpack-search-filter-date[data-display-style=chips] .jetpack-search-filter__item label:hover{background:color-mix(in sRGB,currentColor 8%,#0000);border-color:color-mix(in sRGB,currentColor 32%,#0000)}}.wp-block-jetpack-search-filter-date[data-display-style=chips] .jetpack-search-filter__item label:focus-within{box-shadow:0 0 0 2px currentColor}@supports(box-shadow:0 0 0 2px color-mix(in sRGB,black 50%,white)){.wp-block-jetpack-search-filter-date[data-display-style=chips] .jetpack-search-filter__item label:focus-within{box-shadow:0 0 0 2px color-mix(in sRGB,currentColor 28%,#0000)}}.wp-block-jetpack-search-filter-date[data-display-style=chips] .jetpack-search-filter__item label:has(input:checked){background:#0000;border-color:currentColor}@supports(background:color-mix(in sRGB,black 50%,white)){.wp-block-jetpack-search-filter-date[data-display-style=chips] .jetpack-search-filter__item label:has(input:checked){background:color-mix(in sRGB,currentColor 14%,#0000);border-color:color-mix(in sRGB,currentColor 38%,#0000)}}.wp-block-jetpack-search-filter-date[data-display-style=chips] .jetpack-search-filter__item input[type=checkbox]{block-size:1px;border:0;clip-path:inset(50%);inline-size:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.wp-block-jetpack-search-filter-date[data-display-style=chips] .jetpack-search-filter__label{flex:0 1 auto}.wp-block-jetpack-search-filter-date[data-display-style=chips] .jetpack-search-filter__count{font-size:.72rem;line-height:1.2;padding:.1rem .4rem}
|
||
/*# sourceURL=https://www.heroku.com/wp-content/mu-plugins/jetpack-16.1/jetpack_vendor/automattic/jetpack-search/build/search-blocks/filter-date.css */
|
||
</style>
|
||
<style id="jetpack-search-filters-style-inline-css">
|
||
.jetpack-search-filters{display:flex;flex-direction:column;gap:var(--wp--style--block-gap,1rem)}.jetpack-search-filters__editor-canvas{border:1px dashed color-mix(in srgb,currentcolor 40%,#0000);border-radius:2px;padding:.5rem}.jetpack-search-filters__editor-label{display:block;font-size:.6875rem;font-weight:600;letter-spacing:.04em;margin-bottom:.5rem;opacity:.6;text-transform:uppercase}.jetpack-search-filters__empty{font-size:.875rem;line-height:1.5;margin:0;opacity:.6}.jetpack-search-filters__empty[hidden]{display:none}
|
||
/*# sourceURL=https://www.heroku.com/wp-content/mu-plugins/jetpack-16.1/jetpack_vendor/automattic/jetpack-search/build/search-blocks/filters.css */
|
||
</style>
|
||
<style id="jetpack-search-filters-popover-style-inline-css">
|
||
.jetpack-search-filters-popover{display:inline-block;position:relative}.jetpack-search-filters-popover__trigger{align-items:center;background:#0000;border:1px solid color-mix(in srgb,currentcolor 20%,#0000);border-radius:4px;color:inherit;cursor:pointer;display:inline-flex;gap:4px;height:2rem;justify-content:center;padding:0;position:relative;width:2rem}.jetpack-search-filters-popover__trigger:hover:not(:disabled),.jetpack-search-filters-popover__trigger[aria-expanded=true]{background:color-mix(in sRGB,currentColor 6%,#0000)}.jetpack-search-filters-popover__trigger:disabled{cursor:not-allowed;opacity:.4}.jetpack-search-filters-popover__badge{background:color-mix(in sRGB,currentColor 85%,#0000);border-radius:8px;box-sizing:border-box;font-size:11px;height:16px;inset-block-start:0;inset-inline-end:0;line-height:16px;min-width:16px;padding:0 4px;position:absolute;text-align:center;transform:translate(50%,-50%)}.jetpack-search-filters-popover__badge[hidden]{display:none}:dir(rtl) .jetpack-search-filters-popover__badge{transform:translate(-50%,-50%)}.jetpack-search-filters-popover__badge-count{color:var(--jp-search-page-surface,var(--wp--preset--color--background,#fff))}.jetpack-search-filters-popover .jetpack-search-filters-popover__panel{background-color:var(--jp-search-page-surface,var(--wp--preset--color--base,var(--wp--preset--color--background,#fff)));border:1px solid color-mix(in srgb,currentcolor 15%,#0000);border-radius:4px;box-shadow:0 4px 16px color-mix(in sRGB,currentColor 12%,#0000);color:var(--jp-search-page-ink,var(--wp--preset--color--contrast,var(--wp--preset--color--foreground,inherit)));display:none;flex-direction:column;font-size:1rem;gap:1rem;inset-block-start:calc(100% + 4px);inset-inline-end:0;max-width:min(360px,90vw);min-width:260px;padding:12px;position:absolute;z-index:20}.jetpack-search-filters-popover.is-popover-open .jetpack-search-filters-popover__panel{display:flex}.jetpack-search-filters-popover.is-editor-preview.is-popover-open .jetpack-search-filters-popover__panel{background:#0000;border:none;border-radius:0;box-shadow:none;color:inherit;display:flex;max-width:none;min-width:0;padding:0;position:static;z-index:auto}
|
||
/*# sourceURL=https://www.heroku.com/wp-content/mu-plugins/jetpack-16.1/jetpack_vendor/automattic/jetpack-search/build/search-blocks/filters-popover.css */
|
||
</style>
|
||
<style id="jetpack-search-powered-by-style-inline-css">
|
||
.wp-block-jetpack-search-powered-by{margin-block:var(--wp--style--block-gap,1.5em);text-align:center}.jetpack-search-powered-by__link{align-items:center;color:inherit;display:inline-flex;font-size:var(--wp--preset--font-size--small,.7em);gap:.5em;line-height:1;text-decoration:none}.jetpack-search-powered-by__logo{display:inline-flex;flex:0 0 auto;height:1em;width:1em}.jetpack-search-powered-by__logo svg{display:block;height:100%;width:100%}.jetpack-search-powered-by__text{font-weight:500}
|
||
/*# sourceURL=https://www.heroku.com/wp-content/mu-plugins/jetpack-16.1/jetpack_vendor/automattic/jetpack-search/build/search-blocks/powered-by.css */
|
||
</style>
|
||
<style id="jetpack-search-results-count-style-inline-css">
|
||
.wp-block-jetpack-search-results-count{color:inherit;font-size:.85rem;margin:0;opacity:.7}
|
||
/*# sourceURL=https://www.heroku.com/wp-content/mu-plugins/jetpack-16.1/jetpack_vendor/automattic/jetpack-search/build/search-blocks/results-count.css */
|
||
</style>
|
||
<style id="jetpack-search-results-list-style-inline-css">
|
||
@keyframes jetpack-search-skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.wp-block-jetpack-search-results-list .jetpack-search-skeleton{animation:jetpack-search-skeleton-shimmer 1.5s linear infinite;background:color-mix(in sRGB,currentColor 8%,#0000) linear-gradient(90deg,#0000,color-mix(in sRGB,currentColor 6%,#0000) 50%,#0000) repeat;background-size:200% 100%;border-radius:4px;display:block}@media(prefers-reduced-motion:reduce){.wp-block-jetpack-search-results-list .jetpack-search-skeleton{animation:none}}.wp-block-jetpack-search-results-list .jetpack-search-skeleton--title{height:1.5rem;width:65%}.wp-block-jetpack-search-results-list .jetpack-search-skeleton--path{height:.8125rem;margin-top:.5rem;width:40%}.wp-block-jetpack-search-results-list .jetpack-search-skeleton--meta{height:.9rem;margin-top:1rem;width:25%}.wp-block-jetpack-search-results-list .jetpack-search-skeleton--image{aspect-ratio:16/10;flex:0 0 auto;max-width:30%;width:200px}.wp-block-jetpack-search-results-list .jetpack-search-results__item--skeleton[hidden]{display:none}.wp-block-jetpack-search-results-list .jetpack-search-results__list{list-style:none;margin:0;padding:0}.wp-block-jetpack-search-results-list :is(.jetpack-search-results__error,.jetpack-search-results__no-results){align-items:center;display:flex;flex-direction:column;gap:.25rem;justify-content:center;margin:0;min-height:12rem;opacity:.6;padding:2rem 1rem;text-align:center}.wp-block-jetpack-search-results-list :is(.jetpack-search-results__error[hidden],.jetpack-search-results__no-results[hidden]){display:none}.wp-block-jetpack-search-results-list :is(.jetpack-search-results__error,.jetpack-search-results__no-results) p{font-size:.875rem;line-height:1.5;margin:0;max-width:36ch}.wp-block-jetpack-search-results-list :is(.jetpack-search-results__error,.jetpack-search-results__no-results) p[hidden]{display:none}.wp-block-jetpack-search-results-list .jetpack-search-results__item{align-items:flex-start;display:flex;gap:1.5rem;padding:1.5rem 0}.wp-block-jetpack-search-results-list .jetpack-search-results__copy{flex:1 1 auto;min-width:0}.wp-block-jetpack-search-results-list .jetpack-search-results__title{font-size:1.5rem;font-weight:700;line-height:1.25;margin:0 0 .25rem}.wp-block-jetpack-search-results-list .jetpack-search-results__title-link{color:inherit;text-decoration:none}.wp-block-jetpack-search-results-list :is(.jetpack-search-results__title-link:focus-visible,.jetpack-search-results__title-link:hover){text-decoration:underline}.wp-block-jetpack-search-results-list .jetpack-search-results__title-link span[hidden]{display:none}.wp-block-jetpack-search-results-list .jetpack-search-results__highlight{background:var(--jetpack-search-highlight-background,color-mix(in sRGB,currentColor 18%,#0000));font-weight:700}.wp-block-jetpack-search-results-list .jetpack-search-results__path{color:inherit;font-size:.8125rem;line-height:1.4;margin-top:.25rem;opacity:.6}.wp-block-jetpack-search-results-list .jetpack-search-results__path[hidden]{display:none}.wp-block-jetpack-search-results-list .jetpack-search-results__content{color:inherit;display:-webkit-box;font-size:1rem;line-height:1.55;margin-top:.4rem;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}.wp-block-jetpack-search-results-list .jetpack-search-results__content[hidden]{display:none}.wp-block-jetpack-search-results-list .jetpack-search-results__meta{align-items:baseline;color:inherit;display:flex;flex-wrap:wrap;font-size:.9rem;gap:.5rem;margin-top:1rem;opacity:.6}.wp-block-jetpack-search-results-list :is(.jetpack-search-results__author,.jetpack-search-results__date){color:inherit}.wp-block-jetpack-search-results-list .jetpack-search-results__meta-separator[hidden],.wp-block-jetpack-search-results-list :is(.jetpack-search-results__author[hidden],.jetpack-search-results__date[hidden]){display:none}.wp-block-jetpack-search-results-list .jetpack-search-results__image-link{aspect-ratio:16/10;background-color:color-mix(in sRGB,currentColor 8%,#0000);border-radius:4px;display:block;flex:0 0 auto;max-width:30%;overflow:hidden;width:200px}.wp-block-jetpack-search-results-list .jetpack-search-results__image-link[hidden]{display:none}.wp-block-jetpack-search-results-list .jetpack-search-results__image{aspect-ratio:16/10;display:block;height:100%;object-fit:cover;width:100%}.jetpack-search-results--compact .jetpack-search-results__list{display:flex;flex-direction:column;gap:.25rem;list-style:none;margin:0;padding:0}.jetpack-search-results--compact .jetpack-search-results__item{border-color:currentcolor color-mix(in sRGB,currentColor 15%,#0000) color-mix(in sRGB,currentColor 15%,#0000);border-top:1px solid color-mix(in srgb,currentcolor 15%,#0000);padding:.5rem 0}.jetpack-search-results--compact .jetpack-search-results__item:first-child{border-top:none}.jetpack-search-results--compact .jetpack-search-results__copy{align-items:baseline;display:flex;flex-wrap:wrap;gap:.25rem .75rem}.jetpack-search-results--compact .jetpack-search-results__title{font-size:1rem;font-weight:500;margin:0}.jetpack-search-results--compact .jetpack-search-results__meta{font-size:.875em;gap:.75rem;margin-top:0;opacity:.75}.jetpack-search-results--product .jetpack-search-results__list{display:grid;gap:1.5rem;grid-template-columns:repeat(2,minmax(0,1fr));list-style:none;margin:0;padding:0}@media(min-width:600px){.jetpack-search-results--product .jetpack-search-results__list{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:960px){.jetpack-search-results--product .jetpack-search-results__list{grid-template-columns:repeat(4,minmax(0,1fr))}}.jetpack-search-results--product .jetpack-search-results__item{align-items:stretch;display:flex;flex-direction:column;gap:.5rem;padding:0}.jetpack-search-results--product .jetpack-search-results__product-image-link{aspect-ratio:1/1;background-color:color-mix(in sRGB,currentColor 8%,#0000);border-radius:4px;display:block;overflow:hidden;text-decoration:none}.jetpack-search-results--product :is(.jetpack-search-results__product-image,.jetpack-search-results__product-image-placeholder){background-position:50%;background-repeat:no-repeat;background-size:cover;block-size:100%;display:block;inline-size:100%}.jetpack-search-results--product :is(.jetpack-search-results__product-image-placeholder[hidden],.jetpack-search-results__product-image[hidden]){display:none}.jetpack-search-results--product .jetpack-search-results__product-image-placeholder{background-color:currentColor;mask-image:url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.5%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27><rect x=%273%27 y=%273%27 width=%2718%27 height=%2718%27 rx=%272%27/><circle cx=%278.5%27 cy=%278.5%27 r=%271.5%27/><path d=%27m21 15-5-5L5 21%27/></svg>");-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.5%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27><rect x=%273%27 y=%273%27 width=%2718%27 height=%2718%27 rx=%272%27/><circle cx=%278.5%27 cy=%278.5%27 r=%271.5%27/><path d=%27m21 15-5-5L5 21%27/></svg>");mask-position:center;-webkit-mask-position:center;mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;mask-size:40%;-webkit-mask-size:40%;opacity:.3}.jetpack-search-results--product .jetpack-search-results__copy{display:flex;flex-direction:column;gap:.25rem}.jetpack-search-results--product .jetpack-search-skeleton--product-image{aspect-ratio:1/1;width:100%}.jetpack-search-results--product .jetpack-search-skeleton--title{height:1.4rem;width:95%}.jetpack-search-results--product .jetpack-search-skeleton--title-secondary{height:1.4rem;width:60%}.jetpack-search-results--product .jetpack-search-results__title{font-size:1.05rem;font-weight:600;line-height:1.3;margin:0}.jetpack-search-results--product .jetpack-search-results__price{display:flex;flex-wrap:wrap;font-size:1rem;gap:.5rem}.jetpack-search-results--product .jetpack-search-results__price[hidden]{display:none}.jetpack-search-results--product .jetpack-search-results__price .jetpack-search-results__price-regular{opacity:.6;text-decoration:line-through}.jetpack-search-results--product .jetpack-search-results__price .jetpack-search-results__price-regular[hidden]{display:none}.jetpack-search-results--product .jetpack-search-results__price .jetpack-search-results__price-sale{font-weight:700;text-decoration:none}.jetpack-search-results--product .jetpack-search-results__price .jetpack-search-results__price-sale[hidden]{display:none}.jetpack-search-results--product .jetpack-search-results__price .jetpack-search-results__price-current{font-weight:600}.jetpack-search-results--product .jetpack-search-results__price .jetpack-search-results__price-current[hidden]{display:none}.jetpack-search-results--product .jetpack-search-results__rating{align-items:center;display:flex;font-size:.875rem;gap:.5rem}.jetpack-search-results--product .jetpack-search-results__rating[hidden]{display:none}.jetpack-search-results--product .jetpack-search-results__rating-stars{block-size:1em;color:color-mix(in sRGB,currentColor 25%,#0000);display:inline-block;font-size:1em;inline-size:5em;line-height:1;position:relative}.jetpack-search-results--product .jetpack-search-results__rating-stars:before{content:"★★★★★";inset:0;letter-spacing:0;position:absolute}.jetpack-search-results--product .jetpack-search-results__rating-fill{color:var(--jetpack-search-rating-color,#f7b500);inset-block:0;inset-inline-start:0;overflow:hidden;position:absolute;white-space:nowrap}.jetpack-search-results--product .jetpack-search-results__rating-fill:before{content:"★★★★★"}.jetpack-search-results--product .jetpack-search-results__rating-count{opacity:.7}.jetpack-search-results--product .jetpack-search-results__match-hint{font-size:.8rem;opacity:.75}.jetpack-search-results--product .jetpack-search-results__match-hint[hidden]{display:none}.jetpack-search-results--product .jetpack-search-results__match-hint mark{background:none;color:inherit}.jetpack-search-results--product .jetpack-search-results__match-hint span[hidden]{display:none}
|
||
/*# sourceURL=https://www.heroku.com/wp-content/mu-plugins/jetpack-16.1/jetpack_vendor/automattic/jetpack-search/build/search-blocks/results-list.css */
|
||
</style>
|
||
<style id="jetpack-search-results-load-more-style-inline-css">
|
||
.wp-block-jetpack-search-results-load-more{padding-block:var(--wp--style--block-gap,1rem);text-align:center}.wp-block-jetpack-search-results-load-more[hidden]{display:none}.wp-block-jetpack-search-results-load-more .jetpack-search-load-more__button{cursor:pointer}.wp-block-jetpack-search-results-load-more .jetpack-search-load-more__button[hidden]{display:none}.wp-block-jetpack-search-results-load-more .jetpack-search-load-more__button:disabled{cursor:not-allowed;opacity:.5}.wp-block-jetpack-search-results-load-more.is-style-compact .jetpack-search-load-more__button{font-size:.8125rem;line-height:1.5;min-width:0;padding:.25em .75em;width:auto}.wp-block-jetpack-search-results-load-more .jetpack-search-load-more__spinner{color:inherit;display:block;margin-block:var(--wp--style--block-gap,.5rem);margin-inline:auto;opacity:.7}.wp-block-jetpack-search-results-load-more .jetpack-search-load-more__spinner[hidden]{display:none}.wp-block-jetpack-search-results-load-more .jetpack-search-load-more__sentinel{display:block;height:1px;width:100%}
|
||
/*# sourceURL=https://www.heroku.com/wp-content/mu-plugins/jetpack-16.1/jetpack_vendor/automattic/jetpack-search/build/search-blocks/results-load-more.css */
|
||
</style>
|
||
<style id="jetpack-search-results-sort-style-inline-css">
|
||
.wp-block-jetpack-search-results-sort{align-items:center;display:flex;gap:.5rem;margin-inline-start:auto}.wp-block-jetpack-search-results-sort label{color:inherit;font-size:.9rem;opacity:.8}.wp-block-jetpack-search-results-sort select{appearance:auto;border:1px solid color-mix(in srgb,currentcolor 20%,#0000);border-radius:4px;cursor:pointer;padding:.2rem .5rem}.wp-block-jetpack-search-results-sort select,.wp-block-jetpack-search-results-sort select option{background-color:var(--jp-search-page-surface,var(--wp--preset--color--base,var(--wp--preset--color--background,#fff)));color:var(--jp-search-page-ink,var(--wp--preset--color--contrast,var(--wp--preset--color--foreground,inherit)))}.wp-block-jetpack-search-results-sort .jetpack-search-results-sort__radio-group{align-items:center;border:0;display:flex;flex-wrap:wrap;margin:0;padding:0}.wp-block-jetpack-search-results-sort .jetpack-search-results-sort__radio-group legend{border:0;clip-path:inset(50%);height:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.wp-block-jetpack-search-results-sort .jetpack-search-results-sort__radio-item{align-items:center;display:flex;font-size:.9rem;position:relative}.wp-block-jetpack-search-results-sort .jetpack-search-results-sort__radio-item input[type=radio]{appearance:none;border:0;clip-path:inset(50%);height:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.wp-block-jetpack-search-results-sort .jetpack-search-results-sort__radio-item label{cursor:pointer}.wp-block-jetpack-search-results-sort .jetpack-search-results-sort__radio-item input[type=radio]:checked+label{font-weight:600;opacity:1}.wp-block-jetpack-search-results-sort .jetpack-search-results-sort__radio-item input[type=radio]:focus-visible+label{outline:2px solid currentColor;outline-offset:2px}.wp-block-jetpack-search-results-sort .jetpack-search-results-sort__radio-item:not(:last-child):after{content:"•"/"";margin-block:0;margin-inline:.5rem;opacity:.5}.jetpack-search-results-sort--popover{display:inline-block;position:relative}.jetpack-search-results-sort--popover .jetpack-search-results-sort__trigger{align-items:center;background:#0000;border:1px solid color-mix(in srgb,currentcolor 20%,#0000);border-radius:4px;color:inherit;cursor:pointer;display:inline-flex;height:2rem;justify-content:center;padding:0;width:2rem}.jetpack-search-results-sort--popover .jetpack-search-results-sort__trigger:hover:not(:disabled),.jetpack-search-results-sort--popover .jetpack-search-results-sort__trigger[aria-expanded=true]{background:color-mix(in sRGB,currentColor 6%,#0000)}.jetpack-search-results-sort--popover .jetpack-search-results-sort__trigger:disabled{cursor:not-allowed;opacity:.4}.jetpack-search-results-sort--popover .jetpack-search-results-sort__menu{background-color:var(--jp-search-page-surface,var(--wp--preset--color--base,var(--wp--preset--color--background,#fff)));border:1px solid color-mix(in srgb,currentcolor 15%,#0000);border-radius:4px;box-shadow:0 4px 16px color-mix(in sRGB,currentColor 12%,#0000);color:var(--jp-search-page-ink,var(--wp--preset--color--contrast,var(--wp--preset--color--foreground,inherit)));display:flex;flex-direction:column;font-size:1rem;inset-block-start:calc(100% + 4px);inset-inline-end:0;min-width:160px;padding:4px;position:absolute;z-index:20}.jetpack-search-results-sort--popover .jetpack-search-results-sort__menu[hidden]{display:none}.jetpack-search-results-sort--popover .jetpack-search-results-sort__menu-item{appearance:none;background:#0000;border:none;border-radius:2px;color:inherit;cursor:pointer;font:inherit;padding:6px 8px;text-align:start}.jetpack-search-results-sort--popover :is(.jetpack-search-results-sort__menu-item:focus-visible,.jetpack-search-results-sort__menu-item:hover){background:color-mix(in sRGB,currentColor 8%,#0000)}.jetpack-search-results-sort--popover .jetpack-search-results-sort__menu-item[aria-checked=true]:before{content:"✓";margin-inline-end:6px}
|
||
/*# sourceURL=https://www.heroku.com/wp-content/mu-plugins/jetpack-16.1/jetpack_vendor/automattic/jetpack-search/build/search-blocks/results-sort.css */
|
||
</style>
|
||
<style id="jetpack-search-search-input-style-inline-css">
|
||
.jetpack-search-compact-toolbar>.wp-block-jetpack-search-search-input{flex:1 1 0;min-width:0}.wp-block-jetpack-search-search-input .jetpack-search-input__inside-wrapper{align-items:center;border-bottom:1px solid #0000;display:flex;gap:.5rem;padding:.5rem 0;position:relative}@supports(border-color:color-mix(in sRGB,black 50%,white)){.wp-block-jetpack-search-search-input .jetpack-search-input__inside-wrapper{border-bottom-color:color-mix(in sRGB,currentColor 15%,#0000)}}.wp-block-jetpack-search-search-input .jetpack-search-input__icon{fill:currentColor;flex:0 0 auto;height:1.5rem;opacity:.6;width:1.5rem}.wp-block-jetpack-search-search-input .jetpack-search-input__field{background:#0000;border:0;color:inherit;flex:1 1 auto;font-size:1.25rem;line-height:1.4;min-width:0;padding:0}.wp-block-jetpack-search-search-input .jetpack-search-input__field::-webkit-search-cancel-button,.wp-block-jetpack-search-search-input .jetpack-search-input__field::-webkit-search-decoration{appearance:none}.wp-block-jetpack-search-search-input .jetpack-search-input__field::placeholder{color:inherit;opacity:.5}.wp-block-jetpack-search-search-input .jetpack-search-input__field:focus{outline:none}.wp-block-jetpack-search-search-input .jetpack-search-input__clear{background:none;border:0;color:inherit;cursor:pointer;flex:0 0 auto;font-size:1rem;line-height:1;opacity:.6;padding:.25rem .5rem}.wp-block-jetpack-search-search-input .jetpack-search-input__clear[hidden]{display:none}.wp-block-jetpack-search-search-input :is(.jetpack-search-input__clear:focus-visible,.jetpack-search-input__clear:hover){opacity:1}.wp-block-jetpack-search-search-input .jetpack-search-input__suggestions{background-color:var(--jp-search-page-surface,var(--wp--preset--color--base,var(--wp--preset--color--background,#fff)));border:1px solid color-mix(in srgb,currentcolor 15%,#0000);border-radius:4px;box-shadow:0 4px 16px color-mix(in sRGB,currentColor 12%,#0000);color:var(--jp-search-page-ink,var(--wp--preset--color--contrast,var(--wp--preset--color--foreground,inherit)));font-size:1rem;left:0;list-style:none;margin:0;max-height:60vh;overflow-y:auto;overscroll-behavior:contain;padding:4px 0;position:absolute;right:0;top:calc(100% + 4px);z-index:20}.wp-block-jetpack-search-search-input .jetpack-search-input__suggestions[hidden]{display:none}@media(max-width:480px){.wp-block-jetpack-search-search-input .jetpack-search-input__suggestions{max-height:50vh}}.wp-block-jetpack-search-search-input .jetpack-search-input__suggestions-label{color:color-mix(in sRGB,currentColor 55%,#0000);font-size:.75rem;font-weight:600;letter-spacing:.06em;padding:8px 12px 4px;text-transform:uppercase}.wp-block-jetpack-search-search-input .jetpack-search-input__suggestions-option{border-radius:2px;color:inherit;cursor:pointer;font:inherit;line-height:1.4;padding:8px 12px}@media(max-width:480px){.wp-block-jetpack-search-search-input .jetpack-search-input__suggestions-option{padding:12px}}.wp-block-jetpack-search-search-input .jetpack-search-input__suggestions-option:hover{background:color-mix(in sRGB,currentColor 8%,#0000)}.wp-block-jetpack-search-search-input .jetpack-search-input__suggestions-option.is-active{background:color-mix(in sRGB,currentColor 14%,#0000)}
|
||
/*# sourceURL=https://www.heroku.com/wp-content/mu-plugins/jetpack-16.1/jetpack_vendor/automattic/jetpack-search/build/search-blocks/search-input.css */
|
||
</style>
|
||
<style id="jetpack-search-search-results-style-inline-css">
|
||
.jetpack-search-search-results{display:flex;flex-direction:column;gap:var(--wp--style--block-gap,1.5rem)}
|
||
/*# sourceURL=https://www.heroku.com/wp-content/mu-plugins/jetpack-16.1/jetpack_vendor/automattic/jetpack-search/build/search-blocks/search-results.css */
|
||
</style>
|
||
<link rel='stylesheet' id='all-css-42' href='https://www.heroku.com/_static/??-eJyljtEKgzAMRX9oXRiM6svYt9Q2aiFtShMZ/v3KRBTGnvaYcDjnwqsYz1kxKxRappgF2ithiM6MTAErOBFUAS8CIUoht5rJEWFdIbkpxzF6U7gs5dqQC5yMOmNCgRmJ2CC1IytXEF0Jv+A9f3Cn8Fg/VLimmH9luA5Rt+WHo6LwUj1umradF/1TMjjBXfFMj1vXd9bau+3fLQJ90g==' type='text/css' media='all' />
|
||
<style id="elementor-frontend-inline-css">
|
||
.elementor-kit-6{--e-global-color-primary:#5A1BA9;--e-global-color-secondary:#333D47;--e-global-color-text:#333D47;--e-global-color-accent:#0490DC;--e-global-color-d947ae6:#FFFFFF;--e-global-color-41f33e2:#F9F9FB;--e-global-color-35983d5:#EEF1F6;--e-global-color-d488854:#D7BFF2;--e-global-color-697d8ed:#5A1BA9;--e-global-color-b11b5a5:#EAE9F1;--e-global-color-6afeba7:#300B60;--e-global-color-c427ccf:#5A1BA9;--e-global-typography-primary-font-family:"BentonSans";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"BentonSans";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"BentonSans";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"BentonSans";--e-global-typography-accent-font-weight:500;color:var( --e-global-color-text );font-family:"BentonSans", Arial, Helvetica, sans-serif;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1500px;}.e-con{--container-max-width:1500px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:30px;}.elementor-element{--widgets-spacing:30px 30px;--widgets-spacing-row:30px;--widgets-spacing-column:30px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
|
||
/* Start Custom Fonts CSS */@font-face {
|
||
font-family: 'BentonSans';
|
||
font-style: normal;
|
||
font-weight: 300;
|
||
font-display: swap;
|
||
src: url('https://www.heroku.com/wp-content/uploads/2025/01/bentonsans-book-4e191d7217a753da16ff44f89fdbf2b73d01cd150e824c152ba08a61e8db07ec.woff2') format('woff2'),
|
||
url('https://www.heroku.com/wp-content/uploads/2025/01/bentonsans-book-048416fe9c54f2f3523a23f30c6bedd1a961aa6e0c9ad169b7fd429811bf9dce.woff') format('woff');
|
||
}
|
||
@font-face {
|
||
font-family: 'BentonSans';
|
||
font-style: normal;
|
||
font-weight: 700;
|
||
font-display: swap;
|
||
src: url('https://www.heroku.com/wp-content/uploads/2025/01/bentonsans-medium-707aee2a59a7364edde03afc7a5c1dab53cda95864b5a283795369fcf2c30787-1.woff2') format('woff2'),
|
||
url('https://www.heroku.com/wp-content/uploads/2025/01/bentonsans-medium-5cd12715add2d4b76e8eac14da142662e5204b7b60ecbb6ffa78a1ca24546019-1.woff') format('woff');
|
||
}
|
||
@font-face {
|
||
font-family: 'BentonSans';
|
||
font-style: normal;
|
||
font-weight: 400;
|
||
font-display: swap;
|
||
src: url('https://www.heroku.com/wp-content/uploads/2025/03/bentonsans-regular.woff2') format('woff2'),
|
||
url('https://www.heroku.com/wp-content/uploads/2025/03/bentonsans-regular.woff') format('woff');
|
||
}
|
||
/* End Custom Fonts CSS */
|
||
.e-heading-base a, .e-paragraph-base a { all: unset; cursor: pointer; }form[data-element_type="e-form"].form-state-success [data-element_type="e-form-success-message"],form[data-element_type="e-form"].form-state-error [data-element_type="e-form-error-message"]{ display: block; }
|
||
.e-form-textarea-base:not([data-resizable]) { resize: none; } .e-form-submit-button-base { cursor: pointer; box-sizing: border-box; }
|
||
.elementor .e-div-block-base{min-width:30px;padding:10px;display:block;}.elementor .e-flexbox-base{padding:10px;display:flex;flex-direction:row;}.elementor .e-grid-base{column-gap:20px;padding:10px;display:grid;row-gap:20px;grid-template-columns:repeat(3, 1fr);grid-template-rows:repeat(2, 1fr);}.elementor .e-tabs-base{padding-block-start:0px;display:flex;flex-direction:column;gap:30px;}.elementor .e-tabs-menu-base{display:flex;justify-content:center;}.elementor .e-tab-base{width:160px;color:#0C0D0E;cursor:pointer;padding:8px;border-width:2px;border-color:#E0E0E0;border-style:solid;background-color:#FFFFFF;display:block;}.elementor .e-tab-base.e--selected{border-color:#0C0D0E;outline-width:0px;}.elementor .e-tab-base:focus{border-color:#0C0D0E;outline-width:0px;}.elementor .e-tab-base:hover,.elementor .e-tab-base:focus-visible{background-color:#E0E0E0;}.elementor .e-tabs-content-area-base{display:block;}.elementor .e-tab-content-base{min-width:30px;padding:10px;display:block;}.elementor .e-form-base{padding:20px;display:flex;flex-direction:row;gap:10px;flex-wrap:wrap;align-content:start;align-items:flex-start;}.elementor .e-form-base .e-form-checkbox-row{padding:0px;gap:8px;align-items:center;}.elementor .e-form-success-message-base{font-size:12px;color:#2F532E;text-align:center;padding:12px;background-color:#D4E9D6;display:none;}.elementor .e-form-error-message-base{font-size:12px;color:#870000;text-align:center;padding:12px;background-color:#ffdede;display:none;}.elementor .e-collection-loop-base{display:block;}.elementor .e-collection-loop-layout-base{display:grid;gap:20px;grid-template-columns:repeat(3, 1fr);grid-auto-rows:1fr;}.elementor .e-pagination-base{padding-block-start:8px;padding-block-end:8px;padding-inline-start:8px;padding-inline-end:8px;margin-block-start:8px;display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-start;align-items:center;}.elementor .e-pagination-prev-base{font-size:14px;color:#1F2937;text-align:center;text-decoration:none;padding-block-start:8px;padding-block-end:8px;padding-inline-start:12px;padding-inline-end:12px;border-radius:4px;border-width:1px;border-color:#E5E7EB;border-style:solid;display:inline-flex;gap:8px;align-items:center;}.elementor .e-pagination-next-base{font-size:14px;color:#1F2937;text-align:center;text-decoration:none;padding-block-start:8px;padding-block-end:8px;padding-inline-start:12px;padding-inline-end:12px;border-radius:4px;border-width:1px;border-color:#E5E7EB;border-style:solid;display:inline-flex;gap:8px;align-items:center;}.elementor .e-heroku-icon-base{width:50px;height:50px;display:inline-block;}.elementor .e-heroku-wysiwyg-base{margin:0px;}.elementor .e-heading-base{margin:0px;}.elementor .e-heading-link-base{all:unset;cursor:pointer;}.elementor .e-image-link-base{width:fit-content;all:unset;cursor:pointer;display:inherit;}.elementor .e-image-base{display:block;}.elementor .e-paragraph-base{margin:0px;}.elementor .e-paragraph-link-base{all:unset;cursor:pointer;}.elementor .e-svg-base{width:65px;height:65px;display:inline-block;}.elementor .e-button-base{text-align:center;padding-block-start:12px;padding-block-end:12px;padding-inline-start:24px;padding-inline-end:24px;border-radius:2px;border-width:0px;background-color:#375EFB;display:inline-block;}.elementor .e-youtube-base{overflow:hidden;aspect-ratio:16/9;}.elementor .e-divider-base{height:1px;border-width:0px;border-color:transparent;border-style:none;background-color:#000;}.elementor .e-self-hosted-video-base{max-width:100vw;aspect-ratio:16/9;display:inline-block;}.elementor .e-form-input-base{height:36px;font-size:12px;color:#0c0d0e;border-radius:0px;border-color:#D6D5D5;}.elementor .e-form-input-base:focus{border-color:#706F6F;outline-style:none;}.elementor .e-form-input-base::placeholder{color:#9DA5AE;}.elementor .e-form-label-base{font-size:14px;color:#0c0d0e;}.elementor .e-form-textarea-base{font-size:12px;border-radius:0px;border-color:#D6D5D5;}.elementor .e-form-textarea-base:focus{border-color:#706F6F;outline-style:none;}.elementor .e-form-textarea-base::placeholder{color:#9DA5AE;}.elementor .e-form-submit-button-base{color:#fff;padding-block-start:10px;padding-block-end:10px;padding-inline-start:28px;padding-inline-end:30px;border-radius:0px;border-width:0px;background-color:#000;display:flex;justify-content:center;align-items:center;}.elementor .e-form-submit-button-base:hover,.elementor .e-form-submit-button-base:focus-visible{background-color:#323232;}.elementor .e-form-checkbox-base{width:1.15em;height:1.15em;color:#ffffff;border-radius:0px;border-width:1px;border-color:#D6D5D5;border-style:solid;background-color:transparent;transition:background-color 200ms;display:grid;justify-items:center;align-items:center;appearance:none;}.elementor .e-form-checkbox-base:focus{border-color:#706F6F;outline-style:none;}.elementor .e-form-checkbox-base:checked{background-color:#69727D;}.elementor .e-form-checkbox-base::before{width:65%;height:65%;background-color:currentColor;opacity:0%;transform-origin:0% 100% 0px;transition:opacity 200ms;content:"";clip-path:polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);}.elementor .e-form-checkbox-base:checked::before{opacity:100%;}.elementor .e-form-radio-button-base{width:1.15em;height:1.15em;color:#ffffff;border-radius:50%;border-width:1px;border-color:#D6D5D5;border-style:solid;background-color:transparent;display:grid;justify-items:center;align-items:center;appearance:none;}.elementor .e-form-radio-button-base:focus{border-color:#706F6F;outline-style:none;}.elementor .e-form-radio-button-base:checked{background-color:transparent;}.elementor .e-form-radio-button-base::before{width:65%;height:65%;border-radius:50%;background-color:#706F6F;opacity:0%;transition:opacity 200ms;content:"";}.elementor .e-form-radio-button-base:checked::before{opacity:100%;}.elementor .e-form-date-picker-base{width:100%;height:36px;font-size:12px;color:#0c0d0e;border-radius:0px;border-width:1px;border-color:#D6D5D5;border-style:solid;}.elementor .e-form-date-picker-base:focus{border-color:#706F6F;outline-style:none;}.elementor .e-form-time-picker-base{width:100%;height:36px;font-size:12px;color:#0c0d0e;border-radius:0px;border-width:1px;border-color:#D6D5D5;border-style:solid;}.elementor .e-form-time-picker-base:focus{border-color:#706F6F;outline-style:none;}.elementor .e-form-select-base{font-size:12px;border-width:1px;border-color:#D6D5D5;border-style:solid;background-color:transparent;}.elementor .e-form-select-base:focus{border-color:#706F6F;outline-style:none;}.elementor .e-form-file-upload-base{height:36px;font-size:12px;color:#0c0d0e;border-radius:0px;border-color:#D6D5D5;}.elementor .e-form-file-upload-base:focus{border-color:#706F6F;outline-style:none;}@media(max-width:767px){@media(max-width:767px){.elementor .e-grid-base{grid-template-columns:repeat(1, 1fr);}}}
|
||
.elementor-11843 .elementor-element.elementor-element-42085f8d{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-11843 .elementor-element.elementor-element-9da61cb{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:center;}.elementor-11843 .elementor-element.elementor-element-5d80e2e3{--display:flex;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Arial, Helvetica, sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-11843 .elementor-element.elementor-element-d89808f{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-end;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-11843 .elementor-element.elementor-element-6dd1e13e{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:center;}.elementor-11843 .elementor-element.elementor-element-21dbd5ff{--display:flex;--justify-content:center;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Arial, Helvetica, sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-11843 .elementor-element.elementor-element-59d5d120{text-align:start;}.elementor-11843 .elementor-element.elementor-element-99cc162{--display:flex;--justify-content:center;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(min-width:768px){.elementor-11843 .elementor-element.elementor-element-5d80e2e3{--width:60%;}.elementor-11843 .elementor-element.elementor-element-d89808f{--width:40%;}.elementor-11843 .elementor-element.elementor-element-6dd1e13e{--content-width:1500px;}.elementor-11843 .elementor-element.elementor-element-21dbd5ff{--width:20%;}.elementor-11843 .elementor-element.elementor-element-99cc162{--width:79.665%;}}@media(max-width:1024px) and (min-width:768px){.elementor-11843 .elementor-element.elementor-element-d89808f{--width:100%;}.elementor-11843 .elementor-element.elementor-element-21dbd5ff{--width:50%;}.elementor-11843 .elementor-element.elementor-element-99cc162{--width:50%;}}@media(max-width:1024px){.elementor-11843 .elementor-element.elementor-element-d89808f{--padding-top:0px;--padding-bottom:0px;--padding-left:20px;--padding-right:20px;}}@media(max-width:767px){.elementor-11843 .elementor-element.elementor-element-21dbd5ff{--width:60%;--justify-content:center;}.elementor-11843 .elementor-element.elementor-element-99cc162{--width:40%;}}
|
||
.elementor-14 .elementor-element.elementor-element-4ab36929{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-14 .elementor-element.elementor-element-5242ecfe{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:stretch;}.elementor-14 .elementor-element.elementor-element-12479e49{--display:flex;}.elementor-14 .elementor-element.elementor-element-57b6ee5d{--display:flex;}.elementor-14 .elementor-element.elementor-element-2b0ed67{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Arial, Helvetica, sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-14 .elementor-element.elementor-element-00ba0d9{--display:flex;}.elementor-14 .elementor-element.elementor-element-1d2fabd9{--display:flex;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-14 .elementor-element.elementor-element-2609a195 .elementor-repeater-item-96a9910.elementor-social-icon i{color:var( --e-global-color-697d8ed );}.elementor-14 .elementor-element.elementor-element-2609a195 .elementor-repeater-item-96a9910.elementor-social-icon svg{fill:var( --e-global-color-697d8ed );}.elementor-14 .elementor-element.elementor-element-2609a195 .elementor-repeater-item-525a1a8.elementor-social-icon i{color:var( --e-global-color-primary );}.elementor-14 .elementor-element.elementor-element-2609a195 .elementor-repeater-item-525a1a8.elementor-social-icon svg{fill:var( --e-global-color-primary );}.elementor-14 .elementor-element.elementor-element-2609a195 .elementor-repeater-item-cf7fdae.elementor-social-icon i{color:var( --e-global-color-primary );}.elementor-14 .elementor-element.elementor-element-2609a195 .elementor-repeater-item-cf7fdae.elementor-social-icon svg{fill:var( --e-global-color-primary );}.elementor-14 .elementor-element.elementor-element-2609a195 .elementor-repeater-item-79745e7.elementor-social-icon i{color:var( --e-global-color-primary );}.elementor-14 .elementor-element.elementor-element-2609a195 .elementor-repeater-item-79745e7.elementor-social-icon svg{fill:var( --e-global-color-primary );}.elementor-14 .elementor-element.elementor-element-2609a195 .elementor-repeater-item-428cd3e.elementor-social-icon i{color:var( --e-global-color-primary );}.elementor-14 .elementor-element.elementor-element-2609a195 .elementor-repeater-item-428cd3e.elementor-social-icon svg{fill:var( --e-global-color-primary );}.elementor-14 .elementor-element.elementor-element-2609a195{--grid-template-columns:repeat(0, auto);text-align:right;}.elementor-14 .elementor-element.elementor-element-2609a195 .elementor-social-icon{background-color:#66666600;}.elementor-14 .elementor-element.elementor-element-2609a195 .elementor-social-icon:hover i{color:var( --e-global-color-accent );}.elementor-14 .elementor-element.elementor-element-2609a195 .elementor-social-icon:hover svg{fill:var( --e-global-color-accent );}.elementor-14 .elementor-element.elementor-element-79de5a00{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:stretch;}.elementor-14 .elementor-element.elementor-element-da83b70{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-start;}.elementor-14 .elementor-element.elementor-element-da83b70.e-con{--align-self:center;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Arial, Helvetica, sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-14 .elementor-element.elementor-element-277b6566{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:flex-start;}.elementor-14 .elementor-element.elementor-element-277b6566.e-con{--align-self:center;}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-family:var( --e-global-typography-primary-font-family ), Arial, Helvetica, sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item{color:var( --e-global-color-text );fill:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:hover,
|
||
.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active,
|
||
.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.highlighted,
|
||
.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:focus{color:var( --e-global-color-accent );fill:var( --e-global-color-accent );}.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
|
||
.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:var( --e-global-color-accent );}.elementor-widget-nav-menu .e--pointer-framed .elementor-item:before,
|
||
.elementor-widget-nav-menu .e--pointer-framed .elementor-item:after{border-color:var( --e-global-color-accent );}.elementor-widget-nav-menu{--e-nav-menu-divider-color:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-sub-item{font-family:var( --e-global-typography-accent-font-family ), Arial, Helvetica, sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-14 .elementor-element.elementor-element-1614a8b8{width:auto;max-width:auto;}.elementor-14 .elementor-element.elementor-element-1614a8b8 .elementor-nav-menu--main .elementor-item{color:var( --e-global-color-secondary );fill:var( --e-global-color-secondary );padding-left:11px;padding-right:11px;padding-top:0px;padding-bottom:0px;}.elementor-14 .elementor-element.elementor-element-3f52f268{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Arial, Helvetica, sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(min-width:768px){.elementor-14 .elementor-element.elementor-element-12479e49{--width:20%;}.elementor-14 .elementor-element.elementor-element-57b6ee5d{--width:20%;}.elementor-14 .elementor-element.elementor-element-2b0ed67{--width:20%;}.elementor-14 .elementor-element.elementor-element-00ba0d9{--width:20%;}.elementor-14 .elementor-element.elementor-element-1d2fabd9{--width:20%;}.elementor-14 .elementor-element.elementor-element-79de5a00{--content-width:1500px;}.elementor-14 .elementor-element.elementor-element-da83b70{--width:33%;}.elementor-14 .elementor-element.elementor-element-277b6566{--width:66%;}}@media(max-width:1024px) and (min-width:768px){.elementor-14 .elementor-element.elementor-element-12479e49{--width:45%;}.elementor-14 .elementor-element.elementor-element-57b6ee5d{--width:45%;}.elementor-14 .elementor-element.elementor-element-2b0ed67{--width:45%;}.elementor-14 .elementor-element.elementor-element-00ba0d9{--width:45%;}.elementor-14 .elementor-element.elementor-element-1d2fabd9{--width:100%;}.elementor-14 .elementor-element.elementor-element-da83b70{--width:100%;}.elementor-14 .elementor-element.elementor-element-277b6566{--width:100%;}}@media(max-width:1024px){.elementor-14 .elementor-element.elementor-element-5242ecfe{--flex-wrap:wrap;}.elementor-14 .elementor-element.elementor-element-1d2fabd9{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-14 .elementor-element.elementor-element-2609a195{text-align:center;}.elementor-14 .elementor-element.elementor-element-79de5a00{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-14 .elementor-element.elementor-element-da83b70{--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;}.elementor-14 .elementor-element.elementor-element-aa5f8d0.elementor-element{--align-self:center;}.elementor-14 .elementor-element.elementor-element-277b6566{--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;}.elementor-14 .elementor-element.elementor-element-3f52f268{--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;}}@media(max-width:767px){.elementor-14 .elementor-element.elementor-element-12479e49{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-14 .elementor-element.elementor-element-57b6ee5d{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-14 .elementor-element.elementor-element-2b0ed67{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-14 .elementor-element.elementor-element-00ba0d9{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-14 .elementor-element.elementor-element-1d2fabd9{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-14 .elementor-element.elementor-element-2609a195.elementor-element{--align-self:center;}.elementor-14 .elementor-element.elementor-element-aa5f8d0.elementor-element{--align-self:center;}.elementor-14 .elementor-element.elementor-element-3f52f268{--flex-wrap:nowrap;}.elementor-14 .elementor-element.elementor-element-f8ea2fb{text-align:center;}}
|
||
.elementor-4755 .elementor-element.elementor-element-1e61495{--display:flex;}.elementor-4755 .elementor-element.elementor-element-dec033b{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;}.elementor-4755 .elementor-element.elementor-element-5887513{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-4755 .elementor-element.elementor-element-5faab08{--display:flex;}.elementor-widget-breadcrumbs{font-family:var( --e-global-typography-secondary-font-family ), Arial, Helvetica, sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-4755 .elementor-element.elementor-element-0afd821{--display:flex;}.elementor-4755 .elementor-element.elementor-element-0afd821:not(.elementor-motion-effects-element-type-background), .elementor-4755 .elementor-element.elementor-element-0afd821 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-d947ae6 );}.elementor-4755 .elementor-element.elementor-element-59aa92a{--display:flex;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Arial, Helvetica, sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-4755 .elementor-element.elementor-element-fffbe35{text-align:center;}.elementor-4755 .elementor-element.elementor-element-63f38b8{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-4755 .elementor-element.elementor-element-63f38b8.e-con{--align-self:center;}.elementor-4755 .elementor-element.elementor-element-046ed73.elementor-element{--align-self:center;}.elementor-widget-post-info .elementor-icon-list-item:not(:last-child):after{border-color:var( --e-global-color-text );}.elementor-widget-post-info .elementor-icon-list-icon i{color:var( --e-global-color-primary );}.elementor-widget-post-info .elementor-icon-list-icon svg{fill:var( --e-global-color-primary );}.elementor-widget-post-info .elementor-icon-list-text, .elementor-widget-post-info .elementor-icon-list-text a{color:var( --e-global-color-secondary );}.elementor-widget-post-info .elementor-icon-list-item{font-family:var( --e-global-typography-text-font-family ), Arial, Helvetica, sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-4755 .elementor-element.elementor-element-352af6e .elementor-icon-list-icon{width:14px;}.elementor-4755 .elementor-element.elementor-element-352af6e .elementor-icon-list-icon i{font-size:14px;}.elementor-4755 .elementor-element.elementor-element-352af6e .elementor-icon-list-icon svg{--e-icon-list-icon-size:14px;}.elementor-4755 .elementor-element.elementor-element-352af6e .elementor-icon-list-text, .elementor-4755 .elementor-element.elementor-element-352af6e .elementor-icon-list-text a{color:var( --e-global-color-text );}.elementor-4755 .elementor-element.elementor-element-734264a{--display:flex;}.elementor-widget-theme-post-content{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Arial, Helvetica, sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-4755 .elementor-element.elementor-element-123205a .elementor-icon-list-icon{width:14px;}.elementor-4755 .elementor-element.elementor-element-123205a .elementor-icon-list-icon i{font-size:14px;}.elementor-4755 .elementor-element.elementor-element-123205a .elementor-icon-list-icon svg{--e-icon-list-icon-size:14px;}.elementor-4755 .elementor-element.elementor-element-f2963be{--display:flex;}.elementor-4755 .elementor-element.elementor-element-f2963be:not(.elementor-motion-effects-element-type-background), .elementor-4755 .elementor-element.elementor-element-f2963be > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-41f33e2 );}.elementor-4755 .elementor-element.elementor-element-01d8ac7{--display:flex;}.elementor-4755 .elementor-element.elementor-element-3227818{--alignment:center;--grid-side-margin:15px;--grid-column-gap:15px;--grid-row-gap:10px;--grid-bottom-margin:10px;}.elementor-4755 .elementor-element.elementor-element-3227818 .elementor-share-btn{height:27px;}.elementor-4755 .elementor-element.elementor-element-3227818 .elementor-share-btn__title{font-family:"BentonSans", Arial, Helvetica, sans-serif;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px;}.elementor-widget-divider{--divider-color:var( --e-global-color-secondary );}.elementor-widget-divider .elementor-divider__text{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-secondary-font-family ), Arial, Helvetica, sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-divider.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-4755 .elementor-element.elementor-element-1b08945{--divider-border-style:solid;--divider-color:#000;--divider-border-width:1px;}.elementor-4755 .elementor-element.elementor-element-1b08945 .elementor-divider-separator{width:100%;}.elementor-4755 .elementor-element.elementor-element-1b08945 .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-4755 .elementor-element.elementor-element-74e48cb{text-align:center;}.elementor-widget-posts .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Arial, Helvetica, sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-posts .elementor-post__title, .elementor-widget-posts .elementor-post__title a{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-primary-font-family ), Arial, Helvetica, sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-posts .elementor-post__meta-data{font-family:var( --e-global-typography-secondary-font-family ), Arial, Helvetica, sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-posts .elementor-post__excerpt p{font-family:var( --e-global-typography-text-font-family ), Arial, Helvetica, sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-posts .elementor-post__read-more{color:var( --e-global-color-accent );}.elementor-widget-posts a.elementor-post__read-more{font-family:var( --e-global-typography-accent-font-family ), Arial, Helvetica, sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-posts .elementor-post__card .elementor-post__badge{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Arial, Helvetica, sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-posts .elementor-pagination{font-family:var( --e-global-typography-secondary-font-family ), Arial, Helvetica, sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-posts .e-load-more-message{font-family:var( --e-global-typography-secondary-font-family ), Arial, Helvetica, sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-4755 .elementor-element.elementor-element-da9d136{--grid-row-gap:35px;--grid-column-gap:30px;}.elementor-4755 .elementor-element.elementor-element-bf46c3e{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;}.elementor-4755 .elementor-element.elementor-element-bf46c3e:not(.elementor-motion-effects-element-type-background), .elementor-4755 .elementor-element.elementor-element-bf46c3e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(180deg, var( --e-global-color-6afeba7 ) 5%, var( --e-global-color-c427ccf ) 95%);}.elementor-4755 .elementor-element.elementor-element-36e77f2{--display:flex;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Arial, Helvetica, sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-4755 .elementor-element.elementor-element-355ff82{text-align:center;}.elementor-4755 .elementor-element.elementor-element-6317b9c{--display:flex;}.elementor-4755 .elementor-element.elementor-element-99d3626{text-align:center;}@media(min-width:768px){.elementor-4755 .elementor-element.elementor-element-5887513{--width:100%;}.elementor-4755 .elementor-element.elementor-element-59aa92a{--content-width:900px;}.elementor-4755 .elementor-element.elementor-element-01d8ac7{--content-width:900px;}.elementor-4755 .elementor-element.elementor-element-bf46c3e{--content-width:1100px;}}@media(max-width:1024px){ .elementor-4755 .elementor-element.elementor-element-3227818{--grid-side-margin:15px;--grid-column-gap:15px;--grid-row-gap:10px;--grid-bottom-margin:10px;}}@media(max-width:767px){ .elementor-4755 .elementor-element.elementor-element-3227818{--grid-side-margin:15px;--grid-column-gap:15px;--grid-row-gap:10px;--grid-bottom-margin:10px;}}/* Start Custom Fonts CSS */@font-face {
|
||
font-family: 'BentonSans';
|
||
font-style: normal;
|
||
font-weight: 300;
|
||
font-display: swap;
|
||
src: url('https://www.heroku.com/wp-content/uploads/2025/01/bentonsans-book-4e191d7217a753da16ff44f89fdbf2b73d01cd150e824c152ba08a61e8db07ec.woff2') format('woff2'),
|
||
url('https://www.heroku.com/wp-content/uploads/2025/01/bentonsans-book-048416fe9c54f2f3523a23f30c6bedd1a961aa6e0c9ad169b7fd429811bf9dce.woff') format('woff');
|
||
}
|
||
@font-face {
|
||
font-family: 'BentonSans';
|
||
font-style: normal;
|
||
font-weight: 700;
|
||
font-display: swap;
|
||
src: url('https://www.heroku.com/wp-content/uploads/2025/01/bentonsans-medium-707aee2a59a7364edde03afc7a5c1dab53cda95864b5a283795369fcf2c30787-1.woff2') format('woff2'),
|
||
url('https://www.heroku.com/wp-content/uploads/2025/01/bentonsans-medium-5cd12715add2d4b76e8eac14da142662e5204b7b60ecbb6ffa78a1ca24546019-1.woff') format('woff');
|
||
}
|
||
@font-face {
|
||
font-family: 'BentonSans';
|
||
font-style: normal;
|
||
font-weight: 400;
|
||
font-display: swap;
|
||
src: url('https://www.heroku.com/wp-content/uploads/2025/03/bentonsans-regular.woff2') format('woff2'),
|
||
url('https://www.heroku.com/wp-content/uploads/2025/03/bentonsans-regular.woff') format('woff');
|
||
}
|
||
/* End Custom Fonts CSS */
|
||
/*# sourceURL=elementor-frontend-inline-css */
|
||
</style>
|
||
<link rel='stylesheet' id='prismjs-style-css' href='https://cdnjs.cloudflare.com/ajax/libs/prism/1.30.0/themes/prism-okaidia.min.css?ver=1.30.0' media='all' />
|
||
<link rel='stylesheet' id='all-css-44' href='https://www.heroku.com/_static/??-eJylktFugzAMRX9orjVpgr5M+5YEXLCWxFFs4Pcbtqov7SYKb7bkcxTfGJcMnSSjZGgjRVIcKQQBCrVJJgWdKplip4qFanmq1Ru+xI3keipwETEqD3wO08BJ8Sm6cD+QAUc30Cly2k4H9qgLZyo4n39cv91rlpWrQz0bS3KhTsBezW2VNQxOw25epWMXgCujB3dxOQeChfw32zYV5CJP3pTcDHVgOiTxpSbTlSn6jXv94cmi9WDSRXZHvGYLgfVYKDq6QuAns10/dbP0PHO/9dz+SeT+gq/4+d6e26ZpPpr2CktYhak=' type='text/css' media='all' />
|
||
<style id="elementor-pro-custom-fonts-inline-css">
|
||
@font-face {
|
||
font-family: 'BentonSans';
|
||
font-style: normal;
|
||
font-weight: 300;
|
||
font-display: swap;
|
||
src: url('https://www.heroku.com/wp-content/uploads/2025/01/bentonsans-book-4e191d7217a753da16ff44f89fdbf2b73d01cd150e824c152ba08a61e8db07ec.woff2') format('woff2'),
|
||
url('https://www.heroku.com/wp-content/uploads/2025/01/bentonsans-book-048416fe9c54f2f3523a23f30c6bedd1a961aa6e0c9ad169b7fd429811bf9dce.woff') format('woff');
|
||
}
|
||
@font-face {
|
||
font-family: 'BentonSans';
|
||
font-style: normal;
|
||
font-weight: 700;
|
||
font-display: swap;
|
||
src: url('https://www.heroku.com/wp-content/uploads/2025/01/bentonsans-medium-707aee2a59a7364edde03afc7a5c1dab53cda95864b5a283795369fcf2c30787-1.woff2') format('woff2'),
|
||
url('https://www.heroku.com/wp-content/uploads/2025/01/bentonsans-medium-5cd12715add2d4b76e8eac14da142662e5204b7b60ecbb6ffa78a1ca24546019-1.woff') format('woff');
|
||
}
|
||
@font-face {
|
||
font-family: 'BentonSans';
|
||
font-style: normal;
|
||
font-weight: 400;
|
||
font-display: swap;
|
||
src: url('https://www.heroku.com/wp-content/uploads/2025/03/bentonsans-regular.woff2') format('woff2'),
|
||
url('https://www.heroku.com/wp-content/uploads/2025/03/bentonsans-regular.woff') format('woff');
|
||
}
|
||
|
||
/*# sourceURL=elementor-pro-custom-fonts-inline-css */
|
||
</style>
|
||
<link rel='stylesheet' id='all-css-46' href='https://www.heroku.com/wp-content/plugins/essential-addons-for-elementor-lite/assets/front-end/css/view/general.min.css?m=1781799491g' type='text/css' media='all' />
|
||
<script id="jquery-core-js" src="https://www.heroku.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1"></script>
|
||
<script id="jquery-migrate-js" src="https://www.heroku.com/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1"></script>
|
||
<!-- Stream WordPress user activity plugin v4.3.0 -->
|
||
<style>img#wpstats{display:none}</style>
|
||
|
||
<!-- Google Tag Manager for WordPress by gtm4wp.com -->
|
||
<!-- GTM Container placement set to manual -->
|
||
<script data-cfasync="false" data-pagespeed-no-defer>
|
||
var dataLayer_content = {"pagePostType":"post","pagePostType2":"single-post","pageCategory":["engineering"],"pageAttributes":["cloud-infrastructure","developer-tools","performance-optimization","ruby"],"pagePostAuthor":"Richard Schneeman"};
|
||
dataLayer.push( dataLayer_content );
|
||
</script>
|
||
<script data-cfasync="false" data-pagespeed-no-defer>
|
||
(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
|
||
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
|
||
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
|
||
'//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
|
||
})(window,document,'script','dataLayer','GTM-JD26');
|
||
</script>
|
||
<!-- End Google Tag Manager for WordPress by gtm4wp.com --><script type="application/ld+json" class="wp-parsely-metadata">{"@context":"https:\/\/schema.org","@type":"NewsArticle","headline":"Puma 4: Hammering Out H13s\u2014A Debugging Story","url":"https:\/\/www.heroku.com\/blog\/puma-4-hammering-out-h13s-a-debugging-story\/","mainEntityOfPage":{"@type":"WebPage","@id":"https:\/\/www.heroku.com\/blog\/puma-4-hammering-out-h13s-a-debugging-story\/"},"thumbnailUrl":"","image":{"@type":"ImageObject","url":""},"articleSection":"Engineering","author":[{"@type":"Person","name":"Richard Schneeman"}],"creator":["Richard Schneeman"],"publisher":{"@type":"Organization","name":"Heroku","logo":"https:\/\/www.heroku.com\/wp-content\/uploads\/2025\/01\/Heroku-Logo-KO-RGB.png"},"keywords":["cloud infrastructure","developer tools","performance optimization","ruby"],"dateCreated":"2019-07-12T17:53:00Z","datePublished":"2019-07-12T17:53:00Z","dateModified":"2025-11-10T20:11:40Z"}</script><style>
|
||
.content-callout-wrapper {background:#EAF5FE; border-radius: 12px; padding:2rem;margin:0 0 1.5rem 0;}
|
||
.content-callout-wrapper > p:last-child {margin-bottom:0;}
|
||
body.orbit .content-callout-wrapper h2,body.orbit .content-callout-wrapper h3,body.orbit .content-callout-wrapper h4 {color:#181818;}
|
||
|
||
body.orbit .mega-container-blog--mm .elementor-loop-container .e-loop-item.post .container-blog--mm .elementor-heading-title {
|
||
margin-bottom:10px;
|
||
}
|
||
body.orbit .mega-container-blog--mm .elementor-loop-container .e-loop-item.post .container-blog--mm .elementor-heading-title a {
|
||
font-size:1.2rem;
|
||
margin-bottom:0;
|
||
}
|
||
body.orbit .mega-container-blog--mm .elementor-loop-container .e-loop-item.post .container-blog--mm .elementor-post-info li .elementor-post-info__item--type-custom a {
|
||
color:inherit;
|
||
}
|
||
body.orbit .mega-container-blog--mm .elementor-loop-container .e-loop-item.post .container-blog--mm .elementor-widget-theme-post-excerpt p{
|
||
font-size:0.9rem;
|
||
line-height:1.5;
|
||
}
|
||
</style>
|
||
<style>
|
||
.e-con.e-parent:nth-of-type(n+4):not(.e-lazyloaded):not(.e-no-lazyload),
|
||
.e-con.e-parent:nth-of-type(n+4):not(.e-lazyloaded):not(.e-no-lazyload) * {
|
||
background-image: none !important;
|
||
}
|
||
@media screen and (max-height: 1024px) {
|
||
.e-con.e-parent:nth-of-type(n+3):not(.e-lazyloaded):not(.e-no-lazyload),
|
||
.e-con.e-parent:nth-of-type(n+3):not(.e-lazyloaded):not(.e-no-lazyload) * {
|
||
background-image: none !important;
|
||
}
|
||
}
|
||
@media screen and (max-height: 640px) {
|
||
.e-con.e-parent:nth-of-type(n+2):not(.e-lazyloaded):not(.e-no-lazyload),
|
||
.e-con.e-parent:nth-of-type(n+2):not(.e-lazyloaded):not(.e-no-lazyload) * {
|
||
background-image: none !important;
|
||
}
|
||
}
|
||
</style>
|
||
<style>
|
||
.algolia-search-highlight {
|
||
background-color: #fffbcc;
|
||
border-radius: 2px;
|
||
font-style: normal;
|
||
}
|
||
</style>
|
||
<style media="screen">
|
||
html {
|
||
margin-top: 0 !important;
|
||
}
|
||
|
||
#wpadminbar {
|
||
position: relative;
|
||
}
|
||
|
||
@media screen and ( max-width: 991px ) {
|
||
html {
|
||
margin-top: 0 !important;
|
||
}
|
||
|
||
#wpadminbar {
|
||
display: none;
|
||
}
|
||
}
|
||
</style>
|
||
<link rel="icon" href="https://www.heroku.com/wp-content/uploads/2025/01/apple-touch-icon-180x180-1.png?w=32" sizes="32x32" />
|
||
<link rel="icon" href="https://www.heroku.com/wp-content/uploads/2025/01/apple-touch-icon-180x180-1.png?w=180" sizes="192x192" />
|
||
<link rel="apple-touch-icon" href="https://www.heroku.com/wp-content/uploads/2025/01/apple-touch-icon-180x180-1.png?w=180" />
|
||
<meta name="msapplication-TileImage" content="https://www.heroku.com/wp-content/uploads/2025/01/apple-touch-icon-180x180-1.png?w=180" />
|
||
<style class="megamenu-css">@charset "UTF-8";/** THIS FILE IS AUTOMATICALLY GENERATED - DO NOT MAKE MANUAL EDITS! **//** Custom CSS should be added to Mega Menu > Menu Themes > Custom Styling **/.mega-menu-last-modified-1784818127 { content: 'Thursday 23rd July 2026 14:48:47 UTC'; }#mega-menu-wrap-menu-1, #mega-menu-wrap-menu-1 #mega-menu-menu-1, #mega-menu-wrap-menu-1 #mega-menu-menu-1 ul.mega-sub-menu, #mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item, #mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-row, #mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-column, #mega-menu-wrap-menu-1 #mega-menu-menu-1 a.mega-menu-link, #mega-menu-wrap-menu-1 #mega-menu-menu-1 span.mega-indicator, #mega-menu-wrap-menu-1 #mega-menu-menu-1 span.mega-menu-badge, #mega-menu-wrap-menu-1 button.mega-close, #mega-menu-wrap-menu-1 button.mega-toggle-standard {transition: none;box-shadow: none;background: none;border: 0;bottom: auto;box-sizing: border-box;clip: auto;color: black;display: block;float: none;font-family: inherit;font-size: inherit;height: auto;left: auto;line-height: 1.7;list-style-type: none;margin: 0;min-height: auto;max-height: none;min-width: auto;max-width: none;opacity: 1;outline: none;overflow: visible;padding: 0;position: relative;pointer-events: auto;right: auto;text-align: left;text-decoration: none;text-indent: 0;text-transform: none;transform: none;top: auto;vertical-align: baseline;visibility: inherit;width: auto;word-wrap: break-word;white-space: normal;-webkit-tap-highlight-color: transparent;}#mega-menu-wrap-menu-1:before, #mega-menu-wrap-menu-1:after, #mega-menu-wrap-menu-1 #mega-menu-menu-1:before, #mega-menu-wrap-menu-1 #mega-menu-menu-1:after, #mega-menu-wrap-menu-1 #mega-menu-menu-1 ul.mega-sub-menu:before, #mega-menu-wrap-menu-1 #mega-menu-menu-1 ul.mega-sub-menu:after, #mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item:before, #mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item:after, #mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-row:before, #mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-row:after, #mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-column:before, #mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-column:after, #mega-menu-wrap-menu-1 #mega-menu-menu-1 a.mega-menu-link:before, #mega-menu-wrap-menu-1 #mega-menu-menu-1 a.mega-menu-link:after, #mega-menu-wrap-menu-1 #mega-menu-menu-1 span.mega-indicator:before, #mega-menu-wrap-menu-1 #mega-menu-menu-1 span.mega-indicator:after, #mega-menu-wrap-menu-1 #mega-menu-menu-1 span.mega-menu-badge:before, #mega-menu-wrap-menu-1 #mega-menu-menu-1 span.mega-menu-badge:after, #mega-menu-wrap-menu-1 button.mega-close:before, #mega-menu-wrap-menu-1 button.mega-close:after, #mega-menu-wrap-menu-1 button.mega-toggle-standard:before, #mega-menu-wrap-menu-1 button.mega-toggle-standard:after {display: none;}#mega-menu-wrap-menu-1 {border-radius: 0px;}@media only screen and (min-width: 1025px) {#mega-menu-wrap-menu-1 {background-color: rgba(255, 255, 255, 0);}}#mega-menu-wrap-menu-1.mega-keyboard-navigation .mega-menu-toggle:focus, #mega-menu-wrap-menu-1.mega-keyboard-navigation .mega-toggle-block:focus, #mega-menu-wrap-menu-1.mega-keyboard-navigation .mega-toggle-block a:focus, #mega-menu-wrap-menu-1.mega-keyboard-navigation .mega-toggle-block button:focus, #mega-menu-wrap-menu-1.mega-keyboard-navigation .mega-toggle-block .mega-search input[type=text]:focus, #mega-menu-wrap-menu-1.mega-keyboard-navigation .mega-toggle-block button.mega-toggle-animated:focus, #mega-menu-wrap-menu-1.mega-keyboard-navigation #mega-menu-menu-1 a:focus, #mega-menu-wrap-menu-1.mega-keyboard-navigation #mega-menu-menu-1 span:focus, #mega-menu-wrap-menu-1.mega-keyboard-navigation #mega-menu-menu-1 input:focus, #mega-menu-wrap-menu-1.mega-keyboard-navigation #mega-menu-menu-1 li.mega-menu-item .mega-menu-link:focus, #mega-menu-wrap-menu-1.mega-keyboard-navigation #mega-menu-menu-1 form.mega-search-open:has(input[type=text]:focus), #mega-menu-wrap-menu-1.mega-keyboard-navigation #mega-menu-menu-1 + button.mega-close:focus, #mega-menu-wrap-menu-1.mega-keyboard-navigation #mega-menu-menu-1 .mega-mobile-back > button:focus {outline-style: solid;outline-width: 3px;outline-color: #109cde;outline-offset: -3px;}#mega-menu-wrap-menu-1.mega-keyboard-navigation .mega-toggle-block button.mega-toggle-animated:focus {outline-offset: 2px;}#mega-menu-wrap-menu-1.mega-keyboard-navigation > li.mega-menu-item > a.mega-menu-link:focus {background-color: rgba(255, 255, 255, 0);color: rgba(255, 255, 255, 0.7);font-weight: inherit;text-decoration: none;border-color: #fff;}@media only screen and (max-width: 1024px) {#mega-menu-wrap-menu-1.mega-keyboard-navigation > li.mega-menu-item > a.mega-menu-link:focus {color: #333;background-color: white;}}#mega-menu-wrap-menu-1 #mega-menu-menu-1 {text-align: right;padding: 0px;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 .mega-description-group {vertical-align: middle;display: inline-block;transition: none;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 .mega-description-group .mega-menu-title, #mega-menu-wrap-menu-1 #mega-menu-menu-1 .mega-description-group .mega-menu-description {transition: none;line-height: 1.5;display: block;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 .mega-description-group .mega-menu-description {font-style: italic;font-size: 0.8em;text-transform: none;font-weight: normal;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 a.mega-menu-link {cursor: pointer;display: inline;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-megamenu li.mega-menu-item.mega-icon-left.mega-has-description.mega-has-icon > a.mega-menu-link {display: flex;align-items: center;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-megamenu li.mega-menu-item.mega-icon-left.mega-has-description.mega-has-icon > a.mega-menu-link:before {flex: 0 0 auto;align-self: flex-start;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-tabbed.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-item.mega-icon-left.mega-has-description.mega-has-icon > a.mega-menu-link {display: block;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item.mega-icon-top > a.mega-menu-link {display: table-cell;vertical-align: middle;line-height: initial;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item.mega-icon-top > a.mega-menu-link:before {display: block;margin: 0 0 6px 0;text-align: center;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item.mega-icon-top > a.mega-menu-link > span.mega-title-below {display: inline-block;transition: none;}@media only screen and (max-width: 1024px) {#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item.mega-icon-top > a.mega-menu-link {display: block;line-height: 60px;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item.mega-icon-top > a.mega-menu-link:before {display: inline-block;margin: 0 6px 0 0;text-align: left;}}#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item.mega-icon-right > a.mega-menu-link:before {float: right;margin: 0 0 0 6px;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-animating > ul.mega-sub-menu {pointer-events: none;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-disable-link > a.mega-menu-link, #mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-megamenu li.mega-disable-link > a.mega-menu-link {cursor: inherit;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item-has-children.mega-disable-link > a.mega-menu-link, #mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-megamenu > li.mega-menu-item-has-children.mega-disable-link > a.mega-menu-link {cursor: pointer;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 p {margin-bottom: 10px;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 input, #mega-menu-wrap-menu-1 #mega-menu-menu-1 img {max-width: 100%;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item > ul.mega-sub-menu {display: block;visibility: hidden;opacity: 1;pointer-events: auto;}@media only screen and (max-width: 1024px) {#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item > ul.mega-sub-menu {display: none;visibility: visible;opacity: 1;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item.mega-toggle-on > ul.mega-sub-menu, #mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-megamenu.mega-menu-item.mega-toggle-on ul.mega-sub-menu {display: block;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-megamenu.mega-menu-item.mega-toggle-on li.mega-hide-sub-menu-on-mobile > ul.mega-sub-menu, #mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-hide-sub-menu-on-mobile > ul.mega-sub-menu {display: none;}}@media only screen and (min-width: 1025px) {#mega-menu-wrap-menu-1 #mega-menu-menu-1[data-effect="fade"] li.mega-menu-item > ul.mega-sub-menu {opacity: 0;transition: opacity 200ms ease-in, visibility 200ms ease-in;}#mega-menu-wrap-menu-1 #mega-menu-menu-1[data-effect="fade"].mega-no-js li.mega-menu-item:hover > ul.mega-sub-menu, #mega-menu-wrap-menu-1 #mega-menu-menu-1[data-effect="fade"].mega-no-js li.mega-menu-item:focus > ul.mega-sub-menu, #mega-menu-wrap-menu-1 #mega-menu-menu-1[data-effect="fade"] li.mega-menu-item.mega-toggle-on > ul.mega-sub-menu, #mega-menu-wrap-menu-1 #mega-menu-menu-1[data-effect="fade"] li.mega-menu-item.mega-menu-megamenu.mega-toggle-on ul.mega-sub-menu {opacity: 1;}#mega-menu-wrap-menu-1 #mega-menu-menu-1[data-effect="fade_up"] li.mega-menu-item.mega-menu-megamenu > ul.mega-sub-menu, #mega-menu-wrap-menu-1 #mega-menu-menu-1[data-effect="fade_up"] li.mega-menu-item.mega-menu-flyout ul.mega-sub-menu {opacity: 0;transform: translate(0, 10px);transition: opacity 200ms ease-in, transform 200ms ease-in, visibility 200ms ease-in;}#mega-menu-wrap-menu-1 #mega-menu-menu-1[data-effect="fade_up"].mega-no-js li.mega-menu-item:hover > ul.mega-sub-menu, #mega-menu-wrap-menu-1 #mega-menu-menu-1[data-effect="fade_up"].mega-no-js li.mega-menu-item:focus > ul.mega-sub-menu, #mega-menu-wrap-menu-1 #mega-menu-menu-1[data-effect="fade_up"] li.mega-menu-item.mega-toggle-on > ul.mega-sub-menu, #mega-menu-wrap-menu-1 #mega-menu-menu-1[data-effect="fade_up"] li.mega-menu-item.mega-menu-megamenu.mega-toggle-on ul.mega-sub-menu {opacity: 1;transform: translate(0, 0);}#mega-menu-wrap-menu-1 #mega-menu-menu-1[data-effect="slide_up"] li.mega-menu-item.mega-menu-megamenu > ul.mega-sub-menu, #mega-menu-wrap-menu-1 #mega-menu-menu-1[data-effect="slide_up"] li.mega-menu-item.mega-menu-flyout ul.mega-sub-menu {transform: translate(0, 10px);transition: transform 200ms ease-in, visibility 200ms ease-in;}#mega-menu-wrap-menu-1 #mega-menu-menu-1[data-effect="slide_up"].mega-no-js li.mega-menu-item:hover > ul.mega-sub-menu, #mega-menu-wrap-menu-1 #mega-menu-menu-1[data-effect="slide_up"].mega-no-js li.mega-menu-item:focus > ul.mega-sub-menu, #mega-menu-wrap-menu-1 #mega-menu-menu-1[data-effect="slide_up"] li.mega-menu-item.mega-toggle-on > ul.mega-sub-menu, #mega-menu-wrap-menu-1 #mega-menu-menu-1[data-effect="slide_up"] li.mega-menu-item.mega-menu-megamenu.mega-toggle-on ul.mega-sub-menu {transform: translate(0, 0);}}#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item.mega-menu-megamenu ul.mega-sub-menu li.mega-collapse-children > ul.mega-sub-menu {display: none;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item.mega-menu-megamenu ul.mega-sub-menu li.mega-collapse-children.mega-toggle-on > ul.mega-sub-menu {display: block;}#mega-menu-wrap-menu-1 #mega-menu-menu-1.mega-no-js li.mega-menu-item:hover > ul.mega-sub-menu, #mega-menu-wrap-menu-1 #mega-menu-menu-1.mega-no-js li.mega-menu-item:focus > ul.mega-sub-menu, #mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item.mega-toggle-on > ul.mega-sub-menu {visibility: visible;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item.mega-menu-megamenu ul.mega-sub-menu ul.mega-sub-menu {visibility: inherit;opacity: 1;display: block;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item.mega-menu-megamenu ul.mega-sub-menu li.mega-1-columns > ul.mega-sub-menu > li.mega-menu-item {float: left;width: 100%;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item.mega-menu-megamenu ul.mega-sub-menu li.mega-2-columns > ul.mega-sub-menu > li.mega-menu-item {float: left;width: 50%;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item.mega-menu-megamenu ul.mega-sub-menu li.mega-3-columns > ul.mega-sub-menu > li.mega-menu-item {float: left;width: 33.3333333333%;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item.mega-menu-megamenu ul.mega-sub-menu li.mega-4-columns > ul.mega-sub-menu > li.mega-menu-item {float: left;width: 25%;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item.mega-menu-megamenu ul.mega-sub-menu li.mega-5-columns > ul.mega-sub-menu > li.mega-menu-item {float: left;width: 20%;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item.mega-menu-megamenu ul.mega-sub-menu li.mega-6-columns > ul.mega-sub-menu > li.mega-menu-item {float: left;width: 16.6666666667%;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item a[class^="dashicons"]:before {font-family: dashicons;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item a.mega-menu-link:before {display: inline-block;font: inherit;font-family: dashicons;position: static;margin: 0 6px 0 0px;vertical-align: top;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;color: inherit;background: transparent;height: auto;width: auto;top: auto;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item a.mega-material-symbol:before {content: attr(data-ms-icon);font-family: var(--wp--preset--font-family--material-symbols);}#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item.mega-hide-text a.mega-menu-link:before {margin: 0;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item.mega-hide-text li.mega-menu-item a.mega-menu-link:before {margin: 0 6px 0 0;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-align-bottom-left.mega-toggle-on > a.mega-menu-link {border-radius: 0px;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-align-bottom-right > ul.mega-sub-menu {right: 0;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-align-bottom-right.mega-toggle-on > a.mega-menu-link {border-radius: 0px;}@media only screen and (min-width: 1025px) {#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu.mega-menu-item {position: static;}}#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item {margin: 0 0px 0 0;display: inline-block;height: auto;vertical-align: middle;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item.mega-item-align-right {float: right;}@media only screen and (min-width: 1025px) {#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item.mega-item-align-right {margin: 0 0 0 0px;}}@media only screen and (min-width: 1025px) {#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item.mega-item-align-float-left {float: left;}}@media only screen and (min-width: 1025px) {#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item > a.mega-menu-link:hover, #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item > a.mega-menu-link:focus {background-color: rgba(255, 255, 255, 0);color: rgba(255, 255, 255, 0.7);font-weight: inherit;text-decoration: none;border-color: #fff;}}#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item.mega-toggle-on > a.mega-menu-link {background-color: rgba(255, 255, 255, 0);color: rgba(255, 255, 255, 0.7);font-weight: inherit;text-decoration: none;border-color: #fff;}@media only screen and (max-width: 1024px) {#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item.mega-toggle-on > a.mega-menu-link {color: #333;background-color: white;}}#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item.mega-current-menu-item > a.mega-menu-link, #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item.mega-current-menu-ancestor > a.mega-menu-link, #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item.mega-current-page-ancestor > a.mega-menu-link {background-color: rgba(255, 255, 255, 0);color: rgba(255, 255, 255, 0.7);font-weight: inherit;text-decoration: none;border-color: #fff;}@media only screen and (max-width: 1024px) {#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item.mega-current-menu-item > a.mega-menu-link, #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item.mega-current-menu-ancestor > a.mega-menu-link, #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item.mega-current-page-ancestor > a.mega-menu-link {color: #333;background-color: white;}}#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item > a.mega-menu-link {line-height: 40px;height: 40px;padding: 0px 12px;vertical-align: baseline;width: auto;display: block;color: white;text-transform: none;text-decoration: none;text-align: left;background-color: rgba(0, 0, 0, 0);border: 0;border-radius: 0px;font-family: inherit;font-size: 20px;font-weight: inherit;outline: none;}@media only screen and (min-width: 1025px) {#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item.mega-multi-line > a.mega-menu-link {line-height: inherit;display: table-cell;vertical-align: middle;}}@media only screen and (max-width: 1024px) {#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item.mega-multi-line > a.mega-menu-link br {display: none;}}@media only screen and (max-width: 1024px) {#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item {display: list-item;margin: 0;clear: both;border: 0;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item.mega-item-align-right {float: none;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item > a.mega-menu-link {border: 0;margin: 0;line-height: 60px;height: 60px;padding: 0 10px;background: transparent;text-align: left;color: black;font-size: 14px;}}#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-row {width: 100%;float: left;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-row .mega-menu-column {float: left;min-height: 1px;}@media only screen and (min-width: 1025px) {#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-row > ul.mega-sub-menu > li.mega-menu-column {width: calc(var(--span) / var(--columns) * 100%);}}@media only screen and (max-width: 1024px) {#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-row > ul.mega-sub-menu > li.mega-menu-column {width: 100%;clear: both;}}#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-row .mega-menu-column > ul.mega-sub-menu > li.mega-menu-item {padding: 15px;width: 100%;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu {z-index: 999;border-radius: 0px;background: linear-gradient(to bottom, white, #f7f6f8);border: 0;padding: 0px;position: absolute;width: 100%;max-width: none;left: 0;}@media only screen and (max-width: 1024px) {#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu {float: left;position: static;width: 100%;}}@media only screen and (min-width: 1025px) {#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column-standard {width: calc(var(--span) / var(--columns) * 100%);}}#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu .mega-description-group .mega-menu-description {margin: 5px 0;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-item ul.mega-sub-menu {clear: both;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-item ul.mega-sub-menu li.mega-menu-item ul.mega-sub-menu {margin-left: 10px;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu ul.mega-sub-menu ul.mega-sub-menu {margin-left: 10px;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column-standard, #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item {color: black;font-family: inherit;font-size: inherit;display: block;float: left;clear: none;padding: 15px;vertical-align: top;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column-standard.mega-menu-clear, #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item.mega-menu-clear {clear: left;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column-standard h4.mega-block-title, #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item h4.mega-block-title {color: black;font-family: inherit;font-size: inherit;text-transform: none;text-decoration: none;font-weight: inherit;text-align: left;margin: 0px 0px 0px 0px;padding: 0px 0px 5px 0px;vertical-align: top;display: block;visibility: inherit;border: 0;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column-standard h4.mega-block-title:hover, #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item h4.mega-block-title:hover {border-color: rgba(0, 0, 0, 0);}#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column-standard > a.mega-menu-link, #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link {color: black;/* Mega Menu > Menu Themes > Mega Menus > Second Level Menu Items */font-family: inherit;font-size: 16px;text-transform: none;text-decoration: none;font-weight: bold;text-align: left;margin: 0px 0px 0px 0px;padding: 0px;vertical-align: top;display: block;border: 0;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column-standard > a.mega-menu-link:hover, #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link:hover {border-color: rgba(0, 0, 0, 0);}#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column-standard > a.mega-menu-link:hover, #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column-standard > a.mega-menu-link:focus, #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link:hover, #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link:focus {color: #ee643f;/* Mega Menu > Menu Themes > Mega Menus > Second Level Menu Items (Hover) */font-weight: bold;text-decoration: none;background-color: rgba(0, 0, 0, 0);}#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column-standard > a.mega-menu-link:hover > span.mega-title-below, #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column-standard > a.mega-menu-link:focus > span.mega-title-below, #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link:hover > span.mega-title-below, #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link:focus > span.mega-title-below {text-decoration: none;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column-standard li.mega-menu-item > a.mega-menu-link, #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item li.mega-menu-item > a.mega-menu-link {color: black;/* Mega Menu > Menu Themes > Mega Menus > Third Level Menu Items */font-family: inherit;font-size: 14px;text-transform: none;text-decoration: none;font-weight: 300;text-align: left;margin: 0px 0px 0px 0px;padding: 0px;vertical-align: top;display: block;border: 0;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column-standard li.mega-menu-item > a.mega-menu-link:hover, #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item li.mega-menu-item > a.mega-menu-link:hover {border-color: rgba(0, 0, 0, 0);}#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column-standard li.mega-menu-item.mega-icon-left.mega-has-description.mega-has-icon > a.mega-menu-link, #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item li.mega-menu-item.mega-icon-left.mega-has-description.mega-has-icon > a.mega-menu-link {display: flex;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column-standard li.mega-menu-item > a.mega-menu-link:hover, #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column-standard li.mega-menu-item > a.mega-menu-link:focus, #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item li.mega-menu-item > a.mega-menu-link:hover, #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item li.mega-menu-item > a.mega-menu-link:focus {color: #ee643f;/* Mega Menu > Menu Themes > Mega Menus > Third Level Menu Items (Hover) */font-weight: 300;text-decoration: none;background-color: rgba(0, 0, 0, 0);}@media only screen and (max-width: 1024px) {#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu {border: 0;padding: 10px;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-item {width: 100%;clear: both;}}#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu.mega-no-headers > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link, #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu.mega-no-headers > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link {color: black;font-family: inherit;font-size: 14px;text-transform: none;text-decoration: none;font-weight: 300;margin: 0;border: 0;padding: 0px;vertical-align: top;display: block;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu.mega-no-headers > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link:hover, #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu.mega-no-headers > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link:focus, #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu.mega-no-headers > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link:hover, #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu.mega-no-headers > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link:focus {color: #ee643f;font-weight: 300;text-decoration: none;background-color: rgba(0, 0, 0, 0);}#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-flyout ul.mega-sub-menu {z-index: 999;position: absolute;width: 250px;max-width: none;padding: 0px;border: 0;background-color: #f1f1f1;border-radius: 0px;}@media only screen and (max-width: 1024px) {#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-flyout ul.mega-sub-menu {float: left;position: static;width: 100%;padding: 0;border: 0;border-radius: 0;}}@media only screen and (max-width: 1024px) {#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item {clear: both;}}#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link {display: block;background-color: #f1f1f1;color: #666;font-family: inherit;font-size: 14px;font-weight: normal;padding: 0px 10px;line-height: 35px;text-decoration: none;text-transform: none;vertical-align: baseline;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item:first-child > a.mega-menu-link {border-top-left-radius: 0px;border-top-right-radius: 0px;}@media only screen and (max-width: 1024px) {#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item:first-child > a.mega-menu-link {border-top-left-radius: 0;border-top-right-radius: 0;}}#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item:last-child > a.mega-menu-link {border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;}@media only screen and (max-width: 1024px) {#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item:last-child > a.mega-menu-link {border-bottom-right-radius: 0;border-bottom-left-radius: 0;}}#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link:hover, #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link:focus {background-color: #dddddd;font-weight: normal;text-decoration: none;color: #666;}@media only screen and (min-width: 1025px) {#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item ul.mega-sub-menu {position: absolute;left: 100%;top: 0;}}@media only screen and (max-width: 1024px) {#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item ul.mega-sub-menu a.mega-menu-link {padding-left: 20px;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item ul.mega-sub-menu ul.mega-sub-menu a.mega-menu-link {padding-left: 30px;}}#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item-has-children > a.mega-menu-link > span.mega-indicator {display: inline-block;height: 100%;font-size: inherit;line-height: inherit;margin: 0 0 0 6px;color: inherit;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item-has-children > a.mega-menu-link > span.mega-indicator:after {display: inline-block;vertical-align: top;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;content: "";font-family: dashicons;font-weight: normal;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item-has-children li.mega-menu-item-has-children > a.mega-menu-link > span.mega-indicator {float: right;margin-left: auto;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item-has-children.mega-collapse-children.mega-toggle-on > a.mega-menu-link > span.mega-indicator:after {content: "";}@media only screen and (max-width: 1024px) {#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item-has-children > a.mega-menu-link > span.mega-indicator {float: right;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item-has-children.mega-toggle-on > a.mega-menu-link > span.mega-indicator:after {content: "";}#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item-has-children.mega-hide-sub-menu-on-mobile > a.mega-menu-link > span.mega-indicator {display: none;}}#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-megamenu:not(.mega-menu-tabbed) li.mega-menu-item-has-children:not(.mega-collapse-children) > a.mega-menu-link > span.mega-indicator, #mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item-has-children.mega-hide-arrow > a.mega-menu-link > span.mega-indicator {display: none;}@media only screen and (min-width: 1025px) {#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-flyout li.mega-menu-item a.mega-menu-link > span.mega-indicator:after {content: "";}#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-flyout.mega-align-bottom-right li.mega-menu-item a.mega-menu-link {text-align: right;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-flyout.mega-align-bottom-right li.mega-menu-item a.mega-menu-link > span.mega-indicator {float: left;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-flyout.mega-align-bottom-right li.mega-menu-item a.mega-menu-link > span.mega-indicator:after {content: "";margin: 0 6px 0 0;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-flyout.mega-align-bottom-right li.mega-menu-item a.mega-menu-link:before {float: right;margin: 0 0 0 6px;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-flyout.mega-align-bottom-right ul.mega-sub-menu li.mega-menu-item ul.mega-sub-menu {left: -100%;top: 0;}}@media only screen and (max-width: 1024px) {#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-hide-on-mobile, #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-hide-on-mobile, #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item.mega-hide-on-mobile {display: none;}}@media only screen and (min-width: 1025px) {#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-hide-on-desktop, #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-hide-on-desktop, #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item.mega-hide-on-desktop {display: none;}}#mega-menu-wrap-menu-1 .mega-menu-toggle {display: none;}#mega-menu-wrap-menu-1 .mega-menu-toggle ~ button.mega-close {display: none;}@media only screen and (max-width: 1024px) {#mega-menu-wrap-menu-1 .mega-menu-toggle {z-index: 1;background-color: rgba(255, 255, 255, 0);line-height: 40px;height: 40px;text-align: left;user-select: none;outline: none;white-space: nowrap;display: flex;}#mega-menu-wrap-menu-1 .mega-menu-toggle img {max-width: 100%;padding: 0;}#mega-menu-wrap-menu-1 .mega-menu-toggle .mega-toggle-blocks-left, #mega-menu-wrap-menu-1 .mega-menu-toggle .mega-toggle-blocks-center, #mega-menu-wrap-menu-1 .mega-menu-toggle .mega-toggle-blocks-right {display: flex;flex: 1;gap: 6px;}#mega-menu-wrap-menu-1 .mega-menu-toggle .mega-toggle-block {display: flex;height: 100%;outline: 0;align-self: center;flex-shrink: 0;}#mega-menu-wrap-menu-1 .mega-menu-toggle .mega-toggle-blocks-left {justify-content: flex-start;padding-left: 6px;}#mega-menu-wrap-menu-1 .mega-menu-toggle .mega-toggle-blocks-center {justify-content: center;}#mega-menu-wrap-menu-1 .mega-menu-toggle .mega-toggle-blocks-right {justify-content: flex-end;padding-right: 6px;}#mega-menu-wrap-menu-1 .mega-menu-toggle + #mega-menu-menu-1 {flex-direction: column;flex-wrap: nowrap;background-color: white;padding: 20px 20px 20px 10px;display: none;position: absolute;width: 100%;z-index: 9999999;}#mega-menu-wrap-menu-1 .mega-menu-toggle.mega-menu-open + #mega-menu-menu-1 {display: flex;visibility: visible;}}#mega-menu-wrap-menu-1 span.mega-menu-badge {position: relative;}.elementor-sticky__spacer #mega-menu-wrap-menu-1 #mega-menu-menu-1, .elementor-sticky__spacer #mega-menu-wrap-menu-1 #mega-menu-menu-1 .mega-sub-menu {visibility: inherit !important;}#mega-menu-wrap-menu-1 .mega-menu-toggle .mega-toggle-block-0 {/*! * Hamburgers * @description Tasty CSS-animated hamburgers * @author Jonathan Suh @jonsuh * @site https://jonsuh.com/hamburgers * @link https://github.com/jonsuh/hamburgers */}#mega-menu-wrap-menu-1 .mega-menu-toggle .mega-toggle-block-0 .mega-toggle-animated {padding: 0;display: flex;align-items: center;justify-content: center;width: 100%;height: 100%;cursor: pointer;transition-property: opacity, filter;transition-duration: 0.15s;transition-timing-function: linear;font: inherit;color: inherit;text-transform: none;background-color: transparent;border: 0;margin: 0;overflow: visible;transform: scale(0.8);align-self: center;outline: 0;background: none;}#mega-menu-wrap-menu-1 .mega-menu-toggle .mega-toggle-block-0 .mega-toggle-animated-box {width: 40px;height: 24px;display: inline-block;position: relative;outline: 0;}#mega-menu-wrap-menu-1 .mega-menu-toggle .mega-toggle-block-0 .mega-toggle-animated-inner {display: block;top: 50%;margin-top: -2px;}#mega-menu-wrap-menu-1 .mega-menu-toggle .mega-toggle-block-0 .mega-toggle-animated-inner, #mega-menu-wrap-menu-1 .mega-menu-toggle .mega-toggle-block-0 .mega-toggle-animated-inner::before, #mega-menu-wrap-menu-1 .mega-menu-toggle .mega-toggle-block-0 .mega-toggle-animated-inner::after {width: 40px;height: 4px;background-color: #ddd;border-radius: 4px;position: absolute;transition-property: transform;transition-duration: 0.15s;transition-timing-function: ease;}#mega-menu-wrap-menu-1 .mega-menu-toggle .mega-toggle-block-0 .mega-toggle-animated-inner::before, #mega-menu-wrap-menu-1 .mega-menu-toggle .mega-toggle-block-0 .mega-toggle-animated-inner::after {content: "";display: block;}#mega-menu-wrap-menu-1 .mega-menu-toggle .mega-toggle-block-0 .mega-toggle-animated-inner::before {top: -10px;}#mega-menu-wrap-menu-1 .mega-menu-toggle .mega-toggle-block-0 .mega-toggle-animated-inner::after {bottom: -10px;}#mega-menu-wrap-menu-1 .mega-menu-toggle .mega-toggle-block-0 .mega-toggle-animated-slider .mega-toggle-animated-inner {top: 2px;}#mega-menu-wrap-menu-1 .mega-menu-toggle .mega-toggle-block-0 .mega-toggle-animated-slider .mega-toggle-animated-inner::before {top: 10px;transition-property: transform, opacity;transition-timing-function: ease;transition-duration: 0.15s;}#mega-menu-wrap-menu-1 .mega-menu-toggle .mega-toggle-block-0 .mega-toggle-animated-slider .mega-toggle-animated-inner::after {top: 20px;}#mega-menu-wrap-menu-1 .mega-menu-toggle.mega-menu-open .mega-toggle-block-0 .mega-toggle-animated-slider .mega-toggle-animated-inner {transform: translate3d(0, 10px, 0) rotate(45deg);}#mega-menu-wrap-menu-1 .mega-menu-toggle.mega-menu-open .mega-toggle-block-0 .mega-toggle-animated-slider .mega-toggle-animated-inner::before {transform: rotate(-45deg) translate3d(-5.71429px, -6px, 0);opacity: 0;}#mega-menu-wrap-menu-1 .mega-menu-toggle.mega-menu-open .mega-toggle-block-0 .mega-toggle-animated-slider .mega-toggle-animated-inner::after {transform: translate3d(0, -20px, 0) rotate(-90deg);}#mega-menu-wrap-menu-1.mega-sticky {position: fixed;top: 0;left: 0;right: 0;z-index: 99998;opacity: 1;max-width: 100%;width: 100%;margin: 0 auto;background: transparent;}#mega-menu-wrap-menu-1.mega-sticky #mega-menu-menu-1 {background-color: rgba(255, 255, 255, 0);}@media only screen and (max-width: 1024px) {#mega-menu-wrap-menu-1.mega-sticky #mega-menu-menu-1 {background-color: white;}}#mega-menu-wrap-menu-1.mega-stuck {transition: transform 0.25s ease-in-out;}#mega-menu-wrap-menu-1.mega-stuck.mega-hide {transform: translateY(-100%);}@media only screen and (max-width: 1024px) {#mega-menu-wrap-menu-1.mega-sticky #mega-menu-menu-1:not([data-effect-mobile^="slide_"]) {max-height: calc(100vh - 40px);overflow: auto;}body.admin-bar #mega-menu-wrap-menu-1.mega-sticky #mega-menu-menu-1:not([data-effect-mobile^="slide_"]) {max-height: calc(100vh - 40px - 42px);}}#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item.mega-show-when-sticky {display: none;}#mega-menu-wrap-menu-1.mega-sticky #mega-menu-menu-1 li.mega-menu-item.mega-hide-when-sticky {display: none;}#mega-menu-wrap-menu-1.mega-sticky #mega-menu-menu-1 li.mega-menu-item.mega-show-when-sticky {display: inline-block;}@media only screen and (max-width: 1024px) {#mega-menu-wrap-menu-1.mega-sticky #mega-menu-menu-1 li.mega-menu-item.mega-show-when-sticky.mega-hide-on-mobile {display: none;}}@media only screen and (max-width: 1024px) {#mega-menu-wrap-menu-1 #mega-menu-menu-1 .mega-sub-menu li#mega-menu-item-119.mega-icon-top > a.mega-menu-link:before {width: 100%;min-width: 20px;background-position-x: center;}}@media only screen and (min-width: 1025px) {#mega-menu-wrap-menu-1 #mega-menu-menu-1 li#mega-menu-item-119.mega-icon-top > a.mega-menu-link:before {width: 100%;min-width: 50px;background-position-x: center;}}#mega-menu-wrap-menu-1 #mega-menu-menu-1 li#mega-menu-item-119 > a.mega-menu-link:before {content: "";background-image: url("//www.heroku.com/wp-content/uploads/2025/04/platform-50x50.png");background-size: 50px 50px;background-repeat: no-repeat;width: 50px;height: 50px;line-height: 50px;vertical-align: middle;}@media (-webkit-min-device-pixel-ratio: 2) {#mega-menu-wrap-menu-1 #mega-menu-menu-1 li#mega-menu-item-119 > a.mega-menu-link:before {background-image: url("//www.heroku.com/wp-content/uploads/2025/04/platform-100x100.png");}}@media only screen and (max-width: 1024px) {#mega-menu-wrap-menu-1 #mega-menu-menu-1 li#mega-menu-item-119 > a.mega-menu-link:before {background-size: 20px 20px;width: 20px;height: 20px;line-height: 20px;}}@media only screen and (max-width: 1024px) {#mega-menu-wrap-menu-1 #mega-menu-menu-1 .mega-sub-menu li#mega-menu-item-13876.mega-icon-top > a.mega-menu-link:before {width: 100%;min-width: 20px;background-position-x: center;}}@media only screen and (min-width: 1025px) {#mega-menu-wrap-menu-1 #mega-menu-menu-1 li#mega-menu-item-13876.mega-icon-top > a.mega-menu-link:before {width: 100%;min-width: 50px;background-position-x: center;}}#mega-menu-wrap-menu-1 #mega-menu-menu-1 li#mega-menu-item-13876 > a.mega-menu-link:before {content: "";background-image: url("//www.heroku.com/wp-content/uploads/2025/05/ai-50x50.png");background-size: 50px 50px;background-repeat: no-repeat;width: 50px;height: 50px;line-height: 50px;vertical-align: middle;}@media (-webkit-min-device-pixel-ratio: 2) {#mega-menu-wrap-menu-1 #mega-menu-menu-1 li#mega-menu-item-13876 > a.mega-menu-link:before {background-image: url("//www.heroku.com/wp-content/uploads/2025/05/ai-100x100.png");}}@media only screen and (max-width: 1024px) {#mega-menu-wrap-menu-1 #mega-menu-menu-1 li#mega-menu-item-13876 > a.mega-menu-link:before {background-size: 20px 20px;width: 20px;height: 20px;line-height: 20px;}}@media only screen and (max-width: 1024px) {#mega-menu-wrap-menu-1 #mega-menu-menu-1 .mega-sub-menu li#mega-menu-item-132.mega-icon-top > a.mega-menu-link:before {width: 100%;min-width: 20px;background-position-x: center;}}@media only screen and (min-width: 1025px) {#mega-menu-wrap-menu-1 #mega-menu-menu-1 li#mega-menu-item-132.mega-icon-top > a.mega-menu-link:before {width: 100%;min-width: 50px;background-position-x: center;}}#mega-menu-wrap-menu-1 #mega-menu-menu-1 li#mega-menu-item-132 > a.mega-menu-link:before {content: "";background-image: url("//www.heroku.com/wp-content/uploads/2025/04/data-50x50.png");background-size: 50px 50px;background-repeat: no-repeat;width: 50px;height: 50px;line-height: 50px;vertical-align: top;}@media (-webkit-min-device-pixel-ratio: 2) {#mega-menu-wrap-menu-1 #mega-menu-menu-1 li#mega-menu-item-132 > a.mega-menu-link:before {background-image: url("//www.heroku.com/wp-content/uploads/2025/04/data-100x100.png");}}@media only screen and (max-width: 1024px) {#mega-menu-wrap-menu-1 #mega-menu-menu-1 li#mega-menu-item-132 > a.mega-menu-link:before {background-size: 20px 20px;width: 20px;height: 20px;line-height: 20px;}}@media only screen and (max-width: 1024px) {#mega-menu-wrap-menu-1 #mega-menu-menu-1 .mega-sub-menu li#mega-menu-item-136.mega-icon-top > a.mega-menu-link:before {width: 100%;min-width: 20px;background-position-x: center;}}@media only screen and (min-width: 1025px) {#mega-menu-wrap-menu-1 #mega-menu-menu-1 li#mega-menu-item-136.mega-icon-top > a.mega-menu-link:before {width: 100%;min-width: 50px;background-position-x: center;}}#mega-menu-wrap-menu-1 #mega-menu-menu-1 li#mega-menu-item-136 > a.mega-menu-link:before {content: "";background-image: url("//www.heroku.com/wp-content/uploads/2025/04/enterprise-50x50.png");background-size: 50px 50px;background-repeat: no-repeat;width: 50px;height: 50px;line-height: 50px;vertical-align: top;}@media (-webkit-min-device-pixel-ratio: 2) {#mega-menu-wrap-menu-1 #mega-menu-menu-1 li#mega-menu-item-136 > a.mega-menu-link:before {background-image: url("//www.heroku.com/wp-content/uploads/2025/04/enterprise-100x100.png");}}@media only screen and (max-width: 1024px) {#mega-menu-wrap-menu-1 #mega-menu-menu-1 li#mega-menu-item-136 > a.mega-menu-link:before {background-size: 20px 20px;width: 20px;height: 20px;line-height: 20px;}}@media only screen and (max-width: 1024px) {#mega-menu-wrap-menu-1 #mega-menu-menu-1 .mega-sub-menu li#mega-menu-item-2160.mega-icon-top > a.mega-menu-link:before {width: 100%;min-width: 20px;background-position-x: center;}}@media only screen and (min-width: 1025px) {#mega-menu-wrap-menu-1 #mega-menu-menu-1 li#mega-menu-item-2160.mega-icon-top > a.mega-menu-link:before {width: 100%;min-width: 50px;background-position-x: center;}}#mega-menu-wrap-menu-1 #mega-menu-menu-1 li#mega-menu-item-2160 > a.mega-menu-link:before {content: "";background-image: url("//www.heroku.com/wp-content/uploads/2025/04/icon-support-50x50.png");background-size: 50px 50px;background-repeat: no-repeat;width: 50px;height: 50px;line-height: 50px;vertical-align: middle;}@media (-webkit-min-device-pixel-ratio: 2) {#mega-menu-wrap-menu-1 #mega-menu-menu-1 li#mega-menu-item-2160 > a.mega-menu-link:before {background-image: url("//www.heroku.com/wp-content/uploads/2025/04/icon-support-100x100.png");}}@media only screen and (max-width: 1024px) {#mega-menu-wrap-menu-1 #mega-menu-menu-1 li#mega-menu-item-2160 > a.mega-menu-link:before {background-size: 20px 20px;width: 20px;height: 20px;line-height: 20px;}}@media only screen and (max-width: 1024px) {#mega-menu-wrap-menu-1 #mega-menu-menu-1 .mega-sub-menu li#mega-menu-item-146.mega-icon-top > a.mega-menu-link:before {width: 100%;min-width: 20px;background-position-x: center;}}@media only screen and (min-width: 1025px) {#mega-menu-wrap-menu-1 #mega-menu-menu-1 li#mega-menu-item-146.mega-icon-top > a.mega-menu-link:before {width: 100%;min-width: 50px;background-position-x: center;}}#mega-menu-wrap-menu-1 #mega-menu-menu-1 li#mega-menu-item-146 > a.mega-menu-link:before {content: "";background-image: url("//www.heroku.com/wp-content/uploads/2025/04/addons-50x50.png");background-size: 50px 50px;background-repeat: no-repeat;width: 50px;height: 50px;line-height: 50px;vertical-align: middle;}@media (-webkit-min-device-pixel-ratio: 2) {#mega-menu-wrap-menu-1 #mega-menu-menu-1 li#mega-menu-item-146 > a.mega-menu-link:before {background-image: url("//www.heroku.com/wp-content/uploads/2025/04/addons-100x100.png");}}@media only screen and (max-width: 1024px) {#mega-menu-wrap-menu-1 #mega-menu-menu-1 li#mega-menu-item-146 > a.mega-menu-link:before {background-size: 20px 20px;width: 20px;height: 20px;line-height: 20px;}}#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item a[class^="genericon"]:before {font-family: genericons;}#mega-menu-wrap-menu-1 #mega-menu-menu-1.mega-menu-vertical {flex-direction: column;}#mega-menu-wrap-menu-1 #mega-menu-menu-1.mega-menu-vertical > li.mega-menu-item {display: list-item;margin: 0;clear: both;width: 100%;margin: 0 0 0px 0;}#mega-menu-wrap-menu-1 #mega-menu-menu-1.mega-menu-vertical > li.mega-menu-item > a.mega-menu-link {height: auto;}#mega-menu-wrap-menu-1 #mega-menu-menu-1.mega-menu-vertical > li.mega-menu-item.mega-icon-top > a.mega-menu-link {display: list-item;}@media only screen and (max-width: 1024px) {#mega-menu-wrap-menu-1 #mega-menu-menu-1.mega-menu-vertical > li.mega-menu-item.mega-hide-on-mobile {display: none;}}@media only screen and (min-width: 1025px) {#mega-menu-wrap-menu-1 #mega-menu-menu-1.mega-menu-vertical > li.mega-menu-item.mega-hide-on-desktop {display: none;}}@media only screen and (min-width: 1025px) {#mega-menu-wrap-menu-1 #mega-menu-menu-1.mega-menu-vertical > li.mega-menu-megamenu > ul.mega-sub-menu {width: 600px;}}#mega-menu-wrap-menu-1 #mega-menu-menu-1.mega-menu-vertical > li.mega-menu-megamenu.mega-menu-item, #mega-menu-wrap-menu-1 #mega-menu-menu-1.mega-menu-vertical > li.mega-menu-flyout.mega-menu-item {position: relative;}@media only screen and (min-width: 1025px) {#mega-menu-wrap-menu-1 #mega-menu-menu-1.mega-menu-vertical li.mega-align-bottom-right.mega-menu-item-has-children li.mega-menu-item a.mega-menu-link, #mega-menu-wrap-menu-1 #mega-menu-menu-1.mega-menu-vertical li.mega-align-bottom-right.mega-menu-flyout li.mega-menu-item-has-children li.mega-menu-item a.mega-menu-link {text-align: left;}#mega-menu-wrap-menu-1 #mega-menu-menu-1.mega-menu-vertical li.mega-align-bottom-right.mega-menu-item-has-children > a.mega-menu-link > span.mega-indicator, #mega-menu-wrap-menu-1 #mega-menu-menu-1.mega-menu-vertical li.mega-align-bottom-right.mega-menu-flyout li.mega-menu-item-has-children > a.mega-menu-link > span.mega-indicator {float: right;margin-left: auto;}#mega-menu-wrap-menu-1 #mega-menu-menu-1.mega-menu-vertical li.mega-align-bottom-right.mega-menu-item-has-children > a.mega-menu-link > span.mega-indicator:after, #mega-menu-wrap-menu-1 #mega-menu-menu-1.mega-menu-vertical li.mega-align-bottom-right.mega-menu-flyout li.mega-menu-item-has-children > a.mega-menu-link > span.mega-indicator:after {content: "";margin: 0;}#mega-menu-wrap-menu-1 #mega-menu-menu-1.mega-menu-vertical li.mega-align-bottom-left.mega-menu-item-has-children > a.mega-menu-link, #mega-menu-wrap-menu-1 #mega-menu-menu-1.mega-menu-vertical li.mega-align-bottom-left.mega-menu-flyout li.mega-menu-item-has-children > a.mega-menu-link {text-align: right;}#mega-menu-wrap-menu-1 #mega-menu-menu-1.mega-menu-vertical li.mega-align-bottom-left.mega-menu-item-has-children > a.mega-menu-link > span.mega-indicator, #mega-menu-wrap-menu-1 #mega-menu-menu-1.mega-menu-vertical li.mega-align-bottom-left.mega-menu-flyout li.mega-menu-item-has-children > a.mega-menu-link > span.mega-indicator {float: left;margin-left: auto;}#mega-menu-wrap-menu-1 #mega-menu-menu-1.mega-menu-vertical li.mega-align-bottom-left.mega-menu-item-has-children > a.mega-menu-link > span.mega-indicator:after, #mega-menu-wrap-menu-1 #mega-menu-menu-1.mega-menu-vertical li.mega-align-bottom-left.mega-menu-flyout li.mega-menu-item-has-children > a.mega-menu-link > span.mega-indicator:after {content: "";margin: 0;}#mega-menu-wrap-menu-1 #mega-menu-menu-1.mega-menu-vertical li.mega-align-bottom-left.mega-menu-item-has-children.mega-icon-left > a.mega-menu-link:before, #mega-menu-wrap-menu-1 #mega-menu-menu-1.mega-menu-vertical li.mega-align-bottom-left.mega-menu-flyout li.mega-menu-item-has-children.mega-icon-left > a.mega-menu-link:before {float: right;margin: 0 0 0 6px;}}#mega-menu-wrap-menu-1 #mega-menu-menu-1.mega-menu-vertical li.mega-menu-megamenu.mega-align-bottom-right > ul.mega-sub-menu {top: 0;left: 100%;right: auto;}#mega-menu-wrap-menu-1 #mega-menu-menu-1.mega-menu-vertical li.mega-menu-flyout.mega-align-bottom-right ul.mega-sub-menu, #mega-menu-wrap-menu-1 #mega-menu-menu-1.mega-menu-vertical li.mega-menu-flyout.mega-align-bottom-right li.mega-menu-item ul.mega-sub-menu, #mega-menu-wrap-menu-1 #mega-menu-menu-1.mega-menu-vertical li.mega-menu-flyout.mega-align-bottom-right ul.mega-sub-menu li.mega-menu-item ul.mega-sub-menu {top: 0;left: 100%;right: auto;}#mega-menu-wrap-menu-1 #mega-menu-menu-1.mega-menu-vertical li.mega-menu-flyout.mega-align-bottom-right.mega-icon-left > a.mega-menu-link:before, #mega-menu-wrap-menu-1 #mega-menu-menu-1.mega-menu-vertical li.mega-menu-flyout.mega-align-bottom-right li.mega-menu-item.mega-icon-left > a.mega-menu-link:before, #mega-menu-wrap-menu-1 #mega-menu-menu-1.mega-menu-vertical li.mega-menu-flyout.mega-align-bottom-right ul.mega-sub-menu li.mega-menu-item.mega-icon-left > a.mega-menu-link:before {float: left;margin: 0 6px 0 0;}#mega-menu-wrap-menu-1 #mega-menu-menu-1.mega-menu-vertical li.mega-menu-megamenu.mega-align-bottom-left > ul.mega-sub-menu {top: 0;left: auto;right: 100%;}#mega-menu-wrap-menu-1 #mega-menu-menu-1.mega-menu-vertical li.mega-menu-flyout.mega-align-bottom-left > ul.mega-sub-menu, #mega-menu-wrap-menu-1 #mega-menu-menu-1.mega-menu-vertical li.mega-menu-flyout.mega-align-bottom-left li.mega-menu-item > ul.mega-sub-menu, #mega-menu-wrap-menu-1 #mega-menu-menu-1.mega-menu-vertical li.mega-menu-flyout.mega-align-bottom-left li.mega-menu-item ul.mega-sub-menu li.mega-menu-item > ul.mega-sub-menu {top: 0;left: auto;right: 100%;}#mega-menu-wrap-menu-1 #mega-menu-menu-1.mega-menu-accordion {flex-direction: column;}#mega-menu-wrap-menu-1 #mega-menu-menu-1.mega-menu-accordion > li.mega-menu-item {display: list-item;margin: 0;clear: both;width: 100%;margin: 0 0 0px 0;}#mega-menu-wrap-menu-1 #mega-menu-menu-1.mega-menu-accordion > li.mega-menu-item > a.mega-menu-link {height: auto;}#mega-menu-wrap-menu-1 #mega-menu-menu-1.mega-menu-accordion > li.mega-menu-item.mega-icon-top > a.mega-menu-link {display: list-item;}@media only screen and (max-width: 1024px) {#mega-menu-wrap-menu-1 #mega-menu-menu-1.mega-menu-accordion > li.mega-menu-item.mega-hide-on-mobile {display: none;}}@media only screen and (min-width: 1025px) {#mega-menu-wrap-menu-1 #mega-menu-menu-1.mega-menu-accordion > li.mega-menu-item.mega-hide-on-desktop {display: none;}}#mega-menu-wrap-menu-1 #mega-menu-menu-1.mega-menu-accordion > li.mega-menu-megamenu > ul.mega-sub-menu {position: static;width: 100% !important;}#mega-menu-wrap-menu-1 #mega-menu-menu-1.mega-menu-accordion > li.mega-menu-flyout > ul.mega-sub-menu {position: static;width: 100% !important;padding: 0;}#mega-menu-wrap-menu-1 #mega-menu-menu-1.mega-menu-accordion > li.mega-menu-flyout > ul.mega-sub-menu li.mega-menu-item.mega-current-menu-item > a.mega-menu-link {background-color: #dddddd;font-weight: normal;text-decoration: none;color: #666;}#mega-menu-wrap-menu-1 #mega-menu-menu-1.mega-menu-accordion > li.mega-menu-flyout > ul.mega-sub-menu li.mega-menu-item ul.mega-sub-menu {position: static;left: 0;width: 100%;border: 0;box-shadow: none;}#mega-menu-wrap-menu-1 #mega-menu-menu-1.mega-menu-accordion > li.mega-menu-flyout > ul.mega-sub-menu li.mega-menu-item ul.mega-sub-menu a.mega-menu-link {padding-left: 20px;}#mega-menu-wrap-menu-1 #mega-menu-menu-1.mega-menu-accordion > li.mega-menu-flyout > ul.mega-sub-menu li.mega-menu-item ul.mega-sub-menu li.mega-menu-item ul.mega-sub-menu a.mega-menu-link {padding-left: 30px;}#mega-menu-wrap-menu-1 #mega-menu-menu-1.mega-menu-accordion > li.mega-menu-flyout > ul.mega-sub-menu li.mega-menu-item ul.mega-sub-menu li.mega-menu-item ul.mega-sub-menu li.mega-menu-item ul.mega-sub-menu a.mega-menu-link {padding-left: 40px;}#mega-menu-wrap-menu-1 #mega-menu-menu-1.mega-menu-accordion li.mega-menu-item > ul.mega-sub-menu {display: none;visibility: visible;opacity: 1;}#mega-menu-wrap-menu-1 #mega-menu-menu-1.mega-menu-accordion li.mega-menu-item.mega-toggle-on > ul.mega-sub-menu, #mega-menu-wrap-menu-1 #mega-menu-menu-1.mega-menu-accordion li.mega-menu-item.mega-menu-megamenu.mega-toggle-on ul.mega-sub-menu {display: block;}@media only screen and (min-width: 1025px) {#mega-menu-wrap-menu-1 #mega-menu-menu-1.mega-menu-accordion li.mega-menu-item-has-children > a.mega-menu-link > span.mega-indicator {float: right;margin-left: auto;}}#mega-menu-wrap-menu-1 #mega-menu-menu-1.mega-menu-accordion li.mega-menu-item li.mega-menu-item-has-children > a.mega-menu-link > span.mega-indicator:after {content: "";}#mega-menu-wrap-menu-1 #mega-menu-menu-1.mega-menu-accordion li.mega-menu-item-has-children.mega-toggle-on > a.mega-menu-link > span.mega-indicator:after, #mega-menu-wrap-menu-1 #mega-menu-menu-1.mega-menu-accordion li.mega-menu-item li.mega-menu-item-has-children.mega-toggle-on > a.mega-menu-link > span.mega-indicator:after {content: "";}#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-bp-profile-nav img.avatar, #mega-menu-wrap-menu-1 #mega-menu-menu-1 img.mmm_gravatar {vertical-align: middle;position: relative;top: -1px;display: inline-block;max-height: 100%;}@media only screen and (max-width: 1024px) {#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-bp-profile-nav img.avatar, #mega-menu-wrap-menu-1 #mega-menu-menu-1 img.mmm_gravatar {max-height: 90%;width: auto;}}#mega-menu-wrap-menu-1 #mega-menu-menu-1 img.avatar {vertical-align: middle;position: relative;top: -1px;}#mega-menu-wrap-menu-1 > li.mega-menu-item.mega-current-menu-item > a.mega-menu-logo, #mega-menu-wrap-menu-1 > li.mega-menu-item.mega-current-menu-ancestor > a.mega-menu-logo {background: inherit;}#mega-menu-wrap-menu-1 li.mega-menu-item img.mega-menu-logo {display: inline;vertical-align: middle;max-height: none;}@media only screen and (max-width: 1024px) {#mega-menu-wrap-menu-1 li.mega-menu-item img.mega-menu-logo {max-height: 90%;width: auto;}}@media only screen and (max-width: 1024px) {#mega-menu-wrap-menu-1 #mega-menu-menu-1[data-effect-mobile^="slide_"] li.mega-menu-item a.mega-menu-link.mega-menu-logo {padding-top: 10px;padding-bottom: 10px;text-align: center;justify-content: center;height: auto;}}#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-tabbed > ul.mega-sub-menu {padding: 0;flex-direction: column;}@media only screen and (min-width: 1025px) {#mega-menu-wrap-menu-1 #mega-menu-menu-1[data-effect="fade"] li.mega-menu-item.mega-menu-tabbed > ul.mega-sub-menu > li.mega-menu-item:not(.mega-disable-transition) > ul.mega-sub-menu {opacity: 1;transition: none;}#mega-menu-wrap-menu-1 #mega-menu-menu-1[data-effect="fade"] li.mega-menu-item.mega-menu-tabbed > ul.mega-sub-menu > li.mega-menu-item:not(.mega-disable-transition) > ul.mega-sub-menu > li {opacity: 0;transition: opacity 200ms ease-in;}#mega-menu-wrap-menu-1 #mega-menu-menu-1[data-effect="fade"] li.mega-menu-item.mega-menu-tabbed > ul.mega-sub-menu > li.mega-menu-item:not(.mega-disable-transition).mega-toggle-on > ul.mega-sub-menu > li {opacity: 1;}#mega-menu-wrap-menu-1 #mega-menu-menu-1[data-effect="fade_up"] li.mega-menu-item.mega-menu-tabbed > ul.mega-sub-menu > li.mega-menu-item:not(.mega-disable-transition) > ul.mega-sub-menu {opacity: 1;transform: translate(0, 0);transition: none;}#mega-menu-wrap-menu-1 #mega-menu-menu-1[data-effect="fade_up"] li.mega-menu-item.mega-menu-tabbed > ul.mega-sub-menu > li.mega-menu-item:not(.mega-disable-transition) > ul.mega-sub-menu > li {opacity: 0;transform: translate(0, 10px);transition: opacity 200ms ease-in, transform 200ms ease-in;}#mega-menu-wrap-menu-1 #mega-menu-menu-1[data-effect="fade_up"] li.mega-menu-item.mega-menu-tabbed > ul.mega-sub-menu > li.mega-menu-item:not(.mega-disable-transition).mega-toggle-on > ul.mega-sub-menu > li {opacity: 1;transform: translate(0, 0);}#mega-menu-wrap-menu-1 #mega-menu-menu-1[data-effect="slide_up"] li.mega-menu-item.mega-menu-tabbed > ul.mega-sub-menu > li.mega-menu-item:not(.mega-disable-transition) > ul.mega-sub-menu {transform: translate(0, 0);transition: none;}#mega-menu-wrap-menu-1 #mega-menu-menu-1[data-effect="slide_up"] li.mega-menu-item.mega-menu-tabbed > ul.mega-sub-menu > li.mega-menu-item:not(.mega-disable-transition) > ul.mega-sub-menu > li {transform: translate(0, 10px);transition: transform 200ms ease-in;}#mega-menu-wrap-menu-1 #mega-menu-menu-1[data-effect="slide_up"] li.mega-menu-item.mega-menu-tabbed > ul.mega-sub-menu > li.mega-menu-item:not(.mega-disable-transition).mega-toggle-on > ul.mega-sub-menu > li {transform: translate(0, 0);}}#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-tabbed > ul.mega-sub-menu > li.mega-menu-item {width: 100%;padding: 0;position: static;/* Tab Content *//* Tab Content Widget */}#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-tabbed > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link {display: flex;width: 20%;background-color: #f1f1f1;color: #666;font-family: inherit;font-size: 14px;font-weight: normal;padding: 0px 10px 0px 10px;min-height: 35px;height: fit-content;align-items: center;text-decoration: none;text-transform: none;margin: 0;border: 0;cursor: pointer;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-tabbed > ul.mega-sub-menu > li.mega-menu-item.mega-toggle-on > a.mega-menu-link, #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-tabbed > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link:hover, #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-tabbed > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link:focus {background-color: #dddddd;font-weight: normal;text-decoration: none;color: #666;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-tabbed > ul.mega-sub-menu > li.mega-menu-item.mega-menu-item-has-children > a.mega-menu-link > .mega-indicator {margin-left: auto;}@media only screen and (min-width: 1025px) {#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-tabbed > ul.mega-sub-menu > li.mega-menu-item.mega-menu-item-has-children > a.mega-menu-link > .mega-indicator:after {content: "";}}#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-tabbed > ul.mega-sub-menu > li.mega-menu-item > ul.mega-sub-menu {width: 80%;float: left;clear: none;position: absolute;top: 0;left: 20%;visibility: hidden;border-left: 1px solid #ccc;padding: 0px 0px 0px 0px;min-height: 100%;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-tabbed > ul.mega-sub-menu > li.mega-menu-item > ul.mega-sub-menu .mega-menu-item-has-children > a.mega-menu-link:after {display: none;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-tabbed > ul.mega-sub-menu > li.mega-menu-item.mega-toggle-on > ul.mega-sub-menu {visibility: visible;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-tabbed > ul.mega-sub-menu > li.mega-menu-item > ul.mega-sub-menu > li.mega-menu-item {float: left;padding: 15px 15px 15px 15px;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-tabbed > ul.mega-sub-menu > li.mega-menu-item > ul.mega-sub-menu > li.mega-menu-item.mega-menu-clear {clear: left;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-tabbed > ul.mega-sub-menu > li.mega-menu-item ul.mega-sub-menu li.mega-menu-item ul.mega-sub-menu {margin-left: 0;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-tabbed > ul.mega-sub-menu > li.mega-menu-item ul.mega-sub-menu li.mega-menu-item ul.mega-sub-menu li.mega-menu-item ul.mega-sub-menu {margin-left: 10px;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-tabbed > ul.mega-sub-menu > li.mega-menu-item > ul.mega-sub-menu > li.mega-menu-item {/* Second level menu item *//* Second level menu item hover *//* Third level menu item *//* Third level menu item hover */}#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-tabbed > ul.mega-sub-menu > li.mega-menu-item > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link {color: black;font-family: inherit;font-size: 16px;text-transform: none;text-decoration: none;font-weight: bold;margin: 0px 0px 0px 0px;padding: 0px 0px 0px 0px;vertical-align: top;display: block;border-top: 0px solid rgba(0, 0, 0, 0);border-left: 0px solid rgba(0, 0, 0, 0);border-right: 0px solid rgba(0, 0, 0, 0);border-bottom: 0px solid rgba(0, 0, 0, 0);}#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-tabbed > ul.mega-sub-menu > li.mega-menu-item > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link:hover, #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-tabbed > ul.mega-sub-menu > li.mega-menu-item > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link:focus {color: #ee643f;font-weight: bold;text-decoration: none;background-color: rgba(0, 0, 0, 0);}#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-tabbed > ul.mega-sub-menu > li.mega-menu-item > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link:hover > span.mega-title-below, #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-tabbed > ul.mega-sub-menu > li.mega-menu-item > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link:focus > span.mega-title-below {text-decoration: none;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-tabbed > ul.mega-sub-menu > li.mega-menu-item > ul.mega-sub-menu > li.mega-menu-item li.mega-menu-item > a.mega-menu-link {color: black;font-family: inherit;font-size: 14px;text-transform: none;text-decoration: none;font-weight: 300;margin: 0px 0px 0px 0px;padding: 0px 0px 0px 0px;vertical-align: top;display: block;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-tabbed > ul.mega-sub-menu > li.mega-menu-item > ul.mega-sub-menu > li.mega-menu-item li.mega-menu-item > a.mega-menu-link:hover, #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-tabbed > ul.mega-sub-menu > li.mega-menu-item > ul.mega-sub-menu > li.mega-menu-item li.mega-menu-item > a.mega-menu-link:focus {color: #ee643f;font-weight: 300;text-decoration: none;background-color: rgba(0, 0, 0, 0);}#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-tabbed > ul.mega-sub-menu > li.mega-menu-item.mega-no-headers > ul.mega-sub-menu > li.mega-menu-item {/* Second level menu item hover */}#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-tabbed > ul.mega-sub-menu > li.mega-menu-item.mega-no-headers > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link {color: black;font-family: inherit;font-size: 14px;text-transform: none;text-decoration: none;font-weight: 300;margin: 0;padding: 0px 0px 0px 0px;vertical-align: top;display: block;border-top: 0;border-left: 0;border-right: 0;border-bottom: 0;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-tabbed > ul.mega-sub-menu > li.mega-menu-item.mega-no-headers > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link:hover, #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-tabbed > ul.mega-sub-menu > li.mega-menu-item.mega-no-headers > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link:focus {color: #ee643f;font-weight: 300;text-decoration: none;background-color: rgba(0, 0, 0, 0);}@media only screen and (max-width: 1024px) {#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item.mega-menu-megamenu.mega-menu-tabbed ul.mega-sub-menu ul.mega-sub-menu, #mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item.mega-menu-megamenu.mega-menu-tabbed ul.mega-sub-menu ul.mega-sub-menu li.mega-collapse-children > ul.mega-sub-menu {display: none;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item.mega-menu-megamenu.mega-menu-tabbed ul.mega-sub-menu ul.mega-sub-menu ul.mega-sub-menu, #mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item.mega-menu-megamenu.mega-menu-tabbed.mega-toggle-on > ul.mega-sub-menu, #mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item.mega-menu-megamenu.mega-menu-tabbed li.mega-menu-item.mega-toggle-on > ul.mega-sub-menu, #mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item.mega-menu-megamenu.mega-menu-tabbed li.mega-menu-item.mega-toggle-on > ul.mega-sub-menu ul.mega-sub-menu, #mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item.mega-menu-megamenu.mega-menu-tabbed ul.mega-sub-menu ul.mega-sub-menu li.mega-collapse-children.mega-toggle-on > ul.mega-sub-menu {display: block;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-tabbed > ul.mega-sub-menu {padding: 0;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-tabbed > ul.mega-sub-menu > li.mega-menu-item > ul.mega-sub-menu > li.mega-menu-item {width: 100%;clear: both;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-tabbed > ul.mega-sub-menu > li.mega-menu-item {width: 100%;padding: 0;position: static;/* Tab Content */}#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-tabbed > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link {width: 100%;float: left;background-color: #f1f1f1;color: #666;font-family: inherit;font-size: 14px;font-weight: normal;padding: 0px 10px 0px 10px;line-height: 35px;text-decoration: none;text-transform: none;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-tabbed > ul.mega-sub-menu > li.mega-menu-item.mega-menu-item-has-children > a.mega-menu-link > span.mega-indicator:after {content: "";}#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-tabbed > ul.mega-sub-menu > li.mega-menu-item.mega-menu-item-has-children.mega-toggle-on > a.mega-menu-link > span.mega-indicator:after {content: "";}#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-tabbed > ul.mega-sub-menu > li.mega-menu-item > ul.mega-sub-menu {width: 100%;position: relative;top: 0;left: auto;border-left: 0;padding: 10px;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-tabbed > ul.mega-sub-menu > li.mega-menu-item ul.mega-sub-menu li.mega-menu-item ul.mega-sub-menu li.mega-menu-item ul.mega-sub-menu {margin-left: 0;}}/** Use FA6 for icons **/#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item > a.fa6.far:before, #mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item > a.fa6.fa-regular:before {font: var(--fa-font-regular);}#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item > a.fa6.fas:before, #mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item > a.fa6.fa-solid:before {font: var(--fa-font-solid);}#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item > a.fa6.fal:before, #mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item > a.fa6.fa-light:before {font: var(--fa-font-light);}#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item > a.fa6.fa-sharp.fa-regular:before {font: var(--fa-font-sharp-regular);}#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item > a.fa6.fa-sharp.fa-solid:before {font: var(--fa-font-sharp-solid);}#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item > a.fa6.fa-sharp.fa-light:before {font: var(--fa-font-sharp-light);}#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item > a.fa6.fa-kit:before {font-family: "Font Awesome Kit";}#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item > a.fa6.fab:before {font: var(--fa-font-brands);}#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item > a.fa6:before {vertical-align: unset;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item.mega-icon-left > a.fas.fa6:before, #mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item.mega-icon-left > a.fab.fa6:before, #mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item.mega-icon-left > a.far.fa6:before, #mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item.mega-icon-left > a.fal.fa6:before {width: 1.25em;text-align: center;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 span.mega-menu-badge {border-radius: 2px;display: inline-flex;line-height: normal;padding: 1px 4px 1px 4px;top: -7px;margin: 0 0 0 6px;text-align: center;}@media only screen and (min-width: 1025px) {#mega-menu-wrap-menu-1 #mega-menu-menu-1 span.mega-menu-badge.mega-hide-on-desktop {display: none;}}@media only screen and (max-width: 1024px) {#mega-menu-wrap-menu-1 #mega-menu-menu-1 span.mega-menu-badge.mega-hide-on-mobile {display: none;}}#mega-menu-wrap-menu-1 #mega-menu-menu-1 span.mega-menu-badge.mega-menu-badge-style-one {background-color: #D32F2F;color: #fff;font-weight: normal;font-size: 10px;text-transform: none;text-decoration: none;font-family: inherit;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 span.mega-menu-badge.mega-menu-badge-style-two {background-color: #00796B;color: #fff;font-weight: normal;font-size: 10px;text-transform: none;text-decoration: none;font-family: inherit;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 span.mega-menu-badge.mega-menu-badge-style-three {background-color: #FFC107;color: #fff;font-weight: normal;font-size: 10px;text-transform: none;text-decoration: none;font-family: inherit;}#mega-menu-wrap-menu-1 #mega-menu-menu-1 span.mega-menu-badge.mega-menu-badge-style-four {background-color: #303F9F;color: #fff;font-weight: normal;font-size: 10px;text-transform: none;text-decoration: none;font-family: inherit;}#mega-menu-wrap-menu-1 .mega-menu-toggle {/** Menu Toggle - Custom Blocks **//** Logo Blocks **//** Icon Toggle Blocks **//** Search Toggle Blocks **/}/** Push menu onto new line **/#mega-menu-wrap-menu-1 {clear: both;}#mega-menu-wrap-menu-1 .mega-menu-toggle .mega-toggle-blocks-left {flex: 0 0 25%;}#mega-menu-wrap-menu-1 .mega-menu-toggle .mega-toggle-blocks-center {flex: 0 0 50%;}#mega-menu-wrap-menu-1 .mega-menu-toggle .mega-toggle-blocks-center .mega-toggle-block {justify-content: center;}#mega-menu-wrap-menu-1 .mega-menu-toggle .mega-toggle-blocks-right {flex: 0 0 25%;}#mega-menu-wrap-menu-1 .mega-menu-toggle .mega-toggle-blocks-right .mega-toggle-block {justify-content: flex-end;}#mega-menu-wrap-menu-1 .mega-menu-toggle .mega-toggle-block {flex-shrink: 1;width: 100%;}.wp-block {}</style>
|
||
</head>
|
||
<body class="wp-singular post-template-default single single-post postid-9988 single-format-standard wp-custom-logo wp-embed-responsive wp-theme-hello-elementor wp-child-theme-orbitmedia-elementor mega-menu-menu-1 orbit hello-elementor-default elementor-default elementor-kit-6 elementor-page-4755">
|
||
|
||
<!-- GTM Container placement set to manual -->
|
||
<!-- Google Tag Manager (noscript) -->
|
||
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-JD26" height="0" width="0" style="display:none;visibility:hidden" aria-hidden="true"></iframe></noscript>
|
||
<!-- End Google Tag Manager (noscript) --> <div id="mega-menu-overlay"></div>
|
||
|
||
<!-- GTM Container placement set to manual -->
|
||
<!-- Google Tag Manager (noscript) --><div id="overlay-description" class="sr-only">
|
||
Search overlay panel for performing site-wide searches
|
||
</div>
|
||
<div id="oms-search--overlay" aria-hidden="true" aria-describedby="overlay-description" role="dialog" tabindex="-1">
|
||
<div id="oms-search--overlay__toggle-layer"></div>
|
||
<div class="container-fluid">
|
||
<div class="row flex-wrap flex-column">
|
||
<div id="oms-search--overlay__form">
|
||
|
||
|
||
<form role="search" method="get" class="oms-search--form form-inline" action="https://www.heroku.com/search/">
|
||
<div class="oms-search--form-group">
|
||
<label class="oms-search--form--label" for="s">Search For:</label>
|
||
<input class="oms-search--form--input default search" type="text" value="" name="s" id="s" autocomplete="off">
|
||
<button class="btn oms-search--form--button" type="submit" aria-label="Submit Search">
|
||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" width="22" height="22" fill="currentColor" aria-hidden="true"><path d="M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z"/></svg>
|
||
</button>
|
||
</div>
|
||
</form> </div>
|
||
</div>
|
||
</div>
|
||
<div id="oms-search--overlay__close">
|
||
<button class="oms-close-search" id="oms-close-search" aria-label="Close Search Form Overlay" tabindex="-1">Close</button>
|
||
</div>
|
||
</div>
|
||
<header data-elementor-type="header" data-elementor-id="11843" class="elementor elementor-11843 elementor-location-header" data-elementor-post-type="elementor_library">
|
||
<div class="elementor-element elementor-element-42085f8d e-con-full e-flex e-con e-parent" data-id="42085f8d" data-element_type="container" data-e-type="container" id="oms-header">
|
||
<div class="elementor-element elementor-element-9da61cb e-flex e-con-boxed e-con e-child" data-id="9da61cb" data-element_type="container" data-e-type="container" id="secondary-nav" data-settings="{"background_background":"classic"}">
|
||
<div class="e-con-inner">
|
||
<div class="elementor-element elementor-element-5d80e2e3 e-con-full column column--oms-nav-cta elementor-hidden-tablet elementor-hidden-mobile e-flex e-con e-child" data-id="5d80e2e3" data-element_type="container" data-e-type="container">
|
||
<div class="elementor-element elementor-element-2af72024 elementor-widget elementor-widget-text-editor" data-id="2af72024" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
|
||
<p>Build Your Next Big Thing on Heroku. <a href="https://signup.heroku.com/"><strong>Sign Up Now!</strong></a></p> </div>
|
||
</div>
|
||
<div class="elementor-element elementor-element-d89808f e-con-full column column--oms-nav e-flex e-con e-child" data-id="d89808f" data-element_type="container" data-e-type="container">
|
||
<div class="elementor-element elementor-element-c8e7069 search-button--wrap elementor-widget elementor-widget-html" data-id="c8e7069" data-element_type="widget" data-e-type="widget" data-widget_type="html.default">
|
||
<button class="search-button d-inline-block d-lg-none">
|
||
<i class="fa fa-search"></i> Search
|
||
<span class="sr-only">Open Search Popup</span>
|
||
</button> </div>
|
||
<div class="elementor-element elementor-element-421724e elementor-widget elementor-widget-shortcode" data-id="421724e" data-element_type="widget" data-e-type="widget" data-widget_type="shortcode.default">
|
||
<div class="elementor-shortcode"> <div id="login-menu-wrap">
|
||
<div class="logged-in-content" style="display: none;">
|
||
<button id="login-trigger" aria-expanded="false" aria-controls="login-menu-nav" aria-label="Account menu">
|
||
<span class="sr-only">Account menu</span>
|
||
<img src="https://www.heroku.com/wp-content/themes/orbitmedia-elementor/resources/images/login-icon.webp" alt=""/>
|
||
</button>
|
||
|
||
<nav id="login-menu-nav" aria-labelledby="login-trigger">
|
||
<ul id="login-menu">
|
||
<li>
|
||
<img width="150" height="150" src="https://www.heroku.com/wp-content/uploads/2025/06/dashboard.png?w=150&h=150&crop=1" class="login-menu-icon" alt="Dashboard icon" decoding="async" srcset="https://www.heroku.com/wp-content/uploads/2025/06/dashboard.png 150w, https://www.heroku.com/wp-content/uploads/2025/06/dashboard.png?resize=45,45 45w, https://www.heroku.com/wp-content/uploads/2025/06/dashboard.png?resize=75,75 75w" sizes="(max-width: 150px) 100vw, 150px" /> <a href="https://dashboard.heroku.com">Dashboard</a>
|
||
</li>
|
||
<li>
|
||
<img width="150" height="150" src="https://www.heroku.com/wp-content/uploads/2025/06/databases.png?w=150&h=150&crop=1" class="login-menu-icon" alt="Databases icon" decoding="async" srcset="https://www.heroku.com/wp-content/uploads/2025/06/databases.png 150w, https://www.heroku.com/wp-content/uploads/2025/06/databases.png?resize=45,45 45w, https://www.heroku.com/wp-content/uploads/2025/06/databases.png?resize=75,75 75w" sizes="(max-width: 150px) 100vw, 150px" /> <a href="https://data.heroku.com">Databases</a>
|
||
</li>
|
||
<li>
|
||
<img width="150" height="150" src="https://www.heroku.com/wp-content/uploads/2025/06/dataclips.png?w=150&h=150&crop=1" class="login-menu-icon" alt="Dataclips icon" decoding="async" srcset="https://www.heroku.com/wp-content/uploads/2025/06/dataclips.png 150w, https://www.heroku.com/wp-content/uploads/2025/06/dataclips.png?resize=45,45 45w, https://www.heroku.com/wp-content/uploads/2025/06/dataclips.png?resize=75,75 75w" sizes="(max-width: 150px) 100vw, 150px" /> <a href="https://dataclips.heroku.com">Dataclips</a>
|
||
</li>
|
||
<li>
|
||
<img loading="lazy" width="150" height="150" src="https://www.heroku.com/wp-content/uploads/2025/06/elements.png?w=150&h=150&crop=1" class="login-menu-icon" alt="Elements icon" decoding="async" srcset="https://www.heroku.com/wp-content/uploads/2025/06/elements.png 150w, https://www.heroku.com/wp-content/uploads/2025/06/elements.png?resize=45,45 45w, https://www.heroku.com/wp-content/uploads/2025/06/elements.png?resize=75,75 75w" sizes="(max-width: 150px) 100vw, 150px" /> <a href="https://elements.heroku.com/">Elements</a>
|
||
</li>
|
||
<li>
|
||
<img loading="lazy" width="150" height="150" src="https://www.heroku.com/wp-content/uploads/2025/06/docs.png?w=150&h=150&crop=1" class="login-menu-icon" alt="Documentation icon" decoding="async" srcset="https://www.heroku.com/wp-content/uploads/2025/06/docs.png 150w, https://www.heroku.com/wp-content/uploads/2025/06/docs.png?resize=45,45 45w, https://www.heroku.com/wp-content/uploads/2025/06/docs.png?resize=75,75 75w" sizes="(max-width: 150px) 100vw, 150px" /> <a href="https://devcenter.heroku.com/">Documentation</a>
|
||
</li>
|
||
<li>
|
||
<img loading="lazy" width="150" height="150" src="https://www.heroku.com/wp-content/uploads/2025/06/support.png?w=150&h=150&crop=1" class="login-menu-icon" alt="Support icon" decoding="async" srcset="https://www.heroku.com/wp-content/uploads/2025/06/support.png 150w, https://www.heroku.com/wp-content/uploads/2025/06/support.png?resize=45,45 45w, https://www.heroku.com/wp-content/uploads/2025/06/support.png?resize=75,75 75w" sizes="(max-width: 150px) 100vw, 150px" /> <a href="https://help.heroku.com">Support</a>
|
||
</li>
|
||
</ul>
|
||
</nav>
|
||
|
||
<a id="logged-in-dashboard" class="button-logged-out login-button" href="https://dashboard.heroku.com/" role="button">
|
||
Dashboard
|
||
</a>
|
||
</div>
|
||
|
||
<div class="logged-out-content">
|
||
<a id="logged-out-login" class="button-logged-out" href="https://id.heroku.com/login" role="button">
|
||
Login </a>
|
||
<a id="logged-out-signup" class="button-logged-out login-button" href="https://signup.heroku.com/" role="button">
|
||
Sign Up </a>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="elementor-element elementor-element-6dd1e13e e-flex e-con-boxed e-con e-child" data-id="6dd1e13e" data-element_type="container" data-e-type="container" id="primary-nav" data-settings="{"background_background":"classic"}">
|
||
<div class="e-con-inner">
|
||
<div class="elementor-element elementor-element-21dbd5ff e-con-full column column--oms-logo e-flex e-con e-child" data-id="21dbd5ff" data-element_type="container" data-e-type="container">
|
||
<div class="elementor-element elementor-element-59d5d120 elementor-widget elementor-widget-image" data-id="59d5d120" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
|
||
<a href="https://www.heroku.com">
|
||
<img loading="lazy" loading="lazy" width="300" height="84" src="https://www.heroku.com/wp-content/uploads/2025/03/Heroku-Logo-KO-RGB-300.webp" class="attachment-full size-full wp-image-12832" alt="Heroku - from Salesforce" srcset="https://www.heroku.com/wp-content/uploads/2025/03/Heroku-Logo-KO-RGB-300.webp 300w, https://www.heroku.com/wp-content/uploads/2025/03/Heroku-Logo-KO-RGB-300.webp?resize=45,13 45w, https://www.heroku.com/wp-content/uploads/2025/03/Heroku-Logo-KO-RGB-300.webp?resize=75,21 75w" sizes="(max-width: 300px) 100vw, 300px" /> </a>
|
||
</div>
|
||
</div>
|
||
<div class="elementor-element elementor-element-99cc162 e-con-full column column--oms-nav e-flex e-con e-child" data-id="99cc162" data-element_type="container" data-e-type="container">
|
||
<div class="elementor-element elementor-element-49f07e4a elementor-widget elementor-widget-wp-widget-maxmegamenu" data-id="49f07e4a" data-element_type="widget" data-e-type="widget" data-widget_type="wp-widget-maxmegamenu.default">
|
||
<div class="elementor-widget-container">
|
||
<nav id="mega-menu-wrap-menu-1" class="mega-menu-wrap"><div class="mega-menu-toggle"><div class="mega-toggle-blocks-left"></div><div class="mega-toggle-blocks-center"></div><div class="mega-toggle-blocks-right"><div class='mega-toggle-block mega-menu-toggle-animated-block mega-toggle-block-0' id='mega-toggle-block-0'><button aria-controls="mega-menu-menu-1" aria-expanded="false" aria-haspopup="true" aria-label="Toggle Menu" class="mega-toggle-animated mega-toggle-animated-slider" type="button">
|
||
<span class="mega-toggle-animated-box">
|
||
<span class="mega-toggle-animated-inner"></span>
|
||
</span>
|
||
</button></div></div></div><ul id="mega-menu-menu-1" class="mega-menu max-mega-menu mega-menu-horizontal mega-no-js" data-event="hover_intent" data-effect="fade_up" data-effect-speed="200" data-effect-mobile="disabled" data-effect-speed-mobile="0" data-panel-width="body" data-panel-inner-width="#primary-nav > .e-con-inner" data-mobile-force-width="body" data-second-click="go" data-document-click="collapse" data-vertical-behaviour="standard" data-breakpoint="1024" data-unbind="false" data-mobile-state="collapse_all" data-mobile-direction="vertical" data-overlay-desktop="false" data-overlay-mobile="false"><li class="mega-menu-item mega-menu-item-type-post_type mega-menu-item-object-page mega-menu-item-has-children mega-menu-megamenu mega-menu-grid mega-align-bottom-left mega-menu-item-118" id="mega-menu-item-118"><a class="mega-menu-link" href="https://www.heroku.com/products/" aria-expanded="false" aria-controls="mega-sub-menu-118">Products<span class="mega-indicator" tabindex="0" role="button" aria-label="Toggle Submenu"></span></a>
|
||
<ul class="mega-sub-menu" role='presentation' id='mega-sub-menu-118'>
|
||
<li class="mega-menu-row" id="mega-menu-118-0">
|
||
<ul class="mega-sub-menu" style='--columns:12' role='presentation'>
|
||
<li class="mega-menu-column mega-menu-columns-3-of-12 mega-hide-on-mobile" style="--columns:12; --span:3" id="mega-menu-118-0-0">
|
||
<ul class="mega-sub-menu">
|
||
<li class="mega-menu-item mega-menu-item-type-widget widget_black_studio_tinymce mega-menu-item-black-studio-tinymce-2" id="mega-menu-item-black-studio-tinymce-2"><div class="textwidget"><p><a href="/products/">Products</a></p>
|
||
<p>Discover Heroku’s PaaS (Platform as a Service), designed for effortless app deployment and scaling. Explore our cloud application platform features, reliable managed data services, and a robust ecosystem to power your modern applications.</p>
|
||
</div></li> </ul>
|
||
</li><li class="mega-menu-column mega-menu-columns-6-of-12" style="--columns:12; --span:6" id="mega-menu-118-0-1">
|
||
<ul class="mega-sub-menu">
|
||
<li class="mega-menu-item mega-menu-item-type-post_type mega-menu-item-object-page mega-has-icon mega-icon-left mega-has-description mega-menu-item-119" id="mega-menu-item-119"><a class="mega-custom-icon mega-menu-link" href="https://www.heroku.com/platform/"><span class="mega-description-group" data-nosnippet><span class="mega-menu-title">Heroku Platform</span><span class="mega-menu-description">Deploy, manage, and scale apps on Heroku, a PaaS based on a managed container system.</span></span></a></li><li class="mega-menu-item mega-menu-item-type-post_type mega-menu-item-object-page mega-has-icon mega-icon-left mega-has-description mega-menu-item-13876" id="mega-menu-item-13876"><a class="mega-custom-icon mega-menu-link" href="https://www.heroku.com/ai/"><span class="mega-description-group" data-nosnippet><span class="mega-menu-title">Heroku AI</span><span class="mega-menu-description">Build intelligent applications with managed inference and agents, MCP, and more.</span></span></a></li><li class="mega-menu-item mega-menu-item-type-post_type mega-menu-item-object-page mega-has-icon mega-icon-left mega-has-description mega-menu-item-132" id="mega-menu-item-132"><a class="mega-custom-icon mega-menu-link" href="https://www.heroku.com/managed-data-services/"><span class="mega-description-group" data-nosnippet><span class="mega-menu-title">Heroku Data Services</span><span class="mega-menu-description">Simplify your data management with Heroku’s fully managed cloud databases and data services.</span></span></a></li><li class="mega-menu-item mega-menu-item-type-post_type mega-menu-item-object-page mega-has-icon mega-icon-left mega-has-description mega-menu-item-136" id="mega-menu-item-136"><a class="mega-custom-icon mega-menu-link" href="https://www.heroku.com/enterprise/"><span class="mega-description-group" data-nosnippet><span class="mega-menu-title">Heroku Enterprise</span><span class="mega-menu-description">The Heroku experience developers love, with the enterprise features large companies need.</span></span></a></li><li class="mega-menu-item mega-menu-item-type-post_type mega-menu-item-object-page mega-has-icon mega-icon-left mega-has-description mega-menu-item-2160" id="mega-menu-item-2160"><a class="mega-custom-icon mega-menu-link" href="https://www.heroku.com/support/"><span class="mega-description-group" data-nosnippet><span class="mega-menu-title">Heroku Success</span><span class="mega-menu-description">Explore Heroku’s support options from Standard to Signature, with resources for developers and partners.</span></span></a></li><li class="mega-menu-item mega-menu-item-type-custom mega-menu-item-object-custom mega-has-icon mega-icon-left mega-has-description mega-menu-item-146" id="mega-menu-item-146"><a class="mega-custom-icon mega-menu-link" href="https://elements.heroku.com/"><span class="mega-description-group" data-nosnippet><span class="mega-menu-title">Heroku Elements Marketplace</span><span class="mega-menu-description">Accelerate your app development with our ecosystem of add-ons, integrations, and buildpacks.</span></span></a></li> </ul>
|
||
</li><li class="mega-menu-column mega-container-blog--mm mega-menu-columns-3-of-12 mega-hide-on-mobile container-blog--mm" style="--columns:12; --span:3" id="mega-menu-118-0-2">
|
||
<ul class="mega-sub-menu">
|
||
<li class="mega-menu-item mega-menu-item-type-widget widget_elementor-library mega-menu-item-elementor-library-4" id="mega-menu-item-elementor-library-4"><style id="elementor-post-17822">.elementor-17822 .elementor-element.elementor-element-3da06e1{--display:flex;--gap:10px 10px;--row-gap:10px;--column-gap:10px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Arial, Helvetica, sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-widget-loop-grid .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Arial, Helvetica, sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-loop-grid .elementor-pagination{font-family:var( --e-global-typography-secondary-font-family ), Arial, Helvetica, sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-loop-grid .e-load-more-message{font-family:var( --e-global-typography-secondary-font-family ), Arial, Helvetica, sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-17822 .elementor-element.elementor-element-7173832{--grid-columns:1;}@media(max-width:1024px){.elementor-17822 .elementor-element.elementor-element-7173832{--grid-columns:2;}}@media(max-width:767px){.elementor-17822 .elementor-element.elementor-element-7173832{--grid-columns:1;}}</style> <div data-elementor-type="container" data-elementor-id="17822" class="elementor elementor-17822" data-elementor-post-type="elementor_library">
|
||
<div class="elementor-element elementor-element-3da06e1 e-flex e-con-boxed e-con e-parent" data-id="3da06e1" data-element_type="container" data-e-type="container">
|
||
<div class="e-con-inner">
|
||
<div class="elementor-element elementor-element-d88b7ff h6 elementor-widget elementor-widget-heading" data-id="d88b7ff" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
|
||
<div class="elementor-heading-title elementor-size-default">Latest News from the Heroku Blog</div> </div>
|
||
<div class="elementor-element elementor-element-7173832 elementor-grid-1 elementor-grid-tablet-2 elementor-grid-mobile-1 elementor-widget elementor-widget-loop-grid" data-id="7173832" data-element_type="widget" data-e-type="widget" data-settings="{"template_id":"17823","columns":1,"_skin":"post","columns_tablet":"2","columns_mobile":"1","edit_handle_selector":"[data-elementor-type=\"loop-item\"]","row_gap":{"unit":"px","size":"","sizes":[]},"row_gap_tablet":{"unit":"px","size":"","sizes":[]},"row_gap_mobile":{"unit":"px","size":"","sizes":[]}}" data-widget_type="loop-grid.post">
|
||
<div class="elementor-widget-container">
|
||
<div class="elementor-loop-container elementor-grid" role="list">
|
||
<style id="loop-17823">.elementor-17823 .elementor-element.elementor-element-a19e369{--display:flex;--gap:0px 00px;--row-gap:0px;--column-gap:00px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Arial, Helvetica, sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-widget-post-info .elementor-icon-list-item:not(:last-child):after{border-color:var( --e-global-color-text );}.elementor-widget-post-info .elementor-icon-list-icon i{color:var( --e-global-color-primary );}.elementor-widget-post-info .elementor-icon-list-icon svg{fill:var( --e-global-color-primary );}.elementor-widget-post-info .elementor-icon-list-text, .elementor-widget-post-info .elementor-icon-list-text a{color:var( --e-global-color-secondary );}.elementor-widget-post-info .elementor-icon-list-item{font-family:var( --e-global-typography-text-font-family ), Arial, Helvetica, sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-17823 .elementor-element.elementor-element-7461154 .elementor-icon-list-icon{width:14px;}.elementor-17823 .elementor-element.elementor-element-7461154 .elementor-icon-list-icon i{font-size:14px;}.elementor-17823 .elementor-element.elementor-element-7461154 .elementor-icon-list-icon svg{--e-icon-list-icon-size:14px;}.elementor-widget-theme-post-excerpt{font-family:var( --e-global-typography-text-font-family ), Arial, Helvetica, sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}</style><style id="elementor-post-17823">.elementor-17823 .elementor-element.elementor-element-a19e369{--display:flex;--gap:0px 00px;--row-gap:0px;--column-gap:00px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Arial, Helvetica, sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-widget-post-info .elementor-icon-list-item:not(:last-child):after{border-color:var( --e-global-color-text );}.elementor-widget-post-info .elementor-icon-list-icon i{color:var( --e-global-color-primary );}.elementor-widget-post-info .elementor-icon-list-icon svg{fill:var( --e-global-color-primary );}.elementor-widget-post-info .elementor-icon-list-text, .elementor-widget-post-info .elementor-icon-list-text a{color:var( --e-global-color-secondary );}.elementor-widget-post-info .elementor-icon-list-item{font-family:var( --e-global-typography-text-font-family ), Arial, Helvetica, sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-17823 .elementor-element.elementor-element-7461154 .elementor-icon-list-icon{width:14px;}.elementor-17823 .elementor-element.elementor-element-7461154 .elementor-icon-list-icon i{font-size:14px;}.elementor-17823 .elementor-element.elementor-element-7461154 .elementor-icon-list-icon svg{--e-icon-list-icon-size:14px;}.elementor-widget-theme-post-excerpt{font-family:var( --e-global-typography-text-font-family ), Arial, Helvetica, sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}</style> <div data-elementor-type="loop-item" data-elementor-id="17823" class="elementor elementor-17823 e-loop-item e-loop-item-20401 post-20401 post type-post status-publish format-standard hentry category-ecosystem tag-cli tag-developer-tools" data-elementor-post-type="elementor_library" data-custom-edit-handle="1">
|
||
<div class="elementor-element elementor-element-a19e369 container-blog--mm e-flex e-con-boxed e-con e-parent" data-id="a19e369" data-element_type="container" data-e-type="container">
|
||
<div class="e-con-inner">
|
||
<div class="elementor-element elementor-element-7142532 elementor-widget elementor-widget-heading" data-id="7142532" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
|
||
<h3 class="elementor-heading-title elementor-size-default"><a href="https://www.heroku.com/blog/6-lesser-known-heroku-cli-commands/">6 Lesser-Known Heroku CLI Commands You Probably Aren’t Using</a></h3> </div>
|
||
<div class="elementor-element elementor-element-7461154 elementor-widget elementor-widget-post-info" data-id="7461154" data-element_type="widget" data-e-type="widget" data-widget_type="post-info.default">
|
||
<ul class="elementor-inline-items elementor-icon-list-items elementor-post-info">
|
||
<li class="elementor-icon-list-item elementor-repeater-item-cd0cb8c elementor-inline-item">
|
||
<span class="elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-custom">
|
||
Last Updated: August 25, 2026 </span>
|
||
</li>
|
||
<li class="elementor-icon-list-item elementor-repeater-item-c76d95f elementor-inline-item">
|
||
<span class="elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-custom">
|
||
<a href="https://www.heroku.com/blog/author/smith-andy/" title="Posts by Andy Smith" rel="author">Andy Smith</a> </span>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
<div class="elementor-element elementor-element-f5932be elementor-widget elementor-widget-theme-post-excerpt" data-id="f5932be" data-element_type="widget" data-e-type="widget" data-widget_type="theme-post-excerpt.default">
|
||
Improving developer experience in the command line relies on minimizing context switches. While most engineers use the Heroku CLI strictly for basic tasks like pushing code, it contains a powerful suite of command line tools built to optimize your workflow. If you want to keep your focus locked on writing code, these six Heroku CLI commands will instantly upgrade your daily productivity. </div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</li> </ul>
|
||
</li> </ul>
|
||
</li></ul>
|
||
</li><li class="mega-menu-item mega-menu-item-type-post_type mega-menu-item-object-page mega-menu-item-has-children mega-menu-megamenu mega-menu-grid mega-align-bottom-left mega-menu-item-170" id="mega-menu-item-170"><a class="mega-menu-link" href="https://www.heroku.com/developers/" aria-expanded="false" aria-controls="mega-sub-menu-170">Developers<span class="mega-indicator" tabindex="0" role="button" aria-label="Toggle Submenu"></span></a>
|
||
<ul class="mega-sub-menu" role='presentation' id='mega-sub-menu-170'>
|
||
<li class="mega-menu-row" id="mega-menu-170-0">
|
||
<ul class="mega-sub-menu" style='--columns:12' role='presentation'>
|
||
<li class="mega-menu-column mega-menu-columns-3-of-12 mega-hide-on-mobile" style="--columns:12; --span:3" id="mega-menu-170-0-0">
|
||
<ul class="mega-sub-menu">
|
||
<li class="mega-menu-item mega-menu-item-type-widget widget_black_studio_tinymce mega-menu-item-black-studio-tinymce-9" id="mega-menu-item-black-studio-tinymce-9"><div class="textwidget"><p><a href="/developers/">Developers</a></p>
|
||
<p>With Heroku's flexible app platform, you can focus on building apps, not infrastructure. Benefit from a meticulously designed developer experience, a polyglot platform supporting your favorite languages, and innovative PaaS features to enhance your development workflow.</p>
|
||
</div></li> </ul>
|
||
</li><li class="mega-menu-column mega-menu-columns-6-of-12" style="--columns:12; --span:6" id="mega-menu-170-0-1">
|
||
<ul class="mega-sub-menu">
|
||
<li class="mega-menu-item mega-menu-item-type-custom mega-menu-item-object-custom mega-has-description mega-menu-item-13380" id="mega-menu-item-13380"><a class="mega-menu-link" href="https://devcenter.heroku.com/"><span class="mega-description-group" data-nosnippet><span class="mega-menu-title">Dev Center</span><span class="mega-menu-description">Dive into our comprehensive documentation and guides. Learn about building, deploying, managing, and scaling your apps.</span></span></a></li><li class="mega-menu-item mega-menu-item-type-post_type mega-menu-item-object-page mega-menu-item-has-children mega-menu-item-184" id="mega-menu-item-184"><a class="mega-menu-link" href="https://www.heroku.com/languages/">Languages<span class="mega-indicator" tabindex="0" role="button" aria-label="Toggle Submenu"></span></a>
|
||
<ul class="mega-sub-menu" id='mega-sub-menu-184'>
|
||
<li class="mega-menu-item mega-menu-item-type-post_type mega-menu-item-object-page mega-menu-item-189" id="mega-menu-item-189"><a class="mega-menu-link" href="https://www.heroku.com/python/">Python</a></li><li class="mega-menu-item mega-menu-item-type-post_type mega-menu-item-object-page mega-menu-item-14018" id="mega-menu-item-14018"><a class="mega-menu-link" href="https://www.heroku.com/dotnet/">.NET</a></li><li class="mega-menu-item mega-menu-item-type-post_type mega-menu-item-object-page mega-menu-item-187" id="mega-menu-item-187"><a class="mega-menu-link" href="https://www.heroku.com/java/">Java</a></li><li class="mega-menu-item mega-menu-item-type-post_type mega-menu-item-object-page mega-menu-item-185" id="mega-menu-item-185"><a class="mega-menu-link" href="https://www.heroku.com/nodejs/">Node.js</a></li><li class="mega-menu-item mega-menu-item-type-post_type mega-menu-item-object-page mega-menu-item-190" id="mega-menu-item-190"><a class="mega-menu-link" href="https://www.heroku.com/go/">Go</a></li><li class="mega-menu-item mega-menu-item-type-post_type mega-menu-item-object-page mega-menu-item-188" id="mega-menu-item-188"><a class="mega-menu-link" href="https://www.heroku.com/php/">PHP</a></li><li class="mega-menu-item mega-menu-item-type-post_type mega-menu-item-object-page mega-menu-item-186" id="mega-menu-item-186"><a class="mega-menu-link" href="https://www.heroku.com/ruby/">Ruby</a></li><li class="mega-menu-item mega-menu-item-type-custom mega-menu-item-object-custom mega-menu-item-13426" id="mega-menu-item-13426"><a class="mega-menu-link" href="/java?lang=scala">Scala</a></li><li class="mega-menu-item mega-menu-item-type-custom mega-menu-item-object-custom mega-menu-item-13427" id="mega-menu-item-13427"><a class="mega-menu-link" href="/java?lang=clojure">Clojure</a></li> </ul>
|
||
</li> </ul>
|
||
</li><li class="mega-menu-column mega-container-blog--mm mega-menu-columns-3-of-12 mega-hide-on-mobile container-blog--mm" style="--columns:12; --span:3" id="mega-menu-170-0-2">
|
||
<ul class="mega-sub-menu">
|
||
<li class="mega-menu-item mega-menu-item-type-widget widget_elementor-library mega-menu-item-elementor-library-5" id="mega-menu-item-elementor-library-5"> <div data-elementor-type="container" data-elementor-id="17822" class="elementor elementor-17822" data-elementor-post-type="elementor_library">
|
||
<div class="elementor-element elementor-element-3da06e1 e-flex e-con-boxed e-con e-parent" data-id="3da06e1" data-element_type="container" data-e-type="container">
|
||
<div class="e-con-inner">
|
||
<div class="elementor-element elementor-element-d88b7ff h6 elementor-widget elementor-widget-heading" data-id="d88b7ff" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
|
||
<div class="elementor-heading-title elementor-size-default">Latest News from the Heroku Blog</div> </div>
|
||
<div class="elementor-element elementor-element-7173832 elementor-grid-1 elementor-grid-tablet-2 elementor-grid-mobile-1 elementor-widget elementor-widget-loop-grid" data-id="7173832" data-element_type="widget" data-e-type="widget" data-settings="{"template_id":"17823","columns":1,"_skin":"post","columns_tablet":"2","columns_mobile":"1","edit_handle_selector":"[data-elementor-type=\"loop-item\"]","row_gap":{"unit":"px","size":"","sizes":[]},"row_gap_tablet":{"unit":"px","size":"","sizes":[]},"row_gap_mobile":{"unit":"px","size":"","sizes":[]}}" data-widget_type="loop-grid.post">
|
||
<div class="elementor-widget-container">
|
||
<div class="elementor-loop-container elementor-grid" role="list">
|
||
<div data-elementor-type="loop-item" data-elementor-id="17823" class="elementor elementor-17823 e-loop-item e-loop-item-20401 post-20401 post type-post status-publish format-standard hentry category-ecosystem tag-cli tag-developer-tools" data-elementor-post-type="elementor_library" data-custom-edit-handle="1">
|
||
<div class="elementor-element elementor-element-a19e369 container-blog--mm e-flex e-con-boxed e-con e-parent" data-id="a19e369" data-element_type="container" data-e-type="container">
|
||
<div class="e-con-inner">
|
||
<div class="elementor-element elementor-element-7142532 elementor-widget elementor-widget-heading" data-id="7142532" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
|
||
<h3 class="elementor-heading-title elementor-size-default"><a href="https://www.heroku.com/blog/6-lesser-known-heroku-cli-commands/">6 Lesser-Known Heroku CLI Commands You Probably Aren’t Using</a></h3> </div>
|
||
<div class="elementor-element elementor-element-7461154 elementor-widget elementor-widget-post-info" data-id="7461154" data-element_type="widget" data-e-type="widget" data-widget_type="post-info.default">
|
||
<ul class="elementor-inline-items elementor-icon-list-items elementor-post-info">
|
||
<li class="elementor-icon-list-item elementor-repeater-item-cd0cb8c elementor-inline-item">
|
||
<span class="elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-custom">
|
||
Last Updated: August 25, 2026 </span>
|
||
</li>
|
||
<li class="elementor-icon-list-item elementor-repeater-item-c76d95f elementor-inline-item">
|
||
<span class="elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-custom">
|
||
<a href="https://www.heroku.com/blog/author/smith-andy/" title="Posts by Andy Smith" rel="author">Andy Smith</a> </span>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
<div class="elementor-element elementor-element-f5932be elementor-widget elementor-widget-theme-post-excerpt" data-id="f5932be" data-element_type="widget" data-e-type="widget" data-widget_type="theme-post-excerpt.default">
|
||
Improving developer experience in the command line relies on minimizing context switches. While most engineers use the Heroku CLI strictly for basic tasks like pushing code, it contains a powerful suite of command line tools built to optimize your workflow. If you want to keep your focus locked on writing code, these six Heroku CLI commands will instantly upgrade your daily productivity. </div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</li> </ul>
|
||
</li> </ul>
|
||
</li></ul>
|
||
</li><li class="mega-menu-item mega-menu-item-type-post_type mega-menu-item-object-page mega-menu-item-has-children mega-menu-megamenu mega-menu-grid mega-align-bottom-left mega-menu-item-2169" id="mega-menu-item-2169"><a class="mega-menu-link" href="https://www.heroku.com/customers/" aria-expanded="false" aria-controls="mega-sub-menu-2169">Customers<span class="mega-indicator" tabindex="0" role="button" aria-label="Toggle Submenu"></span></a>
|
||
<ul class="mega-sub-menu" role='presentation' id='mega-sub-menu-2169'>
|
||
<li class="mega-menu-row" id="mega-menu-2169-0">
|
||
<ul class="mega-sub-menu" style='--columns:12' role='presentation'>
|
||
<li class="mega-menu-column mega-menu-columns-3-of-12 mega-hide-on-mobile" style="--columns:12; --span:3" id="mega-menu-2169-0-0">
|
||
<ul class="mega-sub-menu">
|
||
<li class="mega-menu-item mega-menu-item-type-widget widget_black_studio_tinymce mega-menu-item-black-studio-tinymce-11" id="mega-menu-item-black-studio-tinymce-11"><div class="textwidget"><p><a href="/customers/">Customers</a></p>
|
||
<p>Discover how companies in diverse industries like Healthcare, Entertainment, Automotive, Retail, FinTech, and more achieve growth and foster innovation with our powerful cloud application platform. Learn how they leverage Heroku’s cloud application platform for cutting-edge solutions.</p>
|
||
</div></li> </ul>
|
||
</li><li class="mega-menu-column mega-menu-columns-6-of-12" style="--columns:12; --span:6" id="mega-menu-2169-0-1">
|
||
<ul class="mega-sub-menu">
|
||
<li class="mega-menu-item mega-menu-item-type-post_type mega-menu-item-object-page mega-has-description mega-menu-item-2319" id="mega-menu-item-2319"><a class="mega-menu-link" href="https://www.heroku.com/case-studies/"><span class="mega-description-group" data-nosnippet><span class="mega-menu-title">Customer Stories</span><span class="mega-menu-description">Heroku in action: See how organizations of all sizes and industries are succeeding with Heroku.</span></span></a></li><li class="mega-menu-item mega-menu-item-type-post_type mega-menu-item-object-page mega-has-description mega-menu-item-2170" id="mega-menu-item-2170"><a class="mega-menu-link" href="https://www.heroku.com/community-stories/"><span class="mega-description-group" data-nosnippet><span class="mega-menu-title">Community Stories</span><span class="mega-menu-description">Explore real-world experiences and perspectives on Heroku from developers and communities online.</span></span></a></li> </ul>
|
||
</li><li class="mega-menu-column mega-menu-columns-3-of-12 mega-hide-on-mobile" style="--columns:12; --span:3" id="mega-menu-2169-0-2">
|
||
<ul class="mega-sub-menu">
|
||
<li class="mega-menu-item mega-menu-item-type-widget widget_elementor-library mega-menu-item-elementor-library-2" id="mega-menu-item-elementor-library-2"><style id="elementor-post-17829">.elementor-17829 .elementor-element.elementor-element-820ec39{--display:flex;}.elementor-widget-loop-grid .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Arial, Helvetica, sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-loop-grid .elementor-pagination{font-family:var( --e-global-typography-secondary-font-family ), Arial, Helvetica, sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-loop-grid .e-load-more-message{font-family:var( --e-global-typography-secondary-font-family ), Arial, Helvetica, sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-17829 .elementor-element.elementor-element-e72d034{--grid-columns:1;}@media(max-width:1024px){.elementor-17829 .elementor-element.elementor-element-e72d034{--grid-columns:2;}}@media(max-width:767px){.elementor-17829 .elementor-element.elementor-element-e72d034{--grid-columns:1;}}</style> <div data-elementor-type="container" data-elementor-id="17829" class="elementor elementor-17829" data-elementor-post-type="elementor_library">
|
||
<div class="elementor-element elementor-element-820ec39 e-flex e-con-boxed e-con e-parent" data-id="820ec39" data-element_type="container" data-e-type="container">
|
||
<div class="e-con-inner">
|
||
<div class="elementor-element elementor-element-e72d034 elementor-grid-1 elementor-grid-tablet-2 elementor-grid-mobile-1 elementor-widget elementor-widget-loop-grid" data-id="e72d034" data-element_type="widget" data-e-type="widget" data-settings="{"template_id":"17818","columns":1,"_skin":"post","columns_tablet":"2","columns_mobile":"1","edit_handle_selector":"[data-elementor-type=\"loop-item\"]","row_gap":{"unit":"px","size":"","sizes":[]},"row_gap_tablet":{"unit":"px","size":"","sizes":[]},"row_gap_mobile":{"unit":"px","size":"","sizes":[]}}" data-widget_type="loop-grid.post">
|
||
<div class="elementor-widget-container">
|
||
<div class="elementor-loop-container elementor-grid" role="list">
|
||
<style id="loop-17818">.elementor-17818 .elementor-element.elementor-element-2ca19be{--display:flex;--gap:20px 30px;--row-gap:20px;--column-gap:30px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Arial, Helvetica, sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-17818 .elementor-element.elementor-element-f16bd2a .elementor-heading-title{font-family:"BentonSans", Arial, Helvetica, sans-serif;font-weight:600;text-decoration:underline;}.elementor-widget-post-info .elementor-icon-list-item:not(:last-child):after{border-color:var( --e-global-color-text );}.elementor-widget-post-info .elementor-icon-list-icon i{color:var( --e-global-color-primary );}.elementor-widget-post-info .elementor-icon-list-icon svg{fill:var( --e-global-color-primary );}.elementor-widget-post-info .elementor-icon-list-text, .elementor-widget-post-info .elementor-icon-list-text a{color:var( --e-global-color-secondary );}.elementor-widget-post-info .elementor-icon-list-item{font-family:var( --e-global-typography-text-font-family ), Arial, Helvetica, sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-17818 .elementor-element.elementor-element-3afe404{margin:-1rem 0rem calc(var(--kit-widget-spacing, 0px) + 0rem) 0rem;}.elementor-17818 .elementor-element.elementor-element-3afe404 .elementor-icon-list-icon{width:14px;}.elementor-17818 .elementor-element.elementor-element-3afe404 .elementor-icon-list-icon i{font-size:14px;}.elementor-17818 .elementor-element.elementor-element-3afe404 .elementor-icon-list-icon svg{--e-icon-list-icon-size:14px;}.elementor-17818 .elementor-element.elementor-element-3afe404 .elementor-icon-list-item{font-family:"BentonSans", Arial, Helvetica, sans-serif;font-size:0.875rem;font-weight:400;}</style><style id="elementor-post-17818">.elementor-17818 .elementor-element.elementor-element-2ca19be{--display:flex;--gap:20px 30px;--row-gap:20px;--column-gap:30px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Arial, Helvetica, sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-17818 .elementor-element.elementor-element-f16bd2a .elementor-heading-title{font-family:"BentonSans", Arial, Helvetica, sans-serif;font-weight:600;text-decoration:underline;}.elementor-widget-post-info .elementor-icon-list-item:not(:last-child):after{border-color:var( --e-global-color-text );}.elementor-widget-post-info .elementor-icon-list-icon i{color:var( --e-global-color-primary );}.elementor-widget-post-info .elementor-icon-list-icon svg{fill:var( --e-global-color-primary );}.elementor-widget-post-info .elementor-icon-list-text, .elementor-widget-post-info .elementor-icon-list-text a{color:var( --e-global-color-secondary );}.elementor-widget-post-info .elementor-icon-list-item{font-family:var( --e-global-typography-text-font-family ), Arial, Helvetica, sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-17818 .elementor-element.elementor-element-3afe404{margin:-1rem 0rem calc(var(--kit-widget-spacing, 0px) + 0rem) 0rem;}.elementor-17818 .elementor-element.elementor-element-3afe404 .elementor-icon-list-icon{width:14px;}.elementor-17818 .elementor-element.elementor-element-3afe404 .elementor-icon-list-icon i{font-size:14px;}.elementor-17818 .elementor-element.elementor-element-3afe404 .elementor-icon-list-icon svg{--e-icon-list-icon-size:14px;}.elementor-17818 .elementor-element.elementor-element-3afe404 .elementor-icon-list-item{font-family:"BentonSans", Arial, Helvetica, sans-serif;font-size:0.875rem;font-weight:400;}</style> <div data-elementor-type="loop-item" data-elementor-id="17818" class="elementor elementor-17818 e-loop-item e-loop-item-19435 post-19435 heroku_customers type-heroku_customers status-publish hentry customer_category-customer-stories heroku-sticky" data-elementor-post-type="elementor_library" data-custom-edit-handle="1">
|
||
<a class="elementor-element elementor-element-2ca19be loop-item loop-item--customers-mm e-flex e-con-boxed e-con e-parent" data-id="2ca19be" data-element_type="container" data-e-type="container" href="https://www.heroku.com/customers/tao-drive/">
|
||
<div class="e-con-inner">
|
||
<div class="elementor-element elementor-element-6212c45 customers--logo elementor-widget elementor-widget-shortcode" data-id="6212c45" data-element_type="widget" data-e-type="widget" data-widget_type="shortcode.default">
|
||
<div class="elementor-shortcode"><img src="https://www.heroku.com/wp-content/uploads/2026/04/taodrive-logo-th.png" alt="TAO Drive" /></div>
|
||
</div>
|
||
<div class="elementor-element elementor-element-f16bd2a customers--name elementor-widget elementor-widget-heading" data-id="f16bd2a" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
|
||
<h3 class="elementor-heading-title elementor-size-default">TAO Drive: Breaking E-Commerce Barriers with a Secure Salesforce Integration via Heroku AppLink</h3> </div>
|
||
<div class="elementor-element elementor-element-3afe404 elementor-widget elementor-widget-post-info" data-id="3afe404" data-element_type="widget" data-e-type="widget" data-widget_type="post-info.default">
|
||
<ul class="elementor-inline-items elementor-icon-list-items elementor-post-info">
|
||
<li class="elementor-icon-list-item elementor-repeater-item-71c40de elementor-inline-item">
|
||
<span class="elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-custom">
|
||
Learn how TAO Drive leverages Heroku AppLink for secure Salesforce integration, Git-based workflows, and scalable Node.js e-commerce solutions. </span>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
</a>
|
||
</div>
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</li> </ul>
|
||
</li> </ul>
|
||
</li></ul>
|
||
</li><li class="mega-menu-item mega-menu-item-type-post_type mega-menu-item-object-page mega-menu-item-156" id="mega-menu-item-156"><a class="mega-menu-link" href="https://www.heroku.com/pricing/">Pricing</a></li><li class="mega-menu-item mega-menu-item-type-custom mega-menu-item-object-custom mega-menu-item-has-children mega-menu-megamenu mega-menu-grid mega-align-bottom-left mega-has-icon mega-icon-left mega-disable-link mega-menu-item-160" id="mega-menu-item-160"><a class="mega-custom-icon mega-menu-link" tabindex="0" aria-expanded="false" aria-controls="mega-sub-menu-160" role="button">Resources<span class="mega-indicator" tabindex="0" role="button" aria-label="Toggle Submenu"></span></a>
|
||
<ul class="mega-sub-menu" role='presentation' id='mega-sub-menu-160'>
|
||
<li class="mega-menu-row" id="mega-menu-160-0">
|
||
<ul class="mega-sub-menu" style='--columns:12' role='presentation'>
|
||
<li class="mega-menu-column mega-menu-columns-3-of-12 mega-hide-on-mobile" style="--columns:12; --span:3" id="mega-menu-160-0-0">
|
||
<ul class="mega-sub-menu">
|
||
<li class="mega-menu-item mega-menu-item-type-widget widget_black_studio_tinymce mega-menu-item-black-studio-tinymce-13" id="mega-menu-item-black-studio-tinymce-13"><p class="mm-menu--widget-title">Resources</p><div class="textwidget"><p>Learn more about Heroku's PaaS and stay up to date on all Heroku announcements. Gain insights from our team through insightful content and discover how to leverage our platform effectively.</p>
|
||
</div></li> </ul>
|
||
</li><li class="mega-menu-column mega-menu-columns-6-of-12" style="--columns:12; --span:6" id="mega-menu-160-0-1">
|
||
<ul class="mega-sub-menu">
|
||
<li class="mega-menu-item mega-menu-item-type-custom mega-menu-item-object-custom mega-has-description mega-menu-item-2171" id="mega-menu-item-2171"><a class="mega-menu-link" href="https://www.heroku.com/blog/"><span class="mega-description-group" data-nosnippet><span class="mega-menu-title">Blog</span><span class="mega-menu-description">Stay up-to-date on Heroku news, important product releases, and valuable insights from the Heroku team.</span></span></a></li><li class="mega-menu-item mega-menu-item-type-post_type mega-menu-item-object-page mega-has-description mega-menu-item-161" id="mega-menu-item-161"><a class="mega-menu-link" href="https://www.heroku.com/what/"><span class="mega-description-group" data-nosnippet><span class="mega-menu-title">What is Heroku?</span><span class="mega-menu-description">Learn how Heroku’s cloud application platform simplifies app development, deployment, and scaling.</span></span></a></li><li class="mega-menu-item mega-menu-item-type-post_type mega-menu-item-object-page mega-has-description mega-menu-item-167" id="mega-menu-item-167"><a class="mega-menu-link" href="https://www.heroku.com/events/"><span class="mega-description-group" data-nosnippet><span class="mega-menu-title">Events</span><span class="mega-menu-description">Find Heroku at an event near you! Explore our calendar of tech conferences and meetups.</span></span></a></li><li class="mega-menu-item mega-menu-item-type-post_type mega-menu-item-object-page mega-has-description mega-menu-item-2176" id="mega-menu-item-2176"><a class="mega-menu-link" href="https://www.heroku.com/partnering/"><span class="mega-description-group" data-nosnippet><span class="mega-menu-title">Partners</span><span class="mega-menu-description">For Consultants, ISVs, and technical solution providers looking to grow their business with pro-code solutions.</span></span></a></li><li class="mega-menu-item mega-menu-item-type-post_type mega-menu-item-object-page mega-has-description mega-menu-item-168" id="mega-menu-item-168"><a class="mega-menu-link" href="https://www.heroku.com/compliance/"><span class="mega-description-group" data-nosnippet><span class="mega-menu-title">Compliance Center</span><span class="mega-menu-description">Heroku is a platform you can trust. Explore our compliance certifications and security measures.</span></span></a></li><li class="mega-menu-item mega-menu-item-type-custom mega-menu-item-object-custom mega-has-description mega-menu-item-13399" id="mega-menu-item-13399"><a class="mega-menu-link" href="https://help.heroku.com/"><span class="mega-description-group" data-nosnippet><span class="mega-menu-title">Help Center</span><span class="mega-menu-description">Find answers to your questions in the Help Center. Browse FAQs, articles, and get support.</span></span></a></li> </ul>
|
||
</li><li class="mega-menu-column mega-container-blog--mm mega-menu-columns-3-of-12 mega-hide-on-mobile container-blog--mm" style="--columns:12; --span:3" id="mega-menu-160-0-2">
|
||
<ul class="mega-sub-menu">
|
||
<li class="mega-menu-item mega-menu-item-type-widget widget_elementor-library mega-menu-item-elementor-library-3" id="mega-menu-item-elementor-library-3"> <div data-elementor-type="container" data-elementor-id="17822" class="elementor elementor-17822" data-elementor-post-type="elementor_library">
|
||
<div class="elementor-element elementor-element-3da06e1 e-flex e-con-boxed e-con e-parent" data-id="3da06e1" data-element_type="container" data-e-type="container">
|
||
<div class="e-con-inner">
|
||
<div class="elementor-element elementor-element-d88b7ff h6 elementor-widget elementor-widget-heading" data-id="d88b7ff" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
|
||
<div class="elementor-heading-title elementor-size-default">Latest News from the Heroku Blog</div> </div>
|
||
<div class="elementor-element elementor-element-7173832 elementor-grid-1 elementor-grid-tablet-2 elementor-grid-mobile-1 elementor-widget elementor-widget-loop-grid" data-id="7173832" data-element_type="widget" data-e-type="widget" data-settings="{"template_id":"17823","columns":1,"_skin":"post","columns_tablet":"2","columns_mobile":"1","edit_handle_selector":"[data-elementor-type=\"loop-item\"]","row_gap":{"unit":"px","size":"","sizes":[]},"row_gap_tablet":{"unit":"px","size":"","sizes":[]},"row_gap_mobile":{"unit":"px","size":"","sizes":[]}}" data-widget_type="loop-grid.post">
|
||
<div class="elementor-widget-container">
|
||
<div class="elementor-loop-container elementor-grid" role="list">
|
||
<div data-elementor-type="loop-item" data-elementor-id="17823" class="elementor elementor-17823 e-loop-item e-loop-item-20401 post-20401 post type-post status-publish format-standard hentry category-ecosystem tag-cli tag-developer-tools" data-elementor-post-type="elementor_library" data-custom-edit-handle="1">
|
||
<div class="elementor-element elementor-element-a19e369 container-blog--mm e-flex e-con-boxed e-con e-parent" data-id="a19e369" data-element_type="container" data-e-type="container">
|
||
<div class="e-con-inner">
|
||
<div class="elementor-element elementor-element-7142532 elementor-widget elementor-widget-heading" data-id="7142532" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
|
||
<h3 class="elementor-heading-title elementor-size-default"><a href="https://www.heroku.com/blog/6-lesser-known-heroku-cli-commands/">6 Lesser-Known Heroku CLI Commands You Probably Aren’t Using</a></h3> </div>
|
||
<div class="elementor-element elementor-element-7461154 elementor-widget elementor-widget-post-info" data-id="7461154" data-element_type="widget" data-e-type="widget" data-widget_type="post-info.default">
|
||
<ul class="elementor-inline-items elementor-icon-list-items elementor-post-info">
|
||
<li class="elementor-icon-list-item elementor-repeater-item-cd0cb8c elementor-inline-item">
|
||
<span class="elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-custom">
|
||
Last Updated: August 25, 2026 </span>
|
||
</li>
|
||
<li class="elementor-icon-list-item elementor-repeater-item-c76d95f elementor-inline-item">
|
||
<span class="elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-custom">
|
||
<a href="https://www.heroku.com/blog/author/smith-andy/" title="Posts by Andy Smith" rel="author">Andy Smith</a> </span>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
<div class="elementor-element elementor-element-f5932be elementor-widget elementor-widget-theme-post-excerpt" data-id="f5932be" data-element_type="widget" data-e-type="widget" data-widget_type="theme-post-excerpt.default">
|
||
Improving developer experience in the command line relies on minimizing context switches. While most engineers use the Heroku CLI strictly for basic tasks like pushing code, it contains a powerful suite of command line tools built to optimize your workflow. If you want to keep your focus locked on writing code, these six Heroku CLI commands will instantly upgrade your daily productivity. </div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</li> </ul>
|
||
</li> </ul>
|
||
</li></ul>
|
||
</li></ul></nav> </div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</header>
|
||
<main data-elementor-type="single-post" data-elementor-id="4755" class="elementor elementor-4755 elementor-location-single post-9988 post type-post status-publish format-standard hentry category-engineering tag-cloud-infrastructure tag-developer-tools tag-performance-optimization tag-ruby" data-elementor-post-type="elementor_library">
|
||
<section class="elementor-element elementor-element-1e61495 blog--nav oms--horizontal-nav e-flex e-con-boxed e-con e-parent" data-id="1e61495" data-element_type="container" data-e-type="container">
|
||
<div class="e-con-inner">
|
||
<nav class="elementor-element elementor-element-dec033b e-con-full blog--nav-container e-flex e-con e-child" data-id="dec033b" data-element_type="container" data-e-type="container">
|
||
<div class="elementor-element elementor-element-5887513 e-con-full e-flex e-con e-child" data-id="5887513" data-element_type="container" data-e-type="container">
|
||
</div>
|
||
</nav>
|
||
</div>
|
||
</section>
|
||
<section class="elementor-element elementor-element-5faab08 oms--breadcrumbs e-flex e-con-boxed e-con e-parent" data-id="5faab08" data-element_type="container" data-e-type="container">
|
||
<div class="e-con-inner">
|
||
<div class="elementor-element elementor-element-04ba9c7 elementor-widget elementor-widget-breadcrumbs" data-id="04ba9c7" data-element_type="widget" data-e-type="widget" data-widget_type="breadcrumbs.default">
|
||
<nav id="breadcrumbs"><span><span><a href="https://www.heroku.com/blog/">Blog</a></span> / <span><a href="https://www.heroku.com/blog/category/engineering/">Engineering</a></span> / <span class="breadcrumb_last" aria-current="page"><strong>Puma 4: Hammering Out H13s—A Debugging Story</strong></span></span></nav> </div>
|
||
</div>
|
||
</section>
|
||
<section class="elementor-element elementor-element-0afd821 pageblock pageblock--post-content e-flex e-con-boxed e-con e-parent" data-id="0afd821" data-element_type="container" data-e-type="container" data-settings="{"background_background":"classic"}">
|
||
<div class="e-con-inner">
|
||
<div class="elementor-element elementor-element-59aa92a e-flex e-con-boxed e-con e-child" data-id="59aa92a" data-element_type="container" data-e-type="container">
|
||
<div class="e-con-inner">
|
||
<div class="elementor-element elementor-element-fffbe35 elementor-widget elementor-widget-heading" data-id="fffbe35" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
|
||
<h1 class="elementor-heading-title elementor-size-default">Puma 4: Hammering Out H13s—A Debugging Story</h1> </div>
|
||
<div class="elementor-element elementor-element-63f38b8 e-con-full post--meta e-flex e-con e-child" data-id="63f38b8" data-element_type="container" data-e-type="container">
|
||
<div class="elementor-element elementor-element-046ed73 elementor-widget elementor-widget-shortcode" data-id="046ed73" data-element_type="widget" data-e-type="widget" data-widget_type="shortcode.default">
|
||
<div class="elementor-shortcode"><div class="post-coauthors-wrapper"><div class="post-authors-gravatars"><div class="post-author-gravatar"><a href="https://www.heroku.com/blog/author/richard-schneeman/"><img alt='Richard Schneeman' src='https://secure.gravatar.com/avatar/ec1738b79a30ffb4e49cc727744bf7d501442b09adeece0dd58024fe1402f777?s=50&d=mm&r=g' srcset='https://secure.gravatar.com/avatar/ec1738b79a30ffb4e49cc727744bf7d501442b09adeece0dd58024fe1402f777?s=100&d=mm&r=g 2x' class='avatar avatar-50 photo' height='50' width='50' decoding='async'/></a></div></div><div class="post-coauthors">Posted By <a href="https://www.heroku.com/blog/author/richard-schneeman/">Richard Schneeman</a></div></div></div>
|
||
</div>
|
||
<div class="elementor-element elementor-element-352af6e elementor-align-center elementor-widget elementor-widget-post-info" data-id="352af6e" data-element_type="widget" data-e-type="widget" data-widget_type="post-info.default">
|
||
<ul class="elementor-inline-items elementor-icon-list-items elementor-post-info">
|
||
<li class="elementor-icon-list-item elementor-repeater-item-5e77593 elementor-inline-item">
|
||
<span class="elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-custom">
|
||
Last Updated: July 12, 2019 </span>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
<div class="elementor-element elementor-element-734264a e-con-full e-flex e-con e-child" data-id="734264a" data-element_type="container" data-e-type="container">
|
||
<div class="elementor-element elementor-element-f5128c8 elementor-widget elementor-widget-theme-post-content" data-id="f5128c8" data-element_type="widget" data-e-type="widget" data-widget_type="theme-post-content.default">
|
||
<p>For quite some time we've received reports from our larger customers about a mysterious <a href="https://devcenter.heroku.com/articles/error-codes#h13-connection-closed-without-response">H13 – Connection closed error</a> showing up for Ruby applications. Curiously it only ever happened around the time they were deploying or scaling their dynos. Even more peculiar, it only happened to relatively high scale applications. We couldn't reproduce the behavior on an example app. This is a story about distributed coordination, the TCP API, and how we debugged and fixed a bug in Puma that only shows up at scale.</p>
|
||
<p><img decoding="async" src="https://www.heroku.com/wp-content/uploads/2025/03/1562883126-Screenshot-2019-06-23-15.04.50.png" alt="Screenshot showing H13 errors"></p>
|
||
<h2 class='anchored'>
|
||
<a name='connection-closed' href='#connection-closed'>Connection closed</a><br />
|
||
</h2>
|
||
<p>First of all, what even is an H13 error? From our error page documentation:</p>
|
||
<blockquote>
|
||
<p>This error is thrown when a process in your web dyno accepts a connection, but then closes the socket without writing anything to it.<br />
|
||
One example where this might happen is when a Unicorn web server is configured with a timeout shorter than 30s and a request has not been processed by a worker before the timeout happens. In this case, Unicorn closes the connection before any data is written, resulting in an H13.</p>
|
||
</blockquote>
|
||
<p>Fun fact: Our error codes start with the letter of the component where they came from. Our Routing code is all written in Erlang and is named "Hermes" so any error codes from Heroku that start with an "H" indicate an error from the router.</p>
|
||
<p>The documentation gives an example of an H13 error code with the unicorn webserver, but it can happen any time a connection is closed via a server, but there has been no response written. Here’s an example showing how to <a href="https://github.com/hunterloftis/heroku-node-errcodes/tree/master/h13">reproduce a H13 explicitly with a node app</a>.</p>
|
||
<p>What does it mean for an application to get an H13? Essentially every one of these errors correlates to a customer who got an error page. Serving a handful of errors every time the app restarts or deploys or auto-scales is an awful user experience, so it's worth it to find and fix.</p>
|
||
<h2 class='anchored'>
|
||
<a name='debugging' href='#debugging'>Debugging</a><br />
|
||
</h2>
|
||
<p>I have maintained the Ruby buildpack for several years, and part of that job is to handle support escalations for Ruby tickets. In addition to the normal deployment issues, I've been developing an interest in performance, scalability, and web servers (I recently started helping to maintain the Puma webserver). Because of these interests, when a tricky issue comes in from one of our larger customers, especially if it only happens at scale, I take particular interest. </p>
|
||
<p>To understand the problem, you need to know a little about the nature of sending distributed messages. Webservers are inherently distributed systems, and to make things more complicated, we often use distributed systems to manage our distributed systems.</p>
|
||
<p>In the case of this error, it didn't seem to come from a customer's application code i.e. they didn't seem to have anything misconfigured. It also only seemed to happen when a dyno was being shut down.</p>
|
||
<p>To shut down a dyno two things have to happen, we need to send a <code>SIGTERM</code> to the processes on the dyno which <a href="https://devcenter.heroku.com/articles/what-happens-to-ruby-apps-when-they-are-restarted">tells the webserver to safely shutdown</a>. We also need to tell our router to stop sending requests to that dyno since it will be shut down soon.</p>
|
||
<p>These two operations happen on two different systems. The dyno runs on one server, the router which serves our requests is a separate system. It's itself a distributed system. It turns out that while both systems get the message at about the same time, the router might still let a few requests trickle into the dyno that is being shut down after it receives the <code>SIGTERM</code>.</p>
|
||
<p>That explains the problem then, right? The reason this only happens on apps with a large amount of traffic is they get so many requests there is more chance that there will be a race condition between when the router stops sending requests and the dyno receives the <code>SIGTERM</code>.</p>
|
||
<p>That sounds like a bug with the router then right? Before we get too deep into the difficulties of distributed coordination, I noticed that other apps with just as much load weren't getting H13 errors. What did that tell me? It told me that the distributed behavior of our system wasn't to blame. If other webservers can handle this just fine, then we need to update our webserver, Puma in this case.</p>
|
||
<h2 class='anchored'>
|
||
<a name='reproduction' href='#reproduction'>Reproduction</a><br />
|
||
</h2>
|
||
<p>When you're dealing with a distributed system bug that's reliant on a race condition, reproducing the issue can be a tricky affair. While pairing on the issue with another Heroku engineer, <a href="https://x.com/chapambrose">Chap Ambrose</a>, we hit an idea. First, we would reproduce the H13 behavior in any app to figure out what <a href="https://curl.se/libcurl/c/libcurl-errors.html">curl exit code</a> we would get, and then we could try to reproduce the exact failure conditions with a more complicated example.</p>
|
||
<p>A simple reproduction rack app looks like this:</p>
|
||
<pre><code class="language-ruby">app = Proc.new do |env|
|
||
current_pid = Process.pid
|
||
signal = "SIGKILL"
|
||
Process.kill(signal, current_pid)
|
||
['200', {'Content-Type' => 'text/html'}, ['A barebones rack app.']]
|
||
end
|
||
|
||
run app
|
||
</code></pre>
|
||
<p>When you run this <code>config.ru</code> with Puma and hit it with a request, you'll get a connection that is closed without a request getting written. That was pretty easy.</p>
|
||
<p>The curl code when a connection is closed like this is <code>52</code> so now we can detect when it happens. </p>
|
||
<pre><code class="language-term">$ curl localhost:9292
|
||
% Total % Received % Xferd Average Speed Time Time Time Current
|
||
Dload Upload Total Spent Left Speed
|
||
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
|
||
curl: (52) Empty reply from server
|
||
</code></pre>
|
||
<p>A more complicated reproduction happens when SIGTERM is called but requests keep coming in. To facilitate that we ended up with a reproduction that looks like this:</p>
|
||
<pre><code class="language-ruby">app = Proc.new do |env|
|
||
puma_pid = File.read('puma.pid').to_i
|
||
Process.kill("SIGTERM", puma_pid)
|
||
Process.kill("SIGTERM", Process.pid)
|
||
|
||
['200', {'Content-Type' => 'text/html'}, ['A barebones rack app.']]
|
||
end
|
||
|
||
run app
|
||
</code></pre>
|
||
<p>This <code>config.ru</code> rack app sends a <code>SIGTERM</code> to itself and it's parent process on the first request. So other future requests will be coming in when the server is shutting down.</p>
|
||
<p>Then we can write a script that boots this server and hits it with a bunch of requests in parallel:</p>
|
||
<pre><code class="language-ruby">threads = []
|
||
|
||
threads << Thread.new do
|
||
puts `puma > puma.log` unless ENV["NO_PUMA_BOOT"]
|
||
end
|
||
|
||
sleep(3)
|
||
require 'fileutils'
|
||
FileUtils.mkdir_p("tmp/requests")
|
||
|
||
20.times do |i|
|
||
threads << Thread.new do
|
||
request = `curl localhost:9292/?request_thread=#{i} &> tmp/requests/requests#{i}.log`
|
||
puts $?
|
||
end
|
||
end
|
||
|
||
threads.map {|t| t.join }
|
||
</code></pre>
|
||
<p>When we run this reproduction, we see that it gives us the exact behavior we're looking to reproduce. Even better, when this code is deployed on Heroku we can see an H13 error is triggered:</p>
|
||
<pre><code class="language-text">2019-05-10T18:41:06.859330+00:00 heroku[router]: at=error code=H13 desc="Connection closed without response" method=GET path="/?request_thread=6" host=ruby-h13.herokuapp.com request_id=05696319-a6ff-4fad-b219-6dd043536314 fwd="<ip>" dyno=web.1 connect=0ms service=5ms status=503 bytes=0 protocol=https
|
||
</code></pre>
|
||
<p>You can get all this code and some more details on the <a href="https://github.com/schneems/puma_connection_closed_reproduction">reproduciton script repo</a>. And here's the <a href="https://github.com/puma/puma/issues/1802">Puma Issue I was using to track the behavior</a></p>
|
||
<h2 class='anchored'>
|
||
<a name='closing-the-connection-closed-bug' href='#closing-the-connection-closed-bug'>Closing the connection closed bug</a><br />
|
||
</h2>
|
||
<p>With a reproduction script in hand, it was possible for us to add debugging statements to Puma internals to see how it behaved while experiencing this issue.</p>
|
||
<p>With a little investigation, it turned out that Puma never explicitly closed the socket of the connection. Instead, it relied on the process stopping to close it. </p>
|
||
<p>What exactly does that mean? Every time you type a URL into a browser, the request gets routed to a server. On Heroku, the request goes to our router. The router then attempts to connect to a dyno (server) and pass it the request. The underlying mechanism that allows this is the webserver (Puma) on the dyno opening up a TCP socket on a $PORT. The request is accepted onto the socket, and it will sit there until the webserver (Puma) is ready to read it in and respond to it.</p>
|
||
<p>What behavior do we want to happen to avoid this H13 error? In the error case, the router tries to connect to the dyno, it's successful, and since the request is accepted by the dyno, the router expects the dyno to handle writing the request. If instead, the socket is closed when it tries to pass on the request it will know that Puma cannot respond. It will then retry passing the connection to another dyno. There are times when a webserver might reject a connection, for example, if the socket is full (default is only to allow 1024 connections on the socket backlog), or if the entire server has crashed.</p>
|
||
<p>In our case, closing the socket is what we want. It correctly communicates to the router to do the right thing (try passing the connection to another dyno or hold onto it in the case all dynos are restarting). </p>
|
||
<p>So then, the solution to the problem was to close the socket before attempting to shut down explicitly. Here's the <a href="https://github.com/puma/puma/pull/1808">PR</a>. The main magic is just one line:</p>
|
||
<pre><code class="language-ruby">@launcher.close_binder_listeners
|
||
</code></pre>
|
||
<p>If you're a worrier (I know I am) you might be afraid that closing the socket prevents any in-flight requests from being completed successfully. Lucky for us closing a socket prevents incoming requests but still allows us to respond to existing requests. If you don't believe me, think about how you could test it with one of my above example repos.</p>
|
||
<h2 class='anchored'>
|
||
<a name='testing-distributed-behavior' href='#testing-distributed-behavior'>Testing distributed behavior</a><br />
|
||
</h2>
|
||
<p>I don't know if this behavior in Puma broke, or maybe it never worked. To try to make sure that it continues to work in the future, I wanted to write a test for it. I reached out to <a href="https://x.com/touchingvirus">dannyfallon</a> who has helped out on some other Puma issues, and we remote paired on the tests using <a href="https://tuple.app/">Tuple</a>.</p>
|
||
<p>The tests ended up being <a href="https://github.com/puma/puma/pull/1808/files#diff-ad8d9f1e0cf07519c2372ca5f60ca4d2">not terribly different than our example reproduction above</a>, but it was pretty tricky to get it to have consistent behavior.</p>
|
||
<p>With an issue that doesn't regularly show up unless it's on an app at scale, it's essential to test, as <a href="https://x.com/mipsytipsy">Charity Majors</a> would say "in production". We had several Heroku customers who were seeing this error try out my patch. They reported some other issues, which we were able to resolve, after fixing those issues, it looked like the errors were fixed.</p>
|
||
<p><img decoding="async" src="https://www.heroku.com/wp-content/uploads/2025/03/1562883272-59190728-7bf56a80-8b4b-11e9-8e01-84238fecf24c.png" alt="Screenshot showing no more H13 errors"></p>
|
||
<h2 class='anchored'>
|
||
<a name='rolling-out-the-fix' href='#rolling-out-the-fix'>Rolling out the fix</a><br />
|
||
</h2>
|
||
<p>Puma 4, which came with this fix, <a href="https://github.com/puma/puma/releases/tag/v4.0.0">was recently released</a>. We reached out to a customer who was using Puma and seeing a large number of H13s, and this release stopped them in their tracks.</p>
|
||
<p>Learn more about Puma 4 below.</p>
|
||
<blockquote class="twitter-tweet" data-lang="en" data-align="center" data-conversation="none" data-dnt="true" data-id="1143577608791220224 ">
|
||
<p lang="en" dir="ltr">By the coders who brought you Llamas in Pajamas. A new cinematic Ruby server experience. Directed by <a href="https://x.com/evanphx?ref_src=twsrc%5Etfw">@evanphx</a>, cinematography by <a href="https://x.com/nateberkopec?ref_src=twsrc%5Etfw">@nateberkopec</a>, produced by <a href="https://x.com/schneems?ref_src=twsrc%5Etfw">@schneems</a>.</p>
|
||
<p>Introducing – Puma: 4 Fast 4 Furious<a href="https://t.co/06PG0lzubk"><a href="https://t.co/06PG0lzubk">https://t.co/06PG0lzubk</a></a> <a href="https://t.co/O1dLfwnctJ">pic.twitter.com/O1dLfwnctJ</a></p>
|
||
<p>— Richard Schneeman (@schneems) <a href="https://x.com/schneems/status/1143577608791220224?ref_src=twsrc%5Etfw">June 25, 2019</a></p></blockquote>
|
||
<p> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script></p>
|
||
</div>
|
||
<div class="elementor-element elementor-element-123205a elementor-widget elementor-widget-post-info" data-id="123205a" data-element_type="widget" data-e-type="widget" data-widget_type="post-info.default">
|
||
<ul class="elementor-icon-list-items elementor-post-info">
|
||
<li class="elementor-icon-list-item elementor-repeater-item-3c1e006" itemprop="datePublished">
|
||
<span class="elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-date">
|
||
<span class="elementor-post-info__item-prefix">Originally Published: </span>
|
||
<time>July 12, 2019</time> </span>
|
||
</li>
|
||
<li class="elementor-icon-list-item elementor-repeater-item-cde6d07">
|
||
<span class="elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-custom">
|
||
<a href="https://www.heroku.com/blog/tag/cloud-infrastructure/" rel="tag">Cloud Infrastructure</a><a href="https://www.heroku.com/blog/tag/developer-tools/" rel="tag">Developer Tools</a><a href="https://www.heroku.com/blog/tag/performance-optimization/" rel="tag">Performance Optimization</a><a href="https://www.heroku.com/blog/tag/ruby/" rel="tag">Ruby</a> </span>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
<section class="elementor-element elementor-element-f2963be pageblock pageblock--related-posts e-flex e-con-boxed e-con e-parent" data-id="f2963be" data-element_type="container" data-e-type="container" data-settings="{"background_background":"classic"}">
|
||
<div class="e-con-inner">
|
||
<div class="elementor-element elementor-element-01d8ac7 e-flex e-con-boxed e-con e-child" data-id="01d8ac7" data-element_type="container" data-e-type="container">
|
||
<div class="e-con-inner">
|
||
<div class="elementor-element elementor-element-3227818 elementor-share-buttons--skin-flat elementor-share-buttons--shape-rounded elementor-share-buttons--view-icon-text elementor-grid-0 elementor-share-buttons--color-official elementor-widget elementor-widget-share-buttons" data-id="3227818" data-element_type="widget" data-e-type="widget" data-widget_type="share-buttons.default">
|
||
<div class="elementor-grid" role="list">
|
||
<div class="elementor-grid-item" role="listitem">
|
||
<div class="elementor-share-btn elementor-share-btn_x-twitter" role="button" tabindex="0" aria-label="Share on x-twitter">
|
||
<span class="elementor-share-btn__icon">
|
||
<svg aria-hidden="true" class="e-font-icon-svg e-fab-x-twitter" viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z"></path></svg> </span>
|
||
<div class="elementor-share-btn__text">
|
||
<span class="elementor-share-btn__title">
|
||
Post </span>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="elementor-grid-item" role="listitem">
|
||
<div class="elementor-share-btn elementor-share-btn_facebook" role="button" tabindex="0" aria-label="Share on facebook">
|
||
<span class="elementor-share-btn__icon">
|
||
<svg aria-hidden="true" class="e-font-icon-svg e-fab-facebook" viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="M504 256C504 119 393 8 256 8S8 119 8 256c0 123.78 90.69 226.38 209.25 245V327.69h-63V256h63v-54.64c0-62.15 37-96.48 93.67-96.48 27.14 0 55.52 4.84 55.52 4.84v61h-31.28c-30.8 0-40.41 19.12-40.41 38.73V256h68.78l-11 71.69h-57.78V501C413.31 482.38 504 379.78 504 256z"></path></svg> </span>
|
||
<div class="elementor-share-btn__text">
|
||
<span class="elementor-share-btn__title">
|
||
Share </span>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="elementor-grid-item" role="listitem">
|
||
<div class="elementor-share-btn elementor-share-btn_linkedin" role="button" tabindex="0" aria-label="Share on linkedin">
|
||
<span class="elementor-share-btn__icon">
|
||
<svg aria-hidden="true" class="e-font-icon-svg e-fab-linkedin" viewBox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><path d="M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3zM135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5zm282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9V416z"></path></svg> </span>
|
||
<div class="elementor-share-btn__text">
|
||
<span class="elementor-share-btn__title">
|
||
Share </span>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="elementor-element elementor-element-1b08945 elementor-widget-divider--view-line elementor-widget elementor-widget-divider" data-id="1b08945" data-element_type="widget" data-e-type="widget" data-widget_type="divider.default">
|
||
<div class="elementor-divider">
|
||
<span class="elementor-divider-separator">
|
||
</span>
|
||
</div>
|
||
</div>
|
||
<div class="elementor-element elementor-element-74e48cb elementor-widget elementor-widget-heading" data-id="74e48cb" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
|
||
<h3 class="elementor-heading-title elementor-size-default">Related Posts</h3> </div>
|
||
<div class="elementor-element elementor-element-da9d136 elementor-grid-1 elementor-posts--thumbnail-none elementor-grid-tablet-1 elementor-posts--align-center elementor-grid-mobile-1 elementor-widget elementor-widget-posts" data-id="da9d136" data-element_type="widget" data-e-type="widget" data-settings="{"classic_columns":"1","classic_columns_tablet":"1","classic_columns_mobile":"1","classic_row_gap":{"unit":"px","size":35,"sizes":[]},"classic_row_gap_tablet":{"unit":"px","size":"","sizes":[]},"classic_row_gap_mobile":{"unit":"px","size":"","sizes":[]}}" data-widget_type="posts.classic">
|
||
<div class="elementor-widget-container">
|
||
<div class="elementor-posts-container elementor-posts elementor-posts--skin-classic elementor-grid" role="list">
|
||
<article class="elementor-post elementor-grid-item post-20401 post type-post status-publish format-standard hentry category-ecosystem tag-cli tag-developer-tools" role="listitem">
|
||
<div class="elementor-post__text">
|
||
<span class="elementor-post__title">
|
||
<a href="https://www.heroku.com/blog/6-lesser-known-heroku-cli-commands/" >
|
||
6 Lesser-Known Heroku CLI Commands You Probably Aren’t Using </a>
|
||
</span>
|
||
</div>
|
||
</article>
|
||
<article class="elementor-post elementor-grid-item post-20315 post type-post status-publish format-standard hentry category-news tag-security tag-security-compliance" role="listitem">
|
||
<div class="elementor-post__text">
|
||
<span class="elementor-post__title">
|
||
<a href="https://www.heroku.com/blog/fine-grained-access-control-now-available-all-customers/" >
|
||
Fine-Grained Access Control Now Available for All Heroku Customers </a>
|
||
</span>
|
||
</div>
|
||
</article>
|
||
<article class="elementor-post elementor-grid-item post-20025 post type-post status-publish format-standard hentry category-engineering tag-continuous-deployment tag-heroku-pipelines tag-how-to" role="listitem">
|
||
<div class="elementor-post__text">
|
||
<span class="elementor-post__title">
|
||
<a href="https://www.heroku.com/blog/how-to-set-up-staging-environment-3-easy-steps/" >
|
||
How To Set Up a Staging Environment on Heroku in 3 Easy Steps </a>
|
||
</span>
|
||
</div>
|
||
</article>
|
||
<article class="elementor-post elementor-grid-item post-19982 post type-post status-publish format-standard hentry category-engineering tag-cli tag-security" role="listitem">
|
||
<div class="elementor-post__text">
|
||
<span class="elementor-post__title">
|
||
<a href="https://www.heroku.com/blog/securing-heroku-cli-credentials-with-system-keychain-storage/" >
|
||
Securing Heroku CLI Credentials with System Keychain Storage </a>
|
||
</span>
|
||
</div>
|
||
</article>
|
||
<article class="elementor-post elementor-grid-item post-19879 post type-post status-publish format-standard hentry category-engineering tag-cli tag-heroku-connect tag-salesforce" role="listitem">
|
||
<div class="elementor-post__text">
|
||
<span class="elementor-post__title">
|
||
<a href="https://www.heroku.com/blog/health-check-for-your-heroku-connect-data-pipeline/" >
|
||
A 15-Second Health Check for Your Heroku Connect Data Pipeline </a>
|
||
</span>
|
||
</div>
|
||
</article>
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
<section class="elementor-element elementor-element-bf46c3e pageblock pageblock--oms-cta e-flex e-con-boxed e-con e-parent" data-id="bf46c3e" data-element_type="container" data-e-type="container" data-settings="{"background_background":"gradient"}" data-background="overlay">
|
||
<div class="e-con-inner">
|
||
<div class="elementor-element elementor-element-36e77f2 e-con-full container container--oms-cta e-flex e-con e-child" data-id="36e77f2" data-element_type="container" data-e-type="container">
|
||
<div class="elementor-element elementor-element-355ff82 elementor-widget elementor-widget-text-editor" data-id="355ff82" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
|
||
<h2>Ready to Get Started?</h2><p class="intro-text">Stay focused on building great data-driven applications and let Heroku tackle the rest.</p><p><a href="/contact-sales/" class="btn-secondary elementor-button-link">Talk to A Heroku Rep</a> <a class="btn-primary elementor-button-link" href="https://signup.heroku.com/">Sign Up Now</a></p> </div>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
<section class="elementor-element elementor-element-6317b9c pageblock pageblock--about-author e-flex e-con-boxed e-con e-parent" data-id="6317b9c" data-element_type="container" data-e-type="container">
|
||
<div class="e-con-inner">
|
||
<div class="elementor-element elementor-element-cc91a7e elementor-widget elementor-widget-shortcode" data-id="cc91a7e" data-element_type="widget" data-e-type="widget" data-widget_type="shortcode.default">
|
||
<div class="elementor-shortcode"><h6>More from the Author</h6>
|
||
<div class="author-posts--wrapper">
|
||
<div class="author-info">
|
||
<div class="author-avatar"><a href="https://www.heroku.com/blog/author/richard-schneeman/" class="author-gravatar"><img alt='' src='https://secure.gravatar.com/avatar/ec1738b79a30ffb4e49cc727744bf7d501442b09adeece0dd58024fe1402f777?s=70&d=mm&r=g' srcset='https://secure.gravatar.com/avatar/ec1738b79a30ffb4e49cc727744bf7d501442b09adeece0dd58024fe1402f777?s=140&d=mm&r=g 2x' class='avatar avatar-70 photo' height='70' width='70' decoding='async'/></a></div>
|
||
<div class="author-name-designation">
|
||
<div class="author-name"><a href="https://www.heroku.com/blog/author/richard-schneeman/">Richard Schneeman</a></div>
|
||
<div class="author-title">Ruby Engineer at Heroku</div>
|
||
<div class="author-designation">Heroku Staff</div>
|
||
</div>
|
||
</div>
|
||
<hr /><ul><li><a href="https://www.heroku.com/blog/upgrade-to-puma-7-and-unlock-the-power-of-fair-scheduled-keep-alive/">Upgrade to Puma 7 and Unlock the Power of Fair Scheduled Keep-alive</a></li><li><a href="https://www.heroku.com/blog/learn-how-to-lower-heroku-dyno-latency-keep-alive/">Learn How to Lower Heroku Dyno Latency through Persistent Connections (Keep-alive)</a></li><li><a href="https://www.heroku.com/blog/migrating-ruby-apps-latest-stack/">Migrating Your Ruby Apps to the Latest Stack</a></li></ul></div></div>
|
||
</div>
|
||
<div class="elementor-element elementor-element-99d3626 elementor-widget elementor-widget-text-editor" data-id="99d3626" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
|
||
<p>Browse the archives for <a href="https://www.heroku.com/blog/category/engineering/">Engineering</a> or <a href="/blog/">all blogs</a>. Subscribe to the RSS feed for <a href="https://www.heroku.com/blog/category/engineering/feed/">Engineering</a> or <a href="https://www.heroku.com/blog/feed/">all blogs</a>.</p> </div>
|
||
</div>
|
||
</section>
|
||
</main>
|
||
<footer data-elementor-type="footer" data-elementor-id="14" class="elementor elementor-14 elementor-location-footer" data-elementor-post-type="elementor_library">
|
||
<div class="elementor-element elementor-element-4ab36929 e-con-full e-flex e-con e-parent" data-id="4ab36929" data-element_type="container" data-e-type="container" id="oms-footer">
|
||
<div class="elementor-element elementor-element-5242ecfe col-count--3 e-flex e-con-boxed e-con e-child" data-id="5242ecfe" data-element_type="container" data-e-type="container" id="main-footer" data-settings="{"background_background":"classic"}">
|
||
<div class="e-con-inner">
|
||
<div class="elementor-element elementor-element-12479e49 e-con-full column column--footer column--footer-nav e-flex e-con e-child" data-id="12479e49" data-element_type="container" data-e-type="container">
|
||
<div class="elementor-element elementor-element-ac2bd43 elementor-widget elementor-widget-wp-widget-nav_menu" data-id="ac2bd43" data-element_type="widget" data-e-type="widget" data-widget_type="wp-widget-nav_menu.default">
|
||
<div class="elementor-widget-container">
|
||
<nav class="menu-footer-1-container" aria-label="Menu"><ul id="menu-footer-1" class="menu"><li id="menu-item-275" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-275"><a href="https://www.heroku.com/products/">Products</a>
|
||
<ul class="sub-menu">
|
||
<li id="menu-item-219" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-219"><a href="https://www.heroku.com/platform/">Heroku Platform</a></li>
|
||
<li id="menu-item-13878" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-13878"><a href="https://www.heroku.com/ai/">Heroku AI</a></li>
|
||
<li id="menu-item-13881" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-13881"><a href="https://www.heroku.com/ai/managed-inference-and-agents/">Heroku Managed Inference and Agents</a></li>
|
||
<li id="menu-item-13879" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-13879"><a href="https://www.heroku.com/ai/pgvector-for-heroku-postgres/">pgvector for Heroku Postgres</a></li>
|
||
<li id="menu-item-13880" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-13880"><a href="https://www.heroku.com/ai/mcp-on-heroku/">MCP on Heroku</a></li>
|
||
<li id="menu-item-220" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-220"><a href="https://www.heroku.com/managed-data-services/">Heroku Data Services</a></li>
|
||
<li id="menu-item-221" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-221"><a href="https://www.heroku.com/postgres/">Heroku Postgres</a></li>
|
||
<li id="menu-item-229" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-229"><a href="https://www.heroku.com/key-value-store/">Heroku Key-Value Store</a></li>
|
||
<li id="menu-item-228" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-228"><a href="https://www.heroku.com/kafka/">Apache Kafka on Heroku</a></li>
|
||
<li id="menu-item-230" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-230"><a href="https://www.heroku.com/enterprise/">Heroku Enterprise</a></li>
|
||
<li id="menu-item-12268" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-12268"><a href="https://www.heroku.com/private-spaces/">Heroku Private Spaces</a></li>
|
||
<li id="menu-item-232" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-232"><a href="https://www.heroku.com/connect/">Heroku Connect</a></li>
|
||
<li id="menu-item-233" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-233"><a href="https://www.heroku.com/shield/">Heroku Shield</a></li>
|
||
<li id="menu-item-2240" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2240"><a href="https://www.heroku.com/support/">Heroku Success</a></li>
|
||
<li id="menu-item-234" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-234"><a href="https://www.heroku.com/teams/">Heroku Teams</a></li>
|
||
<li id="menu-item-235" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-235"><a href="https://elements.heroku.com/">Elements Marketplace</a></li>
|
||
</ul>
|
||
</li>
|
||
</ul></nav> </div>
|
||
</div>
|
||
</div>
|
||
<div class="elementor-element elementor-element-57b6ee5d e-con-full column column--footer column--footer-nav e-flex e-con e-child" data-id="57b6ee5d" data-element_type="container" data-e-type="container">
|
||
<div class="elementor-element elementor-element-791587d elementor-widget elementor-widget-wp-widget-nav_menu" data-id="791587d" data-element_type="widget" data-e-type="widget" data-widget_type="wp-widget-nav_menu.default">
|
||
<div class="elementor-widget-container">
|
||
<nav class="menu-footer-2-container" aria-label="Menu"><ul id="menu-footer-2" class="menu"><li id="menu-item-2241" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-2241"><a href="https://www.heroku.com/languages/">Languages</a>
|
||
<ul class="sub-menu">
|
||
<li id="menu-item-2242" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2242"><a href="https://www.heroku.com/python/">Python</a></li>
|
||
<li id="menu-item-14019" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-14019"><a href="https://www.heroku.com/dotnet/">.NET</a></li>
|
||
<li id="menu-item-2244" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2244"><a href="https://www.heroku.com/java/">Java</a></li>
|
||
<li id="menu-item-2245" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2245"><a href="https://www.heroku.com/nodejs/">Node.js</a></li>
|
||
<li id="menu-item-2248" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2248"><a href="https://www.heroku.com/go/">Go</a></li>
|
||
<li id="menu-item-2247" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2247"><a href="https://www.heroku.com/php/">PHP</a></li>
|
||
<li id="menu-item-2246" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2246"><a href="https://www.heroku.com/ruby/">Ruby</a></li>
|
||
<li id="menu-item-18612" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-18612"><a href="/java/?lang=scala">Scala</a></li>
|
||
<li id="menu-item-18611" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-18611"><a href="/java/?lang=clojure">Clojure</a></li>
|
||
</ul>
|
||
</li>
|
||
</ul></nav> </div>
|
||
</div>
|
||
</div>
|
||
<div class="elementor-element elementor-element-2b0ed67 e-con-full column column--footer column--footer-nav e-flex e-con e-child" data-id="2b0ed67" data-element_type="container" data-e-type="container">
|
||
<div class="elementor-element elementor-element-075cf47 footer--menu-header elementor-widget elementor-widget-heading" data-id="075cf47" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
|
||
<div class="elementor-heading-title elementor-size-default">Resources</div> </div>
|
||
<div class="elementor-element elementor-element-e4628b2 elementor-widget elementor-widget-wp-widget-nav_menu" data-id="e4628b2" data-element_type="widget" data-e-type="widget" data-widget_type="wp-widget-nav_menu.default">
|
||
<div class="elementor-widget-container">
|
||
<nav class="menu-footer-3-container" aria-label="Menu"><ul id="menu-footer-3" class="menu"><li id="menu-item-2253" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-2253"><a href="https://devcenter.heroku.com/">Dev Center</a></li>
|
||
<li id="menu-item-2254" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2254"><a href="https://www.heroku.com/training-and-education/">Training & Education</a></li>
|
||
<li id="menu-item-2255" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-2255"><a href="https://devcenter.heroku.com/start">Get Started</a></li>
|
||
<li id="menu-item-2257" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2257"><a href="https://www.heroku.com/pricing/">Pricing</a></li>
|
||
<li id="menu-item-2258" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-2258"><a href="https://www.heroku.com/blog/">Blog</a></li>
|
||
<li id="menu-item-2259" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2259"><a href="https://www.heroku.com/customers/">Customers</a></li>
|
||
<li id="menu-item-2260" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2260"><a href="https://www.heroku.com/partnering/">Partners</a></li>
|
||
<li id="menu-item-2261" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2261"><a href="https://www.heroku.com/compliance/">Compliance Center</a></li>
|
||
<li id="menu-item-2262" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2262"><a href="https://www.heroku.com/solutions/">Solutions</a></li>
|
||
<li id="menu-item-2263" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2263"><a href="https://www.heroku.com/codeish-podcasts/">Podcasts</a></li>
|
||
</ul></nav> </div>
|
||
</div>
|
||
</div>
|
||
<div class="elementor-element elementor-element-00ba0d9 e-con-full column column--footer column--footer-nav e-flex e-con e-child" data-id="00ba0d9" data-element_type="container" data-e-type="container">
|
||
<div class="elementor-element elementor-element-8f952e7 elementor-widget elementor-widget-wp-widget-nav_menu" data-id="8f952e7" data-element_type="widget" data-e-type="widget" data-widget_type="wp-widget-nav_menu.default">
|
||
<div class="elementor-widget-container">
|
||
<nav class="menu-footer-4-container" aria-label="Menu"><ul id="menu-footer-4" class="menu"><li id="menu-item-2264" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-2264"><a href="https://www.heroku.com/about/">About Us</a>
|
||
<ul class="sub-menu">
|
||
<li id="menu-item-2267" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2267"><a href="https://www.heroku.com/what/">What is Heroku?</a></li>
|
||
<li id="menu-item-2270" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2270"><a href="https://www.heroku.com/salesforce/">Heroku & Salesforce</a></li>
|
||
<li id="menu-item-2271" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2271"><a href="https://www.heroku.com/careers/">Careers</a></li>
|
||
</ul>
|
||
</li>
|
||
<li id="menu-item-193" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-193"><a href="https://help.heroku.com/">Help Center</a></li>
|
||
<li id="menu-item-194" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-194"><a href="https://status.salesforce.com/products/Heroku">Status</a></li>
|
||
<li id="menu-item-198" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-198"><a href="https://www.heroku.com/contact/">Contact</a></li>
|
||
</ul></nav> </div>
|
||
</div>
|
||
</div>
|
||
<nav class="elementor-element elementor-element-1d2fabd9 e-con-full column column--footer e-flex e-con e-child" data-id="1d2fabd9" data-element_type="container" data-e-type="container" aria-label="social">
|
||
<div class="elementor-element elementor-element-2609a195 e-grid-align-right e-grid-align-tablet-center elementor-shape-rounded elementor-grid-0 elementor-widget elementor-widget-social-icons" data-id="2609a195" data-element_type="widget" data-e-type="widget" data-widget_type="social-icons.default">
|
||
<div class="elementor-social-icons-wrapper elementor-grid" role="list">
|
||
<span class="elementor-grid-item" role="listitem">
|
||
<a class="elementor-icon elementor-social-icon elementor-social-icon-Bluesky elementor-repeater-item-96a9910" href="https://bsky.app/profile/heroku.com" target="_blank">
|
||
<span class="elementor-screen-only">Bluesky</span>
|
||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 600 530"><path d="m135.72 44.03c66.496 49.921 138.02 151.14 164.28 205.46 26.262-54.316 97.782-155.54 164.28-205.46 47.98-36.021 125.72-63.892 125.72 24.795 0 17.712-10.155 148.79-16.111 170.07-20.703 73.984-96.144 92.854-163.25 81.433 117.3 19.964 147.14 86.092 82.697 152.22-122.39 125.59-175.91-31.511-189.63-71.766-2.514-7.3797-3.6904-10.832-3.7077-7.8964-0.0174-2.9357-1.1937 0.51669-3.7077 7.8964-13.714 40.255-67.233 197.36-189.63 71.766-64.444-66.128-34.605-132.26 82.697-152.22-67.108 11.421-142.55-7.4491-163.25-81.433-5.9562-21.282-16.111-152.36-16.111-170.07 0-88.687 77.742-60.816 125.72-24.795z"></path></svg> </a>
|
||
</span>
|
||
<span class="elementor-grid-item" role="listitem">
|
||
<a class="elementor-icon elementor-social-icon elementor-social-icon-x-twitter-square elementor-repeater-item-525a1a8" href="https://x.com/heroku" target="_blank">
|
||
<span class="elementor-screen-only">X-twitter-square</span>
|
||
<svg aria-hidden="true" class="e-font-icon-svg e-fab-x-twitter-square" viewBox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><path d="M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm297.1 84L257.3 234.6 379.4 396H283.8L209 298.1 123.3 396H75.8l111-126.9L69.7 116h98l67.7 89.5L313.6 116h47.5zM323.3 367.6L153.4 142.9H125.1L296.9 367.6h26.3z"></path></svg> </a>
|
||
</span>
|
||
<span class="elementor-grid-item" role="listitem">
|
||
<a class="elementor-icon elementor-social-icon elementor-social-icon-linkedin elementor-repeater-item-cf7fdae" href="https://www.linkedin.com/company/heroku" target="_blank">
|
||
<span class="elementor-screen-only">Linkedin</span>
|
||
<svg aria-hidden="true" class="e-font-icon-svg e-fab-linkedin" viewBox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><path d="M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3zM135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5zm282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9V416z"></path></svg> </a>
|
||
</span>
|
||
<span class="elementor-grid-item" role="listitem">
|
||
<a class="elementor-icon elementor-social-icon elementor-social-icon-github elementor-repeater-item-79745e7" href="https://github.com/heroku" target="_blank">
|
||
<span class="elementor-screen-only">Github</span>
|
||
<svg aria-hidden="true" class="e-font-icon-svg e-fab-github" viewBox="0 0 496 512" xmlns="http://www.w3.org/2000/svg"><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"></path></svg> </a>
|
||
</span>
|
||
<span class="elementor-grid-item" role="listitem">
|
||
<a class="elementor-icon elementor-social-icon elementor-social-icon-rss elementor-repeater-item-428cd3e" href="https://www.heroku.com/blog/feed/" target="_blank">
|
||
<span class="elementor-screen-only">Rss</span>
|
||
<svg aria-hidden="true" class="e-font-icon-svg e-fas-rss" viewBox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><path d="M128.081 415.959c0 35.369-28.672 64.041-64.041 64.041S0 451.328 0 415.959s28.672-64.041 64.041-64.041 64.04 28.673 64.04 64.041zm175.66 47.25c-8.354-154.6-132.185-278.587-286.95-286.95C7.656 175.765 0 183.105 0 192.253v48.069c0 8.415 6.49 15.472 14.887 16.018 111.832 7.284 201.473 96.702 208.772 208.772.547 8.397 7.604 14.887 16.018 14.887h48.069c9.149.001 16.489-7.655 15.995-16.79zm144.249.288C439.596 229.677 251.465 40.445 16.503 32.01 7.473 31.686 0 38.981 0 48.016v48.068c0 8.625 6.835 15.645 15.453 15.999 191.179 7.839 344.627 161.316 352.465 352.465.353 8.618 7.373 15.453 15.999 15.453h48.068c9.034-.001 16.329-7.474 16.005-16.504z"></path></svg> </a>
|
||
</span>
|
||
</div>
|
||
</div>
|
||
</nav>
|
||
</div>
|
||
</div>
|
||
<div class="elementor-element elementor-element-79de5a00 e-flex e-con-boxed e-con e-child" data-id="79de5a00" data-element_type="container" data-e-type="container" id="bottom-footer" data-settings="{"background_background":"classic"}">
|
||
<div class="e-con-inner">
|
||
<div class="elementor-element elementor-element-da83b70 e-con-full column column--footer e-flex e-con e-child" data-id="da83b70" data-element_type="container" data-e-type="container">
|
||
<div class="elementor-element elementor-element-aa5f8d0 footer--logo elementor-widget elementor-widget-image" data-id="aa5f8d0" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
|
||
<img loading="lazy" src="https://www.heroku.com/wp-content/uploads/2025/01/Heroku-Logo-Light-RGB.png?w=200" title="" alt="Heroku - from Salesforce" /> </div>
|
||
</div>
|
||
<div class="elementor-element elementor-element-277b6566 e-con-full column column--footer e-flex e-con e-child" data-id="277b6566" data-element_type="container" data-e-type="container">
|
||
<div class="elementor-element elementor-element-1614a8b8 elementor-widget__width-auto elementor-nav-menu--dropdown-none copyright copyright--nav elementor-nav-menu__align-start elementor-widget elementor-widget-nav-menu" data-id="1614a8b8" data-element_type="widget" data-e-type="widget" data-settings="{"layout":"horizontal","submenu_icon":{"value":"<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-caret-down\" viewBox=\"0 0 320 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M31.3 192h257.3c17.8 0 26.7 21.5 14.1 34.1L174.1 354.8c-7.8 7.8-20.5 7.8-28.3 0L17.2 226.1C4.6 213.5 13.5 192 31.3 192z\"><\/path><\/svg>","library":"fa-solid"}}" data-widget_type="nav-menu.default">
|
||
<nav aria-label="Copyright" class="elementor-nav-menu--main elementor-nav-menu__container elementor-nav-menu--layout-horizontal e--pointer-none">
|
||
<ul id="menu-1-1614a8b8" class="elementor-nav-menu"><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10887"><a target="_blank" href="https://www.salesforce.com/company/legal/" class="elementor-item">Legal</a></li>
|
||
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10888"><a target="_blank" href="https://www.salesforce.com/company/legal/sfdc-website-terms-of-service/" class="elementor-item">Terms of Service</a></li>
|
||
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10889"><a target="_blank" href="https://www.salesforce.com/company/privacy/" class="elementor-item">Privacy Information</a></li>
|
||
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10890"><a target="_blank" href="https://www.salesforce.com/company/legal/disclosure/" class="elementor-item">Responsible Disclosure</a></li>
|
||
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10891"><a target="_blank" href="https://trust.salesforce.com/" class="elementor-item">Trust</a></li>
|
||
<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-10892"><a href="https://www.heroku.com/contact/" class="elementor-item">Contact</a></li>
|
||
<li class="optanon-toggle-display menu-item menu-item-type-custom menu-item-object-custom menu-item-10893"><a href="#" class="elementor-item elementor-item-anchor">Cookie Preferences</a></li>
|
||
<li class="icon--ccpa menu-item menu-item-type-custom menu-item-object-custom menu-item-10894"><a target="_blank" href="https://www.salesforce.com/form/other/privacy-request/" class="elementor-item">Your Privacy Choices</a></li>
|
||
<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-238"><a href="https://www.heroku.com/sitemap/" class="elementor-item">Sitemap</a></li>
|
||
</ul> </nav>
|
||
<nav class="elementor-nav-menu--dropdown elementor-nav-menu__container" aria-hidden="true">
|
||
<ul id="menu-2-1614a8b8" class="elementor-nav-menu"><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10887"><a target="_blank" href="https://www.salesforce.com/company/legal/" class="elementor-item" tabindex="-1">Legal</a></li>
|
||
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10888"><a target="_blank" href="https://www.salesforce.com/company/legal/sfdc-website-terms-of-service/" class="elementor-item" tabindex="-1">Terms of Service</a></li>
|
||
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10889"><a target="_blank" href="https://www.salesforce.com/company/privacy/" class="elementor-item" tabindex="-1">Privacy Information</a></li>
|
||
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10890"><a target="_blank" href="https://www.salesforce.com/company/legal/disclosure/" class="elementor-item" tabindex="-1">Responsible Disclosure</a></li>
|
||
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10891"><a target="_blank" href="https://trust.salesforce.com/" class="elementor-item" tabindex="-1">Trust</a></li>
|
||
<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-10892"><a href="https://www.heroku.com/contact/" class="elementor-item" tabindex="-1">Contact</a></li>
|
||
<li class="optanon-toggle-display menu-item menu-item-type-custom menu-item-object-custom menu-item-10893"><a href="#" class="elementor-item elementor-item-anchor" tabindex="-1">Cookie Preferences</a></li>
|
||
<li class="icon--ccpa menu-item menu-item-type-custom menu-item-object-custom menu-item-10894"><a target="_blank" href="https://www.salesforce.com/form/other/privacy-request/" class="elementor-item" tabindex="-1">Your Privacy Choices</a></li>
|
||
<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-238"><a href="https://www.heroku.com/sitemap/" class="elementor-item" tabindex="-1">Sitemap</a></li>
|
||
</ul> </nav>
|
||
</div>
|
||
<div class="elementor-element elementor-element-3f52f268 e-con-full wrapper e-flex e-con e-child" data-id="3f52f268" data-element_type="container" data-e-type="container">
|
||
<div class="elementor-element elementor-element-f8ea2fb elementor-widget elementor-widget-text-editor" data-id="f8ea2fb" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
|
||
<p>© Copyright 2026 Salesforce, Inc. All rights reserved. Various trademarks held by their respective owners. Salesforce Tower, 415 Mission Street, 3rd Floor, San Francisco, CA 94105, United States</p> </div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</footer>
|
||
|
||
<script type="speculationrules">
|
||
{"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/orbitmedia-elementor/*","/wp-content/themes/hello-elementor/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]}
|
||
</script>
|
||
<script type="application/ld+json" id="slim-seo-schema">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://www.heroku.com/#website","name":"Heroku","description":"Cloud Application Platform","potentialAction":{"@id":"https://www.heroku.com/#searchaction"},"publisher":{"@id":"https://www.heroku.com/#organization"},"url":"https://www.heroku.com/"},{"@type":"Corporation","@id":"https://www.heroku.com/#organization","name":"Heroku","logo":"https://www.heroku.com/wp-content/uploads/2025/01/Heroku-Logo-Light-RGB.png?w=200","sameAs":["https://x.com/heroku","https://github.com/heroku","https://www.linkedin.com/company/heroku","https://bsky.app/profile/heroku.com"],"url":"https://www.heroku.com/"},{"@type":"BreadcrumbList","name":"Breadcrumbs","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://www.heroku.com/"},{"@type":"ListItem","position":2,"name":"Blog","item":"https://www.heroku.com/blog/"},{"@type":"ListItem","position":3,"name":"Engineering","item":"https://www.heroku.com/blog/category/engineering/"},{"@type":"ListItem","position":4,"name":"Puma 4: Hammering Out H13s—A Debugging Story"}],"@id":"https://www.heroku.com/blog/puma-4-hammering-out-h13s-a-debugging-story/#breadcrumblist"},{"@type":"TechArticle","url":"https://www.heroku.com/blog/puma-4-hammering-out-h13s-a-debugging-story/","headline":"Puma 4: Hammering Out H13s—A Debugging Story","author":"Richard Schneeman","publisher":{"@id":"https://www.heroku.com/#organization"},"datePublished":"2019-07-12T17:53:00+00:00","dateModified":"2025-11-10T20:11:40+00:00","articleBody":"For quite some time we've received reports from our larger customers about a mysterious H13 - Connection closed error showing up for Ruby applications. Curiously it only ever happened around the time they were deploying or scaling their dynos. Even more peculiar, it only happened to relatively high scale applications. We couldn't reproduce the behavior on an example app. This is a story about distributed coordination, the TCP API, and how we debugged and fixed a bug in Puma that only shows up at scale. Connection closed First of all, what even is an H13 error? From our error page documentation: This error is thrown when a process in your web dyno accepts a connection, but then closes the socket without writing anything to it. One example where this might happen is when a Unicorn web server is configured with a timeout shorter than 30s and a request has not been processed by a worker before the timeout happens. In this case, Unicorn closes the connection before any data is written, resulting in an H13. Fun fact: Our error codes start with the letter of the component where they came from. Our Routing code is all written in Erlang and is named "Hermes" so any error codes from Heroku that start with an "H" indicate an error from the router. The documentation gives an example of an H13 error code with the unicorn webserver, but it can happen any time a connection is closed via a server, but there has been no response written. Here’s an example showing how to reproduce a H13 explicitly with a node app . What does it mean for an application to get an H13? Essentially every one of these errors correlates to a customer who got an error page. Serving a handful of errors every time the app restarts or deploys or auto-scales is an awful user experience, so it's worth it to find and fix. Debugging I have maintained the Ruby buildpack for several years, and part of that job is to handle support escalations for Ruby tickets. In addition to the normal deployment issues, I've been developing an interest in performance, scalability, and web servers (I recently started helping to maintain the Puma webserver). Because of these interests, when a tricky issue comes in from one of our larger customers, especially if it only happens at scale, I take particular interest. To understand the problem, you need to know a little about the nature of sending distributed messages. Webservers are inherently distributed systems, and to make things more complicated, we often use distributed systems to manage our distributed systems. In the case of this error, it didn't seem to come from a customer's application code i.e. they didn't seem to have anything misconfigured. It also only seemed to happen when a dyno was being shut down. To shut down a dyno two things have to happen, we need to send a SIGTERM to the processes on the dyno which tells the webserver to safely shutdown . We also need to tell our router to stop sending requests to that dyno since it will be shut down soon. These two operations happen on two different systems. The dyno runs on one server, the router which serves our requests is a separate system. It's itself a distributed system. It turns out that while both systems get the message at about the same time, the router might still let a few requests trickle into the dyno that is being shut down after it receives the SIGTERM . That explains the problem then, right? The reason this only happens on apps with a large amount of traffic is they get so many requests there is more chance that there will be a race condition between when the router stops sending requests and the dyno receives the SIGTERM . That sounds like a bug with the router then right? Before we get too deep into the difficulties of distributed coordination, I noticed that other apps with just as much load weren't getting H13 errors. What did that tell me? It told me that the distributed behavior of our system wasn't to blame. If other webservers can handle this just fine, then we need to update our webserver, Puma in this case. Reproduction When you're dealing with a distributed system bug that's reliant on a race condition, reproducing the issue can be a tricky affair. While pairing on the issue with another Heroku engineer, Chap Ambrose , we hit an idea. First, we would reproduce the H13 behavior in any app to figure out what curl exit code we would get, and then we could try to reproduce the exact failure conditions with a more complicated example. A simple reproduction rack app looks like this: When you run this config.ru with Puma and hit it with a request, you'll get a connection that is closed without a request getting written. That was pretty easy. The curl code when a connection is closed like this is 52 so now we can detect when it happens. A more complicated reproduction happens when SIGTERM is called but requests keep coming in. To facilitate that we ended up with a reproduction that looks like this: This config.ru rack app sends a SIGTERM to itself and it's parent process on the first request. So other future requests will be coming in when the server is shutting down. Then we can write a script that boots this server and hits it with a bunch of requests in parallel: When we run this reproduction, we see that it gives us the exact behavior we're looking to reproduce. Even better, when this code is deployed on Heroku we can see an H13 error is triggered: You can get all this code and some more details on the reproduciton script repo . And here's the Puma Issue I was using to track the behavior Closing the connection closed bug With a reproduction script in hand, it was possible for us to add debugging statements to Puma internals to see how it behaved while experiencing this issue. With a little investigation, it turned out that Puma never explicitly closed the socket of the connection. Instead, it relied on the process stopping to close it. What exactly does that mean? Every time you type a URL into a browser, the request gets routed to a server. On Heroku, the request goes to our router. The router then attempts to connect to a dyno (server) and pass it the request. The underlying mechanism that allows this is the webserver (Puma) on the dyno opening up a TCP socket on a $PORT. The request is accepted onto the socket, and it will sit there until the webserver (Puma) is ready to read it in and respond to it. What behavior do we want to happen to avoid this H13 error? In the error case, the router tries to connect to the dyno, it's successful, and since the request is accepted by the dyno, the router expects the dyno to handle writing the request. If instead, the socket is closed when it tries to pass on the request it will know that Puma cannot respond. It will then retry passing the connection to another dyno. There are times when a webserver might reject a connection, for example, if the socket is full (default is only to allow 1024 connections on the socket backlog), or if the entire server has crashed. In our case, closing the socket is what we want. It correctly communicates to the router to do the right thing (try passing the connection to another dyno or hold onto it in the case all dynos are restarting). So then, the solution to the problem was to close the socket before attempting to shut down explicitly. Here's the PR . The main magic is just one line: If you're a worrier (I know I am) you might be afraid that closing the socket prevents any in-flight requests from being completed successfully. Lucky for us closing a socket prevents incoming requests but still allows us to respond to existing requests. If you don't believe me, think about how you could test it with one of my above example repos. Testing distributed behavior I don't know if this behavior in Puma broke, or maybe it never worked. To try to make sure that it continues to work in the future, I wanted to write a test for it. I reached out to dannyfallon who has helped out on some other Puma issues, and we remote paired on the tests using Tuple . The tests ended up being not terribly different than our example reproduction above , but it was pretty tricky to get it to have consistent behavior. With an issue that doesn't regularly show up unless it's on an app at scale, it's essential to test, as Charity Majors would say "in production". We had several Heroku customers who were seeing this error try out my patch. They reported some other issues, which we were able to resolve, after fixing those issues, it looked like the errors were fixed. Rolling out the fix Puma 4, which came with this fix, was recently released . We reached out to a customer who was using Puma and seeing a large number of H13s, and this release stopped them in their tracks. Learn more about Puma 4 below. By the coders who brought you Llamas in Pajamas. A new cinematic Ruby server experience. Directed by @evanphx , cinematography by @nateberkopec , produced by @schneems . Introducing - Puma: 4 Fast 4 Furious https://t.co/06PG0lzubk pic.twitter.com/O1dLfwnctJ — Richard Schneeman (@schneems) June 25, 2019","articleSection":["Engineering"],"image":[""],"inLanguage":"en-US","@id":"https://www.heroku.com/blog/puma-4-hammering-out-h13s-a-debugging-story/#techarticle_blog"},{"@type":"SearchAction","@id":"https://www.heroku.com/#searchaction","target":"https://www.heroku.com/?s={search_term_string}","query-input":"required name=search_term_string"}]}</script> <script>
|
||
( () => {
|
||
const lazyloadRunObserver = () => {
|
||
const lazyloadBackgrounds = document.querySelectorAll( `.e-con.e-parent:not(.e-lazyloaded)` );
|
||
const lazyloadBackgroundObserver = new IntersectionObserver( ( entries ) => {
|
||
entries.forEach( ( entry ) => {
|
||
if ( entry.isIntersecting ) {
|
||
let lazyloadBackground = entry.target;
|
||
if( lazyloadBackground ) {
|
||
lazyloadBackground.classList.add( 'e-lazyloaded' );
|
||
}
|
||
lazyloadBackgroundObserver.unobserve( entry.target );
|
||
}
|
||
});
|
||
}, { rootMargin: '200px 0px 200px 0px' } );
|
||
lazyloadBackgrounds.forEach( ( lazyloadBackground ) => {
|
||
lazyloadBackgroundObserver.observe( lazyloadBackground );
|
||
} );
|
||
};
|
||
const events = [
|
||
'DOMContentLoaded',
|
||
'elementor/lazyload/observe',
|
||
];
|
||
events.forEach( ( event ) => {
|
||
document.addEventListener( event, lazyloadRunObserver );
|
||
} );
|
||
} )();
|
||
</script>
|
||
<script type="text/javascript">var algolia = {"debug":false,"application_id":"2TGALADMUD","search_api_key":"7d2207578289591ca7427056006113f0","powered_by_enabled":false,"insights_enabled":false,"search_hits_per_page":"10","query":"","indices":{"searchable_posts":{"name":"wp_searchable_posts","id":"searchable_posts","enabled":true,"replicas":[]}},"autocomplete":{"sources":[],"input_selector":"input[name='s']:not(.no-autocomplete):not(#adminbar-search)","input_selector_modern":"#autocomplete"}};</script><style id="eael-inline-css">.clearfix::before,.clearfix::after{content:" ";display:table;clear:both}.eael-testimonial-slider.nav-top-left,.eael-testimonial-slider.nav-top-right,.eael-team-slider.nav-top-left,.eael-team-slider.nav-top-right,.eael-logo-carousel.nav-top-left,.eael-logo-carousel.nav-top-right,.eael-post-carousel.nav-top-left,.eael-post-carousel.nav-top-right,.eael-product-carousel.nav-top-left,.eael-product-carousel.nav-top-right{padding-top:40px}.eael-contact-form input[type=text],.eael-contact-form input[type=email],.eael-contact-form input[type=url],.eael-contact-form input[type=tel],.eael-contact-form input[type=date],.eael-contact-form input[type=number],.eael-contact-form textarea{background:#fff;box-shadow:none;-webkit-box-shadow:none;float:none;height:auto;margin:0;outline:0;width:100%}.eael-contact-form input[type=submit]{border:0;float:none;height:auto;margin:0;padding:10px 20px;width:auto;-webkit-transition:all .25s linear 0s;transition:all .25s linear 0s}.eael-contact-form.placeholder-hide input::-webkit-input-placeholder,.eael-contact-form.placeholder-hide textarea::-webkit-input-placeholder{opacity:0;visibility:hidden}.eael-contact-form.placeholder-hide input::-moz-placeholder,.eael-contact-form.placeholder-hide textarea::-moz-placeholder{opacity:0;visibility:hidden}.eael-contact-form.placeholder-hide input:-ms-input-placeholder,.eael-contact-form.placeholder-hide textarea:-ms-input-placeholder{opacity:0;visibility:hidden}.eael-contact-form.placeholder-hide input:-moz-placeholder,.eael-contact-form.placeholder-hide textarea:-moz-placeholder{opacity:0;visibility:hidden}.eael-custom-radio-checkbox input[type=checkbox],.eael-custom-radio-checkbox input[type=radio]{-webkit-appearance:none;-moz-appearance:none;border-style:solid;border-width:0;outline:none;min-width:1px;width:15px;height:15px;background:#ddd;padding:3px}.eael-custom-radio-checkbox input[type=checkbox]:before,.eael-custom-radio-checkbox input[type=radio]:before{content:"";width:100%;height:100%;padding:0;margin:0;display:block}.eael-custom-radio-checkbox input[type=checkbox]:checked:before,.eael-custom-radio-checkbox input[type=radio]:checked:before{background:#999;-webkit-transition:all .25s linear 0s;transition:all .25s linear 0s}.eael-custom-radio-checkbox input[type=radio]{border-radius:50%}.eael-custom-radio-checkbox input[type=radio]:before{border-radius:50%}.eael-post-elements-readmore-btn{font-size:12px;font-weight:500;-webkit-transition:all 300ms ease-in-out;transition:all 300ms ease-in-out;display:inline-block}.elementor-lightbox .dialog-widget-content{width:100%;height:100%}.eael-contact-form-align-left,.elementor-widget-eael-weform.eael-contact-form-align-left .eael-weform-container{margin:0 auto 0 0;display:inline-block;text-align:left}.eael-contact-form-align-center,.elementor-widget-eael-weform.eael-contact-form-align-center .eael-weform-container{float:none;margin:0 auto;display:inline-block;text-align:left}.eael-contact-form-align-right,.elementor-widget-eael-weform.eael-contact-form-align-right .eael-weform-container{margin:0 0 0 auto;display:inline-block;text-align:left}.eael-force-hide{display:none !important}.eael-d-none{display:none !important}.eael-d-block{display:block !important}.eael-h-auto{height:auto !important}.theme-martfury .elementor-wc-products .woocommerce ul.products li.product .product-inner .mf-rating .eael-star-rating.star-rating~.count{display:none}.theme-martfury .elementor-wc-products .woocommerce ul.products li.product .product-inner .mf-rating .eael-star-rating.star-rating{display:none}.sr-only{border:0 !important;clip:rect(1px, 1px, 1px, 1px) !important;clip-path:inset(50%) !important;height:1px !important;margin:-1px !important;overflow:hidden !important;padding:0 !important;position:absolute !important;width:1px !important;white-space:nowrap !important}.elementor-widget-eael-adv-tabs .eael-tab-content-item,.elementor-widget-eael-adv-accordion .eael-accordion-content,.elementor-widget-eael-data-table .td-content,.elementor-widget-eael-info-box .eael-infobox-template-wrapper,.elementor-widget-eael-countdown .eael-countdown-expiry-template,.elementor-widget-eael-countdown .eael-countdown-container,.elementor-widget-eael-cta-box .eael-cta-template-wrapper,.elementor-widget-eael-toggle .eael-toggle-primary-wrap,.elementor-widget-eael-toggle .eael-toggle-secondary-wrap,.elementor-widget-eael-protected-content .eael-protected-content-message,.elementor-widget-eael-protected-content .protected-content,.eael-offcanvas-content-visible .eael-offcanvas-body,.elementor-widget-eael-stacked-cards .eael-stacked-cards__item{position:relative}.elementor-widget-eael-adv-tabs .eael-tab-content-item:hover .eael-onpage-edit-template-wrapper,.elementor-widget-eael-adv-accordion .eael-accordion-content:hover .eael-onpage-edit-template-wrapper,.elementor-widget-eael-data-table .td-content:hover .eael-onpage-edit-template-wrapper,.elementor-widget-eael-info-box .eael-infobox-template-wrapper:hover .eael-onpage-edit-template-wrapper,.elementor-widget-eael-countdown .eael-countdown-expiry-template:hover .eael-onpage-edit-template-wrapper,.elementor-widget-eael-countdown .eael-countdown-container:hover .eael-onpage-edit-template-wrapper,.elementor-widget-eael-cta-box .eael-cta-template-wrapper:hover .eael-onpage-edit-template-wrapper,.elementor-widget-eael-toggle .eael-toggle-primary-wrap:hover .eael-onpage-edit-template-wrapper,.elementor-widget-eael-toggle .eael-toggle-secondary-wrap:hover .eael-onpage-edit-template-wrapper,.elementor-widget-eael-protected-content .eael-protected-content-message:hover .eael-onpage-edit-template-wrapper,.elementor-widget-eael-protected-content .protected-content:hover .eael-onpage-edit-template-wrapper,.eael-offcanvas-content-visible .eael-offcanvas-body:hover .eael-onpage-edit-template-wrapper,.elementor-widget-eael-stacked-cards .eael-stacked-cards__item:hover .eael-onpage-edit-template-wrapper{display:block}.eael-widget-otea-active .elementor-element:hover>.elementor-element-overlay,.eael-widget-otea-active .elementor-empty-view,.eael-widget-otea-active .elementor-add-section-inline,.eael-widget-otea-active .elementor-add-section{display:initial !important}.eael-onpage-edit-template-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:none;border:2px solid #5eead4}.eael-onpage-edit-template-wrapper::after{position:absolute;content:"";top:0;left:0;right:0;bottom:0;z-index:2;background:#5eead4;opacity:.3}.eael-onpage-edit-template-wrapper.eael-onpage-edit-activate{display:block}.eael-onpage-edit-template-wrapper.eael-onpage-edit-activate::after{display:none}.eael-onpage-edit-template-wrapper .eael-onpage-edit-template{background:#5eead4;color:#000;width:150px;text-align:center;height:30px;line-height:30px;font-size:12px;cursor:pointer;position:relative;z-index:3;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.eael-onpage-edit-template-wrapper .eael-onpage-edit-template::before{content:"";border-top:30px solid #5eead4;border-right:0;border-bottom:0;border-left:14px solid rgba(0,0,0,0);right:100%;position:absolute}.eael-onpage-edit-template-wrapper .eael-onpage-edit-template::after{content:"";border-top:0;border-right:0;border-bottom:30px solid rgba(0,0,0,0);border-left:14px solid #5eead4;left:100%;position:absolute}.eael-onpage-edit-template-wrapper .eael-onpage-edit-template>i{margin-right:8px}.elementor-edit-area-active .eael_wd_liquid_glass_shadow-effect1,.elementor-edit-area-active .eael_wd_liquid_glass_shadow-effect2,.elementor-edit-area-active .eael_wd_liquid_glass_shadow-effect3,.elementor-edit-area-active .eael_wd_liquid_glass_shadow-effect4{-webkit-box-shadow:inherit !important;box-shadow:inherit !important}
|
||
.eael-password-protected-content-fields>form{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.eael-password-protected-content-fields .eael-password{padding:10px 20px;border-radius:0;font-size:1em;line-height:1em}.eael-password-protected-content-fields .eael-submit{text-transform:uppercase;padding:10px 20px;border:1px solid #333;border-radius:0;font-size:1em;line-height:1em}.eael-protected-content-message{padding:10px}.protected-content-error-msg{color:red}.rtl .eael-password-protected-content-fields>form{direction:ltr}
|
||
.clearfix::before,.clearfix::after{content:" ";display:table;clear:both}.eael-testimonial-slider.nav-top-left,.eael-testimonial-slider.nav-top-right,.eael-team-slider.nav-top-left,.eael-team-slider.nav-top-right,.eael-logo-carousel.nav-top-left,.eael-logo-carousel.nav-top-right,.eael-post-carousel.nav-top-left,.eael-post-carousel.nav-top-right,.eael-product-carousel.nav-top-left,.eael-product-carousel.nav-top-right{padding-top:40px}.eael-contact-form input[type=text],.eael-contact-form input[type=email],.eael-contact-form input[type=url],.eael-contact-form input[type=tel],.eael-contact-form input[type=date],.eael-contact-form input[type=number],.eael-contact-form textarea{background:#fff;box-shadow:none;-webkit-box-shadow:none;float:none;height:auto;margin:0;outline:0;width:100%}.eael-contact-form input[type=submit]{border:0;float:none;height:auto;margin:0;padding:10px 20px;width:auto;-webkit-transition:all .25s linear 0s;transition:all .25s linear 0s}.eael-contact-form.placeholder-hide input::-webkit-input-placeholder,.eael-contact-form.placeholder-hide textarea::-webkit-input-placeholder{opacity:0;visibility:hidden}.eael-contact-form.placeholder-hide input::-moz-placeholder,.eael-contact-form.placeholder-hide textarea::-moz-placeholder{opacity:0;visibility:hidden}.eael-contact-form.placeholder-hide input:-ms-input-placeholder,.eael-contact-form.placeholder-hide textarea:-ms-input-placeholder{opacity:0;visibility:hidden}.eael-contact-form.placeholder-hide input:-moz-placeholder,.eael-contact-form.placeholder-hide textarea:-moz-placeholder{opacity:0;visibility:hidden}.eael-custom-radio-checkbox input[type=checkbox],.eael-custom-radio-checkbox input[type=radio]{-webkit-appearance:none;-moz-appearance:none;border-style:solid;border-width:0;outline:none;min-width:1px;width:15px;height:15px;background:#ddd;padding:3px}.eael-custom-radio-checkbox input[type=checkbox]:before,.eael-custom-radio-checkbox input[type=radio]:before{content:"";width:100%;height:100%;padding:0;margin:0;display:block}.eael-custom-radio-checkbox input[type=checkbox]:checked:before,.eael-custom-radio-checkbox input[type=radio]:checked:before{background:#999;-webkit-transition:all .25s linear 0s;transition:all .25s linear 0s}.eael-custom-radio-checkbox input[type=radio]{border-radius:50%}.eael-custom-radio-checkbox input[type=radio]:before{border-radius:50%}.eael-post-elements-readmore-btn{font-size:12px;font-weight:500;-webkit-transition:all 300ms ease-in-out;transition:all 300ms ease-in-out;display:inline-block}.elementor-lightbox .dialog-widget-content{width:100%;height:100%}.eael-contact-form-align-left,.elementor-widget-eael-weform.eael-contact-form-align-left .eael-weform-container{margin:0 auto 0 0;display:inline-block;text-align:left}.eael-contact-form-align-center,.elementor-widget-eael-weform.eael-contact-form-align-center .eael-weform-container{float:none;margin:0 auto;display:inline-block;text-align:left}.eael-contact-form-align-right,.elementor-widget-eael-weform.eael-contact-form-align-right .eael-weform-container{margin:0 0 0 auto;display:inline-block;text-align:left}.eael-force-hide{display:none !important}.eael-d-none{display:none !important}.eael-d-block{display:block !important}.eael-h-auto{height:auto !important}.theme-martfury .elementor-wc-products .woocommerce ul.products li.product .product-inner .mf-rating .eael-star-rating.star-rating~.count{display:none}.theme-martfury .elementor-wc-products .woocommerce ul.products li.product .product-inner .mf-rating .eael-star-rating.star-rating{display:none}.sr-only{border:0 !important;clip:rect(1px, 1px, 1px, 1px) !important;clip-path:inset(50%) !important;height:1px !important;margin:-1px !important;overflow:hidden !important;padding:0 !important;position:absolute !important;width:1px !important;white-space:nowrap !important}.elementor-widget-eael-adv-tabs .eael-tab-content-item,.elementor-widget-eael-adv-accordion .eael-accordion-content,.elementor-widget-eael-data-table .td-content,.elementor-widget-eael-info-box .eael-infobox-template-wrapper,.elementor-widget-eael-countdown .eael-countdown-expiry-template,.elementor-widget-eael-countdown .eael-countdown-container,.elementor-widget-eael-cta-box .eael-cta-template-wrapper,.elementor-widget-eael-toggle .eael-toggle-primary-wrap,.elementor-widget-eael-toggle .eael-toggle-secondary-wrap,.elementor-widget-eael-protected-content .eael-protected-content-message,.elementor-widget-eael-protected-content .protected-content,.eael-offcanvas-content-visible .eael-offcanvas-body,.elementor-widget-eael-stacked-cards .eael-stacked-cards__item{position:relative}.elementor-widget-eael-adv-tabs .eael-tab-content-item:hover .eael-onpage-edit-template-wrapper,.elementor-widget-eael-adv-accordion .eael-accordion-content:hover .eael-onpage-edit-template-wrapper,.elementor-widget-eael-data-table .td-content:hover .eael-onpage-edit-template-wrapper,.elementor-widget-eael-info-box .eael-infobox-template-wrapper:hover .eael-onpage-edit-template-wrapper,.elementor-widget-eael-countdown .eael-countdown-expiry-template:hover .eael-onpage-edit-template-wrapper,.elementor-widget-eael-countdown .eael-countdown-container:hover .eael-onpage-edit-template-wrapper,.elementor-widget-eael-cta-box .eael-cta-template-wrapper:hover .eael-onpage-edit-template-wrapper,.elementor-widget-eael-toggle .eael-toggle-primary-wrap:hover .eael-onpage-edit-template-wrapper,.elementor-widget-eael-toggle .eael-toggle-secondary-wrap:hover .eael-onpage-edit-template-wrapper,.elementor-widget-eael-protected-content .eael-protected-content-message:hover .eael-onpage-edit-template-wrapper,.elementor-widget-eael-protected-content .protected-content:hover .eael-onpage-edit-template-wrapper,.eael-offcanvas-content-visible .eael-offcanvas-body:hover .eael-onpage-edit-template-wrapper,.elementor-widget-eael-stacked-cards .eael-stacked-cards__item:hover .eael-onpage-edit-template-wrapper{display:block}.eael-widget-otea-active .elementor-element:hover>.elementor-element-overlay,.eael-widget-otea-active .elementor-empty-view,.eael-widget-otea-active .elementor-add-section-inline,.eael-widget-otea-active .elementor-add-section{display:initial !important}.eael-onpage-edit-template-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:none;border:2px solid #5eead4}.eael-onpage-edit-template-wrapper::after{position:absolute;content:"";top:0;left:0;right:0;bottom:0;z-index:2;background:#5eead4;opacity:.3}.eael-onpage-edit-template-wrapper.eael-onpage-edit-activate{display:block}.eael-onpage-edit-template-wrapper.eael-onpage-edit-activate::after{display:none}.eael-onpage-edit-template-wrapper .eael-onpage-edit-template{background:#5eead4;color:#000;width:150px;text-align:center;height:30px;line-height:30px;font-size:12px;cursor:pointer;position:relative;z-index:3;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.eael-onpage-edit-template-wrapper .eael-onpage-edit-template::before{content:"";border-top:30px solid #5eead4;border-right:0;border-bottom:0;border-left:14px solid rgba(0,0,0,0);right:100%;position:absolute}.eael-onpage-edit-template-wrapper .eael-onpage-edit-template::after{content:"";border-top:0;border-right:0;border-bottom:30px solid rgba(0,0,0,0);border-left:14px solid #5eead4;left:100%;position:absolute}.eael-onpage-edit-template-wrapper .eael-onpage-edit-template>i{margin-right:8px}.elementor-edit-area-active .eael_wd_liquid_glass_shadow-effect1,.elementor-edit-area-active .eael_wd_liquid_glass_shadow-effect2,.elementor-edit-area-active .eael_wd_liquid_glass_shadow-effect3,.elementor-edit-area-active .eael_wd_liquid_glass_shadow-effect4{-webkit-box-shadow:inherit !important;box-shadow:inherit !important}
|
||
.eael-password-protected-content-fields>form{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.eael-password-protected-content-fields .eael-password{padding:10px 20px;border-radius:0;font-size:1em;line-height:1em}.eael-password-protected-content-fields .eael-submit{text-transform:uppercase;padding:10px 20px;border:1px solid #333;border-radius:0;font-size:1em;line-height:1em}.eael-protected-content-message{padding:10px}.protected-content-error-msg{color:red}.rtl .eael-password-protected-content-fields>form{direction:ltr}
|
||
.clearfix::before,.clearfix::after{content:" ";display:table;clear:both}.eael-testimonial-slider.nav-top-left,.eael-testimonial-slider.nav-top-right,.eael-team-slider.nav-top-left,.eael-team-slider.nav-top-right,.eael-logo-carousel.nav-top-left,.eael-logo-carousel.nav-top-right,.eael-post-carousel.nav-top-left,.eael-post-carousel.nav-top-right,.eael-product-carousel.nav-top-left,.eael-product-carousel.nav-top-right{padding-top:40px}.eael-contact-form input[type=text],.eael-contact-form input[type=email],.eael-contact-form input[type=url],.eael-contact-form input[type=tel],.eael-contact-form input[type=date],.eael-contact-form input[type=number],.eael-contact-form textarea{background:#fff;box-shadow:none;-webkit-box-shadow:none;float:none;height:auto;margin:0;outline:0;width:100%}.eael-contact-form input[type=submit]{border:0;float:none;height:auto;margin:0;padding:10px 20px;width:auto;-webkit-transition:all .25s linear 0s;transition:all .25s linear 0s}.eael-contact-form.placeholder-hide input::-webkit-input-placeholder,.eael-contact-form.placeholder-hide textarea::-webkit-input-placeholder{opacity:0;visibility:hidden}.eael-contact-form.placeholder-hide input::-moz-placeholder,.eael-contact-form.placeholder-hide textarea::-moz-placeholder{opacity:0;visibility:hidden}.eael-contact-form.placeholder-hide input:-ms-input-placeholder,.eael-contact-form.placeholder-hide textarea:-ms-input-placeholder{opacity:0;visibility:hidden}.eael-contact-form.placeholder-hide input:-moz-placeholder,.eael-contact-form.placeholder-hide textarea:-moz-placeholder{opacity:0;visibility:hidden}.eael-custom-radio-checkbox input[type=checkbox],.eael-custom-radio-checkbox input[type=radio]{-webkit-appearance:none;-moz-appearance:none;border-style:solid;border-width:0;outline:none;min-width:1px;width:15px;height:15px;background:#ddd;padding:3px}.eael-custom-radio-checkbox input[type=checkbox]:before,.eael-custom-radio-checkbox input[type=radio]:before{content:"";width:100%;height:100%;padding:0;margin:0;display:block}.eael-custom-radio-checkbox input[type=checkbox]:checked:before,.eael-custom-radio-checkbox input[type=radio]:checked:before{background:#999;-webkit-transition:all .25s linear 0s;transition:all .25s linear 0s}.eael-custom-radio-checkbox input[type=radio]{border-radius:50%}.eael-custom-radio-checkbox input[type=radio]:before{border-radius:50%}.eael-post-elements-readmore-btn{font-size:12px;font-weight:500;-webkit-transition:all 300ms ease-in-out;transition:all 300ms ease-in-out;display:inline-block}.elementor-lightbox .dialog-widget-content{width:100%;height:100%}.eael-contact-form-align-left,.elementor-widget-eael-weform.eael-contact-form-align-left .eael-weform-container{margin:0 auto 0 0;display:inline-block;text-align:left}.eael-contact-form-align-center,.elementor-widget-eael-weform.eael-contact-form-align-center .eael-weform-container{float:none;margin:0 auto;display:inline-block;text-align:left}.eael-contact-form-align-right,.elementor-widget-eael-weform.eael-contact-form-align-right .eael-weform-container{margin:0 0 0 auto;display:inline-block;text-align:left}.eael-force-hide{display:none !important}.eael-d-none{display:none !important}.eael-d-block{display:block !important}.eael-h-auto{height:auto !important}.theme-martfury .elementor-wc-products .woocommerce ul.products li.product .product-inner .mf-rating .eael-star-rating.star-rating~.count{display:none}.theme-martfury .elementor-wc-products .woocommerce ul.products li.product .product-inner .mf-rating .eael-star-rating.star-rating{display:none}.sr-only{border:0 !important;clip:rect(1px, 1px, 1px, 1px) !important;clip-path:inset(50%) !important;height:1px !important;margin:-1px !important;overflow:hidden !important;padding:0 !important;position:absolute !important;width:1px !important;white-space:nowrap !important}.elementor-widget-eael-adv-tabs .eael-tab-content-item,.elementor-widget-eael-adv-accordion .eael-accordion-content,.elementor-widget-eael-data-table .td-content,.elementor-widget-eael-info-box .eael-infobox-template-wrapper,.elementor-widget-eael-countdown .eael-countdown-expiry-template,.elementor-widget-eael-countdown .eael-countdown-container,.elementor-widget-eael-cta-box .eael-cta-template-wrapper,.elementor-widget-eael-toggle .eael-toggle-primary-wrap,.elementor-widget-eael-toggle .eael-toggle-secondary-wrap,.elementor-widget-eael-protected-content .eael-protected-content-message,.elementor-widget-eael-protected-content .protected-content,.eael-offcanvas-content-visible .eael-offcanvas-body,.elementor-widget-eael-stacked-cards .eael-stacked-cards__item{position:relative}.elementor-widget-eael-adv-tabs .eael-tab-content-item:hover .eael-onpage-edit-template-wrapper,.elementor-widget-eael-adv-accordion .eael-accordion-content:hover .eael-onpage-edit-template-wrapper,.elementor-widget-eael-data-table .td-content:hover .eael-onpage-edit-template-wrapper,.elementor-widget-eael-info-box .eael-infobox-template-wrapper:hover .eael-onpage-edit-template-wrapper,.elementor-widget-eael-countdown .eael-countdown-expiry-template:hover .eael-onpage-edit-template-wrapper,.elementor-widget-eael-countdown .eael-countdown-container:hover .eael-onpage-edit-template-wrapper,.elementor-widget-eael-cta-box .eael-cta-template-wrapper:hover .eael-onpage-edit-template-wrapper,.elementor-widget-eael-toggle .eael-toggle-primary-wrap:hover .eael-onpage-edit-template-wrapper,.elementor-widget-eael-toggle .eael-toggle-secondary-wrap:hover .eael-onpage-edit-template-wrapper,.elementor-widget-eael-protected-content .eael-protected-content-message:hover .eael-onpage-edit-template-wrapper,.elementor-widget-eael-protected-content .protected-content:hover .eael-onpage-edit-template-wrapper,.eael-offcanvas-content-visible .eael-offcanvas-body:hover .eael-onpage-edit-template-wrapper,.elementor-widget-eael-stacked-cards .eael-stacked-cards__item:hover .eael-onpage-edit-template-wrapper{display:block}.eael-widget-otea-active .elementor-element:hover>.elementor-element-overlay,.eael-widget-otea-active .elementor-empty-view,.eael-widget-otea-active .elementor-add-section-inline,.eael-widget-otea-active .elementor-add-section{display:initial !important}.eael-onpage-edit-template-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:none;border:2px solid #5eead4}.eael-onpage-edit-template-wrapper::after{position:absolute;content:"";top:0;left:0;right:0;bottom:0;z-index:2;background:#5eead4;opacity:.3}.eael-onpage-edit-template-wrapper.eael-onpage-edit-activate{display:block}.eael-onpage-edit-template-wrapper.eael-onpage-edit-activate::after{display:none}.eael-onpage-edit-template-wrapper .eael-onpage-edit-template{background:#5eead4;color:#000;width:150px;text-align:center;height:30px;line-height:30px;font-size:12px;cursor:pointer;position:relative;z-index:3;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.eael-onpage-edit-template-wrapper .eael-onpage-edit-template::before{content:"";border-top:30px solid #5eead4;border-right:0;border-bottom:0;border-left:14px solid rgba(0,0,0,0);right:100%;position:absolute}.eael-onpage-edit-template-wrapper .eael-onpage-edit-template::after{content:"";border-top:0;border-right:0;border-bottom:30px solid rgba(0,0,0,0);border-left:14px solid #5eead4;left:100%;position:absolute}.eael-onpage-edit-template-wrapper .eael-onpage-edit-template>i{margin-right:8px}.elementor-edit-area-active .eael_wd_liquid_glass_shadow-effect1,.elementor-edit-area-active .eael_wd_liquid_glass_shadow-effect2,.elementor-edit-area-active .eael_wd_liquid_glass_shadow-effect3,.elementor-edit-area-active .eael_wd_liquid_glass_shadow-effect4{-webkit-box-shadow:inherit !important;box-shadow:inherit !important}
|
||
.eael-password-protected-content-fields>form{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.eael-password-protected-content-fields .eael-password{padding:10px 20px;border-radius:0;font-size:1em;line-height:1em}.eael-password-protected-content-fields .eael-submit{text-transform:uppercase;padding:10px 20px;border:1px solid #333;border-radius:0;font-size:1em;line-height:1em}.eael-protected-content-message{padding:10px}.protected-content-error-msg{color:red}.rtl .eael-password-protected-content-fields>form{direction:ltr}
|
||
.clearfix::before,.clearfix::after{content:" ";display:table;clear:both}.eael-testimonial-slider.nav-top-left,.eael-testimonial-slider.nav-top-right,.eael-team-slider.nav-top-left,.eael-team-slider.nav-top-right,.eael-logo-carousel.nav-top-left,.eael-logo-carousel.nav-top-right,.eael-post-carousel.nav-top-left,.eael-post-carousel.nav-top-right,.eael-product-carousel.nav-top-left,.eael-product-carousel.nav-top-right{padding-top:40px}.eael-contact-form input[type=text],.eael-contact-form input[type=email],.eael-contact-form input[type=url],.eael-contact-form input[type=tel],.eael-contact-form input[type=date],.eael-contact-form input[type=number],.eael-contact-form textarea{background:#fff;box-shadow:none;-webkit-box-shadow:none;float:none;height:auto;margin:0;outline:0;width:100%}.eael-contact-form input[type=submit]{border:0;float:none;height:auto;margin:0;padding:10px 20px;width:auto;-webkit-transition:all .25s linear 0s;transition:all .25s linear 0s}.eael-contact-form.placeholder-hide input::-webkit-input-placeholder,.eael-contact-form.placeholder-hide textarea::-webkit-input-placeholder{opacity:0;visibility:hidden}.eael-contact-form.placeholder-hide input::-moz-placeholder,.eael-contact-form.placeholder-hide textarea::-moz-placeholder{opacity:0;visibility:hidden}.eael-contact-form.placeholder-hide input:-ms-input-placeholder,.eael-contact-form.placeholder-hide textarea:-ms-input-placeholder{opacity:0;visibility:hidden}.eael-contact-form.placeholder-hide input:-moz-placeholder,.eael-contact-form.placeholder-hide textarea:-moz-placeholder{opacity:0;visibility:hidden}.eael-custom-radio-checkbox input[type=checkbox],.eael-custom-radio-checkbox input[type=radio]{-webkit-appearance:none;-moz-appearance:none;border-style:solid;border-width:0;outline:none;min-width:1px;width:15px;height:15px;background:#ddd;padding:3px}.eael-custom-radio-checkbox input[type=checkbox]:before,.eael-custom-radio-checkbox input[type=radio]:before{content:"";width:100%;height:100%;padding:0;margin:0;display:block}.eael-custom-radio-checkbox input[type=checkbox]:checked:before,.eael-custom-radio-checkbox input[type=radio]:checked:before{background:#999;-webkit-transition:all .25s linear 0s;transition:all .25s linear 0s}.eael-custom-radio-checkbox input[type=radio]{border-radius:50%}.eael-custom-radio-checkbox input[type=radio]:before{border-radius:50%}.eael-post-elements-readmore-btn{font-size:12px;font-weight:500;-webkit-transition:all 300ms ease-in-out;transition:all 300ms ease-in-out;display:inline-block}.elementor-lightbox .dialog-widget-content{width:100%;height:100%}.eael-contact-form-align-left,.elementor-widget-eael-weform.eael-contact-form-align-left .eael-weform-container{margin:0 auto 0 0;display:inline-block;text-align:left}.eael-contact-form-align-center,.elementor-widget-eael-weform.eael-contact-form-align-center .eael-weform-container{float:none;margin:0 auto;display:inline-block;text-align:left}.eael-contact-form-align-right,.elementor-widget-eael-weform.eael-contact-form-align-right .eael-weform-container{margin:0 0 0 auto;display:inline-block;text-align:left}.eael-force-hide{display:none !important}.eael-d-none{display:none !important}.eael-d-block{display:block !important}.eael-h-auto{height:auto !important}.theme-martfury .elementor-wc-products .woocommerce ul.products li.product .product-inner .mf-rating .eael-star-rating.star-rating~.count{display:none}.theme-martfury .elementor-wc-products .woocommerce ul.products li.product .product-inner .mf-rating .eael-star-rating.star-rating{display:none}.sr-only{border:0 !important;clip:rect(1px, 1px, 1px, 1px) !important;clip-path:inset(50%) !important;height:1px !important;margin:-1px !important;overflow:hidden !important;padding:0 !important;position:absolute !important;width:1px !important;white-space:nowrap !important}.elementor-widget-eael-adv-tabs .eael-tab-content-item,.elementor-widget-eael-adv-accordion .eael-accordion-content,.elementor-widget-eael-data-table .td-content,.elementor-widget-eael-info-box .eael-infobox-template-wrapper,.elementor-widget-eael-countdown .eael-countdown-expiry-template,.elementor-widget-eael-countdown .eael-countdown-container,.elementor-widget-eael-cta-box .eael-cta-template-wrapper,.elementor-widget-eael-toggle .eael-toggle-primary-wrap,.elementor-widget-eael-toggle .eael-toggle-secondary-wrap,.elementor-widget-eael-protected-content .eael-protected-content-message,.elementor-widget-eael-protected-content .protected-content,.eael-offcanvas-content-visible .eael-offcanvas-body,.elementor-widget-eael-stacked-cards .eael-stacked-cards__item{position:relative}.elementor-widget-eael-adv-tabs .eael-tab-content-item:hover .eael-onpage-edit-template-wrapper,.elementor-widget-eael-adv-accordion .eael-accordion-content:hover .eael-onpage-edit-template-wrapper,.elementor-widget-eael-data-table .td-content:hover .eael-onpage-edit-template-wrapper,.elementor-widget-eael-info-box .eael-infobox-template-wrapper:hover .eael-onpage-edit-template-wrapper,.elementor-widget-eael-countdown .eael-countdown-expiry-template:hover .eael-onpage-edit-template-wrapper,.elementor-widget-eael-countdown .eael-countdown-container:hover .eael-onpage-edit-template-wrapper,.elementor-widget-eael-cta-box .eael-cta-template-wrapper:hover .eael-onpage-edit-template-wrapper,.elementor-widget-eael-toggle .eael-toggle-primary-wrap:hover .eael-onpage-edit-template-wrapper,.elementor-widget-eael-toggle .eael-toggle-secondary-wrap:hover .eael-onpage-edit-template-wrapper,.elementor-widget-eael-protected-content .eael-protected-content-message:hover .eael-onpage-edit-template-wrapper,.elementor-widget-eael-protected-content .protected-content:hover .eael-onpage-edit-template-wrapper,.eael-offcanvas-content-visible .eael-offcanvas-body:hover .eael-onpage-edit-template-wrapper,.elementor-widget-eael-stacked-cards .eael-stacked-cards__item:hover .eael-onpage-edit-template-wrapper{display:block}.eael-widget-otea-active .elementor-element:hover>.elementor-element-overlay,.eael-widget-otea-active .elementor-empty-view,.eael-widget-otea-active .elementor-add-section-inline,.eael-widget-otea-active .elementor-add-section{display:initial !important}.eael-onpage-edit-template-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:none;border:2px solid #5eead4}.eael-onpage-edit-template-wrapper::after{position:absolute;content:"";top:0;left:0;right:0;bottom:0;z-index:2;background:#5eead4;opacity:.3}.eael-onpage-edit-template-wrapper.eael-onpage-edit-activate{display:block}.eael-onpage-edit-template-wrapper.eael-onpage-edit-activate::after{display:none}.eael-onpage-edit-template-wrapper .eael-onpage-edit-template{background:#5eead4;color:#000;width:150px;text-align:center;height:30px;line-height:30px;font-size:12px;cursor:pointer;position:relative;z-index:3;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.eael-onpage-edit-template-wrapper .eael-onpage-edit-template::before{content:"";border-top:30px solid #5eead4;border-right:0;border-bottom:0;border-left:14px solid rgba(0,0,0,0);right:100%;position:absolute}.eael-onpage-edit-template-wrapper .eael-onpage-edit-template::after{content:"";border-top:0;border-right:0;border-bottom:30px solid rgba(0,0,0,0);border-left:14px solid #5eead4;left:100%;position:absolute}.eael-onpage-edit-template-wrapper .eael-onpage-edit-template>i{margin-right:8px}.elementor-edit-area-active .eael_wd_liquid_glass_shadow-effect1,.elementor-edit-area-active .eael_wd_liquid_glass_shadow-effect2,.elementor-edit-area-active .eael_wd_liquid_glass_shadow-effect3,.elementor-edit-area-active .eael_wd_liquid_glass_shadow-effect4{-webkit-box-shadow:inherit !important;box-shadow:inherit !important}
|
||
.eael-password-protected-content-fields>form{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.eael-password-protected-content-fields .eael-password{padding:10px 20px;border-radius:0;font-size:1em;line-height:1em}.eael-password-protected-content-fields .eael-submit{text-transform:uppercase;padding:10px 20px;border:1px solid #333;border-radius:0;font-size:1em;line-height:1em}.eael-protected-content-message{padding:10px}.protected-content-error-msg{color:red}.rtl .eael-password-protected-content-fields>form{direction:ltr}
|
||
.clearfix::before,.clearfix::after{content:" ";display:table;clear:both}.eael-testimonial-slider.nav-top-left,.eael-testimonial-slider.nav-top-right,.eael-team-slider.nav-top-left,.eael-team-slider.nav-top-right,.eael-logo-carousel.nav-top-left,.eael-logo-carousel.nav-top-right,.eael-post-carousel.nav-top-left,.eael-post-carousel.nav-top-right,.eael-product-carousel.nav-top-left,.eael-product-carousel.nav-top-right{padding-top:40px}.eael-contact-form input[type=text],.eael-contact-form input[type=email],.eael-contact-form input[type=url],.eael-contact-form input[type=tel],.eael-contact-form input[type=date],.eael-contact-form input[type=number],.eael-contact-form textarea{background:#fff;box-shadow:none;-webkit-box-shadow:none;float:none;height:auto;margin:0;outline:0;width:100%}.eael-contact-form input[type=submit]{border:0;float:none;height:auto;margin:0;padding:10px 20px;width:auto;-webkit-transition:all .25s linear 0s;transition:all .25s linear 0s}.eael-contact-form.placeholder-hide input::-webkit-input-placeholder,.eael-contact-form.placeholder-hide textarea::-webkit-input-placeholder{opacity:0;visibility:hidden}.eael-contact-form.placeholder-hide input::-moz-placeholder,.eael-contact-form.placeholder-hide textarea::-moz-placeholder{opacity:0;visibility:hidden}.eael-contact-form.placeholder-hide input:-ms-input-placeholder,.eael-contact-form.placeholder-hide textarea:-ms-input-placeholder{opacity:0;visibility:hidden}.eael-contact-form.placeholder-hide input:-moz-placeholder,.eael-contact-form.placeholder-hide textarea:-moz-placeholder{opacity:0;visibility:hidden}.eael-custom-radio-checkbox input[type=checkbox],.eael-custom-radio-checkbox input[type=radio]{-webkit-appearance:none;-moz-appearance:none;border-style:solid;border-width:0;outline:none;min-width:1px;width:15px;height:15px;background:#ddd;padding:3px}.eael-custom-radio-checkbox input[type=checkbox]:before,.eael-custom-radio-checkbox input[type=radio]:before{content:"";width:100%;height:100%;padding:0;margin:0;display:block}.eael-custom-radio-checkbox input[type=checkbox]:checked:before,.eael-custom-radio-checkbox input[type=radio]:checked:before{background:#999;-webkit-transition:all .25s linear 0s;transition:all .25s linear 0s}.eael-custom-radio-checkbox input[type=radio]{border-radius:50%}.eael-custom-radio-checkbox input[type=radio]:before{border-radius:50%}.eael-post-elements-readmore-btn{font-size:12px;font-weight:500;-webkit-transition:all 300ms ease-in-out;transition:all 300ms ease-in-out;display:inline-block}.elementor-lightbox .dialog-widget-content{width:100%;height:100%}.eael-contact-form-align-left,.elementor-widget-eael-weform.eael-contact-form-align-left .eael-weform-container{margin:0 auto 0 0;display:inline-block;text-align:left}.eael-contact-form-align-center,.elementor-widget-eael-weform.eael-contact-form-align-center .eael-weform-container{float:none;margin:0 auto;display:inline-block;text-align:left}.eael-contact-form-align-right,.elementor-widget-eael-weform.eael-contact-form-align-right .eael-weform-container{margin:0 0 0 auto;display:inline-block;text-align:left}.eael-force-hide{display:none !important}.eael-d-none{display:none !important}.eael-d-block{display:block !important}.eael-h-auto{height:auto !important}.theme-martfury .elementor-wc-products .woocommerce ul.products li.product .product-inner .mf-rating .eael-star-rating.star-rating~.count{display:none}.theme-martfury .elementor-wc-products .woocommerce ul.products li.product .product-inner .mf-rating .eael-star-rating.star-rating{display:none}.sr-only{border:0 !important;clip:rect(1px, 1px, 1px, 1px) !important;clip-path:inset(50%) !important;height:1px !important;margin:-1px !important;overflow:hidden !important;padding:0 !important;position:absolute !important;width:1px !important;white-space:nowrap !important}.elementor-widget-eael-adv-tabs .eael-tab-content-item,.elementor-widget-eael-adv-accordion .eael-accordion-content,.elementor-widget-eael-data-table .td-content,.elementor-widget-eael-info-box .eael-infobox-template-wrapper,.elementor-widget-eael-countdown .eael-countdown-expiry-template,.elementor-widget-eael-countdown .eael-countdown-container,.elementor-widget-eael-cta-box .eael-cta-template-wrapper,.elementor-widget-eael-toggle .eael-toggle-primary-wrap,.elementor-widget-eael-toggle .eael-toggle-secondary-wrap,.elementor-widget-eael-protected-content .eael-protected-content-message,.elementor-widget-eael-protected-content .protected-content,.eael-offcanvas-content-visible .eael-offcanvas-body,.elementor-widget-eael-stacked-cards .eael-stacked-cards__item{position:relative}.elementor-widget-eael-adv-tabs .eael-tab-content-item:hover .eael-onpage-edit-template-wrapper,.elementor-widget-eael-adv-accordion .eael-accordion-content:hover .eael-onpage-edit-template-wrapper,.elementor-widget-eael-data-table .td-content:hover .eael-onpage-edit-template-wrapper,.elementor-widget-eael-info-box .eael-infobox-template-wrapper:hover .eael-onpage-edit-template-wrapper,.elementor-widget-eael-countdown .eael-countdown-expiry-template:hover .eael-onpage-edit-template-wrapper,.elementor-widget-eael-countdown .eael-countdown-container:hover .eael-onpage-edit-template-wrapper,.elementor-widget-eael-cta-box .eael-cta-template-wrapper:hover .eael-onpage-edit-template-wrapper,.elementor-widget-eael-toggle .eael-toggle-primary-wrap:hover .eael-onpage-edit-template-wrapper,.elementor-widget-eael-toggle .eael-toggle-secondary-wrap:hover .eael-onpage-edit-template-wrapper,.elementor-widget-eael-protected-content .eael-protected-content-message:hover .eael-onpage-edit-template-wrapper,.elementor-widget-eael-protected-content .protected-content:hover .eael-onpage-edit-template-wrapper,.eael-offcanvas-content-visible .eael-offcanvas-body:hover .eael-onpage-edit-template-wrapper,.elementor-widget-eael-stacked-cards .eael-stacked-cards__item:hover .eael-onpage-edit-template-wrapper{display:block}.eael-widget-otea-active .elementor-element:hover>.elementor-element-overlay,.eael-widget-otea-active .elementor-empty-view,.eael-widget-otea-active .elementor-add-section-inline,.eael-widget-otea-active .elementor-add-section{display:initial !important}.eael-onpage-edit-template-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:none;border:2px solid #5eead4}.eael-onpage-edit-template-wrapper::after{position:absolute;content:"";top:0;left:0;right:0;bottom:0;z-index:2;background:#5eead4;opacity:.3}.eael-onpage-edit-template-wrapper.eael-onpage-edit-activate{display:block}.eael-onpage-edit-template-wrapper.eael-onpage-edit-activate::after{display:none}.eael-onpage-edit-template-wrapper .eael-onpage-edit-template{background:#5eead4;color:#000;width:150px;text-align:center;height:30px;line-height:30px;font-size:12px;cursor:pointer;position:relative;z-index:3;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.eael-onpage-edit-template-wrapper .eael-onpage-edit-template::before{content:"";border-top:30px solid #5eead4;border-right:0;border-bottom:0;border-left:14px solid rgba(0,0,0,0);right:100%;position:absolute}.eael-onpage-edit-template-wrapper .eael-onpage-edit-template::after{content:"";border-top:0;border-right:0;border-bottom:30px solid rgba(0,0,0,0);border-left:14px solid #5eead4;left:100%;position:absolute}.eael-onpage-edit-template-wrapper .eael-onpage-edit-template>i{margin-right:8px}.elementor-edit-area-active .eael_wd_liquid_glass_shadow-effect1,.elementor-edit-area-active .eael_wd_liquid_glass_shadow-effect2,.elementor-edit-area-active .eael_wd_liquid_glass_shadow-effect3,.elementor-edit-area-active .eael_wd_liquid_glass_shadow-effect4{-webkit-box-shadow:inherit !important;box-shadow:inherit !important}
|
||
.eael-password-protected-content-fields>form{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.eael-password-protected-content-fields .eael-password{padding:10px 20px;border-radius:0;font-size:1em;line-height:1em}.eael-password-protected-content-fields .eael-submit{text-transform:uppercase;padding:10px 20px;border:1px solid #333;border-radius:0;font-size:1em;line-height:1em}.eael-protected-content-message{padding:10px}.protected-content-error-msg{color:red}.rtl .eael-password-protected-content-fields>form{direction:ltr}
|
||
.clearfix::before,.clearfix::after{content:" ";display:table;clear:both}.eael-testimonial-slider.nav-top-left,.eael-testimonial-slider.nav-top-right,.eael-team-slider.nav-top-left,.eael-team-slider.nav-top-right,.eael-logo-carousel.nav-top-left,.eael-logo-carousel.nav-top-right,.eael-post-carousel.nav-top-left,.eael-post-carousel.nav-top-right,.eael-product-carousel.nav-top-left,.eael-product-carousel.nav-top-right{padding-top:40px}.eael-contact-form input[type=text],.eael-contact-form input[type=email],.eael-contact-form input[type=url],.eael-contact-form input[type=tel],.eael-contact-form input[type=date],.eael-contact-form input[type=number],.eael-contact-form textarea{background:#fff;box-shadow:none;-webkit-box-shadow:none;float:none;height:auto;margin:0;outline:0;width:100%}.eael-contact-form input[type=submit]{border:0;float:none;height:auto;margin:0;padding:10px 20px;width:auto;-webkit-transition:all .25s linear 0s;transition:all .25s linear 0s}.eael-contact-form.placeholder-hide input::-webkit-input-placeholder,.eael-contact-form.placeholder-hide textarea::-webkit-input-placeholder{opacity:0;visibility:hidden}.eael-contact-form.placeholder-hide input::-moz-placeholder,.eael-contact-form.placeholder-hide textarea::-moz-placeholder{opacity:0;visibility:hidden}.eael-contact-form.placeholder-hide input:-ms-input-placeholder,.eael-contact-form.placeholder-hide textarea:-ms-input-placeholder{opacity:0;visibility:hidden}.eael-contact-form.placeholder-hide input:-moz-placeholder,.eael-contact-form.placeholder-hide textarea:-moz-placeholder{opacity:0;visibility:hidden}.eael-custom-radio-checkbox input[type=checkbox],.eael-custom-radio-checkbox input[type=radio]{-webkit-appearance:none;-moz-appearance:none;border-style:solid;border-width:0;outline:none;min-width:1px;width:15px;height:15px;background:#ddd;padding:3px}.eael-custom-radio-checkbox input[type=checkbox]:before,.eael-custom-radio-checkbox input[type=radio]:before{content:"";width:100%;height:100%;padding:0;margin:0;display:block}.eael-custom-radio-checkbox input[type=checkbox]:checked:before,.eael-custom-radio-checkbox input[type=radio]:checked:before{background:#999;-webkit-transition:all .25s linear 0s;transition:all .25s linear 0s}.eael-custom-radio-checkbox input[type=radio]{border-radius:50%}.eael-custom-radio-checkbox input[type=radio]:before{border-radius:50%}.eael-post-elements-readmore-btn{font-size:12px;font-weight:500;-webkit-transition:all 300ms ease-in-out;transition:all 300ms ease-in-out;display:inline-block}.elementor-lightbox .dialog-widget-content{width:100%;height:100%}.eael-contact-form-align-left,.elementor-widget-eael-weform.eael-contact-form-align-left .eael-weform-container{margin:0 auto 0 0;display:inline-block;text-align:left}.eael-contact-form-align-center,.elementor-widget-eael-weform.eael-contact-form-align-center .eael-weform-container{float:none;margin:0 auto;display:inline-block;text-align:left}.eael-contact-form-align-right,.elementor-widget-eael-weform.eael-contact-form-align-right .eael-weform-container{margin:0 0 0 auto;display:inline-block;text-align:left}.eael-force-hide{display:none !important}.eael-d-none{display:none !important}.eael-d-block{display:block !important}.eael-h-auto{height:auto !important}.theme-martfury .elementor-wc-products .woocommerce ul.products li.product .product-inner .mf-rating .eael-star-rating.star-rating~.count{display:none}.theme-martfury .elementor-wc-products .woocommerce ul.products li.product .product-inner .mf-rating .eael-star-rating.star-rating{display:none}.sr-only{border:0 !important;clip:rect(1px, 1px, 1px, 1px) !important;clip-path:inset(50%) !important;height:1px !important;margin:-1px !important;overflow:hidden !important;padding:0 !important;position:absolute !important;width:1px !important;white-space:nowrap !important}.elementor-widget-eael-adv-tabs .eael-tab-content-item,.elementor-widget-eael-adv-accordion .eael-accordion-content,.elementor-widget-eael-data-table .td-content,.elementor-widget-eael-info-box .eael-infobox-template-wrapper,.elementor-widget-eael-countdown .eael-countdown-expiry-template,.elementor-widget-eael-countdown .eael-countdown-container,.elementor-widget-eael-cta-box .eael-cta-template-wrapper,.elementor-widget-eael-toggle .eael-toggle-primary-wrap,.elementor-widget-eael-toggle .eael-toggle-secondary-wrap,.elementor-widget-eael-protected-content .eael-protected-content-message,.elementor-widget-eael-protected-content .protected-content,.eael-offcanvas-content-visible .eael-offcanvas-body,.elementor-widget-eael-stacked-cards .eael-stacked-cards__item{position:relative}.elementor-widget-eael-adv-tabs .eael-tab-content-item:hover .eael-onpage-edit-template-wrapper,.elementor-widget-eael-adv-accordion .eael-accordion-content:hover .eael-onpage-edit-template-wrapper,.elementor-widget-eael-data-table .td-content:hover .eael-onpage-edit-template-wrapper,.elementor-widget-eael-info-box .eael-infobox-template-wrapper:hover .eael-onpage-edit-template-wrapper,.elementor-widget-eael-countdown .eael-countdown-expiry-template:hover .eael-onpage-edit-template-wrapper,.elementor-widget-eael-countdown .eael-countdown-container:hover .eael-onpage-edit-template-wrapper,.elementor-widget-eael-cta-box .eael-cta-template-wrapper:hover .eael-onpage-edit-template-wrapper,.elementor-widget-eael-toggle .eael-toggle-primary-wrap:hover .eael-onpage-edit-template-wrapper,.elementor-widget-eael-toggle .eael-toggle-secondary-wrap:hover .eael-onpage-edit-template-wrapper,.elementor-widget-eael-protected-content .eael-protected-content-message:hover .eael-onpage-edit-template-wrapper,.elementor-widget-eael-protected-content .protected-content:hover .eael-onpage-edit-template-wrapper,.eael-offcanvas-content-visible .eael-offcanvas-body:hover .eael-onpage-edit-template-wrapper,.elementor-widget-eael-stacked-cards .eael-stacked-cards__item:hover .eael-onpage-edit-template-wrapper{display:block}.eael-widget-otea-active .elementor-element:hover>.elementor-element-overlay,.eael-widget-otea-active .elementor-empty-view,.eael-widget-otea-active .elementor-add-section-inline,.eael-widget-otea-active .elementor-add-section{display:initial !important}.eael-onpage-edit-template-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:none;border:2px solid #5eead4}.eael-onpage-edit-template-wrapper::after{position:absolute;content:"";top:0;left:0;right:0;bottom:0;z-index:2;background:#5eead4;opacity:.3}.eael-onpage-edit-template-wrapper.eael-onpage-edit-activate{display:block}.eael-onpage-edit-template-wrapper.eael-onpage-edit-activate::after{display:none}.eael-onpage-edit-template-wrapper .eael-onpage-edit-template{background:#5eead4;color:#000;width:150px;text-align:center;height:30px;line-height:30px;font-size:12px;cursor:pointer;position:relative;z-index:3;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.eael-onpage-edit-template-wrapper .eael-onpage-edit-template::before{content:"";border-top:30px solid #5eead4;border-right:0;border-bottom:0;border-left:14px solid rgba(0,0,0,0);right:100%;position:absolute}.eael-onpage-edit-template-wrapper .eael-onpage-edit-template::after{content:"";border-top:0;border-right:0;border-bottom:30px solid rgba(0,0,0,0);border-left:14px solid #5eead4;left:100%;position:absolute}.eael-onpage-edit-template-wrapper .eael-onpage-edit-template>i{margin-right:8px}.elementor-edit-area-active .eael_wd_liquid_glass_shadow-effect1,.elementor-edit-area-active .eael_wd_liquid_glass_shadow-effect2,.elementor-edit-area-active .eael_wd_liquid_glass_shadow-effect3,.elementor-edit-area-active .eael_wd_liquid_glass_shadow-effect4{-webkit-box-shadow:inherit !important;box-shadow:inherit !important}
|
||
.eael-password-protected-content-fields>form{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.eael-password-protected-content-fields .eael-password{padding:10px 20px;border-radius:0;font-size:1em;line-height:1em}.eael-password-protected-content-fields .eael-submit{text-transform:uppercase;padding:10px 20px;border:1px solid #333;border-radius:0;font-size:1em;line-height:1em}.eael-protected-content-message{padding:10px}.protected-content-error-msg{color:red}.rtl .eael-password-protected-content-fields>form{direction:ltr}
|
||
</style><link rel='stylesheet' id='all-css-0' href='https://www.heroku.com/_static/??-eJydjEEKgCAQAD+ULkFol+gtoYsI7q64ht/PDn2g4zDMwKgmCHfkDrXcKbMCFqTJ0kxtApcqdoWgCiPHhN0UkTciEraU2U61wN9Pajl+l5OO1e/eObc5/wDYHzkB' type='text/css' media='all' />
|
||
<script id="oms-admin-scripts-fix-js" src="https://www.heroku.com/wp-content/themes/orbitmedia-elementor/resources/js/dist/admin.js?ver=7.1"></script>
|
||
<script id="imagesloaded-js" src="https://www.heroku.com/wp-includes/js/imagesloaded.min.js?ver=5.0.0"></script>
|
||
<script id="masonry-js" src="https://www.heroku.com/wp-includes/js/masonry.min.js?ver=4.2.2"></script>
|
||
<script id="jquery-masonry-js" src="https://www.heroku.com/wp-includes/js/jquery/jquery.masonry.min.js?ver=3.1.2b"></script>
|
||
<script id="wp-hooks-js" src="https://www.heroku.com/wp-includes/js/dist/hooks.min.js?ver=f0f188028580e8dc1255"></script>
|
||
<script id="wp-i18n-js" src="https://www.heroku.com/wp-includes/js/dist/i18n.min.js?ver=1dfe7db3940c23ea9216"></script>
|
||
<script id="wp-i18n-js-after">
|
||
wp.i18n.setLocaleData( { 'text direction\u0004ltr': [ 'ltr' ] } );
|
||
//# sourceURL=wp-i18n-js-after
|
||
</script>
|
||
<script id="wp-parsely-loader-js-before">
|
||
window.wpParselySiteId = 'heroku.com';
|
||
//# sourceURL=wp-parsely-loader-js-before
|
||
</script>
|
||
<script id="wp-parsely-loader-js" src="https://www.heroku.com/wp-content/mu-plugins/wp-parsely-3.24/build/loader.js?ver=ecf94842061bea03d54b"></script>
|
||
<script id="parsely-cfg" data-parsely-site="heroku.com" src="https://cdn.parsely.com/keys/heroku.com/p.js?ver=3.24.1"></script>
|
||
<script id="elementor-webpack-runtime-js" src="https://www.heroku.com/wp-content/plugins/elementor/assets/js/webpack.runtime.min.js?ver=4.2.3"></script>
|
||
<script id="elementor-frontend-modules-js" src="https://www.heroku.com/wp-content/plugins/elementor/assets/js/frontend-modules.min.js?ver=4.2.3"></script>
|
||
<script id="jquery-ui-core-js-before">
|
||
jQuery.uiBackCompat = true;
|
||
//# sourceURL=jquery-ui-core-js-before
|
||
</script>
|
||
<script id="jquery-ui-core-js" src="https://www.heroku.com/wp-includes/js/jquery/ui/core.min.js?ver=1.14.2"></script>
|
||
<script id="elementor-frontend-js-extra">
|
||
var EAELImageMaskingConfig = {"svg_dir_url":"https://www.heroku.com/wp-content/plugins/essential-addons-for-elementor-lite/assets/front-end/img/image-masking/svg-shapes/"};
|
||
//# sourceURL=elementor-frontend-js-extra
|
||
</script>
|
||
<script id="elementor-frontend-js-before">
|
||
var elementorFrontendConfig = {"environmentMode":{"edit":false,"wpPreview":false,"isScriptDebug":false},"i18n":{"shareOnFacebook":"Share on Facebook","shareOnX":"Share on X","pinIt":"Pin it","download":"Download","downloadImage":"Download image","fullscreen":"Fullscreen","zoom":"Zoom","share":"Share","playVideo":"Play Video","previous":"Previous","next":"Next","close":"Close","a11yCarouselPrevSlideMessage":"Previous slide","a11yCarouselNextSlideMessage":"Next slide","a11yCarouselFirstSlideMessage":"This is the first slide","a11yCarouselLastSlideMessage":"This is the last slide","a11yCarouselPaginationBulletMessage":"Go to slide"},"is_rtl":false,"breakpoints":{"xs":0,"sm":480,"md":768,"lg":1025,"xl":1440,"xxl":1600},"responsive":{"breakpoints":{"mobile":{"label":"Mobile Portrait","value":767,"default_value":767,"direction":"max","is_enabled":true},"mobile_extra":{"label":"Mobile Landscape","value":767,"default_value":880,"direction":"max","is_enabled":false},"tablet":{"label":"Tablet Portrait","value":1024,"default_value":1024,"direction":"max","is_enabled":true},"tablet_extra":{"label":"Tablet Landscape","value":1199,"default_value":1200,"direction":"max","is_enabled":false},"laptop":{"label":"Laptop","value":1399,"default_value":1366,"direction":"max","is_enabled":false},"widescreen":{"label":"Widescreen","value":2400,"default_value":2400,"direction":"min","is_enabled":false}},
|
||
"hasCustomBreakpoints":false},"version":"4.2.3","is_static":false,"experimentalFeatures":{"e_font_icon_svg":true,"container":true,"e_optimized_markup":true,"e_panel_promotions":true,"theme_builder_v2":true,"hello-theme-header-footer":true,"nested-elements":true,"e_atomic_elements":true,"atomic_widgets_should_enforce_capabilities":true,"editor_mcp":true,"e_bc_migrations":true,"e_classes":true,"global_classes_should_enforce_capabilities":true,"e_variables":true,"e_variables_manager":true,"e_opt_in_v4_page":true,"e_opt_in_v4":true,"e_components":true,"e_interactions":true,"e_widget_creation":true,"import-export-customization":true,"e_pro_atomic_form":true,"e_pro_collection_loop":true,"e_pro_variables":true,"e_pro_interactions":true},"urls":{"assets":"https:\/\/www.heroku.com\/wp-content\/plugins\/elementor\/assets\/","ajaxurl":"https:\/\/www.heroku.com\/wp-admin\/admin-ajax.php","uploadUrl":"https:\/\/www.heroku.com\/wp-content\/uploads"},"nonces":{"floatingButtonsClickTracking":"187f0a812d","atomicFormsSendForm":"7e69305a70"},"swiperClass":"swiper","settings":{"page":[],"editorPreferences":[]},"kit":{"active_breakpoints":["viewport_mobile","viewport_tablet"],"global_image_lightbox":"yes","lightbox_enable_counter":"yes","lightbox_enable_fullscreen":"yes","lightbox_enable_zoom":"yes","lightbox_enable_share":"yes","lightbox_title_src":"title","lightbox_description_src":"description","hello_header_logo_type":"logo","hello_header_menu_layout":"horizontal","hello_footer_logo_type":"logo"},"post":{"id":9988,"title":"Puma%204%3A%20Hammering%20Out%20H13s%E2%80%94A%20Debugging%20Story%20%7C%20Heroku","excerpt":"","featuredImage":false}};
|
||
//# sourceURL=elementor-frontend-js-before
|
||
</script>
|
||
<script id="elementor-frontend-js" src="https://www.heroku.com/wp-content/plugins/elementor/assets/js/frontend.min.js?ver=4.2.3"></script>
|
||
<script id="orbit-js-extra">
|
||
var herokuParams = {"ajaxurl":"https://www.heroku.com/wp-admin/admin-ajax.php","nonce":"b22abfd003"};
|
||
//# sourceURL=orbit-js-extra
|
||
</script>
|
||
<script id="orbit-js" src="https://www.heroku.com/wp-content/themes/orbitmedia-elementor/resources/js/dist/min/combined.min.js?ver=1787163968"></script>
|
||
<script id="prismjs-core-js-before">
|
||
window.Prism = window.Prism || {};
|
||
window.Prism.plugins = window.Prism.plugins || {};
|
||
window.Prism.plugins.autoloader = window.Prism.plugins.autoloader || {};
|
||
window.Prism.plugins.autoloader.languages_path = 'https://cdnjs.cloudflare.com/ajax/libs/prism/1.30.0/components/';
|
||
//# sourceURL=prismjs-core-js-before
|
||
</script>
|
||
<script data-wp-strategy="defer" defer id="prismjs-core-js" src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.30.0/prism.min.js?ver=1.30.0"></script>
|
||
<script data-wp-strategy="defer" defer id="prismjs-autoloader-js" src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.30.0/plugins/autoloader/prism-autoloader.min.js?ver=1.30.0"></script>
|
||
<script id="hello-theme-frontend-js" src="https://www.heroku.com/wp-content/themes/hello-elementor/assets/js/hello-frontend.js?ver=3.4.9"></script>
|
||
<script id="swiper-js" src="https://www.heroku.com/wp-content/plugins/elementor/assets/lib/swiper/v8/swiper.min.js?ver=8.4.5"></script>
|
||
<script id="smartmenus-js" src="https://www.heroku.com/wp-content/plugins/elementor-pro/assets/lib/smartmenus/jquery.smartmenus.min.js?ver=1.2.1"></script>
|
||
<script id="heroku-key-takeaways-js" src="https://www.heroku.com/wp-content/plugins/heroku-widgets/resources/key-takeaways.js?ver=1.1.7"></script>
|
||
<script id="gforms_recaptcha_recaptcha-js-extra">
|
||
var gforms_recaptcha_recaptcha_strings = {"nonce":"48e99dd5b2","disconnect":"Disconnecting","change_connection_type":"Resetting","spinner":"https://www.heroku.com/wp-content/plugins/gravityforms/images/spinner.svg","connection_type":"classic","disable_badge":"1","change_connection_type_title":"Change Connection Type","change_connection_type_message":"Changing the connection type will delete your current settings. Do you want to proceed?","disconnect_title":"Disconnect","disconnect_message":"Disconnecting from reCAPTCHA will delete your current settings. Do you want to proceed?","site_key":"6LepFh0rAAAAAFm7PNbKmEGIxqyF5OIAkfNDp2YZ"};
|
||
//# sourceURL=gforms_recaptcha_recaptcha-js-extra
|
||
</script>
|
||
<script data-wp-strategy="defer" defer id="gforms_recaptcha_recaptcha-js" src="https://www.google.com/recaptcha/api.js?render=6LepFh0rAAAAAFm7PNbKmEGIxqyF5OIAkfNDp2YZ&ver=2.2.2"></script>
|
||
<script data-wp-strategy="defer" defer id="gforms_recaptcha_frontend-js" src="https://www.heroku.com/wp-content/plugins/gravityformsrecaptcha/js/frontend.min.js?ver=2.2.2"></script>
|
||
<script id="eael-general-js-extra">
|
||
var localize = {"ajaxurl":"https://www.heroku.com/wp-admin/admin-ajax.php","nonce":"bc92643a85","i18n":{"added":"Added ","compare":"Compare","loading":"Loading..."},"eael_translate_text":{"required_text":"is a required field","invalid_text":"Invalid","billing_text":"Billing","shipping_text":"Shipping","fg_mfp_counter_text":"of"},"page_permalink":"https://www.heroku.com/blog/puma-4-hammering-out-h13s-a-debugging-story/","cart_redirectition":"","cart_page_url":"","el_breakpoints":{"mobile":{"label":"Mobile Portrait","value":767,"default_value":767,"direction":"max","is_enabled":true},"mobile_extra":{"label":"Mobile Landscape","value":767,"default_value":880,"direction":"max","is_enabled":false},"tablet":{"label":"Tablet Portrait","value":1024,"default_value":1024,"direction":"max","is_enabled":true},"tablet_extra":{"label":"Tablet Landscape","value":1199,"default_value":1200,"direction":"max","is_enabled":false},"laptop":{"label":"Laptop","value":1399,"default_value":1366,"direction":"max","is_enabled":false},"widescreen":{"label":"Widescreen","value":2400,"default_value":2400,"direction":"min","is_enabled":false}},"ParticleThemesData":{"default":"{\"particles\":{\"number\":{\"value\":160,\"density\":{\"enable\":true,\"value_area\":800}},\"color\":{\"value\":\"#ffffff\"},\"shape\":{\"type\":\"circle\",\"stroke\":{\"width\":0,\"color\":\"#000000\"},\"polygon\":{\"nb_sides\":5},\"image\":{\"src\":\"img/github.svg\",\"width\":100,\"height\":100}},\"opacity\":{\"value\":0.5,\"random\":false,\"anim\":{\"enable\":false,\"speed\":1,\"opacity_min\":0.1,\"sync\":false}},\"size\":{\"value\":3,\"random\":true,\"anim\":{\"enable\":false,\"speed\":40,\"size_min\":0.1,\"sync\":false}},\"line_linked\":{\"enable\":true,\"distance\":150,\"color\":\"#ffffff\",\"opacity\":0.4,\"width\":1},\"move\":{\"enable\":true,\"speed\":6,\"direction\":\"none\",\"random\":false,\"straight\":false,\"out_mode\":\"out\",\"bounce\":false,\"attract\":{\"enable\":false,\"rotateX\":600,\"rotateY\":1200}}},\"interactivity\":{\"detect_on\":\"canvas\",\"events\":{\"onhover\":{\"enable\":true,\"mode\":\"repulse\"},\"onclick\":{\"enable\":true,\"mode\":\"push\"},\"resize\":true},\"modes\":{\"grab\":{\"distance\":400,\"line_linked\":{\"opacity\":1}},\"bubble\":{\"distance\":400,\"size\":40,\"duration\":2,\"opacity\":8,\"speed\":3},\"repulse\":{\"distance\":200,\"duration\":0.4},\"push\":{\"particles_nb\":4},\"remove\":{\"particles_nb\":2}}},\"retina_detect\":true}","nasa":"{\"particles\":{\"number\":{\"value\":250,\"density\":{\"enable\":true,\"value_area\":800}},\"color\":{\"value\":\"#ffffff\"},\"shape\":{\"type\":\"circle\",\"stroke\":{\"width\":0,\"color\":\"#000000\"},\"polygon\":{\"nb_sides\":5},\"image\":{\"src\":\"img/github.svg\",\"width\":100,\"height\":100}},\"opacity\":{\"value\":1,\"random\":true,\"anim\":{\"enable\":true,\"speed\":1,\"opacity_min\":0,\"sync\":false}},\"size\":{\"value\":3,\"random\":true,\"anim\":{\"enable\":false,\"speed\":4,\"size_min\":0.3,\"sync\":false}},\"line_linked\":{\"enable\":false,\"distance\":150,\"color\":\"#ffffff\",\"opacity\":0.4,\"width\":1},\"move\":{\"enable\":true,\"speed\":1,\"direction\":\"none\",\"random\":true,\"straight\":false,\"out_mode\":\"out\",\"bounce\":false,\"attract\":{\"enable\":false,\"rotateX\":600,\"rotateY\":600}}},\"interactivity\":{\"detect_on\":\"canvas\",\"events\":{\"onhover\":{\"enable\":true,\"mode\":\"bubble\"},\"onclick\":{\"enable\":true,\"mode\":\"repulse\"},\"resize\":true},\"modes\":{\"grab\":{\"distance\":400,\"line_linked\":{\"opacity\":1}},\"bubble\":{\"distance\":250,\"size\":0,\"duration\":2,\"opacity\":0,\"speed\":3},\"repulse\":{\"distance\":400,\"duration\":0.4},\"push\":{\"particles_nb\":4},\"remove\":{\"particles_nb\":2}}},\"retina_detect\":true}","bubble":"{\"particles\":{\"number\":{\"value\":15,\"density\":{\"enable\":true,\"value_area\":800}},\"color\":{\"value\":\"#1b1e34\"},\"shape\":{\"type\":\"polygon\",\"stroke\":{\"width\":0,\"color\":\"#000\"},\"polygon\":{\"nb_sides\":6},\"image\":{\"src\":\"img/github.svg\",\"width\":100,\"height\":100}},\"opacity\":{\"value\":0.3,\"random\":true,\"anim\":{\"enable\":false,\"speed\":1,\"opacity_min\":0.1,\"sync\":false}},\"size\":{\"value\":50,\"random\":false,\"anim\":{\"enable\":true,\"speed\":10,\"size_min\":40,\"sync\":false}},\"line_linked\":{\"enable\":false,\"distance\":200,\"color\":\"#ffffff\",\"opacity\":1,\"width\":2},\"move\":{\"enable\":true,\"speed\":8,\"direction\":\"none\",\"random\":false,\"straight\":false,\"out_mode\":\"out\",\"bounce\":false,\"attract\":{\"enable\":false,\"rotateX\":600,\"rotateY\":1200}}},\"interactivity\":{\"detect_on\":\"canvas\",\"events\":{\"onhover\":{\"enable\":false,\"mode\":\"grab\"},\"onclick\":{\"enable\":false,\"mode\":\"push\"},\"resize\":true},\"modes\":{\"grab\":{\"distance\":400,\"line_linked\":{\"opacity\":1}},\"bubble\":{\"distance\":400,\"size\":40,\"duration\":2,\"opacity\":8,\"speed\":3},\"repulse\":{\"distance\":200,\"duration\":0.4},\"push\":{\"particles_nb\":4},\"remove\":{\"particles_nb\":2}}},\"retina_detect\":true}","snow":"{\"particles\":{\"number\":{\"value\":450,\"density\":{\"enable\":true,\"value_area\":800}},\"color\":{\"value\":\"#fff\"},\"shape\":{\"type\":\"circle\",\"stroke\":{\"width\":0,\"color\":\"#000000\"},\"polygon\":{\"nb_sides\":5},\"image\":{\"src\":\"img/github.svg\",\"width\":100,\"height\":100}},\"opacity\":{\"value\":0.5,\"random\":true,\"anim\":{\"enable\":false,\"speed\":1,\"opacity_min\":0.1,\"sync\":false}},\"size\":{\"value\":5,\"random\":true,\"anim\":{\"enable\":false,\"speed\":40,\"size_min\":0.1,\"sync\":false}},\"line_linked\":{\"enable\":false,\"distance\":500,\"color\":\"#ffffff\",\"opacity\":0.4,\"width\":2},\"move\":{\"enable\":true,\"speed\":6,\"direction\":\"bottom\",\"random\":false,\"straight\":false,\"out_mode\":\"out\",\"bounce\":false,\"attract\":{\"enable\":false,\"rotateX\":600,\"rotateY\":1200}}},\"interactivity\":{\"detect_on\":\"canvas\",\"events\":{\"onhover\":{\"enable\":true,\"mode\":\"bubble\"},\"onclick\":{\"enable\":true,\"mode\":\"repulse\"},\"resize\":true},\"modes\":{\"grab\":{\"distance\":400,\"line_linked\":{\"opacity\":0.5}},\"bubble\":{\"distance\":400,\"size\":4,\"duration\":0.3,\"opacity\":1,\"speed\":3},\"repulse\":{\"distance\":200,\"duration\":0.4},\"push\":{\"particles_nb\":4},\"remove\":{\"particles_nb\":2}}},\"retina_detect\":true}","nyan_cat":"{\"particles\":{\"number\":{\"value\":150,\"density\":{\"enable\":false,\"value_area\":800}},\"color\":{\"value\":\"#ffffff\"},\"shape\":{\"type\":\"star\",\"stroke\":{\"width\":0,\"color\":\"#000000\"},\"polygon\":{\"nb_sides\":5},\"image\":{\"src\":\"http://wiki.lexisnexis.com/academic/images/f/fb/Itunes_podcast_icon_300.jpg\",\"width\":100,\"height\":100}},\"opacity\":{\"value\":0.5,\"random\":false,\"anim\":{\"enable\":false,\"speed\":1,\"opacity_min\":0.1,\"sync\":false}},\"size\":{\"value\":4,\"random\":true,\"anim\":{\"enable\":false,\"speed\":40,\"size_min\":0.1,\"sync\":false}},\"line_linked\":{\"enable\":false,\"distance\":150,\"color\":\"#ffffff\",\"opacity\":0.4,\"width\":1},\"move\":{\"enable\":true,\"speed\":14,\"direction\":\"left\",\"random\":false,\"straight\":true,\"out_mode\":\"out\",\"bounce\":false,\"attract\":{\"enable\":false,\"rotateX\":600,\"rotateY\":1200}}},\"interactivity\":{\"detect_on\":\"canvas\",\"events\":{\"onhover\":{\"enable\":false,\"mode\":\"grab\"},\"onclick\":{\"enable\":true,\"mode\":\"repulse\"},\"resize\":true},\"modes\":{\"grab\":{\"distance\":200,\"line_linked\":{\"opacity\":1}},\"bubble\":{\"distance\":400,\"size\":40,\"duration\":2,\"opacity\":8,\"speed\":3},\"repulse\":{\"distance\":200,\"duration\":0.4},\"push\":{\"particles_nb\":4},\"remove\":{\"particles_nb\":2}}},\"retina_detect\":true}"},"eael_login_nonce":"56499c26ea","eael_register_nonce":"b143153b38","eael_lostpassword_nonce":"43418f4623","eael_resetpassword_nonce":"d95df0490f"};
|
||
//# sourceURL=eael-general-js-extra
|
||
</script>
|
||
<script id="eael-general-js" src="https://www.heroku.com/wp-content/plugins/essential-addons-for-elementor-lite/assets/front-end/js/view/general.min.js?ver=6.7.3"></script>
|
||
<script id="jetpack-stats-js-before">
|
||
_stq = window._stq || [];
|
||
_stq.push([ "view", {"v":"ext","blog":"240053110","post":"9988","tz":"-7","srv":"www.heroku.com","hp":"vip","j":"1:16.1.3"} ]);
|
||
_stq.push([ "clickTrackerInit", "240053110", "9988" ]);
|
||
//# sourceURL=jetpack-stats-js-before
|
||
</script>
|
||
<script data-wp-strategy="defer" defer fetchpriority="low" id="jetpack-stats-js" src="https://stats.wp.com/e-202637.js"></script>
|
||
<script id="hoverIntent-js" src="https://www.heroku.com/wp-includes/js/hoverIntent.min.js?ver=1.10.2"></script>
|
||
<script id="megamenu-js" src="https://www.heroku.com/wp-content/plugins/megamenu/js/maxmegamenu.js?ver=3.10.6"></script>
|
||
<script id="megamenu-pro-js" src="https://www.heroku.com/wp-content/plugins/megamenu-pro/assets/public.js?ver=2.4.2"></script>
|
||
<script id="elementor-pro-webpack-runtime-js" src="https://www.heroku.com/wp-content/plugins/elementor-pro/assets/js/webpack-pro.runtime.min.js?ver=4.2.2"></script>
|
||
<script id="elementor-pro-frontend-js-before">
|
||
var ElementorProFrontendConfig = {"ajaxurl":"https:\/\/www.heroku.com\/wp-admin\/admin-ajax.php","nonce":"b88fd0e4a0","urls":{"assets":"https:\/\/www.heroku.com\/wp-content\/plugins\/elementor-pro\/assets\/","rest":"https:\/\/www.heroku.com\/wp-json\/"},"settings":{"lazy_load_background_images":true},"popup":{"hasPopUps":false},"shareButtonsNetworks":{"facebook":{"title":"Facebook","has_counter":true},"twitter":{"title":"Twitter"},"linkedin":{"title":"LinkedIn","has_counter":true},"pinterest":{"title":"Pinterest","has_counter":true},"reddit":{"title":"Reddit","has_counter":true},"vk":{"title":"VK","has_counter":true},"odnoklassniki":{"title":"OK","has_counter":true},"tumblr":{"title":"Tumblr"},"digg":{"title":"Digg"},"skype":{"title":"Skype"},"stumbleupon":{"title":"StumbleUpon","has_counter":true},"mix":{"title":"Mix"},"telegram":{"title":"Telegram"},"pocket":{"title":"Pocket","has_counter":true},"xing":{"title":"XING","has_counter":true},"whatsapp":{"title":"WhatsApp"},"email":{"title":"Email"},"print":{"title":"Print"},"x-twitter":{"title":"X"},"threads":{"title":"Threads"}},
|
||
"facebook_sdk":{"lang":"en_US","app_id":""},"lottie":{"defaultAnimationUrl":"https:\/\/www.heroku.com\/wp-content\/plugins\/elementor-pro\/modules\/lottie\/assets\/animations\/default.json"}};
|
||
//# sourceURL=elementor-pro-frontend-js-before
|
||
</script>
|
||
<script id="elementor-pro-frontend-js" src="https://www.heroku.com/wp-content/plugins/elementor-pro/assets/js/frontend.min.js?ver=4.2.2"></script>
|
||
<script id="pro-elements-handlers-js" src="https://www.heroku.com/wp-content/plugins/elementor-pro/assets/js/elements-handlers.min.js?ver=4.2.2"></script>
|
||
|
||
</body>
|
||
</html>
|