diff --git a/themes/bs_bootstrap/bs_bootstrap.libraries.yml b/themes/bs_bootstrap/bs_bootstrap.libraries.yml
index 7d9a05e..696ddd9 100644
--- a/themes/bs_bootstrap/bs_bootstrap.libraries.yml
+++ b/themes/bs_bootstrap/bs_bootstrap.libraries.yml
@@ -8,6 +8,7 @@ global-styling:
       css/components/block.css: {}
       css/components/breadcrumb.css: {}
       css/components/buttons.css: {}
+      css/components/button-group.css: {}
       css/components/forms.css: {}
       css/components/entity.css: {}
       css/components/node.css: {}
diff --git a/themes/bs_bootstrap/css/base/elements.css b/themes/bs_bootstrap/css/base/elements.css
index 4f221e8..a04b967 100644
--- a/themes/bs_bootstrap/css/base/elements.css
+++ b/themes/bs_bootstrap/css/base/elements.css
@@ -660,3 +660,7 @@ sup {
 sub {
   bottom: -0.25em;
 }
+
+.table-responsive {
+  overflow-x: visible;
+}
diff --git a/themes/bs_bootstrap/css/components/block.css b/themes/bs_bootstrap/css/components/block.css
index 1efcc5c..9386e20 100644
--- a/themes/bs_bootstrap/css/components/block.css
+++ b/themes/bs_bootstrap/css/components/block.css
@@ -2,3 +2,7 @@
   margin-top: 1rem;
   margin-bottom: 1rem;
 }
