Bali® DiamondCell® Cellular Shades: Midnight shown in Light Avocado
Bali® DiamondCell® Cellular Shades: Midnight shown in Light Avocado

Bali Blackout Cellular Shades

$110.03 $60.52 you save 45% use code STAR04194 at checkout until 4/29

Blindsgalore Guarantee
 

Change the size:

Bali Blackout Cellular Shades are energy efficient, insulating rooms from heat and cold, absorbing outside noise, and protecting your furniture and artwork from damaging UV rays. Bali cellular shades have blackout opacity which prohibits light from shining through and provides maximum privacy. Blackout fabric is thicker and stronger than other cellular fabrics. Blackout material is coated white on the inside of the shade.

{{ selection = model.getActiveOption(section.TypeId);"" }} {{ ::sectIndex = $index;"" }}

{{ ::model.sectionNumber($index) }} Select a room:

{{ ::typeNameDisplay = (section.TypeName == "Swatch") ? "product color" : (section.TypeName == "Room") ? "room selection" : section.TypeName;"" }} Learn more about {{::typeNameDisplay | lowercase}}
{{option.Caption}}

{{ ::model.sectionNumber($index) }} Select a {{::section.TypeId == 'trt.swc.alt' ? 'secondary ' : ''}}product color: ({{::section.Options.length}} available)

{{ ::typeNameDisplay = (section.TypeName == "Swatch") ? "product color" : (section.TypeName == "Room") ? "room selection" : section.TypeName;"" }} Learn more about {{::typeNameDisplay | lowercase}}

{{::items[0].Properties.StyleName}}

{{ ::swatchOptions = (items | orderBy: ['SortOrder', 'Caption']);"" }}

{{ ::model.sectionNumber($index) }} True Paint Match

{{ selection = selection || section.Options[0];"" }} {{ paintColorName = selection.Properties.Brand + ' ' + selection.Properties.ColorName;""}}
{{ selection.Caption }}

Your match is

{{paintColorName}}

or match to another paint color

Blindsgalore stands behind their True Paint Matchmaking skills. If you are not 100% satisfied with the color of the shade(s) you receive we will replace it with any other colored True Paint Matchmaker Shade. *

learn more

{{ ::model.sectionNumber($index) }} Select a {{::section.TypeId == 'trt.swc.alt' ? 'secondary ' : ''}}product color: ({{::section.Options.length}} available)

{{ ::typeNameDisplay = (section.TypeName == "Swatch") ? "product color" : (section.TypeName == "Room") ? "room selection" : section.TypeName;"" }} Learn more about {{::typeNameDisplay | lowercase}}

{{::items[0].Properties.StyleName}}

{{ ::swatchOptions = (items | orderBy: ['SortOrder', 'Caption']);"" }}

{{ ::model.sectionNumber($index) }} Select a {{::section.TypeName.toLowerCase()}} option:

{{ ::typeNameDisplay = (section.TypeName == "Swatch") ? "product color" : (section.TypeName == "Room") ? "room selection" : section.TypeName;"" }} Learn more about {{::typeNameDisplay | lowercase}}
{{ swatch = model.getActiveOption('trt.swc');"" }} {{ activeOption = model.getActiveOption(activeOptionOverride) || model.getActiveOption(section.TypeId);""}}
{{ activeOption.Caption }}

{{ model.getActiveOption(section.TypeId).Caption }}

{{ activeOptionOverride = null;"" }}
  • {{ ::inputType = section.AllowMultiple ? 'checkbox' : 'radio';"" }} {{ ::inputName = !section.AllowMultiple ? (section.SafeTypeId + '_' + $index) : option.Id;"" }} {{ ::dataKey = section.AllowMultiple ? option.Properties.TypeId : section.TypeId;""}} {{ ::checkedVal = section.AllowMultiple ? true : option.Id;"" }}
    Best for Kids
    {{ ::posOpts = (option.Options | filter: model.typeIdContains('.pos'));"" }} {{ ::hmaOpts = (option.Options | filter: { TypeId: 'hma'}:true);"" }} {{ ::pwrOpts = (option.Options | filter: { TypeId: 'pwr'}:true);"" }} {{ ::rmtOpts = (option.Options | filter: { TypeId: 'rmt'}:true);"" }} {{ headrailType = model.data['hrl.typ'];"" }}

{{ ::model.sectionNumber($index) }} Select a {{::section.TypeName.toLowerCase()}} option:

