Cassis Kaftan
Color:
- {
const colors = [...$root.children].map(child => child.dataset.color);
let list = []
let labeledGroups = []
const labels = []
// parse the sequence of labels/colors into an array of objects
for (let i = 0; i < labels.length; i++) {
if (i%2) {
list.push({
title: labels[i],
value: labels[i-1]
})
}
}
// merge objects with same title
list.forEach(el => {
if (labeledGroups.some(g => g.title.toLowerCase() == el.title.toLowerCase())) {
labeledGroups.find(g => g.title.toLowerCase() == el.title.toLowerCase()).values.push(el.value)
} else {
labeledGroups.push({
title: el.title,
values: [el.value]
})
}
})
// if any of the title is 'sale colors', move it to the bottom
if (labeledGroups.some(g => g.title.toLowerCase() == 'sale colors')) {
const classicColors = labeledGroups.find(g => g.title.toLowerCase() == 'sale colors')
labeledGroups = labeledGroups.filter(g => g.title.toLowerCase() != 'sale colors')
labeledGroups.unshift(classicColors)
}
// if any of the title is 'classic colors', move it to the top
if (labeledGroups.some(g => g.title.toLowerCase() == 'classic colors')) {
const classicColors = labeledGroups.find(g => g.title.toLowerCase() == 'classic colors')
labeledGroups = labeledGroups.filter(g => g.title.toLowerCase() != 'classic colors')
labeledGroups.unshift(classicColors)
}
// if any of the title is 'new seasonal colors', move it to the top
if (labeledGroups.some(g => g.title.toLowerCase() == 'new seasonal colors')) {
const classicColors = labeledGroups.find(g => g.title.toLowerCase() == 'new seasonal colors')
labeledGroups = labeledGroups.filter(g => g.title.toLowerCase() != 'new seasonal colors')
labeledGroups.unshift(classicColors)
}
// if any of the title contains 'new!', move it to the top
if (labeledGroups.some(g => g.title.toLowerCase().includes('new!'))) {
const classicColors = labeledGroups.find(g => g.title.toLowerCase().includes('new!'))
labeledGroups = labeledGroups.filter(g => g.title.toLowerCase().includes('new!') - 1)
labeledGroups.unshift(classicColors)
}
// add all html elements matching the color value
labeledGroups.forEach(group => {
group.items = []
group.values.forEach(value => {
group.items.push([...$root.children].filter(child => child.dataset.color == value)[0])
})
});
labeledGroups.unshift(groups[0])
labeledGroups.forEach(group => {
const el = document.createElement('li');
if (group.title) {
el.innerHTML = '
' + group.title + '
'; el.querySelector('p').className = 'sm-feat-cap mb-[5px] mt-[10px]'; } if (group.title == 'SALE COLORS') { el.innerHTML = '' + group.title + '
'; el.querySelector('p').className = 'sm-feat-cap text-red mb-[5px] mt-[10px]'; } el.innerHTML += 'Elevate your beach or poolside style with the Cassis Kaftan. Made in Italy from 100% linen, this kaftan is designed to keep you cool and comfortable whether you're lounging by the water or taking a stroll along the shore. With its oversized fit, this kaftan drapes beautifully on the body, offering a relaxed and flattering silhouette. The deep v-neckline and relaxed short sleeves add to its laid-back charm. Designed with practicality in mind, the Cassis Kaftan comes with handy pockets, perfect for keeping your essentials close by.
- Comes with pockets
- Seam along the back
- Made with 100% linen
- Machine wash cold and lay flat to dry, low iron or dry clean
- Made in Italy
- Chest 24'', Length 33''
- Deep v-neckline
- Relaxed short sleeve
- Side slits
- Mid thigh or knee length, depending on height
- Available in one size
- Models is 5’10 and wearing one size
Shipping:
For all US customers, we offer Expedited Shipping (2-business days) and Standard Shipping (2 - 5 business days). For international customers, we offer Standard Shipping (3 - 5 business days).Â
All orders are processed on the same day or the next business day (excluding weekends or holidays) from our Kansas warehouse. Please visit our shipping page for more details on tracking, import charges and more.
See all shipping details here.
Â
Returns & exchanges:
Exchanges and returns for store credit are free and are honored for 30 days from the date of receipt. Returns for refunds are honored for 30 days from the date of receipt and have a $7.99 shipping label fee.