diff --git a/src/components.d.ts b/src/components.d.ts
index 66dee2dd0e5bef632c2ccf5fc89f7ce57ad83a74..208b883686b202183d3aa557d83b2d0008cc3c4d 100644
--- a/src/components.d.ts
+++ b/src/components.d.ts
@@ -9,6 +9,7 @@ import {
   AccordionVariants,
   BreadcrumbVariants,
   ButtonVariants,
+  CheckboxVariants,
   ColorVariant,
   CourseVariants,
   CtaLinkButtonVariants,
@@ -195,9 +196,22 @@ export namespace Components {
     variant: ButtonVariants;
   }
   interface HyCheckbox {
+    /**
+     * Unique id for checkbox element
+     */
     checkboxId: string | number;
+    /**
+     * Label for input to describe
+     */
     checkboxLabel: string;
+    /**
+     * Value for input element
+     */
     checkboxValue: string | number;
+    /**
+     * Variant to deifne what style of checkbox to use
+     */
+    variant: CheckboxVariants;
   }
   interface HyContentList {
     dataItems: string;
@@ -1419,9 +1433,22 @@ declare namespace LocalJSX {
     variant?: ButtonVariants;
   }
   interface HyCheckbox {
+    /**
+     * Unique id for checkbox element
+     */
     checkboxId?: string | number;
+    /**
+     * Label for input to describe
+     */
     checkboxLabel?: string;
+    /**
+     * Value for input element
+     */
     checkboxValue?: string | number;
+    /**
+     * Variant to deifne what style of checkbox to use
+     */
+    variant?: CheckboxVariants;
   }
   interface HyContentList {
     dataItems?: string;
diff --git a/src/components/hy-checkbox/hy-checkbox.scss b/src/components/hy-checkbox/hy-checkbox.scss
index 1a5ddc416702ca19d80d1c81b06d88a8e223ecc5..5af23e8a19ceea5bd164aec1de2e6252dc563130 100644
--- a/src/components/hy-checkbox/hy-checkbox.scss
+++ b/src/components/hy-checkbox/hy-checkbox.scss
@@ -81,3 +81,113 @@
     }
   }
 }
+
+.hy-checkbox--button {
+  display: inline-block;
+  margin-right: 4px;
+  position: relative;
+
+  &__label {
+    @include font-size(12px, 14px);
+
+    align-items: center;
+    border: 0.5px solid var(--grayscale-medium-dark);
+    color: var(--link-blue);
+    display: inline-flex;
+    font-family: var(--main-font-family);
+    font-weight: 600;
+    letter-spacing: -0.3px;
+    padding: 12px 15px 12px 13px;
+    z-index: 1;
+
+    @include breakpoint($wide) {
+      @include font-size(14px, 18px);
+
+      letter-spacing: -0.4px;
+      padding: 9px 8px 9px 8px;
+    }
+  }
+
+  &__checkmark {
+    position: absolute;
+    right: 12px;
+    top: 0;
+    bottom: 0;
+
+    @include breakpoint($wide) {
+      right: 10px;
+      bottom: calc(50% + 10px);
+    }
+
+    svg {
+      bottom: 0;
+      left: 0;
+      position: absolute;
+      visibility: hidden;
+    }
+  }
+
+  &__label-icon {
+    height: 13px;
+    position: absolute;
+    width: 12px;
+
+    @include breakpoint($wide) {
+      padding: 10px;
+      right: -6px;
+      top: calc(50% + 5px);
+    }
+
+    svg {
+      background: var(--grayscale-white);
+      height: 12px;
+      left: 50%;
+      top: 50%;
+      transform: translate(-50%, -50%);
+      width: 12px;
+    }
+  }
+
+  &__checkbox {
+    height: 100%;
+    margin: 0;
+    opacity: 0;
+    position: absolute;
+    width: 100%;
+    z-index: 10;
+
+    &:checked {
+      & + label {
+        border: 1px solid var(--grayscale-black);
+        color: var(--grayscale-black);
+        padding: 12px 15px 12px 13px;
+
+        @include breakpoint($wide) {
+          border: 2px solid var(--grayscale-black);
+          padding: 8px 26px 8px 7px;
+        }
+
+        .hy-checkbox--button__checkmark {
+          .hy-checkbox--button__label-icon {
+            background: var(--grayscale-white);
+          }
+
+          svg {
+            visibility: visible;
+          }
+        }
+      }
+    }
+
+    &:hover {
+      cursor: pointer;
+    }
+
+    &:focus {
+      & + label {
+        outline-offset: 1px;
+        outline: 1px solid var(--link-blue);
+      }
+    }
+  }
+}
diff --git a/src/components/hy-checkbox/hy-checkbox.tsx b/src/components/hy-checkbox/hy-checkbox.tsx
index 67999a9a0dbcdc874335f18ac5941598bc4ff3f0..53ab8374cf5e6516a5905be0bc09c9f8c75b841f 100644
--- a/src/components/hy-checkbox/hy-checkbox.tsx
+++ b/src/components/hy-checkbox/hy-checkbox.tsx
@@ -1,4 +1,5 @@
 import {Component, Host, h, Prop} from '@stencil/core';