{{ ::typeNameDisplay = (section.TypeName == "Swatch") ? "product color" : (section.TypeName == "Room") ? "room selection" : section.TypeName;"" }} Learn more about {{::typeNameDisplay | lowercase}}
{{ swatch = model.getActiveOption('trt.swc');"" }} {{ activeOption = model.getActiveOption(activeOptionOverride) || model.getActiveOption(section.TypeId);""}}
{{ activeOption.Caption }}

{{ model.getActiveOption(section.TypeId).Caption }}

{{ activeOptionOverride = null;"" }}
  • {{ ::inputType = section.AllowMultiple ? 'checkbox' : 'radio';"" }} {{ ::inputName = !section.AllowMultiple ? (section.SafeTypeId + '_' + $index) : option.Id;"" }} {{ ::dataKey = section.AllowMultiple ? option.Properties.TypeId : section.TypeId;""}} {{ ::checkedVal = section.AllowMultiple ? true : option.Id;"" }}
    Best for Kids
    {{ ::posOpts = (option.Options | filter: model.typeIdContains('.pos'));"" }} {{ ::hmaOpts = (option.Options | filter: { TypeId: 'hma'}:true);"" }} {{ ::pwrOpts = (option.Options | filter: { TypeId: 'pwr'}:true);"" }} {{ ::rmtOpts = (option.Options | filter: { TypeId: 'rmt'}:true);"" }} {{ headrailType = model.data['hrl.typ'];"" }}
{{ ::accentColors = model.getDeepOptions(section.TypeId, 'trt.acc.clr');"" }}

{{ ::model.sectionNumber($index) }} Select a decorative accent: ({{::accentColors.length}} available)

{{ ::typeNameDisplay = (section.TypeName == "Swatch") ? "product color" : (section.TypeName == "Room") ? "room selection" : section.TypeName;"" }} Learn more about {{::typeNameDisplay | lowercase}}
{{ activeOptionOverride = model.data['trt.acc.stl'] ? 'trt.acc.stl' : null;""}} {{ swatch = model.getActiveOption('trt.swc');"" }} {{ activeOption = model.getActiveOption(activeOptionOverride) || model.getActiveOption(section.TypeId);""}}
{{ activeOption.Caption }}

{{ model.getActiveOption(section.TypeId).Caption }}

{{ activeOptionOverride = null;"" }} {{ activeSwatch = model.getActiveOption('trt.swc');"" }} {{ activeAccentColor = model.getActiveOption('trt.acc.clr');"" }}
    {{ ::accentStyles = model.getDeepOptions(section.TypeId, 'trt.acc.stl');"" }}
  • {{ ::inputName = section.TypeId + '_' + $index;"" }}
  • {{ ::inputName = 'trt.acc.stl_' + $index;"" }} {{ ::hiddenAccTypeId = section.Options[0].Id;""}}
{{ ::accentSwatches = (accentColors | orderBy: 'SortOrder');"" }}

{{ ::model.sectionNumber($index) }} Select a size

{{ swatch = model.getActiveOption('trt.swc');"" }} {{ activeOption = model.getActiveOption(activeOptionOverride) || model.getActiveOption(section.TypeId);""}}
{{ activeOption.Caption }}

{{ model.getActiveOption(section.TypeId).Caption }}

{{ activeOptionOverride = null;"" }}
  • {{ ::inputType = section.AllowMultiple ? 'checkbox' : 'radio';"" }} {{ ::inputName = section.AllowMultiple ? (section.SafeTypeId + '_' + $index) : option.Id;"" }} {{ ::dataKey = section.AllowMultiple ? (option.Properties.TypeId + '_' + option.Id) : section.TypeId;""}} {{ ::checkedVal = section.AllowMultiple ? true : option.Id;"" }}
    {{model.data[items[0].TypeId]=items[0].Id;""}}
    • {{ ::items[0].Properties.TypeName}}: {{ ::items[0].Caption }}

    {{::items[0].Properties.CaptionSmall}}

    {{::items[0].Caption}}
    Best for Kids
    {{ ::subDataKey = section.AllowMultiple ? option.Properties.TypeId : option.Options[0].TypeId;"" }}
    {{ ::opt2792b3ad843c4467836ff7b168fcb735 = (option.Options | orderBy: 'SortOrder');"" }}
{{ ::widthKeyWhole = 'siz.' + num + '.width_whole';"" }} {{ ::widthKeyFrac = 'siz.' + num + '.width_fraction';"" }} {{ ::heightKeyWhole = 'siz.' + num + '.height_whole';"" }} {{ ::heightKeyFrac = 'siz.' + num + '.height_fraction';"" }}

{{selection.Id == 'hrl.typ.01' ? 'Single' : 'Left'}} Blind

