Prp for 1.0.11.0 release.
Prp for 1.0.11.0 release.

--- a/Documents/CHANGES.txt
+++ b/Documents/CHANGES.txt
@@ -14,6 +14,9 @@
 
     Added: Readout help strings by ClassyJakey.
 
+    Fixed: Issue with separators in HUDs.
+    Fixed: Issue with HUDs with backgrounds that have no displayed lines.
+
     Padishar's Fixes:
         Fixed: Issue with multicouplers when attached to parent by bottom node.
         Fixed: Issue with sepratrons on solid rocket boosters.

--- a/KerbalEngineer/Flight/Readouts/Miscellaneous/Separator.cs
+++ b/KerbalEngineer/Flight/Readouts/Miscellaneous/Separator.cs
@@ -19,7 +19,10 @@
 
 #region Using Directives
 
+using System;
+
 using KerbalEngineer.Flight.Sections;
+using KerbalEngineer.Helpers;
 
 using UnityEngine;
 
@@ -31,7 +34,8 @@
     {
         #region Fields
 
-        private readonly Texture2D texture;
+        private GUIStyle boxStyle;
+        private GUIStyle boxStyleHud;
 
         #endregion
 
@@ -41,13 +45,13 @@
         {
             this.Name = "Separator";
             this.Category = ReadoutCategory.GetCategory("Miscellaneous");
-            this.HelpString = string.Empty;
+            this.HelpString = String.Empty;
             this.IsDefault = false;
             this.Cloneable = true;
 
-            this.texture = new Texture2D(1, 1, TextureFormat.RGBA32, false);
-            this.texture.SetPixel(0, 0, new Color(1.0f, 1.0f, 1.0f, 0.5f));
-            this.texture.Apply();
+            this.InitialiseStyles();
+
+            GuiDisplaySize.OnSizeChanged += this.InitialiseStyles;
         }
 
         #endregion
@@ -56,8 +60,29 @@
 
         public override void Draw(SectionModule section)
         {
-            GUILayout.Box(string.Empty, GUIStyle.none, new[] {GUILayout.Width(this.ContentWidth), GUILayout.Height(1.0f)});
-            GUI.DrawTexture(GUILayoutUtility.GetLastRect(), this.texture, ScaleMode.StretchToFill);
+            GUILayout.Box(String.Empty, section.IsHud ? this.boxStyleHud : this.boxStyle);
+        }
+
+        #endregion
+
+        #region Methods: private
+
+        private void InitialiseStyles()
+        {
+            this.boxStyle = new GUIStyle
+            {
+                normal =
+                {
+                    background = TextureHelper.CreateTextureFromColour(new Color(1.0f, 1.0f, 1.0f, 0.5f))
+                },
+                fixedHeight = 1.0f,
+                stretchWidth = true
+            };
+
+            this.boxStyleHud = new GUIStyle(this.boxStyle)
+            {
+                margin = new RectOffset(0, 0, (int)(8 * GuiDisplaySize.Offset), 0)
+            };
         }
 
         #endregion

--- a/KerbalEngineer/Flight/Readouts/Orbital/CurrentSoi.cs
+++ b/KerbalEngineer/Flight/Readouts/Orbital/CurrentSoi.cs
@@ -31,7 +31,7 @@
     public class CurrentSoi : ReadoutModule
     {
         #region Constructors
-
+        
         public CurrentSoi()
         {
             this.Name = "Current SOI";

--- a/KerbalEngineer/Flight/Readouts/Orbital/ManoeuvreNode/NodeAngleToPrograde.cs
+++ b/KerbalEngineer/Flight/Readouts/Orbital/ManoeuvreNode/NodeAngleToPrograde.cs
@@ -51,7 +51,7 @@
                 return;
             }
 
-            this.DrawLine("Node Angle to Prograde", ManoeuvreProcessor.AngleToPrograde.ToAngle());
+            this.DrawLine("Node Angle to Prograde", ManoeuvreProcessor.AngleToPrograde.ToAngle(), section.IsHud);
         }
 
         public override void Reset()

--- a/KerbalEngineer/Flight/Readouts/Orbital/ManoeuvreNode/NodeAngleToRetrograde.cs
+++ b/KerbalEngineer/Flight/Readouts/Orbital/ManoeuvreNode/NodeAngleToRetrograde.cs
@@ -51,7 +51,7 @@
                 return;
             }
 
-            this.DrawLine("Node Angle to Retrograde", ManoeuvreProcessor.AngleToRetrograde.ToAngle());
+            this.DrawLine("Node Angle to Retrograde", ManoeuvreProcessor.AngleToRetrograde.ToAngle(), section.IsHud);
         }
 
         public override void Reset()

