diff --git a/Aircraft/Instruments-3d/FG1000/Models/NavigationMap.svg b/Aircraft/Instruments-3d/FG1000/Models/NavigationMap.svg
index 35a97d14b..7447ca297 100644
--- a/Aircraft/Instruments-3d/FG1000/Models/NavigationMap.svg
+++ b/Aircraft/Instruments-3d/FG1000/Models/NavigationMap.svg
@@ -67,7 +67,7 @@
      inkscape:label="NavigationMapGroup"
      style="display:inline">
     <g
-       id="NavigationMapGroupFull"
+       id="NavigationMapGroup"
        inkscape:label="#g4869">
       <rect
          y="718.50403"
diff --git a/Aircraft/Instruments-3d/FG1000/Models/NearestAirports.svg b/Aircraft/Instruments-3d/FG1000/Models/NearestAirports.svg
index 4cce557d5..1038d4c20 100644
--- a/Aircraft/Instruments-3d/FG1000/Models/NearestAirports.svg
+++ b/Aircraft/Instruments-3d/FG1000/Models/NearestAirports.svg
@@ -23,9 +23,9 @@
      borderopacity="0"
      inkscape:pageopacity="0.0"
      inkscape:pageshadow="2"
-     inkscape:zoom="1.2863052"
-     inkscape:cx="796.08532"
-     inkscape:cy="344.63751"
+     inkscape:zoom="2.5726105"
+     inkscape:cx="963.17786"
+     inkscape:cy="88.847167"
      inkscape:document-units="px"
      inkscape:current-layer="NearestAirportsGroup"
      showgrid="true"
@@ -71,211 +71,226 @@
        id="NearestAirportsGroup">
       <rect
          inkscape:label="#rect8921"
-         y="58.493786"
-         x="705.49377"
-         height="684.51239"
-         width="319.51242"
+         y="53.505371"
+         x="724.50537"
+         height="688.98926"
+         width="309.98926"
          id="Background"
-         style="opacity:1;fill:#1a3030;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:0.987571;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+         style="opacity:1;fill:#1a3030;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:1.01074231;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
       <rect
-         y="78.004555"
-         x="710.41968"
-         height="134.48459"
-         width="309.66068"
+         y="77.483986"
+         x="730.48395"
+         height="135.00078"
+         width="289.03204"
          id="rect9743"
-         style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:1.00844526;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+         style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:1;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
       <rect
-         style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:0.72408265;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:0.99796617;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
          id="rect9745"
-         width="309.94263"
-         height="69.270592"
-         x="711.26178"
-         y="336.62552" />
+         width="289.00204"
+         height="69.002037"
+         x="730.49902"
+         y="350.49896" />
       <rect
-         y="421.24216"
-         x="711.34943"
-         height="107.3051"
-         width="309.76727"
+         y="445.16284"
+         x="730.50055"
+         height="111.33662"
+         width="288.99896"
          id="rect9747"
-         style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:0.90095061;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+         style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:1.00104749;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
       <rect
-         y="68.142975"
-         x="720.14301"
-         height="19.714043"
-         width="134.21402"
+         y="67.488281"
+         x="745.48828"
+         height="20.02342"
+         width="126.02343"
          id="rect9753"
-         style="opacity:1;fill:#1a3030;fill-opacity:1;fill-rule:nonzero;stroke:#fffcfa;stroke-width:1.28595793;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+         style="opacity:1;fill:#1a3030;fill-opacity:1;fill-rule:nonzero;stroke:#fffcfa;stroke-width:1;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
       <text
          sodipodi:linespacing="125%"
          id="text9749"
-         y="83"
-         x="725"
-         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;line-height:125%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:#fffcfa;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-         xml:space="preserve"><tspan
-           y="83"
-           x="725"
+         y="80.307159"
+         x="774.57446"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:14.51583004px;line-height:125%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:#fffcfa;stroke-width:0.967722px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"
+         transform="scale(0.96767669,1.033403)"><tspan
+           y="80.307159"
+           x="774.57446"
            id="tspan9751"
            sodipodi:role="line"
-           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed'">NEAREST AIRPORTS</tspan></text>
+           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';stroke-width:0.967722px">NEAREST AIRPORTS</tspan></text>
       <rect
-         style="opacity:1;fill:#1a3030;fill-opacity:1;fill-rule:nonzero;stroke:#fffcfa;stroke-width:0.96605152;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         style="opacity:1;fill:#1a3030;fill-opacity:1;fill-rule:nonzero;stroke:#fffcfa;stroke-width:0.99874961;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
          id="rect4150"
-         width="74.533928"
-         height="20.033949"
-         x="720.98303"
-         y="325.59775" />
+         width="67.001251"
+         height="20.001251"
+         x="745.49939"
+         y="340.49939" />
       <text
          xml:space="preserve"
-         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:15px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:#fffcfa;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-         x="726"
-         y="340.61472"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:14.51583004px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:#fffcfa;stroke-width:0.967722px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="775.60754"
+         y="344.45227"
          id="text4152"
-         sodipodi:linespacing="125%"><tspan
+         sodipodi:linespacing="125%"
+         transform="scale(0.96767669,1.033403)"><tspan
            sodipodi:role="line"
            id="tspan4154"
-           x="726"
-           y="340.61472">RUNWAYS</tspan></text>
+           x="775.60754"
+           y="344.45227"
+           style="stroke-width:0.967722px">RUNWAYS</tspan></text>
       <rect
-         y="411.81696"
-         x="721.05579"
-         height="19.888502"
-         width="99.388496"
+         y="435.50052"
+         x="745.51575"
+         height="19.93354"
+         width="93.06028"
          id="rect4156"
-         style="opacity:1;fill:#1a3030;fill-opacity:1;fill-rule:nonzero;stroke:#fffcfa;stroke-width:1.11149907;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+         style="opacity:1;fill:#1a3030;fill-opacity:1;fill-rule:nonzero;stroke:#fffcfa;stroke-width:1.00104749;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
       <text
          sodipodi:linespacing="125%"
          id="text4158"
-         y="426.7612"
-         x="726"
-         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:15px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:#fffcfa;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-         xml:space="preserve"><tspan
-           y="426.7612"
-           x="726"
+         y="435.40878"
+         x="776.46429"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:14.53103542px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:#fffcfa;stroke-width:0.96873569px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"
+         transform="scale(0.96654693,1.0346109)"><tspan
+           y="435.40878"
+           x="776.46429"
            sodipodi:role="line"
-           id="tspan4162">FREQUENCIES</tspan></text>
+           id="tspan4162"
+           style="stroke-width:0.96873569px">FREQUENCIES</tspan></text>
       <text
          inkscape:label="#text4232"
          xml:space="preserve"
-         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:20px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-         x="770.69727"
-         y="371.42072"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:19.35444069px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="807.53778"
+         y="374.26392"
          id="NearestAirportsRunwayID"
-         sodipodi:linespacing="125%"><tspan
+         sodipodi:linespacing="125%"
+         transform="scale(0.96767669,1.033403)"><tspan
            sodipodi:role="line"
            id="tspan4238"
-           x="770.69727"
-           y="371.42072">17-35</tspan></text>
+           x="807.53778"
+           y="374.26392">17-35</tspan></text>
       <text
          sodipodi:linespacing="125%"
          id="NearestAirportsID0"
-         y="106.96484"
-         x="746.10352"
-         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:20px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         y="103.49844"
+         x="794.41644"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:19.35444069px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
          xml:space="preserve"
-         inkscape:label="#text4232"><tspan
-           y="106.96484"
-           x="746.10352"
+         inkscape:label="#text4232"
+         transform="scale(0.96767632,1.0334034)"><tspan
+           y="103.49844"
+           x="794.41644"
            id="tspan4242"
            sodipodi:role="line">KSFO</tspan></text>
       <text
          inkscape:label="#text4232"
          xml:space="preserve"
-         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:20px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:end;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:end;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-         x="1009.6523"
-         y="370.22604"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:19.35444069px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:end;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:end;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="1038.7799"
+         y="373.10779"
          id="NearestAirportsRunwaySurface"
-         sodipodi:linespacing="125%"><tspan
+         sodipodi:linespacing="125%"
+         transform="scale(0.96767669,1.033403)"><tspan
            sodipodi:role="line"
            id="tspan4246"
-           x="1009.6523"
-           y="370.22604">HARD SURFACE</tspan></text>
+           x="1038.7799"
+           y="373.10779">HARD SURFACE</tspan></text>
       <text
          sodipodi:linespacing="125%"
          id="NearestAirportsRunwayDimensions"
-         y="395.22604"
-         x="729.65234"
-         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:20px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         y="397.30084"
+         x="767.81775"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:19.35444069px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
          xml:space="preserve"
-         inkscape:label="#text4232"><tspan
-           y="395.22604"
-           x="729.65234"
+         inkscape:label="#text4232"
+         transform="scale(0.96767669,1.033403)"><tspan
+           y="397.30084"
+           x="767.81775"
            id="tspan4250"
            sodipodi:role="line">PCL FREQUENCY - 122.90</tspan></text>
       <text
          sodipodi:linespacing="125%"
          id="NearestAirportsFreqLabel0"
-         y="460.59219"
-         x="724.98047"
-         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:20px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         y="468.18204"
+         x="764.1405"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:19.3747139px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
          xml:space="preserve"
-         inkscape:label="#text4232"><tspan
-           y="460.59219"
-           x="724.98047"
+         inkscape:label="#text4232"
+         transform="scale(0.96654693,1.0346109)"><tspan
+           y="468.18204"
+           x="764.1405"
            id="tspan4254"
            sodipodi:role="line">TOWER</tspan></text>
       <text
          inkscape:label="#text4232"
          xml:space="preserve"
-         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:20px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:end;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:end;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-         x="999.7793"
-         y="460.59219"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:19.3747139px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:end;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:end;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="1030.3479"
+         y="468.18204"
          id="NearestAirportsFreq0"
