offcanvasMenu

HTML

<section id="pgcontainer">
      <section id="navbar-container">
          <div id="navbar">
            <a href="#" class="menubtn">menu</a>
            <section id="navbar-icons">
                <a href="#"><img src="../images/icons/home.png" alt="home" /></a>
                <a href="#"><img src="../images/icons/facebook.png" alt="home" /></a>
                <a href="#"><img src="../images/icons/twitter.png" alt="home" /></a>
                <a href="#"><img src="../images/icons/mail.png" alt="home" /></a>
            </section>
            <!-- use captain icon for toggle menu -->
            <div id="hamburgermenu">
                <div class="search-container">
                  <div class="searchbox-container">
                    <input placeholder="search" type="text"></input>
                    <a class="button">
<!--                      <i class="icon-search"></i>-->
                        <img src="../images/icons/search.png" />
                    </a>
                  </div>
                </div>
              
              <ul>
                  <li><a href="#">Home</a></li>
                  <li>
                      <a href="#">Explore</a>
                      <ul class="sub-menu">
                          <li><a href="#">Search</a></li>
                          <li><a href="#">Visualising the Letters</a></li>
                      </ul>
                  </li>
                  <li><a href="#">Learn</a></li>
                  <li><a href="#">Collaborate</a></li>
                  <li><a href="#">About</a></li>
              </ul>
              <!--<h1>Home</h1>
                <h1>Explore</h1>
                <ul>
                    <li>Search</li>
                    <li>Visualising the Letters</li>
                </ul>
                <h1>Collaborate</h1>
                <ul>
                    <li>Transcription Desk</li>
                    <li>Institutions</li>
                    <li>Featured Profiles</li>
                   ...

CSS

@import url('http://fonts.googleapis.com/css?family=Montserrat:400,700');

* {
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    font-family: "Cabin";
}

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
    outline: none;
    -webkit-font-smoothing: antialiased;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

html {
    overflow-y: scroll;
}

body {
    width: 100%;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    background: #d6d1c7;
    font-size: 62.5%;
    line-height: 1;
}

br {
    display: block;
    line-height: 1.6em;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
    display: block;
}

ol, ul {
    list-style: none;
}

input, textarea {
    -webkit-font-smoothing: antialiased;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    outline: none;
}

blockquote, q {
    quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
    content: '';
    content: none;
}

strong, b {
    font-weight: bold;
}

em, i {
    font-style: italic;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

img {
    border: 0;
    max-width:...

JavaScript

$(function(){
  var menuwidth  = 240; // pixel value for sliding menu width
  var menuspeed  = 400; // milliseconds for sliding menu animation time
  
  var $bdy       = $('body');
  var $container = $('#pgcontainer');
  var $burger    = $('#hamburgermenu');
  var negwidth   = "-"+menuwidth+"px";
  var poswidth   = menuwidth+"px";
  
  $('.menubtn').on('click',function(e){
    if($bdy.hasClass('openmenu')) {
      jsAnimateMenu('close');
    } else {
      jsAnimateMenu('open');
    }
  });
  
  $('.overlay').on('click', function(e){
    if($bdy.hasClass('openmenu')) {
      jsAnimateMenu('close');
    }
  });
  
  $('a[href$="#"]').on('click', function(e){
    e.preventDefault();
  });
  
  function jsAnimateMenu(tog) {
    if(tog == 'open') {
      $bdy.addClass('openmenu');
      
      $container.animate({marginRight: negwidth, marginLeft: poswidth}, menuspeed);
      $burger.animate({width: poswidth}, menuspeed);
      $('.overlay').animate({left: poswidth}, menuspeed);
    }
    
    if(tog == 'close') {
      $bdy.removeClass('openmenu');
      
      $container.animate({marginRight: "auto", marginLeft: "auto"}, menuspeed);
      $burger.animate({width: "0"}, menuspeed);
      $('.overlay').animate({left: "0"}, menuspeed);
    }
  }
});