--- a/KerbalEngineer/Flight/Readouts/Orbital/ManoeuvreNode/NodeBurnTime.cs
+++ b/KerbalEngineer/Flight/Readouts/Orbital/ManoeuvreNode/NodeBurnTime.cs
@@ -51,7 +51,7 @@
                 return;
             }
 
-            this.DrawLine("Node Burn Time", TimeFormatter.ConvertToString(ManoeuvreProcessor.BurnTime));
+            this.DrawLine("Node Burn Time", TimeFormatter.ConvertToString(ManoeuvreProcessor.BurnTime), section.IsHud);
         }
 
         public override void Reset()

--- a/KerbalEngineer/Flight/Readouts/Orbital/ManoeuvreNode/NodeHalfBurnTime.cs
+++ b/KerbalEngineer/Flight/Readouts/Orbital/ManoeuvreNode/NodeHalfBurnTime.cs
@@ -51,7 +51,7 @@
                 return;
             }
 
-            this.DrawLine("Node Burn Time (½)", TimeFormatter.ConvertToString(ManoeuvreProcessor.HalfBurnTime));
+            this.DrawLine("Node Burn Time (½)", TimeFormatter.ConvertToString(ManoeuvreProcessor.HalfBurnTime), section.IsHud);
         }
 
         public override void Reset()

--- a/KerbalEngineer/Flight/Readouts/Orbital/ManoeuvreNode/NodeNormalDeltaV.cs
+++ b/KerbalEngineer/Flight/Readouts/Orbital/ManoeuvreNode/NodeNormalDeltaV.cs
@@ -51,7 +51,7 @@
                 return;
             }
 
-            this.DrawLine("Node DeltaV (Normal)", ManoeuvreProcessor.NormalDeltaV.ToSpeed());
+            this.DrawLine("Node DeltaV (Normal)", ManoeuvreProcessor.NormalDeltaV.ToSpeed(), section.IsHud);
         }
 
         public override void Reset()

--- a/KerbalEngineer/Flight/Readouts/Orbital/ManoeuvreNode/NodeProgradeDeltaV.cs
+++ b/KerbalEngineer/Flight/Readouts/Orbital/ManoeuvreNode/NodeProgradeDeltaV.cs
@@ -51,7 +51,7 @@
                 return;
             }
 
-            this.DrawLine("Node DeltaV (Prograde)", ManoeuvreProcessor.ProgradeDeltaV.ToSpeed());
+            this.DrawLine("Node DeltaV (Prograde)", ManoeuvreProcessor.ProgradeDeltaV.ToSpeed(), section.IsHud);
         }
 
         public override void Reset()

--- a/KerbalEngineer/Flight/Readouts/Orbital/ManoeuvreNode/NodeRadialDeltaV.cs
+++ b/KerbalEngineer/Flight/Readouts/Orbital/ManoeuvreNode/NodeRadialDeltaV.cs
@@ -51,7 +51,7 @@
                 return;
             }
 
-            this.DrawLine("Node DeltaV (Radial)", ManoeuvreProcessor.RadialDeltaV.ToSpeed());
+            this.DrawLine("Node DeltaV (Radial)", ManoeuvreProcessor.RadialDeltaV.ToSpeed(), section.IsHud);
         }
 
         public override void Reset()

--- a/KerbalEngineer/Flight/Readouts/Orbital/ManoeuvreNode/NodeTimeToHalfBurn.cs
+++ b/KerbalEngineer/Flight/Readouts/Orbital/ManoeuvreNode/NodeTimeToHalfBurn.cs
@@ -51,7 +51,7 @@
                 return;
             }
 
-            this.DrawLine("Time to Node Burn", TimeFormatter.ConvertToString(ManoeuvreProcessor.UniversalTime - ManoeuvreProcessor.HalfBurnTime - Planetarium.GetUniversalTime()));
+            this.DrawLine("Time to Node Burn", TimeFormatter.ConvertToString(ManoeuvreProcessor.UniversalTime - ManoeuvreProcessor.HalfBurnTime - Planetarium.GetUniversalTime()), section.IsHud);
         }
 
         public override void Reset()

--- a/KerbalEngineer/Flight/Readouts/Orbital/ManoeuvreNode/NodeTimeToManoeuvre.cs
+++ b/KerbalEngineer/Flight/Readouts/Orbital/ManoeuvreNode/NodeTimeToManoeuvre.cs
@@ -51,7 +51,7 @@
                 return;
             }
 
