);mask-image:url(data:image/svg+xml;utf8, );content:"";margin:0 .4rem;display:inline-block;vertical-align:middle;line-height:1}.breadcrumb-trail .trail-items li:last-child:after{display:none}.bloghash-breadcrumbs{font-size:1.4rem;border-width:0}#page .page-header .bloghash-breadcrumbs a>span{color:inherit}#bloghash-copyright .bloghash-flex-row>div:empty{display:none}#bloghash-copyright>.bloghash-container>.bloghash-flex-row>div{width:auto;padding-top:.6rem;padding-bottom:.6rem}.bloghash-copyright-layout-1 #bloghash-copyright>.bloghash-container>.bloghash-flex-row>div{-ms-flex-preferred-size:100%;flex-basis:100%;-ms-flex-negative:0;flex-shrink:0;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}#bloghash-scroll-top{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;position:fixed;bottom:2.5rem;right:2rem;z-index:997;width:4rem;height:4rem;opacity:0;-webkit-transform:translate3d(0,3rem,0);transform:translate3d(0,3rem,0)}#bloghash-scroll-top .bloghash-scroll-icon{overflow:hidden;z-index:2}#bloghash-scroll-top .bloghash-icon{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;height:2rem;color:var(--bloghash-white);-webkit-transform:translateY(1.1rem);-ms-transform:translateY(1.1rem);transform:translateY(1.1rem)}#bloghash-scroll-top:before{content:"";z-index:1;border-radius:10rem;background-color:var(--bloghash-primary);-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);border:.1rem solid rgb(185 185 185/.4)}#bloghash-scroll-top svg{fill:var(--bloghash-white)}.bloghash-widget.widget:not(.widget_text):not(.hester-core-custom-list-widget) ul{list-style:none;margin-left:0;margin-right:0}#main .bloghash-widget{overflow:hidden}#main .bloghash-widget{margin-bottom:4rem}.wp-block-heading,.wp-block-search .wp-block-search__label{margin-top:0;position:relative;display:block;margin-bottom:2.5rem}.wp-block-search .wp-block-search__label{width:auto;line-height:1.4}.widget ul{line-height:1.5}.widget ul:last-child{margin-bottom:0}.widget ul:not(.wp-block-social-links) li{margin-bottom:1rem}.widget ul:not(.wp-block-social-links) li:last-child{margin-bottom:0}.widget.widget_block li a{position:relative;z-index:0}.bloghash-sidebar-container .widget ul:not(.bloghash-socials-menu,.wp-block-social-links)>li:not(:first-child){padding-top:1rem;border-top:.1rem solid rgb(185 185 185/.4)}.bloghash-entry>:first-child,.wp-block-group__inner-container>:first-child{margin-top:0}.bloghash-entry>:last-child,.wp-block-group__inner-container>:last-child{margin-bottom:0}.bloghash-entry ul:not(.wp-block-social-links) li:not(.blocks-gallery-item):last-child{margin-bottom:0}.bloghash-entry p{margin-bottom:1.5rem;margin-top:1.5rem}.entry-media{margin-bottom:2.5rem}.entry-media img{margin:0 auto;display:block}.single-post .entry-media{margin-bottom:4rem}#cancel-comment-reply-link{font-size:1.3rem;border-radius:var(--bloghash-normal-radius);border:.2rem solid currentColor;font-weight:500;padding:.4rem .7rem;line-height:1;text-decoration:none;text-transform:capitalize;margin-left:1.4rem;color:inherit}.comment-form>p{-ms-flex-preferred-size:100%;flex-basis:100%;margin-top:0;margin-bottom:.8em}.comment-form textarea{height:19.2rem}button.bloghash-animate-arrow{-webkit-appearance:none;border:none;-webkit-box-shadow:none;box-shadow:none;background:none;outline:none}.bloghash-animate-arrow .arrow-bar{-webkit-transform:scaleX(0);-ms-transform:scaleX(0);transform:scaleX(0)}.bloghash-animate-arrow svg{vertical-align:middle}.bloghash-animate-arrow.right-arrow svg{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.bloghash-animate-arrow.right-arrow .arrow-bar{-webkit-transform-origin:100%0;-ms-transform-origin:100%0;transform-origin:100%0}.bloghash-animate-arrow.right-arrow .arrow-handle{-webkit-transform:translateX(.6rem);-ms-transform:translateX(.6rem);transform:translateX(.6rem)}.bloghash-hamburger{padding:0 0;display:inline-block;font:inherit;color:inherit;text-transform:none;background-color:#fff0;border:0;margin:0;overflow:visible}.hamburger-box{width:2.5rem;height:1.4rem;display:inline-block;position:relative}.hamburger-inner{display:block;top:50%;margin-top:-.1rem}.hamburger-inner,.hamburger-inner::before,.hamburger-inner::after{width:2.8rem;height:2px;background-color:#111827;border-radius:var(--bloghash-normal-radius);position:absolute}.hamburger-inner::before,.hamburger-inner::after{content:"";display:block}.hamburger-inner::before{top:-5px}.hamburger-inner::after{bottom:-5px}.bloghash-mobile-nav{order:1;display:none;margin-left:2.4rem}.bloghash-hamburger,.bloghash-mobile-nav{-webkit-box-align:center;-ms-flex-align:center;align-items:center}body:not(.is-mobile-menu-active) .bloghash-hamburger .hamburger-box .hamburger-inner::before{width:1.5rem}.bloghash-hamburger{-js-display:inline-flex;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;border-radius:var(--bloghash-normal-radius)}.bloghash-hamburger .hamburger-inner,.bloghash-hamburger .hamburger-inner::before,.bloghash-hamburger .hamburger-inner::after{background-color:currentColor}#bloghash-header:after{content:"";position:fixed;top:100%;left:0;right:0;height:100vh;background-color:rgb(255 255 255/.85);z-index:991;opacity:0;visibility:hidden;will-change:opacity,visibility;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}@media only screen and (min-width:782px){.site .bloghash-flex-row .col-md{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-ms-flex-negative:1;flex-shrink:1;max-width:100%;-ms-flex-preferred-size:0;flex-basis:0%}.site .bloghash-flex-row .col-md.flex-basis-auto{-ms-flex-preferred-size:auto;flex-basis:auto}.site .bloghash-flex-row .end-md{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:end;margin-left:auto}}@media only screen and (max-width:868px){.bloghash-hide-mobile-tablet{display:none!important}.bloghash-container{padding:0 3rem}.bloghash-header-widgets .bloghash-header-widget,.bloghash-header-widgets .bloghash-header-widget.bloghash-header-widget__button{padding-left:1rem;padding-right:1rem}.bloghash-header-widgets .bloghash-header-widget:not(.bloghash-header-widget__button,.bloghash-header-widget__socials) .bloghash-icon{font-size:2.4rem}.bloghash-mobile-nav{margin-left:1.6rem}}@media only screen and (max-width:599px){#bloghash-header-inner .bloghash-widget-wrapper,.bloghash-header-element,.bloghash-header-widgets .bloghash-header-widget{position:static}.bloghash-header-widgets .dropdown-item:after{display:none}.page-header>.bloghash-container{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}@media only screen and (max-width:480px){#page{min-height:-webkit-fill-available}}@media only screen and (max-width:960px){#main>.bloghash-container{display:block}#primary{max-width:100%!important;padding-left:0!important;padding-right:0!important;margin-top:4rem}.site-main #secondary{width:100%;margin-top:4rem}}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.bloghash-btn{height:1rem}#main>.bloghash-container #primary{-ms-flex-preferred-size:0%;flex-basis:0%}}.bloghash-btn{background-color:var(--bloghash-primary)}.content-area a:not(.bloghash-btn,.wp-block-button__link,.page-numbers,[class^="cat-"],[rel="tag"]),.bloghash-social-nav>ul>li>a .bloghash-icon.bottom-icon{color:var(--bloghash-primary)}#masthead .bloghash-header-widgets .dropdown-item::after,.bloghash-nav>ul .sub-menu::after{border-bottom-color:var(--bloghash-primary);outline:none!important}.bloghash-header-widgets .dropdown-item,.bloghash-nav .sub-menu{border-top-color:var(--bloghash-primary)}::-webkit-selection{background-color:var(--bloghash-primary);color:var(--bloghash-white)}::-webkit-scrollbar-thumb{background:rgb(0 0 0/.2)}::-webkit-scrollbar-thumb:hover{background:rgb(0 0 0/.4)}.mr-1{margin-right:.4rem}a.bloghash-btn i{font-size:105%;vertical-align:baseline}a.bloghash-btn i::before{display:inline-block;vertical-align:middle}a.bloghash-btn span{vertical-align:baseline;line-height:normal}@media (prefers-reduced-motion:reduce){*{animation-duration:0s!important}}.bloghash-glassmorphism{position:fixed;right:0;left:0;bottom:0;display:flex;overflow:hidden;z-index:-1}.bloghash-glassmorphism .block{width:28.8rem;height:28.8rem;filter:blur(64px);mix-blend-mode:multiply;border-radius:999px;display:block;opacity:.1}.bloghash-glassmorphism .block.one{margin-top:5rem;background-color:#ef233c}.bloghash-glassmorphism .block.two{margin-top:16rem;margin-left:-8rem;background-color:#04868b}@media only screen and (min-width:768px){.bloghash-glassmorphism{top:4rem}}@media only screen and (min-width:1024px){.bloghash-glassmorphism .block{width:38.4rem;height:38.4rem}}@media only screen and (min-width:1280px){.bloghash-glassmorphism{top:8rem}}#main .bloghash-widget.widget_search{overflow:visible}.widget_search,form{position:relative;z-index:1}.wp-block-latest-posts.wp-block-latest-posts__list li{margin-bottom:1.6rem}.wp-block-latest-posts__post-title{margin:1rem 0 0;display:block;font-weight:600}:root{--bloghash-primary:#1b7c2e;--bloghash-primary_80:#d2e5d6;--bloghash-primary_15:#3e904e;--bloghash-primary_27:rgba(27,124,46,0.27);--bloghash-primary_10:rgba(27,124,46,0.1)}#bloghash-header-inner{background:#FFF}.bloghash-logo .site-description{color:#66717f}#bloghash-header,.bloghash-header-widgets a:not(.bloghash-btn),.bloghash-logo a,.bloghash-hamburger{color:#131315}#bloghash-header-inner{border-color:rgb(185 185 185/.4);border-bottom-width:1px}.bloghash-header-widget::after{background-color:#ccc}@media screen and (max-width:960px){#bloghash-header-inner .bloghash-nav{display:none;color:#000}.bloghash-mobile-toggen,.bloghash-mobile-nav{display:inline-flex}#bloghash-header-inner{position:relative}#bloghash-header-inner .bloghash-nav>ul>li>a{color:inherit}#bloghash-header-inner .site-navigation{display:none;position:absolute;top:100%;width:100%;height:100%;min-height:100vh;left:0;right:0;margin:-1px 0 0;background:#FFF;border-top:1px solid #eaeaea;box-shadow:0 15px 25px -10px rgb(50 52 54/.125);z-index:999;font-size:1.7rem;padding:0}#bloghash-header-inner .site-navigation>ul{overflow-y:auto;max-height:68vh;display:block}#bloghash-header-inner .site-navigation>ul>li>a{padding:0!important}#bloghash-header-inner .site-navigation>ul li{display:block;width:100%;padding:0;margin:0;margin-left:0!important}#bloghash-header-inner .site-navigation>ul .sub-menu{position:static;display:none;border:none;box-shadow:none;border:0;opacity:1;visibility:visible;font-size:1.7rem;transform:none;background:#f8f8f8;min-width:initial;left:0;padding:0;margin:0;border-radius:0;line-height:inherit}#bloghash-header-inner .site-navigation>ul .sub-menu>li>a>span{padding-left:50px!important}#bloghash-header-inner .site-navigation>ul .sub-menu a>span{padding:10px 30px 10px 50px}#bloghash-header-inner .site-navigation>ul a{padding:0;position:relative;background:none}#bloghash-header-inner .site-navigation>ul li{border-bottom:1px solid #eaeaea}#bloghash-header-inner .site-navigation>ul>li:last-child{border-bottom:0}#bloghash-header-inner .site-navigation>ul a>span{padding:10px 30px!important;width:100%;display:block}#bloghash-header-inner .site-navigation>ul a>span::after,#bloghash-header-inner .site-navigation>ul a>span::before{display:none!important}#bloghash-header-inner .site-navigation>ul .menu-item-has-children>a{display:inline-flex;width:100%;max-width:calc(100% - 50px)}#bloghash-header-inner .bloghash-nav .menu-item-has-children>a>span{border-right:1px solid rgb(185 185 185/.4)}#bloghash-header-inner .bloghash-nav .menu-item-has-children>a>.bloghash-icon{transform:none;width:50px;margin:0;position:absolute;right:0;height:1em;display:none}.bloghash-mobile-toggen{width:50px;height:1em;background:none;border:none}.bloghash-mobile-toggen .bloghash-icon{transform:none;width:50px;margin:0;position:absolute;right:0;height:1em}}.bloghash-nav.bloghash-header-element,.bloghash-header-layout-1 .bloghash-header-widgets{font-weight:600;font-family:"Inter Tight",Helvetica,Arial,sans-serif;font-size:1.7rem;line-height:1.5}#secondary{width:30%}body:not(.bloghash-no-sidebar) #primary{max-width:70%}.bloghash-layout__boxed-separated #content>article,.bloghash-layout__boxed-separated.bloghash-sidebar-style-2 #secondary .bloghash-widget{background-color:#FFF}body{color:#002050}h2,a,.bloghash-logo .site-title,.wp-block-heading,.wp-block-search__label{color:#302D55}:root{--bloghash-secondary:#302D55}.bloghash-container{max-width:1480px}.bloghash-logo img{max-height:45px}.bloghash-logo .logo-inner{margin-top:27px;margin-right:10px;margin-bottom:27px;margin-left:10px}@media only screen and (max-width:768px){.bloghash-logo .logo-inner{margin-top:25px;margin-right:1px;margin-bottom:25px}}.page-header{background:rgb(247 229 183/.35)}.page-header{border-color:rgb(0 0 0/.062);border-style:solid;border-bottom-width:1px}.bloghash-breadcrumbs{padding-top:15px;padding-bottom:15px}html{font-size:62.5%}@media only screen and (max-width:768px){html{font-size:53%}}@media only screen and (max-width:480px){html{font-size:50%}}*{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}body{font-weight:400;font-family:"Be Vietnam Pro",Helvetica,Arial,sans-serif;font-size:1.7rem;line-height:1.75}.bloghash-logo .site-title,h2{font-weight:700;font-style:normal;text-transform:none;text-decoration:none;font-family:"Be Vietnam Pro",Helvetica,Arial,sans-serif}.bloghash-logo .site-title{font-weight:700;font-size:4rem;line-height:1.4}h2{font-weight:700;font-size:3.6rem;line-height:1.4}#bloghash-header .bloghash-logo .site-title{font-size:3rem}#secondary .bloghash-widget .wp-block-heading,#secondary .bloghash-widget .wp-block-search__label{font-size:2.4rem}.bloghash-btn{background-color:#F43676}.bloghash-btn{color:#fff;border-color:#F43676;border-width:.1rem;border-top-left-radius:.8rem;border-top-right-radius:.8rem;border-bottom-right-radius:.8rem;border-bottom-left-radius:.8rem}.bloghash-btn{font-weight:500;font-family:"Be Vietnam Pro",Helvetica,Arial,sans-serif;font-size:1.8rem}body.custom-background{background-color:#f9f9ff}:root{--ss-fsidebar-spacing:0px}#ss-floating-bar{left:0}:root{--ss-brand-color:#557ceb;--ss-brand-color-hover:#4a6bbf;--ss-brand-color-dark:#435f85;--ss-button-color:#000;--ss-wpadminbar-height:0px}#ss-floating-bar .ss-social-icons-container>li>a,.ss-popup-overlay .ss-copy-action .ss-button,.ss-popup-overlay .ss-popup .ss-close-modal,.ss-popup-overlay .ss-popup .ss-popup-networks .ss-popup-network>a{border:0;text-shadow:none;-webkit-box-shadow:none;box-shadow:none;outline:0;text-decoration:none;text-transform:none;letter-spacing:0}.ss-social-icons-container>li>a:after{outline:0}.ss-svg-icon{height:16px;width:auto;fill:currentColor}.ss-envelope-color{--ss-button-color:#323b43}.ss-facebook-color{--ss-button-color:#1877f2}.ss-twitter-color{--ss-button-color:#060606}.ss-linkedin-color{--ss-button-color:#2867b2}.ss-copy-color{--ss-button-color:#323b43}.ss-shareall-color{--ss-button-color:#f1f1f1}.ss-print-color{--ss-button-color:#323b43}.ss-mix-color{--ss-button-color:#ff8226}.ss-clearfix:after{content:"";display:table;clear:both}#ss-floating-bar{position:fixed;z-index:999;inset:0 auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:var(--ss-fsidebar-justify,center);-ms-flex-pack:var(--ss-fsidebar-justify,center);justify-content:var(--ss-fsidebar-justify,center)}#ss-floating-bar .ss-floating-bar__inner{margin-top:calc(var(--ss-wpadminbar-height) + var(--ss-fsidebar-y-offset));margin-bottom:calc(0px - var(--ss-fsidebar-y-offset))}#ss-floating-bar.ss-left-sidebar{left:0}#ss-floating-bar .ss-social-icons-container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:var(--ss-fsidebar-gap,0)}#ss-floating-bar .ss-social-icons-container>li{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}#ss-floating-bar .ss-social-icons-container>li>a{display:-webkit-box;display:-ms-flexbox;display:flex}#ss-floating-bar .ss-social-icons-container>li>a i{font-size:inherit;margin:0}#ss-floating-bar .ss-social-icons-container>li>a .ss-share-network-content,#ss-floating-bar .ss-social-icons-container>li>a i{position:relative;z-index:2}#ss-floating-bar .ss-hide-floating-bar{width:24px;height:24px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border-radius:50%;-webkit-box-sizing:border-box;box-sizing:border-box;margin-left:-12px;left:50%;position:relative;margin-top:6px;opacity:0;-webkit-transform:translateX(-10px);-ms-transform:translateX(-10px);transform:translateX(-10px);color:#232323}#ss-floating-bar .ss-hide-floating-bar svg{width:auto;height:12px;-ms-flex-negative:0;flex-shrink:0;stroke:currentColor;fill:none}#ss-floating-bar .ss-social-icons-container{opacity:1}.ss-popup-overlay{display:none;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,Arial,"Helvetica Neue",sans-serif;-webkit-font-smoothing:initial;content:"";position:fixed;top:0;bottom:0;left:0;right:0;z-index:99999;background:rgb(202 202 202/.75);opacity:0}.ss-popup-overlay .ss-copy-action{position:relative;display:none}.ss-popup-overlay .ss-copy-action .ss-copy-action-field{border:1px solid rgb(0 0 0/.1);border-radius:2px;color:#323b43;font-family:inherit;font-size:16px;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;height:48px!important;line-height:48px!important;padding:0 120px 0 50px!important;text-shadow:none;-webkit-box-shadow:none;box-shadow:none;outline:0;background-color:#fff;margin:0}.ss-popup-overlay .ss-copy-action .ss-button{font-weight:400;font-family:inherit;position:absolute;right:6px;top:5px;background-color:#557ceb;color:#fff;padding:0;line-height:38px;height:38px;width:105px;font-size:16px;z-index:9;border-radius:2px}.ss-popup-overlay .ss-copy-action svg{position:absolute;height:24px;width:24px;top:50%;left:15px;margin-top:-12px;fill:#dadada}.ss-popup-overlay .ss-popup{opacity:0;border-radius:2px;max-width:90%;max-height:90%;width:720px;height:auto}.ss-popup-overlay .ss-popup .ss-popup-heading{display:block;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:16px;font-weight:300;color:#323b43;background-color:#fff;line-height:58px;height:58px;padding:0 0 0 24px;margin:0;border-top-left-radius:4px;border-top-right-radius:4px}.ss-popup-overlay .ss-popup .ss-close-modal{margin-left:auto;padding:0 24px;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#a9a9a9}.ss-popup-overlay .ss-popup .ss-close-modal svg{width:16px;height:16px}.ss-popup-overlay .ss-popup .ss-popup-content{position:relative;top:0;left:0;right:0;bottom:0;max-height:70vh;background-color:#fff;border-top:1px solid rgb(0 0 0/.1);overflow-y:scroll;padding:24px 24px 20px;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.ss-popup-overlay .ss-popup .ss-popup-networks{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap;margin:0-6px}.ss-popup-overlay .ss-popup .ss-popup-networks .ss-popup-network{-webkit-box-sizing:border-box;box-sizing:border-box;width:33.33%;padding:0 6px 6px;-ms-flex-negative:0;flex-shrink:0;float:left;display:inline-block}.ss-popup-overlay .ss-popup .ss-popup-networks .ss-popup-network>a{background-color:var(--ss-button-color);position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;height:40px;padding:0 15px 0 0;display:-webkit-box;display:-ms-flexbox;display:flex;line-height:40px;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;color:#fff;border-radius:2px;font-weight:500;font-size:13px;vertical-align:middle;-webkit-backface-visibility:hidden;white-space:nowrap;text-overflow:ellipsis}.ss-popup-overlay .ss-popup .ss-popup-networks .ss-popup-network>a span:first-child{position:relative;z-index:2;height:40px;width:40px;text-align:center;line-height:40px;font-size:16px;margin-right:10px;background-color:rgb(0 0 0/.15);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.ss-popup-overlay .ss-popup .ss-popup-networks .ss-popup-network>a svg{fill:#fff;height:16px;width:inherit;z-index:1}.ss-popup-overlay .ss-popup .ss-popup-networks .ss-popup-network>a span:first-child:before{content:"";position:absolute;left:0;top:0;background-color:rgb(0 0 0/.1)}.ss-popup-overlay .ss-popup .ss-popup-networks .ss-popup-network>a span{position:relative;z-index:3}.ss-popup-overlay .ss-popup .ss-popup-networks .ss-popup-network>a:before{position:absolute;content:"";background-color:#fff0;top:0;left:0;bottom:0;right:0;z-index:1}.ss-share-network-tooltip{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,Arial,"Helvetica Neue",sans-serif;-webkit-font-smoothing:initial;position:absolute;line-height:1;left:100%;margin-left:12px;background-color:rgb(56 70 84/.85);top:50%;width:auto;white-space:nowrap;padding:8px 10px;border-radius:2px;font-size:12px;color:rgb(255 255 255/.9);z-index:2;opacity:0;-webkit-transform:translateX(-7px) translateY(-50%);-ms-transform:translateX(-7px) translateY(-50%);transform:translateX(-7px) translateY(-50%)}.ss-copy-action .ss-share-network-tooltip{left:auto;margin-left:0;right:100%;margin-right:12px;-webkit-transform:translateX(7px) translateY(-50%);-ms-transform:translateX(7px) translateY(-50%);transform:translateX(7px) translateY(-50%)}.ss-social-icons-container>li>a{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,Arial,"Helvetica Neue",sans-serif}.ss-social-icons-container>li>a{background-color:var(--ss-button-color)}.ss-social-icons-container>li>a:after{content:"";background-color:#fff0;position:absolute;top:0;left:0;right:0;bottom:0;z-index:1}.ss-social-icons-container>li>a i{min-width:23px}.ss-share-network-content{width:100%;display:inline-block;position:relative;vertical-align:middle;line-height:1;z-index:2}.ss-share-network-content i{display:block}#ss-floating-bar.ss-rounded-icons.ss-left-sidebar .ss-social-icons-container>li:first-child>a{border-top-right-radius:6px}#ss-floating-bar.ss-rounded-icons.ss-left-sidebar .ss-social-icons-container>li:last-child>a{border-bottom-right-radius:6px}#ss-floating-bar{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,Arial,"Helvetica Neue",sans-serif}#ss-floating-bar .ss-social-icons-container{margin:0!important;padding:0;list-style:none}#ss-floating-bar .ss-social-icons-container>li{position:relative;list-style:none;margin:0;padding:0}#ss-floating-bar .ss-social-icons-container>li:before{display:none}#ss-floating-bar .ss-social-icons-container>li>a{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;text-align:center;width:52px;height:52px;line-height:52px;color:#fff;overflow:hidden;vertical-align:middle;font-size:16px;text-decoration:none!important}#ss-floating-bar .ss-social-icons-container>li>a .ss-network-icon{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}#ss-floating-bar .ss-social-icons-container>li>a svg{height:16px;width:inherit;z-index:1}#ss-floating-bar .ss-social-icons-container>li>a.ss-share-all{color:#323b43!important}@media screen and (max-width:782px){.ss-popup-overlay .ss-popup .ss-popup-networks .ss-popup-network{width:50%}}@media screen and (max-width:500px){.ss-popup-overlay .ss-popup .ss-popup-networks .ss-popup-network{width:100%}}
The Dummies Guide to the Agentic AI Stack - difmaibot.com
Skip to content
Posted by
botme
March 18, 2025 TL;DR: AI agents are more powerful than basic chatbots—they can remember, make decisions, and use tools autonomously. Building them requires a specialized tech stack made up of LLMs, memory storage, tool libraries, secure execution environments, and orchestration frameworks. This guide breaks down the 2024 Agentic AI Stack into three core layers—Model Serving, Storage, and Frameworks—plus key tools for deployment, observability, and sandboxing.
Introduction AI agents are the next big leap beyond basic chatbots. Unlike simple LLM-powered apps, agents can autonomously perform tasks , remember past interactions , and use tools (like APIs, web browsers, or databases).
But building agents is harder than building chatbots because they require state management , memory , and secure execution . This guide breaks down the Agentic AI Stack —the tools and frameworks you need to build AI agents in late 2024.
The 3 Layers of the Agentic AI Stack 1. Model Serving (The Brains of the Agent) Agents need LLMs to think. You have two main options:
A. Cloud APIs (Easy, but paid & closed) OpenAI & Anthropic – Best for proprietary models (GPT-5, Claude 3).Together.AI, Fireworks, Groq – Offer open-weight models (Llama 3, Mistral) via API.B. Local/On-Prem Models (More control, but harder) vLLM – Best for fast, production-grade GPU serving.SGLang – Newer alternative to vLLM.Ollama / LM Studio – Great for hobbyists (runs on MacBooks).2. Storage (Agent Memory & Knowledge) Agents need long-term memory and external data access .
A. Vector Databases (For embeddings & semantic search) Chroma – Lightweight, open-source.Weaviate, Pinecone, Qdrant, Milvus – Production-ready.Postgres (pgvector) – Traditional DB with vector search.B. General-Purpose Databases (For structured data) Neon / Supabase – Serverless Postgres with vector support.SQLite / Redis – Simple, fast storage for smaller agents.3. Agent Frameworks (The Orchestration Layer) These frameworks manage agent logic , state , and tool execution .
Framework Best For Key Features LangChain General-purpose agents Oldest, most plugins. LlamaIndex RAG-focused agents Strong document retrieval. CrewAI Multi-agent workflows Good for teams of agents. AutoGen Conversational agents Microsoft-backed. Letta Production-ready agents Built-in DB, memory tools. LangGraph Complex agent workflows Stateful, scalable.
Key Considerations When Choosing a Framework: ✅ State Management – How does it store conversation history? ✅ Tool Execution – Can it safely run arbitrary code? ✅ Multi-Agent Support – Can agents talk to each other? ✅ Memory Handling – Does it summarize/compress old chats?
Bonus: Tools & Secure Execution Agents need to call APIs, browse the web, or run code safely.
Composio – Library of pre-built tools (with auth).Browserbase – Specialized web browsing for agents.Exa – Better web search for agents.Modal / E2B – Secure sandbox for running untrusted code.⚠️ Warning: Never let an agent run untrusted code without a sandbox!
Deploying Agents (The Hard Part) Most frameworks assume you’re running agents in a Python script or Jupyter notebook . But in production, you need:
REST APIs (so apps can talk to agents).Scalable state storage (millions of agents, growing histories).Secure tool execution (sandboxed environments).Emerging Solutions:
Letta Cloud (Early access) – Hosted agents with APIs.Custom FastAPI + DB – Many devs build their own.Conclusion: The Future of Agents The agent stack is still early and evolving . Key trends to watch: 🔹 Standardized Agent APIs (Like OpenAI’s ChatCompletion, but for agents). 🔹 Better Memory Management (Agents that remember smarter). 🔹 More Specialized Tools (Agents that can do anything ).
Want to build your own agent?
Start with LangChain or Letta for prototyping. Use OpenAI/Groq for models, Chroma/Postgres for storage. Deploy with FastAPI + Modal for security. The age of autonomous AI agents is just beginning!
Got feedback? Found a tool we missed? Comment below or reach out!
(This guide is based on the Brilliant Letta.com November 2024 AI agent landscape. Things move fast—check for updates!)
Scroll to Top