-         sodipodi:linespacing="125%"><tspan
+         sodipodi:linespacing="125%"
+         transform="scale(0.96654693,1.0346109)"><tspan
            sodipodi:role="line"
            id="tspan4258"
-           x="999.7793"
-           y="460.59219">119.875</tspan></text>
+           x="1030.3479"
+           y="468.18204">119.875</tspan></text>
       <text
          inkscape:label="#text4232"
          xml:space="preserve"
-         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:20px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-         x="724.98047"
-         y="484.8779"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:19.3747139px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="764.1405"
+         y="491.70847"
          id="NearestAirportsFreqLabel1"
-         sodipodi:linespacing="125%"><tspan
+         sodipodi:linespacing="125%"
+         transform="scale(0.96654693,1.0346109)"><tspan
            sodipodi:role="line"
            id="tspan4262"
-           x="724.98047"
-           y="484.8779">TOWER</tspan></text>
+           x="764.1405"
+           y="491.70847">TOWER</tspan></text>
       <text
          sodipodi:linespacing="125%"
          id="NearestAirportsFreq1"
-         y="484.8779"
-         x="999.7793"
-         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:20px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:end;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:end;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         y="491.70847"
+         x="1030.3479"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:19.3747139px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:end;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:end;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
          xml:space="preserve"
-         inkscape:label="#text4232"><tspan
-           y="484.8779"
-           x="999.7793"
+         inkscape:label="#text4232"
+         transform="scale(0.96654693,1.0346109)"><tspan
+           y="491.70847"
+           x="1030.3479"
            id="tspan4266"
            sodipodi:role="line">119.875</tspan></text>
       <text
          sodipodi:linespacing="125%"
          id="NearestAirportsFreqLabel2"
-         y="509.16367"
-         x="724.98047"
-         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:20px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         y="515.23486"
+         x="764.1405"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:19.3747139px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
          xml:space="preserve"
-         inkscape:label="#text4232"><tspan
-           y="509.16367"
-           x="724.98047"
+         inkscape:label="#text4232"
+         transform="scale(0.96654693,1.0346109)"><tspan
+           y="515.23486"
+           x="764.1405"
            id="tspan4270"
            sodipodi:role="line">TOWER</tspan></text>
       <text
          inkscape:label="#text4232"
          xml:space="preserve"
-         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:20px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:end;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:end;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-         x="999.7793"
-         y="509.16367"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:19.3747139px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:end;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:end;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="1030.3479"
+         y="515.23486"
          id="NearestAirportsFreq2"
-         sodipodi:linespacing="125%"><tspan
+         sodipodi:linespacing="125%"
+         transform="scale(0.96654693,1.0346109)"><tspan
            sodipodi:role="line"
            id="tspan4274"
-           x="999.7793"
-           y="509.16367">119.875</tspan></text>
+           x="1030.3479"
+           y="515.23486">119.875</tspan></text>
       <path
-         style="fill:#404040;fill-opacity:1;fill-rule:evenodd;stroke:#404040;stroke-width:0.88437384px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-         d="m 735.55778,360.09923 0,9.08226 -4.41338,-4.48437 z"
+         style="fill:#404040;fill-opacity:1;fill-rule:evenodd;stroke:#404040;stroke-width:0.85582805px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         d="m 748.52946,375.44339 0,9.08269 -4.13287,-4.48458 z"
          id="NearestAirportsRunwayIDLeft"
          inkscape:connector-curvature="0"
          sodipodi:nodetypes="cccc"
@@ -285,35 +300,37 @@
          sodipodi:nodetypes="cccc"
          inkscape:connector-curvature="0"
          id="NearestAirportsRunwayIDRight"
-         d="m 805.96996,360.09923 0,9.08226 4.41338,-4.48437 z"
-         style="fill:#404040;fill-opacity:1;fill-rule:evenodd;stroke:#404040;stroke-width:0.88437384px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+         d="m 814.46639,375.44339 0,9.08269 4.13287,-4.48458 z"
+         style="fill:#404040;fill-opacity:1;fill-rule:evenodd;stroke:#404040;stroke-width:0.85582805px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
       <text
          inkscape:label="#text4232"
          xml:space="preserve"
-         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:20px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-         x="863.65973"
-         y="106.96484"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:19.35444069px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="908.79016"
+         y="103.49844"
          id="NearestAirportsCRS0"
-         sodipodi:linespacing="125%"><tspan
+         sodipodi:linespacing="125%"
+         transform="scale(0.96767632,1.0334034)"><tspan
            sodipodi:role="line"
            id="tspan4253"
-           x="863.65973"
-           y="106.96484">359</tspan></text>
+           x="908.79016"
+           y="103.49844">359</tspan></text>
       <text
          sodipodi:linespacing="125%"
          id="NearestAirportsDST0"
-         y="107.79551"
-         x="996.14514"
-         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:20.94000101px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow, Condensed';text-align:end;letter-spacing:0px;word-spacing:0px;writing-mode:lr;text-anchor:end;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;"
+         y="104.30227"
+         x="1031.7998"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:20.26409912px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow, Condensed';text-align:end;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:end;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
          xml:space="preserve"
-         inkscape:label="#text4232"><tspan
-           y="107.79551"
-           x="996.14514"
+         inkscape:label="#text4232"
+         transform="scale(0.96767632,1.0334034)"><tspan
+           y="104.30227"
+           x="1031.7998"
            id="tspan4257"
            sodipodi:role="line">200nm</tspan></text>
       <path
-         style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.90505791px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-         d="m 717.38253,98.051495 0,4.061885 10.08314,0 0,4.06188 9.26683,-6.06161 -9.26683,-6.124022 0,4.061867 z"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.87584442px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         d="m 740.43792,98.041859 0,4.062081 9.44228,0 0,4.06207 8.67785,-6.0619 -8.67785,-6.124308 0,4.062057 z"
          id="NearestAirportsArrow0"
          inkscape:connector-curvature="0"
          sodipodi:nodetypes="cccccccc"
@@ -321,85 +338,91 @@
       <text
          inkscape:label="#text4232"
          xml:space="preserve"
-         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:20px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-         x="746.10352"
-         y="130.9248"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:19.35444069px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="794.41644"
+         y="126.68501"
          id="NearestAirportsID1"
-         sodipodi:linespacing="125%"><tspan
+         sodipodi:linespacing="125%"
+         transform="scale(0.96767632,1.0334034)"><tspan
            sodipodi:role="line"
            id="tspan4263"
-           x="746.10352"
-           y="130.9248">KSFO</tspan></text>
+           x="794.41644"
+           y="126.68501">KSFO</tspan></text>
       <text
          sodipodi:linespacing="125%"
          id="NearestAirportsCRS1"
-         y="130.9248"
-         x="863.65973"
-         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:20px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         y="126.68501"
+         x="908.79016"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:19.35444069px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
          xml:space="preserve"
-         inkscape:label="#text4232"><tspan
-           y="130.9248"
-           x="863.65973"
+         inkscape:label="#text4232"
+         transform="scale(0.96767632,1.0334034)"><tspan
+           y="126.68501"
+           x="908.79016"
            id="tspan4267"
            sodipodi:role="line">359</tspan></text>
       <text
          inkscape:label="#text4232"
          xml:space="preserve"
-         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:20.94000053px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow, Condensed';text-align:end;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:end;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-         x="996.14514"
-         y="131.24841"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:20.26409912px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow, Condensed';text-align:end;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:end;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="1031.7998"
+         y="126.99815"
          id="NearestAirportsDST1"
-         sodipodi:linespacing="125%"><tspan
+         sodipodi:linespacing="125%"
+         transform="scale(0.96767632,1.0334034)"><tspan
            sodipodi:role="line"
            id="tspan4271"
-           x="996.14514"
-           y="131.24841">200nm</tspan></text>
+           x="1031.7998"
+           y="126.99815">200nm</tspan></text>
       <path
          inkscape:label="#path4259"
          sodipodi:nodetypes="cccccccc"
          inkscape:connector-curvature="0"
          id="NearestAirportsArrow1"
-         d="m 717.38253,122.01146 0,4.06188 10.08314,0 0,4.06188 9.26683,-6.06161 -9.26683,-6.12402 0,4.06187 z"
-         style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.90505791px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+         d="m 740.43792,122.00295 0,4.06207 9.44228,0 0,4.06207 8.67785,-6.0619 -8.67785,-6.1243 0,4.06206 z"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.87584442px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
       <text
          sodipodi:linespacing="125%"
          id="NearestAirportsID2"
-         y="154.88477"
-         x="746.10352"
-         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:20px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         y="149.87158"
+         x="794.41644"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:19.35444069px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
          xml:space="preserve"
-         inkscape:label="#text4232"><tspan
-           y="154.88477"
-           x="746.10352"
+         inkscape:label="#text4232"
+         transform="scale(0.96767632,1.0334034)"><tspan
+           y="149.87158"
+           x="794.41644"
            id="tspan4277"
            sodipodi:role="line">KSFO</tspan></text>
       <text
          inkscape:label="#text4232"
          xml:space="preserve"
-         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:20px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-         x="863.65973"
-         y="154.88477"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:19.35444069px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="908.79016"
+         y="149.87158"
          id="NearestAirportsCRS2"
-         sodipodi:linespacing="125%"><tspan
+         sodipodi:linespacing="125%"
+         transform="scale(0.96767632,1.0334034)"><tspan
            sodipodi:role="line"
            id="tspan4281"
-           x="863.65973"
-           y="154.88477">359</tspan></text>
+           x="908.79016"
+           y="149.87158">359</tspan></text>
       <text
          sodipodi:linespacing="125%"
          id="NearestAirportsDST2"
