top of page

<html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Frosty Party Palace | Sacramento Party Rentals</title><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Saira+Condensed:wght@600;700;800&family=Saira:wght@500;600;700&family=Figtree:wght@400;500;600;800&family=IBM+Plex+Mono:wght@400;500&display=swap"><style>:root{--ink:#070A10;--ink-2:#0B1119;--panel:#101823;--panel-2:#16202C;--edge:#223040;--steel:#93A7BE;--steel-dim:#6B7F96;--paper:#E6EFF8;--ice:#4CB4FF;--accent:#FFC233;--accent-2:#B14CFF;--accent-ink:#231702;--ok:#3ED598;--gut:clamp(16px,4vw,56px);--notch:14px;--f-display:'Saira Condensed','Arial Narrow',Impact,sans-serif;--f-ui:'Saira','Trebuchet MS',sans-serif;--f-body:'Figtree','Segoe UI',Helvetica,Arial,sans-serif;--f-data:'IBM Plex Mono',monospace;--gold-grad:linear-gradient(176deg,#FFF0C4 0%,#FFC233 34%,#C98A0E 58%,#FFE59B 78%,#E0A521 100%);color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--f-body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}img{max-width:100%;display:block}[hidden]{display:none!important}a{color:var(--ice)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}h1,h2,h3,h4{font-family:var(--f-display);font-weight:800;line-height:.96;letter-spacing:-.01em;text-wrap:balance;margin:0;text-transform:uppercase}h1{font-size:clamp(2.6rem,7.5vw,5.6rem)}h2{font-size:clamp(2rem,5vw,3.6rem)}h3{font-size:clamp(1.3rem,2.6vw,1.9rem)}p{margin:0}.lede{font-size:clamp(1.02rem,1.6vw,1.22rem);color:var(--steel);max-width:62ch}.eyebrow{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--f-data);font-size:.7rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin:0 0 .85rem}.eyebrow:before{content:'';width:22px;height:2px;background:var(--accent);box-shadow:0 0 12px var(--accent)}.plane{position:relative;background:linear-gradient(168deg,var(--panel) 0%,var(--ink-2) 62%,var(--ink) 100%);border:1px solid var(--edge);clip-path:polygon(0 0,calc(100% - var(--notch)) 0,100% var(--notch),100% 100%,var(--notch) 100%,0 calc(100% - var(--notch)))}.plane:before{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,transparent 0 38%,color-mix(in srgb,var(--ice) 14%,transparent) 50%,transparent 62% 100%);opacity:.5}.plane-lit{border-color:color-mix(in srgb,var(--accent) 38%,var(--edge))}.brushed{background-image:repeating-linear-gradient(97deg,rgba(255,255,255,.028) 0 1px,transparent 1px 3px),linear-gradient(168deg,var(--panel-2),var(--ink))}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;padding:.92rem 1.6rem;font-family:var(--f-ui);font-weight:700;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-ink);background:var(--accent);border:none;cursor:pointer;text-decoration:none;clip-path:polygon(0 0,calc(100% - 11px) 0,100% 11px,100% 100%,11px 100%,0 calc(100% - 11px));transition:transform .18s,filter .18s}.btn:hover{transform:translateY(-2px);filter:brightness(1.1)}.btn-ghost{background:transparent;color:var(--paper);border:1px solid color-mix(in srgb,var(--accent) 55%,var(--edge));clip-path:none}.wrap{width:100%;max-width:1280px;margin-inline:auto;padding-inline:var(--gut)}section{position:relative;scroll-margin-top:20px}.sec{padding-block:clamp(56px,8vw,104px)}.sec-head{display:flex;flex-wrap:wrap;align-items:flex-end;gap:1.4rem 2.4rem;margin-bottom:2.6rem}.sec-head .lede{flex:1 1 320px}.ticker{overflow:hidden;border-block:1px solid var(--edge);background:var(--ink-2);padding-block:.72rem;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}.ticker-track{display:flex;gap:2.6rem;width:max-content;animation:slide 38s linear infinite}.ticker span{font-family:var(--f-data);font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--steel-dim);white-space:nowrap;display:inline-flex;align-items:center;gap:.7rem}.ticker span:before{content:'';width:5px;height:5px;background:var(--accent);transform:rotate(45deg)}@keyframes slide{to{transform:translateX(-50%)}}.nav{position:relative;z-index:60;background:var(--ink);border-bottom:1px solid var(--edge)}.nav-in{display:flex;align-items:center;gap:1.2rem;min-height:72px}.nav-logo{height:48px;width:auto}.nav-links{display:flex;gap:1.5rem;margin-left:auto;align-items:center}.nav-links a{color:var(--steel);text-decoration:none;font-family:var(--f-ui);font-size:.76rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.nav-links a.btn{color:var(--accent-ink)}.nav-cta{padding:.6rem 1.05rem;font-size:.72rem}.hero{position:relative;min-height:680px;display:grid;overflow:hidden}.slides{position:absolute;inset:0}.slide{position:absolute;inset:0;opacity:0;background-size:cover;background-position:center;transition:opacity 1.4s;transform:scale(1.06)}.slide.on{opacity:1;animation:kb 9s linear forwards}@keyframes kb{from{transform:scale(1.06)}to{transform:scale(1.13)}}.hero:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(94deg,rgba(5,8,14,.94) 0%,rgba(5,8,14,.74) 42%,rgba(5,8,14,.22) 74%,rgba(5,8,14,.6) 100%),linear-gradient(0deg,rgba(5,8,14,.92),transparent 46%)}.hero-in{position:relative;z-index:3;align-self:center;padding-block:clamp(40px,7vw,72px)}.hero-logo{height:clamp(96px,15vw,150px);width:auto;margin-bottom:1.2rem;filter:drop-shadow(0 10px 34px #000c)}.hero h1{font-size:clamp(2.5rem,6.4vw,4.9rem)}.gold{background:var(--gold-grad);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent}.hero-line{font-family:var(--f-ui);font-weight:600;letter-spacing:.28em;text-transform:uppercase;font-size:clamp(.64rem,1.3vw,.8rem);color:var(--accent);margin-top:.9rem}.hero-acts{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.9rem}.hero-strip{position:relative;z-index:3;align-self:end;display:flex;flex-wrap:wrap;gap:.4rem 2rem;padding-bottom:1.4rem;font-family:var(--f-data);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--steel)}.hero-strip b{color:var(--accent);font-weight:500}.dots{position:absolute;z-index:4;right:var(--gut);bottom:1.4rem;display:flex;gap:.5rem}.dots button{all:unset;width:26px;height:8px;background:#ffffff40;cursor:pointer}.dots button[aria-current=true]{background:var(--accent);width:44px}.cat-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(258px,1fr))}.item{display:flex;flex-direction:column;overflow:hidden}.item-media{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--ink)}.item-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.item:hover .item-media img{transform:scale(1.06)}.item-media:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,9,15,.85),transparent 52%)}.price-tag{position:absolute;z-index:2;left:0;bottom:0;background:var(--accent);color:var(--accent-ink);font-family:var(--f-data);font-weight:500;font-size:.92rem;padding:.3rem .62rem}.price-tag small{font-size:.62rem;letter-spacing:.08em}.stock{position:absolute;z-index:2;right:.5rem;top:.5rem;background:#04080ed1;border:1px solid var(--edge);color:var(--steel);font-family:var(--f-data);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;padding:.24rem .5rem}.item-body{padding:1rem 1.05rem 1.1rem;display:flex;flex-direction:column;gap:.55rem;flex:1}.item-name{font-size:1.18rem;line-height:1}.item-spec{font-family:var(--f-data);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--steel-dim)}.item-desc{font-size:.86rem;color:var(--steel);flex:1}.stepper{display:flex;align-items:center;margin-top:.35rem}.stepper button{all:unset;width:38px;height:38px;display:grid;place-items:center;cursor:pointer;border:1px solid var(--edge);color:var(--paper);font-family:var(--f-data);font-size:1.05rem;background:var(--ink)}.stepper button:disabled{opacity:.3;cursor:not-allowed}.stepper output{min-width:52px;height:38px;display:grid;place-items:center;border-block:1px solid var(--edge);background:var(--ink-2);font-family:var(--f-data)}.stepper .lbl{margin-left:auto;font-family:var(--f-data);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--steel-dim)}.item.picked{border-color:var(--accent)}.quote-only .price-tag{background:var(--panel-2);color:var(--accent)}.cat-filter{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:1.6rem}.cat-filter button{all:unset;cursor:pointer;padding:.5rem .9rem;border:1px solid var(--edge);font-family:var(--f-ui);font-size:.74rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--steel)}.cat-filter button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.res{display:grid;gap:1.4rem;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start}.res-panel{padding:clamp(1.1rem,2.4vw,1.7rem)}.tbl-scroll{overflow-x:auto;min-height:120px}table.res-tbl{width:100%;border-collapse:collapse;min-width:440px}.res-tbl th{text-align:left;font-family:var(--f-data);font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--steel-dim);font-weight:500;padding:0 .6rem .6rem 0;border-bottom:1px solid var(--edge)}.res-tbl td{padding:.72rem .6rem .72rem 0;border-bottom:1px solid var(--edge);font-size:.92rem}.res-tbl th:last-child,.res-tbl td:last-child{text-align:right;padding-right:0}.n{font-family:var(--f-data);font-variant-numeric:tabular-nums}.rm{all:unset;cursor:pointer;color:var(--steel-dim);padding:0 .4rem}.res-empty{padding:1rem 0;color:var(--steel-dim);font-size:.92rem}.totals{margin-top:1.1rem;display:flex;flex-direction:column;gap:.5rem}.t-row{display:flex;justify-content:space-between;gap:1rem;font-size:.92rem;color:var(--steel)}.t-row .n{color:var(--paper)}.t-due{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-top:.5rem;padding-top:.9rem;border-top:1px solid var(--accent)}.t-due span:first-child{font-family:var(--f-ui);font-weight:700;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}.t-due .n{font-family:var(--f-display);font-weight:800;font-size:2rem}.pay-acts{display:flex;flex-direction:column;gap:.6rem;margin-top:1.3rem}.res-side{display:flex;flex-direction:column;gap:1rem}.res-side .plane{padding:1.3rem}.avail{display:flex;flex-direction:column;gap:.7rem}.a-row{display:flex;gap:.75rem;align-items:flex-start}.a-n{font-family:var(--f-data);font-size:.66rem;color:var(--accent);padding-top:.15rem}.a-t{font-size:.88rem;color:var(--steel)}.a-t b{color:var(--paper)}.exp{display:grid;gap:1rem;grid-template-columns:repeat(12,1fr)}.exp figure{margin:0;position:relative;overflow:hidden;min-height:210px}.exp img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.exp figcaption{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:1rem 1.1rem;background:linear-gradient(0deg,#05080ef0,transparent);font-family:var(--f-ui);font-weight:600;font-size:.86rem}.exp small{display:block;font-family:var(--f-data);font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:.2rem}.e-a{grid-column:span 7;min-height:340px!important}.e-b{grid-column:span 5;min-height:340px!important}.e-c,.e-d,.e-e{grid-column:span 4}.revs{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(272px,1fr))}.rev{padding:1.5rem 1.4rem;display:flex;flex-direction:column;gap:1rem}.stars{color:var(--accent);letter-spacing:.24em}.rev blockquote{margin:0;font-size:1.02rem;line-height:1.55;font-weight:500}.who{font-family:var(--f-data);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--steel-dim);margin-top:auto}.papers{display:grid;gap:1px;background:var(--edge);border:1px solid var(--edge)}.paper{background:var(--ink-2);display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;align-items:center;padding:1.05rem 1.2rem}.p-name{font-family:var(--f-ui);font-weight:600;font-size:.96rem;flex:1 1 240px}.p-when{font-family:var(--f-data);font-size:.66rem;letter-spacing:.1em;color:var(--steel-dim);flex:1 1 240px}.p-tag{font-family:var(--f-data);font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;padding:.22rem .5rem;border:1px solid var(--edge);color:var(--steel)}.req-wrap{display:grid;gap:clamp(1.6rem,3vw,2.8rem);grid-template-columns:minmax(0,330px) minmax(0,1fr);align-items:start}.req-panel{padding:clamp(1.4rem,3vw,2.1rem)}.route{margin-top:1.1rem;font-family:var(--f-data);font-size:.68rem;letter-spacing:.1em;color:var(--steel-dim);overflow-wrap:anywhere}.route b{color:var(--accent)}.field{display:flex;flex-direction:column;gap:.42rem}.field label{font-family:var(--f-ui);font-size:.7rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--steel)}.field input,.field textarea{font-family:var(--f-body);font-size:.96rem;color:var(--paper);background:var(--ink);border:1px solid var(--edge);padding:.78rem .85rem;width:100%;min-width:0}.field textarea{resize:vertical;min-height:100px}.field input:focus,.field textarea:focus{outline:1px solid var(--accent)}.form-grid{display:grid;gap:1.05rem;grid-template-columns:repeat(2,minmax(0,1fr))}.span-2{grid-column:1/-1}.note{font-family:var(--f-data);font-size:.7rem;letter-spacing:.06em;color:var(--steel-dim);line-height:1.6}.note b{color:var(--accent)}.foot{border-top:1px solid var(--edge);background:var(--ink-2);padding-block:clamp(40px,6vw,64px) 28px}.foot-grid{display:grid;gap:2.4rem;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.foot h4{font-family:var(--f-ui);font-size:.72rem;letter-spacing:.2em;color:var(--accent);margin-bottom:.9rem;font-weight:700}.foot a{color:var(--steel);text-decoration:none;display:block;padding:.2rem 0;overflow-wrap:anywhere}.foot-note{margin-top:2.6rem;padding-top:1.2rem;border-top:1px solid var(--edge);display:flex;flex-wrap:wrap;gap:.8rem 1.6rem;justify-content:space-between;font-family:var(--f-data);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--steel-dim)}@media(max-width:980px){.res{grid-template-columns:1fr}}@media(max-width:920px){.req-wrap{grid-template-columns:1fr}}@media(max-width:780px){.nav-links .hide-sm{display:none}.hero{min-height:620px}.hero-strip{padding-bottom:3rem}.e-a,.e-b,.e-c,.e-d,.e-e{grid-column:span 12;min-height:250px!important}}@media(max-width:540px){.form-grid{grid-template-columns:minmax(0,1fr)}.cat-grid{grid-template-columns:minmax(0,1fr)}.nav-in{gap:10px}.nav-cta{padding:.6rem .8rem}.revs{grid-template-columns:minmax(0,1fr)}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.sec{padding-block:48px}.sec-head{margin-bottom:28px}.hero{min-height:590px}.hero-in{padding-block:42px}.hero-logo{height:116px}.foot{padding-top:36px}.nav-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--paper);font:700 15px var(--f-ui);line-height:1.15;letter-spacing:.06em}.nav-brand span{max-width:150px}.tbl-scroll{height:auto;min-height:0}.field textarea{resize:none}.foot-note{margin-top:28px}@media(max-width:600px){.sec{padding-block:36px}.hero{min-height:600px}.nav-brand span{display:none}.nav-links{gap:8px}.nav-in{min-height:66px}}/* Reservation table: compact empty state and readable mobile rows */.tbl-scroll{height:auto!important;min-height:0!important;max-height:260px!important;overflow:auto!important}@media(max-width:600px){ #reserve .sec-head{display:block;margin-bottom:18px} #reserve .sec-head .lede{margin-top:12px} .res{gap:14px} .res-panel{padding:16px} .tbl-scroll{max-height:300px!important;overflow:auto!important} table.res-tbl{min-width:0;width:100%;display:block} .res-tbl thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0} .res-tbl tbody{display:block} .res-tbl tbody:empty{display:none} .res-tbl tr{display:block;border:1px solid var(--edge);padding:10px 12px;margin-bottom:10px;background:rgba(255,255,255,.018)} .res-tbl td{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:5px 0;border:0!important;text-align:right!important} .res-tbl td:first-child{font-weight:700;text-align:left!important;padding-bottom:8px;margin-bottom:3px;border-bottom:1px solid var(--edge)!important} .res-tbl td:nth-child(2)::before{content:'Rate / day'} .res-tbl td:nth-child(3)::before{content:'Quantity'} .res-tbl td:nth-child(4)::before{content:'Line total'} .res-tbl td:not(:first-child)::before{font-family:var(--f-data);font-size:.61rem;letter-spacing:.12em;text-transform:uppercase;color:var(--steel-dim)} .rm{margin-left:auto} .res-empty{padding:4px 0 12px} .totals{margin-top:10px} .t-row{font-size:.88rem} .t-due .n{font-size:1.65rem} .pay-acts .btn{width:100%;padding-inline:12px;text-align:center} .res-side .plane{padding:16px}}</style></head><body><nav class="nav" aria-label="Main navigation"><div class="wrap nav-in"><a href="#top" class="nav-brand" aria-label="Frosty Party Palace home"><img class="nav-logo" src="https://static.wixstatic.com/media/88b456_152efe8481e74ecd81b55dac1dbac36f~mv2.png" alt="Frosty Party Palace & Rentals"><span>FROSTY<br>PARTY PALACE</span></a><div class="nav-links"><a href="#catalog" class="hide-sm">Rentals</a><a href="#reserve" class="hide-sm">Reserve</a><a href="#gallery" class="hide-sm">Gallery</a><a href="#request" class="btn nav-cta">Check a date</a></div></div></nav><header class="hero" id="top"><div class="slides" aria-hidden="true"><div class="slide" style="background-image:url('https://static.wixstatic.com/media/88b456_3aaac13c83cd486b8711505c70a3bdfa~mv2.jpg')"></div><div class="slide" style="background-image:url('https://static.wixstatic.com/media/88b456_4661757eceae412fb77ed116f11ad11f~mv2.jpg')"></div><div class="slide" style="background-image:url('https://static.wixstatic.com/media/88b456_0796db9c92cd44708c203fe79c789e18~mv2.jpg')"></div><div class="slide on" style="background-image:url('https://static.wixstatic.com/media/88b456_5a8a3f768b6d4702a605b7092a344f2b~mv2.jpg')"></div><div class="slide" style="background-image:url('https://static.wixstatic.com/media/88b456_2076f8793a694546b33703fcb6766ebe~mv2.jpg')"></div></div><div class="wrap hero-in"><img class="hero-logo" src="https://static.wixstatic.com/media/88b456_152efe8481e74ecd81b55dac1dbac36f~mv2.png" alt=""><h1><span class="gold">Parties make<br>life brighter.</span></h1><p class="hero-line">Bounce houses · Water slides · Canopies · Tables · Sacramento</p><p class="lede" style="margin-top:1.3rem">Pick your gear, confirm your date with Shawn, and book with a $50 deposit. Delivery, setup, and pickup — same castles the neighborhood already knows.</p><div class="hero-acts"><a class="btn" href="#catalog">Build my reservation</a><a class="btn btn-ghost" href="tel:+19165442971" target="_top">Call (916) 544-2971</a></div></div><div class="wrap hero-strip"><span>Deposit to book <b>$50</b></span><span>Delivery from <b>$25</b></span><span>Booked <b>first come, first served</b></span><span>Sacramento · <b>95624</b></span></div><div class="dots" id="dots"><button type="button" aria-label="Slide 1" aria-current="false"></button><button type="button" aria-label="Slide 2" aria-current="false"></button><button type="button" aria-label="Slide 3" aria-current="false"></button><button type="button" aria-label="Slide 4" aria-current="true"></button><button type="button" aria-label="Slide 5" aria-current="false"></button></div></header><div class="ticker" aria-hidden="true"><div class="ticker-track"><span>Birthdays</span><span>Graduations</span><span>Backyard movie nights</span><span>Quinceañeras</span><span>Church & school events</span><span>Baby showers</span><span>Block parties</span><span>Company picnics</span><span>Birthdays</span><span>Graduations</span><span>Backyard movie nights</span><span>Quinceañeras</span><span>Church & school events</span><span>Baby showers</span><span>Block parties</span><span>Company picnics</span></div></div><main><section class="sec" id="catalog"><div class="wrap"><div class="sec-head"><div><p class="eyebrow">The inventory</p><h2>Everything<br>in the palace.</h2></div><p class="lede">Daily rates from Shawn’s inventory. Tap the plus on anything you want and it drops into your reservation table. Shawn confirms availability for your date.</p></div><div class="cat-filter" role="group" aria-label="Show rental categories first"><button type="button" data-f="all" aria-pressed="true">Everything</button><button type="button" data-f="bounce" aria-pressed="false">Bounce & water</button><button type="button" data-f="shelter" aria-pressed="false">Canopies</button><button type="button" data-f="seating" aria-pressed="false">Tables & chairs</button><button type="button" data-f="extras" aria-pressed="false">Add-ons</button></div><p class="note" id="filterNote" style="margin-bottom:1rem;min-height:22px">Browse all rentals. Choose a category to bring it to the top.</p><div class="cat-grid" id="catGrid"><article class="plane item" data-id="princess" data-cat="bounce"><div class="item-media"><img loading="lazy" src="https://static.wixstatic.com/media/88b456_e39c9919801145ceb5d46239d6e25356~mv2.jpg" alt="Princess Bounce House"><span class="stock">1 owned</span><span class="price-tag">$100 <small>/ DAY</small></span></div><div class="item-body"><h3 class="item-name">Princess Bounce House</h3><p class="item-spec">Dry use only · approx. 13x13 ft footprint</p><p class="item-desc">The purple-and-pink castle. The one that gets requested by name at birthday parties.</p><div class="stepper"><button type="button" data-step="-1" aria-label="Remove one Princess Bounce House" disabled="">−</button><output aria-live="polite">0</output><button type="button" data-step="1" aria-label="Add one Princess Bounce House">+</button><span class="lbl">Qty</span></div></div></article><article class="plane item" data-id="basketball" data-cat="bounce"><div class="item-media"><img loading="lazy" src="https://static.wixstatic.com/media/88b456_aafac15398ed434d860de2f0faea6070~mv2.jpg" alt="Basketball Bounce House"><span class="stock">1 owned</span><span class="price-tag">$150 <small>/ DAY</small></span></div><div class="item-body"><h3 class="item-name">Basketball Bounce House</h3><p class="item-spec">Dry use only · interior hoop</p><p class="item-desc">Red and yellow castle with a basketball hoop inside. Older kids stay in it longer.</p><div class="stepper"><button type="button" data-step="-1" aria-label="Remove one Basketball Bounce House" disabled="">−</button><output aria-live="polite">0</output><button type="button" data-step="1" aria-label="Add one Basketball Bounce House">+</button><span class="lbl">Qty</span></div></div></article><article class="plane item" data-id="waterslide" data-cat="bounce"><div class="item-media"><img loading="lazy" src="https://static.wixstatic.com/media/88b456_4661757eceae412fb77ed116f11ad11f~mv2.jpg" alt="30 ft Water Slide"><span class="stock">1 owned</span><span class="price-tag">$225 <small>/ DAY</small></span></div><div class="item-body"><h3 class="item-name">30 ft Water Slide</h3><p class="item-spec">Tree/Tropical style · 14 ft tall · wet use · dual lane · splash pool</p><p class="item-desc">Tree/Tropical slide stands 14 ft tall with dual lanes into a splash pool. Needs a hose within reach.</p><div class="stepper"><button type="button" data-step="-1" aria-label="Remove one 30 ft Water Slide" disabled="">−</button><output aria-live="polite">0</output><button type="button" data-step="1" aria-label="Add one 30 ft Water Slide">+</button><span class="lbl">Qty</span></div></div></article><article class="plane item" data-id="bluewave" data-cat="bounce"><div class="item-media"><img loading="lazy" src="https://static.wixstatic.com/media/88b456_4196bc5f8ca84a4bae59fd176b2aea74~mv2.jpg" alt="Blue Wave Water Slide"><span class="stock">1 owned</span><span class="price-tag">$350 <small>/ DAY</small></span></div><div class="item-body"><h3 class="item-name">Blue Wave Water Slide</h3><p class="item-spec">17 ft tall · wet use · dual lane · deep splash pool</p><p class="item-desc">Seventeen feet tall with twin lanes down a curved wave wall into a wide plunge pool.</p><div class="stepper"><button type="button" data-step="-1" aria-label="Remove one Blue Wave Water Slide" disabled="">−</button><output aria-live="polite">0</output><button type="button" data-step="1" aria-label="Add one Blue Wave Water Slide">+</button><span class="lbl">Qty</span></div></div></article><article class="plane item" data-id="c1010" data-cat="shelter"><div class="item-media"><img loading="lazy" src="https://static.wixstatic.com/media/88b456_b45f0431f0884bc9a136d01d71d9589f~mv2.jpg" alt="10x10 Canopy"><span class="stock">4 owned</span><span class="price-tag">$50 <small>/ DAY</small></span></div><div class="item-body"><h3 class="item-name">10x10 Canopy</h3><p class="item-spec">100 sq ft · pop-up frame</p><p class="item-desc">The workhorse. Food tables, drink stations, check-in, shade over the DJ.</p><div class="stepper"><button type="button" data-step="-1" aria-label="Remove one 10x10 Canopy" disabled="">−</button><output aria-live="polite">0</output><button type="button" data-step="1" aria-label="Add one 10x10 Canopy">+</button><span class="lbl">Qty</span></div></div></article><article class="plane item" data-id="c1020" data-cat="shelter"><div class="item-media"><img loading="lazy" src="https://static.wixstatic.com/media/88b456_e5c3f50ab35f4b7b9f31edc086bbd371~mv2.jpg" alt="10x20 Canopy"><span class="stock">1 owned</span><span class="price-tag">$100 <small>/ DAY</small></span></div><div class="item-body"><h3 class="item-name">10x20 Canopy</h3><p class="item-spec">200 sq ft · seats approx. 20</p><p class="item-desc">Covers two long tables end to end. The right call for a mid-size dinner.</p><div class="stepper"><button type="button" data-step="-1" aria-label="Remove one 10x20 Canopy" disabled="">−</button><output aria-live="polite">0</output><button type="button" data-step="1" aria-label="Add one 10x20 Canopy">+</button><span class="lbl">Qty</span></div></div></article><article class="plane item" data-id="c1030" data-cat="shelter"><div class="item-media"><img loading="lazy" src="https://static.wixstatic.com/media/88b456_21c9a21af87b4d3e8dc658934d002786~mv2.jpg" alt="10x30 Canopy"><span class="stock">1 owned</span><span class="price-tag">$125 <small>/ DAY</small></span></div><div class="item-body"><h3 class="item-name">10x30 Canopy</h3><p class="item-spec">300 sq ft · seats approx. 30</p><p class="item-desc">Long white tent with sidewalls. Strung with lights it carries the whole evening.</p><div class="stepper"><button type="button" data-step="-1" aria-label="Remove one 10x30 Canopy" disabled="">−</button><output aria-live="polite">0</output><button type="button" data-step="1" aria-label="Add one 10x30 Canopy">+</button><span class="lbl">Qty</span></div></div></article><article class="plane item" data-id="c2020" data-cat="shelter"><div class="item-media"><img loading="lazy" src="https://static.wixstatic.com/media/88b456_5a8a3f768b6d4702a605b7092a344f2b~mv2.jpg" alt="20x20 Canopy"><span class="stock">1 owned</span><span class="price-tag">$200 <small>/ DAY</small></span></div><div class="item-body"><h3 class="item-name">20x20 Canopy</h3><p class="item-spec">400 sq ft · seats approx. 40</p><p class="item-desc">Square footprint, open sides, room for tables and a dance floor.</p><div class="stepper"><button type="button" data-step="-1" aria-label="Remove one 20x20 Canopy" disabled="">−</button><output aria-live="polite">0</output><button type="button" data-step="1" aria-label="Add one 20x20 Canopy">+</button><span class="lbl">Qty</span></div></div></article><article class="plane item" data-id="t6" data-cat="seating"><div class="item-media"><img loading="lazy" src="https://static.wixstatic.com/media/88b456_1658f37545b044d58bc01097cb3b59b1~mv2.jpg" alt="6 ft Banquet Tables"><span class="stock">10 owned</span><span class="price-tag">$12 <small>/ DAY</small></span></div><div class="item-body"><h3 class="item-name">6 ft Banquet Tables</h3><p class="item-spec">Seats 6–8 · black cover available</p><p class="item-desc">Standard rectangular banquet tables. Ten on hand.</p><div class="stepper"><button type="button" data-step="-1" aria-label="Remove one 6 ft Banquet Tables" disabled="">−</button><output aria-live="polite">0</output><button type="button" data-step="1" aria-label="Add one 6 ft Banquet Tables">+</button><span class="lbl">Qty</span></div></div></article><article class="plane item" data-id="t5" data-cat="seating"><div class="item-media"><img loading="lazy" src="https://static.wixstatic.com/media/88b456_e5c3f50ab35f4b7b9f31edc086bbd371~mv2.jpg" alt="5 ft Round Tables"><span class="stock">4 owned</span><span class="price-tag">$18 <small>/ DAY</small></span></div><div class="item-body"><h3 class="item-name">5 ft Round Tables</h3><p class="item-spec">Seats 8 · round</p><p class="item-desc">Round tables for a seated dinner. Four available.</p><div class="stepper"><button type="button" data-step="-1" aria-label="Remove one 5 ft Round Tables" disabled="">−</button><output aria-live="polite">0</output><button type="button" data-step="1" aria-label="Add one 5 ft Round Tables">+</button><span class="lbl">Qty</span></div></div></article><article class="plane item" data-id="t4" data-cat="seating"><div class="item-media"><img loading="lazy" src="https://static.wixstatic.com/media/88b456_1658f37545b044d58bc01097cb3b59b1~mv2.jpg" alt="4 ft Tables"><span class="stock">6 owned</span><span class="price-tag">$8 <small>/ DAY</small></span></div><div class="item-body"><h3 class="item-name">4 ft Tables</h3><p class="item-spec">Seats 4 · black covers available</p><p class="item-desc">Small tables for cake, gifts, sign-in or a dessert corner.</p><div class="stepper"><button type="button" data-step="-1" aria-label="Remove one 4 ft Tables" disabled="">−</button><output aria-live="polite">0</output><button type="button" data-step="1" aria-label="Add one 4 ft Tables">+</button><span class="lbl">Qty</span></div></div></article><article class="plane item quote-only" data-id="cocktail" data-cat="seating"><div class="item-media"><img loading="lazy" src="https://static.wixstatic.com/media/88b456_3aa4a8bdff0a4c5aafb80633f61fd02c~mv2.jpg" alt="Cocktail Tables"><span class="stock">6 owned</span><span class="price-tag">Quote <small>BY EVENT</small></span></div><div class="item-body"><h3 class="item-name">Cocktail Tables</h3><p class="item-spec">Standing height · black spandex cover</p><p class="item-desc">Standing-height tables with fitted black covers. Ask Shawn for the rate.</p><div class="stepper"><button type="button" data-step="-1" aria-label="Remove one Cocktail Tables" disabled="">−</button><output aria-live="polite">0</output><button type="button" data-step="1" aria-label="Add one Cocktail Tables">+</button><span class="lbl">Request</span></div></div></article><article class="plane item" data-id="chairs" data-cat="seating"><div class="item-media"><img loading="lazy" src="https://static.wixstatic.com/media/88b456_e5c3f50ab35f4b7b9f31edc086bbd371~mv2.jpg" alt="Folding Chairs"><span class="stock">80 owned</span><span class="price-tag">$2 <small>/ DAY</small></span></div><div class="item-body"><h3 class="item-name">Folding Chairs</h3><p class="item-spec">Per chair · 80 owned</p><p class="item-desc">Seating for birthdays, dinners, and neighborhood celebrations.</p><div class="stepper"><button type="button" data-step="-1" aria-label="Remove one Folding Chairs" disabled="">−</button><output aria-live="polite">0</output><button type="button" data-step="1" aria-label="Add one Folding Chairs">+</button><span class="lbl">Qty</span></div></div></article><article class="plane item" data-id="heater" data-cat="extras"><div class="item-media"><img loading="lazy" src="https://static.wixstatic.com/media/88b456_b7523513dfb2442aadaa81ba131287cd~mv2.jpg" alt="Outdoor Heaters"><span class="stock">10 owned</span><span class="price-tag">$50 <small>/ DAY</small></span></div><div class="item-body"><h3 class="item-name">Outdoor Heaters</h3><p class="item-spec">Propane · per unit</p><p class="item-desc">Patio heaters for evening events. Ten on hand.</p><div class="stepper"><button type="button" data-step="-1" aria-label="Remove one Outdoor Heaters" disabled="">−</button><output aria-live="polite">0</output><button type="button" data-step="1" aria-label="Add one Outdoor Heaters">+</button><span class="lbl">Qty</span></div></div></article><article class="plane item" data-id="gen" data-cat="extras"><div class="item-media"><img loading="lazy" src="https://static.wixstatic.com/media/88b456_98516921a9524ace84f8373abc7a6dce~mv2.jpg" alt="Generator"><span class="stock">2 owned</span><span class="price-tag">$50 <small>/ DAY</small></span></div><div class="item-body"><h3 class="item-name">Generator</h3><p class="item-spec">Per unit · powers 1 inflatable</p><p class="item-desc">For parks and yards with no outlet in range. One generator per inflatable.</p><div class="stepper"><button type="button" data-step="-1" aria-label="Remove one Generator" disabled="">−</button><output aria-live="polite">0</output><button type="button" data-step="1" aria-label="Add one Generator">+</button><span class="lbl">Qty</span></div></div></article><article class="plane item" data-id="photo" data-cat="extras"><div class="item-media"><img loading="lazy" src="https://static.wixstatic.com/media/88b456_cf9aeed646af4db4adc7e0759888cc12~mv2.jpg" alt="Frosty Selfie Station"><span class="stock">1 owned</span><span class="price-tag">$150 <small>/ DAY</small></span></div><div class="item-body"><h3 class="item-name">Frosty Selfie Station</h3><p class="item-spec">Ring light · instant share</p><p class="item-desc">Photo booth on a stand — guests shoot, then text or email themselves the photo.</p><div class="stepper"><button type="button" data-step="-1" aria-label="Remove one Frosty Selfie Station" disabled="">−</button><output aria-live="polite">0</output><button type="button" data-step="1" aria-label="Add one Frosty Selfie Station">+</button><span class="lbl">Qty</span></div></div></article><article class="plane item quote-only" data-id="movie" data-cat="extras"><div class="item-media"><img loading="lazy" src="https://static.wixstatic.com/media/88b456_3aaac13c83cd486b8711505c70a3bdfa~mv2.jpg" alt="Inflatable Movie Screen"><span class="stock">1 owned</span><span class="price-tag">Quote <small>BY EVENT</small></span></div><div class="item-body"><h3 class="item-name">Inflatable Movie Screen</h3><p class="item-spec">Outdoor cinema · quote by event</p><p class="item-desc">Turns a backyard or driveway into a theater. Priced with the event — ask Shawn.</p><div class="stepper"><button type="button" data-step="-1" aria-label="Remove one Inflatable Movie Screen" disabled="">−</button><output aria-live="polite">0</output><button type="button" data-step="1" aria-label="Add one Inflatable Movie Screen">+</button><span class="lbl">Request</span></div></div></article></div><p class="note" style="margin-top:1.4rem">Daily rates. Multi-day and multi-item events get quoted. Final availability, delivery, and pricing are confirmed before payment.</p></div></section><section class="sec" id="reserve" style="background:var(--ink-2);border-block:1px solid var(--edge)"><div class="wrap"><div class="sec-head"><div><p class="eyebrow">Your reservation</p><h2>The table.</h2></div><p class="lede">Everything you picked, itemized. Send your request to confirm availability. The $50 deposit holds your date once Shawn confirms the booking.</p></div><div class="res"><div class="plane plane-lit res-panel brushed"><div class="tbl-scroll" style="max-height:360px;overflow:auto"><table class="res-tbl"><thead><tr><th>Item</th><th>Rate / day</th><th>Qty</th><th>Line total</th></tr></thead><tbody id="resBody"></tbody></table><p class="res-empty" id="resEmpty">Nothing picked yet — add something from the inventory above.</p></div><div class="totals"><div class="t-row"><span>Rental subtotal</span><span class="n" id="tSub">$0</span></div><div class="t-row"><span>Delivery & setup</span><span class="n">From $25</span></div><div class="t-row"><span>Estimated balance after deposit</span><span class="n" id="tBal">—</span></div><div class="t-due"><span>Deposit after confirmation</span><span class="n">$50</span></div></div><div class="pay-acts"><a class="btn" href="#request" id="payBtn">Check availability for my picks</a><a class="btn btn-ghost" href="sms:+19165442971" target="_top">Text Shawn about my event</a></div><p class="note" style="margin-top:.9rem">No payment is taken on this page. Dates and quantities are confirmed personally. Quote-only items and final delivery charges are additional.</p></div><aside class="res-side"><div class="plane"><p class="eyebrow">How booking works</p><div class="avail"><div class="a-row"><span class="a-n">01</span><span class="a-t"><b>Pick your date and rentals.</b> Send your event details so Shawn can check stock for your date.</span></div><div class="a-row"><span class="a-n">02</span><span class="a-t"><b>Confirm the quote.</b> Shawn confirms availability, delivery fees, and payment instructions.</span></div><div class="a-row"><span class="a-n">03</span><span class="a-t"><b>Pay the $50 deposit.</b> The deposit holds the confirmed date and applies to your balance.</span></div><div class="a-row"><span class="a-n">04</span><span class="a-t"><b>We deliver, set up and test it</b>, then return for pickup. Balance is due at delivery.</span></div></div></div><div class="plane" style="--accent:#4CB4FF"><p class="eyebrow">Good to know</p><p class="note"><b>Dry only.</b> Both castles are dry-use — no water in the bounce houses.<br><br><b>Power.</b> Tell Shawn where your power supply is. Add a generator if your event needs one.<br><br><b>Surface.</b> Tell us whether setup is on grass, concrete, asphalt, or indoors so the crew can plan.</p></div></aside></div></div></section><section class="sec" id="gallery"><div class="wrap"><div class="sec-head"><div><p class="eyebrow">Real setups</p><h2>What your<br>yard looks like.</h2></div><p class="lede">The Palace’s castles, canopies, slides, and party gear — ready to make your next gathering brighter.</p></div><div class="exp"><figure class="plane e-a"><img loading="lazy" src="https://static.wixstatic.com/media/88b456_5a8a3f768b6d4702a605b7092a344f2b~mv2.jpg" alt="A 10x30 and a 20x20 set end to end — seats sixty for dinner"><figcaption><small>Canopies & lighting</small>A 10x30 and a 20x20 set end to end — seats sixty for dinner</figcaption></figure><figure class="plane e-b"><img loading="lazy" src="https://static.wixstatic.com/media/88b456_3aaac13c83cd486b8711505c70a3bdfa~mv2.jpg" alt="The inflatable screen turns a driveway into a theater"><figcaption><small>Backyard cinema</small>The inflatable screen turns a driveway into a theater</figcaption></figure><figure class="plane e-c"><img loading="lazy" src="https://static.wixstatic.com/media/88b456_e5c3f50ab35f4b7b9f31edc086bbd371~mv2.jpg" alt="Round tables, linens, and chairs"><figcaption><small>Tables & chairs</small>Round tables, linens, and chairs</figcaption></figure><figure class="plane e-d"><img loading="lazy" src="https://static.wixstatic.com/media/88b456_4196bc5f8ca84a4bae59fd176b2aea74~mv2.jpg" alt="Two slides — Tree/Tropical (14 ft high) and Blue Wave (17 ft high)"><figcaption><small>Summer</small>Two slides — Tree/Tropical (14 ft high) and Blue Wave (17 ft high)</figcaption></figure><figure class="plane e-e"><img loading="lazy" src="https://static.wixstatic.com/media/88b456_b45f0431f0884bc9a136d01d71d9589f~mv2.jpg" alt="10x10 pop-ups for food, drinks and check-in"><figcaption><small>Service station</small>10x10 pop-ups for food, drinks and check-in</figcaption></figure></div></div></section><section class="sec" style="background:var(--ink-2);border-block:1px solid var(--edge)"><div class="wrap"><div class="sec-head"><div><p class="eyebrow">Word of mouth</p><h2>People come<br>back to Shawn.</h2></div><p class="lede">The reason this business runs on repeat customers: he shows up on time, sets it up right, and the party just works.</p></div><div class="revs"><div class="plane rev"><span class="stars" aria-label="5 stars">★★★★★</span><blockquote>“Frosty Party is our go-to for bounce house fun. Cheap and always on time.”</blockquote><span class="who">Matt</span></div><div class="plane rev"><span class="stars" aria-label="5 stars">★★★★★</span><blockquote>“Sets everything up and was understanding on a later pickup.”</blockquote><span class="who">D.</span></div><div class="plane rev"><span class="stars" aria-label="5 stars">★★★★★</span><blockquote>“He is a very hardworking individual — always available, it seems like.”</blockquote><span class="who">Ryan</span></div></div><p class="note" style="margin-top:1.3rem">More on Instagram <a href="https://www.instagram.com/thepartypalace24/" target="_blank" rel="noopener">@Thepartypalace24</a>.</p><p style="margin-top:1rem"><a class="btn" href="https://g.page/r/CWg5g9lmnSYwEBM/review" target="_blank" rel="noopener">Leave us a Google Review</a></p></div></section><section class="sec"><div class="wrap"><div class="sec-head"><div><p class="eyebrow">Paperwork</p><h2>Five forms.<br>Nothing sprung on you.</h2></div><p class="lede">Shawn provides the agreements and setup details that apply to your event before your rental is finalized.</p></div><div class="papers"><div class="paper"><span class="p-name">Master Event Rental Agreement</span><span class="p-when">Every booking</span><span class="p-tag">From Shawn</span></div><div class="paper"><span class="p-name">Bounce House Rental Agreement</span><span class="p-when">When a castle is on the order</span><span class="p-tag">From Shawn</span></div><div class="paper"><span class="p-name">Water Slide Rental Agreement</span><span class="p-when">When a water slide is on the order</span><span class="p-tag">From Shawn</span></div><div class="paper"><span class="p-name">Delivery & Setup Authorization</span><span class="p-when">When nobody will be on site at delivery</span><span class="p-tag">From Shawn</span></div><div class="paper"><span class="p-name">Equipment Damage Incident Report</span><span class="p-when">If something goes wrong on site</span><span class="p-tag">From Shawn</span></div></div><p class="note" style="margin-top:1.2rem">Contact Shawn for the forms that apply to your booking.</p></div></section><section class="sec" id="request" style="background:var(--ink-2);border-block:1px solid var(--edge)"><div class="wrap req-wrap"><div><p class="eyebrow">Plan your party</p><h2>Check a date<br>first.</h2><p class="lede" style="margin-top:1.2rem">Send what you are thinking and Shawn will confirm availability and the delivery fee for your address. No deposit until the details are confirmed.</p><div class="plane" style="padding:1.3rem;margin-top:1.6rem"><p class="note"><b>Prefer a text?</b> <a href="sms:+19165442971" target="_top">Text (916) 544-2971</a> or <a href="tel:+19165442971" target="_top">call Shawn</a>.</p></div><div class="route">Email <b>sfpartypalace2024@gmail.com</b></div></div><div class="plane plane-lit req-panel brushed"><form id="reqForm"><div class="form-grid"><div class="field"><label for="pp-name">Your name *</label><input id="pp-name" name="name" type="text" placeholder="First and last" required=""></div><div class="field"><label for="pp-phone">Phone *</label><input id="pp-phone" name="phone" type="tel" placeholder="(916) 000-0000" required=""></div><div class="field"><label for="pp-email">Email *</label><input id="pp-email" name="email" type="email" placeholder="you@email.com" required=""></div><div class="field"><label for="pp-date">Event date *</label><input id="pp-date" name="date" type="date" placeholder="" required=""></div><div class="field"><label for="pp-address">Event address</label><input id="pp-address" name="address" type="text" placeholder="Street address"></div><div class="field"><label for="pp-city">City *</label><input id="pp-city" name="city" type="text" placeholder="Elk Grove, CA" required=""></div><div class="field"><label for="pp-delivery">Delivery time</label><input id="pp-delivery" name="delivery" type="time" placeholder=""></div><div class="field"><label for="pp-pickup">Pickup time</label><input id="pp-pickup" name="pickup" type="time" placeholder=""></div><div class="field span-2"><label for="pp-surface">Setup surface</label><input id="pp-surface" name="surface" placeholder="Grass, concrete, asphalt, indoors, or not sure"></div><div class="field span-2"><label for="pp-items">Rental items needed</label><textarea id="pp-items" name="items" placeholder="Your picks appear here automatically."></textarea></div><div class="field span-2"><label for="pp-notes">Special instructions</label><textarea id="pp-notes" name="notes" placeholder="Gate width, stairs, parking, theme — anything that changes setup."></textarea></div></div><div style="display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin-top:1.5rem"><button class="btn" type="submit">Prepare email request</button><span class="note">Opens your email app.<br>Press Send there to deliver your request.</span></div><p class="note" id="emailStatus" aria-live="polite" style="margin-top:1rem;min-height:44px">This is an availability inquiry. No payment or reservation is made here.</p><a id="emailLink" class="btn btn-ghost" href="mailto:sfpartypalace2024@gmail.com" target="_top">Open email to Shawn</a></form></div></div></section></main><footer class="foot"><div class="wrap"><div class="foot-grid"><div><a href="#top"><img src="https://static.wixstatic.com/media/88b456_152efe8481e74ecd81b55dac1dbac36f~mv2.png" alt="Frosty Party Palace & Rentals" style="height:78px;width:auto;margin-bottom:1rem"></a><p class="note">Parties make life brighter.<br>Sacramento, CA 95624</p><a href="https://www.instagram.com/thepartypalace24/" target="_blank" rel="noopener">Instagram @Thepartypalace24</a></div><div><h4>Rentals</h4><a href="#catalog">Bounce houses</a><a href="#catalog">Water slides</a><a href="#catalog">Canopies</a><a href="#catalog">Tables & chairs</a><a href="#catalog">Heaters & generators</a></div><div><h4>Booking</h4><a href="#reserve">Reservation table</a><a href="#request">Check a date</a><a href="#gallery">Real setups</a></div><div><h4>Contact</h4><a href="tel:+19165442971" target="_top">Call (916) 544-2971</a><a href="sms:+19165442971" target="_top">Text Shawn</a><a href="mailto:sfpartypalace2024@gmail.com" target="_top">sfpartypalace2024@gmail.com</a><a class="btn" style="margin-top:.8rem" href="https://g.page/r/CWg5g9lmnSYwEBM/review" target="_blank" rel="noopener">Leave us a Google Review</a></div></div><div class="foot-note"><a href="https://www.thefrostenterprise.com/" target="_top">A Frost Enterprises company</a><a href="#top">Back to top ↑</a><span>© 2026 Frosty Party Palace & Rentals · Sacramento, CA</span></div></div></footer><script>const items=[{"id":"princess","name":"Princess Bounce House","rate":100,"stock":1,"cat":"bounce","img":"https://static.wixstatic.com/media/88b456_e39c9919801145ceb5d46239d6e25356~mv2.jpg","spec":"Dry use only · approx. 13x13 ft footprint","desc":"The purple-and-pink castle. The one that gets requested by name at birthday parties."},{"id":"basketball","name":"Basketball Bounce House","rate":150,"stock":1,"cat":"bounce","img":"https://static.wixstatic.com/media/88b456_aafac15398ed434d860de2f0faea6070~mv2.jpg","spec":"Dry use only · interior hoop","desc":"Red and yellow castle with a basketball hoop inside. Older kids stay in it longer."},{"id":"waterslide","name":"30 ft Water Slide","rate":225,"stock":1,"cat":"bounce","img":"https://static.wixstatic.com/media/88b456_4661757eceae412fb77ed116f11ad11f~mv2.jpg","spec":"Tree/Tropical style · 14 ft tall · wet use · dual lane · splash pool","desc":"Tree/Tropical slide stands 14 ft tall with dual lanes into a splash pool. Needs a hose within reach."},{"id":"bluewave","name":"Blue Wave Water Slide","rate":350,"stock":1,"cat":"bounce","img":"https://static.wixstatic.com/media/88b456_4196bc5f8ca84a4bae59fd176b2aea74~mv2.jpg","spec":"17 ft tall · wet use · dual lane · deep splash pool","desc":"Seventeen feet tall with twin lanes down a curved wave wall into a wide plunge pool."},{"id":"c1010","name":"10x10 Canopy","rate":50,"stock":4,"cat":"shelter","img":"https://static.wixstatic.com/media/88b456_b45f0431f0884bc9a136d01d71d9589f~mv2.jpg","spec":"100 sq ft · pop-up frame","desc":"The workhorse. Food tables, drink stations, check-in, shade over the DJ."},{"id":"c1020","name":"10x20 Canopy","rate":100,"stock":1,"cat":"shelter","img":"https://static.wixstatic.com/media/88b456_e5c3f50ab35f4b7b9f31edc086bbd371~mv2.jpg","spec":"200 sq ft · seats approx. 20","desc":"Covers two long tables end to end. The right call for a mid-size dinner."},{"id":"c1030","name":"10x30 Canopy","rate":125,"stock":1,"cat":"shelter","img":"https://static.wixstatic.com/media/88b456_21c9a21af87b4d3e8dc658934d002786~mv2.jpg","spec":"300 sq ft · seats approx. 30","desc":"Long white tent with sidewalls. Strung with lights it carries the whole evening."},{"id":"c2020","name":"20x20 Canopy","rate":200,"stock":1,"cat":"shelter","img":"https://static.wixstatic.com/media/88b456_5a8a3f768b6d4702a605b7092a344f2b~mv2.jpg","spec":"400 sq ft · seats approx. 40","desc":"Square footprint, open sides, room for tables and a dance floor."},{"id":"t6","name":"6 ft Banquet Tables","rate":12,"stock":10,"cat":"seating","img":"https://static.wixstatic.com/media/88b456_1658f37545b044d58bc01097cb3b59b1~mv2.jpg","spec":"Seats 6–8 · black cover available","desc":"Standard rectangular banquet tables. Ten on hand."},{"id":"t5","name":"5 ft Round Tables","rate":18,"stock":4,"cat":"seating","img":"https://static.wixstatic.com/media/88b456_e5c3f50ab35f4b7b9f31edc086bbd371~mv2.jpg","spec":"Seats 8 · round","desc":"Round tables for a seated dinner. Four available."},{"id":"t4","name":"4 ft Tables","rate":8,"stock":6,"cat":"seating","img":"https://static.wixstatic.com/media/88b456_1658f37545b044d58bc01097cb3b59b1~mv2.jpg","spec":"Seats 4 · black covers available","desc":"Small tables for cake, gifts, sign-in or a dessert corner."},{"id":"cocktail","name":"Cocktail Tables","rate":null,"stock":6,"cat":"seating","img":"https://static.wixstatic.com/media/88b456_3aa4a8bdff0a4c5aafb80633f61fd02c~mv2.jpg","spec":"Standing height · black spandex cover","desc":"Standing-height tables with fitted black covers. Ask Shawn for the rate."},{"id":"chairs","name":"Folding Chairs","rate":2,"stock":80,"cat":"seating","img":"https://static.wixstatic.com/media/88b456_e5c3f50ab35f4b7b9f31edc086bbd371~mv2.jpg","spec":"Per chair · 80 owned","desc":"Seating for birthdays, dinners, and neighborhood celebrations."},{"id":"heater","name":"Outdoor Heaters","rate":50,"stock":10,"cat":"extras","img":"https://static.wixstatic.com/media/88b456_b7523513dfb2442aadaa81ba131287cd~mv2.jpg","spec":"Propane · per unit","desc":"Patio heaters for evening events. Ten on hand."},{"id":"gen","name":"Generator","rate":50,"stock":2,"cat":"extras","img":"https://static.wixstatic.com/media/88b456_98516921a9524ace84f8373abc7a6dce~mv2.jpg","spec":"Per unit · powers 1 inflatable","desc":"For parks and yards with no outlet in range. One generator per inflatable."},{"id":"photo","name":"Frosty Selfie Station","rate":150,"stock":1,"cat":"extras","img":"https://static.wixstatic.com/media/88b456_cf9aeed646af4db4adc7e0759888cc12~mv2.jpg","spec":"Ring light · instant share","desc":"Photo booth on a stand — guests shoot, then text or email themselves the photo."},{"id":"movie","name":"Inflatable Movie Screen","rate":null,"stock":1,"cat":"extras","img":"https://static.wixstatic.com/media/88b456_3aaac13c83cd486b8711505c70a3bdfa~mv2.jpg","spec":"Outdoor cinema · quote by event","desc":"Turns a backyard or driveway into a theater. Priced with the event — ask Shawn."}];const cart={};const byId=id=>items.find(i=>i.id===id);const money=n=>'$'+n.toLocaleString('en-US');function render(){let sub=0;let quoted=false;const keys=Object.keys(cart);document.getElementById('resBody').innerHTML=keys.map(id=>{const it=byId(id),q=cart[id];if(it.rate===null)quoted=true;else sub+=it.rate*q;return '<tr><td>'+it.name+' <button class="rm" type="button" data-rm="'+id+'" aria-label="Remove '+it.name+'">×</button></td><td class="n">'+(it.rate===null?'Quote':money(it.rate))+'</td><td class="n">'+q+'</td><td class="n">'+(it.rate===null?'Quote':money(it.rate*q))+'</td></tr>'}).join('');document.getElementById('resEmpty').hidden=keys.length>0;document.getElementById('tSub').textContent=money(sub)+(quoted?' + quoted items':'');document.getElementById('tBal').textContent=keys.length?money(Math.max(0,sub+25-50))+' minimum':'—';document.getElementById('pp-items').value=keys.map(id=>cart[id]+' x '+byId(id).name).join('\n');}function step(id,d){const it=byId(id),q=Math.max(0,Math.min(it.stock,(cart[id]||0)+d));if(q)cart[id]=q;else delete cart[id];const card=document.querySelector('[data-id="'+id+'"]');card.querySelector('output').textContent=q;card.classList.toggle('picked',q>0);card.querySelector('[data-step="-1"]').disabled=q===0;card.querySelector('[data-step="1"]').disabled=q===it.stock;render();}document.getElementById('catGrid').addEventListener('click',e=>{const b=e.target.closest('[data-step]');if(b)step(b.closest('[data-id]').dataset.id,Number(b.dataset.step));});document.getElementById('resBody').addEventListener('click',e=>{const b=e.target.closest('[data-rm]');if(b)step(b.dataset.rm,-999);});document.querySelector('.cat-filter').addEventListener('click',e=>{const b=e.target.closest('[data-f]');if(!b)return;document.querySelectorAll('[data-f]').forEach(x=>x.setAttribute('aria-pressed',String(x===b)));document.querySelectorAll('.item').forEach(c=>c.style.order=b.dataset.f==='all'||c.dataset.cat===b.dataset.f?'0':'1');document.getElementById('filterNote').textContent=b.dataset.f==='all'?'Browse all rentals. Choose a category to bring it to the top.':b.textContent+' shown first. All rentals remain below.';});document.addEventListener('click',e=>{const a=e.target.closest('a[href^="#"]');if(!a)return;const el=document.getElementById(a.getAttribute('href').slice(1));if(el){e.preventDefault();el.scrollIntoView({behavior:'smooth',block:'start'});}});const slides=[...document.querySelectorAll('.slide')],dots=document.getElementById('dots');let slide=0;dots.innerHTML=slides.map((_,i)=>'<button type="button" aria-label="Slide '+(i+1)+'" aria-current="'+(i===0)+'"></button>').join('');function go(n){slide=n;slides.forEach((s,i)=>{s.classList.toggle('on',i===n);dots.children[i].setAttribute('aria-current',String(i===n));});}dots.addEventListener('click',e=>{const b=e.target.closest('button');if(b)go([...dots.children].indexOf(b));});if(!matchMedia('(prefers-reduced-motion: reduce)').matches)setInterval(()=>go((slide+1)%slides.length),6200);const form=document.getElementById('reqForm');form.addEventListener('submit',e=>{e.preventDefault();if(!form.reportValidity())return;const data=new FormData(form);const body=[...data].map(([k,v])=>k.charAt(0).toUpperCase()+k.slice(1)+': '+v).join('\n\n');const href='mailto:sfpartypalace2024@gmail.com?subject='+encodeURIComponent('Party rental availability — '+data.get('date'))+'&body='+encodeURIComponent(body);document.getElementById('emailLink').href=href;document.getElementById('emailLink').textContent='Open my prepared email';document.getElementById('emailStatus').textContent='Your email is prepared below. Open it and press Send in your email app. Your date is not yet reserved.';document.getElementById('emailLink').focus();});</script></body></html>

bottom of page