Center Blind

Right Blind

{{ ::model.sectionNumber($index) }} Your existing window

{{ ::typeNameDisplay = (section.TypeName == "Swatch") ? "product color" : (section.TypeName == "Room") ? "room selection" : section.TypeName;"" }} Learn more about {{::typeNameDisplay | lowercase}}
{{ swatch = model.getActiveOption('trt.swc');"" }} {{ activeOption = model.getActiveOption(activeOptionOverride) || model.getActiveOption(section.TypeId);""}}
{{ activeOption.Caption }}

{{ model.getActiveOption(section.TypeId).Caption }}

{{ activeOptionOverride = null;"" }}

To best configure your shutter, please tell us about your existing window.

{{ ::model.sectionNumber($index) }} Select a hem option

{{ ::typeNameDisplay = (section.TypeName == "Swatch") ? "product color" : (section.TypeName == "Room") ? "room selection" : section.TypeName;"" }} Learn more about {{::typeNameDisplay | lowercase}}
{{ swatch = model.getActiveOption('trt.swc');"" }} {{ activeOption = model.getActiveOption(activeOptionOverride) || model.getActiveOption(section.TypeId);""}}
{{ activeOption.Caption }}

{{ model.getActiveOption(section.TypeId).Caption }}

{{ activeOptionOverride = null;"" }}
  • {{ ::styleOptions = (option.Options | filter: { TypeId: 'trt.hem.stl'}:true);"" }} {{ ::rodOptions = (option.Options | filter: { TypeId: 'trt.hem.rod'}:true);"" }} {{ ::trimOptions = (option.Options | filter: { TypeId: 'trt.hem.trm'}:true);"" }} {{ activeHemStyle = model.getActiveOption('trt.hem.stl');""}} {{ activeHemRod = model.getActiveOption('trt.hem.rod');""}}
    {{ activeHemStyle.Caption }}
    {{ activeHemRod.Caption }}

    • Hem Trim:

    {{ ::hemTrimOptions = (trimOptions | orderBy: 'SortOrder');"" }}

{{ ::model.sectionNumber($index) }} Select a pull option:

{{ ::typeNameDisplay = (section.TypeName == "Swatch") ? "product color" : (section.TypeName == "Room") ? "room selection" : section.TypeName;"" }} Learn more about {{::typeNameDisplay | lowercase}}
{{ swatch = model.getActiveOption('trt.swc');"" }} {{ activeOption = model.getActiveOption(activeOptionOverride) || model.getActiveOption(section.TypeId);""}}
{{ activeOption.Caption }}

{{ model.getActiveOption(section.TypeId).Caption }}

{{ activeOptionOverride = null;"" }}
  • {{ ::materialOptions = (option.Options | filter: { TypeId: 'trt.pul.mtr'}:true);"" }} {{ ::colorOptions = (option.Options | filter: { TypeId: 'trt.pul.clr'}:true);"" }}
    {{model.data['trt.pul.mtr']=materialOptions[0].Id;""}} • Pull Material: {{ ::materialOptions[0].Caption | raw }}

    • Pull Color:

    {{ ::pullColorOptions = (colorOptions | orderBy: 'SortOrder');"" }}

{{ ::model.sectionNumber($index) }} Select a bar option

{{ ::typeNameDisplay = (section.TypeName == "Swatch") ? "product color" : (section.TypeName == "Room") ? "room selection" : section.TypeName;"" }} Learn more about {{::typeNameDisplay | lowercase}}
{{ swatch = model.getActiveOption('trt.swc');"" }} {{ activeOption = model.getActiveOption(activeOptionOverride) || model.getActiveOption(section.TypeId);""}}
{{ activeOption.Caption }}

{{ model.getActiveOption(section.TypeId).Caption }}

{{ activeOptionOverride = null;"" }}
  • {{ ::barPlacementOptions = (option.Options | filter: { TypeId: 'trt.bar.plc'}:true);"" }} {{ ::barColorOptions = (option.Options | filter: { TypeId: 'trt.bar.clr'}:true);"" }} {{ activeBarPlacement = model.getActiveOption('trt.bar.plc');""}} {{ activeBarColor = model.getActiveOption('trt.bar.clr');""}}
    {{model.data['trt.bar.plc']=barPlacementOptions[0].Id;""}}
    • {{ ::barPlacementOptions[0].Properties.TypeName}}: {{ ::barPlacementOptions[0].Caption }}

    • Bar Color:

    {{ ::barColorOptions = (barColorOptions | orderBy: 'SortOrder');"" }}

{{ ::model.sectionNumber($index) }} Select a heading option