-         y="155.20837"
-         x="996.14514"
-         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:20.94000053px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow, Condensed';text-align:end;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:end;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         y="150.18474"
+         x="1031.7998"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:20.26409912px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow, Condensed';text-align:end;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:end;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
          xml:space="preserve"
-         inkscape:label="#text4232"><tspan
-           y="155.20837"
-           x="996.14514"
+         inkscape:label="#text4232"
+         transform="scale(0.96767632,1.0334034)"><tspan
+           y="150.18474"
+           x="1031.7998"
            id="tspan4285"
            sodipodi:role="line">200nm</tspan></text>
       <path
-         style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.90505791px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-         d="m 717.38253,145.97142 0,4.06188 10.08314,0 0,4.06188 9.26683,-6.06161 -9.26683,-6.12402 0,4.06187 z"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.87584442px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         d="m 740.43792,145.96403 0,4.06207 9.44228,0 0,4.06207 8.67785,-6.06189 -8.67785,-6.12431 0,4.06206 z"
          id="NearestAirportsArrow2"
          inkscape:connector-curvature="0"
          sodipodi:nodetypes="cccccccc"
@@ -407,210 +430,274 @@
       <text
          inkscape:label="#text4232"
          xml:space="preserve"
-         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:20px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-         x="746.10352"
-         y="178.84473"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:19.35444069px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="794.41644"
+         y="173.05815"
          id="NearestAirportsID3"
-         sodipodi:linespacing="125%"><tspan
+         sodipodi:linespacing="125%"
+         transform="scale(0.96767632,1.0334034)"><tspan
            sodipodi:role="line"
            id="tspan4291"
-           x="746.10352"
-           y="178.84473">KSFO</tspan></text>
+           x="794.41644"
+           y="173.05815">KSFO</tspan></text>
       <text
          sodipodi:linespacing="125%"
          id="NearestAirportsCRS3"
-         y="178.84473"
-         x="863.65973"
-         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:20px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         y="173.05815"
+         x="908.79016"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:19.35444069px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
          xml:space="preserve"
-         inkscape:label="#text4232"><tspan
-           y="178.84473"
-           x="863.65973"
+         inkscape:label="#text4232"
+         transform="scale(0.96767632,1.0334034)"><tspan
+           y="173.05815"
+           x="908.79016"
            id="tspan4295"
            sodipodi:role="line">359</tspan></text>
       <text
          inkscape:label="#text4232"
          xml:space="preserve"
-         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:20.94000053px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow, Condensed';text-align:end;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:end;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-         x="996.14514"
-         y="177.62126"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:20.26409912px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow, Condensed';text-align:end;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:end;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="1031.7998"
+         y="171.87416"
          id="NearestAirportsDST3"
-         sodipodi:linespacing="125%"><tspan
+         sodipodi:linespacing="125%"
+         transform="scale(0.96767632,1.0334034)"><tspan
            sodipodi:role="line"
            id="tspan4299"
-           x="996.14514"
-           y="177.62126">200nm</tspan></text>
+           x="1031.7998"
+           y="171.87416">200nm</tspan></text>
       <path
          inkscape:label="#path4259"
          sodipodi:nodetypes="cccccccc"
          inkscape:connector-curvature="0"
          id="NearestAirportsArrow3"
-         d="m 717.38253,169.93138 0,4.06188 10.08314,0 0,4.06188 9.26683,-6.06161 -9.26683,-6.12402 0,4.06187 z"
-         style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.90505791px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+         d="m 740.43792,169.92511 0,4.06207 9.44228,0 0,4.06207 8.67785,-6.06189 -8.67785,-6.12431 0,4.06206 z"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.87584442px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
       <text
          sodipodi:linespacing="125%"
          id="NearestAirportsID4"
-         y="202.80469"
-         x="746.10352"
-         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:20px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         y="196.24472"
+         x="794.41644"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:19.35444069px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
          xml:space="preserve"
-         inkscape:label="#text4232"><tspan
-           y="202.80469"
-           x="746.10352"
+         inkscape:label="#text4232"
+         transform="scale(0.96767632,1.0334034)"><tspan
+           y="196.24472"
+           x="794.41644"
            id="tspan4319"
            sodipodi:role="line">KSFO</tspan></text>
       <text
          inkscape:label="#text4232"
          xml:space="preserve"
-         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:20px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-         x="863.65973"
-         y="202.80469"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:19.35444069px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="908.79016"
+         y="196.24472"
          id="NearestAirportsCRS4"
-         sodipodi:linespacing="125%"><tspan
+         sodipodi:linespacing="125%"
+         transform="scale(0.96767632,1.0334034)"><tspan
            sodipodi:role="line"
            id="tspan4323"
-           x="863.65973"
-           y="202.80469">359</tspan></text>
+           x="908.79016"
+           y="196.24472">359</tspan></text>
       <text
          sodipodi:linespacing="125%"
          id="NearestAirportsDST4"
-         y="203.1283"
-         x="996.14514"
-         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:20.94000053px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow, Condensed';text-align:end;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:end;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         y="196.55789"
+         x="1031.7998"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:20.26409912px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow, Condensed';text-align:end;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:end;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
          xml:space="preserve"
-         inkscape:label="#text4232"><tspan
-           y="203.1283"
-           x="996.14514"
+         inkscape:label="#text4232"
+         transform="scale(0.96767632,1.0334034)"><tspan
+           y="196.55789"
+           x="1031.7998"
            id="tspan4327"
            sodipodi:role="line">200nm</tspan></text>
       <path
-         style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.90505791px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-         d="m 717.38253,193.89134 0,4.06188 10.08314,0 0,4.06188 9.26683,-6.06161 -9.26683,-6.12402 0,4.06187 z"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.87584442px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         d="m 740.43792,193.88619 0,4.06207 9.44228,0 0,4.06207 8.67785,-6.06189 -8.67785,-6.12431 0,4.06206 z"
          id="NearestAirportsArrow4"
          inkscape:connector-curvature="0"
          sodipodi:nodetypes="cccccccc"
          inkscape:label="#path4259" />
       <rect
-         y="234.54692"
-         x="710.80701"
-         height="84.196045"
-         width="309.86914"
+         y="240.49937"
+         x="730.49939"
+         height="84.001251"
+         width="289.00125"
          id="rect4331"
-         style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:0.79819334;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+         style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:0.99875104;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
       <rect
-         y="223.54343"
-         x="720.54346"
-         height="19.913141"
-         width="94.913132"
+         y="228.5"
+         x="745.5"
+         height="20.02869"
+         width="89.028687"
          id="rect4333"
-         style="opacity:1;fill:#1a3030;fill-opacity:1;fill-rule:nonzero;stroke:#fffcfa;stroke-width:1.08685863;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+         style="opacity:1;fill:#1a3030;fill-opacity:1;fill-rule:nonzero;stroke:#fffcfa;stroke-width:1;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
       <text
          sodipodi:linespacing="125%"
          id="text4335"
-         y="238.49998"
-         x="725.5"
-         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:15px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:#fffcfa;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-         xml:space="preserve"><tspan
-           y="238.49998"
-           x="725.5"
+         y="236.45425"
+         x="775.05835"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:14.51583004px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:#fffcfa;stroke-width:0.967722px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"
+         transform="scale(0.96767669,1.033403)"><tspan
+           y="236.45425"
+           x="775.05835"
            id="tspan4337"
-           sodipodi:role="line">INFORMATION</tspan></text>
+           sodipodi:role="line"
+           style="stroke-width:0.967722px">INFORMATION</tspan></text>
       <text
          xml:space="preserve"
-         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:20px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-         x="715"
-         y="258"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:19.35444069px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="753.573"
+         y="249.65851"
          id="text4355"
-         sodipodi:linespacing="125%"><tspan
+         sodipodi:linespacing="125%"
+         transform="scale(0.96767669,1.033403)"><tspan
            sodipodi:role="line"
            id="tspan4357"
-           x="715"
-           y="258" /></text>
+           x="753.573"
+           y="249.65851" /></text>
       <text
          sodipodi:linespacing="125%"
          id="NearestAirportsName"
-         y="263.95117"
-         x="719.25781"
-         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:20px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         y="261.08392"
+         x="757.69336"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:19.35444069px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
          xml:space="preserve"
-         inkscape:label="#text4232"><tspan
-           y="263.95117"
-           x="719.25781"
+         inkscape:label="#text4232"
+         transform="scale(0.96767669,1.033403)"><tspan
+           y="261.08392"
+           x="757.69336"
            id="tspan4361"
            sodipodi:role="line">SAN FRANCISCO INTERNATIONAL</tspan></text>
       <text
          sodipodi:linespacing="125%"
          id="NearestAirportsAlt"
-         y="313.61914"
-         x="1016.127"
-         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:20px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:end;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:end;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         y="309.14871"
+         x="1044.9802"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:19.35444069px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:end;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:end;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
          xml:space="preserve"
-         inkscape:label="#text4232"><tspan
-           y="313.61914"
-           x="1016.127"
+         inkscape:label="#text4232"
+         transform="scale(0.96767669,1.033403)"><tspan
+           y="309.14871"
+           x="1044.9802"
            id="tspan4375"
            sodipodi:role="line">123ft</tspan></text>
       <rect
-         style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:0.88014376;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:1.00069809;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
          id="rect4377"
-         width="309.78793"
-         height="102.39922"
-         x="711.33911"
-         y="545.15997" />
+         width="288.9993"
+         height="111.25876"
+         x="730.50037"
+         y="580.24091" />
       <rect
-         style="opacity:1;fill:#1a3030;fill-opacity:1;fill-rule:nonzero;stroke:#fffcfa;stroke-width:1.11149907;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         style="opacity:1;fill:#1a3030;fill-opacity:1;fill-rule:nonzero;stroke:#fffcfa;stroke-width:1.00069809;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
          id="rect4379"
