diff --git a/akka-bbb-fsesl/src/main/java/org/bigbluebutton/freeswitch/voice/freeswitch/FreeswitchApplication.java b/akka-bbb-fsesl/src/main/java/org/bigbluebutton/freeswitch/voice/freeswitch/FreeswitchApplication.java
index cf2944b48957fb20d069650d360b68a1a4135e9e..c31f6768acce51c4cb15b6469a4e678157b5b6f9 100755
--- a/akka-bbb-fsesl/src/main/java/org/bigbluebutton/freeswitch/voice/freeswitch/FreeswitchApplication.java
+++ b/akka-bbb-fsesl/src/main/java/org/bigbluebutton/freeswitch/voice/freeswitch/FreeswitchApplication.java
@@ -153,6 +153,11 @@ public class FreeswitchApplication {
 						EjectAllUsersCommand cmd = (EjectAllUsersCommand) command;
 						System.out.println("Sending EjectAllUsersCommand for conference = [" + cmd.getRoom() + "]");
 						manager.ejectAll(cmd);
+					} else if (command instanceof TransferUsetToMeetingCommand) {
+						TransferUsetToMeetingCommand cmd = (TransferUsetToMeetingCommand) command;
+						System.out.println("Sending TransferUsetToMeetingCommand for conference = ["
+										+ cmd.getRoom() + "]");
+						manager.tranfer(cmd);
 					} else if (command instanceof RecordConferenceCommand) {
 						manager.record((RecordConferenceCommand) command);
 					} else if (command instanceof DeskShareBroadcastRTMPCommand) {
diff --git a/bbb-screenshare/app/src/main/java/org/bigbluebutton/app/screenshare/red5/Red5AppService.java b/bbb-screenshare/app/src/main/java/org/bigbluebutton/app/screenshare/red5/Red5AppService.java
index 5e12768b6f707b48ebbda62d4b01b9dda12e2513..a95ec614e3a9700afb308914a1bf7f3165f3eec9 100755
--- a/bbb-screenshare/app/src/main/java/org/bigbluebutton/app/screenshare/red5/Red5AppService.java
+++ b/bbb-screenshare/app/src/main/java/org/bigbluebutton/app/screenshare/red5/Red5AppService.java
@@ -1,88 +1,103 @@
-package org.bigbluebutton.app.screenshare.red5;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.red5.logging.Red5LoggerFactory;
-import org.red5.server.api.Red5;
-import org.slf4j.Logger;
-
-import com.google.gson.Gson;
-
-
-public class Red5AppService {
-  private static Logger log = Red5LoggerFactory.getLogger(Red5AppService.class, "screenshare");
-  
-  private Red5AppHandler handler; 
-
-  /**
-   * Called from the client to pass us the userId.
-   * 
-   * We need to do this as we can't have params on the connect call
-   * as FFMpeg won't be able to connect.
-   * @param userId
-   */
-  public void setUserId(Map<String, Object> msg) {
-    String meetingId = Red5.getConnectionLocal().getScope().getName();
-    String userId = (String) msg.get("userId");
-
-    Red5.getConnectionLocal().setAttribute("MEETING_ID", meetingId);
-    Red5.getConnectionLocal().setAttribute("USERID", userId);
-
-    String connType = getConnectionType(Red5.getConnectionLocal().getType());
-    String connId = Red5.getConnectionLocal().getSessionId();
-
-    Map<String, Object> logData = new HashMap<String, Object>();
-    logData.put("meetingId", meetingId);
-    logData.put("userId", userId);
-    logData.put("connType", connType);
-    logData.put("connId", connId);
-    logData.put("event", "user_joining_bbb_screenshare");
-    logData.put("description", "User joining BBB Screenshare.");
-
-    Gson gson = new Gson();
-    String logStr =  gson.toJson(logData);
-
-    log.info("User joining bbb-screenshare: data={}", logStr);
-  }
-
-  private String getConnectionType(String connType) {
-    if ("persistent".equals(connType.toLowerCase())) {
-      return "RTMP";
-    } else if("polling".equals(connType.toLowerCase())) {
-      return "RTMPT";
-    } else {
-      return connType.toUpperCase();
-    }
-  }
-
-  public void isScreenSharing(Map<String, Object> msg) {
-    String meetingId = Red5.getConnectionLocal().getScope().getName();
-    log.debug("Received check if publishing for meeting=[{}]", meetingId);
-    String userId = (String) Red5.getConnectionLocal().getAttribute("USERID");
-
-    handler.isScreenSharing(meetingId, userId);
-  }
-
-  public void startShareRequest(Map<String, Object> msg) {
-	Boolean record = (Boolean) msg.get("record");
-    String meetingId = Red5.getConnectionLocal().getScope().getName();
-    log.debug("Received startShareRequest for meeting=[{}]", meetingId);
-    String userId = (String) Red5.getConnectionLocal().getAttribute("USERID");
-
-    handler.startShareRequest(meetingId, userId, record);
-  }
-
-  public void stopShareRequest(Map<String, Object> msg) {
-    String meetingId = Red5.getConnectionLocal().getScope().getName();
-    String streamId = (String) msg.get("streamId");
-    log.debug("Received stopShareRequest for meeting=[{}]", meetingId);
-
-    handler.stopShareRequest(meetingId, streamId);
-  }
-
-
-  public void setAppHandler(Red5AppHandler handler) {
-    this.handler = handler;
-  }
-}
+package org.bigbluebutton.app.screenshare.red5;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Set;
+
+import org.red5.logging.Red5LoggerFactory;
+import org.red5.server.api.IConnection;
+import org.red5.server.api.Red5;
+import org.slf4j.Logger;
+
+import com.google.gson.Gson;
+
+
+public class Red5AppService {
+  private static Logger log = Red5LoggerFactory.getLogger(Red5AppService.class, "screenshare");
+  
+  private Red5AppHandler handler; 
+
+  /**
+   * Called from the client to pass us the userId.
+   * 
+   * We need to do this as we can't have params on the connect call
+   * as FFMpeg won't be able to connect.
+   * @param userId
+   */
+  public void setUserId(Map<String, Object> msg) {
+    String meetingId = Red5.getConnectionLocal().getScope().getName();
+    String userId = (String) msg.get("userId");
+
+    String connType = getConnectionType(Red5.getConnectionLocal().getType());
+    String sessionId = Red5.getConnectionLocal().getSessionId();
+
+    /**
+     * Find if there are any other connections owned by this user. If we find one,
+     * that means that the connection is old and the user reconnected. Clear the
+     * userId attribute so that messages would not be sent in the defunct connection.
+     */
+    Set<IConnection> conns = Red5.getConnectionLocal().getScope().getClientConnections();
+    for (IConnection conn : conns) {
+      String connUserId = (String) conn.getAttribute("USERID");
+      if (connUserId != null && connUserId.equals(userId) && conn.getSessionId().equals(sessionId)) {
+        conn.removeAttribute("USERID");
+      }
+    }
+
+    Red5.getConnectionLocal().setAttribute("MEETING_ID", meetingId);
+    Red5.getConnectionLocal().setAttribute("USERID", userId);
+
+    Map<String, Object> logData = new HashMap<String, Object>();
+    logData.put("meetingId", meetingId);
+    logData.put("userId", userId);
+    logData.put("connType", connType);
+    logData.put("connId", sessionId);
+    logData.put("event", "user_joining_bbb_screenshare");
+    logData.put("description", "User joining BBB Screenshare.");
+
+    Gson gson = new Gson();
+    String logStr =  gson.toJson(logData);
+
+    log.info("User joining bbb-screenshare: data={}", logStr);
+  }
+
+  private String getConnectionType(String connType) {
+    if ("persistent".equals(connType.toLowerCase())) {
+      return "RTMP";
+    } else if("polling".equals(connType.toLowerCase())) {
+      return "RTMPT";
+    } else {
+      return connType.toUpperCase();
+    }
+  }
+
+  public void isScreenSharing(Map<String, Object> msg) {
+    String meetingId = Red5.getConnectionLocal().getScope().getName();
+    log.debug("Received check if publishing for meeting=[{}]", meetingId);
+    String userId = (String) Red5.getConnectionLocal().getAttribute("USERID");
+
+    handler.isScreenSharing(meetingId, userId);
+  }
+
+  public void startShareRequest(Map<String, Object> msg) {
+	Boolean record = (Boolean) msg.get("record");
+    String meetingId = Red5.getConnectionLocal().getScope().getName();
+    log.debug("Received startShareRequest for meeting=[{}]", meetingId);
+    String userId = (String) Red5.getConnectionLocal().getAttribute("USERID");
+
+    handler.startShareRequest(meetingId, userId, record);
+  }
+
+  public void stopShareRequest(Map<String, Object> msg) {
+    String meetingId = Red5.getConnectionLocal().getScope().getName();
+    String streamId = (String) msg.get("streamId");
+    log.debug("Received stopShareRequest for meeting=[{}]", meetingId);
+
+    handler.stopShareRequest(meetingId, streamId);
+  }
+
+
+  public void setAppHandler(Red5AppHandler handler) {
+    this.handler = handler;
+  }
+}
diff --git a/bigbluebutton-client/build.xml b/bigbluebutton-client/build.xml
index 4a1f8c3f9c5b7846e6a0838d1a5d72195fa00180..b847072fe6ba52ac7ca4e782f1005b95fd2e0ac6 100755
--- a/bigbluebutton-client/build.xml
+++ b/bigbluebutton-client/build.xml
@@ -441,10 +441,12 @@
 		<copy todir="${OUTPUT_DIR}/lib/" >
 			<fileset dir="${PROD_RESOURCES_DIR}/lib"/>
 		</copy>
+		<copy todir="${OUTPUT_DIR}/help/" >
+			<fileset dir="${PROD_RESOURCES_DIR}/help"/>
+		</copy>
 		<copy file="${PROD_RESOURCES_DIR}/BigBlueButtonTest.html" todir="${OUTPUT_DIR}" overwrite="true"/>
 		<copy file="${PROD_RESOURCES_DIR}/BigBlueButton.html" todir="${OUTPUT_DIR}" overwrite="true"/>
 		<copy file="${PROD_RESOURCES_DIR}/DeskshareStandalone.html" todir="${OUTPUT_DIR}" overwrite="true"/>
-		<copy file="${PROD_RESOURCES_DIR}/screenshare-help.html" todir="${OUTPUT_DIR}" overwrite="true"/>
 		<copy file="${PROD_RESOURCES_DIR}/get_flash_player.gif" todir="${OUTPUT_DIR}" overwrite="true"/>
 		<copy file="${PROD_RESOURCES_DIR}/bbb.gif" todir="${OUTPUT_DIR}" overwrite="true"/>
 		<copy file="${PROD_RESOURCES_DIR}/avatar.png" todir="${OUTPUT_DIR}" overwrite="true"/>
diff --git a/bigbluebutton-client/locale/en_US/bbbResources.properties b/bigbluebutton-client/locale/en_US/bbbResources.properties
index 360f6d7177c3bab3bd1034baef2bd6256e72eb9f..467349955e342b2abb36ca7d4581ba8ea9b43441 100755
--- a/bigbluebutton-client/locale/en_US/bbbResources.properties
+++ b/bigbluebutton-client/locale/en_US/bbbResources.properties
@@ -436,6 +436,8 @@ bbb.caption.window.minimizeBtn.accessibilityName = Minimize the Closed Caption W
 bbb.caption.window.maximizeRestoreBtn.accessibilityName = Maximize the Closed Caption Window
 bbb.caption.transcript.noowner = None
 bbb.caption.transcript.youowner = You
+bbb.caption.transcript.pastewarning.title = Caption Paste Warning
+bbb.caption.transcript.pastewarning.text = Cannot paste text longer than {0} characters. You pasted {1} characters.
 bbb.caption.option.label = Options
 bbb.caption.option.language = Language:
 bbb.caption.option.language.tooltip = Select Caption Language
diff --git a/bigbluebutton-client/resources/config.xml.template b/bigbluebutton-client/resources/config.xml.template
index f0c7f77e4a152a77085b7e8db392e12b5650f925..093d326a93d5c438ed29845d70313b479a8bd075 100755
--- a/bigbluebutton-client/resources/config.xml.template
+++ b/bigbluebutton-client/resources/config.xml.template
@@ -49,7 +49,7 @@
 			autoStart="false"
 			autoFullScreen="false"
 			baseTabIndex="201"
-			help="http://HOST/client/screenshare-help.html"
+			help="http://HOST/client/help/screenshare-help.html"
 		/>
     
 		<module name="PhoneModule" url="http://HOST/client/PhoneModule.swf?v=VERSION" 
@@ -118,6 +118,7 @@
 		<module name="CaptionModule" url="http://HOST/client/CaptionModule.swf?v=VERSION" 
 			uri="rtmp://HOST/bigbluebutton" 
 			dependsOn="UsersModule"
+			maxPasteLength="1024"
 			baseTabIndex="701"
 		/>
 
diff --git a/bigbluebutton-client/resources/prod/BigBlueButton.html b/bigbluebutton-client/resources/prod/BigBlueButton.html
index ef5304de6b66b4ec7f72a4baf2d8d49b350fbdc6..c2bdad7cbfbebe38dac37cd4513e8781934c6370 100755
--- a/bigbluebutton-client/resources/prod/BigBlueButton.html
+++ b/bigbluebutton-client/resources/prod/BigBlueButton.html
@@ -141,7 +141,7 @@
         // and reuse them to join via the HTML5 client
         enterRequest = $.ajax({
            dataType: 'json',
-           url: '/bigbluebutton/api/enter'
+           url: '/bigbluebutton/api/enter' + document.location.search
         });
 
         enterRequest.done(function(enterData) {
@@ -152,7 +152,7 @@
           if ((meetingId != null) && (userId != null) && (authToken != null)) {
             // redirect to the html5 client with the received info
             // format <IP>/html5client/<meetingId>/<userId>/<authToken>
-            document.location.pathname = "/html5client/"+meetingId+"/"+userId+"/"+authToken;
+            document.location.pathname = "/html5client/join/"+meetingId+"/"+userId+"/"+authToken;
           } else {
             // go back to the redirection page
             document.location.pathname = originalPath;
diff --git a/bigbluebutton-client/resources/prod/help/CSS/bbb-bootstrap.css b/bigbluebutton-client/resources/prod/help/CSS/bbb-bootstrap.css
new file mode 100755
index 0000000000000000000000000000000000000000..28e01bd002612450e90c072382752a1484125e76
--- /dev/null
+++ b/bigbluebutton-client/resources/prod/help/CSS/bbb-bootstrap.css
@@ -0,0 +1,116 @@
+/*!
+ * This stylesheet is a subset of Bootstrap v3.3.6 (http://getbootstrap.com)
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ */
+/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
+
+.alert {
+  padding: 15px;
+  margin-bottom: 20px;
+  border: 1px solid transparent;
+  border-radius: 4px;
+}
+.alert h4 {
+  margin-top: 0;
+  color: inherit;
+}
+.alert .alert-link {
+  font-weight: bold;
+}
+.alert > p,
+.alert > ul {
+  margin-bottom: 0;
+}
+.alert > p + p {
+  margin-top: 5px;
+}
+.alert-dismissable,
+.alert-dismissible {
+  padding-right: 35px;
+}
+.alert-dismissable .close,
+.alert-dismissible .close {
+  position: relative;
+  top: -2px;
+  right: -21px;
+  color: inherit;
+}
+.alert-success {
+  color: #3c763d;
+  background-color: #dff0d8;
+  border-color: #d6e9c6;
+}
+.alert-success hr {
+  border-top-color: #c9e2b3;
+}
+.alert-success .alert-link {
+  color: #2b542c;
+}
+.alert-info {
+  color: #31708f;
+  background-color: #d9edf7;
+  border-color: #bce8f1;
+}
+.alert-info hr {
+  border-top-color: #a6e1ec;
+}
+.alert-info .alert-link {
+  color: #245269;
+}
+.alert-warning {
+  color: #8a6d3b;
+  background-color: #fcf8e3;
+  border-color: #faebcc;
+}
+.alert-warning hr {
+  border-top-color: #f7e1b5;
+}
+.alert-warning .alert-link {
+  color: #66512c;
+}
+.alert-danger {
+  color: #a94442;
+  background-color: #f2dede;
+  border-color: #ebccd1;
+}
+.alert-danger hr {
+  border-top-color: #e4b9c0;
+}
+.alert-danger .alert-link {
+  color: #843534;
+}
+.close {
+  float: right;
+  font-size: 21px;
+  font-weight: bold;
+  line-height: 1;
+  color: #000;
+  text-shadow: 0 1px 0 #fff;
+  filter: alpha(opacity=20);
+  opacity: .2;
+}
+.close:hover,
+.close:focus {
+  color: #000;
+  text-decoration: none;
+  cursor: pointer;
+  filter: alpha(opacity=50);
+  opacity: .5;
+}
+button.close {
+  -webkit-appearance: none;
+  padding: 0;
+  cursor: pointer;
+  background: transparent;
+  border: 0;
+}
+.fade {
+  opacity: 0;
+  -webkit-transition: opacity .15s linear;
+       -o-transition: opacity .15s linear;
+          transition: opacity .15s linear;
+}
+.fade.in {
+  opacity: 1;
+}
diff --git a/bigbluebutton-client/resources/prod/help/CSS/bijou.min.css b/bigbluebutton-client/resources/prod/help/CSS/bijou.min.css
new file mode 100755
index 0000000000000000000000000000000000000000..a30102f7e0157fe7991f58a2c186f4810cd9e3cd
--- /dev/null
+++ b/bigbluebutton-client/resources/prod/help/CSS/bijou.min.css
@@ -0,0 +1,241 @@
+a {
+	font-size:.95em;
+	text-decoration:none;
+	color:#5f90b0
+}
+a:hover {
+	color:#406882
+}
+* {
+	margin:0;
+	padding:0;
+	font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;
+	-webkit-box-sizing:border-box;
+	-moz-box-sizing:border-box;
+	box-sizing:border-box
+}
+.container {
+	width:1000px;
+	margin:0 auto
+}
+.pull-left {
+	float:left
+}
+.pull-right {
+	float:right
+}
+.row {
+	min-height:2em;
+	line-height:2em;
+	width:100%
+}
+.span {
+	float:left;
+	display:inline;
+	min-height:1em;
+	margin:0 .5% 20px
+}
+.span:four-child {
+	margin-left:0
+}
+.span:last-child {
+	margin-right:0
+}
+.one {
+	width:8%
+}
+.two {
+	width:16%
+}
+.three {
+	width:24%
+}
+.four {
+	width:32%
+}
+.five {
+	width:40%
+}
+.six {
+	width:48%
+}
+.seven {
+	width:56%
+}
+.eight {
+	width:64%
+}
+.nine {
+	width:72%
+}
+.ten {
+	width:80%
+}
+.eleven {
+	width:88%
+}
+.twelve {
+	width:100%
+}
+.container:after {
+	content:"\0020";
+	display:block;
+	height:0;
+	clear:both;
+	visibility:hidden
+}
+.row:after,.row:before {
+	content:'\0020';
+	display:block;
+	overflow:hidden;
+	visibility:hidden;
+	width:0;
+	height:0
+}
+.row:after {
+	clear:both
+}
+.row {
+	zoom:1
+}
+h1,h2,h3,h4,h5,h6 {
+	font-weight:400;
+	color:#42444c
+}
+h1 {
+	font-size:2.5em;
+	line-height:1em
+}
+h2 {
+	font-size:1.75em;
+	line-height:1em;
+	margin-bottom:.375em
+}
+h3 {
+	font-size:1.125em
+}
+h4 {
+	font-size:1.1em;
+	font-weight:700
+}
+.table {
+	width:100%;
+	border-spacing:0;
+	border-collapse:collapse;
+	text-align:left
+}
+.table td,.table th {
+	border-bottom:2px #d1d1d1 solid;
+	padding:8px 12px
+}
+.table td {
+	border-bottom:1px #d4d4d4 solid
+}
+.table.table-striped tbody tr:nth-child(2n+1) {
+	background-color:#f3f3f3
+}
+.table.table-bordered,.table.table-bordered td,.table.table-bordered th {
+	border:1px solid #CCC
+}
+.button {
+	border:0;
+	border-radius:4px;
+	outline:0;
+	cursor:pointer
+}
+.button.small {
+	padding:7px 20px;
+	font-size:.95em
+}
+.button.large {
+	padding:10px 45px;
+	font-size:1.1em
+}
+.button.primary {
+	color:#FFF;
+	background:#5f90b0
+}
+.button.primary:hover {
+	background:#5589ab
+}
+.button.success {
+	color:#FFF;
+	background:#4daf7c
+}
+.button.success:hover {
+	background:#48a474
+}
+.button.danger {
+	color:#FFF;
+	background:#e6623c
+}
+.button.danger:hover {
+	background:#e4572e
+}
+.navbar {
+	background:#FFF;
+	padding:10px;
+	margin-bottom:60px;
+	border-bottom:1px #F2F2F2 solid;
+	text-align:center
+}
+.navbar h4 {
+	color:#191919;
+	font-weight:200
+}
+.navbar li {
+	display:inline-block;
+	padding:.3em 15px 0 0
+}
+.navbar li:last-child {
+	padding-right:0
+}
+.navbar.fixed {
+	position:fixed;
+	left:0;
+	right:0;
+	top:0
+}
+.alert {
+	padding:15px;
+	margin:10px 0;
+	border-radius:3px
+}
+.alert.primary {
+	background:#e8eff3;
+	border:1px solid #c5d7e3
+}
+.alert.success {
+	background:#daeee4;
+	border:1px solid #b6dfca
+}
+.alert.danger {
+	background:#fdf4f1;
+	border:1px solid #f7cfc4
+}
+@media only screen and (min-width:768px) and (max-width:999px) {
+	.container {
+		width:768px
+	}
+}
+@media only screen and (max-width:767px) {
+	.container {
+		width:300px
+	}
+	.container .span {
+		width:100%!important
+	}
+	.container .table {
+		width:100%;
+		display:block;
+		overflow:auto
+	}
+}
+@media only screen and (min-width:480px) and (max-width:767px) {
+	.container {
+		width:420px
+	}
+	.container .table {
+		display:table
+	}
+}
diff --git a/bigbluebutton-client/resources/prod/help/CSS/css b/bigbluebutton-client/resources/prod/help/CSS/css
new file mode 100755
index 0000000000000000000000000000000000000000..f538889b193a3d6d920b04faf0676cc2c87bc007
--- /dev/null
+++ b/bigbluebutton-client/resources/prod/help/CSS/css
@@ -0,0 +1,8 @@
+/* latin */
+@font-face {
+  font-family: 'Rokkitt';
+  font-style: normal;
+  font-weight: 400;
+  src: local('Rokkitt'), local('Rokkitt-Regular'), url(http://fonts.gstatic.com/s/rokkitt/v10/o9LMKUV9IIiOIghfS6ZGbALUuEpTyoUstqEm5AMlJo4.woff2) format('woff2');
+  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
+}
diff --git a/bigbluebutton-client/resources/prod/help/CSS/diggdigg-style.css b/bigbluebutton-client/resources/prod/help/CSS/diggdigg-style.css
new file mode 100755
index 0000000000000000000000000000000000000000..7d204e7906840bda1c63784e6b9b8cec70163e4d
--- /dev/null
+++ b/bigbluebutton-client/resources/prod/help/CSS/diggdigg-style.css
@@ -0,0 +1,284 @@
+.FBConnectButton_Small,.FBConnectButton_RTL_Small {
+	border-left:1px solid #1a356e;
+	width:54px;
+	background:-5px -232px!important
+}
+
+.FBConnectButton_Small .FBConnectButton_Text {
+	margin-left:12px!important
+}
+
+.dd-digg-ajax-load,.dd-reddit-ajax-load,.dd-dzone-ajax-load,.dd-ybuzz-ajax-load,.dd-twitter-ajax-load,.dd-fbshare-ajax-load,.dd-fblike-ajax-load,.dd-delicious-ajax-load,.dd-sphinn-ajax-load,.dd-gbuzz-ajax-load,.dd-fbshareme-ajax-load,.dd-tweetmeme-ajax-load,.dd-linkedin-ajax-load,.dd-google1-ajax-load {
+	width:50px;
+	height:22px;
+	background:url(../image/ajax-loader.gif) no-repeat center
+}
+
+.dd_delicious {
+	display:block;
+	color:#000;
+	font:16px arial;
+	text-decoration:none;
+	width:50px;
+	height:60px;
+	text-align:center
+}
+
+.dd_delicious a:link,.dd_delicious a:visited,.dd_delicious a:active,.dd_delicious a:hover {
+	text-decoration:none;
+	color:#000
+}
+
+.dd_delicious_normal_image {
+	text-align:center;
+	height:60px;
+	margin-top:3px;
+	padding:0;
+	text-align:center;
+	width:50px;
+	display:block;
+	background:url(../image/delicious.png) no-repeat
+}
+
+.dd_delicious_compact_image {
+	text-align:center;
+	height:22px;
+	padding:0;
+	text-align:center;
+	width:50px;
+	display:block;
+	background:url(../image/delicious-compact.png) no-repeat
+}
+
+.dd_delicious_compact_image span {
+	font-size:10px
+}
+
+.dd_comments {
+	text-align:center;
+	height:16px;
+	margin-top:3px;
+	padding:0;
+	text-align:center;
+	width:50px;
+	display:block;
+	background:url(../image/comments-link.png) no-repeat
+}
+
+.dd_button a:link,.dd_button a:visited,.dd_button a:active {
+	text-decoration:none;
+	color:#000
+}
+
+#dd_ajax_float {
+	text-align:center;
+	border:1px solid #bbb;
+	min-width:55px;
+	width:auto;
+	-webkit-border-top-right-radius:5px;
+	-webkit-border-bottom-right-radius:5px;
+	-webkit-border-bottom-left-radius:5px;
+	-webkit-border-top-left-radius:5px;
+	-moz-border-radius-topright:5px;
+	-moz-border-radius-bottomright:5px;
+	-moz-border-radius-bottomleft:5px;
+	-moz-border-radius-topleft:5px;
+	border-top-right-radius:5px;
+	border-bottom-right-radius:5px;
+	border-bottom-left-radius:5px;
+	border-top-left-radius:5px;
+	-moz-background-clip:padding;
+	-webkit-background-clip:padding-box;
+	-webkit-box-shadow:1px 0 15px rgba(0,0,0,.2);
+	-moz-box-shadow:1px 0 15px rgba(0,0,0,.2);
+	box-shadow:1px 0 15px rgba(0,0,0,.2);
+	padding:5px;
+	position:absolute;
+	display:none;
+	left:-120px;
+	font:10px/16px Arial;
+	background:padding-box #fff
+}
+
+#dd_ajax_float .dd_button_v {
+	width:auto;
+	height:auto;
+	line-height:0;
+	padding:4px 1px
+}
+
+#dd_ajax_float iframe {
+	margin:0
+}
+
+#dd_start,#dd_end {
+	float:left;
+	clear:both
+}
+
+.dd_outer {
+	width:100%;
+	height:0;
+	position:absolute;
+	top:0;
+	left:0;
+	z-index:9999
+}
+
+.dd_inner {
+	margin:0 auto;
+	position:relative
+}
+
+.dd_post_share {
+	padding:0;
+	margin-bottom:6px;
+	display:block
+}
+
+.dd_post_share_left {
+	float:left
+}
+
+.dd_post_share_right {
+	float:right
+}
+
+.dd_buttons img {
+	border:none;
+	border-width:0;
+	border-color:#000;
+	border-style:none
+}
+
+#dd_name {
+	color:#a9a9a9;
+	font-size:8px;
+	text-align:center;
+	margin:8px 0 6px;
+	padding:0;
+	line-height:0
+}
+
+#dd_name a:link,#dd_name a:visited,#dd_name a:active {
+	text-decoration:none;
+	color:#a9a9a9;
+	border:0
+}
+
+#dd_name a:hover {
+	text-decoration:underline;
+	color:#a9a9a9;
+	border:0
+}
+
+.dd_button {
+	float:left;
+	padding:4px
+}
+
+.dd_fblike_xfbml_ajax_left_float {
+	padding-left:3px
+}
+
+.dd_google1_ajax_left_float {
+	margin-left:-1px
+}
+
+.dd_linkedin_ajax_left_float {
+	margin-left:-2px;
+	margin-bottom:-5px
+}
+
+html {
+	overflow-y:scroll
+}
+
+.dd_button_spacer {
+	padding-top:8px
+}
+
+#dd_comments {
+	clear:both!important;
+	width:50px;
+	height:60px;
+	font-family:arial
+}
+
+#dd_comments a:link,#dd_comments a:visited,#dd_comments a:active,#dd_comments a:hover {
+	text-decoration:none
+}
+
+#dd_comments .clcount {
+	text-align:center;
+	color:#444;
+	display:block;
+	font-size:20px;
+	height:34px;
+	padding:4px 0;
+	position:relative;
+	text-align:center;
+	width:50px;
+	line-height:24px;
+	background:url(../image/comments-count.png) no-repeat left top
+}
+
+#dd_comments .ccount {
+	color:#444;
+	font-size:17px;
+	text-align:center;
+	text-decoration:none
+}
+
+#dd_comments .clink {
+	text-align:center;
+	height:16px;
+	margin-top:3px;
+	padding:0;
+	text-align:center;
+	width:50px;
+	display:block;
+	background:url(../image/comments-link.png) no-repeat
+}
+
+.dd_button_extra_v {
+	padding:1px 4px
+}
+
+.st_email_custom {
+	padding:2px 4px 3px;
+	border:1px solid #ddd;
+	-moz-border-radius:2px;
+	cursor:pointer;
+	margin-bottom:2px;
+	background:url(../image/email.png) no-repeat 3px 4px
+}
+
+#dd_print_button {
+	padding:1px 4px 3px;
+	border:1px solid #ddd;
+	-moz-border-radius:2px;
+	cursor:pointer;
+	margin-bottom:2px;
+	background:url(../image/print.png) no-repeat 3px 2px
+}
+
+#dd_email_text {
+	padding:0 0 0 18px;
+	font-size:10px
+}
+
+#dd_print_text {
+	padding:0 0 0 14px;
+	font-size:10px
+}
+
+#dd_print_text a:link,#dd_print_text a:visited,#dd_print_text a:active {
+	color:#000;
+	text-decoration:none
+}
+
+#dd_print_text a:hover {
+	color:#00f;
+	text-decoration:underline
+}
\ No newline at end of file
diff --git a/bigbluebutton-client/resources/prod/help/CSS/facebook-comments-hidewpcomments.css b/bigbluebutton-client/resources/prod/help/CSS/facebook-comments-hidewpcomments.css
new file mode 100755
index 0000000000000000000000000000000000000000..d3067856e025d5d9118c764707d7ec834a00d730
--- /dev/null
+++ b/bigbluebutton-client/resources/prod/help/CSS/facebook-comments-hidewpcomments.css
@@ -0,0 +1,9 @@
+@charset "UTF-8";
+
+/*****************************/
+/* Hide the WordPress commenting form
+/*****************************/
+
+#respond, #commentform, #addcomment, .entry-comments {
+	display: none;
+}
diff --git a/bigbluebutton-client/resources/prod/help/CSS/facebook-comments-widgets.css b/bigbluebutton-client/resources/prod/help/CSS/facebook-comments-widgets.css
new file mode 100755
index 0000000000000000000000000000000000000000..26a36b005d6db3c6f8c2c702117654221997395a
--- /dev/null
+++ b/bigbluebutton-client/resources/prod/help/CSS/facebook-comments-widgets.css
@@ -0,0 +1,77 @@
+@charset "UTF-8";
+
+/*****************************/
+/* Dashboard widget styles
+/*****************************/
+
+
+/*****************************/
+/* Normal, page widget styles
+
+  displayed here in order rendered
+/*****************************/
+/* Each post is styled as follows:
+<li class="fbc_rc_comment old/even">
+	<div class="fbc_rc_comment-meta">
+		<cite class="fbc_rc_comment-author">
+			<a href="https://www.facebook.com/profile.php?id=FACEBOOKID">
+				USERNAME
+			</a>
+		</cite> 
+		<abbr class="fbc_rc_date">
+			Date/Time
+		</abbr>
+	</div>
+	<img class="avatar" height="50" width="50" />
+	<div class="fbc_rc_text">
+		COMMENT CONTENT
+	</div>
+	<div class="fbc_rc_permalink">
+		<a href=permalink>
+			Post or Page Title
+		</a>
+	</div>
+</li>
+*/
+
+/* Main widget, which is enclosed in a ul */
+#fbc_rc_widget {
+	width: auto;
+	margin-left:0 !important; /* override WP default */
+}
+li.fbc_rc_comment {
+	min-height: 80px; /* to prevent overlap */
+	height:100%;
+	position:relative;
+	margin:2px;
+	border-bottom: 1px dotted rgba(88,88,88,1);
+}
+/* odd and even are so you can style alternating posts differently, if you'd like to */
+ul#fbc_rc_widget li.odd { }
+ul#fbc_rc_widget li.even {
+	background-color:rgba(222,222,251,1);
+}/* change to float:left to display avatars on the left of comments */
+
+/* encloses both author and date */
+.fbc_rc_comment-meta { }
+.fbc_rc_comment-author { }
+.fbc_rc_date { 
+	font-size:.8em;
+}
+
+ul#fbc_rc_widget .avatar {
+	float: right; /* change to float:left to display avatars on the left of comments */
+	padding-bottom: 2px;
+}
+
+/* main comment text */
+.fbc_rc_text {
+	margin: 5px;
+	padding-bottom:25px; /* to prevent post titles from overlapping with comment text */
+}
+
+.fbc_rc_permalink {
+	position: absolute; 
+	bottom: 2px; 
+}
+
diff --git a/bigbluebutton-client/resources/prod/help/CSS/font-awesome.min.css b/bigbluebutton-client/resources/prod/help/CSS/font-awesome.min.css
new file mode 100755
index 0000000000000000000000000000000000000000..99250931937678981f7448a4749074ed51631983
--- /dev/null
+++ b/bigbluebutton-client/resources/prod/help/CSS/font-awesome.min.css
@@ -0,0 +1,1495 @@
+/*!
+ *  Font Awesome 4.1.0 by @davegandy - http://fontawesome.io - @fontawesome
+ *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
+ */@font-face {
+	font-family:'FontAwesome';
+	src:url('../fonts/fontawesome-webfont.eot?v=4.1.0');
+	src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.1.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff?v=4.1.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.1.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.1.0#fontawesomeregular') format('svg');
+	font-weight:normal;
+	font-style:normal
+}
+.fa {
+	display:inline-block;
+	font-family:FontAwesome;
+	font-style:normal;
+	font-weight:normal;
+	line-height:1;
+	-webkit-font-smoothing:antialiased;
+	-moz-osx-font-smoothing:grayscale
+}
+.fa-lg {
+	font-size:1.33333333em;
+	line-height:.75em;
+	vertical-align:-15%
+}
+.fa-2x {
+	font-size:2em
+}
+.fa-3x {
+	font-size:3em
+}
+.fa-4x {
+	font-size:4em
+}
+.fa-5x {
+	font-size:5em
+}
+.fa-fw {
+	width:1.28571429em;
+	text-align:center
+}
+.fa-ul {
+	padding-left:0;
+	margin-left:2.14285714em;
+	list-style-type:none
+}
+.fa-ul>li {
+	position:relative
+}
+.fa-li {
+	position:absolute;
+	left:-2.14285714em;
+	width:2.14285714em;
+	top:.14285714em;
+	text-align:center
+}
+.fa-li.fa-lg {
+	left:-1.85714286em
+}
+.fa-border {
+	padding:.2em .25em .15em;
+	border:solid .08em #eee;
+	border-radius:.1em
+}
+.pull-right {
+	float:right
+}
+.pull-left {
+	float:left
+}
+.fa.pull-left {
+	margin-right:.3em
+}
+.fa.pull-right {
+	margin-left:.3em
+}
+.fa-spin {
+	-webkit-animation:spin 2s infinite linear;
+	-moz-animation:spin 2s infinite linear;
+	-o-animation:spin 2s infinite linear;
+	animation:spin 2s infinite linear
+}
+@-moz-keyframes spin {
+	0% {
+		-moz-transform:rotate(0deg)
+	}
+	100% {
+		-moz-transform:rotate(359deg)
+	}
+}
+@-webkit-keyframes spin {
+	0% {
+		-webkit-transform:rotate(0deg)
+	}
+	100% {
+		-webkit-transform:rotate(359deg)
+	}
+}
+@-o-keyframes spin {
+	0% {
+		-o-transform:rotate(0deg)
+	}
+	100% {
+		-o-transform:rotate(359deg)
+	}
+}
+@keyframes spin {
+	0% {
+		-webkit-transform:rotate(0deg);
+		transform:rotate(0deg)
+	}
+	100% {
+		-webkit-transform:rotate(359deg);
+		transform:rotate(359deg)
+	}
+}
+.fa-rotate-90 {
+	filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);
+	-webkit-transform:rotate(90deg);
+	-moz-transform:rotate(90deg);
+	-ms-transform:rotate(90deg);
+	-o-transform:rotate(90deg);
+	transform:rotate(90deg)
+}
+.fa-rotate-180 {
+	filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
+	-webkit-transform:rotate(180deg);
+	-moz-transform:rotate(180deg);
+	-ms-transform:rotate(180deg);
+	-o-transform:rotate(180deg);
+	transform:rotate(180deg)
+}
+.fa-rotate-270 {
+	filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
+	-webkit-transform:rotate(270deg);
+	-moz-transform:rotate(270deg);
+	-ms-transform:rotate(270deg);
+	-o-transform:rotate(270deg);
+	transform:rotate(270deg)
+}
+.fa-flip-horizontal {
+	filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);
+	-webkit-transform:scale(-1, 1);
+	-moz-transform:scale(-1, 1);
+	-ms-transform:scale(-1, 1);
+	-o-transform:scale(-1, 1);
+	transform:scale(-1, 1)
+}
+.fa-flip-vertical {
+	filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);
+	-webkit-transform:scale(1, -1);
+	-moz-transform:scale(1, -1);
+	-ms-transform:scale(1, -1);
+	-o-transform:scale(1, -1);
+	transform:scale(1, -1)
+}
+.fa-stack {
+	position:relative;
+	display:inline-block;
+	width:2em;
+	height:2em;
+	line-height:2em;
+	vertical-align:middle
+}
+.fa-stack-1x,.fa-stack-2x {
+	position:absolute;
+	left:0;
+	width:100%;
+	text-align:center
+}
+.fa-stack-1x {
+	line-height:inherit
+}
+.fa-stack-2x {
+	font-size:2em
+}
+.fa-inverse {
+	color:#fff
+}
+.fa-glass:before {
+	content:"\f000"
+}
+.fa-music:before {
+	content:"\f001"
+}
+.fa-search:before {
+	content:"\f002"
+}
+.fa-envelope-o:before {
+	content:"\f003"
+}
+.fa-heart:before {
+	content:"\f004"
+}
+.fa-star:before {
+	content:"\f005"
+}
+.fa-star-o:before {
+	content:"\f006"
+}
+.fa-user:before {
+	content:"\f007"
+}
+.fa-film:before {
+	content:"\f008"
+}
+.fa-th-large:before {
+	content:"\f009"
+}
+.fa-th:before {
+	content:"\f00a"
+}
+.fa-th-list:before {
+	content:"\f00b"
+}
+.fa-check:before {
+	content:"\f00c"
+}
+.fa-times:before {
+	content:"\f00d"
+}
+.fa-search-plus:before {
+	content:"\f00e"
+}
+.fa-search-minus:before {
+	content:"\f010"
+}
+.fa-power-off:before {
+	content:"\f011"
+}
+.fa-signal:before {
+	content:"\f012"
+}
+.fa-gear:before,.fa-cog:before {
+	content:"\f013"
+}
+.fa-trash-o:before {
+	content:"\f014"
+}
+.fa-home:before {
+	content:"\f015"
+}
+.fa-file-o:before {
+	content:"\f016"
+}
+.fa-clock-o:before {
+	content:"\f017"
+}
+.fa-road:before {
+	content:"\f018"
+}
+.fa-download:before {
+	content:"\f019"
+}
+.fa-arrow-circle-o-down:before {
+	content:"\f01a"
+}
+.fa-arrow-circle-o-up:before {
+	content:"\f01b"
+}
+.fa-inbox:before {
+	content:"\f01c"
+}
+.fa-play-circle-o:before {
+	content:"\f01d"
+}
+.fa-rotate-right:before,.fa-repeat:before {
+	content:"\f01e"
+}
+.fa-refresh:before {
+	content:"\f021"
+}
+.fa-list-alt:before {
+	content:"\f022"
+}
+.fa-lock:before {
+	content:"\f023"
+}
+.fa-flag:before {
+	content:"\f024"
+}
+.fa-headphones:before {
+	content:"\f025"
+}
+.fa-volume-off:before {
+	content:"\f026"
+}
+.fa-volume-down:before {
+	content:"\f027"
+}
+.fa-volume-up:before {
+	content:"\f028"
+}
+.fa-qrcode:before {
+	content:"\f029"
+}
+.fa-barcode:before {
+	content:"\f02a"
+}
+.fa-tag:before {
+	content:"\f02b"
+}
+.fa-tags:before {
+	content:"\f02c"
+}
+.fa-book:before {
+	content:"\f02d"
+}
+.fa-bookmark:before {
+	content:"\f02e"
+}
+.fa-print:before {
+	content:"\f02f"
+}
+.fa-camera:before {
+	content:"\f030"
+}
+.fa-font:before {
+	content:"\f031"
+}
+.fa-bold:before {
+	content:"\f032"
+}
+.fa-italic:before {
+	content:"\f033"
+}
+.fa-text-height:before {
+	content:"\f034"
+}
+.fa-text-width:before {
+	content:"\f035"
+}
+.fa-align-left:before {
+	content:"\f036"
+}
+.fa-align-center:before {
+	content:"\f037"
+}
+.fa-align-right:before {
+	content:"\f038"
+}
+.fa-align-justify:before {
+	content:"\f039"
+}
+.fa-list:before {
+	content:"\f03a"
+}
+.fa-dedent:before,.fa-outdent:before {
+	content:"\f03b"
+}
+.fa-indent:before {
+	content:"\f03c"
+}
+.fa-video-camera:before {
+	content:"\f03d"
+}
+.fa-photo:before,.fa-image:before,.fa-picture-o:before {
+	content:"\f03e"
+}
+.fa-pencil:before {
+	content:"\f040"
+}
+.fa-map-marker:before {
+	content:"\f041"
+}
+.fa-adjust:before {
+	content:"\f042"
+}
+.fa-tint:before {
+	content:"\f043"
+}
+.fa-edit:before,.fa-pencil-square-o:before {
+	content:"\f044"
+}
+.fa-share-square-o:before {
+	content:"\f045"
+}
+.fa-check-square-o:before {
+	content:"\f046"
+}
+.fa-arrows:before {
+	content:"\f047"
+}
+.fa-step-backward:before {
+	content:"\f048"
+}
+.fa-fast-backward:before {
+	content:"\f049"
+}
+.fa-backward:before {
+	content:"\f04a"
+}
+.fa-play:before {
+	content:"\f04b"
+}
+.fa-pause:before {
+	content:"\f04c"
+}
+.fa-stop:before {
+	content:"\f04d"
+}
+.fa-forward:before {
+	content:"\f04e"
+}
+.fa-fast-forward:before {
+	content:"\f050"
+}
+.fa-step-forward:before {
+	content:"\f051"
+}
+.fa-eject:before {
+	content:"\f052"
+}
+.fa-chevron-left:before {
+	content:"\f053"
+}
+.fa-chevron-right:before {
+	content:"\f054"
+}
+.fa-plus-circle:before {
+	content:"\f055"
+}
+.fa-minus-circle:before {
+	content:"\f056"
+}
+.fa-times-circle:before {
+	content:"\f057"
+}
+.fa-check-circle:before {
+	content:"\f058"
+}
+.fa-question-circle:before {
+	content:"\f059"
+}
+.fa-info-circle:before {
+	content:"\f05a"
+}
+.fa-crosshairs:before {
+	content:"\f05b"
+}
+.fa-times-circle-o:before {
+	content:"\f05c"
+}
+.fa-check-circle-o:before {
+	content:"\f05d"
+}
+.fa-ban:before {
+	content:"\f05e"
+}
+.fa-arrow-left:before {
+	content:"\f060"
+}
+.fa-arrow-right:before {
+	content:"\f061"
+}
+.fa-arrow-up:before {
+	content:"\f062"
+}
+.fa-arrow-down:before {
+	content:"\f063"
+}
+.fa-mail-forward:before,.fa-share:before {
+	content:"\f064"
+}
+.fa-expand:before {
+	content:"\f065"
+}
+.fa-compress:before {
+	content:"\f066"
+}
+.fa-plus:before {
+	content:"\f067"
+}
+.fa-minus:before {
+	content:"\f068"
+}
+.fa-asterisk:before {
+	content:"\f069"
+}
+.fa-exclamation-circle:before {
+	content:"\f06a"
+}
+.fa-gift:before {
+	content:"\f06b"
+}
+.fa-leaf:before {
+	content:"\f06c"
+}
+.fa-fire:before {
+	content:"\f06d"
+}
+.fa-eye:before {
+	content:"\f06e"
+}
+.fa-eye-slash:before {
+	content:"\f070"
+}
+.fa-warning:before,.fa-exclamation-triangle:before {
+	content:"\f071"
+}
+.fa-plane:before {
+	content:"\f072"
+}
+.fa-calendar:before {
+	content:"\f073"
+}
+.fa-random:before {
+	content:"\f074"
+}
+.fa-comment:before {
+	content:"\f075"
+}
+.fa-magnet:before {
+	content:"\f076"
+}
+.fa-chevron-up:before {
+	content:"\f077"
+}
+.fa-chevron-down:before {
+	content:"\f078"
+}
+.fa-retweet:before {
+	content:"\f079"
+}
+.fa-shopping-cart:before {
+	content:"\f07a"
+}
+.fa-folder:before {
+	content:"\f07b"
+}
+.fa-folder-open:before {
+	content:"\f07c"
+}
+.fa-arrows-v:before {
+	content:"\f07d"
+}
+.fa-arrows-h:before {
+	content:"\f07e"
+}
+.fa-bar-chart-o:before {
+	content:"\f080"
+}
+.fa-twitter-square:before {
+	content:"\f081"
+}
+.fa-facebook-square:before {
+	content:"\f082"
+}
+.fa-camera-retro:before {
+	content:"\f083"
+}
+.fa-key:before {
+	content:"\f084"
+}
+.fa-gears:before,.fa-cogs:before {
+	content:"\f085"
+}
+.fa-comments:before {
+	content:"\f086"
+}
+.fa-thumbs-o-up:before {
+	content:"\f087"
+}
+.fa-thumbs-o-down:before {
+	content:"\f088"
+}
+.fa-star-half:before {
+	content:"\f089"
+}
+.fa-heart-o:before {
+	content:"\f08a"
+}
+.fa-sign-out:before {
+	content:"\f08b"
+}
+.fa-linkedin-square:before {
+	content:"\f08c"
+}
+.fa-thumb-tack:before {
+	content:"\f08d"
+}
+.fa-external-link:before {
+	content:"\f08e"
+}
+.fa-sign-in:before {
+	content:"\f090"
+}
+.fa-trophy:before {
+	content:"\f091"
+}
+.fa-github-square:before {
+	content:"\f092"
+}
+.fa-upload:before {
+	content:"\f093"
+}
+.fa-lemon-o:before {
+	content:"\f094"
+}
+.fa-phone:before {
+	content:"\f095"
+}
+.fa-square-o:before {
+	content:"\f096"
+}
+.fa-bookmark-o:before {
+	content:"\f097"
+}
+.fa-phone-square:before {
+	content:"\f098"
+}
+.fa-twitter:before {
+	content:"\f099"
+}
+.fa-facebook:before {
+	content:"\f09a"
+}
+.fa-github:before {
+	content:"\f09b"
+}
+.fa-unlock:before {
+	content:"\f09c"
+}
+.fa-credit-card:before {
+	content:"\f09d"
+}
+.fa-rss:before {
+	content:"\f09e"
+}
+.fa-hdd-o:before {
+	content:"\f0a0"
+}
+.fa-bullhorn:before {
+	content:"\f0a1"
+}
+.fa-bell:before {
+	content:"\f0f3"
+}
+.fa-certificate:before {
+	content:"\f0a3"
+}
+.fa-hand-o-right:before {
+	content:"\f0a4"
+}
+.fa-hand-o-left:before {
+	content:"\f0a5"
+}
+.fa-hand-o-up:before {
+	content:"\f0a6"
+}
+.fa-hand-o-down:before {
+	content:"\f0a7"
+}
+.fa-arrow-circle-left:before {
+	content:"\f0a8"
+}
+.fa-arrow-circle-right:before {
+	content:"\f0a9"
+}
+.fa-arrow-circle-up:before {
+	content:"\f0aa"
+}
+.fa-arrow-circle-down:before {
+	content:"\f0ab"
+}
+.fa-globe:before {
+	content:"\f0ac"
+}
+.fa-wrench:before {
+	content:"\f0ad"
+}
+.fa-tasks:before {
+	content:"\f0ae"
+}
+.fa-filter:before {
+	content:"\f0b0"
+}
+.fa-briefcase:before {
+	content:"\f0b1"
+}
+.fa-arrows-alt:before {
+	content:"\f0b2"
+}
+.fa-group:before,.fa-users:before {
+	content:"\f0c0"
+}
+.fa-chain:before,.fa-link:before {
+	content:"\f0c1"
+}
+.fa-cloud:before {
+	content:"\f0c2"
+}
+.fa-flask:before {
+	content:"\f0c3"
+}
+.fa-cut:before,.fa-scissors:before {
+	content:"\f0c4"
+}
+.fa-copy:before,.fa-files-o:before {
+	content:"\f0c5"
+}
+.fa-paperclip:before {
+	content:"\f0c6"
+}
+.fa-save:before,.fa-floppy-o:before {
+	content:"\f0c7"
+}
+.fa-square:before {
+	content:"\f0c8"
+}
+.fa-navicon:before,.fa-reorder:before,.fa-bars:before {
+	content:"\f0c9"
+}
+.fa-list-ul:before {
+	content:"\f0ca"
+}
+.fa-list-ol:before {
+	content:"\f0cb"
+}
+.fa-strikethrough:before {
+	content:"\f0cc"
+}
+.fa-underline:before {
+	content:"\f0cd"
+}
+.fa-table:before {
+	content:"\f0ce"
+}
+.fa-magic:before {
+	content:"\f0d0"
+}
+.fa-truck:before {
+	content:"\f0d1"
+}
+.fa-pinterest:before {
+	content:"\f0d2"
+}
+.fa-pinterest-square:before {
+	content:"\f0d3"
+}
+.fa-google-plus-square:before {
+	content:"\f0d4"
+}
+.fa-google-plus:before {
+	content:"\f0d5"
+}
+.fa-money:before {
+	content:"\f0d6"
+}
+.fa-caret-down:before {
+	content:"\f0d7"
+}
+.fa-caret-up:before {
+	content:"\f0d8"
+}
+.fa-caret-left:before {
+	content:"\f0d9"
+}
+.fa-caret-right:before {
+	content:"\f0da"
+}
+.fa-columns:before {
+	content:"\f0db"
+}
+.fa-unsorted:before,.fa-sort:before {
+	content:"\f0dc"
+}
+.fa-sort-down:before,.fa-sort-desc:before {
+	content:"\f0dd"
+}
+.fa-sort-up:before,.fa-sort-asc:before {
+	content:"\f0de"
+}
+.fa-envelope:before {
+	content:"\f0e0"
+}
+.fa-linkedin:before {
+	content:"\f0e1"
+}
+.fa-rotate-left:before,.fa-undo:before {
+	content:"\f0e2"
+}
+.fa-legal:before,.fa-gavel:before {
+	content:"\f0e3"
+}
+.fa-dashboard:before,.fa-tachometer:before {
+	content:"\f0e4"
+}
+.fa-comment-o:before {
+	content:"\f0e5"
+}
+.fa-comments-o:before {
+	content:"\f0e6"
+}
+.fa-flash:before,.fa-bolt:before {
+	content:"\f0e7"
+}
+.fa-sitemap:before {
+	content:"\f0e8"
+}
+.fa-umbrella:before {
+	content:"\f0e9"
+}
+.fa-paste:before,.fa-clipboard:before {
+	content:"\f0ea"
+}
+.fa-lightbulb-o:before {
+	content:"\f0eb"
+}
+.fa-exchange:before {
+	content:"\f0ec"
+}
+.fa-cloud-download:before {
+	content:"\f0ed"
+}
+.fa-cloud-upload:before {
+	content:"\f0ee"
+}
+.fa-user-md:before {
+	content:"\f0f0"
+}
+.fa-stethoscope:before {
+	content:"\f0f1"
+}
+.fa-suitcase:before {
+	content:"\f0f2"
+}
+.fa-bell-o:before {
+	content:"\f0a2"
+}
+.fa-coffee:before {
+	content:"\f0f4"
+}
+.fa-cutlery:before {
+	content:"\f0f5"
+}
+.fa-file-text-o:before {
+	content:"\f0f6"
+}
+.fa-building-o:before {
+	content:"\f0f7"
+}
+.fa-hospital-o:before {
+	content:"\f0f8"
+}
+.fa-ambulance:before {
+	content:"\f0f9"
+}
+.fa-medkit:before {
+	content:"\f0fa"
+}
+.fa-fighter-jet:before {
+	content:"\f0fb"
+}
+.fa-beer:before {
+	content:"\f0fc"
+}
+.fa-h-square:before {
+	content:"\f0fd"
+}
+.fa-plus-square:before {
+	content:"\f0fe"
+}
+.fa-angle-double-left:before {
+	content:"\f100"
+}
+.fa-angle-double-right:before {
+	content:"\f101"
+}
+.fa-angle-double-up:before {
+	content:"\f102"
+}
+.fa-angle-double-down:before {
+	content:"\f103"
+}
+.fa-angle-left:before {
+	content:"\f104"
+}
+.fa-angle-right:before {
+	content:"\f105"
+}
+.fa-angle-up:before {
+	content:"\f106"
+}
+.fa-angle-down:before {
+	content:"\f107"
+}
+.fa-desktop:before {
+	content:"\f108"
+}
+.fa-laptop:before {
+	content:"\f109"
+}
+.fa-tablet:before {
+	content:"\f10a"
+}
+.fa-mobile-phone:before,.fa-mobile:before {
+	content:"\f10b"
+}
+.fa-circle-o:before {
+	content:"\f10c"
+}
+.fa-quote-left:before {
+	content:"\f10d"
+}
+.fa-quote-right:before {
+	content:"\f10e"
+}
+.fa-spinner:before {
+	content:"\f110"
+}
+.fa-circle:before {
+	content:"\f111"
+}
+.fa-mail-reply:before,.fa-reply:before {
+	content:"\f112"
+}
+.fa-github-alt:before {
+	content:"\f113"
+}
+.fa-folder-o:before {
+	content:"\f114"
+}
+.fa-folder-open-o:before {
+	content:"\f115"
+}
+.fa-smile-o:before {
+	content:"\f118"
+}
+.fa-frown-o:before {
+	content:"\f119"
+}
+.fa-meh-o:before {
+	content:"\f11a"
+}
+.fa-gamepad:before {
+	content:"\f11b"
+}
+.fa-keyboard-o:before {
+	content:"\f11c"
+}
+.fa-flag-o:before {
+	content:"\f11d"
+}
+.fa-flag-checkered:before {
+	content:"\f11e"
+}
+.fa-terminal:before {
+	content:"\f120"
+}
+.fa-code:before {
+	content:"\f121"
+}
+.fa-mail-reply-all:before,.fa-reply-all:before {
+	content:"\f122"
+}
+.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before {
+	content:"\f123"
+}
+.fa-location-arrow:before {
+	content:"\f124"
+}
+.fa-crop:before {
+	content:"\f125"
+}
+.fa-code-fork:before {
+	content:"\f126"
+}
+.fa-unlink:before,.fa-chain-broken:before {
+	content:"\f127"
+}
+.fa-question:before {
+	content:"\f128"
+}
+.fa-info:before {
+	content:"\f129"
+}
+.fa-exclamation:before {
+	content:"\f12a"
+}
+.fa-superscript:before {
+	content:"\f12b"
+}
+.fa-subscript:before {
+	content:"\f12c"
+}
+.fa-eraser:before {
+	content:"\f12d"
+}
+.fa-puzzle-piece:before {
+	content:"\f12e"
+}
+.fa-microphone:before {
+	content:"\f130"
+}
+.fa-microphone-slash:before {
+	content:"\f131"
+}
+.fa-shield:before {
+	content:"\f132"
+}
+.fa-calendar-o:before {
+	content:"\f133"
+}
+.fa-fire-extinguisher:before {
+	content:"\f134"
+}
+.fa-rocket:before {
+	content:"\f135"
+}
+.fa-maxcdn:before {
+	content:"\f136"
+}
+.fa-chevron-circle-left:before {
+	content:"\f137"
+}
+.fa-chevron-circle-right:before {
+	content:"\f138"
+}
+.fa-chevron-circle-up:before {
+	content:"\f139"
+}
+.fa-chevron-circle-down:before {
+	content:"\f13a"
+}
+.fa-html5:before {
+	content:"\f13b"
+}
+.fa-css3:before {
+	content:"\f13c"
+}
+.fa-anchor:before {
+	content:"\f13d"
+}
+.fa-unlock-alt:before {
+	content:"\f13e"
+}
+.fa-bullseye:before {
+	content:"\f140"
+}
+.fa-ellipsis-h:before {
+	content:"\f141"
+}
+.fa-ellipsis-v:before {
+	content:"\f142"
+}
+.fa-rss-square:before {
+	content:"\f143"
+}
+.fa-play-circle:before {
+	content:"\f144"
+}
+.fa-ticket:before {
+	content:"\f145"
+}
+.fa-minus-square:before {
+	content:"\f146"
+}
+.fa-minus-square-o:before {
+	content:"\f147"
+}
+.fa-level-up:before {
+	content:"\f148"
+}
+.fa-level-down:before {
+	content:"\f149"
+}
+.fa-check-square:before {
+	content:"\f14a"
+}
+.fa-pencil-square:before {
+	content:"\f14b"
+}
+.fa-external-link-square:before {
+	content:"\f14c"
+}
+.fa-share-square:before {
+	content:"\f14d"
+}
+.fa-compass:before {
+	content:"\f14e"
+}
+.fa-toggle-down:before,.fa-caret-square-o-down:before {
+	content:"\f150"
+}
+.fa-toggle-up:before,.fa-caret-square-o-up:before {
+	content:"\f151"
+}
+.fa-toggle-right:before,.fa-caret-square-o-right:before {
+	content:"\f152"
+}
+.fa-euro:before,.fa-eur:before {
+	content:"\f153"
+}
+.fa-gbp:before {
+	content:"\f154"
+}
+.fa-dollar:before,.fa-usd:before {
+	content:"\f155"
+}
+.fa-rupee:before,.fa-inr:before {
+	content:"\f156"
+}
+.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before {
+	content:"\f157"
+}
+.fa-ruble:before,.fa-rouble:before,.fa-rub:before {
+	content:"\f158"
+}
+.fa-won:before,.fa-krw:before {
+	content:"\f159"
+}
+.fa-bitcoin:before,.fa-btc:before {
+	content:"\f15a"
+}
+.fa-file:before {
+	content:"\f15b"
+}
+.fa-file-text:before {
+	content:"\f15c"
+}
+.fa-sort-alpha-asc:before {
+	content:"\f15d"
+}
+.fa-sort-alpha-desc:before {
+	content:"\f15e"
+}
+.fa-sort-amount-asc:before {
+	content:"\f160"
+}
+.fa-sort-amount-desc:before {
+	content:"\f161"
+}
+.fa-sort-numeric-asc:before {
+	content:"\f162"
+}
+.fa-sort-numeric-desc:before {
+	content:"\f163"
+}
+.fa-thumbs-up:before {
+	content:"\f164"
+}
+.fa-thumbs-down:before {
+	content:"\f165"
+}
+.fa-youtube-square:before {
+	content:"\f166"
+}
+.fa-youtube:before {
+	content:"\f167"
+}
+.fa-xing:before {
+	content:"\f168"
+}
+.fa-xing-square:before {
+	content:"\f169"
+}
+.fa-youtube-play:before {
+	content:"\f16a"
+}
+.fa-dropbox:before {
+	content:"\f16b"
+}
+.fa-stack-overflow:before {
+	content:"\f16c"
+}
+.fa-instagram:before {
+	content:"\f16d"
+}
+.fa-flickr:before {
+	content:"\f16e"
+}
+.fa-adn:before {
+	content:"\f170"
+}
+.fa-bitbucket:before {
+	content:"\f171"
+}
+.fa-bitbucket-square:before {
+	content:"\f172"
+}
+.fa-tumblr:before {
+	content:"\f173"
+}
+.fa-tumblr-square:before {
+	content:"\f174"
+}
+.fa-long-arrow-down:before {
+	content:"\f175"
+}
+.fa-long-arrow-up:before {
+	content:"\f176"
+}
+.fa-long-arrow-left:before {
+	content:"\f177"
+}
+.fa-long-arrow-right:before {
+	content:"\f178"
+}
+.fa-apple:before {
+	content:"\f179"
+}
+.fa-windows:before {
+	content:"\f17a"
+}
+.fa-android:before {
+	content:"\f17b"
+}
+.fa-linux:before {
+	content:"\f17c"
+}
+.fa-dribbble:before {
+	content:"\f17d"
+}
+.fa-skype:before {
+	content:"\f17e"
+}
+.fa-foursquare:before {
+	content:"\f180"
+}
+.fa-trello:before {
+	content:"\f181"
+}
+.fa-female:before {
+	content:"\f182"
+}
+.fa-male:before {
+	content:"\f183"
+}
+.fa-gittip:before {
+	content:"\f184"
+}
+.fa-sun-o:before {
+	content:"\f185"
+}
+.fa-moon-o:before {
+	content:"\f186"
+}
+.fa-archive:before {
+	content:"\f187"
+}
+.fa-bug:before {
+	content:"\f188"
+}
+.fa-vk:before {
+	content:"\f189"
+}
+.fa-weibo:before {
+	content:"\f18a"
+}
+.fa-renren:before {
+	content:"\f18b"
+}
+.fa-pagelines:before {
+	content:"\f18c"
+}
+.fa-stack-exchange:before {
+	content:"\f18d"
+}
+.fa-arrow-circle-o-right:before {
+	content:"\f18e"
+}
+.fa-arrow-circle-o-left:before {
+	content:"\f190"
+}
+.fa-toggle-left:before,.fa-caret-square-o-left:before {
+	content:"\f191"
+}
+.fa-dot-circle-o:before {
+	content:"\f192"
+}
+.fa-wheelchair:before {
+	content:"\f193"
+}
+.fa-vimeo-square:before {
+	content:"\f194"
+}
+.fa-turkish-lira:before,.fa-try:before {
+	content:"\f195"
+}
+.fa-plus-square-o:before {
+	content:"\f196"
+}
+.fa-space-shuttle:before {
+	content:"\f197"
+}
+.fa-slack:before {
+	content:"\f198"
+}
+.fa-envelope-square:before {
+	content:"\f199"
+}
+.fa-wordpress:before {
+	content:"\f19a"
+}
+.fa-openid:before {
+	content:"\f19b"
+}
+.fa-institution:before,.fa-bank:before,.fa-university:before {
+	content:"\f19c"
+}
+.fa-mortar-board:before,.fa-graduation-cap:before {
+	content:"\f19d"
+}
+.fa-yahoo:before {
+	content:"\f19e"
+}
+.fa-google:before {
+	content:"\f1a0"
+}
+.fa-reddit:before {
+	content:"\f1a1"
+}
+.fa-reddit-square:before {
+	content:"\f1a2"
+}
+.fa-stumbleupon-circle:before {
+	content:"\f1a3"
+}
+.fa-stumbleupon:before {
+	content:"\f1a4"
+}
+.fa-delicious:before {
+	content:"\f1a5"
+}
+.fa-digg:before {
+	content:"\f1a6"
+}
+.fa-pied-piper-square:before,.fa-pied-piper:before {
+	content:"\f1a7"
+}
+.fa-pied-piper-alt:before {
+	content:"\f1a8"
+}
+.fa-drupal:before {
+	content:"\f1a9"
+}
+.fa-joomla:before {
+	content:"\f1aa"
+}
+.fa-language:before {
+	content:"\f1ab"
+}
+.fa-fax:before {
+	content:"\f1ac"
+}
+.fa-building:before {
+	content:"\f1ad"
+}
+.fa-child:before {
+	content:"\f1ae"
+}
+.fa-paw:before {
+	content:"\f1b0"
+}
+.fa-spoon:before {
+	content:"\f1b1"
+}
+.fa-cube:before {
+	content:"\f1b2"
+}
+.fa-cubes:before {
+	content:"\f1b3"
+}
+.fa-behance:before {
+	content:"\f1b4"
+}
+.fa-behance-square:before {
+	content:"\f1b5"
+}
+.fa-steam:before {
+	content:"\f1b6"
+}
+.fa-steam-square:before {
+	content:"\f1b7"
+}
+.fa-recycle:before {
+	content:"\f1b8"
+}
+.fa-automobile:before,.fa-car:before {
+	content:"\f1b9"
+}
+.fa-cab:before,.fa-taxi:before {
+	content:"\f1ba"
+}
+.fa-tree:before {
+	content:"\f1bb"
+}
+.fa-spotify:before {
+	content:"\f1bc"
+}
+.fa-deviantart:before {
+	content:"\f1bd"
+}
+.fa-soundcloud:before {
+	content:"\f1be"
+}
+.fa-database:before {
+	content:"\f1c0"
+}
+.fa-file-pdf-o:before {
+	content:"\f1c1"
+}
+.fa-file-word-o:before {
+	content:"\f1c2"
+}
+.fa-file-excel-o:before {
+	content:"\f1c3"
+}
+.fa-file-powerpoint-o:before {
+	content:"\f1c4"
+}
+.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before {
+	content:"\f1c5"
+}
+.fa-file-zip-o:before,.fa-file-archive-o:before {
+	content:"\f1c6"
+}
+.fa-file-sound-o:before,.fa-file-audio-o:before {
+	content:"\f1c7"
+}
+.fa-file-movie-o:before,.fa-file-video-o:before {
+	content:"\f1c8"
+}
+.fa-file-code-o:before {
+	content:"\f1c9"
+}
+.fa-vine:before {
+	content:"\f1ca"
+}
+.fa-codepen:before {
+	content:"\f1cb"
+}
+.fa-jsfiddle:before {
+	content:"\f1cc"
+}
+.fa-life-bouy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before {
+	content:"\f1cd"
+}
+.fa-circle-o-notch:before {
+	content:"\f1ce"
+}
+.fa-ra:before,.fa-rebel:before {
+	content:"\f1d0"
+}
+.fa-ge:before,.fa-empire:before {
+	content:"\f1d1"
+}
+.fa-git-square:before {
+	content:"\f1d2"
+}
+.fa-git:before {
+	content:"\f1d3"
+}
+.fa-hacker-news:before {
+	content:"\f1d4"
+}
+.fa-tencent-weibo:before {
+	content:"\f1d5"
+}
+.fa-qq:before {
+	content:"\f1d6"
+}
+.fa-wechat:before,.fa-weixin:before {
+	content:"\f1d7"
+}
+.fa-send:before,.fa-paper-plane:before {
+	content:"\f1d8"
+}
+.fa-send-o:before,.fa-paper-plane-o:before {
+	content:"\f1d9"
+}
+.fa-history:before {
+	content:"\f1da"
+}
+.fa-circle-thin:before {
+	content:"\f1db"
+}
+.fa-header:before {
+	content:"\f1dc"
+}
+.fa-paragraph:before {
+	content:"\f1dd"
+}
+.fa-sliders:before {
+	content:"\f1de"
+}
+.fa-share-alt:before {
+	content:"\f1e0"
+}
+.fa-share-alt-square:before {
+	content:"\f1e1"
+}
+.fa-bomb:before {
+	content:"\f1e2"
+}
diff --git a/bigbluebutton-client/resources/prod/help/CSS/inlinestylesheet0 b/bigbluebutton-client/resources/prod/help/CSS/inlinestylesheet0
new file mode 100755
index 0000000000000000000000000000000000000000..7b034f12bc3f58c347f21b367fec9386ffa72b46
--- /dev/null
+++ b/bigbluebutton-client/resources/prod/help/CSS/inlinestylesheet0
@@ -0,0 +1,3 @@
+.SandboxRoot {
+	display: none;
+}
diff --git a/bigbluebutton-client/resources/prod/help/CSS/inlinestylesheetnum10 b/bigbluebutton-client/resources/prod/help/CSS/inlinestylesheetnum10
new file mode 100755
index 0000000000000000000000000000000000000000..fc5475dea9e7ef8001a4c67f199d7a1479d02fe3
--- /dev/null
+++ b/bigbluebutton-client/resources/prod/help/CSS/inlinestylesheetnum10
@@ -0,0 +1,35 @@
+.home-highlights .home-highlights-content {
+overflow: hidden;
+margin-bottom: 20px;
+color: #464646;
+}
+
+.home-highlights h4 {
+margin: 0;
+font-size: 160%;
+line-height: 120%;
+color: #30406b;
+}
+
+h1, h2, h3, h4, h5, h6 {
+font-family: 'Open Sans', sans-serif !important;
+
+}
+
+h1.overview {
+font-family: "Open Sans","Lucida Grande","Lucida Sans Unicode",Helvetica,Arial,sans-serif;
+
+}
+
+img.aligncenter {
+padding: 2px;
+}
+
+span.post-comment iframe {
+	width:150px !important;
+}
+
+.post-meta .post-comment{ 
+	background: none!important;
+	padding-left:0px;
+}
\ No newline at end of file
diff --git a/bigbluebutton-client/resources/prod/help/CSS/inlinestylesheetnum5 b/bigbluebutton-client/resources/prod/help/CSS/inlinestylesheetnum5
new file mode 100755
index 0000000000000000000000000000000000000000..00233919680be61f7310b04c1f46c97574a2c5d3
--- /dev/null
+++ b/bigbluebutton-client/resources/prod/help/CSS/inlinestylesheetnum5
@@ -0,0 +1,13 @@
+
+img.wp-smiley,
+img.emoji {
+	display: inline !important;
+	border: none !important;
+	box-shadow: none !important;
+	height: 1em !important;
+	width: 1em !important;
+	margin: 0 .07em !important;
+	vertical-align: -0.1em !important;
+	background: none !important;
+	padding: 0 !important;
+}
diff --git a/bigbluebutton-client/resources/prod/help/CSS/inlinestylesheetnum9 b/bigbluebutton-client/resources/prod/help/CSS/inlinestylesheetnum9
new file mode 100755
index 0000000000000000000000000000000000000000..bfa7043cac45e3ba905459ad96fe5a39423adff9
--- /dev/null
+++ b/bigbluebutton-client/resources/prod/help/CSS/inlinestylesheetnum9
@@ -0,0 +1,75 @@
+
+#headerwrap {
+background-image: none;
+background-color: #dbebf6;
+}
+
+#nav-bar {
+background-image: url(http://r2.bigbluebutton.org/wp-content/themes/suco/uploads/bg/bg1.png);
+background-color: #30406b;
+background-repeat: repeat-x;
+}
+
+#upperwrap {
+background-image: url(http://r2.bigbluebutton.org/wp-content/themes/suco/uploads/bg/bg1.png);
+background-color: #F4F4F4 ;
+}
+
+.home-highlightswrap {
+background-image: none;
+background-color: #fff;
+}
+
+#body {
+background-image: none;
+background-color: #ffffff;
+}
+
+.footer-widgetswrap {
+background-image: none;
+background-color: #262626;
+}
+
+#footerwrap {
+background-image: none;
+background-color: #2a2a2a;
+}
+
+h1 {
+font-family: Arial, Helvetica, sans-serif;
+color: #00445e;
+}
+
+h2 {
+font-family: Arial, Helvetica, sans-serif;
+color: #00445e;
+}
+
+h3 {
+font-family: Arial, Helvetica, sans-serif;
+color: #00445e;
+}
+
+h4 {
+font-family: Arial, Helvetica, sans-serif;
+color: #30406b;
+}
+
+h5 {
+font-family: Arial, Helvetica, sans-serif;
+color: #30406b;
+}
+
+h6 {
+font-family: Arial, Helvetica, sans-serif;
+}
+
+#main-nav a:hover, #main-nav li:hover > a {
+color: #fff;
+}
+
+#main-nav .current_page_item a, #main-nav .current-menu-item a {
+color: #fff;
+background-color: #1a243f;
+}
+
diff --git a/bigbluebutton-client/resources/prod/help/CSS/media-queries.css b/bigbluebutton-client/resources/prod/help/CSS/media-queries.css
new file mode 100755
index 0000000000000000000000000000000000000000..955cc8e598563a98df2483294249f2163432d6d9
--- /dev/null
+++ b/bigbluebutton-client/resources/prod/help/CSS/media-queries.css
@@ -0,0 +1,470 @@
+@media screen and (max-width: 980px) {
+
+	/* set img max-width */
+	img {
+		width: auto\9; /* ie8 */
+		max-width: 100%;
+		height: auto;
+	}
+
+	/************************************************************************************
+	STRUCTURE
+	*************************************************************************************/
+	.pagewidth, #slider {
+		max-width: 94%;
+	}
+		
+	/* content */
+	#content {
+		margin: 7% 0 5%;
+	}
+	.sidebar1 #content {
+		max-width: 67.8%;
+	}
+	
+	/* sidebar */
+	#sidebar {
+		margin: 7% 0 5%;
+		max-width: 26.2%;
+	}
+	#sidebar .secondary {
+		max-width: 47%;
+	}
+	
+	/************************************************************************************
+	GRID
+	*************************************************************************************/
+	.col4-1,
+	.col4-2,
+	.col4-3,
+	.col3-1,
+	.col3-2,
+	.col2-1
+	{
+		margin-left: 2%;
+	}
+	.col4-1 {
+		max-width: 23%;
+	}
+	.col4-2, .col2-1 {
+		max-width: 48%;
+	}
+	.col4-3 {
+		max-width: 72%;
+	}
+	.col3-1 {
+		max-width: 31%;
+	}
+	.col3-2 {
+		max-width: 62%;
+	}
+	
+
+	/************************************************************************************
+	SLIDER
+	*************************************************************************************/
+	#slider .slide-feature-image {
+		max-width: 40%;
+		margin-right: 3%;
+		margin-bottom: 2%;
+	}
+	#slider .slide-content {
+		padding: 1% 0 0;
+		font-size: 100%;
+		line-height: 130%;
+		overflow: visible;
+	}
+	#slider img {
+		width: auto\9; /* ie8 */
+		max-width: 98.5%;
+		height: auto;
+	}
+
+	/************************************************************************************
+	LAYOUTS
+	*************************************************************************************/
+	/* list post */
+	.list-post .post,
+	.list-post .type-page,
+	.list-post .attachment {
+		width: 80% !important;
+	}
+	
+	/* grid4 */
+	.grid4 .post {
+		width: 23.125%;
+		margin-left: 2.5%;
+	}
+
+	/* grid3 */
+	.grid3 .post {
+		width: 31%;
+		margin-left: 3.5%;
+	}
+
+	/* grid2 */
+	.grid2 .post {
+		width: 48%;
+		margin-left: 3.75%;
+	}
+
+	.social-widget {
+		color:#30406B;
+	}
+	
+}
+
+@media screen and (max-width: 760px) {
+
+	/************************************************************************************
+	STRUCTURE
+	*************************************************************************************/
+	.sidebar1 #content {
+		width: 100%;
+		max-width: 100%;
+		float: none;
+		clear: both;
+	}
+	
+	/* sidebar */
+	#sidebar {
+		width: 100%;
+		max-width: 100%;
+		float: none;
+		clear: both;
+	}
+	#sidebar .secondary {
+		width: 48%;
+	}
+	
+	/************************************************************************************
+	HEADER
+	*************************************************************************************/
+	/* reset absolute elements to static */
+	#header .social-widget, #site-logo, #site-description, #header #searchform, #main-nav  {
+		position: static !important;
+		float: none;
+		clear: both;
+	}
+	
+	/* header */
+	#header {
+		height: auto;
+	}
+	
+	#header .rss a {
+		color:#30406B;
+	}
+	
+	/* header widget */
+	.header-widget {
+		position: static !important;
+		float: none;
+		text-align: left;
+		clear: both;
+		margin: 0;
+	}
+	.header-widget .widget {
+		margin: 0 0 10px;
+	}
+	
+	/* nav bar */
+	#nav-bar {
+		height: 10px;
+		position: static !important;
+	}
+
+	/* social widget */
+	#header .social-widget {
+		padding: 5px 0 20px;
+	}
+
+	/* search form */
+	#header #searchform {
+		position: absolute;
+		top: 0;
+		left: inherit;
+		right: 0;
+		width: 150px;
+	}
+	#header #searchform #s {
+		display:none;
+		/* float: right;
+		width: 85px;*/ 
+	}
+	#header #searchform input#s:focus {
+		width: 150px;
+	}
+	
+	/* site logo */
+	#site-logo {
+		/* margin: 15px 100px 10px 0; */
+		padding-top:30px;
+	}
+	#site-logo a {
+		font-size: 30px;
+	}
+
+	/* site description */
+	#site-description {
+		margin: 0 0 10px;
+	}
+
+	/************************************************************************************
+	MAIN NAV
+	*************************************************************************************/
+	#main-nav {
+		width:100%;
+		height: auto;
+		margin: 10px 0;
+		padding:10px;		
+		background-color: #30406B;
+	}
+	#main-nav a {
+	}
+
+	/************************************************************************************
+	SLIDER
+	*************************************************************************************/
+	#slider .slide-post-title {
+		font-size: 260%;
+		line-height: 100%;
+		margin: 0 0 1%;
+	}
+	#slider .slide-content {
+		font-size: 90%;
+	}
+	#slider .caption {
+		font-size: 80%;
+		line-height: 120%;
+	}
+	
+	/************************************************************************************
+	HOME HIGHLIGHTS
+	*************************************************************************************/
+	.home-highlights .home-highlights-content {
+		overflow: visible;
+	}
+
+	/************************************************************************************
+	LAYOUTS
+	*************************************************************************************/
+	/* list post */
+	.list-post .post,
+	.list-post .type-page,
+	.list-post .attachment {
+		width: 78% !important;
+	}
+
+	/************************************************************************************
+	FOOTER
+	*************************************************************************************/
+	.footer-nav {
+		padding-right: 200px;
+	}
+	.footer-nav li {
+		margin: 0 8px 5px 0;
+	}
+
+}
+
+@media screen and (max-width: 600px) {
+	
+	/************************************************************************************
+	LAYOUTS
+	*************************************************************************************/
+	/* list post */
+	.list-post .post,
+	.list-post .type-page,
+	.list-post .attachment {
+		padding-left: 0 !important;
+		width: 100% !important;
+		max-width: 100% !important;
+	}
+	.list-post .post-meta {
+		width: 100%;
+		text-align: left;
+		/* position: static; */
+		display: block;
+	height: 60px;
+	}
+	.list-post .post-meta span {
+		display: block;
+		margin: 0 5px 0 0;
+		border: none;
+		clear:both;
+	}
+	.list-post .post-icon {
+		/* width: 27px;
+		height: 30px;
+		display: block;
+		float: left;
+		margin: 2px 14px 5px 0;
+		border: none;
+		position: static; */
+	}
+
+	.list-post .post-title {
+		margin:0;
+	}
+
+	.list-post .post-meta .post-date {
+		margin-bottom:0px;
+	}
+
+
+	/* grid4 */
+	.grid4 .post, .sidebar1 .grid4 .post {
+		width: 100%;
+		margin-left: 0;
+		float: none;
+	}
+
+	/* grid3 */
+	.grid3 .post, .sidebar1 .grid3 .post {
+		width: 100%;
+		margin-left: 0;
+		float: none;
+	}
+	
+	/* action text */
+	.action-text {
+		padding: 3% 4%;
+	}
+	.action-text .button {
+		position: static;
+		clear: both;
+		width: auto;
+		margin: 2% 0 0;
+	}
+
+}
+
+@media screen and (max-width: 480px) {
+
+	/* disable webkit text size adjust (for iPhone) */
+	html {
+		-webkit-text-size-adjust: none;
+	}
+
+	/************************************************************************************
+	GRID
+	*************************************************************************************/
+	.col4-1,
+	.col4-2, .col2-1,
+	.col4-3,
+	.col3-1,
+	.col3-2	 {
+		margin-left: 0;
+		width: 100%;
+		max-width: 100%;
+	}
+
+	/************************************************************************************
+	HEADER
+	*************************************************************************************/
+	#header hgroup {
+		text-align: left;
+	}
+	
+	/* site logo */
+	#site-logo {
+		font-size: 42px;
+		text-align: left;
+		padding: 0 90px 0 0;
+		width: auto;
+		/* margin: 10px 0; */
+		padding-top: 30px;
+	}
+	
+	/* site description */
+	#site-description {
+		text-align: left;
+		margin: 0 0 10px;
+	}
+	
+	/* searchform */
+	#header #searchform {
+		top: 0;
+		left: inherit;
+		right: 0;
+		width: 150px;
+	}
+	#header #searchform #s {
+		display:none;
+		/* float: right;
+		width: 85px; */ 
+	}
+	
+	/* social widget */
+	.social-widget {
+		position: static !important;
+		margin: 10px 0;
+		float: none;
+		padding: 0;
+	}
+
+	/************************************************************************************
+	LAYOUTS
+	*************************************************************************************/
+	/* grid4 */
+	.grid4 .post {
+		font-size: 100%;
+	}
+
+	/* grid2 */
+	.grid2 .post, .sidebar1 .grid2 .post {
+		width: 100%;
+		margin-left: 0;
+		float: none;
+	}
+	
+	/* post title */
+	.post-title {
+		margin: 0 0 2px !important;
+		padding-top: 4px;
+		font-size: 2em !important;
+	}
+
+	/************************************************************************************
+	POST NAV
+	*************************************************************************************/
+	.post-nav .prev, .post-nav .next {
+		display: block;
+		width: 100%;
+		clear: both;
+		margin-bottom: 10px;
+	}
+	
+	/************************************************************************************
+	COMMENTS
+	*************************************************************************************/
+	.commentlist {
+		padding-left: 0;
+	}
+	.commentlist .commententry {
+		clear: left;
+	}
+	.commentlist .avatar {
+		float: left;
+		width: 40px;
+		height: 40px;
+		margin: 0 10px 10px 0;
+	}
+
+	/* commentlist sub-levels */
+	.commentlist ul, .commentlist ol {
+		margin: 0 0 0 7%;
+	}
+
+	/************************************************************************************
+	FOOTER
+	*************************************************************************************/
+	#footer-logo {
+		position: static !important;
+	}
+	.footer-nav {
+		padding: 0;
+	}
+
+}
\ No newline at end of file
diff --git a/bigbluebutton-client/resources/prod/help/CSS/prettyPhoto.css b/bigbluebutton-client/resources/prod/help/CSS/prettyPhoto.css
new file mode 100755
index 0000000000000000000000000000000000000000..97894c59eda8eb52ff959dbb376628c89af2f695
--- /dev/null
+++ b/bigbluebutton-client/resources/prod/help/CSS/prettyPhoto.css
@@ -0,0 +1,6 @@
+div.pp_default .pp_top,div.pp_default .pp_top .pp_middle,div.pp_default .pp_top .pp_left,div.pp_default .pp_top .pp_right,div.pp_default .pp_bottom,div.pp_default .pp_bottom .pp_left,div.pp_default .pp_bottom .pp_middle,div.pp_default .pp_bottom .pp_right{height:13px}div.pp_default .pp_top .pp_left{background:url(images/prettyPhoto/default/sprite.png) -78px -93px no-repeat}div.pp_default .pp_top .pp_middle{background:url(images/prettyPhoto/default/sprite_x.png) top left repeat-x}div.pp_default .pp_top .pp_right{background:url(images/prettyPhoto/default/sprite.png) -112px -93px no-repeat}div.pp_default .pp_content .ppt{color:#f8f8f8}div.pp_default .pp_content_container .pp_left{background:url(images/prettyPhoto/default/sprite_y.png) -7px 0 repeat-y;padding-left:13px}div.pp_default .pp_content_container .pp_right{background:url(images/prettyPhoto/default/sprite_y.png) top right repeat-y;padding-right:13px}div.pp_default .pp_next:hover{background:url(images/prettyPhoto/default/sprite_next.png) center right no-repeat;cursor:pointer}div.pp_default .pp_previous:hover{background:url(images/prettyPhoto/default/sprite_prev.png) center left no-repeat;cursor:pointer}div.pp_default .pp_expand{background:url(images/prettyPhoto/default/sprite.png) 0 -29px no-repeat;cursor:pointer;width:28px;height:28px}div.pp_default .pp_expand:hover{background:url(images/prettyPhoto/default/sprite.png) 0 -56px no-repeat;cursor:pointer}div.pp_default .pp_contract{background:url(images/prettyPhoto/default/sprite.png) 0 -84px no-repeat;cursor:pointer;width:28px;height:28px}div.pp_default .pp_contract:hover{background:url(images/prettyPhoto/default/sprite.png) 0 -113px no-repeat;cursor:pointer}div.pp_default .pp_close{width:30px;height:30px;background:url(images/prettyPhoto/default/sprite.png) 2px 1px no-repeat;cursor:pointer}div.pp_default .pp_gallery ul li a{background:url(images/prettyPhoto/default/default_thumb.png) center center #f8f8f8;border:1px solid #aaa}div.pp_default .pp_gallery a.pp_arrow_previous,div.pp_default .pp_gallery a.pp_arrow_next{position:static;left:auto}div.pp_default .pp_nav .pp_play,div.pp_default .pp_nav .pp_pause{background:url(images/prettyPhoto/default/sprite.png) -51px 1px no-repeat;height:30px;width:30px}div.pp_default .pp_nav .pp_pause{background-position:-51px -29px}div.pp_default a.pp_arrow_previous,div.pp_default a.pp_arrow_next{background:url(images/prettyPhoto/default/sprite.png) -31px -3px no-repeat;height:20px;width:20px;margin:4px 0 0}div.pp_default a.pp_arrow_next{left:52px;background-position:-82px -3px}div.pp_default .pp_content_container .pp_details{margin-top:5px}div.pp_default .pp_nav{clear:none;height:30px;width:105px;position:relative}div.pp_default .pp_nav .currentTextHolder{font-family:Georgia;font-style:italic;font-color:#999;font-size:11px;left:75px;line-height:25px;position:absolute;top:2px;margin:0;padding:0 0 0 10px}div.pp_default .pp_close:hover,div.pp_default .pp_nav .pp_play:hover,div.pp_default .pp_nav .pp_pause:hover,div.pp_default .pp_arrow_next:hover,div.pp_default .pp_arrow_previous:hover{opacity:0.7}div.pp_default .pp_description{font-size:11px;font-weight:700;line-height:14px;margin:5px 50px 5px 0}div.pp_default .pp_bottom .pp_left{background:url(images/prettyPhoto/default/sprite.png) -78px -127px no-repeat}div.pp_default .pp_bottom .pp_middle{background:url(images/prettyPhoto/default/sprite_x.png) bottom left repeat-x}div.pp_default .pp_bottom .pp_right{background:url(images/prettyPhoto/default/sprite.png) -112px -127px no-repeat}div.pp_default .pp_loaderIcon{background:url(images/prettyPhoto/default/loader.gif) center center no-repeat}div.light_rounded .pp_top .pp_left{background:url(images/prettyPhoto/light_rounded/sprite.png) -88px -53px no-repeat}div.light_rounded .pp_top .pp_right{background:url(images/prettyPhoto/light_rounded/sprite.png) -110px -53px no-repeat}div.light_rounded .pp_next:hover{background:url(images/prettyPhoto/light_rounded/btnNext.png) center right no-repeat;cursor:pointer}div.light_rounded .pp_previous:hover{background:url(images/prettyPhoto/light_rounded/btnPrevious.png) center left no-repeat;cursor:pointer}div.light_rounded .pp_expand{background:url(images/prettyPhoto/light_rounded/sprite.png) -31px -26px no-repeat;cursor:pointer}div.light_rounded .pp_expand:hover{background:url(images/prettyPhoto/light_rounded/sprite.png) -31px -47px no-repeat;cursor:pointer}div.light_rounded .pp_contract{background:url(images/prettyPhoto/light_rounded/sprite.png) 0 -26px no-repeat;cursor:pointer}div.light_rounded .pp_contract:hover{background:url(images/prettyPhoto/light_rounded/sprite.png) 0 -47px no-repeat;cursor:pointer}div.light_rounded .pp_close{width:75px;height:22px;background:url(images/prettyPhoto/light_rounded/sprite.png) -1px -1px no-repeat;cursor:pointer}div.light_rounded .pp_nav .pp_play{background:url(images/prettyPhoto/light_rounded/sprite.png) -1px -100px no-repeat;height:15px;width:14px}div.light_rounded .pp_nav .pp_pause{background:url(images/prettyPhoto/light_rounded/sprite.png) -24px -100px no-repeat;height:15px;width:14px}div.light_rounded .pp_arrow_previous{background:url(images/prettyPhoto/light_rounded/sprite.png) 0 -71px no-repeat}div.light_rounded .pp_arrow_next{background:url(images/prettyPhoto/light_rounded/sprite.png) -22px -71px no-repeat}div.light_rounded .pp_bottom .pp_left{background:url(images/prettyPhoto/light_rounded/sprite.png) -88px -80px no-repeat}div.light_rounded .pp_bottom .pp_right{background:url(images/prettyPhoto/light_rounded/sprite.png) -110px -80px no-repeat}div.dark_rounded .pp_top .pp_left{background:url(images/prettyPhoto/dark_rounded/sprite.png) -88px -53px no-repeat}div.dark_rounded .pp_top .pp_right{background:url(images/prettyPhoto/dark_rounded/sprite.png) -110px -53px no-repeat}div.dark_rounded .pp_content_container .pp_left{background:url(images/prettyPhoto/dark_rounded/contentPattern.png) top left repeat-y}div.dark_rounded .pp_content_container .pp_right{background:url(images/prettyPhoto/dark_rounded/contentPattern.png) top right repeat-y}div.dark_rounded .pp_next:hover{background:url(images/prettyPhoto/dark_rounded/btnNext.png) center right no-repeat;cursor:pointer}div.dark_rounded .pp_previous:hover{background:url(images/prettyPhoto/dark_rounded/btnPrevious.png) center left no-repeat;cursor:pointer}div.dark_rounded .pp_expand{background:url(images/prettyPhoto/dark_rounded/sprite.png) -31px -26px no-repeat;cursor:pointer}div.dark_rounded .pp_expand:hover{background:url(images/prettyPhoto/dark_rounded/sprite.png) -31px -47px no-repeat;cursor:pointer}div.dark_rounded .pp_contract{background:url(images/prettyPhoto/dark_rounded/sprite.png) 0 -26px no-repeat;cursor:pointer}div.dark_rounded .pp_contract:hover{background:url(images/prettyPhoto/dark_rounded/sprite.png) 0 -47px no-repeat;cursor:pointer}div.dark_rounded .pp_close{width:75px;height:22px;background:url(images/prettyPhoto/dark_rounded/sprite.png) -1px -1px no-repeat;cursor:pointer}div.dark_rounded .pp_description{margin-right:85px;color:#fff}div.dark_rounded .pp_nav .pp_play{background:url(images/prettyPhoto/dark_rounded/sprite.png) -1px -100px no-repeat;height:15px;width:14px}div.dark_rounded .pp_nav .pp_pause{background:url(images/prettyPhoto/dark_rounded/sprite.png) -24px -100px no-repeat;height:15px;width:14px}div.dark_rounded .pp_arrow_previous{background:url(images/prettyPhoto/dark_rounded/sprite.png) 0 -71px no-repeat}div.dark_rounded .pp_arrow_next{background:url(images/prettyPhoto/dark_rounded/sprite.png) -22px -71px no-repeat}div.dark_rounded .pp_bottom .pp_left{background:url(images/prettyPhoto/dark_rounded/sprite.png) -88px -80px no-repeat}div.dark_rounded .pp_bottom .pp_right{background:url(images/prettyPhoto/dark_rounded/sprite.png) -110px -80px no-repeat}div.dark_rounded .pp_loaderIcon{background:url(images/prettyPhoto/dark_rounded/loader.gif) center center no-repeat}div.dark_square .pp_left,div.dark_square .pp_middle,div.dark_square .pp_right,div.dark_square .pp_content{background:#000}div.dark_square .pp_description{color:#fff;margin:0 85px 0 0}div.dark_square .pp_loaderIcon{background:url(images/prettyPhoto/dark_square/loader.gif) center center no-repeat}div.dark_square .pp_expand{background:url(images/prettyPhoto/dark_square/sprite.png) -31px -26px no-repeat;cursor:pointer}div.dark_square .pp_expand:hover{background:url(images/prettyPhoto/dark_square/sprite.png) -31px -47px no-repeat;cursor:pointer}div.dark_square .pp_contract{background:url(images/prettyPhoto/dark_square/sprite.png) 0 -26px no-repeat;cursor:pointer}div.dark_square .pp_contract:hover{background:url(images/prettyPhoto/dark_square/sprite.png) 0 -47px no-repeat;cursor:pointer}div.dark_square .pp_close{width:75px;height:22px;background:url(images/prettyPhoto/dark_square/sprite.png) -1px -1px no-repeat;cursor:pointer}div.dark_square .pp_nav{clear:none}div.dark_square .pp_nav .pp_play{background:url(images/prettyPhoto/dark_square/sprite.png) -1px -100px no-repeat;height:15px;width:14px}div.dark_square .pp_nav .pp_pause{background:url(images/prettyPhoto/dark_square/sprite.png) -24px -100px no-repeat;height:15px;width:14px}div.dark_square .pp_arrow_previous{background:url(images/prettyPhoto/dark_square/sprite.png) 0 -71px no-repeat}div.dark_square .pp_arrow_next{background:url(images/prettyPhoto/dark_square/sprite.png) -22px -71px no-repeat}div.dark_square .pp_next:hover{background:url(images/prettyPhoto/dark_square/btnNext.png) center right no-repeat;cursor:pointer}div.dark_square .pp_previous:hover{background:url(images/prettyPhoto/dark_square/btnPrevious.png) center left no-repeat;cursor:pointer}div.light_square .pp_expand{background:url(images/prettyPhoto/light_square/sprite.png) -31px -26px no-repeat;cursor:pointer}div.light_square .pp_expand:hover{background:url(images/prettyPhoto/light_square/sprite.png) -31px -47px no-repeat;cursor:pointer}div.light_square .pp_contract{background:url(images/prettyPhoto/light_square/sprite.png) 0 -26px no-repeat;cursor:pointer}div.light_square .pp_contract:hover{background:url(images/prettyPhoto/light_square/sprite.png) 0 -47px no-repeat;cursor:pointer}div.light_square .pp_close{width:75px;height:22px;background:url(images/prettyPhoto/light_square/sprite.png) -1px -1px no-repeat;cursor:pointer}div.light_square .pp_nav .pp_play{background:url(images/prettyPhoto/light_square/sprite.png) -1px -100px no-repeat;height:15px;width:14px}div.light_square .pp_nav .pp_pause{background:url(images/prettyPhoto/light_square/sprite.png) -24px -100px no-repeat;height:15px;width:14px}div.light_square .pp_arrow_previous{background:url(images/prettyPhoto/light_square/sprite.png) 0 -71px no-repeat}div.light_square .pp_arrow_next{background:url(images/prettyPhoto/light_square/sprite.png) -22px -71px no-repeat}div.light_square .pp_next:hover{background:url(images/prettyPhoto/light_square/btnNext.png) center right no-repeat;cursor:pointer}div.light_square .pp_previous:hover{background:url(images/prettyPhoto/light_square/btnPrevious.png) center left no-repeat;cursor:pointer}div.facebook .pp_top .pp_left{background:url(images/prettyPhoto/facebook/sprite.png) -88px -53px no-repeat}div.facebook .pp_top .pp_middle{background:url(images/prettyPhoto/facebook/contentPatternTop.png) top left repeat-x}div.facebook .pp_top .pp_right{background:url(images/prettyPhoto/facebook/sprite.png) -110px -53px no-repeat}div.facebook .pp_content_container .pp_left{background:url(images/prettyPhoto/facebook/contentPatternLeft.png) top left repeat-y}div.facebook .pp_content_container .pp_right{background:url(images/prettyPhoto/facebook/contentPatternRight.png) top right repeat-y}div.facebook .pp_expand{background:url(images/prettyPhoto/facebook/sprite.png) -31px -26px no-repeat;cursor:pointer}div.facebook .pp_expand:hover{background:url(images/prettyPhoto/facebook/sprite.png) -31px -47px no-repeat;cursor:pointer}div.facebook .pp_contract{background:url(images/prettyPhoto/facebook/sprite.png) 0 -26px no-repeat;cursor:pointer}div.facebook .pp_contract:hover{background:url(images/prettyPhoto/facebook/sprite.png) 0 -47px no-repeat;cursor:pointer}div.facebook .pp_close{width:22px;height:22px;background:url(images/prettyPhoto/facebook/sprite.png) -1px -1px no-repeat;cursor:pointer}div.facebook .pp_description{margin:0 37px 0 0}div.facebook .pp_loaderIcon{background:url(images/prettyPhoto/facebook/loader.gif) center center no-repeat}div.facebook .pp_arrow_previous{background:url(images/prettyPhoto/facebook/sprite.png) 0 -71px no-repeat;height:22px;margin-top:0;width:22px}div.facebook .pp_arrow_previous.disabled{background-position:0 -96px;cursor:default}div.facebook .pp_arrow_next{background:url(images/prettyPhoto/facebook/sprite.png) -32px -71px no-repeat;height:22px;margin-top:0;width:22px}div.facebook .pp_arrow_next.disabled{background-position:-32px -96px;cursor:default}div.facebook .pp_nav{margin-top:0}div.facebook .pp_nav p{font-size:15px;padding:0 3px 0 4px}div.facebook .pp_nav .pp_play{background:url(images/prettyPhoto/facebook/sprite.png) -1px -123px no-repeat;height:22px;width:22px}div.facebook .pp_nav .pp_pause{background:url(images/prettyPhoto/facebook/sprite.png) -32px -123px no-repeat;height:22px;width:22px}div.facebook .pp_next:hover{background:url(images/prettyPhoto/facebook/btnNext.png) center right no-repeat;cursor:pointer}div.facebook .pp_previous:hover{background:url(images/prettyPhoto/facebook/btnPrevious.png) center left no-repeat;cursor:pointer}div.facebook .pp_bottom .pp_left{background:url(images/prettyPhoto/facebook/sprite.png) -88px -80px no-repeat}div.facebook .pp_bottom .pp_middle{background:url(images/prettyPhoto/facebook/contentPatternBottom.png) top left repeat-x}div.facebook .pp_bottom .pp_right{background:url(images/prettyPhoto/facebook/sprite.png) -110px -80px no-repeat}div.pp_pic_holder a:focus{outline:none}div.pp_overlay{background:#000;display:none;left:0;position:absolute;top:0;width:100%;z-index:9500}div.pp_pic_holder{display:none;position:absolute;width:100px;z-index:10000}.pp_content{height:40px;min-width:40px}* html .pp_content{width:40px}.pp_content_container{position:relative;text-align:left;width:100%}.pp_content_container .pp_left{padding-left:20px}.pp_content_container .pp_right{padding-right:20px}.pp_content_container .pp_details{float:left;margin:10px 0 2px}.pp_description{display:none;margin:0}.pp_social{float:left;margin:7px 0 0}.pp_social .facebook{float:left;position:relative;top:-1px;margin-left:5px;width:55px;overflow:hidden}.pp_social .twitter{float:left}.pp_nav{clear:right;float:left;margin:3px 10px 0 0}.pp_nav p{float:left;margin:2px 4px}.pp_nav .pp_play,.pp_nav .pp_pause{float:left;margin-right:4px;text-indent:-10000px}a.pp_arrow_previous,a.pp_arrow_next{display:block;float:left;height:15px;margin-top:3px;overflow:hidden;text-indent:-10000px;width:14px}.pp_hoverContainer{position:absolute;top:0;width:100%;z-index:2000}.pp_gallery{display:none;left:50%;margin-top:-50px;position:absolute;z-index:10000}.pp_gallery div{float:left;overflow:hidden;position:relative}.pp_gallery ul{float:left;height:35px;position:relative;white-space:nowrap;margin:0 0 0 5px;padding:0}.pp_gallery ul a{border:1px rgba(0,0,0,0.5) solid;display:block;float:left;height:33px;overflow:hidden}.pp_gallery ul a img{border:0}.pp_gallery li{display:block;float:left;margin:0 5px 0 0;padding:0}.pp_gallery li.default a{background:url(images/prettyPhoto/facebook/default_thumbnail.gif) 0 0 no-repeat;display:block;height:33px;width:50px}.pp_gallery .pp_arrow_previous,.pp_gallery .pp_arrow_next{margin-top:7px!important}a.pp_next{background:url(images/prettyPhoto/light_rounded/btnNext.png) 10000px 10000px no-repeat;display:block;float:right;height:100%;text-indent:-10000px;width:49%}a.pp_previous{background:url(images/prettyPhoto/light_rounded/btnNext.png) 10000px 10000px no-repeat;display:block;float:left;height:100%;text-indent:-10000px;width:49%}a.pp_expand,a.pp_contract{cursor:pointer;display:none;height:20px;position:absolute;right:30px;text-indent:-10000px;top:10px;width:20px;z-index:20000}a.pp_close{position:absolute;right:0;top:0;display:block;line-height:22px;text-indent:-10000px}.pp_loaderIcon{display:block;height:24px;left:50%;position:absolute;top:50%;width:24px;margin:-12px 0 0 -12px}#pp_full_res{line-height:1!important}#pp_full_res .pp_inline{text-align:left}#pp_full_res .pp_inline p{margin:0 0 15px}div.ppt{color:#fff;display:none;font-size:17px;z-index:9999;margin:0 0 5px 15px}div.pp_default .pp_content,div.light_rounded .pp_content{background-color:#fff}div.pp_default #pp_full_res .pp_inline,div.light_rounded .pp_content .ppt,div.light_rounded #pp_full_res .pp_inline,div.light_square .pp_content .ppt,div.light_square #pp_full_res .pp_inline,div.facebook .pp_content .ppt,div.facebook #pp_full_res .pp_inline{color:#000}div.pp_default .pp_gallery ul li a:hover,div.pp_default .pp_gallery ul li.selected a,.pp_gallery ul a:hover,.pp_gallery li.selected a{border-color:#fff}div.pp_default .pp_details,div.light_rounded .pp_details,div.dark_rounded .pp_details,div.dark_square .pp_details,div.light_square .pp_details,div.facebook .pp_details{position:relative}div.light_rounded .pp_top .pp_middle,div.light_rounded .pp_content_container .pp_left,div.light_rounded .pp_content_container .pp_right,div.light_rounded .pp_bottom .pp_middle,div.light_square .pp_left,div.light_square .pp_middle,div.light_square .pp_right,div.light_square .pp_content,div.facebook .pp_content{background:#fff}div.light_rounded .pp_description,div.light_square .pp_description{margin-right:85px}div.light_rounded .pp_gallery a.pp_arrow_previous,div.light_rounded .pp_gallery a.pp_arrow_next,div.dark_rounded .pp_gallery a.pp_arrow_previous,div.dark_rounded .pp_gallery a.pp_arrow_next,div.dark_square .pp_gallery a.pp_arrow_previous,div.dark_square .pp_gallery a.pp_arrow_next,div.light_square .pp_gallery a.pp_arrow_previous,div.light_square .pp_gallery a.pp_arrow_next{margin-top:12px!important}div.light_rounded .pp_arrow_previous.disabled,div.dark_rounded .pp_arrow_previous.disabled,div.dark_square .pp_arrow_previous.disabled,div.light_square .pp_arrow_previous.disabled{background-position:0 -87px;cursor:default}div.light_rounded .pp_arrow_next.disabled,div.dark_rounded .pp_arrow_next.disabled,div.dark_square .pp_arrow_next.disabled,div.light_square .pp_arrow_next.disabled{background-position:-22px -87px;cursor:default}div.light_rounded .pp_loaderIcon,div.light_square .pp_loaderIcon{background:url(images/prettyPhoto/light_rounded/loader.gif) center center no-repeat}div.dark_rounded .pp_top .pp_middle,div.dark_rounded .pp_content,div.dark_rounded .pp_bottom .pp_middle{background:url(images/prettyPhoto/dark_rounded/contentPattern.png) top left repeat}div.dark_rounded .currentTextHolder,div.dark_square .currentTextHolder{color:#c4c4c4}div.dark_rounded #pp_full_res .pp_inline,div.dark_square #pp_full_res .pp_inline{color:#fff}.pp_top,.pp_bottom{height:20px;position:relative}* html .pp_top,* html .pp_bottom{padding:0 20px}.pp_top .pp_left,.pp_bottom .pp_left{height:20px;left:0;position:absolute;width:20px}.pp_top .pp_middle,.pp_bottom .pp_middle{height:20px;left:20px;position:absolute;right:20px}* html .pp_top .pp_middle,* html .pp_bottom .pp_middle{left:0;position:static}.pp_top .pp_right,.pp_bottom .pp_right{height:20px;left:auto;position:absolute;right:0;top:0;width:20px}.pp_fade,.pp_gallery li.default a img{display:none}
+
+/* hide social */
+.pp_social {
+	display: none;
+}
\ No newline at end of file
diff --git a/bigbluebutton-client/resources/prod/help/CSS/shortcodes.css b/bigbluebutton-client/resources/prod/help/CSS/shortcodes.css
new file mode 100755
index 0000000000000000000000000000000000000000..e1323e181caafdf9fe7b767d4a341508c4799424
--- /dev/null
+++ b/bigbluebutton-client/resources/prod/help/CSS/shortcodes.css
@@ -0,0 +1,1039 @@
+/************************************************************************************
+BUTTONS
+*************************************************************************************/
+a.button {
+	text-decoration: none !important;
+	color: #333;	
+	font: 100% Arial, Helvetica, sans-serif;
+	padding: 5px 13px;
+	margin: 0 3px 5px 0;
+	
+	border: solid 1px #aaa;
+
+	background: #f5f5f5;
+	background: -moz-linear-gradient(top, #f6f6f6 0%, #dfdfdf 100%);
+	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f6f6f6), color-stop(100%,#dfdfdf));
+	background: -webkit-linear-gradient(top, #f6f6f6 0%,#dfdfdf 100%);
+	background: -o-linear-gradient(top, #f6f6f6 0%,#dfdfdf 100%);
+	background: -ms-linear-gradient(top, #f6f6f6 0%,#dfdfdf 100%);
+	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f6f6f6', endColorstr='#dfdfdf',GradientType=0 );
+	background: linear-gradient(top, #f6f6f6 0%,#dfdfdf 100%);
+
+	vertical-align: middle;
+	display: inline-block;
+	zoom:1;
+	*display:inline;
+
+	text-shadow: 0 1px 0 rgba(255,255,255,.5);
+
+	-webkit-border-radius: 5px;
+	-moz-border-radius: 5px;
+	border-radius: 5px;
+
+	-webkit-box-shadow: 0 1px 0 rgba(0,0,0,.1), inset 0 1px 0 rgba(255,255,255,.5), inset 0 -1px 0 rgba(255,255,255,.3);
+	-moz-box-shadow: 0 1px 0 rgba(0,0,0,.1), inset 0 1px 0 rgba(255,255,255,.5), inset 0 -1px 0 rgba(255,255,255,.3);
+	box-shadow: 0 1px 0 rgba(0,0,0,.1), inset 0 1px 0 rgba(255,255,255,.5), inset 0 -1px 0 rgba(255,255,255,.3);
+}
+a.button:hover {
+	text-decoration: none;
+	background: #f6f6f6;
+}
+
+/* color */
+a.button.flat {
+	background: #f5f5f5;
+}
+
+a.button.yellow {
+	border-color: #edad14;
+	background: #ffe20b;
+	background: -moz-linear-gradient(top, #fff21e 0%, #ffd901 100%);
+	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#fff21e), color-stop(100%,#ffd901));
+	background: -webkit-linear-gradient(top, #fff21e 0%,#ffd901 100%);
+	background: -o-linear-gradient(top, #fff21e 0%,#ffd901 100%);
+	background: -ms-linear-gradient(top, #fff21e 0%,#ffd901 100%);
+	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fff21e', endColorstr='#ffd901',GradientType=0 );
+	background: linear-gradient(top, #fff21e 0%,#ffd901 100%);
+}
+a.button.yellow:hover {
+	background: #fff21e;
+}
+a.button.yellow.flat {
+	background: #ffe20b;
+}
+
+a.button.orange {
+	border-color: #a3620a;
+	background: #f9800f;
+	background: -moz-linear-gradient(top, #ff9a22 0%, #f46e01 100%);
+	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ff9a22), color-stop(100%,#f46e01));
+	background: -webkit-linear-gradient(top, #ff9a22 0%,#f46e01 100%);
+	background: -o-linear-gradient(top, #ff9a22 0%,#f46e01 100%);
+	background: -ms-linear-gradient(top, #ff9a22 0%,#f46e01 100%);
+	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ff9a22', endColorstr='#f46e01',GradientType=0 );
+	background: linear-gradient(top, #ff9a22 0%,#f46e01 100%);
+	color: #fff !important;
+	text-shadow: 0 -1px 0 rgba(0,0,0,.4);
+}
+a.button.orange:hover {
+	background: #ff9a22;
+}
+a.button.orange.flat {
+	background: #f9800f;
+}
+
+a.button.blue {
+	border-color: #0076a3;
+	background: #49b3fc;
+	background: -moz-linear-gradient(top, #76c7ff 0%, #1da0fa 100%);
+	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#76c7ff), color-stop(100%,#1da0fa));
+	background: -webkit-linear-gradient(top, #76c7ff 0%,#1da0fa 100%);
+	background: -o-linear-gradient(top, #76c7ff 0%,#1da0fa 100%);
+	background: -ms-linear-gradient(top, #76c7ff 0%,#1da0fa 100%);
+	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#76c7ff', endColorstr='#1da0fa',GradientType=0 );
+	background: linear-gradient(top, #76c7ff 0%,#1da0fa 100%);
+	color: #fff !important;
+	text-shadow: 0 -1px 0 rgba(0,0,0,.4);
+}
+a.button.blue:hover {
+	background: #76c7ff;
+}
+a.button.blue.flat {
+	background: #49b3fc;
+}
+
+a.button.green {
+	border-color: #4e7521;
+	background: #76ab3b;
+	background: -moz-linear-gradient(top, #90c356 0%, #649a27 100%);
+	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#90c356), color-stop(100%,#649a27));
+	background: -webkit-linear-gradient(top, #90c356 0%,#649a27 100%);
+	background: -o-linear-gradient(top, #90c356 0%,#649a27 100%);
+	background: -ms-linear-gradient(top, #90c356 0%,#649a27 100%);
+	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#90c356', endColorstr='#649a27',GradientType=0 );
+	background: linear-gradient(top, #90c356 0%,#649a27 100%);
+	color: #fff !important;
+	text-shadow: 0 -1px 0 rgba(0,0,0,.4);
+}
+a.button.green:hover {
+	background: #90c356;
+}
+a.button.green.flat {
+	background: #76ab3b;
+}
+
+a.button.red {
+	border-color: #9e0b0f;
+	background: #e41d24;
+	background: -moz-linear-gradient(top, #fb4e55 0%, #d7020a 100%);
+	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#fb4e55), color-stop(100%,#d7020a));
+	background: -webkit-linear-gradient(top, #fb4e55 0%,#d7020a 100%);
+	background: -o-linear-gradient(top, #fb4e55 0%,#d7020a 100%);
+	background: -ms-linear-gradient(top, #fb4e55 0%,#d7020a 100%);
+	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fb4e55', endColorstr='#d7020a',GradientType=0 );
+	background: linear-gradient(top, #fb4e55 0%,#d7020a 100%);
+	color: #fff !important;
+	text-shadow: 0 -1px 0 rgba(0,0,0,.4);
+}
+a.button.red:hover {
+	background: #fb4e55;
+}
+a.button.red.flat {
+	background: #e41d24;
+}
+
+a.button.black {
+	border-color: #000000;
+	background: #111;
+	background: -moz-linear-gradient(top, #4f4f4f 0%, #030303 100%);
+	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#4f4f4f), color-stop(100%,#030303));
+	background: -webkit-linear-gradient(top, #4f4f4f 0%,#030303 100%);
+	background: -o-linear-gradient(top, #4f4f4f 0%,#030303 100%);
+	background: -ms-linear-gradient(top, #4f4f4f 0%,#030303 100%);
+	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#4f4f4f', endColorstr='#030303',GradientType=0 );
+	background: linear-gradient(top, #4f4f4f 0%,#030303 100%);
+	color: #eee !important;
+	text-shadow: 0 -1px 0 rgba(0,0,0,.8);
+}
+a.button.black:hover {
+	background: #4f4f4f;
+}
+a.button.black.flat {
+	background: #111;
+}
+
+a.button.purple {
+	border-color: #350d4c;
+	background: #7933ac;
+	background: -moz-linear-gradient(top, #9655c6 0%, #661e9b 100%);
+	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#9655c6), color-stop(100%,#661e9b));
+	background: -webkit-linear-gradient(top, #9655c6 0%,#661e9b 100%);
+	background: -o-linear-gradient(top, #9655c6 0%,#661e9b 100%);
+	background: -ms-linear-gradient(top, #9655c6 0%,#661e9b 100%);
+	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#9655c6', endColorstr='#661e9b',GradientType=0 );
+	background: linear-gradient(top, #9655c6 0%,#661e9b 100%);
+	color: #fff !important;
+	text-shadow: 0 -1px 0 rgba(0,0,0,.6);
+}
+a.button.purple:hover {
+	background: #9655c6;
+}
+a.button.purple.flat {
+	background: #7933ac;
+}
+
+a.button.gray {
+	border-color: #656565;
+	background: #888888;
+	background: -moz-linear-gradient(top, #adadad 0%, #707070 100%);
+	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#adadad), color-stop(100%,#707070));
+	background: -webkit-linear-gradient(top, #adadad 0%,#707070 100%);
+	background: -o-linear-gradient(top, #adadad 0%,#707070 100%);
+	background: -ms-linear-gradient(top, #adadad 0%,#707070 100%);
+	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#adadad', endColorstr='#707070',GradientType=0 );
+	background: linear-gradient(top, #adadad 0%,#707070 100%);
+	color: #fff !important;
+	text-shadow: 0 -1px 0 rgba(0,0,0,.3);
+}
+a.button.gray:hover {
+	background: #adadad;
+}
+a.button.gray.flat {
+	background: #888888;
+}
+
+/* light gradient */
+a.button.light-yellow {
+	border-color: #cbc67d;
+	background: #fef8a5;
+	background: -moz-linear-gradient(top, #fefcdf 0%, #fef79c 100%);
+	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#fefcdf), color-stop(100%,#fef79c));
+	background: -webkit-linear-gradient(top, #fefcdf 0%,#fef79c 100%);
+	background: -o-linear-gradient(top, #fefcdf 0%,#fef79c 100%);
+	background: -ms-linear-gradient(top, #fefcdf 0%,#fef79c 100%);
+	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fefcdf', endColorstr='#fef79c',GradientType=0 );
+	background: linear-gradient(top, #fefcdf 0%,#fef79c 100%);
+}
+a.button.light-yellow:hover {
+	background: #fefcdf;
+}
+a.button.light-yellow.flat {
+	background: #fef8a5;
+}
+
+a.button.light-blue {
+	border-color: #95becf;
+	background: #c5efff;
+	background: -moz-linear-gradient(top, #e9f9ff 0%, #c1eeff 100%);
+	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#e9f9ff), color-stop(100%,#c1eeff));
+	background: -webkit-linear-gradient(top, #e9f9ff 0%,#c1eeff 100%);
+	background: -o-linear-gradient(top, #e9f9ff 0%,#c1eeff 100%);
+	background: -ms-linear-gradient(top, #e9f9ff 0%,#c1eeff 100%);
+	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e9f9ff', endColorstr='#c1eeff',GradientType=0 );
+	background: linear-gradient(top, #e9f9ff 0%,#c1eeff 100%);
+}
+a.button.light-blue:hover {
+	background: #e9f9ff;
+}
+a.button.light-blue.flat {
+	background: #c5efff;
+}
+
+a.button.light-green {
+	border-color: #b0c98b;
+	background: #ebf8d6;
+	background: -moz-linear-gradient(top, #f9fff0 0%, #e5f6cb 100%);
+	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f9fff0), color-stop(100%,#e5f6cb));
+	background: -webkit-linear-gradient(top, #f9fff0 0%,#e5f6cb 100%);
+	background: -o-linear-gradient(top, #f9fff0 0%,#e5f6cb 100%);
+	background: -ms-linear-gradient(top, #f9fff0 0%,#e5f6cb 100%);
+	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f9fff0', endColorstr='#e5f6cb',GradientType=0 );
+	background: linear-gradient(top, #f9fff0 0%,#e5f6cb 100%);
+}
+a.button.light-green:hover {
+	background: #f9fff0;
+}
+a.button.light-green.flat {
+	background: #ebf8d6;
+}
+
+a.button.pink {
+	border-color: #de9db9;
+	background: #facde1;
+	background: -moz-linear-gradient(top, #fdecf3 0%, #f9c1d9 100%);
+	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#fdecf3), color-stop(100%,#f9c1d9));
+	background: -webkit-linear-gradient(top, #fdecf3 0%,#f9c1d9 100%);
+	background: -o-linear-gradient(top, #fdecf3 0%,#f9c1d9 100%);
+	background: -ms-linear-gradient(top, #fdecf3 0%,#f9c1d9 100%);
+	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fdecf3', endColorstr='#f9c1d9',GradientType=0 );
+	background: linear-gradient(top, #fdecf3 0%,#f9c1d9 100%);
+}
+a.button.pink:hover {
+	background: #fdecf3;
+}
+a.button.pink.flat {
+	background: #facde1;
+}
+
+a.button.lavender {
+	border-color: #c0a8d9;
+	background: #ecd9ff;
+	background: -moz-linear-gradient(top, #f7f0fe 0%, #e8d1ff 100%);
+	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f7f0fe), color-stop(100%,#e8d1ff));
+	background: -webkit-linear-gradient(top, #f7f0fe 0%,#e8d1ff 100%);
+	background: -o-linear-gradient(top, #f7f0fe 0%,#e8d1ff 100%);
+	background: -ms-linear-gradient(top, #f7f0fe 0%,#e8d1ff 100%);
+	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f7f0fe', endColorstr='#e8d1ff',GradientType=0 );
+	background: linear-gradient(top, #f7f0fe 0%,#e8d1ff 100%);
+}
+a.button.lavender:hover {
+	background: #f7f0fe;
+}
+a.button.lavender.flat {
+	background: #ecd9ff;
+}
+
+/* button size */
+a.button.small {
+	font-size: 85%;
+	font-weight: normal;
+	padding: 3px 8px;
+}
+a.button.large {
+	font-size: 120%;
+	font-weight: bold;
+	padding: 8px 20px;
+}
+a.button.xlarge {
+	font-size: 150%;
+	font-weight: bold;
+	padding: 12px 26px;
+}
+
+/* button shape */
+a.button.rect {
+	-webkit-border-radius: 0;
+	-moz-border-radius: 0;
+	border-radius: 0;
+}
+a.button.rounded {
+	-webkit-border-radius: 20em;
+	-moz-border-radius: 20em;
+	border-radius: 20em;
+}
+
+/* button embossed */
+a.button.embossed {
+	-webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.5), inset 0 -2px 0 rgba(0,0,0,.2), inset 0 -3px 0 rgba(255,255,255,.2);
+	-moz-box-shadow: inset 0 1px 0 rgba(255,255,255,.5), inset 0 -2px 0 rgba(0,0,0,.2), inset 0 -3px 0 rgba(255,255,255,.2);
+	box-shadow: inset 0 1px 0 rgba(255,255,255,.5), inset 0 -2px 0 rgba(0,0,0,.2), inset 0 -3px 0 rgba(255,255,255,.2);
+	padding-top: 4px;
+	padding-bottom: 6px;
+}
+a.button.embossed.small,
+a.button.small.embossed {
+	-webkit-box-shadow: inset 0 -1px 0 rgba(0,0,0,.2), inset 0 -2px 0 rgba(255,255,255,.2);
+	-moz-box-shadow: inset 0 -1px 0 rgba(0,0,0,.2), inset 0 -2px 0 rgba(255,255,255,.2);
+	box-shadow: inset 0 -1px 0 rgba(0,0,0,.2), inset 0 -2px 0 rgba(255,255,255,.2);
+	padding-top: 1px;
+	padding-bottom: 2px;
+}
+a.button.embossed.large,
+a.button.large.embossed {
+	-webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.5), inset 0 -3px 0 rgba(0,0,0,.2), inset 0 -4px 0 rgba(255,255,255,.2);
+	-moz-box-shadow: inset 0 1px 0 rgba(255,255,255,.5), inset 0 -3px 0 rgba(0,0,0,.2), inset 0 -4px 0 rgba(255,255,255,.2);
+	box-shadow: inset 0 1px 0 rgba(255,255,255,.5), inset 0 -3px 0 rgba(0,0,0,.2), inset 0 -4px 0 rgba(255,255,255,.2);
+	padding-top: 6px;
+	padding-bottom: 10px;
+}
+a.button.embossed.xlarge,
+a.button.xlarge.embossed {
+	-webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.5), inset 0 -3px 0 rgba(0,0,0,.2), inset 0 -5px 0 rgba(255,255,255,.2);
+	-moz-box-shadow: inset 0 1px 0 rgba(255,255,255,.5), inset 0 -3px 0 rgba(0,0,0,.2), inset 0 -5px 0 rgba(255,255,255,.2);
+	box-shadow: inset 0 1px 0 rgba(255,255,255,.5), inset 0 -3px 0 rgba(0,0,0,.2), inset 0 -5px 0 rgba(255,255,255,.2);
+	padding-top: 10px;
+	padding-bottom: 14px;
+}
+
+
+/* button active */
+.button:active {
+	position: relative;
+	top: 1px;
+}
+
+/************************************************************************************
+HR
+*************************************************************************************/
+hr {
+	height: 1px;
+	border: none;
+	border-top: solid 1px #ccc;
+	clear: both;
+}
+hr.red {
+	border-color: #F30;
+}
+hr.blue {
+	border-color: #69F;
+}
+hr.pink {
+	border-color: #F9C;
+}
+hr.light-gray {
+	border-color: #ddd;
+}
+hr.dark-gray {
+	border-color: #999;
+}
+hr.black {
+	border-color: #000;
+}
+hr.yellow {
+	border-color: #FF0;
+}
+hr.orange {
+	border-color: #F90;
+}
+hr.white {
+	border-color: #fff;
+}
+
+/************************************************************************************
+GRID
+*************************************************************************************/
+.col,
+.col4-1,
+.col4-2,
+.col4-3,
+.col3-1,
+.col3-2,
+.col2-1
+{
+	float: left;
+}
+.col4-1 {
+	width: 25%;
+}
+.col4-2, 
+.col2-1 {
+	width: 50%;
+}
+.col4-3 {
+	width: 75%;
+}
+.col3-1 {
+	width: 33%;
+}
+.col3-2 {
+	width: 66%;
+}
+.sidebar1 .col.first,
+.sidebar1 .col4-1.first,
+.sidebar1 .col4-2.first,
+.sidebar1 .col4-3.first,
+.sidebar1 .col3-1.first,
+.sidebar1 .col3-2.first,
+.sidebar1 .col2-1.first
+.col.first,
+.col4-1.first,
+.col4-2.first,
+.col4-3.first,
+.col3-1.first,
+.col3-2.first,
+.col2-1.first {
+	margin-left: 0;
+	clear: left;
+}
+
+/************************************************************************************
+QUOTE
+*************************************************************************************/
+.shortcode.quote {
+	background: url(../img/shortcodes/quote.png) no-repeat 1px 2px;
+	padding: 0 5px 0 26px;
+	margin: 0 0 30px;
+}
+
+/************************************************************************************
+SHORTCODE BOX
+*************************************************************************************/
+.shortcode.box {
+	background: #f6f6f6;
+	border: solid 1px #ddd;
+	padding: 7px 15px;
+	margin: 0 0 15px;
+	-webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.4);
+	-moz-box-shadow: inset 0 1px 0 rgba(255,255,255,.4);
+	box-shadow: inset 0 1px 0 rgba(255,255,255,.4);
+}
+
+/* box color */
+.shortcode.box.blue {
+	background: #3cafff;
+	border-color: #2786cf;
+	color: #fff !important;
+}
+.shortcode.box.green {
+	background: #78ac3e;
+	border-color: #5e8127;
+	color: #fff !important;
+}
+.shortcode.box.red {
+	background: #ed1c24;
+	border-color: #b81e14;
+	color: #fff !important;
+}
+.shortcode.box.purple {
+	background: #722ea4;
+	border-color: #471e72;
+	color: #fff !important;
+}
+.shortcode.box.yellow {
+	background: #fff200;
+	border-color: #ffd200;
+}
+.shortcode.box.orange {
+	background: #f7941d;
+	border-color: #c56102;
+	color: #fff !important;
+}
+.shortcode.box.light-yellow {
+	background: #fffcd3;
+	border-color: #dedba3;
+}
+.shortcode.box.light-blue {
+	background: #d9f4fe;
+	border-color: #a4cfe0;
+}
+.shortcode.box.lavender {
+	background: #f2e6fe;
+	border-color: #d1bae9;
+}
+.shortcode.box.pink {
+	background: #ffe6f1;
+	border-color: #f0b6cf;
+}
+.shortcode.box.light-green {
+	background: #edf6df;
+	border-color: #b8cd97;
+}
+.shortcode.box.gray {
+	background: #9e9e9e;
+	border-color: #858585;
+	color: #fff !important;
+}
+.shortcode.box.black {
+	background: #111;
+	border-color: #000;
+	color: #fff !important;
+}
+
+/* box link */
+.shortcode.box.purple a,
+.shortcode.box.orange a,
+.shortcode.box.green a,
+.shortcode.box.blue a,
+.shortcode.box.black a,
+.shortcode.box.gray a,
+.shortcode.box.red a {
+	color: #fffabb !important;
+}
+
+/* box rounded */
+.shortcode.box.rounded {
+	-webkit-border-radius: 8px;
+	-moz-border-radius: 8px;
+	border-radius: 8px;
+}
+
+/* box shadow */
+.shortcode.box.shadow {
+	-webkit-box-shadow: 0 1px 1px rgba(0,0,0,.1);
+	-moz-box-shadow: 0 1px 1px rgba(0,0,0,.1);
+	box-shadow: 0 1px 1px rgba(0,0,0,.1);
+}
+
+/* box icon */
+.shortcode.box.announcement {
+	background-image: url(../img/shortcodes/annoucement.png);
+	background-repeat: no-repeat;
+	background-position: 8px 5px;
+	padding-left: 70px;
+	min-height: 55px;
+}
+.shortcode.box.comment {
+	background-image: url(../img/shortcodes/comment.png);
+	background-repeat: no-repeat;
+	background-position: 8px 5px;
+	padding-left: 70px;
+	min-height: 55px;
+}
+.shortcode.box.question {
+	background-image: url(../img/shortcodes/question.png);
+	background-repeat: no-repeat;
+	background-position: 8px 5px;
+	padding-left: 70px;
+	min-height: 55px;
+}
+.shortcode.box.upload {
+	background-image: url(../img/shortcodes/upload.png);
+	background-repeat: no-repeat;
+	background-position: 8px 5px;
+	padding-left: 70px;
+	min-height: 55px;
+}
+.shortcode.box.download {
+	background-image: url(../img/shortcodes/download.png);
+	background-repeat: no-repeat;
+	background-position: 8px 5px;
+	padding-left: 70px;
+	min-height: 55px;
+}
+.shortcode.box.highlight {
+	background-image: url(../img/shortcodes/highlight.png);
+	background-repeat: no-repeat;
+	background-position: 8px 5px;
+	padding-left: 70px;
+	min-height: 55px;
+}
+.shortcode.box.map {
+	background-image: url(../img/shortcodes/map.png);
+	background-repeat: no-repeat;
+	background-position: 8px 5px;
+	padding-left: 70px;
+	min-height: 55px;
+}
+.shortcode.box.warning {
+	background-image: url(../img/shortcodes/warning.png);
+	background-repeat: no-repeat;
+	background-position: 8px 5px;
+	padding-left: 70px;
+	min-height: 55px;
+}
+.shortcode.box.info {
+	background-image: url(../img/shortcodes/info.png);
+	background-repeat: no-repeat;
+	background-position: 8px 5px;
+	padding-left: 70px;
+	min-height: 55px;
+}
+.shortcode.box.note {
+	background-image: url(../img/shortcodes/note.png);
+	background-repeat: no-repeat;
+	background-position: 8px 5px;
+	padding-left: 70px;
+	min-height: 55px;
+}
+.shortcode.box.contact {
+	background-image: url(../img/shortcodes/contact.png);
+	background-repeat: no-repeat;
+	background-position: 8px 5px;
+	padding-left: 70px;
+	min-height: 55px;
+}
+
+/* box heading */
+.shortcode.box h1, 
+.shortcode.box h2, 
+.shortcode.box h3, 
+.shortcode.box h4, 
+.shortcode.box h5, 
+.shortcode.box h6 {
+	margin: 2px 0 3px;
+}
+
+/************************************************************************************
+AUTHOR BOX
+*************************************************************************************/
+.shortcode.author-box {
+	background: #f6f6f6;
+	border: solid 1px #ddd;
+	padding: 10px 15px;
+	margin: 15px 0;
+	-webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.4);
+	-moz-box-shadow: inset 0 1px 0 rgba(255,255,255,.4);
+	box-shadow: inset 0 1px 0 rgba(255,255,255,.4);
+}
+.shortcode.author-box .author-avatar {
+	float: left;
+	margin: 0 15px 5px 0;
+}
+.shortcode.author-box .author-avatar img {
+	padding: 4px;
+	background: #fff;
+	-webkit-box-shadow: 0 1px 1px rgba(0,0,0,.15);
+	-moz-box-shadow: 0 1px 1px rgba(0,0,0,.15);
+	box-shadow: 0 1px 1px rgba(0,0,0,.15);
+	-webkit-border-radius: 4px;
+	-moz-border-radius: 4px;
+	border-radius: 4px;
+}
+.shortcode.author-box .author-name {
+	margin: 2px 0 5px;
+}
+.shortcode.author-box .author-bio {
+	overflow: hidden;
+}
+
+/* author box color */
+.shortcode.author-box.blue {
+	background: #3cafff;
+	border-color: #2786cf;
+	color: #fff !important;
+}
+.shortcode.author-box.green {
+	background: #78ac3e;
+	border-color: #5e8127;
+	color: #fff !important;
+}
+.shortcode.author-box.red {
+	background: #ed1c24;
+	border-color: #b81e14;
+	color: #fff !important;
+}
+.shortcode.author-box.purple {
+	background: #722ea4;
+	border-color: #471e72;
+	color: #fff !important;
+}
+.shortcode.author-box.yellow {
+	background: #fff200;
+	border-color: #ffd200;
+}
+.shortcode.author-box.orange {
+	background: #f7941d;
+	border-color: #c56102;
+	color: #fff !important;
+}
+.shortcode.author-box.light-yellow {
+	background: #fffcd3;
+	border-color: #dedba3;
+}
+.shortcode.author-box.light-blue {
+	background: #d9f4fe;
+	border-color: #a4cfe0;
+}
+.shortcode.author-box.lavender {
+	background: #f2e6fe;
+	border-color: #d1bae9;
+}
+.shortcode.author-box.pink {
+	background: #ffe6f1;
+	border-color: #f0b6cf;
+}
+.shortcode.author-box.light-green {
+	background: #edf6df;
+	border-color: #b8cd97;
+}
+.shortcode.author-box.gray {
+	background: #9e9e9e;
+	border-color: #858585;
+	color: #fff !important;
+}
+.shortcode.author-box.black {
+	background: #111;
+	border-color: #000;
+	color: #fff !important;
+}
+
+/* author box link */
+.shortcode.author-box.purple a,
+.shortcode.author-box.orange a,
+.shortcode.author-box.green a,
+.shortcode.author-box.blue a,
+.shortcode.author-box.black a,
+.shortcode.author-box.gray a,
+.shortcode.author-box.red a {
+	color: #fffabb !important;
+}
+
+/* author box rounded */
+.shortcode.author-box.rounded {
+	-webkit-border-radius: 8px;
+	-moz-border-radius: 8px;
+	border-radius: 8px;
+}
+
+/* author box shadow */
+.shortcode.author-box.shadow {
+	-webkit-box-shadow: 0 1px 1px rgba(0,0,0,.1);
+	-moz-box-shadow: 0 1px 1px rgba(0,0,0,.1);
+	box-shadow: 0 1px 1px rgba(0,0,0,.1);
+}
+
+/************************************************************************************
+FLICKR
+*************************************************************************************/
+.shortcode .flickr_badge_image {
+	margin: 10px 0;
+}
+.shortcode .flickr_badge_image img {
+	margin-right: 12px;
+	margin-bottom: 12px;
+	float: left;
+}
+
+/************************************************************************************
+MAP
+*************************************************************************************/
+.shortcode.map .map-container {
+	margin: 0 0 15px;
+	border: solid 1px #ccc;
+}
+
+/************************************************************************************
+LIST POSTS
+*************************************************************************************/
+/* set slides img max-width */
+.shortcode img {
+	width: auto\9; /* ie8 */
+	max-width: 100%;
+	height: auto;
+}
+
+/* base post */
+.shortcode .post {
+	margin-bottom: 30px;
+}
+
+/* base post image */
+.shortcode .post-image {
+	margin: 0 0 7px;
+}
+
+/* base post title */
+.shortcode .post-title {
+	font-size: 150%;
+	margin: 0 0 3px;
+	padding: 0;
+}
+.col4-1 .shortcode .post-title {
+	font-size: 115%;
+}
+.col3-1 .shortcode .post-title {
+	font-size: 130%;
+}
+.col2-1 .shortcode .post-title,
+.col4-2 .shortcode .post-title {
+	font-size: 145%;
+}
+
+/* base post date */
+.shortcode .post-date {
+	color: inherit !important;
+	font-weight: bold !important;
+	font-size: 100% !important;
+	width: auto !important;
+	float: none !important;
+	display: block !important;
+	margin: 2px 0 !important;
+	text-align: left !important;
+	background: none !important;
+	filter: none !important;
+	border: none !important;
+	-webkit-box-shadow: none !important;
+	-moz-box-shadow: none !important;
+	box-shadow: none !important;
+	-webkit-border-radius: 0 !important;
+	-moz-border-radius: 0 !important;
+	border-radius: 0 !important;
+}
+
+/* base post meta */
+.shortcode .post-meta {
+	font-size: 85%;
+	line-height: 190%;
+	margin: 0 0 10px;
+	padding: 0;
+	border: none;
+}
+.shortcode .post-meta span {
+	position: static !important;
+	display: inline !important;
+	margin: 0 7px 0 0;
+	padding: 0;
+	width: auto;
+	border: none;
+	line-height: normal;
+}
+.shortcode .post-meta a {
+	position: static !important;
+	display: inline !important;
+}
+.shortcode .post-meta .post-author {
+	background: url(../img/shortcodes/post-author.png) no-repeat 0 2px;
+	padding: 2px 0 2px 16px;
+}
+.shortcode .post-meta .post-category {
+	background: url(../img/shortcodes/post-category.png) no-repeat 0 2px;
+	padding: 2px 0 2px 16px;
+}
+.shortcode .post-meta .post-tag {
+	background: url(../img/shortcodes/post-tag.png) no-repeat 0 3px;
+	padding: 2px 0 2px 16px;
+}
+.shortcode .post-meta .post-comment a {
+	background: url(../img/shortcodes/post-comment.png) no-repeat 0 2px;
+	padding: 2px 0 2px 16px;
+	width: auto;
+	height: auto;
+	font-size: 100%;
+	text-shadow: none;
+	text-align: left;
+}
+
+/* post layout styles */
+/* grid4 post */
+.shortcode.grid4 .post {
+	width: 23%;
+	margin-left: 2.5%;
+	float: left;
+}
+
+/* grid3 post */
+.shortcode.grid3 .post {
+	width: 30%;
+	margin-left: 3.5%;
+	float: left;
+}
+
+/* grid2 post */
+.shortcode.grid2 .post {
+	width: 48%;
+	margin-left: 3.75%;
+	float: left;
+}
+
+/* grid2-thumb post */
+.shortcode.grid2-thumb .post {
+	width: 48%;
+	margin-left: 4%;
+	float: left;
+}
+.shortcode.grid2-thumb .post-image {
+	float: left;
+	margin: 5px 14px 10px 0;
+}
+.shortcode.grid2-thumb .post-content {
+	overflow: hidden;
+}
+
+/* list thumb post */
+.shortcode.list-thumb-image .post-image {
+	float: left;
+	margin: 7px 16px 10px 0;
+}
+.shortcode.list-thumb-image .post-content {
+	overflow: hidden;
+}
+
+/* list large image */
+.shortcode.list-large-image .post-image {
+	float: left;
+	margin: 7px 22px 10px 0;
+}
+.shortcode.list-large-image .post-content {
+	overflow: hidden;
+}
+
+/************************************************************************************
+SLIDER
+*************************************************************************************/
+.shortcode.slider, 
+.shortcode.post-slider {
+	margin: 0 0 30px;
+}
+.shortcode.slider .post, 
+.shortcode.post-slider .post {
+	margin: 0;
+}
+
+/* base slides */
+.shortcode .slides {
+	margin: 0;
+	padding: 0;
+	height: auto !important;
+}
+.shortcode .slides li {
+	list-style: none;
+	margin: 0;
+	padding: 0 0 0;
+	width: 100px;
+	height: auto !important;
+	float: left;
+}
+.shortcode .slides .post {
+	padding-right: 10px;
+}
+
+/* slides base h1,h2,h3,h4,h5,h6 */
+.shortcode .slides h1,
+.shortcode .slides h2,
+.shortcode .slides h3,
+.shortcode .slides h4,
+.shortcode .slides h5,
+.shortcode .slides h6 {
+	margin: 0 0 5px;
+}
+
+/* slides post image */
+.shortcode .slides .post-image {
+	margin: 0 0 5px;
+}
+
+/* slides post title */
+.shortcode .slides .post-title {
+	padding-right: 10px;
+	margin: 0 0 5px;
+	font-size: 140%;
+}
+
+/* slides post content */
+.shortcode .slides .post-content {
+	padding-right: 11px;
+	font-size: 95%;
+}
+
+/* slider-nav */
+.shortcode .slider-nav {
+	text-align: center;
+	margin: 15px auto 10px;
+	border: none;
+}
+.shortcode .slider-nav a {
+	font: 14px/100% Arial, Helvetica, sans-serif;
+	min-width: 24px;
+	min-height: 20px;
+	line-height: 100%;
+	text-decoration: none;
+	text-align: center;
+	margin: 0 3px;
+	padding: 4px 0 0;
+	vertical-align: middle;
+	display: inline-block;
+	zoom:1;
+	*display:inline;
+	-webkit-border-radius: 10em;
+	-moz-border-radius: 10em;
+	border-radius: 10em;
+}
+.shortcode .slider-nav a {
+	color: #666;
+	text-shadow: 0 1px 0 rgba(255,255,255,.8);
+	border: solid 1px #ccc;
+	background: #e9e9e9;
+	background: -moz-linear-gradient(top, #ffffff 0%, #dbdbdb 100%);
+	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ffffff), color-stop(100%,#dbdbdb));
+	background: -webkit-linear-gradient(top, #ffffff 0%,#dbdbdb 100%);
+	background: -o-linear-gradient(top, #ffffff 0%,#dbdbdb 100%);
+	background: -ms-linear-gradient(top, #ffffff 0%,#dbdbdb 100%);
+	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#dbdbdb',GradientType=0 );
+	background: linear-gradient(top, #ffffff 0%,#dbdbdb 100%);
+	-webkit-box-shadow: inset 0 -1px 1px rgba(255,255,255,.4);
+	-moz-box-shadow: inset 0 -1px 1px rgba(255,255,255,.4);
+	box-shadow: inset 0 -1px 1px rgba(255,255,255,.4);
+}
+.shortcode .slider-nav a:hover {
+	background: #f4f4f4;
+}
\ No newline at end of file
diff --git a/bigbluebutton-client/resources/prod/help/CSS/style.css b/bigbluebutton-client/resources/prod/help/CSS/style.css
new file mode 100755
index 0000000000000000000000000000000000000000..5284d0ca87a1df4bb50e8a1267129d78abf36b30
--- /dev/null
+++ b/bigbluebutton-client/resources/prod/help/CSS/style.css
@@ -0,0 +1,739 @@
+/*
+Theme Name: Suco Child
+Description: Child theme for Suco theme
+Template: suco
+*/
+
+@import url("../suco/style.css");
+
+/* write custom css below */
+
+
+/************************************************************************************
+CUSTOM TYPOGRAPHY
+*************************************************************************************/
+p { margin: 0.5em 0 1.0em; padding: 0; line-height: 20px; }
+p.imgtext { margin: 0 0 0 0; padding: 0 0 35px 0; font-family: Georgia; font-style: italic; color: #666; font-size: 14px; text-align: center; }
+p.subhead { margin-top:-15px; padding-bottom:10px; font-family: Georgia; font-style: italic; color: #666; font-size: 22px; text-align: center;}
+p.subfeat { margin-top:-10px; padding-bottom:15px; font-family: Georgia; font-style: italic; color: #666; font-size: 18px; }
+.list-post .post-title { margin: 0 0 10px 0; font-size: 28px !important; text-align: left !important; }
+#slider p { /* color:#6d8c9e;*/ color: #777;}
+.action-text h2, .action-text h3, .action-text h4 { font-size: 26px; line-height: 110%; margin: 0 0 2px; color: #333333; }
+#overview h1 { text-align: center; font-size: 48px;	padding: 20px 0 0 0; }
+h4 { color: #333; }
+h5 { color: ##00445E !important;}
+/************************************************************************************
+CUSTOM BUTTONS
+*************************************************************************************/
+/* Orange Action Button */
+.action-text .button {
+	background: #e08e19;
+	background-image: -webkit-gradient(linear, center top, center bottom, from(#f2ab2b), to(#e17b19));
+	background-image: -webkit-linear-gradient(top, #f2ab2b, #e17b19);
+	background-image: -moz-linear-gradient(top, #f2ab2b, #e17b19);
+	background-image: -o-linear-gradient(top, #f2ab2b, #e17b19);
+	background-image: -ms-linear-gradient(top, #f2ab2b, #e17b19);
+	background-image: linear-gradient(top, #f2ab2b, #e17b19);
+	padding: 10px 20px;
+	font: 26px/100% Rokkitt, Arial, Helvetica, sans-serif;
+	color: #fff;
+	text-decoration: none;
+	position: absolute;
+	top: 15px;
+	right: 20px;
+	border: solid 1px #cb8521;
+	-webkit-border-radius: 10px;
+	-moz-border-radius: 10px;
+	border-radius: 10px;
+	-webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.5);
+	-moz-box-shadow: inset 0 1px 0 rgba(255,255,255,.5);
+	box-shadow: inset 0 1px 0 rgba(255,255,255,.5);
+}
+.action-text .button:hover { background:#e08e19; text-decoration: none; }
+
+
+/*Buttons*/
+a.button.green {
+	border-color: #4e7521;
+	
+	background: #76ab3b;
+	background: -moz-linear-gradient(top, #90c356 0%, #649a27 100%);
+	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#90c356), color-stop(100%,#649a27));
+	background: -webkit-linear-gradient(top, #90c356 0%,#649a27 100%);
+	background: -o-linear-gradient(top, #90c356 0%,#649a27 100%);
+	background: -ms-linear-gradient(top, #90c356 0%,#649a27 100%);
+	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#90c356', endColorstr='#649a27',GradientType=0 );
+	background: linear-gradient(top, #90c356 0%,#649a27 100%);
+	
+	
+	color: #fff !important;
+	text-shadow: 0 -1px 0 rgba(0,0,0,.4);
+}
+a.button.green:hover {
+	background: #90c356;
+}
+a.button.green.flat {
+	background: #76ab3b;
+}
+
+/************************************************************************************
+HEADER
+*************************************************************************************/
+#header #searchform #s {
+	width: 120px;
+	color: #666;
+	background: #f2f2f2;
+	padding-left: 10px !important;
+	float: right;
+	-webkit-box-shadow: inset 0 2px 2px rgba(0,0,0,.7), 0 1px 0 rgba(255,255,255,.1);
+	-moz-box-shadow: inset 0 2px 2px rgba(0,0,0,.7), 0 1px 0 rgba(255,255,255,.1);
+	box-shadow: inset 0 2px 2px rgba(0,0,0,.7), 0 1px 0 rgba(255,255,255,.1);
+	-webkit-border-radius: 12px;
+	-moz-border-radius: 12px;
+	border-radius: 12px;
+	-webkit-transition: width .7s;
+	-moz-transition: width .7s;
+	transition: width .7s;
+}
+
+#header a {
+	color: #fff;
+}
+
+a {
+	color: #30406b;
+}
+
+.social-widget {
+	color:#fff;
+}
+
+#header #searchform { display:none;}
+
+/************************************************************************************
+MAIN NAVIGATION
+*************************************************************************************/
+#main-nav {
+	margin: 0;
+	padding: 0;
+	position: absolute;
+	left: 0;
+	bottom: 12px;
+	z-index: 100;
+}
+
+#main-nav li {
+	margin: 0;
+	padding: 0;
+	list-style: none;
+	float: left;
+	position: relative;
+}
+
+/************************************************************************************
+MAIN LEVEL NAVIGATION
+*************************************************************************************/
+#main-nav a {
+	color: #fff;
+	display: block;
+	padding: 5px 15px;
+	margin: 0 5px 0 0;
+	text-decoration: none;
+	font-weight: bold;
+}
+
+/* main level link :hover */
+#main-nav a:hover, #main-nav li:hover > a {
+	background: #1a243f;
+	color: #fff;
+	-webkit-box-shadow: inset 0 2px 2px rgba(0,0,0,.7), 0 1px 0 rgba(255,255,255,.1);
+	-moz-box-shadow: inset 0 2px 2px rgba(0,0,0,.7), 0 1px 0 rgba(255,255,255,.1);
+	box-shadow: inset 0 2px 2px rgba(0,0,0,.7), 0 1px 0 rgba(255,255,255,.1);
+ 	-webkit-border-radius: 5px; 
+ 	-moz-border-radius: 5px;
+	border-radius: 5px;
+}
+
+/* current link */
+#main-nav .current_page_item a, #main-nav .current-menu-item a {
+	background: #161211;
+	color: #c8ad6c;
+	-webkit-box-shadow: inset 0 2px 2px rgba(0,0,0,.7), 0 1px 0 rgba(255,255,255,.1);
+	-moz-box-shadow: inset 0 2px 2px rgba(0,0,0,.7), 0 1px 0 rgba(255,255,255,.1);
+	box-shadow: inset 0 2px 2px rgba(0,0,0,.7), 0 1px 0 rgba(255,255,255,.1);
+	-webkit-border-radius: 5px;
+	-moz-border-radius: 5px;
+	border-radius: 5px;
+}
+
+/* current link :hover */
+#main-nav .current_page_item a:hover, #main-nav .current-menu-item a:hover {
+	color: #fff;
+}
+
+/* sub-levels link */
+#main-nav ul a, #main-nav .current_page_item ul a, #main-nav ul .current_page_item a, #main-nav .current-menu-item ul a, #main-nav ul .current-menu-item a, #main-nav li:hover > ul a  {
+	color: #666;
+	font-weight: normal;
+	padding: 7px 0 7px 15px;
+	margin: 0;
+	width: 180px;
+	background: none;
+	-webkit-box-shadow: none;
+	-moz-box-shadow: none;
+	box-shadow: none;
+	-webkit-border-radius: 0;
+	-moz-border-radius: 0;
+	border-radius: 0;
+}
+
+/* sub-levels link :hover */
+#main-nav ul a:hover, #main-nav .current_page_item ul a:hover, #main-nav ul .current_page_item a:hover, #main-nav .current-menu-item ul a:hover, #main-nav ul .current-menu-item a:hover, #main-nav li:hover > ul a:hover {
+	color: #00445E;
+	background-color: #EFF8FB;
+}
+/* sub-level ul */
+#main-nav ul {
+	margin-top: -3px;
+	padding: 5px 0;
+	list-style: none;
+	position: absolute;
+	background: #fff;
+	border: solid 1px #ccc;
+	z-index: 100;
+	display: none;
+	-webkit-border-top-left-radius: 0px;
+	-webkit-border-top-right-radius: 5px;
+	-webkit-border-bottom-right-radius: 5px;
+	-webkit-border-bottom-left-radius: 5px;
+	-moz-border-radius-topleft: 0px;
+	-moz-border-radius-topright: 5px;
+	-moz-border-radius-bottomright: 5px;
+	-moz-border-radius-bottomleft: 5px;
+	border-top-left-radius: 0px;
+	border-top-right-radius: 5px;
+	border-bottom-right-radius: 5px;
+	border-bottom-left-radius: 5px;
+}
+#main-nav ul li {
+	background: none;
+	padding: 0;
+	margin: 0;
+	display: block;
+}
+/* sub-sub-level dropdown */
+#main-nav ul ul {
+	left: 190px;
+	top: -2px;
+}
+/* show dropdown ul on hover */
+#main-nav li:hover > ul {
+	display: block;
+}
+
+/************************************************************************************
+PAGE NAVIGATION (BLOG)
+*************************************************************************************/
+.pagenav a {
+	color: white;
+	text-decoration: none;
+	background: #273d6c;
+	padding: 2px 6px;
+	border: solid 1px #1a2744;
+	-webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.2);
+	-moz-box-shadow: inset 0 1px 0 rgba(255,255,255,.2);
+	box-shadow: inset 0 1px 0 rgba(255,255,255,.2);
+	-webkit-border-radius: 4px;
+	-moz-border-radius: 4px;
+	border-radius: 4px;
+	border-image: initial;
+}
+
+.pagenav a:hover {
+	background:#142240;
+}
+
+a.button.blue-opaque {
+	border: 1px solid #7996ac;
+	background: #b1c8da;
+	color: #fff !important;
+	text-shadow: 0 1px #71AEC2;
+}
+a.button.blue-opaque:hover {
+	background: #9ab3c7;
+}
+a.button.blue-opaque.flat {
+	background: #76ab3b;
+}
+
+
+input[type="reset"], input[type="submit"] { 
+	background: #273D6C !important;
+	border: 1px solid #1A2744;
+}
+
+
+
+/************************************************************************************
+BANNER 
+*************************************************************************************/
+#headerwrap {	
+	background-color: #EFF8FB;
+}
+
+.welcome-message {
+	font: 280%/110% Rokkitt, Arial, Helvetica, sans-serif;
+	color: #573a1e;
+	text-align: center;
+	margin-bottom: 35px;
+}
+
+/* Slider */
+#slider .slides li {
+	background: none !important;
+	position: relative;
+	color:#6D8C9E;;
+	margin: 0;
+	padding: 0;
+	width: 978px;
+	list-style-type:square;
+	float: left;
+}
+
+/************************************************************************************
+FEATURE HIGHLIGHTS
+*************************************************************************************/
+.home-highlightswrap {
+position: relative;
+background: #3D2C29 url(images/dash-bg.png) repeat-x 0 bottom;
+border-top: 0 !important;
+-webkit-box-shadow: inset 0 2px 3px rgba(0,0,0,.3);
+-moz-box-shadow: inset 0 2px 3px rgba(0,0,0,.3);
+box-shadow: inset 0 2px 3px rgba(0,0,0,.3);
+}
+
+.home-highlights .home-highlights-content {
+	color:#777 !important;
+}
+
+.home-highlights .icon {
+padding: 0 0 0 5px;
+float: left;
+position: relative;
+}
+
+/************************************************************************************
+FEATURE PAGE
+*************************************************************************************/
+#roles { height:520px; }
+#roles .first{ margin-left:0px; padding: 10px 0px 10px 0px; clear:left;} 
+#roles .col3-1{ padding: 10px 0px 0px 0px;  }
+
+#presentations { height:425px; padding-top:45px; }
+#listeners { padding-top:45px; height:350px;}
+#chat { padding-top:45px; height:350px;}
+#deskshare { padding-top:45px; height:375px;}
+#small-f {padding-top:45px; height:325px; }
+
+/************************************************************************************
+OPEN SOURCE COMPONENTS PAGE
+*************************************************************************************/
+#os_cmp img { float:left; padding: 0 15px 0 0; } 
+#os_cmp .first{ margin-left:0px; padding: 10px 20px 10px 0px; clear:left; max-width: 45%;} 
+#os_cmp .col2-1{ padding: 15px 20px 0px 0px; max-width: 45%; } 
+
+/************************************************************************************
+VIDEO PAGE
+*************************************************************************************/
+/* Tutorial Videos */
+#vid_tut{ height:100%; width:auto; display:block; float:left; }
+#vid_tut img { border: 5px solid #fff;}
+#vid_tut .first { margin-left:0px; clear:left; } 
+#vid_tut .col2-1{ max-width: 42%; }
+
+/* Developer Videos */
+#vid_dev{ height:100%; width:auto; display:block; float:left; margin:20px 0 0 0; }
+#vid_dev img { border: 5px solid #fff;}
+#vid_dev .first { margin-left:0px !important; clear:left; }
+#vid_dev .col2-1{ max-width: 42%; }
+
+.play { background:transparent url(/wp-content/uploads/2011/12/play.png) no-repeat; padding: 8px 6px 15px 40px; font-weight:bold; }
+.youvid{ border:5px white; }
+
+/************************************************************************************
+SUPPORT PAGE
+*************************************************************************************/
+#c_support .first{ margin-left:0px; padding: 10px 20px 10px 0px; clear:left; max-width: 45%; height:215px;}
+#c_support .col2-1 { padding: 15px 20px 0px 0px; max-width: 45%; height:215px;}
+#open_source .first{ margin-left:0px; padding: 10px 20px 10px 0px; clear:left; max-width: 45%;} 
+#open_source .col2-1{ padding: 15px 20px 0px 0px; max-width: 45%; } 
+
+/************************************************************************************
+COMMERCIAL SUPPORT
+*************************************************************************************/
+.heading {
+	padding: 8px 6px 5px 50px;
+	font-family: Arial, Helvetica, sans-serif;
+	color: #30406B;
+	font-size: 1.6em;
+	line-height: 1.4em;
+	font-weight: normal;
+	text-shadow: 0 2px 0 rgba(0, 0, 0, .15);
+}
+
+/************************************************************************************
+OPEN SOURCE INTEGRATIONS
+*************************************************************************************/
+.wordpress { background:transparent url(/wp-content/uploads/2011/12/wordpress_icon.png) no-repeat; }
+.joomla { background:transparent url(/wp-content/uploads/2011/12/joomla_icon.png) no-repeat; }
+.drupal { background:transparent url(/wp-content/uploads/2011/12/drupal_icon.png) no-repeat; }
+.moodle { background:transparent url(/wp-content/uploads/2011/12/moodle_icon.png) no-repeat; }
+.sakai{ background:transparent url(/wp-content/uploads/2011/12/sakai_icon.png) no-repeat; }
+.tiki { background:transparent url(/wp-content/uploads/2011/12/tiki_icon.png) no-repeat; }
+.efront { background:transparent url(/wp-content/uploads/2011/12/efront_icon.png) no-repeat; }
+.redmine { background:transparent url(/wp-content/uploads/2011/12/redmine_icon.png) no-repeat;	}
+.foswiki { background:transparent url(/wp-content/uploads/2011/12/foswiki_icon.png) no-repeat;	}
+.atutor { background:transparent url(/wp-content/uploads/2012/04/atutor_logo.png) no-repeat;	}
+.fedena { background:transparent url(/wp-content/uploads/2012/09/fedena_logo.png) no-repeat;	}
+
+/************************************************************************************
+BLOG
+*************************************************************************************/
+.post-title a {
+	color: #30406B;
+	text-decoration: none;
+	font-weight:bold;
+}
+
+.post-image img, .widget .feature-posts-list .post-img, .widget .flickr_badge_image img, .commentlist .avatar, .recent-comments-list .avatar, #body .gallery img, .attachment img {
+	adding: 2px;
+	background: white;
+	border: solid 2px #E3E3E3;
+	border-bottom-color: #DDD;
+	border-image: initial;
+}
+
+.list-post .post-image {
+	margin: 15px 0 15px;
+}
+
+.sidebar1 .list-post .post, .sidebar1 .list-post .hentry, .sidebar1 .list-post .type-page, .sidebar1 .list-post .attachment {
+	padding-left: 130px;
+	width: 550px;
+	position: relative;
+	margin-bottom: 100px;
+}
+
+.h_overview { text-align:center; padding-bottom:20px;}
+.header-widget h1, .header-widget h2, .header-widget h3, .header-widget h4, .header-widget h5, .header-widget h6 {
+	margin: 0;
+	padding: 0;
+	color: #00445E;
+}
+.blue {color: #00445E !important; }
+
+
+input[type="text"], input[type="password"], textarea, input[type="search"] {
+background: #eee;
+border: 1px solid #cccccc;
+padding: 6px 10px;
+-webkit-border-radius: 5px;
+-moz-border-radius: 5px;
+border-radius: 5px;
+-webkit-appearance: none;
+border-image: initial;
+}
+
+.post-nav span span { background: #273D6C !important;  border:1px solid #1a2744; }
+.commentlist .comment-reply-link { background: #273D6C !important;  border:1px solid #1a2744; }
+
+
+
+/************************************************************************************
+SIDEBAR WIDGET
+*************************************************************************************/
+.action-text {
+	background: #f9f9f8;
+	border: solid 1px #ccc;
+	position: relative;
+	margin-top: 40px;
+	padding: 15px 200px 15px 25px;
+	-webkit-border-radius: 10px;
+	-moz-border-radius: 10px;
+	border-radius: 10px;
+	-webkit-box-shadow: 0 1px 0 rgba(0,0,0,.1);
+	-moz-box-shadow: 0 1px 0 rgba(0,0,0,.1);
+	box-shadow: 0 1px 0 rgba(0,0,0,.1);
+	clear:both;
+}
+
+#text-4{
+	border-bottom: solid 1px #CCC;
+	padding: 40px 0 30px;
+	border: 1px solid #CCC;
+	border: 1px solid white;
+	-moz-box-shadow: 0 0 5px #999;
+	-webkit-box-shadow: 0 0 5px #999;
+	-moz-border-radius: 4px;
+	-webkit-border-radius: 4px;
+	background: -moz-linear-gradient(top, whiteSmoke, #F0F0F0);
+	background: -webkit-gradient(linear, left top, left bottom, from(whiteSmoke), to(#F0F0F0));
+}
+
+#text-4{ padding: 20px  !important; }
+
+#themify-feature-posts-3, #themify-recent-comments-3{
+	border-bottom: solid 1px #CCC;
+	padding: 20px  !important;
+	border: 1px solid #CCC;
+	border: 1px solid white;
+	-moz-box-shadow: 0 0 5px #999;
+	-webkit-box-shadow: 0 0 5px #999;
+	-moz-border-radius: 4px;
+	-webkit-border-radius: 4px;
+	background: -moz-linear-gradient(top, whiteSmoke, #F0F0F0);
+	background: -webkit-gradient(linear, left top, left bottom, from(whiteSmoke), to(#F0F0F0));
+}
+
+#sidebar .widget_text{
+	border-bottom: solid 1px #CCC;
+	padding: 20px  !important;
+	border: 1px solid #CCC;
+	border: 1px solid white;
+	-moz-box-shadow: 0 0 5px #999;
+	-webkit-box-shadow: 0 0 5px #999;
+	-moz-border-radius: 4px;
+	-webkit-border-radius: 4px;
+	background: -moz-linear-gradient(top, whiteSmoke, #F0F0F0);
+	background: -webkit-gradient(linear, left top, left bottom, from(whiteSmoke), to(#F0F0F0));
+}
+
+
+#sidebar .widget_ns_mailchimp {
+	border-bottom: solid 1px #CCC;
+	padding: 20px !important;
+	border: 1px solid #CCC;
+	border: 1px solid white;
+	-moz-box-shadow: 0 0 5px #999;
+	-webkit-box-shadow: 0 0 5px #999;
+	-moz-border-radius: 4px;
+	-webkit-border-radius: 4px;
+	background: -moz-linear-gradient(top, whiteSmoke, #F0F0F0);
+	background: -webkit-gradient(linear, left top, left bottom, from(whiteSmoke), to(#F0F0F0));
+}
+
+#ns_widget_mailchimp-email-3 {
+	
+	background-color:#fff;
+	width:90%;
+	margin-bottom:10px;
+}
+
+/************************************************************************************
+WRAPS
+*************************************************************************************/
+.sub_wrap{
+	display: block;
+	float:left;
+	padding: 20px;
+	border: 1px solid #CCC;
+	border: 1px solid white;
+	-moz-box-shadow: 0 0 5px #999;
+	-webkit-box-shadow: 0 0 5px #999;
+	-moz-border-radius: 4px;
+	-webkit-border-radius: 4px;
+	background: -moz-linear-gradient(top, whiteSmoke, #F0F0F0);
+	margin: 0 0 40px 35px;
+	background: -webkit-gradient(linear, left top, left bottom, from(whiteSmoke), to(#F0F0F0));
+}
+
+#upperwrap {
+		background-image: url(http://r2.bigbluebutton.org/wp-content/themes/suco/uploads/bg/bg1.png);
+		background-color: #fff;
+		background: #fff url(images/fibre-bg.png);
+		border-bottom: none !important;
+		padding: 40px 0 30px;
+}
+
+
+
+/************************************************************************************
+Turning Off ShareThis On The Slider Section 
+*************************************************************************************/
+.slide-content .stButton .facebook {
+	display:none;
+	margin:0;
+	padding:0;
+}
+
+ .slide-content .stButton .twitter  {
+	display:none;
+	margin:0;
+	padding:0;	
+}
+
+.slide-content .stButton .email {
+	display:none;
+	margin:0;
+	padding:0;
+}
+
+.slide-content .stButton .sharethis {
+	display:none;
+	margin:0;
+	padding:0;
+}
+
+/************************************************************************************
+Turning Off ShareThis On The Highlights Section 
+*************************************************************************************/
+ .home-highlights .home-highlights-content .stButton .facebook {
+	display:none;
+	margin:0;
+	padding:0;
+}
+
+.home-highlights .home-highlights-content .stButton .twitter  {
+	display:none;
+	margin:0;
+	padding:0;
+}
+
+.home-highlights .home-highlights-content .stButton .email {
+	display:none;
+	margin:0;
+	padding:0;
+}
+
+.home-highlights .home-highlights-content .stButton .sharethis {
+	display:none;
+	margin:0;
+	padding:0;
+}
+
+
+
+/************************************************************************************
+CUSTOM TABLE
+*************************************************************************************/
+table.table2{
+    font-family:Arial, Helvetica, sans-serif;
+    font-size: 14px;
+    font-style: normal;
+    font-weight: normal;
+    line-height: 22px;
+    border-collapse:collapse;
+	border-right:1px dotted #e0e0e0;
+	border-left:1px dotted #e0e0e0;
+	border-bottom:1px dotted #e0e0e0;
+}
+
+.table2 thead th {
+    padding:20px 10px 20px 10px;
+    color:#fff;
+    font-size: 20px;
+    background-color:#252625;
+    font-weight:normal;
+   	text-shadow:1px 1px 1px #000;
+}
+
+.table2 thead th:empty{
+    background:transparent;
+    -moz-box-shadow:none;
+    -webkit-box-shadow:none;
+    box-shadow:none;
+}
+.table2 thead :nth-last-child(1){
+    border-right:none;
+}
+
+.table2 thead :first-child,
+.table2 tbody :nth-last-child(1){
+    border:none;
+}
+
+.table2 tbody th{
+	vertical-align:top;
+	color: #00445E;
+    padding:25px;
+    text-shadow:1px 1px 1px #ccc;
+    background-color:#eff8fb;
+}
+
+.table2 tbody td{
+    padding:25px;
+    background: -moz-linear-gradient(100% 25% 90deg, #fefefe, #f9f9f9);
+	background: -webkit-gradient(linear, 0% 0%, 0% 25%, from(#f9f9f9), to(#fefefe));
+	border-right:1px dotted #e0e0e0;
+    text-shadow:-1px 1px 1px #fff;
+    color:#777;
+}
+
+
+/************************************************************************************
+FOOTER
+*************************************************************************************/
+#footer-logo { display:none; }
+#footer { clear: both; position: relative;	min-height: 25px; color: #B3AEAC; padding: 15px 0; }
+
+
+
+
+
+/* ------------------
+ styling for the tables 
+   ------------------   */
+
+#hor-minimalist-b
+{
+	font-family: "Lucida Sans Unicode", "Lucida Grande", Sans-Serif;
+	font-size: 12px;
+	background: #fff;
+	/* margin: 45px; */
+	width: 480px;
+	border-collapse: collapse;
+	text-align: left;
+}
+#hor-minimalist-b th
+{
+	font-size: 18px;
+	font-weight: bold;
+	color: #00445E;
+	padding: 10px 8px;
+	border-bottom: 2px solid #00445E;
+}
+#hor-minimalist-b td
+{
+	border-bottom: 1px solid #ccc;
+	color: #777;
+	padding: 6px 8px;
+}
+#hor-minimalist-b tbody tr:hover td
+{
+	color: #444;
+}
+
+
+/* My changes */
+p.nocomments, #respond h3 { display: none; }
+
+.clearfix {
+  *zoom: 1;
+  &:before,
+  &:after {
+    display: table;
+    content: "";
+  }
+  &:after {
+    clear: both;
+  }
+}
+
+.home-highlights div:nth-child(7) { 
+	margin-left:0 !important;
+}
+
+.home-highlights div:nth-child(8) { 
+	margin-left:30px;
+	clear:none !important;
+}
\ No newline at end of file
diff --git a/bigbluebutton-client/resources/prod/help/CSS/style1.css b/bigbluebutton-client/resources/prod/help/CSS/style1.css
new file mode 100755
index 0000000000000000000000000000000000000000..6705688396b1d66bd566e428c679bed121445cee
--- /dev/null
+++ b/bigbluebutton-client/resources/prod/help/CSS/style1.css
@@ -0,0 +1,1787 @@
+/*  
+Theme Name: Suco
+Theme URI: http://themify.me/themes/suco
+Version: 1.1.5
+Author: Themify
+Author URI: http://www.themify.me
+
+---------
+
+DO NOT EDIT THIS FILE.
+
+If you need to overwrite the CSS styling, create a new custom_style.css 
+in the theme folder and it will automatically load in the <head>.
+
+*/
+
+/************************************************************************************
+RESET
+*************************************************************************************/
+html, body, address, blockquote, div, dl, form, h1, h2, h3, h4, h5, h6, ol, p, pre, table, ul,
+dd, dt, li, tbody, td, tfoot, th, thead, tr, button, del, ins, map, object,
+a, abbr, acronym, b, bdo, big, br, cite, code, dfn, em, i, img, kbd, q, samp, small, span,
+strong, sub, sup, tt, var, legend, fieldset, figure {
+	margin: 0;
+	padding: 0;
+}
+
+img, fieldset {
+	border: 0;
+}
+
+/* set html5 elements to block */
+article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { 
+    display: block;
+}
+
+/************************************************************************************
+GENERAL STYLING
+*************************************************************************************/
+body {
+	font: .81em/150% Arial, Helvetica, sans-serif;
+	background: #403430 url(images/crossed-bg.png);
+	color: #777;
+}
+a {
+	text-decoration: none;
+	outline: none;
+	color: #9b885d;
+}
+a:hover {
+	text-decoration: underline;
+}
+p {
+	margin: 0 0 1.2em;
+	padding: 0;
+}
+small {
+	font-size: 87%;
+}
+blockquote {
+	font: italic 110%/130% "Times New Roman", Times, serif;
+	padding: 8px 30px 15px;
+}
+
+/* list */
+ul, ol {
+	margin: 1em 0 1.4em 24px;
+	padding: 0;
+	line-height: 140%;
+}
+li {
+	margin: 0 0 .5em 0;
+	padding: 0;
+}
+
+/* headings */
+h1, h2, h3, h4, h5, h6 {
+	line-height: 1.4em;
+	margin: 20px 0 .4em;
+	font-family: Rokkitt, Arial, Helvetica, sans-serif;
+	color: #3f2103;
+	font-weight: normal;
+	text-shadow: 0 2px 0 rgba(0,0,0,.15);
+}
+h1 {
+	font-size: 2.4em;
+}
+h2 {
+	font-size: 2em;
+}
+h3 {
+	font-size: 1.8em;
+}
+h4 {
+	font-size: 1.6em;
+}
+h5 {
+	font-size: 1.4em;
+}
+h6 {
+	font-size: 1em;
+}
+
+/* form elements */
+input, textarea, select, input[type=search] {
+	font-size: 100%;
+	font-family: inherit;
+}
+
+/* form field style */
+input[type=text], input[type=password], textarea, input[type=search] {
+	background: #ddd;
+	border: none;
+	padding: 6px 10px;
+	-webkit-border-radius: 5px;
+	-moz-border-radius: 5px;
+	border-radius: 5px;
+	-webkit-appearance: none;
+}
+input[type=text]:focus, input[type=password]:focus, textarea:focus, input[type=search]:focus {
+	outline: none;
+	background: #eee;
+}
+
+/* form field width */
+input[type=text], input[type=search] {
+	width: 240px;
+	max-width: 96%;
+}
+textarea {
+	line-height: 150%;
+	width: 96%;
+}
+
+/* search input */
+input[type="search"]::-webkit-search-decoration, 
+input[type="search"]::-webkit-search-cancel-button {
+	display: none;
+}
+
+/* form buttons */
+input[type=reset], input[type=submit] {
+	padding: 8px 20px;
+	line-height: 100%;
+	color: #fff;
+	font-weight: bold;
+	background: #d7400d;
+	border: solid 1px #681d06;
+	text-shadow: 0 -1px 0 rgba(0,0,0,.4);
+	-webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.2);
+	-moz-box-shadow: inset 0 1px 0 rgba(255,255,255,.2);
+	box-shadow: inset 0 1px 0 rgba(255,255,255,.2);
+	-webkit-border-radius: 4px;
+	-moz-border-radius: 4px;
+	border-radius: 4px;
+}
+input[type=reset]:hover, input[type=submit]:hover {
+	background: #c62807;
+}
+
+/************************************************************************************
+STRUCTURE
+*************************************************************************************/
+.pagewidth {
+	width: 978px;
+	margin: 0 auto;
+}
+
+/* body */
+#body {
+	padding: 0 0 40px;
+	background: #fff url(images/noise-bg.png);
+}
+
+/* upperwrap */
+#upperwrap {
+	background: #ded0a8 url(images/fibre-bg.png);
+	border-bottom: solid 1px #ccc;
+	padding: 40px 0 30px;
+}
+
+/* content */
+#content {
+	margin: 40px 0 60px;
+}
+.sidebar1 #content {
+	width: 680px;
+	float: left;
+}
+
+/* sidebar */
+#sidebar {
+	width: 252px;
+	float: right;
+	margin: 40px 0 60px;
+}
+
+/* sidebar left */
+.sidebar-left #content {
+	float: right;
+}
+.sidebar-left #sidebar {
+	float: left;
+}
+
+/* sidebar-none content */
+.sidebar-none #content {
+	width: 100%;
+	float: none;
+}
+
+/************************************************************************************
+GRID
+*************************************************************************************/
+.col,
+.col4-1,
+.col4-2,
+.col4-3,
+.col3-1,
+.col3-2,
+.col2-1 {
+	float: left;
+	margin-left: 30px;
+}
+.col4-1 {
+	width: 222px;
+}
+.col4-2, .col2-1 {
+	width: 474px;
+}
+.col4-3 {
+	width: 726px;
+}
+.col3-1 {
+	width: 306px;
+}
+.col3-2 {
+	width: 642px;
+}
+.col.first,
+.col4-1.first,
+.col4-2.first,
+.col4-3.first,
+.col3-1.first,
+.col3-2.first,
+.col2-1.first {
+	margin-left: 0;
+	clear: left;
+}
+
+/* sidebar1 grid */
+.sidebar1 .col4-1,
+.sidebar1 .col4-2,
+.sidebar1 .col4-3,
+.sidebar1 .col3-1,
+.sidebar1 .col3-2,
+.sidebar1 .col2-1
+{
+	margin-left: 2%;
+}
+.sidebar1 .col4-1 {
+	max-width: 23%;
+}
+.sidebar1 .col4-2, .sidebar1 .col2-1 {
+	max-width: 48%;
+}
+.sidebar1 .col4-3 {
+	max-width: 72%;
+}
+.sidebar1 .col3-1 {
+	max-width: 31%;
+}
+.sidebar1 .col3-2 {
+	max-width: 62%;
+}
+
+/************************************************************************************
+HEADER
+*************************************************************************************/
+#headerwrap {
+	position: relative;
+}
+#header {
+	position: relative;
+	height: 180px;
+	color: #b3aeac;
+	z-index: 100;
+}
+#header a {
+	color: #c7af77;
+}
+
+/* site logo */
+#site-logo {
+	margin: 0;
+	position: absolute;
+	top: 30px;
+	font: small-caps 50px/100% Rokkitt, Arial, Helvetica, sans-serif;
+	letter-spacing: 1px;
+	text-shadow: 0 2px 0 rgba(0,0,0,.2);
+}
+#site-logo a {
+	text-decoration: none;
+	color: #fff;
+}
+#site-logo a:hover {
+	text-decoration: none;
+}
+
+/* site description */
+#site-description {
+	margin: 0;
+	font: 14px/100% Rokkitt, Arial, Helvetica, sans-serif;
+	text-transform: uppercase;
+	position: absolute;
+	top: 85px;
+	color: #bdb9b7;
+}
+
+/* nav bar */
+#nav-bar {
+	background: #261e1c url(images/dash-bg.png) repeat-x 0 bottom;
+	border-top: solid 1px #000;
+	width: 100%;
+	height: 50px;
+	position: absolute;
+	z-index: 1;
+	bottom: 0;
+	left: 0;
+	-webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 -1px 3px rgba(0,0,0,.2);
+	-moz-box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 -1px 3px rgba(0,0,0,.2);
+	box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 -1px 3px rgba(0,0,0,.2);
+}
+
+
+/************************************************************************************
+SEARCH FORM
+*************************************************************************************/
+#header #searchform {
+	position: absolute;
+	right: 0;
+	top: 85px;
+	width: 160px;
+}
+#header #searchform #s {
+	width: 120px;
+	color: #a5a099;
+	background: #221b19 url(images/search.png) no-repeat 8px center;
+	padding-left: 28px;
+	float: right;
+	-webkit-box-shadow: inset 0 2px 2px rgba(0,0,0,.7), 0 1px 0 rgba(255,255,255,.1);
+	-moz-box-shadow: inset 0 2px 2px rgba(0,0,0,.7), 0 1px 0 rgba(255,255,255,.1);
+	box-shadow: inset 0 2px 2px rgba(0,0,0,.7), 0 1px 0 rgba(255,255,255,.1);
+	-webkit-border-radius: 12px;
+	-moz-border-radius: 12px;
+	border-radius: 12px;
+	-webkit-transition: width .7s;
+	-moz-transition: width .7s;
+	transition: width .7s;
+}
+#header #searchform #s:focus {
+	width: 140px;
+}
+
+/************************************************************************************
+SOCIAL WIDGET
+*************************************************************************************/
+.social-widget {
+	float: right;
+	margin-top: -1px;
+	position: absolute;
+	bottom: 10px;
+	right: 0;
+}
+.social-widget a {
+	text-decoration: none;
+}
+.social-widget a:hover {
+	text-decoration: none;
+}
+.social-widget .widget {
+	display: inline-block;
+	zoom:1;
+	*display:inline;
+	margin: 0 5px 0 0;
+}
+.social-widget .widget div {
+	display: inline;
+}
+.social-widget .widgettitle {
+	width: auto;
+	font: bold 100% Arial, Helvetica, sans-serif;
+	text-transform: none;
+	border: none;
+	letter-spacing: 0;
+	position: static;
+	display: inline-block;
+	zoom:1;
+	*display:inline;
+	margin: 5px 8px 2px 0;
+	padding: 0;
+	background: transparent;
+	-webkit-box-shadow: none;
+	-moz-box-shadow: none;
+	box-shadow: none;
+}
+.social-widget ul {
+	margin: 6px 0 0 !important;
+	padding: 0;
+	display: inline;
+}
+.social-widget ul li {
+	padding: 0 2px 5px 0;
+	margin: 0;
+	display: inline-block;
+	zoom:1;
+	*display:inline;
+	border: none !important;
+	clear: none;
+	line-height: 100%;
+}
+.social-widget li img {
+	vertical-align: middle;
+	margin-top: -5px;
+}
+
+/* rss */
+.social-widget .rss {
+	display: inline;
+}
+.social-widget .rss a {
+	background: url(images/rss.png) no-repeat left center;
+	padding: 3px 0 2px 30px;
+	display: inline-block;
+	zoom:1;
+	*display:inline;
+}
+
+/************************************************************************************
+HEADER WIDGET
+*************************************************************************************/
+.header-widget {
+	position: absolute;
+	top: 20px;
+	right: 0;
+	line-height: 130%;
+	text-align: right;
+}
+.header-widget h1,
+.header-widget h2,
+.header-widget h3,
+.header-widget h4,
+.header-widget h5,
+.header-widget h6 {
+	margin: 0;
+	padding: 0;
+	color: #fff;
+}
+
+/************************************************************************************
+MAIN NAVIGATION
+*************************************************************************************/
+#main-nav {
+	margin: 0;
+	padding: 0;
+	position: absolute;
+	left: 0;
+	bottom: 12px;
+	z-index: 100;
+}
+#main-nav li {
+	margin: 0;
+	padding: 0;
+	list-style: none;
+	float: left;
+	position: relative;
+}
+/* main level link */
+#main-nav a {
+	color: #fff;
+	display: block;
+	padding: 5px 15px;
+	margin: 0 5px 0 0;
+	text-decoration: none;
+	font-weight: bold;
+}
+/* main level link :hover */
+#main-nav a:hover, #main-nav li:hover > a {
+	color: #c8ad6c;
+}
+/* current link */
+#main-nav .current_page_item a, #main-nav .current-menu-item a {
+	background: #161211;
+	color: #c8ad6c;
+	-webkit-box-shadow: inset 0 2px 2px rgba(0,0,0,.7), 0 1px 0 rgba(255,255,255,.1);
+	-moz-box-shadow: inset 0 2px 2px rgba(0,0,0,.7), 0 1px 0 rgba(255,255,255,.1);
+	box-shadow: inset 0 2px 2px rgba(0,0,0,.7), 0 1px 0 rgba(255,255,255,.1);
+	-webkit-border-radius: 15px;
+	-moz-border-radius: 15px;
+	border-radius: 15px;
+}
+/* current link :hover */
+#main-nav .current_page_item a:hover, #main-nav .current-menu-item a:hover {
+	color: #fff;
+}
+/* sub-levels link */
+#main-nav ul a, #main-nav .current_page_item ul a, #main-nav ul .current_page_item a, #main-nav .current-menu-item ul a, #main-nav ul .current-menu-item a, #main-nav li:hover > ul a  {
+	color: #666;
+	font-weight: normal;
+	padding: 7px 0 7px 15px;
+	margin: 0;
+	width: 180px;
+	background: none;
+	-webkit-box-shadow: none;
+	-moz-box-shadow: none;
+	box-shadow: none;
+	-webkit-border-radius: 0;
+	-moz-border-radius: 0;
+	border-radius: 0;
+}
+/* sub-levels link :hover */
+#main-nav ul a:hover, #main-nav .current_page_item ul a:hover, #main-nav ul .current_page_item a:hover, #main-nav .current-menu-item ul a:hover, #main-nav ul .current-menu-item a:hover, #main-nav li:hover > ul a:hover {
+	background: #F3F3F3;
+	color: #000;
+	color: black;
+}
+/* sub-level ul */
+#main-nav ul {
+	margin: 0;
+	padding: 5px 0;
+	list-style: none;
+	position: absolute;
+	background: #fff;
+	border: solid 1px #ccc;
+	z-index: 100;
+	display: none;
+	-webkit-border-radius: 5px;
+	-moz-border-radius: 5px;
+	border-radius: 5px;
+	-webkit-box-shadow: 0 1px 2px rgba(0,0,0,.2);
+	-moz-box-shadow: 0 1px 2px rgba(0,0,0,.2);
+	box-shadow: 0 1px 2px rgba(0,0,0,.2);
+}
+#main-nav ul li {
+	background: none;
+	padding: 0;
+	margin: 0;
+	display: block;
+}
+/* sub-sub-level dropdown */
+#main-nav ul ul {
+	left: 190px;
+	top: -2px;
+}
+/* show dropdown ul on hover */
+#main-nav li:hover > ul {
+	display: block;
+}
+
+/************************************************************************************
+WELCOME MESSAGE
+*************************************************************************************/
+.welcome-message {
+	font: 280%/110% Rokkitt, Arial, Helvetica, sans-serif;
+	color: #573a1e;
+	text-align: center;
+	margin-bottom: 35px;
+}
+
+/************************************************************************************
+SLIDER
+*************************************************************************************/
+#slider {
+	overflow: hidden;
+	position: relative;
+	color: #736357;
+	font-size: 115%;
+	line-height: 130%;
+}
+#slider .slide-post-title {
+	margin: 0 0 10px;
+	font-size: 56px;
+	line-height: 110%;
+	color: #603913;
+}
+#slider p {
+	margin: 0 0 20px;
+	padding: 0;
+}
+#slider .slides a {
+	text-decoration: none;
+	color: #f26522;
+}
+#slider .slides a:hover {
+	text-decoration: underline;
+}
+#slider .slides {
+	margin: 0 0 20px;
+	padding: 0;
+	overflow: hidden;
+}
+#slider .slides li {
+	background: none !important;
+	position: relative;
+	margin: 0;
+	padding: 0;
+	width: 978px;
+	list-style: none;
+	float: left;
+}
+
+/* default slide */
+#slider .slide-feature-image {
+	float: left;
+	margin: 0 30px 0 0;
+	vertical-align: text-bottom;
+}
+#slider .slide-content {
+	overflow: hidden;
+	padding: 30px 0 0 0;
+}
+
+/* image caption wrap */
+#slider .image-caption-wrap {
+	position: relative;
+	font-size: 13px;
+	line-height: 140%;
+}
+#slider .image-caption-wrap .caption {
+	position: absolute;
+	bottom: 0;
+	left: 0;
+	padding: 15px 20px 10px;
+	z-index: 5;
+	background: url(images/slide-caption-bg.png);
+	color: #ccc;
+}
+#slider .image-caption-wrap h3 {
+	color: #fff;
+	margin: 0 0 5px;
+	padding: 0;
+	font: bold 140%/120% Arial, Helvetica, sans-serif;
+}
+#slider .image-caption-wrap p {
+	margin: 0;
+}
+#slider .image-caption-wrap a {
+	text-decoration: none;
+	color: #fff;
+}
+#slider .image-caption-wrap a:hover {
+	text-decoration: underline;
+}
+
+/* image only slide */
+#slider .image-slide {
+	text-align: center;
+}
+/* FlexSlider Necessary Styles */ 
+#slider {
+	width: 100%; 
+	margin: 0; 
+	padding: 0;
+}
+#slider .slides > li {
+	display: none;
+} 
+/* slider image styles */
+#slider .slider-image-caption img,
+#slider .slider-image-only img {
+	padding: 4px;
+	background: #fff;
+	border: solid 1px #ccc;
+	border-bottom-color: #aaa;
+}
+
+/* slider navigation */
+#slider .flex-control-nav {
+	text-align: center;
+	display: block;
+	width: 100%;
+	padding: 0;
+	margin: 0;
+}
+#slider .flex-control-nav li {
+	display: inline;
+	margin: 0;
+	padding: 0;
+}
+#slider .flex-control-nav a {
+	display: inline-block;
+	zoom:1;
+	*display:inline;
+	background: url(images/slide-nav.png) no-repeat -40px 0;
+	width: 10px;
+	height: 11px;
+	padding: 2px;
+	margin: 0 2px 1px;
+	text-indent: -250px;
+	overflow: hidden;
+	cursor: pointer;
+}
+#slider .flex-control-nav a:hover {
+	background-position: -20px 0;
+}
+#slider .flex-control-nav  a.active {
+	background-position: 0 0;
+}
+
+/* next previous slide button */
+#slider .flex-direction-nav {
+	margin: 0;
+	padding: 0;
+}
+#slider .flex-direction-nav li {
+	margin: 0;
+	padding: 0;
+	list-style: none;
+}
+#slider .flex-direction-nav a {
+	display: block;
+	width: 49px;
+	height: 49px;
+	text-indent: -900em;
+	overflow: hidden;
+	position: absolute;
+	z-index: 2000;
+	top: 50%;
+	margin-top: -60px;
+	display: none;
+}
+#slider .flex-direction-nav .prev {
+	background: url(images/slide-next-prev.png) no-repeat;
+	left: 7px;
+}
+#slider .flex-direction-nav .next {
+	background: url(images/slide-next-prev.png) no-repeat 0 -49px;
+	right: 7px;
+}
+#slider .flex-direction-nav .carousel-disabled {
+	opacity: .2;
+}
+#slider:hover .flex-direction-nav a {
+	display: block;
+}
+
+/* slide buttons */
+#slider a.button {
+	color: #000;
+}
+#slider a.button:hover {
+	text-decoration: none;
+}
+#slider a.black {
+	color: #fff;
+}
+
+/************************************************************************************
+HOME HIGHLIGHTS
+*************************************************************************************/
+.home-highlightswrap {
+	position: relative;
+	background: #3d2c29 url(images/dash-bg.png) repeat-x 0 bottom;
+	border-top: solid 1px #000;
+	-webkit-box-shadow: inset 0 2px 3px rgba(0,0,0,.3);
+	-moz-box-shadow: inset 0 2px 3px rgba(0,0,0,.3);
+	box-shadow: inset 0 2px 3px rgba(0,0,0,.3);
+}
+.home-highlights {
+	padding: 30px 0 10px;
+	color: #b1aba9;
+	position: relative;
+}
+.home-highlights h4 {
+	margin: 0;
+	font-size: 160%;
+	line-height: 120%;
+	color: #fff;
+}
+.home-highlights .icon {
+	padding: 5px 0 0 5px;
+	float: left;
+	position: relative;
+}
+.home-highlights .icon img{
+	margin: 0 15px 0 0;
+}
+.home-highlights .icon .zoom {
+	position: absolute;
+	top: 0;
+	left: 0;
+	width: 27px;
+	height: 27px;
+	display: block;
+	background: url(images/zoom-icon.png) no-repeat;
+}
+.home-highlights .home-highlights-content {
+	overflow: hidden;
+	margin-bottom: 20px;
+}
+
+/************************************************************************************
+HOMEPAGE CALL OF ACTION TEXT
+*************************************************************************************/
+.action-text {
+	background: #fbf2d4;
+	border: solid 1px #cebe8f;
+	position: relative;
+	margin-top: 40px;
+	padding: 15px 200px 15px 25px;
+	-webkit-border-radius: 10px;
+	-moz-border-radius: 10px;
+	border-radius: 10px;
+	-webkit-box-shadow: 0 1px 0 rgba(0,0,0,.1);
+	-moz-box-shadow: 0 1px 0 rgba(0,0,0,.1);
+	box-shadow: 0 1px 0 rgba(0,0,0,.1);
+}
+.action-text h2,
+.action-text h3,
+.action-text h4
+ {
+	font-size: 26px;
+	line-height: 110%;
+	margin: 0 0 2px;
+	color: #483633;
+}
+.action-text p {
+	margin: 0 0 5px;
+}
+
+/* action button */
+.action-text .button {
+	background: #d43b0c;
+	padding: 10px 20px;
+	font: 26px/100% Rokkitt, Arial, Helvetica, sans-serif;
+	color: #fff;
+	text-decoration: none;
+	position: absolute;
+	top: 15px;
+	right: 20px;
+	border: solid 1px #681d06;
+	-webkit-border-radius: 10px;
+	-moz-border-radius: 10px;
+	border-radius: 10px;
+	-webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.5);
+	-moz-box-shadow: inset 0 1px 0 rgba(255,255,255,.5);
+	box-shadow: inset 0 1px 0 rgba(255,255,255,.5);
+}
+.action-text .button:hover {
+	text-decoration: none;
+}
+
+/************************************************************************************
+HOME WIDGETS
+*************************************************************************************/
+.home-widgets {
+	padding: 50px 0 20px;
+}
+
+/************************************************************************************
+AUTHOR PAGE
+*************************************************************************************/
+.author-bio {
+	margin: 0 0 30px;
+}
+.author-bio .author-avatar {
+	float: left;
+	margin: 0 15px 0 0;
+}
+.author-bio .author-avatar img {
+	background: #fff;
+	padding: 4px;
+	border: solid 1px #ccc;
+}
+.author-bio .author-name {
+	margin: 0 0 5px;
+	padding: 0;
+	font-size: 160%;
+}
+.author-posts-by {
+	margin: 0 0 20px;
+	padding: 10px 0 0;
+	font-size: 140%;
+	text-transform: uppercase;
+	border-top: double 4px #ccc;
+	border-color: rgba(118,118,118,.3);
+}
+
+/************************************************************************************
+PAGE TITLE
+*************************************************************************************/
+.page-title {
+	margin: 0;
+	padding: 0;
+	font-size: 360%;
+	line-height: 110%;
+}
+
+/************************************************************************************
+CATEGORY SECTIONS
+*************************************************************************************/
+.category-section {
+	clear: both;
+	margin-bottom: 30px;
+}
+.category-section-title {
+	font-size: 120%;
+	text-transform: uppercase;
+	margin: 0 0 20px;
+}
+
+/************************************************************************************
+POST
+*************************************************************************************/
+.post, .hentry {
+	margin-bottom: 40px;
+	position: relative;
+}
+.post-title {
+	margin: 0 0 5px;
+	padding: 0;
+	line-height: 110%;
+	font-size: 200%;
+}
+.post-title a {
+	color: #3f2103;
+	text-decoration: none;
+}
+.post-title a:hover {
+	text-decoration: none;
+}
+
+/* post image */
+.post-image {
+	margin: 0 0 15px;
+}
+
+/* post meta */
+.post-meta {
+	font-size: 90%;
+}
+.post-meta .post-date {
+	font-weight: bold;
+	margin-right: 5px;
+}
+.post-meta .post-author {
+	background: url(images/post-author.png) no-repeat 0 2px;
+	padding-left: 16px;
+	margin-right: 7px;
+}
+.post-meta .post-comment {
+	background: url(images/post-comment.png) no-repeat 0 2px;
+	padding-left: 16px;
+	margin-right: 7px;
+}
+.post-meta .post-category {
+	background: url(images/post-category.png) no-repeat 0 2px;
+	padding-left: 16px;
+	margin-right: 7px;
+}
+.post-meta .post-tag {
+	background: url(images/post-tag.png) no-repeat 0 2px;
+	padding-left: 16px;
+	margin-right: 7px;
+}
+
+/* list post */
+.sidebar1 .list-post .post,
+.sidebar1 .list-post .hentry,
+.sidebar1 .list-post .type-page,
+.sidebar1 .list-post .attachment {
+	padding-left: 130px;
+	width: 550px;
+	position: relative;
+}
+.sidebar-none .list-post .post,
+.sidebar-none .lit-post .hentry,
+.sidebar-none .list-post .type-page,
+.sidebar-none .list-post .attachment {
+	padding-left: 130px;
+	width: 856px;
+}
+.list-post .post,
+.lit-post .hentry,
+.list-post .type-page,
+.list-post .attachment {
+	position: relative;
+	margin-bottom: 60px;
+	min-height: 200px;
+}
+.list-post .post-title {
+	margin: 0 0 10px;
+	font-size: 34px;
+}
+.list-post .post-image {
+	margin: 0 0 15px;
+}
+.list-post .post-meta {
+ /* font-size: 85%;
+	width: 115px;
+	position: absolute;
+	left: 0;
+	top: 55px; */
+	margin-bottom:60px;
+}
+.list-post .post-meta span {
+	display: block;
+	margin: 0 5px 5px 0;
+	padding-top: 5px;
+	/* border-top: solid 1px #ccc; */
+	background-position: 0 7px;
+	display: block;
+	float: left;
+}
+.list-post .post-meta .post-date {
+	margin-bottom: 10px;
+	display: block;
+	float:left;
+}
+
+.post-date {
+	/* font-size: 30px; 
+	line-height: 36px; */
+	font-size: 16px;
+	line-height: 28px;
+	padding-right: 10px;
+}
+
+/************************************************************************************
+LAYOUTS
+*************************************************************************************/
+/* grid4 post */
+.grid4 .post {
+	font-size: 90%;
+	width: 222px;
+	margin-left: 30px;
+	margin-bottom: 30px;
+	float: left;
+}
+.sidebar1 .grid4 .post {
+	width: 23%;
+	margin-left: 2.5%;
+}
+.grid4 .post-title {
+	font-size: 1.7em;
+	margin: 5px 0;
+}
+
+/* grid3 post */
+.grid3 .post {
+	width: 306px;
+	margin-left: 30px;
+	margin-bottom: 30px;
+	float: left;
+}
+.sidebar1 .grid3 .post {
+	width: 30%;
+	margin-left: 3.5%;
+}
+.grid3 .post-title {
+	font-size: 1.9em;
+	margin: 5px 0;
+}
+
+/* grid2 post */
+.grid2 .post {
+	width: 474px;
+	margin-left: 30px;
+	margin-bottom: 30px;
+	float: left;
+}
+.sidebar1 .grid2 .post {
+	width: 48%;
+	margin-left: 3.75%;
+}
+.grid2 .post-title {
+	margin: 5px 0;
+	font-size: 2em;
+}
+
+/* grid2-thumb post */
+.grid2-thumb .post {
+	width: 48%;
+	margin-left: 4%;
+	margin-bottom: 30px;
+	float: left;
+}
+.grid2-thumb .post-title {
+	margin: 5px 0;
+	font-size: 1.8em;
+}
+.grid2-thumb .post-image {
+	float: left;
+	margin: 5px 14px 10px 0;
+}
+.grid2-thumb .post-content {
+	overflow: hidden;
+}
+
+/* thumb post */
+.list-thumb-image .post-image {
+	float: left;
+	margin: 7px 16px 10px 0;
+}
+.list-thumb-image .post-content {
+	overflow: hidden;
+}
+
+/* large image post */
+.list-large-image .post-image {
+	float: left;
+	margin: 7px 22px 10px 0;
+}
+.list-large-image .post-content {
+	overflow: hidden;
+}
+
+/************************************************************************************
+POST FORMATS
+*************************************************************************************/
+/* audio format */
+.format-audio .audio-image img {
+	float: left;
+	margin: 0 20px 10px 0;
+}
+.format-audio .audio-player {
+	padding: 8px 0 10px;
+}
+.post audio {
+	max-width: 100%;
+}
+
+/* quote format */
+.format-quote .quote-content {
+	font: italic 120%/130% "OFL Sorts Mill Goudy TT", Georgia, Times, serif;
+}
+.format-quote .quote-author {
+	margin: 0 0 10px;
+	font-style: normal;
+	font-variant: small-caps;
+	text-align: right;
+	letter-spacing: .1em;
+	font-family: "OFL Sorts Mill Goudy TT", Georgia, Times, serif;
+}
+
+/* video format */
+.post-video {
+	position: relative;
+	padding-bottom: 56.25%;
+	padding-top: 30px;
+	height: 0;
+	overflow: hidden;
+	font-size:.9em;
+	margin-bottom: 15px;
+}
+.post-video iframe,  
+.post-video object,  
+.post-video embed {
+	position: absolute;
+	top: 0;
+	left: 0;
+	width: 100%;
+	height: 100%;
+}
+
+/* format link */
+.format-link .post-title a {
+	background: url(images/link-arrow.png) no-repeat right center;
+	padding-right: 26px;
+}
+
+/************************************************************************************
+POST ICON
+*************************************************************************************/
+.post-icon {
+/* 	background: #bba265 url(images/icon-post.png) no-repeat center center;
+	width: 36px;
+	height: 36px;
+	display: block;
+	float: left;
+	margin: 2px 14px 0px 0;
+	border: solid 1px #948051;
+	-webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.2);
+	-moz-box-shadow: inset 0 1px 0 rgba(255,255,255,.2);
+	box-shadow: inset 0 1px 0 rgba(255,255,255,.2);
+	-webkit-border-radius: 4px;
+	-moz-border-radius: 4px;
+	border-radius: 4px;
+*/
+}
+.list-post .post-icon {
+	margin: 0 0 10px;
+	display: block;
+	position: absolute;
+	top: 0;
+	left: 0;
+}
+.format-audio .post-icon  {
+	background-image: url(images/icon-audio.png);
+}
+.format-gallery .post-icon {
+	background-image: url(images/icon-gallery.png);
+}
+.format-link .post-icon {
+	background-image: url(images/icon-link.png);
+}
+.format-quote .post-icon {
+	background-image: url(images/icon-quote.png);
+}
+.format-status .post-icon {
+	background-image: url(images/icon-status.png);
+}
+.format-aside .post-icon {
+	background-image: url(images/icon-aside.png);
+}
+.format-video .post-icon {
+	background-image: url(images/icon-video.png);
+}
+.format-image .post-icon {
+	background-image: url(images/icon-image.png);
+}
+.format-chat .post-icon {
+	background-image: url(images/icon-chat.png);
+}
+
+/************************************************************************************
+PAGE NAVIGATION
+*************************************************************************************/
+.pagenav {
+	clear: both;
+	padding-bottom: 20px;
+	text-align: right;
+	margin: 20px 0;
+}
+.pagenav a, .pagenav span {
+	line-height: 100%;
+	padding: 3px 6px;
+	margin: 0 3px;
+	vertical-align: middle;
+	display: inline-block;
+	zoom:1;
+	*display:inline;
+}
+.pagenav a {
+	color: #fff;
+	text-decoration: none;
+	background: #bba265;
+	padding: 2px 6px;
+	border: solid 1px #948051;
+	-webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.2);
+	-moz-box-shadow: inset 0 1px 0 rgba(255,255,255,.2);
+	box-shadow: inset 0 1px 0 rgba(255,255,255,.2);
+	-webkit-border-radius: 4px;
+	-moz-border-radius: 4px;
+	border-radius: 4px;
+}
+.pagenav a:hover {
+	background-color: #a68e53;
+	text-decoration: none;
+}
+.pagenav .current {
+	color: #666;
+	text-decoration: none;
+}
+
+
+/************************************************************************************
+POST NAVIGATION
+*************************************************************************************/
+.post-nav {
+	margin: 0 0 30px;
+	padding: 15px 0;
+	clear: both;
+	font-size: 110%;
+}
+.post-nav span {
+	width: 45%;
+}
+.post-nav a {
+	text-decoration: none;
+	font-size: 110%;
+}
+.post-nav a:hover {
+	text-decoration: none;
+}
+.post-nav .prev {
+	float: left;
+}
+.post-nav .prev a {
+	padding: 6px 0 6px 0;
+	display: block;
+}
+.post-nav .next {
+	float: right;
+	text-align: right;
+}
+.post-nav .next a {
+	padding: 6px 0 6px 0;
+	display: block;
+}
+
+/* post nav arrow */
+.post-nav span span {
+	color: #fff;
+	font: normal 22px/100% "Times New Roman", Times, serif;
+	display: block;
+	float: left;
+	text-align: center;
+	margin: -6px 10px 17px 0;
+	background: #bba265;
+	width: 26px;
+	height: 26px;
+	display: block;
+	float: left;
+	border: solid 1px #948051;
+	-webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.2);
+	-moz-box-shadow: inset 0 1px 0 rgba(255,255,255,.2);
+	box-shadow: inset 0 1px 0 rgba(255,255,255,.2);
+	-webkit-border-radius: 4px;
+	-moz-border-radius: 4px;
+	border-radius: 4px;
+}
+.post-nav .next span {
+	float: right;
+	margin-left: 10px;
+	margin-right: 0;
+}
+
+
+/************************************************************************************
+COMMENTS
+*************************************************************************************/
+.commentwrap {
+	position: relative;
+	clear: both;
+}
+
+/* comment title */
+.comment-title, #reply-title {
+	font-size: 220%;
+	margin: 0 0 10px;
+	padding: 0;
+}
+
+/* comment pagenav */
+.commentwrap .pagenav {
+	border: none;
+}
+.commentwrap .pagenav.top {
+	margin: 0;
+	position: absolute;
+	top: 15px;
+	right: 0;
+}
+
+/* commentlist */
+.commentlist {
+	margin: 0;
+	padding: 5px 0 0;
+	border-top: solid 1px #ddd;
+}
+.commentlist li {
+	margin: 0;
+	padding: 15px 0 0;
+	list-style: none;
+	position: relative;
+}
+
+/* commentlist sub-levels */
+.commentlist ul, .commentlist ol {
+	margin: 0 0 0 90px;
+	padding: 0;
+}
+
+/* commentlist author line */
+.commentlist .comment-author {
+	margin: 2px 0 5px;
+	padding: 0;
+}
+.commentlist .avatar {
+	float: left;
+	margin: 0 15px 0 0;
+}
+.commentlist cite {
+	font-size: 140%;
+	font-style: normal;
+}
+.commentlist cite a {
+	text-decoration: none;
+}
+.commentlist .bypostauthor cite {
+	background: url(images/icon-author-comment.png) no-repeat 0 2px;
+	padding-left: 18px;
+}
+.commentlist .comment-time {
+	font-size: 75%;
+	text-transform: uppercase;
+}
+/* commententry */
+.commentlist .commententry {
+	border-bottom: solid 1px #ddd;
+	position: relative;
+	min-height: 40px;
+	overflow: hidden;
+	padding-bottom: 5px;
+}
+
+/* reply link */
+.commentlist .reply {
+	position: absolute;
+	right: 0;
+	top: 20px;
+}
+.commentlist .comment-reply-link {
+	font-size: 11px;
+	line-height: 100%;
+	color: #fff;
+	text-transform: uppercase;
+	text-decoration: none;
+	background: #bba265;
+	padding: 2px 6px;
+	border: solid 1px #948051;
+	-webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.2);
+	-moz-box-shadow: inset 0 1px 0 rgba(255,255,255,.2);
+	box-shadow: inset 0 1px 0 rgba(255,255,255,.2);
+	-webkit-border-radius: 4px;
+	-moz-border-radius: 4px;
+	border-radius: 4px;
+}
+.commentlist .comment-reply-link:hover {
+	text-decoration: none;
+}
+
+/* respond */
+#respond {
+	margin: 40px 0 30px;
+	padding: 10px 0 0;
+	position: relative;
+	clear: both;
+}
+#respond #cancel-comment-reply-link {
+	position: absolute;
+	top: 20px;
+	right: 0;
+	font-size: 80%;
+	font-weight: normal;
+	line-height: 100%;
+	text-decoration: none;
+	padding: 5px 10px;
+	display: block;
+	color: #fff;
+	background: #d7400d;
+	border: solid 1px #681d06;
+	text-shadow: 0 -1px 0 rgba(0,0,0,.4);
+	-webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.2);
+	-moz-box-shadow: inset 0 1px 0 rgba(255,255,255,.2);
+	box-shadow: inset 0 1px 0 rgba(255,255,255,.2);
+	-webkit-border-radius: 4px;
+	-moz-border-radius: 4px;
+	border-radius: 4px;
+}
+#respond #cancel-comment-reply-link:hover {
+	background: #c62807;
+}
+
+/* comment form */
+#commentform {
+	margin: 0;
+	padding: 0;
+}
+#commentform input[type=text] {
+	width: 206px;
+	margin-right: 5px;
+}
+#commentform label {
+	font-weight: bold;
+}
+#commentform label small {
+	font-weight: normal;
+}
+#commentform textarea {
+	height: 140px;
+}
+
+/************************************************************************************
+SIDEBAR
+*************************************************************************************/
+.widget {
+	margin: 0 0 30px;
+}
+.widgettitle {
+	margin: 0 0 10px;
+	padding: 0;
+	font-size: 165%;
+}
+.widget ul {
+	margin: 0;
+	padding: 0;
+}
+.widget li {
+	margin: 0;
+	padding: 6px 0;
+	list-style: none;
+	clear: both;
+	border-top: solid 1px #ddd;
+}
+.widget ul ul {
+	margin: 6px 0 -6px 0px;
+	padding: 0;
+	border-top: none;
+}
+.widget ul ul li {
+	margin: 0;
+	padding-left: 10px;
+}
+
+/************************************************************************************
+WIDGET STYLES
+*************************************************************************************/
+/* calendar widget */
+.widget #wp-calendar caption {
+	font-weight: bold;
+	padding-bottom: 10px;
+}
+.widget #wp-calendar td {
+	width: 31px;
+	padding: 4px 2px;
+	text-align: center;
+}
+
+/* feature posts widget */
+.widget .feature-posts-list br {
+	display: none;
+}
+.widget .feature-posts-list .post-img {
+	margin: 4px 12px 10px 0;
+	float: left;
+}
+.widget .feature-posts-list small {
+	font: italic 90% "Times New Roman", Times, serif;
+	display: block;
+	margin: 0 0 3px;
+}
+.widget .feature-posts-list .feature-posts-title {
+	margin: 4px 0 3px;
+}
+.widget .feature-posts-list .post-excerpt {
+	display: block;
+}
+
+/* twitter widget */
+.widget .twitter-list .twitter-timestamp {
+	font: italic 90% "Times New Roman", Times, serif;
+}
+.widget .follow-user {
+	margin: 0;
+	padding: 5px 0;
+}
+
+/* links widget */
+.widget .links-list img, .widget_links img {
+	vertical-align: middle;
+	margin-right: 7px;
+}
+
+/* recent comments widget */
+.recent-comments-list .avatar {
+	margin-right: 12px;
+	float: left;
+}
+
+/* flickr widget */
+.widget .flickr_badge_image {
+	margin-right: 12px;
+	margin-bottom: 12px;
+	float: left;
+}
+.widget .flickr_badge_image img {
+	width: 60px;
+	height: 60px;
+}
+
+/* search widget */
+#sidebar #searchform {
+	position: static;
+}
+#sidebar #searchform #s {
+	width: 93%;
+}
+
+/************************************************************************************
+FOOTER
+*************************************************************************************/
+/* footer widgets */
+.footer-widgetswrap {
+	background: #261e1c url(images/dash-bg.png) repeat-x 0 0;
+	border-bottom: solid 1px #000;
+	padding: 15px 0 0;
+	-webkit-box-shadow: inset 0 -1px 0 rgba(255,255,255,.1), 0 1px 2px rgba(0,0,0,.3);
+	-moz-box-shadow: inset 0 -1px 0 rgba(255,255,255,.1), 0 1px 2px rgba(0,0,0,.3);
+	box-shadow: inset 0 -1px 0 rgba(255,255,255,.1), 0 1px 2px rgba(0,0,0,.3);
+}
+.footer-widgets {
+	color: #b3aeac;
+}
+.footer-widgets .widget {
+	margin-top: 20px;
+	margin-bottom: 30px;
+}
+.footer-widgets .widget li {
+	border-color: #514b49;
+}
+.footer-widgets .widgettitle {
+	color: #fff;
+}
+.footer-widgets a {
+	color: #c7af77;
+}
+
+/* footer */
+#footer {
+	clear: both;
+	position: relative;
+	min-height: 100px;
+	color: #b3aeac;
+	padding: 30px 0;
+}
+#footer a {
+	color: #c7af77;
+}
+
+/* footer nav */
+.footer-nav {
+	clear: both;
+	margin: 0 0 5px;
+	padding: 0;
+}
+.footer-nav li {
+	padding: 0;
+	margin: 0 20px 0 0;
+	display: inline;
+	list-style: none;
+}
+.footer-nav a {
+	font-weight: bold;
+}
+
+/* footer logo */
+#footer-logo {
+	position: absolute;
+	top: 34px;
+	right: 0;
+	font: small-caps 36px/100% Rokkitt, Arial, Helvetica, sans-serif;
+	text-shadow: 0 2px 0 rgba(0,0,0,.2);
+}
+#footer-logo a {
+	color: #fff;
+	text-decoration: none;
+}
+#footer-logo a:hover {
+	text-decoration: none;
+}
+
+/* footer text */
+.footer-text {
+	font-size: 90%;
+}
+
+/************************************************************************************
+GALLERY
+*************************************************************************************/
+#body .gallery {
+	margin: 5px 0 10px;
+}
+
+#body .gallery img {
+	border: none;
+}
+
+/* gallery item */
+#body .gallery dl {
+	margin: 0 12px 10px 0;
+	display: inline-block;
+	vertical-align: top;
+	zoom:1;
+	*display:inline;
+	width: auto;
+	float: none;
+	text-align: center;
+}
+/* gallery caption */
+#body .gallery dd {
+	width: 140px;
+	line-height: 120%;
+	font-size: 90%;
+	text-align: center;
+	margin: 5px 0 0;
+}
+/* get rid of br tag */
+.gallery br {
+	display:none;
+}
+
+/************************************************************************************
+WORDPRESS POST FORMATTING
+*************************************************************************************/
+img.alignleft, img.aligncenter, img.alignright, img.alignnone {
+	margin-bottom: 15px;
+}
+.alignleft {
+	float: left;
+	margin-right: 30px;
+}
+.alignright {
+	float: right;
+	margin-left: 30px;
+}
+.aligncenter {
+	text-align: center;
+	display: block;
+	margin-left: auto;
+	margin-right: auto;
+}
+.wp-caption {
+	text-align: center;
+	margin-bottom: 15px;
+	max-width: 100%;
+}
+.wp-caption-text {
+	font: italic 95%/120% Georgia, "Times New Roman", Times, serif;
+	margin: 6px 0;
+}
+
+/* ***********************************************************************************
+IMAGE STYLES
+*************************************************************************************/
+.post-image img,
+.widget .feature-posts-list .post-img, 
+.widget .flickr_badge_image img, 
+.commentlist .avatar, 
+.recent-comments-list .avatar, 
+#body .gallery img, 
+.attachment img {
+	padding: 2px;
+	background: #fff;
+	border: solid 1px #e3e3e3;
+	border-bottom-color: #ddd;
+}
+
+img.alignleft, img.aligncenter, img.alignright, img.alignnone, .wp-caption img, {
+	
+	padding: 2px;
+	
+}
+
+/************************************************************************************
+CLEAR & ALIGNMENT
+*************************************************************************************/
+.clear {
+	clear: both;
+}
+.left {
+	float: left;
+}
+.right {
+	float: right;
+}
+.textleft {
+	text-align: left;
+}
+.textright {
+	text-align: right;
+}
+.textcenter {
+	text-align: center;
+}
+
+/* clearfix */
+.clearfix:after, .widget li:after, #body:after, #footer:after, footer:after, .pagenav:after, #main-nav:after, #main-nav:after, .menu:after, .gallery:after, #content:after
+{ visibility: hidden; display: block; font-size: 0; content: " "; clear: both; height: 0; }
+.clearfix, .widget li, #body, #footer, footer, .pagenav, #main-nav, #main-nav, .menu, .gallery, #content
+{ display: inline-block; }
+/* clearfix for ie7 */
+.clearfix, .widget li, #body, #footer, footer, .pagenav, #main-nav, #main-nav, .menu, .gallery, #content
+{ display: block; zoom: 1; }
+
+p.nocomments, #respond h3 { display: none; }
diff --git a/bigbluebutton-client/resources/prod/help/CSS/syndication_bundle_v1_a8b7ca7f4dc426e605bae285b2162e52c8f1021d.css b/bigbluebutton-client/resources/prod/help/CSS/syndication_bundle_v1_a8b7ca7f4dc426e605bae285b2162e52c8f1021d.css
new file mode 100755
index 0000000000000000000000000000000000000000..8bda83c879521f129404e12fcba5b0949a163c12
--- /dev/null
+++ b/bigbluebutton-client/resources/prod/help/CSS/syndication_bundle_v1_a8b7ca7f4dc426e605bae285b2162e52c8f1021d.css
@@ -0,0 +1,1236 @@
+.TwitterCard .u-linkClean,.TwitterCard .u-linkClean:hover,.TwitterCard .u-linkClean:focus,.TwitterCard .u-linkClean:active {
+	text-decoration:none
+}
+.TwitterCard .u-linkComplex,.TwitterCard .u-linkComplex:hover,.TwitterCard .u-linkComplex:focus,.TwitterCard .u-linkComplex:active {
+	text-decoration:none
+}
+.TwitterCard .u-linkComplex:hover .u-linkComplex-target,.TwitterCard .u-linkComplex:focus .u-linkComplex-target,.TwitterCard .u-linkComplex:active .u-linkComplex-target {
+	text-decoration:underline
+}
+.TwitterCard .u-linkBlock,.TwitterCard .u-linkBlock:hover,.TwitterCard .u-linkBlock:focus,.TwitterCard .u-linkBlock:active {
+	display:block;
+	text-decoration:none
+}
+.TwitterCard .u-linkPseudo {
+	display:inline;
+	padding:0;
+	border:0;
+	margin:0;
+	background:transparent;
+	color:inherit;
+	cursor:pointer;
+	font:inherit
+}
+.TwitterCard .u-linkPseudo:hover,.TwitterCard .u-linkPseudo:focus,.TwitterCard .u-linkPseudo:active {
+	background:transparent;
+	color:inherit
+}
+.TwitterCard .FlexEmbed {
+	position:relative;
+	overflow:hidden;
+	height:0;
+	padding:0
+}
+.TwitterCard .FlexEmbed-item,.TwitterCard .FlexEmbed iframe,.TwitterCard .FlexEmbed embed,.TwitterCard .FlexEmbed object {
+	position:absolute;
+	left:0;
+	top:0;
+	width:100%;
+	height:100%
+}
+.TwitterCard .FlexEmbed--16by9 {
+	padding-bottom:56.25%
+}
+.TwitterCard .FlexEmbed--4by3 {
+	padding-bottom:75%
+}
+.TwitterCard .Button {
+	-webkit-appearance:none;
+	background:transparent;
+	border:1px solid;
+	-moz-box-sizing:border-box;
+	box-sizing:border-box;
+	color:inherit;
+	cursor:pointer;
+	display:inline-block;
+	font:inherit;
+	line-height:normal;
+	margin:0;
+	padding:.4em .75em;
+	position:relative;
+	text-align:center;
+	text-decoration:none;
+	-moz-user-select:none;
+	-ms-user-select:none;
+	-webkit-user-select:none;
+	user-select:none;
+	vertical-align:middle;
+	white-space:nowrap
+}
+.TwitterCard .Button:hover,.TwitterCard .Button:focus,.TwitterCard .Button:active {
+	text-decoration:none
+}
+.TwitterCard .Button:disabled,.TwitterCard .Button.is-disabled {
+	cursor:default
+}
+.TwitterCard .Button::-moz-focus-inner {
+	border:0;
+	padding:0
+}
+.TwitterCard .Button--full {
+	display:block;
+	width:100%
+}
+.TwitterCard {
+	background:transparent;
+	color:inherit;
+	overflow:hidden
+}
+.TwitterCard--animation {
+	animation-duration:150ms;
+	animation-name:fadeInTwitterCard;
+	animation-timing-function:cubic-bezier(0.9,0,.9,0)
+}
+.TwitterCard b,.TwitterCard strong {
+	font-weight:700
+}
+.TwitterCard a[tabindex="-1"] {
+	outline:0
+}
+.TwitterCard .is-emojiCharacter {
+	font-weight:400!important
+}
+.TwitterCard-title {
+	font-size:1em;
+	margin:0 0 .15em
+}
+.TwitterCard-thumbnail {
+	width:97%;
+	width:calc(100% - 1em)
+}
+.TwitterCard-thumbnail--appIcon {
+	border-radius:17%;
+	width:66%
+}
+.TwitterCard-attribution--avatar {
+	border-radius:2px;
+	vertical-align:middle;
+	width:20px
+}
+.TwitterCard-attribution--name {
+	font-size:1em;
+	vertical-align:middle
+}
+.TwitterCard-container {
+	border-radius:.42857em;
+	border-width:1px;
+	border-style:solid;
+	border-color:#E1E8ED;
+	box-sizing:border-box;
+	color:inherit!important;
+	overflow:hidden
+}
+.TwitterCard-container[data-theme=dark] {
+	border-color:#8899A6
+}
+.TwitterCard-container--clickable {
+	cursor:pointer;
+	outline-offset:-1px;
+	transition:background-color .15s ease-in-out,border-color .15s ease-in-out
+}
+.TwitterCard-container--clickable:hover {
+	background:#F5F8FA;
+	border-color:#8899A6;
+	border-color:rgba(136,153,166,.5)
+}
+.TwitterCard-container--clickable[data-theme=dark]:hover {
+	background-color:rgba(255,255,255,.1);
+	border-color:#FFF
+}
+.tcu-linkImgFocus:focus {
+	outline:2px solid!important;
+	outline-offset:-2px
+}
+.tcu-linkImgFocus img {
+	display:block
+}
+.tcu-resetMargin {
+	margin:0
+}
+@keyframes fadeInTwitterCard {
+	from {
+		opacity:0
+	}
+	to {
+		opacity:1
+	}
+}
+.TwitterCard .showOnSuccess,.TwitterCard .showOnError {
+	display:none
+}
+.TwitterCard .successElements .showOnSuccess,.TwitterCard .errorElements .showOnError {
+	display:block
+}
+.TwitterCard .hideOnSuccess,.TwitterCard .hideOnError {
+	display:block
+}
+.TwitterCard .successElements .hideOnSuccess,.TwitterCard .errorElements .hideOnError {
+	display:none
+}
+.tcu-dir[dir=rtl] {
+	direction:rtl!important;
+	text-align:right!important;
+	unicode-bidi:embed
+}
+.tcu-dir[dir=ltr] {
+	direction:ltr!important;
+	text-align:left!important;
+	unicode-bidi:embed
+}
+.tcu-imageAspect--1to1:before {
+	padding-top:100%
+}
+.tcu-imageAspect--1to2:before {
+	padding-top:200%
+}
+.tcu-imageAspect--2to1:before {
+	padding-top:50%
+}
+.tcu-imageAspect--1_91to1:before {
+	padding-top:52.25%
+}
+.tcu-imageAspect--3to4:before {
+	padding-top:133.33%
+}
+.tcu-imageAspect--4to3:before {
+	padding-top:75%
+}
+.tcu-imageAspect--5to2:before {
+	padding-top:40%
+}
+.tcu-imageAspect--16to9:before {
+	padding-top:56.25%
+}
+.tcu-imageAspect--4to1:before {
+	padding-top:25%
+}
+.tcu-imageContainer {
+	position:relative;
+	width:100%;
+	overflow:hidden
+}
+.tcu-imageContainer:before {
+	content:"";
+	display:block
+}
+.tcu-imageWrapper {
+	position:absolute;
+	top:-1px;
+	left:-1px;
+	bottom:-1px;
+	right:-1px;
+	background-size:cover;
+	background-position:center;
+	background-repeat:no-repeat
+}
+.tcu-imageWrapper img {
+	width:100%;
+	height:100%;
+	opacity:0
+}
+.tcu-graylink {
+	color:#AAA;
+	text-decoration:none
+}
+.tcu-graylink:focus,.tcu-graylink:active,.tcu-graylink:hover {
+	text-decoration:underline
+}
+.tcu-clickable:hover {
+	cursor:pointer
+}
+.tcu-textWrap--break {
+	word-wrap:break-word
+}
+.tcu-textMute {
+	color:#777
+}
+.tcu-textSmall {
+	font-size:.857em
+}
+.tcu-textUppercase {
+	text-transform:uppercase
+}
+.tcu-textLowercase {
+	text-transform:lowercase
+}
+.tcu-textCapitalize {
+	text-transform:capitalize
+}
+.tcu-textEllipse {
+	max-height:1.3em;
+	white-space:nowrap;
+	overflow:hidden;
+	text-overflow:ellipsis
+}
+.tcu-textBold {
+	font-weight:700
+}
+.tcu-textBold .is-emojiCharacter {
+	font-weight:400
+}
+.tcu-textEllipse--multiline {
+	overflow:hidden
+}
+.tcu-textInherit {
+	color:inherit
+}
+.tcu-textInherit:not(:focus):not(:hover):not(:active) {
+	color:inherit;
+	font-weight:inherit;
+	text-decoration:inherit
+}
+.tcu-textInheritAll,.tcu-textInheritAll:hover,.tcu-textInheritAll:focus,.tcu-textInheritAll:active,.tcu-textInheritAll:visited {
+	color:inherit
+}
+.TwitterCardsGrid .u-textNext {
+	text-align:right
+}
+.TwitterCardsGrid .u-textPrev {
+	text-align:left
+}
+.TwitterCardsGrid-rtl .u-textNext {
+	text-align:left
+}
+.TwitterCardsGrid-rtl .u-textPrev {
+	text-align:right
+}
+.TwitterCardsGrid {
+	display:block;
+	position:relative;
+	text-align:left
+}
+.TwitterCardsGrid .TwitterCardsGrid-col--1 {
+	float:left;
+	margin-right:.32333em;
+	width:7%;
+	width:calc(8.33333% - .30556em)
+}
+.TwitterCardsGrid .TwitterCardsGrid-noColSpacing .TwitterCardsGrid-col--1 {
+	margin-right:0;
+	width:8.33333%
+}
+.TwitterCardsGrid-rtl .TwitterCardsGrid-col--1 {
+	float:right;
+	margin-right:0;
+	margin-left:.32333em
+}
+.TwitterCardsGrid-rtl.TwitterCardsGrid-noColSpacing .TwitterCardsGrid-col--1,.TwitterCardsGrid-rtl .TwitterCardsGrid-noColSpacing .TwitterCardsGrid-col--1 {
+	margin-left:0
+}
+.TwitterCardsGrid .TwitterCardsGrid-col--2 {
+	float:left;
+	margin-right:.32333em;
+	width:15%;
+	width:calc(16.66667% - .27778em)
+}
+.TwitterCardsGrid .TwitterCardsGrid-noColSpacing .TwitterCardsGrid-col--2 {
+	margin-right:0;
+	width:16.66667%
+}
+.TwitterCardsGrid-rtl .TwitterCardsGrid-col--2 {
+	float:right;
+	margin-right:0;
+	margin-left:.32333em
+}
+.TwitterCardsGrid-rtl.TwitterCardsGrid-noColSpacing .TwitterCardsGrid-col--2,.TwitterCardsGrid-rtl .TwitterCardsGrid-noColSpacing .TwitterCardsGrid-col--2 {
+	margin-left:0
+}
+.TwitterCardsGrid .TwitterCardsGrid-col--3 {
+	float:left;
+	margin-right:.32333em;
+	width:24%;
+	width:calc(25% - .25em)
+}
+.TwitterCardsGrid .TwitterCardsGrid-noColSpacing .TwitterCardsGrid-col--3 {
+	margin-right:0;
+	width:25%
+}
+.TwitterCardsGrid-rtl .TwitterCardsGrid-col--3 {
+	float:right;
+	margin-right:0;
+	margin-left:.32333em
+}
+.TwitterCardsGrid-rtl.TwitterCardsGrid-noColSpacing .TwitterCardsGrid-col--3,.TwitterCardsGrid-rtl .TwitterCardsGrid-noColSpacing .TwitterCardsGrid-col--3 {
+	margin-left:0
+}
+.TwitterCardsGrid .TwitterCardsGrid-col--4 {
+	float:left;
+	margin-right:.32333em;
+	width:32%;
+	width:calc(33.33333% - .22222em)
+}
+.TwitterCardsGrid .TwitterCardsGrid-noColSpacing .TwitterCardsGrid-col--4 {
+	margin-right:0;
+	width:33.33333%
+}
+.TwitterCardsGrid-rtl .TwitterCardsGrid-col--4 {
+	float:right;
+	margin-right:0;
+	margin-left:.32333em
+}
+.TwitterCardsGrid-rtl.TwitterCardsGrid-noColSpacing .TwitterCardsGrid-col--4,.TwitterCardsGrid-rtl .TwitterCardsGrid-noColSpacing .TwitterCardsGrid-col--4 {
+	margin-left:0
+}
+.TwitterCardsGrid .TwitterCardsGrid-col--5 {
+	float:left;
+	margin-right:.32333em;
+	width:40%;
+	width:calc(41.66667% - .19444em)
+}
+.TwitterCardsGrid .TwitterCardsGrid-noColSpacing .TwitterCardsGrid-col--5 {
+	margin-right:0;
+	width:41.66667%
+}
+.TwitterCardsGrid-rtl .TwitterCardsGrid-col--5 {
+	float:right;
+	margin-right:0;
+	margin-left:.32333em
+}
+.TwitterCardsGrid-rtl.TwitterCardsGrid-noColSpacing .TwitterCardsGrid-col--5,.TwitterCardsGrid-rtl .TwitterCardsGrid-noColSpacing .TwitterCardsGrid-col--5 {
+	margin-left:0
+}
+.TwitterCardsGrid .TwitterCardsGrid-col--6 {
+	float:left;
+	margin-right:.32333em;
+	width:49%;
+	width:calc(50% - .16667em)
+}
+.TwitterCardsGrid .TwitterCardsGrid-noColSpacing .TwitterCardsGrid-col--6 {
+	margin-right:0;
+	width:50%
+}
+.TwitterCardsGrid-rtl .TwitterCardsGrid-col--6 {
+	float:right;
+	margin-right:0;
+	margin-left:.32333em
+}
+.TwitterCardsGrid-rtl.TwitterCardsGrid-noColSpacing .TwitterCardsGrid-col--6,.TwitterCardsGrid-rtl .TwitterCardsGrid-noColSpacing .TwitterCardsGrid-col--6 {
+	margin-left:0
+}
+.TwitterCardsGrid .TwitterCardsGrid-col--7 {
+	float:left;
+	margin-right:.32333em;
+	width:57%;
+	width:calc(58.33333% - .13889em)
+}
+.TwitterCardsGrid .TwitterCardsGrid-noColSpacing .TwitterCardsGrid-col--7 {
+	margin-right:0;
+	width:58.33333%
+}
+.TwitterCardsGrid-rtl .TwitterCardsGrid-col--7 {
+	float:right;
+	margin-right:0;
+	margin-left:.32333em
+}
+.TwitterCardsGrid-rtl.TwitterCardsGrid-noColSpacing .TwitterCardsGrid-col--7,.TwitterCardsGrid-rtl .TwitterCardsGrid-noColSpacing .TwitterCardsGrid-col--7 {
+	margin-left:0
+}
+.TwitterCardsGrid .TwitterCardsGrid-col--8 {
+	float:left;
+	margin-right:.32333em;
+	width:65%;
+	width:calc(66.66667% - .11111em)
+}
+.TwitterCardsGrid .TwitterCardsGrid-noColSpacing .TwitterCardsGrid-col--8 {
+	margin-right:0;
+	width:66.66667%
+}
+.TwitterCardsGrid-rtl .TwitterCardsGrid-col--8 {
+	float:right;
+	margin-right:0;
+	margin-left:.32333em
+}
+.TwitterCardsGrid-rtl.TwitterCardsGrid-noColSpacing .TwitterCardsGrid-col--8,.TwitterCardsGrid-rtl .TwitterCardsGrid-noColSpacing .TwitterCardsGrid-col--8 {
+	margin-left:0
+}
+.TwitterCardsGrid .TwitterCardsGrid-col--9 {
+	float:left;
+	margin-right:.32333em;
+	width:74%;
+	width:calc(75% - .08333em)
+}
+.TwitterCardsGrid .TwitterCardsGrid-noColSpacing .TwitterCardsGrid-col--9 {
+	margin-right:0;
+	width:75%
+}
+.TwitterCardsGrid-rtl .TwitterCardsGrid-col--9 {
+	float:right;
+	margin-right:0;
+	margin-left:.32333em
+}
+.TwitterCardsGrid-rtl.TwitterCardsGrid-noColSpacing .TwitterCardsGrid-col--9,.TwitterCardsGrid-rtl .TwitterCardsGrid-noColSpacing .TwitterCardsGrid-col--9 {
+	margin-left:0
+}
+.TwitterCardsGrid .TwitterCardsGrid-col--10 {
+	float:left;
+	margin-right:.32333em;
+	width:82%;
+	width:calc(83.33333% - .05556em)
+}
+.TwitterCardsGrid .TwitterCardsGrid-noColSpacing .TwitterCardsGrid-col--10 {
+	margin-right:0;
+	width:83.33333%
+}
+.TwitterCardsGrid-rtl .TwitterCardsGrid-col--10 {
+	float:right;
+	margin-right:0;
+	margin-left:.32333em
+}
+.TwitterCardsGrid-rtl.TwitterCardsGrid-noColSpacing .TwitterCardsGrid-col--10,.TwitterCardsGrid-rtl .TwitterCardsGrid-noColSpacing .TwitterCardsGrid-col--10 {
+	margin-left:0
+}
+.TwitterCardsGrid .TwitterCardsGrid-col--11 {
+	float:left;
+	margin-right:.32333em;
+	width:90%;
+	width:calc(91.66667% - .02778em)
+}
+.TwitterCardsGrid .TwitterCardsGrid-noColSpacing .TwitterCardsGrid-col--11 {
+	margin-right:0;
+	width:91.66667%
+}
+.TwitterCardsGrid-rtl .TwitterCardsGrid-col--11 {
+	float:right;
+	margin-right:0;
+	margin-left:.32333em
+}
+.TwitterCardsGrid-rtl.TwitterCardsGrid-noColSpacing .TwitterCardsGrid-col--11,.TwitterCardsGrid-rtl .TwitterCardsGrid-noColSpacing .TwitterCardsGrid-col--11 {
+	margin-left:0
+}
+.TwitterCardsGrid .TwitterCardsGrid-col--12 {
+	float:left;
+	width:100%;
+	clear:both
+}
+.TwitterCardsGrid .TwitterCardsGrid-col--end {
+	margin-right:0
+}
+.TwitterCardsGrid .TwitterCardsGrid-col--end~* {
+	clear:left
+}
+.TwitterCardsGrid .TwitterCardsGrid-col--spacerAll,.TwitterCardsGrid-rtl .TwitterCardsGrid-col--spacerAll {
+	margin:.32333em
+}
+.TwitterCardsGrid .TwitterCardsGrid-col--spacerPrevNext,.TwitterCardsGrid-rtl .TwitterCardsGrid-col--spacerPrevNext {
+	margin-left:.32333em;
+	margin-right:.32333em
+}
+.TwitterCardsGrid .TwitterCardsGrid-col--spacerPrev,.TwitterCardsGrid-rtl .TwitterCardsGrid-col--spacerNext {
+	margin-left:.32333em
+}
+.TwitterCardsGrid .TwitterCardsGrid-col--spacerNext,.TwitterCardsGrid-rtl .TwitterCardsGrid-col--spacerPrev {
+	margin-right:.32333em
+}
+.TwitterCardsGrid .TwitterCardsGrid-col--spacerTopBottom,.TwitterCardsGrid-rtl .TwitterCardsGrid-col--spacerTopBottom {
+	margin-top:.32333em;
+	margin-bottom:.32333em
+}
+.TwitterCardsGrid .TwitterCardsGrid-col--spacerTop,.TwitterCardsGrid-rtl .TwitterCardsGrid-col--spacerTop {
+	margin-top:.32333em
+}
+.TwitterCardsGrid .TwitterCardsGrid-col--spacerBottom,.TwitterCardsGrid-rtl .TwitterCardsGrid-col--spacerBottom {
+	margin-bottom:.32333em
+}
+.TwitterCardsGrid .TwitterCardsGrid-col--spacerNone,.TwitterCardsGrid-rtl .TwitterCardsGrid-col--spacerNone {
+	margin-top:0;
+	margin-bottom:0;
+	margin-left:0;
+	margin-right:0
+}
+.TwitterCardsGrid .TwitterCardsGrid-float--next {
+	float:right
+}
+.TwitterCardsGrid .TwitterCardsGrid-float--prev {
+	float:left
+}
+.TwitterCardsGrid-rtl {
+	text-align:right
+}
+.TwitterCardsGrid-rtl .TwitterCardsGrid-col--end {
+	margin-left:0
+}
+.TwitterCardsGrid-rtl .TwitterCardsGrid-col--end~* {
+	clear:right
+}
+.TwitterCardsGrid-rtl .TwitterCardsGrid-float--next {
+	float:left
+}
+.TwitterCardsGrid-rtl .TwitterCardsGrid-float--prev {
+	float:right
+}
+.TwitterCardsGrid .TwitterCardsGrid-el--fullWidth {
+	width:100%
+}
+.TwitterCard .Button--default {
+	background-color:#f5f5f5;
+	background-image:linear-gradient(#fff,#eee);
+	border-color:#ccc;
+	border-radius:4px;
+	font-weight:700;
+	margin-top:1em;
+	padding:.5em 1em
+}
+.TwitterCard .Button--default:hover,.TwitterCard .Button--default:focus,.TwitterCard .Button--default:active {
+	background:#eee;
+	border-color:#aaa;
+	color:inherit
+}
+.TwitterCard .Button--default:active {
+	box-shadow:inset 0 2px 5px -1px rgba(0,0,0,.2)
+}
+.TwitterCard .Button--smallGray {
+	background-color:#f5f8fA;
+	background-image:linear-gradient(0rad,#f5f8fA,#fff);
+	border:1px solid #e1e8ed;
+	border-radius:.25em;
+	font-weight:700;
+	margin-top:.5em;
+	padding:.5em 1em;
+	outline-offset:-4px!important
+}
+.TwitterCard .Button--smallGray[disabled] {
+	cursor:not-allowed
+}
+.TwitterCard .Button--smallGray:not([disabled]):hover,.TwitterCard .Button--smallGray:not([disabled]):focus,.TwitterCard .Button--smallGray:not([disabled]):active {
+	border:1px solid #E1E1EA;
+	background-color:#e1e8ed;
+	background-image:linear-gradient(0rad,#e1e8ed,#fff);
+	color:inherit
+}
+.TwitterCard .Button--smallGray:not([disabled]):active {
+	box-shadow:inset 0 2px 5px -1px rgba(0,0,0,.2)
+}
+.TwitterCard .Button--smallGray[data-theme=dark] {
+	background-color:transparent;
+	background-image:none;
+	border-color:#FFF;
+	color:#FFF
+}
+.TwitterCard .Button--smallGray[data-theme=dark]:not([disabled]):hover,.TwitterCard .Button--smallGray[data-theme=dark]:not([disabled]):focus,.TwitterCard .Button--smallGray[data-theme=dark]:not([disabled]):active {
+	background-color:rgba(255,255,255,.1);
+	background-image:none;
+	border-color:#FFF
+}
+.TwitterCard a.u-buttonLabel,.TwitterCard a.u-buttonLabel:hover,.TwitterCard a.u-buttonLabel:focus,.TwitterCard a.u-buttonLabel:active {
+	text-decoration:none;
+	color:#292F33
+}
+.TwitterCard .BuyNowCard-content {
+	padding:1em;
+	box-sizing:border-box
+}
+.TwitterCard .BuyNowCard-content .TwitterCard-title {
+	max-height:1.3em!important;
+	white-space:nowrap!important
+}
+.TwitterCard .BuyNowCard-byline {
+	color:#AAB8C2;
+	margin-bottom:0
+}
+.TwitterCard .BuyNowCard-image.TwitterCardsGrid-col--12 {
+	background-color:transparent
+}
+.TwitterCard .BuyNowCard-image--horizontal .tcu-imageWrapper {
+	background-size:cover!important
+}
+.TwitterCard .BuyNowCard-image--vertical .tcu-imageWrapper {
+	background-size:contain!important
+}
+.TwitterCard .BuyNowCard-image .tcu-imageWrapper {
+	background-color:#FFF
+}
+.TwitterCard .MomentCard {
+	background-color:#FFF
+}
+.TwitterCard .MomentCard-cover {
+	border-color:inherit;
+	border-right-width:1px;
+	border-right-style:solid;
+	box-sizing:border-box
+}
+.TwitterCard .MomentCard-content {
+	padding:1.14286em 1em
+}
+.TwitterCard .MomentCard-title .TwitterCard-title {
+	font-size:1.14286em;
+	line-height:1.25em;
+	margin-bottom:.35714em;
+	max-height:2.5em;
+	overflow:hidden
+}
+.TwitterCard .MomentCard-title h2 {
+	font-weight:500
+}
+.TwitterCard .MomentCard-subtitle {
+	color:#8899A6;
+	font-size:1em;
+	font-weight:300;
+	margin:.57143em 0;
+	position:relative
+}
+.TwitterCard .MomentCard-author,.TwitterCard .MomentCard-authorName {
+	overflow:hidden;
+	text-overflow:ellipsis;
+	white-space:nowrap
+}
+.TwitterCard .MomentCard-authorName {
+	color:#292F33;
+	display:inline-block;
+	font-weight:500;
+	max-width:60%;
+	vertical-align:middle
+}
+.TwitterCard .MomentCard-authorScreenName {
+	vertical-align:middle
+}
+.TwitterCard .MomentCard-authorAvatar {
+	border-radius:2px;
+	height:1em;
+	margin-right:.21429em;
+	vertical-align:middle;
+	width:1em
+}
+.TwitterCard .MomentCard-description p {
+	color:#8899A6;
+	font-weight:300;
+	max-height:6.5em
+}
+.TwitterCard .MomentCard-badge {
+	bottom:1.35714em;
+	color:#8899A6;
+	font-size:1em;
+	position:absolute
+}
+.TwitterCard .MomentCard-badgeText {
+	font-weight:300;
+	line-height:1.3em;
+	margin-left:1.1em
+}
+.TwitterCard .MomentCard-iconLightning {
+	background-image:url(//ton.twimg.com/tfw/assets/lightning_backup_v1_3275c7700965edb5fb32ecaec770602c42674edd.png);
+	background-image:url(//ton.twimg.com/tfw/assets/lightning_v1_de331faee24508022200dae98bac0dc01db54f32.svg);
+	background-repeat:no-repeat;
+	background-size:cover;
+	bottom:1px;
+	display:inline-block;
+	height:1.07143em;
+	position:absolute;
+	width:.57143em
+}
+.TwitterCard .MomentCard-iconVerified {
+	background-image:url(//ton.twimg.com/tfw/assets/verified_v1_de2dc8d110b03567621d054ebb48770d5fe228c6.svg);
+	background-repeat:no-repeat;
+	background-size:cover;
+	display:inline-block;
+	height:1em;
+	vertical-align:middle;
+	width:1em
+}
+.TwitterCard .MomentCard--unavailable {
+	background:#E1E8ED;
+	border-radius:.35714em;
+	color:#8899A6;
+	padding:.85714em;
+	text-align:center
+}
+.TwitterCard .MomentCard:not([data-card-breakpoints~=w500]) .MomentCard-cover {
+	width:40%;
+	width:calc(41.66667% - .19444em)
+}
+.TwitterCard .MomentCard:not([data-card-breakpoints~=w500]) .MomentCard-contentContainer {
+	width:57%;
+	width:calc(58.33333% - .13889em)
+}
+.TwitterCard .MomentCard:not([data-card-breakpoints~=w500]) .MomentCard-description p {
+	max-height:2.6em
+}
+.TwitterCard .MomentCard:not([data-card-breakpoints~=w450]) .MomentCard-description p {
+	max-height:1.3em
+}
+.TwitterCard .MomentCard:not([data-card-breakpoints~=w400]) .MomentCard-description {
+	display:none!important
+}
+.TwitterCard .MomentCard:not([data-card-breakpoints~=w300]) .MomentCard-title .TwitterCard-title,.TwitterCard .MomentCard:not([data-card-breakpoints~=w300]) .MomentCard-subtitle,.TwitterCard .MomentCard:not([data-card-breakpoints~=w300]) .MomentCard-badge {
+	font-size:.92857em
+}
+.TwitterCard .MomentCard.TwitterCardsGrid-rtl .MomentCard-cover {
+	border-left-width:1px;
+	border-left-style:solid;
+	border-right:0
+}
+.TwitterCard .PollXChoice {
+	box-sizing:border-box;
+	transition:all .3s cubic-bezier(0.5,1.2,.5,1.2)
+}
+.TwitterCard .PollXChoice--noTransitions * {
+	transition:none!important;
+	transition-duration:0s!important;
+	transition-property:none!important
+}
+.TwitterCard .PollXChoice[data-poll-image=true] .tcu-imageWrapper {
+	top:0;
+	left:0;
+	bottom:0;
+	right:0;
+	box-shadow:inset 0 0 50px rgba(0,0,0,.1)
+}
+.TwitterCard .PollXChoice[data-poll-image=true] .tcu-imageWrapper:before {
+	position:absolute;
+	height:100%;
+	width:100%;
+	content:""
+}
+.TwitterCard .PollXChoice-pollWrapper {
+	position:relative;
+	overflow:hidden;
+	border-radius:.35714em
+}
+.TwitterCard .PollXChoice-optionsWrapper {
+	box-sizing:border-box;
+	padding-left:4px;
+	padding-right:4px
+}
+.TwitterCard [data-poll-state=closed] .PollXChoice-optionsWrapper,.TwitterCard [data-poll-state=final] .PollXChoice-optionsWrapper {
+	padding-left:0;
+	padding-right:0
+}
+.TwitterCard [data-poll-image=true] .PollXChoice-optionsWrapper {
+	color:#FFF;
+	text-shadow:0 0 1px #000;
+	bottom:0;
+	position:absolute;
+	padding-left:1.28571em;
+	padding-right:1.28571em;
+	padding-top:9.14286em;
+	padding-bottom:1em;
+	background:linear-gradient(to bottom,transparent 0,rgba(0,0,0,.7) 100%)
+}
+.TwitterCard [data-poll-image=true][data-poll-state=closed] .PollXChoice-optionsWrapper,.TwitterCard [data-poll-image=true][data-poll-state=final] .PollXChoice-optionsWrapper {
+	padding-left:1.92857em;
+	padding-right:1.92857em
+}
+.TwitterCard [data-poll-image=true][data-poll-state=final][data-poll-init-state=final] .PollXChoice-optionsWrapper {
+	padding-left:1.28571em;
+	padding-right:1.28571em;
+	padding-bottom:1.28571em
+}
+.TwitterCard .PollXChoice-optionContainer {
+	margin-bottom:.57143em;
+	position:relative;
+	box-sizing:border-box
+}
+.TwitterCard .PollXChoice[data-theme=dark][data-poll-state=closed] .PollXChoice-optionContainer,.TwitterCard .PollXChoice[data-theme=dark][data-poll-state=final] .PollXChoice-optionContainer {
+	color:#292F33
+}
+.TwitterCard [data-poll-vote-majority*="1"] .PollXChoice-optionContainer[data-poll-index="1"] .PollXChoice-choice--chart {
+	background:#77C7F7
+}
+.TwitterCard [data-poll-vote-majority*="1"][data-poll-image=true] .PollXChoice-optionContainer[data-poll-index="1"] .PollXChoice-choice--chart {
+	background:rgba(255,255,255,.4)
+}
+.TwitterCard [data-poll-vote-majority*="2"] .PollXChoice-optionContainer[data-poll-index="2"] .PollXChoice-choice--chart {
+	background:#77C7F7
+}
+.TwitterCard [data-poll-vote-majority*="2"][data-poll-image=true] .PollXChoice-optionContainer[data-poll-index="2"] .PollXChoice-choice--chart {
+	background:rgba(255,255,255,.4)
+}
+.TwitterCard [data-poll-vote-majority*="3"] .PollXChoice-optionContainer[data-poll-index="3"] .PollXChoice-choice--chart {
+	background:#77C7F7
+}
+.TwitterCard [data-poll-vote-majority*="3"][data-poll-image=true] .PollXChoice-optionContainer[data-poll-index="3"] .PollXChoice-choice--chart {
+	background:rgba(255,255,255,.4)
+}
+.TwitterCard [data-poll-vote-majority*="4"] .PollXChoice-optionContainer[data-poll-index="4"] .PollXChoice-choice--chart {
+	background:#77C7F7
+}
+.TwitterCard [data-poll-vote-majority*="4"][data-poll-image=true] .PollXChoice-optionContainer[data-poll-index="4"] .PollXChoice-choice--chart {
+	background:rgba(255,255,255,.4)
+}
+.TwitterCard .PollXChoice-optionContainer .PollXChoice-progress {
+	display:inline-block;
+	max-width:100%;
+	margin-left:.64286em;
+	margin-right:.64286em;
+	overflow:hidden;
+	transition-duration:.3s;
+	transition-timing-function:cubic-bezier(0.5,1.2,.5,1.2);
+	transition-property:width,margin-left,margin-right
+}
+.TwitterCard .TwitterCardsGrid-rtl .PollXChoice-optionContainer .PollXChoice-progress {
+	margin-left:.64286em;
+	margin-right:.64286em
+}
+.TwitterCard .PollXChoice-optionContainer .PollXChoice-progress span {
+	opacity:0
+}
+.TwitterCard [data-poll-state=opened] .PollXChoice-optionContainer .PollXChoice-progress {
+	max-width:0;
+	margin-left:-3em;
+	margin-right:3em
+}
+.TwitterCard .TwitterCardsGrid-rtl[data-poll-state=opened] .PollXChoice-optionContainer .PollXChoice-progress {
+	margin-left:3em;
+	margin-right:-3em
+}
+.TwitterCard .PollXChoice-optionContainer .PollXChoice-choice {
+	overflow:hidden;
+	position:relative;
+	display:block;
+	border-radius:.35714em;
+	cursor:inherit;
+	text-overflow:ellipsis;
+	white-space:nowrap
+}
+.TwitterCard [data-poll-state=opened] .PollXChoice-optionContainer .PollXChoice-choice:hover {
+	cursor:pointer
+}
+.TwitterCard .PollXChoice-optionContainer .PollXChoice-choice--selected {
+	width:0;
+	height:1em;
+	display:inline-block;
+	transition:width .3s cubic-bezier(0.5,1.2,.5,1.2);
+	padding:.14286em;
+	background-size:100%;
+	background-repeat:no-repeat;
+	background-position:center center
+}
+.TwitterCard [data-poll-user-choice] .PollXChoice-optionContainer .PollXChoice-choice--selected {
+	width:1em;
+	margin-left:.64286em
+}
+.TwitterCard .TwitterCardsGrid-rtl[data-poll-user-choice] .PollXChoice-optionContainer .PollXChoice-choice--selected {
+	margin-left:0;
+	margin-right:.64286em
+}
+.TwitterCard [data-poll-user-choice="1"] .PollXChoice-optionContainer .PollXChoice-choice--selected[data-poll-index="1"] {
+	background-image:url(//ton.twimg.com/tfw/assets/checkmark_circle_v1_06f15f494d711c69b89c759b68d1fcbbecdca631.svg)
+}
+.TwitterCard [data-poll-user-choice="1"][data-poll-image=true] .PollXChoice-optionContainer .PollXChoice-choice--selected[data-poll-index="1"] {
+	background-image:url(//ton.twimg.com/tfw/assets/checkmark_circle_white_v1_f84278ac7fea1dc5e4dae8d85c26ac5ac2b094ea.svg)
+}
+.TwitterCard [data-poll-user-choice="2"] .PollXChoice-optionContainer .PollXChoice-choice--selected[data-poll-index="2"] {
+	background-image:url(//ton.twimg.com/tfw/assets/checkmark_circle_v1_06f15f494d711c69b89c759b68d1fcbbecdca631.svg)
+}
+.TwitterCard [data-poll-user-choice="2"][data-poll-image=true] .PollXChoice-optionContainer .PollXChoice-choice--selected[data-poll-index="2"] {
+	background-image:url(//ton.twimg.com/tfw/assets/checkmark_circle_white_v1_f84278ac7fea1dc5e4dae8d85c26ac5ac2b094ea.svg)
+}
+.TwitterCard [data-poll-user-choice="3"] .PollXChoice-optionContainer .PollXChoice-choice--selected[data-poll-index="3"] {
+	background-image:url(//ton.twimg.com/tfw/assets/checkmark_circle_v1_06f15f494d711c69b89c759b68d1fcbbecdca631.svg)
+}
+.TwitterCard [data-poll-user-choice="3"][data-poll-image=true] .PollXChoice-optionContainer .PollXChoice-choice--selected[data-poll-index="3"] {
+	background-image:url(//ton.twimg.com/tfw/assets/checkmark_circle_white_v1_f84278ac7fea1dc5e4dae8d85c26ac5ac2b094ea.svg)
+}
+.TwitterCard [data-poll-user-choice="4"] .PollXChoice-optionContainer .PollXChoice-choice--selected[data-poll-index="4"] {
+	background-image:url(//ton.twimg.com/tfw/assets/checkmark_circle_v1_06f15f494d711c69b89c759b68d1fcbbecdca631.svg)
+}
+.TwitterCard [data-poll-user-choice="4"][data-poll-image=true] .PollXChoice-optionContainer .PollXChoice-choice--selected[data-poll-index="4"] {
+	background-image:url(//ton.twimg.com/tfw/assets/checkmark_circle_white_v1_f84278ac7fea1dc5e4dae8d85c26ac5ac2b094ea.svg)
+}
+.TwitterCard .PollXChoice-optionContainer .PollXChoice-choice--chart {
+	background:#E1E8ED;
+	position:absolute;
+	top:0;
+	left:0;
+	width:0;
+	height:100%;
+	border-top-left-radius:.35714em;
+	border-bottom-left-radius:.35714em;
+	transition:all .3s cubic-bezier(0.5,1.2,.5,1.2);
+	opacity:1
+}
+.TwitterCard .TwitterCardsGrid-rtl .PollXChoice-optionContainer .PollXChoice-choice--chart {
+	left:inherit;
+	right:0;
+	border-top-left-radius:0;
+	border-bottom-left-radius:0;
+	border-top-right-radius:.35714em;
+	border-bottom-right-radius:.35714em
+}
+.TwitterCard [data-poll-image=true] .PollXChoice-optionContainer .PollXChoice-choice--chart {
+	background:rgba(255,255,255,.2)
+}
+.TwitterCard [data-poll-state=opened] .PollXChoice-optionContainer .PollXChoice-choice--chart {
+	opacity:0
+}
+.TwitterCard [data-poll-state=final] .PollXChoice-optionContainer .PollXChoice-choice--chart {
+	border-top-right-radius:.35714em;
+	border-bottom-right-radius:.35714em
+}
+.TwitterCard .TwitterCardsGrid-rtl[data-poll-state=final] .PollXChoice-optionContainer .PollXChoice-choice--chart {
+	border-top-left-radius:.35714em;
+	border-bottom-left-radius:.35714em
+}
+.TwitterCard .PollXChoice-optionContainer .PollXChoice-choice--radio {
+	position:relative;
+	display:inline-block;
+	box-sizing:border-box;
+	border:1px solid #8899A6;
+	width:1.3em;
+	height:1.3em;
+	border-radius:1em;
+	vertical-align:middle;
+	margin-right:.64286em;
+	transition:all .3s cubic-bezier(0.5,1.2,.5,1.2);
+	background-size:100%;
+	background-repeat:no-repeat
+}
+.TwitterCard .TwitterCardsGrid-rtl .PollXChoice-optionContainer .PollXChoice-choice--radio {
+	margin-right:0;
+	margin-left:.64286em;
+	margin-top:.14286em
+}
+.TwitterCard [data-poll-image=true] .PollXChoice-optionContainer .PollXChoice-choice--radio {
+	border:1px solid #FFF
+}
+.TwitterCard [data-poll-state=closed] .PollXChoice-optionContainer .PollXChoice-choice--radio,.TwitterCard [data-poll-state=final] .PollXChoice-optionContainer .PollXChoice-choice--radio {
+	width:0;
+	height:0;
+	margin-right:0;
+	margin-left:0;
+	border-width:0;
+	opacity:0
+}
+.TwitterCard .PollXChoice-optionContainer .PollXChoice-choice--input {
+	position:relative;
+	display:none
+}
+.TwitterCard .PollXChoice-optionContainer .PollXChoice-choice--input:checked+.PollXChoice-choice--radio {
+	border-color:#19CF86;
+	background-image:url(//ton.twimg.com/tfw/assets/checkmark_circle_green_v1_7c9f3050c9f6a85f83ede3cad267976a1633f0cc.svg)
+}
+.TwitterCard .PollXChoice-optionContainer .PollXChoice-choice--text {
+	position:relative;
+	display:inline-block;
+	padding-top:.28571em;
+	padding-bottom:.28571em
+}
+.TwitterCard .PollXChoice-optionContainer .PollXChoice-choice--text span {
+	vertical-align:middle
+}
+.TwitterCard .PollXChoice-optionContainer .PollXChoice-choice--anchor {
+	display:block;
+	border:0;
+	margin:0;
+	padding:0;
+	position:relative;
+	color:#292F33;
+	text-decoration:none;
+	outline:0
+}
+.TwitterCard .PollXChoice-optionContainer .PollXChoice-choice--anchor:link,.TwitterCard .PollXChoice-optionContainer .PollXChoice-choice--anchor:visited,.TwitterCard .PollXChoice-optionContainer .PollXChoice-choice--anchor:hover,.TwitterCard .PollXChoice-optionContainer .PollXChoice-choice--anchor:active {
+	color:#292F33;
+	text-decoration:none;
+	outline:0
+}
+.TwitterCard .PollXChoice[data-theme=dark] .PollXChoice-optionContainer .PollXChoice-choice--anchor:link,.TwitterCard .PollXChoice[data-theme=dark] .PollXChoice-optionContainer .PollXChoice-choice--anchor:visited,.TwitterCard .PollXChoice[data-theme=dark] .PollXChoice-optionContainer .PollXChoice-choice--anchor:hover,.TwitterCard .PollXChoice[data-theme=dark] .PollXChoice-optionContainer .PollXChoice-choice--anchor:active {
+	color:#FFF
+}
+.TwitterCard .PollXChoice-footer {
+	color:#8899A6;
+	clear:both;
+	box-sizing:border-box
+}
+.TwitterCard [data-poll-image=true] .PollXChoice-footer {
+	color:#FFF
+}
+.TwitterCard .PollXChoice-footer span {
+	vertical-align:middle
+}
+.TwitterCard .PollXChoice-footer .PollXChoice-info {
+	overflow:hidden;
+	text-overflow:ellipsis;
+	white-space:nowrap;
+	margin:-2px -4px 0 -4px;
+	transition:all .3s cubic-bezier(0.5,1.2,.5,1.2)
+}
+.TwitterCard .PollXChoice-footer .PollXChoice-info span {
+	margin-top:calc(6px + .5em)
+}
+.TwitterCard [data-poll-state=closed] .PollXChoice-footer .PollXChoice-info,.TwitterCard [data-poll-state=final] .PollXChoice-footer .PollXChoice-info {
+	margin-left:0
+}
+.TwitterCard .PollXChoice-footer .PollXChoice-info .PollXChoice-vote {
+	display:inline-block;
+	margin-right:.64286em;
+	margin-top:0;
+	padding:4px;
+	border:1px solid transparent;
+	border-radius:.33333em;
+	transition:all .3s cubic-bezier(0.5,1.2,.5,1.2)
+}
+.TwitterCard .TwitterCardsGrid-rtl .PollXChoice-footer .PollXChoice-info .PollXChoice-vote {
+	margin-left:.64286em;
+	margin-right:0
+}
+.TwitterCard .PollXChoice-footer .PollXChoice-info .PollXChoice-vote:active {
+	border-color:#19CF86
+}
+.TwitterCard .PollXChoice-footer .PollXChoice-info .PollXChoice-vote button {
+	margin-top:0!important;
+	outline:0
+}
+.TwitterCard .PollXChoice-footer .PollXChoice-info .PollXChoice-vote a {
+	display:block;
+	position:relative;
+	color:#292F33;
+	text-decoration:none;
+	outline:0;
+	margin-top:0
+}
+.TwitterCard .PollXChoice-footer .PollXChoice-info .PollXChoice-vote a:link,.TwitterCard .PollXChoice-footer .PollXChoice-info .PollXChoice-vote a:visited,.TwitterCard .PollXChoice-footer .PollXChoice-info .PollXChoice-vote a:hover,.TwitterCard .PollXChoice-footer .PollXChoice-info .PollXChoice-vote a:active {
+	color:#292F33;
+	text-decoration:none;
+	outline:0
+}
+.TwitterCard .PollXChoice[data-theme=dark] .PollXChoice-footer .PollXChoice-info .PollXChoice-vote a {
+	background-color:transparent;
+	background-image:none;
+	border-color:#FFF;
+	color:#FFF
+}
+.TwitterCard .PollXChoice[data-theme=dark]:link .PollXChoice-footer .PollXChoice-info .PollXChoice-vote a,.TwitterCard .PollXChoice[data-theme=dark]:visited .PollXChoice-footer .PollXChoice-info .PollXChoice-vote a,.TwitterCard .PollXChoice[data-theme=dark]:hover .PollXChoice-footer .PollXChoice-info .PollXChoice-vote a,.TwitterCard .PollXChoice[data-theme=dark]:active .PollXChoice-footer .PollXChoice-info .PollXChoice-vote a {
+	background-color:rgba(255,255,255,.1);
+	background-image:none;
+	border-color:#FFF
+}
+.TwitterCard [data-poll-state=closed] .PollXChoice-footer .PollXChoice-info .PollXChoice-vote,.TwitterCard [data-poll-state=final] .PollXChoice-footer .PollXChoice-info .PollXChoice-vote {
+	width:0;
+	margin-right:0;
+	margin-left:0;
+	overflow:hidden;
+	padding-left:0;
+	padding-right:0;
+	border-left:0;
+	border-right:0;
+	border-color:transparent
+}
+.TwitterCard [data-poll-state=closed] .PollXChoice-footer .PollXChoice-info .PollXChoice-vote:active,.TwitterCard [data-poll-state=final] .PollXChoice-footer .PollXChoice-info .PollXChoice-vote:active {
+	border-color:transparent
+}
+.TwitterCard [data-poll-image=true][data-poll-state=final][data-poll-init-state=final] .PollXChoice-footer .PollXChoice-info .PollXChoice-vote {
+	display:none!important
+}
+.TwitterCard .ProductAdCard-destination {
+	color:#8899A6;
+	max-height:1.3em;
+	overflow:hidden;
+	text-overflow:ellipsis;
+	white-space:nowrap
+}
+.TwitterCard .ProductAdCard-destination .vanityUrl {
+	text-transform:lowercase
+}
+.TwitterCard .ProductAdCard--small .ProductAdCard-content {
+	padding:.55em .7em .7em
+}
+.TwitterCard .ProductAdCard--small .ProductAdCard-content .Button--smallGray {
+	float:left;
+	margin-top:2.1em
+}
+.TwitterCard .SummaryCard-content {
+	padding:.75em;
+	box-sizing:border-box;
+	text-decoration:none
+}
+.TwitterCard .SummaryCard-content .TwitterCard-title {
+	max-height:1.3em;
+	white-space:nowrap;
+	overflow:hidden;
+	text-overflow:ellipsis
+}
+.TwitterCard .SummaryCard-content p {
+	overflow:hidden
+}
+.TwitterCard .SummaryCard-content .Button--smallGray {
+	float:left;
+	margin-top:.5em
+}
+.TwitterCard .SummaryCard-destination {
+	text-transform:lowercase;
+	color:#8899A6;
+	max-height:1.3em;
+	white-space:nowrap;
+	overflow:hidden;
+	text-overflow:ellipsis
+}
+.TwitterCard .SummaryCard-image {
+	background-color:#E1E8ED;
+	border-style:solid;
+	border-color:inherit;
+	border-width:0
+}
+.TwitterCard .SummaryCard-image .tcu-imageWrapper {
+	background-image:url(//ton.twimg.com/tfw/assets/link_v1_e64f66f5650df987d97cc5f00c4cb5987f367028.svg);
+	background-size:3em;
+	transition-property:opacity;
+	transition-timing-function:cubic-bezier(0.9,0,.9,0);
+	transition-duration:0s
+}
+.TwitterCard .SummaryCard--small .SummaryCard-image {
+	width:8.81667em;
+	border-right-width:1px
+}
+.TwitterCard .SummaryCard--small .SummaryCard-contentContainer {
+	width:calc(100% - 8.81667em - 2px)
+}
+.TwitterCard .SummaryCard--small .SummaryCard-content p {
+	max-height:3.9em
+}
+.TwitterCard .SummaryCard--small:not([data-card-breakpoints~=w400]) .SummaryCard-image {
+	width:7.51667em;
+	height:7.51667em
+}
+.TwitterCard .SummaryCard--small:not([data-card-breakpoints~=w400]) .SummaryCard-contentContainer {
+	width:calc(100% - 7.51667em - 2px)
+}
+.TwitterCard .SummaryCard--small:not([data-card-breakpoints~=w400]) .SummaryCard-content p {
+	max-height:2.6em
+}
+.TwitterCard .SummaryCard--small:not([data-card-breakpoints~=w300]) .SummaryCard-image {
+	width:6.21667em;
+	height:6.21667em
+}
+.TwitterCard .SummaryCard--small:not([data-card-breakpoints~=w300]) .SummaryCard-contentContainer {
+	width:calc(100% - 6.21667em - 2px)
+}
+.TwitterCard .SummaryCard--small:not([data-card-breakpoints~=w300]) .SummaryCard-content p {
+	max-height:1.3em;
+	white-space:nowrap;
+	overflow:hidden;
+	text-overflow:ellipsis
+}
+.TwitterCard .SummaryCard--large[data-pe-name] .TwitterCard-title {
+	white-space:normal;
+	max-height:2.6em;
+	padding-right:1em
+}
+.TwitterCard .SummaryCard--large .SummaryCard-image {
+	border-bottom-width:1px
+}
+.TwitterCard .SummaryCard--large .SummaryCard-content {
+	padding-left:1em;
+	padding-right:1em
+}
+.TwitterCard .SummaryCard--large .SummaryCard-content p {
+	max-height:2.6em
+}
+.TwitterCard .SummaryCard--large .SummaryCard-content .Button--smallGray {
+	float:right;
+	margin-top:.25em
+}
+.TwitterCard .SummaryCard--large:not([data-card-breakpoints~=w300]) .SummaryCard-content p {
+	max-height:1.3em;
+	white-space:nowrap;
+	overflow:hidden;
+	text-overflow:ellipsis
+}
diff --git a/bigbluebutton-client/resources/prod/help/CSS/timeline.32e4c4ad05a2b0fae454cc63470e160f.light.ltr.css b/bigbluebutton-client/resources/prod/help/CSS/timeline.32e4c4ad05a2b0fae454cc63470e160f.light.ltr.css
new file mode 100755
index 0000000000000000000000000000000000000000..79d47f85c1f21d6b4a3a9b9d149b38bfa45854df
--- /dev/null
+++ b/bigbluebutton-client/resources/prod/help/CSS/timeline.32e4c4ad05a2b0fae454cc63470e160f.light.ltr.css
@@ -0,0 +1,1296 @@
+/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html {
+	font-family:sans-serif;
+	-ms-text-size-adjust:100%;
+	-webkit-text-size-adjust:100%
+}
+body {
+	margin:0
+}
+article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary {
+	display:block
+}
+audio,canvas,progress,video {
+	display:inline-block;
+	vertical-align:baseline
+}
+audio:not([controls]) {
+	display:none;
+	height:0
+}
+[hidden],template {
+	display:none
+}
+a {
+	background-color:transparent
+}
+a:active,a:hover {
+	outline:0
+}
+abbr[title] {
+	border-bottom:1px dotted
+}
+b,strong {
+	font-weight:700
+}
+dfn {
+	font-style:italic
+}
+h1 {
+	font-size:2em;
+	margin:.67em 0
+}
+mark {
+	background:#ff0;
+	color:#000
+}
+small {
+	font-size:80%
+}
+sub,sup {
+	font-size:75%;
+	line-height:0;
+	position:relative;
+	vertical-align:baseline
+}
+sup {
+	top:-.5em
+}
+sub {
+	bottom:-.25em
+}
+img {
+	border:0
+}
+svg:not(:root) {
+	overflow:hidden
+}
+figure {
+	margin:1em 40px
+}
+hr {
+	-moz-box-sizing:content-box;
+	box-sizing:content-box;
+	height:0
+}
+pre {
+	overflow:auto
+}
+code,kbd,pre,samp {
+	font-family:monospace,monospace;
+	font-size:1em
+}
+button,input,optgroup,select,textarea {
+	color:inherit;
+	font:inherit;
+	margin:0
+}
+button {
+	overflow:visible
+}
+button,select {
+	text-transform:none
+}
+button,html input[type=button],input[type=reset],input[type=submit] {
+	-webkit-appearance:button;
+	cursor:pointer
+}
+button[disabled],html input[disabled] {
+	cursor:default
+}
+button::-moz-focus-inner,input::-moz-focus-inner {
+	border:0;
+	padding:0
+}
+input {
+	line-height:normal
+}
+input[type=checkbox],input[type=radio] {
+	-moz-box-sizing:border-box;
+	box-sizing:border-box;
+	padding:0
+}
+input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button {
+	height:auto
+}
+input[type=search] {
+	-webkit-appearance:textfield;
+	-moz-box-sizing:content-box;
+	box-sizing:content-box
+}
+input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration {
+	-webkit-appearance:none
+}
+fieldset {
+	border:1px solid silver;
+	margin:0 2px;
+	padding:.35em .625em .75em
+}
+legend {
+	border:0;
+	padding:0
+}
+textarea {
+	overflow:auto
+}
+optgroup {
+	font-weight:700
+}
+table {
+	border-collapse:collapse;
+	border-spacing:0
+}
+td,th {
+	padding:0
+}
+.u-block {
+	display:block!important
+}
+.u-hidden {
+	display:none!important
+}
+.u-hiddenVisually {
+	position:absolute!important;
+	overflow:hidden!important;
+	width:1px!important;
+	height:1px!important;
+	padding:0!important;
+	border:0!important;
+	clip:rect(1px,1px,1px,1px)!important
+}
+.u-inline {
+	display:inline!important
+}
+.u-inlineBlock {
+	display:inline-block!important;
+	max-width:100%
+}
+.u-table {
+	display:table!important
+}
+.u-tableCell {
+	display:table-cell!important
+}
+.u-tableRow {
+	display:table-row!important
+}
+.u-cf:after,.u-cf:before {
+	content:" ";
+	display:table
+}
+.u-cf:after {
+	clear:both
+}
+.u-nbfc {
+	overflow:hidden!important
+}
+.u-nbfcAlt {
+	display:table-cell!important;
+	width:10000px!important
+}
+.u-floatLeft {
+	float:left!important
+}
+.u-floatRight {
+	float:right!important
+}
+.u-textBreak {
+	word-wrap:break-word!important
+}
+.u-textCenter {
+	text-align:center!important
+}
+.u-textLeft {
+	text-align:left!important
+}
+.u-textRight {
+	text-align:right!important
+}
+.u-textInheritColor {
+	color:inherit!important
+}
+.u-textKern {
+	text-rendering:optimizeLegibility;
+	-webkit-font-feature-settings:"kern" 1,"kern";
+	-moz-font-feature-settings:"kern" 1,"kern";
+	font-feature-settings:"kern" 1,"kern";
+	-webkit-font-kerning:normal;
+	-moz-font-kerning:normal;
+	font-kerning:normal
+}
+.u-textNoWrap {
+	white-space:nowrap!important
+}
+.u-textTruncate {
+	max-width:100%;
+	overflow:hidden!important;
+	text-overflow:ellipsis!important;
+	white-space:nowrap!important;
+	word-wrap:normal!important
+}
+blockquote,button,h1,h2,h3,h4,h5,h6,iframe,ol,p,ul {
+	margin:0;
+	padding:0;
+	list-style:none;
+	border:none
+}
+b,i {
+	font-weight:400;
+	font-style:normal
+}
+abbr,abbr[title] {
+	border-bottom:0
+}
+.SandboxRoot {
+	direction:ltr;
+	text-align:left
+}
+.SandboxRoot {
+	display:block;
+	background:0 0;
+	font:normal normal 14px/1.4 Helvetica,Roboto,"Segoe UI",Calibri,sans-serif;
+	color:#292F33;
+	white-space:normal;
+	white-space:initial
+}
+a {
+	color:#3b94d9;
+	text-decoration:none;
+	outline:0
+}
+a:visited {
+	color:#3b94d9;
+	text-decoration:none;
+	outline:0
+}
+a:focus {
+	color:#55acee;
+	text-decoration:underline;
+	outline:0
+}
+a:hover {
+	color:#55acee;
+	text-decoration:none;
+	outline:0
+}
+a:active {
+	color:#3b94d9;
+	text-decoration:none;
+	outline:0
+}
+.SandboxRoot.env-bp-min .u-hiddenInNarrowEnv {
+	display:none
+}
+.SandboxRoot:not(.env-bp-min) .u-hiddenInWideEnv {
+	display:none
+}
+.u-linkBlend:not(:focus):not(:hover):not(:active) {
+	font-weight:inherit;
+	color:inherit;
+	text-decoration:inherit
+}
+.Avatar {
+	max-width:100%;
+	max-height:100%
+}
+.Avatar--fill {
+	width:100%;
+	height:100%
+}
+.Button,.Button:link,.Button:visited {
+	-webkit-appearance:none;
+	background-color:#f5f8fa;
+	background-image:-webkit-linear-gradient(#fff,#f5f8fa);
+	background-image:-moz-linear-gradient(#fff,#f5f8fa);
+	background-image:-o-linear-gradient(#fff,#f5f8fa);
+	background-image:linear-gradient(#fff,#f5f8fa);
+	border:1px solid #e1e8ed;
+	border-radius:4px;
+	-moz-box-sizing:border-box;
+	box-sizing:border-box;
+	color:#292F33;
+	cursor:pointer;
+	display:inline-block;
+	font:inherit;
+	line-height:normal;
+	margin:0;
+	padding:8px 15px 7px;
+	position:relative;
+	text-align:center;
+	text-decoration:none;
+	-webkit-user-select:none;
+	-moz-user-select:none;
+	-ms-user-select:none;
+	user-select:none;
+	white-space:normal
+}
+.Button::-moz-focus-inner {
+	border:0;
+	padding:0
+}
+.Button:active,.Button:focus,.Button:hover {
+	text-decoration:none
+}
+.Button:hover {
+	background-color:#e1e8ed;
+	background-image:-webkit-linear-gradient(#fff,#e1e8ed);
+	background-image:-moz-linear-gradient(#fff,#e1e8ed);
+	background-image:-o-linear-gradient(#fff,#e1e8ed);
+	background-image:linear-gradient(#fff,#e1e8ed);
+	border-color:#e1e8ed
+}
+.Button:focus {
+	box-shadow:0 0 0 1px #fff,0 0 0 3px rgba(0,132,180,.5)
+}
+.Button:active {
+	background-color:#e1e8ed;
+	background-image:-webkit-linear-gradient(#fff,#f5f8fa);
+	background-image:-moz-linear-gradient(#fff,#f5f8fa);
+	background-image:-o-linear-gradient(#fff,#f5f8fa);
+	background-image:linear-gradient(#fff,#f5f8fa);
+	border-color:#ccd6dd;
+	box-shadow:inset 0 1px 4px rgba(0,0,0,.2)
+}
+.Button.is-disabled,.Button:disabled {
+	cursor:default;
+	opacity:.6
+}
+.Button-label {
+	font-weight:700
+}
+.Button--full {
+	display:block;
+	width:100%
+}
+.Emoji--forText {
+	height:1.25em;
+	width:1.25em;
+	padding:0 .05em 0 .1em;
+	vertical-align:-.2em
+}
+.Emoji--forLinks {
+	background-position:.1em;
+	background-repeat:no-repeat;
+	background-size:1.25em 1.25em;
+	letter-spacing:1.1em;
+	line-height:1.25em;
+	padding-top:.15em;
+	-moz-user-select:none;
+	-ms-user-select:none
+}
+.Icon {
+	display:inline-block;
+	height:1.25em;
+	background-repeat:no-repeat;
+	background-size:contain;
+	vertical-align:text-bottom
+}
+.Icon--alertsPill {
+	width:1.07639em;
+	background-image:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2062%2072%22%3E%3Cpath%20fill%3D%22%23dd2e44%22%20d%3D%22M51%2014H11c-4.42%200-8%203.58-8%208v28c0%204.418%203.58%208%208%208h40c4.418%200%208-3.582%208-8V22c0-4.42-3.582-8-8-8zM12.107%2036.997L12%2037c-1.057%200-1.94-.826-1.996-1.894-.34-6.354%203.132-12.276%208.844-15.088.99-.487%202.19-.08%202.677.912s.08%202.19-.912%202.678c-4.272%202.103-6.87%206.532-6.615%2011.285.06%201.103-.788%202.045-1.89%202.104zm7%201L19%2038c-1.057%200-1.94-.827-1.996-1.894-.234-4.39%202.164-8.478%206.108-10.413.992-.488%202.19-.08%202.677.914.486.99.077%202.19-.915%202.676-2.503%201.23-4.025%203.824-3.876%206.61.056%201.104-.79%202.045-1.893%202.104zm21.106%209.11c-.21.774-.94%201.282-1.733%201.387-.093.014-.188.02-.285.02H34.4C33.93%2049.955%2032.593%2051%2031%2051c-1.596%200-2.932-1.047-3.398-2.485h-3.78c-.91%200-1.817-.544-2.046-1.426-.223-.86.042-1.692.792-2.145.2-.248%201.048-1.487%201.048-4.71%200-5.407%202.46-8.042%205.273-8.893.13-1.054%201.02-1.873%202.108-1.873%201.093%200%201.983.823%202.11%201.88%202.827.86%205.272%203.486%205.286%208.858.008%203.192.827%204.462%201.044%204.742.014.01.027.02.04.032.718.466.96%201.286.735%202.125zm4.785-11C44.94%2037.172%2044.058%2038%2043.002%2038c-.036%200-.072%200-.108-.003-1.103-.06-1.95-1-1.89-2.104.147-2.786-1.375-5.38-3.877-6.61-.992-.486-1.4-1.685-.914-2.676.487-.99%201.685-1.4%202.677-.914%203.944%201.936%206.34%206.024%206.108%2010.413zm7-1C51.94%2036.172%2051.058%2037%2050.002%2037c-.036%200-.072%200-.108-.003-1.103-.06-1.95-1-1.89-2.104.253-4.753-2.344-9.183-6.616-11.285-.99-.488-1.4-1.687-.912-2.678.487-.99%201.686-1.4%202.677-.912%205.713%202.812%209.184%208.734%208.845%2015.088z%22%2F%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M38.89%2025.693c-.992-.487-2.19-.077-2.677.914-.487.99-.078%202.19.914%202.676%202.503%201.23%204.025%203.824%203.876%206.61-.06%201.104.788%202.045%201.89%202.104.037.002.073.003.11.003%201.055%200%201.937-.827%201.994-1.894.234-4.39-2.163-8.477-6.107-10.413zM43.154%2020.02c-.99-.49-2.19-.08-2.677.91-.488.992-.08%202.19.912%202.68%204.27%202.102%206.868%206.53%206.614%2011.284-.06%201.103.788%202.045%201.89%202.104l.108.002c1.055%200%201.938-.827%201.995-1.894.34-6.354-3.13-12.276-8.843-15.087zM39.48%2044.982l-.04-.032c-.217-.28-1.036-1.55-1.044-4.742-.013-5.37-2.46-8-5.286-8.857-.127-1.057-1.017-1.88-2.11-1.88-1.09%200-1.98.818-2.11%201.872-2.812.85-5.272%203.486-5.272%208.892%200%203.224-.847%204.463-1.048%204.71-.75.453-1.016%201.285-.792%202.145.23.88%201.136%201.425%202.047%201.425h3.78C28.068%2049.953%2029.404%2051%2031%2051c1.593%200%202.93-1.047%203.398-2.485h3.796c.097%200%20.192-.007.285-.02.792-.105%201.523-.613%201.732-1.388.227-.84-.016-1.66-.732-2.125zM24.874%2029.283c.992-.486%201.4-1.685.914-2.676-.487-.993-1.685-1.402-2.677-.914-3.943%201.936-6.34%206.023-6.107%2010.413C17.06%2037.173%2017.943%2038%2019%2038c.035%200%20.07%200%20.107-.003%201.103-.06%201.95-1%201.89-2.104-.148-2.786%201.374-5.38%203.877-6.61zM20.613%2023.608c.99-.488%201.4-1.687.912-2.678s-1.687-1.4-2.677-.912c-5.712%202.812-9.183%208.733-8.844%2015.088C10.06%2036.174%2010.944%2037%2012%2037c.035%200%20.07%200%20.107-.003%201.103-.06%201.95-1%201.89-2.104-.253-4.752%202.343-9.182%206.616-11.285z%22%2F%3E%3C%2Fsvg%3E)
+}
+.Icon--lightning {
+	width:.625em;
+	background-image:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2036%2072%22%3E%3Cpath%20fill%3D%22%232b7bb9%22%20d%3D%22M30.738%2028.01C30.382%2027.387%2029.718%2027%2029%2027H18.145l6.686-15.194c.273-.62.215-1.333-.155-1.898C24.305%209.34%2023.675%209%2023%209H11c-.925%200-1.73.634-1.945%201.533l-6%2025c-.143.596-.005%201.224.374%201.705.38.482.957.762%201.57.762h7.278L8.034%2060.632c-.18.953.353%201.897%201.26%202.24.23.087.47.128.706.128.69%200%201.35-.357%201.72-.98l19-32c.367-.617.374-1.384.018-2.01z%22%2F%3E%3C%2Fsvg%3E)
+}
+.Icon--playCircle {
+	width:1.04166em;
+	background-image:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2060%2072%22%3E%3Cpath%20opacity%3D%22.8%22%20fill%3D%22%231DA1F2%22%20d%3D%22M30%2012C16.768%2012%206%2022.765%206%2036s10.766%2023.998%2024%2023.998%2024-10.765%2024-24S43.235%2012%2030%2012z%22%2F%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M39.2%2034.34l-12-9c-.606-.455-1.418-.528-2.094-.19-.677.34-1.106%201.032-1.106%201.79v18c0%20.758.428%201.45%201.106%201.79.283.14.59.21.894.21.425%200%20.847-.136%201.2-.4l12-9c.503-.377.8-.97.8-1.6%200-.63-.295-1.223-.8-1.6z%22%2F%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M30%2015c11.598%200%2021%209.402%2021%2021s-9.4%2020.998-21%2020.998-21-9.402-21-21S18.4%2015%2030%2015m0-6C15.112%209%203%2021.11%203%2036s12.112%2026.998%2027%2026.998%2027-12.11%2027-27S44.888%209%2030%209z%22%2F%3E%3C%2Fsvg%3E)
+}
+.Icon--reply {
+	width:1.07639em;
+	background-image:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2062%2072%22%3E%3Cpath%20class%3D%22icon%22%20fill%3D%22%238899a6%22%20d%3D%22M41%2031h-9V19c0-1.14-.647-2.183-1.668-2.688-1.022-.507-2.243-.39-3.15.302l-21%2016C5.438%2033.18%205%2034.064%205%2035s.437%201.82%201.182%202.387l21%2016c.533.405%201.174.613%201.82.613.453%200%20.908-.103%201.33-.312C31.354%2053.183%2032%2052.14%2032%2051V39h9c5.514%200%2010%204.486%2010%2010%200%202.21%201.79%204%204%204s4-1.79%204-4c0-9.925-8.075-18-18-18z%22%2F%3E%3C%2Fsvg%3E);
+	-webkit-transform:scaleX(1);
+	-moz-transform:scaleX(1);
+	-ms-transform:scaleX(1);
+	-o-transform:scaleX(1);
+	transform:scaleX(1)
+}
+.Icon--retweet {
+	width:1.28472em;
+	background-image:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2074%2072%22%3E%3Cpath%20class%3D%22icon%22%20fill%3D%22%238899a6%22%20d%3D%22M70.676%2036.644C70.166%2035.636%2069.13%2035%2068%2035h-7V19c0-2.21-1.79-4-4-4H34c-2.21%200-4%201.79-4%204s1.79%204%204%204h18c.552%200%20.998.446%201%20.998V35h-7c-1.13%200-2.165.636-2.676%201.644-.51%201.01-.412%202.22.257%203.13l11%2015C55.148%2055.545%2056.046%2056%2057%2056s1.855-.455%202.42-1.226l11-15c.668-.912.767-2.122.256-3.13zM40%2048H22c-.54%200-.97-.427-.992-.96L21%2036h7c1.13%200%202.166-.636%202.677-1.644.51-1.01.412-2.22-.257-3.13l-11-15C18.854%2015.455%2017.956%2015%2017%2015s-1.854.455-2.42%201.226l-11%2015c-.667.912-.767%202.122-.255%203.13C3.835%2035.365%204.87%2036%206%2036h7l.012%2016.003c.002%202.208%201.792%203.997%204%203.997h22.99c2.208%200%204-1.79%204-4s-1.792-4-4-4z%22%2F%3E%3C%2Fsvg%3E);
+	-webkit-transform:scaleX(1);
+	-moz-transform:scaleX(1);
+	-ms-transform:scaleX(1);
+	-o-transform:scaleX(1);
+	transform:scaleX(1)
+}
+.Icon--retweetBadge {
+	width:1.04166em;
+	background-image:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2260%22%20height%3D%2272%22%20viewBox%3D%220%200%2060%2072%22%3E%3Cpath%20class%3D%22icon%22%20fill%3D%22%2319cf86%22%20d%3D%22M49%209H11c-4.418%200-8%203.582-8%208v38c0%204.418%203.582%208%208%208h38c4.418%200%208-3.582%208-8V17c0-4.418-3.582-8-8-8zM21%2044h10c1.657%200%203%201.343%203%203s-1.343%203-3%203H17c-1.657%200-3-1.343-3-3V36H9c-.77%200-1.47-.44-1.803-1.134-.333-.692-.24-1.516.24-2.115l8-10c.76-.947%202.365-.947%203.124%200l8%2010c.48.6.576%201.425.243%202.117C26.47%2035.56%2025.77%2036%2025%2036h-5v7c0%20.553.448%201%201%201zm31.562-4.75l-8%2010c-.38.474-.954.75-1.562.75s-1.182-.276-1.562-.75l-8-10c-.48-.6-.574-1.424-.24-2.116C33.53%2036.44%2034.23%2036%2035%2036h5v-7c0-.553-.447-1-1-1H29c-1.657%200-3-1.343-3-3s1.343-3%203-3h14c1.657%200%203%201.343%203%203v11h5c.77%200%201.47.44%201.803%201.134.333.692.24%201.515-.24%202.115z%22%2F%3E%3C%2Fsvg%3E);
+	-webkit-transform:scaleX(1);
+	-moz-transform:scaleX(1);
+	-ms-transform:scaleX(1);
+	-o-transform:scaleX(1);
+	transform:scaleX(1)
+}
+.Icon--mute {
+	width:1.18055em;
+	background-image:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2068%2072%22%3E%3Cg%20fill%3D%22%23fff%22%3E%3Cpath%20class%3D%22icon%22%20d%3D%22M37.105%209.21c-1.142-.45-2.447-.162-3.29.734L18.705%2026H7c-1.657%200-3%201.343-3%203v14c0%201.657%201.343%203%203%203h11.704l15.11%2016.056c.844.896%202.15%201.185%203.29.733C38.25%2062.334%2039%2061.23%2039%2060V12c0-1.23-.75-2.335-1.895-2.79zM45%2048c-.746%200-1.492-.276-2.073-.832-1.197-1.146-1.24-3.044-.094-4.24C44.733%2040.937%2046%2039%2046%2036s-1.267-4.938-3.168-6.927c-1.145-1.197-1.103-3.096.094-4.24%201.198-1.147%203.097-1.104%204.242.094C49.418%2027.277%2052%2030.663%2052%2036s-2.583%208.722-4.832%2011.073C46.578%2047.69%2045.79%2048%2045%2048z%22%2F%3E%3Cpath%20class%3D%22icon%22%20d%3D%22M54%2054c-.746%200-1.492-.276-2.073-.832-1.197-1.146-1.24-3.044-.094-4.24%203.365-3.52%205.152-7.992%205.168-12.938-.015-4.926-1.802-9.4-5.167-12.917-1.145-1.197-1.103-3.096.094-4.24%201.197-1.146%203.097-1.104%204.242.094%204.447%204.65%206.81%2010.55%206.83%2017.063-.02%206.532-2.383%2012.434-6.83%2017.083-.59.616-1.38.927-2.17.927z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E)
+}
+.Icon--unmute {
+	width:1.18055em;
+	background-image:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2068%2072%22%3E%3Cg%20fill%3D%22%23fff%22%3E%3Cpath%20class%3D%22icon%22%20d%3D%22M37.105%209.21c-1.142-.45-2.447-.162-3.29.734L18.705%2026H7c-1.657%200-3%201.343-3%203v14c0%201.657%201.343%203%203%203h11.704l15.11%2016.056c.844.896%202.15%201.185%203.29.733C38.25%2062.334%2039%2061.23%2039%2060V12c0-1.23-.75-2.335-1.895-2.79zM58.242%2036l5.88-5.88c1.17-1.17%201.17-3.07%200-4.24-1.172-1.173-3.072-1.173-4.243%200L54%2031.757l-5.88-5.88c-1.17-1.17-3.07-1.17-4.24%200-1.173%201.172-1.173%203.072%200%204.243L49.757%2036l-5.88%205.88c-1.17%201.17-1.17%203.07%200%204.24.586.587%201.354.88%202.122.88s1.536-.293%202.12-.88L54%2040.243l5.88%205.88c.584.585%201.352.878%202.12.878s1.536-.293%202.12-.88c1.173-1.17%201.173-3.07%200-4.24L58.243%2036z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E)
+}
+.Icon--twitter {
+	width:1.25em;
+	background-image:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2072%2072%22%3E%3Cpath%20fill%3D%22none%22%20d%3D%22M0%200h72v72H0z%22%2F%3E%3Cpath%20class%3D%22icon%22%20fill%3D%22%2355acee%22%20d%3D%22M68.812%2015.14c-2.348%201.04-4.87%201.744-7.52%202.06%202.704-1.62%204.78-4.186%205.757-7.243-2.53%201.5-5.33%202.592-8.314%203.176C56.35%2010.59%2052.948%209%2049.182%209c-7.23%200-13.092%205.86-13.092%2013.093%200%201.026.118%202.02.338%202.98C25.543%2024.527%2015.9%2019.318%209.44%2011.396c-1.125%201.936-1.77%204.184-1.77%206.58%200%204.543%202.312%208.552%205.824%2010.9-2.146-.07-4.165-.658-5.93-1.64-.002.056-.002.11-.002.163%200%206.345%204.513%2011.638%2010.504%2012.84-1.1.298-2.256.457-3.45.457-.845%200-1.666-.078-2.464-.23%201.667%205.2%206.5%208.985%2012.23%209.09-4.482%203.51-10.13%205.605-16.26%205.605-1.055%200-2.096-.06-3.122-.184%205.794%203.717%2012.676%205.882%2020.067%205.882%2024.083%200%2037.25-19.95%2037.25-37.25%200-.565-.013-1.133-.038-1.693%202.558-1.847%204.778-4.15%206.532-6.774z%22%2F%3E%3C%2Fsvg%3E)
+}
+.Icon--twitterWhite {
+	width:1.25em;
+	background-image:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2072%2072%22%3E%3Cpath%20fill%3D%22none%22%20d%3D%22M0%200h72v72H0z%22%2F%3E%3Cpath%20class%3D%22icon%22%20fill%3D%22%23fff%22%20d%3D%22M68.812%2015.14c-2.348%201.04-4.87%201.744-7.52%202.06%202.704-1.62%204.78-4.186%205.757-7.243-2.53%201.5-5.33%202.592-8.314%203.176C56.35%2010.59%2052.948%209%2049.182%209c-7.23%200-13.092%205.86-13.092%2013.093%200%201.026.118%202.02.338%202.98C25.543%2024.527%2015.9%2019.318%209.44%2011.396c-1.125%201.936-1.77%204.184-1.77%206.58%200%204.543%202.312%208.552%205.824%2010.9-2.146-.07-4.165-.658-5.93-1.64-.002.056-.002.11-.002.163%200%206.345%204.513%2011.638%2010.504%2012.84-1.1.298-2.256.457-3.45.457-.845%200-1.666-.078-2.464-.23%201.667%205.2%206.5%208.985%2012.23%209.09-4.482%203.51-10.13%205.605-16.26%205.605-1.055%200-2.096-.06-3.122-.184%205.794%203.717%2012.676%205.882%2020.067%205.882%2024.083%200%2037.25-19.95%2037.25-37.25%200-.565-.013-1.133-.038-1.693%202.558-1.847%204.778-4.15%206.532-6.774z%22%2F%3E%3C%2Fsvg%3E)
+}
+.Icon--verified {
+	width:1.11111em;
+	background-image:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2064%2072%22%3E%3Cpath%20fill%3D%22none%22%20d%3D%22M0%200h64v72H0z%22%2F%3E%3Cpath%20fill%3D%22%2388c9f9%22%20d%3D%22M3%2037.315c0%204.125%202.162%207.726%205.363%209.624-.056.467-.09.937-.09%201.42%200%206.103%204.72%2011.045%2010.546%2011.045%201.295%200%202.542-.234%203.687-.686C24.22%2062.4%2027.827%2064.93%2032%2064.93c4.174%200%207.782-2.53%209.49-6.213%201.148.45%202.39.685%203.69.685%205.826%200%2010.546-4.94%2010.546-11.045%200-.483-.037-.953-.093-1.42C58.83%2045.04%2061%2041.44%2061%2037.314c0-4.37-2.42-8.15-5.933-9.946.427-1.203.658-2.5.658-3.865%200-6.104-4.72-11.045-10.545-11.045-1.302%200-2.543.232-3.69.688-1.707-3.685-5.315-6.216-9.49-6.216-4.173%200-7.778%202.53-9.492%206.216-1.146-.455-2.393-.688-3.688-.688-5.827%200-10.545%204.94-10.545%2011.045%200%201.364.23%202.662.656%203.864C5.42%2029.163%203%2032.944%203%2037.314z%22%2F%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M17.87%2039.08l7.015%206.978c.585.582%201.35.873%202.116.873.77%200%201.542-.294%202.127-.883.344-.346%2015.98-15.974%2015.98-15.974%201.172-1.172%201.172-3.07%200-4.243-1.17-1.17-3.07-1.172-4.242%200l-13.87%2013.863-4.892-4.868c-1.174-1.168-3.074-1.164-4.242.01-1.168%201.176-1.163%203.075.01%204.244z%22%2F%3E%3C%2Fsvg%3E)
+}
+.Icon--vine {
+	width:.9375em;
+	background-image:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2054%2072%22%3E%3Cpath%20class%3D%22icon%22%20fill%3D%22%23fff%22%20d%3D%22M48.23%2031.25c1.21-2.712%201.877-6.235%201.877-9.32%200-8.304-4.205-13.136-11.894-13.136-7.91%200-12.54%206.136-12.54%2014.225%200%208.01%203.71%2014.887%209.838%2018.018-2.573%205.194-5.853%209.775-9.264%2013.22-6.2-7.56-11.803-17.644-14.103-37.32H3c4.223%2032.774%2016.814%2043.21%2020.143%2045.213%201.883%201.147%203.505%201.09%205.227.112%202.705-1.555%2010.814-9.738%2015.32-19.33%201.883-.005%204.153-.223%206.417-.737V35.74c-1.384.32-2.726.465-3.934.465-6.776%200-11.997-4.774-11.997-13.082%200-4.068%201.558-6.184%203.767-6.184%202.1%200%203.493%201.9%203.493%205.754%200%202.186-.575%204.59-1.01%206.01%200%200%202.093%203.677%207.804%202.547z%22%2F%3E%3C%2Fsvg%3E)
+}
+.Icon--verifiedWhite {
+	width:1.11111em;
+	background-image:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2060%2072%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M57%2037.288c0-4.07-2.25-7.59-5.523-9.26.397-1.12.613-2.328.613-3.598%200-5.683-4.394-10.283-9.818-10.283-1.212%200-2.368.216-3.436.64C37.246%2011.357%2033.886%209%2030%209c-3.885%200-7.242%202.357-8.837%205.787-1.066-.424-2.228-.64-3.434-.64-5.426%200-9.82%204.6-9.82%2010.283%200%201.27.217%202.478.612%203.598-3.27%201.67-5.52%205.192-5.52%209.26%200%203.84%202.01%207.193%204.99%208.96-.05.435-.082.874-.082%201.323%200%205.683%204.392%2010.284%209.818%2010.284%201.206%200%202.368-.218%203.434-.638C22.758%2060.644%2026.115%2063%2030%2063c3.887%200%207.246-2.356%208.837-5.784%201.068.42%202.224.638%203.436.638%205.423%200%209.818-4.6%209.818-10.283%200-.448-.034-.886-.085-1.322C54.98%2044.48%2057%2041.128%2057%2037.288zm-14.797-6.742s-14.558%2014.55-14.878%2014.872c-.546.548-1.263.823-1.98.823-.712%200-1.425-.27-1.97-.812l-6.53-6.498c-1.093-1.088-1.098-2.857-.01-3.95%201.087-1.095%202.856-1.098%203.95-.01l4.555%204.53%2012.914-12.906c1.09-1.09%202.86-1.09%203.95%200%201.09%201.093%201.09%202.86%200%203.952z%22%2F%3E%3C%2Fsvg%3E)
+}
+.Icon--heart {
+	width:.9375em;
+	background-image:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2054%2072%22%3E%3Cpath%20class%3D%22icon%22%20fill%3D%22%238899a6%22%20d%3D%22M38.723%2012c-7.187%200-11.16%207.306-11.723%208.13-.563-.824-4.496-8.13-11.723-8.13C8.79%2012%203.533%2018.163%203.533%2024.647%203.533%2039.964%2021.89%2055.907%2027%2056c5.11-.093%2023.467-16.036%2023.467-31.353C50.467%2018.163%2045.21%2012%2038.723%2012z%22%2F%3E%3C%2Fsvg%3E)
+}
+.IconButton {
+	background-color:transparent
+}
+.Identity-name {
+	font-weight:700
+}
+.Identity-screenName {
+	color:#667580;
+	color:#8899A6
+}
+.Identity:focus {
+	text-decoration:none
+}
+.Identity:focus .Identity-name {
+	text-decoration:underline
+}
+.Identity--blended:focus,.Identity--blended:hover {
+	color:inherit
+}
+.Identity--blended .Identity-screenName {
+	color:inherit
+}
+.Identity--withInlineAvatar {
+	line-height:16px
+}
+.Identity--withInlineAvatar .Identity-avatar {
+	width:16px;
+	height:16px;
+	border-radius:2px;
+	vertical-align:top
+}
+.PrettyLink:focus {
+	text-decoration:none
+}
+.PrettyLink:focus .PrettyLink-value {
+	text-decoration:underline
+}
+.CroppedImage {
+	position:relative;
+	display:inline-block;
+	overflow:hidden
+}
+.CroppedImage-image {
+	position:absolute;
+	top:0;
+	left:0;
+	min-height:100%;
+	min-width:100%
+}
+.CroppedImage--fillHeight .CroppedImage-image {
+	height:100%;
+	width:auto
+}
+.CroppedImage--fillWidth .CroppedImage-image {
+	width:100%;
+	height:auto
+}
+.FilledIframe {
+	max-width:100%;
+	max-height:100%
+}
+.FilledIframe--upscale {
+	width:100%;
+	height:100%
+}
+.ImageGrid {
+	position:relative
+}
+.ImageGrid-image {
+	position:absolute;
+	width:50%;
+	padding-bottom:25%;
+	border:0 solid #fff;
+	-webkit-transform:rotate(0);
+	-moz-transform:rotate(0);
+	-ms-transform:rotate(0);
+	-o-transform:rotate(0);
+	transform:rotate(0)
+}
+.ImageGrid--2 .ImageGrid-image {
+	padding-bottom:50%
+}
+.ImageGrid--2 .ImageGrid-image-0 {
+	top:0;
+	left:0
+}
+.ImageGrid--2 .ImageGrid-image-1 {
+	top:0;
+	right:0;
+	border-left-width:1px
+}
+.ImageGrid--3 .ImageGrid-image-0 {
+	float:left;
+	padding-bottom:50%;
+	top:0;
+	left:0
+}
+.ImageGrid--3 .ImageGrid-image-1 {
+	top:0;
+	right:0;
+	border-left-width:1px
+}
+.ImageGrid--3 .ImageGrid-image-2 {
+	bottom:0;
+	right:0;
+	border-width:1px 0 0 1px
+}
+.ImageGrid--4 .ImageGrid-image-0 {
+	top:0;
+	left:0
+}
+.ImageGrid--4 .ImageGrid-image-1 {
+	top:0;
+	right:0;
+	border-left-width:1px
+}
+.ImageGrid--4 .ImageGrid-image-2 {
+	bottom:0;
+	left:0;
+	border-top-width:1px
+}
+.ImageGrid--4 .ImageGrid-image-3 {
+	bottom:0;
+	right:0;
+	border-width:1px 0 0 1px
+}
+.ImageGrid--roundedTop.ImageGrid--2 .ImageGrid-image-0 {
+	border-top-left-radius:4px
+}
+.ImageGrid--roundedTop.ImageGrid--2 .ImageGrid-image-1 {
+	border-top-right-radius:4px
+}
+.ImageGrid--roundedTop.ImageGrid--3 .ImageGrid-image-0 {
+	border-top-left-radius:4px
+}
+.ImageGrid--roundedTop.ImageGrid--3 .ImageGrid-image-1 {
+	border-top-right-radius:4px
+}
+.ImageGrid--roundedTop.ImageGrid--4 .ImageGrid-image-0 {
+	border-top-left-radius:4px
+}
+.ImageGrid--roundedTop.ImageGrid--4 .ImageGrid-image-1 {
+	border-top-right-radius:4px
+}
+.ImageGrid--roundedBottom.ImageGrid--2 .ImageGrid-image-0 {
+	border-bottom-left-radius:4px
+}
+.ImageGrid--roundedBottom.ImageGrid--2 .ImageGrid-image-1 {
+	border-bottom-right-radius:4px
+}
+.ImageGrid--roundedBottom.ImageGrid--3 .ImageGrid-image-0 {
+	border-bottom-left-radius:4px
+}
+.ImageGrid--roundedBottom.ImageGrid--3 .ImageGrid-image-2 {
+	border-bottom-right-radius:4px
+}
+.ImageGrid--roundedBottom.ImageGrid--4 .ImageGrid-image-2 {
+	border-bottom-left-radius:4px
+}
+.ImageGrid--roundedBottom.ImageGrid--4 .ImageGrid-image-3 {
+	border-bottom-right-radius:4px
+}
+.PlayButton {
+	font-size:64px;
+	background-color:transparent
+}
+.PlayButton--centered {
+	margin-left:-32px;
+	margin-top:-32px
+}
+.NaturalImage {
+	position:relative
+}
+.NaturalImage-image {
+	max-width:100%;
+	max-height:100%;
+	border:0;
+	line-height:0;
+	height:auto
+}
+.NaturalImage-ctaOverlay {
+	position:absolute;
+	top:50%;
+	left:50%
+}
+.NaturalImage--rounded .NaturalImage-image,.NaturalImage--roundedTop .NaturalImage-image {
+	border-top-left-radius:4px;
+	border-top-right-radius:4px
+}
+.NaturalImage--rounded .NaturalImage-image,.NaturalImage--roundedBottom .NaturalImage-image {
+	border-bottom-left-radius:4px;
+	border-bottom-right-radius:4px
+}
+.NaturalImage--fill .NaturalImage-image {
+	width:100%
+}
+.MediaCard-media {
+	position:relative;
+	width:100%;
+	overflow:hidden
+}
+.MediaCard-widthConstraint {
+	max-width:100%
+}
+.MediaCard-mediaContainer {
+	position:relative;
+	padding-bottom:0;
+	background-color:#f5f8fa
+}
+.MediaCard-borderOverlay {
+	position:absolute;
+	top:0;
+	left:0;
+	z-index:10;
+	width:100%;
+	height:100%;
+	border:1px solid rgba(225,232,237,.75);
+	border-radius:4px 4px 0 0;
+	-moz-box-sizing:border-box;
+	box-sizing:border-box
+}
+.MediaCard-nsfwInfo {
+	display:none;
+	position:absolute;
+	top:0;
+	left:0;
+	z-index:30;
+	width:100%;
+	padding:0 14px;
+	-moz-box-sizing:border-box;
+	box-sizing:border-box;
+	text-align:center
+}
+.MediaCard-nsfwHeading {
+	margin:14px;
+	font-size:14px;
+	font-weight:700
+}
+.MediaCard-dismissNsfw {
+	margin:14px
+}
+.MediaCard-mediaAsset {
+	display:block;
+	position:absolute;
+	top:0;
+	left:0;
+	width:100%;
+	height:100%;
+	line-height:0;
+	-webkit-transition:opacity .5s;
+	-moz-transition:opacity .5s;
+	-o-transition:opacity .5s;
+	transition:opacity .5s;
+	background-color:#fff
+}
+.MediaCard-mediaPlaceholder {
+	background:#f5f8fa
+}
+.MediaCard-actionControl {
+	position:absolute;
+	top:50%;
+	left:50%
+}
+.MediaCard-attributionOverlay {
+	position:absolute;
+	bottom:8px;
+	right:12px;
+	z-index:20;
+	padding:4px;
+	padding-right:8px;
+	border-radius:4px;
+	border:1px solid transparent;
+	background-color:rgba(0,0,0,.3);
+	color:#ddd;
+	text-shadow:0 0 2px rgba(0,0,0,.7);
+	font-size:12px;
+	line-height:18px;
+	-webkit-transition:background-color .3s ease-in;
+	-moz-transition:background-color .3s ease-in;
+	-o-transition:background-color .3s ease-in;
+	transition:background-color .3s ease-in
+}
+.MediaCard-attributionOverlay:hover {
+	background-color:#292F33;
+	border-color:#fff
+}
+.MediaCard-siteUser {
+	margin:0 0 14px
+}
+.MediaCard-bylineUser {
+	color:#667580;
+	margin:14px 0
+}
+.MediaCard--mediaForward .MediaCard-media {
+	background-color:#f5f8fa
+}
+.MediaCard--mediaForward .MediaCard-widthConstraint {
+	margin:0 auto
+}
+.MediaCard.is-nsfw .MediaCard-nsfwInfo {
+	display:block
+}
+.MediaCard.is-nsfw .MediaCard-mediaAsset {
+	opacity:0
+}
+.PrerenderedCard {
+	display:none;
+	height:0;
+	width:100%;
+	overflow:hidden
+}
+.PrerenderedCard.is-constrainedByMaxWidth {
+	display:block
+}
+.PrerenderedCard.is-loaded {
+	height:auto
+}
+.tcu-textMute,a.tcu-graylink {
+	color:#667580
+}
+.timeline-Widget {
+	max-width:1200px;
+	background-color:#fff;
+	border-radius:4px
+}
+.SandboxRoot.var-chromeless .timeline-Widget {
+	background-color:transparent
+}
+.timeline-Body {
+	position:relative;
+	border-top:1px solid rgba(15,70,100,.12);
+	border-bottom:1px solid rgba(15,70,100,.12)
+}
+.timeline-Body-notification {
+	position:absolute;
+	top:0;
+	left:0;
+	right:0;
+	z-index:10
+}
+.SandboxRoot.var-borderless .timeline-Body {
+	border:none
+}
+.timeline-Viewport {
+	overflow-x:hidden;
+	overflow-y:scroll
+}
+.SandboxRoot.var-fully-expanded .timeline-Viewport {
+	overflow-y:visible
+}
+.timeline-TweetList-tweet {
+	border-top:1px solid rgba(15,70,100,.12)
+}
+.timeline-TweetList-tweet:first-of-type {
+	border-top:none
+}
+.SandboxRoot.var-borderless .timeline-TweetList-tweet {
+	border:none
+}
+.timeline-Tweet {
+	padding:10px
+}
+.timeline-Tweet-retweetCredit {
+	margin-bottom:8px;
+	margin-left:18px;
+	font-size:12px;
+	color:#889ba6
+}
+.timeline-Tweet-retweetCreditIcon {
+	position:relative;
+	top:1px;
+	display:inline-block;
+	margin-right:4px;
+	font-size:14px
+}
+.timeline-Tweet-author {
+	position:relative;
+	margin-bottom:2px;
+	padding-left:40px
+}
+.timeline-Tweet-brand {
+	font-size:15.4px
+}
+.timeline-Tweet-brand .Icon {
+	background-image:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2072%2072%22%3E%3Cpath%20fill%3D%22none%22%20d%3D%22M0%200h72v72H0z%22%2F%3E%3Cpath%20class%3D%22icon%22%20fill%3D%22%23e1e8ed%22%20d%3D%22M68.812%2015.14c-2.348%201.04-4.87%201.744-7.52%202.06%202.704-1.62%204.78-4.186%205.757-7.243-2.53%201.5-5.33%202.592-8.314%203.176C56.35%2010.59%2052.948%209%2049.182%209c-7.23%200-13.092%205.86-13.092%2013.093%200%201.026.118%202.02.338%202.98C25.543%2024.527%2015.9%2019.318%209.44%2011.396c-1.125%201.936-1.77%204.184-1.77%206.58%200%204.543%202.312%208.552%205.824%2010.9-2.146-.07-4.165-.658-5.93-1.64-.002.056-.002.11-.002.163%200%206.345%204.513%2011.638%2010.504%2012.84-1.1.298-2.256.457-3.45.457-.845%200-1.666-.078-2.464-.23%201.667%205.2%206.5%208.985%2012.23%209.09-4.482%203.51-10.13%205.605-16.26%205.605-1.055%200-2.096-.06-3.122-.184%205.794%203.717%2012.676%205.882%2020.067%205.882%2024.083%200%2037.25-19.95%2037.25-37.25%200-.565-.013-1.133-.038-1.693%202.558-1.847%204.778-4.15%206.532-6.774z%22%2F%3E%3C%2Fsvg%3E)
+}
+.timeline-Tweet-text {
+	margin-left:40px;
+	margin-bottom:12px;
+	font-size:12px;
+	line-height:18px;
+	font-weight:400;
+	white-space:pre-wrap;
+	word-wrap:break-word
+}
+.timeline-Tweet-text[dir=ltr] {
+	text-align:left;
+	direction:ltr
+}
+.timeline-Tweet-text[dir=rtl] {
+	text-align:right;
+	direction:rtl
+}
+.timeline-Tweet-media {
+	margin-bottom:12px;
+	margin-left:40px;
+	font-size:12px
+}
+.timeline-Tweet-metadata {
+	float:right;
+	margin-top:2px
+}
+.timeline-Tweet-timestamp {
+	font-size:12px;
+	line-height:18px;
+	color:#e1e8ed
+}
+.timeline-Tweet-actions {
+	margin-left:40px
+}
+.timeline-Tweet-action {
+	display:inline-block;
+	font-size:17px
+}
+.timeline-Tweet-action+.timeline-Tweet-action {
+	margin-left:20px
+}
+.timeline-Tweet-withheldTitle {
+	margin-bottom:10px;
+	font-size:14px;
+	font-weight:700
+}
+.timeline-Tweet-withheldReason {
+	font-size:12px
+}
+.timeline-Tweet--isRetweet {
+	padding-top:7px
+}
+.timeline-Tweet:hover {
+	background-color:rgba(160,200,220,.12)
+}
+.timeline-Tweet:hover .timeline-Tweet-brand .Icon {
+	background-image:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2072%2072%22%3E%3Cpath%20fill%3D%22none%22%20d%3D%22M0%200h72v72H0z%22%2F%3E%3Cpath%20class%3D%22icon%22%20fill%3D%22%2355acee%22%20d%3D%22M68.812%2015.14c-2.348%201.04-4.87%201.744-7.52%202.06%202.704-1.62%204.78-4.186%205.757-7.243-2.53%201.5-5.33%202.592-8.314%203.176C56.35%2010.59%2052.948%209%2049.182%209c-7.23%200-13.092%205.86-13.092%2013.093%200%201.026.118%202.02.338%202.98C25.543%2024.527%2015.9%2019.318%209.44%2011.396c-1.125%201.936-1.77%204.184-1.77%206.58%200%204.543%202.312%208.552%205.824%2010.9-2.146-.07-4.165-.658-5.93-1.64-.002.056-.002.11-.002.163%200%206.345%204.513%2011.638%2010.504%2012.84-1.1.298-2.256.457-3.45.457-.845%200-1.666-.078-2.464-.23%201.667%205.2%206.5%208.985%2012.23%209.09-4.482%203.51-10.13%205.605-16.26%205.605-1.055%200-2.096-.06-3.122-.184%205.794%203.717%2012.676%205.882%2020.067%205.882%2024.083%200%2037.25-19.95%2037.25-37.25%200-.565-.013-1.133-.038-1.693%202.558-1.847%204.778-4.15%206.532-6.774z%22%2F%3E%3C%2Fsvg%3E)
+}
+.timeline-Tweet:hover .timeline-Tweet-timestamp {
+	color:#667580
+}
+.timeline-Tweet:hover .timeline-Tweet-action .Icon--heart {
+	background-image:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2054%2072%22%3E%3Cpath%20class%3D%22icon%22%20fill%3D%22%23667580%22%20d%3D%22M38.723%2012c-7.187%200-11.16%207.306-11.723%208.13-.563-.824-4.496-8.13-11.723-8.13C8.79%2012%203.533%2018.163%203.533%2024.647%203.533%2039.964%2021.89%2055.907%2027%2056c5.11-.093%2023.467-16.036%2023.467-31.353C50.467%2018.163%2045.21%2012%2038.723%2012z%22%2F%3E%3C%2Fsvg%3E)
+}
+.timeline-Tweet:hover .timeline-Tweet-action .Icon--share {
+	background-image:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2056.8%2072%22%3E%3Cpath%20fill%3D%22none%22%20d%3D%22M0-.7h48v72H0z%22%2F%3E%3Cpath%20class%3D%22icon%22%20fill%3D%22%23667580%22%20d%3D%22M52.8%2032.9L42.2%2022.3c-1.4-1.4-3.6-1.4-5%200s-1.4%203.6%200%205l4.6%204.6H20.9c-1.9%200-3.5%201.6-3.5%203.5s1.6%203.5%203.5%203.5h20.9l-4.6%204.6c-1.4%201.4-1.4%203.6%200%205%20.7.7%201.6%201%202.5%201s1.8-.3%202.5-1l10.6-10.6c1.4-1.4%201.4-3.6%200-5z%22%2F%3E%3Cpath%20class%3D%22icon%22%20fill%3D%22%23667580%22%20d%3D%22M24.4%2049.4h-13c-.6%200-1.1-.5-1.2-1.1V22.4c0-.7.5-1.2%201.2-1.2h12.9c1.9%200%203.5-1.6%203.5-3.5s-1.6-3.5-3.5-3.5H8.9c-3.1%200-5.7%202.5-5.7%205.7v31c0%203.1%202.5%205.7%205.7%205.7h15.5c1.9%200%203.5-1.6%203.5-3.5.1-2.1-1.5-3.7-3.5-3.7z%22%2F%3E%3C%2Fsvg%3E)
+}
+.SandboxRoot.env-bp-min .timeline-Tweet {
+	padding:10px
+}
+.SandboxRoot.env-bp-min .timeline-Tweet-retweetCredit {
+	margin-left:0
+}
+.SandboxRoot.env-bp-min .timeline-Tweet-retweetCreditIcon {
+	margin-right:0
+}
+.SandboxRoot.env-bp-min .timeline-Tweet-author {
+	margin-top:1px;
+	padding-left:0
+}
+.SandboxRoot.env-bp-min .timeline-Tweet-text {
+	margin-top:6px;
+	margin-left:0;
+	font-size:12px;
+	line-height:18px
+}
+.SandboxRoot.env-bp-min .timeline-Tweet-media {
+	margin-left:0
+}
+.SandboxRoot.env-bp-min .timeline-Tweet-actions {
+	margin-left:0
+}
+.SandboxRoot.env-bp-min .timeline-Tweet-withheldTitle {
+	font-size:12px
+}
+.SandboxRoot.env-bp-330 .timeline-Tweet-text {
+	font-size:14px;
+	line-height:18px
+}
+.SandboxRoot.env-bp-430 .timeline-Tweet-text {
+	font-size:18px;
+	line-height:24px;
+	font-weight:300
+}
+.SandboxRoot.env-bp-550 .timeline-Tweet-text {
+	font-size:21px;
+	line-height:27px;
+	font-weight:300
+}
+.SandboxRoot.env-bp-660 .timeline-Tweet-text {
+	font-size:27px;
+	line-height:36px;
+	font-weight:300
+}
+.SandboxRoot.env-bp-820 .timeline-Tweet-text {
+	font-size:32px;
+	line-height:38px;
+	font-weight:300
+}
+.SandboxRoot.env-bp-970 .timeline-Tweet-text {
+	font-size:37px;
+	line-height:50px;
+	font-weight:300
+}
+.SandboxRoot.env-bp-550 .timeline-Tweet-author {
+	padding-left:44px
+}
+.SandboxRoot.env-bp-550 .timeline-Tweet-actions,.SandboxRoot.env-bp-550 .timeline-Tweet-media,.SandboxRoot.env-bp-550 .timeline-Tweet-text {
+	margin-left:44px
+}
+.SandboxRoot.env-bp-660 .timeline-Tweet-author,.SandboxRoot.env-bp-820 .timeline-Tweet-author {
+	padding-left:56px
+}
+.SandboxRoot.env-bp-660 .timeline-Tweet-actions,.SandboxRoot.env-bp-660 .timeline-Tweet-media,.SandboxRoot.env-bp-660 .timeline-Tweet-text,.SandboxRoot.env-bp-820 .timeline-Tweet-actions,.SandboxRoot.env-bp-820 .timeline-Tweet-media,.SandboxRoot.env-bp-820 .timeline-Tweet-text {
+	margin-left:56px
+}
+.SandboxRoot.env-bp-970 .timeline-Tweet-author {
+	padding-left:64px
+}
+.SandboxRoot.env-bp-970 .timeline-Tweet-actions,.SandboxRoot.env-bp-970 .timeline-Tweet-media,.SandboxRoot.env-bp-970 .timeline-Tweet-text {
+	margin-left:64px
+}
+.TweetAction:active,.TweetAction:focus,.TweetAction:hover {
+	text-decoration:none
+}
+.TweetAction--heart:active .Icon,.TweetAction--heart:focus .Icon,.TweetAction--heart:hover .Icon {
+	background-image:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2054%2072%22%3E%3Cpath%20class%3D%22icon%22%20fill%3D%22%23e81c4f%22%20d%3D%22M38.723%2012c-7.187%200-11.16%207.306-11.723%208.13-.563-.824-4.496-8.13-11.723-8.13C8.79%2012%203.533%2018.163%203.533%2024.647%203.533%2039.964%2021.89%2055.907%2027%2056c5.11-.093%2023.467-16.036%2023.467-31.353C50.467%2018.163%2045.21%2012%2038.723%2012z%22%2F%3E%3C%2Fsvg%3E)!important
+}
+.TweetAction--share:active .Icon,.TweetAction--share:focus .Icon,.TweetAction--share:hover .Icon {
+	background-image:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2056.8%2072%22%3E%3Cpath%20fill%3D%22none%22%20d%3D%22M0-.7h48v72H0z%22%2F%3E%3Cpath%20class%3D%22icon%22%20fill%3D%22%230084b4%22%20d%3D%22M52.8%2032.9L42.2%2022.3c-1.4-1.4-3.6-1.4-5%200s-1.4%203.6%200%205l4.6%204.6H20.9c-1.9%200-3.5%201.6-3.5%203.5s1.6%203.5%203.5%203.5h20.9l-4.6%204.6c-1.4%201.4-1.4%203.6%200%205%20.7.7%201.6%201%202.5%201s1.8-.3%202.5-1l10.6-10.6c1.4-1.4%201.4-3.6%200-5z%22%2F%3E%3Cpath%20class%3D%22icon%22%20fill%3D%22%230084b4%22%20d%3D%22M24.4%2049.4h-13c-.6%200-1.1-.5-1.2-1.1V22.4c0-.7.5-1.2%201.2-1.2h12.9c1.9%200%203.5-1.6%203.5-3.5s-1.6-3.5-3.5-3.5H8.9c-3.1%200-5.7%202.5-5.7%205.7v31c0%203.1%202.5%205.7%205.7%205.7h15.5c1.9%200%203.5-1.6%203.5-3.5.1-2.1-1.5-3.7-3.5-3.7z%22%2F%3E%3C%2Fsvg%3E)!important
+}
+.TweetAuthor {
+	max-width:100%;
+	overflow:hidden!important;
+	text-overflow:ellipsis!important;
+	white-space:nowrap!important;
+	word-wrap:normal!important
+}
+.TweetAuthor-avatar {
+	position:absolute;
+	top:0;
+	left:0;
+	width:32px;
+	height:32px;
+	overflow:hidden;
+	border-radius:4px
+}
+.TweetAuthor-name {
+	font-size:12px;
+	line-height:18px;
+	font-weight:700
+}
+.TweetAuthor-screenName {
+	font-size:12px;
+	line-height:18px;
+	font-weight:300
+}
+.SandboxRoot.env-bp-min .TweetAuthor-avatar {
+	position:static;
+	top:auto;
+	left:auto;
+	float:left;
+	margin-right:8px
+}
+.SandboxRoot.env-bp-min .TweetAuthor-screenName:before {
+	white-space:pre;
+	content:"\A\200e"
+}
+.SandboxRoot.env-bp-330 .TweetAuthor-name,.SandboxRoot.env-bp-430 .TweetAuthor-name,.SandboxRoot.env-bp-550 .TweetAuthor-name {
+	font-size:14px;
+	line-height:18px
+}
+.SandboxRoot.env-bp-330 .TweetAuthor-screenName,.SandboxRoot.env-bp-430 .TweetAuthor-screenName,.SandboxRoot.env-bp-550 .TweetAuthor-screenName {
+	font-size:13px;
+	line-height:18px
+}
+.SandboxRoot.env-bp-660 .TweetAuthor-name,.SandboxRoot.env-bp-820 .TweetAuthor-name,.SandboxRoot.env-bp-970 .TweetAuthor-name {
+	font-size:18px;
+	line-height:27px
+}
+.SandboxRoot.env-bp-660 .TweetAuthor-screenName,.SandboxRoot.env-bp-820 .TweetAuthor-screenName,.SandboxRoot.env-bp-970 .TweetAuthor-screenName {
+	font-size:14px;
+	line-height:18px
+}
+.SandboxRoot.env-bp-550 .TweetAuthor-avatar {
+	width:36px;
+	height:36px
+}
+.SandboxRoot.env-bp-660 .TweetAuthor-avatar,.SandboxRoot.env-bp-820 .TweetAuthor-avatar {
+	width:48px;
+	height:48px
+}
+.SandboxRoot.env-bp-970 .TweetAuthor-avatar {
+	width:56px;
+	height:56px
+}
+.timeline-ShareMenu {
+	position:relative
+}
+.timeline-ShareMenu-container {
+	position:absolute;
+	left:-18px;
+	z-index:1000;
+	display:none;
+	padding-bottom:4px;
+	min-width:130px;
+	background-color:#fff;
+	border:1px solid transparent;
+	border-radius:4px;
+	box-shadow:0 0 4px rgba(0,0,0,.25)
+}
+.timeline-ShareMenu-caret,.timeline-ShareMenu-caret:after {
+	position:absolute;
+	display:block;
+	width:0;
+	height:0;
+	border-color:transparent;
+	border-style:solid
+}
+.timeline-ShareMenu-caret {
+	left:25px;
+	margin-left:-9px;
+	border-width:9px
+}
+.timeline-ShareMenu-caret:after {
+	margin-left:-8px;
+	border-width:8px;
+	content:""
+}
+.timeline-ShareMenu-title {
+	padding:10px 15px 5px 15px;
+	font-size:12px;
+	font-weight:300;
+	color:#667580
+}
+.timeline-ShareMenu-option {
+	display:inline-block;
+	width:100%;
+	padding:2px 15px;
+	font-size:14px;
+	color:#292F33!important;
+	-moz-box-sizing:border-box;
+	box-sizing:border-box;
+	white-space:nowrap
+}
+.timeline-ShareMenu-option:focus,.timeline-ShareMenu-option:hover {
+	color:#fff!important;
+	background-color:#3b94d9;
+	text-decoration:none!important
+}
+.timeline-ShareMenu.is-openedAbove .timeline-ShareMenu-container {
+	bottom:100%;
+	display:block;
+	margin-bottom:10px
+}
+.timeline-ShareMenu.is-openedAbove .timeline-ShareMenu-caret {
+	bottom:-9px;
+	border-bottom-width:0;
+	border-top-color:rgba(15,70,100,.12)
+}
+.timeline-ShareMenu.is-openedAbove .timeline-ShareMenu-caret:after {
+	content:" ";
+	bottom:1px;
+	border-bottom-width:0;
+	border-top-color:#fff
+}
+.timeline-ShareMenu.is-openedBelow .timeline-ShareMenu-container {
+	top:100%;
+	display:block;
+	margin-top:10px
+}
+.timeline-ShareMenu.is-openedBelow .timeline-ShareMenu-caret {
+	top:-9px;
+	border-top-width:0;
+	border-bottom-color:rgba(15,70,100,.12)
+}
+.timeline-ShareMenu.is-openedBelow .timeline-ShareMenu-caret:after {
+	content:" ";
+	top:1px;
+	border-top-width:0;
+	border-bottom-color:#fff
+}
+.SandboxRoot.env-bp-min .timeline-ShareMenu-option {
+	font-size:12px
+}
+.timeline-ShowMoreButton {
+	-moz-box-sizing:border-box;
+	box-sizing:border-box;
+	display:block;
+	padding:10px 0;
+	margin:0;
+	width:100%;
+	font-size:14px;
+	color:#3b94d9;
+	text-align:center;
+	background-color:#f5f8fa;
+	border:0;
+	outline:0;
+	cursor:pointer
+}
+.timeline-ShowMoreButton:focus,.timeline-ShowMoreButton:hover {
+	background-color:#f5f8fa;
+	text-decoration:underline
+}
+.SandboxRoot.env-bp-min .timeline-ShowMoreButton {
+	font-size:12px
+}
+.timeline-NewTweetsNotification {
+	display:none;
+	border-bottom:1px solid rgba(15,70,100,.12);
+	opacity:0
+}
+.timeline-NewTweetsNotification.is-displayed {
+	display:block
+}
+.timeline-NewTweetsNotification.is-opaque {
+	opacity:1
+}
+.timeline-LoadMore-prompt {
+	border-top:1px solid rgba(15,70,100,.12)
+}
+.timeline-LoadMore-endOfTimelineMessage {
+	display:none;
+	padding:10px 0 40px 0;
+	font-size:12px;
+	text-align:center
+}
+.timeline-LoadMore.is-atEndOfTimeline .timeline-LoadMore-prompt {
+	display:none
+}
+.timeline-LoadMore.is-atEndOfTimeline .timeline-LoadMore-endOfTimelineMessage {
+	display:block
+}
+.SandboxRoot.var-static .timeline-LoadMore {
+	display:none
+}
+.timeline-EmptyMessage {
+	width:100%;
+	padding:20px 10px 0 10px;
+	text-align:center;
+	-moz-box-sizing:border-box;
+	box-sizing:border-box
+}
+.timeline-EmptyMessage-message {
+	margin-bottom:10px;
+	font-size:16.8px
+}
+.SandboxRoot.env-bp-min .timeline-EmptyMessage-message {
+	font-size:14.4px
+}
+.timeline-Header {
+	padding:10px
+}
+.timeline-Header-title {
+	font-size:21px;
+	font-weight:300;
+	line-height:24px;
+	color:#292F33
+}
+.timeline-Header-byline {
+	font-size:12px;
+	font-weight:400;
+	line-height:16px;
+	color:#8899A6
+}
+.timeline-Header-subtitle {
+	margin-top:5px;
+	font-size:12px;
+	font-weight:400;
+	line-height:16px;
+	color:#8899A6
+}
+.timeline-Header-description {
+	margin-top:5px;
+	font-size:12px;
+	line-height:18px;
+	color:#8899A6
+}
+.SandboxRoot.var-headerless .timeline-Header {
+	display:none
+}
+.SandboxRoot.env-bp-430 .timeline-Header-title,.SandboxRoot.env-bp-550 .timeline-Header-title {
+	font-size:27px;
+	line-height:36px
+}
+.SandboxRoot.env-bp-660 .timeline-Header-title,.SandboxRoot.env-bp-820 .timeline-Header-title {
+	font-size:32px;
+	line-height:38px
+}
+.SandboxRoot.env-bp-970 .timeline-Header-title {
+	font-size:37px;
+	line-height:50px
+}
+.SandboxRoot.env-bp-660 .timeline-Header-byline,.SandboxRoot.env-bp-660 .timeline-Header-subtitle,.SandboxRoot.env-bp-820 .timeline-Header-byline,.SandboxRoot.env-bp-820 .timeline-Header-subtitle,.SandboxRoot.env-bp-970 .timeline-Header-byline,.SandboxRoot.env-bp-970 .timeline-Header-subtitle {
+	font-size:14px;
+	line-height:18px
+}
+.SandboxRoot.env-bp-330 .timeline-Header-description,.SandboxRoot.env-bp-430 .timeline-Header-description,.SandboxRoot.env-bp-550 .timeline-Header-description {
+	font-size:14px;
+	line-height:18px
+}
+.SandboxRoot.env-bp-660 .timeline-Header-description {
+	font-size:16px;
+	line-height:21px
+}
+.SandboxRoot.env-bp-820 .timeline-Header-description,.SandboxRoot.env-bp-970 .timeline-Header-description {
+	font-size:18px;
+	line-height:27px
+}
+.timeline-Footer {
+	padding:15px;
+	font-size:12px
+}
+.SandboxRoot.var-footerless .timeline-Footer {
+	display:none
+}
+.Icon--heart {
+	background-image:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2054%2072%22%3E%3Cpath%20class%3D%22icon%22%20fill%3D%22%23e1e8ed%22%20d%3D%22M38.723%2012c-7.187%200-11.16%207.306-11.723%208.13-.563-.824-4.496-8.13-11.723-8.13C8.79%2012%203.533%2018.163%203.533%2024.647%203.533%2039.964%2021.89%2055.907%2027%2056c5.11-.093%2023.467-16.036%2023.467-31.353C50.467%2018.163%2045.21%2012%2038.723%2012z%22%2F%3E%3C%2Fsvg%3E)
+}
+.Icon--share {
+	width:.98611em;
+	background-image:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2056.8%2072%22%3E%3Cpath%20fill%3D%22none%22%20d%3D%22M0-.7h48v72H0z%22%2F%3E%3Cpath%20class%3D%22icon%22%20fill%3D%22%23e1e8ed%22%20d%3D%22M52.8%2032.9L42.2%2022.3c-1.4-1.4-3.6-1.4-5%200s-1.4%203.6%200%205l4.6%204.6H20.9c-1.9%200-3.5%201.6-3.5%203.5s1.6%203.5%203.5%203.5h20.9l-4.6%204.6c-1.4%201.4-1.4%203.6%200%205%20.7.7%201.6%201%202.5%201s1.8-.3%202.5-1l10.6-10.6c1.4-1.4%201.4-3.6%200-5z%22%2F%3E%3Cpath%20class%3D%22icon%22%20fill%3D%22%23e1e8ed%22%20d%3D%22M24.4%2049.4h-13c-.6%200-1.1-.5-1.2-1.1V22.4c0-.7.5-1.2%201.2-1.2h12.9c1.9%200%203.5-1.6%203.5-3.5s-1.6-3.5-3.5-3.5H8.9c-3.1%200-5.7%202.5-5.7%205.7v31c0%203.1%202.5%205.7%205.7%205.7h15.5c1.9%200%203.5-1.6%203.5-3.5.1-2.1-1.5-3.7-3.5-3.7z%22%2F%3E%3C%2Fsvg%3E)
+}
+.wvp-player-container iframe {
+	width:100%;
+	height:100%;
+	position:absolute;
+	top:0;
+	left:0
+}
+.SandboxRoot.env-bp-min {
+	font-size:12px
+}
diff --git a/bigbluebutton-client/resources/prod/help/screenshare-help.html b/bigbluebutton-client/resources/prod/help/screenshare-help.html
new file mode 100755
index 0000000000000000000000000000000000000000..7a6d7548bcc62011d354eb934d86a334e2642a29
--- /dev/null
+++ b/bigbluebutton-client/resources/prod/help/screenshare-help.html
@@ -0,0 +1,584 @@
+<!DOCTYPE html>
+<html lang="en-US">
+<head>
+<meta charset="UTF-8">
+
+<meta name="viewport" content="width=device-width,minimum-scale=1,maximum-scale=1">
+
+<title>  Videos</title>
+
+<link rel="alternate" type="application/rss+xml" title="BigBluebutton RSS Feed" href="http://bigbluebutton.org/feed/">
+
+	<link rel="stylesheet" href="http://bigbluebutton.org/wp-content/themes/suco/themify/css/shortcodes.css" type="text/css" media="screen">
+
+<link href="http://bigbluebutton.org/wp-content/themes/suco-child/style.css" rel="stylesheet" type="text/css">
+
+<!-- google font -->
+<link href="http://fonts.googleapis.com/css?family=Rokkitt&amp;v1" rel="stylesheet" type="text/css">
+
+<!-- media queries -->
+<link rel="stylesheet" href="http://bigbluebutton.org/wp-content/themes/suco/media-queries.css" type="text/css">
+
+<!-- media-queries.js (fallback) -->
+<!--[if lt IE 9]>
+	<script src="http://css3-mediaqueries-js.googlecode.com/svn/trunk/css3-mediaqueries.js"></script>
+<![endif]-->
+
+<!-- html5.js -->
+<!--[if lt IE 9]>
+	<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+<![endif]-->
+
+<!-- jquery -->
+<script src="http://platform.twitter.com/widgets.js" id="twitter-wjs"></script><script src="http://www.google-analytics.com/ga.js" async="" type="text/javascript"></script><script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
+
+<!-- audio player -->
+<script type="text/javascript" src="http://bigbluebutton.org/wp-content/themes/suco/js/audio-player.js"></script>
+<script type="text/javascript">
+	AudioPlayer.setup("http://bigbluebutton.org/wp-content/themes/suco/player.swf", {
+		width: '90%',
+		transparentpagebg: 'yes'
+	});
+</script>
+
+<!-- comment-reply js -->
+
+<!-- wp_header -->
+		<script type="text/javascript">
+			window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/72x72\/","ext":".png","source":{"concatemoji":"http:\/\/bigbluebutton.org\/wp-includes\/js\/wp-emoji-release.min.js?ver=21e517e0ddb856c019dcb251670c2be4"}};
+			!function(a,b,c){function d(a){var c,d,e,f=b.createElement("canvas"),g=f.getContext&&f.getContext("2d"),h=String.fromCharCode;if(!g||!g.fillText)return!1;switch(g.textBaseline="top",g.font="600 32px Arial",a){case"flag":return g.fillText(h(55356,56806,55356,56826),0,0),f.toDataURL().length>3e3;case"diversity":return g.fillText(h(55356,57221),0,0),c=g.getImageData(16,16,1,1).data,d=c[0]+","+c[1]+","+c[2]+","+c[3],g.fillText(h(55356,57221,55356,57343),0,0),c=g.getImageData(16,16,1,1).data,e=c[0]+","+c[1]+","+c[2]+","+c[3],d!==e;case"simple":return g.fillText(h(55357,56835),0,0),0!==g.getImageData(16,16,1,1).data[0];case"unicode8":return g.fillText(h(55356,57135),0,0),0!==g.getImageData(16,16,1,1).data[0]}return!1}function e(a){var c=b.createElement("script");c.src=a,c.type="text/javascript",b.getElementsByTagName("head")[0].appendChild(c)}var f,g,h,i;for(i=Array("simple","flag","unicode8","diversity"),c.supports={everything:!0,everythingExceptFlag:!0},h=0;h<i.length;h++)c.supports[i[h]]=d(i[h]),c.supports.everything=c.supports.everything&&c.supports[i[h]],"flag"!==i[h]&&(c.supports.everythingExceptFlag=c.supports.everythingExceptFlag&&c.supports[i[h]]);c.supports.everythingExceptFlag=c.supports.everythingExceptFlag&&!c.supports.flag,c.DOMReady=!1,c.readyCallback=function(){c.DOMReady=!0},c.supports.everything||(g=function(){c.readyCallback()},b.addEventListener?(b.addEventListener("DOMContentLoaded",g,!1),a.addEventListener("load",g,!1)):(a.attachEvent("onload",g),b.attachEvent("onreadystatechange",function(){"complete"===b.readyState&&c.readyCallback()})),f=c.source||{},f.concatemoji?e(f.concatemoji):f.wpemoji&&f.twemoji&&(e(f.twemoji),e(f.wpemoji)))}(window,document,window._wpemojiSettings);
+		</script>
+		<style type="text/css">
+img.wp-smiley,
+img.emoji {
+	display: inline !important;
+	border: none !important;
+	box-shadow: none !important;
+	height: 1em !important;
+	width: 1em !important;
+	margin: 0 .07em !important;
+	vertical-align: -0.1em !important;
+	background: none !important;
+	padding: 0 !important;
+}
+</style>
+<link rel="stylesheet" id="fbComments_hideWpComments-css" href="http://bigbluebutton.org/wp-content/plugins/facebook-comments-for-wordpress/css/facebook-comments-hidewpcomments.css?ver=3.1.3" type="text/css" media="all">
+<link rel="stylesheet" id="fbc_rc_widgets-style-css" href="http://bigbluebutton.org/wp-content/plugins/facebook-comments-for-wordpress/css/facebook-comments-widgets.css?ver=21e517e0ddb856c019dcb251670c2be4" type="text/css" media="all">
+<link rel="stylesheet" id="digg-digg-css" href="http://bigbluebutton.org/wp-content/plugins/digg-digg/css/diggdigg-style.css?ver=5.3.6" type="text/css" media="screen">
+<script type="text/javascript" src="http://bigbluebutton.org/wp-includes/js/jquery/jquery.js?ver=1.12.4"></script>
+<script type="text/javascript" src="http://bigbluebutton.org/wp-includes/js/jquery/jquery-migrate.min.js?ver=1.4.1"></script>
+<script type="text/javascript" src="http://bigbluebutton.org/wp-content/plugins/mailchimp-widget/js/mailchimp-widget-min.js?ver=21e517e0ddb856c019dcb251670c2be4"></script>
+<link rel="https://api.w.org/" href="http://bigbluebutton.org/wp-json/">
+<link rel="EditURI" type="application/rsd+xml" title="RSD" href="http://bigbluebutton.org/xmlrpc.php?rsd">
+<link rel="wlwmanifest" type="application/wlwmanifest+xml" href="http://bigbluebutton.org/wp-includes/wlwmanifest.xml">
+
+<link rel="canonical" href="http://bigbluebutton.org/videos/">
+<link rel="shortlink" href="http://bigbluebutton.org/?p=6">
+<link rel="alternate" type="application/json+oembed" href="http://bigbluebutton.org/wp-json/oembed/1.0/embed?url=http%3A%2F%2Fbigbluebutton.org%2Fvideos%2F">
+<link rel="alternate" type="text/xml+oembed" href="http://bigbluebutton.org/wp-json/oembed/1.0/embed?url=http%3A%2F%2Fbigbluebutton.org%2Fvideos%2F&amp;format=xml">
+<script type="text/javascript">
+(function(url){
+	if(/(?:Chrome\/26\.0\.1410\.63 Safari\/537\.31|WordfenceTestMonBot)/.test(navigator.userAgent)){ return; }
+	var addEvent = function(evt, handler) {
+		if (window.addEventListener) {
+			document.addEventListener(evt, handler, false);
+		} else if (window.attachEvent) {
+			document.attachEvent('on' + evt, handler);
+		}
+	};
+	var removeEvent = function(evt, handler) {
+		if (window.removeEventListener) {
+			document.removeEventListener(evt, handler, false);
+		} else if (window.detachEvent) {
+			document.detachEvent('on' + evt, handler);
+		}
+	};
+	var evts = 'contextmenu dblclick drag dragend dragenter dragleave dragover dragstart drop keydown keypress keyup mousedown mousemove mouseout mouseover mouseup mousewheel scroll'.split(' ');
+	var logHuman = function() {
+		var wfscr = document.createElement('script');
+		wfscr.type = 'text/javascript';
+		wfscr.async = true;
+		wfscr.src = url + '&r=' + Math.random();
+		(document.getElementsByTagName('head')[0]||document.getElementsByTagName('body')[0]).appendChild(wfscr);
+		for (var i = 0; i < evts.length; i++) {
+			removeEvent(evts[i], logHuman);
+		}
+	};
+	for (var i = 0; i < evts.length; i++) {
+		addEvent(evts[i], logHuman);
+	}
+})('//bigbluebutton.org/?wordfence_logHuman=1&hid=4A32C1A289EB14E197561B7A60F05460');
+</script>
+
+<style type="text/css">
+#headerwrap {
+background-image: none;
+background-color: #dbebf6;
+}
+
+#nav-bar {
+background-image: url(http://r2.bigbluebutton.org/wp-content/themes/suco/uploads/bg/bg1.png);
+background-color: #30406b;
+background-repeat: repeat-x;
+}
+
+#upperwrap {
+background-image: url(http://r2.bigbluebutton.org/wp-content/themes/suco/uploads/bg/bg1.png);
+background-color: #F4F4F4 ;
+}
+
+.home-highlightswrap {
+background-image: none;
+background-color: #fff;
+}
+
+#body {
+background-image: none;
+background-color: #ffffff;
+}
+
+.footer-widgetswrap {
+background-image: none;
+background-color: #262626;
+}
+
+#footerwrap {
+background-image: none;
+background-color: #2a2a2a;
+}
+
+h1 {
+font-family: Arial, Helvetica, sans-serif;
+color: #00445e;
+}
+
+h2 {
+font-family: Arial, Helvetica, sans-serif;
+color: #00445e;
+}
+
+h3 {
+font-family: Arial, Helvetica, sans-serif;
+color: #00445e;
+}
+
+h4 {
+font-family: Arial, Helvetica, sans-serif;
+color: #30406b;
+}
+
+h5 {
+font-family: Arial, Helvetica, sans-serif;
+color: #30406b;
+}
+
+h6 {
+font-family: Arial, Helvetica, sans-serif;
+}
+
+#main-nav a:hover, #main-nav li:hover > a {
+color: #fff;
+}
+
+#main-nav .current_page_item a, #main-nav .current-menu-item a {
+color: #fff;
+background-color: #1a243f;
+}
+
+</style>
+
+<link href="http://www.bigbluebutton.org/wp-content/themes/suco/uploads/favicon/favicon.png" rel="shortcut icon">
+
+
+
+<!-- custom css -->
+
+<style type="text/css">.home-highlights .home-highlights-content {
+overflow: hidden;
+margin-bottom: 20px;
+color: #464646;
+}
+
+.home-highlights h4 {
+margin: 0;
+font-size: 160%;
+line-height: 120%;
+color: #30406b;
+}
+
+h1, h2, h3, h4, h5, h6 {
+font-family: 'Open Sans', sans-serif !important;
+
+}
+
+h1.overview {
+font-family: "Open Sans","Lucida Grande","Lucida Sans Unicode",Helvetica,Arial,sans-serif;
+
+}
+
+img.aligncenter {
+padding: 2px;
+}
+
+span.post-comment iframe {
+	width:150px !important;
+}
+
+.post-meta .post-comment{
+	background: none!important;
+	padding-left:0px;
+}</style>
+<script type="text/javascript">
+
+  var _gaq = _gaq || [];
+  _gaq.push(['_setAccount', 'UA-9394204-1']);
+  _gaq.push(['_trackPageview']);
+
+  (function() {
+    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+  })();
+
+</script>
+
+
+<script src="//bigbluebutton.org/?wordfence_logHuman=1&amp;hid=4A32C1A289EB14E197561B7A60F05460&amp;r=0.7928567202447322" async="" type="text/javascript"></script><script src="https://platform.twitter.com/js/timeline.d5ee0c695f13b8ee1c5f4f85a8c10e39.js" async="" charset="utf-8" type="text/javascript"></script></head>
+<body class="page page-id-6 page-template-default">
+
+<div id="pagewrap">
+
+<div id="headerwrap">
+
+  <header id="header" class="pagewidth">
+    <hgroup>
+                <div id="site-logo"><a href="http://bigbluebutton.org"><img src="http://bigbluebutton.org/wp-content/themes/suco/themify/img.php?src=/wp-content/uploads/2011/12/logo.png&amp;w=330&amp;h=71" alt="BigBluebutton" height="71" width="330"></a></div>
+      <h2 id="site-description"></h2>
+    </hgroup>
+
+    <nav>
+      <ul id="main-nav" class="main-nav"><li id="menu-item-30" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-30"><a href="http://bigbluebutton.org/">Home</a></li>
+<li id="menu-item-2665" class="menu-item menu-item-type-post_type menu-item-object-page current-menu-ancestor current-menu-parent current_page_parent current_page_ancestor menu-item-has-children menu-item-2665"><a href="http://bigbluebutton.org/overview/">Overview</a>
+<ul class="sub-menu">
+<li id="menu-item-2667" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2667"><a href="http://bigbluebutton.org/overview/">Overview</a></li>
+<li id="menu-item-1424" class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-6 current_page_item menu-item-1424"><a href="http://bigbluebutton.org/videos/">Videos</a></li>
+<li id="menu-item-3083" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-3083"><a href="http://bigbluebutton.org/accessibility/">Accessibility</a></li>
+<li id="menu-item-1538" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1538"><a href="http://bigbluebutton.org/history/">History of BigBlueButton</a></li>
+</ul>
+</li>
+<li id="menu-item-18" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-18"><a href="http://demo.bigbluebutton.org/">Demo</a></li>
+<li id="menu-item-494" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-494"><a href="http://bigbluebutton.org/support/">Support</a>
+<ul class="sub-menu">
+<li id="menu-item-1088" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1088"><a href="http://bigbluebutton.org/support/">Support</a></li>
+<li id="menu-item-231" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-231"><a href="http://bigbluebutton.org/components/">Open Source Components</a></li>
+<li id="menu-item-1614" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1614"><a href="http://bigbluebutton.org/open-source-integrations/">Open Source Integrations</a></li>
+<li id="menu-item-713" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-713"><a href="http://bigbluebutton.org/commercial-support/">Commercial Support</a></li>
+</ul>
+</li>
+<li id="menu-item-337" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-337"><a href="http://bigbluebutton.org/blog/">Blog</a></li>
+<li id="menu-item-716" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-716"><a href="http://bigbluebutton.org/foundation/">License</a>
+<ul class="sub-menu">
+<li id="menu-item-731" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-731"><a href="http://bigbluebutton.org/trademark/">Trademark</a></li>
+<li id="menu-item-3077" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-3077"><a href="http://bigbluebutton.org/open-source-license/">Open Source License</a></li>
+</ul>
+</li>
+<li id="menu-item-1163" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1163"><a href="http://docs.bigbluebutton.org/">Docs</a></li>
+</ul>				<!-- /#main-nav -->
+    </nav>
+
+
+    <div class="social-widget">
+      <div id="text-6" class="widget widget_text"><strong class="widgettitle">Follow Us</strong>			<div class="textwidget"><ul class="links-list">
+<li><a href="http://facebook.com/bigbluebutton" title="BigBlueButton Facebook Page" target="_BLANK"><img src="/wp-content/uploads/2011/12/facebook.png" alt="Facebook"></a></li>
+<li><a href="https://twitter.com/bigbluebutton" title="BigBlueButton Twitter Page" target="_BLANK"><img src="/wp-content/uploads/2011/12/twitter.png" alt="Twitter"></a></li>
+<li><a href="http://www.youtube.com/bigbluebuttonshare" title="BigBlueButton YouTube Page" target="_BLANK"><img src="/wp-content/uploads/2011/12/youtube_icon.png" alt="YouTube"></a></li>
+<li><a href="https://plus.google.com/b/108594579970371808676/108594579970371808676/posts" title="BigBlueButton Google Plus Page" target="_BLANK"><img src="/wp-content/uploads/2012/07/googleplus.png" alt="Google Plus"></a></li>
+<!-- <li><a href="http://flickr.com" title="BigBlueButton Flickr Page"><img src="/wp-content/uploads/2011/12/flickr.png" alt="Flickr"></a></li> -->
+</ul>
+</div>
+  </div>
+                <div class="rss"><a href="http://bigbluebutton.org/feed/">RSS</a></div>
+            </div>
+    <!-- /.social-widget -->
+
+    <div class="header-widget">
+            </div>
+    <!-- /.header-widget -->
+
+  </header>
+  <!-- /#header -->
+
+  <div id="nav-bar">
+  </div>
+  <!-- /#nav-bar -->
+
+</div>
+<!-- /.headerwrap -->
+
+<div id="body" class="clearfix">
+<div id="upperwrap">
+
+
+
+
+
+
+    <div class="pagewidth">
+      <h1 class="page-title">Videos</h1>
+    </div>
+
+  <!-- /.page-title -->
+
+
+
+</div>
+<!-- /#upperwrap -->
+
+
+
+
+
+
+
+
+<!-- layout-container -->
+<div id="layout" class="pagewidth clearfix sidebar-none">
+
+<!-- content -->
+<div id="content">
+
+<div class="clearfix"></div>
+<h2><strong> Desktop Sharing Tutorial Videos (1.1)</strong></h2>
+<p>The following videos give you an overview of using Desktop Sharing in BigBlueButton.</p>
+<div class="shortcode col3-1 first"><a class="lightbox" title="Desktop Sharing on Windows using Internet Explorer" href="https://www.youtube.com/watch?v=w0qei2-uDpI" rel="prettyPhoto"><img title="Desktop Sharing on Windows using Internet Explorer" src="/wp-content/uploads/2013/06/p-overview-081.png" alt="Desktop Sharing on Windows using Internet Explorer" width="285"></a><p></p>
+<h5>Desktop Sharing on Windows using Internet Explorer</h5>
+<p>This video gives you an overview of how to use desktop sharing on Windows OS using Internet Explorer.</p>
+<p><a class="shortcode button green lightbox" title="Desktop Sharing on Windows using Internet Explorer" href="https://www.youtube.com/watch?v=w0qei2-uDpI" rel="prettyPhoto">Play Video </a>
+</p></div>
+<div class="shortcode col3-1"><a class="lightbox" title="Desktop Sharing on Windows using Firefox" href="https://www.youtube.com/watch?v=7ZuunBQbmj8" rel="prettyPhoto"><img title="Desktop Sharing on Windows using Firefox" src="/wp-content/uploads/2013/06/p-overview-081.png" alt="Desktop Sharing on Windows using Firefox" width="285"></a><p></p>
+<h5>Desktop Sharing on Windows using Firefox</h5>
+<p>This video gives you an overview of how to use desktop sharing on Windows OS using Firefox.</p>
+<p><a class="shortcode button green lightbox" title="Desktop Sharing on Windows using Firefox" href="https://www.youtube.com/watch?v=7ZuunBQbmj8" rel="prettyPhoto">Play Video </a>
+</p></div>
+<div class="shortcode col3-1"><a class="lightbox" title="Desktop Sharing on Windows using Chrome" href="https://www.youtube.com/watch?v=bx9Tupfro_I" rel="prettyPhoto"><img title="Desktop Sharing on Windows using Chrome" src="/wp-content/uploads/2013/06/p-overview-081.png" alt="Desktop Sharing on Windows using Chrome" width="285"></a><p></p>
+<h5>Desktop Sharing on Windows using Chrome</h5>
+<p>This video gives you an overview of how to use desktop sharing on Windows OS using Chrome.</p>
+<p><a class="shortcode button green lightbox" title="Desktop Sharing on Windows using Chrome" href="https://www.youtube.com/watch?v=bx9Tupfro_I" rel="prettyPhoto">Play Video </a>
+</p></div>
+<div class="shortcode col3-1 first"><a class="lightbox" title="Desktop Sharing on Mac OS X using Chrome" href="https://www.youtube.com/watch?v=Xezw2moXZQE" rel="prettyPhoto"><img title="Desktop Sharing on Mac OS X using Chrome" src="/wp-content/uploads/2013/06/p_student-081.png" alt="Desktop Sharing on Mac OS X using Chrome" width="285"></a><p></p>
+<h5>Desktop Sharing on Mac OS X using Chrome</h5>
+<p>This video gives you an overview of using desktop sharing on Mac OS X using Chrome.</p>
+<p><a class="shortcode button green lightbox" title="Desktop Sharing on Mac OS X using Chrome" href="https://www.youtube.com/watch?v=Xezw2moXZQE" rel="prettyPhoto">Play Video </a>
+</p></div>
+<div class="shortcode col3-1"><a class="lightbox" title="Desktop Sharing on Mac OS X using Safari" href="https://www.youtube.com/watch?v=SmIMd8abeec" rel="prettyPhoto"><img title="Desktop Sharing on Mac OS X using Safari" src="/wp-content/uploads/2011/12/safari_new.png" alt="Desktop Sharing on Mac OS X using Safari" width="285"></a><p></p>
+<h5>Desktop Sharing on Mac OS X using Safari</h5>
+<p>This video gives you an overview of using desktop sharing on Mac OS X using Safari.</p>
+<p><a class="shortcode button green lightbox" title="Desktop Sharing on Mac OS X using Safari" href="https://www.youtube.com/watch?v=SmIMd8abeec" rel="prettyPhoto">Play Video </a></p>
+</div>
+<div class="shortcode col3-1"><a class="lightbox" title="Desktop Sharing on Mac OS X using FireFox" href="https://www.youtube.com/watch?v=FmTJOB4SODc" rel="prettyPhoto"><img title="Desktop Sharing on Mac OS X using FireFox" src="/wp-content/uploads/2011/12/macosx-firefox.png" alt="Desktop Sharing on Mac OS X using FireFox" width="285"></a><p></p>
+<h5>Desktop Sharing on Mac OS X using FireFox</h5>
+<p>This video gives you an overview of using desktop sharing on Mac OS X using FireFox.</p>
+<p><a class="shortcode button green lightbox" title="Desktop Sharing on Mac OS X using FireFox" href="https://www.youtube.com/watch?v=FmTJOB4SODc" rel="prettyPhoto">Play Video </a></p>
+</div>
+<p><!--
+
+<a class="lightbox" title="Viewer Overview" href="http://www.youtube.com/watch?v=4C-rOd8bi6s&amp;width=800&amp;height=600" rel="prettyPhoto"><img title="Viewer Overview" src="/wp-content/uploads/2013/06/dev-08.png" alt="Student Overview" width="285" /></a>
+
+<h5>Developer Overview</h5>
+
+
+This video gives you an overview of setting up BigBlueButton.
+
+<a class="shortcode button green lightbox" title="Viewer Overview" href="http://www.youtube.com/watch?v=4C-rOd8bi6s&amp;width=800&amp;height=600" rel="prettyPhoto">Play Video </a>
+
+
+
+<div id="vid_tut">
+
+<h2><strong> Tutorial Videos (0.8)</strong></h2>
+
+
+The BigBlueButton community wants to make the process of learning and understanding our open source web conferencing software as easy as possible. Therefore, we have created the following “How-To” videos.
+
+<div class="shortcode col3-1 first"><a class="lightbox" title="BigBlueButton Teacher Overview" href="http://www.youtube.com/watch?v=S4eNl9Afipo?width=800&amp;height=600" rel="prettyPhoto"><img title="Teacher Overview" src="/wp-content/uploads/2013/06/teacher-overview-0.8.png" alt="Teacher Overview" width="285" /></a>
+
+<h5>Teacher Overview</h5>
+
+
+This video shows you how to present information to remote students using BigBlueButton.
+
+<a class="shortcode button green lightbox" title="BigBlueButton Teacher Overview" href="http://www.youtube.com/watch?v=S4eNl9Afipo" rel="prettyPhoto">Play Video </a>
+
+</div>
+
+
+
+<div class="shortcode col3-1"><a class="lightbox" title="BigBlueButton Student Overview" href="http://www.youtube.com/watch?v=U8P9RJDk42M&amp;width=800&amp;height=600" rel="prettyPhoto"><img title="Student Overview" src="/wp-content/uploads/2013/06/student-overview-08.png" alt="Student Overview" width="285" /></a>
+
+<h5>Student Overview</h5>
+
+
+Student tutorial video for BigBlueButton. Here you will be given an overview of the open source software and a break down of all the individual modules.
+
+<a class="shortcode button green lightbox" title="BigBlueButton Student Overview" href="http://www.youtube.com/watch?v=U8P9RJDk42M&amp;width=800&amp;height=600" rel="prettyPhoto">Play Video </a>
+
+</div>
+
+
+
+<div class="shortcode col3-1"><a class="lightbox" title="Viewer Overview" href="http://www.youtube.com/watch?v=4C-rOd8bi6s&amp;width=800&amp;height=600" rel="prettyPhoto"><img title="Viewer Overview" src="/wp-content/uploads/2013/06/dev-08.png" alt="Student Overview" width="285" /></a>
+
+<h5>Developer Overview</h5>
+
+
+This video gives you an overview of setting up BigBlueButton.
+
+<a class="shortcode button green lightbox" title="Viewer Overview" href="http://www.youtube.com/watch?v=4C-rOd8bi6s&amp;width=800&amp;height=600" rel="prettyPhoto">Play Video </a>
+
+</div>
+
+
+</div>
+
+
+
+--></p>
+<div class="clearfix"></div>
+
+
+    <!-- comments -->
+                        <!-- /comments -->
+
+
+
+
+</div>
+<!-- /content -->
+
+
+
+</div>
+<!-- /layout-container -->
+
+</div>
+<!-- /body -->
+
+<div class="footer-widgetswrap clearfix">
+  <div class="footer-widgets pagewidth clearfix">
+                                        <div class="col3-1 first">
+           <section id="text-3" class="widget widget_text"><h4 class="widgettitle">Overview</h4>			<div class="textwidget"><ul>
+  <li class="menu item">
+      <a href="/home" title="BigBlueButton Home">Home</a>
+  </li>
+  <li class="menu item">
+      <a href="/overview" title="BigBlueButton Overview">Overview</a>
+  </li>
+  <li class="menu item">
+         <a href="/videos" title="BigBlueButton Videos">Videos</a>
+  </li>
+  <li class="menu item" title="BigBlueButton Demo">
+         <a href="http://demo.bigbluebutton.org">Demo</a>
+  </li>
+  <li class="menu item">
+         <a href="/blog">Blog</a>
+  </li>
+  <li class="menu item">
+         <a href="/support" title="BigBlueButton Developer Community">Support</a>
+  </li>
+<li class="menu item">
+         <a href="http://code.google.com/p/bigbluebutton/" title="Download BigBlueButton">Download</a>
+  </li>
+
+</ul></div>
+  </section>					</div>
+                          <div class="col3-1 ">
+           <section id="themify-feature-posts-2" class="widget feature-posts"><h4 class="widgettitle">Recent Posts</h4><ul class="feature-posts-list"><li><a href="http://bigbluebutton.org/2016/05/17/bigbluebutton-1-0-released/" class="feature-posts-title">BigBlueButton 1.0 Released</a> <br><small>May 17, 2016</small> <br><span class="post-excerpt">The BigBlueButton project is pleased to announce the</span></li><li><a href="http://bigbluebutton.org/2016/05/03/bigbluebutton-summit-viii-ottawa-ontario-canada/" class="feature-posts-title">BigBlueButton Summit VIII: Ottawa, Ontario, Canada</a> <br><small>May 03, 2016</small> <br><span class="post-excerpt">The BigBlueButton developer community met in Ottawa,</span></li><li><a href="http://bigbluebutton.org/2016/04/06/agora-learning-integrates-with-bigbluebutton/" class="feature-posts-title">Agora Learning integrates with BigBlueButton</a> <br><small>Apr 06, 2016</small> <br><span class="post-excerpt">Agora Learning, a learning Management System from Tree</span></li><li><a href="http://bigbluebutton.org/2016/01/21/nice-tweet-from-boston-college/" class="feature-posts-title">Nice tweet from Boston College</a> <br><small>Jan 21, 2016</small> <br><span class="post-excerpt">Just saw this tweet from Boston College. Looks like</span></li></ul></section>					</div>
+                          <div class="col3-1 ">
+           <section id="text-12" class="widget widget_text">			<div class="textwidget"><iframe title="Twitter Timeline" data-widget-id="346300284898783232" style="position: static; visibility: visible; display: inline-block; width: 520px; height: 300px; padding: 0px; border: medium none; max-width: 100%; min-width: 180px; margin-top: 0px; margin-bottom: 0px; min-height: 200px;" class="twitter-timeline twitter-timeline-rendered" allowfullscreen="true" allowtransparency="true" scrolling="no" id="twitter-widget-0" frameborder="0"></iframe>
+<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
+</div>
+  </section>					</div>
+                </div>
+  <!-- /.footer-widgets -->
+</div>
+<!-- /.footer-widgetswrap -->
+
+<div id="footerwrap">
+  <footer id="footer" class="pagewidth clearfix">
+
+    <div id="footer-logo">
+                 <a href="http://bigbluebutton.org/">BigBluebutton</a>
+            </div>
+    <!-- /footer-logo -->
+
+
+    <div class="footer-text clearfix">
+      <!-- div class="one"><center> Copyright © 2014 BigBlueButton Inc </center></div -->
+      <div class="one"><center> Copyright © 2016 BigBlueButton Inc. </center></div>
+      <div class="two"> </div>
+    </div>
+    <!-- /.footer-text -->
+
+  </footer>
+  <!-- /#footer -->
+</div>
+<!-- /#footerwrap -->
+
+
+<!-- /#pagewrap -->
+
+<!-- jquery -->
+<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
+<script type="text/javascript">
+!window.jQuery && document.write('<script type="text/javascript" src="http://bigbluebutton.org/wp-content/themes/suco/js/jquery.js"><\/script>')
+</script>
+
+<!-- prettyphoto -->
+<script type="text/javascript" src="http://bigbluebutton.org/wp-content/themes/suco/js/jquery.prettyPhoto.js"></script>
+<link rel="stylesheet" href="http://bigbluebutton.org/wp-content/themes/suco/prettyPhoto.css" type="text/css" media="screen">
+<script type="text/javascript">
+if (screen.width>=480) {
+  jQuery(function($) {
+    $("a[rel^='prettyPhoto']").prettyPhoto({ social_tools: false, deeplinking: false });
+  });
+}
+</script>
+
+<!-- theme function script -->
+<script type="text/javascript" src="http://bigbluebutton.org/wp-content/themes/suco/js/script.js"></script>
+
+<!-- wp_footer -->
+
+
+
+
+  <script type="text/javascript">
+    !window.jQuery && document.write('<script type="text/javascript" src="http://bigbluebutton.org/wp-content/themes/suco/themify/js/jquery.js"><\/script>')
+  </script>
+  <!-- slider -->
+  <script type="text/javascript" src="http://bigbluebutton.org/wp-content/themes/suco/js/slider.js"></script>
+  <script>
+  jQuery(document).ready(function($) {
+    $('#slider').flexslider({
+      animation: "slide",
+      slideshow: true,
+      animationLoop: true,
+      directionNav: true,
+      prevText: "&laquo;",
+      nextText: "&raquo;",
+      slideshowSpeed: 6000,
+      pauseOnHover: true
+      });
+  });
+
+  // expand slider
+  $('#slider .slides').css('height','auto');
+
+  </script>
+
+      <script type="text/javascript" src="http://bigbluebutton.org/wp-includes/js/wp-embed.min.js?ver=21e517e0ddb856c019dcb251670c2be4"></script>
+
+
+
+<iframe style="position: absolute; visibility: hidden; display: none; width: 0px; height: 0px; padding: 0px; border: medium none;" allowfullscreen="true" allowtransparency="true" scrolling="no" id="rufous-sandbox" frameborder="0"></iframe></body>
+<html/>
diff --git a/bigbluebutton-client/resources/prod/layout.xml b/bigbluebutton-client/resources/prod/layout.xml
index f2079f0e11641d0dec9abfde185a7c4cb6adf2e4..5ef4afede5bd0eb81a15701245c8fe52b0375b06 100755
--- a/bigbluebutton-client/resources/prod/layout.xml
+++ b/bigbluebutton-client/resources/prod/layout.xml
@@ -25,6 +25,7 @@
     <window name="ChatWindow" width="0.303125" height="0.9955703211517165" x="0.3229166666666667" y="0.9656699889258029" order="4" hidden="true" />
     <window name="PresentationWindow" minimized="true" order="1" hidden="true" />
     <window name="UsersWindow" minimized="true" hidden="true" order="2"/>
+    <window name="CaptionWindow" hidden="true" width="0.513" height="0.308" x="0.180" y="0.692" />
   </layout>
   <layout name="bbb.layout.name.webcamsfocus">
     <window name="NotesWindow" hidden="true" width="0.7" height="1" x="0" y="0" draggable="false" resizable="false"/>
@@ -33,6 +34,7 @@
     <window name="ChatWindow" width="0.3393632416787265" height="0.5305851063829787" x="0.658465991316932" y="0" />
     <window name="UsersWindow" hidden="true" />
     <window name="PresentationWindow" width="0.34008683068017365" height="0.4601063829787234" x="0.658465991316932" y="0.535904255319149" />
+    <window name="CaptionWindow" hidden="true" width="0.513" height="0.308" x="0.180" y="0.692" />
   </layout>
   <layout name="bbb.layout.name.presentfocus">
     <window name="NotesWindow" hidden="true" width="0.7" height="1" x="0" y="0" draggable="false" resizable="false"/>
@@ -41,6 +43,7 @@
     <window name="VideoDock" width="0.2923611111111111" height="0.4640957446808511" x="0.7048611111111112" y="0.535904255319149" />
     <window name="PresentationWindow" width="0.7027777777777777" height="0.9986702127659575" x="0" y="0" />
     <window name="ChatWindow" width="0.2923611111111111" height="0.5305851063829787" x="0.7048611111111112" y="0" />
+    <window name="CaptionWindow" hidden="true" width="0.513" height="0.308" x="0.180" y="0.692" />
   </layout>
   <layout name="bbb.layout.name.lectureassistant">
     <window name="NotesWindow" hidden="true" width="0.7" height="1" x="0" y="0" draggable="false" resizable="false"/>
@@ -49,6 +52,7 @@
     <window name="UsersWindow" width="0.22152777777777777" height="0.9958677685950413" x="0" y="0" minWidth="280" />
     <window name="PresentationWindow" width="0.3104166666666667" height="0.5537190082644629" x="0.6895833333333333" y="0" />
     <window name="VideoDock" width="0.30972222222222223" height="0.4357198347107438" x="0.6902777777777778" y="0.558870523415978" />
+    <window name="CaptionWindow" hidden="true" width="0.513" height="0.308" x="0.180" y="0.692" />
   </layout>	
   <layout name="bbb.layout.name.lecture">
     <window name="NotesWindow" hidden="true" width="0.7" height="1" x="0" y="0" draggable="false" resizable="false"/>
@@ -57,6 +61,7 @@
     <window name="VideoDock" width="0.2923611111111111" height="0.4640957446808511" x="0.7048611111111112" y="0.535904255319149" />
     <window name="PresentationWindow" width="0.7027777777777777" height="0.9986702127659575" x="0" y="0" />
     <window name="ChatWindow" width="0.2923611111111111" height="0.5305851063829787" x="0.7048611111111112" y="0" />
+    <window name="CaptionWindow" hidden="true" width="0.513" height="0.308" x="0.180" y="0.692" />
   </layout>	
   <layout name="bbb.layout.name.lecture" role="presenter">
     <window name="NotesWindow" hidden="true" width="0.7" height="1" x="0" y="0" draggable="false" resizable="false"/>
@@ -65,6 +70,7 @@
     <window name="UsersWindow" hidden="true" />
     <window name="PresentationWindow" maximized="true" />
     <window name="VideoDock" hidden="true" />
+    <window name="CaptionWindow" hidden="true" width="0.513" height="0.308" x="0.180" y="0.692" />
   </layout>	
   <layout name="bbb.layout.name.lecture" role="moderator">
     <window name="NotesWindow" hidden="true" width="0.7" height="1" x="0" y="0" draggable="false" resizable="false"/>
@@ -73,6 +79,7 @@
     <window name="UsersWindow" width="0.22152777777777777" height="0.9944903581267218" x="0" y="0" minWidth="280" />
     <window name="PresentationWindow" width="0.3104166666666667" height="0.5537190082644629" x="0.6895833333333333" y="0" />
     <window name="VideoDock" width="0.30972222222222223" height="0.4256198347107438" x="0.6902777777777778" y="0.568870523415978" />
+    <window name="CaptionWindow" hidden="true" width="0.513" height="0.308" x="0.180" y="0.692" />
   </layout>	
 <!--
   <layout name="Users">
diff --git a/bigbluebutton-client/src/ScreenshareStandalone.mxml b/bigbluebutton-client/src/ScreenshareStandalone.mxml
index c612a4968423290cb47b99fe625b821ff8f60647..a98fb5e963cd5e0694dbf9ceb16c8766c7cb2ee8 100755
--- a/bigbluebutton-client/src/ScreenshareStandalone.mxml
+++ b/bigbluebutton-client/src/ScreenshareStandalone.mxml
@@ -189,7 +189,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
         }
       }
       
-      private function onUpdateCursorEvent(event:CursorEvent):void {	
+      private function onUpdateCursorEvent(event:CursorEvent):void {	
         if (cursor == null) return;	
         
         cursor.x = videoHolder.x + (event.x * (videoHolder.width / videoWidth));
@@ -216,7 +216,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
           case "NetStream.Play.Start":
             trace("DeskshareSA::NetStream.Publish.Start for broadcast stream " + stream);
             trace("DeskshareSA::Dispatching start viewing event");
-            service.sendStartedViewingNotification(stream);
+            //service.sendStartedViewingNotification(stream);
             break;
           case "NetStream.Play.UnpublishNotify":
             trace("DeskshareSA::NetStream.Play.UnpublishNotify for broadcast stream " + stream);
diff --git a/bigbluebutton-client/src/org/bigbluebutton/main/views/ShortcutHelpWindow.mxml b/bigbluebutton-client/src/org/bigbluebutton/main/views/ShortcutHelpWindow.mxml
index 941642b056abc095eb2637e585f728f73e039dfc..ecaddd20eb7d3f9a4f25908f2e978ef0bf7d7705 100755
--- a/bigbluebutton-client/src/org/bigbluebutton/main/views/ShortcutHelpWindow.mxml
+++ b/bigbluebutton-client/src/org/bigbluebutton/main/views/ShortcutHelpWindow.mxml
@@ -85,6 +85,9 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
 			private function init():void {
 				modifier = ExternalInterface.call("determineModifier");
 				globalModifier = ExternalInterface.call("determineGlobalModifier");
+				
+				ShortcutOptions.initialize();
+				
 				populateModules();
 			}
 			
diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/caption/model/CaptionOptions.as b/bigbluebutton-client/src/org/bigbluebutton/modules/caption/model/CaptionOptions.as
index c6a98343db5da5b2d6e392bcfa442782b1150e5f..76f50a9bfecae7fb60cb2060c5cea5115978c01a 100755
--- a/bigbluebutton-client/src/org/bigbluebutton/modules/caption/model/CaptionOptions.as
+++ b/bigbluebutton-client/src/org/bigbluebutton/modules/caption/model/CaptionOptions.as
@@ -3,12 +3,19 @@ package org.bigbluebutton.modules.caption.model {
 	
 	public class CaptionOptions {
 		
+		[Bindable] 
+		public var maxPasteLength:int = 1024;
+		
 		[Bindable]
 		public var baseTabIndex:int = 701;
 		
 		public function CaptionOptions() {
 			var cxml:XML = BBB.getConfigForModule("CaptionModule");
 			if (cxml != null) {
+				if (cxml.@maxPasteLength != undefined) {
+					maxPasteLength = cxml.@maxPasteLength;
+				}
+				
 				if (cxml.@baseTabIndex != undefined) {
 					baseTabIndex = cxml.@baseTabIndex;
 				}
diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/caption/model/Transcripts.as b/bigbluebutton-client/src/org/bigbluebutton/modules/caption/model/Transcripts.as
index ff64a8f911c553ba4fdcc233afadd71f2db7c66b..9b57b2b1bc264caeaf46cc020d3dfbf03e862adb 100755
--- a/bigbluebutton-client/src/org/bigbluebutton/modules/caption/model/Transcripts.as
+++ b/bigbluebutton-client/src/org/bigbluebutton/modules/caption/model/Transcripts.as
@@ -61,7 +61,9 @@ package org.bigbluebutton.modules.caption.model {
 		}
 		
 		public function editCaptionHistory(locale:String, startIndex:int, endIndex:int, text:String):void {
-			findLocale(locale).editHistory(startIndex, endIndex, text);
+			if (_historyInited) { // ignore updates until after history has been loaded
+				findLocale(locale).editHistory(startIndex, endIndex, text);
+			}
 		}
 		
 		public function findLocale(locale:String):Transcript {
diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/caption/views/CaptionWindow.mxml b/bigbluebutton-client/src/org/bigbluebutton/modules/caption/views/CaptionWindow.mxml
index 1ba87c799e1d34326664ccccf29617a16493af43..cd2ce68273374c35bb30b4e6f38156fe4297aecd 100755
--- a/bigbluebutton-client/src/org/bigbluebutton/modules/caption/views/CaptionWindow.mxml
+++ b/bigbluebutton-client/src/org/bigbluebutton/modules/caption/views/CaptionWindow.mxml
@@ -76,7 +76,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
 				optionsTab.setChangeCallback(optionChange);
 				captionTabs.addChild(optionsTab);
 				
-				textTab = new TextTab(captionOptions.baseTabIndex+5);
+				textTab = new TextTab(captionOptions.baseTabIndex+5, captionOptions);
 			}
 			
 			private function onCreationComplete():void {
@@ -162,7 +162,6 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
 			private function onTranscriptOwnerIDChange(o:Object):void {
 				var ownerId:String = o as String;
 				
-				optionsTab.transcriptOwnerIDChange(ownerId);
 				textTab.transcriptOwnerIDChange(ownerId);
 				
 				setTextTabLabel(ownerId);
diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/caption/views/OptionsTab.mxml b/bigbluebutton-client/src/org/bigbluebutton/modules/caption/views/OptionsTab.mxml
index 0cad6a84fb4d746c469912d180aa83c6960d1e50..7670abd055e629ef37e98fd5947ce34259564c8a 100755
--- a/bigbluebutton-client/src/org/bigbluebutton/modules/caption/views/OptionsTab.mxml
+++ b/bigbluebutton-client/src/org/bigbluebutton/modules/caption/views/OptionsTab.mxml
@@ -53,11 +53,6 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
 				currentTranscript = t;
 			}
 			
-			public function transcriptOwnerIDChange(ownerID:String):void {
-				claimOwnershipButton.visible = UserManager.getInstance().getConference().amIModerator() && 
-												ownerID != UserManager.getInstance().getConference().getMyUserId();
-			}
-			
 			private function onLocaleComboChange():void {
 				if (transcriptsCollection && localeCombo.selectedIndex != -1) {
 					if (changeCallback != null) changeCallback(OptionENUM.LOCALE, localeCombo.selectedItem.locale);
@@ -80,24 +75,10 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
 				if (changeCallback != null) changeCallback(OptionENUM.TEXTCOLOR, textColorPicker.selectedColor);
 			}
 			
-			private function onClaimButtonClick():void {
-				claimTranscript(currentTranscript.locale, true);
-				localeCombo.setFocus();
-			}
-			
-			private function claimTranscript(locale:String, claim:Boolean):void {
-				var updateCaptionOwnerEvent:SendUpdateCaptionOwnerEvent = new SendUpdateCaptionOwnerEvent(SendUpdateCaptionOwnerEvent.SEND_UPDATE_CAPTION_OWNER_EVENT);
-				updateCaptionOwnerEvent.locale = locale;
-				updateCaptionOwnerEvent.claim = claim;
-				
-				var dispatcher:Dispatcher = new Dispatcher();
-				dispatcher.dispatchEvent(updateCaptionOwnerEvent);
-			}
-			
 		]]>
 	</mx:Script>
 	
-	<common:TabIndexer id="tabIndexer" tabIndices="{[localeCombo, claimOwnershipButton, fontFamilyCombo, fontSizeCombo, backgroundColorPicker, textColorPicker]}"/>
+	<common:TabIndexer id="tabIndexer" tabIndices="{[localeCombo, fontFamilyCombo, fontSizeCombo, backgroundColorPicker, textColorPicker]}"/>
 	
 	<mx:VBox>
 		<mx:HBox>
@@ -111,12 +92,6 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
 						 change="onLocaleComboChange()"
 						 toolTip="{ResourceUtil.getInstance().getString('bbb.caption.option.language.tooltip')}"/>
 		</mx:HBox>
-		<mx:HBox>
-			<mx:Button id="claimOwnershipButton" 
-					   label="{ResourceUtil.getInstance().getString('bbb.caption.option.takeowner')}"
-					   toolTip="{ResourceUtil.getInstance().getString('bbb.caption.option.takeowner.tooltip')}"
-					   height="22" visible="false" click="onClaimButtonClick()" />
-		</mx:HBox>
 	</mx:VBox>
 	<mx:VBox>
 		<mx:HBox>
diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/caption/views/TextTab.as b/bigbluebutton-client/src/org/bigbluebutton/modules/caption/views/TextTab.as
index 2f720fff6eaae49f6958391fed4a0ad4d01f764a..c8a003ebe8eee9d81ba2b5864621430a3149bc40 100755
--- a/bigbluebutton-client/src/org/bigbluebutton/modules/caption/views/TextTab.as
+++ b/bigbluebutton-client/src/org/bigbluebutton/modules/caption/views/TextTab.as
@@ -22,20 +22,31 @@ package org.bigbluebutton.modules.caption.views {
 	
 	import flash.events.Event;
 	import flash.events.KeyboardEvent;
+	import flash.events.MouseEvent;
 	import flash.events.TextEvent;
+	import flash.events.TimerEvent;
 	import flash.text.TextFieldType;
 	import flash.ui.Keyboard;
+	import flash.utils.Timer;
 	
 	import mx.binding.utils.BindingUtils;
 	import mx.binding.utils.ChangeWatcher;
-	import mx.containers.Box;
+	import mx.containers.VBox;
+	import mx.controls.Alert;
+	import mx.controls.Button;
 	import mx.events.FlexEvent;
 	
 	import org.bigbluebutton.core.managers.UserManager;
 	import org.bigbluebutton.modules.caption.events.SendEditCaptionHistoryEvent;
+	import org.bigbluebutton.modules.caption.events.SendUpdateCaptionOwnerEvent;
+	import org.bigbluebutton.modules.caption.model.CaptionOptions;
 	import org.bigbluebutton.modules.caption.model.Transcript;
+	import org.bigbluebutton.util.i18n.ResourceUtil;
+	import org.osmf.events.TimeEvent;
 
-	public class TextTab extends Box {
+	public class TextTab extends VBox {
+		
+		private var _captionOptions:CaptionOptions;
 		
 		[Bindable]
 		private var currentTranscript:Transcript;
@@ -51,10 +62,15 @@ package org.bigbluebutton.modules.caption.views {
 		
 		private var inputArea:TextArea2;
 		private var outputArea:TextArea2;
+		private var claimButton:Button;
 		
-		public function TextTab(startIndex:int) {
+		public function TextTab(startIndex:int, captionOptions:CaptionOptions) {
 			super();
 			
+			_captionOptions = captionOptions;
+			
+			setStyle("horizontalAlign", "center");
+			
 			inputArea = new TextArea2();
 			inputArea.percentWidth = 100;
 			inputArea.percentHeight = 100;
@@ -70,6 +86,19 @@ package org.bigbluebutton.modules.caption.views {
 			outputArea.tabIndex = startIndex+1;
 			addChild(outputArea);
 			
+			claimButton = new Button();
+			claimButton.label = ResourceUtil.getInstance().getString('bbb.caption.option.takeowner');
+			claimButton.toolTip = ResourceUtil.getInstance().getString('bbb.caption.option.takeowner.tooltip');
+			claimButton.height = 22; 
+			claimButton.visible = false;
+			claimButton.includeInLayout = false;
+			claimButton.tabIndex = startIndex+1;
+			claimButton.addEventListener(MouseEvent.CLICK, onClaimButtonClick);
+			addChild(claimButton);
+			
+			_sendTimer = new Timer(TIME_TO_SEND, 1);
+			_sendTimer.addEventListener(TimerEvent.TIMER_COMPLETE, onSendTimerComplete);
+			
 			addEventListener(FlexEvent.CREATION_COMPLETE, onCreationComplete);
 		}
 		
@@ -94,23 +123,30 @@ package org.bigbluebutton.modules.caption.views {
 		}
 		
 		public function transcriptOwnerIDChange(ownerID:String):void {
-			if (ownerID == "") {
-				//unclaimed text
-				inputArea.visible = inputArea.includeInLayout = false;
-				outputArea.visible = outputArea.includeInLayout = true;
-				inputArea.getInternalTextField().type = TextFieldType.DYNAMIC;
-			} else if (ownerID == UserManager.getInstance().getConference().getMyUserId()) {
+			if (ownerID == UserManager.getInstance().getConference().getMyUserId()) {
+				claimButton.visible = claimButton.includeInLayout = false;
+				
 				//release text
 				inputArea.visible = inputArea.includeInLayout = true;
 				outputArea.visible = outputArea.includeInLayout = false;
 				inputArea.getInternalTextField().type = TextFieldType.INPUT;
 				inputArea.text = currentTranscript.transcript;
 			} else {
-				//claimed by other
-				inputArea.visible = inputArea.includeInLayout = false;
-				outputArea.visible = outputArea.includeInLayout = true;
-				inputArea.getInternalTextField().type = TextFieldType.DYNAMIC;
+				claimButton.visible = claimButton.includeInLayout = UserManager.getInstance().getConference().amIModerator();
+				
+				if (ownerID == "") {
+					//unclaimed text
+					inputArea.visible = inputArea.includeInLayout = false;
+					outputArea.visible = outputArea.includeInLayout = true;
+					inputArea.getInternalTextField().type = TextFieldType.DYNAMIC;
+				} else {
+					//claimed by other
+					inputArea.visible = inputArea.includeInLayout = false;
+					outputArea.visible = outputArea.includeInLayout = true;
+					inputArea.getInternalTextField().type = TextFieldType.DYNAMIC;
+				}
 			}
+			
 		}
 		
 		public function setFontSize(fontSize:int):void {
@@ -133,8 +169,27 @@ package org.bigbluebutton.modules.caption.views {
 			outputArea.setStyle("backgroundColor", color);
 		}
 		
+		private function onClaimButtonClick(e:MouseEvent):void {
+			claimTranscript(currentTranscript.locale, true);
+		}
+		
+		private function claimTranscript(locale:String, claim:Boolean):void {
+			var updateCaptionOwnerEvent:SendUpdateCaptionOwnerEvent = new SendUpdateCaptionOwnerEvent(SendUpdateCaptionOwnerEvent.SEND_UPDATE_CAPTION_OWNER_EVENT);
+			updateCaptionOwnerEvent.locale = locale;
+			updateCaptionOwnerEvent.claim = claim;
+			
+			var dispatcher:Dispatcher = new Dispatcher();
+			dispatcher.dispatchEvent(updateCaptionOwnerEvent);
+		}
+		
 		private function onTranscriptTextInput(e:TextEvent):void {
-			trace("Text entered: " + e.text + ", carat begin:" + inputArea.selectionBeginIndex + ", end: " + inputArea.selectionEndIndex);
+			//trace("Text entered: " + e.text + ", carat begin:" + inputArea.selectionBeginIndex + ", end: " + inputArea.selectionEndIndex);
+			
+			if (e.text.length > _captionOptions.maxPasteLength) {
+				e.preventDefault();
+				Alert.show(ResourceUtil.getInstance().getString("bbb.caption.transcript.pastewarning.text", [_captionOptions.maxPasteLength, e.text.length]), ResourceUtil.getInstance().getString("bbb.caption.transcript.pastewarning.title"), Alert.OK);
+				return;
+			}
 			
 			// There is no surefire way to detect whether the internal TextField is in overwrite mode or not. We need to 
 			// delay sending the message until after the text changes and then check length. This extra check is only 
@@ -149,7 +204,7 @@ package org.bigbluebutton.modules.caption.views {
 		}
 		
 		private function onTranscriptTextChange(e:Event):void {
-			trace("transcript change: " + inputArea.text);
+			//trace("transcript change: " + inputArea.text);
 			
 			if (_checkForOverwrite) {
 				_checkForOverwrite = false;
@@ -222,15 +277,67 @@ package org.bigbluebutton.modules.caption.views {
 			}
 		}
 		
+		private const LEN_TO_SEND:int = 7;
+		private const REP_TO_SEND:int = 3;
+		private const TIME_TO_SEND:int = 1000;
+		
+		private var _startIndex:int = -1;
+		private var _endIndex:int = -1;
+		private var _accText:String = "";
+		
+		private var _sendTimer:Timer;
+		
 		private function respondToTextChange(t:String, si:int, ei:int):void {
+			if (_startIndex == -1) {
+				_startIndex = si;
+				_endIndex = ei;
+				_accText = t;
+			} else if (ei < _startIndex || si > _startIndex + _accText.length) {
+				// edited away from current spot
+				sendTextToServer();
+			
+				_startIndex = si;
+				_endIndex = ei;
+				_accText = t;
+			} else {
+				var tempText:String = _accText;
+				var subStart:int = si - _startIndex;
+				
+				tempText = _accText.substr(0, Math.max(subStart, 0)) + t + _accText.substr(subStart+(ei-si));
+				
+				if (ei - _startIndex > _accText.length) _endIndex += ei - _accText.length - _startIndex;
+				if (si < _startIndex) _startIndex = si;
+				_accText = tempText;
+			}
+			
+			// start/restart the timer
+			if (_sendTimer.running) _sendTimer.stop();
+			_sendTimer.start();
+			
+			// check length
+			if (_accText.length >= LEN_TO_SEND || _endIndex - _startIndex >= REP_TO_SEND) {
+				sendTextToServer();
+			}
+		}
+		
+		private function onSendTimerComplete(e:TimerEvent):void {
+			sendTextToServer();
+		}
+		
+		private function sendTextToServer():void {
 			var editHistoryEvent:SendEditCaptionHistoryEvent = new SendEditCaptionHistoryEvent(SendEditCaptionHistoryEvent.SEND_EDIT_CAPTION_HISTORY);
 			editHistoryEvent.locale = currentTranscript.locale;
-			editHistoryEvent.startIndex = si;
-			editHistoryEvent.endIndex = ei;
-			editHistoryEvent.text = t;
+			editHistoryEvent.startIndex = _startIndex;
+			editHistoryEvent.endIndex = _endIndex;
+			editHistoryEvent.text = _accText;
 			
 			var dispatcher:Dispatcher = new Dispatcher();
 			dispatcher.dispatchEvent(editHistoryEvent);
+			
+			// reset variables after sending
+			_startIndex = -1;
+			_endIndex = -1;
+			_accText = "";
 		}
 	}
 }
diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/managers/PublishWindowManager.as b/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/managers/PublishWindowManager.as
index d446b5cdf7e15c7a0ddaa11487f13a4238105afb..317b128a63eeb97c6494dc83578cf5d9c9f36395 100755
--- a/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/managers/PublishWindowManager.as
+++ b/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/managers/PublishWindowManager.as
@@ -1,100 +1,97 @@
-/**
-* BigBlueButton open source conferencing system - http://www.bigbluebutton.org/
-* 
-* Copyright (c) 2012 BigBlueButton Inc. and by respective authors (see below).
-*
-* This program is free software; you can redistribute it and/or modify it under the
-* terms of the GNU Lesser General Public License as published by the Free Software
-* Foundation; either version 3.0 of the License, or (at your option) any later
-* version.
-* 
-* BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY
-* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-* PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public License along
-* with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
-*
-*/
-
-package org.bigbluebutton.modules.screenshare.managers
-{
-	import com.asfusion.mate.events.Dispatcher;
-	
-	import flash.events.TimerEvent;
-	import flash.utils.Timer;
-	
-	import org.as3commons.logging.api.ILogger;
-	import org.as3commons.logging.api.getClassLogger;
-	import org.bigbluebutton.common.IBbbModuleWindow;
-	import org.bigbluebutton.common.LogUtil;
-	import org.bigbluebutton.common.events.CloseWindowEvent;
-	import org.bigbluebutton.common.events.OpenWindowEvent;
-	import org.bigbluebutton.modules.screenshare.services.ScreenshareService;
-	import org.bigbluebutton.modules.screenshare.view.components.ScreensharePublishWindow;
-			
-	public class PublishWindowManager {		
-    private static const LOGGER:ILogger = getClassLogger(PublishWindowManager);
-    
-		private var shareWindow:ScreensharePublishWindow;
-		private var globalDispatcher:Dispatcher;
-		private var service:ScreenshareService;
-		private var buttonShownOnToolbar:Boolean = false;
-		
-		// Timer to auto-publish webcam. We need this timer to delay
-		// the auto-publishing until after the Viewers's window has loaded
-		// to receive the publishing events. Otherwise, the user joining next
-		// won't be able to view the webcam.
-		private var autoPublishTimer:Timer;
-		
-
-    
-		public function PublishWindowManager(service:ScreenshareService) {
-      LOGGER.debug("PublishWindowManager init");
-			globalDispatcher = new Dispatcher();
-			this.service = service;
-		}
-					
-		public function stopSharing():void {
-			if (shareWindow != null) shareWindow.stopSharing();
-		}
-																			
-		public function startSharing(uri:String, room:String, autoStart:Boolean, autoFullScreen:Boolean):void {
-      LOGGER.debug("DS:PublishWindowManager::opening desk share window, autostart=" + autoStart + " autoFullScreen=" + autoFullScreen);
-			shareWindow = new ScreensharePublishWindow();
-			shareWindow.initWindow(service.getConnection(), uri, room, autoStart, autoFullScreen);
-			shareWindow.visible = true;
-			openWindow(shareWindow);
-			if (autoStart || autoFullScreen) {
-				/*
-				* Need to have a timer to trigger auto-publishing of deskshare.
-				*/
-				shareWindow.btnFSPublish.enabled = false;
-				shareWindow.btnRegionPublish.enabled = false;
-				autoPublishTimer = new Timer(2000, 1);
-				autoPublishTimer.addEventListener(TimerEvent.TIMER, autopublishTimerHandler);
-				autoPublishTimer.start();
-			}			
-		}
-		
-		private function autopublishTimerHandler(event:TimerEvent):void {				
-			shareWindow.shareScreen(true);
-		}
-		
-		public function handleShareWindowCloseEvent():void {
-			closeWindow(shareWindow);
-		}
-		
-		private function openWindow(window:IBbbModuleWindow):void {				
-			var event:OpenWindowEvent = new OpenWindowEvent(OpenWindowEvent.OPEN_WINDOW_EVENT);
-			event.window = window;
-			globalDispatcher.dispatchEvent(event);
-		}
-					
-		private function closeWindow(window:IBbbModuleWindow):void {
-			var event:CloseWindowEvent = new CloseWindowEvent(CloseWindowEvent.CLOSE_WINDOW_EVENT);
-			event.window = window;
-			globalDispatcher.dispatchEvent(event);
-		}
-	}
+/**
+ * BigBlueButton open source conferencing system - http://www.bigbluebutton.org/
+ *
+ * Copyright (c) 2012 BigBlueButton Inc. and by respective authors (see below).
+ *
+ * This program is free software; you can redistribute it and/or modify it under the
+ * terms of the GNU Lesser General Public License as published by the Free Software
+ * Foundation; either version 3.0 of the License, or (at your option) any later
+ * version.
+ *
+ * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License along
+ * with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+package org.bigbluebutton.modules.screenshare.managers {
+    import com.asfusion.mate.events.Dispatcher;
+    
+    import flash.events.TimerEvent;
+    import flash.utils.Timer;
+    
+    import org.as3commons.logging.api.ILogger;
+    import org.as3commons.logging.api.getClassLogger;
+    import org.bigbluebutton.common.IBbbModuleWindow;
+    import org.bigbluebutton.common.LogUtil;
+    import org.bigbluebutton.common.events.CloseWindowEvent;
+    import org.bigbluebutton.common.events.OpenWindowEvent;
+    import org.bigbluebutton.modules.screenshare.services.ScreenshareService;
+    import org.bigbluebutton.modules.screenshare.view.components.ScreensharePublishWindow;
+    
+    public class PublishWindowManager {
+        private static const LOGGER:ILogger = getClassLogger(PublishWindowManager);
+        
+        private var shareWindow:ScreensharePublishWindow;
+        private var globalDispatcher:Dispatcher;
+        private var service:ScreenshareService;
+        private var buttonShownOnToolbar:Boolean = false;
+        
+        // Timer to auto-publish webcam. We need this timer to delay
+        // the auto-publishing until after the Viewers's window has loaded
+        // to receive the publishing events. Otherwise, the user joining next
+        // won't be able to view the webcam.
+        private var autoPublishTimer:Timer;
+        
+        public function PublishWindowManager(service:ScreenshareService) {
+            LOGGER.debug("PublishWindowManager init");
+            globalDispatcher = new Dispatcher();
+            this.service = service;
+        }
+        
+        public function stopSharing():void {
+            if (shareWindow != null) shareWindow.stopSharing();
+        }
+        
+        public function startSharing(uri:String, room:String, autoStart:Boolean, autoFullScreen:Boolean):void {
+            LOGGER.debug("DS:PublishWindowManager::opening desk share window, autostart=" + autoStart + " autoFullScreen=" + autoFullScreen);
+            shareWindow = new ScreensharePublishWindow();
+            shareWindow.initWindow(service.getConnection(), uri, room, autoStart, autoFullScreen);
+            shareWindow.visible = true;
+            openWindow(shareWindow);
+            if (autoStart || autoFullScreen) {
+                /*
+                 * Need to have a timer to trigger auto-publishing of deskshare.
+                 */
+                shareWindow.btnFSPublish.enabled = false;
+                shareWindow.btnRegionPublish.enabled = false;
+                autoPublishTimer = new Timer(2000, 1);
+                autoPublishTimer.addEventListener(TimerEvent.TIMER, autopublishTimerHandler);
+                autoPublishTimer.start();
+            }
+        }
+        
+        private function autopublishTimerHandler(event:TimerEvent):void {
+            shareWindow.shareScreen(true);
+        }
+        
+        public function handleShareWindowCloseEvent():void {
+            closeWindow(shareWindow);
+        }
+        
+        private function openWindow(window:IBbbModuleWindow):void {
+            var event:OpenWindowEvent = new OpenWindowEvent(OpenWindowEvent.OPEN_WINDOW_EVENT);
+            event.window = window;
+            globalDispatcher.dispatchEvent(event);
+        }
+        
+        private function closeWindow(window:IBbbModuleWindow):void {
+            var event:CloseWindowEvent = new CloseWindowEvent(CloseWindowEvent.CLOSE_WINDOW_EVENT);
+            event.window = window;
+            globalDispatcher.dispatchEvent(event);
+        }
+    }
 }
\ No newline at end of file
diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/managers/ScreenshareManager.as b/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/managers/ScreenshareManager.as
index fba9acc3d03f00886fee2daba884bdc4f0725aec..45a876e560679dfedcbff9acd503aefa004a2863 100755
--- a/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/managers/ScreenshareManager.as
+++ b/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/managers/ScreenshareManager.as
@@ -1,206 +1,194 @@
-/**
-* BigBlueButton open source conferencing system - http://www.bigbluebutton.org/
-* 
-* Copyright (c) 2012 BigBlueButton Inc. and by respective authors (see below).
-*
-* This program is free software; you can redistribute it and/or modify it under the
-* terms of the GNU Lesser General Public License as published by the Free Software
-* Foundation; either version 3.0 of the License, or (at your option) any later
-* version.
-* 
-* BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY
-* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-* PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public License along
-* with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
-*
-*/
-
-package org.bigbluebutton.modules.screenshare.managers
-{
-	import com.asfusion.mate.events.Dispatcher;
-	import org.as3commons.logging.api.ILogger;
-	import org.as3commons.logging.api.getClassLogger;
-	import org.bigbluebutton.core.UsersUtil;
-	import org.bigbluebutton.main.events.MadePresenterEvent;
-	import org.bigbluebutton.modules.screenshare.events.IsSharingScreenEvent;
-	import org.bigbluebutton.modules.screenshare.events.ShareStartRequestResponseEvent;
-	import org.bigbluebutton.modules.screenshare.events.StartShareRequestFailedEvent;
-	import org.bigbluebutton.modules.screenshare.events.StartShareRequestSuccessEvent;
-	import org.bigbluebutton.modules.screenshare.events.StreamStartedEvent;
-	import org.bigbluebutton.modules.screenshare.events.ViewStreamEvent;
-	import org.bigbluebutton.modules.screenshare.model.ScreenshareModel;
-	import org.bigbluebutton.modules.screenshare.model.ScreenshareOptions;
-	import org.bigbluebutton.modules.screenshare.services.ScreenshareService;
-			
-	public class ScreenshareManager {		
-    private static const LOGGER:ILogger = getClassLogger(ScreenshareManager);
-    
-		private var publishWindowManager:PublishWindowManager;
-		private var viewWindowManager:ViewerWindowManager;
-		private var toolbarButtonManager:ToolbarButtonManager;
-		private var module:ScreenshareModule;
-		private var service:ScreenshareService;
-		private var globalDispatcher:Dispatcher;
-		private var sharing:Boolean = false;
-   
-		public function ScreenshareManager() {
-			service = new ScreenshareService();
-			globalDispatcher = new Dispatcher();
-			publishWindowManager = new PublishWindowManager(service);
-			viewWindowManager = new ViewerWindowManager(service);	
-			toolbarButtonManager = new ToolbarButtonManager();		
-		}
-		
-		public function handleStartModuleEvent(module:ScreenshareModule):void {
-      LOGGER.debug("Screenshare Module starting");
-			this.module = module;			
-			service.handleStartModuleEvent(module);
-      
-      if (UsersUtil.amIPresenter()) {
-        initDeskshare();
-      }      
-		}
-		
-		public function handleStopModuleEvent():void {
-      LOGGER.debug("Screenshare Module stopping");
-			publishWindowManager.stopSharing();
-			viewWindowManager.stopViewing();		
-			service.disconnect();
-		}
-		
-    public function handleConnectionSuccessEvent():void {
-      LOGGER.debug("handle Connection Success Event");
-      service.checkIfPresenterIsSharingScreen();  
-    }
-    
-    public function handleStreamStoppedEvent():void {
-      LOGGER.debug("Sending deskshare stopped command");
-      service.stopSharingDesktop(module.getRoom(), module.getRoom());
-    }
-    
-		public function handleStreamStartedEvent(event: StreamStartedEvent):void {
-      ScreenshareModel.getInstance().streamId = event.streamId;
-      ScreenshareModel.getInstance().width = event.width;
-      ScreenshareModel.getInstance().height = event.height;
-      ScreenshareModel.getInstance().url = event.url;
-      
-      if (UsersUtil.amIPresenter()) {
-//        var dispatcher:Dispatcher = new Dispatcher();
-//        dispatcher.dispatchEvent(new ViewStreamEvent(ViewStreamEvent.START));        
-      } else {
-        handleStreamStartEvent(ScreenshareModel.getInstance().streamId, event.width, event.height);
-      }
-      
-      var dispatcher:Dispatcher = new Dispatcher();
-      dispatcher.dispatchEvent(new ViewStreamEvent(ViewStreamEvent.START));
-		}
-
-		public function handleIsSharingScreenEvent(event: IsSharingScreenEvent):void {
-			ScreenshareModel.getInstance().streamId = event.streamId;
-			ScreenshareModel.getInstance().width = event.width;
-			ScreenshareModel.getInstance().height = event.height;
-			ScreenshareModel.getInstance().url = event.url;
-			
-			if (UsersUtil.amIPresenter()) {
-//				var dispatcher:Dispatcher = new Dispatcher();
-//				dispatcher.dispatchEvent(new ViewStreamEvent(ViewStreamEvent.START));        
-			} else {
-				handleStreamStartEvent(ScreenshareModel.getInstance().streamId, event.width, event.height);
-        
-			}
-      
-      var dispatcher:Dispatcher = new Dispatcher();
-      dispatcher.dispatchEvent(new ViewStreamEvent(ViewStreamEvent.START));  
-		}
-		
-		
-		public function handleStartedViewingEvent(stream:String):void {
-      LOGGER.debug("handleStartedViewingEvent [" + stream + "]");
-			service.sendStartedViewingNotification(stream);
-		}
-		
-    private function initDeskshare():void {
-      sharing = false;
-      var option:ScreenshareOptions = new ScreenshareOptions();
-      option.parseOptions();
-      if (option.autoStart) {
-        handleStartSharingEvent(true);
-      }
-      if(option.showButton){
-        toolbarButtonManager.addToolbarButton();
-      }      
-    }
-    
-		public function handleMadePresenterEvent(e:MadePresenterEvent):void {
-      LOGGER.debug("Got MadePresenterEvent ");
-      initDeskshare();
-		}
-		
-		public function handleMadeViewerEvent(e:MadePresenterEvent):void{
-      LOGGER.debug("Got MadeViewerEvent ");
-			toolbarButtonManager.removeToolbarButton();
-			if (sharing) {
-				service.requestStopSharing(ScreenshareModel.getInstance().streamId);
-				publishWindowManager.stopSharing();
-			}
-			sharing = false;
-		}
-		
-    public function handleRequestStartSharingEvent():void {
-      toolbarButtonManager.startedSharing();
-      var option:ScreenshareOptions = new ScreenshareOptions();
-      option.parseOptions();
-      var autoStart:Boolean = false; // harcode for now
-      publishWindowManager.startSharing(module.getCaptureServerUri(), module.getRoom(), autoStart, option.autoFullScreen);
-      sharing = true;
-      service.requestStartSharing();
-    }
-    
-    public function handleRequestStopSharingEvent():void {
-      service.requestStopSharing(ScreenshareModel.getInstance().streamId);
-    }
-    
-    public function handleShareStartRequestResponseEvent(event:ShareStartRequestResponseEvent):void {
-      LOGGER.debug("handleShareStartRequestResponseEvent");
-      var dispatcher:Dispatcher = new Dispatcher();
-      if (event.success) {
-        ScreenshareModel.getInstance().authToken = event.token;
-        ScreenshareModel.getInstance().jnlp = event.jnlp;
-        dispatcher.dispatchEvent(new StartShareRequestSuccessEvent(ScreenshareModel.getInstance().authToken));
-      } else {
-        dispatcher.dispatchEvent(new StartShareRequestFailedEvent());        
-      }
-    }
-    
-		public function handleStartSharingEvent(autoStart:Boolean):void {
-      LOGGER.debug("handleStartSharingEvent");
-			//toolbarButtonManager.disableToolbarButton();
-			toolbarButtonManager.startedSharing();
-			var option:ScreenshareOptions = new ScreenshareOptions();
-			option.parseOptions();
-			publishWindowManager.startSharing(module.getCaptureServerUri(), module.getRoom(), autoStart, option.autoFullScreen);
-			sharing = true;
-		}
-		
-		public function handleShareWindowCloseEvent():void {
-			//toolbarButtonManager.enableToolbarButton();
-			publishWindowManager.handleShareWindowCloseEvent();
-			sharing = false;
-			toolbarButtonManager.stopedSharing();
-		}
-					
-		public function handleViewWindowCloseEvent():void {
-      LOGGER.debug("Received stop viewing command");		
-			viewWindowManager.handleViewWindowCloseEvent();		
-		}
-					
-		private function handleStreamStartEvent(streamId: String, videoWidth:Number, videoHeight:Number):void{
-      LOGGER.debug("Received start vieweing command");
-			viewWindowManager.startViewing(streamId, videoWidth, videoHeight);
-		}
-    
-    
-	}
-}
+/**
+ * BigBlueButton open source conferencing system - http://www.bigbluebutton.org/
+ *
+ * Copyright (c) 2012 BigBlueButton Inc. and by respective authors (see below).
+ *
+ * This program is free software; you can redistribute it and/or modify it under the
+ * terms of the GNU Lesser General Public License as published by the Free Software
+ * Foundation; either version 3.0 of the License, or (at your option) any later
+ * version.
+ *
+ * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License along
+ * with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+package org.bigbluebutton.modules.screenshare.managers {
+    import com.asfusion.mate.events.Dispatcher;
+    import org.as3commons.logging.api.ILogger;
+    import org.as3commons.logging.api.getClassLogger;
+    import org.bigbluebutton.core.UsersUtil;
+    import org.bigbluebutton.main.events.MadePresenterEvent;
+    import org.bigbluebutton.modules.screenshare.events.IsSharingScreenEvent;
+    import org.bigbluebutton.modules.screenshare.events.ShareStartRequestResponseEvent;
+    import org.bigbluebutton.modules.screenshare.events.StartShareRequestFailedEvent;
+    import org.bigbluebutton.modules.screenshare.events.StartShareRequestSuccessEvent;
+    import org.bigbluebutton.modules.screenshare.events.StreamStartedEvent;
+    import org.bigbluebutton.modules.screenshare.events.ViewStreamEvent;
+    import org.bigbluebutton.modules.screenshare.model.ScreenshareModel;
+    import org.bigbluebutton.modules.screenshare.model.ScreenshareOptions;
+    import org.bigbluebutton.modules.screenshare.services.ScreenshareService;
+    
+    public class ScreenshareManager {
+        private static const LOGGER:ILogger = getClassLogger(ScreenshareManager);
+        
+        private var publishWindowManager:PublishWindowManager;
+        private var viewWindowManager:ViewerWindowManager;
+        private var toolbarButtonManager:ToolbarButtonManager;
+        private var module:ScreenshareModule;
+        private var service:ScreenshareService;
+        private var globalDispatcher:Dispatcher;
+        private var sharing:Boolean = false;
+        
+        public function ScreenshareManager() {
+            service = new ScreenshareService();
+            globalDispatcher = new Dispatcher();
+            publishWindowManager = new PublishWindowManager(service);
+            viewWindowManager = new ViewerWindowManager(service);
+            toolbarButtonManager = new ToolbarButtonManager();
+        }
+        
+        public function handleStartModuleEvent(module:ScreenshareModule):void {
+            LOGGER.debug("Screenshare Module starting");
+            this.module = module;
+            service.handleStartModuleEvent(module);
+            
+            if (UsersUtil.amIPresenter()) {
+                initDeskshare();
+            }
+        }
+        
+        public function handleStopModuleEvent():void {
+            LOGGER.debug("Screenshare Module stopping");
+            publishWindowManager.stopSharing();
+            viewWindowManager.stopViewing();
+            service.disconnect();
+        }
+        
+        public function handleConnectionSuccessEvent():void {
+            LOGGER.debug("handle Connection Success Event");
+            service.checkIfPresenterIsSharingScreen();
+        }
+               
+        public function handleStreamStartedEvent(event:StreamStartedEvent):void {
+            ScreenshareModel.getInstance().streamId = event.streamId;
+            ScreenshareModel.getInstance().width = event.width;
+            ScreenshareModel.getInstance().height = event.height;
+            ScreenshareModel.getInstance().url = event.url;
+            
+            if (UsersUtil.amIPresenter()) {
+                //        var dispatcher:Dispatcher = new Dispatcher();
+                //        dispatcher.dispatchEvent(new ViewStreamEvent(ViewStreamEvent.START));        
+            } else {
+                handleStreamStartEvent(ScreenshareModel.getInstance().streamId, event.width, event.height);
+            }
+            
+            var dispatcher:Dispatcher = new Dispatcher();
+            dispatcher.dispatchEvent(new ViewStreamEvent(ViewStreamEvent.START));
+        }
+        
+        public function handleIsSharingScreenEvent(event:IsSharingScreenEvent):void {
+            ScreenshareModel.getInstance().streamId = event.streamId;
+            ScreenshareModel.getInstance().width = event.width;
+            ScreenshareModel.getInstance().height = event.height;
+            ScreenshareModel.getInstance().url = event.url;
+            
+            if (UsersUtil.amIPresenter()) {
+                //				var dispatcher:Dispatcher = new Dispatcher();
+                //				dispatcher.dispatchEvent(new ViewStreamEvent(ViewStreamEvent.START));        
+            } else {
+                handleStreamStartEvent(ScreenshareModel.getInstance().streamId, event.width, event.height);
+                
+            }
+            
+            var dispatcher:Dispatcher = new Dispatcher();
+            dispatcher.dispatchEvent(new ViewStreamEvent(ViewStreamEvent.START));
+        }
+        
+        
+        private function initDeskshare():void {
+            sharing = false;
+            var option:ScreenshareOptions = new ScreenshareOptions();
+            option.parseOptions();
+            if (option.autoStart) {
+                handleStartSharingEvent(true);
+            }
+            if (option.showButton) {
+                toolbarButtonManager.addToolbarButton();
+            }
+        }
+        
+        public function handleMadePresenterEvent(e:MadePresenterEvent):void {
+            LOGGER.debug("Got MadePresenterEvent ");
+            initDeskshare();
+        }
+        
+        public function handleMadeViewerEvent(e:MadePresenterEvent):void {
+            LOGGER.debug("Got MadeViewerEvent ");
+            toolbarButtonManager.removeToolbarButton();
+            if (sharing) {
+                service.requestStopSharing(ScreenshareModel.getInstance().streamId);
+                publishWindowManager.stopSharing();
+            }
+            sharing = false;
+        }
+        
+        public function handleRequestStartSharingEvent():void {
+            toolbarButtonManager.startedSharing();
+            var option:ScreenshareOptions = new ScreenshareOptions();
+            option.parseOptions();
+            var autoStart:Boolean = false; // harcode for now
+            publishWindowManager.startSharing(module.getCaptureServerUri(), module.getRoom(), autoStart, option.autoFullScreen);
+            sharing = true;
+            service.requestStartSharing();
+        }
+        
+        public function handleRequestStopSharingEvent():void {
+            service.requestStopSharing(ScreenshareModel.getInstance().streamId);
+        }
+        
+        public function handleShareStartRequestResponseEvent(event:ShareStartRequestResponseEvent):void {
+            LOGGER.debug("handleShareStartRequestResponseEvent");
+            var dispatcher:Dispatcher = new Dispatcher();
+            if (event.success) {
+                ScreenshareModel.getInstance().authToken = event.token;
+                ScreenshareModel.getInstance().jnlp = event.jnlp;
+                dispatcher.dispatchEvent(new StartShareRequestSuccessEvent(ScreenshareModel.getInstance().authToken));
+            } else {
+                dispatcher.dispatchEvent(new StartShareRequestFailedEvent());
+            }
+        }
+        
+        public function handleStartSharingEvent(autoStart:Boolean):void {
+            LOGGER.debug("handleStartSharingEvent");
+            //toolbarButtonManager.disableToolbarButton();
+            toolbarButtonManager.startedSharing();
+            var option:ScreenshareOptions = new ScreenshareOptions();
+            option.parseOptions();
+            publishWindowManager.startSharing(module.getCaptureServerUri(), module.getRoom(), autoStart, option.autoFullScreen);
+            sharing = true;
+        }
+        
+        public function handleShareWindowCloseEvent():void {
+            //toolbarButtonManager.enableToolbarButton();
+            publishWindowManager.handleShareWindowCloseEvent();
+            sharing = false;
+            toolbarButtonManager.stopedSharing();
+        }
+        
+        public function handleViewWindowCloseEvent():void {
+            LOGGER.debug("Received stop viewing command");
+            viewWindowManager.handleViewWindowCloseEvent();
+        }
+        
+        private function handleStreamStartEvent(streamId:String, videoWidth:Number, videoHeight:Number):void {
+            LOGGER.debug("Received start vieweing command");
+            viewWindowManager.startViewing(streamId, videoWidth, videoHeight);
+        }
+    
+    }
+}
diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/managers/ViewerWindowManager.as b/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/managers/ViewerWindowManager.as
index fd4f3b428fdf7823a7806466771d880a5ddaeb2c..09e9d40c9d71b5d14d98ea180898dbff1c13f312 100755
--- a/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/managers/ViewerWindowManager.as
+++ b/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/managers/ViewerWindowManager.as
@@ -1,82 +1,77 @@
-/**
-* BigBlueButton open source conferencing system - http://www.bigbluebutton.org/
-* 
-* Copyright (c) 2012 BigBlueButton Inc. and by respective authors (see below).
-*
-* This program is free software; you can redistribute it and/or modify it under the
-* terms of the GNU Lesser General Public License as published by the Free Software
-* Foundation; either version 3.0 of the License, or (at your option) any later
-* version.
-* 
-* BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY
-* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-* PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public License along
-* with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
-*
-*/
-
-package org.bigbluebutton.modules.screenshare.managers
-{
-	import com.asfusion.mate.events.Dispatcher;
-	
-	import org.as3commons.logging.api.ILogger;
-	import org.as3commons.logging.api.getClassLogger;
-	import org.bigbluebutton.common.IBbbModuleWindow;
-	import org.bigbluebutton.common.LogUtil;
-	import org.bigbluebutton.common.events.CloseWindowEvent;
-	import org.bigbluebutton.common.events.OpenWindowEvent;
-	import org.bigbluebutton.modules.screenshare.services.ScreenshareService;
-	import org.bigbluebutton.modules.screenshare.view.components.ScreenshareViewWindow;
-			
-	public class ViewerWindowManager {		
-    private static const LOGGER:ILogger = getClassLogger(ViewerWindowManager);
-    
-		private var viewWindow:ScreenshareViewWindow;
-		private var service:ScreenshareService;
-		private var isViewing:Boolean = false;
-		private var globalDispatcher:Dispatcher;
-		
-		public function ViewerWindowManager(service:ScreenshareService) {
-			this.service = service;
-			globalDispatcher = new Dispatcher();
-		}
-					
-		public function stopViewing():void {
-			if (isViewing) viewWindow.stopViewing();
-		}
-				
-		public function handleStartedViewingEvent(stream:String):void{
-      LOGGER.debug("ViewerWindowManager handleStartedViewingEvent");
-			service.sendStartedViewingNotification(stream);
-		}
-						
-		private function openWindow(window:IBbbModuleWindow):void{				
-			var event:OpenWindowEvent = new OpenWindowEvent(OpenWindowEvent.OPEN_WINDOW_EVENT);
-			event.window = window;
-			globalDispatcher.dispatchEvent(event);
-		}
-			
-		public function handleViewWindowCloseEvent():void {
-      LOGGER.debug("ViewerWindowManager Received stop viewing command");				
-			closeWindow(viewWindow);
-			isViewing = false;	
-		}
-		
-		private function closeWindow(window:IBbbModuleWindow):void {
-			var event:CloseWindowEvent = new CloseWindowEvent(CloseWindowEvent.CLOSE_WINDOW_EVENT);
-			event.window = window;
-			globalDispatcher.dispatchEvent(event);
-		}
-			
-		public function startViewing(streamId:String, videoWidth:Number, videoHeight:Number):void{
-      LOGGER.debug("ViewerWindowManager::startViewing");
-			viewWindow = new ScreenshareViewWindow();
-			viewWindow.startVideo(service.getConnection());
-      openWindow(viewWindow);
-      
-			isViewing = true;
-		}
-	}
+/**
+ * BigBlueButton open source conferencing system - http://www.bigbluebutton.org/
+ *
+ * Copyright (c) 2012 BigBlueButton Inc. and by respective authors (see below).
+ *
+ * This program is free software; you can redistribute it and/or modify it under the
+ * terms of the GNU Lesser General Public License as published by the Free Software
+ * Foundation; either version 3.0 of the License, or (at your option) any later
+ * version.
+ *
+ * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License along
+ * with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+package org.bigbluebutton.modules.screenshare.managers {
+    import com.asfusion.mate.events.Dispatcher;
+    
+    import org.as3commons.logging.api.ILogger;
+    import org.as3commons.logging.api.getClassLogger;
+    import org.bigbluebutton.common.IBbbModuleWindow;
+    import org.bigbluebutton.common.LogUtil;
+    import org.bigbluebutton.common.events.CloseWindowEvent;
+    import org.bigbluebutton.common.events.OpenWindowEvent;
+    import org.bigbluebutton.modules.screenshare.services.ScreenshareService;
+    import org.bigbluebutton.modules.screenshare.view.components.ScreenshareViewWindow;
+    
+    public class ViewerWindowManager {
+        private static const LOGGER:ILogger = getClassLogger(ViewerWindowManager);
+        
+        private var viewWindow:ScreenshareViewWindow;
+        private var service:ScreenshareService;
+        private var isViewing:Boolean = false;
+        private var globalDispatcher:Dispatcher;
+        
+        public function ViewerWindowManager(service:ScreenshareService) {
+            this.service = service;
+            globalDispatcher = new Dispatcher();
+        }
+        
+        public function stopViewing():void {
+            if (isViewing) viewWindow.stopViewing();
+        }
+        
+        
+        private function openWindow(window:IBbbModuleWindow):void {
+            var event:OpenWindowEvent = new OpenWindowEvent(OpenWindowEvent.OPEN_WINDOW_EVENT);
+            event.window = window;
+            globalDispatcher.dispatchEvent(event);
+        }
+        
+        public function handleViewWindowCloseEvent():void {
+            LOGGER.debug("ViewerWindowManager Received stop viewing command");
+            closeWindow(viewWindow);
+            isViewing = false;
+        }
+        
+        private function closeWindow(window:IBbbModuleWindow):void {
+            var event:CloseWindowEvent = new CloseWindowEvent(CloseWindowEvent.CLOSE_WINDOW_EVENT);
+            event.window = window;
+            globalDispatcher.dispatchEvent(event);
+        }
+        
+        public function startViewing(streamId:String, videoWidth:Number, videoHeight:Number):void {
+            LOGGER.debug("ViewerWindowManager::startViewing");
+            viewWindow = new ScreenshareViewWindow();
+            viewWindow.startVideo(service.getConnection());
+            openWindow(viewWindow);
+            
+            isViewing = true;
+        }
+    }
 }
\ No newline at end of file
diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/maps/ScreenshareEventMap.mxml b/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/maps/ScreenshareEventMap.mxml
index 617f6d9726a3c642b922b2b1495e89ca54c6845c..18c42c875a842072d5ec31def8cacddeb85890a2 100755
--- a/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/maps/ScreenshareEventMap.mxml
+++ b/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/maps/ScreenshareEventMap.mxml
@@ -84,10 +84,6 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
 		<MethodInvoker generator="{ScreenshareManager}" method="handleStreamStartedEvent" arguments="{event}"/>
 	</EventHandlers>
 
-	<EventHandlers type="{StreamEvent.STOP}" >
-		<MethodInvoker generator="{ScreenshareManager}" method="handleStreamStoppedEvent"/>
-	</EventHandlers>
-
 	<EventHandlers type="{IsSharingScreenEvent.IS_SCREENSHARING}">
 		<MethodInvoker generator="{ScreenshareManager}" method="handleIsSharingScreenEvent" arguments="{event}"/>
 	</EventHandlers>
@@ -101,9 +97,6 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
     <MethodInvoker generator="{ScreenshareManager}" method="handleConnectionSuccessEvent"/>
   </EventHandlers>
   
-	<EventHandlers type="{StartedViewingEvent.STARTED_VIEWING_EVENT}">		
-		<MethodInvoker generator="{ScreenshareManager}" method="handleStartedViewingEvent" arguments="{event.stream}"/>
-	</EventHandlers>
 		
 	<EventHandlers type="{ViewWindowEvent.CLOSE}">
 		<MethodInvoker generator="{ScreenshareManager}" 	method="handleViewWindowCloseEvent"/>
diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/model/ScreenshareModel.as b/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/model/ScreenshareModel.as
index 3a9c75d1780d539f74ac52a4c0af7b60d74551fb..9ded63b630f9d3d1aae0342fbf0a7b2295ab9098 100755
--- a/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/model/ScreenshareModel.as
+++ b/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/model/ScreenshareModel.as
@@ -1,79 +1,78 @@
-package org.bigbluebutton.modules.screenshare.model
-{
-  public class ScreenshareModel
-  {
-    
-    private static var instance:ScreenshareModel = null;
-    
-    private var _isScreenSharing:Boolean = false;
-    private var _stream: ScreenshareStream = new ScreenshareStream();
-
-	
-    public function ScreenshareModel(enforcer:SingletonEnforcer) {
-      if (enforcer == null){
-        throw new Error("There can only be 1 ScreenshareModel instance");
-      }
-    }
-    
-    public static function getInstance():ScreenshareModel{
-      if (instance == null){
-        instance = new ScreenshareModel(new SingletonEnforcer());
-      }
-      return instance;
-    }
-    
-    public function get isSharing():Boolean {
-      return _isScreenSharing;
-    }
-    
-    public function get width():int {
-      return _stream.width;
-    }
-   
-    public function set width(w: int):void {
-      _stream.width = w;
-    }
-    
-    public function get height():int {
-      return _stream.height;
-    }
-    
-    public function set height(h: int):void {
-      _stream.height = h;
-    }
-    
-    public function get url():String {
-      return _stream.url;
-    }
-    
-    public function set url(u: String):void {
-      _stream.url = u;
-    }
-    
-    public function get streamId():String {
-      return _stream.streamId;
-    }
-    
-    public function set streamId(s: String):void {
-      _stream.streamId = s;
-    }
-  
-    public function get authToken():String {
-      return _stream.authToken;
-    }
-    
-    public function set authToken(token:String):void {
-      _stream.authToken = token;
-    }
-    
-    public function get jnlp():String {
-      return _stream.jnlp;
-    }
-    
-    public function set jnlp(j:String):void {
-      _stream.jnlp = j;
-    }
-  }
-}
-
-class SingletonEnforcer{}
\ No newline at end of file
+package org.bigbluebutton.modules.screenshare.model {
+    
+    public class ScreenshareModel {
+        
+        private static var instance:ScreenshareModel = null;
+        
+        private var _isScreenSharing:Boolean = false;
+        private var _stream:ScreenshareStream = new ScreenshareStream();
+        
+        public function ScreenshareModel(enforcer:SingletonEnforcer) {
+            if (enforcer == null) {
+                throw new Error("There can only be 1 ScreenshareModel instance");
+            }
+        }
+        
+        public static function getInstance():ScreenshareModel {
+            if (instance == null) {
+                instance = new ScreenshareModel(new SingletonEnforcer());
+            }
+            return instance;
+        }
+        
+        public function get isSharing():Boolean {
+            return _isScreenSharing;
+        }
+        
+        public function get width():int {
+            return _stream.width;
+        }
+        
+        public function set width(w:int):void {
+            _stream.width = w;
+        }
+        
+        public function get height():int {
+            return _stream.height;
+        }
+        
+        public function set height(h:int):void {
+            _stream.height = h;
+        }
+        
+        public function get url():String {
+            return _stream.url;
+        }
+        
+        public function set url(u:String):void {
+            _stream.url = u;
+        }
+        
+        public function get streamId():String {
+            return _stream.streamId;
+        }
+        
+        public function set streamId(s:String):void {
+            _stream.streamId = s;
+        }
+        
+        public function get authToken():String {
+            return _stream.authToken;
+        }
+        
+        public function set authToken(token:String):void {
+            _stream.authToken = token;
+        }
+        
+        public function get jnlp():String {
+            return _stream.jnlp;
+        }
+        
+        public function set jnlp(j:String):void {
+            _stream.jnlp = j;
+        }
+    }
+}
+
+class SingletonEnforcer {
+}
\ No newline at end of file
diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/services/ScreenshareService.as b/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/services/ScreenshareService.as
index bf094fe82306d3354a4b4030f94aa14c0ca308b5..d031dfa8701207cf29adf53da4aacac7b20d1769 100755
--- a/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/services/ScreenshareService.as
+++ b/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/services/ScreenshareService.as
@@ -1,107 +1,93 @@
 /**
-* BigBlueButton open source conferencing system - http://www.bigbluebutton.org/
-* 
-* Copyright (c) 2012 BigBlueButton Inc. and by respective authors (see below).
-*
-* This program is free software; you can redistribute it and/or modify it under the
-* terms of the GNU Lesser General Public License as published by the Free Software
-* Foundation; either version 3.0 of the License, or (at your option) any later
-* version.
-* 
-* BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY
-* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-* PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public License along
-* with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
-*
-*/
-package org.bigbluebutton.modules.screenshare.services
-{
-	import com.asfusion.mate.events.Dispatcher;
-	
-	import flash.net.NetConnection;
-  import org.as3commons.logging.api.ILogger;
-  import org.as3commons.logging.api.getClassLogger;
-	import org.bigbluebutton.core.UsersUtil;
-	import org.bigbluebutton.modules.screenshare.services.red5.Connection;
-	
-	/**
-	 * The DeskShareProxy communicates with the Red5 deskShare server application 
-	 * @author Snap
-	 * 
-	 */	
-	public class ScreenshareService
-	{	
-    private static const LOG:String = "SC::ScreenshareService - ";	
-    private static const LOGGER:ILogger = getClassLogger(ScreenshareService);
+ * BigBlueButton open source conferencing system - http://www.bigbluebutton.org/
+ *
+ * Copyright (c) 2012 BigBlueButton Inc. and by respective authors (see below).
+ *
+ * This program is free software; you can redistribute it and/or modify it under the
+ * terms of the GNU Lesser General Public License as published by the Free Software
+ * Foundation; either version 3.0 of the License, or (at your option) any later
+ * version.
+ *
+ * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License along
+ * with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package org.bigbluebutton.modules.screenshare.services {
+    import com.asfusion.mate.events.Dispatcher;
     
-		private var conn:Connection;
-
-		private var module:ScreenshareModule;
-		private var dispatcher:Dispatcher;
-		
-
-		private var uri:String;
-		private var room:String;
-    private var sender: MessageSender;
-    private var receiver: MessageReceiver;
+    import flash.net.NetConnection;
+    import org.as3commons.logging.api.ILogger;
+    import org.as3commons.logging.api.getClassLogger;
+    import org.bigbluebutton.core.UsersUtil;
+    import org.bigbluebutton.modules.screenshare.services.red5.Connection;
     
-		public function ScreenshareService() {
-			this.dispatcher = new Dispatcher();			
-		}
-		
-		public function handleStartModuleEvent(module:ScreenshareModule):void {
-      LOGGER.debug("Screenshare Module starting");
-			this.module = module;			
-			connect(module.uri, module.getRoom());
-		}
-		
-		public function connect(uri:String, room:String):void {
-			this.uri = uri;
-      this.room = room;
-      LOGGER.debug("Screenshare Service connecting to " + uri);
-			conn = new Connection(room);
-
-      sender = new MessageSender(conn);
-      receiver = new MessageReceiver(conn);
-      
-			conn.setURI(uri);
-			conn.connect();		
-		}
-			
-    public function getConnection():NetConnection{
-      return conn.getConnection();
+    /**
+     * The DeskShareProxy communicates with the Red5 deskShare server application
+     * @author Snap
+     *
+     */
+    public class ScreenshareService {
+        private static const LOG:String = "SC::ScreenshareService - ";
+        private static const LOGGER:ILogger = getClassLogger(ScreenshareService);
+        
+        private var conn:Connection;
+        
+        private var module:ScreenshareModule;
+        private var dispatcher:Dispatcher;
+        
+        private var uri:String;
+        private var room:String;
+        private var sender:MessageSender;
+        private var receiver:MessageReceiver;
+        
+        public function ScreenshareService() {
+            this.dispatcher = new Dispatcher();
+        }
+        
+        public function handleStartModuleEvent(module:ScreenshareModule):void {
+            LOGGER.debug("Screenshare Module starting");
+            this.module = module;
+            connect(module.uri, module.getRoom());
+        }
+        
+        public function connect(uri:String, room:String):void {
+            this.uri = uri;
+            this.room = room;
+            LOGGER.debug("Screenshare Service connecting to " + uri);
+            conn = new Connection(room);
+            
+            sender = new MessageSender(conn);
+            receiver = new MessageReceiver(conn);
+            
+            conn.setURI(uri);
+            conn.connect();
+        }
+        
+        public function getConnection():NetConnection {
+            return conn.getConnection();
+        }
+        
+        public function disconnect():void {
+            conn.disconnect();
+        }
+        
+        public function checkIfPresenterIsSharingScreen():void {
+            LOGGER.debug("check if presenter is sharing screen");
+            sender.isScreenSharing(UsersUtil.getInternalMeetingID());
+        }
+        
+        public function requestStartSharing():void {
+            sender.startShareRequest(UsersUtil.getInternalMeetingID(), UsersUtil.getMyUserID(), UsersUtil.isRecorded());
+        }
+        
+        public function requestStopSharing(streamId:String):void {
+            sender.stopShareRequest(UsersUtil.getInternalMeetingID(), streamId);
+        }
+        
+            
     }
-    
-    public function disconnect():void{
-      conn.disconnect();
-    }
-    
-    public function checkIfPresenterIsSharingScreen():void {
-      LOGGER.debug("check if presenter is sharing screen");
-      sender.isScreenSharing(UsersUtil.getInternalMeetingID());
-    }
-		
-    public function requestStartSharing():void {
-      sender.startShareRequest(UsersUtil.getInternalMeetingID(), UsersUtil.getMyUserID(), UsersUtil.isRecorded());
-    }
-    
-    public function requestStopSharing(streamId: String):void {
-      sender.stopShareRequest(UsersUtil.getInternalMeetingID(), streamId);
-    }
-    
-    public function sendStartViewingNotification(captureWidth:Number, captureHeight:Number):void{
-      conn.sendStartViewingNotification(captureWidth, captureHeight);
-    }
-		
-    public function sendStartedViewingNotification(stream:String):void{
-      conn.sendStartedViewingNotification(stream);
-    }
-    
-    public function stopSharingDesktop(meetingId: String, stream: String):void {
-      conn.stopSharingDesktop(meetingId, stream);
-    }
-    
-	}
 }
\ No newline at end of file
diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/services/red5/Connection.as b/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/services/red5/Connection.as
index 68e3d1aca84e41b70f6b18d831d28ff92b4ec953..4c5719434c08e553ae07de95d92dbab4523497cb 100755
--- a/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/services/red5/Connection.as
+++ b/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/services/red5/Connection.as
@@ -1,419 +1,426 @@
 /**
-* BigBlueButton open source conferencing system - http://www.bigbluebutton.org/
-* 
-* Copyright (c) 2012 BigBlueButton Inc. and by respective authors (see below).
-*
-* This program is free software; you can redistribute it and/or modify it under the
-* terms of the GNU Lesser General Public License as published by the Free Software
-* Foundation; either version 3.0 of the License, or (at your option) any later
-* version.
-* 
-* BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY
-* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-* PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public License along
-* with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
-*
-*/
+ * BigBlueButton open source conferencing system - http://www.bigbluebutton.org/
+ *
+ * Copyright (c) 2012 BigBlueButton Inc. and by respective authors (see below).
+ *
+ * This program is free software; you can redistribute it and/or modify it under the
+ * terms of the GNU Lesser General Public License as published by the Free Software
+ * Foundation; either version 3.0 of the License, or (at your option) any later
+ * version.
+ *
+ * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License along
+ * with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
+ *
+ */
 
-package org.bigbluebutton.modules.screenshare.services.red5
-{
-	import com.asfusion.mate.events.Dispatcher;
-	import flash.events.NetStatusEvent;
-	import flash.events.SecurityErrorEvent;
-	import flash.events.TimerEvent;
-	import flash.net.NetConnection;
-	import flash.net.ObjectEncoding;
-	import flash.net.Responder;
-	import flash.net.SharedObject;
-	import flash.utils.Timer;
-	import org.as3commons.logging.api.ILogger;
-	import org.as3commons.logging.api.getClassLogger;
-	import org.bigbluebutton.common.LogUtil;
-	import org.bigbluebutton.core.UsersUtil;
-	import org.bigbluebutton.modules.screenshare.events.AppletStartedEvent;
-	import org.bigbluebutton.modules.screenshare.events.CursorEvent;
-	import org.bigbluebutton.modules.screenshare.events.ViewStreamEvent;
-
-	
-	public class Connection {
-    private static const LOGGER:ILogger = getClassLogger(Connection);
+package org.bigbluebutton.modules.screenshare.services.red5 {
+    import com.asfusion.mate.events.Dispatcher;
+    import flash.events.NetStatusEvent;
+    import flash.events.SecurityErrorEvent;
+    import flash.events.TimerEvent;
+    import flash.net.NetConnection;
+    import flash.net.ObjectEncoding;
+    import flash.net.Responder;
+    import flash.net.SharedObject;
+    import flash.utils.Timer;
+    import org.as3commons.logging.api.ILogger;
+    import org.as3commons.logging.api.getClassLogger;
+    import org.bigbluebutton.common.LogUtil;
+    import org.bigbluebutton.core.UsersUtil;
+    import org.bigbluebutton.modules.screenshare.events.AppletStartedEvent;
+    import org.bigbluebutton.modules.screenshare.events.CursorEvent;
+    import org.bigbluebutton.modules.screenshare.events.ViewStreamEvent;
+    import org.bigbluebutton.core.managers.ReconnectionManager;
+    import org.bigbluebutton.main.events.BBBEvent;
+    import org.bigbluebutton.modules.screenshare.model.ScreenshareModel;
     
-		private var netConn:NetConnection;
-		private var uri:String;
-    private const connectionTimeout:int = 5000;
-    private var retryTimer:Timer = null;
-    private var retryCount:int = 0;
-    private const MAX_RETRIES:int = 5;
-    private var deskSO:SharedObject;
-    private var responder:Responder;
-    private var width:Number;
-    private var height:Number;
-    private var meetingId:String;
-    
-    private var dispatcher:Dispatcher = new Dispatcher();    
-    private var _messageListeners:Array = new Array();
-    
-    public function Connection(meetingId:String) {
-      this.meetingId = meetingId;
-    }
-    
-		public function connect(retry:Boolean = false):void {
-      netConn = new NetConnection();
-			netConn.proxyType = "best";
-      netConn.objectEncoding = ObjectEncoding.AMF0;
-      netConn.client = this;
-      
-      netConn.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
-      netConn.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
-      
-			if (getURI().length == 0){
-        LOGGER.debug("please provide a valid URI connection string. URI Connection String missing");
-				return;
-			} else if (netConn.connected){
-        LOGGER.debug("You are already connected to " + getURI());
-				return;
-			}
-      
-      LOGGER.debug("Trying to connect to [" + getURI() + "] retry=[" + retry + "]");
-      if (! (retryCount > 0)) {
-        var ce:ConnectionEvent = new ConnectionEvent(ConnectionEvent.CONNECTING);
-        dispatcher.dispatchEvent(ce);        
-      }
-   
-			netConn.connect(getURI());
-      
-      if (!retry) {
-        retryTimer = new Timer(connectionTimeout, 1);
-        retryTimer.addEventListener(TimerEvent.TIMER_COMPLETE, connectTimeoutHandler);
-        retryTimer.start();
-      }
-		}
-		
-    public function addMessageListener(listener:IMessageListener):void {
-      _messageListeners.push(listener);
-    }
-    
-    public function removeMessageListener(listener:IMessageListener):void {
-      for (var ob:int=0; ob<_messageListeners.length; ob++) {
-        if (_messageListeners[ob] == listener) {
-          _messageListeners.splice (ob,1);
-          break;
+    public class Connection {
+        private static const LOGGER:ILogger = getClassLogger(Connection);
+        
+        private var netConn:NetConnection;
+        private var uri:String;
+        private const connectionTimeout:int = 5000;
+        private var retryTimer:Timer = null;
+        private var retryCount:int = 0;
+        private const MAX_RETRIES:int = 5;
+        private var deskSO:SharedObject;
+        private var responder:Responder;
+        private var width:Number;
+        private var height:Number;
+        private var meetingId:String;
+        
+        private var dispatcher:Dispatcher = new Dispatcher();
+        private var _messageListeners:Array = new Array();
+        private var logoutOnUserCommand:Boolean = false;
+        private var reconnecting:Boolean = false;
+        
+        public function Connection(meetingId:String) {
+            this.meetingId = meetingId;
         }
-      }
-    }
-    
-    private function notifyListeners(messageName:String, message:Object):void {
-      if (messageName != null && messageName != "") {
-        for (var notify:String in _messageListeners) {
-          _messageListeners[notify].onMessage(messageName, message);
-        }                
-      } else {
-        LOGGER.debug("Message name is undefined");
-      }
-    }  
-    
-    public function onMessageFromServer(messageName:String, msg:Object):void {
-      LOGGER.debug("Got message from server [" + messageName + "] data=" + msg.msg); 
-      notifyListeners(messageName, msg);   
-    }
-    
-    private function connectTimeoutHandler(e:TimerEvent):void {
-      LOGGER.debug("Connection attempt to [" + getURI() + "] timedout. Retrying.");
-      retryTimer.stop();
-      retryTimer = null;
-      
-      netConn.close();
-      netConn = null;
-      
-      var ce:ConnectionEvent;
-      
-      retryCount++;
-      if (retryCount < MAX_RETRIES) {
-        ce = new ConnectionEvent(ConnectionEvent.CONNECTING_RETRY);
-        ce.retryAttempts = retryCount;
-        dispatcher.dispatchEvent(ce);
-        
-        connect(false);
-      } else {
-        ce = new ConnectionEvent(ConnectionEvent.CONNECTING_MAX_RETRY);
-        dispatcher.dispatchEvent(ce);
-      }
-      
-    }
-       
-		public function close():void{
-			netConn.close();
-		}
-		
-    public function isScreenSharing(meetingId: String):void {
-      var message:Object = new Object();
-      message["meetingId"] = meetingId;
-      
-      sendMessage("screenshare.isScreenSharing", 
-        function(result:String):void { // On successful result
-          LOGGER.debug(result); 
-        },	                   
-        function(status:String):void { // status - On error occurred
-          LOGGER.error(status); 
-        },
-        message
-      );      
-    }
-    
-    private function sendMessage(service:String, onSuccess:Function, onFailure:Function, message:Object=null):void {
-      LOGGER.debug("SENDING [" + service + "]");
-      var responder:Responder =	new Responder(                    
-        function(result:Object):void { // On successful result
-          onSuccess("Successfully sent [" + service + "]."); 
-        },	                   
-        function(status:Object):void { // status - On error occurred
-          var errorReason:String = "Failed to send [" + service + "]:\n"; 
-          for (var x:Object in status) { 
-            errorReason += "\t" + x + " : " + status[x]; 
-          } 
+        
+        public function connect(retry:Boolean = false):void {
+            netConn = new NetConnection();
+            netConn.proxyType = "best";
+            netConn.objectEncoding = ObjectEncoding.AMF0;
+            netConn.client = this;
+            
+            netConn.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
+            netConn.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
+            
+            if (getURI().length == 0) {
+                LOGGER.debug("please provide a valid URI connection string. URI Connection String missing");
+                return;
+            } else if (netConn.connected) {
+                LOGGER.debug("You are already connected to " + getURI());
+                return;
+            }
+            
+            LOGGER.debug("Trying to connect to [" + getURI() + "] retry=[" + retry + "]");
+            if (!(retryCount > 0)) {
+                var ce:ConnectionEvent = new ConnectionEvent(ConnectionEvent.CONNECTING);
+                dispatcher.dispatchEvent(ce);
+            }
+            
+            netConn.connect(getURI());
+            
+            if (!retry) {
+                retryTimer = new Timer(connectionTimeout, 1);
+                retryTimer.addEventListener(TimerEvent.TIMER_COMPLETE, connectTimeoutHandler);
+                retryTimer.start();
+            }
         }
-      );
-      
-      if (message == null) {
-        netConn.call(service, responder);			
-      } else {
-        netConn.call(service, responder, message);
-      }
-    }
-    
-    public function startShareRequest(meetingId: String, userId: String, record: Boolean):void {
-      var message:Object = new Object();
-      message["meetingId"] = meetingId;
-      message["userId"] = userId;
-			message["record"] = record;
-			
-      sendMessage("screenshare.startShareRequest", 
-        function(result:String):void { // On successful result
-          LOGGER.debug(result); 
-        },	                   
-        function(status:String):void { // status - On error occurred
-          LOGGER.error(status); 
-        },
-        message
-      );       
-    }
-    
-    public function stopShareRequest(meetingId: String, streamId: String):void {
-      var message:Object = new Object();
-      message["meetingId"] = meetingId;
-      message["streamId"] = streamId;
-      
-      sendMessage("screenshare.stopShareRequest", 
-        function(result:String):void { // On successful result
-          LOGGER.debug(result); 
-        },	                   
-        function(status:String):void { // status - On error occurred
-          LOGGER.error(status); 
-        },
-        message
-      );         
-    }
-
-    
-		public function setURI(p_URI:String):void{
-			uri = p_URI;
-		}
-		
-		public function getURI():String{
-			return uri + "/" + UsersUtil.getInternalMeetingID();
-		}
-		
-		public function onBWCheck(... rest):Number { 
-			return 0; 
-		} 
-		
-		public function onBWDone(... rest):void { 
-			var p_bw:Number; 
-			if (rest.length > 0) p_bw = rest[0]; 
-			// your application should do something here 
-			// when the bandwidth check is complete 
-      LOGGER.debug("bandwidth = " + p_bw + " Kbps."); 
-		}
-		
-    private function sendUserIdToServer():void {
-      var message:Object = new Object();
-      message["meetingId"] = meetingId;
-      message["userId"] = UsersUtil.getMyUserID();
-      
-      sendMessage("screenshare.setUserId", 
-        function(result:String):void { // On successful result
-          LOGGER.debug(result); 
-        },	                   
-        function(status:String):void { // status - On error occurred
-          LOGGER.error(status); 
-        },
-        message
-      );       
-    }
-    
-		private function netStatusHandler(event:NetStatusEvent):void {	
-      LOGGER.debug("Connected to [" + getURI() + "]. [" + event.info.code + "]");
-      
-      if (retryTimer) {
-        retryCount = 0;
-        LOGGER.debug("Cancelling retry timer.");
-        retryTimer.stop();
-        retryTimer = null;
-      }
-      
-			
-      var ce:ConnectionEvent;
-			switch(event.info.code){
-				case "NetConnection.Connect.Failed":
-          ce = new ConnectionEvent(ConnectionEvent.FAILED);        
-          dispatcher.dispatchEvent(ce);
-				break;
-				
-				case "NetConnection.Connect.Success":
-          sendUserIdToServer();
-          ce = new ConnectionEvent(ConnectionEvent.SUCCESS);
-          dispatcher.dispatchEvent(ce);
-				break;
-				
-				case "NetConnection.Connect.Rejected":
-          ce = new ConnectionEvent(ConnectionEvent.REJECTED);
-          dispatcher.dispatchEvent(ce);
-				break;
-				
-				case "NetConnection.Connect.Closed":
-          LOGGER.debug("Screenshare connection closed.");
-          ce = new ConnectionEvent(ConnectionEvent.CLOSED);
-				break;
-				
-				case "NetConnection.Connect.InvalidApp":
-          ce = new ConnectionEvent(ConnectionEvent.INVALIDAPP);
-          dispatcher.dispatchEvent(ce);
-				break;
-				
-				case "NetConnection.Connect.AppShutdown":
-          ce = new ConnectionEvent(ConnectionEvent.APPSHUTDOWN);
-          dispatcher.dispatchEvent(ce);
-				break;
-				
-				case "NetConnection.Connect.NetworkChange":
-          LOGGER.debug("Detected network change. User might be on a wireless and temporarily dropped connection. Doing nothing. Just making a note.");
-					break;
-					
-				default :
-					// I dispatch DISCONNECTED incase someone just simply wants to know if we're not connected'
-					// rather than having to subscribe to the events individually
-          ce = new ConnectionEvent(ConnectionEvent.DISCONNECTED);
-          dispatcher.dispatchEvent(ce);
-					break;
-			}
-		}
-		
-		private function securityErrorHandler(event:SecurityErrorEvent):void{
-      var ce:ConnectionEvent = new ConnectionEvent(ConnectionEvent.SECURITYERROR);
-      dispatcher.dispatchEvent(ce);
-		}
-    
-    public function mouseLocationCallback(x:Number, y:Number):void {
-      var event:CursorEvent = new CursorEvent(CursorEvent.UPDATE_CURSOR_LOC_EVENT);
-      event.x = x;
-      event.y = y;
-      dispatcher.dispatchEvent(event);
-    }
-      
-    public function disconnect():void{
-      if (netConn != null) netConn.close();
-    }
         
-    public function getConnection():NetConnection{
-      return netConn;
-    }
-    
-    public function connectionFailedHandler(e:ConnectionEvent):void{
-      LOGGER.error("connection failed to " + uri + " with message " + e.toString());
-    }
-    
-    public function connectionRejectedHandler(e:ConnectionEvent):void{
-      LOGGER.error("connection rejected " + uri + " with message " + e.toString());
-    }
-    
-    
-    /**
-     * Invoked on the server once the clients' applet has started sharing and the server has started a video stream 
-     * 
-     */		
-    public function appletStarted(videoWidth:Number, videoHeight:Number):void{
-      LOGGER.debug("Got applet started");
-      var event:AppletStartedEvent = new AppletStartedEvent();
-      event.videoWidth = videoWidth;
-      event.videoHeight = videoHeight;
-      dispatcher.dispatchEvent(event);
-    }
-    
-    /**
-     * Call this method to send out a room-wide notification to start viewing the stream 
-     * 
-     */		
-    public function sendStartViewingNotification(captureWidth:Number, captureHeight:Number):void{
-      try{
-        deskSO.send("startViewing", captureWidth, captureHeight);
-      } catch(e:Error){
-        LOGGER.error("error while trying to send start viewing notification");
-      }
-    }
-    
-    public function sendStartedViewingNotification(stream:String):void{
-      LOGGER.debug("Sending start viewing to server");
-      netConn.call("deskshare.startedToViewStream", null, stream);
-    }
-    
-    public function stopSharingDesktop(meetingId: String, stream: String):void {
-      netConn.call("deskshare.stopSharingDesktop", null, meetingId);
-    }
-    
-    /**
-     * Called by the server when a notification is received to start viewing the broadcast stream .
-     * This method is called on successful execution of sendStartViewingNotification()
-     * 
-     */		
-    public function startViewing(videoWidth:Number, videoHeight:Number):void{
-      LOGGER.debug("startViewing invoked by server");
-      
-      var event:ViewStreamEvent = new ViewStreamEvent(ViewStreamEvent.START);
-      dispatcher.dispatchEvent(event);
-    }
-    
-    /**
-     * Sends a notification through the server to all the participants in the room to stop viewing the stream 
-     * 
-     */		
-    public function sendStopViewingNotification():void{
-      LOGGER.debug("Sending stop viewing notification to other clients.");
-      try{
-        deskSO.send("stopViewing");
-      } catch(e:Error){
-        LOGGER.debug("could not send stop viewing notification");
-      }
-    }
-    
-    /**
-     * Called by the server to notify clients that the deskshare stream has stooped.
-     */
-    public function deskshareStreamStopped():void {
-      stopViewing();
-    }
+        public function addMessageListener(listener:IMessageListener):void {
+            _messageListeners.push(listener);
+        }
+        
+        public function removeMessageListener(listener:IMessageListener):void {
+            for (var ob:int = 0; ob < _messageListeners.length; ob++) {
+                if (_messageListeners[ob] == listener) {
+                    _messageListeners.splice(ob, 1);
+                    break;
+                }
+            }
+        }
+        
+        private function notifyListeners(messageName:String, message:Object):void {
+            if (messageName != null && messageName != "") {
+                for (var notify:String in _messageListeners) {
+                    _messageListeners[notify].onMessage(messageName, message);
+                }
+            } else {
+                LOGGER.debug("Message name is undefined");
+            }
+        }
+        
+        public function onMessageFromServer(messageName:String, msg:Object):void {
+            LOGGER.debug("Got message from server [" + messageName + "] data=" + msg.msg);
+            notifyListeners(messageName, msg);
+        }
+        
+        private function connectTimeoutHandler(e:TimerEvent):void {
+            LOGGER.debug("Connection attempt to [" + getURI() + "] timedout. Retrying.");
+            retryTimer.stop();
+            retryTimer = null;
+            
+            netConn.close();
+            netConn = null;
+            
+            var ce:ConnectionEvent;
+            
+            retryCount++;
+            if (retryCount < MAX_RETRIES) {
+                ce = new ConnectionEvent(ConnectionEvent.CONNECTING_RETRY);
+                ce.retryAttempts = retryCount;
+                dispatcher.dispatchEvent(ce);
+                
+                connect(false);
+            } else {
+                ce = new ConnectionEvent(ConnectionEvent.CONNECTING_MAX_RETRY);
+                dispatcher.dispatchEvent(ce);
+            }
+        
+        }
+        
+        public function close():void {
+            netConn.close();
+        }
+        
+        public function isScreenSharing(meetingId:String):void {
+            var message:Object = new Object();
+            message["meetingId"] = meetingId;
+            
+            sendMessage("screenshare.isScreenSharing", function(result:String):void { // On successful result
+                LOGGER.debug(result);
+            }, function(status:String):void { // status - On error occurred
+                LOGGER.error(status);
+            }, message);
+        }
+        
+        private function sendMessage(service:String, onSuccess:Function, onFailure:Function, message:Object = null):void {
+            LOGGER.debug("SENDING [" + service + "]");
+            var responder:Responder = new Responder(function(result:Object):void { // On successful result
+                onSuccess("Successfully sent [" + service + "].");
+            }, function(status:Object):void { // status - On error occurred
+                var errorReason:String = "Failed to send [" + service + "]:\n";
+                for (var x:Object in status) {
+                    errorReason += "\t" + x + " : " + status[x];
+                }
+            });
+            
+            if (message == null) {
+                netConn.call(service, responder);
+            } else {
+                netConn.call(service, responder, message);
+            }
+        }
+        
+        public function startShareRequest(meetingId:String, userId:String, record:Boolean):void {
+            var message:Object = new Object();
+            message["meetingId"] = meetingId;
+            message["userId"] = userId;
+            message["record"] = record;
+            
+            sendMessage("screenshare.startShareRequest", function(result:String):void { // On successful result
+                LOGGER.debug(result);
+            }, function(status:String):void { // status - On error occurred
+                LOGGER.error(status);
+            }, message);
+        }
+        
+        public function stopShareRequest(meetingId:String, streamId:String):void {
+            var message:Object = new Object();
+            message["meetingId"] = meetingId;
+            message["streamId"] = streamId;
+            
+            sendMessage("screenshare.stopShareRequest", function(result:String):void { // On successful result
+                LOGGER.debug(result);
+            }, function(status:String):void { // status - On error occurred
+                LOGGER.error(status);
+            }, message);
+        }
+        
+        public function setURI(p_URI:String):void {
+            uri = p_URI;
+        }
+        
+        public function getURI():String {
+            return uri + "/" + UsersUtil.getInternalMeetingID();
+        }
+        
+        public function onBWCheck(... rest):Number {
+            return 0;
+        }
+        
+        public function onBWDone(... rest):void {
+            var p_bw:Number;
+            if (rest.length > 0) p_bw = rest[0];
+            // your application should do something here 
+            // when the bandwidth check is complete 
+            LOGGER.debug("bandwidth = " + p_bw + " Kbps.");
+        }
+        
+        private function sendUserIdToServer():void {
+            var message:Object = new Object();
+            message["meetingId"] = meetingId;
+            message["userId"] = UsersUtil.getMyUserID();
+            
+            sendMessage("screenshare.setUserId", function(result:String):void { // On successful result
+                LOGGER.debug(result);
+            }, function(status:String):void { // status - On error occurred
+                LOGGER.error(status);
+            }, message);
+        }
+        
+        private function netStatusHandler(event:NetStatusEvent):void {
+            LOGGER.debug("Connected to [" + getURI() + "]. [" + event.info.code + "]");
+            
+            if (retryTimer) {
+                retryCount = 0;
+                LOGGER.debug("Cancelling retry timer.");
+                retryTimer.stop();
+                retryTimer = null;
+            }
+            
+            var ce:ConnectionEvent;
+            switch (event.info.code) {
+            case "NetConnection.Connect.Failed":
+                if (reconnecting) {
+                    var attemptFailedEvent:BBBEvent = new BBBEvent(BBBEvent.RECONNECT_CONNECTION_ATTEMPT_FAILED_EVENT);
+                    attemptFailedEvent.payload.type = ReconnectionManager.DESKSHARE_CONNECTION;
+                    dispatcher.dispatchEvent(attemptFailedEvent);
+                }
+                ce = new ConnectionEvent(ConnectionEvent.FAILED);
+                dispatcher.dispatchEvent(ce);
+                break;
+            
+            case "NetConnection.Connect.Success":
+                if (reconnecting) {
+                    reconnecting = false;
+                    if (ScreenshareModel.getInstance().isSharing) {
+                        stopShareRequest(UsersUtil.getInternalMeetingID(), ScreenshareModel.getInstance().streamId)
+                    }
+                    
+                    var attemptSucceeded:BBBEvent = new BBBEvent(BBBEvent.RECONNECT_CONNECTION_ATTEMPT_SUCCEEDED_EVENT);
+                    attemptSucceeded.payload.type = ReconnectionManager.DESKSHARE_CONNECTION;
+                    dispatcher.dispatchEvent(attemptSucceeded);
+                }
+                
+                sendUserIdToServer();
+                ce = new ConnectionEvent(ConnectionEvent.SUCCESS);
+                dispatcher.dispatchEvent(ce);
+                
+                break;
+            
+            case "NetConnection.Connect.Rejected":
+                ce = new ConnectionEvent(ConnectionEvent.REJECTED);
+                dispatcher.dispatchEvent(ce);
+                break;
+            
+            case "NetConnection.Connect.Closed":
+                LOGGER.debug("Screenshare connection closed.");
+                if (UsersUtil.amIPresenter()) {
+                    // Let's keep our presenter status before disconnected. We can't
+                    // tell the other user's to stop desktop sharing as our connection is broken. (ralam july 24, 2015)
+                    
+                } else {
+                    stopViewing();
+                }
+                
+                if (!logoutOnUserCommand) {
+                    reconnecting = true;
+                    
+                    var disconnectedEvent:BBBEvent = new BBBEvent(BBBEvent.RECONNECT_DISCONNECTED_EVENT);
+                    disconnectedEvent.payload.type = ReconnectionManager.DESKSHARE_CONNECTION;
+                    disconnectedEvent.payload.callback = connect;
+                    disconnectedEvent.payload.callbackParameters = [];
+                    dispatcher.dispatchEvent(disconnectedEvent);
+                }
+                ce = new ConnectionEvent(ConnectionEvent.CLOSED);
+                break;
+            
+            case "NetConnection.Connect.InvalidApp":
+                ce = new ConnectionEvent(ConnectionEvent.INVALIDAPP);
+                dispatcher.dispatchEvent(ce);
+                break;
+            
+            case "NetConnection.Connect.AppShutdown":
+                ce = new ConnectionEvent(ConnectionEvent.APPSHUTDOWN);
+                dispatcher.dispatchEvent(ce);
+                break;
+            
+            case "NetConnection.Connect.NetworkChange":
+                LOGGER.debug("Detected network change. User might be on a wireless and temporarily dropped connection. Doing nothing. Just making a note.");
+                break;
+            
+            default:
+                // I dispatch DISCONNECTED incase someone just simply wants to know if we're not connected'
+                // rather than having to subscribe to the events individually
+                ce = new ConnectionEvent(ConnectionEvent.DISCONNECTED);
+                dispatcher.dispatchEvent(ce);
+                break;
+            }
+        }
+        
+        private function securityErrorHandler(event:SecurityErrorEvent):void {
+            var ce:ConnectionEvent = new ConnectionEvent(ConnectionEvent.SECURITYERROR);
+            dispatcher.dispatchEvent(ce);
+        }
+        
+        public function mouseLocationCallback(x:Number, y:Number):void {
+            var event:CursorEvent = new CursorEvent(CursorEvent.UPDATE_CURSOR_LOC_EVENT);
+            event.x = x;
+            event.y = y;
+            dispatcher.dispatchEvent(event);
+        }
+        
+        public function disconnect():void {
+            logoutOnUserCommand = true;
+            if (netConn != null) netConn.close();
+        }
+        
+        public function getConnection():NetConnection {
+            return netConn;
+        }
+        
+        public function connectionFailedHandler(e:ConnectionEvent):void {
+            LOGGER.error("connection failed to " + uri + " with message " + e.toString());
+        }
+        
+        public function connectionRejectedHandler(e:ConnectionEvent):void {
+            LOGGER.error("connection rejected " + uri + " with message " + e.toString());
+        }
+        
+        /**
+         * Invoked on the server once the clients' applet has started sharing and the server has started a video stream
+         *
+         */
+        public function appletStarted(videoWidth:Number, videoHeight:Number):void {
+            LOGGER.debug("Got applet started");
+            var event:AppletStartedEvent = new AppletStartedEvent();
+            event.videoWidth = videoWidth;
+            event.videoHeight = videoHeight;
+            dispatcher.dispatchEvent(event);
+        }
+        
+        /**
+         * Call this method to send out a room-wide notification to start viewing the stream
+         *
+         */
+        public function sendStartViewingNotification(captureWidth:Number, captureHeight:Number):void {
+            try {
+                deskSO.send("startViewing", captureWidth, captureHeight);
+            } catch (e:Error) {
+                LOGGER.error("error while trying to send start viewing notification");
+            }
+        }
+        
+        
+        /**
+         * Called by the server when a notification is received to start viewing the broadcast stream .
+         * This method is called on successful execution of sendStartViewingNotification()
+         *
+         */
+        public function startViewing(videoWidth:Number, videoHeight:Number):void {
+            LOGGER.debug("startViewing invoked by server");
+            
+            var event:ViewStreamEvent = new ViewStreamEvent(ViewStreamEvent.START);
+            dispatcher.dispatchEvent(event);
+        }
+        
+        /**
+         * Sends a notification through the server to all the participants in the room to stop viewing the stream
+         *
+         */
+        public function sendStopViewingNotification():void {
+            LOGGER.debug("Sending stop viewing notification to other clients.");
+            try {
+                deskSO.send("stopViewing");
+            } catch (e:Error) {
+                LOGGER.debug("could not send stop viewing notification");
+            }
+        }
+        
+        /**
+         * Called by the server to notify clients that the deskshare stream has stooped.
+         */
+        public function deskshareStreamStopped():void {
+            stopViewing();
+        }
+        
+        /**
+         * Sends a notification to the module to stop viewing the stream
+         * This method is called on successful execution of sendStopViewingNotification()
+         *
+         */
+        public function stopViewing():void {
+            LOGGER.debug("Received dekskshareStreamStopped");
+            dispatcher.dispatchEvent(new ViewStreamEvent(ViewStreamEvent.STOP));
+        }
     
-    /**
-     * Sends a notification to the module to stop viewing the stream 
-     * This method is called on successful execution of sendStopViewingNotification()
-     * 
-     */		
-    public function stopViewing():void{
-      LOGGER.debug("Received dekskshareStreamStopped");
-      dispatcher.dispatchEvent(new ViewStreamEvent(ViewStreamEvent.STOP));
     }
-    
-    
-	}
 }
diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/view/components/ScreensharePublishWindow.mxml b/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/view/components/ScreensharePublishWindow.mxml
index e29f50019a017558c13aeb1d78b49a027d302aaa..ded8180164f93ca9b808a924691a4e2371272a61 100755
--- a/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/view/components/ScreensharePublishWindow.mxml
+++ b/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/view/components/ScreensharePublishWindow.mxml
@@ -41,7 +41,8 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
   <mate:Listener type="{LocaleChangeEvent.LOCALE_CHANGED}" method="localeChanged" />
   <mate:Listener type="{StopSharingButtonEvent.STOP_SHARING}" method="stopSharingEvent" />
   <mate:Listener type="{ShortcutEvent.REMOTE_FOCUS_DESKTOP}" method="remoteFocus" />
-  
+  <mate:Listener type="{BBBEvent.RECONNECT_DISCONNECTED_EVENT}" method="handleDisconnectedEvent" />
+    
   <mx:Script>
     <![CDATA[
       import com.asfusion.mate.events.Dispatcher;   
@@ -65,7 +66,8 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
       import org.bigbluebutton.core.BBB;
       import org.as3commons.logging.api.ILogger;
       import org.as3commons.logging.api.getClassLogger;
-	
+      import org.bigbluebutton.core.managers.ReconnectionManager;
+      
       private static const LOGGER:ILogger = getClassLogger(ScreensharePublishWindow);
       
       public static const SCALE:Number = 5;
@@ -143,18 +145,24 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
         return MainCanvas.DESKTOP_SHARING_PUBLISH;
       }
       
+      public function handleDisconnectedEvent(event:BBBEvent):void {
+          if (event.payload.type == ReconnectionManager.DESKSHARE_CONNECTION) {
+            closeWindow();  
+          }
+      }
+      
       /*
       * Implement resizeable interface.
-      */			
+      */
       public function resetWidthAndHeight():void{/* do nothing */}
       
       public function initWindow(connection:NetConnection, uri:String, room:String, autoStart:Boolean, autoFullScreen:Boolean):void {
         this.connection = connection;
         this.uri = uri;
-        this.room = room;				
+        this.room = room;
         this.autoStart = autoStart;
         /*if(autoFullScreen)
-        shareScreen(true);*/		
+        shareScreen(true);*/
       }
       
       private function handleStartShareRequestSuccessEvent(event:StartShareRequestSuccessEvent):void {
@@ -170,7 +178,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
       
       private function startSharing(connection:NetConnection, uri:String, room:String, fullScreen:Boolean):void {
         var captureX:Number = 0;
-        var captureY:Number = 0;				
+        var captureY:Number = 0;
         sharingFullScreen = fullScreen;
         var authToken:String = ScreenshareModel.getInstance().authToken;
         var jnlp: String = ScreenshareModel.getInstance().jnlp;
@@ -183,7 +191,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
         if (streaming) {
           stopStream();
           var streamEvent:RequestToStopSharing = new RequestToStopSharing();
-          dispatchEvent(streamEvent);					
+          dispatchEvent(streamEvent);
         }
         sharingFullScreen = false;
         streaming = false;
@@ -195,7 +203,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
         if (streaming) {
           stopStream();
           var streamEvent:StreamEvent = new StreamEvent(StreamEvent.STOP);
-          dispatchEvent(streamEvent);					
+          dispatchEvent(streamEvent);
         }
         sharingFullScreen = false;
         streaming = false;
@@ -266,7 +274,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
         ns.play(streamId);
         
         btnClosePublish.enabled = true;
-        btnFSPublish.enabled = false;				
+        btnFSPublish.enabled = false;
         btnRegionPublish.enabled = false;
       }
       
@@ -305,9 +313,9 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
         closeWindow();
       }
       
-      private function closeWindow():void {			
-        dispatchEvent(new ShareWindowEvent(ShareWindowEvent.CLOSE));				
-      }		
+      private function closeWindow():void {
+        dispatchEvent(new ShareWindowEvent(ShareWindowEvent.CLOSE));
+      }
       
       private function restartJava():void {
         shareScreen(sharingFullScreen);
diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/view/components/ScreenshareViewWindow.mxml b/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/view/components/ScreenshareViewWindow.mxml
index b303f6d2f85ec640add7be318f475d78b6a590de..249d92a9deb4823f4e342230aa697227fb07b138 100755
--- a/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/view/components/ScreenshareViewWindow.mxml
+++ b/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/view/components/ScreenshareViewWindow.mxml
@@ -1,354 +1,363 @@
-<?xml version="1.0" encoding="utf-8"?>
-
-<!--
-
-BigBlueButton open source conferencing system - http://www.bigbluebutton.org/
-
-Copyright (c) 2012 BigBlueButton Inc. and by respective authors (see below).
-
-This program is free software; you can redistribute it and/or modify it under the
-terms of the GNU Lesser General Public License as published by the Free Software
-Foundation; either version 3.0 of the License, or (at your option) any later
-version.
-
-BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY
-WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
-
-You should have received a copy of the GNU Lesser General Public License along
-with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
-
--->
-
-<MDIWindow xmlns="flexlib.mdi.containers.*" 
-	xmlns:mx="http://www.adobe.com/2006/mxml" 
-	width="600" height="400"
-	initialize="init()"
-	creationComplete="onCreationComplete()"
-	implements="org.bigbluebutton.common.IBbbModuleWindow"
-	xmlns:mate="http://mate.asfusion.com/"
-	title="{ResourceUtil.getInstance().getString('bbb.screenshareView.title')}" 
-	showCloseButton="false"
-	resize="fitToWindow()" >
-	
-	<mate:Listener type="{ViewStreamEvent.STOP}" method="onStopViewStreamEvent" />
-	<mate:Listener type="{LocaleChangeEvent.LOCALE_CHANGED}" method="localeChanged" />
-  
-	<mx:Script>
-		<![CDATA[
-      import com.asfusion.mate.events.Dispatcher;     
-      import flexlib.mdi.events.MDIWindowEvent;      
-      import mx.core.UIComponent;      
-      import org.bigbluebutton.common.Images;
-      import org.bigbluebutton.common.events.LocaleChangeEvent;
-      import org.bigbluebutton.core.managers.UserManager;
-      import org.bigbluebutton.main.api.JSLog;
-      import org.bigbluebutton.main.views.MainCanvas;
-      import org.bigbluebutton.modules.screenshare.events.CursorEvent;
-      import org.bigbluebutton.modules.screenshare.events.StartedViewingEvent;
-      import org.bigbluebutton.modules.screenshare.events.ViewStreamEvent;
-      import org.bigbluebutton.modules.screenshare.events.ViewWindowEvent;
-      import org.bigbluebutton.modules.screenshare.model.ScreenshareModel;
-      import org.bigbluebutton.modules.screenshare.model.ScreenshareOptions;
-      import org.bigbluebutton.util.i18n.ResourceUtil;
-      import org.as3commons.logging.api.ILogger;
-      import org.as3commons.logging.api.getClassLogger;
-      
-      private static const LOG:String = "SC::ScreenshareViewWIndow - ";
-      private static const LOGGER:ILogger = getClassLogger(ScreenshareViewWindow);
-      
-			private var screenHeight:Number = Capabilities.screenResolutionY;
-			private var screenWidth:Number = Capabilities.screenResolutionX;
-						
-			private var images:Images = new Images();
-			[Bindable] public var fitToWidthIcon:Class = images.magnifier;
-			[Bindable] public var fitToActualSizeIcon:Class = images.mag_reset;
-					
-      private var streamAvailable:Boolean = false;
-      
-			private var video:Video;
-			private var ns:NetStream;
-			private var videoHolder:UIComponent = new UIComponent();
-			private var streamId:String;
-			private var videoHeight:Number = 1;
-			private var videoWidth:Number = 1;
-			
-			private static const VIDEO_WIDTH_PADDING:int = 7;
-			private static const VIDEO_HEIGHT_PADDING:int = 65;
-
-			// The following code block is to deal with a bug in FLexLib 
-			// with MDI windows not responding well to being maximized
-			private var savedWindowWidth:Number;
-			private var savedWindowHeight:Number;
-			private var savedX:Number;
-			private var savedY:Number;
-			private var isMaximized:Boolean = false;
-			private var connection:NetConnection;
-      
-			[Bindable] private var baseIndex:int;
-			[Bindable] private var dsOptions:ScreenshareOptions;
-									
-			private function init():void{
-				dsOptions = new ScreenshareOptions();
-				baseIndex = dsOptions.baseTabIndex;
-			}
-									
-			private function onCreationComplete():void{
-        viewScreenshareStream();
-        
-				videoHolder.addChild(video);				
-				this.addChild(videoHolder);
-				videoHolder.percentWidth = 100;
-				videoHolder.percentHeight = 100;
-				addEventListener(MDIWindowEvent.RESIZE_END, onResizeEndEvent);				
-				fitToActualSize();				
-				maximize();
-				
-				resourcesChanged();
-				
-				titleBarOverlay.tabIndex = baseIndex;
-				minimizeBtn.tabIndex = baseIndex+1;
-				maximizeRestoreBtn.tabIndex = baseIndex+2;
-				closeBtn.tabIndex = baseIndex+3;
-               
-        var logData:Object = new Object();
-        logData.width = videoWidth;
-        logData.height = videoHeight;
-        logData.streamId = streamId;
-        
-        JSLog.debug(LOG + "onCreationComplete", logData);
-			}
-			
-			private function onResizeEndEvent(event:MDIWindowEvent):void {
-				if (event.window == this && streamAvailable) {
-					fitToWindow();
-				}
-			}
-					
-			public function startVideo(connection:NetConnection):void{
-        var logData:Object = new Object();
-        logData.width = videoWidth;
-        logData.height = videoHeight;
-        logData.streamId = streamId;
-        
-        JSLog.debug(LOG + "startVideo", logData);
-        
-				this.connection = connection;
-			}
-			            
-      private function viewScreenshareStream():void{
-        videoWidth = ScreenshareModel.getInstance().width;
-        videoHeight = ScreenshareModel.getInstance().height;
-        streamId = ScreenshareModel.getInstance().streamId;
-        
-        var logData:Object = new Object();
-        logData.width = videoWidth;
-        logData.height = videoHeight;
-        logData.streamId = streamId;
-        
-        JSLog.debug(LOG + "viewScreenshareStream Chrome", logData);
-        
-        ns = new NetStream(connection);
-        ns.addEventListener( NetStatusEvent.NET_STATUS, onNetStatus );
-        ns.addEventListener(AsyncErrorEvent.ASYNC_ERROR, onAsyncError);
-        ns.client = this;
-        ns.bufferTime = 0;
-        ns.receiveVideo(true);
-        ns.receiveAudio(false);
-        
-        video = new Video(videoWidth, videoHeight);
-        video.width = videoWidth;
-        video.height = videoHeight;
-        video.smoothing = true;
-        video.attachNetStream(ns);
-        ns.play(streamId);	
-        this.title = "Viewing Remote Desktop";
-        streamAvailable = true;
-        
-        fitToWindow();
-      }
-      
-      public function onMetaData(info:Object):void{
-        trace("metadata: width=" + info.width + " height=" + info.height);
-        
-        var logData:Object = new Object();
-        logData.width = info.width;
-        logData.height = info.height;
-        
-        JSLog.debug(LOG + "onMetaData", logData);
-      }
-      
-      protected function updateButtonsPosition():void {
-        if (this.width < bottomBar.width) {
-          bottomBar.visible = false;
-        }
-        
-        if (bottomBar.visible == false) {
-          bottomBar.y = bottomBar.x = 0;
-        } else {
-          bottomBar.y = (this.height - bottomBar.height) / 2;
-          bottomBar.x = (this.width - bottomBar.width) / 2;
-        }
-      }
-      
-			public function stopViewing():void {
-				ns.close();
-				closeWindow();				
-			}
-			
-			private function onStopViewStreamEvent(event:ViewStreamEvent):void {
-				stopViewing();
-			}
-						
-			private function onAsyncError(e:AsyncErrorEvent):void{
-        LOGGER.debug("asyncerror " + e.toString());
-        var logData:Object = new Object();
-        logData.error = e.toString();
-        JSLog.debug(LOG + "asyncerror ", logData);
-			}
-			
-			private function onNetStatus(e:NetStatusEvent):void{
-        var logData:Object = new Object();
-        logData.stream = streamId;
-        
-				switch(e.info.code){
-  				case "NetStream.Play.Start":
-            LOGGER.debug("NetStream.Publish.Start for broadcast stream " + streamId);
-            JSLog.debug(LOG + "NetStream.Publish.Start for broadcast stream ", logData);
-  				  var dispatcher: Dispatcher  = new Dispatcher();
-            var viewEvent:StartedViewingEvent = new StartedViewingEvent(StartedViewingEvent.STARTED_VIEWING_EVENT);
-            viewEvent.stream = streamId;
-  				  dispatcher.dispatchEvent(viewEvent);
-  					break;
-  				case "NetStream.Play.UnpublishNotify":
-            LOGGER.debug("NetStream.Play.UnpublishNotify for broadcast stream " + streamId);
-            JSLog.debug(LOG + "NetStream.Play.UnpublishNotify for broadcast stream ", logData);
-  					stopViewing();
-  					break;
-				}
-			}
-			
-			public function getPrefferedPosition():String{
-				return MainCanvas.DESKTOP_SHARING_VIEW;
-			}
-												
-			/**
-			 * resizes the desktop sharing video to fit to this window
-			 */
-			private function fitToWindow():void{
-        if (!streamAvailable) return;
-        
-				if (videoIsSmallerThanWindow()) {
-					fitWindowToVideo();
-				}
-				
-				// Ignore if we are displaying the actual size of the video
-				if (! btnActualSize.selected) {
-					fitVideoToWindow();
-				}
-			}
-			
-			private function fitVideoToWindow():void {
-				if (this.width < this.height) {
-					fitToWidthAndAdjustHeightToMaintainAspectRatio();				
-				} else {
-					fitToHeightAndAdjustWidthToMaintainAspectRatio();
-				}				
-			}
-						
-			private function fitWindowToVideo():void {	
-				video.width = videoWidth;
-				videoHolder.width = videoWidth;
-				video.height = videoHeight;
-				videoHolder.height = videoHeight;			
-				this.height = videoHeight + VIDEO_HEIGHT_PADDING;
-				this.width = videoWidth + VIDEO_WIDTH_PADDING;
-			}
-			
-			private function videoIsSmallerThanWindow():Boolean {
-				return (videoHeight < this.height) && (videoWidth < this.width);
-			}
-			
-		
-			private function fitToWidthAndAdjustHeightToMaintainAspectRatio():void {
-					video.width = this.width - VIDEO_WIDTH_PADDING;
-					videoHolder.width = video.width;
-					// Maintain aspect-ratio
-					video.height = (videoHeight * video.width) / videoWidth;
-					videoHolder.height = video.height;
-					this.height = video.height + VIDEO_HEIGHT_PADDING;					
-			}
-				
-			private function fitToHeightAndAdjustWidthToMaintainAspectRatio():void {
-					video.height = this.height - VIDEO_HEIGHT_PADDING;
-					videoHolder.height = video.height;
-					// Maintain aspect-ratio
-					video.width = (videoWidth * video.height) / videoHeight;
-					videoHolder.width = video.width;
-					this.width = video.width + VIDEO_WIDTH_PADDING;					
-			}
-								
-			/**
-			 * resizes the desktop sharing video to actual video resolution
-			 */
-			private function fitToActualSize():void{
-				if (videoIsSmallerThanWindow()) {
-					fitWindowToVideo();
-				} else {
-					video.width = videoWidth;
-					videoHolder.width = videoWidth;
-					video.height = videoHeight;
-					videoHolder.height = videoHeight;					
-				}
-			}
-			
-			private function determineHowToDisplayVideo():void {
-				if (btnActualSize.selected) {
-					fitToActualSize();			
-					btnActualSize.toolTip = ResourceUtil.getInstance().getString('bbb.screenshareView.fitToWindow');	
-					btnActualSize.label = ResourceUtil.getInstance().getString('bbb.screenshareView.fitToWindow');
-				} else {
-					fitToWindow();
-					btnActualSize.toolTip = ResourceUtil.getInstance().getString('bbb.screenshareView.actualSize');
-					btnActualSize.label = ResourceUtil.getInstance().getString('bbb.screenshareView.actualSize');
-				}
-			}
-			
-			private function closeWindow():void {
-				dispatchEvent(new ViewWindowEvent(ViewWindowEvent.CLOSE));
-			}
-			
-			override protected function resourcesChanged():void{
-				super.resourcesChanged();
-				this.title = ResourceUtil.getInstance().getString('bbb.screenshareView.title');
-				
-				if (windowControls != null) {
-					minimizeBtn.toolTip = ResourceUtil.getInstance().getString("bbb.window.minimizeBtn.toolTip");
-					minimizeBtn.accessibilityName = ResourceUtil.getInstance().getString("bbb.screenshareView.minimizeBtn.accessibilityName");
-
-					maximizeRestoreBtn.toolTip = ResourceUtil.getInstance().getString("bbb.window.maximizeRestoreBtn.toolTip");
-					maximizeRestoreBtn.accessibilityName = ResourceUtil.getInstance().getString("bbb.screenshareView.maximizeRestoreBtn.accessibilityName");
-
-					closeBtn.toolTip = ResourceUtil.getInstance().getString("bbb.window.closeBtn.toolTip");
-					closeBtn.accessibilityName = ResourceUtil.getInstance().getString("bbb.screenshareView.closeBtn.accessibilityName");
-				}
-			}
-			
-			private function localeChanged(e:Event):void{
-				resourcesChanged();
-			}
-			
-		]]>
-	</mx:Script>
-
-	<mx:HBox id="bottomBar" visible="true" height="30" horizontalAlign="center" paddingTop="0" paddingBottom="0" width="100%" >
-		<mx:Button id="btnActualSize" paddingTop="0" paddingBottom="0" styleName="deskshareControlButtonStyle"
-				   toggle="true" 
-				   click="determineHowToDisplayVideo()" 
-				   selected="false"
-				   height="90%" 
-				   label="{btnActualSize.selected ? ResourceUtil.getInstance().getString('bbb.screenshareView.fitToWindow') : ResourceUtil.getInstance().getString('bbb.screenshareView.actualSize')}" 
-				   toolTip="{btnActualSize.selected ? ResourceUtil.getInstance().getString('bbb.screenshareView.fitToWindow') : ResourceUtil.getInstance().getString('bbb.screenshareView.actualSize')}" 
-				   tabIndex="{baseIndex+4}"/>
-	</mx:HBox>
-</MDIWindow>
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+
+     BigBlueButton open source conferencing system - http://www.bigbluebutton.org/
+
+     Copyright (c) 2012 BigBlueButton Inc. and by respective authors (see below).
+
+     This program is free software; you can redistribute it and/or modify it under the
+     terms of the GNU Lesser General Public License as published by the Free Software
+     Foundation; either version 3.0 of the License, or (at your option) any later
+     version.
+
+     BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY
+     WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+     PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
+     You should have received a copy of the GNU Lesser General Public License along
+     with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
+
+-->
+
+<MDIWindow xmlns="flexlib.mdi.containers.*"
+           xmlns:mx="http://www.adobe.com/2006/mxml"
+           width="600"
+           height="400"
+           initialize="init()"
+           creationComplete="onCreationComplete()"
+           implements="org.bigbluebutton.common.IBbbModuleWindow"
+           xmlns:mate="http://mate.asfusion.com/"
+           title="{    ResourceUtil.getInstance().getString('bbb.screenshareView.title')    }"
+           showCloseButton="false"
+           resize="fitToWindow()">
+
+    <mate:Listener type="{    ViewStreamEvent.STOP    }" method="onStopViewStreamEvent" />
+    <mate:Listener type="{    LocaleChangeEvent.LOCALE_CHANGED    }" method="localeChanged" />
+    <mate:Listener type="{    BBBEvent.RECONNECT_DISCONNECTED_EVENT    }" method="handleDisconnectedEvent" />
+
+    <mx:Script>
+        <![CDATA[
+      import com.asfusion.mate.events.Dispatcher;     
+      import flexlib.mdi.events.MDIWindowEvent;      
+      import mx.core.UIComponent;      
+      import org.bigbluebutton.common.Images;
+      import org.bigbluebutton.common.events.LocaleChangeEvent;
+      import org.bigbluebutton.core.managers.UserManager;
+      import org.bigbluebutton.main.api.JSLog;
+      import org.bigbluebutton.main.views.MainCanvas;
+      import org.bigbluebutton.modules.screenshare.events.CursorEvent;
+      import org.bigbluebutton.modules.screenshare.events.StartedViewingEvent;
+      import org.bigbluebutton.modules.screenshare.events.ViewStreamEvent;
+      import org.bigbluebutton.modules.screenshare.events.ViewWindowEvent;
+      import org.bigbluebutton.modules.screenshare.model.ScreenshareModel;
+      import org.bigbluebutton.modules.screenshare.model.ScreenshareOptions;
+      import org.bigbluebutton.util.i18n.ResourceUtil;
+      import org.as3commons.logging.api.ILogger;
+      import org.as3commons.logging.api.getClassLogger;
+      import org.bigbluebutton.core.managers.ReconnectionManager;
+      import org.bigbluebutton.main.events.BBBEvent;
+      
+      private static const LOG:String = "SC::ScreenshareViewWIndow - ";
+      private static const LOGGER:ILogger = getClassLogger(ScreenshareViewWindow);
+      
+			private var screenHeight:Number = Capabilities.screenResolutionY;
+			private var screenWidth:Number = Capabilities.screenResolutionX;
+						
+			private var images:Images = new Images();
+			[Bindable] public var fitToWidthIcon:Class = images.magnifier;
+			[Bindable] public var fitToActualSizeIcon:Class = images.mag_reset;
+					
+      private var streamAvailable:Boolean = false;
+      
+			private var video:Video;
+			private var ns:NetStream;
+			private var videoHolder:UIComponent = new UIComponent();
+			private var streamId:String;
+			private var videoHeight:Number = 1;
+			private var videoWidth:Number = 1;
+			
+			private static const VIDEO_WIDTH_PADDING:int = 7;
+			private static const VIDEO_HEIGHT_PADDING:int = 65;
+
+			// The following code block is to deal with a bug in FLexLib 
+			// with MDI windows not responding well to being maximized
+			private var savedWindowWidth:Number;
+			private var savedWindowHeight:Number;
+			private var savedX:Number;
+			private var savedY:Number;
+			private var isMaximized:Boolean = false;
+			private var connection:NetConnection;
+      
+			[Bindable] private var baseIndex:int;
+			[Bindable] private var dsOptions:ScreenshareOptions;
+									
+			private function init():void{
+				dsOptions = new ScreenshareOptions();
+				baseIndex = dsOptions.baseTabIndex;
+			}
+									
+			private function onCreationComplete():void{
+        viewScreenshareStream();
+        
+				videoHolder.addChild(video);				
+				this.addChild(videoHolder);
+				videoHolder.percentWidth = 100;
+				videoHolder.percentHeight = 100;
+				addEventListener(MDIWindowEvent.RESIZE_END, onResizeEndEvent);				
+				fitToActualSize();				
+				maximize();
+				
+				resourcesChanged();
+				
+				titleBarOverlay.tabIndex = baseIndex;
+				minimizeBtn.tabIndex = baseIndex+1;
+				maximizeRestoreBtn.tabIndex = baseIndex+2;
+				closeBtn.tabIndex = baseIndex+3;
+               
+        var logData:Object = new Object();
+        logData.width = videoWidth;
+        logData.height = videoHeight;
+        logData.streamId = streamId;
+        
+        JSLog.debug(LOG + "onCreationComplete", logData);
+			}
+			
+			private function onResizeEndEvent(event:MDIWindowEvent):void {
+				if (event.window == this && streamAvailable) {
+					fitToWindow();
+				}
+			}
+					
+			public function startVideo(connection:NetConnection):void{
+        var logData:Object = new Object();
+        logData.width = videoWidth;
+        logData.height = videoHeight;
+        logData.streamId = streamId;
+        
+        JSLog.debug(LOG + "startVideo", logData);
+        
+				this.connection = connection;
+			}
+			            
+      private function viewScreenshareStream():void{
+        videoWidth = ScreenshareModel.getInstance().width;
+        videoHeight = ScreenshareModel.getInstance().height;
+        streamId = ScreenshareModel.getInstance().streamId;
+        
+        var logData:Object = new Object();
+        logData.width = videoWidth;
+        logData.height = videoHeight;
+        logData.streamId = streamId;
+        
+        JSLog.debug(LOG + "viewScreenshareStream Chrome", logData);
+        
+        ns = new NetStream(connection);
+        ns.addEventListener( NetStatusEvent.NET_STATUS, onNetStatus );
+        ns.addEventListener(AsyncErrorEvent.ASYNC_ERROR, onAsyncError);
+        ns.client = this;
+        ns.bufferTime = 0;
+        ns.receiveVideo(true);
+        ns.receiveAudio(false);
+        
+        video = new Video(videoWidth, videoHeight);
+        video.width = videoWidth;
+        video.height = videoHeight;
+        video.smoothing = true;
+        video.attachNetStream(ns);
+        ns.play(streamId);	
+        this.title = "Viewing Remote Desktop";
+        streamAvailable = true;
+        
+        fitToWindow();
+      }
+      
+      public function onMetaData(info:Object):void{
+        trace("metadata: width=" + info.width + " height=" + info.height);
+        
+        var logData:Object = new Object();
+        logData.width = info.width;
+        logData.height = info.height;
+        
+        JSLog.debug(LOG + "onMetaData", logData);
+      }
+      
+      protected function updateButtonsPosition():void {
+        if (this.width < bottomBar.width) {
+          bottomBar.visible = false;
+        }
+        
+        if (bottomBar.visible == false) {
+          bottomBar.y = bottomBar.x = 0;
+        } else {
+          bottomBar.y = (this.height - bottomBar.height) / 2;
+          bottomBar.x = (this.width - bottomBar.width) / 2;
+        }
+      }
+      
+			public function stopViewing():void {
+				ns.close();
+				closeWindow();				
+			}
+			
+			private function onStopViewStreamEvent(event:ViewStreamEvent):void {
+				stopViewing();
+			}
+						
+			private function onAsyncError(e:AsyncErrorEvent):void{
+        LOGGER.debug("asyncerror " + e.toString());
+        var logData:Object = new Object();
+        logData.error = e.toString();
+        JSLog.debug(LOG + "asyncerror ", logData);
+			}
+			
+			private function onNetStatus(e:NetStatusEvent):void{
+        var logData:Object = new Object();
+        logData.stream = streamId;
+        
+				switch(e.info.code){
+  				case "NetStream.Play.Start":
+            LOGGER.debug("NetStream.Publish.Start for broadcast stream " + streamId);
+            JSLog.debug(LOG + "NetStream.Publish.Start for broadcast stream ", logData);
+  					break;
+  				case "NetStream.Play.UnpublishNotify":
+            LOGGER.debug("NetStream.Play.UnpublishNotify for broadcast stream " + streamId);
+            JSLog.debug(LOG + "NetStream.Play.UnpublishNotify for broadcast stream ", logData);
+  					stopViewing();
+  					break;
+				}
+			}
+			
+			public function getPrefferedPosition():String{
+				return MainCanvas.DESKTOP_SHARING_VIEW;
+			}
+												
+			/**
+			 * resizes the desktop sharing video to fit to this window
+			 */
+			private function fitToWindow():void{
+        if (!streamAvailable) return;
+        
+				if (videoIsSmallerThanWindow()) {
+					fitWindowToVideo();
+				}
+				
+				// Ignore if we are displaying the actual size of the video
+				if (! btnActualSize.selected) {
+					fitVideoToWindow();
+				}
+			}
+			
+			private function fitVideoToWindow():void {
+				if (this.width < this.height) {
+					fitToWidthAndAdjustHeightToMaintainAspectRatio();				
+				} else {
+					fitToHeightAndAdjustWidthToMaintainAspectRatio();
+				}				
+			}
+						
+			private function fitWindowToVideo():void {	
+				video.width = videoWidth;
+				videoHolder.width = videoWidth;
+				video.height = videoHeight;
+				videoHolder.height = videoHeight;			
+				this.height = videoHeight + VIDEO_HEIGHT_PADDING;
+				this.width = videoWidth + VIDEO_WIDTH_PADDING;
+			}
+			
+			private function videoIsSmallerThanWindow():Boolean {
+				return (videoHeight < this.height) && (videoWidth < this.width);
+			}
+			
+		
+			private function fitToWidthAndAdjustHeightToMaintainAspectRatio():void {
+					video.width = this.width - VIDEO_WIDTH_PADDING;
+					videoHolder.width = video.width;
+					// Maintain aspect-ratio
+					video.height = (videoHeight * video.width) / videoWidth;
+					videoHolder.height = video.height;
+					this.height = video.height + VIDEO_HEIGHT_PADDING;					
+			}
+				
+			private function fitToHeightAndAdjustWidthToMaintainAspectRatio():void {
+					video.height = this.height - VIDEO_HEIGHT_PADDING;
+					videoHolder.height = video.height;
+					// Maintain aspect-ratio
+					video.width = (videoWidth * video.height) / videoHeight;
+					videoHolder.width = video.width;
+					this.width = video.width + VIDEO_WIDTH_PADDING;					
+			}
+								
+			/**
+			 * resizes the desktop sharing video to actual video resolution
+			 */
+			private function fitToActualSize():void{
+				if (videoIsSmallerThanWindow()) {
+					fitWindowToVideo();
+				} else {
+					video.width = videoWidth;
+					videoHolder.width = videoWidth;
+					video.height = videoHeight;
+					videoHolder.height = videoHeight;					
+				}
+			}
+			
+			private function determineHowToDisplayVideo():void {
+				if (btnActualSize.selected) {
+					fitToActualSize();			
+					btnActualSize.toolTip = ResourceUtil.getInstance().getString('bbb.screenshareView.fitToWindow');	
+					btnActualSize.label = ResourceUtil.getInstance().getString('bbb.screenshareView.fitToWindow');
+				} else {
+					fitToWindow();
+					btnActualSize.toolTip = ResourceUtil.getInstance().getString('bbb.screenshareView.actualSize');
+					btnActualSize.label = ResourceUtil.getInstance().getString('bbb.screenshareView.actualSize');
+				}
+			}
+			
+			private function closeWindow():void {
+				dispatchEvent(new ViewWindowEvent(ViewWindowEvent.CLOSE));
+			}
+			
+			override protected function resourcesChanged():void{
+				super.resourcesChanged();
+				this.title = ResourceUtil.getInstance().getString('bbb.screenshareView.title');
+				
+				if (windowControls != null) {
+					minimizeBtn.toolTip = ResourceUtil.getInstance().getString("bbb.window.minimizeBtn.toolTip");
+					minimizeBtn.accessibilityName = ResourceUtil.getInstance().getString("bbb.screenshareView.minimizeBtn.accessibilityName");
+
+					maximizeRestoreBtn.toolTip = ResourceUtil.getInstance().getString("bbb.window.maximizeRestoreBtn.toolTip");
+					maximizeRestoreBtn.accessibilityName = ResourceUtil.getInstance().getString("bbb.screenshareView.maximizeRestoreBtn.accessibilityName");
+
+					closeBtn.toolTip = ResourceUtil.getInstance().getString("bbb.window.closeBtn.toolTip");
+					closeBtn.accessibilityName = ResourceUtil.getInstance().getString("bbb.screenshareView.closeBtn.accessibilityName");
+				}
+			}
+			
+			private function localeChanged(e:Event):void{
+				resourcesChanged();
+			}
+            
+       public function handleDisconnectedEvent(event:BBBEvent):void {
+          if (event.payload.type == ReconnectionManager.DESKSHARE_CONNECTION) {
+            closeWindow();  
+          }
+      }
+			
+		]]>
+    </mx:Script>
+
+    <mx:HBox id="bottomBar" visible="true" height="30" horizontalAlign="center" paddingTop="0" paddingBottom="0" width="100%">
+        <mx:Button id="btnActualSize"
+                   paddingTop="0"
+                   paddingBottom="0"
+                   styleName="deskshareControlButtonStyle"
+                   toggle="true"
+                   click="determineHowToDisplayVideo()"
+                   selected="false"
+                   height="90%"
+                   label="{    btnActualSize.selected ? ResourceUtil.getInstance().getString('bbb.screenshareView.fitToWindow') : ResourceUtil.getInstance().getString('bbb.screenshareView.actualSize')    }"
+                   toolTip="{    btnActualSize.selected ? ResourceUtil.getInstance().getString('bbb.screenshareView.fitToWindow') : ResourceUtil.getInstance().getString('bbb.screenshareView.actualSize')    }"
+                   tabIndex="{    baseIndex + 4    }" />
+    </mx:HBox>
+</MDIWindow>
diff --git a/bigbluebutton-web/grails-app/controllers/org/bigbluebutton/web/controllers/ApiController.groovy b/bigbluebutton-web/grails-app/controllers/org/bigbluebutton/web/controllers/ApiController.groovy
index c99b5edf5f7bee0ee5ca51a008f5edc7f6e6f5de..23bc08cc01b3a26f0ce5d964e57fb5ed3b15ce50 100755
--- a/bigbluebutton-web/grails-app/controllers/org/bigbluebutton/web/controllers/ApiController.groovy
+++ b/bigbluebutton-web/grails-app/controllers/org/bigbluebutton/web/controllers/ApiController.groovy
@@ -393,8 +393,13 @@ class ApiController {
         // Check if this config is one of our pre-built config
         configxml = configService.getConfig(params.configToken)
         if (configxml == null) {
-          // Default to the default config.
-          configxml = conf.config;
+          // BEGIN - backward compatibility
+          invalid("noConfigFound","We could not find a config for this request.", REDIRECT_RESPONSE);
+          return
+          // END - backward compatibility
+
+          errors.noConfigFound();
+          respondWithErrors(errors);
         }
       } else {
         configxml = conf.config;
@@ -402,6 +407,11 @@ class ApiController {
     } else {
       Config conf = meeting.getDefaultConfig();
       if (conf == null) {
+        // BEGIN - backward compatibility
+        invalid("noConfigFound","We could not find a config for this request.", REDIRECT_RESPONSE);
+        return
+        // END - backward compatibility
+
         errors.noConfigFound();
         respondWithErrors(errors);
       } else {
@@ -410,6 +420,11 @@ class ApiController {
     }
 
     if (StringUtils.isEmpty(configxml)) {
+      // BEGIN - backward compatibility
+      invalid("noConfigFound","We could not find a config for this request.", REDIRECT_RESPONSE);
+      return
+      // END - backward compatibility
+
       errors.noConfigFound();
       respondWithErrors(errors);
     }