Bali® Roller Shades: Blackout

33% off retail {{ model.price | currency: '$' }} {{ model.salePrice | currency: '$' }} + an extra 20% off use code MEMORIALDAY at checkout expires 5/31

5 stars from 5 reviews Read reviews Write a review

Blindsgalore Guarantee
 

wide tall x pick your size

Change the size:

Bali offers a variety of Roller Shades to suit your style and taste.  Stylish and functional, roller shades are available in an array of styles, colors, and opacities to softly filter light throughout the home.  Bali Roller Shades gives your home a contemporary look, with the added functionality of a roller shade that blocks damaging UV rays and reduces heat build up. Fabrics in this collection are room darkening with complete privacy. The streetside of the material is white for a neutral exterior appearance.

This style is also available in

  • Also available in this style
{{ selection = model.getActiveOption(section.TypeId);"" }}

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

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

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

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

{{ selection.Properties.StyleName }} {{ selection.Properties.StyleName ? ' ' : '' }} {{ selection.Properties.Name }}

{{ selection.Properties.Code }}
(add {{ selection.SalePrice | currency: '$' }})

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

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

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

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

{{ selection.Properties.StyleName }} {{ selection.Properties.StyleName ? ' ' : '' }} {{ selection.Properties.Name }}

{{ selection.Properties.Code }}
(add {{ selection.SalePrice | currency: '$' }})

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

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

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

{{ typeNameDispaly = (section.TypeName == "Swatch") ? "product color" : (section.TypeName == "Room") ? "room selection" : section.TypeName;"" }} Learn more about {{typeNameDispaly | 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:

{{ typeNameDispaly = (section.TypeName == "Swatch") ? "product color" : (section.TypeName == "Room") ? "room selection" : section.TypeName;"" }} Learn more about {{typeNameDispaly | 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)

{{ typeNameDispaly = (section.TypeName == "Swatch") ? "product color" : (section.TypeName == "Room") ? "room selection" : section.TypeName;"" }} Learn more about {{typeNameDispaly | 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');"" }}

Shown with {{ activeSwatch.Caption }} swatch

{{ activeAccentColor.Caption }}{{ activeSwatch.Caption }}
    {{ 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;"" }}
    {{ opt60032e0248534f21b9c66c0c22b03245 = (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

{{ typeNameDispaly = (section.TypeName == "Swatch") ? "product color" : (section.TypeName == "Room") ? "room selection" : section.TypeName;"" }} Learn more about {{typeNameDispaly | 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

{{ typeNameDispaly = (section.TypeName == "Swatch") ? "product color" : (section.TypeName == "Room") ? "room selection" : section.TypeName;"" }} Learn more about {{typeNameDispaly | 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 bar option

{{ typeNameDispaly = (section.TypeName == "Swatch") ? "product color" : (section.TypeName == "Room") ? "room selection" : section.TypeName;"" }} Learn more about {{typeNameDispaly | 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

{{ typeNameDispaly = (section.TypeName == "Swatch") ? "product color" : (section.TypeName == "Room") ? "room selection" : section.TypeName;"" }} Learn more about {{typeNameDispaly | 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:

{{ typeNameDispaly = (section.TypeName == "Swatch") ? "product color" : (section.TypeName == "Room") ? "room selection" : section.TypeName;"" }} Learn more about {{typeNameDispaly | 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;"" }}
    {{ opt4c427a5e544e44ccb502e33cbf906537 = (option.Options | orderBy: 'SortOrder');"" }}

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

{{ typeNameDispaly = (section.TypeName == "Swatch") ? "product color" : (section.TypeName == "Room") ? "room selection" : section.TypeName;"" }} Learn more about {{typeNameDispaly | 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:

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

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

{{ typeNameDispaly = (section.TypeName == "Swatch") ? "product color" : (section.TypeName == "Room") ? "room selection" : section.TypeName;"" }} Learn more about {{typeNameDispaly | 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;"" }}
    {{ opt0d74c5fd594340f293c0ba213a43b321 = (option.Options | orderBy: 'SortOrder');"" }}
Please address the following errors to continue: You're Done!

Write a Review for Bali® Roller Shades: Blackout

Product Rating

Tell other customers about yourself

Include a Photo

Add Photo

Please tell us what you think about Blindsgalore


Customer Reviews of Bali® Roller Shades: Blackout

There are no reivews.

Write a Review

{{review.Title}}

By {{review.Nickname}} from {{review.Location}} on {{review.Date | date:"MMMM d, yyyy"}}

read more

Construction
Value
Ease of Installment

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

For details on a particular warranty view our warranty page.

How to Install

How to Install - Inside Mount

download install guide

How to Install - Outside Mount

download install guide

Smart Pull - Inside Mount Installation

download install guide

Smart Pull - Outside Mount Installation

download install guide

Motorized Installation

download install guide
  • The fabric on roller shades will be narrower than the width ordered to accommodate the hardware at each end of the roller shade. [GUIDE-ROLLER]
  • Basics and Rowland styles are complete blackout material; Manhattan is a room darkening material
  • Basics is made with 3 ply vinyl and 1 ply fiberglass and is white to the street
  • Rowland shades are made from 100% polyester with acrylic foamed backing and is white to the street
  • Manhattan Room Darkening is 100% polyester that is neutral to the street
  • Order an optional valance for a more finished look
  • Bali roller shade fabrics are perfect for any room, casual or elegant
  • Limited Lifetime Warranty

Specifications

  • Width 14" - 128"
  • Height 13" - 144"
  • Minimum inside-mount depth 4 1/8"
  • Minimum flush-mount depth 4 1/8"
  • Minimum outside-mount space 2 5/8"

Please note the following exceptions to the above specifications

Cordless (Spring Assist) Lift

  • Width 18" - 78"
  • Height 13" - 120"

Large Cassette Valance

  • Minimum inside-mount depth 1 3/4"
  • Minimum flush-mount depth 5 1/2"

Motorized Lift

  • Width 16" - 79"
  • Minimum inside-mount depth 3/4"
  • Minimum flush-mount depth 5"

Smart Pull Lift

  • Width 14" - 78"
  • Height 13" - 120"
  • Minimum inside-mount depth 2"
  • Minimum flush-mount depth 2 1/2"

Square Corner Valance

  • Width 14" - 126"
  • Minimum inside-mount depth 1 3/8"
  • Minimum flush-mount depth 3 1/8"

Need Help?

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