+
+.block-local-actions-block {
+  list-style: none;
+}
diff --git a/themes/bs_bootstrap/css/components/button-group.css b/themes/bs_bootstrap/css/components/button-group.css
new file mode 100644
index 0000000..f4af557
--- /dev/null
+++ b/themes/bs_bootstrap/css/components/button-group.css
@@ -0,0 +1,180 @@
+.btn-group,
+.btn-group-vertical {
+  position: relative;
+  display: -webkit-inline-flex;
+  display: -ms-inline-flexbox;
+  display: inline-flex;
+  vertical-align: middle;
+}
+
+.btn-group > .btn,
+.btn-group-vertical > .btn {
+  position: relative;
+  -webkit-flex: 0 1 auto;
+      -ms-flex: 0 1 auto;
+          flex: 0 1 auto;
+}
+
+.btn-group > .btn:hover,
+.btn-group-vertical > .btn:hover {
+  z-index: 2;
+}
+
+.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,
+.btn-group-vertical > .btn:focus,
+.btn-group-vertical > .btn:active,
+.btn-group-vertical > .btn.active {
+  z-index: 2;
+}
+
+.btn-group .btn + .btn,
+.btn-group .btn + .btn-group,
+.btn-group .btn-group + .btn,
+.btn-group .btn-group + .btn-group,
+.btn-group-vertical .btn + .btn,
+.btn-group-vertical .btn + .btn-group,
+.btn-group-vertical .btn-group + .btn,
+.btn-group-vertical .btn-group + .btn-group {
+  margin-left: -1px;
+}
+
+.btn-toolbar {
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-justify-content: flex-start;
+      -ms-flex-pack: start;
+          justify-content: flex-start;
+}
+
+.btn-toolbar .input-group {
+  width: auto;
+}
+
+.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
+  border-radius: 0;
+}
+
+.btn-group > .btn:first-child {
+  margin-left: 0;
+}
+
+.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {
+  border-bottom-right-radius: 0;
+  border-top-right-radius: 0;
+}
+
+.btn-group > .btn:last-child:not(:first-child),
+.btn-group > .dropdown-toggle:not(:first-child) {
+  border-bottom-left-radius: 0;
+  border-top-left-radius: 0;
+}
+
+.btn-group > .btn-group {
+  float: left;
+}
+
+.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
+  border-radius: 0;
+}
+
+.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,
+.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
+  border-bottom-right-radius: 0;
+  border-top-right-radius: 0;
+}
+
+.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {
+  border-bottom-left-radius: 0;
+  border-top-left-radius: 0;
+}
+
+.btn-group .dropdown-toggle:active,
+.btn-group.open .dropdown-toggle {
+  outline: 0;
+}
+
+.btn + .dropdown-toggle-split {
+  padding-right: 0.75rem;
+  padding-left: 0.75rem;
+}
+
+.btn + .dropdown-toggle-split::after {
+  margin-left: 0;
+}
+
+.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {
+  padding-right: 0.375rem;
+  padding-left: 0.375rem;
+}
+
+.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {
+  padding-right: 1.125rem;
+  padding-left: 1.125rem;
+}
+
+.btn-group-vertical {
+  display: -webkit-inline-flex;
+  display: -ms-inline-flexbox;
+  display: inline-flex;
+  -webkit-flex-direction: column;
+      -ms-flex-direction: column;
+          flex-direction: column;
+  -webkit-align-items: flex-start;
+      -ms-flex-align: start;
+          align-items: flex-start;
+  -webkit-justify-content: center;
+      -ms-flex-pack: center;
+          justify-content: center;
+}
+
+.btn-group-vertical .btn,
+.btn-group-vertical .btn-group {
+  width: 100%;
+}
+
+.btn-group-vertical > .btn + .btn,
+.btn-group-vertical > .btn + .btn-group,
+.btn-group-vertical > .btn-group + .btn,
+.btn-group-vertical > .btn-group + .btn-group {
+  margin-top: -1px;
+  margin-left: 0;
+}
+
+.btn-group-vertical > .btn:not(:first-child):not(:last-child) {
+  border-radius: 0;
+}
+
+.btn-group-vertical > .btn:first-child:not(:last-child) {
+  border-bottom-right-radius: 0;
+  border-bottom-left-radius: 0;
+}
+
+.btn-group-vertical > .btn:last-child:not(:first-child) {
+  border-top-right-radius: 0;
+  border-top-left-radius: 0;
+}
+
+.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
+  border-radius: 0;
+}
+
+.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,
+.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
+  border-bottom-right-radius: 0;
+  border-bottom-left-radius: 0;
+}
+
+.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {
+  border-top-right-radius: 0;
+  border-top-left-radius: 0;
+}
+
+[data-toggle="buttons"] > .btn input[type="radio"],
+[data-toggle="buttons"] > .btn input[type="checkbox"],
+[data-toggle="buttons"] > .btn-group > .btn input[type="radio"],
+[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] {
+  position: absolute;
+  clip: rect(0, 0, 0, 0);
+  pointer-events: none;
+}
diff --git a/themes/bs_bootstrap/css/components/forms.css b/themes/bs_bootstrap/css/components/forms.css
index edbc45d..56b6e8f 100644
--- a/themes/bs_bootstrap/css/components/forms.css
+++ b/themes/bs_bootstrap/css/components/forms.css
@@ -506,6 +506,14 @@ details > .details-wrapper {
   content: attr(data-browse);
 }
 
