CINXE.COM

An Introduction to Configuration Management with Ansible | DigitalOcean

<!DOCTYPE html><html lang="en" dir="ltr"><head><meta charSet="utf-8"/><link rel="apple-touch-icon" sizes="180x180" href="/_next/static/media/apple-touch-icon.d7edaa01.png"/><link rel="icon" sizes="192x192" href="/_next/static/media/android-chrome-192x192.f09059d8.png"/><link rel="icon" sizes="512x512" href="/_next/static/media/android-chrome-512x512.5f2e6221.png"/><link rel="icon" type="image/png" sizes="32x32" href="/_next/static/media/favicon-32x32.b7ef9ede.png"/><link rel="icon" type="image/png" sizes="16x16" href="/_next/static/media/favicon-16x16.71c34517.png"/><link rel="icon" type="image/x-icon" href="/_next/static/media/favicon.594d6067.ico"/><meta name="theme-color" content="#0069ff"/><meta name="viewport" content="minimum-scale=1, initial-scale=1, width=device-width, shrink-to-fit=no"/><meta name="twitter:card" content="summary"/><meta property="og:type" content="website"/><title>An Introduction to Configuration Management with Ansible | DigitalOcean</title><meta name="description" content="As a broader subject, configuration management refers to the process of handling changes to a system in a way that assures integrity over time, typically inv… "/><meta name="twitter:title" content="An Introduction to Configuration Management with Ansible | DigitalOcean"/><meta name="twitter:description" content="As a broader subject, configuration management refers to the process of handling changes to a system in a way that assures integrity over time, typically inv… "/><meta name="twitter:image" content="https://www.digitalocean.com/_next/static/media/intro-to-cloud.d49bc5f7.jpeg"/><meta name="og:title" content="An Introduction to Configuration Management with Ansible | DigitalOcean"/><meta name="og:description" content="As a broader subject, configuration management refers to the process of handling changes to a system in a way that assures integrity over time, typically inv… "/><meta name="og:image" content="https://www.digitalocean.com/_next/static/media/intro-to-cloud.d49bc5f7.jpeg"/><meta property="og:type" content="article"/><link rel="canonical" href="https://www.digitalocean.com/community/conceptual-articles/an-introduction-to-configuration-management-with-ansible"/><link rel="alternate" hrefLang="de" href="https://www.digitalocean.com/community/conceptual-articles/an-introduction-to-configuration-management-with-ansible-de"/><link rel="alternate" hrefLang="en" href="https://www.digitalocean.com/community/conceptual-articles/an-introduction-to-configuration-management-with-ansible"/><link rel="alternate" hrefLang="es" href="https://www.digitalocean.com/community/conceptual-articles/an-introduction-to-configuration-management-with-ansible-es"/><link rel="alternate" hrefLang="fr" href="https://www.digitalocean.com/community/conceptual-articles/an-introduction-to-configuration-management-with-ansible-fr"/><link rel="alternate" hrefLang="pt" href="https://www.digitalocean.com/community/conceptual-articles/an-introduction-to-configuration-management-with-ansible-pt"/><link rel="alternate" hrefLang="ru" href="https://www.digitalocean.com/community/conceptual-articles/an-introduction-to-configuration-management-with-ansible-ru"/><link rel="alternate" hrefLang="x-default" href="https://www.digitalocean.com/community/conceptual-articles/an-introduction-to-configuration-management-with-ansible"/><meta name="next-head-count" content="28"/><link rel="preconnect" href="https://consent.trustarc.com"/><link rel="preload" href="/_next/static/media/8347d131139854e0.p.woff2" as="font" type="font/woff2" crossorigin="anonymous" data-next-font=""/><link rel="preload" href="/_next/static/media/a34f9d1faa5f3315.p.woff2" as="font" type="font/woff2" crossorigin="anonymous" data-next-font=""/><link rel="preload" href="/_next/static/media/bb3ef058b751a6ad.p.woff2" as="font" type="font/woff2" crossorigin="anonymous" data-next-font=""/><link rel="preload" href="/_next/static/css/f9deea49490bab4e.css" as="style"/><link rel="stylesheet" href="/_next/static/css/f9deea49490bab4e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-0bae35e1f49cdc4b.js" defer=""></script><script src="/_next/static/chunks/framework-945b357d4a851f4b.js" defer=""></script><script src="/_next/static/chunks/main-5be6ccb0361589bb.js" defer=""></script><script src="/_next/static/chunks/pages/_app-a861a1049d2ac635.js" defer=""></script><script src="/_next/static/chunks/d3048c20-13a9a240022213f6.js" defer=""></script><script src="/_next/static/chunks/3457-470ff73f5e87bb85.js" defer=""></script><script src="/_next/static/chunks/7311-edfdb7493dd2b483.js" defer=""></script><script src="/_next/static/chunks/1376-7d2d0b0cf8dc6cdf.js" defer=""></script><script src="/_next/static/chunks/3113-558a9cbbe91b88a2.js" defer=""></script><script src="/_next/static/chunks/8953-80e7abbb7eb828c4.js" defer=""></script><script src="/_next/static/chunks/9828-b1721f12feb167c3.js" defer=""></script><script src="/_next/static/chunks/331-1fbf652b2111c0ef.js" defer=""></script><script src="/_next/static/chunks/6518-fb9b0319afd223b8.js" defer=""></script><script src="/_next/static/chunks/4115-e35c5317d09d6b23.js" defer=""></script><script src="/_next/static/chunks/8971-f7e9338a9a9ceef9.js" defer=""></script><script src="/_next/static/chunks/pages/community/tutorials/%5Bslug%5D-f72ef92542160434.js" defer=""></script><script src="/_next/static/3d97684bcc0944393e84030f785c45d2cc925214/_buildManifest.js" defer=""></script><script src="/_next/static/3d97684bcc0944393e84030f785c45d2cc925214/_ssgManifest.js" defer=""></script><style data-styled="" data-styled-version="6.1.13">.gxWftL{position:fixed;right:16px;top:242px;z-index:99999;}/*!sc*/ data-styled.g1[id="NotificationsStyles__NotificationsContainer-sc-3fed92dc-0"]{content:"gxWftL,"}/*!sc*/ .fjIPKj{text-decoration:none;}/*!sc*/ .fjIPKj.button-link{align-items:center;background-color:transparent;border:1px solid #080b2d;border-radius:100px;color:#080b2d;cursor:pointer;display:flex;font-size:1em;font-weight:700;justify-content:center;padding:16px 32px;transition:all 0.3s ease;}/*!sc*/ .fjIPKj.button-link:hover{background-color:rgba(0,105,255,0.15);color:#080b2d;transition:all 0.3s ease;}/*!sc*/ .fjIPKj.button-link:focus{background-color:rgba(0,105,255,0.15);border:1px solid transparent;color:#0069ff;}/*!sc*/ .fjIPKj.button-link.is-squared{border-radius:8px;}/*!sc*/ .fjIPKj.button-link.is-primary{background-color:#1633ff;border:1px solid #1633ff;color:#fff;transition:all 0.3s ease;}/*!sc*/ .fjIPKj.button-link.is-primary:hover{background-color:#0069ff;border:1px solid #0069ff;color:#fff!important;transition:all 0.3s ease;}/*!sc*/ .fjIPKj.button-link.is-primary:disabled{background-color:#c4c9d6!important;border:1px solid #c4c9d6!important;color:#fff;}/*!sc*/ .fjIPKj.button-link.is-primary.is-outlined{border:1px solid #0069ff;color:#0069ff;}/*!sc*/ .fjIPKj.button-link.is-primary.is-outlined:hover{background-color:rgba(0,105,255,0.1);border:1px solid #0069ff!important;color:#0069ff!important;}/*!sc*/ .fjIPKj.button-link.is-primary.is-outlined:disabled{background-color:#fff!important;border:1px solid #8690a9!important;color:#8690a9!important;}/*!sc*/ .fjIPKj.button-link.is-white{background-color:#fff;border:1px solid #fff;color:#0069ff;transition:all 0.3s ease;}/*!sc*/ .fjIPKj.button-link.is-white:hover{background-color:rgba(225,225,225,0.9);border:1px solid rgba(225,225,225,0.9);color:#0069ff!important;transition:all 0.3s ease;}/*!sc*/ .fjIPKj.button-link.is-white:disabled{border:1px solid #8690a9!important;color:#8690a9!important;}/*!sc*/ .fjIPKj.button-link.is-white.is-outlined{background-color:transparent;border:1px solid rgba(255,255,255,0.8);color:rgba(255,255,255,0.8);}/*!sc*/ .fjIPKj.button-link.is-white.is-outlined:hover{background-color:transparent;border:1px solid rgba(255,255,255,1);color:rgba(255,255,255,1)!important;}/*!sc*/ .fjIPKj.button-link.is-green{background-color:#15CD72;border:1px solid #15CD72;color:#fff;transition:all 0.3s ease;}/*!sc*/ .fjIPKj.button-link.is-green:hover{background-color:rgba(21, 205, 114, 0.9);border:1px solid rgba(21, 205, 114, 0.9);color:#fff!important;transition:all 0.3s ease;}/*!sc*/ .fjIPKj.button-link.is-green:disabled{border:1px solid rgba(21, 205, 114, 0.3)!important;color:rgba(21, 205, 114, 0.3)!important;}/*!sc*/ .fjIPKj.button-link.is-green.is-outlined{background-color:transparent;border:1px solid rgba(21, 205, 114, 0.9);color:rgba(21, 205, 114, 0.9);}/*!sc*/ .fjIPKj.button-link.is-green.is-outlined:not(:disabled):hover{background-color:transparent;border:1px solid rgba(21, 205, 114, 1);color:rgba(21, 205, 114, 1);}/*!sc*/ .fjIPKj.button-link.is-outlined{background-color:transparent;border:1px solid #080b2d;color:#080b2d;transition:all 0.3s ease;}/*!sc*/ .fjIPKj.button-link.is-outlined:hover{border:1px solid #0069ff;color:#0069ff;transition:all 0.3s ease;}/*!sc*/ .fjIPKj.button-link.is-small{padding:12px 24px;}/*!sc*/ .fjIPKj.button-link.has-center-img{padding:15px 16px;}/*!sc*/ .fjIPKj.button-link.has-left-img >img{margin-right:8px;}/*!sc*/ .fjIPKj.button-link.mx-16{margin-left:16px;margin-right:16px;}/*!sc*/ .fjIPKj.button-link.is-gray3-color{box-shadow:0 6px 20px -6px rgba(11, 43, 158, 0.15);color:#24335a;font-size:16px;font-weight:600;line-height:24px;}/*!sc*/ data-styled.g6[id="LazyLink___StyledLink-sc-679fc0ad-0"]{content:"fjIPKj,"}/*!sc*/ .gYjDKj{text-decoration:none;}/*!sc*/ .gYjDKj.button-link{align-items:center;background-color:transparent;border:1px solid #080b2d;border-radius:100px;color:#080b2d;cursor:pointer;display:flex;font-size:1em;font-weight:700;justify-content:center;padding:16px 32px;transition:all 0.3s ease;}/*!sc*/ .gYjDKj.button-link:hover{background-color:rgba(0,105,255,0.15);color:#080b2d;transition:all 0.3s ease;}/*!sc*/ .gYjDKj.button-link:focus{background-color:rgba(0,105,255,0.15);border:1px solid transparent;color:#0069ff;}/*!sc*/ .gYjDKj.button-link.is-squared{border-radius:8px;}/*!sc*/ .gYjDKj.button-link.is-primary{background-color:#1633ff;border:1px solid #1633ff;color:#fff;transition:all 0.3s ease;}/*!sc*/ .gYjDKj.button-link.is-primary:hover{background-color:#0069ff;border:1px solid #0069ff;color:#fff!important;transition:all 0.3s ease;}/*!sc*/ .gYjDKj.button-link.is-primary:disabled{background-color:#c4c9d6!important;border:1px solid #c4c9d6!important;color:#fff;}/*!sc*/ .gYjDKj.button-link.is-primary.is-outlined{border:1px solid #0069ff;color:#0069ff;}/*!sc*/ .gYjDKj.button-link.is-primary.is-outlined:hover{background-color:rgba(0,105,255,0.1);border:1px solid #0069ff!important;color:#0069ff!important;}/*!sc*/ .gYjDKj.button-link.is-primary.is-outlined:disabled{background-color:#fff!important;border:1px solid #8690a9!important;color:#8690a9!important;}/*!sc*/ .gYjDKj.button-link.is-white{background-color:#fff;border:1px solid #fff;color:#0069ff;transition:all 0.3s ease;}/*!sc*/ .gYjDKj.button-link.is-white:hover{background-color:rgba(225,225,225,0.9);border:1px solid rgba(225,225,225,0.9);color:#0069ff!important;transition:all 0.3s ease;}/*!sc*/ .gYjDKj.button-link.is-white:disabled{border:1px solid #8690a9!important;color:#8690a9!important;}/*!sc*/ .gYjDKj.button-link.is-white.is-outlined{background-color:transparent;border:1px solid rgba(255,255,255,0.8);color:rgba(255,255,255,0.8);}/*!sc*/ .gYjDKj.button-link.is-white.is-outlined:hover{background-color:transparent;border:1px solid rgba(255,255,255,1);color:rgba(255,255,255,1)!important;}/*!sc*/ .gYjDKj.button-link.is-green{background-color:#15CD72;border:1px solid #15CD72;color:#fff;transition:all 0.3s ease;}/*!sc*/ .gYjDKj.button-link.is-green:hover{background-color:rgba(21, 205, 114, 0.9);border:1px solid rgba(21, 205, 114, 0.9);color:#fff!important;transition:all 0.3s ease;}/*!sc*/ .gYjDKj.button-link.is-green:disabled{border:1px solid rgba(21, 205, 114, 0.3)!important;color:rgba(21, 205, 114, 0.3)!important;}/*!sc*/ .gYjDKj.button-link.is-green.is-outlined{background-color:transparent;border:1px solid rgba(21, 205, 114, 0.9);color:rgba(21, 205, 114, 0.9);}/*!sc*/ .gYjDKj.button-link.is-green.is-outlined:not(:disabled):hover{background-color:transparent;border:1px solid rgba(21, 205, 114, 1);color:rgba(21, 205, 114, 1);}/*!sc*/ .gYjDKj.button-link.is-outlined{background-color:transparent;border:1px solid #080b2d;color:#080b2d;transition:all 0.3s ease;}/*!sc*/ .gYjDKj.button-link.is-outlined:hover{border:1px solid #0069ff;color:#0069ff;transition:all 0.3s ease;}/*!sc*/ .gYjDKj.button-link.is-small{padding:12px 24px;}/*!sc*/ .gYjDKj.button-link.has-center-img{padding:15px 16px;}/*!sc*/ .gYjDKj.button-link.has-left-img >img{margin-right:8px;}/*!sc*/ .gYjDKj.button-link.mx-16{margin-left:16px;margin-right:16px;}/*!sc*/ .gYjDKj.button-link.is-gray3-color{box-shadow:0 6px 20px -6px rgba(11, 43, 158, 0.15);color:#24335a;font-size:16px;font-weight:600;line-height:24px;}/*!sc*/ data-styled.g7[id="LazyLink___StyledA-sc-679fc0ad-1"]{content:"gYjDKj,"}/*!sc*/ .jNvMpG{align-self:flex-start;color:#0069ff;display:inline-block;font-family:'__JetBrains_Mono_26ed0d',monospace;font-weight:600;position:relative;transition:all 0.2s ease;}/*!sc*/ .eTVGAK{align-self:flex-start;color:#0069ff;display:inline-block;font-family:'__JetBrains_Mono_26ed0d',monospace;font-weight:600;position:relative;transition:all 0.2s ease;margin-right:12px;}/*!sc*/ .eTVGAK::after{content:'->';font-size:18px;font-weight:700;position:relative;right:-8px;transition:right 0.2s ease;white-space:nowrap;}/*!sc*/ .eTVGAK:hover::after{right:-12px;transition:right 0.2s ease;}/*!sc*/ data-styled.g9[id="TextLink___StyledLazyLink-sc-221f63b7-0"]{content:"jNvMpG,eTVGAK,"}/*!sc*/ .itaWBy{background-color:#FFF;padding:80px 24px;}/*!sc*/ @media (min-width:768px){.itaWBy{padding:104px 40px;}}/*!sc*/ @media (min-width:1024px){.itaWBy{padding:128px 0;}}/*!sc*/ data-styled.g14[id="FooterStyles__StyledSection-sc-19041032-0"]{content:"itaWBy,"}/*!sc*/ .duWDmu{color:#4D5B7C;transition:color 350ms ease;}/*!sc*/ .duWDmu:hover,.duWDmu:focus{color:#000C2A;}/*!sc*/ data-styled.g15[id="SocialStyles__StyledSocial-sc-8567fc92-0"]{content:"duWDmu,"}/*!sc*/ .bFTXQH{transform-box:fill-box;transform-origin:0 0;transition:stroke-dashoffset 750ms cubic-bezier(0.68, -0.6, 0.32, 1.6),stroke-dasharray 750ms cubic-bezier(0.68, -0.6, 0.32, 1.6),transform 375ms cubic-bezier(0.68, -0.6, 0.32, 1.6);}/*!sc*/ data-styled.g16[id="DigitalOceanSmileyStyles__StyledCircle-sc-64ca7b97-0"]{content:"bFTXQH,"}/*!sc*/ .fLzQlC{transform-box:fill-box;transform-origin:0 0;transition:transform 375ms cubic-bezier(0.68, -0.6, 0.32, 1.6) 375ms,opacity 187.5ms cubic-bezier(0.68, -0.6, 0.32, 1.6) 375ms;}/*!sc*/ data-styled.g17[id="DigitalOceanSmileyStyles__StyledPixelSm-sc-64ca7b97-1"]{content:"fLzQlC,"}/*!sc*/ .gicUQZ{transform-box:fill-box;transform-origin:0 100%;transition:transform 750ms cubic-bezier(0.68, -0.6, 0.32, 1.6);}/*!sc*/ data-styled.g18[id="DigitalOceanSmileyStyles__StyledPixelMd-sc-64ca7b97-2"]{content:"gicUQZ,"}/*!sc*/ .fAILdG{transform-box:fill-box;transform-origin:0 50%;transition:transform 750ms cubic-bezier(0.68, -0.6, 0.32, 1.6);}/*!sc*/ data-styled.g19[id="DigitalOceanSmileyStyles__StyledPixelLg-sc-64ca7b97-3"]{content:"fAILdG,"}/*!sc*/ .hjiknj{cursor:pointer;overflow:visible;}/*!sc*/ .hjiknj:hover .DigitalOceanSmileyStyles__StyledCircle-sc-64ca7b97-0,.hjiknj:focus .DigitalOceanSmileyStyles__StyledCircle-sc-64ca7b97-0{stroke-dasharray:113.88273369263 113.88273369263;stroke-dashoffset:0;transform:translate(0,-13.75px);transition:stroke-dashoffset 750ms cubic-bezier(0.68, -0.6, 0.32, 1.6),stroke-dasharray 750ms cubic-bezier(0.68, -0.6, 0.32, 1.6),transform 375ms cubic-bezier(0.68, -0.6, 0.32, 1.6) 375ms;}/*!sc*/ .hjiknj:hover .DigitalOceanSmileyStyles__StyledPixelSm-sc-64ca7b97-1,.hjiknj:focus .DigitalOceanSmileyStyles__StyledPixelSm-sc-64ca7b97-1{opacity:0;transform:scale(0);transition:transform 375ms cubic-bezier(0.68, -0.6, 0.32, 1.6) 0ms,opacity 187.5ms cubic-bezier(0.68, -0.6, 0.32, 1.6) 562.5ms;}/*!sc*/ .hjiknj:hover .DigitalOceanSmileyStyles__StyledPixelMd-sc-64ca7b97-2,.hjiknj:focus .DigitalOceanSmileyStyles__StyledPixelMd-sc-64ca7b97-2{transform:translate(3.25px,-58.5px) translate(0,3.75px) scale(1.2777777777777777);}/*!sc*/ .hjiknj:hover .DigitalOceanSmileyStyles__StyledPixelLg-sc-64ca7b97-3,.hjiknj:focus .DigitalOceanSmileyStyles__StyledPixelLg-sc-64ca7b97-3{transform:translate(27.75px,-41.25px);}/*!sc*/ .hjiknj:focus{outline:none;}/*!sc*/ @media (hover:hover){.hjiknj:focus .DigitalOceanSmileyStyles__StyledPixelLg-sc-64ca7b97-3{animation:375ms cubic-bezier(0.68, -0.6, 0.32, 1.6) 0s 2 alternate lRCJp;}}/*!sc*/ data-styled.g20[id="DigitalOceanSmileyStyles__StyledSvg-sc-64ca7b97-4"]{content:"hjiknj,"}/*!sc*/ .hVvKLQ{align-items:center;display:flex;flex-direction:column;gap:32px;justify-content:space-between;margin:80px 0 0;}/*!sc*/ @media (min-width:768px){.hVvKLQ{flex-direction:row;}}/*!sc*/ data-styled.g21[id="CompanyDetailsStyles__StyledCompanyDetails-sc-29dc4d61-0"]{content:"hVvKLQ,"}/*!sc*/ .cpSiFS{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:center;text-align:center;}/*!sc*/ @media (min-width:768px){.cpSiFS{flex-wrap:nowrap;}}/*!sc*/ .cpSiFS svg{color:#0069FF;}/*!sc*/ .cpSiFS a:hover{color:#000C2A;}/*!sc*/ data-styled.g22[id="CompanyDetailsStyles__StyledCompanyLogo-sc-29dc4d61-1"]{content:"cpSiFS,"}/*!sc*/ .fXQyuL{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;list-style:none;margin:0;max-width:12rem;padding:0;}/*!sc*/ @media (min-width:768px){.fXQyuL{max-width:none;}}/*!sc*/ data-styled.g23[id="CompanyDetailsStyles__StyledCompanySocials-sc-29dc4d61-2"]{content:"fXQyuL,"}/*!sc*/ @media (max-width:calc(604px - 1px)){.fApuTk{display:none;}}/*!sc*/ data-styled.g24[id="DigitalOceanStyles__StyledText-sc-a8278400-0"]{content:"fApuTk,"}/*!sc*/ .eUPtCH{color:#0069ff;display:inline-flex;}/*!sc*/ data-styled.g25[id="DigitalOceanStyles__StyledLogo-sc-a8278400-1"]{content:"eUPtCH,"}/*!sc*/ .iRpprC{isolation:isolate;position:sticky;top:0;z-index:1000;}/*!sc*/ .iRpprC header{z-index:1000;}/*!sc*/ data-styled.g26[id="HeaderStyles__StyledHeader-sc-2183282b-0"]{content:"iRpprC,"}/*!sc*/ .cYiDET{display:flex;gap:8px;list-style-type:none;padding:0;white-space:nowrap;}/*!sc*/ @media (max-width:calc(768px - 1px)){.cYiDET{gap:16px;}}/*!sc*/ @media (max-width:calc(768px - 1px)){.cYiDET >li:first-child>a,.cYiDET >li:first-child>button{box-shadow:0 0 0 1px #4D5B7C;color:#000C2A;}.cYiDET >li:first-child>a:hover,.cYiDET >li:first-child>button:hover{background-color:transparent;}}/*!sc*/ @media (max-width:calc(1024px - 1px)){.cYiDET >li{flex-basis:0;flex-grow:1;}.cYiDET >li >a,.cYiDET >li >button{text-align:center;width:100%;}}/*!sc*/ .cYiDET button{align-items:center;display:flex;gap:2px;}/*!sc*/ .cYiDET button svg{flex-shrink:0;}/*!sc*/ data-styled.g27[id="HeaderStyles__StyledCTALinks-sc-2183282b-1"]{content:"cYiDET,"}/*!sc*/ .icaRFe{position:relative;}/*!sc*/ .icaRFe >button,.icaRFe >a{justify-content:center;width:100%;}/*!sc*/ .icaRFe >button >svg,.icaRFe >a >svg{transition:transform 300ms ease-in-out;}/*!sc*/ @media (max-width:calc(768px - 1px)){.icaRFe:first-child >ul{left:0;right:initial;}.icaRFe:first-child >ul button{box-shadow:none;}.icaRFe:first-child >ul a{box-shadow:none;}}/*!sc*/ data-styled.g28[id="HeaderStyles__StyledCommunityCTA-sc-2183282b-2"]{content:"icaRFe,"}/*!sc*/ .eLrcFE:hover{background-color:#EFF2FB;border-radius:8px;}/*!sc*/ data-styled.g32[id="ProfileStyles__StyledProfileLink-sc-ca52d662-1"]{content:"eLrcFE,"}/*!sc*/ *,*::before,*::after{box-sizing:border-box;}/*!sc*/ *{margin:0;}/*!sc*/ html,body{font-family:'__Inter_1fc7a2',sans-serif;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin:0;min-height:100vh;padding:0;}/*!sc*/ @media (prefers-reduced-motion){html,body{animation:none!important;}}/*!sc*/ a{color:inherit;text-decoration:none;}/*!sc*/ input,button,textarea,select{font:inherit;}/*!sc*/ img,picture,video,canvas,svg{display:block;max-width:100%;}/*!sc*/ button{background:transparent;border:0;cursor:pointer;}/*!sc*/ input,textarea{font:inherit;}/*!sc*/ input::placeholder,textarea::placeholder{opacity:1;}/*!sc*/ data-styled.g37[id="sc-global-btwYbO1"]{content:"sc-global-btwYbO1,"}/*!sc*/ .gxPNxu{align-items:center;display:inline-flex;gap:8px;line-height:1.5;position:relative;text-decoration:none;}/*!sc*/ .gxPNxu::after{background:currentColor;bottom:2px;content:'';height:1.5px;left:0;position:absolute;transform:scaleX(0);transform-origin:0 0;transition:transform 300ms ease-in-out;width:100%;}/*!sc*/ .gxPNxu path{transition:transform 300ms ease-in-out;}/*!sc*/ .gxPNxu path:nth-child(1){transform:translateX(-5px);}/*!sc*/ .gxPNxu path:nth-child(2){transform:scaleX(0.6333333333);transform-origin:0 0;}/*!sc*/ .gxPNxu:hover::after,.gxPNxu:focus::after{transform:scaleX(1);}/*!sc*/ .gxPNxu:hover path:nth-child(1),.gxPNxu:focus path:nth-child(1){transform:translateX(0);}/*!sc*/ .gxPNxu:hover path:nth-child(2),.gxPNxu:focus path:nth-child(2){transform:scaleX(1);}/*!sc*/ .gxPNxu svg{flex-shrink:0;height:12px;width:18px;}/*!sc*/ data-styled.g38[id="LinkTextstyles-sc-jz3jcd-0"]{content:"gxPNxu,"}/*!sc*/ .iDUbLq{margin:0;font-family:'__Inter_1fc7a2',sans-serif;font-size:14px;letter-spacing:0;line-height:20px;font-weight:500;}/*!sc*/ .liuhbD{margin:0;font-family:'__Inter_1fc7a2',sans-serif;font-size:16px;letter-spacing:0;line-height:24px;font-weight:400;border:0;clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px;}/*!sc*/ .kYYRis{margin:0;font-family:'__Inter_1fc7a2',sans-serif;font-size:16px;letter-spacing:0;line-height:24px;font-weight:500;}/*!sc*/ .RRfqP{margin:0;color:#000C2A;font-family:'__Inter_1fc7a2',sans-serif;font-size:14px;letter-spacing:0;line-height:20px;font-weight:700;}/*!sc*/ .dUkcXP{margin:0;color:#000C2A;font-family:'__Inter_1fc7a2',sans-serif;font-size:16px;letter-spacing:0;line-height:24px;font-weight:500;}/*!sc*/ .kLhCbB{margin:0;color:#4D5B7C;font-family:'__Inter_1fc7a2',sans-serif;font-size:16px;letter-spacing:0;line-height:24px;font-weight:400;}/*!sc*/ .dJqBXQ{margin:0;color:#4D5B7C;font-family:'__Inter_1fc7a2',sans-serif;font-size:16px;letter-spacing:0;line-height:24px;font-weight:500;}/*!sc*/ .cvZqkW{margin:0;color:#000C2A;font-family:'__Inter_1fc7a2',sans-serif;font-size:14px;letter-spacing:0;line-height:20px;font-weight:600;}/*!sc*/ .saphT{margin:0;color:#4D5B7C;font-family:'__Inter_1fc7a2',sans-serif;font-size:14px;letter-spacing:0;line-height:20px;font-weight:400;}/*!sc*/ .mOScw{margin:0;color:#000C2A;font-family:'__Inter_1fc7a2',sans-serif;font-size:16px;letter-spacing:0;line-height:24px;font-weight:600;}/*!sc*/ .ikXVrB{margin:0;color:#000C2A;font-family:'__Inter_1fc7a2',sans-serif;font-size:16px;letter-spacing:0;line-height:24px;font-weight:700;}/*!sc*/ .juQGol{margin:0;font-family:'__Inter_1fc7a2',sans-serif;font-size:16px;letter-spacing:0;line-height:24px;font-weight:400;}/*!sc*/ .fmHvBz{margin:0;font-family:'__Inter_1fc7a2',sans-serif;font-size:14px;letter-spacing:0;line-height:20px;font-weight:400;}/*!sc*/ .dHgDVk{margin:0;font-family:'__Epilogue_61966b',sans-serif;font-size:24px;letter-spacing:0;line-height:32px;font-weight:700;}/*!sc*/ .hXZsjT{margin:0;font-family:'__Inter_1fc7a2',sans-serif;font-size:16px;letter-spacing:0;line-height:24px;font-weight:600;}/*!sc*/ .fRmROg{margin:0;color:#000C2A;font-family:'__Epilogue_61966b',sans-serif;font-size:20px;letter-spacing:0;line-height:28px;font-weight:700;}/*!sc*/ .hHKElO{margin:0;color:#4D5B7C;font-family:'__Inter_1fc7a2',sans-serif;font-size:12px;letter-spacing:0;line-height:18px;font-weight:400;}/*!sc*/ .fcsSE{margin:0;font-family:'__Epilogue_61966b',sans-serif;font-size:28px;letter-spacing:0;line-height:36px;font-weight:700;}/*!sc*/ @media (min-width: 768px){.fcsSE{font-size:36px;letter-spacing:-1px;line-height:48px;}}/*!sc*/ .Phplo{margin:0;color:#FFF;font-family:'__Inter_1fc7a2',sans-serif;font-size:16px;letter-spacing:0;line-height:24px;font-weight:400;}/*!sc*/ .hxQDjp{margin:0;color:#000C2A;font-family:'__Inter_1fc7a2',sans-serif;font-size:18px;letter-spacing:0;line-height:26px;font-weight:700;}/*!sc*/ data-styled.g39[id="Typographystyles-sc-o7qsl9-0"]{content:"iDUbLq,liuhbD,kYYRis,RRfqP,dUkcXP,kLhCbB,dJqBXQ,cvZqkW,saphT,mOScw,ikXVrB,juQGol,fmHvBz,dHgDVk,hXZsjT,fRmROg,hHKElO,fcsSE,Phplo,hxQDjp,"}/*!sc*/ .hsLsNq{cursor:pointer;display:inline-block;font-weight:600;border-radius:32px;font-size:16px;line-height:24px;padding:8px 24px;color:#4D5B7C;font-weight:500;padding:8px 16px;transition:color 300ms ease-in-out,background-color 300ms ease-in-out;}/*!sc*/ .hsLsNq:hover{color:#000C2A;background-color:#EFF2FB;}/*!sc*/ .hsLsNq:focus-visible{outline-color:#000C2A;}/*!sc*/ .hsLsNq:focus-visible{outline-offset:2px;outline-style:solid;outline-width:2px;}/*!sc*/ .crNCzT{cursor:pointer;display:inline-block;font-weight:600;border-radius:32px;font-size:16px;line-height:24px;padding:8px 24px;background-color:#0069FF;color:#FFF;font-weight:500;padding:8px 16px;transition:background 300ms ease-in-out;}/*!sc*/ .crNCzT:hover{background-color:#1433D6;}/*!sc*/ .crNCzT:focus-visible{outline-color:#1433D6;}/*!sc*/ .crNCzT:focus-visible{outline-offset:2px;outline-style:solid;outline-width:2px;}/*!sc*/ .gmYUxJ{cursor:pointer;display:inline-block;font-weight:600;border-radius:32px;font-size:16px;line-height:24px;padding:8px 24px;background-color:transparent;box-shadow:inset 0px 0px 0px 1px #4D5B7C;color:#000C2A;transition:background 300ms ease-in-out,color 300ms ease-in-out;}/*!sc*/ .gmYUxJ:hover{box-shadow:none;background-color:#1433D6;color:#FFF;}/*!sc*/ .gmYUxJ:focus-visible{box-shadow:none;background-color:#1433D6;color:#FFF;outline-color:#1433D6;}/*!sc*/ .gmYUxJ:focus-visible{outline-offset:2px;outline-style:solid;outline-width:2px;}/*!sc*/ .hPCZJz{cursor:pointer;display:inline-block;font-weight:600;border-radius:32px;font-size:16px;line-height:24px;padding:8px 24px;background-color:#0069FF;color:#FFF;transition:background 300ms ease-in-out;}/*!sc*/ .hPCZJz:hover{background-color:#1433D6;}/*!sc*/ .hPCZJz:focus-visible{background-color:#1433D6;outline-color:#1433D6;}/*!sc*/ .hPCZJz:focus-visible{outline-offset:2px;outline-style:solid;outline-width:2px;}/*!sc*/ .jUFun{cursor:pointer;display:inline-block;font-weight:600;border-radius:32px;font-size:16px;line-height:24px;padding:8px 24px;background-color:#FFF;color:#000C2A;transition:background 300ms ease-in-out,color 300ms ease-in-out;}/*!sc*/ .jUFun:hover{background-color:#1433D6;color:#FFF;}/*!sc*/ .jUFun:focus-visible{background-color:#1433D6;color:#FFF;outline-color:#1433D6;}/*!sc*/ .jUFun:focus-visible{outline-offset:2px;outline-style:solid;outline-width:2px;}/*!sc*/ .kNhxtA{cursor:pointer;display:inline-block;font-weight:600;border-radius:32px;font-size:16px;line-height:24px;padding:8px 24px;background-color:#1433D6;color:#FFF;transition:background 300ms ease-in-out;}/*!sc*/ .kNhxtA:hover{background:#000C79;}/*!sc*/ .kNhxtA:focus-visible{outline-color:#1433D6;}/*!sc*/ .kNhxtA:focus-visible{outline-offset:2px;outline-style:solid;outline-width:2px;}/*!sc*/ data-styled.g50[id="Buttonstyles-sc-hznqte-1"]{content:"hsLsNq,crNCzT,gmYUxJ,hPCZJz,jUFun,kNhxtA,"}/*!sc*/ .dBrtIt{display:grid;gap:24px;grid-template-columns:repeat(1,minmax(0,1fr));}/*!sc*/ @media (min-width: 768px){.dBrtIt{gap:32px;}}/*!sc*/ .fdCJri{display:grid;gap:24px;grid-template-columns:repeat(6,minmax(0,1fr));}/*!sc*/ @media (min-width: 768px){.fdCJri{gap:32px;}}/*!sc*/ .cMcSha{display:grid;gap:8px;grid-template-columns:repeat(1,minmax(0,1fr));}/*!sc*/ @media (min-width: 768px){.cMcSha{gap:8px;}}/*!sc*/ .blGhge{display:grid;gap:16px;grid-template-columns:repeat(1,minmax(0,1fr));}/*!sc*/ @media (min-width: 768px){.blGhge{gap:16px;}}/*!sc*/ .gBRUmy{display:grid;gap:24px;grid-template-columns:repeat(2,minmax(0,1fr));}/*!sc*/ @media (min-width: 768px){.gBRUmy{gap:32px;}}/*!sc*/ data-styled.g55[id="Gridstyles-sc-isu2n3-0"]{content:"dBrtIt,fdCJri,cMcSha,blGhge,gBRUmy,"}/*!sc*/ .kvHGYa{height:100%;}/*!sc*/ data-styled.g56[id="CTATextCenterstyles__StyledCTATextCenterWrapper-sc-1bhx0m5-0"]{content:"kvHGYa,"}/*!sc*/ .kFtKEy{border-radius:16px;background-color:#1433D6;color:#FFF;height:100%;overflow:hidden;padding:24px 16px 0px;position:relative;text-align:center;}/*!sc*/ @media (min-width: 768px){.kFtKEy{padding:64px 24px 80px;}}/*!sc*/ .deOheg{border-radius:16px;background-color:#B5F6FF;color:#000C2A;height:100%;overflow:hidden;padding:24px 16px 0px;position:relative;text-align:center;}/*!sc*/ @media (min-width: 768px){.deOheg{padding:64px 24px 80px;}}/*!sc*/ data-styled.g57[id="CTATextCenterstyles__StyledCTATextCenter-sc-1bhx0m5-1"]{content:"kFtKEy,deOheg,"}/*!sc*/ .kyDnDR{margin:0px -16px;}/*!sc*/ @media (min-width: 768px){.kyDnDR{inset:0;margin:0;position:absolute;}}/*!sc*/ .kyDnDR img{height:auto;width:100%;}/*!sc*/ @media (min-width: 768px){.kyDnDR img{height:100%;object-fit:cover;position:absolute;}}/*!sc*/ data-styled.g58[id="CTATextCenterstyles__StyledCTATextCenterImage-sc-1bhx0m5-2"]{content:"kyDnDR,"}/*!sc*/ .idAioI{display:flex;flex-direction:column;gap:8px;}/*!sc*/ data-styled.g59[id="CTATextCenterstyles__StyledCTATextCenterContent-sc-1bhx0m5-3"]{content:"idAioI,"}/*!sc*/ .bVMeVd{display:flex;flex-direction:column;gap:40px;margin:0 auto;max-width:416px;position:relative;z-index:1;}/*!sc*/ data-styled.g60[id="CTATextCenterstyles__StyledCTATextCenterContainer-sc-1bhx0m5-4"]{content:"bVMeVd,"}/*!sc*/ .nQErm{isolation:isolate;position:relative;}/*!sc*/ data-styled.g66[id="Sectionstyles__StyledSection-sc-4l5hhw-0"]{content:"nQErm,"}/*!sc*/ .hAqGAc{--k-padding:80px;background-color:#F9FAFE;padding:var(--k-padding) 0;}/*!sc*/ @media (min-width: 768px){.hAqGAc{--k-padding:128px;}}/*!sc*/ data-styled.g67[id="Sectionstyles__StyledSectionInner-sc-4l5hhw-1"]{content:"hAqGAc,"}/*!sc*/ .gSYjjt{align-items:center;background-color:#E3E8F4;border-radius:6px;color:#4D5B7C;display:inline-flex;font-size:14px;font-weight:500;gap:4px;line-height:20px;padding:4px 8px;transition:background-color 300ms ease-in-out,color 300ms ease-in-out;cursor:pointer;}/*!sc*/ .gSYjjt svg{flex-shrink:0;}/*!sc*/ .gSYjjt:focus-visible{outline-offset:2px;outline-style:solid;outline-width:2px;}/*!sc*/ .gSYjjt:hover{background-color:#0069FF;color:#FFF;}/*!sc*/ .gSYjjt:focus-visible{background-color:#0069FF;color:#FFF;outline-color:#0069FF;}/*!sc*/ data-styled.g68[id="Tagstyles-sc-ohbvtg-0"]{content:"gSYjjt,"}/*!sc*/ .kQRSde{background-color:#FFF;position:relative;}/*!sc*/ .kQRSde::after{background-color:#E3E8F4;bottom:0;content:'';height:1px;left:0;pointer-events:none;position:absolute;width:100%;}/*!sc*/ data-styled.g69[id="Headerstyles__StyledHeader-sc-9ucsot-0"]{content:"kQRSde,"}/*!sc*/ .khIPJI{align-items:center;display:flex;gap:16px;margin:0 auto;max-width:1360px;padding:16px 24px;}/*!sc*/ @media (min-width: 768px){.khIPJI{gap:24px;}}/*!sc*/ data-styled.g70[id="Headerstyles__StyledHeaderContainer-sc-9ucsot-1"]{content:"khIPJI,"}/*!sc*/ .kjXNsT{line-height:0;margin-right:auto;}/*!sc*/ data-styled.g71[id="Headerstyles__StyledHeaderLogo-sc-9ucsot-2"]{content:"kjXNsT,"}/*!sc*/ .jLXUXx{color:#4D5B7C;height:32px;padding:0;width:32px;}/*!sc*/ @media (min-width: 1024px){.jLXUXx{display:none;}}/*!sc*/ data-styled.g72[id="Headerstyles__StyledHeaderToggle-sc-9ucsot-3"]{content:"jLXUXx,"}/*!sc*/ .ggJDyn{display:none;}/*!sc*/ @media (min-width: 768px){.ggJDyn{display:block;margin-left:auto;}}/*!sc*/ data-styled.g74[id="Headerstyles__StyledHeaderContent-sc-9ucsot-5"]{content:"ggJDyn,"}/*!sc*/ .eIcvZY{background-color:#D6DCEA;border-radius:999px;display:none;height:24px;width:1.5px;}/*!sc*/ .Headerstyles__StyledHeaderUtilities-sc-9ucsot-6~.eIcvZY{display:block;}/*!sc*/ @media (min-width: 1024px){.Headerstyles__StyledHeaderUtilities-sc-9ucsot-6~.eIcvZY{display:none;}}/*!sc*/ @media (min-width: 768px){.eIcvZY{display:block;}}/*!sc*/ @media (min-width: 1024px){.eIcvZY{display:none;}}/*!sc*/ data-styled.g76[id="Headerstyles__StyledDivider-sc-9ucsot-7"]{content:"eIcvZY,"}/*!sc*/ .iiefHi{display:flex;flex-direction:column;gap:16px;}/*!sc*/ data-styled.g77[id="Cardsstyles__StyledCardsContainer-sc-ebft8b-0"]{content:"iiefHi,"}/*!sc*/ .kcLBmQ{display:flex;flex-direction:column;gap:16px;list-style-type:none;margin:0;padding:0;}/*!sc*/ data-styled.g78[id="Cardsstyles__StyledCards-sc-ebft8b-1"]{content:"kcLBmQ,"}/*!sc*/ .kRVMJy{border-radius:16px;box-shadow:inset 0px 0px 0px 1px rgba(17, 25, 46, 0.1);display:flex;flex-direction:column;gap:8px;padding:16px;background-color:#B5F6FF;}/*!sc*/ .kRVMJy a{align-items:center;display:inline-flex;gap:8px;}/*!sc*/ .kRVMJy a:hover{color:#000C2A;}/*!sc*/ .kEwFMa{border-radius:16px;box-shadow:inset 0px 0px 0px 1px rgba(17, 25, 46, 0.1);display:flex;flex-direction:column;gap:8px;padding:16px;background-color:#F9FAFE;}/*!sc*/ .kEwFMa a{align-items:center;display:inline-flex;gap:8px;}/*!sc*/ .kEwFMa a:hover{color:#000C2A;}/*!sc*/ .jNGEtR{border-radius:16px;box-shadow:inset 0px 0px 0px 1px rgba(17, 25, 46, 0.1);display:flex;flex-direction:column;gap:8px;padding:16px;background-color:#FFEFB5;}/*!sc*/ .jNGEtR a{align-items:center;display:inline-flex;gap:8px;}/*!sc*/ .jNGEtR a:hover{color:#000C2A;}/*!sc*/ data-styled.g79[id="Cardsstyles__StyledCard-sc-ebft8b-2"]{content:"kRVMJy,kEwFMa,jNGEtR,"}/*!sc*/ .cJmNMu{background-color:#F9FAFE;display:flex;flex-direction:column;flex-shrink:0;gap:16px;padding:24px 8px;width:100%;}/*!sc*/ @media (min-width: 768px){.cJmNMu{border:1px solid rgba(17, 25, 46, 0.1);border-radius:24px;padding:40px;}}/*!sc*/ @media (min-width: 1024px){.cJmNMu{margin-right:24px;max-width:384px;}}/*!sc*/ .cJmNMu >p{padding-left:16px;}/*!sc*/ .cJmNMu a{border-radius:16px;display:block;padding:4px 16px;}/*!sc*/ @media (min-width: 768px){.cJmNMu a{padding:16px;}}/*!sc*/ .cJmNMu a:hover{background-color:#EFF2FB;}/*!sc*/ .cJmNMu >ul{list-style-type:none;margin:0;padding:0;}/*!sc*/ @media (min-width: 768px){.cJmNMu >ul{display:grid;gap:0 32px;grid-template-columns:repeat(2,minmax(0,1fr));}}/*!sc*/ @media (min-width: 1024px){.cJmNMu >ul{display:block;}}/*!sc*/ data-styled.g80[id="Featurestyles__StyledFeature-sc-1xznbxx-0"]{content:"cJmNMu,"}/*!sc*/ .gKuGph{align-items:center;display:inline-flex;gap:8px;}/*!sc*/ @media (min-width: 768px){.gKuGph{font-size:18px;line-height:26px;}}/*!sc*/ .gKuGph svg{flex-shrink:0;height:16px;width:16px;}/*!sc*/ data-styled.g81[id="Featurestyles__StyledFeatureTitle-sc-1xznbxx-1"]{content:"gKuGph,"}/*!sc*/ .cIrmJV{display:none;}/*!sc*/ @media (min-width: 768px){.cIrmJV{display:block;}}/*!sc*/ data-styled.g82[id="Featurestyles__StyledFeatureDescription-sc-1xznbxx-2"]{content:"cIrmJV,"}/*!sc*/ .lhzoCV{display:flex;flex-direction:column;gap:16px;}/*!sc*/ data-styled.g83[id="Liststyles__StyledListContainer-sc-1elshwh-0"]{content:"lhzoCV,"}/*!sc*/ .gvoncB{display:flex;flex-direction:column;gap:8px;list-style-type:none;margin:0;padding:0;}/*!sc*/ .gvoncB a{align-items:center;display:inline-flex;gap:8px;}/*!sc*/ .gvoncB a:hover{color:#000C2A;}/*!sc*/ data-styled.g84[id="Liststyles__StyledList-sc-1elshwh-1"]{content:"gvoncB,"}/*!sc*/ .fhYyBy{display:flex;flex-direction:column;gap:16px;}/*!sc*/ data-styled.g85[id="Tagsstyles__StyledTagsContainer-sc-1bfvx6z-0"]{content:"fhYyBy,"}/*!sc*/ .imkYwE{display:flex;flex-direction:column;gap:32px;list-style-type:none;margin:0;padding:0;}/*!sc*/ data-styled.g86[id="Tagsstyles__StyledTagsList-sc-1bfvx6z-1"]{content:"imkYwE,"}/*!sc*/ .bEsgRk{display:flex;flex-direction:column;gap:16px;list-style-type:none;margin:0;padding:0;}/*!sc*/ data-styled.g87[id="Tagsstyles__StyledTagsListItem-sc-1bfvx6z-2"]{content:"bEsgRk,"}/*!sc*/ .ilzDgo{display:flex;flex-direction:column;gap:8px;}/*!sc*/ data-styled.g89[id="Tagsstyles__StyledTagsListItemContent-sc-1bfvx6z-4"]{content:"ilzDgo,"}/*!sc*/ .kZNQIH{display:flex;flex-wrap:wrap;gap:8px;list-style-type:none;margin:0;padding:0;}/*!sc*/ data-styled.g90[id="Tagsstyles__StyledTags-sc-1bfvx6z-5"]{content:"kZNQIH,"}/*!sc*/ .cpPLSu{background-color:#FFF;display:flex;flex-direction:column;gap:24px;margin:0 auto;max-width:1360px;padding:0;padding-bottom:24px;width:100%;}/*!sc*/ @media (min-width: 768px){.cpPLSu{flex-flow:row wrap;gap:40px;padding:32px 24px 56px;}}/*!sc*/ @media (min-width: 1024px){.cpPLSu{background-color:transparent;flex-flow:row;padding:24px;}}/*!sc*/ data-styled.g91[id="Dropdownstyles__StyledDropdownContainer-sc-16wobc6-0"]{content:"cpPLSu,"}/*!sc*/ .hJbnLp{display:none;left:0;max-height:calc(100dvh - 64px);overflow:auto;position:absolute;top:0;width:100%;z-index:100;}/*!sc*/ @media (min-width: 1024px){.hJbnLp{clip-path:polygon(0 0,100% 0,100% 0%,0 0%);display:block;height:auto;opacity:0;top:100%;transition:opacity 300ms ease-in-out 300ms;}}/*!sc*/ data-styled.g92[id="Dropdownstyles__StyledDropdown-sc-16wobc6-1"]{content:"hJbnLp,"}/*!sc*/ .ghVuUg{display:flex;flex-basis:0;flex-direction:column;flex-grow:1;gap:32px;list-style-type:none;margin:0;padding:0;}/*!sc*/ @media (min-width: 1024px){.ghVuUg{flex-basis:0;}}/*!sc*/ data-styled.g93[id="Dropdownstyles__StyledDropdownColumn-sc-16wobc6-2"]{content:"ghVuUg,"}/*!sc*/ .gmoCMg{display:flex;flex-direction:column;flex-grow:1;gap:32px;list-style-type:none;margin:0;padding:0 24px;}/*!sc*/ .gmoCMg:first-child{padding:24px;}/*!sc*/ @media (min-width: 768px){.gmoCMg:first-child{padding:0 56px;}.gmoCMg:first-child .Dropdownstyles__StyledDropdownColumn-sc-16wobc6-2{flex-basis:calc(50% - 32px);}}/*!sc*/ @media (min-width: 1024px){.gmoCMg:first-child{padding:16px 0;}}/*!sc*/ @media (min-width: 768px){.gmoCMg{flex-flow:row wrap;padding:0 40px;}}/*!sc*/ @media (min-width: 1024px){.gmoCMg{flex-wrap:nowrap;padding:40px 0;}}/*!sc*/ data-styled.g94[id="Dropdownstyles__StyledDropdownColumns-sc-16wobc6-3"]{content:"gmoCMg,"}/*!sc*/ .iaVpsa{border-top:1px solid #E3E8F4;display:flex;flex-direction:column;text-align:center;}/*!sc*/ @media (min-width: 768px){.iaVpsa{flex-direction:row;}}/*!sc*/ data-styled.g95[id="Dropdownstyles__StyledDropdownCTAs-sc-16wobc6-4"]{content:"iaVpsa,"}/*!sc*/ .bia-dMd{flex-basis:0;flex-grow:1;font-weight:600;justify-content:center;padding:12px;background:#FFF;color:#0069FF;}/*!sc*/ .bia-dMd >span{position:relative;}/*!sc*/ .bia-dMd >span::after{background:currentColor;bottom:2px;content:'';height:1.5px;left:0;position:absolute;transform:scaleX(0);transform-origin:0 0;transition:transform 300ms ease-in-out;width:calc(100% + 8px + 18px);}/*!sc*/ .bia-dMd:hover >span::after{transform:scaleX(1);}/*!sc*/ .bia-dMd::after{display:none;}/*!sc*/ data-styled.g96[id="Dropdownstyles__StyledDropdownCTA-sc-16wobc6-5"]{content:"bia-dMd,"}/*!sc*/ .iNeWsG{flex-grow:1;}/*!sc*/ @media screen and (max-width:calc(1024px - 1px)){.iNeWsG{background-color:#FFF;display:none;left:0;padding:24px 24px 40px;position:absolute;top:100%;width:100%;}}/*!sc*/ data-styled.g97[id="Navigationstyles__StyledNavigation-sc-16d688r-0"]{content:"iNeWsG,"}/*!sc*/ .eurNaw{display:flex;flex-direction:column;gap:40px;}/*!sc*/ @media (min-width: 1024px){.eurNaw{align-items:center;flex-direction:row;gap:0;}}/*!sc*/ data-styled.g98[id="Navigationstyles__StyledNavigationContainer-sc-16d688r-1"]{content:"eurNaw,"}/*!sc*/ .lgNUwG{display:flex;flex-direction:column;list-style-type:none;margin:0;padding:0;}/*!sc*/ @media (min-width: 1024px){.lgNUwG{align-items:center;flex-direction:row;flex-grow:1;}}/*!sc*/ data-styled.g99[id="Navigationstyles__StyledNavigationList-sc-16d688r-2"]{content:"lgNUwG,"}/*!sc*/ .jIrYZj{border-bottom:1px solid #A9B3CA;}/*!sc*/ @media (min-width: 1024px){.jIrYZj{border-bottom:0;}.jIrYZj::after{background-color:rgba(0, 0, 0, 0.1);content:'';height:calc(100dvh - 64px);left:0;opacity:0;pointer-events:none;position:absolute;top:100%;transition:opacity 300ms ease-in-out;width:100%;}.jIrYZj >a,.jIrYZj >button{transition:background-color 300ms ease-in-out,color 300ms ease-in-out;}.jIrYZj svg{flex-shrink:0;}@media (scripting:none){.jIrYZj .Dropdownstyles__StyledDropdownContainer-sc-16wobc6-0{background-color:#FFF;}.jIrYZj:hover .Dropdownstyles__StyledDropdown-sc-16wobc6-1,.jIrYZj:focus-within .Dropdownstyles__StyledDropdown-sc-16wobc6-1{clip-path:polygon(0 0,100% 0,100% 100%,0 100%);opacity:1;}.jIrYZj:hover >a,.jIrYZj:focus-within >a,.jIrYZj:hover >button,.jIrYZj:focus-within >button{background-color:#EFF2FB;color:#000C2A;}.jIrYZj:hover >a svg,.jIrYZj:focus-within >a svg,.jIrYZj:hover >button svg,.jIrYZj:focus-within >button svg{transform:rotate(180deg);}}}/*!sc*/ @media (min-width: 1024px){.jIrYZj:first-child{margin-left:auto;}}/*!sc*/ @media (min-width: 1024px){.jIrYZj:last-child{margin-right:auto;}}/*!sc*/ .jIrYZj >a,.jIrYZj >button{align-items:center;border-radius:999px;color:#000C2A;display:flex;gap:2px;justify-content:space-between;padding:8px 0 12px;position:relative;width:100%;}/*!sc*/ @media (min-width: 1024px){.jIrYZj >a,.jIrYZj >button{color:#4D5B7C;justify-content:flex-start;padding:8px 16px;width:auto;}}/*!sc*/ .jIrYZj >a::before,.jIrYZj >button::before{content:'';height:calc(100% + 16px);left:0;position:absolute;top:0;width:100%;}/*!sc*/ .jIrYZj >a svg,.jIrYZj >button svg{transform:rotate(-90deg);transition:transform 300ms ease-in-out;}/*!sc*/ @media (min-width: 1024px){.jIrYZj >a svg,.jIrYZj >button svg{transform:rotate(0);}}/*!sc*/ .kghgPX{border-bottom:1px solid #A9B3CA;}/*!sc*/ @media (min-width: 1024px){.kghgPX{border-bottom:0;}.kghgPX >a,.kghgPX >button{transition:background-color 300ms ease-in-out,color 300ms ease-in-out;}.kghgPX svg{flex-shrink:0;}@media (scripting:none){.kghgPX .Dropdownstyles__StyledDropdownContainer-sc-16wobc6-0{background-color:#FFF;}.kghgPX:hover .Dropdownstyles__StyledDropdown-sc-16wobc6-1,.kghgPX:focus-within .Dropdownstyles__StyledDropdown-sc-16wobc6-1{clip-path:polygon(0 0,100% 0,100% 100%,0 100%);opacity:1;}.kghgPX:hover >a,.kghgPX:focus-within >a,.kghgPX:hover >button,.kghgPX:focus-within >button{background-color:#EFF2FB;color:#000C2A;}.kghgPX:hover >a svg,.kghgPX:focus-within >a svg,.kghgPX:hover >button svg,.kghgPX:focus-within >button svg{transform:rotate(180deg);}}}/*!sc*/ @media (min-width: 1024px){.kghgPX:first-child{margin-left:auto;}}/*!sc*/ @media (min-width: 1024px){.kghgPX:last-child{margin-right:auto;}}/*!sc*/ .kghgPX >a,.kghgPX >button{align-items:center;border-radius:999px;color:#000C2A;display:flex;gap:2px;justify-content:space-between;padding:8px 0 12px;position:relative;width:100%;}/*!sc*/ @media (min-width: 1024px){.kghgPX >a,.kghgPX >button{color:#4D5B7C;justify-content:flex-start;padding:8px 16px;width:auto;}}/*!sc*/ .kghgPX >a::before,.kghgPX >button::before{content:'';height:calc(100% + 16px);left:0;position:absolute;top:0;width:100%;}/*!sc*/ .kghgPX >a svg,.kghgPX >button svg{transform:rotate(-90deg);transition:transform 300ms ease-in-out;}/*!sc*/ @media (min-width: 1024px){.kghgPX >a svg,.kghgPX >button svg{transform:rotate(0);}}/*!sc*/ data-styled.g100[id="Navigationstyles__StyledNavigationItem-sc-16d688r-3"]{content:"jIrYZj,kghgPX,"}/*!sc*/ @media (min-width: 1024px){.jFjgeh{display:none;}}/*!sc*/ .jFjgeh >ul{display:grid;gap:16px;grid-template-columns:repeat(1,minmax(0,1fr));list-style-type:none;margin:0;padding:0;}/*!sc*/ @media (min-width: 768px){.jFjgeh >ul{grid-template-columns:repeat(2,minmax(0,1fr));}}/*!sc*/ .jFjgeh a,.jFjgeh button{text-align:center;width:100%;}/*!sc*/ data-styled.g101[id="Navigationstyles__StyledNavigationLinks-sc-16d688r-4"]{content:"jFjgeh,"}/*!sc*/ @media (min-width: 768px){.eYHulT{display:none;}}/*!sc*/ data-styled.g102[id="Navigationstyles__StyledNavigationContent-sc-16d688r-5"]{content:"eYHulT,"}/*!sc*/ .ijxMOa{display:none;}/*!sc*/ @media (min-width: 1024px){.ijxMOa{background-color:#FFF;display:block;height:0;left:0;position:absolute;top:100%;transition:height 300ms ease-in-out;width:100%;}@media (prefers-reduced-motion){.ijxMOa{transition:none;}}}/*!sc*/ data-styled.g103[id="Navigationstyles__StyledNavigationBackground-sc-16d688r-6"]{content:"ijxMOa,"}/*!sc*/ .bSFiWy{background-color:#FFF;position:relative;}/*!sc*/ .bSFiWy::after{background-color:#E3E8F4;bottom:0;content:'';height:1px;left:0;position:absolute;width:100%;}/*!sc*/ data-styled.g104[id="SubNavigationstyles__StyledSubNavigation-sc-k2wuim-0"]{content:"bSFiWy,"}/*!sc*/ .bSYhcw{align-items:center;display:flex;gap:8px;list-style-type:none;margin:0 auto;max-width:1360px;overflow:scroll;overflow-y:hidden;padding:12px 24px;scrollbar-width:none;}/*!sc*/ .bSYhcw::-webkit-scrollbar{display:none;}/*!sc*/ .bSYhcw >li:first-child{margin-left:auto;}/*!sc*/ data-styled.g105[id="SubNavigationstyles__StyledSubNavigationContainer-sc-k2wuim-1"]{content:"bSYhcw,"}/*!sc*/ .kA-diUc{color:#4D5B7C;}/*!sc*/ .kA-diUc a{align-items:center;border-radius:64px;display:flex;gap:8px;padding:8px 16px;transition:background-color 300ms ease-in-out,color 300ms ease-in-out;white-space:nowrap;width:max-content;}/*!sc*/ .kA-diUc a:hover{background-color:#1433D6;color:#FFF;}/*!sc*/ .kA-diUc a >svg{flex-shrink:0;}/*!sc*/ data-styled.g106[id="SubNavigationstyles__StyledSubNavigationLink-sc-k2wuim-2"]{content:"kA-diUc,"}/*!sc*/ .bQTwvh{grid-column:span 1;}/*!sc*/ .kqcUUB{grid-column:span 6;}/*!sc*/ @media (min-width: 768px){.kqcUUB{grid-column:span 3;}}/*!sc*/ @media (min-width: 1024px){.kqcUUB{grid-column:span 2;}}/*!sc*/ .cheoSo{grid-column:span 2;}/*!sc*/ @media (min-width: 768px){.cheoSo{grid-column:span 1;}}/*!sc*/ data-styled.g114[id="GridItemstyles-sc-eu71zi-0"]{content:"bQTwvh,kqcUUB,cheoSo,"}/*!sc*/ .iepvyF{background:linear-gradient( #0069FF,#0069FF ) bottom repeat-x;background-size:1px 1px;color:#0069FF;position:relative;text-decoration:none;transition:background 300ms ease-in-out,color 300ms ease-in-out;}/*!sc*/ .iepvyF:hover,.iepvyF:focus{background-size:100% 100%;color:#FFF;}/*!sc*/ data-styled.g115[id="LinkInlinestyles-sc-18du0ds-0"]{content:"iepvyF,"}/*!sc*/ .jAevVa{background-color:#1433D6;display:none;padding:8px 0;visibility:hidden;}/*!sc*/ @media (min-width: 768px){.jAevVa{display:block;visibility:visible;}}/*!sc*/ data-styled.g135[id="TopBarstyles__StyledTopBar-sc-17n1n7p-0"]{content:"jAevVa,"}/*!sc*/ .hXYJJd{align-items:center;display:flex;gap:0 16px;line-height:0;margin:0 auto;max-width:1360px;padding:0 24px;}/*!sc*/ @media (min-width: 768px){.hXYJJd{justify-content:center;}}/*!sc*/ data-styled.g136[id="TopBarstyles__StyledTopBarContainer-sc-17n1n7p-1"]{content:"hXYJJd,"}/*!sc*/ .gNfbaK{display:flex;flex:1 1 auto;flex-direction:column;min-height:1.375em;overflow:hidden;position:relative;}/*!sc*/ data-styled.g137[id="TopBarstyles__StyledTopBarCTAs-sc-17n1n7p-2"]{content:"gNfbaK,"}/*!sc*/ .dQLKLT{display:none;list-style-type:none;margin:0;padding:0;}/*!sc*/ @media (min-width: 1024px){.dQLKLT{align-items:center;display:flex;flex:0 0 auto;gap:0 16px;}}/*!sc*/ .dQLKLT a{color:#EFF2FB;display:block;text-align:center;transition:color 300ms ease-in-out;}/*!sc*/ .dQLKLT a:hover{text-decoration:underline;text-underline-offset:2px;}/*!sc*/ data-styled.g138[id="TopBarstyles__StyledTopBarLinks-sc-17n1n7p-3"]{content:"dQLKLT,"}/*!sc*/ .eloHHI{margin:0 auto;width:100%;padding:0 24px;max-width:calc(1088px + 48px);}/*!sc*/ data-styled.g156[id="Containerstyles-sc-11hjsrs-0"]{content:"eloHHI,"}/*!sc*/ .kfTVTG{color:#4D5B7C;font-size:16px;position:relative;z-index:0;}/*!sc*/ .kfTVTG h1,.kfTVTG h2,.kfTVTG h3,.kfTVTG h4,.kfTVTG h5,.kfTVTG h6,.kfTVTG p{margin:1em 0;}/*!sc*/ .kfTVTG h1:first-child,.kfTVTG h2:first-child,.kfTVTG h3:first-child,.kfTVTG h4:first-child,.kfTVTG h5:first-child,.kfTVTG h6:first-child,.kfTVTG p:first-child{margin-top:0;}/*!sc*/ .kfTVTG h1:last-child,.kfTVTG h2:last-child,.kfTVTG h3:last-child,.kfTVTG h4:last-child,.kfTVTG h5:last-child,.kfTVTG h6:last-child,.kfTVTG p:last-child{margin-bottom:0;}/*!sc*/ .kfTVTG h1 a,.kfTVTG h2 a,.kfTVTG h3 a,.kfTVTG h4 a,.kfTVTG h5 a,.kfTVTG h6 a{background-size:0 0;color:inherit;text-decoration:none;}/*!sc*/ .kfTVTG h1 a:hover,.kfTVTG h1 a:focus,.kfTVTG h2 a:hover,.kfTVTG h2 a:focus,.kfTVTG h3 a:hover,.kfTVTG h3 a:focus,.kfTVTG h4 a:hover,.kfTVTG h4 a:focus,.kfTVTG h5 a:hover,.kfTVTG h5 a:focus,.kfTVTG h6 a:hover,.kfTVTG h6 a:focus{color:#000C2A;background-size:0 0;}/*!sc*/ .kfTVTG p{line-height:1.5;}/*!sc*/ @media only screen and (max-width: 375px){.kfTVTG p code{word-break:break-all;}}/*!sc*/ .kfTVTG ol,.kfTVTG ul{list-style-type:disc;margin-bottom:1.7em;padding-left:2.5em;}/*!sc*/ @media only screen and (max-width: 768px){.kfTVTG ol,.kfTVTG ul{list-style-position:inside;padding-left:0;}}/*!sc*/ .kfTVTG ol{list-style-type:decimal;}/*!sc*/ .kfTVTG a{background:linear-gradient(#0069FF, #0069FF) center bottom/100% 1px no-repeat;border-bottom:none;color:#0069FF;text-decoration:none;transition:background 300ms ease-in-out,color 300ms ease-in-out;}/*!sc*/ .kfTVTG a:hover,.kfTVTG a:focus{background:linear-gradient(#1433D6, #1433D6) center bottom/100% 100% no-repeat;color:#FFFFFF;}/*!sc*/ .kfTVTG a:hover code,.kfTVTG a:focus code{background:linear-gradient(#0069FF, #0069FF) center calc(100% - 0.2em + 0.5px)/100% 1px no-repeat,linear-gradient(#E3E8F4, #E3E8F4) center top/100% 0% no-repeat;color:#FFFFFF;}/*!sc*/ .kfTVTG a code{background:linear-gradient(#0069FF, #0069FF) center calc(100% - 0.2em + 0.5px)/100% 1px no-repeat,linear-gradient(#E3E8F4, #E3E8F4) center top/100% 100% no-repeat;transition:background 300ms ease-in-out,color 300ms ease-in-out;}/*!sc*/ .kfTVTG blockquote{border-left:4px solid #D6DCEA;color:#8A96B5;display:block;font-size:18px;margin:0 0 1.25em 1.25em;padding:0 0 0 1.5em;}/*!sc*/ .kfTVTG blockquote a{border-bottom:1px dotted #8A96B5;color:#8A96B5;}/*!sc*/ .kfTVTG blockquote a:hover,.kfTVTG blockquote a:focus{border-bottom-style:solid;}/*!sc*/ .kfTVTG img,.kfTVTG figure{border:solid 2px #E3E8F4;border-radius:16px;display:block;margin:1rem auto;max-width:100%;}/*!sc*/ .kfTVTG img[align=left]{float:unset;margin-left:0;}/*!sc*/ .kfTVTG img[align=right]{float:unset;margin-right:0;}/*!sc*/ .kfTVTG figure{overflow:hidden;padding:1rem;}/*!sc*/ .kfTVTG figure:has(img[align=left]){margin-left:0;width:fit-content;}/*!sc*/ .kfTVTG figure:has(img[align=right]){margin-right:0;width:fit-content;}/*!sc*/ .kfTVTG figure img{border:none;border-radius:0;margin:0 auto;}/*!sc*/ .kfTVTG figure figcaption{border-top:solid 1px #E3E8F4;background:#EFF2FB;font-size:0.9em;text-align:center;padding:1rem;margin:1rem -1rem -1rem;}/*!sc*/ .kfTVTG pre,.kfTVTG code{background-color:#E3E8F4;border-radius:0.5em;color:#24335A;font-size:0.875em;padding:0.2em;}/*!sc*/ .kfTVTG pre{background:#11192E;color:#F7F8FB;border-radius:1em;box-shadow:inset 0 0 0 0.125em rgba(17, 25, 46, 0.1);display:block;margin:1em 0;overflow:auto;overflow-wrap:normal;padding:1.5em;white-space:normal;word-wrap:normal;}/*!sc*/ .kfTVTG pre code{color:#F7F8FB;}/*!sc*/ .kfTVTG pre.prefixed code ol li::before{color:#F7F8FB;}/*!sc*/ .kfTVTG pre.prefixed.line_numbers code ol li::before{border-right-color:rgba(247, 248, 251, 0.5);}/*!sc*/ .kfTVTG pre code{background:none;border-radius:0;color:inherit;font-size:1em;padding:0;white-space:pre;}/*!sc*/ .kfTVTG table{border-collapse:collapse;width:100%;}/*!sc*/ .kfTVTG table thead tr{border-bottom:1px dashed #D6DCEA;}/*!sc*/ .kfTVTG table thead tr th{color:#081B4B;font-weight:600;padding:16px 8px;}/*!sc*/ .kfTVTG table tbody tr{border-bottom:1px solid #D6DCEA;}/*!sc*/ .kfTVTG table tbody tr td{color:#24335A;padding:24px 8px;}/*!sc*/ .kfTVTG table th:first-child,.kfTVTG table td:first-child{padding-left:0;}/*!sc*/ .kfTVTG table th:last-child,.kfTVTG table td:last-child{padding-right:0;}/*!sc*/ .kfTVTG .youtube{display:block;height:auto;margin:1em auto;max-width:100%;}/*!sc*/ .kfTVTG .wistia{display:block;height:auto;margin:1em auto;max-width:100%;}/*!sc*/ .kfTVTG .vimeo{display:block;height:auto;margin:1em auto;max-width:100%;}/*!sc*/ .kfTVTG .rsvp{background:transparent;border:1px solid #0069FF;border-radius:3px;box-sizing:border-box;color:#0069FF;cursor:pointer;font-size:16px;font-weight:700;line-height:1;padding:8px 24px;transition:background 0.25s ease;}/*!sc*/ .kfTVTG .rsvp:disabled{border-color:#A9B3CA;color:#A9B3CA;cursor:not-allowed;}/*!sc*/ .kfTVTG .rsvp:not(:disabled):hover,.kfTVTG .rsvp:not(:disabled):focus{background:#C6E3FF;}/*!sc*/ .kfTVTG .terminal{background:transparent;border:1px solid #0069FF;border-radius:3px;box-sizing:border-box;color:#0069FF;cursor:pointer;font-size:16px;font-weight:700;line-height:1;padding:8px 24px;transition:background 0.25s ease;}/*!sc*/ .kfTVTG .terminal:disabled{border-color:#A9B3CA;color:#A9B3CA;cursor:not-allowed;}/*!sc*/ .kfTVTG .terminal:not(:disabled):hover,.kfTVTG .terminal:not(:disabled):focus{background:#C6E3FF;}/*!sc*/ .kfTVTG .columns{display:flex;flex-flow:row nowrap;margin:-1em;}/*!sc*/ @media only screen and (max-width: 768px){.kfTVTG .columns{flex-flow:row wrap;}}/*!sc*/ @media only screen and (max-width: 375px){.kfTVTG .columns{flex-flow:column;}}/*!sc*/ .kfTVTG .columns .column{flex-basis:100%;flex-grow:1;padding:1em;}/*!sc*/ @media only screen and (max-width: 768px){.kfTVTG .columns .column{flex-basis:auto;}}/*!sc*/ .kfTVTG details{background:#F9FAFE;border-radius:16px;padding:1em;margin:1em 0;}/*!sc*/ .kfTVTG details[open] summary{border-bottom:1px solid #E3E8F4;padding:0 1em 1em 0;margin:0 0 1em;}/*!sc*/ .kfTVTG details[open] summary::after{top:calc(50% - 3px);transform:translateY(-50%) rotate(225deg);}/*!sc*/ .kfTVTG details summary{cursor:pointer;list-style:none;padding:0 1em 0 0;position:relative;}/*!sc*/ .kfTVTG details summary::-webkit-details-marker,.kfTVTG details summary::marker{display:none;}/*!sc*/ .kfTVTG details summary::after{content:"";display:block;position:absolute;top:50%;right:4px;width:7px;height:7px;border:solid #8A96B5;border-width:0 2px 2px 0;transform:translateY(-50%) rotate(45deg);}/*!sc*/ .kfTVTG .twitter .twitter-tweet-rendered{margin:1rem auto;}/*!sc*/ .kfTVTG .twitter[align=left]{float:unset;}/*!sc*/ .kfTVTG .twitter[align=left] .twitter-tweet-rendered{margin-left:0;}/*!sc*/ .kfTVTG .twitter[align=right]{float:unset;}/*!sc*/ .kfTVTG .twitter[align=right] .twitter-tweet-rendered{margin-right:0;}/*!sc*/ .kfTVTG .instagram .instagram-media{margin:1rem auto!important;}/*!sc*/ .kfTVTG .instagram[align=left] .instagram-media{margin-left:0!important;}/*!sc*/ .kfTVTG .instagram[align=right] .instagram-media{margin-right:0!important;}/*!sc*/ .kfTVTG .slideshow{margin:0 auto;position:relative;overflow:hidden;}/*!sc*/ .kfTVTG .slideshow .action{background-color:hsla(0, 10%, 70%, 0.2);border:1px solid #666666;border-radius:50%;color:#666666;cursor:pointer;font-size:32px;height:30px;line-height:22px;position:absolute;text-align:center;top:50%;width:30px;z-index:10;}/*!sc*/ .kfTVTG .slideshow .action.left{left:10px;}/*!sc*/ .kfTVTG .slideshow .action.right{right:10px;}/*!sc*/ .kfTVTG .slideshow .action:hover{background-color:hsla(0, 10%, 70%, 0.1);border:1px solid #cccccc;color:#cccccc;}/*!sc*/ .kfTVTG .slideshow .slides{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;}/*!sc*/ .kfTVTG .slideshow .slides>img{align-items:center;display:flex;flex-shrink:0;font-size:100px;height:100%;justify-content:center;margin-right:50px;scroll-snap-align:start;position:relative;transform-origin:center center;transform:scale(1);transition:transform 0.5s;width:100%;}/*!sc*/ .kfTVTG .hash-anchor{border-bottom:none;color:#8A96B5;text-decoration:none;}/*!sc*/ .kfTVTG .hash-anchor:first-child{margin-right:0.5em;}/*!sc*/ .kfTVTG .hash-anchor:last-child{margin-left:0.5em;}/*!sc*/ .kfTVTG .hash-anchor:hover,.kfTVTG .hash-anchor:focus{color:#24335A;}/*!sc*/ .kfTVTG .hash-anchor::before{content:"#";}/*!sc*/ .kfTVTG mark{background:rgba(255, 192, 1, 0.3);border-radius:2px;color:inherit;display:inline;line-height:calc(1.4em + 1px);padding:2px 6px;}/*!sc*/ .kfTVTG mark mark{background:none;border-radius:initial;line-height:1.4em;padding:initial;}/*!sc*/ .kfTVTG pre code mark{background:#29334D;}/*!sc*/ .kfTVTG pre code mark mark{background:none;}/*!sc*/ .kfTVTG .callout{background-color:#C6E3FF;border-radius:16px;color:#1433D6;display:block;font-size:15px;line-height:1.5em;margin:0 0 1.5em;padding:1em 1.25em;position:relative;z-index:0;}/*!sc*/ .kfTVTG .callout>:first-child{margin-top:0;}/*!sc*/ .kfTVTG .callout>:last-child{margin-bottom:0;}/*!sc*/ .kfTVTG .callout .callout-label{background:rgba(0, 0, 0, 0.1);border-radius:16px 16px 0 0;font-size:15px;margin:-1em -1.25em 0;padding:0.75em 1.25em;text-align:center;}/*!sc*/ .kfTVTG .code-label:has(+ .code-toolbar),.kfTVTG .code-label:not([title=""]){background-color:#29334D;border-radius:1em 1em 0 0;color:#FFFFFF;display:flex;padding:0.75em 1.5em;justify-content:space-between;align-items:center;font-size:16px;position:relative;min-height:3.25em;z-index:2;}/*!sc*/ .kfTVTG .code-label:has(+ .code-toolbar)+pre,.kfTVTG .code-label:not([title=""])+pre{border-radius:0 0 1em 1em;margin:0 0 1em;}/*!sc*/ .kfTVTG .code-label:has(+ .code-toolbar)+.code-toolbar,.kfTVTG .code-label:not([title=""])+.code-toolbar{margin:0 0 1em;}/*!sc*/ .kfTVTG .code-label:has(+ .code-toolbar)+.code-toolbar pre,.kfTVTG .code-label:not([title=""])+.code-toolbar pre{border-radius:0 0 1em 1em;}/*!sc*/ .kfTVTG pre.prefixed code{white-space:normal;}/*!sc*/ .kfTVTG pre.prefixed code ol{list-style:none;margin:0;padding:0;}/*!sc*/ .kfTVTG pre.prefixed code ol li{margin:0;padding:0;white-space:pre;}/*!sc*/ .kfTVTG pre.prefixed code ol li::before{content:attr(data-prefix);display:inline-block;margin:0 10px 0 5px;text-align:right;user-select:none;}/*!sc*/ .kfTVTG pre.prefixed.line_numbers code ol li{margin:0 0 0 -5px;}/*!sc*/ .kfTVTG pre.prefixed.line_numbers code ol li::before{border-right:1px solid rgba(255, 255, 255, 0.5);padding-right:5px;text-align:right;width:2ch;}/*!sc*/ .kfTVTG pre.prefixed.line_numbers code ol li:first-child:nth-last-child(n+10)::before,.kfTVTG pre.prefixed.line_numbers code ol li:first-child:nth-last-child(n+10)~li::before{width:3ch;}/*!sc*/ .kfTVTG pre.prefixed.line_numbers code ol li:first-child:nth-last-child(n+100)::before,.kfTVTG pre.prefixed.line_numbers code ol li:first-child:nth-last-child(n+100)~li::before{width:4ch;}/*!sc*/ .kfTVTG pre.prefixed.line_numbers code ol li:first-child:nth-last-child(n+1000)::before,.kfTVTG pre.prefixed.line_numbers code ol li:first-child:nth-last-child(n+1000)~li::before{width:5ch;}/*!sc*/ .kfTVTG pre.prefixed.line_numbers code ol li:first-child:nth-last-child(n+10000)::before,.kfTVTG pre.prefixed.line_numbers code ol li:first-child:nth-last-child(n+10000)~li::before{width:6ch;}/*!sc*/ .kfTVTG pre[class*=language-]>code{background:transparent;}/*!sc*/ .kfTVTG pre[class*=language-]>code.language-css .token.string,.kfTVTG pre[class*=language-]>code.style .token.string{color:#F7F8FB;}/*!sc*/ .kfTVTG pre[class*=language-]>code .token.punctuation,.kfTVTG pre[class*=language-]>code .token.operator,.kfTVTG pre[class*=language-]>code .token.entity,.kfTVTG pre[class*=language-]>code .token.url{color:#F7F8FB;}/*!sc*/ .kfTVTG pre[class*=language-]>code .token.comment,.kfTVTG pre[class*=language-]>code .token.prolog,.kfTVTG pre[class*=language-]>code .token.doctype,.kfTVTG pre[class*=language-]>code .token.cdata{color:#F7F8FB;}/*!sc*/ .kfTVTG pre[class*=language-]>code .token.atrule,.kfTVTG pre[class*=language-]>code .token.property,.kfTVTG pre[class*=language-]>code .token.tag,.kfTVTG pre[class*=language-]>code .token.constant,.kfTVTG pre[class*=language-]>code .token.symbol,.kfTVTG pre[class*=language-]>code .token.deleted,.kfTVTG pre[class*=language-]>code .token.selector,.kfTVTG pre[class*=language-]>code .token.char,.kfTVTG pre[class*=language-]>code .token.builtin,.kfTVTG pre[class*=language-]>code .token.keyword,.kfTVTG pre[class*=language-]>code .token.inserted,.kfTVTG pre[class*=language-]>code .token.delimiter{color:#9FDDFF;}/*!sc*/ .kfTVTG pre[class*=language-]>code .token.boolean,.kfTVTG pre[class*=language-]>code .token.attr-name,.kfTVTG pre[class*=language-]>code .token.color,.kfTVTG pre[class*=language-]>code .token.string,.kfTVTG pre[class*=language-]>code .token.variable{color:#B1E490;}/*!sc*/ .kfTVTG pre[class*=language-]>code .token.attr-value,.kfTVTG pre[class*=language-]>code .token.function,.kfTVTG pre[class*=language-]>code .token.class-name{color:#FFAF8C;}/*!sc*/ .kfTVTG pre[class*=language-]>code .token.regex,.kfTVTG pre[class*=language-]>code .token.number,.kfTVTG pre[class*=language-]>code .token.important{color:#0BE1FF;}/*!sc*/ .kfTVTG pre[class*=language-]>code,.kfTVTG pre[class*=language-]>code .token{text-shadow:none;}/*!sc*/ .kfTVTG pre[class*=language-]>code.language-css .token.string,.kfTVTG pre[class*=language-]>code.style .token.string{background:none;}/*!sc*/ .kfTVTG pre[class*=language-]>code .token{background:none;border-radius:0;display:inline;font-weight:normal;margin:0;padding:0;}/*!sc*/ .kfTVTG pre[class*=language-]>code .token.namespace{opacity:0.7;}/*!sc*/ .kfTVTG pre[class*=language-]>code .token.operator,.kfTVTG pre[class*=language-]>code .token.entity,.kfTVTG pre[class*=language-]>code .token.url{background:none;}/*!sc*/ .kfTVTG pre[class*=language-]>code .token.important,.kfTVTG pre[class*=language-]>code .token.bold{font-weight:bold;}/*!sc*/ .kfTVTG pre[class*=language-]>code .token.italic{font-style:italic;}/*!sc*/ .kfTVTG .code-toolbar{margin:1em 0;position:relative;}/*!sc*/ .kfTVTG .code-toolbar>pre{margin:0;}/*!sc*/ .kfTVTG .code-toolbar>.toolbar{position:absolute;right:1.5em;top:-2.4em;z-index:3;}/*!sc*/ .kfTVTG .code-toolbar>.toolbar>.toolbar-item{display:inline-block;}/*!sc*/ .kfTVTG .code-toolbar>.toolbar>.toolbar-item>a{text-decoration:none;}/*!sc*/ .kfTVTG .code-toolbar>.toolbar>.toolbar-item>button{border:0;font:inherit;line-height:normal;overflow:visible;user-select:none;}/*!sc*/ .kfTVTG .code-toolbar>.toolbar>.toolbar-item>a,.kfTVTG .code-toolbar>.toolbar>.toolbar-item>button{background:#696FB0;border-radius:0.625em;color:#FFFFFF;cursor:pointer;line-height:1;padding:0.375em 0.5em;transition:color 0.25s,background 0.25s;}/*!sc*/ .kfTVTG .code-toolbar>.toolbar>.toolbar-item>a span,.kfTVTG .code-toolbar>.toolbar>.toolbar-item>button span{color:#FFFFFF;}/*!sc*/ .kfTVTG .code-toolbar>.toolbar>.toolbar-item>a:hover,.kfTVTG .code-toolbar>.toolbar>.toolbar-item>a:focus,.kfTVTG .code-toolbar>.toolbar>.toolbar-item>button:hover,.kfTVTG .code-toolbar>.toolbar>.toolbar-item>button:focus{background:#40499B;color:#FFFFFF;}/*!sc*/ .kfTVTG .code-toolbar>.toolbar>.toolbar-item>a:hover span,.kfTVTG .code-toolbar>.toolbar>.toolbar-item>a:focus span,.kfTVTG .code-toolbar>.toolbar>.toolbar-item>button:hover span,.kfTVTG .code-toolbar>.toolbar>.toolbar-item>button:focus span{color:#FFFFFF;}/*!sc*/ .kfTVTG .code-toolbar>.toolbar>.toolbar-item>a,.kfTVTG .code-toolbar>.toolbar>.toolbar-item>button,.kfTVTG .code-toolbar>.toolbar>.toolbar-item>span{font-size:0.9em;}/*!sc*/ .kfTVTG pre code .secondary-code-label{color:#9FDDFF;margin:0 0 4px;}/*!sc*/ .kfTVTG .table-wrapper{overflow-x:auto;width:100%;}/*!sc*/ .kfTVTG .image-compare{position:relative;}/*!sc*/ .kfTVTG .image-compare .image-left,.kfTVTG .image-compare .image-right{height:100%;object-fit:contain;position:absolute;width:100%;}/*!sc*/ .kfTVTG .image-compare .image-left{clip-path:polygon(0% 0%, var(--value) 0%, var(--value) 100%, 0% 100%);margin:0;}/*!sc*/ .kfTVTG .image-compare .image-right{clip-path:polygon(100% 0%, var(--value) 0%, var(--value) 100%, 100% 100%);margin:0;}/*!sc*/ .kfTVTG .image-compare .control-arrow{width:30px;height:30px;position:absolute;top:50%;left:calc(var(--value) - 13px);color:#ffffff;z-index:90;}/*!sc*/ .kfTVTG .image-compare .control{background-color:transparent;box-sizing:border-box;font-family:inherit;height:100%;outline:none;position:absolute;top:0;width:100%;z-index:100;}/*!sc*/ .kfTVTG .image-compare .control::-moz-range-thumb{background-color:#ffffff;border:none;cursor:ew-resize;height:100%;width:2px;}/*!sc*/ .kfTVTG .image-compare .control::-webkit-slider-thumb{background-color:#ffffff;border:none;cursor:ew-resize;height:100%;width:2px;}/*!sc*/ .kfTVTG .image-compare .control::-moz-range-track{background:transparent;background-size:100%;box-sizing:border-box;}/*!sc*/ .kfTVTG .image-compare .control::-webkit-slider-runnable-track{background:transparent;background-size:100%;box-sizing:border-box;height:100%;}/*!sc*/ .kfTVTG .image-compare .control,.kfTVTG .image-compare .control::-webkit-slider-runnable-track,.kfTVTG .image-compare .control::-webkit-slider-thumb{appearance:none;}/*!sc*/ .kfTVTG .callout.note{background-color:#D5F0C3;color:#000C2A;}/*!sc*/ .kfTVTG .callout.warning{background-color:#FFBAB5;color:#000C2A;}/*!sc*/ .kfTVTG .callout.info{background-color:#C6E3FF;color:#000C2A;}/*!sc*/ .kfTVTG .callout.draft{background-color:#EBBFEB;color:#000C2A;}/*!sc*/ .kfTVTG .code-label:has(+ .code-toolbar > pre[class*=environment-]),.kfTVTG .code-label:has(+ pre[class*=environment-]){background:#EFF2FB;color:#4D5B7C;}/*!sc*/ .kfTVTG pre[class*=environment-]>code.language-css .token.string,.kfTVTG pre[class*=environment-]>code.style .token.string{color:#11192E;}/*!sc*/ .kfTVTG pre[class*=environment-]>code .token.punctuation,.kfTVTG pre[class*=environment-]>code .token.operator,.kfTVTG pre[class*=environment-]>code .token.entity,.kfTVTG pre[class*=environment-]>code .token.url{color:#11192E;}/*!sc*/ .kfTVTG pre[class*=environment-]>code .token.comment,.kfTVTG pre[class*=environment-]>code .token.prolog,.kfTVTG pre[class*=environment-]>code .token.doctype,.kfTVTG pre[class*=environment-]>code .token.cdata{color:#11192E;}/*!sc*/ .kfTVTG pre[class*=environment-]>code .token.atrule,.kfTVTG pre[class*=environment-]>code .token.property,.kfTVTG pre[class*=environment-]>code .token.tag,.kfTVTG pre[class*=environment-]>code .token.constant,.kfTVTG pre[class*=environment-]>code .token.symbol,.kfTVTG pre[class*=environment-]>code .token.deleted,.kfTVTG pre[class*=environment-]>code .token.selector,.kfTVTG pre[class*=environment-]>code .token.char,.kfTVTG pre[class*=environment-]>code .token.builtin,.kfTVTG pre[class*=environment-]>code .token.keyword,.kfTVTG pre[class*=environment-]>code .token.inserted,.kfTVTG pre[class*=environment-]>code .token.delimiter{color:#0F2FDA;}/*!sc*/ .kfTVTG pre[class*=environment-]>code .token.boolean,.kfTVTG pre[class*=environment-]>code .token.attr-name,.kfTVTG pre[class*=environment-]>code .token.color,.kfTVTG pre[class*=environment-]>code .token.string,.kfTVTG pre[class*=environment-]>code .token.variable{color:#00573A;}/*!sc*/ .kfTVTG pre[class*=environment-]>code .token.attr-value,.kfTVTG pre[class*=environment-]>code .token.function,.kfTVTG pre[class*=environment-]>code .token.class-name{color:#7300B9;}/*!sc*/ .kfTVTG pre[class*=environment-]>code .token.regex,.kfTVTG pre[class*=environment-]>code .token.number,.kfTVTG pre[class*=environment-]>code .token.important{color:#00507D;}/*!sc*/ .kfTVTG pre[class*=environment-] .secondary-code-label{color:#081B4B;}/*!sc*/ .kfTVTG pre[class*=environment-] mark{background:#E3E8F4;}/*!sc*/ .kfTVTG pre[class*=environment-] mark mark{background:none;}/*!sc*/ .kfTVTG pre.environment-local{background:#F7F8FB;color:#11192E;}/*!sc*/ .kfTVTG pre.environment-local code{color:#11192E;}/*!sc*/ .kfTVTG pre.environment-local.prefixed code ol li::before{color:#11192E;}/*!sc*/ .kfTVTG pre.environment-local.prefixed.line_numbers code ol li::before{border-right-color:rgba(17, 25, 46, 0.5);}/*!sc*/ .kfTVTG pre.environment-second{background:#F4FBFF;color:#11192E;}/*!sc*/ .kfTVTG pre.environment-second code{color:#11192E;}/*!sc*/ .kfTVTG pre.environment-second.prefixed code ol li::before{color:#11192E;}/*!sc*/ .kfTVTG pre.environment-second.prefixed.line_numbers code ol li::before{border-right-color:rgba(17, 25, 46, 0.5);}/*!sc*/ .kfTVTG pre.environment-third{background:#FFF9F4;color:#11192E;}/*!sc*/ .kfTVTG pre.environment-third code{color:#11192E;}/*!sc*/ .kfTVTG pre.environment-third.prefixed code ol li::before{color:#11192E;}/*!sc*/ .kfTVTG pre.environment-third.prefixed.line_numbers code ol li::before{border-right-color:rgba(17, 25, 46, 0.5);}/*!sc*/ .kfTVTG pre.environment-fourth{background:#F9FDF6;color:#11192E;}/*!sc*/ .kfTVTG pre.environment-fourth code{color:#11192E;}/*!sc*/ .kfTVTG pre.environment-fourth.prefixed code ol li::before{color:#11192E;}/*!sc*/ .kfTVTG pre.environment-fourth.prefixed.line_numbers code ol li::before{border-right-color:rgba(17, 25, 46, 0.5);}/*!sc*/ .kfTVTG pre.environment-fifth{background:#FFF4FD;color:#11192E;}/*!sc*/ .kfTVTG pre.environment-fifth code{color:#11192E;}/*!sc*/ .kfTVTG pre.environment-fifth.prefixed code ol li::before{color:#11192E;}/*!sc*/ .kfTVTG pre.environment-fifth.prefixed.line_numbers code ol li::before{border-right-color:rgba(17, 25, 46, 0.5);}/*!sc*/ data-styled.g160[id="Markdownstyles-sc-dd1icp-0"]{content:"kfTVTG,"}/*!sc*/ .Lunik{animation:dTJZHc 300ms ease-in-out;background:#FFF;border:0;border-radius:16px;box-shadow:inset 0px 0px 0px 2px rgba(17, 25, 46, 0.1);margin:auto;padding:0;position:fixed;}/*!sc*/ .Lunik[open]{animation:buZmJQ 300ms ease-in-out;}/*!sc*/ .Lunik[open]::backdrop{animation:bVoocj 300ms ease-in-out forwards;}/*!sc*/ data-styled.g163[id="Dialogstyles__StyledDialog-sc-ogn4wt-0"]{content:"Lunik,"}/*!sc*/ .kLMNcL{padding:0;}/*!sc*/ data-styled.g164[id="Dialogstyles__StyledDialogContainer-sc-ogn4wt-1"]{content:"kLMNcL,"}/*!sc*/ .nSJQw{background:#4D5B7C;border-radius:0 16px;color:#FFF;height:32px;overflow:hidden;padding:8px;position:absolute;right:0;top:0;width:32px;}/*!sc*/ .nSJQw::before{background-color:rgba(0,0,0,0.2);content:'';height:100%;inset:0;opacity:0;position:absolute;transition:opacity 300ms ease-in-out;width:100%;}/*!sc*/ .nSJQw:hover::before{opacity:1;}/*!sc*/ .nSJQw svg{height:100%;position:relative;width:100%;}/*!sc*/ data-styled.g165[id="Dialogstyles__StyledDialogCloseButton-sc-ogn4wt-2"]{content:"nSJQw,"}/*!sc*/ .gWNWsX{background-color:#F9FAFE;padding:80px 24px;}/*!sc*/ @media (min-width:768px){.gWNWsX{padding:104px 40px;}}/*!sc*/ @media (min-width:1024px){.gWNWsX{padding:128px 0;}}/*!sc*/ data-styled.g172[id="PreFooterStyles__StyledSection-sc-9178b097-0"]{content:"gWNWsX,"}/*!sc*/ .fggxPh{margin:0 auto;width:100%;}/*!sc*/ @media (min-width:1024px){.fggxPh{max-width:954px;}}/*!sc*/ @media (min-width:1280px){.fggxPh{max-width:1088px;}}/*!sc*/ data-styled.g173[id="PreFooterStyles__StyledContainer-sc-9178b097-1"]{content:"fggxPh,"}/*!sc*/ .dWBUFA{background-color:#FFF;border:1px solid rgba(17, 25, 46, 0.1);border-radius:16px;display:flex;flex-direction:column;gap:24px;padding:24px;}/*!sc*/ @media (min-width:604px){.dWBUFA{padding:32px 40px;}}/*!sc*/ @media (min-width:768px){.dWBUFA{padding:24px;}}/*!sc*/ @media (min-width:1024px){.dWBUFA{flex-direction:row;gap:40px;padding:32px 40px;}}/*!sc*/ data-styled.g174[id="PreFooterStyles__StyledEmailCaptureContainer-sc-9178b097-2"]{content:"dWBUFA,"}/*!sc*/ .fEeiqt{margin:0 auto;text-align:center;}/*!sc*/ data-styled.g175[id="PreFooterStyles__StyledDisclaimerContainer-sc-9178b097-3"]{content:"fEeiqt,"}/*!sc*/ @media (min-width:1024px){.eEOPZv{max-width:408px;min-width:408px;}}/*!sc*/ data-styled.g176[id="PreFooterStyles__StyledGrid-sc-9178b097-4"]{content:"eEOPZv,"}/*!sc*/ .iPSfQk{display:block;}/*!sc*/ @media (min-width:604px){.iPSfQk{display:none;}}/*!sc*/ @media (min-width:768px){.iPSfQk{display:block;}}/*!sc*/ @media (min-width:1024px){.iPSfQk{display:none;}}/*!sc*/ .iPSfQk button{width:100%;}/*!sc*/ data-styled.g177[id="PreFooterStyles__StyledOutsideInputSubmit-sc-9178b097-5"]{content:"iPSfQk,"}/*!sc*/ .dzyQkl{display:none;}/*!sc*/ @media (min-width:604px){.dzyQkl{display:block;}}/*!sc*/ @media (min-width:768px){.dzyQkl{display:none;}}/*!sc*/ @media (min-width:1024px){.dzyQkl{display:block;}}/*!sc*/ data-styled.g178[id="PreFooterStyles__StyledInInputSubmit-sc-9178b097-6"]{content:"dzyQkl,"}/*!sc*/ .hpvMmi{display:flex;flex-direction:column;gap:8px;}/*!sc*/ data-styled.g179[id="PreFooterStyles__StyledEmailInputContainer-sc-9178b097-7"]{content:"hpvMmi,"}/*!sc*/ .gshWnS{background:#F9FAFE;border-radius:999px;box-shadow:inset 0 0 0 1px rgba(17, 25, 46, 0.1);display:flex;justify-content:space-between;padding:6px 6px 6px 32px;width:100%;}/*!sc*/ .gshWnS input{background:transparent;border:none;outline:0;width:100%;font-family:'__Inter_1fc7a2',sans-serif;font-size:16px;font-style:normal;font-weight:400;line-height:24px;}/*!sc*/ data-styled.g180[id="PreFooterStyles__StyledEmailInput-sc-9178b097-8"]{content:"gshWnS,"}/*!sc*/ .gBggHG{width:100%;}/*!sc*/ data-styled.g181[id="PreFooterStyles__StyledFullWidthGrid-sc-9178b097-9"]{content:"gBggHG,"}/*!sc*/ .ezraOu{align-items:center;background-color:#F9FAFE;border-radius:999px;box-shadow:inset 0 0 0 1px rgba(17, 25, 46, 0.1);color:#4D5B7C;display:flex;gap:8px;margin-left:32px;padding:8px 16px;width:max-content;}/*!sc*/ .ezraOu svg{flex-shrink:0;height:16px;width:16px;}/*!sc*/ data-styled.g186[id="SubNavigationStyles__StyledCommunitySearch-sc-664e80d1-0"]{content:"ezraOu,"}/*!sc*/ @media (min-width:1024px){.kCtOIs >ul>li:first-child>a{margin-left:191px;}.kCtOIs >ul>li:last-child{margin-left:auto;}}/*!sc*/ data-styled.g187[id="SubNavigationStyles__StyledCommunitySubNavigation-sc-664e80d1-1"]{content:"kCtOIs,"}/*!sc*/ .kuxFrB{display:none;gap:32px;grid-template-columns:repeat(auto-fill,minmax(192px,1fr));width:100%;}/*!sc*/ @media (min-width:768px){.kuxFrB{display:grid;}}/*!sc*/ data-styled.g199[id="LinksStyles__StyledFooterDesktop-sc-e23e78b7-0"]{content:"kuxFrB,"}/*!sc*/ .AFHla{display:flex;flex-direction:column;gap:8px;list-style:none;margin:16px 0 0;padding:0;}/*!sc*/ data-styled.g200[id="LinksStyles__StyledList-sc-e23e78b7-1"]{content:"AFHla,"}/*!sc*/ .eEzFnU:hover,.eEzFnU:focus{color:#000C2A;}/*!sc*/ data-styled.g201[id="LinksStyles__StyledLink-sc-e23e78b7-2"]{content:"eEzFnU,"}/*!sc*/ .hZzCcf{display:flex;flex-direction:column;width:100%;}/*!sc*/ @media (min-width:768px){.hZzCcf{display:none;}}/*!sc*/ .hZzCcf details:not(:last-child){border-bottom:1px solid #D6DCEA;}/*!sc*/ .hZzCcf .LinksStyles__StyledList-sc-e23e78b7-1{margin:0 0 16px;}/*!sc*/ data-styled.g202[id="LinksStyles__StyledFooterMobile-sc-e23e78b7-3"]{content:"hZzCcf,"}/*!sc*/ .aJsNo{cursor:pointer;}/*!sc*/ .aJsNo summary{align-items:center;display:flex;list-style:none;padding:16px 0;}/*!sc*/ .aJsNo summary::-webkit-details-marker{display:none;}/*!sc*/ .aJsNo summary h6{flex:1 1 auto;}/*!sc*/ .aJsNo summary .up,.aJsNo summary .down{color:#000C2A;flex:0 0 auto;}/*!sc*/ .aJsNo[open] summary .down{display:none;}/*!sc*/ .aJsNo:not([open]) summary .up{display:none;}/*!sc*/ data-styled.g203[id="LinksStyles__StyledDetails-sc-e23e78b7-4"]{content:"aJsNo,"}/*!sc*/ .hHrQLL{background-color:#FFF;display:none;flex-direction:column;height:100%;left:0;padding:16px;position:fixed;top:0;width:100%;z-index:100;}/*!sc*/ @media (min-width:1280px){.hHrQLL{border-radius:16px;box-shadow:0px 9px 24px rgba(0, 12, 42, 0.2),inset 0 0 0 1px rgba(17, 25, 46, 0.1);height:auto;left:auto;padding:16px;position:absolute;right:0;top:calc(100% + 12px);width:283px;}}/*!sc*/ data-styled.g204[id="ActionMenuStyles__StyledActionMenu-sc-56d46e8d-0"]{content:"hHrQLL,"}/*!sc*/ .cwRkdj{align-items:start;display:flex;gap:16px;justify-content:space-between;margin-bottom:16px;}/*!sc*/ data-styled.g205[id="ActionMenuStyles__StyledActionMenuTitle-sc-56d46e8d-1"]{content:"cwRkdj,"}/*!sc*/ .bEyAUk{color:#000C2A;font-weight:500;line-height:24px;padding:0 0 0 12px;word-break:break-word;}/*!sc*/ @media (min-width:768px){.bEyAUk{padding:0 12px 0 12px;}}/*!sc*/ data-styled.g206[id="ActionMenuStyles__StyledActionMenuTitleText-sc-56d46e8d-2"]{content:"bEyAUk,"}/*!sc*/ .glmMcY{display:block;margin-left:auto;padding:0;}/*!sc*/ @media (min-width:1280px){.glmMcY{display:none!important;}}/*!sc*/ data-styled.g207[id="ActionMenuStyles__StyledCloseButton-sc-56d46e8d-3"]{content:"glmMcY,"}/*!sc*/ .ijUUOp a,.ijUUOp button{align-items:center;color:#4D5B7C;display:flex;gap:8px;margin:0;padding:8px 12px;}/*!sc*/ .ijUUOp a:hover,.ijUUOp button:hover{color:#000C2A;}/*!sc*/ .ijUUOp svg{flex-shrink:0;}/*!sc*/ data-styled.g208[id="ActionMenuStyles__StyledActionMenuItem-sc-56d46e8d-4"]{content:"ijUUOp,"}/*!sc*/ .gyrAqA{border-radius:16px;overflow:hidden;position:relative;}/*!sc*/ .gyrAqA::after{content:'';display:block;padding-bottom:58.08823529411765%;}/*!sc*/ @media (min-width: 768px){.gyrAqA::after{padding-bottom:57.89473684210527%;}}/*!sc*/ .gyrAqA img{height:100%;inset:0;object-fit:cover;position:absolute;width:100%;}/*!sc*/ data-styled.g253[id="CardUniversalstyles__StyledCardUniversalImage-sc-1inzdla-1"]{content:"gyrAqA,"}/*!sc*/ .hRLlz{display:flex;flex-direction:column;gap:24px;justify-content:space-between;}/*!sc*/ data-styled.g254[id="CardUniversalstyles__StyledCardUniversalContainer-sc-1inzdla-2"]{content:"hRLlz,"}/*!sc*/ .hgmQvh{display:flex;flex-direction:column;gap:16px;}/*!sc*/ data-styled.g255[id="CardUniversalstyles__StyledCardUniversalContent-sc-1inzdla-3"]{content:"hgmQvh,"}/*!sc*/ .ooyFS{display:flex;flex-direction:column;gap:8px;}/*!sc*/ data-styled.g256[id="CardUniversalstyles__StyledCardUniversalMainContent-sc-1inzdla-4"]{content:"ooyFS,"}/*!sc*/ .indddk{position:relative;}/*!sc*/ data-styled.g257[id="CardUniversalstyles__StyledCardUniversalLink-sc-1inzdla-5"]{content:"indddk,"}/*!sc*/ .jeSwjZ{align-items:center;display:flex;gap:16px;}/*!sc*/ .jeSwjZ svg{color:#0069FF;}/*!sc*/ data-styled.g258[id="CardUniversalstyles__StyledCardUniversalHeader-sc-1inzdla-6"]{content:"jeSwjZ,"}/*!sc*/ .jAfreL{display:flex;flex-direction:column;min-height:100%;color:#000C2A;background-color:#F9FAFE;border-radius:16px;overflow:hidden;position:relative;}/*!sc*/ .jAfreL::after{border:2px solid rgba(17, 25, 46, 0.1);border-radius:16px;content:'';inset:0;pointer-events:none;position:absolute;}/*!sc*/ .jAfreL .CardUniversalstyles__StyledCardUniversalContainer-sc-1inzdla-2{flex-grow:1;padding:32px 32px 40px;}/*!sc*/ .jAfreL .CardUniversalstyles__StyledCardUniversalImage-sc-1inzdla-1{border-radius:0;}/*!sc*/ .jAfreL .CardUniversalstyles__StyledCardUniversalImage-sc-1inzdla-1 +.CardUniversalstyles__StyledCardUniversalContainer-sc-1inzdla-2{padding:24px 32px 40px;}/*!sc*/ .jAfreL .CardUniversalstyles__StyledCardUniversalLink-sc-1inzdla-5{margin-top:auto;}/*!sc*/ .jAfreL +:not(.CardUniversalstyles__StyledCardUniversalLink-sc-1inzdla-5) .CardUniversalstyles__StyledCardUniversalFooter-sc-1inzdla-0{margin-top:auto;}/*!sc*/ data-styled.g261[id="CardUniversalstyles__StyledCardUniversal-sc-1inzdla-9"]{content:"jAfreL,"}/*!sc*/ html{--top-hat-height:0;--primary-nav-height:73px;--sub-nav-height:0;--content-spacing:64px;--scroll-padding-top:calc( calc(var(--top-hat-height) * 1px) + var(--primary-nav-height) + calc(var(--sub-nav-height) * 1px) + var(--content-spacing) );scroll-behavior:smooth;scroll-padding-top:var(--scroll-padding-top);}/*!sc*/ body{line-height:1.4;text-rendering:optimizeLegibility;}/*!sc*/ body:has(.takeoverMenu){overflow:hidden;}/*!sc*/ @media (min-width:1280px){body:has(.takeoverMenu){overflow:auto;}}/*!sc*/ ol,ul{list-style:none;margin:0;padding:0;}/*!sc*/ table{border-collapse:collapse;}/*!sc*/ h1,h2,h3,h4,h5{font-family:'__Epilogue_61966b',sans-serif;}/*!sc*/ .truste_box_overlay{left:200vw;position:fixed;}/*!sc*/ .truste_overlay{display:none;}/*!sc*/ .truste_box_overlay.slide-up{animation:ckkqjM 1s forwards;left:0;max-height:calc(100% - 40px);overflow:auto;}/*!sc*/ .truste_overlay.fade-in{animation:kVaHQg 1s forwards;display:block;}/*!sc*/ #truste-consent-track{left:200vw;}/*!sc*/ #truste-consent-track.slide-up{animation:ckkqjM 1s forwards;}/*!sc*/ data-styled.g269[id="sc-global-dvRRyi1"]{content:"sc-global-dvRRyi1,"}/*!sc*/ .glNInm{align-items:center;background-color:transparent;border:1px solid #080b2d;color:#080b2d;cursor:pointer;display:inline-flex;font-size:1em;font-weight:700;padding:16px 32px;text-decoration:none;transition:all 0.3s ease;}/*!sc*/ .glNInm:hover{background-color:rgba(0, 105, 255, 0.15);transition:all 0.3s ease;}/*!sc*/ .glNInm.is-squared{border-radius:8px;}/*!sc*/ .glNInm.is-primary{background-color:#1633ff;border:1px solid #1633ff;color:#fff;transition:all 0.3s ease;}/*!sc*/ .glNInm.is-primary:hover{background-color:#0069ff!important;border:1px solid #0069ff;color:#fff!important;transition:all 0.3s ease;}/*!sc*/ .glNInm.is-primary:disabled{background-color:#c4c9d6!important;border:1px solid #c4c9d6!important;color:#fff;}/*!sc*/ .glNInm.is-primary.is-outlined{border:1px solid #0069ff;color:#0069ff;}/*!sc*/ .glNInm.is-primary.is-outlined:hover{background-color:#f2f8ff!important;border:1px solid #0069ff!important;color:#0069ff!important;}/*!sc*/ .glNInm.is-primary.is-outlined:disabled{background-color:#fff!important;border:1px solid #8690a9!important;color:#8690a9!important;}/*!sc*/ .glNInm.is-white{background-color:#fff;border:1px solid #fff;color:#0069ff;transition:all 0.3s ease;}/*!sc*/ .glNInm.is-white:hover{background-color:rgba(225,225,225,0.9);color:#0069ff;transition:all 0.3s ease;}/*!sc*/ .glNInm.is-white:disabled{border:1px solid #8690a9!important;color:#8690a9!important;}/*!sc*/ .glNInm.is-white.is-outlined{background-color:transparent;border:1px solid rgba(255,255,255,0.9);color:rgba(255,255,255,0.9);}/*!sc*/ .glNInm.is-white.is-outlined:hover{background-color:transparent;border:1px solid rgba(255,255,255,1);color:rgba(255,255,255,1);}/*!sc*/ .glNInm.is-rounded{border-radius:10px;}/*!sc*/ .glNInm.is-outlined{background-color:transparent;border:1px solid #080b2d;color:#080b2d;transition:all 0.3s ease;}/*!sc*/ .glNInm.is-outlined:hover{border:1px solid #0069ff;color:#0069ff;transition:all 0.3s ease;}/*!sc*/ .glNInm.is-small{padding:12px 24px;}/*!sc*/ .glNInm.has-center-img{padding:15px 16px;}/*!sc*/ .glNInm.has-left-img >img{margin-right:8px;}/*!sc*/ .glNInm.mx-16{margin-right:16px;}/*!sc*/ .glNInm.is-community{border:0;border-radius:8px;cursor:pointer;display:unset;font-size:16px;font-weight:600;height:50px;line-height:50px;margin:5px;padding:0 15px;text-align:center;transition:color 0.2s ease-in-out,background-color 0.2s ease-in-out;}/*!sc*/ .glNInm.is-community.blue{background-color:#0069ff;color:#fff;}/*!sc*/ .glNInm.is-community.blue:hover{background-color:#080b2d;}/*!sc*/ .glNInm.is-community.outlined{background-color:transparent;border:1px solid #0069ff;color:#0069ff;}/*!sc*/ .glNInm.is-community.outlined:hover{background-color:#0069ff;color:#fff;}/*!sc*/ .glNInm.is-community.small{font-weight:500;height:35px;line-height:35px;}/*!sc*/ .glNInm.is-community.is-sign-in{border:1px solid #0069ff;display:block;font-weight:400;height:44px;line-height:46px;margin:0;margin-bottom:20px;padding:0 50px;text-decoration:none;}/*!sc*/ .glNInm.is-community.is-sign-in:hover{background-color:#fff;color:#0069ff;}/*!sc*/ .glNInm.is-community.is-community-admin{border-radius:3px;box-sizing:border-box;display:inline-block;height:40px;line-height:34px;margin:0 5px 5px 0;padding:8px;position:relative;transition:opacity 0.2s ease;width:40px;}/*!sc*/ .glNInm.is-community.is-community-admin:last-child{margin-bottom:0;}/*!sc*/ .glNInm.is-community.is-community-admin:hover{opacity:0.9;}/*!sc*/ .glNInm.is-community.is-community-admin.is-address{background-color:#fcd042;}/*!sc*/ .glNInm.is-community.is-community-admin.is-delete{background-color:#e15b5d;}/*!sc*/ .glNInm.is-community.is-community-admin.is-lock-all-comments{background-color:#fcd042;}/*!sc*/ .glNInm.is-community.is-community-admin.is-unlock-all-comments{background-color:#fcd042;}/*!sc*/ .glNInm.is-community.is-community-admin.is-lock-all-answers{background-color:#fcd042;}/*!sc*/ .glNInm.is-community.is-community-admin.is-unlock-all-answers{background-color:#fcd042;}/*!sc*/ .glNInm.is-community.is-community-admin.is-lock-new-answers{background-color:#fcd042;}/*!sc*/ .glNInm.is-community.is-community-admin.is-unlock-new-answers{background-color:#fcd042;}/*!sc*/ .glNInm.is-community.is-community-admin.is-publish,.glNInm.is-community.is-community-admin.is-enable{background-color:#0069ff;}/*!sc*/ .glNInm.is-community.is-community-admin.is-unpublish,.glNInm.is-community.is-community-admin.is-disable{background-color:#0069ff;}/*!sc*/ .glNInm.is-community.is-community-admin.is-spam{background-color:#333;}/*!sc*/ .glNInm.is-community.is-community-admin.is-trash{background-color:#e94849;}/*!sc*/ .glNInm.is-community.is-community-admin.is-unlist{background-color:#f66106;}/*!sc*/ .glNInm.is-community.is-community-admin.is-view{background-color:#0069ff;}/*!sc*/ .glNInm.is-community.is-community-admin.is-edit{background-color:#00d7d2;}/*!sc*/ .glNInm.is-community.is-community-admin.is-deprecate{background-color:#5b6987;}/*!sc*/ .glNInm.is-community.is-community-admin.is-export{background-color:#7bdeff;}/*!sc*/ .glNInm.is-community.is-community-admin.is-clone{background-color:#ffc001;}/*!sc*/ data-styled.g270[id="ButtonLinkStyles__StyledButtonLink-sc-b1f7fbf-0"]{content:"glNInm,"}/*!sc*/ .cOvNzl{display:flex;flex-direction:column;margin:0 auto;max-width:80rem;max-width:50rem;width:100%;}/*!sc*/ @media only screen and (max-width:52rem){.cOvNzl{max-width:100%;padding:0 1rem;}}/*!sc*/ .iGRYyJ{display:flex;flex-direction:column;margin:0 auto;max-width:80rem;width:100%;}/*!sc*/ @media only screen and (max-width:82rem){.iGRYyJ{max-width:100%;padding:0 1rem;}}/*!sc*/ data-styled.g271[id="ContainerStyles__StyledContainer-sc-c33ad18f-0"]{content:"cOvNzl,iGRYyJ,"}/*!sc*/ .kpquAR{color:#031b4e;font-size:44px;font-weight:800;letter-spacing:-2px;}/*!sc*/ @media only screen and (max-width: 768px){.kpquAR{font-size:52px;line-height:1.2;}}/*!sc*/ @media only screen and (max-width: 425px){.kpquAR{font-size:40px;line-height:1.2;}}/*!sc*/ data-styled.g285[id="HeadingStyles__StyledH1-sc-73f0758c-0"]{content:"kpquAR,"}/*!sc*/ .lfDrER{color:#031b4e;font-size:24px;font-weight:500;letter-spacing:-0.5px;line-height:120%;margin:0;}/*!sc*/ data-styled.g288[id="HeadingStyles__StyledH4-sc-73f0758c-3"]{content:"lfDrER,"}/*!sc*/ .fteKuf{color:#031b4e;font-size:18px;font-weight:500;letter-spacing:0;line-height:110%;margin:0;}/*!sc*/ data-styled.g289[id="HeadingStyles__StyledH5-sc-73f0758c-4"]{content:"fteKuf,"}/*!sc*/ .dZfTxb{align-items:center;background-color:transparent;border:1px solid #080b2d;border-radius:100px;color:#080b2d;cursor:pointer;display:flex;font-size:1em;font-weight:700;justify-content:center;padding:16px 32px;text-decoration:none;transition:all 0.3s ease;}/*!sc*/ .dZfTxb:not(:disabled):hover{background-color:rgba(0,105,255,0.15);transition:all 0.3s ease;}/*!sc*/ .dZfTxb:disabled{cursor:default;}/*!sc*/ .dZfTxb.is-squared{border-radius:8px;}/*!sc*/ .dZfTxb.is-primary{background-color:#1633ff;border:1px solid #1633ff;color:#fff;transition:all 0.3s ease;}/*!sc*/ .dZfTxb.is-primary:not(:disabled):hover{background-color:#0069ff!important;border:1px solid #0069ff;color:#fff!important;transition:all 0.3s ease;}/*!sc*/ .dZfTxb.is-primary:disabled{background-color:#c4c9d6!important;border:1px solid #c4c9d6!important;color:#fff;}/*!sc*/ .dZfTxb.is-primary.is-outlined{border:1px solid #0069ff;color:#0069ff;}/*!sc*/ .dZfTxb.is-primary.is-outlined:not(:disabled):hover{background-color:#f2f8ff!important;border:1px solid #0069ff!important;color:#0069ff!important;}/*!sc*/ .dZfTxb.is-primary.is-outlined:disabled{background-color:#fff!important;border:1px solid #8690a9!important;color:#8690a9!important;}/*!sc*/ .dZfTxb.is-white{background-color:#fff;border:1px solid #fff;color:#0069ff;transition:all 0.3s ease;}/*!sc*/ .dZfTxb.is-white:not(:disabled):hover{background-color:rgba(225,225,225,0.9);color:#0069ff;transition:all 0.3s ease;}/*!sc*/ .dZfTxb.is-white:disabled{border:1px solid #8690a9!important;color:#8690a9!important;}/*!sc*/ .dZfTxb.is-white.is-outlined{background-color:transparent;border:1px solid rgba(255,255,255,0.9);color:rgba(255,255,255,0.9);}/*!sc*/ .dZfTxb.is-white.is-outlined:not(:disabled):hover{background-color:transparent;border:1px solid rgba(255,255,255,1);color:rgba(255,255,255,1);}/*!sc*/ .dZfTxb.is-outlined{background-color:transparent;border:1px solid #080b2d;color:#080b2d;transition:all 0.3s ease;}/*!sc*/ .dZfTxb.is-outlined:not(:disabled):hover{border:1px solid #0069ff;color:#0069ff;transition:all 0.3s ease;}/*!sc*/ .dZfTxb.is-small{padding:12px 24px;}/*!sc*/ .dZfTxb.has-center-img{padding:15px 16px;}/*!sc*/ .dZfTxb.has-left-img img{margin-right:8px;}/*!sc*/ .dZfTxb.mx-16{margin-left:16px;margin-right:16px;}/*!sc*/ .dZfTxb.mt-32{margin-top:32px;}/*!sc*/ .dZfTxb.is-community{border:0;border-radius:8px;cursor:pointer;font-size:16px;font-weight:600;height:50px;line-height:50px;margin:5px;padding:0 15px;text-align:center;transition:color 0.2s ease-in-out,background-color 0.2s ease-in-out;}/*!sc*/ .dZfTxb.is-community.blue{background-color:#0069ff;color:#fff;}/*!sc*/ .dZfTxb.is-community.blue:not(:disabled):hover{background-color:#080b2d;}/*!sc*/ .dZfTxb.is-community.green{background-color:#05b193;color:#fff;}/*!sc*/ .dZfTxb.is-community.green:hover{background-color:#080b2d;}/*!sc*/ .dZfTxb.is-community.outlined{background-color:transparent;border:1px solid #0069ff;color:#0069ff;}/*!sc*/ .dZfTxb.is-community.outlined:not(:disabled):hover{background-color:#0069ff;color:#fff;}/*!sc*/ .dZfTxb.is-community.small{font-weight:500;height:35px;line-height:35px;}/*!sc*/ data-styled.g296[id="ButtonStyles__StyledButton-sc-1f59e819-0"]{content:"dZfTxb,"}/*!sc*/ .jItaXd{height:0;opacity:0;position:absolute;width:0;}/*!sc*/ data-styled.g299[id="DropdownStyles__StyledTriggerInput-sc-71bdcc71-0"]{content:"jItaXd,"}/*!sc*/ .fzarqH h1:hover .hash-anchor,.fzarqH h2:hover .hash-anchor,.fzarqH h3:hover .hash-anchor,.fzarqH h4:hover .hash-anchor,.fzarqH h5:hover .hash-anchor,.fzarqH h6:hover .hash-anchor,.fzarqH h1:focus-within .hash-anchor,.fzarqH h2:focus-within .hash-anchor,.fzarqH h3:focus-within .hash-anchor,.fzarqH h4:focus-within .hash-anchor,.fzarqH h5:focus-within .hash-anchor,.fzarqH h6:focus-within .hash-anchor{opacity:1;transition:opacity 0.2s ease-in-out,visibility 0s linear;visibility:visible;}/*!sc*/ .fzarqH h1 .hash-anchor,.fzarqH h2 .hash-anchor,.fzarqH h3 .hash-anchor,.fzarqH h4 .hash-anchor,.fzarqH h5 .hash-anchor,.fzarqH h6 .hash-anchor{font-size:0.85em;opacity:0;transition:opacity 0.2s ease-in-out,visibility 0s linear 0.2s;visibility:hidden;}/*!sc*/ .fzarqH p a{word-wrap:break-word;}/*!sc*/ data-styled.g304[id="MarkdownStyles__StyledMarkdown-sc-bf598916-0"]{content:"fzarqH,"}/*!sc*/ .lwZFQ{background-color:#fff;border:1px solid #d6dcea;border-radius:24px;margin:8px 0;overflow:hidden;}/*!sc*/ .lwZFQ:focus-within{border-color:#0069ff;}/*!sc*/ data-styled.g305[id="MarkdownStyles__StyledContainer-sc-dccc8dc1-0"]{content:"lwZFQ,"}/*!sc*/ .NFBTT{border-bottom:1px solid #e3e8f4;display:flex;flex-wrap:wrap;padding:16px;}/*!sc*/ data-styled.g306[id="MarkdownStyles__StyledActions-sc-dccc8dc1-1"]{content:"NFBTT,"}/*!sc*/ .emmQTZ{display:flex;margin:0 0 0 auto;}/*!sc*/ data-styled.g307[id="MarkdownStyles__StyledActionsRight-sc-dccc8dc1-2"]{content:"emmQTZ,"}/*!sc*/ .hbUzfS{background:none;border:none;color:#4d5b7c;cursor:pointer;display:block;height:24px;line-height:1;margin:0 5px 0 0;padding:0;position:relative;transition:color 0.3s ease;width:24px;}/*!sc*/ .hbUzfS:last-child{margin-right:0;}/*!sc*/ .hbUzfS:hover{color:#0069ff;}/*!sc*/ .hbUzfS svg,.hbUzfS>span{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);}/*!sc*/ data-styled.g308[id="MarkdownStyles__StyledActionButton-sc-dccc8dc1-3"]{content:"hbUzfS,"}/*!sc*/ .gFNlzT{background:none;border:none;color:#4d5b7c;cursor:pointer;display:block;height:24px;line-height:1;margin:0 5px 0 0;padding:0;position:relative;transition:color 0.3s ease;width:24px;}/*!sc*/ .gFNlzT:last-child{margin-right:0;}/*!sc*/ .gFNlzT:hover{color:#0069ff;}/*!sc*/ .gFNlzT svg,.gFNlzT>span{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);}/*!sc*/ data-styled.g309[id="MarkdownStyles__StyledActionLink-sc-dccc8dc1-4"]{content:"gFNlzT,"}/*!sc*/ .iZDgyt{max-height:calc(100vh - var(--scroll-padding-top) - 128px);overflow-y:scroll;overscroll-behavior-y:contain;position:relative;}/*!sc*/ data-styled.g310[id="MarkdownStyles__StyledWrapper-sc-dccc8dc1-5"]{content:"iZDgyt,"}/*!sc*/ .gxDflj{padding:8px 16px 24px;position:relative;}/*!sc*/ data-styled.g311[id="MarkdownStyles__StyledSlateEditableWrapper-sc-dccc8dc1-6"]{content:"gxDflj,"}/*!sc*/ .gUXryj{border:0;font-family:'__JetBrains_Mono_26ed0d',monospace;line-height:1.5;resize:vertical;width:100%;}/*!sc*/ .gUXryj:read-only{background:#eff2fb;}/*!sc*/ .gUXryj:focus-visible{outline:0;}/*!sc*/ data-styled.g313[id="MarkdownStyles__StyledSlateEditable-sc-dccc8dc1-8"]{content:"gUXryj,"}/*!sc*/ @keyframes ckkqjM{0%{transform:translateY(110vh);}100%{transform:translateY(0);}}/*!sc*/ data-styled.g321[id="sc-keyframes-ckkqjM"]{content:"ckkqjM,"}/*!sc*/ @keyframes kVaHQg{0%{opacity:0;}100%{opacity:0.4;}}/*!sc*/ data-styled.g322[id="sc-keyframes-kVaHQg"]{content:"kVaHQg,"}/*!sc*/ @keyframes lRCJp{to{transform:translate(27.75px,-41.25px) scale(1,0.25);}}/*!sc*/ data-styled.g323[id="sc-keyframes-lRCJp"]{content:"lRCJp,"}/*!sc*/ .kYbBjQ{align-items:center;display:flex;gap:16px;margin-top:16px;}/*!sc*/ data-styled.g537[id="AuthorsStyles__StyledAuthorList-sc-29c8253c-0"]{content:"kYbBjQ,"}/*!sc*/ .hbSNDk{border:1px solid #FFF;border-radius:50%;height:48px;margin-left:-16px;object-fit:contain;vertical-align:middle;width:48px;}/*!sc*/ .hbSNDk:first-child{margin-left:0;}/*!sc*/ data-styled.g538[id="AuthorsStyles__StyledAvatarSmall-sc-29c8253c-1"]{content:"hbSNDk,"}/*!sc*/ .dBDdOf{display:flex;flex-shrink:0;}/*!sc*/ data-styled.g539[id="AuthorsStyles__StyledAvatarGroup-sc-29c8253c-2"]{content:"dBDdOf,"}/*!sc*/ .kJSao{color:#081B4B;display:flex;flex-grow:1;font-size:16px;font-weight:500;list-style:none;}/*!sc*/ .kJSao p{margin:0;}/*!sc*/ data-styled.g540[id="AuthorsStyles__StyledAuthor-sc-29c8253c-3"]{content:"kJSao,"}/*!sc*/ .dxcDAS{font-size:20px;line-height:1.5;margin-top:40px;width:100%;}/*!sc*/ data-styled.g577[id="TutorialTemplateStyles__StyledRecordHeaderContainer-sc-337a0527-0"]{content:"dxcDAS,"}/*!sc*/ .eoHutf{border-radius:24px;display:block;height:auto;margin:40px 0;width:100%;}/*!sc*/ data-styled.g578[id="TutorialTemplateStyles__StyledRecordHeaderImage-sc-337a0527-1"]{content:"eoHutf,"}/*!sc*/ .gsxHnk{align-items:center;display:flex;flex-wrap:wrap;}/*!sc*/ data-styled.g579[id="TutorialTemplateStyles__StyledRecordMetaContainer-sc-337a0527-2"]{content:"gsxHnk,"}/*!sc*/ .hGosQQ{align-items:center;color:#031b4e;display:flex;flex-flow:row wrap;margin:0 auto;padding:10px 0;width:100%;}/*!sc*/ data-styled.g580[id="TutorialTemplateStyles__StyledRecordMetaList-sc-337a0527-3"]{content:"hGosQQ,"}/*!sc*/ .eoKUhn{color:#333;font-size:13px;font-weight:500;line-height:1.6;list-style:none;padding-right:5px;}/*!sc*/ .eoKUhn a:first-child{margin-left:0;}/*!sc*/ data-styled.g581[id="TutorialTemplateStyles__StyledRecordMetaItem-sc-337a0527-4"]{content:"eoKUhn,"}/*!sc*/ .jnatsz{color:#4d5b7c;font-size:16px;line-height:24px;margin:8px 0;}/*!sc*/ data-styled.g582[id="TutorialTemplateStyles__StyledRecordMetaItemDate-sc-337a0527-5"]{content:"jnatsz,"}/*!sc*/ .dKebKT{color:#0069ff;cursor:pointer;font-size:18px;text-decoration:underline;}/*!sc*/ .dKebKT:hover{color:#1253fa;}/*!sc*/ data-styled.g584[id="TutorialTemplateStyles__StyledRecordMetaItemAuthorHighlight-sc-337a0527-7"]{content:"dKebKT,"}/*!sc*/ .kYDvfF{background-color:rgba(200, 223, 255, 0.4);border-radius:24px;margin-top:50px;position:relative;width:100%;}/*!sc*/ data-styled.g585[id="TutorialTemplateStyles__StyledCollaboratorsFooterContainer-sc-337a0527-8"]{content:"kYDvfF,"}/*!sc*/ .fAKdCr{align-items:flex-start;color:#031b4e;display:flex;flex-wrap:wrap;margin:0 auto;padding:24px 32px 32px;width:100%;z-index:5;}/*!sc*/ data-styled.g586[id="TutorialTemplateStyles__StyledCollaboratorsFooter-sc-337a0527-9"]{content:"fAKdCr,"}/*!sc*/ .bPCjPq{align-items:center;color:#081b4b;flex-basis:100%;font-family:'__Epilogue_61966b',sans-serif;font-size:24px;font-style:normal;font-weight:600;line-height:32px;white-space:nowrap;}/*!sc*/ data-styled.g587[id="TutorialTemplateStyles__StyledCollaboratorsHeading-sc-337a0527-10"]{content:"bPCjPq,"}/*!sc*/ .kLvEfV{align-items:center;display:flex;flex-grow:1;margin:0;padding:16px 14px;width:100%;}/*!sc*/ data-styled.g588[id="TutorialTemplateStyles__StyledCollaborator-sc-337a0527-11"]{content:"kLvEfV,"}/*!sc*/ .eoFuZs{border-radius:50%;height:64px;margin:0 16px 0 0;width:64px;}/*!sc*/ data-styled.g589[id="TutorialTemplateStyles__StyledAvatarLarge-sc-337a0527-12"]{content:"eoFuZs,"}/*!sc*/ .gRceEM{color:#031b4e;line-height:1.4;}/*!sc*/ data-styled.g590[id="TutorialTemplateStyles__StyledCollaboratorInfo-sc-337a0527-13"]{content:"gRceEM,"}/*!sc*/ .hPVxKD{color:#031b4e;font-size:18px;font-weight:500;line-height:26px;margin:4px 0;min-width:0;overflow-wrap:break-word;}/*!sc*/ data-styled.g591[id="TutorialTemplateStyles__StyledCollaboratorName-sc-337a0527-14"]{content:"hPVxKD,"}/*!sc*/ .jOvxSW{color:#4d5b7c;font-size:16px;line-height:24px;}/*!sc*/ data-styled.g592[id="TutorialTemplateStyles__StyledCollaboratorBio-sc-337a0527-15"]{content:"jOvxSW,"}/*!sc*/ .hgqDuN{color:#4d5b7c;font-size:18px;font-weight:500;margin:0;overflow-wrap:break-word;padding:0;}/*!sc*/ data-styled.g593[id="TutorialTemplateStyles__StyledCollaboratorTitle-sc-337a0527-16"]{content:"hgqDuN,"}/*!sc*/ .fQPeyi{box-sizing:border-box;display:block;margin-left:auto;width:232px;}/*!sc*/ .fQPeyi .react-select__single-value::before{background-image:url('/_next/static/media/language.77364d8c.svg');background-repeat:no-repeat;background-size:17px;content:'';padding:0 30px 0 0;}/*!sc*/ data-styled.g594[id="TutorialTemplateStyles__StyledTutorialLanguageDropdown-sc-337a0527-17"]{content:"fQPeyi,"}/*!sc*/ .klBkzI{align-items:center;color:#4d5b7c;display:grid;font-size:14px;grid-gap:15px;grid-template-columns:1fr;line-height:22px;margin:10px 0 72px;}/*!sc*/ .klBkzI img{display:block;height:40px;margin:10px auto;width:113.55px;}/*!sc*/ .klBkzI a{color:#535772;display:inline-block;font-size:14px;text-align:center;}/*!sc*/ .klBkzI a:hover{text-decoration:underline;}/*!sc*/ @media only screen and (min-width: 768px){.klBkzI{grid-template-columns:auto 1fr;}.klBkzI a{text-align:left;}.klBkzI img{display:inline-block;}}/*!sc*/ data-styled.g597[id="TutorialTemplateStyles__StyledCreativeCommonsLicense-sc-337a0527-20"]{content:"klBkzI,"}/*!sc*/ .gLJOju{margin:40px 0;}/*!sc*/ data-styled.g603[id="TutorialTemplateStyles__StyledNextSeriesWrapper-sc-337a0527-26"]{content:"gLJOju,"}/*!sc*/ .VhlWD{color:#0069ff;font-family:'__JetBrains_Mono_26ed0d',monospace;font-size:16px;font-style:normal;font-weight:600;line-height:24px;}/*!sc*/ .VhlWD a{text-decoration:none;}/*!sc*/ data-styled.g604[id="TutorialTemplateStyles__StyledNextSeries-sc-337a0527-27"]{content:"VhlWD,"}/*!sc*/ .dvYrbZ{border:1px solid #d6dcea;margin-bottom:10px;width:100%;}/*!sc*/ data-styled.g605[id="TutorialTemplateStyles__StyledDivider-sc-337a0527-28"]{content:"dvYrbZ,"}/*!sc*/ .SCLyp{background:#98dfdc;border-radius:8px;color:#081b4b;display:inline-block;font-size:14px;font-weight:500;height:24px;line-height:24px;margin:0 8px;padding:0 8px;text-align:center;text-transform:capitalize;width:auto;}/*!sc*/ data-styled.g606[id="TutorialTemplateStyles__StyledUserRelation-sc-337a0527-29"]{content:"SCLyp,"}/*!sc*/ .dyCJUo{margin-bottom:32px;}/*!sc*/ .dyCJUo:last-child{margin-bottom:0;}/*!sc*/ data-styled.g611[id="TutorialTemplateStyles__StyledSidebarItem-sc-337a0527-34"]{content:"dyCJUo,"}/*!sc*/ .dKyFya{border:1px solid #6B71B1;border-radius:16px;margin-top:32px;padding:24px 32px;}/*!sc*/ .dKyFya a::after{content:' ->';}/*!sc*/ data-styled.g612[id="TutorialTemplateStyles__StyledConclusionCTA-sc-337a0527-35"]{content:"dKyFya,"}/*!sc*/ .bdnkwT{background:#fff;border-radius:24px;box-shadow:0 6px 20px -6px rgba(11, 43, 158, 0.15);height:auto;margin:40px 0;padding:24px 32px;width:100%;}/*!sc*/ data-styled.g613[id="TutorialTemplateStyles__StyledHelpfulCTA-sc-337a0527-36"]{content:"bdnkwT,"}/*!sc*/ .hsNeFw{border:1px solid #e3e8f4;margin:24px 0;}/*!sc*/ data-styled.g614[id="TutorialTemplateStyles__StyledHelpfulHr-sc-337a0527-37"]{content:"hsNeFw,"}/*!sc*/ .fIwROR{align-items:center;display:flex;flex-grow:3;flex-wrap:wrap;gap:16px;margin:0;}/*!sc*/ data-styled.g629[id="WasThisHelpfulStyles__StyledHelpfulContainer-sc-7b34e333-0"]{content:"fIwROR,"}/*!sc*/ .kWxKBP{align-items:center;display:flex;flex-grow:2;gap:8px;justify-content:flex-end;}/*!sc*/ data-styled.g630[id="WasThisHelpfulStyles__StyledShareContainer-sc-7b34e333-1"]{content:"kWxKBP,"}/*!sc*/ .ksqBeP{color:#081b4b;font-family:'__Epilogue_61966b',sans-serif;font-size:20px;font-style:normal;font-weight:500;line-height:28px;padding-right:5px;}/*!sc*/ data-styled.g631[id="WasThisHelpfulStyles__StyledHelpfulText-sc-7b34e333-2"]{content:"ksqBeP,"}/*!sc*/ .gjbNkJ{display:flex;gap:16px;}/*!sc*/ data-styled.g632[id="WasThisHelpfulStyles__StyledHelpfulButtonContainer-sc-7b34e333-3"]{content:"gjbNkJ,"}/*!sc*/ .kgGjh{background:#e3e8f4;display:block;height:42px;margin:0 8px;width:1px;}/*!sc*/ @media only screen and (max-width: 768px){.kgGjh{display:none;}}/*!sc*/ data-styled.g633[id="WasThisHelpfulStyles__StyledHelpfulDivider-sc-7b34e333-4"]{content:"kgGjh,"}/*!sc*/ .hnJljI{background:transparent;border:1px solid #aab3ca;border-radius:12px;color:#24335a;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;text-decoration:none;}/*!sc*/ .hnJljI:hover{background:#1253fa;border:1px solid #1253fa;box-shadow:0 10px 20px rgba(3, 27, 78, 0.1);color:#fff;transition:box-shadow 0.25s linear,-webkit-box-shadow 0.25s linear;}/*!sc*/ data-styled.g634[id="WasThisHelpfulStyles__StyledHelpfulButton-sc-7b34e333-5"]{content:"hnJljI,"}/*!sc*/ .hMXGxj{color:#081b4b;font-size:24px;font-weight:600;line-height:32px;margin-bottom:16px;}/*!sc*/ data-styled.g657[id="CommentFormTemplateStyles__StyledFormHeader-sc-f4f7f538-1"]{content:"hMXGxj,"}/*!sc*/ .btVxEm{margin-top:5px;padding:0;}/*!sc*/ data-styled.g659[id="CommentFormTemplateStyles__StyledButtonBar-sc-f4f7f538-3"]{content:"btVxEm,"}/*!sc*/ .hmApOG{margin:20px 0 24px;}/*!sc*/ .hmApOG p{color:#8a96b5;font-size:16px;line-height:1.5;margin:0 0 16px;}/*!sc*/ .hmApOG p strong{color:#4d5b7c;font-family:'__JetBrains_Mono_26ed0d',monospace;font-size:14px;font-weight:700;}/*!sc*/ .hmApOG kbd{background:#f3f5f9;color:#4d5b7c;font-size:0.9em;font-weight:500;padding:0.1em 0.3em;}/*!sc*/ data-styled.g660[id="CommentFormTemplateStyles__StyledFormNote-sc-f4f7f538-4"]{content:"hmApOG,"}/*!sc*/ .gcUUDj{background-color:#0069ff;border:0;border-radius:10px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;line-height:1.5;min-width:192px;padding:8px 32px;text-align:center;}/*!sc*/ .gcUUDj:hover{background-color:#1253fa;}/*!sc*/ data-styled.g662[id="CommentFormTemplate___StyledButtonLink-sc-9b99b70c-1"]{content:"gcUUDj,"}/*!sc*/ .gqBRRz{align-items:flex-start;display:flex;flex-direction:column;font-size:14px;font-weight:500;gap:24px;margin-bottom:16px;max-height:80vh;overflow-y:scroll;padding:0 32px 16px 0;position:sticky;scrollbar-color:#8a96b5 transparent;top:var(--scroll-padding-top);}/*!sc*/ .gqBRRz::-webkit-scrollbar{background-color:transparent;width:6px;}/*!sc*/ .gqBRRz::-webkit-scrollbar-track{background-color:transparent;}/*!sc*/ .gqBRRz::-webkit-scrollbar-thumb{background:#8a96b5;border-radius:4px;width:6px;}/*!sc*/ data-styled.g964[id="TableOfContentsStyles__StyledTableOfContentsContainer-sc-8a21f586-0"]{content:"gqBRRz,"}/*!sc*/ .dhdJdx{color:#000c2b;font-family:'__Inter_1fc7a2',sans-serif;font-size:14px;font-weight:700;letter-spacing:1px;line-height:22px;margin:0;text-transform:uppercase;}/*!sc*/ data-styled.g965[id="TableOfContentsStyles__StyledTableOfContentsTitle-sc-8a21f586-1"]{content:"dhdJdx,"}/*!sc*/ .ifwrc{color:#000c2b;font-size:14px;letter-spacing:1px;line-height:1.2;list-style:none;opacity:1;}/*!sc*/ data-styled.g966[id="TableOfContentsStyles__StyledTableOfContentsList-sc-8a21f586-2"]{content:"ifwrc,"}/*!sc*/ .bljiJp{font-size:14px;letter-spacing:1px;line-height:1.1;margin:12px 0 0 0px;overflow-wrap:break-word;}/*!sc*/ data-styled.g967[id="TableOfContentsStyles__StyledTableOfContentsListItem-sc-8a21f586-3"]{content:"bljiJp,"}/*!sc*/ .QlmaO{color:#8a96b5;cursor:pointer;font-family:'__Inter_1fc7a2',sans-serif;font-size:16px;font-weight:400;line-height:24px;text-decoration:none;}/*!sc*/ .QlmaO:hover{color:#031b4e;}/*!sc*/ data-styled.g968[id="TableOfContentsStyles__StyledTableOfContentsListLink-sc-8a21f586-4"]{content:"QlmaO,"}/*!sc*/ .eEMXWO{font-family:'__Inter_1fc7a2',sans-serif;font-size:16px;font-weight:400;line-height:24px;}/*!sc*/ data-styled.g969[id="TableOfContentsStyles__StyledTableOfContentsListItemText-sc-8a21f586-5"]{content:"eEMXWO,"}/*!sc*/ .eCZyMk{padding-top:40px;}/*!sc*/ @media only screen and (max-width: 1024px){.eCZyMk{display:none;}}/*!sc*/ data-styled.g1085[id="QuestionAndTutorialLeftContainerStyles__StyledColumnContainer-sc-d8dce6ad-0"]{content:"eCZyMk,"}/*!sc*/ .ijessN{position:sticky;top:230px;}/*!sc*/ data-styled.g1086[id="QuestionAndTutorialLeftContainerStyles__StyledStickyContainer-sc-d8dce6ad-1"]{content:"ijessN,"}/*!sc*/ .hOkEeI{padding:0 24px;}/*!sc*/ @media only screen and (min-width: 768px){.hOkEeI{padding:0 40px;}}/*!sc*/ @media only screen and (min-width: 1025px){.hOkEeI{display:grid;gap:clamp( 1rem, -10.076923076923077rem + 17.307692307692307vw, 5.5rem );grid-template-columns:192px minmax(0,1fr) 192px;margin:0 auto;max-width:1360px;padding:0 24px;}}/*!sc*/ data-styled.g1087[id="QuestionAndTutorialOuterContainerStyles__StyledOuterContainer-sc-94f1337-0"]{content:"hOkEeI,"}/*!sc*/ .jsWEOJ{padding-bottom:16px;padding-top:40px;}/*!sc*/ @media only screen and (max-width: 1024px){.jsWEOJ{display:none;}}/*!sc*/ data-styled.g1088[id="QuestionAndTutorialRightContainerStyles__StyledContainer-sc-67cb485e-0"]{content:"jsWEOJ,"}/*!sc*/ .ZhibX{position:sticky;top:230px;}/*!sc*/ data-styled.g1089[id="QuestionAndTutorialRightContainerStyles__StyledStickyContainer-sc-67cb485e-1"]{content:"ZhibX,"}/*!sc*/ .jLoSgL{margin-bottom:32px;}/*!sc*/ .jLoSgL:last-child{margin-bottom:0;}/*!sc*/ data-styled.g1090[id="QuestionAndTutorialSideNavigationStyles__StyledSideNavigationGroup-sc-8d4e3a-0"]{content:"jLoSgL,"}/*!sc*/ .cUgAOq{color:#000c2b;font-size:16px;font-weight:500;line-height:1.5;margin:0 0 16px;}/*!sc*/ data-styled.g1091[id="QuestionAndTutorialSideNavigationStyles__StyledHeading-sc-8d4e3a-1"]{content:"cUgAOq,"}/*!sc*/ .ghzFwn{font-size:16px;font-weight:500;line-height:1.5;margin:0 0 8px;}/*!sc*/ .ghzFwn:last-child{margin-bottom:0;}/*!sc*/ data-styled.g1092[id="QuestionAndTutorialSideNavigationStyles__StyledListItem-sc-8d4e3a-2"]{content:"ghzFwn,"}/*!sc*/ .jAcrvR{margin:0;}/*!sc*/ .jAcrvR a{color:#0069ff;margin:24px 0;}/*!sc*/ .jAcrvR a::after{font-size:1em;}/*!sc*/ .jAcrvR+li::before{background-color:#d6dcea;content:'';display:block;height:1px;position:relative;width:100%;}/*!sc*/ data-styled.g1093[id="QuestionAndTutorialSideNavigationStyles__StyledListItemEmphasized-sc-8d4e3a-3"]{content:"jAcrvR,"}/*!sc*/ .cqFhmh{color:#4d5b7c;transition:color 0.2s ease;}/*!sc*/ .cqFhmh:hover{color:#323232;}/*!sc*/ data-styled.g1094[id="QuestionAndTutorialSideNavigation___StyledLazyLink-sc-5001fc89-0"]{content:"cqFhmh,"}/*!sc*/ .gMFPJj{background-image:url('/_next/static/media/community-cta-background.5fe326c6.svg');background-repeat:no-repeat;background-size:cover;border:2px solid rgba(17, 25, 46, 0.1);border-radius:16px;padding:24px;position:relative;}/*!sc*/ .gMFPJj h3{color:#000c2b;font-size:16px;font-weight:700;line-height:24px;margin:0 0 8px;}/*!sc*/ .gMFPJj p{color:#4d5b7c;font-size:14px;line-height:20px;margin:0;}/*!sc*/ data-styled.g1103[id="CommunityCTAStyles-sc-f4cdce3f-0"]{content:"gMFPJj,"}/*!sc*/ .hnkFuV{background-color:#0069ff;border-radius:40px;color:#fff;font-family:'__Inter_1fc7a2',sans-serif;font-size:14px;font-weight:600;line-height:20px;margin:24px 0 0;padding:6px 16px;transition:all 0.2s ease;}/*!sc*/ .hnkFuV:hover{background-color:#002c9b;color:#e3e8f4;}/*!sc*/ data-styled.g1105[id="CommunityCTA___StyledTextLink-sc-ca2b5295-1"]{content:"hnkFuV,"}/*!sc*/ .dhVrNO{background:#eff2fb;border-radius:8px;color:#4d5b7c;cursor:pointer;display:inline-block;font-size:14px;font-style:normal;font-weight:500;line-height:1.7142857142857142;margin:4px 8px 4px 0;padding:0 8px;text-align:center;text-decoration:none;transition:background 0.15s linear,color 0.15s linear;}/*!sc*/ .dhVrNO:hover{background:#1253fa;color:#fff;}/*!sc*/ data-styled.g1128[id="TagStyles__StyledTag-sc-a75ae9ac-0"]{content:"dhVrNO,"}/*!sc*/ .jgVACS{align-items:center;display:flex;flex-wrap:wrap;gap:16px;margin:auto;width:100%;}/*!sc*/ data-styled.g1164[id="QuestionSearchFooterStyles__StyledQuestionSearchFooterContent-sc-43bc7691-0"]{content:"jgVACS,"}/*!sc*/ .IuQNg{background:transparent;border:1px solid #aab3ca;border-radius:12px;color:#24335a;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;text-decoration:none;}/*!sc*/ .IuQNg:hover{background:#1253fa;border:1px solid #1253fa;box-shadow:0 10px 20px rgba(3, 27, 78, 0.1);color:#fff;transition:box-shadow 0.25s linear,-webkit-box-shadow 0.25s linear;}/*!sc*/ data-styled.g1165[id="QuestionSearchFooterStyles__StyledActionBox-sc-43bc7691-1"]{content:"IuQNg,"}/*!sc*/ .BIpEk{color:#081b4b;font-family:'__Epilogue_61966b',sans-serif;font-size:20px;font-style:normal;font-weight:500;line-height:28px;}/*!sc*/ data-styled.g1166[id="QuestionSearchFooter___StyledHeading-sc-b0972586-0"]{content:"BIpEk,"}/*!sc*/ .kDrTcG{background:none;border:none;border-radius:0;color:#081b4b;display:block;font-size:20px;font-weight:500;height:auto;padding:15px 20px;position:relative;text-align:left;white-space:inherit;}/*!sc*/ @media only screen and (max-width: 768px){.kDrTcG{display:inline-block;}}/*!sc*/ .kDrTcG:hover{background:none;}/*!sc*/ .kDrTcG:focus{border:none;box-shadow:none!important;}/*!sc*/ .kDrTcG.white{color:#fff;}/*!sc*/ data-styled.g1167[id="TutorialTabs___StyledButton-sc-f2c5ea96-0"]{content:"kDrTcG,"}/*!sc*/ .hwqQwE{stroke-dasharray:150%;stroke-linecap:round;stroke-width:2;}/*!sc*/ .hwqQwE.selected{animation:jHJSFW 0.6s forwards;}/*!sc*/ @media only screen and (max-width: 768px){.hwqQwE{stroke-dasharray:100%;transform:rotate(-90deg) translate(-6px,1px) scale(4);}}/*!sc*/ data-styled.g1168[id="TutorialTabs___StyledLine-sc-f2c5ea96-1"]{content:"hwqQwE,"}/*!sc*/ .gSGogM{background-color:#e5e8ed;border-radius:8px;bottom:-4px;display:inline-block;height:4px;left:0;position:absolute;width:100%;}/*!sc*/ @media only screen and (max-width: 768px){.gSGogM{height:3px;left:0;top:54px;width:100%;}}/*!sc*/ data-styled.g1169[id="TutorialTabs___StyledSvg-sc-f2c5ea96-2"]{content:"gSGogM,"}/*!sc*/ .LuTHN{border-bottom:4px solid #d6dcea;flex:none;margin-bottom:15px;text-align:center;width:100%;}/*!sc*/ .LuTHN button{display:inline-block;}/*!sc*/ data-styled.g1170[id="TutorialTabs___StyledDiv-sc-f2c5ea96-3"]{content:"LuTHN,"}/*!sc*/ .NKQyE{display:grid;grid-gap:32px;grid-template-columns:1fr;}/*!sc*/ @media only screen and (min-width: 768px){.NKQyE{grid-template-columns:1fr 200px;}}/*!sc*/ data-styled.g1176[id="TutorialSeriesListStyles__StyledSeriesGrid-sc-8b604fb6-0"]{content:"NKQyE,"}/*!sc*/ .dpBxBF ul li{background:url(/_next/static/media/circle.5c9ff8d3.svg) no-repeat left 10px;padding:2px 0;padding-left:1em;}/*!sc*/ .dpBxBF ul li:hover{background:url(/_next/static/media/disc.677bc142.svg) no-repeat left 10px;}/*!sc*/ .dpBxBF ul li:hover a{color:#1633ff;}/*!sc*/ .dpBxBF ul li a{color:#8a96b5;font-size:16px;line-height:24px;margin:0 8px;text-decoration-line:underline;}/*!sc*/ data-styled.g1178[id="TutorialSeriesListStyles__StyledSeriesList-sc-8b604fb6-2"]{content:"dpBxBF,"}/*!sc*/ .iJmWSx{color:#081b4b;font-family:'__Epilogue_61966b',sans-serif;font-size:20px;font-style:normal;font-weight:500;line-height:28px;margin:8px 0;}/*!sc*/ data-styled.g1179[id="TutorialSeriesListStyles__StyledSeriesBrowse-sc-8b604fb6-3"]{content:"iJmWSx,"}/*!sc*/ .iNRoJr{align-items:center;background:#fff url(/_next/static/media/Subscribe.4ac22aba.svg) no-repeat 10px/16px;border:1px solid #aab3ca;border-radius:10px;color:#24335a;cursor:pointer;display:flex;font-size:16px;height:40px;line-height:24px;margin:16px 0 24px;padding:8px 20px 8px 2em;width:auto;}/*!sc*/ .iNRoJr:hover{background:#1633ff url(/_next/static/media/SubscribeHover.086d6b26.svg) no-repeat 10px/16px;border-color:#1633ff;color:#fff;}/*!sc*/ data-styled.g1180[id="TutorialSeriesListStyles__StyledSubscribeButton-sc-8b604fb6-4"]{content:"iNRoJr,"}/*!sc*/ .csUVzF{display:flex;flex-wrap:wrap;justify-content:flex-start;}/*!sc*/ .csUVzF a{margin:4px 4px 4px 0;}/*!sc*/ data-styled.g1181[id="TutorialSeriesListStyles__StyledTags-sc-8b604fb6-5"]{content:"csUVzF,"}/*!sc*/ .STSyA{display:block;height:auto;margin-top:16px;width:100%;}/*!sc*/ data-styled.g1182[id="SeriesCarouselStyles__StyledContainer-sc-5f80ef27-0"]{content:"STSyA,"}/*!sc*/ .jXVDUV{overflow-x:hidden;width:100%;}/*!sc*/ @media only screen and (min-width: 768px){.jXVDUV{position:relative;}.jXVDUV::before{background:#fff;content:'';display:block;height:100%;left:0;mask-image:linear-gradient(90deg,#000 0%,transparent);position:absolute;top:0;width:10%;z-index:1;}.jXVDUV::after{background:#fff;content:' ';display:block;height:100%;mask-image:linear-gradient(270deg,#000 0%,transparent);position:absolute;right:0;top:0;width:10%;}}/*!sc*/ data-styled.g1183[id="SeriesCarouselStyles__StyledCarouselContentContainer-sc-5f80ef27-1"]{content:"jXVDUV,"}/*!sc*/ .lbPBEM{align-items:center;display:flex;justify-content:flex-start;}/*!sc*/ .lbPBEM.right{justify-content:flex-end;}/*!sc*/ data-styled.g1184[id="SeriesCarouselStyles__StyledArrowHolder-sc-5f80ef27-2"]{content:"lbPBEM,"}/*!sc*/ .hiYvcM{color:#8a96b5;transition:color 0.2s ease;}/*!sc*/ .hiYvcM:hover{color:#081b4b;}/*!sc*/ .hiYvcM svg{max-width:none;}/*!sc*/ data-styled.g1185[id="SeriesCarouselStyles__StyledArrowButton-sc-5f80ef27-3"]{content:"hiYvcM,"}/*!sc*/ .LOobf{display:flex;justify-content:center;width:100%;}/*!sc*/ data-styled.g1186[id="SeriesCarouselStyles__StyledColumnHolder-sc-5f80ef27-4"]{content:"LOobf,"}/*!sc*/ .lcaEvA{overflow-x:hidden;}/*!sc*/ @media only screen and (max-width: 768px){.lcaEvA{margin:0 auto;}}/*!sc*/ data-styled.g1187[id="SeriesCarouselStyles__StyledContentHolder-sc-5f80ef27-5"]{content:"lcaEvA,"}/*!sc*/ .cvDjrb{align-items:center;background:#fff;box-sizing:border-box;color:#323232;display:block;font-size:15px;padding:30px 0;width:100%;}/*!sc*/ data-styled.g1188[id="TutorialSeriesSliderStyles__StyledTutorialBarSeries-sc-40c968f4-0"]{content:"cvDjrb,"}/*!sc*/ .leozBF{color:#081b4b;margin:0;padding:0;word-break:break-word;}/*!sc*/ .leozBF a{color:#333;display:block;font-size:20px;font-weight:500;height:auto;line-height:28px;text-align:center;text-decoration:none;width:auto;}/*!sc*/ .leozBF a:hover{color:#0069ff;}/*!sc*/ data-styled.g1189[id="TutorialSeriesSliderStyles__StyledBreadCrumbTitle-sc-40c968f4-1"]{content:"leozBF,"}/*!sc*/ .fOfIYe{background:#f9fafe;border:1px solid #e3e8f4;border-radius:16px;box-sizing:border-box;display:inline-block;height:56px;width:260px;}/*!sc*/ @media only screen and (min-width: 768px){.fOfIYe{width:320px;}}/*!sc*/ .fOfIYe:hover{border:1px solid #1253fa;}/*!sc*/ .fOfIYe:hover a{color:#081b4b;}/*!sc*/ .fOfIYe a{color:#4d5b7c;display:block;font-size:14px;line-height:22px;overflow:hidden;padding:16px;text-decoration:none;text-overflow:ellipsis;white-space:nowrap;}/*!sc*/ data-styled.g1190[id="TutorialSeriesSliderStyles__StyledSeriesCard-sc-40c968f4-2"]{content:"fOfIYe,"}/*!sc*/ .igwIZZ{align-items:center;background:#fff;display:flex;padding:40px;}/*!sc*/ .igwIZZ .alert{background:#15CD72;border-radius:8px;color:#fff;display:block;padding:8px;}/*!sc*/ .igwIZZ .alert-hidden{display:none;}/*!sc*/ data-styled.g1191[id="TechTalkRegistrationModalTemplateStyles__StyledFormContainer-sc-8b89ec4f-0"]{content:"igwIZZ,"}/*!sc*/ .fneTDw{display:flex;flex-direction:column;width:100%;}/*!sc*/ .fneTDw input{margin-bottom:8px;margin-left:0;z-index:1;}/*!sc*/ data-styled.g1192[id="TechTalkRegistrationModalTemplateStyles__StyledForm-sc-8b89ec4f-1"]{content:"fneTDw,"}/*!sc*/ .lhxYYL{background:#fff;border:1px solid #c0c2d3;border-radius:8px;box-shadow:0 4px 0 rgba(91, 105, 135, 0.2);box-sizing:border-box;height:48px;left:0;max-width:560px;padding:12px 24px;position:static;top:0;width:100%;}/*!sc*/ @media only screen and (max-width: 1024px){.lhxYYL{display:flex;flex-direction:column;}}/*!sc*/ data-styled.g1193[id="TechTalkRegistrationModalTemplateStyles__StyledFormInput-sc-8b89ec4f-2"]{content:"lhxYYL,"}/*!sc*/ .WomeH{background:#0069ff;border:0 solid transparent;border-radius:8px;box-shadow:0 0 0 transparent;color:#fff;cursor:pointer;font-size:14px;font-weight:500;margin:auto 0 auto 16px;max-width:fit-content;padding:16px;text-shadow:0 0 0 transparent;transition:background-color 0.6s ease;}/*!sc*/ .WomeH:hover{background-color:#1633ff;}/*!sc*/ data-styled.g1194[id="TechTalkRegistrationModalTemplateStyles__StyledSubmit-sc-8b89ec4f-3"]{content:"WomeH,"}/*!sc*/ .iSNMWw{background:#fff;border-radius:8px;display:flex;flex-direction:column;justify-content:space-between;margin:0 auto;max-width:776px;}/*!sc*/ @media only screen and (max-width: 1024px){.iSNMWw{width:100%;}}/*!sc*/ data-styled.g1195[id="TechTalkRegistrationModalTemplateStyles__StyledModalContent-sc-8b89ec4f-4"]{content:"iSNMWw,"}/*!sc*/ .hQlgAx{align-items:center;border-bottom:1px solid #f3f5f9;display:flex;justify-content:space-between;}/*!sc*/ data-styled.g1196[id="TechTalkRegistrationModalTemplateStyles__StyledModalHeader-sc-8b89ec4f-5"]{content:"hQlgAx,"}/*!sc*/ .dXRpLN{left:0;position:relative;}/*!sc*/ @media only screen and (min-width: 768px){.dXRpLN{left:170px;}}/*!sc*/ data-styled.g1206[id="SeriesCarousel___StyledDiv-sc-90419a60-0"]{content:"dXRpLN,"}/*!sc*/ .kWUFQE{background-color:#fff;border:1px solid #a9b3ca;border-radius:100%;box-sizing:border-box;cursor:pointer;display:block;height:10px;line-height:0;margin:0 4px 4px;padding:3px;width:10px;}/*!sc*/ .kWUFQE.selected{background-color:#0069ff;border:none;}/*!sc*/ .kWUFQE:hover{background-color:#1253fa;}/*!sc*/ data-styled.g1207[id="SeriesCarousel___StyledButton-sc-90419a60-1"]{content:"kWUFQE,"}/*!sc*/ .keWcHq{display:flex;flex-wrap:wrap;justify-content:center;}/*!sc*/ data-styled.g1208[id="SeriesCarousel___StyledDiv2-sc-90419a60-2"]{content:"keWcHq,"}/*!sc*/ .ixAkxo{display:flex;justify-content:center;margin-top:16px;width:100%;}/*!sc*/ data-styled.g1209[id="SeriesCarousel___StyledDiv3-sc-90419a60-3"]{content:"ixAkxo,"}/*!sc*/ .cLvXQP{display:inline-block;height:100%;}/*!sc*/ data-styled.g1210[id="SeriesCarousel___StyledDiv4-sc-90419a60-4"]{content:"cLvXQP,"}/*!sc*/ .dKWgyu{border:1px solid #4994ff;background:#fff;}/*!sc*/ .dKWgyu a{color:#081b4b;}/*!sc*/ data-styled.g1211[id="TutorialSeriesSlider___StyledStyledSeriesCard-sc-eb25c940-0"]{content:"dKWgyu,"}/*!sc*/ .fZaNDn{padding:24px;}/*!sc*/ data-styled.g1212[id="TechTalkRegistrationModalTemplate___StyledHeading-sc-3c341be5-0"]{content:"fZaNDn,"}/*!sc*/ .bvWmwZ{font-family:'__JetBrains_Mono_26ed0d',monospace;font-size:16px;font-style:normal;font-weight:bold;letter-spacing:1px;line-height:24px;margin:20px 0 8px;text-transform:uppercase;color:#ff1eff;}/*!sc*/ .bvWmwZ::before{content:'// ';}/*!sc*/ .bvWmwZ::after{content:' //';}/*!sc*/ data-styled.g1214[id="TutorialTemplate___StyledHeading-sc-f82223ba-1"]{content:"bvWmwZ,"}/*!sc*/ .eDngSU{color:#031b4e;font-family:'__Epilogue_61966b',sans-serif;font-size:24px;font-style:normal;font-weight:bold;letter-spacing:-0.5px;line-height:40px;margin:0;padding:0;word-break:break-word;}/*!sc*/ @media only screen and (min-width: 768px){.eDngSU{font-size:32px;}}/*!sc*/ data-styled.g1215[id="TutorialTemplate___StyledHeading2-sc-f82223ba-2"]{content:"eDngSU,"}/*!sc*/ @keyframes jHJSFW{from{opacity:0;stroke-dashoffset:50;}to{opacity:1;stroke-dashoffset:0;}}/*!sc*/ data-styled.g1217[id="sc-keyframes-jHJSFW"]{content:"jHJSFW,"}/*!sc*/ @keyframes dTJZHc{0%{opacity:1;display:block;}100%{opacity:0;display:none;}}/*!sc*/ data-styled.g1218[id="sc-keyframes-dTJZHc"]{content:"dTJZHc,"}/*!sc*/ @keyframes buZmJQ{0%{opacity:0;display:none;}100%{opacity:1;display:block;}}/*!sc*/ data-styled.g1219[id="sc-keyframes-buZmJQ"]{content:"buZmJQ,"}/*!sc*/ @keyframes bVoocj{0%{background-color:rgb(255 255 255 / 0%);}100%{background-color:rgb(255 255 255 / 50%);}}/*!sc*/ data-styled.g1220[id="sc-keyframes-bVoocj"]{content:"bVoocj,"}/*!sc*/ </style></head><body><div id="__next"><div class="NotificationsStyles__NotificationsContainer-sc-3fed92dc-0 gxWftL"></div><div class="Layout__StyledLayout-sc-9a2c2eaa-0 eRAxIv"><div class="HeaderStyles__StyledHeader-sc-2183282b-0 iRpprC"><div aria-label="Top Bar" class="TopBarstyles__StyledTopBar-sc-17n1n7p-0 jAevVa"><nav class="TopBarstyles__StyledTopBarContainer-sc-17n1n7p-1 hXYJJd"><div class="TopBarstyles__StyledTopBarCTAs-sc-17n1n7p-2 gNfbaK"></div><ul class="TopBarstyles__StyledTopBarLinks-sc-17n1n7p-3 dQLKLT"><li class="Typographystyles-sc-o7qsl9-0 iDUbLq"><a href="/blog">Blog</a></li><li class="Typographystyles-sc-o7qsl9-0 iDUbLq"><a href="https://docs.digitalocean.com/products">Docs</a></li><li class="Typographystyles-sc-o7qsl9-0 iDUbLq"><a href="/support">Get Support</a></li><li class="Typographystyles-sc-o7qsl9-0 iDUbLq"><a href="/company/contact/sales?referrer=tophat">Contact Sales</a></li></ul></nav></div><header class="Headerstyles__StyledHeader-sc-9ucsot-0 kQRSde"><div class="Headerstyles__StyledHeaderContainer-sc-9ucsot-1 khIPJI"><div class="Headerstyles__StyledHeaderLogo-sc-9ucsot-2 kjXNsT"><a href="/"><span class="Typographystyles-sc-o7qsl9-0 liuhbD">DigitalOcean</span><div aria-hidden="true" class="DigitalOceanStyles__StyledLogo-sc-a8278400-1 eUPtCH"><svg width="32" height="32" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 90 90" tabindex="-1" class="DigitalOceanSmileyStyles__StyledSvg-sc-64ca7b97-4 hjiknj"><circle cx="45" cy="45" r="36.25" fill="none" stroke="currentColor" stroke-width="17.5" stroke-dasharray="170.824100538945 56.941366846315" stroke-dashoffset="113.88273369263" class="DigitalOceanSmileyStyles__StyledCircle-sc-64ca7b97-0 bFTXQH"></circle><rect x="3.25" y="61.5" width="11" height="11" fill="currentColor" class="DigitalOceanSmileyStyles__StyledPixelSm-sc-64ca7b97-1 fLzQlC"></rect><rect x="14.25" y="72.5" width="13.5" height="13.5" fill="currentColor" class="DigitalOceanSmileyStyles__StyledPixelMd-sc-64ca7b97-2 gicUQZ"></rect><rect x="27.5" y="55.25" width="17.25" height="17.25" fill="currentColor" class="DigitalOceanSmileyStyles__StyledPixelLg-sc-64ca7b97-3 fAILdG"></rect></svg><svg xmlns="http://www.w3.org/2000/svg" height="32" viewBox="32 0 159 32" fill="currentColor" class="DigitalOceanStyles__StyledText-sc-a8278400-0 fApuTk"><path d="M57.242 9.305c-1.835-1.254-4.129-1.9-6.806-1.9h-5.812v18.399h5.812c2.677 0 4.971-.685 6.806-2.015.994-.722 1.797-1.711 2.333-2.965.535-1.255.841-2.699.841-4.334 0-1.635-.268-3.079-.841-4.296-.536-1.254-1.3-2.242-2.333-2.889Zm-9.213 1.179h1.835c2.027 0 3.709.38 4.971 1.178 1.415.837 2.141 2.471 2.141 4.79 0 2.395-.726 4.068-2.141 4.98-1.224.798-2.868 1.217-4.933 1.217h-1.835V10.484h-.038Zm16.479-3.346c-.574 0-1.032.191-1.415.571-.382.38-.612.836-.612 1.406s.192 1.027.574 1.445c.382.38.879.57 1.453.57.574 0 1.032-.19 1.453-.57.382-.38.574-.875.574-1.445 0-.57-.192-1.026-.574-1.406-.421-.342-.918-.571-1.453-.571Zm-1.683 5.664h3.288v12.963h-3.288zm15.177 1.103c-.994-.874-2.103-1.369-3.288-1.369-1.797 0-3.327.609-4.474 1.863-1.185 1.217-1.759 2.775-1.759 4.638 0 1.825.574 3.383 1.721 4.638 1.147 1.216 2.677 1.824 4.474 1.824 1.262 0 2.332-.342 3.25-1.026v.304c0 1.064-.306 1.901-.841 2.471-.574.57-1.377.874-2.333.874-1.529 0-2.447-.608-3.632-2.128l-2.218 2.128.076.076c.498.685 1.224 1.331 2.18 1.939.956.608 2.218.95 3.633.95 1.95 0 3.517-.608 4.664-1.786 1.148-1.179 1.759-2.775 1.759-4.714V12.803h-3.212v1.102Zm-.878 7.641c-.574.646-1.3.95-2.256.95-.956 0-1.683-.304-2.218-.95-.574-.646-.841-1.483-.841-2.547s.267-1.901.841-2.547c.574-.646 1.3-.95 2.218-.95.956 0 1.682.304 2.256.95.573.646.841 1.521.841 2.547.038 1.064-.268 1.901-.841 2.547Zm6.883-8.744h3.288v12.963h-3.288zm1.685-5.664c-.574 0-1.033.191-1.415.571-.382.38-.612.836-.612 1.406s.191 1.027.574 1.445c.382.38.879.57 1.453.57.573 0 1.032-.19 1.453-.57.382-.38.573-.875.573-1.445 0-.57-.191-1.026-.573-1.406-.421-.342-.88-.571-1.453-.571Zm8.793 2.167h-3.212v3.498h-1.874v2.965h1.874v5.36c0 1.672.344 2.889.994 3.573.689.684 1.874 1.064 3.518 1.064.535 0 1.071 0 1.606-.038h.153v-2.965l-1.109.076c-.765 0-1.3-.152-1.568-.418-.267-.266-.382-.836-.382-1.71v-4.904h3.059v-2.965h-3.059V9.305Zm18.43-1.939h3.288v18.4h-3.288v-18.4Zm36.364 13.762c-.574.646-1.186 1.216-1.645 1.52-.458.304-1.032.418-1.682.418-.956 0-1.759-.342-2.371-1.064-.612-.722-.956-1.635-.956-2.737s.306-2.015.918-2.737c.612-.722 1.415-1.064 2.371-1.064 1.07 0 2.179.646 3.135 1.786l2.18-2.053c-1.415-1.824-3.212-2.661-5.354-2.661-1.797 0-3.364.647-4.626 1.939-1.262 1.293-1.912 2.889-1.912 4.828 0 1.939.65 3.573 1.912 4.828 1.262 1.292 2.829 1.939 4.626 1.939 2.371 0 4.283-1.027 5.583-2.89l-2.179-2.052Zm13.459-6.501c-.459-.646-1.109-1.178-1.874-1.558-.765-.38-1.683-.57-2.715-.57-1.835 0-3.327.684-4.435 1.976-1.109 1.331-1.645 2.965-1.645 4.866 0 1.977.612 3.574 1.797 4.828 1.186 1.216 2.792 1.863 4.742 1.863 2.218 0 4.015-.875 5.391-2.623l.077-.076-2.141-2.053c-.192.228-.498.494-.727.76-.306.304-.612.532-.956.684a3.856 3.856 0 0 1-1.644.381c-.918 0-1.644-.266-2.218-.799-.535-.494-.841-1.14-.918-1.976h8.68l.039-1.179c0-.836-.115-1.635-.345-2.395-.305-.798-.65-1.482-1.108-2.129Zm-7.15 3.042a3.28 3.28 0 0 1 .841-1.521c.459-.418 1.032-.646 1.721-.646.803 0 1.414.228 1.835.684.382.418.612.912.65 1.521h-5.047v-.038Zm19.731-3.878c-.994-.836-2.37-1.255-4.091-1.255-1.109 0-2.103.229-3.021.685a5.297 5.297 0 0 0-2.218 2.09l.039.038 2.103 2.015c.879-1.368 1.835-1.862 3.097-1.862.688 0 1.262.19 1.682.532.421.342.65.798.65 1.406v.647c-.803-.229-1.606-.381-2.409-.381-1.644 0-2.944.381-3.938 1.141-.994.76-1.491 1.863-1.491 3.231 0 1.217.42 2.205 1.262 2.927.841.722 1.911 1.065 3.173 1.065s2.409-.495 3.48-1.369v1.064h3.212V17.44c-.039-1.596-.536-2.813-1.53-3.649Zm-5.813 7.032c.383-.266.88-.38 1.568-.38a7.31 7.31 0 0 1 2.485.457v1.254c-.726.646-1.682.988-2.829.988-.574 0-.994-.114-1.3-.38-.306-.228-.459-.532-.459-.95 0-.418.153-.76.535-.989Zm19.922-6.804c-.918-1.026-2.18-1.52-3.824-1.52-1.3 0-2.37.38-3.135 1.102v-.798h-3.212v12.963h3.288v-7.147c0-.988.23-1.749.689-2.319.458-.57 1.108-.836 1.95-.836.726 0 1.3.228 1.72.722.421.494.612 1.178.612 2.053v7.489h3.288v-7.489c0-1.787-.458-3.193-1.376-4.22Zm-80.64-.228c-.994-.836-2.371-1.255-4.091-1.255-1.109 0-2.103.229-3.021.685a5.291 5.291 0 0 0-2.218 2.09l.038.038 2.103 2.015c.88-1.368 1.836-1.862 3.098-1.862.688 0 1.261.19 1.682.532.421.342.65.798.65 1.406v.647c-.803-.229-1.606-.381-2.409-.381-1.644 0-2.944.381-3.938 1.141-.994.76-1.492 1.863-1.492 3.231 0 1.217.421 2.205 1.262 2.927s1.912 1.065 3.174 1.065 2.409-.495 3.48-1.369v1.064h3.211V17.44c-.038-1.596-.535-2.813-1.529-3.649Zm-5.813 7.032c.383-.266.88-.38 1.568-.38a7.31 7.31 0 0 1 2.485.457v1.254c-.726.646-1.682.988-2.829.988-.574 0-.994-.114-1.3-.38-.306-.228-.459-.532-.459-.95 0-.418.153-.76.535-.989Zm25.082 5.209c-5.238 0-9.521-4.258-9.521-9.466 0-5.208 4.283-9.466 9.521-9.466 5.239 0 9.521 4.258 9.521 9.466 0 5.208-4.244 9.466-9.521 9.466Zm-.001-15.624c-3.403 0-6.156 2.737-6.156 6.12s2.753 6.121 6.156 6.121c3.403 0 6.156-2.738 6.156-6.121 0-3.383-2.753-6.12-6.156-6.12Z"></path></svg></div></a></div><nav aria-label="Main" class="Navigationstyles__StyledNavigation-sc-16d688r-0 iNeWsG"><div class="Navigationstyles__StyledNavigationContainer-sc-16d688r-1 eurNaw"><ul class="Navigationstyles__StyledNavigationList-sc-16d688r-2 lgNUwG"><li class="Navigationstyles__StyledNavigationItem-sc-16d688r-3 jIrYZj"><button type="button" aria-expanded="false"><span class="Typographystyles-sc-o7qsl9-0 kYYRis">Products</span><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg></button><div class="Dropdownstyles__StyledDropdown-sc-16wobc6-1 hJbnLp"><ul class="Dropdownstyles__StyledDropdownContainer-sc-16wobc6-0 cpPLSu"><li class="Featurestyles__StyledFeature-sc-1xznbxx-0 cJmNMu"><p class="Typographystyles-sc-o7qsl9-0 RRfqP">Featured Products</p><ul><li><a href="/products/droplets"><span class="Typographystyles-sc-o7qsl9-0 dUkcXP Featurestyles__StyledFeatureTitle-sc-1xznbxx-1 gKuGph">Droplets</span><br/><span class="Typographystyles-sc-o7qsl9-0 kLhCbB Featurestyles__StyledFeatureDescription-sc-1xznbxx-2 cIrmJV">Scalable virtual machines</span></a></li><li><a href="/products/kubernetes"><span class="Typographystyles-sc-o7qsl9-0 dUkcXP Featurestyles__StyledFeatureTitle-sc-1xznbxx-1 gKuGph">Kubernetes</span><br/><span class="Typographystyles-sc-o7qsl9-0 kLhCbB Featurestyles__StyledFeatureDescription-sc-1xznbxx-2 cIrmJV">Scalable virtual machines</span></a></li><li><a href="/products/ai-ml"><span class="Typographystyles-sc-o7qsl9-0 dUkcXP Featurestyles__StyledFeatureTitle-sc-1xznbxx-1 gKuGph">AI / ML</span><br/><span class="Typographystyles-sc-o7qsl9-0 kLhCbB Featurestyles__StyledFeatureDescription-sc-1xznbxx-2 cIrmJV">Build and scale AI models</span></a></li><li><a href="/products/cloudways"><span class="Typographystyles-sc-o7qsl9-0 dUkcXP Featurestyles__StyledFeatureTitle-sc-1xznbxx-1 gKuGph">Cloudways</span><br/><span class="Typographystyles-sc-o7qsl9-0 kLhCbB Featurestyles__StyledFeatureDescription-sc-1xznbxx-2 cIrmJV">Managed cloud hosting</span></a></li><li><a href="/products/app-platform"><span class="Typographystyles-sc-o7qsl9-0 dUkcXP Featurestyles__StyledFeatureTitle-sc-1xznbxx-1 gKuGph">App Platform</span><br/><span class="Typographystyles-sc-o7qsl9-0 kLhCbB Featurestyles__StyledFeatureDescription-sc-1xznbxx-2 cIrmJV">Get apps to market faster</span></a></li></ul></li><li class="Dropdownstyles__StyledDropdownColumns-sc-16wobc6-3 gmoCMg"><ul class="Dropdownstyles__StyledDropdownColumn-sc-16wobc6-2 ghVuUg"><div><div class="Liststyles__StyledListContainer-sc-1elshwh-0 lhzoCV"><p class="Typographystyles-sc-o7qsl9-0 RRfqP">Compute</p><ul class="Liststyles__StyledList-sc-1elshwh-1 gvoncB"><li class="Typographystyles-sc-o7qsl9-0 dJqBXQ"><a href="/products/droplets">Droplets</a></li><li class="Typographystyles-sc-o7qsl9-0 dJqBXQ"><a href="/products/kubernetes">Kubernetes</a></li><li class="Typographystyles-sc-o7qsl9-0 dJqBXQ"><a href="/products/droplets/cpu-optimized">CPU-Optimized Droplets</a></li><li class="Typographystyles-sc-o7qsl9-0 dJqBXQ"><a href="/products/functions">Functions</a></li><li class="Typographystyles-sc-o7qsl9-0 dJqBXQ"><a href="/products/app-platform">App Platform</a></li></ul></div></div><div><div class="Liststyles__StyledListContainer-sc-1elshwh-0 lhzoCV"><p class="Typographystyles-sc-o7qsl9-0 RRfqP">AI / ML</p><ul class="Liststyles__StyledList-sc-1elshwh-1 gvoncB"><li class="Typographystyles-sc-o7qsl9-0 dJqBXQ"><a href="/products/gpu-droplets">GPU Droplets</a></li><li class="Typographystyles-sc-o7qsl9-0 dJqBXQ"><a href="/products/ai-ml/1-click-models">1-Click Models</a></li><li class="Typographystyles-sc-o7qsl9-0 dJqBXQ"><a href="/products/gen-ai">GenAI Platform</a></li><li class="Typographystyles-sc-o7qsl9-0 dJqBXQ"><a href="/products/bare-metal-gpu">Bare Metal</a></li></ul></div></div><div><div class="Liststyles__StyledListContainer-sc-1elshwh-0 lhzoCV"><p class="Typographystyles-sc-o7qsl9-0 RRfqP">Backups &amp; Snapshots</p><ul class="Liststyles__StyledList-sc-1elshwh-1 gvoncB"><li class="Typographystyles-sc-o7qsl9-0 dJqBXQ"><a href="/products/backups">Backups</a></li><li class="Typographystyles-sc-o7qsl9-0 dJqBXQ"><a href="https://docs.digitalocean.com/products/images/snapshots">Snapshots</a></li><li class="Typographystyles-sc-o7qsl9-0 dJqBXQ"><a href="https://marketplace.digitalocean.com/add-ons/snapshooter">SnapShooter</a></li></ul></div></div></ul><ul class="Dropdownstyles__StyledDropdownColumn-sc-16wobc6-2 ghVuUg"><div><div class="Liststyles__StyledListContainer-sc-1elshwh-0 lhzoCV"><p class="Typographystyles-sc-o7qsl9-0 RRfqP">Networking</p><ul class="Liststyles__StyledList-sc-1elshwh-1 gvoncB"><li class="Typographystyles-sc-o7qsl9-0 dJqBXQ"><a href="/products/vpc">Virtual Private Cloud (VPC)</a></li><li class="Typographystyles-sc-o7qsl9-0 dJqBXQ"><a href="/products/cloud-firewalls">Cloud Firewalls</a></li><li class="Typographystyles-sc-o7qsl9-0 dJqBXQ"><a href="/products/load-balancers">Load Balancers</a></li><li class="Typographystyles-sc-o7qsl9-0 dJqBXQ"><a href="https://docs.digitalocean.com/products/networking/dns">DNS</a></li><li class="Typographystyles-sc-o7qsl9-0 dJqBXQ"><a href="/products/ddos-protection">DDoS Protection</a></li></ul></div></div><div><div class="Liststyles__StyledListContainer-sc-1elshwh-0 lhzoCV"><p class="Typographystyles-sc-o7qsl9-0 RRfqP">Managed Databases</p><ul class="Liststyles__StyledList-sc-1elshwh-1 gvoncB"><li class="Typographystyles-sc-o7qsl9-0 dJqBXQ"><a href="/products/managed-databases-mongodb">MongoDB</a></li><li class="Typographystyles-sc-o7qsl9-0 dJqBXQ"><a href="/products/managed-databases-kafka">Kafka</a></li><li class="Typographystyles-sc-o7qsl9-0 dJqBXQ"><a href="/products/managed-databases-mysql">MySQL</a></li><li class="Typographystyles-sc-o7qsl9-0 dJqBXQ"><a href="/products/managed-databases-postgresql">PostgreSQL</a></li><li class="Typographystyles-sc-o7qsl9-0 dJqBXQ"><a href="/products/managed-databases-redis">Caching</a></li><li class="Typographystyles-sc-o7qsl9-0 dJqBXQ"><a href="/products/managed-databases-opensearch">OpenSearch</a></li></ul></div></div></ul><ul class="Dropdownstyles__StyledDropdownColumn-sc-16wobc6-2 ghVuUg"><div><div class="Liststyles__StyledListContainer-sc-1elshwh-0 lhzoCV"><p class="Typographystyles-sc-o7qsl9-0 RRfqP">Storage</p><ul class="Liststyles__StyledList-sc-1elshwh-1 gvoncB"><li class="Typographystyles-sc-o7qsl9-0 dJqBXQ"><a href="/products/spaces">Spaces Object Storage</a></li><li class="Typographystyles-sc-o7qsl9-0 dJqBXQ"><a href="/products/block-storage">Volume Block Storage</a></li></ul></div></div><div><div class="Liststyles__StyledListContainer-sc-1elshwh-0 lhzoCV"><p class="Typographystyles-sc-o7qsl9-0 RRfqP">Developer Tools</p><ul class="Liststyles__StyledList-sc-1elshwh-1 gvoncB"><li class="Typographystyles-sc-o7qsl9-0 dJqBXQ"><a href="https://docs.digitalocean.com/reference/api/">API</a></li><li class="Typographystyles-sc-o7qsl9-0 dJqBXQ"><a href="/products/tools-and-integrations">CLI</a></li><li class="Typographystyles-sc-o7qsl9-0 dJqBXQ"><a href="/products/support">Support Plans</a></li><li class="Typographystyles-sc-o7qsl9-0 dJqBXQ"><a href="/products/monitoring">Monitoring</a></li><li class="Typographystyles-sc-o7qsl9-0 dJqBXQ"><a href="/products/uptime-monitoring">Uptime</a></li><li class="Typographystyles-sc-o7qsl9-0 dJqBXQ"><a href="/products/identity-access-management">Identity Access Management</a></li></ul></div></div><div><div class="Liststyles__StyledListContainer-sc-1elshwh-0 lhzoCV"><p class="Typographystyles-sc-o7qsl9-0 RRfqP">Cloud Website Hosting</p><ul class="Liststyles__StyledList-sc-1elshwh-1 gvoncB"><li class="Typographystyles-sc-o7qsl9-0 dJqBXQ"><a href="/products/cloudways">Cloudways</a></li></ul></div></div></ul></li></ul><div class="Dropdownstyles__StyledDropdownCTAs-sc-16wobc6-4 iaVpsa"><a class="LinkTextstyles-sc-jz3jcd-0 gxPNxu Dropdownstyles__StyledDropdownCTA-sc-16wobc6-5 bia-dMd" href="/products"><span>See all products</span><svg viewBox="0 0 18 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12.6033 1.27344L16.6033 5.77344L12.6033 10.2734" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M1.60327 5.77344H16.6033" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></a></div></div></li><li class="Navigationstyles__StyledNavigationItem-sc-16d688r-3 jIrYZj"><button type="button" aria-expanded="false"><span class="Typographystyles-sc-o7qsl9-0 kYYRis">Solutions</span><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg></button><div class="Dropdownstyles__StyledDropdown-sc-16wobc6-1 hJbnLp"><ul class="Dropdownstyles__StyledDropdownContainer-sc-16wobc6-0 cpPLSu"><li class="Dropdownstyles__StyledDropdownColumns-sc-16wobc6-3 gmoCMg"><ul class="Dropdownstyles__StyledDropdownColumn-sc-16wobc6-2 ghVuUg"><div><div class="Tagsstyles__StyledTagsContainer-sc-1bfvx6z-0 fhYyBy"><ul class="Tagsstyles__StyledTagsList-sc-1bfvx6z-1 imkYwE"><li class="Tagsstyles__StyledTagsListItem-sc-1bfvx6z-2 bEsgRk"><div class="Tagsstyles__StyledTagsListItemContent-sc-1bfvx6z-4 ilzDgo"><span class="Typographystyles-sc-o7qsl9-0 cvZqkW"><a class="LinkTextstyles-sc-jz3jcd-0 gxPNxu" href="/products/ai-ml">AI and Machine Learning<svg viewBox="0 0 18 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12.6033 1.27344L16.6033 5.77344L12.6033 10.2734" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M1.60327 5.77344H16.6033" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></a></span><span class="Typographystyles-sc-o7qsl9-0 saphT">Develop, train, and deploy AI apps</span></div><ul class="Tagsstyles__StyledTags-sc-1bfvx6z-5 kZNQIH"><li><a class="Tagstyles-sc-ohbvtg-0 gSYjjt" href="/products/gpu-droplets">GPUs</a></li><li><a class="Tagstyles-sc-ohbvtg-0 gSYjjt" href="/products/gen-ai">GenAI Platform</a></li><li><a class="Tagstyles-sc-ohbvtg-0 gSYjjt" href="/products/ai-ml/1-click-models">1-Click Models</a></li></ul></li><li class="Tagsstyles__StyledTagsListItem-sc-1bfvx6z-2 bEsgRk"><div class="Tagsstyles__StyledTagsListItemContent-sc-1bfvx6z-4 ilzDgo"><span class="Typographystyles-sc-o7qsl9-0 cvZqkW"><a class="LinkTextstyles-sc-jz3jcd-0 gxPNxu" href="/solutions/blockchain">Blockchain<svg viewBox="0 0 18 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12.6033 1.27344L16.6033 5.77344L12.6033 10.2734" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M1.60327 5.77344H16.6033" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></a></span><span class="Typographystyles-sc-o7qsl9-0 saphT">Infrastructure for decentralized apps</span></div></li><li class="Tagsstyles__StyledTagsListItem-sc-1bfvx6z-2 bEsgRk"><div class="Tagsstyles__StyledTagsListItemContent-sc-1bfvx6z-4 ilzDgo"><span class="Typographystyles-sc-o7qsl9-0 cvZqkW"><a class="LinkTextstyles-sc-jz3jcd-0 gxPNxu" href="/solutions/content-hosting">Blogs, Forums and Content Websites<svg viewBox="0 0 18 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12.6033 1.27344L16.6033 5.77344L12.6033 10.2734" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M1.60327 5.77344H16.6033" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></a></span><span class="Typographystyles-sc-o7qsl9-0 saphT">Lightning-fast, reliable CMS hosting</span></div><ul class="Tagsstyles__StyledTags-sc-1bfvx6z-5 kZNQIH"><li><a class="Tagstyles-sc-ohbvtg-0 gSYjjt" href="/solutions/wordpress-hosting">Wordpress</a></li><li><a class="Tagstyles-sc-ohbvtg-0 gSYjjt" href="https://marketplace.digitalocean.com/apps/ghost">Ghost</a></li><li><a class="Tagstyles-sc-ohbvtg-0 gSYjjt" href="https://marketplace.digitalocean.com/apps/mastodon">Mastodon</a></li></ul></li><li class="Tagsstyles__StyledTagsListItem-sc-1bfvx6z-2 bEsgRk"><div class="Tagsstyles__StyledTagsListItemContent-sc-1bfvx6z-4 ilzDgo"><span class="Typographystyles-sc-o7qsl9-0 cvZqkW"><a class="LinkTextstyles-sc-jz3jcd-0 gxPNxu" href="/solutions/data-analytics">Data Analytics<svg viewBox="0 0 18 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12.6033 1.27344L16.6033 5.77344L12.6033 10.2734" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M1.60327 5.77344H16.6033" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></a></span><span class="Typographystyles-sc-o7qsl9-0 saphT">Real-time data processing at scale</span></div><ul class="Tagsstyles__StyledTags-sc-1bfvx6z-5 kZNQIH"><li><a class="Tagstyles-sc-ohbvtg-0 gSYjjt" href="/solutions/data-streaming-cloud">Data Streaming</a></li><li><a class="Tagstyles-sc-ohbvtg-0 gSYjjt" href="/solutions/adtech-martech">AdTech &amp; Martech</a></li></ul></li></ul></div></div></ul><ul class="Dropdownstyles__StyledDropdownColumn-sc-16wobc6-2 ghVuUg"><div><div class="Tagsstyles__StyledTagsContainer-sc-1bfvx6z-0 fhYyBy"><ul class="Tagsstyles__StyledTagsList-sc-1bfvx6z-1 imkYwE"><li class="Tagsstyles__StyledTagsListItem-sc-1bfvx6z-2 bEsgRk"><div class="Tagsstyles__StyledTagsListItemContent-sc-1bfvx6z-4 ilzDgo"><span class="Typographystyles-sc-o7qsl9-0 cvZqkW"><a class="LinkTextstyles-sc-jz3jcd-0 gxPNxu" href="/solutions/developer-tools">Developer Tools<svg viewBox="0 0 18 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12.6033 1.27344L16.6033 5.77344L12.6033 10.2734" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M1.60327 5.77344H16.6033" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></a></span><span class="Typographystyles-sc-o7qsl9-0 saphT">DevOps and CI/CD solutions</span></div><ul class="Tagsstyles__StyledTags-sc-1bfvx6z-5 kZNQIH"><li><a class="Tagstyles-sc-ohbvtg-0 gSYjjt" href="/solutions/cicd-pipelines">CI/CD</a></li><li><a class="Tagstyles-sc-ohbvtg-0 gSYjjt" href="/solutions/prototype-hosting">Prototyping</a></li></ul></li><li class="Tagsstyles__StyledTagsListItem-sc-1bfvx6z-2 bEsgRk"><div class="Tagsstyles__StyledTagsListItemContent-sc-1bfvx6z-4 ilzDgo"><span class="Typographystyles-sc-o7qsl9-0 cvZqkW"><a class="LinkTextstyles-sc-jz3jcd-0 gxPNxu" href="/solutions/digital-marketing-agencies">Digital Marketing Agencies<svg viewBox="0 0 18 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12.6033 1.27344L16.6033 5.77344L12.6033 10.2734" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M1.60327 5.77344H16.6033" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></a></span><span class="Typographystyles-sc-o7qsl9-0 saphT">Power your clients’ websites and campaigns</span></div><ul class="Tagsstyles__StyledTags-sc-1bfvx6z-5 kZNQIH"><li><a class="Tagstyles-sc-ohbvtg-0 gSYjjt" href="/solutions/freelancer-website-hosting">Freelancer</a></li><li><a class="Tagstyles-sc-ohbvtg-0 gSYjjt" href="/solutions/it-consulting">IT Consulting</a></li></ul></li><li class="Tagsstyles__StyledTagsListItem-sc-1bfvx6z-2 bEsgRk"><div class="Tagsstyles__StyledTagsListItemContent-sc-1bfvx6z-4 ilzDgo"><span class="Typographystyles-sc-o7qsl9-0 cvZqkW"><a class="LinkTextstyles-sc-jz3jcd-0 gxPNxu" href="/solutions/ecommerce-hosting">Ecommerce<svg viewBox="0 0 18 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12.6033 1.27344L16.6033 5.77344L12.6033 10.2734" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M1.60327 5.77344H16.6033" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></a></span><span class="Typographystyles-sc-o7qsl9-0 saphT">Build beautiful online storefronts</span></div><ul class="Tagsstyles__StyledTags-sc-1bfvx6z-5 kZNQIH"><li><a class="Tagstyles-sc-ohbvtg-0 gSYjjt" href="/solutions/dropshipping-hosting">Dropshipping</a></li><li><a class="Tagstyles-sc-ohbvtg-0 gSYjjt" href="https://marketplace.digitalocean.com/apps/wordpress-woocommerce">WooCommerce</a></li><li><a class="Tagstyles-sc-ohbvtg-0 gSYjjt" href="https://marketplace.digitalocean.com/apps/magento-2-open-source">Magento</a></li></ul></li><li class="Tagsstyles__StyledTagsListItem-sc-1bfvx6z-2 bEsgRk"><div class="Tagsstyles__StyledTagsListItemContent-sc-1bfvx6z-4 ilzDgo"><span class="Typographystyles-sc-o7qsl9-0 cvZqkW"><a class="LinkTextstyles-sc-jz3jcd-0 gxPNxu" href="/solutions/gaming-development">Game Development<svg viewBox="0 0 18 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12.6033 1.27344L16.6033 5.77344L12.6033 10.2734" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M1.60327 5.77344H16.6033" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></a></span><span class="Typographystyles-sc-o7qsl9-0 saphT">Low-latency multiplayer servers</span></div><ul class="Tagsstyles__StyledTags-sc-1bfvx6z-5 kZNQIH"><li><a class="Tagstyles-sc-ohbvtg-0 gSYjjt" href="https://marketplace.digitalocean.com/apps/minecraft-java-edition-server">Minecraft Hosting</a></li></ul></li></ul></div></div></ul><ul class="Dropdownstyles__StyledDropdownColumn-sc-16wobc6-2 ghVuUg"><div><div class="Tagsstyles__StyledTagsContainer-sc-1bfvx6z-0 fhYyBy"><ul class="Tagsstyles__StyledTagsList-sc-1bfvx6z-1 imkYwE"><li class="Tagsstyles__StyledTagsListItem-sc-1bfvx6z-2 bEsgRk"><div class="Tagsstyles__StyledTagsListItemContent-sc-1bfvx6z-4 ilzDgo"><span class="Typographystyles-sc-o7qsl9-0 cvZqkW"><a class="LinkTextstyles-sc-jz3jcd-0 gxPNxu" href="/solutions/iot-cloud">IOT<svg viewBox="0 0 18 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12.6033 1.27344L16.6033 5.77344L12.6033 10.2734" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M1.60327 5.77344H16.6033" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></a></span><span class="Typographystyles-sc-o7qsl9-0 saphT">Connect to the power of the cloud</span></div></li><li class="Tagsstyles__StyledTagsListItem-sc-1bfvx6z-2 bEsgRk"><div class="Tagsstyles__StyledTagsListItemContent-sc-1bfvx6z-4 ilzDgo"><span class="Typographystyles-sc-o7qsl9-0 cvZqkW"><a class="LinkTextstyles-sc-jz3jcd-0 gxPNxu" href="/solutions/isv">ISVs<svg viewBox="0 0 18 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12.6033 1.27344L16.6033 5.77344L12.6033 10.2734" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M1.60327 5.77344H16.6033" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></a></span><span class="Typographystyles-sc-o7qsl9-0 saphT">Streamlined ISV application development</span></div></li><li class="Tagsstyles__StyledTagsListItem-sc-1bfvx6z-2 bEsgRk"><div class="Tagsstyles__StyledTagsListItemContent-sc-1bfvx6z-4 ilzDgo"><span class="Typographystyles-sc-o7qsl9-0 cvZqkW"><a class="LinkTextstyles-sc-jz3jcd-0 gxPNxu" href="/solutions/secure-web-hosting">Secure Web Hosting<svg viewBox="0 0 18 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12.6033 1.27344L16.6033 5.77344L12.6033 10.2734" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M1.60327 5.77344H16.6033" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></a></span><span class="Typographystyles-sc-o7qsl9-0 saphT">Powerful protection from DDoS and more</span></div><ul class="Tagsstyles__StyledTags-sc-1bfvx6z-5 kZNQIH"><li><a class="Tagstyles-sc-ohbvtg-0 gSYjjt" href="/solutions/vpn">Private VPN</a></li></ul></li><li class="Tagsstyles__StyledTagsListItem-sc-1bfvx6z-2 bEsgRk"><div class="Tagsstyles__StyledTagsListItemContent-sc-1bfvx6z-4 ilzDgo"><span class="Typographystyles-sc-o7qsl9-0 cvZqkW"><a class="LinkTextstyles-sc-jz3jcd-0 gxPNxu" href="/solutions/startups">Startup Cloud Hosting<svg viewBox="0 0 18 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12.6033 1.27344L16.6033 5.77344L12.6033 10.2734" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M1.60327 5.77344H16.6033" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></a></span><span class="Typographystyles-sc-o7qsl9-0 saphT">Scalable, cost-effective infrastructure</span></div><ul class="Tagsstyles__StyledTags-sc-1bfvx6z-5 kZNQIH"><li><a class="Tagstyles-sc-ohbvtg-0 gSYjjt" href="/solutions/small-business-website-hosting">Small Business</a></li></ul></li><li class="Tagsstyles__StyledTagsListItem-sc-1bfvx6z-2 bEsgRk"><div class="Tagsstyles__StyledTagsListItemContent-sc-1bfvx6z-4 ilzDgo"><span class="Typographystyles-sc-o7qsl9-0 cvZqkW"><a class="LinkTextstyles-sc-jz3jcd-0 gxPNxu" href="/solutions/streaming">Video Streaming<svg viewBox="0 0 18 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12.6033 1.27344L16.6033 5.77344L12.6033 10.2734" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M1.60327 5.77344H16.6033" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></a></span><span class="Typographystyles-sc-o7qsl9-0 saphT">High-bandwidth, low-latency delivery</span></div></li></ul></div></div></ul><ul class="Dropdownstyles__StyledDropdownColumn-sc-16wobc6-2 ghVuUg"><div><div class="Tagsstyles__StyledTagsContainer-sc-1bfvx6z-0 fhYyBy"><ul class="Tagsstyles__StyledTagsList-sc-1bfvx6z-1 imkYwE"><li class="Tagsstyles__StyledTagsListItem-sc-1bfvx6z-2 bEsgRk"><div class="Tagsstyles__StyledTagsListItemContent-sc-1bfvx6z-4 ilzDgo"><span class="Typographystyles-sc-o7qsl9-0 cvZqkW"><a class="LinkTextstyles-sc-jz3jcd-0 gxPNxu" href="/solutions/web-mobile-apps">Web and Mobile Apps<svg viewBox="0 0 18 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12.6033 1.27344L16.6033 5.77344L12.6033 10.2734" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M1.60327 5.77344H16.6033" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></a></span><span class="Typographystyles-sc-o7qsl9-0 saphT">Simple cross-platform app hosting</span></div><ul class="Tagsstyles__StyledTags-sc-1bfvx6z-5 kZNQIH"><li><a class="Tagstyles-sc-ohbvtg-0 gSYjjt" href="/solutions/cpanel-hosting">cPanel</a></li><li><a class="Tagstyles-sc-ohbvtg-0 gSYjjt" href="/solutions/docker-hosting">Docker</a></li><li><a class="Tagstyles-sc-ohbvtg-0 gSYjjt" href="/solutions/nextjs-hosting">Next.js</a></li><li><a class="Tagstyles-sc-ohbvtg-0 gSYjjt" href="/solutions/nodejs-hosting">Node.js</a></li></ul></li><li class="Tagsstyles__StyledTagsListItem-sc-1bfvx6z-2 bEsgRk"><div class="Tagsstyles__StyledTagsListItemContent-sc-1bfvx6z-4 ilzDgo"><span class="Typographystyles-sc-o7qsl9-0 cvZqkW"><a class="LinkTextstyles-sc-jz3jcd-0 gxPNxu" href="/solutions/website-hosting">Website Hosting<svg viewBox="0 0 18 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12.6033 1.27344L16.6033 5.77344L12.6033 10.2734" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M1.60327 5.77344H16.6033" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></a></span><span class="Typographystyles-sc-o7qsl9-0 saphT">Fast page loads and reliable site uptime</span></div><ul class="Tagsstyles__StyledTags-sc-1bfvx6z-5 kZNQIH"><li><a class="Tagstyles-sc-ohbvtg-0 gSYjjt" href="/solutions/vps-hosting">VPS Hosting</a></li><li><a class="Tagstyles-sc-ohbvtg-0 gSYjjt" href="/solutions/virtual-machines">Virtual Machines</a></li></ul></li></ul></div></div><div><div class="Cardsstyles__StyledCardsContainer-sc-ebft8b-0 iiefHi"><p class="Typographystyles-sc-o7qsl9-0 RRfqP">Questions?</p><ul class="Cardsstyles__StyledCards-sc-ebft8b-1 kcLBmQ"><li class="Cardsstyles__StyledCard-sc-ebft8b-2 kRVMJy"><span class="Typographystyles-sc-o7qsl9-0 mOScw"><a class="LinkTextstyles-sc-jz3jcd-0 gxPNxu" href="/company/contact/sales?referrer=mainmenu/solutions">Talk to an expert<svg viewBox="0 0 18 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12.6033 1.27344L16.6033 5.77344L12.6033 10.2734" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M1.60327 5.77344H16.6033" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></a></span></li></ul></div></div></ul></li></ul><div class="Dropdownstyles__StyledDropdownCTAs-sc-16wobc6-4 iaVpsa"><a class="LinkTextstyles-sc-jz3jcd-0 gxPNxu Dropdownstyles__StyledDropdownCTA-sc-16wobc6-5 bia-dMd" href="/business"><span>See all solutions</span><svg viewBox="0 0 18 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12.6033 1.27344L16.6033 5.77344L12.6033 10.2734" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M1.60327 5.77344H16.6033" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></a></div></div></li><li class="Navigationstyles__StyledNavigationItem-sc-16d688r-3 jIrYZj"><button type="button" aria-expanded="false"><span class="Typographystyles-sc-o7qsl9-0 kYYRis">Developers</span><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg></button><div class="Dropdownstyles__StyledDropdown-sc-16wobc6-1 hJbnLp"><ul class="Dropdownstyles__StyledDropdownContainer-sc-16wobc6-0 cpPLSu"><li class="Featurestyles__StyledFeature-sc-1xznbxx-0 cJmNMu"><p class="Typographystyles-sc-o7qsl9-0 RRfqP">Our Community</p><ul><li><a href="/community"><span class="Typographystyles-sc-o7qsl9-0 dUkcXP Featurestyles__StyledFeatureTitle-sc-1xznbxx-1 gKuGph">Community Home</span><br/><span class="Typographystyles-sc-o7qsl9-0 kLhCbB Featurestyles__StyledFeatureDescription-sc-1xznbxx-2 cIrmJV">DevOps and development guides</span></a></li><li><a target="_blank" href="https://css-tricks.com"><span class="Typographystyles-sc-o7qsl9-0 dUkcXP Featurestyles__StyledFeatureTitle-sc-1xznbxx-1 gKuGph">CSS-Tricks<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="7" y1="17" x2="17" y2="7"></line><polyline points="7 7 17 7 17 17"></polyline></svg></span><br/><span class="Typographystyles-sc-o7qsl9-0 kLhCbB Featurestyles__StyledFeatureDescription-sc-1xznbxx-2 cIrmJV">All things web design</span></a></li><li><a href="/resources"><span class="Typographystyles-sc-o7qsl9-0 dUkcXP Featurestyles__StyledFeatureTitle-sc-1xznbxx-1 gKuGph">The Wave</span><br/><span class="Typographystyles-sc-o7qsl9-0 kLhCbB Featurestyles__StyledFeatureDescription-sc-1xznbxx-2 cIrmJV">Content to level up your business.</span></a></li></ul></li><li class="Dropdownstyles__StyledDropdownColumns-sc-16wobc6-3 gmoCMg"><ul class="Dropdownstyles__StyledDropdownColumn-sc-16wobc6-2 ghVuUg"><div><div class="Liststyles__StyledListContainer-sc-1elshwh-0 lhzoCV"><p class="Typographystyles-sc-o7qsl9-0 RRfqP">Resources</p><ul class="Liststyles__StyledList-sc-1elshwh-1 gvoncB"><li class="Typographystyles-sc-o7qsl9-0 dJqBXQ"><a href="/community/tutorials">Tutorials</a></li><li class="Typographystyles-sc-o7qsl9-0 dJqBXQ"><a href="/community/questions">Questions and Answers</a></li><li class="Typographystyles-sc-o7qsl9-0 dJqBXQ"><a href="https://marketplace.digitalocean.com">Marketplace</a></li><li class="Typographystyles-sc-o7qsl9-0 dJqBXQ"><a href="/community/tools">Tools</a></li><li class="Typographystyles-sc-o7qsl9-0 dJqBXQ"><a href="/community/pages/write-for-digitalocean">Write for DOnations</a></li><li class="Typographystyles-sc-o7qsl9-0 dJqBXQ"><a href="/customers">Customer Stories</a></li><li class="Typographystyles-sc-o7qsl9-0 dJqBXQ"><a href="/blog">DigitalOcean Blog</a></li><li class="Typographystyles-sc-o7qsl9-0 dJqBXQ"><a href="/pricing/calculator">Pricing Calculator</a></li></ul></div></div></ul><ul class="Dropdownstyles__StyledDropdownColumn-sc-16wobc6-2 ghVuUg"><div><div class="Liststyles__StyledListContainer-sc-1elshwh-0 lhzoCV"><p class="Typographystyles-sc-o7qsl9-0 RRfqP">Get Involved</p><ul class="Liststyles__StyledList-sc-1elshwh-1 gvoncB"><li class="Typographystyles-sc-o7qsl9-0 dJqBXQ"><a href="/hatch">Hatch Startup Program</a></li><li class="Typographystyles-sc-o7qsl9-0 dJqBXQ"><a href="/open-source">Open Source Sponsorships</a></li><li class="Typographystyles-sc-o7qsl9-0 dJqBXQ"><a target="_blank" href="https://hacktoberfest.com">Hacktoberfest<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="7" y1="17" x2="17" y2="7"></line><polyline points="7 7 17 7 17 17"></polyline></svg></a></li><li class="Typographystyles-sc-o7qsl9-0 dJqBXQ"><a target="_blank" href="/deploy">Deploy 2025<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="7" y1="17" x2="17" y2="7"></line><polyline points="7 7 17 7 17 17"></polyline></svg></a></li><li class="Typographystyles-sc-o7qsl9-0 dJqBXQ"><a href="/impact">DO Impact</a></li><li class="Typographystyles-sc-o7qsl9-0 dJqBXQ"><a href="/impact/nonprofits">Nonprofits</a></li><li class="Typographystyles-sc-o7qsl9-0 dJqBXQ"><a href="/wavemakers">Wavemakers Program</a></li></ul></div></div></ul><ul class="Dropdownstyles__StyledDropdownColumn-sc-16wobc6-2 ghVuUg"><div><div class="Liststyles__StyledListContainer-sc-1elshwh-0 lhzoCV"><p class="Typographystyles-sc-o7qsl9-0 RRfqP">Documentation</p><ul class="Liststyles__StyledList-sc-1elshwh-1 gvoncB"><li class="Typographystyles-sc-o7qsl9-0 dJqBXQ"><a href="https://docs.digitalocean.com/products/getting-started">Quickstart</a></li><li class="Typographystyles-sc-o7qsl9-0 dJqBXQ"><a href="https://docs.digitalocean.com/products/compute">Compute</a></li><li class="Typographystyles-sc-o7qsl9-0 dJqBXQ"><a href="https://docs.digitalocean.com/products/storage">Storage</a></li><li class="Typographystyles-sc-o7qsl9-0 dJqBXQ"><a href="https://docs.digitalocean.com/products/databases">Managed Databases</a></li><li class="Typographystyles-sc-o7qsl9-0 dJqBXQ"><a href="https://docs.digitalocean.com/products/container-registry/">Containers</a></li><li class="Typographystyles-sc-o7qsl9-0 dJqBXQ"><a href="https://docs.digitalocean.com/products/billing">Billing</a></li><li class="Typographystyles-sc-o7qsl9-0 dJqBXQ"><a href="https://docs.digitalocean.com/reference/api">API Reference</a></li></ul></div></div></ul></li></ul></div></li><li class="Navigationstyles__StyledNavigationItem-sc-16d688r-3 jIrYZj"><button type="button" aria-expanded="false"><span class="Typographystyles-sc-o7qsl9-0 kYYRis">Partners</span><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg></button><div class="Dropdownstyles__StyledDropdown-sc-16wobc6-1 hJbnLp"><ul class="Dropdownstyles__StyledDropdownContainer-sc-16wobc6-0 cpPLSu"><li class="Featurestyles__StyledFeature-sc-1xznbxx-0 cJmNMu"><p class="Typographystyles-sc-o7qsl9-0 RRfqP">DigitalOcean Partner Programs</p><ul><li><a href="/partners/pod"><span class="Typographystyles-sc-o7qsl9-0 dUkcXP Featurestyles__StyledFeatureTitle-sc-1xznbxx-1 gKuGph">Become a Partner</span></a></li><li><a href="/partners/services"><span class="Typographystyles-sc-o7qsl9-0 dUkcXP Featurestyles__StyledFeatureTitle-sc-1xznbxx-1 gKuGph">Partner Services Program</span></a></li><li><a href="/partners/isv"><span class="Typographystyles-sc-o7qsl9-0 dUkcXP Featurestyles__StyledFeatureTitle-sc-1xznbxx-1 gKuGph">ISV Partner Program</span></a></li><li><a target="_blank" href="https://marketplace.digitalocean.com/"><span class="Typographystyles-sc-o7qsl9-0 dUkcXP Featurestyles__StyledFeatureTitle-sc-1xznbxx-1 gKuGph">Marketplace<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="7" y1="17" x2="17" y2="7"></line><polyline points="7 7 17 7 17 17"></polyline></svg></span></a></li><li><a href="/hatch"><span class="Typographystyles-sc-o7qsl9-0 dUkcXP Featurestyles__StyledFeatureTitle-sc-1xznbxx-1 gKuGph">Hatch Partner Program</span></a></li><li><a href="/partners/directory"><span class="Typographystyles-sc-o7qsl9-0 dUkcXP Featurestyles__StyledFeatureTitle-sc-1xznbxx-1 gKuGph">Connect with a Partner</span></a></li></ul></li><li class="Dropdownstyles__StyledDropdownColumns-sc-16wobc6-3 gmoCMg"><ul class="Dropdownstyles__StyledDropdownColumn-sc-16wobc6-2 ghVuUg"><div><div class="Liststyles__StyledListContainer-sc-1elshwh-0 lhzoCV"><p class="Typographystyles-sc-o7qsl9-0 RRfqP">Partner Programs Resources</p><ul class="Liststyles__StyledList-sc-1elshwh-1 gvoncB"><li class="Typographystyles-sc-o7qsl9-0 dJqBXQ"><a href="/customers">Customer Stories</a></li><li class="Typographystyles-sc-o7qsl9-0 dJqBXQ"><a target="_blank" href="https://www.youtube.com/playlist?list=PLseEp7p6Ewibnv09L_48W3bi2HKiY6lrx">DigitalOcean Onboarding Series<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="7" y1="17" x2="17" y2="7"></line><polyline points="7 7 17 7 17 17"></polyline></svg></a></li><li class="Typographystyles-sc-o7qsl9-0 dJqBXQ"><a target="_blank" href="https://ugurus.com/start-here/?utm_source=DO&amp;utm_medium=partners&amp;utm_content=menu">Training for Agencies and Freelancers<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="7" y1="17" x2="17" y2="7"></line><polyline points="7 7 17 7 17 17"></polyline></svg></a></li><li class="Typographystyles-sc-o7qsl9-0 dJqBXQ"><a href="/pricing/calculator">Price Estimate Calculator</a></li></ul></div></div></ul><ul class="Dropdownstyles__StyledDropdownColumn-sc-16wobc6-2 ghVuUg"><div><div class="Cardsstyles__StyledCardsContainer-sc-ebft8b-0 iiefHi"><p class="Typographystyles-sc-o7qsl9-0 RRfqP">Featured Partner Articles</p><ul class="Cardsstyles__StyledCards-sc-ebft8b-1 kcLBmQ"><li class="Cardsstyles__StyledCard-sc-ebft8b-2 kEwFMa"><p class="Typographystyles-sc-o7qsl9-0 ikXVrB">Cloud cost optimization best practices</p><span class="Typographystyles-sc-o7qsl9-0 mOScw"><a class="LinkTextstyles-sc-jz3jcd-0 gxPNxu" href="/resources/articles/cloud-cost-optimization">Read more<svg viewBox="0 0 18 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12.6033 1.27344L16.6033 5.77344L12.6033 10.2734" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M1.60327 5.77344H16.6033" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></a></span></li><li class="Cardsstyles__StyledCard-sc-ebft8b-2 kEwFMa"><p class="Typographystyles-sc-o7qsl9-0 ikXVrB">How to choose a cloud provider</p><span class="Typographystyles-sc-o7qsl9-0 mOScw"><a class="LinkTextstyles-sc-jz3jcd-0 gxPNxu" href="/resources/cloud-service-providers-how-to-choose">Read more<svg viewBox="0 0 18 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12.6033 1.27344L16.6033 5.77344L12.6033 10.2734" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M1.60327 5.77344H16.6033" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></a></span></li><li class="Cardsstyles__StyledCard-sc-ebft8b-2 kEwFMa"><p class="Typographystyles-sc-o7qsl9-0 ikXVrB">DigitalOcean vs. AWS Lightsail: Which Cloud Platform is Right for You?</p><span class="Typographystyles-sc-o7qsl9-0 mOScw"><a class="LinkTextstyles-sc-jz3jcd-0 gxPNxu" href="/resources/articles/digitalocean-vs-awslightsail">Read more<svg viewBox="0 0 18 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12.6033 1.27344L16.6033 5.77344L12.6033 10.2734" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M1.60327 5.77344H16.6033" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></a></span></li></ul></div></div></ul><ul class="Dropdownstyles__StyledDropdownColumn-sc-16wobc6-2 ghVuUg"><div><div class="Cardsstyles__StyledCardsContainer-sc-ebft8b-0 iiefHi"><p class="Typographystyles-sc-o7qsl9-0 RRfqP">Questions?</p><ul class="Cardsstyles__StyledCards-sc-ebft8b-1 kcLBmQ"><li class="Cardsstyles__StyledCard-sc-ebft8b-2 kRVMJy"><span class="Typographystyles-sc-o7qsl9-0 mOScw"><a class="LinkTextstyles-sc-jz3jcd-0 gxPNxu" href="/company/contact/sales?referrer=mainmenu/partners">Talk to an expert<svg viewBox="0 0 18 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12.6033 1.27344L16.6033 5.77344L12.6033 10.2734" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M1.60327 5.77344H16.6033" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></a></span></li></ul></div></div><div><div class="Cardsstyles__StyledCardsContainer-sc-ebft8b-0 iiefHi"><p class="Typographystyles-sc-o7qsl9-0 RRfqP">New Partnerships</p><ul class="Cardsstyles__StyledCards-sc-ebft8b-1 kcLBmQ"><li class="Cardsstyles__StyledCard-sc-ebft8b-2 jNGEtR"><span class="Typographystyles-sc-o7qsl9-0 mOScw"><a class="LinkTextstyles-sc-jz3jcd-0 gxPNxu" href="/products/ai-ml/1-click-models">1-Click Models powered by Hugging Face<svg viewBox="0 0 18 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12.6033 1.27344L16.6033 5.77344L12.6033 10.2734" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M1.60327 5.77344H16.6033" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></a></span></li></ul></div></div></ul></li></ul></div></li><li class="Navigationstyles__StyledNavigationItem-sc-16d688r-3 kghgPX"><a href="/pricing"><span class="Typographystyles-sc-o7qsl9-0 kYYRis">Pricing</span></a></li></ul><div class="Navigationstyles__StyledNavigationContent-sc-16d688r-5 eYHulT"><ul class="HeaderStyles__StyledCTALinks-sc-2183282b-1 cYiDET"><li data-ignore-clicks-outside-action-menu="true" class="HeaderStyles__StyledCommunityCTA-sc-2183282b-2 icaRFe"><button aria-disabled="false" id="loginMenuTrigger" aria-haspopup="menu" aria-controls="loginmenu" aria-expanded="false" tabindex="0" class="Buttonstyles-sc-hznqte-1 hsLsNq">Log in<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg></button><ul role="menu" id="loginmenu" aria-labelledby="loginMenuTrigger" tabindex="-1" class="ActionMenuStyles__StyledActionMenu-sc-56d46e8d-0 hHrQLL"><div class="ActionMenuStyles__StyledActionMenuTitle-sc-56d46e8d-1 cwRkdj"><li class="ActionMenuStyles__StyledActionMenuTitleText-sc-56d46e8d-2 bEyAUk">Log in to:</li><button type="button" class="ActionMenuStyles__StyledCloseButton-sc-56d46e8d-3 glmMcY"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#4D5B7C" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></button></div><li role="menuitem" tabindex="-1" class="Typographystyles-sc-o7qsl9-0 juQGol ActionMenuStyles__StyledActionMenuItem-sc-56d46e8d-4 ijUUOp"><a class="ProfileStyles__StyledProfileLink-sc-ca52d662-1 eLrcFE" href="https://www.digitalocean.com/api/dynamic-content/v1/login?success_redirect=https%3A%2F%2Fwww.digitalocean.com&amp;error_redirect=https%3A%2F%2Fwww.digitalocean.com%2Fauth-error&amp;type=login"><svg width="16" height="16" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M11.0455 19.5044V23.9547L16.5764 19.5044H27.4429L27.4429 5.86716L4.55701 5.86716V19.5044L11.0455 19.5044ZM9.67239 28.9101C9.01808 29.4365 8.0455 28.9708 8.0455 28.131V22.5044H4.55701C2.90015 22.5044 1.55701 21.1613 1.55701 19.5044V5.86716C1.55701 4.2103 2.90015 2.86716 4.557 2.86716H27.4429C29.0998 2.86716 30.4429 4.2103 30.4429 5.86716V19.5044C30.4429 21.1613 29.0998 22.5044 27.4429 22.5044H17.6335L9.67239 28.9101Z" fill="currentColor"></path></svg> <!-- -->Community</a></li><li role="menuitem" tabindex="-1" class="Typographystyles-sc-o7qsl9-0 juQGol ActionMenuStyles__StyledActionMenuItem-sc-56d46e8d-4 ijUUOp"><a class="ProfileStyles__StyledProfileLink-sc-ca52d662-1 eLrcFE" href="https://cloud.digitalocean.com/login"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="3" y1="9" x2="21" y2="9"></line><line x1="9" y1="21" x2="9" y2="9"></line></svg>DigitalOcean</a></li></ul></li><li data-ignore-clicks-outside-action-menu="true" class="HeaderStyles__StyledCommunityCTA-sc-2183282b-2 icaRFe"><button aria-disabled="false" id="signupMenuTrigger" aria-haspopup="menu" aria-controls="signupmenu" aria-expanded="false" tabindex="0" class="Buttonstyles-sc-hznqte-1 crNCzT">Sign up<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg></button><ul role="menu" id="signupmenu" aria-labelledby="signupMenuTrigger" tabindex="-1" class="ActionMenuStyles__StyledActionMenu-sc-56d46e8d-0 hHrQLL"><div class="ActionMenuStyles__StyledActionMenuTitle-sc-56d46e8d-1 cwRkdj"><li class="ActionMenuStyles__StyledActionMenuTitleText-sc-56d46e8d-2 bEyAUk">Sign up for:</li><button type="button" class="ActionMenuStyles__StyledCloseButton-sc-56d46e8d-3 glmMcY"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#4D5B7C" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></button></div><li role="menuitem" tabindex="-1" class="Typographystyles-sc-o7qsl9-0 juQGol ActionMenuStyles__StyledActionMenuItem-sc-56d46e8d-4 ijUUOp"><a class="ProfileStyles__StyledProfileLink-sc-ca52d662-1 eLrcFE" href="https://www.digitalocean.com/api/dynamic-content/v1/login?success_redirect=https%3A%2F%2Fwww.digitalocean.com&amp;error_redirect=https%3A%2F%2Fwww.digitalocean.com%2Fauth-error&amp;type=register"><svg width="16" height="16" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M11.0455 19.5044V23.9547L16.5764 19.5044H27.4429L27.4429 5.86716L4.55701 5.86716V19.5044L11.0455 19.5044ZM9.67239 28.9101C9.01808 29.4365 8.0455 28.9708 8.0455 28.131V22.5044H4.55701C2.90015 22.5044 1.55701 21.1613 1.55701 19.5044V5.86716C1.55701 4.2103 2.90015 2.86716 4.557 2.86716H27.4429C29.0998 2.86716 30.4429 4.2103 30.4429 5.86716V19.5044C30.4429 21.1613 29.0998 22.5044 27.4429 22.5044H17.6335L9.67239 28.9101Z" fill="currentColor"></path></svg> <!-- -->Community</a></li><li role="menuitem" tabindex="-1" class="Typographystyles-sc-o7qsl9-0 juQGol ActionMenuStyles__StyledActionMenuItem-sc-56d46e8d-4 ijUUOp"><a class="ProfileStyles__StyledProfileLink-sc-ca52d662-1 eLrcFE" href="https://cloud.digitalocean.com/registrations/new"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="3" y1="9" x2="21" y2="9"></line><line x1="9" y1="21" x2="9" y2="9"></line></svg>DigitalOcean</a></li></ul></li></ul></div><div class="Navigationstyles__StyledNavigationLinks-sc-16d688r-4 jFjgeh"><ul><li><a aria-disabled="false" class="Buttonstyles-sc-hznqte-1 gmYUxJ" href="/blog">Blog</a></li><li><a aria-disabled="false" class="Buttonstyles-sc-hznqte-1 gmYUxJ" href="https://docs.digitalocean.com/products">Docs</a></li><li><a aria-disabled="false" class="Buttonstyles-sc-hznqte-1 gmYUxJ" href="/support">Get Support</a></li><li><a aria-disabled="false" class="Buttonstyles-sc-hznqte-1 gmYUxJ" href="/company/contact/sales?referrer=tophat">Contact Sales</a></li></ul></div></div><div style="height:0px" class="Navigationstyles__StyledNavigationBackground-sc-16d688r-6 ijxMOa"></div></nav><div class="Headerstyles__StyledHeaderContent-sc-9ucsot-5 ggJDyn"><ul class="HeaderStyles__StyledCTALinks-sc-2183282b-1 cYiDET"><li data-ignore-clicks-outside-action-menu="true" class="HeaderStyles__StyledCommunityCTA-sc-2183282b-2 icaRFe"><button aria-disabled="false" id="loginMenuTrigger" aria-haspopup="menu" aria-controls="loginmenu" aria-expanded="false" tabindex="0" class="Buttonstyles-sc-hznqte-1 hsLsNq">Log in<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg></button><ul role="menu" id="loginmenu" aria-labelledby="loginMenuTrigger" tabindex="-1" class="ActionMenuStyles__StyledActionMenu-sc-56d46e8d-0 hHrQLL"><div class="ActionMenuStyles__StyledActionMenuTitle-sc-56d46e8d-1 cwRkdj"><li class="ActionMenuStyles__StyledActionMenuTitleText-sc-56d46e8d-2 bEyAUk">Log in to:</li><button type="button" class="ActionMenuStyles__StyledCloseButton-sc-56d46e8d-3 glmMcY"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#4D5B7C" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></button></div><li role="menuitem" tabindex="-1" class="Typographystyles-sc-o7qsl9-0 juQGol ActionMenuStyles__StyledActionMenuItem-sc-56d46e8d-4 ijUUOp"><a class="ProfileStyles__StyledProfileLink-sc-ca52d662-1 eLrcFE" href="https://www.digitalocean.com/api/dynamic-content/v1/login?success_redirect=https%3A%2F%2Fwww.digitalocean.com&amp;error_redirect=https%3A%2F%2Fwww.digitalocean.com%2Fauth-error&amp;type=login"><svg width="16" height="16" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M11.0455 19.5044V23.9547L16.5764 19.5044H27.4429L27.4429 5.86716L4.55701 5.86716V19.5044L11.0455 19.5044ZM9.67239 28.9101C9.01808 29.4365 8.0455 28.9708 8.0455 28.131V22.5044H4.55701C2.90015 22.5044 1.55701 21.1613 1.55701 19.5044V5.86716C1.55701 4.2103 2.90015 2.86716 4.557 2.86716H27.4429C29.0998 2.86716 30.4429 4.2103 30.4429 5.86716V19.5044C30.4429 21.1613 29.0998 22.5044 27.4429 22.5044H17.6335L9.67239 28.9101Z" fill="currentColor"></path></svg> <!-- -->Community</a></li><li role="menuitem" tabindex="-1" class="Typographystyles-sc-o7qsl9-0 juQGol ActionMenuStyles__StyledActionMenuItem-sc-56d46e8d-4 ijUUOp"><a class="ProfileStyles__StyledProfileLink-sc-ca52d662-1 eLrcFE" href="https://cloud.digitalocean.com/login"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="3" y1="9" x2="21" y2="9"></line><line x1="9" y1="21" x2="9" y2="9"></line></svg>DigitalOcean</a></li></ul></li><li data-ignore-clicks-outside-action-menu="true" class="HeaderStyles__StyledCommunityCTA-sc-2183282b-2 icaRFe"><button aria-disabled="false" id="signupMenuTrigger" aria-haspopup="menu" aria-controls="signupmenu" aria-expanded="false" tabindex="0" class="Buttonstyles-sc-hznqte-1 crNCzT">Sign up<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg></button><ul role="menu" id="signupmenu" aria-labelledby="signupMenuTrigger" tabindex="-1" class="ActionMenuStyles__StyledActionMenu-sc-56d46e8d-0 hHrQLL"><div class="ActionMenuStyles__StyledActionMenuTitle-sc-56d46e8d-1 cwRkdj"><li class="ActionMenuStyles__StyledActionMenuTitleText-sc-56d46e8d-2 bEyAUk">Sign up for:</li><button type="button" class="ActionMenuStyles__StyledCloseButton-sc-56d46e8d-3 glmMcY"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#4D5B7C" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></button></div><li role="menuitem" tabindex="-1" class="Typographystyles-sc-o7qsl9-0 juQGol ActionMenuStyles__StyledActionMenuItem-sc-56d46e8d-4 ijUUOp"><a class="ProfileStyles__StyledProfileLink-sc-ca52d662-1 eLrcFE" href="https://www.digitalocean.com/api/dynamic-content/v1/login?success_redirect=https%3A%2F%2Fwww.digitalocean.com&amp;error_redirect=https%3A%2F%2Fwww.digitalocean.com%2Fauth-error&amp;type=register"><svg width="16" height="16" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M11.0455 19.5044V23.9547L16.5764 19.5044H27.4429L27.4429 5.86716L4.55701 5.86716V19.5044L11.0455 19.5044ZM9.67239 28.9101C9.01808 29.4365 8.0455 28.9708 8.0455 28.131V22.5044H4.55701C2.90015 22.5044 1.55701 21.1613 1.55701 19.5044V5.86716C1.55701 4.2103 2.90015 2.86716 4.557 2.86716H27.4429C29.0998 2.86716 30.4429 4.2103 30.4429 5.86716V19.5044C30.4429 21.1613 29.0998 22.5044 27.4429 22.5044H17.6335L9.67239 28.9101Z" fill="currentColor"></path></svg> <!-- -->Community</a></li><li role="menuitem" tabindex="-1" class="Typographystyles-sc-o7qsl9-0 juQGol ActionMenuStyles__StyledActionMenuItem-sc-56d46e8d-4 ijUUOp"><a class="ProfileStyles__StyledProfileLink-sc-ca52d662-1 eLrcFE" href="https://cloud.digitalocean.com/registrations/new"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="3" y1="9" x2="21" y2="9"></line><line x1="9" y1="21" x2="9" y2="9"></line></svg>DigitalOcean</a></li></ul></li></ul></div><div class="Headerstyles__StyledDivider-sc-9ucsot-7 eIcvZY"></div><button type="button" aria-label="Menu" class="Headerstyles__StyledHeaderToggle-sc-9ucsot-3 jLXUXx"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="3" y1="12" x2="21" y2="12"></line><line x1="3" y1="6" x2="21" y2="6"></line><line x1="3" y1="18" x2="21" y2="18"></line></svg></button></div></header><nav aria-label="Quick links" class="SubNavigationstyles__StyledSubNavigation-sc-k2wuim-0 bSFiWy SubNavigationStyles__StyledCommunitySubNavigation-sc-664e80d1-1 kCtOIs"><ul class="SubNavigationstyles__StyledSubNavigationContainer-sc-k2wuim-1 bSYhcw"><li class="Typographystyles-sc-o7qsl9-0 kYYRis SubNavigationstyles__StyledSubNavigationLink-sc-k2wuim-2 kA-diUc"><a href="/community/tutorials">Tutorials</a></li><li class="Typographystyles-sc-o7qsl9-0 kYYRis SubNavigationstyles__StyledSubNavigationLink-sc-k2wuim-2 kA-diUc"><a href="/community/questions">Questions</a></li><li class="Typographystyles-sc-o7qsl9-0 kYYRis SubNavigationstyles__StyledSubNavigationLink-sc-k2wuim-2 kA-diUc"><a href="https://docs.digitalocean.com">Product Docs</a></li><li><button id="communitysearch" type="button" class="SubNavigationStyles__StyledCommunitySearch-sc-664e80d1-0 ezraOu"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line></svg><span class="Typographystyles-sc-o7qsl9-0 fmHvBz">Search Community</span><svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M13.7298 20C13.1835 20 12.8314 19.4907 13.0826 19.0638L17.6229 11.3465C17.7481 11.1336 17.9978 11 18.2702 11C18.8165 11 19.1686 11.5093 18.9174 11.9362L14.3771 19.6535C14.2519 19.8664 14.0022 20 13.7298 20Z" fill="currentColor"></path><path fill-rule="evenodd" d="M24.125 3H7.875C5.18261 3 3 5.18261 3 7.875V24.125C3 26.8174 5.18261 29 7.875 29H24.125C26.8174 29 29 26.8174 29 24.125V7.875C29 5.18261 26.8174 3 24.125 3ZM6.84677 4.79101C7.16993 4.68332 7.51565 4.625 7.875 4.625H24.125C24.4875 4.625 24.8361 4.68434 25.1617 4.79384L22.3774 7.61733C21.928 7.38268 21.417 7.25 20.875 7.25H11.125C10.6073 7.25 10.1178 7.37106 9.68341 7.58641L6.84677 4.79101ZM5.57691 5.57689C4.98877 6.16503 4.625 6.97753 4.625 7.875V24.125C4.625 25.1615 5.1102 26.0846 5.86586 26.6797L8.57924 22.2705C8.13837 21.7158 7.875 21.0136 7.875 20.25V10.5C7.875 9.76185 8.12108 9.08118 8.53568 8.53555L5.57691 5.57689ZM9.76202 23.2013L7.23674 27.3123C7.44312 27.3534 7.65654 27.375 7.875 27.375H24.125C24.4982 27.375 24.8567 27.3121 25.1906 27.1963L22.6081 22.9998C22.1065 23.3166 21.5122 23.5 20.875 23.5H11.125C10.6383 23.5 10.1765 23.393 9.76202 23.2013ZM27.375 24.125C27.375 25.0058 27.0246 25.8047 26.4557 26.3901L23.6839 21.8859C23.9643 21.4054 24.125 20.8465 24.125 20.25V10.5C24.125 9.78536 23.8943 9.1246 23.5034 8.58809L26.448 5.60208C27.0215 6.18812 27.375 6.99027 27.375 7.875V24.125ZM9.5 10.5C9.5 9.60254 10.2275 8.875 11.125 8.875H20.875C21.7725 8.875 22.5 9.60254 22.5 10.5V20.25C22.5 21.1475 21.7725 21.875 20.875 21.875H11.125C10.2275 21.875 9.5 21.1475 9.5 20.25V10.5Z" fill="currentColor"></path></svg></button></li></ul></nav></div><div class="QuestionAndTutorialOuterContainerStyles__StyledOuterContainer-sc-94f1337-0 hOkEeI"><div class="QuestionAndTutorialLeftContainerStyles__StyledColumnContainer-sc-d8dce6ad-0 eCZyMk"><div class="QuestionAndTutorialLeftContainerStyles__StyledStickyContainer-sc-d8dce6ad-1 ijessN"><nav aria-labelledby="table-of-contents" class="TableOfContentsStyles__StyledTableOfContentsContainer-sc-8a21f586-0 gqBRRz"><h2 id="table-of-contents" class="TableOfContentsStyles__StyledTableOfContentsTitle-sc-8a21f586-1 dhdJdx">CONTENTS</h2><ol class="TableOfContentsStyles__StyledTableOfContentsList-sc-8a21f586-2 ifwrc"><li level="1" class="TableOfContentsStyles__StyledTableOfContentsListItem-sc-8a21f586-3 bljiJp"><a class="TableOfContentsStyles__StyledTableOfContentsListLink-sc-8a21f586-4 QlmaO" href="/community/tutorials/an-introduction-to-configuration-management-with-ansible#benefits-of-using-a-configuration-management-tool"><h2 class="TableOfContentsStyles__StyledTableOfContentsListItemText-sc-8a21f586-5 eEMXWO">Benefits of Using a Configuration Management Tool</h2></a></li><li level="1" class="TableOfContentsStyles__StyledTableOfContentsListItem-sc-8a21f586-3 bljiJp"><a class="TableOfContentsStyles__StyledTableOfContentsListLink-sc-8a21f586-4 QlmaO" href="/community/tutorials/an-introduction-to-configuration-management-with-ansible#ansible-overview"><h2 class="TableOfContentsStyles__StyledTableOfContentsListItemText-sc-8a21f586-5 eEMXWO">Ansible Overview</h2></a></li><li level="1" class="TableOfContentsStyles__StyledTableOfContentsListItem-sc-8a21f586-3 bljiJp"><a class="TableOfContentsStyles__StyledTableOfContentsListLink-sc-8a21f586-4 QlmaO" href="/community/tutorials/an-introduction-to-configuration-management-with-ansible#getting-familiar-with-ansible-concepts"><h2 class="TableOfContentsStyles__StyledTableOfContentsListItemText-sc-8a21f586-5 eEMXWO">Getting Familiar with Ansible Concepts</h2></a></li><li level="1" class="TableOfContentsStyles__StyledTableOfContentsListItem-sc-8a21f586-3 bljiJp"><a class="TableOfContentsStyles__StyledTableOfContentsListLink-sc-8a21f586-4 QlmaO" href="/community/tutorials/an-introduction-to-configuration-management-with-ansible#conclusion"><h2 class="TableOfContentsStyles__StyledTableOfContentsListItemText-sc-8a21f586-5 eEMXWO">Conclusion</h2></a></li></ol></nav></div></div><div class="ContainerStyles__StyledContainer-sc-c33ad18f-0 cOvNzl"><div class="TutorialSeriesSliderStyles__StyledTutorialBarSeries-sc-40c968f4-0 cvDjrb"><div class="ContainerStyles__StyledContainer-sc-c33ad18f-0 cOvNzl"><div class="TutorialSeriesSliderStyles__StyledBreadCrumbTitle-sc-40c968f4-1 leozBF"><a href="/community/tutorial-series/how-to-manage-remote-servers-with-ansible">Tutorial Series: How To Manage Remote Servers with Ansible</a></div></div></div><div id="carousel" class="ContainerStyles__StyledContainer-sc-c33ad18f-0 iGRYyJ SeriesCarouselStyles__StyledContainer-sc-5f80ef27-0 STSyA"><div class="SeriesCarouselStyles__StyledColumnHolder-sc-5f80ef27-4 LOobf"><div class="SeriesCarouselStyles__StyledArrowHolder-sc-5f80ef27-2 lbPBEM"><button class="SeriesCarouselStyles__StyledArrowButton-sc-5f80ef27-3 hiYvcM"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="15 18 9 12 15 6"></polyline></svg></button></div><div class="SeriesCarouselStyles__StyledContentHolder-sc-5f80ef27-5 lcaEvA"><div class="SeriesCarouselStyles__StyledCarouselContentContainer-sc-5f80ef27-1 jXVDUV"><div style="width:1700px" class="SeriesCarousel___StyledDiv-sc-90419a60-0 dXRpLN"><div class="draggable"><div class="SeriesCarousel___StyledDiv4-sc-90419a60-4 cLvXQP selected" style="width:340px"><div class="TutorialSeriesSliderStyles__StyledSeriesCard-sc-40c968f4-2 TutorialSeriesSlider___StyledStyledSeriesCard-sc-eb25c940-0 fOfIYe dKWgyu"><a href="/community/conceptual-articles/an-introduction-to-configuration-management-with-ansible">1/5 An Introduction to Configuration Management with Ansible </a></div></div><div style="width:340px" class="SeriesCarousel___StyledDiv4-sc-90419a60-4 cLvXQP"><div class="TutorialSeriesSliderStyles__StyledSeriesCard-sc-40c968f4-2 TutorialSeriesSlider___StyledStyledSeriesCard-sc-eb25c940-0 fOfIYe"><a href="/community/tutorials/how-to-install-and-configure-ansible-on-ubuntu-20-04">2/5 How To Install and Configure Ansible on Ubuntu 20.04 </a></div></div><div style="width:340px" class="SeriesCarousel___StyledDiv4-sc-90419a60-4 cLvXQP"><div class="TutorialSeriesSliderStyles__StyledSeriesCard-sc-40c968f4-2 TutorialSeriesSlider___StyledStyledSeriesCard-sc-eb25c940-0 fOfIYe"><a href="/community/tutorials/how-to-set-up-ansible-inventories">3/5 How To Set Up Ansible Inventories </a></div></div><div style="width:340px" class="SeriesCarousel___StyledDiv4-sc-90419a60-4 cLvXQP"><div class="TutorialSeriesSliderStyles__StyledSeriesCard-sc-40c968f4-2 TutorialSeriesSlider___StyledStyledSeriesCard-sc-eb25c940-0 fOfIYe"><a href="/community/cheatsheets/how-to-manage-multiple-servers-with-ansible-ad-hoc-commands">4/5 How To Manage Multiple Servers with Ansible Ad Hoc Commands </a></div></div><div style="width:340px" class="SeriesCarousel___StyledDiv4-sc-90419a60-4 cLvXQP"><div class="TutorialSeriesSliderStyles__StyledSeriesCard-sc-40c968f4-2 TutorialSeriesSlider___StyledStyledSeriesCard-sc-eb25c940-0 fOfIYe"><a href="/community/cheatsheets/how-to-execute-ansible-playbooks-to-automate-server-setup">5/5 How To Execute Ansible Playbooks to Automate Server Setup </a></div></div></div></div></div></div><div class="SeriesCarouselStyles__StyledArrowHolder-sc-5f80ef27-2 lbPBEM"><button class="SeriesCarouselStyles__StyledArrowButton-sc-5f80ef27-3 hiYvcM"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="9 18 15 12 9 6"></polyline></svg></button></div></div><div class="SeriesCarousel___StyledDiv3-sc-90419a60-3 ixAkxo carousel-select-container"><div class="SeriesCarousel___StyledDiv2-sc-90419a60-2 keWcHq"><button type="button" aria-label="slide 1 selection dot" class="SeriesCarousel___StyledButton-sc-90419a60-1 kWUFQE selected"></button><button type="button" aria-label="slide 2 selection dot" class="SeriesCarousel___StyledButton-sc-90419a60-1 kWUFQE"></button><button type="button" aria-label="slide 3 selection dot" class="SeriesCarousel___StyledButton-sc-90419a60-1 kWUFQE"></button><button type="button" aria-label="slide 4 selection dot" class="SeriesCarousel___StyledButton-sc-90419a60-1 kWUFQE"></button><button type="button" aria-label="slide 5 selection dot" class="SeriesCarousel___StyledButton-sc-90419a60-1 kWUFQE"></button></div></div></div><div class="TutorialTemplateStyles__StyledRecordHeaderContainer-sc-337a0527-0 dxcDAS"><h4 class="HeadingStyles__StyledH4-sc-73f0758c-3 lfDrER TutorialTemplate___StyledHeading-sc-f82223ba-1 bvWmwZ">Conceptual Article</h4><h1 class="HeadingStyles__StyledH1-sc-73f0758c-0 kpquAR TutorialTemplate___StyledHeading2-sc-f82223ba-2 eDngSU">An Introduction to Configuration Management with Ansible</h1><div class="TutorialTemplateStyles__StyledRecordMetaContainer-sc-337a0527-2 gsxHnk"><div class="TutorialTemplateStyles__StyledRecordMetaItemDate-sc-337a0527-5 jnatsz">Published on May 15, 2020</div><ul class="TutorialTemplateStyles__StyledRecordMetaList-sc-337a0527-3 hGosQQ"><li class="TutorialTemplateStyles__StyledRecordMetaItem-sc-337a0527-4 eoKUhn"><a title="Ansible" class="TagStyles__StyledTag-sc-a75ae9ac-0 dhVrNO" href="/community/tags/ansible">Ansible</a></li><li class="TutorialTemplateStyles__StyledRecordMetaItem-sc-337a0527-4 eoKUhn"><a title="Configuration Management" class="TagStyles__StyledTag-sc-a75ae9ac-0 dhVrNO" href="/community/tags/configuration-management">Configuration Management</a></li></ul><div><div class="AuthorsStyles__StyledAuthorList-sc-29c8253c-0 kYbBjQ"><div class="AuthorsStyles__StyledAvatarGroup-sc-29c8253c-2 dBDdOf"><img alt="author" loading="lazy" width="48" height="48" decoding="async" data-nimg="1" class="AuthorsStyles__StyledAvatarSmall-sc-29c8253c-1 hbSNDk" style="color:transparent" srcSet="https://www.gravatar.com/avatar/b1c2b9b45dfa138e00a51b7188beea76e76ba4a95ccc01af53c005458ecae202?default=retro 1x, https://www.gravatar.com/avatar/b1c2b9b45dfa138e00a51b7188beea76e76ba4a95ccc01af53c005458ecae202?default=retro 2x" src="https://www.gravatar.com/avatar/b1c2b9b45dfa138e00a51b7188beea76e76ba4a95ccc01af53c005458ecae202?default=retro"/></div><div class="AuthorsStyles__StyledAuthor-sc-29c8253c-3 kJSao"><p class="Typographystyles-sc-o7qsl9-0 kLhCbB"><a class="LinkInlinestyles-sc-18du0ds-0 iepvyF" href="/community/users/erikaheidi">Erika Heidi</a></p></div></div><p class="Typographystyles-sc-o7qsl9-0 dJqBXQ">Developer Advocate</p></div><div class="TutorialTemplateStyles__StyledTutorialLanguageDropdown-sc-337a0527-17 fQPeyi"><style data-emotion="css b62m3t-container">.css-b62m3t-container{position:relative;box-sizing:border-box;}</style><div class=" css-b62m3t-container" id="input-:R8p4q9ql6:"><style data-emotion="css 7pg0cj-a11yText">.css-7pg0cj-a11yText{z-index:9999;border:0;clip:rect(1px, 1px, 1px, 1px);height:1px;width:1px;position:absolute;overflow:hidden;padding:0;white-space:nowrap;}</style><span id="react-select-17-live-region" class="css-7pg0cj-a11yText"></span><span aria-live="polite" aria-atomic="false" aria-relevant="additions text" role="log" class="css-7pg0cj-a11yText"></span><style data-emotion="css 1hq57w3-control">.css-1hq57w3-control{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;cursor:default;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;min-height:38px;outline:0!important;position:relative;-webkit-transition:all 100ms;transition:all 100ms;background-color:hsl(0, 0%, 100%);border-color:hsl(0, 0%, 80%);border-radius:10px;border-style:solid;border-width:1px;box-sizing:border-box;background:default;border:1px solid #d6dcea;color:#4d5b7c;font-size:14px;font-weight:500;min-width:4rem;padding:5px;}.css-1hq57w3-control:hover{color:#0069ff;cursor:pointer;}.css-1hq57w3-control input{padding:0!important;}</style><div class="react-select__control css-1hq57w3-control"><style data-emotion="css hlgwow">.css-hlgwow{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:grid;-webkit-flex:1;-ms-flex:1;flex:1;-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-overflow-scrolling:touch;position:relative;overflow:hidden;padding:2px 8px;box-sizing:border-box;}</style><div class="react-select__value-container react-select__value-container--has-value css-hlgwow"><style data-emotion="css 5wzqtd-singleValue">.css-5wzqtd-singleValue{grid-area:1/1/2/3;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:inherit;margin-left:2px;margin-right:2px;box-sizing:border-box;}</style><div class="react-select__single-value css-5wzqtd-singleValue">English</div><style data-emotion="css 19bb58m">.css-19bb58m{visibility:visible;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;display:inline-grid;grid-area:1/1/2/3;grid-template-columns:0 min-content;margin:2px;padding-bottom:2px;padding-top:2px;color:hsl(0, 0%, 20%);box-sizing:border-box;}.css-19bb58m:after{content:attr(data-value) " ";visibility:hidden;white-space:pre;grid-area:1/2;font:inherit;min-width:2px;border:0;margin:0;outline:0;padding:0;}</style><div class="react-select__input-container css-19bb58m" data-value=""><input class="react-select__input" style="label:input;color:inherit;background:0;opacity:1;width:100%;grid-area:1 / 2;font:inherit;min-width:2px;border:0;margin:0;outline:0;padding:0" autoCapitalize="none" autoComplete="off" autoCorrect="off" id="react-select-17-input" spellcheck="false" tabindex="0" type="text" aria-autocomplete="list" aria-expanded="false" aria-haspopup="true" aria-required="false" role="combobox" aria-activedescendant="" value=""/></div></div><style data-emotion="css 1wy0on6">.css-1wy0on6{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;box-sizing:border-box;}</style><div class="react-select__indicators css-1wy0on6"><style data-emotion="css dres99-indicatorContainer">.css-dres99-indicatorContainer{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-transition:color 150ms;transition:color 150ms;color:inherit;padding:8px;box-sizing:border-box;-webkit-transform:none;-moz-transform:none;-ms-transform:none;transform:none;}.css-dres99-indicatorContainer:hover{color:hsl(0, 0%, 60%);}.css-dres99-indicatorContainer:hover{color:inherit;}</style><div class="react-select__indicator react-select__dropdown-indicator css-dres99-indicatorContainer" aria-hidden="true"><style data-emotion="css 8mmkcg">.css-8mmkcg{display:inline-block;fill:currentColor;line-height:1;stroke:currentColor;stroke-width:0;}</style><svg height="20" width="20" viewBox="0 0 20 20" aria-hidden="true" focusable="false" class="css-8mmkcg"><path d="M4.516 7.548c0.436-0.446 1.043-0.481 1.576 0l3.908 3.747 3.908-3.747c0.533-0.481 1.141-0.446 1.574 0 0.436 0.445 0.408 1.197 0 1.615-0.406 0.418-4.695 4.502-4.695 4.502-0.217 0.223-0.502 0.335-0.787 0.335s-0.57-0.112-0.789-0.335c0 0-4.287-4.084-4.695-4.502s-0.436-1.17 0-1.615z"></path></svg></div></div></div></div><input tabindex="-1" autoComplete="off" class="DropdownStyles__StyledTriggerInput-sc-71bdcc71-0 jItaXd" value="[object Object]"/></div></div><img alt="An Introduction to Configuration Management with Ansible" title="An Introduction to Configuration Management with Ansible" loading="lazy" width="752" height="358" decoding="async" data-nimg="1" class="TutorialTemplateStyles__StyledRecordHeaderImage-sc-337a0527-1 eoHutf" style="color:transparent" srcSet="https://www.digitalocean.com/api/static-content/v1/images?src=%2F_next%2Fstatic%2Fmedia%2Fintro-to-cloud.d49bc5f7.jpeg&amp;width=828 1x, https://www.digitalocean.com/api/static-content/v1/images?src=%2F_next%2Fstatic%2Fmedia%2Fintro-to-cloud.d49bc5f7.jpeg&amp;width=1920 2x" src="https://www.digitalocean.com/api/static-content/v1/images?src=%2F_next%2Fstatic%2Fmedia%2Fintro-to-cloud.d49bc5f7.jpeg&amp;width=1920"/></div><div class="Markdownstyles-sc-dd1icp-0 kfTVTG MarkdownStyles__StyledMarkdown-sc-bf598916-0 fzarqH"><h3 id="introduction"><a href="#introduction" onclick="navigator.clipboard.writeText(this.href);">Introduction</a><a class="hash-anchor" href="#introduction" aria-hidden="true" onclick="navigator.clipboard.writeText(this.href);"></a></h3> <p>Configuration management is the process of handling changes to a system in a way that assures integrity over time, typically involving tools and processes that facilitate automation and observability. Even though this concept didn’t originate in the IT industry, the term is broadly used to refer to <strong>server configuration management</strong>.</p> <p>In the context of servers, configuration management is also commonly referred to as <em>IT Automation</em> or <em>Server Orchestration</em>. Both terms highlight the practical aspects of configuration management and the ability to control multiple systems from a central server.</p> <p>This guide will walk you through the benefits of using a configuration management tool to automate your server infrastructure setup, and how one such tool, <a href="https://ansible.com" rel="ugc nofollow noopener" target="_blank">Ansible</a>, can help you with that.</p> <h2 id="benefits-of-using-a-configuration-management-tool"><a href="#benefits-of-using-a-configuration-management-tool" onclick="navigator.clipboard.writeText(this.href);">Benefits of Using a Configuration Management Tool</a><a class="hash-anchor" href="#benefits-of-using-a-configuration-management-tool" aria-hidden="true" onclick="navigator.clipboard.writeText(this.href);"></a></h2> <p>There are a number of configuration management tools available on the market, with varying levels of complexity and diverse architectural styles. Although each of these tools have their own characteristics and work in slightly different ways, they all provide the same function: make sure a system’s state matches the state described by a set of <em>provisioning scripts</em>.</p> <p>Many of the benefits of configuration management for servers come from the ability to define your infrastructure as code. This enables you to:</p> <ul> <li>Use a version control system to keep track of any changes in your infrastructure</li> <li>Reuse provisioning scripts for multiple server environments, such as development, testing, and production</li> <li>Share provisioning scripts between coworkers to facilitate collaboration in a standardised development environment</li> <li>Streamline the process of replicating servers, which facilitates recovery from critical errors</li> </ul> <p>Additionally, configuration management tools offer you a way to control one to hundreds of servers from a centralized location, which can dramatically improve efficiency and integrity of your server infrastructure.</p> <h2 id="ansible-overview"><a href="#ansible-overview" onclick="navigator.clipboard.writeText(this.href);">Ansible Overview</a><a class="hash-anchor" href="#ansible-overview" aria-hidden="true" onclick="navigator.clipboard.writeText(this.href);"></a></h2> <p>Ansible is a modern configuration management tool that facilitates the task of setting up and maintaining remote servers, with a minimalist design intended to get users up and running quickly.</p> <p>Users write Ansible provisioning scripts in <a href="https://yaml.org/" rel="ugc nofollow noopener" target="_blank">YAML</a>, a user-friendly data serialization standard that is not tied to any particular programming language. This enables users to create sophisticated provisioning scripts more intuitively compared to similar tools in the same category.</p> <p>Ansible doesn’t require any special software to be installed on the nodes that will be managed with this tool. A control machine is set up with the Ansible software, which then communicates with the nodes via standard SSH.</p> <p>As a configuration management tool and automation framework, Ansible encapsulates all of the common features present in other tools of the same category, while still maintaining a strong focus on simplicity and performance:</p> <h3 id="idempotent-behavior"><a href="#idempotent-behavior" onclick="navigator.clipboard.writeText(this.href);">Idempotent Behavior</a><a class="hash-anchor" href="#idempotent-behavior" aria-hidden="true" onclick="navigator.clipboard.writeText(this.href);"></a></h3> <p>Ansible keeps track of the state of resources in managed systems in order to avoid repeating tasks that were executed before. If a package was already installed, it won’t try to install it again. The objective is that after each provisioning execution the system reaches (or keeps) the desired state, even if you run it multiple times. This is what characterizes Ansible and other configuration management tools as having an <em>idempotent behavior</em>. When running a playbook, you’ll see the status of each task being executed and whether or not the task performed a change in the system.</p> <h3 id="support-to-variables-conditionals-and-loops"><a href="#support-to-variables-conditionals-and-loops" onclick="navigator.clipboard.writeText(this.href);">Support to Variables, Conditionals, and Loops</a><a class="hash-anchor" href="#support-to-variables-conditionals-and-loops" aria-hidden="true" onclick="navigator.clipboard.writeText(this.href);"></a></h3> <p>When writing Ansible automation scripts, you can use variables, conditionals, and loops in order to make your automation more versatile and efficient.</p> <h3 id="system-facts"><a href="#system-facts" onclick="navigator.clipboard.writeText(this.href);">System Facts</a><a class="hash-anchor" href="#system-facts" aria-hidden="true" onclick="navigator.clipboard.writeText(this.href);"></a></h3> <p>Ansible collects a series of detailed information about the managed nodes, such as network interfaces and operating system, and provides it as global variables called <em>system facts</em>. Facts can be used within playbooks to make your automation more versatile and adaptive, behaving differently depending on the system being provisioned.</p> <h3 id="templating-system"><a href="#templating-system" onclick="navigator.clipboard.writeText(this.href);">Templating System</a><a class="hash-anchor" href="#templating-system" aria-hidden="true" onclick="navigator.clipboard.writeText(this.href);"></a></h3> <p>Ansible uses the Jinja2 Python templating system to allow for dynamic expressions and access to variables. Templates can be used to facilitate setting up configuration files and services. For instance, you can use a template to set up a new virtual host within Apache, while reusing the same template for multiple server installations.</p> <h3 id="support-for-extensions-and-modules"><a href="#support-for-extensions-and-modules" onclick="navigator.clipboard.writeText(this.href);">Support for Extensions and Modules</a><a class="hash-anchor" href="#support-for-extensions-and-modules" aria-hidden="true" onclick="navigator.clipboard.writeText(this.href);"></a></h3> <p>Ansible comes with hundreds of built-in modules to facilitate writing automation for common systems administration tasks, such as installing packages with <code>apt</code> and synchronizing files with <code>rsync</code>, and also for dealing with popular software such as database systems (like MySQL, PostgreSQL, MongoDB, and others) and dependency management tools (such as PHP’s <code>composer</code>, Ruby’s <code>gem</code>, Node’s <code>npm</code>, and others). Apart from that, there are various ways in which you can extend Ansible: plugins and modules are good options when you need a custom functionality that is not present by default.</p> <p>You can also find third-party modules and plugins in the <a href="https://galaxy.ansible.com/" rel="ugc nofollow noopener" target="_blank">Ansible Galaxy</a> portal.</p> <h2 id="getting-familiar-with-ansible-concepts"><a href="#getting-familiar-with-ansible-concepts" onclick="navigator.clipboard.writeText(this.href);">Getting Familiar with Ansible Concepts</a><a class="hash-anchor" href="#getting-familiar-with-ansible-concepts" aria-hidden="true" onclick="navigator.clipboard.writeText(this.href);"></a></h2> <p>We’ll now have a look at Ansible terminology and concepts to help familiarize you with these terms as they come up throughout this series.</p> <h3 id="control-node"><a href="#control-node" onclick="navigator.clipboard.writeText(this.href);">Control Node</a><a class="hash-anchor" href="#control-node" aria-hidden="true" onclick="navigator.clipboard.writeText(this.href);"></a></h3> <p>A <em>control node</em> is a system where Ansible is installed and set up to connect to your server. You can have multiple control nodes, and any system capable of running Ansible can be set up as a control node, including personal computers or laptops running a Linux or Unix based operating system. For the time being, Ansible can’t be installed on Windows hosts, but you can circumvent this limitation by setting up a virtual machine that runs Linux and running Ansible from there.</p> <h3 id="managed-nodes"><a href="#managed-nodes" onclick="navigator.clipboard.writeText(this.href);">Managed Nodes</a><a class="hash-anchor" href="#managed-nodes" aria-hidden="true" onclick="navigator.clipboard.writeText(this.href);"></a></h3> <p>The systems you control using Ansible are called <em>managed nodes</em>. Ansible <a href="https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html#id11" rel="ugc nofollow noopener" target="_blank">requires</a> that managed nodes are reachable via SSH, and have Python 2 (version 2.6 or higher) or Python 3 (version 3.5 or higher) installed.</p> <p>Ansible supports a variety of operating systems including Windows servers as managed nodes.</p> <h3 id="inventory"><a href="#inventory" onclick="navigator.clipboard.writeText(this.href);">Inventory</a><a class="hash-anchor" href="#inventory" aria-hidden="true" onclick="navigator.clipboard.writeText(this.href);"></a></h3> <p>An <em>inventory</em> file contains a list of the hosts you’ll manage using Ansible. Although Ansible typically creates a default inventory file when installed, you can use per-project inventories to have a better separation of your infrastructure and avoid running commands or playbooks on the wrong server by mistake. Static inventories are usually created as <code>.ini</code> files, but you can also use dynamically generated inventories written in any programming language able to return JSON.</p> <h3 id="tasks"><a href="#tasks" onclick="navigator.clipboard.writeText(this.href);">Tasks</a><a class="hash-anchor" href="#tasks" aria-hidden="true" onclick="navigator.clipboard.writeText(this.href);"></a></h3> <p>In Ansible, a <em>task</em> is an individual unit of work to execute on a managed node. Each action to perform is defined as a task. Tasks can be executed as a one-off action via ad-hoc commands, or included in a playbook as part of an automation script.</p> <h3 id="playbook"><a href="#playbook" onclick="navigator.clipboard.writeText(this.href);">Playbook</a><a class="hash-anchor" href="#playbook" aria-hidden="true" onclick="navigator.clipboard.writeText(this.href);"></a></h3> <p>A <em>playbook</em> contains an ordered list of tasks, and a few other directives to indicate which hosts are the target of that automation, whether or not to use a privilege escalation system to run those tasks, and optional sections to define variables or include files. Ansible executes tasks sequentially, and a full playbook execution is called a <em>play</em>. Playbooks are written in YAML format.</p> <h3 id="handlers"><a href="#handlers" onclick="navigator.clipboard.writeText(this.href);">Handlers</a><a class="hash-anchor" href="#handlers" aria-hidden="true" onclick="navigator.clipboard.writeText(this.href);"></a></h3> <p><em>Handlers</em> are used to perform actions on a service, such as restarting or stopping a service that is actively running on the managed node’s system. Handlers are typically triggered by tasks, and their execution happens at the end of a play, after all tasks are finished. This way, if more than one task triggers a restart to a service, for instance, the service will only be restarted once and after all tasks are executed. Although the default handler behavior is more efficient and overall a better practice, it is also possible to force immediate handler execution if that is required by a task.</p> <h3 id="roles"><a href="#roles" onclick="navigator.clipboard.writeText(this.href);">Roles</a><a class="hash-anchor" href="#roles" aria-hidden="true" onclick="navigator.clipboard.writeText(this.href);"></a></h3> <p>A <em>role</em> is a set of playbooks and related files organized into a predefined structure that is known by Ansible. Roles facilitate reusing and repurposing playbooks into shareable packages of granular automation for specific goals, such as installing a web server, installing a PHP environment, or setting up a MySQL server.</p> <h2 id="conclusion"><a href="#conclusion" onclick="navigator.clipboard.writeText(this.href);">Conclusion</a><a class="hash-anchor" href="#conclusion" aria-hidden="true" onclick="navigator.clipboard.writeText(this.href);"></a></h2> <p>Ansible is a minimalist IT automation tool that has a gentle learning curve, thanks in part to its use of YAML for its provisioning scripts. It has a great number of built-in modules that can be used to abstract tasks such as installing packages and working with templates. Its simplified infrastructure requirements and accessible syntax can be a good fit for those who are getting started with configuration management.</p> <p>In the next part of <a href="/community/tutorial_series/how-to-automate-server-setup-with-ansible">this series</a>, we’ll see <a href="/community/tutorials/how-to-install-and-configure-ansible-on-ubuntu-20-04">how to install and get started with Ansible on an Ubuntu 20.04 server</a>.</p> </div><div class="Markdownstyles-sc-dd1icp-0 kfTVTG MarkdownStyles__StyledMarkdown-sc-bf598916-0 fzarqH TutorialTemplateStyles__StyledConclusionCTA-sc-337a0527-35 dKyFya"><p>Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.</p> <p><a href="/products">Learn more about our products</a></p> </div><div class="TutorialTemplateStyles__StyledNextSeriesWrapper-sc-337a0527-26 gLJOju"><div class="TutorialTemplateStyles__StyledNextSeries-sc-337a0527-27 VhlWD"><a href="/community/tutorials/how-to-install-and-configure-ansible-on-ubuntu-20-04">Next in series: How To Install and Configure Ansible on Ubuntu 20.04 -&gt;</a></div></div><hr class="TutorialTemplateStyles__StyledDivider-sc-337a0527-28 dvYrbZ"/><div class="TutorialSeriesListStyles__StyledSeriesGrid-sc-8b604fb6-0 NKQyE"><div class="TutorialSeriesListStyles__StyledSeriesList-sc-8b604fb6-2 dpBxBF"><h3>Tutorial Series:<!-- --> <!-- -->How To Manage Remote Servers with Ansible</h3><div class="Markdownstyles-sc-dd1icp-0 kfTVTG MarkdownStyles__StyledMarkdown-sc-bf598916-0 fzarqH"><p>Ansible is a modern configuration management tool that facilitates the task of setting up and maintaining remote servers. With a minimalist design intended to get users up and running quickly, it allows you to control one to hundreds of systems from a central location with either playbooks or ad hoc commands.</p> <p>This series goes over how to use Ansible to manage remote servers, and how to execute Ansible playbooks to automate server setup.</p> </div></div><div><button class="TutorialSeriesListStyles__StyledSubscribeButton-sc-8b604fb6-4 iNRoJr">Subscribe</button><div class="TutorialSeriesListStyles__StyledTags-sc-8b604fb6-5 csUVzF"><a title="Ansible" class="TagStyles__StyledTag-sc-a75ae9ac-0 dhVrNO" href="/community/tags/ansible">Ansible</a><a title="Configuration Management" class="TagStyles__StyledTag-sc-a75ae9ac-0 dhVrNO" href="/community/tags/configuration-management">Configuration Management</a></div></div></div><div class="TutorialSeriesListStyles__StyledSeriesList-sc-8b604fb6-2 dpBxBF"><div class="TutorialSeriesListStyles__StyledSeriesBrowse-sc-8b604fb6-3 iJmWSx">Browse Series: 5 articles</div><ul><li style="background:url(/_next/static/media/disc.677bc142.svg) no-repeat left 10px"><a style="color:#081B4B" href="/community/conceptual-articles/an-introduction-to-configuration-management-with-ansible">1/5 An Introduction to Configuration Management with Ansible </a></li><li><a href="/community/tutorials/how-to-install-and-configure-ansible-on-ubuntu-20-04">2/5 How To Install and Configure Ansible on Ubuntu 20.04 </a></li><li><a href="/community/tutorials/how-to-set-up-ansible-inventories">3/5 How To Set Up Ansible Inventories </a></li></ul><button class="TutorialSeriesListStyles__StyledSubscribeButton-sc-8b604fb6-4 iNRoJr">Expand to view all</button></div><div class="TutorialTemplateStyles__StyledCollaboratorsFooterContainer-sc-337a0527-8 kYDvfF"><div class="TutorialTemplateStyles__StyledCollaboratorsFooter-sc-337a0527-9 fAKdCr"><div class="TutorialTemplateStyles__StyledCollaboratorsHeading-sc-337a0527-10 bPCjPq">About the authors</div><div class="TutorialTemplateStyles__StyledCollaborator-sc-337a0527-11 kLvEfV"><img alt="Default avatar" loading="lazy" width="64" height="64" decoding="async" data-nimg="1" class="TutorialTemplateStyles__StyledAvatarLarge-sc-337a0527-12 eoFuZs" style="color:transparent" srcSet="https://www.digitalocean.com/api/static-content/v1/images?src=%2F_next%2Fstatic%2Fmedia%2Fdefault-avatar.14b0d31d.jpeg&amp;width=64 1x, https://www.digitalocean.com/api/static-content/v1/images?src=%2F_next%2Fstatic%2Fmedia%2Fdefault-avatar.14b0d31d.jpeg&amp;width=128 2x" src="https://www.digitalocean.com/api/static-content/v1/images?src=%2F_next%2Fstatic%2Fmedia%2Fdefault-avatar.14b0d31d.jpeg&amp;width=128"/><div class="TutorialTemplateStyles__StyledCollaboratorInfo-sc-337a0527-13 gRceEM"><div class="TutorialTemplateStyles__StyledCollaboratorName-sc-337a0527-14 hPVxKD"><a size="18" class="TutorialTemplateStyles__StyledRecordMetaItemAuthorHighlight-sc-337a0527-7 dKebKT" href="/community/users/erikaheidi">Erika Heidi</a><p class="TutorialTemplateStyles__StyledUserRelation-sc-337a0527-29 SCLyp">author</p></div><p size="18" class="TutorialTemplateStyles__StyledCollaboratorTitle-sc-337a0527-16 hgqDuN">Developer Advocate</p></div></div><div class="TutorialTemplateStyles__StyledCollaboratorBio-sc-337a0527-15 jOvxSW"><div class="Markdownstyles-sc-dd1icp-0 kfTVTG MarkdownStyles__StyledMarkdown-sc-bf598916-0 fzarqH"><p>Dev/Ops passionate about open source, PHP, and Linux.</p> </div></div></div></div><div class="TutorialTemplateStyles__StyledHelpfulCTA-sc-337a0527-36 bdnkwT"><div class="QuestionSearchFooterStyles__StyledQuestionSearchFooterContent-sc-43bc7691-0 jgVACS"><h4 class="HeadingStyles__StyledH4-sc-73f0758c-3 lfDrER QuestionSearchFooter___StyledHeading-sc-b0972586-0 BIpEk">Still looking for an answer?</h4><a class="QuestionSearchFooterStyles__StyledActionBox-sc-43bc7691-1 IuQNg" href="/community/questions">Ask a question</a><a class="QuestionSearchFooterStyles__StyledActionBox-sc-43bc7691-1 IuQNg" href="/community">Search for more help</a></div><hr class="TutorialTemplateStyles__StyledHelpfulHr-sc-337a0527-37 hsNeFw"/><div margin="0" class="WasThisHelpfulStyles__StyledHelpfulContainer-sc-7b34e333-0 fIwROR"><div class="WasThisHelpfulStyles__StyledHelpfulText-sc-7b34e333-2 ksqBeP">Was this helpful?</div><div class="WasThisHelpfulStyles__StyledHelpfulButtonContainer-sc-7b34e333-3 gjbNkJ"><button class="WasThisHelpfulStyles__StyledHelpfulButton-sc-7b34e333-5 hnJljI">Yes</button><button class="WasThisHelpfulStyles__StyledHelpfulButton-sc-7b34e333-5 hnJljI">No</button></div><div class="WasThisHelpfulStyles__StyledHelpfulDivider-sc-7b34e333-4 kgGjh"> </div><div class="WasThisHelpfulStyles__StyledShareContainer-sc-7b34e333-1 kWxKBP"><a href="https://twitter.com/intent/tweet?url=https%3A%2F%2Fwww.digitalocean.com%2Fcommunity%2Fconceptual-articles%2Fan-introduction-to-configuration-management-with-ansible%3Futm_medium%3Dcommunity%26utm_source%3Dtwshare%26utm_content%3Dan-introduction-to-configuration-management-with-ansible&amp;text=&amp;via=digitalocean" target="_blank" rel="nofollow noopener noreferrer" title="Share to X (Twitter)" class="SocialStyles__StyledSocial-sc-8567fc92-0 duWDmu"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M14.0468 10.3155L22.0566 1.00003H20.1585L13.2036 9.08855L7.6488 1.00003H1.24194L9.64196 13.2313L1.24194 23H3.14011L10.4847 14.4583L16.351 23H22.7578L14.0464 10.3155H14.0468ZM11.447 13.3391L10.5959 12.1211L3.82405 2.42968H6.73952L12.2045 10.251L13.0556 11.4689L20.1594 21.6354H17.244L11.447 13.3395V13.3391Z" fill="currentColor"></path></svg></a><a href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fwww.digitalocean.com%2Fcommunity%2Fconceptual-articles%2Fan-introduction-to-configuration-management-with-ansible%3Futm_medium%3Dcommunity%26utm_source%3Dtwshare%26utm_content%3Dan-introduction-to-configuration-management-with-ansible&amp;t=" target="_blank" rel="nofollow noopener noreferrer" title="Share to Facebook" class="SocialStyles__StyledSocial-sc-8567fc92-0 duWDmu"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.75 8.33333H6V12H8.75V23H13.3333V12H16.6718L17 8.33333H13.3333V6.80525C13.3333 5.92983 13.5093 5.58333 14.3554 5.58333H17V1H13.5093C10.213 1 8.75 2.45108 8.75 5.23042V8.33333Z" fill="currentColor"></path></svg></a><a href="https://www.linkedin.com/shareArticle?mini=true&amp;url=https%3A%2F%2Fwww.digitalocean.com%2Fcommunity%2Fconceptual-articles%2Fan-introduction-to-configuration-management-with-ansible%3Futm_medium%3Dcommunity%26utm_source%3Dtwshare%26utm_content%3Dan-introduction-to-configuration-management-with-ansible&amp;title=" target="_blank" rel="nofollow noopener noreferrer" title="Share to LinkedIn" class="SocialStyles__StyledSocial-sc-8567fc92-0 duWDmu"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M21.376 1H2.62403C1.72722 1 1 1.72722 1 2.62403V21.376C1 22.2728 1.72722 23 2.62403 23H21.376C22.2728 23 23 22.2728 23 21.376V2.62403C23 1.72722 22.2728 1 21.376 1ZM7.55722 19.7428H4.24958V9.23472H7.55722V19.7428ZM5.90417 7.78028C4.85153 7.78028 3.9975 6.97819 3.9975 5.88125C3.9975 4.78431 4.85153 3.98222 5.90417 3.98222C6.95681 3.98222 7.81083 4.78431 7.81083 5.88125C7.81083 6.97819 6.95681 7.78028 5.90417 7.78028ZM19.7504 19.7504H16.4428V14.0121C16.4428 12.3193 15.7232 11.7968 14.7943 11.7968C13.8135 11.7968 12.851 12.5347 12.851 14.0549V19.7519H9.54333V9.24236H12.7242V10.6983H12.7669C13.0862 10.0521 14.2046 8.9475 15.9111 8.9475C17.7567 8.9475 19.7504 10.0429 19.7504 13.2513V19.7504Z" fill="currentColor"></path></svg></a><a href="https://news.ycombinator.com/submitlink?u=https%3A%2F%2Fwww.digitalocean.com%2Fcommunity%2Fconceptual-articles%2Fan-introduction-to-configuration-management-with-ansible%3Futm_medium%3Dcommunity%26utm_source%3Dtwshare%26utm_content%3Dan-introduction-to-configuration-management-with-ansible&amp;t=" target="_blank" rel="nofollow noopener noreferrer" title="Share to YCombinator" class="SocialStyles__StyledSocial-sc-8567fc92-0 duWDmu"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M3 1.01254C3.04736 1.10355 7.73642 9.81318 10.0413 14.1063C10.1047 14.2302 10.1379 14.3671 10.1385 14.5059C10.1442 17.2604 10.1426 22.9248 10.1426 23H12.8918C12.8918 22.9009 12.8897 17.3676 12.8967 14.6872C12.8987 14.528 12.9384 14.3716 13.0126 14.2305C15.3098 9.94828 20.0384 1.15572 20.1111 1.01861C20.0446 1.01133 18.1324 1.00607 17.2146 1C17.0859 1 17.0402 1.06269 16.9912 1.15977C16.5482 2.03789 16.097 2.91237 15.6556 3.79171C14.32 6.45278 11.6248 11.8182 11.5995 11.8518C11.5619 11.7773 8.04714 4.65204 6.32692 1.1444C6.26813 1.02306 6.193 1.00081 6.07295 1.00121C5.11424 1.00485 3.09024 1.00809 3 1.01254Z" fill="currentColor"></path></svg></a></div></div></div><div class="container"><div class="TutorialTabs___StyledDiv-sc-f2c5ea96-3 LuTHN"><button class="ButtonStyles__StyledButton-sc-1f59e819-0 dZfTxb TutorialTabs___StyledButton-sc-f2c5ea96-0 kDrTcG darkblue" style="color:#031b4e">Comments<svg style="background-color:#e5e8ed" class="TutorialTabs___StyledSvg-sc-f2c5ea96-2 gSGogM"><line x1="1.5" x2="4000px" y1="2px" y2="2px" class="TutorialTabs___StyledLine-sc-f2c5ea96-1 hwqQwE selected" style="stroke:#0069ff"></line></svg></button></div><div><div class="CommentFormTemplateStyles__StyledFormHeader-sc-f4f7f538-1 hMXGxj">Leave a comment</div><form class="CommentFormTemplateStyles__StyledForm-sc-f4f7f538-0 bCRmhw"><div class="MarkdownStyles__StyledContainer-sc-dccc8dc1-0 lwZFQ"><input type="text" required="" style="height:0;width:0;opacity:0;padding:0;border:0;position:absolute" tabindex="-1" aria-hidden="true" value=""/><div class="MarkdownStyles__StyledActions-sc-dccc8dc1-1 NFBTT"><button type="button" title="Bold" aria-label="Bold" disabled="" class="MarkdownStyles__StyledActionButton-sc-dccc8dc1-3 hbUzfS"><svg height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="m12.4799 4.625c1.0333 0 1.88.14333 2.54.43.6667.28667 1.16.7 1.48 1.24.32.53333.48 1.16333.48 1.89s-.1433 1.34667-.43 1.86c-.2867.5067-.65.9-1.09 1.18-.44.2733-.8867.4267-1.34.46.4733.0133.96.1367 1.46.37.5.2267.92.5967 1.26 1.11.34.5067.51 1.1833.51 2.03 0 .8-.1633 1.5167-.49 2.15-.32.6267-.8367 1.1233-1.55 1.49-.7133.36-1.6667.54-2.86.54h-5.8v-14.75zm-2.86 6.83-1.03-.87h2.94c.7867 0 1.3767-.1667 1.77-.5.3933-.34.59-.79667.59-1.37 0-.38667-.0833-.70333-.25-.95-.1667-.25333-.4133-.44-.74-.56s-.73-.18-1.21-.18h-3.47l1.4-1.48zm2.23 5.51c.76 0 1.3367-.1733 1.73-.52.4-.3533.6-.83.6-1.43 0-.34-.06-.6367-.18-.89-.1133-.2533-.2767-.4633-.49-.63-.2133-.1733-.4733-.3033-.78-.39-.3-.0933-.6333-.14-1-.14h-3.14l1.03-.86v6.34l-1.4-1.48z" fill="currentColor"></path></svg></button><button type="button" title="Italic" aria-label="Italic" disabled="" class="MarkdownStyles__StyledActionButton-sc-dccc8dc1-3 hbUzfS"><svg height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="m6.93994 19.3002.26-1.64h2.97996l1.8-11.32h-2.97996l.26-1.64h7.79996l-.26 1.64h-2.98l-1.8 11.32h2.98l-.26 1.64z" fill="currentColor"></path></svg></button><button type="button" title="Underline" aria-label="Underline" disabled="" class="MarkdownStyles__StyledActionButton-sc-dccc8dc1-3 hbUzfS"><svg height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><g fill="currentColor" stroke="currentColor" stroke-width=".5"><path d="m16.104 12.0476c0 1.5307-.3573 2.6667-1.072 3.408-.7147.736-1.7093 1.104-2.984 1.104-1.2693 0-2.26133-.368-2.976-1.104-.71467-.7413-1.072-1.8773-1.072-3.408 0-.2347 0-.4827 0-.744 0-.2667 0-.5467 0-.84v-5.86399h1.368v5.98399.776.664c0 1.184.22667 2.032.68 2.544.4533.5067 1.12.76 2 .76.8853 0 1.5547-.2533 2.008-.76.4587-.512.688-1.36.688-2.544v-7.42399h1.36z"></path><path clip-rule="evenodd" d="m7 18.8994c0-.2761.2132-.5.47619-.5h9.04761c.263 0 .4762.2239.4762.5 0 .2762-.2132.5-.4762.5h-9.04761c-.26299 0-.47619-.2238-.47619-.5z" fill-rule="evenodd"></path></g></svg></button><button type="button" title="Strikethrough" aria-label="Strikethrough" disabled="" class="MarkdownStyles__StyledActionButton-sc-dccc8dc1-3 hbUzfS"><svg height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><g fill="currentColor"><path clip-rule="evenodd" d="m5 11.9346c0-.2762.19588-.5.4375-.5h13.125c.2416 0 .4375.2238.4375.5 0 .2761-.1959.5-.4375.5h-13.125c-.24162 0-.4375-.2239-.4375-.5z" fill-rule="evenodd"></path><path d="m12.0006 19.5646c-1.02 0-1.8933-.16-2.61997-.48-.72-.3267-1.27334-.8167-1.66-1.47-.38667-.6534-.58001-1.4667-.58001-2.44v-.68h1.71001v.65c0 1.02.26666 1.7566.8 2.21.53337.4466 1.30997.67 2.32997.67 1.0534 0 1.85-.18 2.39-.54s.81-.9434.81-1.75c0-.5667-.1566-1.0367-.47-1.41-.2797-.3466-.6592-.6433-1.1385-.89h2.6353c.0468.0652.0912.1319.1332.2.34.54.51 1.22.51 2.04s-.1966 1.52-.59 2.1c-.3866.58-.9433 1.0233-1.67 1.33-.72.3066-1.5833.46-2.59.46z"></path><path d="m7.80063 10.2446c.04249.0645.08671.1278.13266.19h2.54991c-.4493-.2411-.81352-.52111-1.09258-.84003-.31999-.38-.47999-.86-.47999-1.44 0-.77333.26333-1.33.79-1.67s1.27337-.51 2.23997-.51c1.0067 0 1.7734.20667 2.3.62.5267.40667.79 1.09667.79 2.07v.68h1.71v-.75c0-.93333-.2-1.70667-.6-2.32-.3933-.62-.9533-1.08-1.68-1.38-.72-.30667-1.57-.46-2.55-.46-.9266 0-1.74.14333-2.43997.43-.7.28667-1.24667.70667-1.64 1.26-.38667.55333-.58 1.23-.58 2.03 0 .82.18333 1.51667.55 2.09003z"></path></g></svg></button><button type="button" title="Link" aria-label="Link" disabled="" class="MarkdownStyles__StyledActionButton-sc-dccc8dc1-3 hbUzfS"><svg height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="m17.906 6.65242c-.5458-.62654-1.5313-.66515-2.1882.02623l-6.43176 6.76875c-.16633.1751-.16633.3981 0 .5731.16633.1751.37821.1751.54454 0l5.32012-5.59886c.3101-.32634.8128-.32634 1.1229 0s.3101.85545 0 1.1818l-5.3201 5.59886c-.7865.8278-2.00389.8278-2.79041 0-.78652-.8277-.78652-2.1089 0-2.9366l6.43171-6.76885c1.2447-1.30991 3.2674-1.35254 4.4701.01279 1.2325 1.31066 1.2688 3.42899-.0234 4.69066l-7.5321 7.9268c-1.73941 1.8305-4.4655 1.8305-6.20487 0s-1.73937-4.6995 0-6.53l6.43177-6.76877c.3101-.32634.8128-.32634 1.1229 0s.3101.85545 0 1.18179l-6.43172 6.76878c-1.11919 1.1779-1.11919 2.9886 0 4.1664 1.11918 1.1779 2.83975 1.1779 3.95892 0l7.5434-7.9387c.0082-.00856.0165-.01693.025-.02511.5953-.57433.632-1.61147-.025-2.30284-.0081-.00856-.0161-.01731-.0238-.02623z" fill="currentColor"></path></svg></button><button type="button" title="Image" aria-label="Image" disabled="" class="MarkdownStyles__StyledActionButton-sc-dccc8dc1-3 hbUzfS"><svg height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><g fill="currentColor"><path d="M5 4.75C4.22416 4.75 3.75 5.29076 3.75 5.77778V18.2222C3.75 18.7092 4.22416 19.25 5 19.25H19C19.7758 19.25 20.25 18.7092 20.25 18.2222V5.77778C20.25 5.29076 19.7758 4.75 19 4.75H5ZM2.25 5.77778C2.25 4.30112 3.5667 3.25 5 3.25H19C20.4333 3.25 21.75 4.30112 21.75 5.77778V18.2222C21.75 19.6989 20.4333 20.75 19 20.75H5C3.5667 20.75 2.25 19.6989 2.25 18.2222V5.77778Z"></path><path d="M7.5 7.75C7.08579 7.75 6.75 8.08579 6.75 8.5C6.75 8.91421 7.08579 9.25 7.5 9.25C7.91421 9.25 8.25 8.91421 8.25 8.5C8.25 8.08579 7.91421 7.75 7.5 7.75ZM5.25 8.5C5.25 7.25736 6.25736 6.25 7.5 6.25C8.74264 6.25 9.75 7.25736 9.75 8.5C9.75 9.74264 8.74264 10.75 7.5 10.75C6.25736 10.75 5.25 9.74264 5.25 8.5Z"></path><path d="M15.4697 10.4697C15.7626 10.1768 16.2374 10.1768 16.5303 10.4697L21.5303 15.4697C21.8232 15.7626 21.8232 16.2374 21.5303 16.5303C21.2374 16.8232 20.7626 16.8232 20.4697 16.5303L16 12.0607L7.53033 20.5303C7.23744 20.8232 6.76256 20.8232 6.46967 20.5303C6.17678 20.2374 6.17678 19.7626 6.46967 19.4697L15.4697 10.4697Z"></path></g></svg></button><button type="button" title="Highlight" aria-label="Highlight" disabled="" class="MarkdownStyles__StyledActionButton-sc-dccc8dc1-3 hbUzfS"><svg height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><g fill="currentColor"><rect height="2" rx=".5" width="13" x="5.5" y="17.5"></rect><path clip-rule="evenodd" d="m17.0364 5.96101c-.3515-.35085-.9213-.35085-1.2728 0l-.4757.4749 1.2728 1.27053.4757-.47489c.3515-.35085.3515-.91969 0-1.27054zm-1.3243 2.59246-1.2728-1.27054-6.7393 6.72737v1.2918h1.25148zm-.797-3.43948c.8201-.81865 2.1497-.81865 2.9698 0s.8201 2.14594 0 2.96459l-8.26063 8.24602c-.11252.1123-.26513.1754-.42426.1754h-2.10001c-.33137 0-.6-.2682-.6-.5989v-2.1389c0-.1588.06321-.3112.17574-.4235z" fill-rule="evenodd"></path></g></svg></button><button type="button" title="Heading 1" aria-label="Heading 1" disabled="" class="MarkdownStyles__StyledActionButton-sc-dccc8dc1-3 hbUzfS"><svg height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><g fill="currentColor"><path d="m14.5439 4.5v13.209h-1.9432v-6.5642l.8776.788h-7.28958l.87761-.7791v6.5553h-1.94328v-13.209h1.94328v6.6269l-.87761-.815h7.28958l-.8776.815v-6.6269z"></path><path d="m18.8765 11.5537v7.9469h-1.1606v-6.7648c-.0322.0394-.1236.0896-.274.1504-.1505.0609-.3332.12-.5481.1774-.2149.0537-.4406.0931-.677.1182v-.9887c.2328-.0358.4567-.0895.6716-.1612.215-.0716.3977-.1504.5481-.2364.154-.086.2561-.1666.3063-.2418z"></path></g></svg></button><button type="button" title="Heading 2" aria-label="Heading 2" disabled="" class="MarkdownStyles__StyledActionButton-sc-dccc8dc1-3 hbUzfS"><svg height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><g fill="currentColor"><path d="m13.4506 4.5v13.2088h-1.9433v-6.5641l.8776.7881h-7.28945l.8776-.7791v6.5551h-1.94326v-13.2088h1.94326v6.6268l-.8776-.8149h7.28945l-.8776.8149v-6.6268z"></path><path d="m15.0752 19.5001v-.9833c.0287-.1326.1164-.2937.2633-.4836.1469-.1934.326-.3994.5373-.6179s.4334-.437.6663-.6555c.2364-.2185.4567-.4191.6609-.6018.2507-.2293.4961-.4657.7361-.7093.24-.2471.4388-.5068.5964-.7791.1612-.2758.2418-.5659.2418-.8704 0-.4298-.1021-.7612-.3063-.994-.2006-.2364-.5069-.3546-.9188-.3546-.3295 0-.5928.0698-.7898.2095-.1971.1397-.3385.3367-.4245.591-.086.2508-.129.5445-.129.8812h-1.1713c0-.5337.0931-.9994.2794-1.397.1898-.4012.4728-.711.8489-.9295.3762-.2221.8436-.3331 1.4024-.3331.5266 0 .9654.1003 1.3164.3008.3547.2006.6197.4765.7952.8275.1792.351.2687.754.2687 1.209 0 .3008-.0573.5892-.1719.865-.1111.2723-.2579.5284-.4406.7684-.1791.24-.3726.4621-.5803.6662-.2078.2042-.4048.3887-.5911.5535-.3044.265-.5838.5158-.8382.7522-.2507.2328-.4585.4442-.6232.634-.1612.1863-.2597.3439-.2956.4729h3.5624v.9779z"></path></g></svg></button><button type="button" title="Heading 3" aria-label="Heading 3" disabled="" class="MarkdownStyles__StyledActionButton-sc-dccc8dc1-3 hbUzfS"><svg height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><g fill="currentColor"><path d="m13.4184 4.5v13.1102h-1.9288v-6.5151l.871.7822h-7.23502l.87105-.7733v6.5062h-1.92876v-13.1102h1.92876v6.5773l-.87105-.8088h7.23502l-.871.8088v-6.5773z"></path><path d="m18.5668 15.2446c.3128.0107.5688.0996.7679.2667.2027.1635.352.3822.448.6559.0995.2703.1493.5707.1493.9013 0 .4515-.0853.8622-.256 1.2319-.1706.3662-.4337.6578-.7893.8746-.3519.2169-.8035.3254-1.3545.3254-.4587 0-.8462-.0605-1.1626-.1814-.3165-.1244-.5707-.2986-.7626-.5226-.1885-.2275-.3271-.4977-.416-.8106-.0853-.3129-.128-.6577-.128-1.0346 0-.0036 0-.0071 0-.0107 0-.0035 0-.0071 0-.0106h1.1626v.0106.0107c0 .416.0515.7395.1546.9706.1067.2311.2578.3929.4533.4853.1991.0889.4373.1333.7147.1333.3733 0 .6684-.1209.8852-.3626.2205-.2453.3307-.624.3307-1.1359 0-.1849-.0196-.3574-.0587-.5173-.0355-.16-.1013-.2987-.1973-.416-.096-.1209-.2293-.2151-.4-.2827-.1671-.0711-.3822-.1066-.6453-.1066h-.288v-.88h.288c.256 0 .4676-.0337.6347-.1013.1706-.0711.3039-.1653.3999-.2826.096-.1209.1636-.2542.2027-.4.0426-.1493.064-.3022.064-.4586 0-.4267-.1085-.7342-.3253-.9227-.2169-.1884-.5084-.2826-.8746-.2826-.4018 0-.7253.1067-.9706.32-.2454.2133-.368.6008-.368 1.1626h-1.1626c0-.352.048-.6773.144-.976.0995-.2986.2489-.5582.4479-.7786.2027-.224.4605-.3964.7733-.5173.3129-.1209.6844-.1813 1.1146-.1813.5475 0 .9973.096 1.3493.288.3519.192.6133.4479.7839.7679.1707.32.256.6738.256 1.0613 0 .2951-.0498.5706-.1493.8266-.096.2524-.2453.4586-.448.6186-.1991.16-.4551.2471-.7679.2613z"></path></g></svg></button><button type="button" title="Unordered list" aria-label="Unordered list" disabled="" class="MarkdownStyles__StyledActionButton-sc-dccc8dc1-3 hbUzfS"><svg height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="m4.25 10.5c-.83 0-1.5.67-1.5 1.5s.67 1.5 1.5 1.5 1.5-.67 1.5-1.5-.67-1.5-1.5-1.5zm0-6c-.83 0-1.5.67-1.5 1.5s.67 1.5 1.5 1.5 1.5-.67 1.5-1.5-.67-1.5-1.5-1.5zm0 12c-.83 0-1.5.68-1.5 1.5s.68 1.5 1.5 1.5 1.5-.68 1.5-1.5-.67-1.5-1.5-1.5zm3 1.5c0 .5523.44772 1 1 1h12c.5523 0 1-.4477 1-1s-.4477-1-1-1h-12c-.55228 0-1 .4477-1 1zm0-6c0 .5523.44772 1 1 1h12c.5523 0 1-.4477 1-1s-.4477-1-1-1h-12c-.55228 0-1 .4477-1 1zm1-7c-.55228 0-1 .44772-1 1s.44772 1 1 1h12c.5523 0 1-.44772 1-1s-.4477-1-1-1z" fill="currentColor"></path></svg></button><button type="button" title="Ordered list" aria-label="Ordered list" disabled="" class="MarkdownStyles__StyledActionButton-sc-dccc8dc1-3 hbUzfS"><svg height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><g fill="currentColor"><path d="m4.365 4.48535v2.958h-.432v-2.518c-.012.01467-.046.03334-.102.056-.056.02267-.124.04467-.204.066-.08.02-.164.03467-.252.044v-.368c.08667-.01333.17-.03333.25-.06s.148-.056.204-.088c.05733-.032.09533-.062.114-.09z"></path><path d="m3.389 13.4734v-.366c.01067-.0494.04333-.1094.098-.18.05467-.072.12133-.1487.2-.23.07867-.0814.16133-.1627.248-.244.088-.0814.17-.156.246-.224.09333-.0854.18467-.1734.274-.264.08933-.092.16333-.1887.222-.29.06-.1027.09-.2107.09-.324 0-.16-.038-.2834-.114-.37-.07467-.088-.18867-.132-.342-.132-.12267 0-.22067.026-.294.078s-.126.1253-.158.22c-.032.0933-.048.2026-.048.328h-.436c0-.1987.03467-.372.104-.52.07067-.1494.176-.2647.316-.346.14-.0827.314-.124.522-.124.196 0 .35933.0373.49.112.132.0746.23067.1773.296.308.06667.1306.1.2806.1.45 0 .112-.02133.2193-.064.322-.04133.1013-.096.1966-.164.286-.06667.0893-.13867.172-.216.248s-.15067.1446-.22.206c-.11333.0986-.21733.192-.312.28-.09333.0866-.17067.1653-.232.236-.06.0693-.09667.128-.11.176h1.326v.364z"></path><path d="m4.689 17.9194c.11733.004.21333.0373.288.1.076.0613.132.1433.168.246.03733.1013.056.214.056.338 0 .1693-.032.3233-.096.462-.064.1373-.16267.2466-.296.328-.132.0813-.30133.122-.508.122-.172 0-.31733-.0227-.436-.068-.11867-.0467-.214-.112-.286-.196-.07067-.0854-.12267-.1867-.156-.304-.032-.1174-.048-.2467-.048-.388 0-.0014 0-.0027 0-.004 0-.0014 0-.0027 0-.004h.436v.004.004c0 .156.01933.2773.058.364.04.0866.09667.1473.17.182.07467.0333.164.05.268.05.14 0 .25067-.0454.332-.136.08267-.092.124-.234.124-.426 0-.0694-.00733-.134-.022-.194-.01333-.06-.038-.112-.074-.156-.036-.0454-.086-.0807-.15-.106-.06267-.0267-.14333-.04-.242-.04h-.108v-.33h.108c.096 0 .17533-.0127.238-.038.064-.0267.114-.062.15-.106.036-.0454.06133-.0954.076-.15.016-.056.024-.1134.024-.172 0-.16-.04067-.2754-.122-.346-.08133-.0707-.19067-.106-.328-.106-.15067 0-.272.04-.364.12s-.138.2253-.138.436h-.436c0-.132.018-.254.054-.366.03733-.112.09333-.2094.168-.292.076-.084.17267-.1487.29-.194.11733-.0454.25667-.068.418-.068.20533 0 .374.036.506.108s.23.168.294.288.096.2526.096.398c0 .1106-.01867.214-.056.31-.036.0946-.092.172-.168.232-.07467.06-.17067.0926-.288.098z"></path><path d="m6.625 17.9854c0 .5522.44772 1 1 1h12c.5523 0 1-.4478 1-1 0-.5523-.4477-1-1-1h-12c-.55228 0-1 .4477-1 1zm0-6c0 .5522.44772 1 1 1h12c.5523 0 1-.4478 1-1 0-.5523-.4477-1-1-1h-12c-.55228 0-1 .4477-1 1zm1-7.00005c-.55228 0-1 .44772-1 1 0 .55229.44772 1 1 1h12c.5523 0 1-.44771 1-1 0-.55228-.4477-1-1-1z"></path></g></svg></button><button type="button" title="Quote" aria-label="Quote" disabled="" class="MarkdownStyles__StyledActionButton-sc-dccc8dc1-3 hbUzfS"><svg height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><g fill="currentColor"><path d="m9.45529 9.8724c.86271 0 1.44511.6551 1.44511 1.6257 0 .8736-.6686 1.6015-1.57452 1.6015-.99216 0-1.72549-.8735-1.72549-2.2081 0-3.03307 2.02745-4.2463 3.30001-4.39189v1.33456c-.8628.16985-1.83334 1.11618-1.87648 2.15956.04314-.02427.21569-.12133.43137-.12133z"></path><path d="m5.05529 9.8724c.86275 0 1.4451.6551 1.4451 1.6257 0 .8736-.66863 1.6015-1.57451 1.6015-.99216 0-1.72549-.8735-1.72549-2.2081 0-3.03307 2.02745-4.2463 3.3-4.39189v1.33456c-.86275.16985-1.83333 1.11618-1.87647 2.15956.04314-.02427.21569-.12133.43137-.12133z"></path><path d="m14.5447 14.1276c-.8627 0-1.4451-.6551-1.4451-1.6257 0-.8736.6686-1.6015 1.5745-1.6015.9922 0 1.7255.8735 1.7255 2.2081 0 3.0331-2.0274 4.2463-3.3 4.3919v-1.3346c.8628-.1698 1.8333-1.1161 1.8765-2.1595-.0432.0242-.2157.1213-.4314.1213z"></path><path d="m18.9447 14.1276c-.8627 0-1.4451-.6551-1.4451-1.6257 0-.8736.6686-1.6015 1.5745-1.6015.9922 0 1.7255.8735 1.7255 2.2081 0 3.0331-2.0274 4.2463-3.3 4.3919v-1.3346c.8628-.1698 1.8333-1.1161 1.8765-2.1595-.0432.0242-.2157.1213-.4314.1213z"></path></g></svg></button><button type="button" title="Callout" aria-label="Callout" disabled="" class="MarkdownStyles__StyledActionButton-sc-dccc8dc1-3 hbUzfS"><svg height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><g fill="currentColor"><path d="m12 6c-3.31371 0-6 2.68629-6 6 0 3.3137 2.68629 6 6 6 3.3137 0 6-2.6863 6-6 0-3.31371-2.6863-6-6-6zm-7.5 6c0-4.14214 3.35786-7.5 7.5-7.5 4.1421 0 7.5 3.35786 7.5 7.5 0 4.1421-3.3579 7.5-7.5 7.5-4.14214 0-7.5-3.3579-7.5-7.5z"></path><path d="m12 10.5c.4142 0 .75.3358.75.75v4.5c0 .4142-.3358.75-.75.75s-.75-.3358-.75-.75v-4.5c0-.4142.3358-.75.75-.75z"></path><path d="m13.125 8.625c0 .62132-.5037 1.125-1.125 1.125s-1.125-.50368-1.125-1.125.5037-1.125 1.125-1.125 1.125.50368 1.125 1.125z"></path></g></svg></button><button type="button" title="Table" aria-label="Table" disabled="" class="MarkdownStyles__StyledActionButton-sc-dccc8dc1-3 hbUzfS"><svg fill="none" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><mask id="a" fill="#fff"><rect fill="#fff" height="7" rx="1" width="7" x="4.5" y="4.5"></rect></mask><mask id="b" fill="#fff"><rect fill="#fff" height="7" rx="1" width="7" x="4.5" y="12.5"></rect></mask><mask id="c" fill="#fff"><rect fill="#fff" height="7" rx="1" width="7" x="12.5" y="4.5"></rect></mask><mask id="d" fill="#fff"><rect fill="#fff" height="7" rx="1" width="7" x="12.5" y="12.5"></rect></mask><g stroke="currentColor" stroke-linejoin="round" stroke-width="2.4"><rect height="7" mask="url(#a)" rx="1" width="7" x="4.5" y="4.5"></rect><rect height="7" mask="url(#b)" rx="1" width="7" x="4.5" y="12.5"></rect><rect height="7" mask="url(#c)" rx="1" width="7" x="12.5" y="4.5"></rect><rect height="7" mask="url(#d)" rx="1" width="7" x="12.5" y="12.5"></rect></g></svg></button><button type="button" title="Code" aria-label="Code" disabled="" class="MarkdownStyles__StyledActionButton-sc-dccc8dc1-3 hbUzfS"><svg height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><g fill="currentColor"><path d="m9.87254 6.52426c.29756.31879.29756.83567 0 1.15447l-4.03273 4.32077 4.03273 4.3208c.29756.3188.29756.8357 0 1.1545-.29754.3188-.77996.3188-1.07751 0l-4.57148-4.8981c-.29755-.3188-.29755-.8356 0-1.1544l4.57148-4.89804c.29755-.3188.77997-.3188 1.07751 0z"></path><path d="m14.1275 17.4748c-.2976-.3188-.2976-.8357 0-1.1545l4.0327-4.3208-4.0327-4.32077c-.2976-.3188-.2976-.83567 0-1.15447.2975-.3188.7799-.3188 1.0775 0l4.5714 4.89804c.2976.3188.2976.8356 0 1.1544l-4.5714 4.8981c-.2976.3188-.78.3188-1.0775 0z"></path></g></svg></button><div class="MarkdownStyles__StyledActionsRight-sc-dccc8dc1-2 emmQTZ"><button type="button" disabled="" title="Preview" aria-label="Preview" class="MarkdownStyles__StyledActionButton-sc-dccc8dc1-3 hbUzfS"><svg height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path clip-rule="evenodd" d="m3.37993 12.6358c-.1925-.2497-.35068-.466-.47127-.6358.12059-.1698.27877-.3861.47127-.6358.49035-.6359 1.1985-1.48178 2.07052-2.32506 1.7738-1.71533 4.09082-3.28914 6.54965-3.28914 2.4589 0 4.7759 1.57381 6.5497 3.28914.8721.84328 1.5802 1.68916 2.0706 2.32506.1925.2497.3506.466.4712.6358-.1206.1698-.2787.3861-.4712.6358-.4904.6359-1.1985 1.4818-2.0706 2.3251-1.7738 1.7153-4.0908 3.2891-6.5497 3.2891-2.45883 0-4.77585-1.5738-6.54965-3.2891-.87202-.8433-1.58017-1.6892-2.07052-2.3251zm19.25177-1.0403c.0001.0002.0003.0004-.6316.4045.6319.4041.6317.4043.6316.4045l-.0004.0006-.001.0017-.0034.0052-.0116.0178c-.0099.0152-.0241.0368-.0425.0645-.0368.0553-.0905.1348-.1602.2349-.1394.2002-.343.4836-.6044.8225-.5217.6766-1.278 1.5807-2.2156 2.4874-1.8455 1.7847-4.5285 3.7109-7.5925 3.7109-3.06392 0-5.7469-1.9262-7.59239-3.7109-.93763-.9067-1.69394-1.8108-2.21565-2.4874-.26133-.3389-.465-.6223-.60434-.8225-.0697-.1001-.12338-.1796-.1602-.2349-.01842-.0277-.03263-.0493-.04253-.0645l-.0116-.0178-.00335-.0052-.00106-.0017-.00038-.0006c-.00014-.0002-.00027-.0004.63155-.4045-.63182-.4041-.63169-.4043-.63155-.4045l.00038-.0006.00106-.0017.00335-.0052.0116-.0178c.0099-.0152.02411-.0368.04253-.0645.03682-.0553.0905-.1348.1602-.2349.13934-.2002.34301-.4836.60434-.8225.52171-.67661 1.27802-1.58072 2.21565-2.48744 1.84549-1.78467 4.52847-3.71086 7.59239-3.71086 3.064 0 5.747 1.92619 7.5925 3.71086.9376.90672 1.6939 1.81083 2.2156 2.48744.2614.3389.465.6223.6044.8225.0697.1001.1234.1796.1602.2349.0184.0277.0326.0493.0425.0645l.0116.0178.0034.0052.001.0017zm-.6316.4045.6319-.4041.2584.4041-.2584.4041zm-20.63177-.4041.63182.4041-.63182.4041-.25847-.4041zm7.38182.4041c0-1.7949 1.45505-3.25 3.24995-3.25 1.795 0 3.25 1.4551 3.25 3.25s-1.455 3.25-3.25 3.25c-1.7949 0-3.24995-1.4551-3.24995-3.25zm3.24995-4.75c-2.6233 0-4.74995 2.12665-4.74995 4.75 0 2.6234 2.12665 4.75 4.74995 4.75 2.6234 0 4.75-2.1266 4.75-4.75 0-2.62335-2.1266-4.75-4.75-4.75z" fill="currentColor" fill-rule="evenodd"></path></svg></button><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj MarkdownStyles__StyledActionLink-sc-dccc8dc1-4 gFNlzT" target="_blank" title="Help" aria-label="Help" href="/community/markdown"><svg height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><g fill="currentColor"><path d="m12 6c-3.31371 0-6 2.68629-6 6 0 3.3137 2.68629 6 6 6 3.3137 0 6-2.6863 6-6 0-3.31371-2.6863-6-6-6zm-7.5 6c0-4.14214 3.35786-7.5 7.5-7.5 4.1421 0 7.5 3.35786 7.5 7.5 0 4.1421-3.3579 7.5-7.5 7.5-4.14214 0-7.5-3.3579-7.5-7.5z"></path><path d="m11.1951 13.8881v-.0817c.0054-.5327.0554-.9565.15-1.2716.0973-.315.2352-.5699.4136-.7646.1784-.1948.3934-.3723.6448-.5327.1622-.1089.3082-.2306.4379-.3652.1298-.1346.2325-.2892.3082-.4639s.1136-.3681.1136-.58c0-.25489-.0568-.47542-.1703-.66157-.1136-.18616-.265-.32936-.4542-.4296-.1866-.1031-.3947-.15465-.6245-.15465-.2082 0-.4069.04582-.5961.13747-.1893.09165-.3461.23484-.4704.42959-.1244.19189-.196.43962-.2149.7432h-1.2328c.01892-.51551.14193-.95084.36902-1.30597.22708-.35799.52718-.62864.90028-.81193.3757-.18329.7907-.27494 1.2449-.27494.4974 0 .9327.09881 1.3058.29642.373.19475.6623.46826.8678.82053.2081.3494.3122.75751.3122 1.22434 0 .32081-.0473.61001-.1419.86781-.0947.2549-.2298.4825-.4055.683-.1731.2005-.3812.3781-.6245.5327-.2298.1518-.4164.3093-.5596.4726-.1406.1632-.2434.3565-.3082.5799-.0649.2234-.1001.4998-.1055.8291v.0817zm.6123 2.6119c-.2217 0-.4123-.0831-.5718-.2492-.1595-.1689-.2392-.3723-.2392-.61 0-.2348.0797-.4353.2392-.6014.1595-.169.3501-.2535.5718-.2535.219 0 .4082.0845.5677.2535.1622.1661.2433.3666.2433.6014 0 .1575-.0378.3022-.1135.4339-.073.1289-.1703.232-.292.3093s-.2568.116-.4055.116z"></path></g></svg></a></div></div><div class="MarkdownStyles__StyledWrapper-sc-dccc8dc1-5 iZDgyt"><div class="MarkdownStyles__StyledSlateEditableWrapper-sc-dccc8dc1-6 gxDflj"><div id="input-:R39l4q9ql6:" class="MarkdownStyles__StyledSlateEditable-sc-dccc8dc1-8 gUXryj" data-slate-editor="true" data-slate-node="value" contenteditable="false" zindex="-1" style="position:relative;white-space:pre-wrap;word-wrap:break-word"><div data-slate-node="element" style="position:relative"><span data-slate-node="text"><span data-slate-leaf="true" data-slate-obj="{&quot;text&quot;:&quot;&quot;,&quot;placeholder&quot;:&quot;Leave a comment...&quot;}" class="MarkdownStyles__StyledSlateLeaf-sc-dccc8dc1-9 kEIgRr"><span data-slate-zero-width="n" data-slate-length="0"><br/></span></span></span></div></div></div></div></div></form><div class="CommentFormTemplateStyles__StyledFormNote-sc-f4f7f538-4 hmApOG"><p>This textbox defaults to using<!-- --> <strong>Markdown</strong> <!-- -->to format your answer.</p><p>You can type<!-- --> <strong>!ref</strong> <!-- -->in this text area to quickly search our full set of<!-- --> <!-- -->tutorials, documentation &amp; marketplace offerings and insert the link!</p></div><div class="CommentFormTemplateStyles__StyledButtonBar-sc-f4f7f538-3 btVxEm"><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj ButtonLinkStyles__StyledButtonLink-sc-b1f7fbf-0 glNInm CommentFormTemplate___StyledButtonLink-sc-9b99b70c-1 gcUUDj" title="" href="/api/dynamic-content/v1/login?success_redirect=https%3A%2F%2Fwww.digitalocean.com&amp;error_redirect=https%3A%2F%2Fwww.digitalocean.com%2Fauth-error&amp;type=register">Sign In or Sign Up to Comment</a></div></div></div><div class="TutorialTemplateStyles__StyledCreativeCommonsLicense-sc-337a0527-20 klBkzI"><a href="https://creativecommons.org/licenses/by-nc-sa/4.0/" alt="Creative Commons url" class="LazyLink___StyledA-sc-679fc0ad-1 gYjDKj"><img alt="Creative Commons" loading="lazy" width="114" height="40" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://www.digitalocean.com/api/static-content/v1/images?src=%2F_next%2Fstatic%2Fmedia%2Fcreativecommons.c0a877f1.png&amp;width=128 1x, https://www.digitalocean.com/api/static-content/v1/images?src=%2F_next%2Fstatic%2Fmedia%2Fcreativecommons.c0a877f1.png&amp;width=256 2x" src="https://www.digitalocean.com/api/static-content/v1/images?src=%2F_next%2Fstatic%2Fmedia%2Fcreativecommons.c0a877f1.png&amp;width=256"/></a><a href="https://creativecommons.org/licenses/by-nc-sa/4.0/" alt="Creative Commons url" class="LazyLink___StyledA-sc-679fc0ad-1 gYjDKj">This work is licensed under a Creative Commons Attribution-NonCommercial- ShareAlike 4.0 International License.</a></div></div><div class="QuestionAndTutorialRightContainerStyles__StyledContainer-sc-67cb485e-0 jsWEOJ"><div class="QuestionAndTutorialRightContainerStyles__StyledStickyContainer-sc-67cb485e-1 ZhibX"><div class="TutorialTemplateStyles__StyledSidebarItem-sc-337a0527-34 dyCJUo"><div class="CommunityCTAStyles-sc-f4cdce3f-0 gMFPJj"><h3>Try DigitalOcean for free</h3><p>Click below to sign up and get<!-- --> <strong>$200<!-- --> <!-- -->of credit</strong> <!-- -->to try our products over 60 days!</p><p><a class="LazyLink___StyledA-sc-679fc0ad-1 gYjDKj TextLink___StyledLazyLink-sc-221f63b7-0 jNvMpG CommunityCTA___StyledTextLink-sc-ca2b5295-1 hnkFuV" href="https://cloud.digitalocean.com/registrations/new?refcode=f6fcd01aaffb">Sign up</a></p></div></div><div class="TutorialTemplateStyles__StyledSidebarItem-sc-337a0527-34 dyCJUo"><div><div class="QuestionAndTutorialSideNavigationStyles__StyledSideNavigationGroup-sc-8d4e3a-0 jLoSgL"><h3 class="QuestionAndTutorialSideNavigationStyles__StyledHeading-sc-8d4e3a-1 cUgAOq">Popular Topics</h3><ul><li class="QuestionAndTutorialSideNavigationStyles__StyledListItem-sc-8d4e3a-2 ghzFwn"><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj QuestionAndTutorialSideNavigation___StyledLazyLink-sc-5001fc89-0 cqFhmh" href="/community/tags/ai-ml">AI/ML</a></li><li class="QuestionAndTutorialSideNavigationStyles__StyledListItem-sc-8d4e3a-2 ghzFwn"><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj QuestionAndTutorialSideNavigation___StyledLazyLink-sc-5001fc89-0 cqFhmh" href="/community/tags/ubuntu">Ubuntu</a></li><li class="QuestionAndTutorialSideNavigationStyles__StyledListItem-sc-8d4e3a-2 ghzFwn"><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj QuestionAndTutorialSideNavigation___StyledLazyLink-sc-5001fc89-0 cqFhmh" href="/community/tags/linux-basics">Linux Basics</a></li><li class="QuestionAndTutorialSideNavigationStyles__StyledListItem-sc-8d4e3a-2 ghzFwn"><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj QuestionAndTutorialSideNavigation___StyledLazyLink-sc-5001fc89-0 cqFhmh" href="/community/tags/javascript">JavaScript</a></li><li class="QuestionAndTutorialSideNavigationStyles__StyledListItem-sc-8d4e3a-2 ghzFwn"><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj QuestionAndTutorialSideNavigation___StyledLazyLink-sc-5001fc89-0 cqFhmh" href="/community/tags/python">Python</a></li><li class="QuestionAndTutorialSideNavigationStyles__StyledListItem-sc-8d4e3a-2 ghzFwn"><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj QuestionAndTutorialSideNavigation___StyledLazyLink-sc-5001fc89-0 cqFhmh" href="/community/tags/mysql">MySQL</a></li><li class="QuestionAndTutorialSideNavigationStyles__StyledListItem-sc-8d4e3a-2 ghzFwn"><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj QuestionAndTutorialSideNavigation___StyledLazyLink-sc-5001fc89-0 cqFhmh" href="/community/tags/docker">Docker</a></li><li class="QuestionAndTutorialSideNavigationStyles__StyledListItem-sc-8d4e3a-2 ghzFwn"><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj QuestionAndTutorialSideNavigation___StyledLazyLink-sc-5001fc89-0 cqFhmh" href="/community/tags/kubernetes">Kubernetes</a></li><li class="QuestionAndTutorialSideNavigationStyles__StyledListItem-sc-8d4e3a-2 QuestionAndTutorialSideNavigationStyles__StyledListItemEmphasized-sc-8d4e3a-3 ghzFwn jAcrvR"><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj TextLink___StyledLazyLink-sc-221f63b7-0 eTVGAK" href="/community/tutorials">All tutorials</a></li><li class="QuestionAndTutorialSideNavigationStyles__StyledListItem-sc-8d4e3a-2 QuestionAndTutorialSideNavigationStyles__StyledListItemEmphasized-sc-8d4e3a-3 ghzFwn jAcrvR"><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj TextLink___StyledLazyLink-sc-221f63b7-0 eTVGAK" href="/company/contact/sales?referrer=tutorials">Talk to an expert</a></li></ul></div></div></div></div></div></div><dialog class="Dialogstyles__StyledDialog-sc-ogn4wt-0 Lunik"><div class="Dialogstyles__StyledDialogContainer-sc-ogn4wt-1 kLMNcL"><button type="button" aria-label="Close" class="Dialogstyles__StyledDialogCloseButton-sc-ogn4wt-2 nSJQw"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></button><div class="TechTalkRegistrationModalTemplateStyles__StyledModalContent-sc-8b89ec4f-4 iSNMWw"><div class="TechTalkRegistrationModalTemplateStyles__StyledModalHeader-sc-8b89ec4f-5 hQlgAx"><h5 defaultColor="#031b4e" class="HeadingStyles__StyledH5-sc-73f0758c-4 fteKuf TechTalkRegistrationModalTemplate___StyledHeading-sc-3c341be5-0 fZaNDn">Join the Tech Talk</h5></div><div class="TechTalkRegistrationModalTemplateStyles__StyledFormContainer-sc-8b89ec4f-0 igwIZZ"><form class="TechTalkRegistrationModalTemplateStyles__StyledForm-sc-8b89ec4f-1 fneTDw"><div class="alert alert-success alert-hidden"><strong>Success!</strong> <!-- -->Thank you! Please check your email for further details.</div><p>Please complete your information!</p><input placeholder="user@digitalocean.com" required="" type="email" class="TechTalkRegistrationModalTemplateStyles__StyledFormInput-sc-8b89ec4f-2 lhxYYL"/><input placeholder="First Name" required="" type="text" class="TechTalkRegistrationModalTemplateStyles__StyledFormInput-sc-8b89ec4f-2 lhxYYL"/><input placeholder="Last Name" required="" type="text" class="TechTalkRegistrationModalTemplateStyles__StyledFormInput-sc-8b89ec4f-2 lhxYYL"/><input type="submit" class="TechTalkRegistrationModalTemplateStyles__StyledSubmit-sc-8b89ec4f-3 WomeH" value="Sign up"/></form></div></div></div></dialog><div class="PreFooterStyles__StyledSection-sc-9178b097-0 gWNWsX"><div class="PreFooterStyles__StyledContainer-sc-9178b097-1 fggxPh"><div class="Gridstyles-sc-isu2n3-0 dBrtIt"><div class="GridItemstyles-sc-eu71zi-0 bQTwvh"></div><div class="GridItemstyles-sc-eu71zi-0 bQTwvh"><div class="Gridstyles-sc-isu2n3-0 fdCJri"><div class="GridItemstyles-sc-eu71zi-0 kqcUUB"><div class="CardUniversalstyles__StyledCardUniversal-sc-1inzdla-9 jAfreL"><div class="CardUniversalstyles__StyledCardUniversalImage-sc-1inzdla-1 gyrAqA"><img alt="" blurWidth="0" blurHeight="0" loading="lazy" width="1056" height="608" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://www.digitalocean.com/api/static-content/v1/images?src=%2F_next%2Fstatic%2Fmedia%2Ftutorials-2-tulip.764b9f59.svg&amp;width=1080 1x, https://www.digitalocean.com/api/static-content/v1/images?src=%2F_next%2Fstatic%2Fmedia%2Ftutorials-2-tulip.764b9f59.svg&amp;width=3840 2x" src="https://www.digitalocean.com/api/static-content/v1/images?src=%2F_next%2Fstatic%2Fmedia%2Ftutorials-2-tulip.764b9f59.svg&amp;width=3840"/></div><div class="CardUniversalstyles__StyledCardUniversalContainer-sc-1inzdla-2 hRLlz"><div class="CardUniversalstyles__StyledCardUniversalContent-sc-1inzdla-3 hgmQvh"><div class="CardUniversalstyles__StyledCardUniversalMainContent-sc-1inzdla-4 ooyFS"><div class="CardUniversalstyles__StyledCardUniversalHeader-sc-1inzdla-6 jeSwjZ"><h2 class="Typographystyles-sc-o7qsl9-0 dHgDVk">Become a contributor for community</h2></div><p class="Typographystyles-sc-o7qsl9-0 kLhCbB">Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.</p></div></div><div class="CardUniversalstyles__StyledCardUniversalLink-sc-1inzdla-5 indddk"><p class="Typographystyles-sc-o7qsl9-0 hXZsjT"><a class="LinkTextstyles-sc-jz3jcd-0 gxPNxu" href="/community/pages/write-for-digitalocean">Sign Up<svg viewBox="0 0 18 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12.6033 1.27344L16.6033 5.77344L12.6033 10.2734" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M1.60327 5.77344H16.6033" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></a></p></div></div></div></div><div class="GridItemstyles-sc-eu71zi-0 kqcUUB"><div class="CardUniversalstyles__StyledCardUniversal-sc-1inzdla-9 jAfreL"><div class="CardUniversalstyles__StyledCardUniversalImage-sc-1inzdla-1 gyrAqA"><img alt="" blurWidth="0" blurHeight="0" loading="lazy" width="1056" height="608" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://www.digitalocean.com/api/static-content/v1/images?src=%2F_next%2Fstatic%2Fmedia%2Fdocs-2-kiwi.239a03ef.svg&amp;width=1080 1x, https://www.digitalocean.com/api/static-content/v1/images?src=%2F_next%2Fstatic%2Fmedia%2Fdocs-2-kiwi.239a03ef.svg&amp;width=3840 2x" src="https://www.digitalocean.com/api/static-content/v1/images?src=%2F_next%2Fstatic%2Fmedia%2Fdocs-2-kiwi.239a03ef.svg&amp;width=3840"/></div><div class="CardUniversalstyles__StyledCardUniversalContainer-sc-1inzdla-2 hRLlz"><div class="CardUniversalstyles__StyledCardUniversalContent-sc-1inzdla-3 hgmQvh"><div class="CardUniversalstyles__StyledCardUniversalMainContent-sc-1inzdla-4 ooyFS"><div class="CardUniversalstyles__StyledCardUniversalHeader-sc-1inzdla-6 jeSwjZ"><h2 class="Typographystyles-sc-o7qsl9-0 dHgDVk">DigitalOcean Documentation</h2></div><p class="Typographystyles-sc-o7qsl9-0 kLhCbB">Full documentation for every DigitalOcean product.</p></div></div><div class="CardUniversalstyles__StyledCardUniversalLink-sc-1inzdla-5 indddk"><p class="Typographystyles-sc-o7qsl9-0 hXZsjT"><a class="LinkTextstyles-sc-jz3jcd-0 gxPNxu" href="https://docs.digitalocean.com">Learn more<svg viewBox="0 0 18 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12.6033 1.27344L16.6033 5.77344L12.6033 10.2734" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M1.60327 5.77344H16.6033" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></a></p></div></div></div></div><div class="GridItemstyles-sc-eu71zi-0 kqcUUB"><div class="CardUniversalstyles__StyledCardUniversal-sc-1inzdla-9 jAfreL"><div class="CardUniversalstyles__StyledCardUniversalImage-sc-1inzdla-1 gyrAqA"><img alt="" blurWidth="0" blurHeight="0" loading="lazy" width="1056" height="608" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://www.digitalocean.com/api/static-content/v1/images?src=%2F_next%2Fstatic%2Fmedia%2Fblogs-1-lavender.495d1f00.svg&amp;width=1080 1x, https://www.digitalocean.com/api/static-content/v1/images?src=%2F_next%2Fstatic%2Fmedia%2Fblogs-1-lavender.495d1f00.svg&amp;width=3840 2x" src="https://www.digitalocean.com/api/static-content/v1/images?src=%2F_next%2Fstatic%2Fmedia%2Fblogs-1-lavender.495d1f00.svg&amp;width=3840"/></div><div class="CardUniversalstyles__StyledCardUniversalContainer-sc-1inzdla-2 hRLlz"><div class="CardUniversalstyles__StyledCardUniversalContent-sc-1inzdla-3 hgmQvh"><div class="CardUniversalstyles__StyledCardUniversalMainContent-sc-1inzdla-4 ooyFS"><div class="CardUniversalstyles__StyledCardUniversalHeader-sc-1inzdla-6 jeSwjZ"><h2 class="Typographystyles-sc-o7qsl9-0 dHgDVk">Resources for startups and SMBs</h2></div><p class="Typographystyles-sc-o7qsl9-0 kLhCbB">The Wave has everything you need to know about building a business, from raising funding to marketing your product.</p></div></div><div class="CardUniversalstyles__StyledCardUniversalLink-sc-1inzdla-5 indddk"><p class="Typographystyles-sc-o7qsl9-0 hXZsjT"><a class="LinkTextstyles-sc-jz3jcd-0 gxPNxu" href="/resources">Learn more<svg viewBox="0 0 18 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12.6033 1.27344L16.6033 5.77344L12.6033 10.2734" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M1.60327 5.77344H16.6033" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></a></p></div></div></div></div></div></div><div class="GridItemstyles-sc-eu71zi-0 bQTwvh"><div id="iaan" class="PreFooterStyles__StyledEmailCaptureContainer-sc-9178b097-2 dWBUFA"><div class="Gridstyles-sc-isu2n3-0 cMcSha PreFooterStyles__StyledGrid-sc-9178b097-4 eEOPZv"><div class="GridItemstyles-sc-eu71zi-0 bQTwvh"><h2 class="Typographystyles-sc-o7qsl9-0 fRmROg">Get our newsletter</h2></div><div class="GridItemstyles-sc-eu71zi-0 bQTwvh"><p class="Typographystyles-sc-o7qsl9-0 kLhCbB">Stay up to date by signing up for DigitalOcean’s Infrastructure as a Newsletter.</p></div></div><div class="Gridstyles-sc-isu2n3-0 blGhge PreFooterStyles__StyledFullWidthGrid-sc-9178b097-9 gBggHG"><div class="GridItemstyles-sc-eu71zi-0 bQTwvh"><form id="mktoForm_1055" style="display:none;width:100%"></form><form class="PreFooterStyles__StyledEmailInputContainer-sc-9178b097-7 hpvMmi"><div class="PreFooterStyles__StyledEmailInput-sc-9178b097-8 gshWnS"><input type="email" name="email" placeholder="Email address" required="" value=""/><div class="PreFooterStyles__StyledInInputSubmit-sc-9178b097-6 dzyQkl"><button aria-disabled="false" type="submit" class="Buttonstyles-sc-hznqte-1 hPCZJz">Submit</button></div></div><div class="PreFooterStyles__StyledOutsideInputSubmit-sc-9178b097-5 iPSfQk"><button aria-disabled="false" type="submit" class="Buttonstyles-sc-hznqte-1 hPCZJz">Submit</button></div></form></div><div class="GridItemstyles-sc-eu71zi-0 bQTwvh"><div class="PreFooterStyles__StyledDisclaimerContainer-sc-9178b097-3 fEeiqt"><p class="Typographystyles-sc-o7qsl9-0 hHKElO">New accounts only. By submitting your email you agree to our<!-- --> <a class="LinkInlinestyles-sc-18du0ds-0 iepvyF" href="/legal/privacy-policy">Privacy Policy</a></p></div></div></div></div></div></div></div></div><div id="start-building-today" class="FooterStyles__StyledSection-sc-19041032-0 itaWBy"><div class="Containerstyles-sc-11hjsrs-0 eloHHI"><div class="Gridstyles-sc-isu2n3-0 dBrtIt"><div class="Gridstyles-sc-isu2n3-0 gBRUmy"><div class="GridItemstyles-sc-eu71zi-0 cheoSo"><div class="Gridstyles-sc-isu2n3-0 dBrtIt CTATextCenterstyles__StyledCTATextCenterWrapper-sc-1bhx0m5-0 kvHGYa"><div class="CTATextCenterstyles__StyledCTATextCenter-sc-1bhx0m5-1 kFtKEy"><div class="CTATextCenterstyles__StyledCTATextCenterContainer-sc-1bhx0m5-4 bVMeVd"><div class="CTATextCenterstyles__StyledCTATextCenterContent-sc-1bhx0m5-3 idAioI"><h2 class="Typographystyles-sc-o7qsl9-0 fcsSE">The developer cloud</h2><p class="Typographystyles-sc-o7qsl9-0 Phplo">Scale up as you grow — whether you&#x27;re running one virtual machine or ten thousand.</p></div><div><a aria-disabled="false" class="Buttonstyles-sc-hznqte-1 jUFun" href="/products">View all products</a></div></div><div class="CTATextCenterstyles__StyledCTATextCenterImage-sc-1bhx0m5-2 kyDnDR"><picture><source media="(min-width: 768px)" srcSet="https://www.digitalocean.com/api/static-content/v1/images?src=%2F_next%2Fstatic%2Fmedia%2Fclouds.9d2b5034.svg&amp;width=1200 1x, https://www.digitalocean.com/api/static-content/v1/images?src=%2F_next%2Fstatic%2Fmedia%2Fclouds.9d2b5034.svg&amp;width=3840 2x"/><img alt="" loading="lazy" width="1088" height="426" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://www.digitalocean.com/api/static-content/v1/images?src=%2F_next%2Fstatic%2Fmedia%2Fclouds-mobile.5d14bead.svg&amp;width=1200 1x, https://www.digitalocean.com/api/static-content/v1/images?src=%2F_next%2Fstatic%2Fmedia%2Fclouds-mobile.5d14bead.svg&amp;width=3840 2x" src="https://www.digitalocean.com/api/static-content/v1/images?src=%2F_next%2Fstatic%2Fmedia%2Fclouds-mobile.5d14bead.svg&amp;width=3840"/></picture></div></div></div></div><div class="GridItemstyles-sc-eu71zi-0 cheoSo"><div class="Gridstyles-sc-isu2n3-0 dBrtIt CTATextCenterstyles__StyledCTATextCenterWrapper-sc-1bhx0m5-0 kvHGYa"><div class="CTATextCenterstyles__StyledCTATextCenter-sc-1bhx0m5-1 deOheg"><div class="CTATextCenterstyles__StyledCTATextCenterContainer-sc-1bhx0m5-4 bVMeVd"><div class="CTATextCenterstyles__StyledCTATextCenterContent-sc-1bhx0m5-3 idAioI"><h2 class="Typographystyles-sc-o7qsl9-0 fcsSE">Get started for free</h2><p class="Typographystyles-sc-o7qsl9-0 kLhCbB">Sign up and get $200 in credit for your first 60 days with DigitalOcean.*</p></div><div><a aria-disabled="false" class="Buttonstyles-sc-hznqte-1 kNhxtA" href="https://cloud.digitalocean.com/registrations/new?refcode=f6fcd01aaffb">Get started</a></div></div><div class="CTATextCenterstyles__StyledCTATextCenterImage-sc-1bhx0m5-2 kyDnDR"><picture><source media="(min-width: 768px)" srcSet="https://www.digitalocean.com/api/static-content/v1/images?src=%2F_next%2Fstatic%2Fmedia%2Fwaves.6577cae3.svg&amp;width=1200 1x, https://www.digitalocean.com/api/static-content/v1/images?src=%2F_next%2Fstatic%2Fmedia%2Fwaves.6577cae3.svg&amp;width=3840 2x"/><img alt="" loading="lazy" width="1088" height="323" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://www.digitalocean.com/api/static-content/v1/images?src=%2F_next%2Fstatic%2Fmedia%2Fwaves-mobile.a054c63e.svg&amp;width=1200 1x, https://www.digitalocean.com/api/static-content/v1/images?src=%2F_next%2Fstatic%2Fmedia%2Fwaves-mobile.a054c63e.svg&amp;width=3840 2x" src="https://www.digitalocean.com/api/static-content/v1/images?src=%2F_next%2Fstatic%2Fmedia%2Fwaves-mobile.a054c63e.svg&amp;width=3840"/></picture></div></div></div></div></div><p style="text-align:center" class="Typographystyles-sc-o7qsl9-0 hHKElO">*This promotional offer applies to new accounts only.</p></div></div></div><div id="footer" class="Sectionstyles__StyledSection-sc-4l5hhw-0 nQErm"><div class="Sectionstyles__StyledSectionInner-sc-4l5hhw-1 hAqGAc"><div class="Containerstyles-sc-11hjsrs-0 eloHHI"><footer class="LinksStyles__StyledFooterDesktop-sc-e23e78b7-0 kuxFrB"><div><h6 class="Typographystyles-sc-o7qsl9-0 ikXVrB">Company</h6><ul class="LinksStyles__StyledList-sc-e23e78b7-1 AFHla"><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/about">About</a></li><li><a class="LazyLink___StyledA-sc-679fc0ad-1 gYjDKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="https://investors.digitalocean.com/governance/executive-management/default.aspx" rel="nofollow">Leadership</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/blog">Blog</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/careers">Careers</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/customers">Customers</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/partners">Partners</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/referral-program">Referral Program</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/affiliates">Affiliate Program</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" rel="nofollow" href="/press">Press</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/legal">Legal</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/legal/privacy-policy">Privacy Policy</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/security">Security</a></li><li><a class="LazyLink___StyledA-sc-679fc0ad-1 gYjDKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="https://investors.digitalocean.com/">Investor Relations</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/impact">DO Impact</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/impact/nonprofits">Nonprofits</a></li></ul></div><div><h6 class="Typographystyles-sc-o7qsl9-0 ikXVrB">Products</h6><ul class="LinksStyles__StyledList-sc-e23e78b7-1 AFHla"><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/products">Overview</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/products/droplets">Droplets</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/products/kubernetes">Kubernetes</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/products/functions">Functions</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/products/app-platform">App Platform</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/products/gpu-droplets">GPU Droplets</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/products/ai-ml/1-click-models">1-Click Models</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/products/gen-ai">GenAI Platform</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/products/bare-metal-gpu">Bare Metal</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/products/load-balancers">Load Balancers</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/products/managed-databases">Managed Databases</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/products/spaces">Spaces</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/products/block-storage">Block Storage</a></li><li><a class="LazyLink___StyledA-sc-679fc0ad-1 gYjDKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="https://docs.digitalocean.com/reference/api">API</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/products/uptime-monitoring">Uptime</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/products/identity-access-management">Identity Access Management</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/products/cloudways">Cloudways</a></li></ul></div><div><h6 class="Typographystyles-sc-o7qsl9-0 ikXVrB">Resources</h6><ul class="LinksStyles__StyledList-sc-e23e78b7-1 AFHla"><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/community/tutorials">Community Tutorials</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/community/questions">Community Q&amp;A</a></li><li><a class="LazyLink___StyledA-sc-679fc0ad-1 gYjDKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="https://css-tricks.com/" target="_blank">CSS-Tricks</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/community/pages/write-for-digitalocean">Write for DOnations</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" rel="nofollow" href="/currents">Currents Research</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/hatch">Hatch Startup Program</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/wavemakers">Wavemakers Program</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/research">Compass Council</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" rel="nofollow" href="/open-source">Open Source</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/community#iaan">Newsletter Signup</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/products/marketplace">Marketplace</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/pricing">Pricing</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/pricing/calculator">Pricing Calculator</a></li><li><a class="LazyLink___StyledA-sc-679fc0ad-1 gYjDKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="https://docs.digitalocean.com/">Documentation</a></li><li><a class="LazyLink___StyledA-sc-679fc0ad-1 gYjDKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="https://docs.digitalocean.com/release-notes">Release Notes</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/community/pages/code-of-conduct">Code of Conduct</a></li><li><a class="LazyLink___StyledA-sc-679fc0ad-1 gYjDKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="http://store.digitalocean.com/" rel="nofollow">Shop Swag</a></li></ul></div><div><h6 class="Typographystyles-sc-o7qsl9-0 ikXVrB">Solutions</h6><ul class="LinksStyles__StyledList-sc-e23e78b7-1 AFHla"><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/solutions/website-hosting">Website Hosting</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/solutions/vps-hosting">VPS Hosting</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/solutions/web-mobile-apps">Web &amp; Mobile Apps</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/solutions/gaming-development">Game Development</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/solutions/streaming">Streaming</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/solutions/vpn">VPN</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/solutions/saas">SaaS Platforms</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/solutions/blockchain">Cloud Hosting for Blockchain</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/resources">Startup Resources</a></li></ul></div><div><h6 class="Typographystyles-sc-o7qsl9-0 ikXVrB">Contact</h6><ul class="LinksStyles__StyledList-sc-e23e78b7-1 AFHla"><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/support">Support</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/company/contact/sales?referrer=footer">Sales</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" rel="nofollow" href="/company/contact/abuse">Report Abuse</a></li><li><a class="LazyLink___StyledA-sc-679fc0ad-1 gYjDKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="https://status.digitalocean.com/" rel="nofollow">System Status</a></li><li><a class="LazyLink___StyledA-sc-679fc0ad-1 gYjDKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="https://ideas.digitalocean.com/" rel="nofollow">Share your ideas</a></li></ul></div></footer><footer class="LinksStyles__StyledFooterMobile-sc-e23e78b7-3 hZzCcf"><details class="LinksStyles__StyledDetails-sc-e23e78b7-4 aJsNo"><summary><h6 class="Typographystyles-sc-o7qsl9-0 hxQDjp">Company</h6><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="up"><polyline points="18 15 12 9 6 15"></polyline></svg><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="down"><polyline points="6 9 12 15 18 9"></polyline></svg></summary><ul class="LinksStyles__StyledList-sc-e23e78b7-1 AFHla"><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/about">About</a></li><li><a class="LazyLink___StyledA-sc-679fc0ad-1 gYjDKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="https://investors.digitalocean.com/governance/executive-management/default.aspx" rel="nofollow">Leadership</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/blog">Blog</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/careers">Careers</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/customers">Customers</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/partners">Partners</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/referral-program">Referral Program</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/affiliates">Affiliate Program</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" rel="nofollow" href="/press">Press</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/legal">Legal</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/legal/privacy-policy">Privacy Policy</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/security">Security</a></li><li><a class="LazyLink___StyledA-sc-679fc0ad-1 gYjDKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="https://investors.digitalocean.com/">Investor Relations</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/impact">DO Impact</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/impact/nonprofits">Nonprofits</a></li></ul></details><details class="LinksStyles__StyledDetails-sc-e23e78b7-4 aJsNo"><summary><h6 class="Typographystyles-sc-o7qsl9-0 hxQDjp">Products</h6><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="up"><polyline points="18 15 12 9 6 15"></polyline></svg><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="down"><polyline points="6 9 12 15 18 9"></polyline></svg></summary><ul class="LinksStyles__StyledList-sc-e23e78b7-1 AFHla"><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/products">Overview</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/products/droplets">Droplets</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/products/kubernetes">Kubernetes</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/products/functions">Functions</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/products/app-platform">App Platform</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/products/gpu-droplets">GPU Droplets</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/products/ai-ml/1-click-models">1-Click Models</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/products/gen-ai">GenAI Platform</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/products/bare-metal-gpu">Bare Metal</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/products/load-balancers">Load Balancers</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/products/managed-databases">Managed Databases</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/products/spaces">Spaces</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/products/block-storage">Block Storage</a></li><li><a class="LazyLink___StyledA-sc-679fc0ad-1 gYjDKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="https://docs.digitalocean.com/reference/api">API</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/products/uptime-monitoring">Uptime</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/products/identity-access-management">Identity Access Management</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/products/cloudways">Cloudways</a></li></ul></details><details class="LinksStyles__StyledDetails-sc-e23e78b7-4 aJsNo"><summary><h6 class="Typographystyles-sc-o7qsl9-0 hxQDjp">Resources</h6><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="up"><polyline points="18 15 12 9 6 15"></polyline></svg><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="down"><polyline points="6 9 12 15 18 9"></polyline></svg></summary><ul class="LinksStyles__StyledList-sc-e23e78b7-1 AFHla"><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/community/tutorials">Community Tutorials</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/community/questions">Community Q&amp;A</a></li><li><a class="LazyLink___StyledA-sc-679fc0ad-1 gYjDKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="https://css-tricks.com/" target="_blank">CSS-Tricks</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/community/pages/write-for-digitalocean">Write for DOnations</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" rel="nofollow" href="/currents">Currents Research</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/hatch">Hatch Startup Program</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/wavemakers">Wavemakers Program</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/research">Compass Council</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" rel="nofollow" href="/open-source">Open Source</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/community#iaan">Newsletter Signup</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/products/marketplace">Marketplace</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/pricing">Pricing</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/pricing/calculator">Pricing Calculator</a></li><li><a class="LazyLink___StyledA-sc-679fc0ad-1 gYjDKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="https://docs.digitalocean.com/">Documentation</a></li><li><a class="LazyLink___StyledA-sc-679fc0ad-1 gYjDKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="https://docs.digitalocean.com/release-notes">Release Notes</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/community/pages/code-of-conduct">Code of Conduct</a></li><li><a class="LazyLink___StyledA-sc-679fc0ad-1 gYjDKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="http://store.digitalocean.com/" rel="nofollow">Shop Swag</a></li></ul></details><details class="LinksStyles__StyledDetails-sc-e23e78b7-4 aJsNo"><summary><h6 class="Typographystyles-sc-o7qsl9-0 hxQDjp">Solutions</h6><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="up"><polyline points="18 15 12 9 6 15"></polyline></svg><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="down"><polyline points="6 9 12 15 18 9"></polyline></svg></summary><ul class="LinksStyles__StyledList-sc-e23e78b7-1 AFHla"><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/solutions/website-hosting">Website Hosting</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/solutions/vps-hosting">VPS Hosting</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/solutions/web-mobile-apps">Web &amp; Mobile Apps</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/solutions/gaming-development">Game Development</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/solutions/streaming">Streaming</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/solutions/vpn">VPN</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/solutions/saas">SaaS Platforms</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/solutions/blockchain">Cloud Hosting for Blockchain</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/resources">Startup Resources</a></li></ul></details><details class="LinksStyles__StyledDetails-sc-e23e78b7-4 aJsNo"><summary><h6 class="Typographystyles-sc-o7qsl9-0 hxQDjp">Contact</h6><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="up"><polyline points="18 15 12 9 6 15"></polyline></svg><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="down"><polyline points="6 9 12 15 18 9"></polyline></svg></summary><ul class="LinksStyles__StyledList-sc-e23e78b7-1 AFHla"><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/support">Support</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="/company/contact/sales?referrer=footer">Sales</a></li><li><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" rel="nofollow" href="/company/contact/abuse">Report Abuse</a></li><li><a class="LazyLink___StyledA-sc-679fc0ad-1 gYjDKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="https://status.digitalocean.com/" rel="nofollow">System Status</a></li><li><a class="LazyLink___StyledA-sc-679fc0ad-1 gYjDKj Typographystyles-sc-o7qsl9-0 saphT LinksStyles__StyledLink-sc-e23e78b7-2 eEzFnU" href="https://ideas.digitalocean.com/" rel="nofollow">Share your ideas</a></li></ul></details></footer><div class="CompanyDetailsStyles__StyledCompanyDetails-sc-29dc4d61-0 hVvKLQ"><div class="CompanyDetailsStyles__StyledCompanyLogo-sc-29dc4d61-1 cpSiFS"><svg width="32" height="32" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 90 90" tabindex="-1" class="DigitalOceanSmileyStyles__StyledSvg-sc-64ca7b97-4 hjiknj"><circle cx="45" cy="45" r="36.25" fill="none" stroke="currentColor" stroke-width="17.5" stroke-dasharray="170.824100538945 56.941366846315" stroke-dashoffset="113.88273369263" class="DigitalOceanSmileyStyles__StyledCircle-sc-64ca7b97-0 bFTXQH"></circle><rect x="3.25" y="61.5" width="11" height="11" fill="currentColor" class="DigitalOceanSmileyStyles__StyledPixelSm-sc-64ca7b97-1 fLzQlC"></rect><rect x="14.25" y="72.5" width="13.5" height="13.5" fill="currentColor" class="DigitalOceanSmileyStyles__StyledPixelMd-sc-64ca7b97-2 gicUQZ"></rect><rect x="27.5" y="55.25" width="17.25" height="17.25" fill="currentColor" class="DigitalOceanSmileyStyles__StyledPixelLg-sc-64ca7b97-3 fAILdG"></rect></svg><span class="Typographystyles-sc-o7qsl9-0 saphT">©<!-- --> 2024 <!-- -->DigitalOcean, LLC.</span><span class="Typographystyles-sc-o7qsl9-0 saphT"><a href="/sitemap">Sitemap</a>.</span></div><ul class="CompanyDetailsStyles__StyledCompanySocials-sc-29dc4d61-2 fXQyuL"><li><a href="https://twitter.com/digitalocean" target="_blank" rel="me nofollow noopener noreferrer" title="X (Twitter)" class="SocialStyles__StyledSocial-sc-8567fc92-0 duWDmu"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M14.0468 10.3155L22.0566 1.00003H20.1585L13.2036 9.08855L7.6488 1.00003H1.24194L9.64196 13.2313L1.24194 23H3.14011L10.4847 14.4583L16.351 23H22.7578L14.0464 10.3155H14.0468ZM11.447 13.3391L10.5959 12.1211L3.82405 2.42968H6.73952L12.2045 10.251L13.0556 11.4689L20.1594 21.6354H17.244L11.447 13.3395V13.3391Z" fill="currentColor"></path></svg></a></li><li><a href="https://www.instagram.com/thedigitalocean/" target="_blank" rel="me nofollow noopener noreferrer" title="Instagram" class="SocialStyles__StyledSocial-sc-8567fc92-0 duWDmu"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M7.44432 1.07693C6.27391 1.13215 5.47464 1.31893 4.77592 1.59349C4.05277 1.87531 3.43984 2.2535 2.83 2.86554C2.22015 3.47758 1.84461 4.09094 1.56476 4.81518C1.29394 5.51545 1.11046 6.31537 1.05876 7.48643C1.00706 8.6575 0.995618 9.03392 1.00134 12.0211C1.00706 15.0083 1.02026 15.3827 1.07702 16.5562C1.1329 17.7264 1.31902 18.5254 1.59358 19.2244C1.87585 19.9475 2.25359 20.5602 2.86586 21.1703C3.47812 21.7803 4.09105 22.155 4.81706 22.4353C5.51666 22.7056 6.31681 22.89 7.48766 22.9413C8.65852 22.9925 9.03538 23.0044 12.0217 22.9987C15.008 22.993 15.384 22.9798 16.5573 22.9241C17.7305 22.8684 18.5254 22.681 19.2246 22.4078C19.9477 22.1248 20.5609 21.7478 21.1705 21.1353C21.7801 20.5228 22.1554 19.909 22.4351 19.1843C22.7061 18.4847 22.8902 17.6846 22.9411 16.5146C22.9923 15.3405 23.0044 14.9656 22.9987 11.9788C22.993 8.99212 22.9796 8.61768 22.9239 7.44463C22.8682 6.27159 22.6819 5.47497 22.4076 4.77558C22.1249 4.05244 21.7475 3.44018 21.1355 2.82968C20.5235 2.21918 19.9092 1.84407 19.1847 1.56511C18.4847 1.29429 17.685 1.10971 16.5141 1.05911C15.3433 1.00851 14.9664 0.995531 11.979 1.00125C8.9916 1.00697 8.6176 1.01973 7.44432 1.07693ZM7.5728 20.9624C6.50029 20.9157 5.91795 20.7375 5.52986 20.5884C5.01594 20.3904 4.64985 20.151 4.26309 19.768C3.87633 19.385 3.63872 19.0176 3.43808 18.5047C3.28738 18.1166 3.10588 17.535 3.05572 16.4625C3.00116 15.3033 2.98972 14.9552 2.98334 12.0184C2.97696 9.08166 2.98818 8.73406 3.039 7.57443C3.08476 6.50281 3.26406 5.91981 3.413 5.53195C3.611 5.01737 3.84949 4.65194 4.23339 4.2654C4.61729 3.87886 4.9836 3.64082 5.49686 3.44018C5.88451 3.28882 6.46619 3.10886 7.53826 3.05782C8.69834 3.00282 9.04594 2.99182 11.9823 2.98544C14.9187 2.97906 15.2672 2.99006 16.4277 3.0411C17.4993 3.08774 18.0825 3.26528 18.47 3.4151C18.9841 3.6131 19.35 3.85092 19.7365 4.23548C20.1231 4.62004 20.3613 4.98503 20.562 5.49939C20.7135 5.88593 20.8935 6.46739 20.9441 7.54011C20.9993 8.70018 21.0119 9.048 21.0171 11.9841C21.0224 14.9203 21.0121 15.269 20.9613 16.4281C20.9144 17.5006 20.7366 18.0832 20.5873 18.4717C20.3893 18.9854 20.1506 19.3517 19.7664 19.7381C19.3823 20.1244 19.0164 20.3624 18.503 20.5631C18.1158 20.7142 17.5334 20.8946 16.4622 20.9456C15.3021 21.0002 14.9545 21.0116 12.0171 21.018C9.0796 21.0244 8.7331 21.0125 7.57302 20.9624M16.5403 6.12089C16.5408 6.38198 16.6186 6.63708 16.764 6.85392C16.9095 7.07076 17.1159 7.2396 17.3573 7.33909C17.5987 7.43859 17.8642 7.46426 18.1202 7.41286C18.3762 7.36147 18.6111 7.23532 18.7954 7.05036C18.9797 6.8654 19.105 6.62995 19.1555 6.37378C19.2059 6.11761 19.1793 5.85223 19.0789 5.61121C18.9785 5.37018 18.8089 5.16434 18.5915 5.01971C18.3742 4.87508 18.1188 4.79816 17.8577 4.79868C17.5077 4.79938 17.1723 4.93907 16.9252 5.18702C16.6782 5.43496 16.5397 5.77088 16.5403 6.12089ZM6.35201 12.011C6.35817 15.1306 8.89172 17.6538 12.0107 17.6478C15.1297 17.6419 17.6546 15.1086 17.6487 11.989C17.6427 8.86936 15.1085 6.34551 11.9891 6.35167C8.86972 6.35783 6.34607 8.8918 6.35201 12.011ZM8.33335 12.007C8.33192 11.2818 8.54557 10.5724 8.94728 9.96865C9.349 9.36486 9.92074 8.89376 10.5902 8.6149C11.2597 8.33605 11.9968 8.26198 12.7084 8.40205C13.4199 8.54212 14.074 8.89005 14.5878 9.40184C15.1016 9.91363 15.4521 10.5663 15.595 11.2773C15.7379 11.9883 15.6668 12.7257 15.3906 13.3962C15.1144 14.0668 14.6455 14.6404 14.0433 15.0445C13.4411 15.4486 12.7326 15.6651 12.0074 15.6665C11.5258 15.6675 11.0488 15.5737 10.6036 15.3903C10.1583 15.2069 9.75351 14.9376 9.41233 14.5978C9.07115 14.258 8.80026 13.8543 8.61513 13.4097C8.43 12.9652 8.33425 12.4886 8.33335 12.007Z" fill="currentColor"></path></svg></a></li><li><a href="https://www.facebook.com/DigitalOceanCloudHosting" target="_blank" rel="me nofollow noopener noreferrer" title="Facebook" class="SocialStyles__StyledSocial-sc-8567fc92-0 duWDmu"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.75 8.33333H6V12H8.75V23H13.3333V12H16.6718L17 8.33333H13.3333V6.80525C13.3333 5.92983 13.5093 5.58333 14.3554 5.58333H17V1H13.5093C10.213 1 8.75 2.45108 8.75 5.23042V8.33333Z" fill="currentColor"></path></svg></a></li><li><a href="https://discord.gg/digitalocean" target="_blank" rel="me nofollow noopener noreferrer" title="Discord" class="SocialStyles__StyledSocial-sc-8567fc92-0 duWDmu"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M19.6361 5.39641C18.1907 4.73466 16.6648 4.26519 15.0974 4C14.8829 4.38343 14.6888 4.77793 14.516 5.18185C12.8463 4.93025 11.1484 4.93025 9.47883 5.18185C9.30589 4.77797 9.11182 4.38348 8.89742 4C7.32898 4.26743 5.80206 4.73802 4.35518 5.39987C1.48276 9.64968 0.704089 13.7939 1.09342 17.8793C2.77559 19.1222 4.65841 20.0674 6.66004 20.6739C7.11075 20.0677 7.50957 19.4246 7.85227 18.7515C7.20136 18.5083 6.57312 18.2084 5.97481 17.8551C6.13228 17.7409 6.28628 17.6232 6.43509 17.509C8.17602 18.3278 10.0762 18.7523 12 18.7523C13.9238 18.7523 15.8239 18.3278 17.5649 17.509C17.7154 17.6319 17.8694 17.7496 18.0252 17.8551C17.4257 18.209 16.7963 18.5095 16.1442 18.7532C16.4865 19.426 16.8854 20.0686 17.3365 20.6739C19.3398 20.0699 21.2241 19.1251 22.9065 17.8811C23.3634 13.1433 22.1261 9.03712 19.6361 5.39641ZM8.34543 15.3668C7.26048 15.3668 6.36415 14.3823 6.36415 13.171C6.36415 11.9597 7.22934 10.9665 8.34197 10.9665C9.4546 10.9665 10.344 11.9597 10.325 13.171C10.3059 14.3823 9.45114 15.3668 8.34543 15.3668ZM15.6545 15.3668C14.5679 15.3668 13.675 14.3823 13.675 13.171C13.675 11.9597 14.5402 10.9665 15.6545 10.9665C16.7689 10.9665 17.6514 11.9597 17.6324 13.171C17.6133 14.3823 16.7602 15.3668 15.6545 15.3668Z" fill="currentColor"></path></svg></a></li><li><a href="https://www.reddit.com/r/digital_ocean" target="_blank" rel="me nofollow noopener noreferrer" title="Reddit" class="SocialStyles__StyledSocial-sc-8567fc92-0 duWDmu"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M14.797 4.86968C15.0353 5.89878 15.9426 6.66542 17.026 6.66542C18.2908 6.66542 19.3162 5.621 19.3162 4.33271C19.3162 3.04441 18.2908 2 17.026 2C15.9201 2 14.9978 2.79835 14.783 3.86026C12.9309 4.06258 11.4846 5.66256 11.4846 7.60156C11.4846 7.60594 11.4846 7.60922 11.4846 7.61359C9.47038 7.69999 7.63114 8.28399 6.17091 9.20591C5.6287 8.77831 4.94797 8.52349 4.20927 8.52349C2.4366 8.52349 1 9.98677 1 11.7923C1 13.1025 1.75588 14.2311 2.84783 14.7528C2.95412 18.5477 7.01376 21.6 12.0075 21.6C17.0013 21.6 21.0663 18.5444 21.1672 14.7462C22.2506 14.2213 23 13.0959 23 11.7934C23 9.98786 21.5634 8.52458 19.7907 8.52458C19.0552 8.52458 18.3777 8.77721 17.8366 9.20154C16.3635 8.27305 14.5039 7.68905 12.4692 7.61141C12.4692 7.60812 12.4692 7.60594 12.4692 7.60266C12.4692 6.21375 13.4828 5.06106 14.797 4.87187V4.86968ZM6.04207 13.867C6.09575 12.6815 6.86881 11.7716 7.7675 11.7716C8.66618 11.7716 9.35334 12.7329 9.29966 13.9184C9.24597 15.1039 8.57491 15.5347 7.67516 15.5347C6.7754 15.5347 5.98838 15.0525 6.04207 13.867ZM16.2486 11.7716C17.1484 11.7716 17.9214 12.6815 17.974 13.867C18.0277 15.0525 17.2396 15.5347 16.3409 15.5347C15.4423 15.5347 14.7701 15.1049 14.7164 13.9184C14.6628 12.7329 15.3489 11.7716 16.2486 11.7716ZM15.1792 16.6098C15.3478 16.6273 15.4551 16.8055 15.3897 16.9652C14.8367 18.3115 13.5311 19.2575 12.0075 19.2575C10.4839 19.2575 9.1794 18.3115 8.62538 16.9652C8.55988 16.8055 8.66725 16.6273 8.83582 16.6098C9.82362 16.5081 10.8919 16.4523 12.0075 16.4523C13.1231 16.4523 14.1903 16.5081 15.1792 16.6098Z" fill="currentColor"></path></svg></a></li><li><a href="https://www.youtube.com/DigitalOcean" target="_blank" rel="me nofollow noopener noreferrer" title="YouTube" class="SocialStyles__StyledSocial-sc-8567fc92-0 duWDmu"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M22.54 6.70437C22.2875 5.75802 21.5413 5.01286 20.595 4.7595C18.88 4.29999 12 4.29999 12 4.29999C12 4.29999 5.12 4.29999 3.405 4.7595C2.45875 5.01286 1.7125 5.75802 1.46 6.70437C1 8.42073 1 12 1 12C1 12 1 15.5792 1.46 17.2956C1.7125 18.242 2.45875 18.9871 3.405 19.2405C5.12125 19.7 12 19.7 12 19.7C12 19.7 18.88 19.7 20.595 19.2405C21.5413 18.9871 22.2875 18.242 22.54 17.2956C23 15.5805 23 12 23 12C23 12 23 8.42073 22.54 6.70437ZM9.75 15.2501V8.74984L15.5 12L9.75 15.2501Z" fill="currentColor"></path></svg></a></li><li><a href="https://www.linkedin.com/company/digitalocean/" target="_blank" rel="me nofollow noopener noreferrer" title="LinkedIn" class="SocialStyles__StyledSocial-sc-8567fc92-0 duWDmu"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M21.376 1H2.62403C1.72722 1 1 1.72722 1 2.62403V21.376C1 22.2728 1.72722 23 2.62403 23H21.376C22.2728 23 23 22.2728 23 21.376V2.62403C23 1.72722 22.2728 1 21.376 1ZM7.55722 19.7428H4.24958V9.23472H7.55722V19.7428ZM5.90417 7.78028C4.85153 7.78028 3.9975 6.97819 3.9975 5.88125C3.9975 4.78431 4.85153 3.98222 5.90417 3.98222C6.95681 3.98222 7.81083 4.78431 7.81083 5.88125C7.81083 6.97819 6.95681 7.78028 5.90417 7.78028ZM19.7504 19.7504H16.4428V14.0121C16.4428 12.3193 15.7232 11.7968 14.7943 11.7968C13.8135 11.7968 12.851 12.5347 12.851 14.0549V19.7519H9.54333V9.24236H12.7242V10.6983H12.7669C13.0862 10.0521 14.2046 8.9475 15.9111 8.9475C17.7567 8.9475 19.7504 10.0429 19.7504 13.2513V19.7504Z" fill="currentColor"></path></svg></a></li><li><a href="https://github.com/digitalocean" target="_blank" rel="me nofollow noopener noreferrer" title="GitHub" class="SocialStyles__StyledSocial-sc-8567fc92-0 duWDmu"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12 1C5.92468 1 1.00366 6.04649 1.00366 12.2767C1.00366 17.2609 4.15609 21.4836 8.52358 22.9789C9.07036 23.0827 9.27287 22.7366 9.27287 22.432C9.27287 22.162 9.26612 21.4559 9.25937 20.5145C6.20145 21.1929 5.55341 19.0054 5.55341 19.0054C5.05389 17.7039 4.3316 17.3578 4.3316 17.3578C3.33254 16.6586 4.40585 16.6725 4.40585 16.6725C5.50616 16.7556 6.09344 17.8355 6.09344 17.8355C7.07225 19.5592 8.66534 19.0607 9.29312 18.77C9.39437 18.0431 9.67789 17.5447 9.98841 17.2609C7.54477 16.9771 4.97963 16.0079 4.97963 11.6883C4.97963 10.4561 5.40491 9.45235 6.11369 8.66318C5.99894 8.37936 5.62092 7.23023 6.2217 5.6796C6.2217 5.6796 7.1465 5.37501 9.24587 6.83565C10.1234 6.58644 11.0617 6.46184 12 6.45491C12.9316 6.45491 13.8766 6.58644 14.7542 6.83565C16.8535 5.37501 17.7783 5.6796 17.7783 5.6796C18.3791 7.23023 18.0011 8.37936 17.8863 8.66318C18.5884 9.45235 19.0137 10.4561 19.0137 11.6883C19.0137 16.0218 16.4418 16.9702 13.9914 17.254C14.3829 17.6001 14.7407 18.2924 14.7407 19.3446C14.7407 20.8537 14.7272 22.0651 14.7272 22.4389C14.7272 22.7435 14.9229 23.0896 15.4832 22.9789C19.8507 21.4836 22.9964 17.2609 22.9964 12.2836C22.9964 6.04649 18.0754 1 12 1Z" fill="currentColor"></path></svg></a></li><li><a href="https://www.glassdoor.com/Overview/Working-at-DigitalOcean-EI_IE823482.11,23.htm" target="_blank" rel="me nofollow noopener noreferrer" title="Glassdoor" class="SocialStyles__StyledSocial-sc-8567fc92-0 duWDmu"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M16.62 19.8572H4.29999C4.29999 21.5929 5.67893 23 7.38001 23H16.62C18.321 23 19.7 21.5929 19.7 19.8572V6.95128C19.7 6.9209 19.6881 6.89178 19.6671 6.87031C19.646 6.84884 19.6175 6.83678 19.5877 6.83678H16.7322C16.7024 6.83678 16.6739 6.84884 16.6528 6.87031C16.6317 6.89178 16.6199 6.9209 16.6199 6.95128L16.62 19.8572ZM16.62 1C18.321 1 19.7 2.40708 19.7 4.14288H7.38001V17.0488C7.38001 17.0792 7.36819 17.1083 7.34715 17.1298C7.32611 17.1513 7.29757 17.1634 7.2678 17.1634H4.41228C4.39753 17.1634 4.38292 17.1604 4.36929 17.1547C4.35566 17.1489 4.34327 17.1405 4.33285 17.1298C4.32242 17.1192 4.31415 17.1065 4.30851 17.0926C4.30287 17.0787 4.29998 17.0638 4.29999 17.0487V4.14288C4.29999 2.40718 5.67893 1 7.38001 1H16.62Z" fill="currentColor"></path></svg></a></li><li><a href="https://www.builtinnyc.com/company/digitalocean" target="_blank" rel="me nofollow noopener noreferrer" title="BuiltInNYC" class="SocialStyles__StyledSocial-sc-8567fc92-0 duWDmu"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2.77419 1C1.79433 1 1 1.79433 1 2.77419V7.03226H3.12903V3.12903H20.871V20.871H3.12903V16.9677H1V21.2258C1 22.2057 1.79433 23 2.77419 23H21.2258C22.2057 23 23 22.2057 23 21.2258V2.77419C23 1.79433 22.2057 1 21.2258 1H2.77419ZM7.74193 5.73814H10.2467V9.74573H15.0057C15.6974 9.74573 16.2581 10.3064 16.2581 10.9981V17.0095C16.2581 17.7012 15.6974 18.2619 15.0057 18.2619H7.74193V5.73814ZM10.2467 12.2505V15.7571H13.7533V12.2505H10.2467Z" fill="currentColor"></path></svg></a></li></ul></div></div></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"data":{"slug":"an-introduction-to-configuration-management-with-ansible","tutorial":{"id":5475,"original_id":null,"slug":"an-introduction-to-configuration-management-with-ansible","tutorial_type":"conceptual-article","title":"An Introduction to Configuration Management with Ansible","description":"As a broader subject, configuration management refers to the process of handling changes to a system in a way that assures integrity over time, typically involving the use of tools and processes to facilitate automation and observability.\r\n\r\nThis guide will walk you through the benefits of using a configuration management tool to automate your server infrastructure setup, and how Ansible can help you with that.","content":"### Introduction\r\n\r\nConfiguration management is the process of handling changes to a system in a way that assures integrity over time, typically involving tools and processes that facilitate automation and observability. Even though this concept didn't originate in the IT industry, the term is broadly used to refer to **server configuration management**.\r\n\r\nIn the context of servers, configuration management is also commonly referred to as *IT Automation* or *Server Orchestration*. Both terms highlight the practical aspects of configuration management and the ability to control multiple systems from a central server.\r\n\r\nThis guide will walk you through the benefits of using a configuration management tool to automate your server infrastructure setup, and how one such tool, [Ansible](https://ansible.com), can help you with that.\r\n\r\n## Benefits of Using a Configuration Management Tool\r\n\r\nThere are a number of configuration management tools available on the market, with varying levels of complexity and diverse architectural styles. Although each of these tools have their own characteristics and work in slightly different ways, they all provide the same function: make sure a system's state matches the state described by a set of *provisioning scripts*.\r\n\r\nMany of the benefits of configuration management for servers come from the ability to define your infrastructure as code. This enables you to:\r\n\r\n* Use a version control system to keep track of any changes in your infrastructure\r\n* Reuse provisioning scripts for multiple server environments, such as development, testing, and production\r\n* Share provisioning scripts between coworkers to facilitate collaboration in a standardised development environment\r\n* Streamline the process of replicating servers, which facilitates recovery from critical errors\r\n\r\nAdditionally, configuration management tools offer you a way to control one to hundreds of servers from a centralized location, which can dramatically improve efficiency and integrity of your server infrastructure.\r\n\r\n## Ansible Overview\r\n\r\nAnsible is a modern configuration management tool that facilitates the task of setting up and maintaining remote servers, with a minimalist design intended to get users up and running quickly. \r\n\r\nUsers write Ansible provisioning scripts in [YAML](https://yaml.org/), a user-friendly data serialization standard that is not tied to any particular programming language. This enables users to create sophisticated provisioning scripts more intuitively compared to similar tools in the same category.\r\n\r\nAnsible doesn't require any special software to be installed on the nodes that will be managed with this tool. A control machine is set up with the Ansible software, which then communicates with the nodes via standard SSH.\r\n\r\nAs a configuration management tool and automation framework, Ansible encapsulates all of the common features present in other tools of the same category, while still maintaining a strong focus on simplicity and performance:\r\n\r\n### Idempotent Behavior\r\nAnsible keeps track of the state of resources in managed systems in order to avoid repeating tasks that were executed before. If a package was already installed, it won’t try to install it again. The objective is that after each provisioning execution the system reaches (or keeps) the desired state, even if you run it multiple times. This is what characterizes Ansible and other configuration management tools as having an *idempotent behavior*. When running a playbook, you'll see the status of each task being executed and whether or not the task performed a change in the system. \r\n\r\n### Support to Variables, Conditionals, and Loops\r\nWhen writing Ansible automation scripts, you can use variables, conditionals, and loops in order to make your automation more versatile and efficient.\r\n\r\n### System Facts\r\nAnsible collects a series of detailed information about the managed nodes, such as network interfaces and operating system, and provides it as global variables called *system facts*. Facts can be used within playbooks to make your automation more versatile and adaptive, behaving differently depending on the system being provisioned.\r\n\r\n### Templating System\r\nAnsible uses the Jinja2 Python templating system to allow for dynamic expressions and access to variables. Templates can be used to facilitate setting up configuration files and services. For instance, you can use a template to set up a new virtual host within Apache, while reusing the same template for multiple server installations.\r\n\r\n### Support for Extensions and Modules\r\nAnsible comes with hundreds of built-in modules to facilitate writing automation for common systems administration tasks, such as installing packages with `apt` and synchronizing files with `rsync`, and also for dealing with popular software such as database systems (like MySQL, PostgreSQL, MongoDB, and others) and dependency management tools (such as PHP's `composer`, Ruby's `gem`, Node's `npm`, and others). Apart from that, there are various ways in which you can extend Ansible: plugins and modules are good options when you need a custom functionality that is not present by default.\r\n\r\nYou can also find third-party modules and plugins in the [Ansible Galaxy](https://galaxy.ansible.com/) portal.\r\n\r\n## Getting Familiar with Ansible Concepts\r\n\r\nWe'll now have a look at Ansible terminology and concepts to help familiarize you with these terms as they come up throughout this series.\r\n\r\n### Control Node\r\n\r\nA *control node* is a system where Ansible is installed and set up to connect to your server. You can have multiple control nodes, and any system capable of running Ansible can be set up as a control node, including personal computers or laptops running a Linux or Unix based operating system. For the time being, Ansible can't be installed on Windows hosts, but you can circumvent this limitation by setting up a virtual machine that runs Linux and running Ansible from there.\r\n\r\n### Managed Nodes\r\n\r\nThe systems you control using Ansible are called *managed nodes*. Ansible [requires](https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html#id11) that managed nodes are reachable via SSH, and have Python 2 (version 2.6 or higher) or Python 3 (version 3.5 or higher) installed.\r\n\r\nAnsible supports a variety of operating systems including Windows servers as managed nodes. \r\n\r\n### Inventory\r\n\r\nAn *inventory* file contains a list of the hosts you'll manage using Ansible. Although Ansible typically creates a default inventory file when installed, you can use per-project inventories to have a better separation of your infrastructure and avoid running commands or playbooks on the wrong server by mistake. Static inventories are usually created as `.ini` files, but you can also use dynamically generated inventories written in any programming language able to return JSON.\r\n\r\n### Tasks\r\n\r\nIn Ansible, a *task* is an individual unit of work to execute on a managed node. Each action to perform is defined as a task. Tasks can be executed as a one-off action via ad-hoc commands, or included in a playbook as part of an automation script.\r\n\r\n### Playbook\r\n\r\nA *playbook* contains an ordered list of tasks, and a few other directives to indicate which hosts are the target of that automation, whether or not to use a privilege escalation system to run those tasks, and optional sections to define variables or include files. Ansible executes tasks sequentially, and a full playbook execution is called a *play*. Playbooks are written in YAML format.\r\n\r\n### Handlers\r\n\r\n*Handlers* are used to perform actions on a service, such as restarting or stopping a service that is actively running on the managed node's system. Handlers are typically triggered by tasks, and their execution happens at the end of a play, after all tasks are finished. This way, if more than one task triggers a restart to a service, for instance, the service will only be restarted once and after all tasks are executed. Although the default handler behavior is more efficient and overall a better practice, it is also possible to force immediate handler execution if that is required by a task.\r\n\r\n### Roles\r\n\r\nA *role* is a set of playbooks and related files organized into a predefined structure that is known by Ansible. Roles facilitate reusing and repurposing playbooks into shareable packages of granular automation for specific goals, such as installing a web server, installing a PHP environment, or setting up a MySQL server. \r\n\r\n## Conclusion\r\n\r\nAnsible is a minimalist IT automation tool that has a gentle learning curve, thanks in part to its use of YAML for its provisioning scripts. It has a great number of built-in modules that can be used to abstract tasks such as installing packages and working with templates. Its simplified infrastructure requirements and accessible syntax can be a good fit for those who are getting started with configuration management.\r\n\r\nIn the next part of [this series](https://www.digitalocean.com/community/tutorial_series/how-to-automate-server-setup-with-ansible), we'll see [how to install and get started with Ansible on an Ubuntu 20.04 server](https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-ansible-on-ubuntu-20-04).\r\n","language":"en","state":"published","last_validated_at":"2020-05-15T19:58:15.103Z","published_at":"2020-05-15T19:58:34.339Z","views":18224,"follow_up_questions_enabled_at":null,"comments_locked_at":null,"raw_html_allowed_in_markdown_at":null,"featured_at":null,"header_url":null,"conclusion_cta":null,"right_side_nav_cta":null,"original":{},"series":[{"id":97,"slug":"how-to-manage-remote-servers-with-ansible","title":"How To Manage Remote Servers with Ansible","description":"Ansible is a modern configuration management tool that facilitates the task of setting up and maintaining remote servers. With a minimalist design intended to get users up and running quickly, it allows you to control one to hundreds of systems from a central location with either playbooks or ad hoc commands.\r\n\r\nThis series goes over how to use Ansible to manage remote servers, and how to execute Ansible playbooks to automate server setup.","object_id":5475,"object_type":"tutorial","groups":[{"id":85,"title":null,"description":null,"tutorial_series_id":97,"position":0,"objects":[{"object_id":5475,"object_type":"tutorial","position":0,"tutorial_groups_id":85,"object":{"id":5475,"slug":"an-introduction-to-configuration-management-with-ansible","title":"An Introduction to Configuration Management with Ansible","tutorial_type":"conceptual-article"}},{"object_id":5609,"object_type":"tutorial","position":1,"tutorial_groups_id":85,"object":{"id":5609,"slug":"how-to-install-and-configure-ansible-on-ubuntu-20-04","title":"How To Install and Configure Ansible on Ubuntu 20.04","tutorial_type":"tutorial"}},{"object_id":6007,"object_type":"tutorial","position":2,"tutorial_groups_id":85,"object":{"id":6007,"slug":"how-to-set-up-ansible-inventories","title":"How To Set Up Ansible Inventories","tutorial_type":"tutorial"}},{"object_id":6189,"object_type":"tutorial","position":3,"tutorial_groups_id":85,"object":{"id":6189,"slug":"how-to-manage-multiple-servers-with-ansible-ad-hoc-commands","title":"How To Manage Multiple Servers with Ansible Ad Hoc Commands","tutorial_type":"cheatsheet"}},{"object_id":6928,"object_type":"tutorial","position":4,"tutorial_groups_id":85,"object":{"id":6928,"slug":"how-to-execute-ansible-playbooks-to-automate-server-setup","title":"How To Execute Ansible Playbooks to Automate Server Setup","tutorial_type":"cheatsheet"}}]}]}],"authors":[{"user_name":null,"relation":"author","user_id":520781,"item_id":5475,"item_type":"tutorial","created_at":"2020-05-07T11:36:38.841Z","updated_at":"2020-05-07T11:36:38.841Z","user":{"id":520781,"username":"erikaheidi","slug":"erikaheidi","first_name":"Erika","last_name":"Heidi","title":"Developer Advocate","bio":"Dev/Ops passionate about open source, PHP, and Linux.","website":"https://eheidi.dev","twitter_handle":"erikaheidi","github_handle":"erikaheidi","linkedin_url":"https://www.linkedin.com/in/erikaheidi/","stackoverflow_url":null,"city":null,"country":null,"skills":"Linux,PHP,DevOps,Ansible,Laravel","has_seen_registration_at":"2022-08-30T17:06:14.808Z","created_at":"2019-03-21T10:15:56.911Z","updated_at":"2021-11-12T16:56:09.045Z","gravatar":"https://www.gravatar.com/avatar/b1c2b9b45dfa138e00a51b7188beea76e76ba4a95ccc01af53c005458ecae202?default=retro"}}],"editors":[],"translators":[],"needs_review":false,"tags":[{"id":70,"state":"published","slug":"ansible","name":"Ansible","description":"Ansible is a configuration management system used to set up and manage infrastructure and applications in varied environments. It allows users to deploy and update applications in approachable language, using SSH, without needing to install an agent on a remote system.\r\n","created_at":"2022-01-31T18:04:44.879Z","updated_at":"2022-01-26T01:58:18.834Z","admin_use_only_at":null,"admin_view_only_at":null,"type":"tag"},{"id":55,"state":"published","slug":"configuration-management","name":"Configuration Management","description":"Configuration management refers to the processes by which administrators and operations teams control a large numbers of servers. Automation is at the heart of most configuration management tools, which allow developers to quickly provision new servers, recover from critical events, manage version control, and replicate environments. Popular CM tools include Puppet, Ansible, Chef, and Salt. \r\n","created_at":"2022-01-31T18:04:44.879Z","updated_at":"2022-01-28T04:27:51.818Z","admin_use_only_at":null,"admin_view_only_at":null,"type":"tag"}],"teams":[],"origins":[]},"headers":[{"slug":"benefits-of-using-a-configuration-management-tool","content":"Benefits of Using a Configuration Management Tool","text":"Benefits of Using a Configuration Management Tool","rendered":"Benefits of Using a Configuration Management Tool","level":2},{"slug":"ansible-overview","content":"Ansible Overview","text":"Ansible Overview","rendered":"Ansible Overview","level":2},{"slug":"getting-familiar-with-ansible-concepts","content":"Getting Familiar with Ansible Concepts","text":"Getting Familiar with Ansible Concepts","rendered":"Getting Familiar with Ansible Concepts","level":2},{"slug":"conclusion","content":"Conclusion","text":"Conclusion","rendered":"Conclusion","level":2}],"comments":[],"commentsRequestParams":["tutorial",5475,{"type":"comment","page":0,"perPage":10}],"translations":[{"key":"de","label":"Deutsch","value":"an-introduction-to-configuration-management-with-ansible-de"},{"key":"en","label":"English","value":"an-introduction-to-configuration-management-with-ansible"},{"key":"es","label":"Español","value":"an-introduction-to-configuration-management-with-ansible-es"},{"key":"fr","label":"Français","value":"an-introduction-to-configuration-management-with-ansible-fr"},{"key":"pt","label":"Português","value":"an-introduction-to-configuration-management-with-ansible-pt"},{"key":"ru","label":"Русский","value":"an-introduction-to-configuration-management-with-ansible-ru"}],"followUpQuestions":[],"questionsRequestParams":{"page":0,"perPage":5},"versions":[],"canonicalVersion":null}},"__N_SSG":true},"page":"/community/tutorials/[slug]","query":{"slug":"an-introduction-to-configuration-management-with-ansible"},"buildId":"3d97684bcc0944393e84030f785c45d2cc925214","isFallback":false,"gsp":true,"scriptLoader":[]}</script></body></html>

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