diff --git a/app/common/directives/serial-console.html b/app/common/directives/serial-console.html
index 68e8304..98206ab 100644
--- a/app/common/directives/serial-console.html
+++ b/app/common/directives/serial-console.html
@@ -1,8 +1,8 @@
 <div class="serial-lan__wrapper">
   <div id="terminal"></div>
-  <div class="serial-lan__actions float-right">
-    <button class="btn  btn-tertiary" ng-click="openTerminalWindow()" ng-show="showTabBtn === true">
-      <icon file="icon-launch.svg"></icon>Open in new tab
-    </button>
-  </div>
-</div>
\ No newline at end of file
+</div>
+<div class="serial-lan__actions float-right">
+  <button class="btn  btn-tertiary" ng-click="openTerminalWindow()" ng-show="showTabBtn === true">
+    <icon file="icon-launch.svg"></icon>Open in new tab
+  </button>
+</div>
diff --git a/app/common/directives/serial-console.js b/app/common/directives/serial-console.js
index 8d322f1..5cfbbb3 100644
--- a/app/common/directives/serial-console.js
+++ b/app/common/directives/serial-console.js
@@ -148,22 +148,6 @@
             var termContainer;
 
             term.open(terminal);
-            customConsole = configJSON.customConsoleDisplaySize;
-
-            if (customConsole != null) {
-              charSize = measureChar(term);
-              termContainer = document.getElementById('term-container');
-              if (termContainer != null) {
-                if (customConsole.width) {
-                  termContainer.style.width =
-                      (charSize.width * customConsole.width + border) + 'px';
-                }
-                if (customConsole.height) {
-                  terminal.style.height =
-                      (charSize.height * customConsole.height + border) + 'px';
-                }
-              }
-            }
             term.fit();
             if (configJSON.customKeyEnable == true) {
               term.attachCustomKeyEventHandler(customKeyHandlers);
@@ -191,11 +175,26 @@
             } catch (error) {
               console.log(JSON.stringify(error));
             }
+
+            $window.onresize = function() {
+              termContainer = document.getElementById('term-container');
+              termContainer.style.width = window.innerWidth;
+              termContainer.style.height = window.innerHeight;
+              term.fit();
+            };
+
             $scope.openTerminalWindow = function() {
-              $window.open(
+              var sol_window = $window.open(
                   '#/server-control/remote-console-window',
                   'Remote Console Window',
                   'directories=no,titlebar=no,toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=yes,width=600,height=550');
+
+              sol_window.onresize = function() {
+                termContainer = document.getElementById('term-container');
+                termContainer.style.width = sol_window.innerWidth;
+                termContainer.style.height = sol_window.innerHeight;
+                term.fit();
+              };
             };
           }
         ]
diff --git a/app/server-control/styles/remote-console.scss b/app/server-control/styles/remote-console.scss
index 1a5f6ae..e265bc2 100644
--- a/app/server-control/styles/remote-console.scss
+++ b/app/server-control/styles/remote-console.scss
@@ -3,6 +3,7 @@
   .btn-export {
     margin: 1.8em 0 1.8em 2em;
   }
+  height: 100%;
 }
 
 .serial-lan__copy {
@@ -18,13 +19,15 @@
 .terminal-container {
   position: relative;
   width: 100%;
+  height: 25em;
 }
 
 .window-terminal-container {
   position: relative;
-  max-width: 70em;
+  max-width: 100%;
+  height: 80vh;
 }
 
 #terminal{
-  height:25em;
+  height: 100%;
 }