+.js td .dropbutton-widget {
+  position: relative;
+}
+
+.js td .dropbutton-widget a {
+  text-decoration: none;
+}
+
 @media (min-width: 576px) {
 
   .form-inline label {
diff --git a/themes/bs_bootstrap/sass/base/partials/_elements.scss b/themes/bs_bootstrap/sass/base/partials/_elements.scss
index 44e17ab..b3d3a19 100644
--- a/themes/bs_bootstrap/sass/base/partials/_elements.scss
+++ b/themes/bs_bootstrap/sass/base/partials/_elements.scss
@@ -70,3 +70,7 @@ sup {
 sub {
   bottom: -0.25em;
 }
+
+.table-responsive {
+  overflow-x: visible;
+}
diff --git a/themes/bs_bootstrap/sass/components/button-group.scss b/themes/bs_bootstrap/sass/components/button-group.scss
new file mode 100644
index 0000000..8c5c753
--- /dev/null
+++ b/themes/bs_bootstrap/sass/components/button-group.scss
@@ -0,0 +1,2 @@
+@import "init";
+@import "bootstrap/scss/button-group";
diff --git a/themes/bs_bootstrap/sass/components/partials/_block.scss b/themes/bs_bootstrap/sass/components/partials/_block.scss
index a211de7..8d15bc6 100644
--- a/themes/bs_bootstrap/sass/components/partials/_block.scss
+++ b/themes/bs_bootstrap/sass/components/partials/_block.scss
@@ -4,3 +4,7 @@
   margin-top: $spacer-y;
   margin-bottom: $spacer-y;
 }
+
+.block-local-actions-block {
+  list-style: none;
+}
diff --git a/themes/bs_bootstrap/sass/components/partials/_forms.scss b/themes/bs_bootstrap/sass/components/partials/_forms.scss
index 4aeb801..93f6438 100644
--- a/themes/bs_bootstrap/sass/components/partials/_forms.scss
+++ b/themes/bs_bootstrap/sass/components/partials/_forms.scss
@@ -58,3 +58,11 @@ details {
     content: attr(data-browse);
   }
 }
+
+.js td .dropbutton-widget {
+  position: relative;
+
+  a {
+    text-decoration: none;
+  }
+}
diff --git a/themes/bs_bootstrap/templates/form/links--dropbutton--operations.html.twig b/themes/bs_bootstrap/templates/form/links--dropbutton--operations.html.twig
new file mode 100644
index 0000000..b87fcd7
--- /dev/null
+++ b/themes/bs_bootstrap/templates/form/links--dropbutton--operations.html.twig
@@ -0,0 +1,55 @@
+{#
+/**
+ * @file
+ * Default theme implementation for a set of links.
+ *
+ * Available variables:
+ * - attributes: Attributes for the UL containing the list of links.
+ * - links: Links to be output.
+ *   Each link will have the following elements:
+ *   - title: The link text.
+ *   - url: The link URL. If omitted, the 'title' is shown as a plain text
+ *     item in the links list. If 'url' is supplied, the entire link is passed
+ *     to l() as its $options parameter.
+ *   - attributes: (optional) HTML attributes for the anchor, or for the <span>
+ *     tag if no 'url' is supplied.
+ * - heading: (optional) A heading to precede the links.
+ *   - text: The heading text.
+ *   - level: The heading level (e.g. 'h2', 'h3').
+ *   - attributes: (optional) A keyed list of attributes for the heading.
+ *   If the heading is a string, it will be used as the text of the heading and
+ *   the level will default to 'h2'.
+ *
+ *   Headings should be used on navigation menus and any list of links that
+ *   consistently appears on multiple pages. To make the heading invisible use
+ *   the 'visually-hidden' CSS class. Do not use 'display:none', which
+ *   removes it from screen readers and assistive technology. Headings allow
+ *   screen reader and keyboard only users to navigate to or skip the links.
+ *   See http://juicystudio.com/article/screen-readers-display-none.php and
+ *   http://www.w3.org/TR/WCAG-TECHS/H42.html for more information.
+ *
+ * @see template_preprocess_links()
+ *
+ * @ingroup themeable
+ */
+#}
+{{ attach_library('bs_bootstrap/dropdown') }}
+{% if links -%}
+  <div class="btn-group">
+    <button type="button" class="btn btn-secondary">
+      {{ links|first }}
+    </button>
+    <button type="button" class="btn btn-secondary dropdown-toggle dropdown-toggle-split" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
+      <span class="sr-only">Toggle Dropdown</span>
+    </button>
+    <ul class="dropdown-menu dropdown-menu-right">
+      {% for item in links|slice(1) %}
+        <li class="dropdown-item">
+          {% if item.link %}
+            {{ item.link }}
+          {% endif %}
+        </li>
+      {% endfor %}
+    </ul>
+  </div>
+{% endif %}
diff --git a/themes/bs_bootstrap/templates/navigation/menu-local-action.html.twig b/themes/bs_bootstrap/templates/navigation/menu-local-action.html.twig
new file mode 100644
index 0000000..cab4aa9
--- /dev/null
+++ b/themes/bs_bootstrap/templates/navigation/menu-local-action.html.twig
@@ -0,0 +1,18 @@
+{#
+/**
+ * @file
+ * Default theme implementation for a single local action link.
+ *
+ * Available variables:
+ * - attributes: HTML attributes for the wrapper element.
+ * - link: A rendered link element.
+ *
+ * @see template_preprocess_menu_local_action()
+ *
+ * @ingroup themeable
+ */
+#}
+{# @see Drupal\Core\Render\Element\Link::preRenderLink() #}
+{% set classes = ['btn btn-primary'] %}
+{% set link = link|merge({'#options': {'attributes': {'class': classes}}}) %}
+<li{{ attributes }}>{{ link }}</li>
diff --git a/themes/starterkit_bootstrap/css/base/elements.css b/themes/starterkit_bootstrap/css/base/elements.css
index 4f221e8..a04b967 100644
--- a/themes/starterkit_bootstrap/css/base/elements.css
+++ b/themes/starterkit_bootstrap/css/base/elements.css
@@ -660,3 +660,7 @@ sup {
 sub {
   bottom: -0.25em;
 }
+
+.table-responsive {
+  overflow-x: visible;
+}
diff --git a/themes/starterkit_bootstrap/css/components/block.css b/themes/starterkit_bootstrap/css/components/block.css
index 1efcc5c..9386e20 100644
--- a/themes/starterkit_bootstrap/css/components/block.css
+++ b/themes/starterkit_bootstrap/css/components/block.css
@@ -2,3 +2,7 @@
   margin-top: 1rem;
   margin-bottom: 1rem;
 }
+
+.block-local-actions-block {
+  list-style: none;
+}
diff --git a/themes/starterkit_bootstrap/css/components/button-group.css b/themes/starterkit_bootstrap/css/components/button-group.css
new file mode 100644
index 0000000..f4af557
--- /dev/null
+++ b/themes/starterkit_bootstrap/css/components/button-group.css
@@ -0,0 +1,180 @@
+.btn-group,
+.btn-group-vertical {
+  position: relative;
+  display: -webkit-inline-flex;
+  display: -ms-inline-flexbox;
+  display: inline-flex;
+  vertical-align: middle;
+}
+
+.btn-group > .btn,
+.btn-group-vertical > .btn {
+  position: relative;
+  -webkit-flex: 0 1 auto;
+      -ms-flex: 0 1 auto;
+          flex: 0 1 auto;
+}
+
+.btn-group > .btn:hover,
+.btn-group-vertical > .btn:hover {
+  z-index: 2;
+}
+
+.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,
+.btn-group-vertical > .btn:focus,
+.btn-group-vertical > .btn:active,
+.btn-group-vertical > .btn.active {
+  z-index: 2;
+}
+
+.btn-group .btn + .btn,
+.btn-group .btn + .btn-group,
+.btn-group .btn-group + .btn,
+.btn-group .btn-group + .btn-group,
+.btn-group-vertical .btn + .btn,
+.btn-group-vertical .btn + .btn-group,
+.btn-group-vertical .btn-group + .btn,
+.btn-group-vertical .btn-group + .btn-group {
+  margin-left: -1px;
+}
+
+.btn-toolbar {
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-justify-content: flex-start;
+      -ms-flex-pack: start;
+          justify-content: flex-start;
+}
+
+.btn-toolbar .input-group {
+  width: auto;
+}
+
+.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
+  border-radius: 0;
+}
+
+.btn-group > .btn:first-child {
+  margin-left: 0;
+}
+
+.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {
+  border-bottom-right-radius: 0;
+  border-top-right-radius: 0;
+}
+
+.btn-group > .btn:last-child:not(:first-child),
+.btn-group > .dropdown-toggle:not(:first-child) {
+  border-bottom-left-radius: 0;
+  border-top-left-radius: 0;
+}
+
+.btn-group > .btn-group {
+  float: left;
+}
+
+.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
+  border-radius: 0;
+}
+
+.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,
+.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
+  border-bottom-right-radius: 0;
+  border-top-right-radius: 0;
+}
+
+.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {
+  border-bottom-left-radius: 0;
+  border-top-left-radius: 0;
+}
+
+.btn-group .dropdown-toggle:active,
+.btn-group.open .dropdown-toggle {
+  outline: 0;
+}
+
+.btn + .dropdown-toggle-split {
+  padding-right: 0.75rem;
+  padding-left: 0.75rem;
+}
+
+.btn + .dropdown-toggle-split::after {
+  margin-left: 0;
+}
+
+.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {
+  padding-right: 0.375rem;
+  padding-left: 0.375rem;
+}
+
+.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {
+  padding-right: 1.125rem;
+  padding-left: 1.125rem;
+}
+
+.btn-group-vertical {
+  display: -webkit-inline-flex;
+  display: -ms-inline-flexbox;
+  display: inline-flex;
+  -webkit-flex-direction: column;
+      -ms-flex-direction: column;
+          flex-direction: column;
+  -webkit-align-items: flex-start;
+      -ms-flex-align: start;
+          align-items: flex-start;
+  -webkit-justify-content: center;
+      -ms-flex-pack: center;
+          justify-content: center;
+}
+
+.btn-group-vertical .btn,
+.btn-group-vertical .btn-group {
+  width: 100%;
+}
+
+.btn-group-vertical > .btn + .btn,
+.btn-group-vertical > .btn + .btn-group,
+.btn-group-vertical > .btn-group + .btn,
+.btn-group-vertical > .btn-group + .btn-group {
+  margin-top: -1px;
+  margin-left: 0;
+}
+
+.btn-group-vertical > .btn:not(:first-child):not(:last-child) {
+  border-radius: 0;
+}
+
+.btn-group-vertical > .btn:first-child:not(:last-child) {
+  border-bottom-right-radius: 0;
+  border-bottom-left-radius: 0;
+}
+
+.btn-group-vertical > .btn:last-child:not(:first-child) {
+  border-top-right-radius: 0;
+  border-top-left-radius: 0;
+}
+
+.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
+  border-radius: 0;
+}
+
+.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,
+.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
+  border-bottom-right-radius: 0;
+  border-bottom-left-radius: 0;
+}
+
+.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {
+  border-top-right-radius: 0;
+  border-top-left-radius: 0;
+}
+
+[data-toggle="buttons"] > .btn input[type="radio"],
+[data-toggle="buttons"] > .btn input[type="checkbox"],
+[data-toggle="buttons"] > .btn-group > .btn input[type="radio"],
+[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] {
+  position: absolute;
+  clip: rect(0, 0, 0, 0);
+  pointer-events: none;
+}
diff --git a/themes/starterkit_bootstrap/css/components/forms.css b/themes/starterkit_bootstrap/css/components/forms.css
index edbc45d..56b6e8f 100644
--- a/themes/starterkit_bootstrap/css/components/forms.css
+++ b/themes/starterkit_bootstrap/css/components/forms.css
@@ -506,6 +506,14 @@ details > .details-wrapper {
   content: attr(data-browse);
 }
 
