diff --git a/common/static/common/templates/discussion/templates.underscore b/common/static/common/templates/discussion/templates.underscore
index bff6c14af2b1611a9730edab25a13066ab2e7af5..0ddb6f2e539d72b9ead33696c0a9073a1a0d2f50 100644
--- a/common/static/common/templates/discussion/templates.underscore
+++ b/common/static/common/templates/discussion/templates.underscore
@@ -140,7 +140,7 @@
         <input id='edit-discussion-forum-title' aria-describedby="field_help_title" type="text" class="edit-post-title field-input" name="title" value="<%- title %>">
     </label>
 </div>
-<div class="form-row post-field">
+<div class="post-field">
     <p class="sr-only field-help" id="edit-post-editor-description"><%- gettext('Edit your post below.') %></p>
     <div class="edit-post-body" aria-describedby="edit-post-editor-description" name="body"><%- body %></div>
 </div>
@@ -241,9 +241,7 @@
 <div class="edit-post-form">
     <h<%- startHeader %>><%- gettext("Editing response") %></h<%- startHeader %>>
     <ul class="edit-post-form-errors"></ul>
-    <div class="form-row">
-        <div class="edit-post-body" name="body" data-id="<%- id %>"><%- body %></div>
-    </div>
+      <div class="edit-post-body" name="body" data-id="<%- id %>"><%- body %></div>
     <button type="submit" id="edit-response-submit"class="btn btn-primary post-update"><%- gettext("Update response") %></button>
     <button class="btn btn-outline-primary post-cancel"><%- gettext("Cancel") %></button>
 </div>
@@ -290,9 +288,7 @@
 <div class="edit-post-form" id="comment_<%- id %>">
     <h<%- startHeader %> ><%- gettext("Editing comment") %></h<%- startHeader%>>
     <ul class="edit-comment-form-errors"></ul>
-    <div class="form-row">
-        <div class="edit-comment-body" name="body" data-id="<%- id %>"><%- body %></div>
-    </div>
+      <div class="edit-comment-body" name="body" data-id="<%- id %>"><%- body %></div>
     <button type="submit" id="edit-comment-submit" class="btn btn-primary post-update"><%- gettext("Update comment") %></button>
     <button class="btn btn-outline-primary post-cancel"><%- gettext("Cancel") %></button>
 </div>
diff --git a/lms/djangoapps/discussion/views.py b/lms/djangoapps/discussion/views.py
index aac52ce560ae096efd3c20bd0c13dec70190fbbd..0b548f306fd7d9d1b10935b5a69b3a048392e502 100644
--- a/lms/djangoapps/discussion/views.py
+++ b/lms/djangoapps/discussion/views.py
@@ -697,6 +697,8 @@ class DiscussionBoardFragmentView(EdxFragmentView):
     """
     Component implementation of the discussion board.
     """
+    _uses_pattern_library = False
+
     def render_to_fragment(
         self,
         request,
@@ -760,7 +762,7 @@ class DiscussionBoardFragmentView(EdxFragmentView):
             log.warning('Forum is in maintenance mode')
             html = render_to_string('discussion/maintenance_fragment.html', {
                 'disable_courseware_js': True,
-                'uses_pattern_library': True,
+                'uses_bootstrap': True,
             })
             fragment = Fragment(html)
             self.add_fragment_resource_urls(fragment)
@@ -774,7 +776,7 @@ class DiscussionBoardFragmentView(EdxFragmentView):
             )
             html = render_to_string('discussion/discussion_private_fragment.html', {
                 'disable_courseware_js': True,
-                'uses_pattern_library': True,
+                'uses_bootstrap': True,
             })
             fragment = Fragment(html)
             self.add_fragment_resource_urls(fragment)
diff --git a/lms/static/sass/bootstrap/_components.scss b/lms/static/sass/bootstrap/_components.scss
index cc219e1d1372454bdd9905319514fbaf9984676a..64282e83fc4e428183bd16054f3a8fd9e6f47462 100644
--- a/lms/static/sass/bootstrap/_components.scss
+++ b/lms/static/sass/bootstrap/_components.scss
@@ -45,3 +45,57 @@
   text-decoration: underline;
   font-weight: bold;
 }
+
+.alert-error {
+  box-shadow: inset 0 0 0 4px $palette-error-back;
+
+  .alert-copy:last-child {
+    margin-bottom: 0;
+  }
+}
+
+.alert-error .alert-icon {
+  align-self: center;
+  color: $white;
+  background-color: $palette-error-accent;
+  display: none;
+  border-radius: 50%;
+  padding: 0.625rem;
+
+  @include media-breakpoint-up(md) {
+    display: block;
+  }
+}
+
+.alert-message-with-action {
+  @include media-breakpoint-up(md) {
+    width: 80%;
+    padding: 1.25rem;
+    padding-top: 0;
+    padding-bottom: 0;
+  }
+
+  .alert-copy {
+    display: inline-block;
+    vertical-align: sub;
+  }
+}
+
+// Discussion
+.discussion {
+  .btn-link {
+    border-color: transparent
+  }
+
+  .breadcrumbs {
+    font-size: 0.875rem;
+
+    .all-topics {
+      border: none;
+    }
+  }
+
+  .field-label-text {
+    font-size: 1rem
+  }
+}
diff --git a/lms/static/sass/bootstrap/_legacy.scss b/lms/static/sass/bootstrap/_legacy.scss
index 678df10fb72277d7a145691cc6b0ffd107736db1..5db46a64ed1f7db5bfd1421cc17207595dc81ebf 100644
--- a/lms/static/sass/bootstrap/_legacy.scss
+++ b/lms/static/sass/bootstrap/_legacy.scss
@@ -143,6 +143,9 @@ $state-danger-text: $black !default;
 $state-danger-bg: #f2dede !default;
 $state-danger-border: darken($state-danger-bg, 5%) !default;
 
+$palette-error-accent: #cb0712;
+$palette-error-back: #feeced;
+
 // logo colors
 $micromasters-color: #005585 !default;
 $zebra-stripe-color: rgb(249, 250, 252) !default;