<div>

  <h2>Modernized Scroll Bars</h2>

  <p>
    In the default theme the Scroll Bars now have a more modern look and feel.
    They are invisible until they are &quot;activated&quot; by the user, which is when the
    indicators fade-in to a semi-transparent state.
  </p>

  <img class="framed" alt="Scrollbars" src="images/scrollbar2.png"/>

  <p>
    This is achieved with a number of new theming options. The <em>opacity</em> property let's you
    make the entire Scroll Bar (semi) transparent, with the content below visible. In addition, the
    new <em>active</em> state is used to indicate that the scrollable area is hovered with the mouse,
    or that the user is scrolling using the keyboard. Already <a href="?build=M2">added in M2</a> was the feature
    that the up/down (or left/right) buttons disappear if no image is set for them.
  </p>

  <p>
    <b>If you don't like the new look and feel, don't worry.</b> The business theme makes no changes to
    the Scroll Bars, and by making a <a href="/rap/developers-guide/devguide.php?topic=theming.html#primer">theme-contribution</a>
    you can easily adjust the opacity for the active and non-active states to be different values
    (e.g. &quot;1&quot; for both) and/or change the Scroll Bar background from &quot;transparent&quot; back to
    a solid color.
  </p>

  <h2>Row Template for Nebula Grid</h2>

  <p>
    The <a href="../2.2/">Row Templates</a> that can be applied to Table and Tree now also work with the Nebula Grid.
  </p>

</div>
