// Universally supported properties.
//
// This list was constructed by filtering CSS2.1 properties against
// CSSPropertyNames.in
//
// TODO(sra): Remove this file once we have samples from all supported browsers.

backgroundAttachment
backgroundColor
backgroundImage
backgroundPosition
backgroundRepeat
background
borderCollapse
borderColor
borderSpacing
borderStyle
borderTop
borderRight
borderBottom
borderLeft
borderTopColor
borderRightColor
borderBottomColor
borderLeftColor
borderTopStyle
borderRightStyle
borderBottomStyle
borderLeftStyle
borderTopWidth
borderRightWidth
borderBottomWidth
borderLeftWidth
borderWidth
border
bottom
captionSide
clear
clip
color
content
counterIncrement
counterReset
cursor
direction
display
emptyCells
float
fontFamily
fontSize
fontStyle
fontVariant
fontWeight
font
height
left
letterSpacing
lineHeight
listStyleImage
listStylePosition
listStyleType
listStyle
marginRight
marginLeft
marginTop
marginBottom
margin
maxHeight
maxWidth
minHeight
minWidth
orphans
outlineColor
outlineStyle
outlineWidth
outline
overflow
paddingTop
paddingRight
paddingBottom
paddingLeft
padding
pageBreakAfter
pageBreakBefore
pageBreakInside
position
quotes
right
tableLayout
textAlign
textDecoration
textIndent
textTransform
top
unicodeBidi
verticalAlign
visibility
whiteSpace
widows
width
wordSpacing
zIndex