-         width="99.388496"
-         height="19.888502"
-         x="721.05579"
-         y="535.74377" />
+         width="87.522202"
+         height="19.949141"
+         x="745.51562"
+         y="572.50037" />
       <text
          xml:space="preserve"
-         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:15px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:#fffcfa;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-         x="726"
-         y="550.68799"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:14.52596188px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:#fffcfa;stroke-width:0.9683975px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="776.19214"
+         y="568.02856"
          id="text4381"
-         sodipodi:linespacing="125%"><tspan
+         sodipodi:linespacing="125%"
+         transform="scale(0.96688562,1.0342485)"><tspan
            id="tspan4383"
            sodipodi:role="line"
-           x="726"
-           y="550.68799">APPROACHES</tspan></text>
+           x="776.19214"
+           y="568.02856"
+           style="stroke-width:0.9683975px">APPROACHES</tspan></text>
       <text
          inkscape:label="#text4232"
          xml:space="preserve"
-         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:20px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-         x="724.98047"
-         y="584.51898"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:19.36795044px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="763.87268"
+         y="600.79041"
          id="NearestAirportsApproach0"
-         sodipodi:linespacing="125%"><tspan
+         sodipodi:linespacing="125%"
+         transform="scale(0.96688562,1.0342485)"><tspan
            sodipodi:role="line"
            id="tspan4387"
-           x="724.98047"
-           y="584.51898">TOWER</tspan></text>
+           x="763.87268"
+           y="600.79041">TOWER</tspan></text>
       <text
          sodipodi:linespacing="125%"
          id="NearestAirportsApproach1"
-         y="608.80469"
-         x="724.98047"
-         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:20px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         y="624.30859"
+         x="763.87268"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:19.36795044px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
          xml:space="preserve"
-         inkscape:label="#text4232"><tspan
-           y="608.80469"
-           x="724.98047"
+         inkscape:label="#text4232"
+         transform="scale(0.96688562,1.0342485)"><tspan
+           y="624.30859"
+           x="763.87268"
            id="tspan4395"
            sodipodi:role="line">TOWER</tspan></text>
       <text
          inkscape:label="#text4232"
          xml:space="preserve"
-         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:20px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-         x="724.98047"
-         y="633.09045"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:19.36795044px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="763.87268"
+         y="647.8269"
          id="NearestAirportsApproach2"
-         sodipodi:linespacing="125%"><tspan
+         sodipodi:linespacing="125%"
+         transform="scale(0.96688562,1.0342485)"><tspan
            sodipodi:role="line"
            id="tspan4403"
-           x="724.98047"
-           y="633.09045">TOWER</tspan></text>
+           x="763.87268"
+           y="647.8269">TOWER</tspan></text>
+      <rect
+         style="opacity:1;fill:#c0c0c0;fill-opacity:1;fill-rule:nonzero;stroke:#c0c0c0;stroke-width:0.99568439;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         id="NearestAirportsAirportScrollBar"
+         width="4.9967451"
+         height="124.00414"
+         x="1010.4977"
+         y="83.498024"
+         inkscape:label="#rect4231" />
+      <rect
+         inkscape:label="#rect4231"
+         y="83.236771"
+         x="1010.2327"
+         height="24.534019"
+         width="5.5263038"
+         id="NearestAirportsAirportScroll"
+         style="opacity:1;fill:#808080;fill-opacity:1;fill-rule:nonzero;stroke:#808080;stroke-width:0.46575949;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+      <rect
+         inkscape:label="#rect4231"
+         y="452.17084"
+         x="1010.4186"
+         height="99.325096"
+         width="4.7759156"
+         id="NearestAirportsFreqScrollBar"
+         style="opacity:1;fill:#c0c0c0;fill-opacity:1;fill-rule:nonzero;stroke:#c0c0c0;stroke-width:0.87119991;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+      <rect
+         style="opacity:1;fill:#808080;fill-opacity:1;fill-rule:nonzero;stroke:#808080;stroke-width:0.45150775;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         id="NearestAirportsFreqScroll"
+         width="5.1815677"
+         height="24.589478"
+         x="1010.2089"
+         y="451.95374"
+         inkscape:label="#rect4231" />
+      <rect
+         style="opacity:1;fill:#c0c0c0;fill-opacity:1;fill-rule:nonzero;stroke:#c0c0c0;stroke-width:0.8708958;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         id="NearestAirportsApproachScrollBar"
+         width="4.7759213"
+         height="99.255646"
+         x="1010.4187"
+         y="585.24091"
+         inkscape:label="#rect4231" />
+      <rect
+         inkscape:label="#rect4231"
+         y="585.02399"
+         x="1010.209"
+         height="24.572283"
+         width="5.1815743"
+         id="NearestAirportsApproachScroll"
+         style="opacity:1;fill:#808080;fill-opacity:1;fill-rule:nonzero;stroke:#808080;stroke-width:0.45135012;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
     </g>
   </g>
 </svg>
diff --git a/Aircraft/Instruments-3d/FG1000/Nasal/AirportInfo/AirportInfo.nas b/Aircraft/Instruments-3d/FG1000/Nasal/AirportInfo/AirportInfo.nas
index ad9d8a5d2..bd26c983c 100644
--- a/Aircraft/Instruments-3d/FG1000/Nasal/AirportInfo/AirportInfo.nas
+++ b/Aircraft/Instruments-3d/FG1000/Nasal/AirportInfo/AirportInfo.nas
@@ -163,7 +163,7 @@ var AirportInfo =
     # runways displayed twice.
     var rwys = [];
     var recips = {};
-    foreach(var rwy; keys(apt_info.runways)) {
+    foreach(var rwy; sort(keys(apt_info.runways), string.icmp)) {
       var rwy_info = apt_info.runways[rwy];
       if (recips[rwy_info.id] == nil) {
         var lbl = rwy_info.id ~ "-" ~ rwy_info.reciprocal.id;
diff --git a/Aircraft/Instruments-3d/FG1000/Nasal/EIS.nas b/Aircraft/Instruments-3d/FG1000/Nasal/EIS.nas
index cd385fc27..c39e78c12 100644
--- a/Aircraft/Instruments-3d/FG1000/Nasal/EIS.nas
+++ b/Aircraft/Instruments-3d/FG1000/Nasal/EIS.nas
@@ -140,7 +140,58 @@ var EIS =
     foreach(var se; me._rotationElements) {
       se.update(me._EISDriver);
     }
+  },
 
-  }
+  # Menu tree .  engineMenu is referenced from most pages as softkey 0:
+  # pg.addMenuItem(0, "ENGINE", pg, pg.mfd.EIS.engineMenu);
+
+  engineMenu : func(device, pg, menuitem) {
+    pg.clearMenu();
+    pg.resetMenuColors();
+    pg.addMenuItem(0, "ENGINE", pg, pg.mfd.EIS.engineMenu);
+    pg.addMenuItem(1, "LEAN", pg, pg.mfd.EIS.leanMenu);
+    pg.addMenuItem(2, "SYSTEM", pg, pg.mfd.EIS.systemMenu);
+    pg.addMenuItem(8, "BACK", pg, pg.topMenu);
+    device.updateMenus();
+  },
+
+  leanMenu : func(device, pg, menuitem) {
+      pg.clearMenu();
+      pg.resetMenuColors();
+      pg.addMenuItem(0, "ENGINE", pg, pg.mfd.EIS.engineMenu);
+      pg.addMenuItem(1, "LEAN", pg, pg.mfd.EIS.leanMenu);
+      pg.addMenuItem(2, "SYSTEM", pg, pg.mfd.EIS.systemMenu);
+      pg.addMenuItem(3, "CYL SELECT", pg);
+      pg.addMenuItem(4, "ASSIST", pg);
+      pg.addMenuItem(9, "BACK", pg, pg.mfd.EIS.engineMenu);
+      device.updateMenus();
+  },
+
+  systemMenu : func(device, pg, menuitem) {
+      pg.clearMenu();
+      pg.resetMenuColors();
+      pg.addMenuItem(0, "ENGINE", pg, pg.mfd.EIS.engineMenu);
+      pg.addMenuItem(1, "LEAN", pg, pg.mfd.EIS.leanMenu);
+      pg.addMenuItem(2, "SYSTEM", pg, pg.mfd.EIS.systemMenu);
+      pg.addMenuItem(3, "RST FUEL", pg);
+      pg.addMenuItem(4, "GAL REM", pg, pg.mfd.EIS.galRemMenu);
+      pg.addMenuItem(5, "BACK", pg, pg.mfd.EIS.engineMenu);
+      device.updateMenus();
+  },
+
+  galRemMenu : func(device, pg, menuitem) {
+    pg.clearMenu();
+    pg.resetMenuColors();
+    pg.addMenuItem(0, "ENGINE", pg, pg.mfd.EIS.engineMenu);
+    pg.addMenuItem(1, "LEAN", pg, pg.mfd.EIS.leanMenu);
+    pg.addMenuItem(2, "SYSTEM", pg, pg.mfd.EIS.systemMenu);
+    pg.addMenuItem(3, "-10 GAL", pg);
+    pg.addMenuItem(4, "-1 GAL", pg);
+    pg.addMenuItem(5, "+1 GAL", pg);
+    pg.addMenuItem(6, "+10 GAL", pg);
+    pg.addMenuItem(7, "44 GAL", pg);
+    pg.addMenuItem(8, "BACK", pg, pg.mfd.EIS.engineMenu);
+    device.updateMenus();
+  },
 
 };