-            this.DrawLine("Time to Node", TimeFormatter.ConvertToString(ManoeuvreProcessor.UniversalTime - Planetarium.GetUniversalTime()));
+            this.DrawLine("Time to Node", TimeFormatter.ConvertToString(ManoeuvreProcessor.UniversalTime - Planetarium.GetUniversalTime()), section.IsHud);
         }
 
         public override void Reset()

--- a/KerbalEngineer/Flight/Readouts/Orbital/ManoeuvreNode/NodeTotalDeltaV.cs
+++ b/KerbalEngineer/Flight/Readouts/Orbital/ManoeuvreNode/NodeTotalDeltaV.cs
@@ -51,7 +51,7 @@
                 return;
             }
 
-            this.DrawLine("Node DeltaV (Total)", ManoeuvreProcessor.TotalDeltaV.ToSpeed() + " (" + (ManoeuvreProcessor.HasDeltaV ? "S" + ManoeuvreProcessor.FinalStage : "X") + ")");
+            this.DrawLine("Node DeltaV (Total)", ManoeuvreProcessor.TotalDeltaV.ToSpeed() + " (" + (ManoeuvreProcessor.HasDeltaV ? "S" + ManoeuvreProcessor.FinalStage : "X") + ")", section.IsHud);
         }
 
         public override void Reset()

--- a/KerbalEngineer/Flight/Readouts/ReadoutModule.cs
+++ b/KerbalEngineer/Flight/Readouts/ReadoutModule.cs
@@ -89,6 +89,11 @@
         public bool IsDefault { get; set; }
 
         /// <summary>
+        ///     Gets the number of drawn lines.
+        /// </summary>
+        public int LineCount { get; private set; }
+
+        /// <summary>
         ///     Gets and sets the message style.
         /// </summary>
         public GUIStyle MessageStyle { get; set; }
@@ -139,6 +144,7 @@
 
         public void LineCountEnd()
         {
+            this.LineCount = this.lineCountEnd;
             if (this.lineCountEnd.CompareTo(this.lineCountStart) < 0)
             {
                 this.ResizeRequested = true;

--- a/KerbalEngineer/Flight/Sections/SectionModule.cs
+++ b/KerbalEngineer/Flight/Sections/SectionModule.cs
@@ -168,6 +168,11 @@
         public bool IsVisible { get; set; }
 
         /// <summary>
+        ///     Gets the number of drawn readout lines.
+        /// </summary>
+        public int LineCount { get; private set; }
+
+        /// <summary>
         ///     Gets and sets the name of the section.
         /// </summary>
         public string Name { get; set; }
@@ -351,6 +356,7 @@
                 GUILayout.BeginVertical(this.boxStyle);
             }
 
+            this.LineCount = 0;
             if (this.ReadoutModules.Count > 0)
             {
                 foreach (var readout in this.ReadoutModules)
@@ -358,11 +364,13 @@
                     readout.LineCountStart();
                     readout.Draw(this);
                     readout.LineCountEnd();
+                    this.LineCount += readout.LineCount;
                 }
             }
             else
             {
                 GUILayout.Label("No readouts are installed.", this.messageStyle);
+                this.LineCount = 1;
             }
 
             if (!this.IsHud)

--- a/KerbalEngineer/Flight/Sections/SectionWindow.cs
+++ b/KerbalEngineer/Flight/Sections/SectionWindow.cs
@@ -60,8 +60,8 @@
 
         #region Fields
 
+        private GUIStyle hudWindowBgStyle;
         private GUIStyle hudWindowStyle;
-        private GUIStyle hudWindowBgStyle;
         private GUIStyle windowStyle;
 
         #endregion
@@ -130,9 +130,11 @@
                 this.resizeRequested = false;
             }
             GUI.skin = null;
-            this.windowPosition = GUILayout.Window(this.windowId, this.windowPosition, this.Window, string.Empty, 
-                (!this.ParentSection.IsHud || this.ParentSection.IsEditorVisible) ? this.windowStyle 
-                : this.ParentSection.IsHudBackground ? this.hudWindowBgStyle : this.hudWindowStyle).ClampToScreen();
+            this.windowPosition = GUILayout.Window(this.windowId, this.windowPosition, this.Window, string.Empty,
+                                                   (!this.ParentSection.IsHud || this.ParentSection.IsEditorVisible) ? this.windowStyle
+                                                       : this.ParentSection.IsHudBackground && this.ParentSection.LineCount > 0
+                                                           ? this.hudWindowBgStyle
+                                                           : this.hudWindowStyle).ClampToScreen();
             this.ParentSection.FloatingPositionX = this.windowPosition.x;
             this.ParentSection.FloatingPositionY = this.windowPosition.y;
         }

 Binary files a/Output/KerbalEngineer/KerbalEngineer.dll and b/Output/KerbalEngineer/KerbalEngineer.dll differ