Princess Party Balloon Garland Kit

from $50.00

🎈 Choose your kit size, delivery method, and colors.

πŸ– Want custom colors? Select "Custom Colors" as your color option, then type your 3 color choices in the β€œAdd a note” box at checkout. You can choose from any of our 35+ colors listed in the chart below.

πŸ“¦ Shipping adds $10. You'll select Pickup or Shipping as a variant.

🎨 Default Color Palette: Tuftex Blossom (Pink), Kalisan Macaron Lilac (Lavender), Tuftex Fog (Blue)

Color Choice:
Kit Size:
Delivery Method:

🎈 Choose your kit size, delivery method, and colors.

πŸ– Want custom colors? Select "Custom Colors" as your color option, then type your 3 color choices in the β€œAdd a note” box at checkout. You can choose from any of our 35+ colors listed in the chart below.

πŸ“¦ Shipping adds $10. You'll select Pickup or Shipping as a variant.

🎨 Default Color Palette: Tuftex Blossom (Pink), Kalisan Macaron Lilac (Lavender), Tuftex Fog (Blue)

<div class="color-customizer">

<h3>Customize Your 3 Balloon Colors</h3>

<p>We've pre-selected our signature colors for you, but you can swap any by clicking below. Your choices will automatically be added to your order notes at checkout.</p>

<div class="color-pick-group">

<label>Color 1:</label>

<div class="swatch-container" id="color1-swatches"></div>

</div>

<div class="color-pick-group">

<label>Color 2:</label>

<div class="swatch-container" id="color2-swatches"></div>

</div>

<div class="color-pick-group">

<label>Color 3:</label>

<div class="swatch-container" id="color3-swatches"></div>

</div>

<input type="hidden" id="finalColorNote" name="note" />

</div>

<script>

const colorPalette = [

"#000000", "#21774F", "#27A243", "#4A6B60", "#6F4438", "#75A9D1", "#84AFC2", "#91A883",

"#96BA3F", "#A2CD3A", "#B63A3A", "#B7B2AD", "#B9CEC2", "#C0C0C0", "#C57A84", "#C5DCC4",

"#C7B7E2", "#CC6652", "#D1DBE1", "#D6B257", "#D7A89E", "#D7B494", "#E01878", "#E6E61C",

"#EECED2", "#EFEAF4", "#F3CB2E", "#F4EAD5", "#F7727F", "#F7D9C4", "#F8AFC1", "#F9B8D0",

"#FBB692", "#FDD9DA", "#FDF6B2"

];

const selectedColors = {

color1: "#F8AFC1", // Blossom (Pink)

color2: "#C7B7E2", // Lilac

color3: "#75A9D1" // Fog

};

function renderSwatches(containerId, key) {

const container = document.getElementById(containerId);

colorPalette.forEach(hex => {

const swatch = document.createElement("div");

swatch.classList.add("color-swatch");

swatch.style.backgroundColor = hex;

swatch.dataset.color = hex;

if (selectedColors[key] === hex) {

swatch.classList.add("selected");

}

swatch.addEventListener("click", () => {

selectedColors[key] = hex;

container.querySelectorAll(".color-swatch").forEach(s => s.classList.remove("selected"));

swatch.classList.add("selected");

updateNoteField();

});

container.appendChild(swatch);

});

}

function updateNoteField() {

const note = `Color 1: ${selectedColors.color1}, Color 2: ${selectedColors.color2}, Color 3: ${selectedColors.color3}`;

const finalNote = document.getElementById("finalColorNote");

finalNote.value = note;

// Add note value to real note textarea if it exists on cart page

const realNote = document.querySelector("textarea[name='note']");

if (realNote) realNote.value = note;

}

renderSwatches("color1-swatches", "color1");

renderSwatches("color2-swatches", "color2");

renderSwatches("color3-swatches", "color3");

updateNoteField();

</script>