diff --git a/Aircraft/Instruments-3d/FG1000/Nasal/MFD.nas b/Aircraft/Instruments-3d/FG1000/Nasal/MFD.nas
index f90a4f49c..836d73dbc 100644
--- a/Aircraft/Instruments-3d/FG1000/Nasal/MFD.nas
+++ b/Aircraft/Instruments-3d/FG1000/Nasal/MFD.nas
@@ -66,7 +66,13 @@ var MFD =
 {
   new : func (myCanvas)
   {
-    var obj = { parents : [ MFD ] };
+    var obj = {
+      parents : [ MFD ],
+      EIS : nil,
+      NavigationMap: nil,
+
+
+    };
 
     obj._svg = myCanvas.createGroup("softkeys");
 
@@ -99,20 +105,23 @@ var MFD =
 
     # Engine Information System
     obj._eisDriver = fg1000.EISDriver.new();
-    obj._eis = fg1000.EIS.new(myCanvas, obj._eisDriver);
+    obj.EIS = fg1000.EIS.new(myCanvas, obj._eisDriver);
 
     # Controller for the display on the bottom left which allows selection
     # of page groups and individual pages using the FMS controller.
     obj._pageGroupController = fg1000.PageGroupController.new(myCanvas, obj._svg, obj._MFDDevice);
 
-    foreach (var page; MFDPages) {
-      var code = "obj._pageGroupController.addPage(\"" ~ page ~ "\", fg1000." ~ page ~ ".new(obj, myCanvas, obj._MFDDevice, obj._svg));";
-      var addPageFn = compile(code);
-      addPageFn();
-    }
-
     # The NavigationMap page is a special case, as it is displayed with the Nearest... pages as an overlay
-    obj.NavigationMap = obj._pageGroupController.getPage("NavigationMap");
+    obj.NavigationMap = obj._pageGroupController.addPage("NavigationMap", fg1000.NavigationMap.new(obj, myCanvas, obj._MFDDevice, obj._svg));
+    obj.NavigationMap.topMenu(obj._MFDDevice, obj.NavigationMap, nil);
+
+    foreach (var page; MFDPages) {
+      if (page != "NavigationMap") {
+        var code = "obj._pageGroupController.addPage(\"" ~ page ~ "\", fg1000." ~ page ~ ".new(obj, myCanvas, obj._MFDDevice, obj._svg));";
+        var addPageFn = compile(code);
+        addPageFn();
+      }
+    }
 
     # Display the NavMap and the appropriate top level on startup.
     obj._MFDDevice.selectPage(obj.NavigationMap);
@@ -129,7 +138,7 @@ var MFD =
 
     var updateTimer = func() {
       obj._eisDriver.update();
-      obj._eis.update();
+      obj.EIS.update();
       settimer(updateTimer, 0.1);
     };
 
diff --git a/Aircraft/Instruments-3d/FG1000/Nasal/MFDPage.nas b/Aircraft/Instruments-3d/FG1000/Nasal/MFDPage.nas
index 7544fad3e..2e905522a 100644
--- a/Aircraft/Instruments-3d/FG1000/Nasal/MFDPage.nas
+++ b/Aircraft/Instruments-3d/FG1000/Nasal/MFDPage.nas
@@ -63,6 +63,15 @@ setTextElement : func(symbolName, value) {
   assert(sym != nil, "Unknown text element " ~ symbolName ~ " (check your addTextElements call?)");
   if (value == nil ) value = "";
   sym.setValue(value);
-}
+},
+
+# Function to undo any colors set by display_toggle when loading a new menu
+resetMenuColors : func() {
+  for(var i = 0; i < 12; i +=1) {
+    var name = sprintf("SoftKey%d",i);
+    me.device.svg.getElementById(name ~ "-bg").setColorFill(0.0,0.0,0.0);
+    me.device.svg.getElementById(name).setColor(1.0,1.0,1.0);
+  }
+},
 
 };
diff --git a/Aircraft/Instruments-3d/FG1000/Nasal/NavigationMap/NavigationMap.nas b/Aircraft/Instruments-3d/FG1000/Nasal/NavigationMap/NavigationMap.nas
index 9c0b3101a..f8b707a01 100644
--- a/Aircraft/Instruments-3d/FG1000/Nasal/NavigationMap/NavigationMap.nas
+++ b/Aircraft/Instruments-3d/FG1000/Nasal/NavigationMap/NavigationMap.nas
@@ -18,8 +18,8 @@ var NavigationMap =
     obj.addTextElements(["RangeDisplay", "Orientation"]);
     obj.addTextElements(["RangeDisplayPartial", "OrientationPartial"]);
 
-    obj._labelsFull = svg.getElementById("NavigationMapGroupFull");
-    assert(obj._labelsFull != nil, "Unable to find NavigationMapGroupFull");
+    obj._labelsFull = svg.getElementById("NavigationMapGroup");
+    assert(obj._labelsFull != nil, "Unable to find NavigationMapGroup");
 
     obj._labelsPartial = svg.getElementById("NavigationMapGroupPartial");
     assert(obj._labelsPartial != nil, "Unable to find NavigationMapGroupPartial");
@@ -54,7 +54,7 @@ var NavigationMap =
 
     var r = func(name,vis=1,zindex=nil) return caller(0)[0];
     # TODO: we'll need some z-indexing here, right now it's just random
-    foreach(var type; [r('GRID'),r('TFC',0),r('APT'),r('DME'),r('VOR'),r('NDB'),r('FIX',0),r('RTE'),r('WPT'),r('FLT'),r('WXR',0),r('APS')] ) {
+    foreach(var type; [r('GRID'),r('DTO',0),r('TFC',0),r('APT'),r('DME'),r('VOR'),r('NDB'),r('FIX',0),r('RTE'),r('WPT'),r('FLT'),r('WXR',0),r('APS')] ) {
         obj.MFDMap.addLayer(factory: canvas.SymbolLayer, type_arg: type.name,
                          visible: type.vis, priority: 4,
                          style: obj.Styles.getStyle(type.name),
@@ -68,121 +68,7 @@ var NavigationMap =
                          options: obj.Options.getOption(type.name) );
     }
 
-    var topMenu = func(device, pg, menuitem) {
-      pg.clearMenu();
-      resetMenuColors(device);
-      pg.addMenuItem(0, "ENGINE", pg, engineMenu);
-      pg.addMenuItem(2, "MAP", pg, mapMenu);
-      pg.addMenuItem(8, "DCLTR", pg, func(dev, pg, mi) { obj.controller.incrDCLTR(dev, mi); } );
-      #pg.addMenuItem(9, "SHW CHRT", pg);  # Optional
-      #pg.addMenuItem(10, "CHKLIST", pg);  # Optional
-      device.updateMenus();
-    };
-
-    var engineMenu = func(device, pg, menuitem) {
-      pg.clearMenu();
-      resetMenuColors(device);
-      pg.addMenuItem(0, "ENGINE", pg, engineMenu);
-      pg.addMenuItem(1, "LEAN", pg, leanMenu);
-      pg.addMenuItem(2, "SYSTEM", pg, systemMenu);
-      pg.addMenuItem(8, "BACK", pg, topMenu);
-      device.updateMenus();
-    };
-
-
-    # Display map toggle softkeys which change color depending
-    # on whether a particular layer is enabled or not.
-    var display_toggle = func(device, svg, mi, layer) {
-      var bg_name = sprintf("SoftKey%d-bg",mi.menu_id);
-      if (obj.controller.isEnabled(layer)) {
-        device.svg.getElementById(bg_name).setColorFill(0.5,0.5,0.5);
-        svg.setColor(0.0,0.0,0.0);
-      } else {
-        device.svg.getElementById(bg_name).setColorFill(0.0,0.0,0.0);
-        svg.setColor(1.0,1.0,1.0);
-      }
-      svg.setText(mi.title);
-      svg.setVisible(1); # display function
-    };
-
-    # Function to undo any colors set by display_toggle when loading a new menu
-    var resetMenuColors = func(device) {
-      for(var i = 0; i < 12; i +=1) {
-        var name = sprintf("SoftKey%d",i);
-        device.svg.getElementById(name ~ "-bg").setColorFill(0.0,0.0,0.0);
-        device.svg.getElementById(name).setColor(1.0,1.0,1.0);
-      }
-    }
-
-    var mapMenu = func(device, pg, menuitem) {
-      pg.clearMenu();
-      resetMenuColors(device);
-      pg.addMenuItem(0, "TRAFFIC", pg,
-        func(dev, pg, mi) { obj.controller.toggleLayer("TFC"); device.updateMenus(); }, # callback
-        func(svg, mi) { display_toggle(device, svg, mi, "TFC"); }
-      );
-
-      pg.addMenuItem(1, "PROFILE", pg);
-      pg.addMenuItem(2, "TOPO", pg,
-        func(dev, pg, mi) { obj.controller.toggleLayer("STAMEN"); device.updateMenus(); }, # callback
-        func(svg, mi) { display_toggle(device, svg, mi, "STAMEN"); }
-      );
-
-      pg.addMenuItem(3, "TERRAIN", pg,
-        func(dev, pg, mi) { obj.controller.toggleLayer("STAMEN_terrain"); device.updateMenus(); }, # callback
-        func(svg, mi) { display_toggle(device, svg, mi, "STAMEN_terrain"); }
-      );
-
-      pg.addMenuItem(4, "AIRWAYS", pg, func(dev, pg, mi) { obj.controller.incrAIRWAYS(dev, mi); } );
-      #pg.addMenuItem(5, "STRMSCP", pg); Optional
-      #pg.addMenuItem(6, "PRECIP", pg); Optional, or NEXRAD
-      #pg.addMenuItem(7, "XM LTNG", pg); Optional, or DL LTNG
-      #pg.addMenuItem(8, "METAR", pg);
-      #pg.addMenuItem(9, "LEGEND", pg); Optional - only available with NEXRAD/XM LTNG/METAR/PROFILE selected
-      pg.addMenuItem(10, "BACK", pg, topMenu);  # Or should this just be the next button?
-      device.updateMenus();
-    };
-
-    var leanMenu = func(device, pg, menuitem) {
-        pg.clearMenu();
-        resetMenuColors(device);
-        pg.addMenuItem(0, "ENGINE", pg, engineMenu);
-        pg.addMenuItem(1, "LEAN", pg, leanMenu);
-        pg.addMenuItem(2, "SYSTEM", pg, systemMenu);
-        pg.addMenuItem(3, "CYL SELECT", pg);
-        pg.addMenuItem(4, "ASSIST", pg);
-        pg.addMenuItem(9, "BACK", pg, engineMenu);
-        device.updateMenus();
-    };
-
-    var systemMenu = func(device, pg, menuitem) {
-        pg.clearMenu();
-        resetMenuColors(device);
-        pg.addMenuItem(0, "ENGINE", pg, engineMenu);
-        pg.addMenuItem(1, "LEAN", pg, leanMenu);
-        pg.addMenuItem(2, "SYSTEM", pg, systemMenu);
-        pg.addMenuItem(3, "RST FUEL", pg);
-        pg.addMenuItem(4, "GAL REM", pg, galRemMenu);
-        pg.addMenuItem(5, "BACK", pg, engineMenu);
-        device.updateMenus();
-    };
-
-    var galRemMenu = func(device, pg, menuitem) {
-      pg.clearMenu();
-      resetMenuColors(device);
-      pg.addMenuItem(0, "ENGINE", pg, engineMenu);
-      pg.addMenuItem(1, "LEAN", pg, leanMenu);
-      pg.addMenuItem(2, "SYSTEM", pg, systemMenu);
-      pg.addMenuItem(3, "-10 GAL", pg);
-      pg.addMenuItem(4, "-1 GAL", pg);
-      pg.addMenuItem(5, "+1 GAL", pg);
-      pg.addMenuItem(6, "+10 GAL", pg);
-      pg.addMenuItem(7, "44 GAL", pg);
-      pg.addMenuItem(8, "BACK", pg, engineMenu);
-      device.updateMenus();
-    };
-
-    topMenu(device, obj, nil);
+    #obj.topMenu(device, obj, nil);
 
     obj.controller = fg1000.NavigationMapController.new(obj, svg);
 
@@ -252,4 +138,67 @@ var NavigationMap =
     me._group.setVisible(0);
     me.controller.offdisplayPartial();
   },
