diff --git a/src/app/dashboard/DashboardComponent.html b/src/app/dashboard/DashboardComponent.html
index 9689e03..d7dabe3 100644
--- a/src/app/dashboard/DashboardComponent.html
+++ b/src/app/dashboard/DashboardComponent.html
@@ -66,7 +66,7 @@
             </div>
         </div>
         <div class="row module-counts">
-            <div class="col-xs-4 col-sm-4 col-md-4 col-lg-4 col-xl-4 p-0">
+            <div class="col-xs-4 col-sm-4 col-md-4 col-lg-4 col-xl-4">
                 <div class="col-xs-12 col-sm-12 col-md-12 col-lg-12 col-xl-12 mb-3">
                     <div class="status-card custom-card card-hover card aqua-card" routerLink="/packages/ns">
                         <i class="fas fa-box-open"></i>
@@ -88,7 +88,7 @@
                     </div>
                 </div>
             </div>
-            <div class="col-xs-4 col-sm-4 col-md-4 col-lg-4 col-xl-4 p-0">
+            <div class="col-xs-4 col-sm-4 col-md-4 col-lg-4 col-xl-4">
                 <div class="col-xs-12 col-sm-12 col-md-12 col-lg-12 col-xl-12 mb-3">
                     <div class="status-card custom-card card-hover card purple-card" routerLink="/packages/vnf">
                         <i class="fas fa-box-open"></i>
@@ -110,7 +110,7 @@
                     </div>
                 </div>
             </div>
-            <div class="col-xs-4 col-sm-4 col-md-4 col-lg-4 col-xl-4 p-0">
+            <div class="col-xs-4 col-sm-4 col-md-4 col-lg-4 col-xl-4">
                 <div class="col-xs-12 col-sm-12 col-md-12 col-lg-12 col-xl-12 mb-3">
                     <div class="status-card custom-card card-hover card pink-card" routerLink="/vim/details">
                         <i class="fas fa-server"></i>
@@ -135,20 +135,20 @@
         </div>
         <div class="row mb-2">
             <div class="col-xs-12 col-sm-12 col-md-12 col-lg-12 col-xl-12">
-                <div class="custom-card card mt-2 text-primary">
+                <div class="custom-card card mt-2 text-primary pb-3">
                     <div class="text-center header-style pt-2">{{'PAGE.VIMDETAILS.VIMRESOURCES' | translate}}</div>
                     <div class="row p-2">
                         <div class="col-xs-12 col-sm-12 col-md-12 col-lg-12 col-xl-12">
                             <div class="form-row">
                                 <div class="form-group col-md-6">
                                     <label for="vimType">{{'PAGE.VIMDETAILS.VIMTYPE' | translate}}</label>
-                                    <ng-select (change)="getSelectedVimTypeList($event.value)" [clearable]="false"
+                                    <ng-select (change)="getSelectedVimTypeList($event.value)" class="mt-2 vimdetails" [clearable]="false"
                                         placeholder="{{'SELECT' | translate}}" [items]="vimTypes" bindLabel="title"
                                         bindValue="value" id="vimType"></ng-select>
                                 </div>
-                                <div class="form-group col-md-6">
+                                <div class="form-group col-md-6 me-0">
                                     <label for="vimList">{{'PAGE.VIMDETAILS.NAME' | translate}}</label>
-                                    <ng-select (change)="getSelectedVIMDetails($event)" [clearable]="false"
+                                    <ng-select (change)="getSelectedVIMDetails($event)" class="mt-2 vimdetails" [clearable]="false"
                                         placeholder="{{'SELECT' | translate}}" [items]="vimList" bindLabel="name"
                                         bindValue="name" id="vimList" [(ngModel)]="vimListData"></ng-select>
                                 </div>
diff --git a/src/app/dashboard/DashboardComponent.scss b/src/app/dashboard/DashboardComponent.scss
index df3c6b1..4f14da5 100644
--- a/src/app/dashboard/DashboardComponent.scss
+++ b/src/app/dashboard/DashboardComponent.scss
@@ -20,6 +20,7 @@
  $min-height-set: 200px;
  .dashboard {
    .custom-card {
+     background-color: $white;
      word-wrap: break-word;
      @include box-shadow(0px, 1px, 15px, 0px, rgba(69, 90, 100, 0.1));
      @include transition(all, 0.2s, null, null);
@@ -37,7 +38,7 @@
      }
      &.pink-card {
        @include background(
-         linear-gradient(to left top, #d81b60, #e0306d, #e7407a, #ee4f87, #f55c94),
+         linear-gradient(to left top,#d81b60,#e0306d,#e7407a,#ee4f87,#f55c94),
          null,
          null,
          null,
@@ -46,7 +47,7 @@
      }
      &.purple-card {
        @include background(
-         linear-gradient(to left top, #605ca8, #736ebb, #8681ce, #9994e2, #aca7f6),
+         linear-gradient(to left top,#605ca8,#736ebb,#8681ce,#9994e2,#aca7f6),
          null,
          null,
          null,
@@ -55,7 +56,7 @@
      }
      &.aqua-card {
        @include background(
-         linear-gradient(to left top, #00c0ef, #00cdf5, #00dafa, #00e6fd, #0af3ff),
+         linear-gradient(to left top,#00c0ef,#00cdf5,#00dafa,#00e6fd,#0af3ff),
          null,
          null,
          null,
@@ -63,6 +64,7 @@
        );
      }
      .custom-card-header {
+       padding: 12px 20px 12px 20px;
        @include background(null, $primary, null, null, null);
        @include roundedTop(5);
        a {
@@ -77,6 +79,7 @@
          overflow-y: scroll;
          .list-group {
            .list-group-item {
+             background-color: $white;
              cursor: default;
              @include border(all, 0, solid, $black-coral);
              @include border(bottom, 1, solid, rgba(0, 0, 0, 0.125));
@@ -117,9 +120,9 @@
          &.show-canvas {
            @include flexbox(block !important, null, null, null, null, null);
          }
-         #canvas{
-          @include wh-value(100%, $min-height-set);
-        }
+         #canvas {
+           @include wh-value(100%, $min-height-set);
+         }
        }
      }
    }
@@ -157,4 +160,19 @@
        }
      }
    }
+   .font-weight-bold {
+     border-radius: 10px;
+   }
+   .form-row {
+     display: flex;
+     flex-wrap: wrap;
+     .form-group {
+       flex: 0 0 auto;
+       width: 47%;
+       margin-right: 25px;
+     }
+   }
+   .vimdetails {
+     width: 100%;
+   }
  }
\ No newline at end of file
diff --git a/src/app/dashboard/DashboardComponent.ts b/src/app/dashboard/DashboardComponent.ts
index d49f708..8112c06 100644
--- a/src/app/dashboard/DashboardComponent.ts
+++ b/src/app/dashboard/DashboardComponent.ts
@@ -18,7 +18,6 @@
 /**
  * @file Dashboard Component
  */
-import { isNullOrUndefined } from 'util';
 import { Component, Injector, OnInit } from '@angular/core';
 import { TranslateService } from '@ngx-translate/core';
 import { NotifierService } from 'angular-notifier';
@@ -35,7 +34,7 @@
 import { RestService } from 'RestService';
 import { Observable, Subscription } from 'rxjs';
 import { SDNControllerModel } from 'SDNControllerModel';
-import { SharedService } from 'SharedService';
+import { SharedService, isNullOrUndefined } from 'SharedService';
 import { ProjectRoleMappings, UserDetail } from 'UserModel';
 import { VimAccountDetails } from 'VimAccountModel';
 import { VNFInstanceDetails } from 'VNFInstanceModel';
