diff --git a/reviewboard/static/rb/css/pages/diffviewer.less b/reviewboard/static/rb/css/pages/diffviewer.less
index 6868b19bfe0c0b6b6ebeddbc6c289148aca95cb4..0afdf32236cb5ed9a4ece78fd956eda815835df6 100644
--- a/reviewboard/static/rb/css/pages/diffviewer.less
+++ b/reviewboard/static/rb/css/pages/diffviewer.less
@@ -474,6 +474,7 @@
       font-size: 100%;
       font-weight: normal;
       padding: 8px 0;
+      word-break: break-all;
 
       &.revision-col {
         overflow: hidden;
diff --git a/reviewboard/static/rb/css/pages/reviews.less b/reviewboard/static/rb/css/pages/reviews.less
index e41972b61b9594a7b0585309681d69313890da2d..f4a52f65039364c16d58610072ab013b7817665d 100644
--- a/reviewboard/static/rb/css/pages/reviews.less
+++ b/reviewboard/static/rb/css/pages/reviews.less
@@ -65,6 +65,44 @@
   }
 }
 
+.actions-mobile-menu-toggle {
+  height: 25px;
+  float: right;
+
+  span {
+    display: none;
+    padding-left: 10px;
+    cursor: pointer;
+    line-height: 25px;
+    border-left: 1px @review-request-action-border-color solid;
+
+    &:hover {
+      background-color: @review-request-action-hover-bg;
+    }
+
+    &:active {
+      background-color: @review-request-action-active-bg;
+    }
+  }
+
+  .on-mobile-medium-screen-720({
+    span {
+      display: block;
+      height: 25px;
+    }
+
+    &:hover > .actions {
+      visibility: visible;
+      .opacity(100);
+    }
+
+    > .actions {
+      display: block !important;
+      visibility: hidden;
+      .opacity(0);
+    }
+  });
+}
 
 .actions {
   float: right;
@@ -73,6 +111,13 @@
   padding: 0;
   white-space: nowrap;
 
+  .on-mobile-medium-screen-720({
+    position: relative;
+    margin-right: 30px;
+    display: none;
+    border: 1px solid #957D2C;
+  });
+
   a {
     color: black;
     cursor: pointer;
@@ -91,6 +136,11 @@
     float: left;
     margin: 0;
     padding: 0;
+    background-color: @review-request-action-bg;
+
+    .on-mobile-medium-screen-720({
+      float: none;
+    });
 
     &:hover {
       background-color: @review-request-action-hover-bg;
@@ -349,6 +399,11 @@
     width: @details-width;
     padding: @box-padding;
 
+    .on-mobile-medium-screen-720({
+      float: none;
+      width: 100%;
+    });
+
     a {
       color: @review-request-link-color;
       text-decoration: none;
@@ -444,6 +499,10 @@
     margin-right: @details-width;
     position: relative;
 
+    .on-mobile-medium-screen-720({
+      margin-right: 0px;
+    });
+
     label {
       font-size: 120%;
     }
@@ -1136,6 +1195,10 @@
           padding: 0.5em 0;
           vertical-align: top;
           white-space: nowrap;
+
+          .on-mobile-medium-screen-720({
+            white-space: normal;
+          });
         }
 
         &>td {
@@ -2285,6 +2348,10 @@
   width: 60em;
   height: 16em;
 
+  .on-mobile-medium-screen-720({
+    width: auto;
+  });
+
   #prompt-for-basedir,
   #prompt-for-diff,
   #prompt-for-parent-diff,
@@ -2338,4 +2405,18 @@
 }
 
 
+/****************************************************************************
+ * "Upload File" dialog
+ ****************************************************************************/
+.upload-attachment {
+  .formdlg {
+    width: 60em;
+
+    .on-mobile-medium-screen-720({
+      width: auto;
+    });
+  }
+}
+
+
 // vim: set et ts=2 sw=2:
diff --git a/reviewboard/static/rb/js/views/commentDialogView.js b/reviewboard/static/rb/js/views/commentDialogView.js
index c444dc216dce7597596db408d33ce91d4bb47da6..e280d197ff2f9bc8c65ddd4f9c8865a67f7816fe 100644
--- a/reviewboard/static/rb/js/views/commentDialogView.js
+++ b/reviewboard/static/rb/js/views/commentDialogView.js
@@ -98,7 +98,7 @@ RB.CommentDialogView = Backbone.View.extend({
     DIALOG_NON_EDITABLE_HEIGHT: 120,
     SLIDE_DISTANCE: 10,
     COMMENTS_BOX_WIDTH: 280,
-    FORM_BOX_WIDTH: 430,
+    FORM_BOX_WIDTH: Math.min(430, window.innerWidth),
 
     className: 'comment-dlg',
     template: _.template([
diff --git a/reviewboard/static/rb/js/views/uploadAttachmentView.js b/reviewboard/static/rb/js/views/uploadAttachmentView.js
index 540c0af02d42e05c3f2371c284ad72e212790d55..077315d6b3ff976099cd4d296e21258ec89b6a13 100644
--- a/reviewboard/static/rb/js/views/uploadAttachmentView.js
+++ b/reviewboard/static/rb/js/views/uploadAttachmentView.js
@@ -4,7 +4,7 @@
 RB.UploadAttachmentView = Backbone.View.extend({
     className: 'upload-attachment',
     template: _.template([
-        '<div class="formdlg" style="width: 50em;">',
+        '<div class="formdlg">',
         ' <div class="error" style="display: none;"></div>',
         ' <form encoding="multipart/form-data" enctype="multipart/form-data"',
         '       id="attachment-upload-form">',
diff --git a/reviewboard/templates/base/headerbar.html b/reviewboard/templates/base/headerbar.html
index 0a5d98fa27f53b1507dff84d401304305f6b0037..01bd3757cafdef84e9ff8b8b8d31bde0b17b891f 100644
--- a/reviewboard/templates/base/headerbar.html
+++ b/reviewboard/templates/base/headerbar.html
@@ -19,4 +19,4 @@
 {% endif %}
  </div>
  <div id="mobile-menu-mask"></div>
-</div>
\ No newline at end of file
+</div>
diff --git a/reviewboard/templates/diffviewer/view_diff.html b/reviewboard/templates/diffviewer/view_diff.html
index 236c9b876011674698fc1300143e276bfd11f5fa..5b2313fa2aa0baf1d82589b4732a17e169a65838 100644
--- a/reviewboard/templates/diffviewer/view_diff.html
+++ b/reviewboard/templates/diffviewer/view_diff.html
@@ -29,13 +29,16 @@
 {%   box "review-request" %}
 <div class="actions-container">
 {%    star review_request %}
- <ul class="actions">
-{%    include "reviews/review_request_actions_secondary.html" %}
-{%    diffviewer_action_hooks %}
-  <li class="primary" id="download-diff" {% if interdiffset %}style="display: none;"{% endif %}><a href="raw/">{% trans "Download Diff" %}</a></li>
-{%    include "reviews/review_request_actions_primary.html" %}
-  <li class="primary"><a href="{{review_request.get_absolute_url}}">{% trans "View Reviews" %}</a></li>
- </ul>
+ <div class="actions-mobile-menu-toggle">
+  <span>Actions</span>
+  <ul class="actions">
+{%     include "reviews/review_request_actions_secondary.html" %}
+{%     diffviewer_action_hooks %}
+   <li class="primary" id="download-diff" {% if interdiffset %}style="display: none;"{% endif %}><a href="raw/">{% trans "Download Diff" %}</a></li>
+{%     include "reviews/review_request_actions_primary.html" %}
+   <li class="primary"><a href="{{review_request.get_absolute_url}}">{% trans "View Reviews" %}</a></li>
+  </ul>
+ </div>
 </div>
 
 <div class="main">
diff --git a/reviewboard/templates/reviews/review_detail.html b/reviewboard/templates/reviews/review_detail.html
index 8dec2dd80b5697914300c60279a147f2500ec883..c363faa898b429223321f8ec932c19999b0c3fd8 100644
--- a/reviewboard/templates/reviews/review_detail.html
+++ b/reviewboard/templates/reviews/review_detail.html
@@ -21,18 +21,21 @@
 {%  box "review-request" %}
  <div class="actions-container">
 {%   star review_request %}
-  <ul class="actions">
-{%   review_request_action_hooks %}
-{%   review_request_dropdown_action_hooks %}
-{%   include "reviews/review_request_actions_secondary.html" %}
-{%   if has_diffs %}
-   <li class="primary"><a href="diff/raw/">{% trans "Download Diff" %}</a></li>
-{%   endif %}
-{%   include "reviews/review_request_actions_primary.html" %}
-{%   if has_diffs %}
-   <li class="primary"><a href="{% url 'view-diff' review_request.display_id %}#index_header">{% trans "View Diff" %}</a></li>
-{%   endif %}
-  </ul>
+  <div class="actions-mobile-menu-toggle">
+   <span>Actions</span>
+   <ul class="actions">
+{%    review_request_action_hooks %}
+{%    review_request_dropdown_action_hooks %}
+{%    include "reviews/review_request_actions_secondary.html" %}
+{%    if has_diffs %}
+    <li class="primary"><a href="diff/raw/">{% trans "Download Diff" %}</a></li>
+{%    endif %}
+{%    include "reviews/review_request_actions_primary.html" %}
+{%    if has_diffs %}
+    <li class="primary"><a href="{% url 'view-diff' review_request.display_id %}#index_header">{% trans "View Diff" %}</a></li>
+{%    endif %}
+   </ul>
+  </div>
  </div>
 
  <div class="main">