+
+  # Softkey assigments.  For some pages (notably the NEAREST pages)
+  # the MAP softkey is available as key 2:
+  # pg.addMenuItem(2, "MAP", pg, pg.mfd.NavigationMap.mapMenu);
+
+
+  topMenu : func(device, pg, menuitem) {
+    pg.clearMenu();
+    pg.resetMenuColors();
+    pg.addMenuItem(0, "ENGINE", pg, pg.mfd.EIS.engineMenu);
+    pg.addMenuItem(2, "MAP", pg, pg.mfd.NavigationMap.mapMenu);
+    pg.addMenuItem(8, "DCLTR", pg, func(dev, pg, mi) { pg.mfd.NavigationMap.controller.incrDCLTR(dev, mi); } );
+    #pg.addMenuItem(9, "SHW CHRT", pg);  # Optional
+    #pg.addMenuItem(10, "CHKLIST", pg);  # Optional
+    device.updateMenus();
+  },
+
+  mapMenu : func(device, pg, menuitem) {
+    pg.clearMenu();
+    pg.resetMenuColors();
+    pg.addMenuItem(0, "TRAFFIC", pg,
+      func(dev, pg, mi) { pg.mfd.NavigationMap.controller.toggleLayer("TFC"); device.updateMenus(); }, # callback
+      func(svg, mi) { pg.mfd.NavigationMap.display_toggle(device, svg, mi, "TFC"); }
+    );
+
+    pg.addMenuItem(1, "PROFILE", pg);
+    pg.addMenuItem(2, "TOPO", pg,
+      func(dev, pg, mi) { pg.mfd.NavigationMap.controller.toggleLayer("STAMEN"); device.updateMenus(); }, # callback
+      func(svg, mi) { pg.mfd.NavigationMap.display_toggle(device, svg, mi, "STAMEN"); }
+    );
+
+    pg.addMenuItem(3, "TERRAIN", pg,
+      func(dev, pg, mi) { pg.mfd.NavigationMap.controller.toggleLayer("STAMEN_terrain"); device.updateMenus(); }, # callback
+      func(svg, mi) { pg.mfd.NavigationMap.display_toggle(device, svg, mi, "STAMEN_terrain"); }
+    );
+
+    pg.addMenuItem(4, "AIRWAYS", pg, func(dev, pg, mi) { pg.mfd.NavigationMap.controller.incrAIRWAYS(dev, mi); } );
+    #pg.addMenuItem(5, "STRMSCP", pg); Optional
+    #pg.addMenuItem(6, "PRECIP", pg); Optional, or NEXRAD
+    #pg.addMenuItem(7, "XM LTNG", pg); Optional, or DL LTNG
+    #pg.addMenuItem(8, "METAR", pg);
+    #pg.addMenuItem(9, "LEGEND", pg); Optional - only available with NEXRAD/XM LTNG/METAR/PROFILE selected
+    pg.addMenuItem(10, "BACK", pg, pg.topMenu);  # Or should this just be the next button?
+    device.updateMenus();
+  },
+
+  # Display map toggle softkeys which change color depending
+  # on whether a particular layer is enabled or not.
+  display_toggle : func(device, svg, mi, layer) {
+    var bg_name = sprintf("SoftKey%d-bg",mi.menu_id);
+    if (me.controller.isEnabled(layer)) {
+      device.svg.getElementById(bg_name).setColorFill(0.5,0.5,0.5);
+      svg.setColor(0.0,0.0,0.0);
+    } else {
+      device.svg.getElementById(bg_name).setColorFill(0.0,0.0,0.0);
+      svg.setColor(1.0,1.0,1.0);
+    }
+    svg.setText(mi.title);
+    svg.setVisible(1); # display function
+  },
+
+
+
 };
diff --git a/Aircraft/Instruments-3d/FG1000/Nasal/NavigationMap/NavigationMapController.nas b/Aircraft/Instruments-3d/FG1000/Nasal/NavigationMap/NavigationMapController.nas
index 9a63b3c7c..7a8e6cb39 100644
--- a/Aircraft/Instruments-3d/FG1000/Nasal/NavigationMap/NavigationMapController.nas
+++ b/Aircraft/Instruments-3d/FG1000/Nasal/NavigationMap/NavigationMapController.nas
@@ -47,6 +47,8 @@ var NavigationMapController =
   # range     - the maximum range this layer is visible (configured by user)
   # max_range - the maximum range value that a user can configure for this layer.
   LAYER_RANGES : {
+    DTO  : { enabled: 0, declutter: 3, range: 2000, max_range: 2000 },
+
     GRID : { enabled: 0, declutter: 1, range: 20, max_range: 2000 },
     DME  : { enabled: 1, declutter: 1, range: 150, max_range: 300 },
     VOR  : { enabled: 1, declutter: 1, range: 150, max_range: 300 },
@@ -162,6 +164,16 @@ var NavigationMapController =
     device.updateMenus();
     me.updateVisibility();
   },
+
+  # Set the DTO line target
+  setDTOLineTarget : func(lat, lon) {
+    me.page.MFDMap.getLayer("DTO").controller.setTarget(lat,lon);
+  },
+  enableDTO : func(enable) {
+    me.LAYER_RANGES["DTO"].enabled = enable;
+    me.updateVisibility();
+  },
+
   handleFMSInner : func(value) {
     # This page has no use for the FMS knob, so we pass all such
     # events to the pageGroupController which displays the page menu in the
diff --git a/Aircraft/Instruments-3d/FG1000/Nasal/NearestAirports/NearestAirports.nas b/Aircraft/Instruments-3d/FG1000/Nasal/NearestAirports/NearestAirports.nas
index 002d90b00..058ed3cc9 100644
--- a/Aircraft/Instruments-3d/FG1000/Nasal/NearestAirports/NearestAirports.nas
+++ b/Aircraft/Instruments-3d/FG1000/Nasal/NearestAirports/NearestAirports.nas
@@ -27,7 +27,10 @@ var NearestAirports =
       [ "Arrow", "ID", "CRS", "DST"],
       5,
       "Arrow",
-      1
+      1,
+      "AirportScrollBar",
+      "AirportScroll",
+      100
     );
 
     obj.runwaySelect = PFD.ScrollElement.new(obj.pageName, svg, "RunwayID", [36,18]); # Dummy values
@@ -37,7 +40,11 @@ var NearestAirports =
       svg,
       ["FreqLabel", "Freq"],
       3,
-      "Freq"
+      "Freq",
+      0,
+      "FreqScrollBar",
+      "FreqScroll",
+      75
     );
 
     obj.approachSelect = PFD.GroupElement.new(
@@ -45,40 +52,17 @@ var NearestAirports =
       svg,
       ["Approach"],
       3,
-      "Approach"
+      "Approach",
+      0,
+      "ApproachScrollBar",
+      "ApproachScroll",
+      75
     );
 
     # Other dynamic text elements
     obj.addTextElements(["Name", "Alt", "RunwaySurface", "RunwayDimensions"]);
 
-    var topMenu = func(device, pg, menuitem) {
-      pg.clearMenu();
-      pg.resetMenuColors(device);
-      pg.addMenuItem(4, "APT", pg,
-        func(dev, pg, mi) { pg.controller.selectAirports(); device.updateMenus(); }, # callback
-        func(svg, mi) { pg.display_toggle(device, svg, mi, NearestAirportsController.UIGROUP.APT); }
-      );
-
-      pg.addMenuItem(5, "RNWY", pg,
-        func(dev, pg, mi) { pg.controller.selectRunways(); device.updateMenus(); }, # callback
-        func(svg, mi) { pg.display_toggle(device, svg, mi, NearestAirportsController.UIGROUP.RNWY); }
-      );
-
-      pg.addMenuItem(6, "FREQ", pg,
-        func(dev, pg, mi) { pg.controller.selectFrequencies(); device.updateMenus(); }, # callback
-        func(svg, mi) { pg.display_toggle(device, svg, mi, NearestAirportsController.UIGROUP.FREQ); }
-      );
-
-      pg.addMenuItem(7, "APR", pg,
-        func(dev, pg, mi) { pg.controller.selectApproaches(); device.updateMenus(); }, # callback
-        func(svg, mi) { pg.display_toggle(device, svg, mi, NearestAirportsController.UIGROUP.APR); }
-      );
-
-      device.updateMenus();
-    };
-
-
-    topMenu(device, obj, nil);
+    obj.topMenu(device, obj, nil);
 
     return obj;
   },
