diff --git a/bigbluebutton-client/branding/default/style/css/BBBBlack.css b/bigbluebutton-client/branding/default/style/css/BBBBlack.css
new file mode 100755
index 0000000000000000000000000000000000000000..39ff535af8320b6ebc9ee277a3728e9828a1725a
--- /dev/null
+++ b/bigbluebutton-client/branding/default/style/css/BBBBlack.css
@@ -0,0 +1,610 @@
+Application {
+  backgroundColor: #000000;
+}
+
+ApplicationControlBar {
+  highlightAlphas: 0.1, 0;
+  fillAlphas: 0, 0;
+  fillColors: #000000, #000000;
+  backgroundColor: #000000;
+  backgroundAlpha: 1;
+  cornerRadius: 0;
+  dropShadowEnabled: true;
+  shadowDistance: 1;
+  shadowDirection: center;
+  dropShadowColor: #000000;
+}
+
+Panel {
+  borderColor: #000000;
+  borderAlpha: 1;
+  shadowDistance: 1;
+  dropShadowColor: #000000;
+  titleStyleName: "mypanelTitle";
+}
+
+.mypanelTitle {
+  color: #444444;
+  fontFamily: Arial;
+  fontSize: 12;
+}
+
+.whiteboardToolbarStyle {
+  backgroundColor: #000000;
+  cornerRadius: 5;
+  borderStyle: solid;
+  borderThickness: 1;
+  paddingBottom: 3;
+  paddingTop: 3;
+  paddingLeft: 3;
+  paddingRight: 3;
+}
+
+Button, .logoutButtonStyle, .chatSendButtonStyle, .helpLinkButtonStyle {
+  textIndent: 0;
+  paddingLeft: 10;
+  paddingRight: 10;
+  paddingTop: 5;
+  paddingBottom: 5;
+  highlightAlphas: 0.4, 0;
+  fillAlphas: 1, 1, 1, 1;
+  fillColors: #000000, #000000, #000000, #000000;
+  color: #5e5f63;
+  textRollOverColor: #5e5f63;
+  textSelectedColor: #5e5f63;
+  borderColor: #000000;
+  themeColor: haloBlue;
+  fontFamily: Arial;
+  fontSize: 12;
+}
+
+
+.helpLinkButtonStyle {
+  rollOverColor: #cccccc;
+  selectionColor: #999999;
+  color: #ffffff;
+  textRollOverColor: #504f3d;
+  textSelectedColor: #504f3d;
+}
+
+DataGrid {
+  backgroundColor: #000000;
+  rollOverColor: #f3f3f3;
+  textRollOverColor: #5e5f63;
+  selectionColor: #e1e2e5;
+  color: #5e5f63;
+  textSelectedColor: #5e5f63;
+  dropShadowEnabled: false;
+  fontFamily: arial;
+  fontSize: 11;
+  headerStyleName: "mydataGridHeaderStyle";
+}
+
+.mydataGridHeaderStyle {
+  color: #5e5f63;
+  fontFamily: arial;
+  fontSize: 12;
+}
+
+
+.whiteboardUndoButtonStyle, .whiteboardCircleButtonStyle, .whiteboardClearButtonStyle,
+.whiteboardTriangleButtonStyle, .whiteboardTextButtonStyle, .whiteboardRectangleButtonStyle,
+.whiteboardPanZoomButtonStyle, .whiteboardLineButtonStyle, .whiteboardScribbleButtonStyle
+{
+  textIndent: 0;
+  paddingLeft: 0;
+  paddingRight: 0;
+  paddingTop: 5;
+  paddingBottom: 5;
+  highlightAlphas: 0.4, 0;
+  fillAlphas: 1, 1, 1, 1;
+  fillColors: #000000, #000000, #000000, #000000;
+  color: #5e5f63;
+  textRollOverColor: #5e5f63;
+  textSelectedColor: #5e5f63;
+  borderColor: #000000;
+  themeColor: haloBlue;
+  fontFamily: Arial;
+  fontSize: 12;
+}
+
+.whiteboardUndoButtonStyle 
+{
+  icon: Embed('assets/images/undo.png');
+}
+
+.whiteboardCircleButtonStyle {
+  icon: Embed('assets/images/ellipse.png');  
+}
+
+.whiteboardClearButtonStyle {
+  icon: Embed('assets/images/delete.png');    
+}
+
+.whiteboardScribbleButtonStyle{
+  icon: Embed('assets/images/pencil.png');  
+}
+
+.whiteboardLineButtonStyle {
+  icon: Embed('assets/images/line.png');    
+}
+
+.whiteboardPanZoomButtonStyle {
+  icon: Embed('assets/images/hand.png');   
+}
+
+.whiteboardRectangleButtonStyle {
+  icon: Embed('assets/images/square.png');   
+}
+
+.whiteboardTextButtonStyle {
+  icon: Embed('assets/images/text.png');   
+}
+
+.whiteboardTriangleButtonStyle {
+  icon: Embed('assets/images/triangle.png');    
+}
+
+.presentationUploadButtonStyle, .presentationBackButtonStyle, .presentationForwardButtonStyle,
+.presentationFitToWidthButtonStyle, .presentationFitToPageButtonStyle 
+{
+  textIndent: 0;
+  paddingLeft: 10;
+  paddingRight: 10;
+  paddingTop: 5;
+  paddingBottom: 5;
+  highlightAlphas: 0.4, 0;
+  fillAlphas: 1, 1, 1, 1;
+  fillColors: #000000, #000000, #000000, #000000;
+  color: #5e5f63;
+  textRollOverColor: #5e5f63;
+  textSelectedColor: #5e5f63;
+  borderColor: #000000;
+  themeColor: haloBlue;
+  fontFamily: Arial;
+  fontSize: 12;
+}
+
+.presentationUploadButtonStyle {
+  icon:   Embed('assets/images/upload.png');   
+}
+
+.presentationBackButtonStyle {
+  icon:   Embed('assets/images/left-arrow.png'); 
+}
+
+.presentationForwardButtonStyle {
+  icon:   Embed('assets/images/right-arrow.png'); 
+}
+
+.presentationFitToWidthButtonStyle {
+  icon:   Embed('assets/images/fit-to-width.png'); 
+}
+
+.presentationFitToPageButtonStyle {
+  icon:   Embed('assets/images/fit-to-screen.png'); 
+}
+
+.presentationZoomSliderStyle{
+  labelOffset: 0;
+  thumbOffset: 3;
+  dataTipOffset: -1;
+  tickOffset: 2;
+  tickLength: 5;
+  tickThickness: 2;
+  tickColor: #6cccff;
+  showTrackHighlight: true;
+  invertThumbDirection: false;
+  borderColor: #000000;
+  trackColors: #aaaaaa, #aaaaaa;
+  themeColor: haloBlue;
+  fillAlphas: 1, 1, 1, 1;
+  fillColors: #000000, #000000, #000000, #000000;
+  labelStyleName: "presentationZoomSliderLabelStyle";
+}
+
+.presentationZoomSliderLabelStyle {
+  color: #5e5f63;
+  fontFamily: Arial;
+}
+
+.videoMuteButtonStyle, .videoUnmutedButtonStyle, .videoSwitchPresenterButtonStyle, .videoEjectUserButtonStyle, .videoPrivateChatButtonStyle {
+  fillAlphas: 1, 1, 1, 1;
+  fillColors: #000000, #000000, #000000, #000000;
+  color: #5e5f63;
+  textRollOverColor: #5e5f63;
+  textSelectedColor: #5e5f63;
+  borderColor: #b9babc;  
+  cornerRadius: 17;
+}
+
+.videoMutedButtonStyle {
+  /* Need to duplicate info here as the styleName is programatically changed. Extracting it out doesn't have any effect. */
+  fillAlphas: 1, 1, 1, 1;
+  fillColors: #000000, #000000, #000000, #000000;
+  color: #ffffff;
+  textRollOverColor: #5e5f63;
+  textSelectedColor: #5e5f63;
+  borderColor: #000000;  
+  cornerRadius: 17;
+  icon:   Embed('assets/images/webcam-muted.png');
+}
+
+.videoUnmutedButtonStyle {
+  icon:   Embed('assets/images/webcam-unmuted.png');
+}
+
+.videoSwitchPresenterButtonStyle {
+  icon:   Embed('assets/images/webcam-switch-presenter.png');
+}
+
+.videoEjectUserButtonStyle {
+  icon:   Embed('assets/images/webcam-eject-user.png');
+}
+
+.videoPrivateChatButtonStyle {
+  icon:   Embed('assets/images/webcam-private-chat.png');
+}
+
+.presentationFileUploadWindowStyle {
+  borderColor: #000000;
+  borderAlpha: 1;
+  borderThicknessLeft: 10;
+  borderThicknessTop: 0;
+  borderThicknessBottom: 10;
+  borderThicknessRight: 10;
+  roundedBottomCorners: true;
+  cornerRadius: 5;
+  headerHeight: 20;
+  backgroundAlpha: 1;
+  headerColors: #000000, #000000;
+  footerColors: #000000, #000000;
+  backgroundColor: #000000;
+  dropShadowEnabled: true;
+  titleStyleName: "presentationFileUploadWindowTitleStyle";
+}
+
+.presentationFileUploadWindowTitleStyle, .presentationUploadTitleStyle {
+  fontFamily: Arial;
+  fontSize: 20;  
+  fontWeight: bold;
+}
+
+.presentationUploadChooseFileLabelStyle, .presentationNamesLabelStyle {
+  fontFamily: Arial;
+  fontSize: 14;  
+  fontWeight: bold;
+}
+
+.presentationUploadChooseFileButtonStyle {
+  fillAlphas: 1, 1, 1, 1;
+  fillColors: #000000, #000000, #000000, #000000;
+  color: #5e5f63;
+  textRollOverColor: #5e5f63;
+  textSelectedColor: #5e5f63;
+  borderColor: #000000;  
+  cornerRadius: 5;  
+}
+
+.presentationUploadCancelButtonStyle {
+  fillAlphas: 1, 1, 1, 1;
+  fillColors: #000000, #000000, #000000, #000000;
+  color: #5e5f63;
+  textRollOverColor: #5e5f63;
+  textSelectedColor: #5e5f63;
+  borderColor: #b9babc;  
+  cornerRadius: 5;    
+}
+
+.presentationUploadShowButtonStyle {
+  fillAlphas: 1, 1, 1, 1;
+  fillColors: #000000, #000000, #000000, #000000;
+  color: #5e5f63;
+  textRollOverColor: #5e5f63;
+  textSelectedColor: #5e5f63;
+  borderColor: #000000;  
+  cornerRadius: 5;  
+}
+
+.presentationUploadDeleteButtonStyle {
+  fillAlphas: 1, 1, 1, 1;
+  fillColors: #000000, #000000, #000000, #000000;
+  color: #5e5f63;
+  textRollOverColor: #5e5f63;
+  textSelectedColor: #5e5f63;
+  borderColor: #000000;  
+  cornerRadius: 5;    
+  icon:   Embed('assets/images/trash.png');
+}
+
+.presentationUploadProgressBarLabelStyle {
+  
+}
+
+.presentationUploadProgressBarStyle {
+  
+}
+
+.presentationNameLabelStyle {
+  
+}
+
+.micSettingsWindowStyle {
+  borderColor: #000000;
+  borderAlpha: 1;
+  borderThicknessLeft: 10;
+  borderThicknessTop: 0;
+  borderThicknessBottom: 10;
+  borderThicknessRight: 10;
+  roundedBottomCorners: true;
+  cornerRadius: 5;
+  headerHeight: 20;
+  backgroundAlpha: 1;
+  headerColors: #000000, #000000;
+  footerColors: #000000, #000000;
+  backgroundColor: #000000;
+  dropShadowEnabled: true;
+  titleStyleName: "micSettingsWindowTitleStyle";
+}
+
+.micSettingsWindowTitleStyle {
+  fontFamily: Arial;
+  fontSize: 20;  
+  fontWeight: bold;
+}
+
+.micSettingsWindowTestSpeakersLabelStyle, .micSettingsWindowTestMicrophoneLabelStyle {
+  fontFamily: Arial;
+  fontSize: 14;  
+  fontWeight: bold;    
+}
+
+.micSettingsWindowHearFromHeadsetLabelStyle, .micSettingsWindowSpeakIntoMicLabelStyle, .micSettingsWindowMicNameLabelStyle {
+  fontFamily: Arial;
+  fontSize: 12;    
+}
+
+.micSettingsWindowPlaySoundButtonStyle, .micSettingsWindowChangeMicButtonStyle, 
+.micSettingsWindowJoinButtonStyle {
+  fillAlphas: 1, 1, 1, 1;
+  fillColors: #000000, #000000, #000000, #000000;
+  rollOverColor: #000000;
+  color: #5e5f63;
+  textRollOverColor: #5e5f63;
+  textSelectedColor: #5e5f63;
+  borderColor: #000000;  
+  cornerRadius: 5;      
+}
+
+.micSettingsWindowCancelButtonStyle {
+  fillAlphas: 1, 1, 1, 1;
+  fillColors: #000000, #000000, #000000, #000000;
+  rollOverColor: #eeeeee;
+  color: #5e5f63;
+  textRollOverColor: #5e5f63;
+  textSelectedColor: #5e5f63;
+  borderColor: #000000;  
+  cornerRadius: 5;    
+}
+
+.micSettingsWindowMicProgressBarStyle {
+  
+}
+
+.micSettingsWindowHelpButtonStyle {
+  icon:   Embed('assets/images/questionmark.png');
+}
+
+MDIWindow { /*None of the following properties are overridden by the MDIWindow class*/
+	backgroundSize: '100%';
+	
+	cornerRadius: 5;
+	dropShadowEnabled: false;
+	titleStyleName: "mypanelTitle";
+	
+	cornerResizeImg: Embed(source="assets/swf/Blue.swf", symbol="Corner_Resize");
+	cornerResizeWidth: 2;
+	cornerResizeHeight: 2;
+	cornerResizePaddingRight: 2;
+	cornerResizePaddingBottom: 2;
+	
+	controlButtonWidth: 10;
+	controlButtonHeight: 10;
+	controlButtonGap: 4;
+}
+
+.mdiWindowFocus, .presentationWindowStyleFocus, .videoDockStyleFocus
+{
+  headerHeight: 26;
+  roundedBottomCorners: true;
+  backgroundColor: #000000;
+  backgroundAlpha: 1;
+  
+  borderStyle: solid;
+  borderColor: #000000;
+  borderAlpha: 1;
+  borderThicknessLeft: 3;
+  borderThicknessTop: 0;
+  borderThicknessBottom: 3;
+  borderThicknessRight: 3;
+}
+
+.mdiWindowNoFocus, .presentationWindowStyleNoFocus, .videoDockStyleNoFocus
+{
+  headerHeight: 26;
+  roundedBottomCorners: true;
+  backgroundColor: #000000;
+  backgroundAlpha: 0.5;
+	
+  borderStyle: solid;
+  borderColor: #000000;
+  borderAlpha: 0.5;
+  borderThicknessLeft: 3;
+  borderThicknessTop: 0;
+  borderThicknessBottom: 3;
+  borderThicknessRight: 3;
+}
+
+.presentationSlideViewStyle {
+  backgroundColor: #b9babc;
+}
+
+.presentationWindowControlsStyle {
+  paddingBottom: 5;
+  paddingTop: 3;
+  paddingLeft: 3;
+  paddingRight: 3;
+  bottom: 5;
+  cornerRadius: 0;
+  dropShadowEnabled: false;
+}
+
+.videoViewStyleNoFocus 
+{
+  headerHeight: 20;
+  roundedBottomCorners: true;
+  backgroundColor: #000000;
+  backgroundAlpha: 0.5;
+  
+  borderStyle: solid;
+  borderColor: #000000;
+  borderAlpha: 0.5;
+  borderThicknessLeft: 3;
+  borderThicknessTop: 0;
+  borderThicknessBottom: 3;
+  borderThicknessRight: 3;
+}
+
+.videoViewStyleFocus 
+{
+  headerHeight: 20;
+  roundedBottomCorners: true;
+  backgroundColor: #000000;
+  backgroundAlpha: 1;
+	
+  borderStyle: solid;
+  borderColor: #000000;
+  borderAlpha: 1;
+  borderThicknessLeft: 3;
+  borderThicknessTop: 0;
+  borderThicknessBottom: 3;
+  borderThicknessRight: 3;
+}
+
+.videoPublishStyleNoFocus 
+{
+	headerHeight: 20;
+	roundedBottomCorners: true;
+	backgroundColor: #000000;
+	backgroundAlpha: 0.5;
+	
+	borderStyle: solid;
+	borderColor: #000000;
+	borderAlpha: 0.5;
+	borderThicknessLeft: 3;
+	borderThicknessTop: 0;
+	borderThicknessBottom: 3;
+	borderThicknessRight: 3;
+}
+
+.videoPublishStyleFocus 
+{
+	headerHeight: 20;
+	roundedBottomCorners: true;
+	backgroundColor: #000000;
+	backgroundAlpha: 1;
+	
+	borderStyle: solid;
+	borderColor: #000000;
+	borderAlpha: 1;
+	borderThicknessLeft: 3;
+	borderThicknessTop: 0;
+	borderThicknessBottom: 3;
+	borderThicknessRight: 3;
+}
+
+.videoAvatarStyleNoFocus 
+{
+	headerHeight: 20;
+	roundedBottomCorners: true;
+	backgroundColor: #000000;
+	backgroundAlpha: 0.5;
+	
+	borderStyle: solid;
+	borderColor: #000000;
+	borderAlpha: 0.5;
+	borderThicknessLeft: 3;
+	borderThicknessTop: 0;
+	borderThicknessBottom: 3;
+	borderThicknessRight: 3;
+}
+
+.videoAvatarStyleFocus 
+{
+	headerHeight: 20;
+	roundedBottomCorners: true;
+	backgroundColor: #000000;
+	backgroundAlpha: 1;
+	
+	borderStyle: solid;
+	borderColor: #000000;
+	borderAlpha: 1;
+	borderThicknessLeft: 3;
+	borderThicknessTop: 0;
+	borderThicknessBottom: 3;
+	borderThicknessRight: 3;
+}
+
+.mypanelTitle {
+  color: #5e5f63;
+  fontFamily: Arial;
+  fontSize: 12;
+  fontWeight: bold;
+}
+
+.closeBtnFocus, .closeBtnNoFocus
+{
+  upSkin:        Embed('assets/images/3_closeButton.png');
+  overSkin:      Embed('assets/images/3_closeButton.png');
+  downSkin:      Embed('assets/images/3_closeButton.png');
+  disabledSkin:  Embed('assets/images/3_closeButton.png');
+}
+
+
+.increaseBtnFocus, .increaseBtnNoFocus
+{
+  upSkin:        Embed('assets/images/3_increaseButton.png');
+  overSkin:      Embed('assets/images/3_increaseButton.png');
+  downSkin:      Embed('assets/images/3_increaseButton.png');
+  disabledSkin:  Embed('assets/images/3_increaseButton.png');
+}
+
+.decreaseBtnFocus, .decreaseBtnNoFocus  
+{
+  upSkin:        Embed('assets/images/3_decreaseButton.png');
+  overSkin:      Embed('assets/images/3_decreaseButton.png');
+  downSkin:      Embed('assets/images/3_decreaseButton.png');
+  disabledSkin:  Embed('assets/images/3_decreaseButton.png');
+}
+
+.minimizeBtnFocus 
+{
+  upSkin:        Embed('assets/images/3_minimizeButton.png');
+  overSkin:      Embed('assets/images/3_minimizeButton.png');
+  downSkin:      Embed('assets/images/3_minimizeButton.png');
+  disabledSkin:  Embed('assets/images/3_minimizeButton.png');
+}
+
+
+.resizeHndlr 
+{
+  upSkin:        Embed('assets/images/resizeHandler.png');
+  overSkin:      Embed('assets/images/resizeHandler.png');
+  downSkin:      Embed('assets/images/resizeHandler.png');
+  disabledSkin:  Embed('assets/images/resizeHandler.png');
+}
+
+.cameraDisplaySettingsWindowStartBtn
+{
+  icon:   Embed('assets/images/play-blue.png');
+}
diff --git a/bigbluebutton-client/build.xml b/bigbluebutton-client/build.xml
index e8f5444f22a22b77a04d8f0df0ac27a336d87b91..8d9c8aa7fb9d2fbc59d694b122e5c32a5ae75f22 100755
--- a/bigbluebutton-client/build.xml
+++ b/bigbluebutton-client/build.xml
@@ -9,6 +9,7 @@
     	<property name="LOCALE_DIR" value="${FLEX_HOME}/frameworks/locale"/>
     	<property name="BASE_DIR" value="${basedir}" />
       <property name="themeFile" value="BBBDefault.css"/>