+.js td .dropbutton-widget {
+  position: relative;
+}
+
+.js td .dropbutton-widget a {
+  text-decoration: none;
+}
+
 @media (min-width: 576px) {
 
   .form-inline label {
diff --git a/themes/starterkit_bootstrap/sass/components/button-group.scss b/themes/starterkit_bootstrap/sass/components/button-group.scss
new file mode 100644
index 0000000..493cf8d
--- /dev/null
+++ b/themes/starterkit_bootstrap/sass/components/button-group.scss
@@ -0,0 +1,2 @@
+@import "init";
+@import "bs_bootstrap/sass/components/button-group";
diff --git a/themes/starterkit_bootstrap/starterkit_bootstrap.libraries.yml b/themes/starterkit_bootstrap/starterkit_bootstrap.libraries.yml
index 956e7aa..679e579 100644
--- a/themes/starterkit_bootstrap/starterkit_bootstrap.libraries.yml
+++ b/themes/starterkit_bootstrap/starterkit_bootstrap.libraries.yml
@@ -8,6 +8,7 @@ global-styling:
       css/components/block.css: {}
       css/components/breadcrumb.css: {}
       css/components/buttons.css: {}
+      css/components/button-group.css: {}
       css/components/forms.css: {}
       css/components/entity.css: {}
       css/components/node.css: {}