@@ -100,7 +84,7 @@ var NearestAirports =
   # Function to highlight the APT softkey - used when CRSR is pressed to indicate
   # that we're editing the airports selection.
   selectAirports : func() {
-    me.resetMenuColors(me.device);
+    me.resetMenuColors();
     var bg_name = sprintf("SoftKey%d-bg",4);
     var tname = sprintf("SoftKey%d",4);
     me.device.svg.getElementById(bg_name).setColorFill(0.5,0.5,0.5);
@@ -112,16 +96,7 @@ var NearestAirports =
     me.runwaySelect.unhighlightElement();
     me.freqSelect.hideCRSR();
     me.approachSelect.hideCRSR();
-    me.resetMenuColors(me.device);
-  },
-
-  # Function to undo any colors set by display_toggle when loading a new menu
-  resetMenuColors : func(device) {
-    for(var i = 0; i < 12; i +=1) {
-      var name = sprintf("SoftKey%d",i);
-      device.svg.getElementById(name ~ "-bg").setColorFill(0.0,0.0,0.0);
-      device.svg.getElementById(name).setColor(1.0,1.0,1.0);
-    }
+    me.resetMenuColors();
   },
 
   offdisplay : func() {
@@ -130,7 +105,7 @@ var NearestAirports =
 
     # Reset the menu colours.  Shouldn't have to do this here, but
     # there's not currently an obvious other location to do so.
-    me.resetMenuColors(me.device);
+    me.resetMenuColors();
 
     me.controller.offdisplay();
   },
@@ -141,7 +116,6 @@ var NearestAirports =
     me.mfd.NavigationMap.ondisplayPartial();
 
     me.mfd.setPageTitle(me.title);
