         if (isNaN(borderWeight))
             borderWeight = 1;
         
-        
-        // position & size the content group
-        contentGroup.x = contentGroup.y = borderWeight;
-        contentGroup.width = unscaledWidth - borderWeight * 2;
-        contentGroup.height = unscaledHeight - borderWeight * 2;
+        contentGroup.setStyle("left", borderWeight);
+        contentGroup.setStyle("right", borderWeight);
+        contentGroup.setStyle("top", borderWeight);
+        contentGroup.setStyle("bottom", borderWeight);
         
         // update the bgRect stroke/fill
         if (hostComponent.borderStroke)

    {
        graphics.clear();
        
        var borderWeight:int = getStyle("borderWeight"); 
        var borderStyle:String = getStyle("borderStyle");
        var borderVisible:Boolean = getStyle("borderVisible");
        var cornerRadius:Number = getStyle("cornerRadius");
        
        if (hostComponent && hostComponent.borderStroke)
        {
            borderWeight = hostComponent.borderStroke.weight;
        }
        
        if (!borderVisible)
            borderWeight = 0;

	private var bgRect:Rect;
    private var insetPath:Path;
    private var rds:RectangularDropShadow;
    
    //--------------------------------------------------------------------------
    //
    //  Overridden methods