+	    <property name="blackTheme" value="BBBBlack.css"/>
 	
 	     <property name="RESOURCES_DIR" value="${BASE_DIR}/resources" />	
 	<property name="PROD_RESOURCES_DIR" value="${RESOURCES_DIR}/prod" />	
@@ -82,7 +83,19 @@
 			</mxmlc>
 		</sequential>
 	</target>
-		
+	
+	 <target name="branding-black" depends="init-ant-contrib">
+	    <sequential>
+	      <mxmlc file="${BASE_DIR}/branding/default/style/css/${blackTheme}" 
+	        output="${OUTPUT_DIR}/branding/css/${blackTheme}.swf" 
+	        debug="${DEBUG}" 
+	        mxml.compatibility-version="3.0.0" 
+	        swf-version="13" 
+	        optimize="true">
+	      </mxmlc>
+	    </sequential>
+	  </target>
+	
 	<target name="build-bbb-main-test" description="Compile BigBlueButton Main Test">
     	<build-main src="${SRC_DIR}" target="${BBB_MAIN_TEST}" />
 	</target>
@@ -474,7 +487,7 @@
 	                                        build-webcam-preview-standalone, build-webcam-view-standalone, compile-bbb" 
 			description="Build BBB client skipping compiling of locales"/>	
 	<target name="clean-build-all" depends="clean, init-ant-contrib, generate-html-wrapper, compile-deskshare-standalone, 
-	                                         build-webcam-preview-standalone, build-webcam-view-standalone, compile-bbb, branding" 
+	                                         build-webcam-preview-standalone, build-webcam-view-standalone, compile-bbb, branding, branding-black" 
 			description="Build BBB client including locales"/>
 	<target name="modules" depends="init-ant-contrib, generate-html-wrapper, compile-deskshare-standalone, 
 	                                         build-webcam-preview-standalone, build-webcam-view-standalone, compile-bbb"