+import {CheckboxVariants} from '../../utils/utils';
 
 @Component({
   tag: 'hy-checkbox',
@@ -6,25 +7,60 @@ import {Component, Host, h, Prop} from '@stencil/core';
   shadow: false,
 })
 export class HyCheckbox {
+  /**
+   * Unique id for checkbox element
+   */
   @Prop() checkboxId: string | number;
+  /**
+   * Value for input element
+   */
   @Prop() checkboxValue: string | number;
+  /**
+   * Label for input to describe
+   */
   @Prop() checkboxLabel: string;
+  /**
+   * Variant to deifne what style of checkbox to use
+   */
+  @Prop() variant: CheckboxVariants = CheckboxVariants.default;
+
   render() {
-    return (
-      <Host class="hy-checkbox">
-        <input
-          type="checkbox"
-          class="hy-checkbox__checkbox"
-          id={`${this.checkboxId}`}
-          value={`${this.checkboxValue}`}
-        />
-        <label class="hy-checkbox__label" htmlFor={`${this.checkboxId}`}>
-          <span class="hy-checkbox__checkmark">
-            <hy-icon class="hy-checkbox__label-icon" icon={'hy-icon-done'} size={23} aria-hidden="true" />
-          </span>
-          {this.checkboxLabel}
-        </label>
-      </Host>
-    );
+    switch (this.variant) {
+      case 'button':
+        return (
+          <Host class="hy-checkbox--button">
+            <input
+              type="checkbox"
+              class="hy-checkbox--button__checkbox"
+              id={`${this.checkboxId}`}
+              value={`${this.checkboxValue}`}
+            />
+            <label class="hy-checkbox--button__label" htmlFor={`${this.checkboxId}`}>
+              {this.checkboxLabel}
+              <span class="hy-checkbox--button__checkmark">
+                <hy-icon class="hy-checkbox--button__label-icon" icon={'hy-icon-done'} size={14} aria-hidden="true" />
+              </span>
+            </label>
+          </Host>
+        );
+
+      default:
+        return (
+          <Host class="hy-checkbox">
+            <input
+              type="checkbox"
+              class="hy-checkbox__checkbox"
+              id={`${this.checkboxId}`}
+              value={`${this.checkboxValue}`}
+            />
+            <label class="hy-checkbox__label" htmlFor={`${this.checkboxId}`}>
+              <span class="hy-checkbox__checkmark">
+                <hy-icon class="hy-checkbox__label-icon" icon={'hy-icon-done'} size={23} aria-hidden="true" />
+              </span>
+              {this.checkboxLabel}
+            </label>
+          </Host>
+        );
+    }
   }
 }
diff --git a/src/components/hy-checkbox/readme.md b/src/components/hy-checkbox/readme.md
index d9e3e32efc2f21053c130c6aa079d3d5ecf6e51e..68265a213d83776c24ffe2d645a2568e43cc08ad 100644
--- a/src/components/hy-checkbox/readme.md
+++ b/src/components/hy-checkbox/readme.md
@@ -4,11 +4,12 @@
 
 ## Properties
 