{{ ::typeNameDisplay = (section.TypeName == "Swatch") ? "product color" : (section.TypeName == "Room") ? "room selection" : section.TypeName;"" }} Learn more about {{::typeNameDisplay | lowercase}}
{{ swatch = model.getActiveOption('trt.swc');"" }} {{ activeOption = model.getActiveOption(activeOptionOverride) || model.getActiveOption(section.TypeId);""}}
{{ activeOption.Caption }}

{{ model.getActiveOption(section.TypeId).Caption }}

{{ activeOptionOverride = null;"" }}
{{ prevVal = model.data[section.TypeId];"" }}
  • {{ ::styleOptions = (option.Options | filter: { TypeId: 'trt.hdg.stl'}:true);"" }} {{ ::headerOptions = (option.Options | filter: { TypeId: 'trt.hdg.hdr'}:true);"" }} {{ ::returnOptions = (option.Options | filter: { TypeId: 'trt.hdg.rtn'}:true);"" }} {{ ::implicitStyle = styleOptions.length == 1 ?styleOptions[0].Id : null;"" }}
    {{model.data['trt.hdg.stl']=styleOptions[0].Id;""}} • Heading Style: {{ ::styleOptions[0].Caption }}

{{ ::model.sectionNumber($index) }} Select a {{section.TypeName.toLowerCase()}} option:

{{ ::typeNameDisplay = (section.TypeName == "Swatch") ? "product color" : (section.TypeName == "Room") ? "room selection" : section.TypeName;"" }} Learn more about {{::typeNameDisplay | lowercase}}
{{ swatch = model.getActiveOption('trt.swc');"" }} {{ activeOption = model.getActiveOption(activeOptionOverride) || model.getActiveOption(section.TypeId);""}}
{{ activeOption.Caption }}

{{ model.getActiveOption(section.TypeId).Caption }}

{{ activeOptionOverride = null;"" }}
  • {{ ::inputType = section.AllowMultiple ? 'checkbox' : 'radio';"" }} {{ ::inputName = section.AllowMultiple ? (section.SafeTypeId + '_' + $index) : option.Id;"" }} {{ ::dataKey = section.AllowMultiple ? (option.Properties.TypeId + '_' + option.Id) : section.TypeId;""}} {{ ::checkedVal = section.AllowMultiple ? true : option.Id;"" }}
    {{model.data[items[0].TypeId]=items[0].Id;""}}
    • {{ ::items[0].Properties.TypeName}}: {{ ::items[0].Caption }}

    {{::items[0].Properties.CaptionSmall}}

    {{::items[0].Caption}}
    Best for Kids
    {{ ::subDataKey = section.AllowMultiple ? option.Properties.TypeId : option.Options[0].TypeId;"" }}
    {{ ::opt1db52f5b0fc5435b8fb06a69dea0678b = (option.Options | orderBy: 'SortOrder');"" }}

{{ ::model.sectionNumber($index) }} Select a {{::section.TypeName.toLowerCase()}} option:

{{ ::typeNameDisplay = (section.TypeName == "Swatch") ? "product color" : (section.TypeName == "Room") ? "room selection" : section.TypeName;"" }} Learn more about {{::typeNameDisplay | lowercase}}
{{ swatch = model.getActiveOption('trt.swc');"" }} {{ activeOption = model.getActiveOption(activeOptionOverride) || model.getActiveOption(section.TypeId);""}}
{{ activeOption.Caption }}

{{ model.getActiveOption(section.TypeId).Caption }}

{{ activeOptionOverride = null;"" }}
  • {{ ::styleOptions = (option.Options | filter: { TypeId: 'val.stl'}:true);"" }} {{ ::sizeOptions = (option.Options | filter: { TypeId: 'val.siz'}:true);"" }} {{ ::endOptions = (option.Options | filter: { TypeId: 'val.end'}:true);"" }} {{ ::colorOptions = (option.Options | filter: { TypeId: 'val.clr'}:true);"" }}
    {{model.data['val.siz']=sizeOptions[0].Id;""}} • Valance size: {{::sizeOptions[0].Caption | raw}}

    • Valance End:

    {{ ::valanceEndOptions = (endOptions | orderBy: 'SortOrder');"" }}

    • Valance Color:

    {{ ::valanceColorOptions = (colorOptions | orderBy: 'SortOrder');"" }}

{{ ::model.sectionNumber($index) }} Optional information:

{{ ::typeNameDisplay = (section.TypeName == "Swatch") ? "product color" : (section.TypeName == "Room") ? "room selection" : section.TypeName;"" }} Learn more about {{::typeNameDisplay | lowercase}}

