.elementor-7183 .elementor-element.elementor-element-2519012{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:100px 100px;--row-gap:100px;--column-gap:100px;--padding-top:80px;--padding-bottom:80px;--padding-left:10px;--padding-right:10px;}.elementor-7183 .elementor-element.elementor-element-2519012:not(.elementor-motion-effects-element-type-background), .elementor-7183 .elementor-element.elementor-element-2519012 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFEDD4;background-image:url("https://grokkingthesystemdesign.com/wp-content/uploads/2025/04/dots-background.png");background-repeat:repeat;background-size:contain;}.elementor-7183 .elementor-element.elementor-element-cb19f74{width:var( --container-widget-width, 65% );max-width:65%;--container-widget-width:65%;--container-widget-flex-grow:0;}.elementor-7183 .elementor-element.elementor-element-cb19f74 .elementor-heading-title{font-family:"Quicksand", Sans-serif;font-size:48px;font-weight:700;line-height:54px;color:#231F20;}.elementor-7183 .elementor-element.elementor-element-b6645ab{width:var( --container-widget-width, 35% );max-width:35%;--container-widget-width:35%;--container-widget-flex-grow:0;}.elementor-7183 .elementor-element.elementor-element-b6645ab img{width:100%;height:260px;object-fit:contain;object-position:center center;}.elementor-7183 .elementor-element.elementor-element-6db448d{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:flex-start;--padding-top:80px;--padding-bottom:80px;--padding-left:10px;--padding-right:10px;}.elementor-7183 .elementor-element.elementor-element-6db448d:not(.elementor-motion-effects-element-type-background), .elementor-7183 .elementor-element.elementor-element-6db448d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F6F6F6;}.elementor-7183 .elementor-element.elementor-element-da6b660{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-7183 .elementor-element.elementor-element-c0ea48e{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-7183 .elementor-element.elementor-element-454bc8b{--box-background-color:#FFFFFF;--box-border-color:#000000;--box-border-width:2px;--box-border-radius:18px;--separator-width:0px;--header-background-color:#FCC070;--header-color:#231F20;--toc-body-max-height:80vh;--nested-list-indent:10px;--item-text-color:#000000;--item-text-hover-color:#000000;--item-text-hover-decoration:underline;--item-text-active-color:#000000;--marker-color:#000000;--marker-size:0px;}.elementor-7183 .elementor-element.elementor-element-454bc8b .elementor-toc__spinner{color:#231F20;fill:#231F20;}.elementor-7183 .elementor-element.elementor-element-454bc8b .elementor-toc__header-title{text-align:start;}.elementor-7183 .elementor-element.elementor-element-454bc8b .elementor-toc__header, .elementor-7183 .elementor-element.elementor-element-454bc8b .elementor-toc__header-title{font-family:"Quicksand", Sans-serif;font-size:24px;font-weight:700;}.elementor-7183 .elementor-element.elementor-element-454bc8b .elementor-toc__list-item{font-family:"Quicksand", Sans-serif;font-size:20px;font-weight:700;line-height:28px;}.elementor-7183 .elementor-element.elementor-element-2fbf095{--display:flex;}.elementor-7183 .elementor-element.elementor-element-80c1d3d{color:#231F20;font-family:"Quicksand", Sans-serif;font-size:18px;font-weight:500;line-height:26px;}.elementor-7183 .elementor-element.elementor-element-bc9fdc2{--display:flex;}@media(min-width:768px){.elementor-7183 .elementor-element.elementor-element-2519012{--content-width:1140px;}.elementor-7183 .elementor-element.elementor-element-6db448d{--content-width:1600px;}.elementor-7183 .elementor-element.elementor-element-c0ea48e{--width:350px;}.elementor-7183 .elementor-element.elementor-element-2fbf095{--width:calc(100% - 600px);}.elementor-7183 .elementor-element.elementor-element-bc9fdc2{--width:150px;}}@media(max-width:1024px) and (min-width:768px){.elementor-7183 .elementor-element.elementor-element-2fbf095{--width:100%;}}@media(max-width:1600px){.elementor-7183 .elementor-element.elementor-element-2519012{--justify-content:space-evenly;--padding-top:80px;--padding-bottom:80px;--padding-left:20px;--padding-right:20px;}.elementor-7183 .elementor-element.elementor-element-cb19f74{--container-widget-width:65%;--container-widget-flex-grow:0;width:var( --container-widget-width, 65% );max-width:65%;}.elementor-7183 .elementor-element.elementor-element-cb19f74 .elementor-heading-title{font-size:44px;line-height:50px;}.elementor-7183 .elementor-element.elementor-element-b6645ab{width:initial;max-width:initial;}.elementor-7183 .elementor-element.elementor-element-6db448d{--padding-top:80px;--padding-bottom:80px;--padding-left:20px;--padding-right:20px;}.elementor-7183 .elementor-element.elementor-element-454bc8b .elementor-toc__list-item{font-size:18px;line-height:26px;}.elementor-7183 .elementor-element.elementor-element-80c1d3d{font-size:16px;line-height:24px;}}@media(max-width:1024px){.elementor-7183 .elementor-element.elementor-element-2519012{--padding-top:60px;--padding-bottom:60px;--padding-left:30px;--padding-right:30px;}.elementor-7183 .elementor-element.elementor-element-cb19f74{--container-widget-width:60%;--container-widget-flex-grow:0;width:var( --container-widget-width, 60% );max-width:60%;}.elementor-7183 .elementor-element.elementor-element-cb19f74 .elementor-heading-title{font-size:36px;line-height:42px;}.elementor-7183 .elementor-element.elementor-element-b6645ab{width:var( --container-widget-width, 40% );max-width:40%;--container-widget-width:40%;--container-widget-flex-grow:0;}.elementor-7183 .elementor-element.elementor-element-b6645ab img{width:100%;max-width:100%;height:200px;}.elementor-7183 .elementor-element.elementor-element-6db448d{--padding-top:60px;--padding-bottom:60px;--padding-left:30px;--padding-right:30px;}.elementor-7183 .elementor-element.elementor-element-da6b660{--flex-direction:column-reverse;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}}@media(max-width:767px){.elementor-7183 .elementor-element.elementor-element-2519012{--gap:20px 20px;--row-gap:20px;--column-gap:20px;--padding-top:40px;--padding-bottom:40px;--padding-left:20px;--padding-right:20px;}.elementor-7183 .elementor-element.elementor-element-cb19f74{width:100%;max-width:100%;}.elementor-7183 .elementor-element.elementor-element-cb19f74 .elementor-heading-title{font-size:32px;line-height:38px;}.elementor-7183 .elementor-element.elementor-element-b6645ab{width:100%;max-width:100%;}.elementor-7183 .elementor-element.elementor-element-b6645ab img{max-width:100%;}.elementor-7183 .elementor-element.elementor-element-6db448d{--padding-top:40px;--padding-bottom:40px;--padding-left:20px;--padding-right:20px;}.elementor-7183 .elementor-element.elementor-element-da6b660{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-7183 .elementor-element.elementor-element-2fbf095{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}}@media(max-width:1600px) and (min-width:768px){.elementor-7183 .elementor-element.elementor-element-6db448d{--content-width:1320px;}.elementor-7183 .elementor-element.elementor-element-c0ea48e{--width:300px;}.elementor-7183 .elementor-element.elementor-element-2fbf095{--width:calc(100% - 550px);}}@media(min-width:2400px){.elementor-7183 .elementor-element.elementor-element-6db448d{--content-width:1600px;}.elementor-7183 .elementor-element.elementor-element-80c1d3d{font-size:20px;line-height:28px;}}/* Start custom CSS for table-of-contents, class: .elementor-element-454bc8b */.elementor-7183 .elementor-element.elementor-element-454bc8b .elementor-toc__header{
    border-radius: 17px;
    box-shadow: 0px -0.5px 1px 2px #000;
    padding: 20px 40px;
}
.elementor-7183 .elementor-element.elementor-element-454bc8b .elementor-toc__body{
    padding: 20px 20px;
}
.elementor-7183 .elementor-element.elementor-element-454bc8b ol li{
    margin-bottom: 30px;
}
.elementor-7183 .elementor-element.elementor-element-454bc8b ol > li ol li{
    margin-bottom: 20px;
}