-| Property        | Attribute        | Description | Type               | Default     |
-| --------------- | ---------------- | ----------- | ------------------ | ----------- |
-| `checkboxId`    | `checkbox-id`    |             | `number \| string` | `undefined` |
-| `checkboxLabel` | `checkbox-label` |             | `string`           | `undefined` |
-| `checkboxValue` | `checkbox-value` |             | `number \| string` | `undefined` |
+| Property        | Attribute        | Description                                     | Type                                                  | Default                    |
+| --------------- | ---------------- | ----------------------------------------------- | ----------------------------------------------------- | -------------------------- |
+| `checkboxId`    | `checkbox-id`    | Unique id for checkbox element                  | `number \| string`                                    | `undefined`                |
+| `checkboxLabel` | `checkbox-label` | Label for input to describe                     | `string`                                              | `undefined`                |
+| `checkboxValue` | `checkbox-value` | Value for input element                         | `number \| string`                                    | `undefined`                |
+| `variant`       | `variant`        | Variant to deifne what style of checkbox to use | `CheckboxVariants.button \| CheckboxVariants.default` | `CheckboxVariants.default` |
 
 ## Dependencies
 
diff --git a/src/components/navigation/menu-level-container/menu-level-container.scss b/src/components/navigation/menu-level-container/menu-level-container.scss
index 0160314c1bcebd8be2968aadeb8cf3d9f5d60046..fa01163b38cf4467dc0e74d41f1825a59fc26872 100644
--- a/src/components/navigation/menu-level-container/menu-level-container.scss
+++ b/src/components/navigation/menu-level-container/menu-level-container.scss
@@ -67,7 +67,7 @@
     }
     &.is-open,
     &.active-trail-panel {
-      height: fit-content;
+      height: 100vh;
       min-height: var(--minHeight);
     }
   }
diff --git a/src/components/navigation/menu-sidebar/menu-sidebar.scss b/src/components/navigation/menu-sidebar/menu-sidebar.scss
index 907d4d233064c18c3dfa39513233f1390dcf808d..6d953a3c23f3c31eb151b3e8428255b63451c041 100644
--- a/src/components/navigation/menu-sidebar/menu-sidebar.scss
+++ b/src/components/navigation/menu-sidebar/menu-sidebar.scss
@@ -72,6 +72,7 @@
     animation-name: sidepanel-movein;
     display: flex;
     height: auto;
+    min-height: 100vh;
     width: 100%;
 
     // Open sidenav panels. Set background color to non-active items
diff --git a/src/index.html b/src/index.html
index 34c4f285e6602836b3fec2a8dbb8bc6b734088ee..c422381d7db057255f7f54a1978f45597057e5f8 100644
--- a/src/index.html
+++ b/src/index.html
@@ -217,6 +217,31 @@
           THIS IS MAIN CONTENT
         </hy-paragraph-text>
 
+        <hy-box pt="2" pb="2" align="center">
+          <hy-checkbox checkbox-id="1" checkbox-value="checkbox_1" checkbox-label="Introduction course"></hy-checkbox>
+          <hy-checkbox checkbox-id="2" checkbox-value="checkbox_2" checkbox-label="Open online course"></hy-checkbox>
+        </hy-box>
+        <hy-row>
+          <hy-checkbox
+            variant="button"
+            checkbox-id="3"
+            checkbox-value="checkbox_3"
+            checkbox-label="Web pages (204)"
+          ></hy-checkbox>
+          <hy-checkbox
+            variant="button"
+            checkbox-id="4"
+            checkbox-value="checkbox_4"
+            checkbox-label="People (89)"
+          ></hy-checkbox>
+          <hy-checkbox
+            variant="button"
+            checkbox-id="5"
+            checkbox-value="checkbox_5"
+            checkbox-label="Filter with long label goes here (859)"
+          ></hy-checkbox>
+        </hy-row>
+
         <hy-list-item
           item-type="News | 20.12.2020"
           item-title="Lorem ipsum dolor sit amet, consectetur adipiscing elit cras dapibus vulputate diam eu pretium"
diff --git a/src/utils/utils.ts b/src/utils/utils.ts
index c2224f9be8e3a54a920a268a82d3ecabee448577..5b18b9cc6fa44620e05c833c19d5a04f846b4932 100644
--- a/src/utils/utils.ts
+++ b/src/utils/utils.ts
@@ -177,3 +177,8 @@ export enum FooterLinkItemColor {
   black = 'black',
   white = 'white',
 }
+
+export enum CheckboxVariants {
+  default = 'default',
+  button = 'button',
+}