{{ ::model.sectionNumber($index) }} Select a {{section.TypeName.toLowerCase()}} option:

{{ ::typeNameDisplay = (section.TypeName == "Swatch") ? "product color" : (section.TypeName == "Room") ? "room selection" : section.TypeName;"" }} Learn more about {{::typeNameDisplay | lowercase}}
{{ swatch = model.getActiveOption('trt.swc');"" }} {{ activeOption = model.getActiveOption(activeOptionOverride) || model.getActiveOption(section.TypeId);""}}
{{ activeOption.Caption }}

{{ model.getActiveOption(section.TypeId).Caption }}

{{ activeOptionOverride = null;"" }}
  • {{ ::inputType = section.AllowMultiple ? 'checkbox' : 'radio';"" }} {{ ::inputName = section.AllowMultiple ? (section.SafeTypeId + '_' + $index) : option.Id;"" }} {{ ::dataKey = section.AllowMultiple ? (option.Properties.TypeId + '_' + option.Id) : section.TypeId;""}} {{ ::checkedVal = section.AllowMultiple ? true : option.Id;"" }}
    {{model.data[items[0].TypeId]=items[0].Id;""}}
    • {{ ::items[0].Properties.TypeName}}: {{ ::items[0].Caption }}

    {{::items[0].Properties.CaptionSmall}}

    {{::items[0].Caption}}
    Best for Kids
    {{ ::subDataKey = section.AllowMultiple ? option.Properties.TypeId : option.Options[0].TypeId;"" }}
    {{ ::opt72c1baf012e142e8bb44d3bcb1e49872 = (option.Options | orderBy: 'SortOrder');"" }}
Please address the following errors to continue: You're Done!

Every custom ordered window treatment purchased is backed by a factory warranty.

For details on a particular warranty view our warranty page.

How to Install

download install guide

Cordless Installation

download install guide

Continuous Cord Loop Installation

download install guide

Motorized Installation

download install guide
  • * with Midnight double cell fabric installed on double pane low-E window. Midnight single cell fabric values are 20.91% / 56%, Legacy fabric values are 21.21% / 58%
  • Legacy 3/4" fabric with standard cord lock requires 1 1/8" minimum mounting depth and 2 1/8" flush mount depth; headrail is 2" x 7/8"
  • Midnight fabric is limited to 86" width and 96" height; Legacy available up to 144" wide and 144" height
  • Blackout fabrics offer a high degree of privacy and light control
  • Streetside is neutral
  • Insulation R-Values: Midnight Single Cell 4.55, Midnight Double Cell 4.76, Legacy 3/4" Single Cell 4.55 (based on Double Pane Low-E Windows, the higher the value the more insulation provided)
  • Color coordinated components
  • Installation brackets included
  • Lifetime Limited Warranty

Specifications

  • Width 10" - 144"
  • Height 9" - 144"
  • Minimum inside-mount depth 5/8"
  • Minimum flush-mount depth 1 7/8"
  • Minimum outside-mount space 7/8"
  • Headrail depth and height 1 9/16" x 11/16"

Please note the following exceptions to the above specifications

Bottom Up/Top Down Lift

  • Width 10" - 96"
  • Height 9" - 96"
  • Minimum inside-mount depth 5/8"
  • Minimum flush-mount depth 1 7/8"
  • Minimum outside-mount space 7/8"
  • Headrail depth and height 1 9/16" x 11/16"

Continuous Cord Lift

  • Width 18" - 144"
  • Height 9" - 144"
  • Minimum inside-mount depth 1/2"
  • Minimum flush-mount depth 2 1/8"
  • Headrail depth and height 2" x 1 1/2"

Cordless Bottom Up/Top Down Lift

  • Width 15" - 96"
  • Height 9" - 86"
  • Minimum inside-mount depth 1/2"
  • Minimum flush-mount depth 2 1/8"
  • Headrail depth and height 2" x 1 1/2"

Cordless Lift

  • Width 9" - 120"
  • Height 9" - 86"
  • Minimum inside-mount depth 1/2"
  • Minimum flush-mount depth 2 1/8"
  • Headrail depth and height 2" x 1 1/2"

Motorized Lift

  • Width 20" - 144"
  • Height 9" - 144"
  • Minimum inside-mount depth 3/4"
  • Minimum flush-mount depth 3 1/4"
  • Minimum outside-mount space 1 1/2"
  • Headrail depth and height 2" x 1 1/2"

Need Help?

Do It Yourself Guides and Learn About an In-Home Consultation.