.elementor-7183 .elementor-element.elementor-element-454bc8b ol > li ol:first-of-type{
    margin-top: 20px;
}/* End custom CSS */
/* Start custom CSS for theme-post-content, class: .elementor-element-80c1d3d */@media (max-width: 1024px){
    .elementor-7183 .elementor-element.elementor-element-80c1d3d h2{
        margin-top: 40px;
        margin-bottom: 20px;
        font-weight: 900;
        font-size: 22px;
    }
    .elementor-7183 .elementor-element.elementor-element-80c1d3d h3{
        margin-top: 30px;
        margin-bottom: 20px;
        font-weight: 700;
        font-size: 20px;
    }
    .elementor-7183 .elementor-element.elementor-element-80c1d3d h4,
    .elementor-7183 .elementor-element.elementor-element-80c1d3d h5{
        margin-top: 20px;
        margin-bottom: 20px;
        font-weight: 600;
        font-size: 18px;
    }
    .elementor-7183 .elementor-element.elementor-element-80c1d3d a{
        text-decoration: underline;
        color: #231F20;
    }
    .elementor-7183 .elementor-element.elementor-element-80c1d3d li{
        margin-top: 10px;
        margin-bottom: 10px;
    }
    .elementor-7183 .elementor-element.elementor-element-80c1d3d ul,
    .elementor-7183 .elementor-element.elementor-element-80c1d3d ol{
        margin-top: 20px !important;
        margin-bottom: 20px !important;
    }
     .elementor-7183 .elementor-element.elementor-element-80c1d3d img{
        margin-top: 20px !important;
        margin-bottom: 20px !important;
    }
    .elementor-7183 .elementor-element.elementor-element-80c1d3d figcaption{
       max-width: fit-content !important;
        text-align: center;
        margin: 10px auto;
        background: #ffff;
        padding: 0 20px;
        border-radius: 4px;
        font-weight: 500;
        font-size: 14px;
    }

}
@media (max-width: 1600px){
    .elementor-7183 .elementor-element.elementor-element-80c1d3d h2{
        margin-top: 60px;
        margin-bottom: 20px;
        font-weight: 900 !important;
        font-size: 24px;
    }
    .elementor-7183 .elementor-element.elementor-element-80c1d3d h3{
        margin-top: 40px;
        margin-bottom: 20px;
        font-weight: 700 !important;
        font-size: 22px;
    }
    .elementor-7183 .elementor-element.elementor-element-80c1d3d h4,
    .elementor-7183 .elementor-element.elementor-element-80c1d3d h5{
        margin-top: 20px;
        margin-bottom: 20px;
        font-weight: 600;
        font-size: 20px;
    }
    .elementor-7183 .elementor-element.elementor-element-80c1d3d a{
        text-decoration: underline;
        color: #231F20;
    }
    .elementor-7183 .elementor-element.elementor-element-80c1d3d li{
        margin-top: 10px;
        margin-bottom: 10px;
    }
    .elementor-7183 .elementor-element.elementor-element-80c1d3d ul,
    .elementor-7183 .elementor-element.elementor-element-80c1d3d ol{
        margin-top: 20px !important;
        margin-bottom: 20px !important;
    }
    .elementor-7183 .elementor-element.elementor-element-80c1d3d img{
        margin-top: 20px !important;
        margin-bottom: 20px !important;
    }
    .elementor-7183 .elementor-element.elementor-element-80c1d3d figcaption{
        max-width: fit-content !important;
        text-align: center;
        margin: 10px auto;
        background: #ffff;
        padding: 0 20px;
        border-radius: 4px;
        font-weight: 500;
        font-size: 14px;
    }
}
@media (max-width: 2400px){
    .elementor-7183 .elementor-element.elementor-element-80c1d3d h2{
        margin-top: 60px;
        margin-bottom: 20px;
        font-weight: 900;
        font-size: 26px;
    }
    .elementor-7183 .elementor-element.elementor-element-80c1d3d h3{
        margin-top: 40px;
        margin-bottom: 20px;
        font-weight: 700;
        font-size: 24px;
    }
    .elementor-7183 .elementor-element.elementor-element-80c1d3d h4,
    .elementor-7183 .elementor-element.elementor-element-80c1d3d h5{
        margin-top: 20px;
        margin-bottom: 20px;
        font-weight: 600;
        font-size: 22px;
    }
    .elementor-7183 .elementor-element.elementor-element-80c1d3d a{
        text-decoration: underline;
        color: #231F20;
    }
    .elementor-7183 .elementor-element.elementor-element-80c1d3d li{
        margin-top: 10px;
        margin-bottom: 10px;
    }
     .elementor-7183 .elementor-element.elementor-element-80c1d3d ul,
    .elementor-7183 .elementor-element.elementor-element-80c1d3d ol{
        margin-top: 20px !important;
        margin-bottom: 20px !important;
    }
    .elementor-7183 .elementor-element.elementor-element-80c1d3d img{
        margin-top: 20px !important;
        margin-bottom: 20px !important;
    }
    .elementor-7183 .elementor-element.elementor-element-80c1d3d figcaption{
        max-width: fit-content !important;
        text-align: center;
        margin: 10px auto;
        background: #ffff;
        padding: 0 20px;
        border-radius: 4px;
        font-weight: 500;
        font-size: 14px;
    }
}
@media (min-width: 2401px){
    .elementor-7183 .elementor-element.elementor-element-80c1d3d h2{
        margin-top: 60px;
        margin-bottom: 20px;
        font-weight: 900;
        font-size: 28px;
    }
    .elementor-7183 .elementor-element.elementor-element-80c1d3d h3{
        margin-top: 40px;
        margin-bottom: 20px;
        font-weight: 700;
        font-size: 26px;
    }
    .elementor-7183 .elementor-element.elementor-element-80c1d3d h4,
    .elementor-7183 .elementor-element.elementor-element-80c1d3d h5{
        margin-top: 20px;
        margin-bottom: 20px;
        font-weight: 600;
        font-size: 24px;
    }
    .elementor-7183 .elementor-element.elementor-element-80c1d3d a{
        text-decoration: underline;
        color: #231F20;
    }
    .elementor-7183 .elementor-element.elementor-element-80c1d3d li{
        margin-top: 10px;
        margin-bottom: 10px;
    }
     .elementor-7183 .elementor-element.elementor-element-80c1d3d ul,
    .elementor-7183 .elementor-element.elementor-element-80c1d3d ol{
        margin-top: 20px !important;
        margin-bottom: 20px !important;
    }
    .elementor-7183 .elementor-element.elementor-element-80c1d3d img{
        margin-top: 20px !important;
        margin-bottom: 20px !important;
    }
    .elementor-7183 .elementor-element.elementor-element-80c1d3d figcaption{
        max-width: fit-content !important;
        text-align: center;
        margin: 10px auto;
        background: #ffff;
        padding: 0 20px;
        border-radius: 4px;
        font-weight: 500;
        font-size: 14px;
    }
}/* End custom CSS */