/*!------------------------------------*\
    Base
\*!------------------------------------*/
.drawer-nav { position: fixed; z-index: 1001; top: 0; overflow: hidden; width: 24rem; height: 100%; background-color: #fff; }

.drawer-brand { font-size: 1.5rem; font-weight: bold; line-height: 3.75rem; display: block; padding-right: 1rem; padding-left: 1rem; text-decoration: none; color: #999; }

.drawer-menu { margin: 0; padding: 0; list-style: none; }
.drawer-menu li { padding: 1rem; }
.drawer-menu li .sub-menu { list-style: none; }

.drawer-menu-item { font-size: 1.4rem; display: block; padding: 1rem; text-decoration: none; color: #999; }

.drawer-menu-item:hover { text-decoration: underline; color: #555; background-color: transparent; }

/*! overlay */
.drawer-overlay { position: fixed; z-index: 1000; top: 0; left: 0; display: none; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.2); }

.drawer-open .drawer-overlay { display: block; }

.admin-bar #drawer-wrap { padding-top: 46px; }
@media (min-width: 48.9375em) { .admin-bar #drawer-wrap { padding-top: 32px; } }
@media (min-width: 37.5em) { .admin-bar .site-header { position: fixed; top: 0; } }

/*!------------------------------------*\
    Top
\*!------------------------------------*/
.drawer--top .drawer-nav { top: -100%; left: 0; width: 100%; height: auto; max-height: 100%; transition: top 0.6s cubic-bezier(0.19, 1, 0.22, 1); }

.drawer--top.drawer-open .drawer-nav { top: 0; }

.drawer--top .drawer-hamburger, .drawer--top.drawer-open .drawer-hamburger { right: 0; }

/*!------------------------------------*\
    Left
\*!------------------------------------*/
.drawer--left .drawer-nav { left: -24rem; transition: left 0.6s cubic-bezier(0.19, 1, 0.22, 1); }

.drawer--left.drawer-open .drawer-nav, .drawer--left .drawer-hamburger, .drawer--left.drawer-open .drawer-navbar .drawer-hamburger { left: 0; }

.drawer--left.drawer-open .drawer-hamburger { left: 24rem; }

/*!------------------------------------*\
    Right
\*!------------------------------------*/
.drawer--right .drawer-nav { right: -24rem; transition: right 0.6s cubic-bezier(0.19, 1, 0.22, 1); }

.drawer--right.drawer-open .drawer-nav, .drawer--right .drawer-hamburger, .drawer--right.drawer-open .drawer-navbar .drawer-hamburger { right: 0; }

.admin-bar .drawer-hamburger { top: 46px; }
@media (min-width: 48.9375em) { .admin-bar .drawer-hamburger { top: 32px; } }
@media (max-width: 37.49em) { .admin-bar .drawer-hamburger { top: 0; } }

.drawer--right.drawer-open .drawer-hamburger { right: 24rem; }

/*!------------------------------------*\
    Hamburger
\*!------------------------------------*/
.drawer-hamburger { position: fixed; z-index: 1004; top: 0; display: block; box-sizing: content-box; width: 2.4rem; padding: 0; padding-top: 20px; padding-right: 1rem; padding-bottom: 30px; padding-left: 1rem; transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1); transform: translate3d(0, 0, 0); border: 0; outline: 0; background-color: transparent; }

.drawer-hamburger:hover { cursor: pointer; background-color: transparent; }

.drawer-hamburger-icon { position: relative; display: block; margin-top: 10px; }

.drawer-hamburger-icon, .drawer-hamburger-icon:before, .drawer-hamburger-icon:after { width: 100%; height: 2px; transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1); background-color: #999; }

.drawer-hamburger-icon:before, .drawer-hamburger-icon:after { position: absolute; top: -10px; left: 0; content: ' '; }

.drawer-hamburger-icon:after { top: 10px; }

.drawer-open .drawer-hamburger-icon { background-color: transparent; }

.drawer-open .drawer-hamburger-icon:before, .drawer-open .drawer-hamburger-icon:after { top: 0; }

.drawer-open .drawer-hamburger-icon:before { transform: rotate(45deg); }

.drawer-open .drawer-hamburger-icon:after { transform: rotate(-45deg); }

/*!------------------------------------*\
    accessibility
\*!------------------------------------*/
/*!
 * Only display content to screen readers
 * See: http://a11yproject.com/posts/how-to-hide-content
 */
.sr-only { position: absolute; overflow: hidden; clip: rect(0, 0, 0, 0); width: 1px; height: 1px; margin: -1px; padding: 0; border: 0; }

/*!
 * Use in conjunction with .sr-only to only display content when it's focused.
 * Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1
 * Credit: HTML5 Boilerplate
 */
.sr-only-focusable:active, .sr-only-focusable:focus { position: static; overflow: visible; clip: auto; width: auto; height: auto; margin: 0; }

/*!------------------------------------*\
    Sidebar
\*!------------------------------------*/
.drawer--sidebar { background-color: #fff; }

.drawer--sidebar .drawer-contents { background-color: #fff; }

@media (min-width: 64em) { .drawer--sidebar .drawer-hamburger { display: none; visibility: hidden; }
  .drawer--sidebar .drawer-nav { display: block; transform: none; position: fixed; width: 12.5rem; height: 100%; }
  /*! Left */
  .drawer--sidebar.drawer--left .drawer-nav { left: 0; border-right: 1px solid #ddd; }
  .drawer--sidebar.drawer--left .drawer-contents { margin-left: 12.5rem; }
  /*! Right */
  .drawer--sidebar.drawer--right .drawer-nav { right: 0; border-left: 1px solid #ddd; }
  .drawer--sidebar.drawer--right .drawer-contents { margin-right: 12.5rem; }
  /*! container */
  .drawer--sidebar .drawer-container { max-width: 48rem; } }
@media (min-width: 75em) { .drawer--sidebar .drawer-nav { width: 24rem; }
  .drawer--sidebar.drawer--left .drawer-contents { margin-left: 24rem; }
  .drawer--sidebar.drawer--right .drawer-contents { margin-right: 24rem; }
  /*! container */
  .drawer--sidebar .drawer-container { max-width: 60rem; } }
/*!------------------------------------*\
    Navbar
\*!------------------------------------*/
.drawer--navbarTopGutter { padding-top: 3.75rem; }

.drawer-navbar .drawer-navbar-header { border-bottom: 1px solid #ddd; background-color: #fff; }

.drawer-navbar { z-index: 1002; top: 0; width: 100%; }

/*! .drawer-navbar modifier */
.drawer-navbar--fixed { position: fixed; }

.drawer-navbar-header { position: relative; z-index: 1002; box-sizing: border-box; width: 100%; height: 3.75rem; padding: 0 1rem; text-align: center; }

.drawer-navbar .drawer-brand { line-height: 3.75rem; display: inline-block; padding-top: 0; padding-bottom: 0; text-decoration: none; }

.drawer-navbar .drawer-brand:hover { background-color: transparent; }

.drawer-navbar .drawer-nav { padding-top: 3.75rem; }

.drawer-navbar .drawer-menu { padding-bottom: 7.5rem; }

@media (min-width: 64em) { .drawer-navbar { height: 3.75rem; border-bottom: 1px solid #ddd; background-color: #fff; }
  .drawer-navbar .drawer-navbar-header { position: relative; display: block; float: left; width: auto; padding: 0; border: 0; }
  .drawer-navbar .drawer-menu--right { float: right; }
  .drawer-navbar .drawer-menu li { float: left; }
  .drawer-navbar .drawer-menu-item { line-height: 3.75rem; padding-top: 0; padding-bottom: 0; }
  .drawer-navbar .drawer-hamburger { display: none; }
  .drawer-navbar .drawer-nav { position: relative; left: 0; overflow: visible; width: auto; height: 3.75rem; padding-top: 0; transform: translate3d(0, 0, 0); }
  .drawer-navbar .drawer-menu { padding: 0; }
  /*! dropdown */
  .drawer-navbar .drawer-dropdown-menu { position: absolute; width: 24rem; border: 1px solid #ddd; }
  .drawer-navbar .drawer-dropdown-menu-item { padding-left: 1rem; } }
/*!------------------------------------*\
    Dropdown
\*!------------------------------------*/
.drawer-dropdown-menu { display: none; box-sizing: border-box; width: 100%; margin: 0; padding: 0; background-color: #fff; }

.drawer-dropdown-menu > li { width: 100%; list-style: none; }

.drawer-dropdown-menu-item { line-height: 3.75rem; display: block; padding: 0; padding-right: 1rem; padding-left: 2rem; text-decoration: none; color: #999; }

.drawer-dropdown-menu-item:hover { text-decoration: underline; color: #555; background-color: transparent; }

/*! open */
.drawer-dropdown.open > .drawer-dropdown-menu { display: block; }

/*! drawer-caret */
.drawer-dropdown .drawer-caret { display: inline-block; width: 0; height: 0; margin-left: 4px; transition: transform .2s ease, opacity .2s ease; transform: rotate(0deg); vertical-align: middle; border-top: 4px solid; border-right: 4px solid transparent; border-left: 4px solid transparent; }

/*! open */
.drawer-dropdown.open .drawer-caret { transform: rotate(180deg); }

/*!------------------------------------*\
    Container
\*!------------------------------------*/
.drawer-container { margin-right: auto; margin-left: auto; }

@media (min-width: 64em) { .drawer-container { max-width: 60rem; } }
@media (min-width: 75em) { .drawer-container { max-width: 70rem; } }