-
   },
   updateAirports : func(apts) {
 
@@ -149,7 +123,10 @@ var NearestAirports =
     for (var i = 0; i < size(apts); i = i + 1) {
       var apt = apts[i];
       var crsAndDst = courseAndDistance(apt);
-      var crs = sprintf("%i", crsAndDst[0]);
+
+      # Display the cours and distance in NM .
+      # 248 is the extended ASCII code for the degree symbol
+      var crs = sprintf("%i%c", crsAndDst[0], 248);
       var dst = sprintf("%.1fnm", crsAndDst[1]);
 
       # Convert into something we can pass straight to the UIGroup.
@@ -176,11 +153,22 @@ var NearestAirports =
     me.setTextElement("Name", apt.name);
     me.setTextElement("Alt", sprintf("%ift", M2FT * apt.elevation));
 
-    var runwaylist = keys(apt.runways);
+    # Set up the runways list, but ignoring reciprocals so we don't get
+    # runways displayed twice.
+    var rwys = [];
+    var recips = {};
+    foreach(var rwy; sort(keys(apt.runways), string.icmp)) {
+      var rwy_info = apt.runways[rwy];
+      if (recips[rwy_info.id] == nil) {
+        var lbl = rwy_info.id ~ "-" ~ rwy_info.reciprocal.id;
+        append(rwys, lbl);
+        recips[rwy_info.reciprocal.id] = 1;
+      }
+    }
 
-    if (size(runwaylist) > 0) {
-      me.runwaySelect.setValues(runwaylist);
-      me.updateRunwayInfo(apt.runways[runwaylist[0]]);
+    if (size(rwys) > 0) {
+      me.runwaySelect.setValues(rwys);
+      me.updateRunwayInfo(apt.runways[keys(apt.runways)[0]]);
     } else {
       me.runwaySelect.setValues([""]);
       me.updateRunwayInfo(nil);
@@ -205,6 +193,9 @@ var NearestAirports =
     # Approaches
     var approachList = apt.getApproachList();
     me.approachSelect.setValues(approachList);
+
+    # Display the DTO line to the airport
+    me.mfd.NavigationMap.controller.setDTOLineTarget(apt.lat, apt.lon);
   },
   updateRunwayInfo : func(rwy_info) {
     if (rwy_info != nil ) {
@@ -228,4 +219,32 @@ var NearestAirports =
   getSelectedApproach : func() {
     return me.approachSelect.getValue();
   },
+
+  topMenu : func(device, pg, menuitem) {
+    pg.clearMenu();
+    pg.resetMenuColors();
+    pg.addMenuItem(0, "ENGINE", pg, pg.mfd.EIS.engineMenu);
+    pg.addMenuItem(2, "MAP", pg, pg.mfd.NavigationMap.mapMenu);
+    pg.addMenuItem(4, "APT", pg,
+      func(dev, pg, mi) { pg.controller.selectAirports(); device.updateMenus(); }, # callback
+      func(svg, mi) { pg.display_toggle(device, svg, mi, NearestAirportsController.UIGROUP.APT); }
+    );
+
+    pg.addMenuItem(5, "RNWY", pg,
+      func(dev, pg, mi) { pg.controller.selectRunways(); device.updateMenus(); }, # callback
+      func(svg, mi) { pg.display_toggle(device, svg, mi, NearestAirportsController.UIGROUP.RNWY); }
+    );
+
+    pg.addMenuItem(6, "FREQ", pg,
+      func(dev, pg, mi) { pg.controller.selectFrequencies(); device.updateMenus(); }, # callback
+      func(svg, mi) { pg.display_toggle(device, svg, mi, NearestAirportsController.UIGROUP.FREQ); }
+    );
+
+    pg.addMenuItem(7, "APR", pg,
+      func(dev, pg, mi) { pg.controller.selectApproaches(); device.updateMenus(); }, # callback
+      func(svg, mi) { pg.display_toggle(device, svg, mi, NearestAirportsController.UIGROUP.APR); }
+    );
+
+    device.updateMenus();
+  },
 };
diff --git a/Aircraft/Instruments-3d/FG1000/Nasal/NearestAirports/NearestAirportsController.nas b/Aircraft/Instruments-3d/FG1000/Nasal/NearestAirports/NearestAirportsController.nas
index ebea9b706..7f4c5342d 100644
--- a/Aircraft/Instruments-3d/FG1000/Nasal/NearestAirports/NearestAirportsController.nas
+++ b/Aircraft/Instruments-3d/FG1000/Nasal/NearestAirports/NearestAirportsController.nas
@@ -99,8 +99,15 @@ var NearestAirportsController =
 
         if ((rwy != nil) and (rwy != "")) {
           var apt_info = airportinfo(apt_id);
-          var rwy_info = apt_info.runways[rwy];
-          me.page.updateRunwayInfo(rwy_info);
+
+          # Names in the runway selection are of the form "NNN-MMM", e.g. 11R-29L
+          # We just want the first of these.
+          var idx = find("-", rwy);
+          if (idx != -1) {
+            rwy = substr(rwy, 0, idx);
+            var rwy_info = apt_info.runways[rwy];
+            me.page.updateRunwayInfo(rwy_info);
+          }
         }
       }
 
@@ -203,8 +210,10 @@ var NearestAirportsController =
     me._currentGroup = NearestAirportsController.UIGROUP.NONE;
     me.RegisterWithEmesary();
     me.getAirports();
+    me.page.mfd.NavigationMap.controller.enableDTO(1);
   },
   offdisplay : func() {
+    me.page.mfd.NavigationMap.controller.enableDTO(0);
     me.DeRegisterWithEmesary();
   },
 };
diff --git a/Nasal/canvas/PFD/GroupElement.nas b/Nasal/canvas/PFD/GroupElement.nas
index 5e516b8b9..55c92816a 100644
--- a/Nasal/canvas/PFD/GroupElement.nas
+++ b/Nasal/canvas/PFD/GroupElement.nas
@@ -2,13 +2,16 @@
 var GroupElement =
 {
 
-new : func (pageName, svg, elementNames, size, highlightElement, arrow=0, style=nil)
+new : func (pageName, svg, elementNames, size, highlightElement, arrow=0, scrollTroughElement=nil, scrollThumbElement=nil, scrollHeight=0, style=nil)
 {
   var obj = {
     parents : [ GroupElement ],
     _pageName : pageName,
     _svg : svg,
     _style : style,
+    _scrollTroughElement : nil,
+    _scrollThumbElement : nil,
+    _scrollBaseTransform : nil,
 
     # A hash mapping keys to the element name prefix of an SVG element
     _elementNames : elementNames,
@@ -27,10 +30,39 @@ new : func (pageName, svg, elementNames, size, highlightElement, arrow=0, style=
     # hidden/shown for highlighting purposes.
     _arrow : arrow,
 
+    # Length of the scroll bar.
+    _scrollHeight : scrollHeight,
+
+    # List of values to display
+    _values : [],
+
+    # List of SVG elements to display the values
     _elements : [],
-    _crsrIndex : -1,       # Cursor index into the elements array
+
+    # Cursor index into the elements array
+    _crsrIndex : -1,
+
+    # Page index
+    _pageIndex : 0,
   };
 
+  # Optional scroll bar elements, consisting of the Thumb and the Trough *,
+  # which will be used to display the scroll position.
+  # * Yes, these are the terms of art for the elements.
+  assert(((scrollTroughElement == nil) and (scrollThumbElement == nil)) or
+         ((scrollTroughElement != nil) and (scrollThumbElement != nil)),
+         "Both the scroll trough element and the scroll thumb element must be defined, or neither");
+
+  if (scrollTroughElement != nil) {
+    obj._scrollTroughElement = svg.getElementById(pageName ~ scrollTroughElement);
+    assert(obj._scrollTroughElement != nil, "Unable to find scroll element " ~ pageName ~ scrollTroughElement);
+  }
+  if (scrollThumbElement != nil) {
+    obj._scrollThumbElement = svg.getElementById(pageName ~ scrollThumbElement);
+    assert(obj._scrollThumbElement != nil, "Unable to find scroll element " ~ pageName ~ scrollThumbElement);
+    obj._scrollBaseTransform = obj._scrollThumbElement.getTranslation();
+  }
+
   if (style == nil) obj._style = PFD.DefaultStyle;
 
   for (var i = 0; i < size; i = i + 1) {
@@ -47,22 +79,61 @@ new : func (pageName, svg, elementNames, size, highlightElement, arrow=0, style=
 # Set the values of the group. values_array is an array of hashes, each of which
 # has keys that match those of ._elementNames
 setValues : func (values_array) {
+  me._values = values_array;
+  me._pageIndex = 0;
+  me._crsrIndex = 0;
 
-  # Determine how many of these we display
-  me._currentSize = math.min(me._size, size(values_array));
+  if (size(me._values) > me._size) {
+    # Number of elements exceeds our ability to display them, so enable
+    # the scroll bar.
+    me._scrollThumbElement.setVisible(1);
+    me._scrollTroughElement.setVisible(1);
+  } else {
+    # There is no scrolling to do, so hide the scrollbar.
+    me._scrollThumbElement.setVisible(0);
+    me._scrollTroughElement.setVisible(0);
+  }
+
+  me.displayPage();
+},
+
+nextPage : func() {
+  if (size(me._values) > ((me._pageIndex +1) * me._size)) {
+    me._pageIndex = me._pageIndex + 1;
+    me._crsrIndex = 0;
+    me.displayPage();
+  } else {
+    me._crsrIndex = me._currentSize -1;
+  }
+},
+
+previousPage : func() {
+  if (me._pageIndex > 0) {
+    me._pageIndex = me._pageIndex - 1;
+    me._crsrIndex = me._size -1;
+    me.displayPage();
+  } else {
+    me._crsrIndex = 0;
+  }
+},
+
+displayPage : func () {
+  # Determine how many elements to display in this page
+  me._currentSize = math.min(me._size, size(me._values) - me._size * me._pageIndex);
 
   for (var i = 0; i < me._currentSize; i = i + 1) {
-    var values = values_array[i];
-    foreach (var k; keys(values)) {
+    var value = me._values[i + me._size * me._pageIndex];
+    foreach (var k; keys(value)) {
       if (k == me._highlightElement) {
+        me._elements[i].setVisible(1);
         me._elements[i].unhighlightElement();
-        me._elements[i].setValue(values[k]);
+        me._elements[i].setValue(value[k]);
       } else {
         var name = me._pageName ~ k ~ i;
         var element  = me._svg.getElementById(name);
         assert(element != nil, "Unable to find element " ~ name);
         element.setVisible(1);
-        element.setText(values[k]);
+        element.setText(value[k]);
       }
     }
   }
@@ -73,14 +144,27 @@ setValues : func (values_array) {
       foreach (var k; me._elementNames) {
         if (k == me._highlightElement) {
           me._elements[i].setVisible(0);
+          me._elements[i].setValue("");
         } else {
-          me._svg.getElementById(k ~ i).setVisible(0);
+        var name = me._pageName ~ k ~ i;
+        var element  = me._svg.getElementById(name);
+        assert(element != nil, "Unable to find element " ~ name);
+        element.setVisible(0);
+        element.setText("");
         }
       }
     }
   }
-},
 
+  if ((me._scrollThumbElement != nil) and (me._size < size(me._values))) {
+    # Shift the scrollbar if it's relevant
+    var numScrollPositions = math.ceil(size(me._values) / me._size) -1;
+    me._scrollThumbElement.setTranslation([
+      me._scrollBaseTransform[0],
+      me._scrollBaseTransform[1] + me._scrollHeight * (me._pageIndex / numScrollPositions)
+    ]);
+  }
+},
 
 # Methods to add dynamic elements to the group.  Must be called in the
 # scroll order, as they are simply appended to the end of the list of elements!
@@ -126,6 +210,7 @@ clearElement : func() {
 },
 incrSmall : func(value) {
   if (me._crsrIndex == -1) return;
+
   var incr_or_decr = (value > 0) ? 1 : -1;
   if (me._elements[me._crsrIndex].isInEdit()) {
     # We're editing, so pass to the element.
@@ -134,7 +219,12 @@ incrSmall : func(value) {
   } else {
     # Move to next selection element
     me._elements[me._crsrIndex].unhighlightElement();
-    me._crsrIndex = math.mod(me._crsrIndex + incr_or_decr, me._currentSize);
+
+    me._crsrIndex = me._crsrIndex + incr_or_decr;
+
+    if (me._crsrIndex <  0              ) me.previousPage();
+    if (me._crsrIndex == me._currentSize) me.nextPage();
+
     me._elements[me._crsrIndex].highlightElement();
   }
 },
@@ -148,7 +238,12 @@ incrLarge : func(val) {
   } else {
     # Move to next selection element
     me._elements[me._crsrIndex].unhighlightElement();
-    me._crsrIndex = math.mod(me._crsrIndex + incr_or_decr, me._currentSize);
+
+    me._crsrIndex = me._crsrIndex + incr_or_decr;
+
+    if (me._crsrIndex <  0              ) me.previousPage();
+    if (me._crsrIndex == me._currentSize) me.nextPage();
+
     me._elements[me._crsrIndex].highlightElement();
   }
 },
diff --git a/Nasal/canvas/map/DTO.lcontroller b/Nasal/canvas/map/DTO.lcontroller
new file mode 100644
index 000000000..3e8a0929e
--- /dev/null
+++ b/Nasal/canvas/map/DTO.lcontroller
@@ -0,0 +1,59 @@
+# See: http://wiki.flightgear.org/MapStructure
+# Direct TO line.  Displays line from current position to a given Lat/Lon
+
+# Class things:
+var name = 'DTO';
+var parents = [SymbolLayer.Controller];
+var __self__ = caller(0)[0];
+SymbolLayer.Controller.add(name, __self__);
+SymbolLayer.add(name, {
+	parents: [MultiSymbolLayer],
+	type: name, # Symbol type
+	df_controller: __self__, # controller to use by default -- this one
+	df_options: { # default configuration options
+	}
+});
+var new = func(layer) {
+	var m = {
+		parents: [__self__],
+		layer: layer,
+		map: layer.map,
+		listeners: [],
+		target_lat: -999,
+		target_lon: -999,
+		target_alt: -999,
+		last_result: [],
+	};
+	layer.searcher._equals = func(l,r) 0; # TODO: create model objects instead?
+
+	m.addVisibilityListener();
+	return m;
+};
+var del = func() {
+	foreach (var l; me.listeners)
+		removelistener(l);
+};
+var setTarget = func(lat, lon, alt=0) {
+	me.target_lat = lat;
+	me.target_lon = lon;
+	me.target_alt = alt;
+	me.layer.update();
+};
+
+var searchCmd = func() {
+	var coords = [];
+	append(coords, {lon: me.target_lon, lat: me.target_lat, alt: me.target_alt});
+
+	var lines = [];
+
+	append(lines, {
+		id: me.target_lat ~ " " ~ me.target_lon,
+		type: "lon",
+		path: coords,
+		equals: func(o){
+			return (me.path == o.path and me.type == o.type);
+		}
+	});
+
+	return lines;
+};
diff --git a/Nasal/canvas/map/DTO.symbol b/Nasal/canvas/map/DTO.symbol
new file mode 100644
index 000000000..f57bcf1d8
--- /dev/null
+++ b/Nasal/canvas/map/DTO.symbol
@@ -0,0 +1,55 @@
+# See: http://wiki.flightgear.org/MapStructure
+#
+# Direct TO line.  Displays line from current position to a given Lat/Lon
+
+# Class things:
+var name = 'DTO';
+var parents = [LineSymbol];
+var __self__ = caller(0)[0];
+LineSymbol.makeinstance( name, __self__ );
+
+SymbolLayer.get(name).df_style = { # style to use by default
+	line_width: 2,
+	color: [1.0,1.0,1.0],
+	dash_array: [5,5,5,5],
+};
+
+var init = func {
+	me.element.setColor(me.layer.style.color)
+	.setStrokeLineWidth(me.layer.style.line_width)
+	.setStrokeDashArray(me.layer.style.dash_array);
+};
+
+var draw = func() {
+	me.callback('draw_before');
+	printlog(_MP_dbg_lvl, "redrawing a LineSymbol "~me.layer.type);
+	me.element.reset();
+	var cmds = [];
+	var coords = [];
+	var cmd = canvas.Path.VG_LINE_TO;
+
+	append(coords,"N"~me.layer.map.getLat());
+	append(coords,"E"~me.layer.map.getLon());
+	append(cmds,canvas.Path.VG_MOVE_TO);
+
+	var path = me.model;
+	if(typeof(path) == 'hash'){
+		path = me.model.path;
+		if(path == nil)
+			__die("LineSymbol model requires a 'path' member (vector)");
+	}
+	foreach (var m; path) {
+		if(size(keys(m)) >= 2){
+			var (lat,lon) = me.controller.getpos(m);
+			append(coords,"N"~lat);
+			append(coords,"E"~lon);
+			append(cmds,cmd);
+			cmd = canvas.Path.VG_LINE_TO;
+		} else {
+			cmd = canvas.Path.VG_MOVE_TO;
+		}
+	}
+	me.element.setDataGeo(cmds, coords);
+	me.element.update(); # this doesn't help with flickering, it seems
+	me.callback('draw_after');
+};